@alwaysai/device-agent 1.5.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 (305) hide show
  1. package/lib/application-control/config.d.ts.map +1 -1
  2. package/lib/application-control/config.js +8 -3
  3. package/lib/application-control/config.js.map +1 -1
  4. package/lib/application-control/environment-variables.d.ts +5 -5
  5. package/lib/application-control/environment-variables.d.ts.map +1 -1
  6. package/lib/application-control/environment-variables.js +25 -38
  7. package/lib/application-control/environment-variables.js.map +1 -1
  8. package/lib/application-control/environment-variables.test.js +27 -7
  9. package/lib/application-control/environment-variables.test.js.map +1 -1
  10. package/lib/application-control/index.d.ts +4 -4
  11. package/lib/application-control/index.d.ts.map +1 -1
  12. package/lib/application-control/index.js +1 -4
  13. package/lib/application-control/index.js.map +1 -1
  14. package/lib/application-control/install.d.ts +4 -1
  15. package/lib/application-control/install.d.ts.map +1 -1
  16. package/lib/application-control/install.js +24 -8
  17. package/lib/application-control/install.js.map +1 -1
  18. package/lib/application-control/models.d.ts +0 -11
  19. package/lib/application-control/models.d.ts.map +1 -1
  20. package/lib/application-control/models.js +5 -54
  21. package/lib/application-control/models.js.map +1 -1
  22. package/lib/application-control/utils.d.ts +0 -4
  23. package/lib/application-control/utils.d.ts.map +1 -1
  24. package/lib/application-control/utils.js +12 -22
  25. package/lib/application-control/utils.js.map +1 -1
  26. package/lib/cloud-connection/base-message-handler.d.ts +27 -0
  27. package/lib/cloud-connection/base-message-handler.d.ts.map +1 -0
  28. package/lib/cloud-connection/base-message-handler.js +72 -0
  29. package/lib/cloud-connection/base-message-handler.js.map +1 -0
  30. package/lib/cloud-connection/bootstrap-provision.js +3 -2
  31. package/lib/cloud-connection/bootstrap-provision.js.map +1 -1
  32. package/lib/cloud-connection/connection-manager.d.ts +21 -0
  33. package/lib/cloud-connection/connection-manager.d.ts.map +1 -0
  34. package/lib/cloud-connection/connection-manager.js +158 -0
  35. package/lib/cloud-connection/connection-manager.js.map +1 -0
  36. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +9 -30
  37. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  38. package/lib/cloud-connection/device-agent-cloud-connection.js +69 -508
  39. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  40. package/lib/cloud-connection/device-agent-message-handler.d.ts +22 -0
  41. package/lib/cloud-connection/device-agent-message-handler.d.ts.map +1 -0
  42. package/lib/cloud-connection/device-agent-message-handler.js +357 -0
  43. package/lib/cloud-connection/device-agent-message-handler.js.map +1 -0
  44. package/lib/cloud-connection/device-agent.d.ts.map +1 -1
  45. package/lib/cloud-connection/device-agent.js +11 -9
  46. package/lib/cloud-connection/device-agent.js.map +1 -1
  47. package/lib/cloud-connection/live-updates-handler.d.ts +19 -28
  48. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
  49. package/lib/cloud-connection/live-updates-handler.js +60 -172
  50. package/lib/cloud-connection/live-updates-handler.js.map +1 -1
  51. package/lib/cloud-connection/live-updates-handler.test.js +71 -165
  52. package/lib/cloud-connection/live-updates-handler.test.js.map +1 -1
  53. package/lib/cloud-connection/message-dispatcher.d.ts +10 -0
  54. package/lib/cloud-connection/message-dispatcher.d.ts.map +1 -0
  55. package/lib/cloud-connection/message-dispatcher.js +27 -0
  56. package/lib/cloud-connection/message-dispatcher.js.map +1 -0
  57. package/lib/cloud-connection/passthrough-handler.d.ts +4 -1
  58. package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
  59. package/lib/cloud-connection/passthrough-handler.js +30 -11
  60. package/lib/cloud-connection/passthrough-handler.js.map +1 -1
  61. package/lib/cloud-connection/shadow-handler.d.ts +11 -3
  62. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
  63. package/lib/cloud-connection/shadow-handler.js +133 -28
  64. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  65. package/lib/cloud-connection/shadow-handler.test.js +45 -57
  66. package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
  67. package/lib/cloud-connection/shadow.d.ts.map +1 -1
  68. package/lib/cloud-connection/shadow.js +2 -1
  69. package/lib/cloud-connection/shadow.js.map +1 -1
  70. package/lib/cloud-connection/transaction-manager.d.ts +12 -3
  71. package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
  72. package/lib/cloud-connection/transaction-manager.js +29 -28
  73. package/lib/cloud-connection/transaction-manager.js.map +1 -1
  74. package/lib/cloud-connection/transaction-manager.test.js +46 -5
  75. package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
  76. package/lib/device-control/device-control.d.ts +8 -8
  77. package/lib/device-control/device-control.d.ts.map +1 -1
  78. package/lib/device-control/device-control.js +95 -71
  79. package/lib/device-control/device-control.js.map +1 -1
  80. package/lib/docker/docker-compose.d.ts.map +1 -1
  81. package/lib/docker/docker-compose.js +2 -1
  82. package/lib/docker/docker-compose.js.map +1 -1
  83. package/lib/infrastructure/agent-config.d.ts +2 -1
  84. package/lib/infrastructure/agent-config.d.ts.map +1 -1
  85. package/lib/infrastructure/agent-config.js +7 -7
  86. package/lib/infrastructure/agent-config.js.map +1 -1
  87. package/lib/infrastructure/agent-config.test.js +3 -1
  88. package/lib/infrastructure/agent-config.test.js.map +1 -1
  89. package/lib/infrastructure/config-check-utility.d.ts +6 -0
  90. package/lib/infrastructure/config-check-utility.d.ts.map +1 -0
  91. package/lib/infrastructure/config-check-utility.js +67 -0
  92. package/lib/infrastructure/config-check-utility.js.map +1 -0
  93. package/lib/infrastructure/config-check-utility.test.d.ts +2 -0
  94. package/lib/infrastructure/config-check-utility.test.d.ts.map +1 -0
  95. package/lib/infrastructure/config-check-utility.test.js +109 -0
  96. package/lib/infrastructure/config-check-utility.test.js.map +1 -0
  97. package/lib/infrastructure/device-certificate.d.ts +10 -0
  98. package/lib/infrastructure/device-certificate.d.ts.map +1 -0
  99. package/lib/infrastructure/device-certificate.js +47 -0
  100. package/lib/infrastructure/device-certificate.js.map +1 -0
  101. package/lib/infrastructure/device-certificate.test.d.ts +2 -0
  102. package/lib/infrastructure/device-certificate.test.d.ts.map +1 -0
  103. package/lib/infrastructure/device-certificate.test.js +24 -0
  104. package/lib/infrastructure/device-certificate.test.js.map +1 -0
  105. package/lib/infrastructure/legacy-migration/legacy-file.test.d.ts +2 -0
  106. package/lib/infrastructure/legacy-migration/legacy-file.test.d.ts.map +1 -0
  107. package/lib/infrastructure/legacy-migration/legacy-file.test.js +61 -0
  108. package/lib/infrastructure/legacy-migration/legacy-file.test.js.map +1 -0
  109. package/lib/infrastructure/legacy-migration/legacy-files.d.ts +75 -0
  110. package/lib/infrastructure/legacy-migration/legacy-files.d.ts.map +1 -0
  111. package/lib/infrastructure/legacy-migration/legacy-files.js +75 -0
  112. package/lib/infrastructure/legacy-migration/legacy-files.js.map +1 -0
  113. package/lib/infrastructure/legacy-migration/legacy-migration.d.ts +6 -0
  114. package/lib/infrastructure/legacy-migration/legacy-migration.d.ts.map +1 -0
  115. package/lib/infrastructure/legacy-migration/legacy-migration.js +149 -0
  116. package/lib/infrastructure/legacy-migration/legacy-migration.js.map +1 -0
  117. package/lib/infrastructure/legacy-migration/legacy-migration.test.d.ts +2 -0
  118. package/lib/infrastructure/legacy-migration/legacy-migration.test.d.ts.map +1 -0
  119. package/lib/infrastructure/legacy-migration/legacy-migration.test.js +226 -0
  120. package/lib/infrastructure/legacy-migration/legacy-migration.test.js.map +1 -0
  121. package/lib/infrastructure/require-files-present-ready.test.d.ts +2 -0
  122. package/lib/infrastructure/require-files-present-ready.test.d.ts.map +1 -0
  123. package/lib/infrastructure/require-files-present-ready.test.js +44 -0
  124. package/lib/infrastructure/require-files-present-ready.test.js.map +1 -0
  125. package/lib/infrastructure/required-config-checks.d.ts +2 -0
  126. package/lib/infrastructure/required-config-checks.d.ts.map +1 -0
  127. package/lib/infrastructure/required-config-checks.js +30 -0
  128. package/lib/infrastructure/required-config-checks.js.map +1 -0
  129. package/lib/infrastructure/tokens-and-device-cfg.d.ts.map +1 -1
  130. package/lib/infrastructure/tokens-and-device-cfg.js +11 -8
  131. package/lib/infrastructure/tokens-and-device-cfg.js.map +1 -1
  132. package/lib/jobs/job-handler.d.ts +23 -0
  133. package/lib/jobs/job-handler.d.ts.map +1 -0
  134. package/lib/jobs/job-handler.js +131 -0
  135. package/lib/jobs/job-handler.js.map +1 -0
  136. package/lib/local-connection/rabbitmq-connection.d.ts.map +1 -1
  137. package/lib/local-connection/rabbitmq-connection.js +14 -14
  138. package/lib/local-connection/rabbitmq-connection.js.map +1 -1
  139. package/lib/secure-tunneling/secure-tunnel-message-handler.d.ts +8 -0
  140. package/lib/secure-tunneling/secure-tunnel-message-handler.d.ts.map +1 -0
  141. package/lib/secure-tunneling/secure-tunnel-message-handler.js +42 -0
  142. package/lib/secure-tunneling/secure-tunnel-message-handler.js.map +1 -0
  143. package/lib/secure-tunneling/secure-tunneling.d.ts +9 -9
  144. package/lib/secure-tunneling/secure-tunneling.d.ts.map +1 -1
  145. package/lib/secure-tunneling/secure-tunneling.js +21 -16
  146. package/lib/secure-tunneling/secure-tunneling.js.map +1 -1
  147. package/lib/secure-tunneling/secure-tunneling.test.js +11 -13
  148. package/lib/secure-tunneling/secure-tunneling.test.js.map +1 -1
  149. package/lib/subcommands/app/analytics.d.ts.map +1 -1
  150. package/lib/subcommands/app/analytics.js +1 -2
  151. package/lib/subcommands/app/analytics.js.map +1 -1
  152. package/lib/subcommands/app/env-vars.d.ts +4 -0
  153. package/lib/subcommands/app/env-vars.d.ts.map +1 -1
  154. package/lib/subcommands/app/env-vars.js +52 -6
  155. package/lib/subcommands/app/env-vars.js.map +1 -1
  156. package/lib/subcommands/app/index.d.ts.map +1 -1
  157. package/lib/subcommands/app/index.js +1 -3
  158. package/lib/subcommands/app/index.js.map +1 -1
  159. package/lib/subcommands/app/models.d.ts +0 -11
  160. package/lib/subcommands/app/models.d.ts.map +1 -1
  161. package/lib/subcommands/app/models.js +2 -58
  162. package/lib/subcommands/app/models.js.map +1 -1
  163. package/lib/subcommands/app/shadow.d.ts.map +1 -1
  164. package/lib/subcommands/app/shadow.js +6 -5
  165. package/lib/subcommands/app/shadow.js.map +1 -1
  166. package/lib/subcommands/app/version.d.ts +2 -0
  167. package/lib/subcommands/app/version.d.ts.map +1 -1
  168. package/lib/subcommands/app/version.js +16 -6
  169. package/lib/subcommands/app/version.js.map +1 -1
  170. package/lib/subcommands/config.d.ts +2 -0
  171. package/lib/subcommands/config.d.ts.map +1 -0
  172. package/lib/subcommands/config.js +39 -0
  173. package/lib/subcommands/config.js.map +1 -0
  174. package/lib/subcommands/device/clean.d.ts +1 -1
  175. package/lib/subcommands/device/clean.d.ts.map +1 -1
  176. package/lib/subcommands/device/clean.js +23 -13
  177. package/lib/subcommands/device/clean.js.map +1 -1
  178. package/lib/subcommands/device/index.d.ts.map +1 -1
  179. package/lib/subcommands/device/index.js +3 -1
  180. package/lib/subcommands/device/index.js.map +1 -1
  181. package/lib/subcommands/device/init.js +8 -8
  182. package/lib/subcommands/device/init.js.map +1 -1
  183. package/lib/subcommands/device/migrate.d.ts +2 -0
  184. package/lib/subcommands/device/migrate.d.ts.map +1 -0
  185. package/lib/subcommands/device/migrate.js +24 -0
  186. package/lib/subcommands/device/migrate.js.map +1 -0
  187. package/lib/subcommands/device/refresh.d.ts.map +1 -1
  188. package/lib/subcommands/device/refresh.js +1 -0
  189. package/lib/subcommands/device/refresh.js.map +1 -1
  190. package/lib/subcommands/index.d.ts +1 -1
  191. package/lib/subcommands/index.d.ts.map +1 -1
  192. package/lib/subcommands/index.js +3 -1
  193. package/lib/subcommands/index.js.map +1 -1
  194. package/lib/subcommands/rabbitmq-connection.d.ts +1 -1
  195. package/lib/subcommands/rabbitmq-connection.d.ts.map +1 -1
  196. package/lib/util/aai-error.d.ts +12 -0
  197. package/lib/util/aai-error.d.ts.map +1 -0
  198. package/lib/util/aai-error.js +11 -0
  199. package/lib/util/aai-error.js.map +1 -0
  200. package/lib/util/aws-regions.d.ts +2 -0
  201. package/lib/util/aws-regions.d.ts.map +1 -0
  202. package/lib/util/{cloud-mode-ready.js → aws-regions.js} +2 -20
  203. package/lib/util/aws-regions.js.map +1 -0
  204. package/lib/util/check-for-updates.d.ts.map +1 -1
  205. package/lib/util/check-for-updates.js +5 -28
  206. package/lib/util/check-for-updates.js.map +1 -1
  207. package/lib/util/clean-certs.d.ts.map +1 -1
  208. package/lib/util/clean-certs.js +5 -4
  209. package/lib/util/clean-certs.js.map +1 -1
  210. package/lib/util/directories.d.ts +4 -18
  211. package/lib/util/directories.d.ts.map +1 -1
  212. package/lib/util/directories.js +18 -32
  213. package/lib/util/directories.js.map +1 -1
  214. package/lib/util/file.d.ts +4 -0
  215. package/lib/util/file.d.ts.map +1 -1
  216. package/lib/util/file.js +65 -4
  217. package/lib/util/file.js.map +1 -1
  218. package/lib/util/get-device-id.d.ts.map +1 -1
  219. package/lib/util/get-device-id.js +7 -1
  220. package/lib/util/get-device-id.js.map +1 -1
  221. package/lib/util/http-client.js +3 -3
  222. package/lib/util/http-client.js.map +1 -1
  223. package/package.json +19 -17
  224. package/readme.md +12 -32
  225. package/src/application-control/config.ts +9 -12
  226. package/src/application-control/environment-variables.test.ts +28 -7
  227. package/src/application-control/environment-variables.ts +42 -59
  228. package/src/application-control/index.ts +3 -16
  229. package/src/application-control/install.ts +39 -13
  230. package/src/application-control/models.ts +6 -87
  231. package/src/application-control/utils.ts +10 -25
  232. package/src/cloud-connection/base-message-handler.ts +118 -0
  233. package/src/cloud-connection/bootstrap-provision.ts +7 -7
  234. package/src/cloud-connection/connection-manager.ts +187 -0
  235. package/src/cloud-connection/device-agent-cloud-connection.ts +130 -723
  236. package/src/cloud-connection/device-agent-message-handler.ts +642 -0
  237. package/src/cloud-connection/device-agent.ts +16 -7
  238. package/src/cloud-connection/live-updates-handler.test.ts +121 -189
  239. package/src/cloud-connection/live-updates-handler.ts +105 -232
  240. package/src/cloud-connection/message-dispatcher.ts +33 -0
  241. package/src/cloud-connection/passthrough-handler.ts +55 -18
  242. package/src/cloud-connection/shadow-handler.test.ts +45 -57
  243. package/src/cloud-connection/shadow-handler.ts +224 -54
  244. package/src/cloud-connection/shadow.ts +4 -1
  245. package/src/cloud-connection/transaction-manager.test.ts +68 -6
  246. package/src/cloud-connection/transaction-manager.ts +69 -41
  247. package/src/device-control/device-control.ts +102 -70
  248. package/src/docker/docker-compose.ts +3 -2
  249. package/src/infrastructure/agent-config.test.ts +6 -2
  250. package/src/infrastructure/agent-config.ts +8 -7
  251. package/src/infrastructure/config-check-utility.test.ts +154 -0
  252. package/src/infrastructure/config-check-utility.ts +77 -0
  253. package/src/infrastructure/device-certificate.test.ts +40 -0
  254. package/src/infrastructure/device-certificate.ts +58 -0
  255. package/src/infrastructure/legacy-migration/legacy-file.test.ts +88 -0
  256. package/src/infrastructure/legacy-migration/legacy-files.ts +101 -0
  257. package/src/infrastructure/legacy-migration/legacy-migration.test.ts +396 -0
  258. package/src/infrastructure/legacy-migration/legacy-migration.ts +229 -0
  259. package/src/infrastructure/require-files-present-ready.test.ts +53 -0
  260. package/src/infrastructure/required-config-checks.ts +33 -0
  261. package/src/infrastructure/tokens-and-device-cfg.ts +12 -10
  262. package/src/jobs/job-handler.ts +146 -0
  263. package/src/local-connection/rabbitmq-connection.ts +22 -17
  264. package/src/secure-tunneling/secure-tunnel-message-handler.ts +56 -0
  265. package/src/secure-tunneling/secure-tunneling.test.ts +20 -22
  266. package/src/secure-tunneling/secure-tunneling.ts +41 -29
  267. package/src/subcommands/app/analytics.ts +2 -4
  268. package/src/subcommands/app/env-vars.ts +72 -9
  269. package/src/subcommands/app/index.ts +3 -11
  270. package/src/subcommands/app/models.ts +5 -81
  271. package/src/subcommands/app/shadow.ts +6 -5
  272. package/src/subcommands/app/version.ts +23 -6
  273. package/src/subcommands/config.ts +42 -0
  274. package/src/subcommands/device/clean.ts +31 -17
  275. package/src/subcommands/device/index.ts +3 -1
  276. package/src/subcommands/device/init.ts +11 -11
  277. package/src/subcommands/device/migrate.ts +20 -0
  278. package/src/subcommands/device/refresh.ts +1 -0
  279. package/src/subcommands/index.ts +3 -1
  280. package/src/util/aai-error.ts +20 -0
  281. package/src/util/{cloud-mode-ready.ts → aws-regions.ts} +0 -24
  282. package/src/util/check-for-updates.ts +14 -30
  283. package/src/util/clean-certs.ts +8 -4
  284. package/src/util/directories.ts +23 -67
  285. package/src/util/file.ts +83 -3
  286. package/src/util/get-device-id.ts +7 -7
  287. package/src/util/http-client.ts +2 -2
  288. package/lib/util/cloud-mode-ready.d.ts +0 -3
  289. package/lib/util/cloud-mode-ready.d.ts.map +0 -1
  290. package/lib/util/cloud-mode-ready.js.map +0 -1
  291. package/lib/util/download-file.d.ts +0 -6
  292. package/lib/util/download-file.d.ts.map +0 -1
  293. package/lib/util/download-file.js +0 -25
  294. package/lib/util/download-file.js.map +0 -1
  295. package/lib/util/fetch-with-timeout.d.ts +0 -4
  296. package/lib/util/fetch-with-timeout.d.ts.map +0 -1
  297. package/lib/util/fetch-with-timeout.js +0 -30
  298. package/lib/util/fetch-with-timeout.js.map +0 -1
  299. package/lib/util/parsing.d.ts +0 -2
  300. package/lib/util/parsing.d.ts.map +0 -1
  301. package/lib/util/parsing.js +0 -17
  302. package/lib/util/parsing.js.map +0 -1
  303. package/src/util/download-file.ts +0 -25
  304. package/src/util/fetch-with-timeout.ts +0 -35
  305. package/src/util/parsing.ts +0 -11
@@ -60,12 +60,10 @@ describe('Test Shadow Handler', () => {
60
60
  });
61
61
  test('handle project shadow empty delta', async () => {
62
62
  const payload = {
63
- desired: {
64
- [projectId1]: {}
65
- }
63
+ [projectId1]: {}
66
64
  };
67
65
  const updates = await shadowHandler.handleProjectShadow({
68
- topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/accepted'),
66
+ topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/delta'),
69
67
  payload,
70
68
  clientToken: ''
71
69
  });
@@ -92,15 +90,13 @@ describe('Test Shadow Handler', () => {
92
90
  };
93
91
  const payload = {
94
92
  state: {
95
- desired: {
96
- [projectId1]: {
97
- appConfig: JSON.stringify(appCfg1)
98
- }
93
+ [projectId1]: {
94
+ appConfig: JSON.stringify(appCfg1)
99
95
  }
100
96
  }
101
97
  };
102
98
  const updates = await shadowHandler.handleProjectShadow({
103
- topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/accepted'),
99
+ topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/delta'),
104
100
  payload,
105
101
  clientToken: ''
106
102
  });
@@ -137,15 +133,13 @@ describe('Test Shadow Handler', () => {
137
133
  };
138
134
  const payload = {
139
135
  state: {
140
- desired: {
141
- [projectId1]: {
142
- appConfig: JSON.stringify(appCfg1)
143
- }
136
+ [projectId1]: {
137
+ appConfig: JSON.stringify(appCfg1)
144
138
  }
145
139
  }
146
140
  };
147
141
  const updates = await shadowHandler.handleProjectShadow({
148
- topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/accepted'),
142
+ topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/delta'),
149
143
  payload,
150
144
  clientToken: ''
151
145
  });
@@ -201,18 +195,16 @@ describe('Test Shadow Handler', () => {
201
195
  };
202
196
  const payload = {
203
197
  state: {
204
- desired: {
205
- [projectId1]: {
206
- appConfig: JSON.stringify(appCfg1)
207
- },
208
- [projectId2]: {
209
- appConfig: JSON.stringify(appCfg2)
210
- }
198
+ [projectId1]: {
199
+ appConfig: JSON.stringify(appCfg1)
200
+ },
201
+ [projectId2]: {
202
+ appConfig: JSON.stringify(appCfg2)
211
203
  }
212
204
  }
213
205
  };
214
206
  const updates = await shadowHandler.handleProjectShadow({
215
- topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/accepted'),
207
+ topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/delta'),
216
208
  payload,
217
209
  clientToken: ''
218
210
  });
@@ -258,15 +250,13 @@ describe('Test Shadow Handler', () => {
258
250
  };
259
251
  const payload = {
260
252
  state: {
261
- desired: {
262
- [projectId1]: {
263
- appConfig: JSON.stringify(appCfg1)
264
- }
253
+ [projectId1]: {
254
+ appConfig: JSON.stringify(appCfg1)
265
255
  }
266
256
  }
267
257
  };
268
258
  const updates = await shadowHandler.handleProjectShadow({
269
- topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/accepted'),
259
+ topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/delta'),
270
260
  payload,
271
261
  clientToken: ''
272
262
  });
@@ -334,10 +324,8 @@ describe('Test Shadow Handler', () => {
334
324
  };
335
325
  const payload = {
336
326
  state: {
337
- desired: {
338
- [projectId1]: {
339
- appConfig: appCfg1 // This is missing JSON.stringify() making this an unparsable object.
340
- }
327
+ [projectId1]: {
328
+ appConfig: appCfg1 // This is missing JSON.stringify() making this an unparsable object.
341
329
  }
342
330
  }
343
331
  };
@@ -345,7 +333,7 @@ describe('Test Shadow Handler', () => {
345
333
  .spyOn(logger_1.logger, 'error')
346
334
  .mockReturnValue({});
347
335
  const updates = await shadowHandler.handleProjectShadow({
348
- topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/accepted'),
336
+ topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/delta'),
349
337
  payload,
350
338
  clientToken: ''
351
339
  });
@@ -356,13 +344,15 @@ describe('Test Shadow Handler', () => {
356
344
  describe('handle project shadow env vars', () => {
357
345
  test('handle a response from the getAccepted from the cloud', async () => {
358
346
  const envVars1 = {
359
- VAR0: 'value0'
347
+ service: {
348
+ VAR0: 'value0'
349
+ }
360
350
  };
361
351
  const payload = {
362
352
  state: {
363
353
  reported: {
364
354
  [projectId1]: {
365
- envVars: { service: envVars1 }
355
+ envVars: JSON.stringify(envVars1)
366
356
  }
367
357
  }
368
358
  }
@@ -376,21 +366,19 @@ describe('Test Shadow Handler', () => {
376
366
  });
377
367
  test('handle project shadow env vars update delta', async () => {
378
368
  const envVars1 = {
379
- VAR1: 'value1'
369
+ service: {
370
+ VAR1: 'value1'
371
+ }
380
372
  };
381
373
  const payload = {
382
374
  state: {
383
- desired: {
384
- [projectId1]: {
385
- envVars: {
386
- service: envVars1
387
- }
388
- }
375
+ [projectId1]: {
376
+ envVars: JSON.stringify(envVars1)
389
377
  }
390
378
  }
391
379
  };
392
380
  const updates = await shadowHandler.handleProjectShadow({
393
- topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/accepted'),
381
+ topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/delta'),
394
382
  payload,
395
383
  clientToken: ''
396
384
  });
@@ -399,33 +387,33 @@ describe('Test Shadow Handler', () => {
399
387
  projectId: projectId1,
400
388
  txId: expect.any(String),
401
389
  envVarUpdate: {
402
- envVars: { service: envVars1 }
390
+ envVars: envVars1
403
391
  }
404
392
  });
405
393
  });
406
394
  test('handle project shadow env vars update delta for two projects', async () => {
407
395
  const service1 = {
408
- VAR1: 'value1'
396
+ service: {
397
+ VAR1: 'value1'
398
+ }
409
399
  };
410
400
  const service2 = {
411
- VAR2: 'value2'
401
+ service: {
402
+ VAR2: 'value2'
403
+ }
412
404
  };
413
405
  const payload = {
414
406
  state: {
415
- desired: {
416
- [projectId1]: {
417
- envVars: {
418
- service: service1
419
- }
420
- },
421
- [projectId2]: {
422
- envVars: { service: service2 }
423
- }
407
+ [projectId1]: {
408
+ envVars: JSON.stringify(service1)
409
+ },
410
+ [projectId2]: {
411
+ envVars: JSON.stringify(service2)
424
412
  }
425
413
  }
426
414
  };
427
415
  const updates = await shadowHandler.handleProjectShadow({
428
- topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/accepted'),
416
+ topic: (0, device_agent_schemas_1.getShadowTopic)(clientId, 'projects', 'update/delta'),
429
417
  payload,
430
418
  clientToken: ''
431
419
  });
@@ -434,14 +422,14 @@ describe('Test Shadow Handler', () => {
434
422
  projectId: projectId1,
435
423
  txId: expect.any(String),
436
424
  envVarUpdate: {
437
- envVars: { service: service1 }
425
+ envVars: service1
438
426
  }
439
427
  });
440
428
  expect(updates[1]).toEqual({
441
429
  projectId: projectId2,
442
430
  txId: expect.any(String),
443
431
  envVarUpdate: {
444
- envVars: { service: service2 }
432
+ envVars: service2
445
433
  }
446
434
  });
447
435
  });
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-handler.test.js","sourceRoot":"","sources":["../../src/cloud-connection/shadow-handler.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadow-handler.test.js","sourceRoot":"","sources":["../../src/cloud-connection/shadow-handler.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/shadow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,oBAAY,eAAe,GAAG;IAC5B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,mBAAmB;eAInB,SAAS;eACT,MAAM;;;;;EAgClB,CAAC"}
1
+ {"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/shadow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGhE,oBAAY,eAAe,GAAG;IAC5B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,mBAAmB;eAInB,SAAS;eACT,MAAM;;;;;EAkClB,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAppCfgModelsDiff = void 0;
4
4
  const logger_1 = require("../util/logger");
5
5
  const application_control_1 = require("../application-control");
6
+ const util_1 = require("alwaysai/lib/util");
6
7
  const getAppCfgModelsDiff = async ({ newAppCfg, projectId }) => {
7
8
  const updatedModels = {};
8
9
  const untouchedModels = {};
@@ -28,7 +29,7 @@ const getAppCfgModelsDiff = async ({ newAppCfg, projectId }) => {
28
29
  });
29
30
  }
30
31
  catch (e) {
31
- logger_1.logger.error(`Error parsing app config update: ${e.message}`);
32
+ logger_1.logger.error(`Error parsing app config update for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
32
33
  }
33
34
  return { scripts: newScripts, updatedModels, untouchedModels };
34
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../src/cloud-connection/shadow.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,gEAAwD;AAWjD,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,SAAS,EACT,SAAS,EAIV,EAAE,EAAE;IACH,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAoB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAqB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAEnD,IAAI;QACF,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;QACxC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;QAEtC,MAAM,WAAW,GAAG,MAAM,IAAA,oCAAc,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QAEvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;YACpD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,aAAa,EAAE;gBACnD,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC;aACxC;iBAAM;gBACL,eAAe,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;QAEH,aAAa;YACX,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,UAAkB,EAAE,EAAE;gBACxD,UAAU,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC/D;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AACjE,CAAC,CAAC;AArCW,QAAA,mBAAmB,uBAqC9B"}
1
+ {"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../src/cloud-connection/shadow.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,gEAAwD;AAExD,4CAAmD;AAU5C,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,SAAS,EACT,SAAS,EAIV,EAAE,EAAE;IACH,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAoB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAqB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAEnD,IAAI;QACF,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;QACxC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;QAEtC,MAAM,WAAW,GAAG,MAAM,IAAA,oCAAc,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QAEvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;YACpD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,aAAa,EAAE;gBACnD,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC;aACxC;iBAAM;gBACL,eAAe,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;QAEH,aAAa;YACX,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,UAAkB,EAAE,EAAE;gBACxD,UAAU,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CACV,uCAAuC,SAAS,MAAM,IAAA,qBAAc,EAAC,CAAC,CAAC,EAAE,CAC1E,CAAC;KACH;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AACjE,CAAC,CAAC;AAvCW,QAAA,mBAAmB,uBAuC9B"}
@@ -1,17 +1,21 @@
1
+ import { ToClientStatusResponseMessage } from '@alwaysai/device-agent-schemas';
1
2
  import { LiveUpdatesHandler } from './live-updates-handler';
2
3
  import { Publisher } from './publisher';
3
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;
4
8
  export declare class TransactionManager {
5
9
  private detailsByTx;
6
10
  private detailsByProject;
7
- private liveUpdatesHandler;
11
+ private readonly liveUpdatesHandler;
8
12
  private publisher;
9
13
  private startTransaction;
10
14
  private updateTransaction;
11
15
  constructor(publisher: Publisher, liveUpdatesHandler: LiveUpdatesHandler);
12
16
  Errors: {
13
17
  TRANSACTION_ONGOING: "TRANSACTION_ONGOING";
14
- PROJECT_ONGOING: "PROJECT_ONGOING";
18
+ PROJECT_TRANSACTION_ONGOING: "PROJECT_TRANSACTION_ONGOING";
15
19
  TRANSACTION_NOT_ONGOING: "TRANSACTION_NOT_ONGOING";
16
20
  };
17
21
  runTransactionStep(props: {
@@ -19,7 +23,10 @@ export declare class TransactionManager {
19
23
  projectId: string;
20
24
  txId: string;
21
25
  start: boolean;
26
+ liveUpdatesPublishFn?: () => Promise<void>;
22
27
  stepName?: string;
28
+ errorFn?: ErrorFunction;
29
+ successFn?: SuccessFunction;
23
30
  }): Promise<void>;
24
31
  getTransactionFromProject(projectId: string): string | undefined;
25
32
  isOngoingTransactionForProjectID(projectId: string): boolean;
@@ -27,7 +34,9 @@ export declare class TransactionManager {
27
34
  isAnyOngoingTransaction(): boolean;
28
35
  getProjectFromTransaction(txId: string): string | undefined;
29
36
  getAppCfgUpdateFromTxID(txId: string): ShadowUpdate | undefined;
37
+ getAppContentFromTxId(txId: string): AppContent | undefined;
30
38
  setAppCfgUpdateToTx(txId: string, appCfgUpdate: ShadowUpdate): void;
31
- completeTransaction(txId: string): void;
39
+ setAppContentToTx(txId: string, appContent: AppContent): void;
40
+ completeTransaction(txId: string, messageToPublish?: ToClientStatusResponseMessage): void;
32
41
  }
33
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":"AAKA,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;IAE7B,OAAO,CAAC,gBAAgB;IA+CxB,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,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,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAmB/C"}
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"}
@@ -11,7 +11,7 @@ class TransactionManager {
11
11
  this.detailsByProject = {};
12
12
  this.Errors = (0, util_1.keyMirror)({
13
13
  TRANSACTION_ONGOING: null,
14
- PROJECT_ONGOING: null,
14
+ PROJECT_TRANSACTION_ONGOING: null,
15
15
  TRANSACTION_NOT_ONGOING: null
16
16
  });
17
17
  this.detailsByTx = {};
@@ -19,7 +19,7 @@ class TransactionManager {
19
19
  this.publisher = publisher;
20
20
  this.liveUpdatesHandler = liveUpdatesHandler;
21
21
  }
22
- startTransaction(txId, projectId, stepName) {
22
+ async startTransaction(txId, projectId, liveUpdatesPublishFn, stepName) {
23
23
  // Check if the transaction already exists
24
24
  if (this.detailsByTx[txId]) {
25
25
  const txnDetails = this.detailsByTx[txId];
@@ -28,7 +28,7 @@ class TransactionManager {
28
28
  // Check if there is any ongoing transactions for project
29
29
  if (this.detailsByProject[projectId]) {
30
30
  const txnDetails = this.detailsByProject[projectId];
31
- throw new coded_error_1.CodedError(`Project ${projectId} already has an ongoing transaction!\n${JSON.stringify(txnDetails, null, 2)}`, this.Errors.PROJECT_ONGOING);
31
+ throw new coded_error_1.CodedError(`Project ${projectId} already has an ongoing transaction!\n${JSON.stringify(txnDetails, null, 2)}`, this.Errors.PROJECT_TRANSACTION_ONGOING);
32
32
  }
33
33
  // Map the Transaction ID with Project ID
34
34
  const txDetails = {
@@ -40,10 +40,9 @@ class TransactionManager {
40
40
  this.detailsByTx[txId] = txDetails;
41
41
  this.detailsByProject[projectId] = txDetails;
42
42
  logger_1.logger.info(`Started transaction:\n${JSON.stringify(txDetails, null, 2)}`);
43
- // send live updates
44
- void this.liveUpdatesHandler.enableTransactionStatus({
45
- txId
46
- });
43
+ if (liveUpdatesPublishFn) {
44
+ await this.liveUpdatesHandler.enable(device_agent_schemas_1.keyMirrors.toClientMessageType.status_response, liveUpdatesPublishFn, txId);
45
+ }
47
46
  }
48
47
  updateTransaction(txId, stepName) {
49
48
  const txDetails = this.detailsByTx[txId];
@@ -55,9 +54,9 @@ class TransactionManager {
55
54
  logger_1.logger.info(`Updated transaction:\n${JSON.stringify(txDetails, null, 2)}`);
56
55
  }
57
56
  async runTransactionStep(props) {
58
- const { func, projectId, txId, start, stepName } = props;
57
+ const { func, projectId, txId, start, liveUpdatesPublishFn, stepName, errorFn, successFn } = props;
59
58
  if (start) {
60
- this.startTransaction(txId, projectId, stepName);
59
+ await this.startTransaction(txId, projectId, liveUpdatesPublishFn, stepName);
61
60
  }
62
61
  else {
63
62
  this.updateTransaction(txId, stepName);
@@ -66,25 +65,17 @@ class TransactionManager {
66
65
  const completed = await func();
67
66
  if (completed) {
68
67
  this.completeTransaction(txId);
69
- const successStatusResponsePayload = {
70
- status: device_agent_schemas_1.keyMirrors.statusResponse.success
71
- };
72
- // Send final status message
73
- const message = (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.publisher.getClientId(), successStatusResponsePayload, txId);
74
- this.publisher.publishToClient(message);
68
+ if (successFn) {
69
+ successFn(txId);
70
+ }
75
71
  }
76
72
  }
77
73
  catch (e) {
78
- const message = e.message;
79
- logger_1.logger.error(`Failed to execute cmd for ${projectId}:\n${message}\n${e.stack}`);
74
+ logger_1.logger.error(`Failed to execute cmd for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
80
75
  this.completeTransaction(txId);
81
- const failureStatusResponsePayload = {
82
- status: device_agent_schemas_1.keyMirrors.statusResponse.failure,
83
- message
84
- };
85
- // Send final status message
86
- const failureStatusResponseMessage = (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.publisher.getClientId(), failureStatusResponsePayload, txId);
87
- this.publisher.publishToClient(failureStatusResponseMessage);
76
+ if (errorFn) {
77
+ errorFn(txId, e.message);
78
+ }
88
79
  }
89
80
  }
90
81
  getTransactionFromProject(projectId) {
@@ -108,6 +99,10 @@ class TransactionManager {
108
99
  var _a;
109
100
  return (_a = this.detailsByTx[txId]) === null || _a === void 0 ? void 0 : _a.appCfgUpdate;
110
101
  }
102
+ getAppContentFromTxId(txId) {
103
+ var _a;
104
+ return (_a = this.detailsByTx[txId]) === null || _a === void 0 ? void 0 : _a.appContent;
105
+ }
111
106
  setAppCfgUpdateToTx(txId, appCfgUpdate) {
112
107
  if (this.isOngoingTransaction(txId)) {
113
108
  this.detailsByTx[txId].appCfgUpdate = appCfgUpdate;
@@ -115,7 +110,15 @@ class TransactionManager {
115
110
  else
116
111
  throw new Error(`Could not set appCfgUpdate, the transaction ${txId} does not exist.`);
117
112
  }
118
- completeTransaction(txId) {
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
+ }
121
+ completeTransaction(txId, messageToPublish) {
119
122
  const txDetails = this.detailsByTx[txId];
120
123
  if (txDetails === undefined) {
121
124
  throw new coded_error_1.CodedError(`Cannot complete transaction ${txId} since it doesn't exist!`, this.Errors.TRANSACTION_NOT_ONGOING);
@@ -124,9 +127,7 @@ class TransactionManager {
124
127
  logger_1.logger.info(`Completed transaction:\n${JSON.stringify(txDetails, null, 2)}`);
125
128
  delete this.detailsByTx[txId];
126
129
  delete this.detailsByProject[txDetails.projectId];
127
- void this.liveUpdatesHandler.disableTransactionStatus({
128
- txId
129
- });
130
+ this.liveUpdatesHandler.disable(device_agent_schemas_1.keyMirrors.toClientMessageType.status_response, txId);
130
131
  }
131
132
  }
132
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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"}
@@ -9,8 +9,8 @@ const mockClient = {
9
9
  };
10
10
  const clientId = 'test-client';
11
11
  const mockLiveUpdatesHandler = {
12
- enableTransactionStatus: jest.fn(),
13
- disableTransactionStatus: jest.fn()
12
+ enable: jest.fn(),
13
+ disable: jest.fn()
14
14
  };
15
15
  describe('Test Transaction Manager', () => {
16
16
  let txnMgr;
@@ -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);
@@ -173,7 +178,7 @@ describe('Test Transaction Manager', () => {
173
178
  }
174
179
  catch (e) {
175
180
  console.log(e);
176
- expect(e.code).toBe(txnMgr.Errors.PROJECT_ONGOING);
181
+ expect(e.code).toBe(txnMgr.Errors.PROJECT_TRANSACTION_ONGOING);
177
182
  }
178
183
  expect(txnMgr.getTransactionFromProject(projectId)).toEqual(txId);
179
184
  expect(txnMgr.getProjectFromTransaction(txId)).toEqual(projectId);
@@ -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