@alwaysai/device-agent 2.0.2-0 → 2.0.3

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 (151) hide show
  1. package/lib/application-control/config.js +1 -1
  2. package/lib/application-control/config.js.map +1 -1
  3. package/lib/application-control/install.d.ts.map +1 -1
  4. package/lib/application-control/install.js +7 -3
  5. package/lib/application-control/install.js.map +1 -1
  6. package/lib/cloud-connection/base-message-handler.d.ts.map +1 -1
  7. package/lib/cloud-connection/base-message-handler.js +5 -4
  8. package/lib/cloud-connection/base-message-handler.js.map +1 -1
  9. package/lib/cloud-connection/connection-manager.d.ts +3 -4
  10. package/lib/cloud-connection/connection-manager.d.ts.map +1 -1
  11. package/lib/cloud-connection/connection-manager.js +22 -40
  12. package/lib/cloud-connection/connection-manager.js.map +1 -1
  13. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +3 -1
  14. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  15. package/lib/cloud-connection/device-agent-cloud-connection.js +52 -46
  16. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  17. package/lib/cloud-connection/device-agent-message-handler.d.ts.map +1 -1
  18. package/lib/cloud-connection/device-agent-message-handler.js +19 -18
  19. package/lib/cloud-connection/device-agent-message-handler.js.map +1 -1
  20. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
  21. package/lib/cloud-connection/live-updates-handler.js +11 -4
  22. package/lib/cloud-connection/live-updates-handler.js.map +1 -1
  23. package/lib/cloud-connection/passthrough-handler.d.ts +3 -3
  24. package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
  25. package/lib/cloud-connection/passthrough-handler.js +97 -74
  26. package/lib/cloud-connection/passthrough-handler.js.map +1 -1
  27. package/lib/cloud-connection/shadow-handler.js +3 -3
  28. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  29. package/lib/cloud-connection/shadow.d.ts.map +1 -1
  30. package/lib/cloud-connection/shadow.js +1 -1
  31. package/lib/cloud-connection/shadow.js.map +1 -1
  32. package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
  33. package/lib/cloud-connection/transaction-manager.js +17 -7
  34. package/lib/cloud-connection/transaction-manager.js.map +1 -1
  35. package/lib/cloud-connection/transaction-manager.test.js +52 -44
  36. package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
  37. package/lib/device-control/device-control.d.ts.map +1 -1
  38. package/lib/device-control/device-control.js +13 -9
  39. package/lib/device-control/device-control.js.map +1 -1
  40. package/lib/docker/docker-compose.d.ts.map +1 -1
  41. package/lib/docker/docker-compose.js +1 -1
  42. package/lib/docker/docker-compose.js.map +1 -1
  43. package/lib/environment.d.ts +3 -0
  44. package/lib/environment.d.ts.map +1 -1
  45. package/lib/environment.js +12 -1
  46. package/lib/environment.js.map +1 -1
  47. package/lib/index.js +12 -0
  48. package/lib/index.js.map +1 -1
  49. package/lib/infrastructure/config-check-utility.js +2 -2
  50. package/lib/infrastructure/config-check-utility.js.map +1 -1
  51. package/lib/infrastructure/legacy-migration/legacy-migration.d.ts.map +1 -1
  52. package/lib/infrastructure/legacy-migration/legacy-migration.js +6 -10
  53. package/lib/infrastructure/legacy-migration/legacy-migration.js.map +1 -1
  54. package/lib/jobs/job-handler.d.ts +1 -1
  55. package/lib/jobs/job-handler.d.ts.map +1 -1
  56. package/lib/jobs/job-handler.js +4 -4
  57. package/lib/jobs/job-handler.js.map +1 -1
  58. package/lib/local-connection/rabbitmq-container.d.ts +6 -0
  59. package/lib/local-connection/rabbitmq-container.d.ts.map +1 -0
  60. package/lib/local-connection/rabbitmq-container.js +111 -0
  61. package/lib/local-connection/rabbitmq-container.js.map +1 -0
  62. package/lib/local-connection/rabbitmq-container.test.d.ts +2 -0
  63. package/lib/local-connection/rabbitmq-container.test.d.ts.map +1 -0
  64. package/lib/local-connection/rabbitmq-container.test.js +219 -0
  65. package/lib/local-connection/rabbitmq-container.test.js.map +1 -0
  66. package/lib/subcommands/app/analytics.d.ts.map +1 -1
  67. package/lib/subcommands/app/analytics.js +2 -3
  68. package/lib/subcommands/app/analytics.js.map +1 -1
  69. package/lib/subcommands/app/env-vars.d.ts.map +1 -1
  70. package/lib/subcommands/app/env-vars.js +4 -6
  71. package/lib/subcommands/app/env-vars.js.map +1 -1
  72. package/lib/subcommands/app/models.d.ts.map +1 -1
  73. package/lib/subcommands/app/models.js +2 -3
  74. package/lib/subcommands/app/models.js.map +1 -1
  75. package/lib/subcommands/app/shadow.d.ts.map +1 -1
  76. package/lib/subcommands/app/shadow.js +4 -6
  77. package/lib/subcommands/app/shadow.js.map +1 -1
  78. package/lib/subcommands/app/version.d.ts.map +1 -1
  79. package/lib/subcommands/app/version.js +6 -9
  80. package/lib/subcommands/app/version.js.map +1 -1
  81. package/lib/subcommands/device/clean.d.ts.map +1 -1
  82. package/lib/subcommands/device/clean.js +15 -17
  83. package/lib/subcommands/device/clean.js.map +1 -1
  84. package/lib/subcommands/device/index.d.ts.map +1 -1
  85. package/lib/subcommands/device/index.js +3 -1
  86. package/lib/subcommands/device/index.js.map +1 -1
  87. package/lib/subcommands/device/local-connection.d.ts +2 -0
  88. package/lib/subcommands/device/local-connection.d.ts.map +1 -0
  89. package/lib/subcommands/device/local-connection.js +17 -0
  90. package/lib/subcommands/device/local-connection.js.map +1 -0
  91. package/lib/subcommands/index.d.ts +4 -1
  92. package/lib/subcommands/index.d.ts.map +1 -1
  93. package/lib/subcommands/index.js +1 -3
  94. package/lib/subcommands/index.js.map +1 -1
  95. package/lib/util/check-for-updates.d.ts.map +1 -1
  96. package/lib/util/check-for-updates.js +2 -2
  97. package/lib/util/check-for-updates.js.map +1 -1
  98. package/lib/util/file.d.ts.map +1 -1
  99. package/lib/util/file.js +6 -1
  100. package/lib/util/file.js.map +1 -1
  101. package/lib/util/file.test.js +1 -1
  102. package/lib/util/file.test.js.map +1 -1
  103. package/lib/util/get-device-id.d.ts.map +1 -1
  104. package/lib/util/get-device-id.js +1 -1
  105. package/lib/util/get-device-id.js.map +1 -1
  106. package/package.json +2 -2
  107. package/readme.md +16 -4
  108. package/src/application-control/config.ts +1 -1
  109. package/src/application-control/install.ts +11 -5
  110. package/src/cloud-connection/base-message-handler.ts +10 -5
  111. package/src/cloud-connection/connection-manager.ts +23 -45
  112. package/src/cloud-connection/device-agent-cloud-connection.ts +97 -89
  113. package/src/cloud-connection/device-agent-message-handler.ts +10 -7
  114. package/src/cloud-connection/live-updates-handler.ts +12 -5
  115. package/src/cloud-connection/passthrough-handler.ts +79 -38
  116. package/src/cloud-connection/shadow-handler.ts +3 -3
  117. package/src/cloud-connection/shadow.ts +3 -1
  118. package/src/cloud-connection/transaction-manager.test.ts +60 -41
  119. package/src/cloud-connection/transaction-manager.ts +26 -12
  120. package/src/device-control/device-control.ts +23 -13
  121. package/src/docker/docker-compose.ts +3 -1
  122. package/src/environment.ts +17 -0
  123. package/src/index.ts +19 -0
  124. package/src/infrastructure/config-check-utility.ts +2 -2
  125. package/src/infrastructure/legacy-migration/legacy-migration.ts +8 -13
  126. package/src/jobs/job-handler.ts +4 -4
  127. package/src/local-connection/rabbitmq-container.test.ts +255 -0
  128. package/src/local-connection/rabbitmq-container.ts +151 -0
  129. package/src/subcommands/app/analytics.ts +2 -3
  130. package/src/subcommands/app/env-vars.ts +4 -6
  131. package/src/subcommands/app/models.ts +2 -3
  132. package/src/subcommands/app/shadow.ts +4 -6
  133. package/src/subcommands/app/version.ts +7 -8
  134. package/src/subcommands/device/clean.ts +20 -19
  135. package/src/subcommands/device/index.ts +3 -1
  136. package/src/subcommands/device/local-connection.ts +16 -0
  137. package/src/subcommands/index.ts +1 -3
  138. package/src/util/check-for-updates.ts +4 -2
  139. package/src/util/file.test.ts +1 -1
  140. package/src/util/file.ts +7 -1
  141. package/src/util/get-device-id.ts +3 -1
  142. package/lib/local-connection/rabbitmq-connection.d.ts +0 -7
  143. package/lib/local-connection/rabbitmq-connection.d.ts.map +0 -1
  144. package/lib/local-connection/rabbitmq-connection.js +0 -95
  145. package/lib/local-connection/rabbitmq-connection.js.map +0 -1
  146. package/lib/subcommands/rabbitmq-connection.d.ts +0 -2
  147. package/lib/subcommands/rabbitmq-connection.d.ts.map +0 -1
  148. package/lib/subcommands/rabbitmq-connection.js +0 -14
  149. package/lib/subcommands/rabbitmq-connection.js.map +0 -1
  150. package/src/local-connection/rabbitmq-connection.ts +0 -124
  151. package/src/subcommands/rabbitmq-connection.ts +0 -11
@@ -9,6 +9,7 @@ const message_dispatcher_1 = require("./message-dispatcher");
9
9
  const messages_1 = require("./messages");
10
10
  const base_message_handler_1 = require("./base-message-handler");
11
11
  const app_configuration_schemas_1 = require("@alwaysai/app-configuration-schemas");
12
+ const logger_1 = require("../util/logger");
12
13
  class DeviceAgentMessageHandler extends message_dispatcher_1.MessageDispatcher {
13
14
  constructor(handlerContext, errorFn, successFn) {
14
15
  super();
@@ -31,7 +32,7 @@ class DeviceAgentMessageHandler extends message_dispatcher_1.MessageDispatcher {
31
32
  handle(message, topic) {
32
33
  const valid = (0, device_agent_schemas_1.validateToDeviceAgentMessage)(message);
33
34
  if (!valid) {
34
- util_1.logger.error(`Error validating message: ${JSON.stringify({ topic, message, errors: device_agent_schemas_1.validateToDeviceAgentMessage.errors }, null, 2)}`);
35
+ logger_1.logger.error(`Error validating message: ${JSON.stringify({ topic, message, errors: device_agent_schemas_1.validateToDeviceAgentMessage.errors }, null, 2)}`);
35
36
  if (this.errorFn) {
36
37
  this.errorFn('', `Error validating message: ${JSON.stringify({ topic, message, errors: device_agent_schemas_1.validateToDeviceAgentMessage.errors }, null, 2)}`);
37
38
  }
@@ -70,14 +71,14 @@ class AppStateMessageHandler extends base_message_handler_1.BaseHandler {
70
71
  projectId,
71
72
  txId,
72
73
  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
+ 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),
74
75
  stepName: payload.baseCommand,
75
76
  errorFn: this.errorFn,
76
77
  successFn: this.successFn
77
78
  });
78
79
  }
79
80
  catch (e) {
80
- util_1.logger.error(`Error processing application state control request for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
81
+ logger_1.logger.error(`Error processing application state control request for ${projectId}! Error:\n${(0, util_1.stringifyError)(e)}`);
81
82
  }
82
83
  }
83
84
  }
@@ -112,7 +113,7 @@ class AppVersionControlMessageHandler extends base_message_handler_1.BaseHandler
112
113
  return true;
113
114
  }
114
115
  default:
115
- util_1.logger.warn(`Ignore App Version Control packet: ${JSON.stringify(payload, null, 2)}`);
116
+ logger_1.logger.warn(`Ignore App Version Control packet: ${JSON.stringify(payload, null, 2)}`);
116
117
  return true;
117
118
  }
118
119
  };
@@ -127,14 +128,14 @@ class AppVersionControlMessageHandler extends base_message_handler_1.BaseHandler
127
128
  projectId,
128
129
  txId,
129
130
  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
+ 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),
131
132
  stepName: payload.baseCommand,
132
133
  errorFn: this.errorFn,
133
134
  successFn: this.successFn
134
135
  });
135
136
  }
136
137
  catch (e) {
137
- util_1.logger.error(`Error processing application install request for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
138
+ logger_1.logger.error(`Error processing application install request for ${projectId}! Error:\n${(0, util_1.stringifyError)(e)}`);
138
139
  }
139
140
  }
140
141
  async publishCloudRequest(message) {
@@ -144,14 +145,14 @@ class AppVersionControlMessageHandler extends base_message_handler_1.BaseHandler
144
145
  const appContent = { projectId };
145
146
  // appCfg
146
147
  if (!appContentUpdate.appCfg) {
147
- util_1.logger.info(`No appCfgUpdate for ${projectId}`);
148
+ logger_1.logger.info(`No appCfgUpdate for ${projectId}`);
148
149
  }
149
150
  else {
150
151
  // Handle errors and validation
151
152
  try {
152
153
  const appCfgUpdate = JSON.parse(appContentUpdate.appCfg);
153
154
  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
+ logger_1.logger.error(`Received invalid app config for ${projectId}!\n${JSON.stringify(app_configuration_schemas_1.validateAppConfig.errors, null, 2)}`);
155
156
  throw new Error(`Received invalid app config for ${projectId}!\n${JSON.stringify(app_configuration_schemas_1.validateAppConfig.errors, null, 2)}`);
156
157
  }
157
158
  else {
@@ -159,18 +160,18 @@ class AppVersionControlMessageHandler extends base_message_handler_1.BaseHandler
159
160
  }
160
161
  }
161
162
  catch (e) {
162
- util_1.logger.error(`Could not parse the appConfig for transaction!\n${(0, util_1.stringifyError)(e)}`);
163
+ logger_1.logger.error(`Could not parse the appConfig for transaction! Error:\n${(0, util_1.stringifyError)(e)}`);
163
164
  }
164
165
  }
165
166
  // envVars
166
167
  if (!appContentUpdate.envVars) {
167
- util_1.logger.info(`No envVars for ${projectId}`);
168
+ logger_1.logger.info(`No envVars for ${projectId}`);
168
169
  }
169
170
  else {
170
171
  try {
171
172
  const envvarsUpdate = JSON.parse(appContentUpdate.envVars);
172
173
  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
+ logger_1.logger.error(`Received invalid environment variables update for ${projectId}!\n${JSON.stringify(device_agent_schemas_1.validateEnvVarSchemaShadowUpdate.errors, null, 2)}`);
174
175
  throw new Error(`Received invalid environment variables update for${projectId}!\n${JSON.stringify(device_agent_schemas_1.validateEnvVarSchemaShadowUpdate.errors, null, 2)}`);
175
176
  }
176
177
  else {
@@ -178,8 +179,8 @@ class AppVersionControlMessageHandler extends base_message_handler_1.BaseHandler
178
179
  }
179
180
  }
180
181
  catch (e) {
181
- // throw here
182
- util_1.logger.error(`Could not parse the environment variables for transaction!\n${(0, util_1.stringifyError)(e)}`);
182
+ // TODO: throw here
183
+ logger_1.logger.error(`Could not parse the environment variables for transaction! Error:\n${(0, util_1.stringifyError)(e)}`);
183
184
  }
184
185
  }
185
186
  return appContent.appCfg || appContent.envVars ? appContent : null;
@@ -191,7 +192,7 @@ class LiveStateUpdatesMessageHandler extends base_message_handler_1.BaseHandler
191
192
  const txId = message.txId;
192
193
  if (deviceStats !== undefined) {
193
194
  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
+ 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), logger_1.logger.silly));
195
196
  }
196
197
  else {
197
198
  this.liveUpdatesHandler.disable(device_agent_schemas_1.keyMirrors.toClientMessageType.device_stats);
@@ -199,7 +200,7 @@ class LiveStateUpdatesMessageHandler extends base_message_handler_1.BaseHandler
199
200
  }
200
201
  if (appState !== undefined) {
201
202
  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
+ 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), logger_1.logger.silly));
203
204
  }
204
205
  else {
205
206
  this.liveUpdatesHandler.disable(device_agent_schemas_1.keyMirrors.toClientMessageType.app_state);
@@ -213,7 +214,7 @@ class LiveStateUpdatesMessageHandler extends base_message_handler_1.BaseHandler
213
214
  }), async (logChunk) => this.publisher.publishToClient((0, device_agent_schemas_1.buildAppLogsMessage)(this.clientId, {
214
215
  projectId: appLogs.projectId,
215
216
  logChunk
216
- }, txId), util_1.logger.silly));
217
+ }, txId), logger_1.logger.silly));
217
218
  }
218
219
  else {
219
220
  this.liveUpdatesHandler.stopStream(appLogs.projectId);
@@ -334,7 +335,7 @@ class DeviceActionMessageHandler extends base_message_handler_1.BaseHandler {
334
335
  }, txId));
335
336
  }
336
337
  catch (e) {
337
- util_1.logger.error(`There was a problem performing device action '${message.payload.action}'!\n${(0, util_1.stringifyError)(e)}`);
338
+ logger_1.logger.error(`There was a problem performing device action '${message.payload.action}'! Error: \n${(0, util_1.stringifyError)(e)}`);
338
339
  this.publisher.publishToClient((0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, {
339
340
  status: device_agent_schemas_1.keyMirrors.statusResponse.failure,
340
341
  message: e.message
@@ -349,7 +350,7 @@ class DeviceActionMessageHandler extends base_message_handler_1.BaseHandler {
349
350
  break;
350
351
  }
351
352
  default: {
352
- util_1.logger.info(`Unrecognized device action requested: '${payload.action}'.`);
353
+ logger_1.logger.info(`Unrecognized device action requested: '${payload.action}'.`);
353
354
  }
354
355
  }
355
356
  }
@@ -1 +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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"}
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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"}
@@ -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;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"}
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;AAKD,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;IAapB,OAAO,CACZ,YAAY,EAAE,wBAAwB,EACtC,aAAa,CAAC,EAAE,MAAM;IAQX,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;IAuBhC,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,mBAAmB;CAM5B"}
@@ -9,6 +9,9 @@ const KILL_ALL_TIMEOUT_MS = environment_1.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS
9
9
  ? parseInt(environment_1.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS)
10
10
  : 80000;
11
11
  exports.DEFAULT_INTERVALS_MS = 5000;
12
+ /*
13
+ Responsible for managing the lifecycle of periodic updates and streams.
14
+ */
12
15
  class LiveUpdatesHandler {
13
16
  constructor() {
14
17
  this.livingIntervals = {};
@@ -16,18 +19,21 @@ class LiveUpdatesHandler {
16
19
  logger_1.logger.debug(`Toggle live updates timeout set to ${KILL_ALL_TIMEOUT_MS} ms`);
17
20
  }
18
21
  async enable(intervalType, publishingFn, transactionId, options) {
22
+ logger_1.logger.silly(`LiveUpdatesHandler: Enabling ${intervalType}`);
19
23
  this.restartKillAllTimeout();
20
24
  const key = this.generateIntervalKey(intervalType, transactionId);
21
25
  this.safeSetInterval(key, publishingFn, options);
26
+ // Call publishing function right away for immediate results
22
27
  await publishingFn();
23
28
  }
24
29
  disable(intervalType, transactionId) {
30
+ logger_1.logger.silly(`LiveUpdatesHandler: Disabling ${intervalType}`);
25
31
  const key = this.generateIntervalKey(intervalType, transactionId);
26
32
  clearInterval(this.livingIntervals[key]);
27
33
  delete this.livingIntervals[key];
28
34
  }
29
35
  async startStream(projectId, streamGetter, publishingFn) {
30
- logger_1.logger.info(`Starting log stream for ${projectId}`);
36
+ logger_1.logger.info(`LiveUpdatesHandler: Starting log stream for ${projectId}`);
31
37
  this.livingStreams.add(projectId);
32
38
  const readable = await this.getStreamWithRetry(projectId, streamGetter);
33
39
  if (readable === null) {
@@ -48,7 +54,7 @@ class LiveUpdatesHandler {
48
54
  logger_1.logger.error(`Stream terminated. ProjectId: ${projectId} - ${error}`);
49
55
  });
50
56
  readable.on('finished', () => {
51
- logger_1.logger.info(`Strean complete. ProjectId: ${projectId}`);
57
+ logger_1.logger.info(`Stream complete. ProjectId: ${projectId}`);
52
58
  });
53
59
  }
54
60
  stopStream(streamId) {
@@ -64,14 +70,15 @@ class LiveUpdatesHandler {
64
70
  return await streamGetter();
65
71
  }
66
72
  catch (e) {
67
- logger_1.logger.info(`Failed to start app logs, retrying in 1 second.\n${(0, util_1.stringifyError)(e)}`);
73
+ logger_1.logger.error(`Failed to start app logs, retrying in 1 second. Error:\n${(0, util_1.stringifyError)(e)}`);
68
74
  await (0, sleep_1.default)(1000);
69
75
  }
70
76
  }
71
77
  // Case where logs were disabled prior to connecting
72
78
  return null;
73
79
  }
74
- // do not await any functions in the setSafeInterval other than inside setInterval() as per EI-1694.
80
+ // Do not await any functions in setSafeInterval other than inside
81
+ // setInterval() as per EI-1694.
75
82
  safeSetInterval(key, publishingFn, options) {
76
83
  clearInterval(this.livingIntervals[key]);
77
84
  this.livingIntervals[key] = setInterval(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"live-updates-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,yCAAkC;AAClC,gDAAkE;AAClE,4CAAmD;AAEnD,MAAM,mBAAmB,GAAG,8CAAgC;IAC1D,CAAC,CAAC,QAAQ,CAAC,8CAAgC,CAAC;IAC5C,CAAC,CAAC,KAAK,CAAC;AAEG,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAMzC,MAAa,kBAAkB;IAK7B;QAHQ,oBAAe,GAAmD,EAAE,CAAC;QACrE,kBAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAGxC,eAAM,CAAC,KAAK,CACV,sCAAsC,mBAAmB,KAAK,CAC/D,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,YAAsC,EACtC,YAAiC,EACjC,aAAsB,EACtB,OAAyB;QAEzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAElE,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IAEM,OAAO,CACZ,YAAsC,EACtC,aAAsB;QAEtB,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAClE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,SAAiB,EACjB,YAAyD,EACzD,YAAwC;QAExC,eAAM,CAAC,IAAI,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QAEpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAExE,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,eAAM,CAAC,IAAI,CACT,4EAA4E,SAAS,EAAE,CACxF,CAAC;YACF,OAAO;SACR;QAED,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACtC,mDAAmD;gBACnD,aAAa;gBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,eAAM,CAAC,IAAI,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;gBAC1D,OAAO;aACR;YAED,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7B,eAAM,CAAC,KAAK,CAAC,iCAAiC,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC3B,eAAM,CAAC,IAAI,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,UAAU,CAAC,QAAgB;QAChC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;uEAEmE;IAE3D,KAAK,CAAC,kBAAkB,CAC9B,QAAgB,EAChB,YAAyD;QAEzD,oEAAoE;QACpE,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvC,IAAI;gBACF,OAAO,MAAM,YAAY,EAAE,CAAC;aAC7B;YAAC,OAAO,CAAC,EAAE;gBACV,eAAM,CAAC,IAAI,CACT,oDAAoD,IAAA,qBAAc,EAChE,CAAC,CACF,EAAE,CACJ,CAAC;gBACF,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;aACnB;SACF;QACD,oDAAoD;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qGAAqG;IAC7F,eAAe,CACrB,GAAW,EACX,YAAiC,EACjC,OAAyB;QAEzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,WAAW,CACrC,KAAK,IAAI,EAAE;YACT,IAAI;gBACF,MAAM,YAAY,EAAE,CAAC;aACtB;YAAC,OAAO,CAAC,EAAE;gBACV,eAAM,CAAC,KAAK,CACV,+BAA+B,IAAI,CAAC,SAAS,CAC3C,CAAC,CACF,kBAAkB,GAAG,iBAAiB,CACxC,CAAC;aACH;QACH,CAAC,EACD,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,4BAAoB,CAChD,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvD,aAAa,CAAC,QAAQ,CAAC,CACxB,CAAC;YACF,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC1B,CAAC;IAEO,mBAAmB,CACzB,YAAsC,EACtC,aAAsB;QAEtB,OAAO,YAAY,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtE,CAAC;CACF;AAhJD,gDAgJC"}
1
+ {"version":3,"file":"live-updates-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ export declare class PassthroughHandler {
8
8
  channel: amqp.Channel;
9
9
  packetQueue: any;
10
10
  constructor(publisher: Publisher, shadowHandler: ShadowHandler);
11
- runChannel: () => Promise<void>;
12
- establishLocalConnection(): Promise<void>;
11
+ private runLocalConnectionChannel;
12
+ private establishLocalConnection;
13
13
  private publishPassthroughStatusUpdate;
14
- setup(): Promise<void>;
14
+ run(): Promise<void>;
15
15
  }
16
16
  //# sourceMappingURL=passthrough-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"passthrough-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAahC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,qBAAa,kBAAkB;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;IACtB,WAAW,MAAC;gBAEP,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa;IAK9D,UAAU,sBAoER;IAEI,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;YA8CjC,8BAA8B;IAetC,KAAK;CA0BZ"}
1
+ {"version":3,"file":"passthrough-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAahC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWjD,qBAAa,kBAAkB;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;IACtB,WAAW,MAAC;gBAEP,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa;YAKhD,yBAAyB;YAsEzB,wBAAwB;YAwExB,8BAA8B;IAetC,GAAG;CAoCV"}
@@ -5,87 +5,105 @@ const util_1 = require("alwaysai/lib/util");
5
5
  const amqp = require("amqplib");
6
6
  const environment_1 = require("../environment");
7
7
  const constants_1 = require("../local-connection/constants");
8
- const rabbitmq_connection_1 = require("../local-connection/rabbitmq-connection");
8
+ const rabbitmq_container_1 = require("../local-connection/rabbitmq-container");
9
9
  const logger_1 = require("../util/logger");
10
10
  const sleep_1 = require("../util/sleep");
11
11
  const messageQueue = [];
12
12
  const ackQueue = [];
13
13
  const MAX_LOCAL_CONNECTION_ATTEMPTS = 10;
14
+ /*
15
+ Responsible for managing the lifecycle of the Local Connection container
16
+ (RabbitMQ), the connection to it, and the passthrough of messages received
17
+ from the local connection to endpoints of provided `Publisher`.
18
+ */
14
19
  class PassthroughHandler {
15
20
  constructor(publisher, shadowHandler) {
16
- this.runChannel = async () => {
17
- logger_1.logger.debug('Beginning to consume packets');
18
- await this.channel.consume(this.packetQueue, (msg) => {
19
- // NOTE: this needs to be an arrow function and then the whole contents of processPublish are below
20
- if ((msg === null || msg === void 0 ? void 0 : msg.content) !== undefined) {
21
- const packet = JSON.parse(msg.content.toString());
22
- messageQueue.push({ packet, msg });
23
- while (messageQueue.length > 0) {
24
- const entry = messageQueue.shift();
25
- const { packet, msg } = entry;
26
- try {
27
- const parsedPacket = JSON.parse(packet);
28
- if (parsedPacket === null || parsedPacket === void 0 ? void 0 : parsedPacket['action']) {
29
- switch (parsedPacket['action']) {
30
- case 'analytics':
31
- ackQueue.push(msg);
32
- // FIXME: put real topic here
33
- this.publisher.publishToCloudWithAck(packet, (errOrResp) => {
34
- while (ackQueue.length > 0) {
35
- const msg = ackQueue.shift();
36
- if (errOrResp === true) {
37
- this.channel.ack(msg); // acknowledge, allow queue to discard
38
- }
39
- else if (errOrResp === false) {
40
- this.channel.reject(msg, true); // reject and requeue
41
- }
21
+ this.publisher = publisher;
22
+ this.shadowHandler = shadowHandler;
23
+ }
24
+ async runLocalConnectionChannel() {
25
+ logger_1.logger.debug('Beginning to consume packets from Local Connection');
26
+ await this.channel.consume(this.packetQueue, (msg) => {
27
+ // NOTE: this needs to be an arrow function and then the whole contents of processPublish are below
28
+ if ((msg === null || msg === void 0 ? void 0 : msg.content) !== undefined) {
29
+ const packet = JSON.parse(msg.content.toString());
30
+ messageQueue.push({ packet, msg });
31
+ while (messageQueue.length > 0) {
32
+ const entry = messageQueue.shift();
33
+ const { packet, msg } = entry;
34
+ try {
35
+ const parsedPacket = JSON.parse(packet);
36
+ if (parsedPacket === null || parsedPacket === void 0 ? void 0 : parsedPacket['action']) {
37
+ switch (parsedPacket['action']) {
38
+ case 'analytics':
39
+ ackQueue.push(msg);
40
+ // FIXME: put real topic here
41
+ this.publisher.publishToCloudWithAck(packet, (errOrResp) => {
42
+ while (ackQueue.length > 0) {
43
+ const msg = ackQueue.shift();
44
+ if (errOrResp === true) {
45
+ this.channel.ack(msg); // acknowledge, allow queue to discard
42
46
  }
43
- });
44
- break;
45
- case 'heartbeat':
46
- this.channel.ack(msg);
47
- logger_1.logger.silly(`Heartbeat package received & acknowledged: ${packet}`);
48
- break;
49
- default:
50
- this.channel.ack(msg);
51
- logger_1.logger.debug(`Unknown 'action' package received & acknowledged: ${packet}`);
52
- break;
53
- }
54
- }
55
- else {
56
- this.channel.ack(msg);
57
- logger_1.logger.debug(`Received & acknowledged a RabbitMQ Package of unknown structure: ${parsedPacket}`);
47
+ else if (errOrResp === false) {
48
+ this.channel.reject(msg, true); // reject and requeue
49
+ }
50
+ }
51
+ });
52
+ break;
53
+ case 'heartbeat':
54
+ this.channel.ack(msg);
55
+ logger_1.logger.silly(`Heartbeat package received & acknowledged: ${packet}`);
56
+ break;
57
+ default:
58
+ this.channel.ack(msg);
59
+ logger_1.logger.debug(`Unknown 'action' package received & acknowledged: ${packet}`);
60
+ break;
58
61
  }
59
62
  }
60
- catch (e) {
61
- logger_1.logger.error(`There was a problem parsing RabbitMQ packet!\n${(0, util_1.stringifyError)(e)}`);
63
+ else {
62
64
  this.channel.ack(msg);
63
- logger_1.logger.debug('Problematic packet was acknowledged');
65
+ logger_1.logger.debug(`Received & acknowledged a RabbitMQ packet of unknown structure: ${parsedPacket}`);
64
66
  }
65
67
  }
68
+ catch (e) {
69
+ logger_1.logger.error(`There was a problem parsing RabbitMQ packet! Error:\n${(0, util_1.stringifyError)(e)}`);
70
+ this.channel.ack(msg);
71
+ logger_1.logger.debug('Problematic packet was acknowledged');
72
+ }
66
73
  }
67
- }, {
68
- noAck: false // When true, RabbitMQ deletes message as soon as it is consumed
69
- });
70
- };
71
- this.publisher = publisher;
72
- this.shadowHandler = shadowHandler;
74
+ }
75
+ }, {
76
+ noAck: false // When true, RabbitMQ deletes message as soon as it is consumed
77
+ });
73
78
  }
74
79
  async establishLocalConnection() {
75
80
  let connectAttempts = 0;
76
81
  let connected = false;
77
- logger_1.logger.debug(`Establishing local connection...`);
82
+ logger_1.logger.debug(`Establishing Local Connection...`);
78
83
  while (connectAttempts <= MAX_LOCAL_CONNECTION_ATTEMPTS &&
79
84
  this.connection === undefined) {
80
85
  try {
81
86
  this.connection = await amqp.connect(`amqp://${constants_1.LOCAL_CONNECTION_HOST}:${constants_1.LOCAL_CONNECTION_PORT}`);
82
- this.channel = await this.connection.createChannel();
83
- this.connection.on('error', async () => {
84
- logger_1.logger.error(`Local connection failed. Attempting to reconnect...`);
85
- await (0, rabbitmq_connection_1.stopRabbitMQContainer)();
87
+ this.connection.on('error', async (e) => {
88
+ logger_1.logger.error(`Local Connection failed due to ${(0, util_1.stringifyError)(e)}. Reconnect will be handled by "close"`);
89
+ });
90
+ this.connection.on('close', async () => {
91
+ // Close should be called for every connection loss, error or not.
92
+ logger_1.logger.warn(`Local Connection closed by server. Attempting to reconnect...`);
93
+ const stopped = await (0, rabbitmq_container_1.stopRabbitMQContainer)();
94
+ if (stopped === false) {
95
+ logger_1.logger.warn('Failed to stop Local Connection container. Restart may fail...');
96
+ }
86
97
  this.connection = undefined;
87
- await this.setup();
98
+ await this.run();
99
+ });
100
+ this.connection.on('blocked', async () => {
101
+ logger_1.logger.warn(`Local Connection blocked.`);
88
102
  });
103
+ this.connection.on('unblocked', async () => {
104
+ logger_1.logger.warn(`Local Connection unblocked.`);
105
+ });
106
+ this.channel = await this.connection.createChannel();
89
107
  connected = true;
90
108
  }
91
109
  catch (e) {
@@ -101,7 +119,7 @@ class PassthroughHandler {
101
119
  await this.channel.assertQueue(this.packetQueue, {
102
120
  durable: true
103
121
  });
104
- logger_1.logger.info(`Local connection established.`);
122
+ logger_1.logger.info(`Local Connection established.`);
105
123
  }
106
124
  else {
107
125
  throw new Error('Unable to establish connection to alwaysAI Local Connection, please try restarting Device Agent.');
@@ -116,24 +134,29 @@ class PassthroughHandler {
116
134
  };
117
135
  await this.shadowHandler.updateDeviceAgentStatusShadow(deviceAgentPassthroughStatus);
118
136
  }
119
- async setup() {
120
- if (environment_1.ALWAYSAI_ANALYTICS_PASSTHROUGH === true) {
121
- logger_1.logger.debug(`Setting up alwaysAI Local Connection on host: ${constants_1.LOCAL_CONNECTION_HOST} and channel key: ${constants_1.LOCAL_CONNECTION_ROUTING_KEY}`);
122
- await this.publishPassthroughStatusUpdate('starting');
123
- await (0, rabbitmq_connection_1.setupRabbitMQContainer)();
124
- try {
125
- await this.establishLocalConnection();
126
- await this.runChannel();
127
- await this.publishPassthroughStatusUpdate('running', `Passthrough running on host: ${constants_1.LOCAL_CONNECTION_HOST} and channel key: ${constants_1.LOCAL_CONNECTION_ROUTING_KEY}`);
128
- }
129
- catch (e) {
130
- logger_1.logger.error(`There was a problem maintaining RabbitMQ connection!\n${(0, util_1.stringifyError)(e)}`);
131
- await this.publishPassthroughStatusUpdate('error', (0, util_1.stringifyError)(e));
132
- }
133
- }
134
- else {
137
+ async run() {
138
+ if (environment_1.ALWAYSAI_ANALYTICS_PASSTHROUGH === false) {
139
+ logger_1.logger.debug(`alwaysAI Local Connection disabled`);
135
140
  await this.publishPassthroughStatusUpdate('disabled');
141
+ return;
142
+ }
143
+ logger_1.logger.debug(`Setting up alwaysAI Local Connection on host: ${constants_1.LOCAL_CONNECTION_HOST} and channel key: ${constants_1.LOCAL_CONNECTION_ROUTING_KEY}`);
144
+ await this.publishPassthroughStatusUpdate('starting');
145
+ const containerUp = await (0, rabbitmq_container_1.runRabbitMQContainer)();
146
+ if (!containerUp) {
147
+ await this.publishPassthroughStatusUpdate('error', 'Local Connection container failed to start!');
148
+ return;
149
+ }
150
+ try {
151
+ await this.establishLocalConnection();
152
+ await this.runLocalConnectionChannel();
153
+ }
154
+ catch (e) {
155
+ logger_1.logger.error(`There was a problem maintaining RabbitMQ connection! Error:\n${(0, util_1.stringifyError)(e)}`);
156
+ await this.publishPassthroughStatusUpdate('error', (0, util_1.stringifyError)(e));
157
+ return;
136
158
  }
159
+ await this.publishPassthroughStatusUpdate('running', `Passthrough running on host: ${constants_1.LOCAL_CONNECTION_HOST} and channel key: ${constants_1.LOCAL_CONNECTION_ROUTING_KEY}`);
137
160
  }
138
161
  }
139
162
  exports.PassthroughHandler = PassthroughHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"passthrough-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"passthrough-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ class ShadowHandler {
55
55
  newAppCfg = JSON.parse(appConfig);
56
56
  }
57
57
  catch (e) {
58
- logger_1.logger.error(`Could not parse the appConfig for transaction ${txId}!\n${(0, util_1.stringifyError)(e)}`);
58
+ logger_1.logger.error(`Could not parse the appConfig for transaction ${txId}! Error:\n${(0, util_1.stringifyError)(e)}`);
59
59
  return null;
60
60
  }
61
61
  if (!(0, app_configuration_schemas_1.validateAppConfig)(newAppCfg)) {
@@ -81,7 +81,7 @@ class ShadowHandler {
81
81
  newEnvVars = JSON.parse(envVars);
82
82
  }
83
83
  catch (e) {
84
- logger_1.logger.error(`Could not parse the environment variables for transaction ${txId}!\n${(0, util_1.stringifyError)(e)}`);
84
+ logger_1.logger.error(`Could not parse the environment variables for transaction ${txId}! Error:\n${(0, util_1.stringifyError)(e)}`);
85
85
  return null;
86
86
  }
87
87
  if (!(0, device_agent_schemas_1.validateEnvVarSchemaShadowUpdate)(newEnvVars)) {
@@ -311,7 +311,7 @@ class ProjectShadowMessageHandler extends base_message_handler_1.BaseHandler {
311
311
  stepName: topic
312
312
  })
313
313
  .catch((e) => {
314
- logger_1.logger.error(`There was an issue updating project shadow config for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
314
+ logger_1.logger.error(`There was an issue updating project shadow config for ${projectId}! Error:\n${(0, util_1.stringifyError)(e)}`);
315
315
  }));
316
316
  }
317
317
  await Promise.all(shadowUpdatePromises);