@alwaysai/device-agent-schemas 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/README.md +8 -4
  2. package/development.md +37 -0
  3. package/docs/README.md +81 -0
  4. package/docs/agent-message-schema-defs-toclient.md +25 -0
  5. package/docs/agent-message-schema-defs-tocloud.md +25 -0
  6. package/docs/agent-message-schema-defs.md +15 -0
  7. package/docs/agent-message-schema-properties-deviceid.md +15 -0
  8. package/docs/agent-message-schema-properties-payload-oneof-app_install_status.md +66 -0
  9. package/docs/agent-message-schema-properties-payload-oneof-app_logs.md +66 -0
  10. package/docs/agent-message-schema-properties-payload-oneof-app_state.md +66 -0
  11. package/docs/agent-message-schema-properties-payload-oneof-device_stats.md +66 -0
  12. package/docs/agent-message-schema-properties-payload-oneof-signed_urls_request.md +85 -0
  13. package/docs/agent-message-schema-properties-payload.md +27 -0
  14. package/docs/agent-message-schema-properties-timestamp.md +15 -0
  15. package/docs/agent-message-schema-properties-topic-oneof-0.md +25 -0
  16. package/docs/agent-message-schema-properties-topic-oneof-1.md +25 -0
  17. package/docs/agent-message-schema-properties-topic.md +21 -0
  18. package/docs/agent-message-schema.md +138 -0
  19. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appinstallpayload-properties-appsignedurl.md +15 -0
  20. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appinstallpayload.md +39 -0
  21. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appreleasehash.md +25 -0
  22. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-models_install_payload.md +15 -0
  23. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-projectid.md +25 -0
  24. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse.md +116 -0
  25. package/docs/app-install-cloud-response-schema-properties-messagetype.md +23 -0
  26. package/docs/app-install-cloud-response-schema.md +66 -0
  27. package/docs/app-install-schema-properties-appreleasehash.md +25 -0
  28. package/docs/app-install-schema-properties-basecommand.md +23 -0
  29. package/docs/app-install-schema-properties-projectid.md +25 -0
  30. package/docs/app-install-schema.md +105 -0
  31. package/docs/app-install-status-schema-properties-appinstallstatus-properties-appreleasehash.md +25 -0
  32. package/docs/app-install-status-schema-properties-appinstallstatus-properties-message.md +15 -0
  33. package/docs/app-install-status-schema-properties-appinstallstatus-properties-status.md +26 -0
  34. package/docs/app-install-status-schema-properties-appinstallstatus.md +98 -0
  35. package/docs/app-install-status-schema-properties-messagetype.md +23 -0
  36. package/docs/app-install-status-schema.md +66 -0
  37. package/docs/app-logs-schema-properties-applogs-properties-logchunk.md +15 -0
  38. package/docs/app-logs-schema-properties-applogs-properties-projectid.md +25 -0
  39. package/docs/app-logs-schema-properties-applogs.md +68 -0
  40. package/docs/app-logs-schema-properties-messagetype.md +23 -0
  41. package/docs/app-logs-schema.md +66 -0
  42. package/docs/app-state-control-schema-properties-appstatecontrol-properties-basecommand.md +25 -0
  43. package/docs/app-state-control-schema-properties-appstatecontrol-properties-projectid.md +25 -0
  44. package/docs/app-state-control-schema-properties-appstatecontrol.md +78 -0
  45. package/docs/app-state-control-schema-properties-messagetype.md +23 -0
  46. package/docs/app-state-control-schema.md +66 -0
  47. package/docs/app-state-schema-properties-appstate-items-properties-appdetails-properties-projectid.md +25 -0
  48. package/docs/app-state-schema-properties-appstate-items-properties-appdetails-properties-version.md +25 -0
  49. package/docs/app-state-schema-properties-appstate-items-properties-appdetails.md +78 -0
  50. package/docs/app-state-schema-properties-appstate-items-properties-services-items-properties-name.md +15 -0
  51. package/docs/app-state-schema-properties-appstate-items-properties-services-items-properties-state.md +25 -0
  52. package/docs/app-state-schema-properties-appstate-items-properties-services-items.md +68 -0
  53. package/docs/app-state-schema-properties-appstate-items-properties-services.md +15 -0
  54. package/docs/app-state-schema-properties-appstate-items.md +58 -0
  55. package/docs/app-state-schema-properties-appstate.md +15 -0
  56. package/docs/app-state-schema-properties-messagetype.md +23 -0
  57. package/docs/app-state-schema.md +66 -0
  58. package/docs/app-uninstall-schema-properties-basecommand.md +23 -0
  59. package/docs/app-uninstall-schema-properties-projectid.md +25 -0
  60. package/docs/app-uninstall-schema.md +76 -0
  61. package/docs/app-version-control-schema-properties-appversioncontrol.md +21 -0
  62. package/docs/app-version-control-schema-properties-messagetype.md +23 -0
  63. package/docs/app-version-control-schema.md +72 -0
  64. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appinstallpayload-properties-appsignedurl.md +15 -0
  65. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appinstallpayload.md +39 -0
  66. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appreleasehash.md +25 -0
  67. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-modelsinstallpayload.md +15 -0
  68. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-projectid.md +25 -0
  69. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse.md +116 -0
  70. package/docs/app_install_cloud_response_schema-properties-messagetype.md +23 -0
  71. package/docs/app_install_cloud_response_schema.md +66 -0
  72. package/docs/app_install_schema-properties-appreleasehash.md +25 -0
  73. package/docs/app_install_schema-properties-basecommand.md +23 -0
  74. package/docs/app_install_schema-properties-projectid.md +25 -0
  75. package/docs/app_install_schema.md +105 -0
  76. package/docs/app_state_control_schema-properties-appstatecontrol-properties-basecommand.md +25 -0
  77. package/docs/app_state_control_schema-properties-appstatecontrol-properties-projectid.md +25 -0
  78. package/docs/app_state_control_schema-properties-appstatecontrol.md +78 -0
  79. package/docs/app_state_control_schema-properties-messagetype.md +23 -0
  80. package/docs/app_state_control_schema.md +66 -0
  81. package/docs/app_uninstall_schema-properties-basecommand.md +23 -0
  82. package/docs/app_uninstall_schema-properties-projectid.md +25 -0
  83. package/docs/app_uninstall_schema.md +76 -0
  84. package/docs/app_version_control_schema-properties-appversioncontrol.md +21 -0
  85. package/docs/app_version_control_schema-properties-messagetype.md +23 -0
  86. package/docs/app_version_control_schema.md +72 -0
  87. package/docs/client-message-schema-defs-message.md +25 -0
  88. package/docs/client-message-schema-defs.md +15 -0
  89. package/docs/client-message-schema-properties-payload-oneof-live_state_updates.md +66 -0
  90. package/docs/client-message-schema-properties-payload-oneof-models_install_cloud_response.md +66 -0
  91. package/docs/client-message-schema-properties-payload.md +27 -0
  92. package/docs/client-message-schema-properties-timestamp.md +15 -0
  93. package/docs/client-message-schema-properties-topic.md +25 -0
  94. package/docs/client-message-schema.md +112 -0
  95. package/docs/client_message_schema-defs-message.md +25 -0
  96. package/docs/client_message_schema-defs.md +15 -0
  97. package/docs/client_message_schema-properties-payload-oneof-3.md +66 -0
  98. package/docs/client_message_schema-properties-payload-oneof-4.md +66 -0
  99. package/docs/client_message_schema-properties-payload.md +27 -0
  100. package/docs/client_message_schema-properties-timestamp.md +15 -0
  101. package/docs/client_message_schema-properties-topic.md +25 -0
  102. package/docs/client_message_schema.md +112 -0
  103. package/docs/common-schema-defs-appreleasehash.md +25 -0
  104. package/docs/common-schema-defs-modelid.md +25 -0
  105. package/docs/common-schema-defs-projectid.md +25 -0
  106. package/docs/common-schema-defs.md +15 -0
  107. package/docs/common-schema.md +50 -0
  108. package/docs/device-status-schema-properties-devicestats-properties-cpuusage.md +15 -0
  109. package/docs/device-status-schema-properties-devicestats-properties-diskutil.md +15 -0
  110. package/docs/device-status-schema-properties-devicestats-properties-usedmemorypercentage.md +15 -0
  111. package/docs/device-status-schema-properties-devicestats.md +77 -0
  112. package/docs/device-status-schema-properties-messagetype.md +23 -0
  113. package/docs/device-status-schema.md +66 -0
  114. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs-properties-projectid.md +25 -0
  115. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs-properties-toggle.md +15 -0
  116. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs.md +68 -0
  117. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-appstate.md +15 -0
  118. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-devicestats.md +15 -0
  119. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles.md +77 -0
  120. package/docs/live-updates-toggle-schema-properties-messagetype.md +23 -0
  121. package/docs/live-updates-toggle-schema.md +66 -0
  122. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs-properties-projectid.md +25 -0
  123. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs-properties-toggle.md +15 -0
  124. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs.md +68 -0
  125. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-appstate.md +15 -0
  126. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-devicestats.md +15 -0
  127. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles.md +77 -0
  128. package/docs/live_updates_toggle_schema-properties-messagetype.md +23 -0
  129. package/docs/live_updates_toggle_schema.md +66 -0
  130. package/docs/models-install-cloud-response-schema-properties-messagetype.md +23 -0
  131. package/docs/models-install-cloud-response-schema-properties-modelsinstallcloudresponse-properties-projectid.md +25 -0
  132. package/docs/models-install-cloud-response-schema-properties-modelsinstallcloudresponse.md +68 -0
  133. package/docs/models-install-cloud-response-schema.md +66 -0
  134. package/docs/models-install-payload-schema-items-properties-id.md +25 -0
  135. package/docs/models-install-payload-schema-items-properties-modelsignedurl.md +15 -0
  136. package/docs/models-install-payload-schema-items-properties-version.md +15 -0
  137. package/docs/models-install-payload-schema-items.md +87 -0
  138. package/docs/models-install-payload-schema.md +15 -0
  139. package/docs/models_install_cloud_response_schema-properties-messagetype.md +23 -0
  140. package/docs/models_install_cloud_response_schema-properties-modelsinstallcloudresponse-properties-projectid.md +25 -0
  141. package/docs/models_install_cloud_response_schema-properties-modelsinstallcloudresponse.md +68 -0
  142. package/docs/models_install_cloud_response_schema.md +66 -0
  143. package/docs/models_install_payload_schema-items-properties-id.md +25 -0
  144. package/docs/models_install_payload_schema-items-properties-modelsignedurl.md +15 -0
  145. package/docs/models_install_payload_schema-items-properties-version.md +15 -0
  146. package/docs/models_install_payload_schema-items.md +87 -0
  147. package/docs/models_install_payload_schema.md +15 -0
  148. package/docs/signed-urls-request-schema-properties-messagetype.md +23 -0
  149. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models-patternproperties-a-za-z0-9_.md +15 -0
  150. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models-patternproperties.md +15 -0
  151. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models.md +39 -0
  152. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-projectid.md +25 -0
  153. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest.md +68 -0
  154. package/docs/signed-urls-request-schema-properties-signedurlsrequest-properties-appreleasehash.md +25 -0
  155. package/docs/signed-urls-request-schema-properties-signedurlsrequest-properties-projectid.md +25 -0
  156. package/docs/signed-urls-request-schema-properties-signedurlsrequest.md +78 -0
  157. package/docs/signed-urls-request-schema.md +85 -0
  158. package/lib/app-action-schema.d.ts +54 -0
  159. package/lib/app-action-schema.d.ts.map +1 -0
  160. package/lib/app-action-schema.js +3 -0
  161. package/lib/app-action-schema.js.map +1 -0
  162. package/lib/app-logs-schema.d.ts +11 -0
  163. package/lib/app-logs-schema.d.ts.map +1 -0
  164. package/lib/app-logs-schema.js +3 -0
  165. package/lib/app-logs-schema.js.map +1 -0
  166. package/lib/app-state-schema.d.ts +22 -0
  167. package/lib/app-state-schema.d.ts.map +1 -0
  168. package/lib/app-state-schema.js +3 -0
  169. package/lib/app-state-schema.js.map +1 -0
  170. package/lib/constants.d.ts +39 -14
  171. package/lib/constants.d.ts.map +1 -1
  172. package/lib/constants.js +10 -10
  173. package/lib/constants.js.map +1 -1
  174. package/lib/constants.test.d.ts +2 -0
  175. package/lib/constants.test.d.ts.map +1 -0
  176. package/lib/constants.test.js +21 -0
  177. package/lib/constants.test.js.map +1 -0
  178. package/lib/device-agent-action-schema.d.ts +15 -0
  179. package/lib/device-agent-action-schema.d.ts.map +1 -0
  180. package/lib/device-agent-action-schema.js +3 -0
  181. package/lib/device-agent-action-schema.js.map +1 -0
  182. package/lib/device-stats-schema.d.ts +12 -0
  183. package/lib/device-stats-schema.d.ts.map +1 -0
  184. package/lib/device-stats-schema.js +4 -0
  185. package/lib/device-stats-schema.js.map +1 -0
  186. package/lib/index.d.ts +10 -10
  187. package/lib/index.d.ts.map +1 -1
  188. package/lib/index.js.map +1 -1
  189. package/lib/schemas/app-install-cloud-response-schema.json +41 -0
  190. package/lib/schemas/app-install-schema.json +20 -0
  191. package/lib/schemas/app-logs-schema.json +23 -0
  192. package/lib/schemas/app-state-control-schema.json +24 -0
  193. package/lib/schemas/app-state-schema.json +49 -0
  194. package/lib/schemas/app-uninstall-schema.json +17 -0
  195. package/lib/schemas/app-version-control-schema.json +20 -0
  196. package/lib/schemas/client-message-schema.json +117 -0
  197. package/lib/schemas/common-schema.json +27 -0
  198. package/lib/schemas/device-agent-message-schema.json +106 -0
  199. package/lib/schemas/device-stats-schema.json +29 -0
  200. package/lib/schemas/live-updates-toggle-schema.json +35 -0
  201. package/lib/schemas/models-install-cloud-response-schema.json +23 -0
  202. package/lib/schemas/models-install-payload-schema.json +22 -0
  203. package/lib/schemas/signed-urls-request-schema.json +42 -0
  204. package/lib/schemas/status-response-schema.json +23 -0
  205. package/lib/signed-urls-request-schema.d.ts +21 -0
  206. package/lib/signed-urls-request-schema.d.ts.map +1 -0
  207. package/lib/signed-urls-request-schema.js +3 -0
  208. package/lib/signed-urls-request-schema.js.map +1 -0
  209. package/lib/status-response-schema.d.ts +11 -0
  210. package/lib/status-response-schema.d.ts.map +1 -0
  211. package/lib/status-response-schema.js +3 -0
  212. package/lib/status-response-schema.js.map +1 -0
  213. package/lib/types.d.ts +20 -20
  214. package/lib/types.d.ts.map +1 -1
  215. package/lib/types.js +37 -91
  216. package/lib/types.js.map +1 -1
  217. package/lib/types.test.js +130 -41
  218. package/lib/types.test.js.map +1 -1
  219. package/lib/utils.d.ts +1 -0
  220. package/lib/utils.d.ts.map +1 -1
  221. package/lib/utils.js +6 -1
  222. package/lib/utils.js.map +1 -1
  223. package/package.json +6 -3
  224. package/src/app-action-schema.ts +71 -0
  225. package/src/app-logs-schema.ts +13 -0
  226. package/src/app-state-schema.ts +27 -0
  227. package/src/constants.test.ts +35 -0
  228. package/src/constants.ts +33 -12
  229. package/src/device-agent-action-schema.ts +16 -0
  230. package/src/device-stats-schema.ts +15 -0
  231. package/src/index.ts +67 -34
  232. package/src/schemas/app-install-cloud-response-schema.json +41 -0
  233. package/src/schemas/app-install-schema.json +20 -0
  234. package/src/schemas/app-logs-schema.json +23 -0
  235. package/src/schemas/app-state-control-schema.json +24 -0
  236. package/src/schemas/app-state-schema.json +49 -0
  237. package/src/schemas/app-uninstall-schema.json +17 -0
  238. package/src/schemas/app-version-control-schema.json +20 -0
  239. package/src/schemas/client-message-schema.json +117 -0
  240. package/src/schemas/common-schema.json +27 -0
  241. package/src/schemas/device-agent-message-schema.json +107 -0
  242. package/src/schemas/device-stats-schema.json +29 -0
  243. package/src/schemas/live-updates-toggle-schema.json +35 -0
  244. package/src/schemas/models-install-cloud-response-schema.json +23 -0
  245. package/src/schemas/models-install-payload-schema.json +22 -0
  246. package/src/schemas/signed-urls-request-schema.json +42 -0
  247. package/src/schemas/status-response-schema.json +23 -0
  248. package/src/signed-urls-request-schema.ts +22 -0
  249. package/src/status-response-schema.ts +12 -0
  250. package/src/types.test.ts +130 -43
  251. package/src/types.ts +109 -143
  252. package/src/utils.ts +6 -0
  253. package/lib/schemas/agent/app-install-status-schema.d.ts +0 -38
  254. package/lib/schemas/agent/app-install-status-schema.d.ts.map +0 -1
  255. package/lib/schemas/agent/app-install-status-schema.js +0 -32
  256. package/lib/schemas/agent/app-install-status-schema.js.map +0 -1
  257. package/lib/schemas/agent/application-logs-schema.d.ts +0 -34
  258. package/lib/schemas/agent/application-logs-schema.d.ts.map +0 -1
  259. package/lib/schemas/agent/application-logs-schema.js +0 -29
  260. package/lib/schemas/agent/application-logs-schema.js.map +0 -1
  261. package/lib/schemas/agent/application-state-schema.d.ts +0 -68
  262. package/lib/schemas/agent/application-state-schema.d.ts.map +0 -1
  263. package/lib/schemas/agent/application-state-schema.js +0 -56
  264. package/lib/schemas/agent/application-state-schema.js.map +0 -1
  265. package/lib/schemas/agent/device-status-schema.d.ts +0 -41
  266. package/lib/schemas/agent/device-status-schema.d.ts.map +0 -1
  267. package/lib/schemas/agent/device-status-schema.js +0 -35
  268. package/lib/schemas/agent/device-status-schema.js.map +0 -1
  269. package/lib/schemas/agent/request-data-from-cloud.d.ts +0 -60
  270. package/lib/schemas/agent/request-data-from-cloud.d.ts.map +0 -1
  271. package/lib/schemas/agent/request-data-from-cloud.js +0 -48
  272. package/lib/schemas/agent/request-data-from-cloud.js.map +0 -1
  273. package/lib/schemas/client/application-action-schema.d.ts +0 -247
  274. package/lib/schemas/client/application-action-schema.d.ts.map +0 -1
  275. package/lib/schemas/client/application-action-schema.js +0 -161
  276. package/lib/schemas/client/application-action-schema.js.map +0 -1
  277. package/lib/schemas/client/device-agent-action-schema.d.ts +0 -50
  278. package/lib/schemas/client/device-agent-action-schema.d.ts.map +0 -1
  279. package/lib/schemas/client/device-agent-action-schema.js +0 -41
  280. package/lib/schemas/client/device-agent-action-schema.js.map +0 -1
  281. package/lib/schemas/common-schema.d.ts +0 -22
  282. package/lib/schemas/common-schema.d.ts.map +0 -1
  283. package/lib/schemas/common-schema.js +0 -26
  284. package/lib/schemas/common-schema.js.map +0 -1
  285. package/src/schemas/agent/app-install-status-schema.ts +0 -39
  286. package/src/schemas/agent/application-logs-schema.ts +0 -37
  287. package/src/schemas/agent/application-state-schema.ts +0 -74
  288. package/src/schemas/agent/device-status-schema.ts +0 -44
  289. package/src/schemas/agent/request-data-from-cloud.ts +0 -61
  290. package/src/schemas/client/application-action-schema.ts +0 -225
  291. package/src/schemas/client/device-agent-action-schema.ts +0 -52
  292. package/src/schemas/common-schema.ts +0 -23
package/src/constants.ts CHANGED
@@ -10,15 +10,15 @@ export const CLOUD_TOPIC_PREFIX = 'to-cloud';
10
10
  export const DEVICE_TOPIC_PREFIX = 'to-device';
11
11
  export const DEVICE_TYPE = 'aai-device';
12
12
 
13
- const agentMessageTypeEnum = keyMirror({
13
+ const toClientMessageTypeEnum = keyMirror({
14
14
  app_logs: null,
15
15
  app_state: null,
16
16
  device_stats: null,
17
- app_install_status: null,
17
+ status_response: null,
18
18
  signed_urls_request: null,
19
19
  });
20
20
 
21
- const clientMessageTypeEnum = keyMirror({
21
+ const toDeviceAgentMessageTypeEnum = keyMirror({
22
22
  app_state_control: null,
23
23
  app_version_control: null,
24
24
  app_install_cloud_response: null,
@@ -47,7 +47,7 @@ const liveUpdatesEnum = keyMirror({
47
47
  live_updates: null,
48
48
  });
49
49
 
50
- const appInstallStatusEnum = keyMirror({
50
+ const statusEnum = keyMirror({
51
51
  requested: null,
52
52
  in_progress: null,
53
53
  failure: null,
@@ -55,21 +55,42 @@ const appInstallStatusEnum = keyMirror({
55
55
  });
56
56
 
57
57
  export const keyMirrors = {
58
- agentMessageType: agentMessageTypeEnum,
59
- clientMessageType: clientMessageTypeEnum,
58
+ deviceAgentMessageType: toDeviceAgentMessageTypeEnum,
59
+ clientMessageType: toClientMessageTypeEnum,
60
60
  appState: appStateEnum,
61
61
  appStateControl: appStateControlEnum,
62
62
  appVersionControl: appVersionControlEnum,
63
63
  liveUpdates: liveUpdatesEnum,
64
- appInstallStatus: appInstallStatusEnum,
64
+ statusResponse: statusEnum,
65
65
  };
66
66
 
67
- export const agentMessageTypeValues = Object.values(keyMirrors.agentMessageType);
68
- export type AgentMessageTypeValue = keyof typeof keyMirrors.agentMessageType;
69
-
70
67
  export const clientMessageTypeValues = Object.values(keyMirrors.clientMessageType);
71
68
  export type ClientMessageTypeValue = keyof typeof keyMirrors.clientMessageType;
72
69
 
70
+ export type AppLogsMessageType = typeof toClientMessageTypeEnum.app_logs;
71
+ export type AppStateMessageType = typeof toClientMessageTypeEnum.app_state;
72
+ export type DeviceStatsMessageType = typeof toClientMessageTypeEnum.device_stats;
73
+ export type StatusResponseMessageType = typeof toClientMessageTypeEnum.status_response;
74
+ export type SignedUrlsRequestMessageType =
75
+ typeof toClientMessageTypeEnum.signed_urls_request;
76
+
77
+ export const deviceAgentMessageTypeValues = Object.values(
78
+ keyMirrors.deviceAgentMessageType,
79
+ );
80
+ export type DeviceAgentMessageTypeValue = keyof typeof keyMirrors.deviceAgentMessageType;
81
+
82
+ export type AppStateControlMessageType =
83
+ typeof toDeviceAgentMessageTypeEnum.app_state_control;
84
+
85
+ export type AppVersionControlMessageType =
86
+ typeof toDeviceAgentMessageTypeEnum.app_version_control;
87
+ export type AppInstallCloudResponseMessageType =
88
+ typeof toDeviceAgentMessageTypeEnum.app_install_cloud_response;
89
+ export type ModelsInstallCloudResponseMessageType =
90
+ typeof toDeviceAgentMessageTypeEnum.models_install_cloud_response;
91
+ export type LiveStateUpdatesTogglesMessageType =
92
+ typeof toDeviceAgentMessageTypeEnum.live_state_updates;
93
+
73
94
  export const appStateValues = Object.values(keyMirrors.appState);
74
95
  export type AppStateValue = keyof typeof keyMirrors.appState;
75
96
 
@@ -82,5 +103,5 @@ export type AppVersionControlValue = keyof typeof keyMirrors.appVersionControl;
82
103
  export const liveUpdatesValues = Object.values(keyMirrors.liveUpdates);
83
104
  export type LiveUpdatesValue = keyof typeof keyMirrors.liveUpdates;
84
105
 
85
- export const appInstallStatusValues = Object.values(keyMirrors.appInstallStatus);
86
- export type AppInstallStatusValue = keyof typeof keyMirrors.appInstallStatus;
106
+ export const statusResponseValues = Object.values(keyMirrors.statusResponse);
107
+ export type StatusResponseValue = keyof typeof keyMirrors.statusResponse;
@@ -0,0 +1,16 @@
1
+ import { LiveStateUpdatesTogglesMessageType } from './constants';
2
+ import { BaseDeviceAgentMessage } from './types';
3
+
4
+ export interface LiveStateUpdatesTogglePayload {
5
+ deviceStats?: boolean;
6
+ appState?: boolean;
7
+ appLogs?: {
8
+ projectId: string;
9
+ toggle: boolean;
10
+ };
11
+ }
12
+
13
+ export interface LiveStateUpdatesToggleMessage extends BaseDeviceAgentMessage {
14
+ messageType: LiveStateUpdatesTogglesMessageType;
15
+ payload: LiveStateUpdatesTogglePayload;
16
+ }
@@ -0,0 +1,15 @@
1
+ // Device Status Structures
2
+
3
+ import { DeviceStatsMessageType } from './constants';
4
+ import { BaseClientMessage } from './types';
5
+
6
+ export interface DeviceStatsPayload {
7
+ cpuUsage: number;
8
+ diskUtil: number;
9
+ usedMemoryPercentage: number;
10
+ }
11
+
12
+ export interface DeviceStatsMessage extends BaseClientMessage {
13
+ messageType: DeviceStatsMessageType;
14
+ payload: DeviceStatsPayload;
15
+ }
package/src/index.ts CHANGED
@@ -2,40 +2,57 @@
2
2
  import {
3
3
  validateDeviceAgentMessage,
4
4
  validateClientMessage,
5
+ BaseDeviceAgentMessage,
5
6
  DeviceAgentMessage,
6
- ClientMessage,
7
7
  DeviceAgentMessagePayload,
8
+ BaseClientMessage,
9
+ ClientMessage,
8
10
  ClientMessagePayload,
9
11
  getClientTopic,
10
12
  getCloudTopic,
11
13
  getDeviceTopic,
12
14
  } from './types';
13
15
  import {
14
- AppDetailsPacket,
15
- AppStatePacket,
16
- ServiceStatusPacket,
16
+ AppDetails,
17
+ AppState,
18
+ ServiceStatus,
19
+ AppStatePayload,
17
20
  AppStateMessage,
18
- } from './schemas/agent/application-state-schema';
19
- import { AppLogsPacket, AppLogsMessage } from './schemas/agent/application-logs-schema';
21
+ } from './app-state-schema';
22
+ import { AppLogsPayload, AppLogsMessage } from './app-logs-schema';
20
23
  import {
21
- AppInstallCloudResponseMessage,
22
- AppStateControlPacket,
24
+ AppInstallCloudResponsePayload,
25
+ ModelsInstallCloudResponsePayload,
23
26
  AppStateControlMessage,
24
- AppVersionControlPacket,
27
+ AppStateControlPayload,
28
+ AppVersionControlInstallPayload,
29
+ AppVersionControlUninstallPayload,
25
30
  AppVersionControlMessage,
26
31
  ModelInstallPayload,
27
- } from './schemas/client/application-action-schema';
32
+ } from './app-action-schema';
33
+ import {
34
+ ClientMessageTypeValue,
35
+ DeviceAgentMessageTypeValue,
36
+ AppStateControlValue,
37
+ AppStateValue,
38
+ keyMirrors,
39
+ AppStateControlMessageType,
40
+ AppLogsMessageType,
41
+ DeviceStatsMessageType,
42
+ AppStateMessageType,
43
+ SignedUrlsRequestMessageType,
44
+ StatusResponseMessageType,
45
+ } from './constants';
28
46
  import {
29
- LiveUpdatesToggleMessage,
30
- LiveUpdatesToggles,
31
- } from './schemas/client/device-agent-action-schema';
32
- import { DeviceStatsMessage } from './schemas/agent/device-status-schema';
47
+ LiveStateUpdatesTogglePayload,
48
+ LiveStateUpdatesToggleMessage,
49
+ } from './device-agent-action-schema';
50
+ import { DeviceStatsPayload, DeviceStatsMessage } from './device-stats-schema';
51
+ import { StatusResponsePayload, StatusResponseMessage } from './status-response-schema';
33
52
  import {
34
- AppInstallStatusMessage,
35
- AppInstallStatusPacket,
36
- } from './schemas/agent/app-install-status-schema';
37
- import { AppStateControlValue, AppStateValue, keyMirrors } from './constants';
38
- import { SignedUrlsRequestMessage } from './schemas/agent/request-data-from-cloud';
53
+ SignedUrlsRequestPayload,
54
+ SignedUrlsRequestMessage,
55
+ } from './signed-urls-request-schema';
39
56
 
40
57
  export {
41
58
  // getters
@@ -43,32 +60,48 @@ export {
43
60
  getCloudTopic,
44
61
  getDeviceTopic,
45
62
  // types
46
- AppLogsPacket,
47
- AppDetailsPacket,
48
- ServiceStatusPacket,
49
- AppStatePacket,
50
- ModelInstallPayload,
51
- AppInstallStatusPacket,
52
- AppStateControlPacket,
53
- AppVersionControlPacket,
63
+ AppDetails,
64
+ ServiceStatus,
65
+ AppState,
54
66
  AppStateControlValue,
55
67
  AppStateValue,
56
- LiveUpdatesToggles,
57
- DeviceAgentMessagePayload,
58
- ClientMessagePayload,
68
+ // messageTypes
69
+ AppStateControlMessageType,
70
+ AppLogsMessageType,
71
+ DeviceStatsMessageType,
72
+ AppStateMessageType,
73
+ SignedUrlsRequestMessageType,
74
+ StatusResponseMessageType,
59
75
  // messages
76
+ ModelInstallPayload,
77
+ StatusResponseMessage,
78
+ AppStateControlMessage,
79
+ LiveStateUpdatesTogglePayload,
80
+ LiveStateUpdatesToggleMessage,
81
+ DeviceStatsPayload,
60
82
  DeviceStatsMessage,
83
+ AppStatePayload,
61
84
  AppStateMessage,
85
+ AppLogsPayload,
62
86
  AppLogsMessage,
63
- AppInstallStatusMessage,
64
- AppStateControlMessage,
87
+ StatusResponsePayload,
88
+ AppStateControlPayload,
89
+ AppVersionControlInstallPayload,
90
+ AppVersionControlUninstallPayload,
65
91
  AppVersionControlMessage,
66
- AppInstallCloudResponseMessage,
67
- LiveUpdatesToggleMessage,
92
+ AppInstallCloudResponsePayload,
93
+ ModelsInstallCloudResponsePayload,
94
+ SignedUrlsRequestPayload,
68
95
  SignedUrlsRequestMessage,
69
96
  // generic messages
97
+ BaseDeviceAgentMessage,
70
98
  DeviceAgentMessage,
99
+ DeviceAgentMessagePayload,
100
+ BaseClientMessage,
71
101
  ClientMessage,
102
+ ClientMessagePayload,
103
+ ClientMessageTypeValue,
104
+ DeviceAgentMessageTypeValue,
72
105
  // message validators
73
106
  validateDeviceAgentMessage,
74
107
  validateClientMessage,
@@ -0,0 +1,41 @@
1
+ {
2
+ "$id": "https://alwaysai.co/app-install-cloud-response-schema.json",
3
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
4
+ "title": "app_install_cloud_response",
5
+ "type": "object",
6
+ "properties": {
7
+ "appInstallCloudResponse": {
8
+ "type": "object",
9
+ "properties": {
10
+ "projectId": {
11
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
12
+ },
13
+ "appReleaseHash": {
14
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/appReleaseHash"
15
+ },
16
+ "appInstallPayload": {
17
+ "type": "object",
18
+ "properties": {
19
+ "appSignedUrl": {
20
+ "type": "string"
21
+ }
22
+ },
23
+ "required": ["appSignedUrl"],
24
+ "additionalProperties": false
25
+ },
26
+ "modelsInstallPayload": {
27
+ "$ref": "https://alwaysai.co/models-install-payload-schema.json"
28
+ }
29
+ },
30
+ "required": [
31
+ "projectId",
32
+ "appReleaseHash",
33
+ "appInstallPayload",
34
+ "modelsInstallPayload"
35
+ ],
36
+ "additionalProperties": false
37
+ }
38
+ },
39
+ "required": ["appInstallCloudResponse"],
40
+ "additionalProperties": false
41
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "https://alwaysai.co/app-install-schema.json",
3
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
4
+ "title": "app_install",
5
+ "type": "object",
6
+ "properties": {
7
+ "baseCommand": {
8
+ "type": "string",
9
+ "enum": ["install"]
10
+ },
11
+ "projectId": {
12
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
13
+ },
14
+ "appReleaseHash": {
15
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/appReleaseHash"
16
+ }
17
+ },
18
+ "required": ["baseCommand", "projectId", "appReleaseHash"],
19
+ "additionalProperties": false
20
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$id": "https://alwaysai.co/app-logs-schema.json",
3
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
4
+ "title": "app_logs",
5
+ "type": "object",
6
+ "properties": {
7
+ "appLogs": {
8
+ "type": "object",
9
+ "properties": {
10
+ "projectId": {
11
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
12
+ },
13
+ "logChunk": {
14
+ "type": "string"
15
+ }
16
+ },
17
+ "required": ["projectId", "logChunk"],
18
+ "additionalProperties": false
19
+ }
20
+ },
21
+ "required": ["appLogs"],
22
+ "additionalProperties": false
23
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$id": "https://alwaysai.co/app-state-control-schema.json",
3
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
4
+ "title": "app_state_control",
5
+ "type": "object",
6
+ "properties": {
7
+ "appStateControl": {
8
+ "type": "object",
9
+ "properties": {
10
+ "baseCommand": {
11
+ "type": "string",
12
+ "enum": ["start", "stop", "restart"]
13
+ },
14
+ "projectId": {
15
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
16
+ }
17
+ },
18
+ "required": ["baseCommand", "projectId"],
19
+ "additionalProperties": false
20
+ }
21
+ },
22
+ "required": ["appStateControl"],
23
+ "additionalProperties": false
24
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "$id": "https://alwaysai.co/app-state-schema.json",
3
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
4
+ "title": "app_state",
5
+ "type": "object",
6
+ "properties": {
7
+ "appState": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "appDetails": {
13
+ "type": "object",
14
+ "properties": {
15
+ "projectId": {
16
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
17
+ },
18
+ "version": {
19
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/appReleaseHash"
20
+ }
21
+ },
22
+ "additionalProperties": false,
23
+ "required": ["projectId", "version"]
24
+ },
25
+ "services": {
26
+ "type": "array",
27
+ "items": {
28
+ "type": "object",
29
+ "properties": {
30
+ "name": {
31
+ "type": "string"
32
+ },
33
+ "state": {
34
+ "enum": ["up", "stopped", "restarting"]
35
+ }
36
+ },
37
+ "additionalProperties": false,
38
+ "required": ["name", "state"]
39
+ }
40
+ }
41
+ },
42
+ "additionalProperties": false,
43
+ "required": ["appDetails", "services"]
44
+ }
45
+ }
46
+ },
47
+ "additionalProperties": false,
48
+ "required": ["appState"]
49
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$id": "https://alwaysai.co/app-uninstall-schema.json",
3
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
4
+ "title": "app_uninstall",
5
+ "type": "object",
6
+ "properties": {
7
+ "baseCommand": {
8
+ "type": "string",
9
+ "enum": ["uninstall"]
10
+ },
11
+ "projectId": {
12
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
13
+ }
14
+ },
15
+ "required": ["baseCommand", "projectId"],
16
+ "additionalProperties": false
17
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "https://alwaysai.co/app-version-control-schema.json",
3
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
4
+ "title": "app_version_control",
5
+ "type": "object",
6
+ "properties": {
7
+ "appVersionControl": {
8
+ "oneOf": [
9
+ {
10
+ "$ref": "https://alwaysai.co/app-install-schema.json"
11
+ },
12
+ {
13
+ "$ref": "https://alwaysai.co/app-uninstall-schema.json"
14
+ }
15
+ ]
16
+ }
17
+ },
18
+ "required": ["appVersionControl"],
19
+ "additionalProperties": false
20
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "$id": "https://alwaysai.co/client-message-schema.json",
3
+ "title": "client_message",
4
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
5
+ "description": "The messaging payload structure for messages sent from device agent to clients",
6
+ "type": "object",
7
+ "properties": {
8
+ "timestamp": {
9
+ "type": "string"
10
+ },
11
+ "deviceId": {
12
+ "description": "Device UUID of device sending the message",
13
+ "type": "string"
14
+ },
15
+ "topic": {
16
+ "oneOf": [{ "$ref": "#/$defs/toCloud" }, { "$ref": "#/$defs/toClient" }]
17
+ },
18
+ "messageType": {
19
+ "type": "string",
20
+ "enum": [
21
+ "device_stats",
22
+ "app_state",
23
+ "status_response",
24
+ "app_logs",
25
+ "signed_urls_request"
26
+ ]
27
+ },
28
+ "txId": {
29
+ "$ref": "https://alwaysai.co/common-schema.json#/$defs/txId"
30
+ },
31
+ "payload": {
32
+ "oneOf": [
33
+ { "$ref": "https://alwaysai.co/device-stats-schema.json" },
34
+ { "$ref": "https://alwaysai.co/app-state-schema.json" },
35
+ { "$ref": "https://alwaysai.co/app-logs-schema.json" },
36
+ { "$ref": "https://alwaysai.co/status-response-schema.json" },
37
+ { "$ref": "https://alwaysai.co/signed-urls-request-schema.json" }
38
+ ]
39
+ }
40
+ },
41
+ "allOf":[
42
+ {
43
+ "if": {
44
+ "properties": {
45
+ "messageType": { "const": "device_stats" }
46
+ }
47
+ },
48
+ "then": {
49
+ "properties": {
50
+ "payload": {"$ref": "https://alwaysai.co/device-stats-schema.json"}
51
+ }
52
+ }
53
+ },
54
+ {
55
+ "if": {
56
+ "properties": {
57
+ "messageType": { "const": "app_state" }
58
+ }
59
+ },
60
+ "then": {
61
+ "properties": {
62
+ "payload": {"$ref": "https://alwaysai.co/app-state-schema.json"}
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "if": {
68
+ "properties": {
69
+ "messageType": { "const": "status_response" }
70
+ }
71
+ },
72
+ "then": {
73
+ "properties": {
74
+ "payload": {"$ref": "https://alwaysai.co/status-response-schema.json"}
75
+ }
76
+ }
77
+ },
78
+ {
79
+ "if": {
80
+ "properties": {
81
+ "messageType": { "const": "app_logs" }
82
+ }
83
+ },
84
+ "then": {
85
+ "properties": {
86
+ "payload": {"$ref": "https://alwaysai.co/app-logs-schema.json"}
87
+ }
88
+ }
89
+ },
90
+ {
91
+ "if": {
92
+ "properties": {
93
+ "messageType": { "const": "signed_urls_request" }
94
+ }
95
+ },
96
+ "then": {
97
+ "properties": {
98
+ "payload": {"$ref": "https://alwaysai.co/signed-urls-request-schema.json"}
99
+ }
100
+ }
101
+ }
102
+ ],
103
+ "required": ["timestamp", "deviceId", "txId", "payload", "messageType"],
104
+ "additionalProperties": false,
105
+ "$defs": {
106
+ "toCloud": {
107
+ "description": "Messages sent from the device agent to cloud backend client",
108
+ "type": "string",
109
+ "pattern": "to-cloud/aai-device/([0-9a-z]+-+)+([0-9a-z])+"
110
+ },
111
+ "toClient": {
112
+ "description": "Messages sent from the device agent to console client",
113
+ "type": "string",
114
+ "pattern": "to-client/aai-device/([0-9a-z]+-+)+([0-9a-z])+"
115
+ }
116
+ }
117
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$id": "https://alwaysai.co/common-schema.json",
3
+ "title": "common",
4
+ "$defs": {
5
+ "projectId": {
6
+ "description": "The specific project associated with the message payload.",
7
+ "type": "string",
8
+ "pattern": "([0-9a-z]+-+)+([0-9a-z])+"
9
+ },
10
+ "appReleaseHash": {
11
+ "description": "The version of the project associated with the message payload.",
12
+ "type": "string",
13
+ "pattern": "[0-9a-z]{64}"
14
+ },
15
+ "modelId": {
16
+ "description": "The id of a model",
17
+ "type": "string",
18
+ "pattern": "[A-Za-z0-9_]+/[A-Za-z0-9_]*"
19
+ },
20
+ "txId": {
21
+ "type": "string",
22
+ "minLength": 36,
23
+ "maxLength": 36,
24
+ "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
25
+ }
26
+ }
27
+ }