@alwaysai/device-agent-schemas 2.3.2 → 2.3.4

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 (419) hide show
  1. package/LICENSE +12 -0
  2. package/README.md +12 -1
  3. package/lib/index.d.ts +2 -2
  4. package/lib/index.js +3 -1
  5. package/lib/schemas/secure-tunnel-schema.json +30 -0
  6. package/lib/shadow-schema.d.ts +17 -1
  7. package/lib/shadow-schema.js +9 -1
  8. package/package.json +16 -6
  9. package/.eslintignore +0 -4
  10. package/.eslintrc +0 -14
  11. package/.node-version +0 -1
  12. package/bitbucket-pipelines.yml +0 -10
  13. package/development.md +0 -53
  14. package/docs/README.md +0 -107
  15. package/docs/agent-message-schema-defs-toclient.md +0 -25
  16. package/docs/agent-message-schema-defs-tocloud.md +0 -25
  17. package/docs/agent-message-schema-defs.md +0 -15
  18. package/docs/agent-message-schema-properties-deviceid.md +0 -15
  19. package/docs/agent-message-schema-properties-payload-oneof-app_install_status.md +0 -66
  20. package/docs/agent-message-schema-properties-payload-oneof-app_logs.md +0 -66
  21. package/docs/agent-message-schema-properties-payload-oneof-app_state.md +0 -66
  22. package/docs/agent-message-schema-properties-payload-oneof-device_stats.md +0 -66
  23. package/docs/agent-message-schema-properties-payload-oneof-signed_urls_request.md +0 -85
  24. package/docs/agent-message-schema-properties-payload.md +0 -27
  25. package/docs/agent-message-schema-properties-timestamp.md +0 -15
  26. package/docs/agent-message-schema-properties-topic-oneof-0.md +0 -25
  27. package/docs/agent-message-schema-properties-topic-oneof-1.md +0 -25
  28. package/docs/agent-message-schema-properties-topic.md +0 -21
  29. package/docs/agent-message-schema.md +0 -138
  30. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appinstallpayload-properties-appsignedurl.md +0 -15
  31. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appinstallpayload.md +0 -39
  32. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appreleasehash.md +0 -25
  33. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-models_install_payload.md +0 -15
  34. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-projectid.md +0 -25
  35. package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse.md +0 -116
  36. package/docs/app-install-cloud-response-schema-properties-messagetype.md +0 -23
  37. package/docs/app-install-cloud-response-schema.md +0 -66
  38. package/docs/app-install-response-schema-properties-appinstallresponse-properties-appinstallpayload-properties-appsignedurl.md +0 -15
  39. package/docs/app-install-response-schema-properties-appinstallresponse-properties-appinstallpayload.md +0 -39
  40. package/docs/app-install-response-schema-properties-appinstallresponse-properties-appreleasehash.md +0 -25
  41. package/docs/app-install-response-schema-properties-appinstallresponse-properties-models_install_payload.md +0 -15
  42. package/docs/app-install-response-schema-properties-appinstallresponse-properties-projectid.md +0 -25
  43. package/docs/app-install-response-schema-properties-appinstallresponse.md +0 -116
  44. package/docs/app-install-response-schema.md +0 -39
  45. package/docs/app-install-schema-properties-appreleasehash.md +0 -25
  46. package/docs/app-install-schema-properties-basecommand.md +0 -23
  47. package/docs/app-install-schema-properties-projectid.md +0 -25
  48. package/docs/app-install-schema.md +0 -105
  49. package/docs/app-install-status-schema-properties-appinstallstatus-properties-appreleasehash.md +0 -25
  50. package/docs/app-install-status-schema-properties-appinstallstatus-properties-message.md +0 -15
  51. package/docs/app-install-status-schema-properties-appinstallstatus-properties-status.md +0 -26
  52. package/docs/app-install-status-schema-properties-appinstallstatus.md +0 -98
  53. package/docs/app-install-status-schema-properties-messagetype.md +0 -23
  54. package/docs/app-install-status-schema.md +0 -66
  55. package/docs/app-logs-schema-properties-applogs-properties-logchunk.md +0 -15
  56. package/docs/app-logs-schema-properties-applogs-properties-projectid.md +0 -25
  57. package/docs/app-logs-schema-properties-applogs.md +0 -68
  58. package/docs/app-logs-schema-properties-logchunk.md +0 -15
  59. package/docs/app-logs-schema-properties-messagetype.md +0 -23
  60. package/docs/app-logs-schema-properties-projectid.md +0 -25
  61. package/docs/app-logs-schema.md +0 -68
  62. package/docs/app-state-control-schema-properties-appstatecontrol-properties-basecommand.md +0 -25
  63. package/docs/app-state-control-schema-properties-appstatecontrol-properties-projectid.md +0 -25
  64. package/docs/app-state-control-schema-properties-appstatecontrol.md +0 -78
  65. package/docs/app-state-control-schema-properties-basecommand.md +0 -25
  66. package/docs/app-state-control-schema-properties-messagetype.md +0 -23
  67. package/docs/app-state-control-schema-properties-projectid.md +0 -25
  68. package/docs/app-state-control-schema.md +0 -78
  69. package/docs/app-state-schema-properties-appstate-items-properties-appdetails-properties-projectid.md +0 -25
  70. package/docs/app-state-schema-properties-appstate-items-properties-appdetails-properties-version.md +0 -25
  71. package/docs/app-state-schema-properties-appstate-items-properties-appdetails.md +0 -78
  72. package/docs/app-state-schema-properties-appstate-items-properties-services-items-properties-name.md +0 -15
  73. package/docs/app-state-schema-properties-appstate-items-properties-services-items-properties-state.md +0 -25
  74. package/docs/app-state-schema-properties-appstate-items-properties-services-items.md +0 -68
  75. package/docs/app-state-schema-properties-appstate-items-properties-services.md +0 -15
  76. package/docs/app-state-schema-properties-appstate-items.md +0 -58
  77. package/docs/app-state-schema-properties-appstate.md +0 -15
  78. package/docs/app-state-schema-properties-messagetype.md +0 -23
  79. package/docs/app-state-schema.md +0 -39
  80. package/docs/app-uninstall-schema-properties-basecommand.md +0 -23
  81. package/docs/app-uninstall-schema-properties-projectid.md +0 -25
  82. package/docs/app-uninstall-schema.md +0 -76
  83. package/docs/app-version-control-schema-properties-appversioncontrol.md +0 -21
  84. package/docs/app-version-control-schema-properties-messagetype.md +0 -23
  85. package/docs/app-version-control-schema.md +0 -21
  86. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appinstallpayload-properties-appsignedurl.md +0 -15
  87. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appinstallpayload.md +0 -39
  88. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appreleasehash.md +0 -25
  89. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-modelsinstallpayload.md +0 -15
  90. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-projectid.md +0 -25
  91. package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse.md +0 -116
  92. package/docs/app_install_cloud_response_schema-properties-messagetype.md +0 -23
  93. package/docs/app_install_cloud_response_schema.md +0 -66
  94. package/docs/app_install_schema-properties-appreleasehash.md +0 -25
  95. package/docs/app_install_schema-properties-basecommand.md +0 -23
  96. package/docs/app_install_schema-properties-projectid.md +0 -25
  97. package/docs/app_install_schema.md +0 -105
  98. package/docs/app_state_control_schema-properties-appstatecontrol-properties-basecommand.md +0 -25
  99. package/docs/app_state_control_schema-properties-appstatecontrol-properties-projectid.md +0 -25
  100. package/docs/app_state_control_schema-properties-appstatecontrol.md +0 -78
  101. package/docs/app_state_control_schema-properties-messagetype.md +0 -23
  102. package/docs/app_state_control_schema.md +0 -66
  103. package/docs/app_uninstall_schema-properties-basecommand.md +0 -23
  104. package/docs/app_uninstall_schema-properties-projectid.md +0 -25
  105. package/docs/app_uninstall_schema.md +0 -76
  106. package/docs/app_version_control_schema-properties-appversioncontrol.md +0 -21
  107. package/docs/app_version_control_schema-properties-messagetype.md +0 -23
  108. package/docs/app_version_control_schema.md +0 -72
  109. package/docs/client-message-schema-defs-message.md +0 -25
  110. package/docs/client-message-schema-defs.md +0 -15
  111. package/docs/client-message-schema-properties-payload-oneof-live_state_updates.md +0 -66
  112. package/docs/client-message-schema-properties-payload-oneof-models_install_cloud_response.md +0 -66
  113. package/docs/client-message-schema-properties-payload.md +0 -27
  114. package/docs/client-message-schema-properties-timestamp.md +0 -15
  115. package/docs/client-message-schema-properties-topic.md +0 -25
  116. package/docs/client-message-schema.md +0 -112
  117. package/docs/client_message_schema-defs-message.md +0 -25
  118. package/docs/client_message_schema-defs.md +0 -15
  119. package/docs/client_message_schema-properties-payload-oneof-3.md +0 -66
  120. package/docs/client_message_schema-properties-payload-oneof-4.md +0 -66
  121. package/docs/client_message_schema-properties-payload.md +0 -27
  122. package/docs/client_message_schema-properties-timestamp.md +0 -15
  123. package/docs/client_message_schema-properties-topic.md +0 -25
  124. package/docs/client_message_schema.md +0 -112
  125. package/docs/common-schema-defs-appreleasehash.md +0 -25
  126. package/docs/common-schema-defs-modelid.md +0 -25
  127. package/docs/common-schema-defs-projectid.md +0 -25
  128. package/docs/common-schema-defs-txid.md +0 -29
  129. package/docs/common-schema-defs.md +0 -15
  130. package/docs/common-schema.md +0 -61
  131. package/docs/device-action-schema-properties-action.md +0 -23
  132. package/docs/device-action-schema.md +0 -47
  133. package/docs/device-stats-schema-properties-cpudetails-properties-temperature.md +0 -15
  134. package/docs/device-stats-schema-properties-cpudetails-properties-usedperc.md +0 -15
  135. package/docs/device-stats-schema-properties-cpudetails.md +0 -58
  136. package/docs/device-stats-schema-properties-cpuusage.md +0 -15
  137. package/docs/device-stats-schema-properties-diskdetails-properties-freegb.md +0 -15
  138. package/docs/device-stats-schema-properties-diskdetails-properties-usedgb.md +0 -15
  139. package/docs/device-stats-schema-properties-diskdetails.md +0 -58
  140. package/docs/device-stats-schema-properties-diskutil.md +0 -15
  141. package/docs/device-stats-schema-properties-memdetails-properties-freemb.md +0 -15
  142. package/docs/device-stats-schema-properties-memdetails-properties-usedmb.md +0 -15
  143. package/docs/device-stats-schema-properties-memdetails.md +0 -58
  144. package/docs/device-stats-schema-properties-usedmemorypercentage.md +0 -15
  145. package/docs/device-stats-schema.md +0 -134
  146. package/docs/device-status-schema-properties-devicestats-properties-cpuusage.md +0 -15
  147. package/docs/device-status-schema-properties-devicestats-properties-diskutil.md +0 -15
  148. package/docs/device-status-schema-properties-devicestats-properties-usedmemorypercentage.md +0 -15
  149. package/docs/device-status-schema-properties-devicestats.md +0 -77
  150. package/docs/device-status-schema-properties-messagetype.md +0 -23
  151. package/docs/device-status-schema.md +0 -66
  152. package/docs/live-updates-toggle-schema-properties-applogs-properties-toggle.md +0 -15
  153. package/docs/live-updates-toggle-schema-properties-applogs.md +0 -68
  154. package/docs/live-updates-toggle-schema-properties-appstate.md +0 -15
  155. package/docs/live-updates-toggle-schema-properties-devicestats.md +0 -15
  156. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs-properties-projectid.md +0 -25
  157. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs-properties-toggle.md +0 -15
  158. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs.md +0 -68
  159. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-appstate.md +0 -15
  160. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-devicestats.md +0 -15
  161. package/docs/live-updates-toggle-schema-properties-liveupdatestoggles.md +0 -77
  162. package/docs/live-updates-toggle-schema-properties-messagetype.md +0 -23
  163. package/docs/live-updates-toggle-schema.md +0 -77
  164. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs-properties-projectid.md +0 -25
  165. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs-properties-toggle.md +0 -15
  166. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs.md +0 -68
  167. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-appstate.md +0 -15
  168. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-devicestats.md +0 -15
  169. package/docs/live_updates_toggle_schema-properties-liveupdatestoggles.md +0 -77
  170. package/docs/live_updates_toggle_schema-properties-messagetype.md +0 -23
  171. package/docs/live_updates_toggle_schema.md +0 -66
  172. package/docs/models-install-cloud-response-schema-properties-messagetype.md +0 -23
  173. package/docs/models-install-cloud-response-schema-properties-modelsinstallcloudresponse-properties-projectid.md +0 -25
  174. package/docs/models-install-cloud-response-schema-properties-modelsinstallcloudresponse.md +0 -68
  175. package/docs/models-install-cloud-response-schema.md +0 -66
  176. package/docs/models-install-payload-schema-items-properties-id.md +0 -25
  177. package/docs/models-install-payload-schema-items-properties-modelsignedurl.md +0 -15
  178. package/docs/models-install-payload-schema-items-properties-version.md +0 -15
  179. package/docs/models-install-payload-schema-items.md +0 -87
  180. package/docs/models-install-payload-schema.md +0 -15
  181. package/docs/models-install-response-schema-properties-modelsinstallresponse.md +0 -68
  182. package/docs/models-install-response-schema.md +0 -39
  183. package/docs/models_install_cloud_response_schema-properties-messagetype.md +0 -23
  184. package/docs/models_install_cloud_response_schema-properties-modelsinstallcloudresponse-properties-projectid.md +0 -25
  185. package/docs/models_install_cloud_response_schema-properties-modelsinstallcloudresponse.md +0 -68
  186. package/docs/models_install_cloud_response_schema.md +0 -66
  187. package/docs/models_install_payload_schema-items-properties-id.md +0 -25
  188. package/docs/models_install_payload_schema-items-properties-modelsignedurl.md +0 -15
  189. package/docs/models_install_payload_schema-items-properties-version.md +0 -15
  190. package/docs/models_install_payload_schema-items.md +0 -87
  191. package/docs/models_install_payload_schema.md +0 -15
  192. package/docs/shadow-project-update-schema-properties-appconfig.md +0 -15
  193. package/docs/shadow-project-update-schema-properties-envvars-patternproperties--patternproperties-.md +0 -15
  194. package/docs/shadow-project-update-schema-properties-envvars-patternproperties--patternproperties.md +0 -15
  195. package/docs/shadow-project-update-schema-properties-envvars-patternproperties-.md +0 -39
  196. package/docs/shadow-project-update-schema-properties-envvars-patternproperties.md +0 -15
  197. package/docs/shadow-project-update-schema-properties-envvars.md +0 -44
  198. package/docs/shadow-project-update-schema.md +0 -63
  199. package/docs/shadow-projects-update-all-schema-patternproperties.md +0 -15
  200. package/docs/shadow-projects-update-all-schema-propertynames.md +0 -25
  201. package/docs/shadow-projects-update-all-schema.md +0 -44
  202. package/docs/signed-urls-request-schema-properties-messagetype.md +0 -23
  203. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models-patternproperties-a-za-z0-9_.md +0 -15
  204. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models-patternproperties.md +0 -15
  205. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models.md +0 -39
  206. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-projectid.md +0 -25
  207. package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest.md +0 -68
  208. package/docs/signed-urls-request-schema-properties-signedurlsrequest-properties-appreleasehash.md +0 -25
  209. package/docs/signed-urls-request-schema-properties-signedurlsrequest-properties-projectid.md +0 -25
  210. package/docs/signed-urls-request-schema-properties-signedurlsrequest.md +0 -78
  211. package/docs/signed-urls-request-schema.md +0 -58
  212. package/docs/status-response-schema-properties-message.md +0 -15
  213. package/docs/status-response-schema-properties-status.md +0 -27
  214. package/docs/status-response-schema.md +0 -70
  215. package/docs/system-information-schema-properties-cpu-properties-brand.md +0 -15
  216. package/docs/system-information-schema-properties-cpu-properties-cores.md +0 -15
  217. package/docs/system-information-schema-properties-cpu-properties-efficiencycores.md +0 -15
  218. package/docs/system-information-schema-properties-cpu-properties-manufacturer.md +0 -15
  219. package/docs/system-information-schema-properties-cpu-properties-model.md +0 -15
  220. package/docs/system-information-schema-properties-cpu-properties-physicalcores.md +0 -15
  221. package/docs/system-information-schema-properties-cpu-properties-processors.md +0 -15
  222. package/docs/system-information-schema-properties-cpu-properties-vendor.md +0 -15
  223. package/docs/system-information-schema-properties-cpu.md +0 -172
  224. package/docs/system-information-schema-properties-device-properties-manufacturer.md +0 -15
  225. package/docs/system-information-schema-properties-device-properties-model.md +0 -15
  226. package/docs/system-information-schema-properties-device-properties-serial.md +0 -15
  227. package/docs/system-information-schema-properties-device-properties-version.md +0 -15
  228. package/docs/system-information-schema-properties-device-properties-virtual.md +0 -15
  229. package/docs/system-information-schema-properties-device.md +0 -115
  230. package/docs/system-information-schema-properties-disk-properties-drives-items-properties-device.md +0 -15
  231. package/docs/system-information-schema-properties-disk-properties-drives-items-properties-name.md +0 -15
  232. package/docs/system-information-schema-properties-disk-properties-drives-items-properties-size.md +0 -15
  233. package/docs/system-information-schema-properties-disk-properties-drives-items-properties-type.md +0 -15
  234. package/docs/system-information-schema-properties-disk-properties-drives-items-properties-vendor.md +0 -15
  235. package/docs/system-information-schema-properties-disk-properties-drives-items.md +0 -115
  236. package/docs/system-information-schema-properties-disk-properties-drives.md +0 -15
  237. package/docs/system-information-schema-properties-disk.md +0 -39
  238. package/docs/system-information-schema-properties-network-properties-ipv4address.md +0 -15
  239. package/docs/system-information-schema-properties-network-properties-ipv6address.md +0 -15
  240. package/docs/system-information-schema-properties-network-properties-macaddress.md +0 -15
  241. package/docs/system-information-schema-properties-network.md +0 -77
  242. package/docs/system-information-schema-properties-os-properties-architecture.md +0 -15
  243. package/docs/system-information-schema-properties-os-properties-distro.md +0 -15
  244. package/docs/system-information-schema-properties-os-properties-hostname.md +0 -15
  245. package/docs/system-information-schema-properties-os-properties-kernel.md +0 -15
  246. package/docs/system-information-schema-properties-os-properties-platform.md +0 -15
  247. package/docs/system-information-schema-properties-os-properties-release.md +0 -15
  248. package/docs/system-information-schema-properties-os.md +0 -134
  249. package/docs/system-information-schema-properties-versions-properties-agent.md +0 -15
  250. package/docs/system-information-schema-properties-versions-properties-deviceagentschemas.md +0 -15
  251. package/docs/system-information-schema-properties-versions.md +0 -58
  252. package/docs/system-information-schema.md +0 -134
  253. package/docs/to-client-message-schema-allof-0-if-properties-messagetype.md +0 -23
  254. package/docs/to-client-message-schema-allof-0-if-properties.md +0 -15
  255. package/docs/to-client-message-schema-allof-0-if.md +0 -47
  256. package/docs/to-client-message-schema-allof-0-then-properties.md +0 -15
  257. package/docs/to-client-message-schema-allof-0-then.md +0 -39
  258. package/docs/to-client-message-schema-allof-0.md +0 -15
  259. package/docs/to-client-message-schema-allof-1-if-properties-messagetype.md +0 -23
  260. package/docs/to-client-message-schema-allof-1-if-properties.md +0 -15
  261. package/docs/to-client-message-schema-allof-1-if.md +0 -47
  262. package/docs/to-client-message-schema-allof-1-then-properties.md +0 -15
  263. package/docs/to-client-message-schema-allof-1-then.md +0 -39
  264. package/docs/to-client-message-schema-allof-1.md +0 -15
  265. package/docs/to-client-message-schema-allof-2-if-properties-messagetype.md +0 -23
  266. package/docs/to-client-message-schema-allof-2-if-properties.md +0 -15
  267. package/docs/to-client-message-schema-allof-2-if.md +0 -47
  268. package/docs/to-client-message-schema-allof-2-then-properties.md +0 -15
  269. package/docs/to-client-message-schema-allof-2-then.md +0 -39
  270. package/docs/to-client-message-schema-allof-2.md +0 -15
  271. package/docs/to-client-message-schema-allof-3-if-properties-messagetype.md +0 -23
  272. package/docs/to-client-message-schema-allof-3-if-properties.md +0 -15
  273. package/docs/to-client-message-schema-allof-3-if.md +0 -47
  274. package/docs/to-client-message-schema-allof-3-then-properties.md +0 -15
  275. package/docs/to-client-message-schema-allof-3-then.md +0 -39
  276. package/docs/to-client-message-schema-allof-3.md +0 -15
  277. package/docs/to-client-message-schema-defs-toclient.md +0 -25
  278. package/docs/to-client-message-schema-defs.md +0 -15
  279. package/docs/to-client-message-schema-properties-deviceid.md +0 -15
  280. package/docs/to-client-message-schema-properties-messagetype.md +0 -26
  281. package/docs/to-client-message-schema-properties-payload.md +0 -25
  282. package/docs/to-client-message-schema-properties-timestamp.md +0 -15
  283. package/docs/to-client-message-schema-properties-topic-oneof-0.md +0 -25
  284. package/docs/to-client-message-schema-properties-topic.md +0 -19
  285. package/docs/to-client-message-schema.md +0 -196
  286. package/docs/to-cloud-message-schema-allof-0-if-properties-messagetype.md +0 -23
  287. package/docs/to-cloud-message-schema-allof-0-if-properties.md +0 -15
  288. package/docs/to-cloud-message-schema-allof-0-if.md +0 -47
  289. package/docs/to-cloud-message-schema-allof-0-then-properties.md +0 -15
  290. package/docs/to-cloud-message-schema-allof-0-then.md +0 -39
  291. package/docs/to-cloud-message-schema-allof-0.md +0 -15
  292. package/docs/to-cloud-message-schema-defs-tocloud.md +0 -25
  293. package/docs/to-cloud-message-schema-defs.md +0 -15
  294. package/docs/to-cloud-message-schema-properties-deviceid.md +0 -15
  295. package/docs/to-cloud-message-schema-properties-messagetype.md +0 -23
  296. package/docs/to-cloud-message-schema-properties-payload.md +0 -19
  297. package/docs/to-cloud-message-schema-properties-timestamp.md +0 -15
  298. package/docs/to-cloud-message-schema-properties-topic-oneof-0.md +0 -25
  299. package/docs/to-cloud-message-schema-properties-topic.md +0 -19
  300. package/docs/to-cloud-message-schema.md +0 -181
  301. package/docs/to-device-agent-message-schema-allof-0-if-properties-messagetype.md +0 -23
  302. package/docs/to-device-agent-message-schema-allof-0-if-properties.md +0 -15
  303. package/docs/to-device-agent-message-schema-allof-0-if.md +0 -47
  304. package/docs/to-device-agent-message-schema-allof-0-then-properties.md +0 -15
  305. package/docs/to-device-agent-message-schema-allof-0-then.md +0 -39
  306. package/docs/to-device-agent-message-schema-allof-0.md +0 -15
  307. package/docs/to-device-agent-message-schema-allof-1-if-properties-messagetype.md +0 -23
  308. package/docs/to-device-agent-message-schema-allof-1-if-properties.md +0 -15
  309. package/docs/to-device-agent-message-schema-allof-1-if.md +0 -47
  310. package/docs/to-device-agent-message-schema-allof-1-then-properties.md +0 -15
  311. package/docs/to-device-agent-message-schema-allof-1-then.md +0 -45
  312. package/docs/to-device-agent-message-schema-allof-1.md +0 -15
  313. package/docs/to-device-agent-message-schema-allof-2-if-properties-messagetype.md +0 -23
  314. package/docs/to-device-agent-message-schema-allof-2-if-properties.md +0 -15
  315. package/docs/to-device-agent-message-schema-allof-2-if.md +0 -47
  316. package/docs/to-device-agent-message-schema-allof-2-then-properties.md +0 -15
  317. package/docs/to-device-agent-message-schema-allof-2-then.md +0 -39
  318. package/docs/to-device-agent-message-schema-allof-2.md +0 -15
  319. package/docs/to-device-agent-message-schema-allof-3-if-properties-messagetype.md +0 -23
  320. package/docs/to-device-agent-message-schema-allof-3-if-properties.md +0 -15
  321. package/docs/to-device-agent-message-schema-allof-3-if.md +0 -47
  322. package/docs/to-device-agent-message-schema-allof-3-then-properties.md +0 -15
  323. package/docs/to-device-agent-message-schema-allof-3-then.md +0 -39
  324. package/docs/to-device-agent-message-schema-allof-3.md +0 -15
  325. package/docs/to-device-agent-message-schema-allof-4-if-properties-messagetype.md +0 -23
  326. package/docs/to-device-agent-message-schema-allof-4-if-properties.md +0 -15
  327. package/docs/to-device-agent-message-schema-allof-4-if.md +0 -47
  328. package/docs/to-device-agent-message-schema-allof-4-then-properties.md +0 -15
  329. package/docs/to-device-agent-message-schema-allof-4-then.md +0 -39
  330. package/docs/to-device-agent-message-schema-allof-4.md +0 -15
  331. package/docs/to-device-agent-message-schema-allof-5-if-properties-messagetype.md +0 -23
  332. package/docs/to-device-agent-message-schema-allof-5-if-properties.md +0 -15
  333. package/docs/to-device-agent-message-schema-allof-5-if.md +0 -47
  334. package/docs/to-device-agent-message-schema-allof-5-then-properties.md +0 -15
  335. package/docs/to-device-agent-message-schema-allof-5-then.md +0 -39
  336. package/docs/to-device-agent-message-schema-allof-5.md +0 -15
  337. package/docs/to-device-agent-message-schema-allof-6-if-properties-messagetype.md +0 -23
  338. package/docs/to-device-agent-message-schema-allof-6-if-properties.md +0 -15
  339. package/docs/to-device-agent-message-schema-allof-6-if.md +0 -47
  340. package/docs/to-device-agent-message-schema-allof-6-then-properties.md +0 -15
  341. package/docs/to-device-agent-message-schema-allof-6-then.md +0 -39
  342. package/docs/to-device-agent-message-schema-allof-6.md +0 -15
  343. package/docs/to-device-agent-message-schema-defs-todevice.md +0 -25
  344. package/docs/to-device-agent-message-schema-defs.md +0 -15
  345. package/docs/to-device-agent-message-schema-properties-messagetype.md +0 -29
  346. package/docs/to-device-agent-message-schema-properties-payload.md +0 -35
  347. package/docs/to-device-agent-message-schema-properties-timestamp.md +0 -15
  348. package/docs/to-device-agent-message-schema-properties-topic.md +0 -25
  349. package/docs/to-device-agent-message-schema.md +0 -202
  350. package/jest.config.js +0 -3
  351. package/lib/app-action-schema.d.ts.map +0 -1
  352. package/lib/app-action-schema.js.map +0 -1
  353. package/lib/app-logs-schema.d.ts.map +0 -1
  354. package/lib/app-logs-schema.js.map +0 -1
  355. package/lib/app-state-schema.d.ts.map +0 -1
  356. package/lib/app-state-schema.js.map +0 -1
  357. package/lib/constants.d.ts.map +0 -1
  358. package/lib/constants.js.map +0 -1
  359. package/lib/device-action-schema.d.ts.map +0 -1
  360. package/lib/device-action-schema.js.map +0 -1
  361. package/lib/device-agent-action-schema.d.ts.map +0 -1
  362. package/lib/device-agent-action-schema.js.map +0 -1
  363. package/lib/device-stats-schema.d.ts.map +0 -1
  364. package/lib/device-stats-schema.js.map +0 -1
  365. package/lib/index.d.ts.map +0 -1
  366. package/lib/index.js.map +0 -1
  367. package/lib/message-builders.d.ts.map +0 -1
  368. package/lib/message-builders.js.map +0 -1
  369. package/lib/shadow-schema.d.ts.map +0 -1
  370. package/lib/shadow-schema.js.map +0 -1
  371. package/lib/signed-urls-request-schema.d.ts.map +0 -1
  372. package/lib/signed-urls-request-schema.js.map +0 -1
  373. package/lib/status-response-schema.d.ts.map +0 -1
  374. package/lib/status-response-schema.js.map +0 -1
  375. package/lib/types.d.ts.map +0 -1
  376. package/lib/types.js.map +0 -1
  377. package/lib/utils.d.ts.map +0 -1
  378. package/lib/utils.js.map +0 -1
  379. package/src/app-action-schema.ts +0 -71
  380. package/src/app-logs-schema.ts +0 -13
  381. package/src/app-state-schema.ts +0 -27
  382. package/src/constants.ts +0 -140
  383. package/src/device-action-schema.ts +0 -11
  384. package/src/device-agent-action-schema.ts +0 -17
  385. package/src/device-stats-schema.ts +0 -33
  386. package/src/index.ts +0 -182
  387. package/src/message-builders.ts +0 -263
  388. package/src/schemas/app-install-response-schema.json +0 -41
  389. package/src/schemas/app-install-schema.json +0 -20
  390. package/src/schemas/app-logs-schema.json +0 -16
  391. package/src/schemas/app-state-control-schema.json +0 -17
  392. package/src/schemas/app-state-schema.json +0 -49
  393. package/src/schemas/app-uninstall-schema.json +0 -17
  394. package/src/schemas/app-version-control-schema.json +0 -14
  395. package/src/schemas/common-schema.json +0 -27
  396. package/src/schemas/device-action-schema.json +0 -14
  397. package/src/schemas/device-stats-schema.json +0 -58
  398. package/src/schemas/live-updates-toggle-schema.json +0 -29
  399. package/src/schemas/models-install-payload-schema.json +0 -22
  400. package/src/schemas/models-install-response-schema.json +0 -23
  401. package/src/schemas/shadow-project-update-schema.json +0 -30
  402. package/src/schemas/shadow-projects-update-all-schema.json +0 -17
  403. package/src/schemas/signed-urls-request-schema.json +0 -42
  404. package/src/schemas/status-response-schema.json +0 -16
  405. package/src/schemas/system-information-schema.json +0 -155
  406. package/src/schemas/to-client-message-schema.json +0 -98
  407. package/src/schemas/to-cloud-message-schema.json +0 -56
  408. package/src/schemas/to-device-agent-message-schema.json +0 -135
  409. package/src/shadow-schema.ts +0 -177
  410. package/src/signed-urls-request-schema.ts +0 -22
  411. package/src/status-response-schema.ts +0 -18
  412. package/src/types.ts +0 -175
  413. package/src/utils.ts +0 -21
  414. package/tests/constants.test.ts +0 -41
  415. package/tests/shadow-schema.test.ts +0 -171
  416. package/tests/types.test.ts +0 -515
  417. package/tsconfig.build.json +0 -4
  418. package/tsconfig.eslint.json +0 -5
  419. package/tsconfig.json +0 -91
package/LICENSE ADDED
@@ -0,0 +1,12 @@
1
+ Copyright (C) alwaysAI, Inc - All Rights Reserved
2
+
3
+ Use of this source and application via any medium is strictly prohibited if you
4
+ are not an alwaysAI commercial customer in good standing
5
+
6
+ alwaysAI retains copyright to the source and any derivations thereof
7
+
8
+ This license file must always be included with the source of this project
9
+
10
+ Proprietary and confidential
11
+
12
+ Written by alwaysAI developers <dev@alwaysai.co>, 2024
package/README.md CHANGED
@@ -50,4 +50,15 @@ You can also incorporated the provided validation methods to ensure that incomin
50
50
  ## System Requirements
51
51
 
52
52
  * `npm` >= 7.0.0
53
- * `node` >= 16.0.0
53
+ * `node` >= 16.0.0
54
+
55
+ # Release Process
56
+
57
+ > **NOTE**: Ensure unit tests are passing and new functionality is verified prior to release!
58
+
59
+ ## Release procedure
60
+ To release the package to [npmjs.org](https://www.npmjs.com/package/@alwaysai/device-agent-schemas) follow the steps:
61
+
62
+ - publish new version: <code>npm run publish:<major|minor|patch></code>
63
+ - watch the [bitbucket pipeline](https://bitbucket.org/alwaysai/device-agent-schemas/pipelines) running, if successful a new version will be created and published to npmjs.org
64
+ - to get the auto-generated commit and tags, simply pull: <code>git pull</code>
package/lib/index.d.ts CHANGED
@@ -10,6 +10,6 @@ import { StatusResponsePayload, ToClientStatusResponseMessage, ToDeviceStatusRes
10
10
  import { SignedUrlsRequestPayload, SignedUrlsRequestMessage } from './signed-urls-request-schema';
11
11
  import { DeviceActionPayload } from './device-action-schema';
12
12
  import { buildAppLogsMessage, buildAppStateMessage, buildAppVersionControlMessage, buildLiveStateUpdatesToggleMessage, buildAppStateControlMessage, buildDeviceActionMessage, buildDeviceStatsMessage, buildSignedUrlsRequestMessage, buildToClientStatusResponseMessage, buildToDeviceStatusResponseMessage } from './message-builders';
13
- import { ProjectShadowUpdate, ShadowProjectsUpdateAll, validateProjectShadowUpdate, validateShadowProjectsUpdateAll, SystemInformationShadowUpdate, validateSystemInformationShadowUpdate, buildBaseShadowMessage, buildUpdateProjectShadowMessage, buildUpdateSystemInfoShadowMessage, ShadowTopics, ShadowNames, getShadowTopic, getDesiredFromMessage } from './shadow-schema';
14
- export { getToClientTopic, getToCloudTopic, getToDeviceTopic, getShadowTopic, getDesiredFromMessage, AppDetails, ServiceStatus, AppState, AppStateControlValue, AppStateValue, ProjectShadowUpdate, ShadowProjectsUpdateAll, SystemInformationShadowUpdate, ToCloudMessageTypeValue, AppStateControlMessageType, AppLogsMessageType, DeviceStatsMessageType, AppStateMessageType, SignedUrlsRequestMessageType, StatusResponseMessageType, ModelInstallPayload, ToClientStatusResponseMessage, ToDeviceStatusResponseMessage, StatusResponseValue, AppStateControlMessage, LiveStateUpdatesTogglePayload, LiveStateUpdatesToggleMessage, DeviceStatsPayload, DeviceStatsMessage, AppStatePayload, AppStateMessage, AppLogsPayload, AppLogsMessage, StatusResponsePayload, AppStateControlPayload, AppVersionControlInstallPayload, AppVersionControlUninstallPayload, AppVersionControlMessage, AppInstallResponsePayload, ModelsInstallResponsePayload, SignedUrlsRequestPayload, SignedUrlsRequestMessage, BaseToDeviceAgentMessage, ToDeviceAgentMessage, ToDeviceAgentMessagePayload, ToDeviceAgentMessageTypeValue, BaseToClientMessage, ToClientMessage, ToClientMessagePayload, ToClientMessageTypeValue, BaseToCloudMessage, ToCloudMessage, ToCloudMessagePayload, DeviceActionPayload, validateToDeviceAgentMessage, validateToClientMessage, validateToCloudMessage, validateShadowProjectsUpdateAll, validateProjectShadowUpdate, validateSystemInformationShadowUpdate, buildAppLogsMessage, buildAppStateMessage, buildDeviceStatsMessage, buildSignedUrlsRequestMessage, buildToClientStatusResponseMessage, buildToDeviceStatusResponseMessage, buildAppVersionControlMessage, buildLiveStateUpdatesToggleMessage, buildAppStateControlMessage, buildDeviceActionMessage, buildBaseShadowMessage, buildUpdateProjectShadowMessage, buildUpdateSystemInfoShadowMessage, keyMirrors, ShadowTopics, ShadowNames, generateTxId };
13
+ import { ProjectShadowUpdate, ShadowProjectsUpdateAll, validateProjectShadowUpdate, validateShadowProjectsUpdateAll, SystemInformationShadowUpdate, SecureTunnelPortInfo, SecureTunnelShadowDescriptionReported, validateSecureTunnelShadowUpdate, validateSystemInformationShadowUpdate, buildBaseShadowMessage, buildUpdateProjectShadowMessage, buildUpdateSystemInfoShadowMessage, buildUpdateSecureTunnelShadowMessage, ShadowTopics, ShadowNames, getShadowTopic, getDesiredFromMessage } from './shadow-schema';
14
+ export { getToClientTopic, getToCloudTopic, getToDeviceTopic, getShadowTopic, getDesiredFromMessage, AppDetails, ServiceStatus, AppState, AppStateControlValue, AppStateValue, ProjectShadowUpdate, ShadowProjectsUpdateAll, SystemInformationShadowUpdate, SecureTunnelPortInfo, SecureTunnelShadowDescriptionReported, ToCloudMessageTypeValue, AppStateControlMessageType, AppLogsMessageType, DeviceStatsMessageType, AppStateMessageType, SignedUrlsRequestMessageType, StatusResponseMessageType, ModelInstallPayload, ToClientStatusResponseMessage, ToDeviceStatusResponseMessage, StatusResponseValue, AppStateControlMessage, LiveStateUpdatesTogglePayload, LiveStateUpdatesToggleMessage, DeviceStatsPayload, DeviceStatsMessage, AppStatePayload, AppStateMessage, AppLogsPayload, AppLogsMessage, StatusResponsePayload, AppStateControlPayload, AppVersionControlInstallPayload, AppVersionControlUninstallPayload, AppVersionControlMessage, AppInstallResponsePayload, ModelsInstallResponsePayload, SignedUrlsRequestPayload, SignedUrlsRequestMessage, BaseToDeviceAgentMessage, ToDeviceAgentMessage, ToDeviceAgentMessagePayload, ToDeviceAgentMessageTypeValue, BaseToClientMessage, ToClientMessage, ToClientMessagePayload, ToClientMessageTypeValue, BaseToCloudMessage, ToCloudMessage, ToCloudMessagePayload, DeviceActionPayload, validateToDeviceAgentMessage, validateToClientMessage, validateToCloudMessage, validateShadowProjectsUpdateAll, validateProjectShadowUpdate, validateSystemInformationShadowUpdate, validateSecureTunnelShadowUpdate, buildAppLogsMessage, buildAppStateMessage, buildDeviceStatsMessage, buildSignedUrlsRequestMessage, buildToClientStatusResponseMessage, buildToDeviceStatusResponseMessage, buildAppVersionControlMessage, buildLiveStateUpdatesToggleMessage, buildAppStateControlMessage, buildDeviceActionMessage, buildBaseShadowMessage, buildUpdateProjectShadowMessage, buildUpdateSystemInfoShadowMessage, buildUpdateSecureTunnelShadowMessage, keyMirrors, ShadowTopics, ShadowNames, generateTxId };
15
15
  //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateTxId = exports.ShadowTopics = exports.keyMirrors = exports.buildUpdateSystemInfoShadowMessage = exports.buildUpdateProjectShadowMessage = exports.buildBaseShadowMessage = exports.buildDeviceActionMessage = exports.buildAppStateControlMessage = exports.buildLiveStateUpdatesToggleMessage = exports.buildAppVersionControlMessage = exports.buildToDeviceStatusResponseMessage = exports.buildToClientStatusResponseMessage = exports.buildSignedUrlsRequestMessage = exports.buildDeviceStatsMessage = exports.buildAppStateMessage = exports.buildAppLogsMessage = exports.validateSystemInformationShadowUpdate = exports.validateProjectShadowUpdate = exports.validateShadowProjectsUpdateAll = exports.validateToCloudMessage = exports.validateToClientMessage = exports.validateToDeviceAgentMessage = exports.getDesiredFromMessage = exports.getShadowTopic = exports.getToDeviceTopic = exports.getToCloudTopic = exports.getToClientTopic = void 0;
3
+ exports.generateTxId = exports.ShadowTopics = exports.keyMirrors = exports.buildUpdateSecureTunnelShadowMessage = exports.buildUpdateSystemInfoShadowMessage = exports.buildUpdateProjectShadowMessage = exports.buildBaseShadowMessage = exports.buildDeviceActionMessage = exports.buildAppStateControlMessage = exports.buildLiveStateUpdatesToggleMessage = exports.buildAppVersionControlMessage = exports.buildToDeviceStatusResponseMessage = exports.buildToClientStatusResponseMessage = exports.buildSignedUrlsRequestMessage = exports.buildDeviceStatsMessage = exports.buildAppStateMessage = exports.buildAppLogsMessage = exports.validateSecureTunnelShadowUpdate = exports.validateSystemInformationShadowUpdate = exports.validateProjectShadowUpdate = exports.validateShadowProjectsUpdateAll = exports.validateToCloudMessage = exports.validateToClientMessage = exports.validateToDeviceAgentMessage = exports.getDesiredFromMessage = exports.getShadowTopic = exports.getToDeviceTopic = exports.getToCloudTopic = exports.getToClientTopic = void 0;
4
4
  // export types here
5
5
  const types_1 = require("./types");
6
6
  Object.defineProperty(exports, "validateToDeviceAgentMessage", { enumerable: true, get: function () { return types_1.validateToDeviceAgentMessage; } });
@@ -27,10 +27,12 @@ Object.defineProperty(exports, "buildToDeviceStatusResponseMessage", { enumerabl
27
27
  const shadow_schema_1 = require("./shadow-schema");
28
28
  Object.defineProperty(exports, "validateProjectShadowUpdate", { enumerable: true, get: function () { return shadow_schema_1.validateProjectShadowUpdate; } });
29
29
  Object.defineProperty(exports, "validateShadowProjectsUpdateAll", { enumerable: true, get: function () { return shadow_schema_1.validateShadowProjectsUpdateAll; } });
30
+ Object.defineProperty(exports, "validateSecureTunnelShadowUpdate", { enumerable: true, get: function () { return shadow_schema_1.validateSecureTunnelShadowUpdate; } });
30
31
  Object.defineProperty(exports, "validateSystemInformationShadowUpdate", { enumerable: true, get: function () { return shadow_schema_1.validateSystemInformationShadowUpdate; } });
31
32
  Object.defineProperty(exports, "buildBaseShadowMessage", { enumerable: true, get: function () { return shadow_schema_1.buildBaseShadowMessage; } });
32
33
  Object.defineProperty(exports, "buildUpdateProjectShadowMessage", { enumerable: true, get: function () { return shadow_schema_1.buildUpdateProjectShadowMessage; } });
33
34
  Object.defineProperty(exports, "buildUpdateSystemInfoShadowMessage", { enumerable: true, get: function () { return shadow_schema_1.buildUpdateSystemInfoShadowMessage; } });
35
+ Object.defineProperty(exports, "buildUpdateSecureTunnelShadowMessage", { enumerable: true, get: function () { return shadow_schema_1.buildUpdateSecureTunnelShadowMessage; } });
34
36
  Object.defineProperty(exports, "ShadowTopics", { enumerable: true, get: function () { return shadow_schema_1.ShadowTopics; } });
35
37
  Object.defineProperty(exports, "getShadowTopic", { enumerable: true, get: function () { return shadow_schema_1.getShadowTopic; } });
36
38
  Object.defineProperty(exports, "getDesiredFromMessage", { enumerable: true, get: function () { return shadow_schema_1.getDesiredFromMessage; } });
@@ -0,0 +1,30 @@
1
+ {
2
+ "$id": "https://alwaysai.co/secure-tunnel-schema.json",
3
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
4
+ "title": "secure-tunnel",
5
+ "type": "object",
6
+ "properties": {
7
+ "st_ports": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "enabled": {
13
+ "type": "boolean"
14
+ },
15
+ "type": {
16
+ "type": "string"
17
+ },
18
+ "ip": {
19
+ "type": "string"
20
+ },
21
+ "port": {
22
+ "type": "number"
23
+ }
24
+ }
25
+ }
26
+ }
27
+ },
28
+ "required": ["st_ports"],
29
+ "additionalProperties": false
30
+ }
@@ -18,7 +18,7 @@ declare const ShadowNames: {
18
18
  'secure-tunnel': "secure-tunnel";
19
19
  };
20
20
  export declare type ShadowNames = keyof typeof ShadowNames;
21
- export declare const SHADOW_NAMES: ("projects" | "system-info" | "secure-tunnel")[];
21
+ export declare const SHADOW_NAMES: ("secure-tunnel" | "projects" | "system-info")[];
22
22
  export declare const getShadowTopic: (clientId: string, shadowName: ShadowNames, shadowTopic: ShadowTopics) => string;
23
23
  export interface ProjectShadowUpdate {
24
24
  appConfig?: string;
@@ -84,6 +84,16 @@ export interface SystemInformationShadowUpdate {
84
84
  lastBootTime?: string;
85
85
  }
86
86
  export declare const validateSystemInformationShadowUpdate: import("ajv/dist/types").ValidateFunction<SystemInformationShadowUpdate>;
87
+ export declare type SecureTunnelPortInfo = {
88
+ enabled: boolean;
89
+ type: string;
90
+ ip: string;
91
+ port: number;
92
+ };
93
+ export declare type SecureTunnelShadowDescriptionReported = {
94
+ st_ports: SecureTunnelPortInfo[];
95
+ };
96
+ export declare const validateSecureTunnelShadowUpdate: import("ajv/dist/types").ValidateFunction<SecureTunnelShadowDescriptionReported>;
87
97
  export declare function buildBaseShadowMessage(clientId: string): {
88
98
  clientToken: string;
89
99
  };
@@ -105,5 +115,11 @@ export declare function buildUpdateSystemInfoShadowMessage(clientId: string, sys
105
115
  };
106
116
  clientToken: string;
107
117
  };
118
+ export declare function buildUpdateSecureTunnelShadowMessage(reported: SecureTunnelShadowDescriptionReported, clientId: string): {
119
+ state: {
120
+ reported: SecureTunnelShadowDescriptionReported;
121
+ };
122
+ clientToken: string;
123
+ };
108
124
  export {};
109
125
  //# sourceMappingURL=shadow-schema.d.ts.map
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildUpdateSystemInfoShadowMessage = exports.buildUpdateProjectShadowMessage = exports.buildBaseShadowMessage = exports.validateSystemInformationShadowUpdate = exports.getDesiredFromMessage = exports.validateShadowProjectsUpdateAll = exports.validateProjectShadowUpdate = exports.getShadowTopic = exports.SHADOW_NAMES = exports.SHADOW_TOPICS = exports.ShadowTopics = void 0;
3
+ exports.buildUpdateSecureTunnelShadowMessage = exports.buildUpdateSystemInfoShadowMessage = exports.buildUpdateProjectShadowMessage = exports.buildBaseShadowMessage = exports.validateSecureTunnelShadowUpdate = exports.validateSystemInformationShadowUpdate = exports.getDesiredFromMessage = exports.validateShadowProjectsUpdateAll = exports.validateProjectShadowUpdate = exports.getShadowTopic = exports.SHADOW_NAMES = exports.SHADOW_TOPICS = exports.ShadowTopics = void 0;
4
4
  const _2019_1 = require("ajv/dist/2019");
5
5
  const shadowProjectsUpdateAllSchema = require("./schemas/shadow-projects-update-all-schema.json");
6
6
  const shadowProjectUpdateSchema = require("./schemas/shadow-project-update-schema.json");
7
7
  const systemInformationSchema = require("./schemas/system-information-schema.json");
8
+ const secureTunnelSchema = require("./schemas/secure-tunnel-schema.json");
8
9
  const commonSchema = require("./schemas/common-schema.json");
9
10
  const utils_1 = require("./utils");
10
11
  const ajv = new _2019_1.default({
@@ -52,6 +53,8 @@ function getDesiredFromMessage(message) {
52
53
  exports.getDesiredFromMessage = getDesiredFromMessage;
53
54
  ajv.addSchema(systemInformationSchema, 'system-information-schema.json');
54
55
  exports.validateSystemInformationShadowUpdate = ajv.compile(systemInformationSchema);
56
+ ajv.addSchema(secureTunnelSchema, 'secure-tunnel-schema.json');
57
+ exports.validateSecureTunnelShadowUpdate = ajv.compile(secureTunnelSchema);
55
58
  /* ============================================================================
56
59
  Shadow Message Builders
57
60
  ============================================================================ */
@@ -72,4 +75,9 @@ function buildUpdateSystemInfoShadowMessage(clientId, systemInfo) {
72
75
  return buildUpdateProjectShadowMessage({ clientId, reported: systemInfo });
73
76
  }
74
77
  exports.buildUpdateSystemInfoShadowMessage = buildUpdateSystemInfoShadowMessage;
78
+ function buildUpdateSecureTunnelShadowMessage(reported, clientId) {
79
+ const message = Object.assign(Object.assign({}, buildBaseShadowMessage(clientId)), { state: { reported } });
80
+ return message;
81
+ }
82
+ exports.buildUpdateSecureTunnelShadowMessage = buildUpdateSecureTunnelShadowMessage;
75
83
  //# sourceMappingURL=shadow-schema.js.map
package/package.json CHANGED
@@ -1,25 +1,35 @@
1
1
  {
2
2
  "name": "@alwaysai/device-agent-schemas",
3
3
  "description": "alwaysAI schemas",
4
- "version": "2.3.2",
4
+ "version": "2.3.4",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
+ "files": [
8
+ "lib/**/*.js",
9
+ "lib/**/*.d.ts",
10
+ "lib/**/*.json"
11
+ ],
7
12
  "engines": {
8
13
  "npm": ">=7.0.0",
9
14
  "node": ">=16.0.0"
10
15
  },
11
16
  "scripts": {
12
17
  "build": "tsc --project tsconfig.build.json",
13
- "clean": "rimraf lib packages",
14
18
  "build:clean": "npm run clean && npm run build",
15
19
  "build:watch": "tsc --project . --watch",
20
+ "clean": "rimraf lib packages coverage",
21
+ "gen-docs": "mkdir -p docs && jsonschema2md -o docs -d src/schemas -e json",
16
22
  "lint": "eslint . --ext .ts",
17
23
  "lint:fix": "npm run lint -- --fix",
18
- "test": "npm run test:unit",
19
- "test:unit": "npm run lint && jest --coverage --testPathPattern='./tests'",
24
+ "test": "npm run lint && npm run test:unit && npm run build:clean",
20
25
  "test:ci": "npm run lint && npm run build && npm run test:unit",
21
- "preversion": "npm test && npm run build:clean",
22
- "gen-docs": "mkdir -p docs && jsonschema2md -o docs -d src/schemas -e json"
26
+ "test:unit": "jest --coverage --testPathPattern='./tests/'",
27
+ "test:watch": "npm run test:unit -- --watch",
28
+ "preversion": "npm test",
29
+ "postversion": "npm publish",
30
+ "publish:major": "git push && git tag -f major && git push -f origin major && git tag -d major",
31
+ "publish:minor": "git push && git tag -f minor && git push -f origin minor && git tag -d minor",
32
+ "publish:patch": "git push && git tag -f patch && git push -f origin patch && git tag -d patch"
23
33
  },
24
34
  "dependencies": {
25
35
  "ajv": "8.11.0",
package/.eslintignore DELETED
@@ -1,4 +0,0 @@
1
- node_modules
2
- dist
3
- lib
4
- *.d.ts
package/.eslintrc DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "extends": [
3
- "@alwaysai/eslint-config"
4
- ],
5
- "overrides": [
6
- {
7
- "files": ["**/*.test.ts"],
8
- "parserOptions": {
9
- "project": "./tsconfig.eslint.json"
10
- },
11
- "env": { "jest": true }
12
- }
13
- ]
14
- }
package/.node-version DELETED
@@ -1 +0,0 @@
1
- 20.12.2
@@ -1,10 +0,0 @@
1
- image: node
2
-
3
- pipelines:
4
- default:
5
- - parallel:
6
- - step:
7
- name: 'Install, build, lint, and run unit tests'
8
- script:
9
- - npm install
10
- - npm run test:unit
package/development.md DELETED
@@ -1,53 +0,0 @@
1
- # Overview
2
- The interfaces and schemas for each sub-packet can be found in `src/schemas`. The schemas are imported into `types.ts` and the overall JSONSchemaType as well as the sub-types are created, as are the validation methods. Validation methods are used to type-guard incoming messages, while the interfaces are used to type-guard at development time. This repository is configured as an `npm` package -- while under local development you can use `npm instal --save` along with the path to this repo to use it with the device agent.
3
-
4
- # Naming Conventions
5
- Below is an outline of the general interface structure.
6
-
7
- const message: xxxxMessage = {
8
- ....,
9
- messageType: [`DeviceAgentMessageTypeValue` or `ClientMessageTypeValue`],
10
- payload: xxxxMessagePayload : {
11
- [type lowercase]: [type is the mirror of the key (uppercase)]
12
- }
13
- }
14
-
15
-
16
- ## Upper Level
17
- The upper level content has the suffix `Message`. This is in keeping with the convention of having the content delivered on MQTT be the 'message'.
18
-
19
- ## Message Payload
20
- Each of the `Message` packets have a 'payload', and these sub-packets are one of the following for `DeviceAgentMessage`:
21
- - AppStateControlPayload
22
- - AppVersionControlPayload
23
- - LiveUpdatesTogglePayload
24
- - AppInstallCloudResponsePayload
25
- - ModelsInstallCloudResponsePayload
26
-
27
- For `ClientMessage`, the 'payload' field must be one of the following:
28
- - AppLogsPayload
29
- - StatusResponsePayload
30
- - AppStatePayload
31
- - DeviceStatsPayload
32
- - SignedUrlsRequestPayload
33
-
34
- For all packets, there is a `messageType` field, whose entry helps identify the contents. This field can be used to distinguish which message has been sent, such as in a conditional block. For `ClientMessage`packets, this field is one of `ClientMessageTypeValue` entries and for `DeviceAgentMessage` packets, it is one of `DeviceAgentMessageTypeValue` entries.
35
-
36
- ## Message Payload Contents
37
- Additionally, each 'payload' object contains a key that corresponds to the actual useful contents of the 'payload'. The name of the key indicates what type of contents these are.
38
-
39
- For instance, the `AppLogsPayload` type has a `messageType`, which is of type `app_logs`, as well as a key `appLogs`, which is of type `AppLogs`.
40
-
41
- # To Create New Schemas and Validation Methods
42
- To create a new message type, create a new `.ts` file in `src/schemas` and create the sub-schema and a corresponding `interface`. If you are using patterns or enums, you can add these to the `src/constants` file and import them as needed. You can them import the schemas into `types.ts` and modify the main schema's `payload` property's `oneOf` list to include the new type. You can then compile a new validation method against the new schema using your newly defined type. You may need to add the schema to the `ajv` instance, however this shouldn't be necessary if the main schema is referencing the new sub-schema. More notes on the development of this repo can be found here: https://alwaysai.atlassian.net/l/c/RdjVyG1d
43
-
44
- # Development Practices
45
- There are a few development practices we have been using to help keep the schema components modular and re-usable, as well as easy to change.
46
- 1. Look in `src/constants.ts` and `src/schemas/common-schema.ts` to see if there are any components to re-use, such as the `projectId` schema or `releaseHash` schema. If you develop a component that could be used across multiple schemas, please put it in `src/schemas/common-schema.ts` and then use `$ref` to incorporate it into larger schemas.
47
- 2. If you develop a schema that requires a pattern, you can define the pattern in `src/constants.ts`.
48
- 2. If you develop a schema that uses a string, check that the string doesn't need to be more explicitly defined (e.g. with a pattern) and doesn't need to be a re-usable definition.
49
- 3. Try to create Enum or KeyMirror variables when creating a schema that has a property that can take on one of a set of specific values. Examples of this can be seen in `ssrc/constants.ts` -- the idea is that if the acceptable values change, we only need to change them in one place, and then we can use this set to make a list as well as create the development type guards.
50
- 3. Create positive and negative examples of data for any new schemas you create, and add these to the tests in `src/types.test.ts`.
51
-
52
- # To Run Tests
53
- Run `npm run test:unit` to run the `types.test.ts` file. You can add valid and invalid data structures to the `validData` and `invalidData` variables and these will be checked as positive and negative tests, respectively.
package/docs/README.md DELETED
@@ -1,107 +0,0 @@
1
- # README
2
-
3
- ## Top-level Schemas
4
-
5
- * [app\_install](./app-install-schema.md) – `https://alwaysai.co/app-install-schema.json`
6
-
7
- * [app\_install\_response](./app-install-response-schema.md) – `https://alwaysai.co/app-install-response-schema.json`
8
-
9
- * [app\_logs](./app-logs-schema.md) – `https://alwaysai.co/app-logs-schema.json`
10
-
11
- * [app\_state](./app-state-schema.md) – `https://alwaysai.co/app-state-schema.json`
12
-
13
- * [app\_state\_control](./app-state-control-schema.md) – `https://alwaysai.co/app-state-control-schema.json`
14
-
15
- * [app\_uninstall](./app-uninstall-schema.md) – `https://alwaysai.co/app-uninstall-schema.json`
16
-
17
- * [app\_version\_control](./app-version-control-schema.md) – `https://alwaysai.co/app-version-control-schema.json`
18
-
19
- * [cloud\_message](./to-cloud-message-schema.md "The messaging payload structure for messages sent from device agent to the cloud") – `https://alwaysai.co/cloud-message-schema.json`
20
-
21
- * [common](./common-schema.md) – `https://alwaysai.co/common-schema.json`
22
-
23
- * [device\_action](./device-action-schema.md) – `https://alwaysai.co/device-action-schema.json`
24
-
25
- * [device\_stats](./device-stats-schema.md) – `https://alwaysai.co/device-stats-schema.json`
26
-
27
- * [live\_state\_updates](./live-updates-toggle-schema.md) – `https://alwaysai.co/live-updates-toggle-schema.json`
28
-
29
- * [models\_install\_payload](./models-install-payload-schema.md) – `https://alwaysai.co/models-install-payload-schema.json`
30
-
31
- * [models\_install\_response](./models-install-response-schema.md) – `https://alwaysai.co/models-install-response-schema.json`
32
-
33
- * [shadow-projects-update-all](./shadow-projects-update-all-schema.md "The messaging payload structure for shadow's projects update delta") – `https://alwaysai.co/shadow-projects-update-all-schema.json`
34
-
35
- * [shadow\_project\_update\_schema](./shadow-project-update-schema.md "The messaging payload structure for a all properties of a single project shadow update") – `https://alwaysai.co/shadow-project-update-schema.json`
36
-
37
- * [signed\_urls\_request](./signed-urls-request-schema.md) – `https://alwaysai.co/signed-urls-request-schema.json`
38
-
39
- * [status\_response](./status-response-schema.md) – `https://alwaysai.co/status-response-schema.json`
40
-
41
- * [system-information](./system-information-schema.md) – `https://alwaysai.co/system-information-schema.json`
42
-
43
- * [to\_client\_message](./to-client-message-schema.md "The messaging payload structure for messages sent from device agent to clients") – `https://alwaysai.co/to-client-message-schema.json`
44
-
45
- * [to\_device\_agent\_message](./to-device-agent-message-schema.md "A schema that describes the message payload structure for messages sent from clients to device agent") – `https://alwaysai.co/to-device-agent-message-schema.json`
46
-
47
- ## Other Schemas
48
-
49
- ### Objects
50
-
51
- * [Untitled object in app\_install\_response](./app-install-response-schema-properties-appinstallresponse.md) – `https://alwaysai.co/app-install-response-schema.json#/properties/appInstallResponse`
52
-
53
- * [Untitled object in app\_install\_response](./app-install-response-schema-properties-appinstallresponse-properties-appinstallpayload.md) – `https://alwaysai.co/app-install-response-schema.json#/properties/appInstallResponse/properties/appInstallPayload`
54
-
55
- * [Untitled object in app\_state](./app-state-schema-properties-appstate-items.md) – `https://alwaysai.co/app-state-schema.json#/properties/appState/items`
56
-
57
- * [Untitled object in app\_state](./app-state-schema-properties-appstate-items-properties-appdetails.md) – `https://alwaysai.co/app-state-schema.json#/properties/appState/items/properties/appDetails`
58
-
59
- * [Untitled object in app\_state](./app-state-schema-properties-appstate-items-properties-services-items.md) – `https://alwaysai.co/app-state-schema.json#/properties/appState/items/properties/services/items`
60
-
61
- * [Untitled object in device\_stats](./device-stats-schema-properties-cpudetails.md "CPU utilization information") – `https://alwaysai.co/device-stats-schema.json#/properties/cpuDetails`
62
-
63
- * [Untitled object in device\_stats](./device-stats-schema-properties-diskdetails.md "Disk utilization information") – `https://alwaysai.co/device-stats-schema.json#/properties/diskDetails`
64
-
65
- * [Untitled object in device\_stats](./device-stats-schema-properties-memdetails.md "Memory utilization information") – `https://alwaysai.co/device-stats-schema.json#/properties/memDetails`
66
-
67
- * [Untitled object in live\_state\_updates](./live-updates-toggle-schema-properties-applogs.md) – `https://alwaysai.co/live-updates-toggle-schema.json#/properties/appLogs`
68
-
69
- * [Untitled object in models\_install\_payload](./models-install-payload-schema-items.md) – `https://alwaysai.co/models-install-payload-schema.json#/items`
70
-
71
- * [Untitled object in models\_install\_response](./models-install-response-schema-properties-modelsinstallresponse.md) – `https://alwaysai.co/models-install-response-schema.json#/properties/modelsInstallResponse`
72
-
73
- * [Untitled object in shadow\_project\_update\_schema](./shadow-project-update-schema-properties-envvars.md) – `https://alwaysai.co/shadow-project-update-schema.json#/properties/envVars`
74
-
75
- * [Untitled object in shadow\_project\_update\_schema](./shadow-project-update-schema-properties-envvars-patternproperties-.md) – `https://alwaysai.co/shadow-project-update-schema.json#/properties/envVars/patternProperties/.*`
76
-
77
- * [Untitled object in signed\_urls\_request](./signed-urls-request-schema-properties-signedurlsrequest.md) – `https://alwaysai.co/signed-urls-request-schema.json#/properties/signedUrlsRequest`
78
-
79
- * [Untitled object in signed\_urls\_request](./signed-urls-request-schema-properties-modelsonlyurlsrequest.md) – `https://alwaysai.co/signed-urls-request-schema.json#/properties/modelsOnlyUrlsRequest`
80
-
81
- * [Untitled object in signed\_urls\_request](./signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models.md) – `https://alwaysai.co/signed-urls-request-schema.json#/properties/modelsOnlyUrlsRequest/properties/models`
82
-
83
- * [Untitled object in system-information](./system-information-schema-properties-os.md) – `https://alwaysai.co/system-information-schema.json#/properties/os`
84
-
85
- * [Untitled object in system-information](./system-information-schema-properties-cpu.md) – `https://alwaysai.co/system-information-schema.json#/properties/cpu`
86
-
87
- * [Untitled object in system-information](./system-information-schema-properties-disk.md) – `https://alwaysai.co/system-information-schema.json#/properties/disk`
88
-
89
- * [Untitled object in system-information](./system-information-schema-properties-disk-properties-drives-items.md) – `https://alwaysai.co/system-information-schema.json#/properties/disk/properties/drives/items`
90
-
91
- * [Untitled object in system-information](./system-information-schema-properties-device.md) – `https://alwaysai.co/system-information-schema.json#/properties/device`
92
-
93
- * [Untitled object in system-information](./system-information-schema-properties-network.md) – `https://alwaysai.co/system-information-schema.json#/properties/network`
94
-
95
- * [Untitled object in system-information](./system-information-schema-properties-versions.md) – `https://alwaysai.co/system-information-schema.json#/properties/versions`
96
-
97
- ### Arrays
98
-
99
- * [Untitled array in app\_state](./app-state-schema-properties-appstate.md) – `https://alwaysai.co/app-state-schema.json#/properties/appState`
100
-
101
- * [Untitled array in app\_state](./app-state-schema-properties-appstate-items-properties-services.md) – `https://alwaysai.co/app-state-schema.json#/properties/appState/items/properties/services`
102
-
103
- * [Untitled array in system-information](./system-information-schema-properties-disk-properties-drives.md) – `https://alwaysai.co/system-information-schema.json#/properties/disk/properties/drives`
104
-
105
- ## Version Note
106
-
107
- The schemas linked above follow the JSON Schema Spec version: `https://json-schema.org/draft/2019-09/schema`
@@ -1,25 +0,0 @@
1
- # Untitled string in agent\_message Schema
2
-
3
- ```txt
4
- https://alwaysai.co/agent-message-schema.json#/$defs/toClient
5
- ```
6
-
7
- Messages sent from the agent itself to console client
8
-
9
- | Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
10
- | :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- |
11
- | Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [agent-message-schema.json\*](../out/agent-message-schema.json "open original schema") |
12
-
13
- ## toClient Type
14
-
15
- `string`
16
-
17
- ## toClient Constraints
18
-
19
- **pattern**: the string must match the following regular expression:&#x20;
20
-
21
- ```regexp
22
- to-client/aai-device/([0-9a-z]+-+)+([0-9a-z])+
23
- ```
24
-
25
- [try pattern](https://regexr.com/?expression=to-client%2Faai-device%2F\(%5B0-9a-z%5D%2B-%2B\)%2B\(%5B0-9a-z%5D\)%2B "try regular expression with regexr.com")
@@ -1,25 +0,0 @@
1
- # Untitled string in agent\_message Schema
2
-
3
- ```txt
4
- https://alwaysai.co/agent-message-schema.json#/$defs/toCloud
5
- ```
6
-
7
- Messages sent from the agent itself to cloud backend
8
-
9
- | Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
10
- | :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- |
11
- | Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [agent-message-schema.json\*](../out/agent-message-schema.json "open original schema") |
12
-
13
- ## toCloud Type
14
-
15
- `string`
16
-
17
- ## toCloud Constraints
18
-
19
- **pattern**: the string must match the following regular expression:&#x20;
20
-
21
- ```regexp
22
- to-cloud/aai-device/([0-9a-z]+-+)+([0-9a-z])+
23
- ```
24
-
25
- [try pattern](https://regexr.com/?expression=to-cloud%2Faai-device%2F\(%5B0-9a-z%5D%2B-%2B\)%2B\(%5B0-9a-z%5D\)%2B "try regular expression with regexr.com")
@@ -1,15 +0,0 @@
1
- # Untitled undefined type in agent\_message Schema
2
-
3
- ```txt
4
- https://alwaysai.co/agent-message-schema.json#/$defs
5
- ```
6
-
7
-
8
-
9
- | Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
10
- | :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- |
11
- | Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [agent-message-schema.json\*](../out/agent-message-schema.json "open original schema") |
12
-
13
- ## $defs Type
14
-
15
- unknown
@@ -1,15 +0,0 @@
1
- # Untitled string in agent\_message Schema
2
-
3
- ```txt
4
- https://alwaysai.co/agent-message-schema.json#/properties/deviceId
5
- ```
6
-
7
- Device UUID of device sending the message
8
-
9
- | Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
10
- | :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- |
11
- | Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [agent-message-schema.json\*](../out/agent-message-schema.json "open original schema") |
12
-
13
- ## deviceId Type
14
-
15
- `string`
@@ -1,66 +0,0 @@
1
- # app\_install\_status Schema
2
-
3
- ```txt
4
- https://alwaysai.co/app-install-status-schema.json#/properties/payload/oneOf/3
5
- ```
6
-
7
-
8
-
9
- | Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
10
- | :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- |
11
- | Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [agent-message-schema.json\*](../out/agent-message-schema.json "open original schema") |
12
-
13
- ## 3 Type
14
-
15
- `object` ([app\_install\_status](agent-message-schema-properties-payload-oneof-app_install_status.md))
16
-
17
- # 3 Properties
18
-
19
- | Property | Type | Required | Nullable | Defined by |
20
- | :------------------------------------ | :------------ | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
21
- | [messageType](#messagetype) | Not specified | Required | cannot be null | [app\_install\_status](app-install-status-schema-properties-messagetype.md "https://alwaysai.co/app-install-status-schema.json#/properties/messageType") |
22
- | [appInstallStatus](#appinstallstatus) | `object` | Required | cannot be null | [app\_install\_status](app-install-status-schema-properties-appinstallstatus.md "https://alwaysai.co/app-install-status-schema.json#/properties/appInstallStatus") |
23
-
24
- ## messageType
25
-
26
-
27
-
28
- `messageType`
29
-
30
- * is required
31
-
32
- * Type: unknown
33
-
34
- * cannot be null
35
-
36
- * defined in: [app\_install\_status](app-install-status-schema-properties-messagetype.md "https://alwaysai.co/app-install-status-schema.json#/properties/messageType")
37
-
38
- ### messageType Type
39
-
40
- unknown
41
-
42
- ### messageType Constraints
43
-
44
- **constant**: the value of this property must be equal to:
45
-
46
- ```json
47
- "app_install_status"
48
- ```
49
-
50
- ## appInstallStatus
51
-
52
-
53
-
54
- `appInstallStatus`
55
-
56
- * is required
57
-
58
- * Type: `object` ([Details](app-install-status-schema-properties-appinstallstatus.md))
59
-
60
- * cannot be null
61
-
62
- * defined in: [app\_install\_status](app-install-status-schema-properties-appinstallstatus.md "https://alwaysai.co/app-install-status-schema.json#/properties/appInstallStatus")
63
-
64
- ### appInstallStatus Type
65
-
66
- `object` ([Details](app-install-status-schema-properties-appinstallstatus.md))