@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.
- package/LICENSE +12 -0
- package/README.md +12 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +3 -1
- package/lib/schemas/secure-tunnel-schema.json +30 -0
- package/lib/shadow-schema.d.ts +17 -1
- package/lib/shadow-schema.js +9 -1
- package/package.json +16 -6
- package/.eslintignore +0 -4
- package/.eslintrc +0 -14
- package/.node-version +0 -1
- package/bitbucket-pipelines.yml +0 -10
- package/development.md +0 -53
- package/docs/README.md +0 -107
- package/docs/agent-message-schema-defs-toclient.md +0 -25
- package/docs/agent-message-schema-defs-tocloud.md +0 -25
- package/docs/agent-message-schema-defs.md +0 -15
- package/docs/agent-message-schema-properties-deviceid.md +0 -15
- package/docs/agent-message-schema-properties-payload-oneof-app_install_status.md +0 -66
- package/docs/agent-message-schema-properties-payload-oneof-app_logs.md +0 -66
- package/docs/agent-message-schema-properties-payload-oneof-app_state.md +0 -66
- package/docs/agent-message-schema-properties-payload-oneof-device_stats.md +0 -66
- package/docs/agent-message-schema-properties-payload-oneof-signed_urls_request.md +0 -85
- package/docs/agent-message-schema-properties-payload.md +0 -27
- package/docs/agent-message-schema-properties-timestamp.md +0 -15
- package/docs/agent-message-schema-properties-topic-oneof-0.md +0 -25
- package/docs/agent-message-schema-properties-topic-oneof-1.md +0 -25
- package/docs/agent-message-schema-properties-topic.md +0 -21
- package/docs/agent-message-schema.md +0 -138
- package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appinstallpayload-properties-appsignedurl.md +0 -15
- package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appinstallpayload.md +0 -39
- package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-appreleasehash.md +0 -25
- package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-models_install_payload.md +0 -15
- package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse-properties-projectid.md +0 -25
- package/docs/app-install-cloud-response-schema-properties-appinstallcloudresponse.md +0 -116
- package/docs/app-install-cloud-response-schema-properties-messagetype.md +0 -23
- package/docs/app-install-cloud-response-schema.md +0 -66
- package/docs/app-install-response-schema-properties-appinstallresponse-properties-appinstallpayload-properties-appsignedurl.md +0 -15
- package/docs/app-install-response-schema-properties-appinstallresponse-properties-appinstallpayload.md +0 -39
- package/docs/app-install-response-schema-properties-appinstallresponse-properties-appreleasehash.md +0 -25
- package/docs/app-install-response-schema-properties-appinstallresponse-properties-models_install_payload.md +0 -15
- package/docs/app-install-response-schema-properties-appinstallresponse-properties-projectid.md +0 -25
- package/docs/app-install-response-schema-properties-appinstallresponse.md +0 -116
- package/docs/app-install-response-schema.md +0 -39
- package/docs/app-install-schema-properties-appreleasehash.md +0 -25
- package/docs/app-install-schema-properties-basecommand.md +0 -23
- package/docs/app-install-schema-properties-projectid.md +0 -25
- package/docs/app-install-schema.md +0 -105
- package/docs/app-install-status-schema-properties-appinstallstatus-properties-appreleasehash.md +0 -25
- package/docs/app-install-status-schema-properties-appinstallstatus-properties-message.md +0 -15
- package/docs/app-install-status-schema-properties-appinstallstatus-properties-status.md +0 -26
- package/docs/app-install-status-schema-properties-appinstallstatus.md +0 -98
- package/docs/app-install-status-schema-properties-messagetype.md +0 -23
- package/docs/app-install-status-schema.md +0 -66
- package/docs/app-logs-schema-properties-applogs-properties-logchunk.md +0 -15
- package/docs/app-logs-schema-properties-applogs-properties-projectid.md +0 -25
- package/docs/app-logs-schema-properties-applogs.md +0 -68
- package/docs/app-logs-schema-properties-logchunk.md +0 -15
- package/docs/app-logs-schema-properties-messagetype.md +0 -23
- package/docs/app-logs-schema-properties-projectid.md +0 -25
- package/docs/app-logs-schema.md +0 -68
- package/docs/app-state-control-schema-properties-appstatecontrol-properties-basecommand.md +0 -25
- package/docs/app-state-control-schema-properties-appstatecontrol-properties-projectid.md +0 -25
- package/docs/app-state-control-schema-properties-appstatecontrol.md +0 -78
- package/docs/app-state-control-schema-properties-basecommand.md +0 -25
- package/docs/app-state-control-schema-properties-messagetype.md +0 -23
- package/docs/app-state-control-schema-properties-projectid.md +0 -25
- package/docs/app-state-control-schema.md +0 -78
- package/docs/app-state-schema-properties-appstate-items-properties-appdetails-properties-projectid.md +0 -25
- package/docs/app-state-schema-properties-appstate-items-properties-appdetails-properties-version.md +0 -25
- package/docs/app-state-schema-properties-appstate-items-properties-appdetails.md +0 -78
- package/docs/app-state-schema-properties-appstate-items-properties-services-items-properties-name.md +0 -15
- package/docs/app-state-schema-properties-appstate-items-properties-services-items-properties-state.md +0 -25
- package/docs/app-state-schema-properties-appstate-items-properties-services-items.md +0 -68
- package/docs/app-state-schema-properties-appstate-items-properties-services.md +0 -15
- package/docs/app-state-schema-properties-appstate-items.md +0 -58
- package/docs/app-state-schema-properties-appstate.md +0 -15
- package/docs/app-state-schema-properties-messagetype.md +0 -23
- package/docs/app-state-schema.md +0 -39
- package/docs/app-uninstall-schema-properties-basecommand.md +0 -23
- package/docs/app-uninstall-schema-properties-projectid.md +0 -25
- package/docs/app-uninstall-schema.md +0 -76
- package/docs/app-version-control-schema-properties-appversioncontrol.md +0 -21
- package/docs/app-version-control-schema-properties-messagetype.md +0 -23
- package/docs/app-version-control-schema.md +0 -21
- package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appinstallpayload-properties-appsignedurl.md +0 -15
- package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appinstallpayload.md +0 -39
- package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-appreleasehash.md +0 -25
- package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-modelsinstallpayload.md +0 -15
- package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse-properties-projectid.md +0 -25
- package/docs/app_install_cloud_response_schema-properties-appinstallcloudresponse.md +0 -116
- package/docs/app_install_cloud_response_schema-properties-messagetype.md +0 -23
- package/docs/app_install_cloud_response_schema.md +0 -66
- package/docs/app_install_schema-properties-appreleasehash.md +0 -25
- package/docs/app_install_schema-properties-basecommand.md +0 -23
- package/docs/app_install_schema-properties-projectid.md +0 -25
- package/docs/app_install_schema.md +0 -105
- package/docs/app_state_control_schema-properties-appstatecontrol-properties-basecommand.md +0 -25
- package/docs/app_state_control_schema-properties-appstatecontrol-properties-projectid.md +0 -25
- package/docs/app_state_control_schema-properties-appstatecontrol.md +0 -78
- package/docs/app_state_control_schema-properties-messagetype.md +0 -23
- package/docs/app_state_control_schema.md +0 -66
- package/docs/app_uninstall_schema-properties-basecommand.md +0 -23
- package/docs/app_uninstall_schema-properties-projectid.md +0 -25
- package/docs/app_uninstall_schema.md +0 -76
- package/docs/app_version_control_schema-properties-appversioncontrol.md +0 -21
- package/docs/app_version_control_schema-properties-messagetype.md +0 -23
- package/docs/app_version_control_schema.md +0 -72
- package/docs/client-message-schema-defs-message.md +0 -25
- package/docs/client-message-schema-defs.md +0 -15
- package/docs/client-message-schema-properties-payload-oneof-live_state_updates.md +0 -66
- package/docs/client-message-schema-properties-payload-oneof-models_install_cloud_response.md +0 -66
- package/docs/client-message-schema-properties-payload.md +0 -27
- package/docs/client-message-schema-properties-timestamp.md +0 -15
- package/docs/client-message-schema-properties-topic.md +0 -25
- package/docs/client-message-schema.md +0 -112
- package/docs/client_message_schema-defs-message.md +0 -25
- package/docs/client_message_schema-defs.md +0 -15
- package/docs/client_message_schema-properties-payload-oneof-3.md +0 -66
- package/docs/client_message_schema-properties-payload-oneof-4.md +0 -66
- package/docs/client_message_schema-properties-payload.md +0 -27
- package/docs/client_message_schema-properties-timestamp.md +0 -15
- package/docs/client_message_schema-properties-topic.md +0 -25
- package/docs/client_message_schema.md +0 -112
- package/docs/common-schema-defs-appreleasehash.md +0 -25
- package/docs/common-schema-defs-modelid.md +0 -25
- package/docs/common-schema-defs-projectid.md +0 -25
- package/docs/common-schema-defs-txid.md +0 -29
- package/docs/common-schema-defs.md +0 -15
- package/docs/common-schema.md +0 -61
- package/docs/device-action-schema-properties-action.md +0 -23
- package/docs/device-action-schema.md +0 -47
- package/docs/device-stats-schema-properties-cpudetails-properties-temperature.md +0 -15
- package/docs/device-stats-schema-properties-cpudetails-properties-usedperc.md +0 -15
- package/docs/device-stats-schema-properties-cpudetails.md +0 -58
- package/docs/device-stats-schema-properties-cpuusage.md +0 -15
- package/docs/device-stats-schema-properties-diskdetails-properties-freegb.md +0 -15
- package/docs/device-stats-schema-properties-diskdetails-properties-usedgb.md +0 -15
- package/docs/device-stats-schema-properties-diskdetails.md +0 -58
- package/docs/device-stats-schema-properties-diskutil.md +0 -15
- package/docs/device-stats-schema-properties-memdetails-properties-freemb.md +0 -15
- package/docs/device-stats-schema-properties-memdetails-properties-usedmb.md +0 -15
- package/docs/device-stats-schema-properties-memdetails.md +0 -58
- package/docs/device-stats-schema-properties-usedmemorypercentage.md +0 -15
- package/docs/device-stats-schema.md +0 -134
- package/docs/device-status-schema-properties-devicestats-properties-cpuusage.md +0 -15
- package/docs/device-status-schema-properties-devicestats-properties-diskutil.md +0 -15
- package/docs/device-status-schema-properties-devicestats-properties-usedmemorypercentage.md +0 -15
- package/docs/device-status-schema-properties-devicestats.md +0 -77
- package/docs/device-status-schema-properties-messagetype.md +0 -23
- package/docs/device-status-schema.md +0 -66
- package/docs/live-updates-toggle-schema-properties-applogs-properties-toggle.md +0 -15
- package/docs/live-updates-toggle-schema-properties-applogs.md +0 -68
- package/docs/live-updates-toggle-schema-properties-appstate.md +0 -15
- package/docs/live-updates-toggle-schema-properties-devicestats.md +0 -15
- package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs-properties-projectid.md +0 -25
- package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs-properties-toggle.md +0 -15
- package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-applogs.md +0 -68
- package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-appstate.md +0 -15
- package/docs/live-updates-toggle-schema-properties-liveupdatestoggles-properties-devicestats.md +0 -15
- package/docs/live-updates-toggle-schema-properties-liveupdatestoggles.md +0 -77
- package/docs/live-updates-toggle-schema-properties-messagetype.md +0 -23
- package/docs/live-updates-toggle-schema.md +0 -77
- package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs-properties-projectid.md +0 -25
- package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs-properties-toggle.md +0 -15
- package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-applogs.md +0 -68
- package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-appstate.md +0 -15
- package/docs/live_updates_toggle_schema-properties-liveupdatestoggles-properties-devicestats.md +0 -15
- package/docs/live_updates_toggle_schema-properties-liveupdatestoggles.md +0 -77
- package/docs/live_updates_toggle_schema-properties-messagetype.md +0 -23
- package/docs/live_updates_toggle_schema.md +0 -66
- package/docs/models-install-cloud-response-schema-properties-messagetype.md +0 -23
- package/docs/models-install-cloud-response-schema-properties-modelsinstallcloudresponse-properties-projectid.md +0 -25
- package/docs/models-install-cloud-response-schema-properties-modelsinstallcloudresponse.md +0 -68
- package/docs/models-install-cloud-response-schema.md +0 -66
- package/docs/models-install-payload-schema-items-properties-id.md +0 -25
- package/docs/models-install-payload-schema-items-properties-modelsignedurl.md +0 -15
- package/docs/models-install-payload-schema-items-properties-version.md +0 -15
- package/docs/models-install-payload-schema-items.md +0 -87
- package/docs/models-install-payload-schema.md +0 -15
- package/docs/models-install-response-schema-properties-modelsinstallresponse.md +0 -68
- package/docs/models-install-response-schema.md +0 -39
- package/docs/models_install_cloud_response_schema-properties-messagetype.md +0 -23
- package/docs/models_install_cloud_response_schema-properties-modelsinstallcloudresponse-properties-projectid.md +0 -25
- package/docs/models_install_cloud_response_schema-properties-modelsinstallcloudresponse.md +0 -68
- package/docs/models_install_cloud_response_schema.md +0 -66
- package/docs/models_install_payload_schema-items-properties-id.md +0 -25
- package/docs/models_install_payload_schema-items-properties-modelsignedurl.md +0 -15
- package/docs/models_install_payload_schema-items-properties-version.md +0 -15
- package/docs/models_install_payload_schema-items.md +0 -87
- package/docs/models_install_payload_schema.md +0 -15
- package/docs/shadow-project-update-schema-properties-appconfig.md +0 -15
- package/docs/shadow-project-update-schema-properties-envvars-patternproperties--patternproperties-.md +0 -15
- package/docs/shadow-project-update-schema-properties-envvars-patternproperties--patternproperties.md +0 -15
- package/docs/shadow-project-update-schema-properties-envvars-patternproperties-.md +0 -39
- package/docs/shadow-project-update-schema-properties-envvars-patternproperties.md +0 -15
- package/docs/shadow-project-update-schema-properties-envvars.md +0 -44
- package/docs/shadow-project-update-schema.md +0 -63
- package/docs/shadow-projects-update-all-schema-patternproperties.md +0 -15
- package/docs/shadow-projects-update-all-schema-propertynames.md +0 -25
- package/docs/shadow-projects-update-all-schema.md +0 -44
- package/docs/signed-urls-request-schema-properties-messagetype.md +0 -23
- package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models-patternproperties-a-za-z0-9_.md +0 -15
- package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models-patternproperties.md +0 -15
- package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-models.md +0 -39
- package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest-properties-projectid.md +0 -25
- package/docs/signed-urls-request-schema-properties-modelsonlyurlsrequest.md +0 -68
- package/docs/signed-urls-request-schema-properties-signedurlsrequest-properties-appreleasehash.md +0 -25
- package/docs/signed-urls-request-schema-properties-signedurlsrequest-properties-projectid.md +0 -25
- package/docs/signed-urls-request-schema-properties-signedurlsrequest.md +0 -78
- package/docs/signed-urls-request-schema.md +0 -58
- package/docs/status-response-schema-properties-message.md +0 -15
- package/docs/status-response-schema-properties-status.md +0 -27
- package/docs/status-response-schema.md +0 -70
- package/docs/system-information-schema-properties-cpu-properties-brand.md +0 -15
- package/docs/system-information-schema-properties-cpu-properties-cores.md +0 -15
- package/docs/system-information-schema-properties-cpu-properties-efficiencycores.md +0 -15
- package/docs/system-information-schema-properties-cpu-properties-manufacturer.md +0 -15
- package/docs/system-information-schema-properties-cpu-properties-model.md +0 -15
- package/docs/system-information-schema-properties-cpu-properties-physicalcores.md +0 -15
- package/docs/system-information-schema-properties-cpu-properties-processors.md +0 -15
- package/docs/system-information-schema-properties-cpu-properties-vendor.md +0 -15
- package/docs/system-information-schema-properties-cpu.md +0 -172
- package/docs/system-information-schema-properties-device-properties-manufacturer.md +0 -15
- package/docs/system-information-schema-properties-device-properties-model.md +0 -15
- package/docs/system-information-schema-properties-device-properties-serial.md +0 -15
- package/docs/system-information-schema-properties-device-properties-version.md +0 -15
- package/docs/system-information-schema-properties-device-properties-virtual.md +0 -15
- package/docs/system-information-schema-properties-device.md +0 -115
- package/docs/system-information-schema-properties-disk-properties-drives-items-properties-device.md +0 -15
- package/docs/system-information-schema-properties-disk-properties-drives-items-properties-name.md +0 -15
- package/docs/system-information-schema-properties-disk-properties-drives-items-properties-size.md +0 -15
- package/docs/system-information-schema-properties-disk-properties-drives-items-properties-type.md +0 -15
- package/docs/system-information-schema-properties-disk-properties-drives-items-properties-vendor.md +0 -15
- package/docs/system-information-schema-properties-disk-properties-drives-items.md +0 -115
- package/docs/system-information-schema-properties-disk-properties-drives.md +0 -15
- package/docs/system-information-schema-properties-disk.md +0 -39
- package/docs/system-information-schema-properties-network-properties-ipv4address.md +0 -15
- package/docs/system-information-schema-properties-network-properties-ipv6address.md +0 -15
- package/docs/system-information-schema-properties-network-properties-macaddress.md +0 -15
- package/docs/system-information-schema-properties-network.md +0 -77
- package/docs/system-information-schema-properties-os-properties-architecture.md +0 -15
- package/docs/system-information-schema-properties-os-properties-distro.md +0 -15
- package/docs/system-information-schema-properties-os-properties-hostname.md +0 -15
- package/docs/system-information-schema-properties-os-properties-kernel.md +0 -15
- package/docs/system-information-schema-properties-os-properties-platform.md +0 -15
- package/docs/system-information-schema-properties-os-properties-release.md +0 -15
- package/docs/system-information-schema-properties-os.md +0 -134
- package/docs/system-information-schema-properties-versions-properties-agent.md +0 -15
- package/docs/system-information-schema-properties-versions-properties-deviceagentschemas.md +0 -15
- package/docs/system-information-schema-properties-versions.md +0 -58
- package/docs/system-information-schema.md +0 -134
- package/docs/to-client-message-schema-allof-0-if-properties-messagetype.md +0 -23
- package/docs/to-client-message-schema-allof-0-if-properties.md +0 -15
- package/docs/to-client-message-schema-allof-0-if.md +0 -47
- package/docs/to-client-message-schema-allof-0-then-properties.md +0 -15
- package/docs/to-client-message-schema-allof-0-then.md +0 -39
- package/docs/to-client-message-schema-allof-0.md +0 -15
- package/docs/to-client-message-schema-allof-1-if-properties-messagetype.md +0 -23
- package/docs/to-client-message-schema-allof-1-if-properties.md +0 -15
- package/docs/to-client-message-schema-allof-1-if.md +0 -47
- package/docs/to-client-message-schema-allof-1-then-properties.md +0 -15
- package/docs/to-client-message-schema-allof-1-then.md +0 -39
- package/docs/to-client-message-schema-allof-1.md +0 -15
- package/docs/to-client-message-schema-allof-2-if-properties-messagetype.md +0 -23
- package/docs/to-client-message-schema-allof-2-if-properties.md +0 -15
- package/docs/to-client-message-schema-allof-2-if.md +0 -47
- package/docs/to-client-message-schema-allof-2-then-properties.md +0 -15
- package/docs/to-client-message-schema-allof-2-then.md +0 -39
- package/docs/to-client-message-schema-allof-2.md +0 -15
- package/docs/to-client-message-schema-allof-3-if-properties-messagetype.md +0 -23
- package/docs/to-client-message-schema-allof-3-if-properties.md +0 -15
- package/docs/to-client-message-schema-allof-3-if.md +0 -47
- package/docs/to-client-message-schema-allof-3-then-properties.md +0 -15
- package/docs/to-client-message-schema-allof-3-then.md +0 -39
- package/docs/to-client-message-schema-allof-3.md +0 -15
- package/docs/to-client-message-schema-defs-toclient.md +0 -25
- package/docs/to-client-message-schema-defs.md +0 -15
- package/docs/to-client-message-schema-properties-deviceid.md +0 -15
- package/docs/to-client-message-schema-properties-messagetype.md +0 -26
- package/docs/to-client-message-schema-properties-payload.md +0 -25
- package/docs/to-client-message-schema-properties-timestamp.md +0 -15
- package/docs/to-client-message-schema-properties-topic-oneof-0.md +0 -25
- package/docs/to-client-message-schema-properties-topic.md +0 -19
- package/docs/to-client-message-schema.md +0 -196
- package/docs/to-cloud-message-schema-allof-0-if-properties-messagetype.md +0 -23
- package/docs/to-cloud-message-schema-allof-0-if-properties.md +0 -15
- package/docs/to-cloud-message-schema-allof-0-if.md +0 -47
- package/docs/to-cloud-message-schema-allof-0-then-properties.md +0 -15
- package/docs/to-cloud-message-schema-allof-0-then.md +0 -39
- package/docs/to-cloud-message-schema-allof-0.md +0 -15
- package/docs/to-cloud-message-schema-defs-tocloud.md +0 -25
- package/docs/to-cloud-message-schema-defs.md +0 -15
- package/docs/to-cloud-message-schema-properties-deviceid.md +0 -15
- package/docs/to-cloud-message-schema-properties-messagetype.md +0 -23
- package/docs/to-cloud-message-schema-properties-payload.md +0 -19
- package/docs/to-cloud-message-schema-properties-timestamp.md +0 -15
- package/docs/to-cloud-message-schema-properties-topic-oneof-0.md +0 -25
- package/docs/to-cloud-message-schema-properties-topic.md +0 -19
- package/docs/to-cloud-message-schema.md +0 -181
- package/docs/to-device-agent-message-schema-allof-0-if-properties-messagetype.md +0 -23
- package/docs/to-device-agent-message-schema-allof-0-if-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-0-if.md +0 -47
- package/docs/to-device-agent-message-schema-allof-0-then-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-0-then.md +0 -39
- package/docs/to-device-agent-message-schema-allof-0.md +0 -15
- package/docs/to-device-agent-message-schema-allof-1-if-properties-messagetype.md +0 -23
- package/docs/to-device-agent-message-schema-allof-1-if-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-1-if.md +0 -47
- package/docs/to-device-agent-message-schema-allof-1-then-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-1-then.md +0 -45
- package/docs/to-device-agent-message-schema-allof-1.md +0 -15
- package/docs/to-device-agent-message-schema-allof-2-if-properties-messagetype.md +0 -23
- package/docs/to-device-agent-message-schema-allof-2-if-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-2-if.md +0 -47
- package/docs/to-device-agent-message-schema-allof-2-then-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-2-then.md +0 -39
- package/docs/to-device-agent-message-schema-allof-2.md +0 -15
- package/docs/to-device-agent-message-schema-allof-3-if-properties-messagetype.md +0 -23
- package/docs/to-device-agent-message-schema-allof-3-if-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-3-if.md +0 -47
- package/docs/to-device-agent-message-schema-allof-3-then-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-3-then.md +0 -39
- package/docs/to-device-agent-message-schema-allof-3.md +0 -15
- package/docs/to-device-agent-message-schema-allof-4-if-properties-messagetype.md +0 -23
- package/docs/to-device-agent-message-schema-allof-4-if-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-4-if.md +0 -47
- package/docs/to-device-agent-message-schema-allof-4-then-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-4-then.md +0 -39
- package/docs/to-device-agent-message-schema-allof-4.md +0 -15
- package/docs/to-device-agent-message-schema-allof-5-if-properties-messagetype.md +0 -23
- package/docs/to-device-agent-message-schema-allof-5-if-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-5-if.md +0 -47
- package/docs/to-device-agent-message-schema-allof-5-then-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-5-then.md +0 -39
- package/docs/to-device-agent-message-schema-allof-5.md +0 -15
- package/docs/to-device-agent-message-schema-allof-6-if-properties-messagetype.md +0 -23
- package/docs/to-device-agent-message-schema-allof-6-if-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-6-if.md +0 -47
- package/docs/to-device-agent-message-schema-allof-6-then-properties.md +0 -15
- package/docs/to-device-agent-message-schema-allof-6-then.md +0 -39
- package/docs/to-device-agent-message-schema-allof-6.md +0 -15
- package/docs/to-device-agent-message-schema-defs-todevice.md +0 -25
- package/docs/to-device-agent-message-schema-defs.md +0 -15
- package/docs/to-device-agent-message-schema-properties-messagetype.md +0 -29
- package/docs/to-device-agent-message-schema-properties-payload.md +0 -35
- package/docs/to-device-agent-message-schema-properties-timestamp.md +0 -15
- package/docs/to-device-agent-message-schema-properties-topic.md +0 -25
- package/docs/to-device-agent-message-schema.md +0 -202
- package/jest.config.js +0 -3
- package/lib/app-action-schema.d.ts.map +0 -1
- package/lib/app-action-schema.js.map +0 -1
- package/lib/app-logs-schema.d.ts.map +0 -1
- package/lib/app-logs-schema.js.map +0 -1
- package/lib/app-state-schema.d.ts.map +0 -1
- package/lib/app-state-schema.js.map +0 -1
- package/lib/constants.d.ts.map +0 -1
- package/lib/constants.js.map +0 -1
- package/lib/device-action-schema.d.ts.map +0 -1
- package/lib/device-action-schema.js.map +0 -1
- package/lib/device-agent-action-schema.d.ts.map +0 -1
- package/lib/device-agent-action-schema.js.map +0 -1
- package/lib/device-stats-schema.d.ts.map +0 -1
- package/lib/device-stats-schema.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/message-builders.d.ts.map +0 -1
- package/lib/message-builders.js.map +0 -1
- package/lib/shadow-schema.d.ts.map +0 -1
- package/lib/shadow-schema.js.map +0 -1
- package/lib/signed-urls-request-schema.d.ts.map +0 -1
- package/lib/signed-urls-request-schema.js.map +0 -1
- package/lib/status-response-schema.d.ts.map +0 -1
- package/lib/status-response-schema.js.map +0 -1
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js.map +0 -1
- package/src/app-action-schema.ts +0 -71
- package/src/app-logs-schema.ts +0 -13
- package/src/app-state-schema.ts +0 -27
- package/src/constants.ts +0 -140
- package/src/device-action-schema.ts +0 -11
- package/src/device-agent-action-schema.ts +0 -17
- package/src/device-stats-schema.ts +0 -33
- package/src/index.ts +0 -182
- package/src/message-builders.ts +0 -263
- package/src/schemas/app-install-response-schema.json +0 -41
- package/src/schemas/app-install-schema.json +0 -20
- package/src/schemas/app-logs-schema.json +0 -16
- package/src/schemas/app-state-control-schema.json +0 -17
- package/src/schemas/app-state-schema.json +0 -49
- package/src/schemas/app-uninstall-schema.json +0 -17
- package/src/schemas/app-version-control-schema.json +0 -14
- package/src/schemas/common-schema.json +0 -27
- package/src/schemas/device-action-schema.json +0 -14
- package/src/schemas/device-stats-schema.json +0 -58
- package/src/schemas/live-updates-toggle-schema.json +0 -29
- package/src/schemas/models-install-payload-schema.json +0 -22
- package/src/schemas/models-install-response-schema.json +0 -23
- package/src/schemas/shadow-project-update-schema.json +0 -30
- package/src/schemas/shadow-projects-update-all-schema.json +0 -17
- package/src/schemas/signed-urls-request-schema.json +0 -42
- package/src/schemas/status-response-schema.json +0 -16
- package/src/schemas/system-information-schema.json +0 -155
- package/src/schemas/to-client-message-schema.json +0 -98
- package/src/schemas/to-cloud-message-schema.json +0 -56
- package/src/schemas/to-device-agent-message-schema.json +0 -135
- package/src/shadow-schema.ts +0 -177
- package/src/signed-urls-request-schema.ts +0 -22
- package/src/status-response-schema.ts +0 -18
- package/src/types.ts +0 -175
- package/src/utils.ts +0 -21
- package/tests/constants.test.ts +0 -41
- package/tests/shadow-schema.test.ts +0 -171
- package/tests/types.test.ts +0 -515
- package/tsconfig.build.json +0 -4
- package/tsconfig.eslint.json +0 -5
- package/tsconfig.json +0 -91
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { SignedUrlsRequestMessageType } from './constants';
|
|
2
|
-
import { BaseToClientMessage } from './types';
|
|
3
|
-
|
|
4
|
-
type ModelsObject = {
|
|
5
|
-
[modelId: string]: number;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export interface SignedUrlsRequestPayload {
|
|
9
|
-
signedUrlsRequest?: {
|
|
10
|
-
projectId: string;
|
|
11
|
-
appReleaseHash: string;
|
|
12
|
-
};
|
|
13
|
-
modelsOnlyUrlsRequest?: {
|
|
14
|
-
projectId: string;
|
|
15
|
-
models: ModelsObject;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface SignedUrlsRequestMessage extends BaseToClientMessage {
|
|
20
|
-
messageType: SignedUrlsRequestMessageType;
|
|
21
|
-
payload: SignedUrlsRequestPayload;
|
|
22
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { StatusResponseMessageType, StatusResponseValue } from './constants';
|
|
2
|
-
import { BaseToClientMessage, BaseToDeviceAgentMessage } from './types';
|
|
3
|
-
|
|
4
|
-
export interface StatusResponsePayload {
|
|
5
|
-
status: StatusResponseValue;
|
|
6
|
-
message?: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface ToClientStatusResponseMessage extends BaseToClientMessage {
|
|
10
|
-
messageType: StatusResponseMessageType;
|
|
11
|
-
payload: StatusResponsePayload;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface ToDeviceStatusResponseMessage
|
|
15
|
-
extends BaseToDeviceAgentMessage {
|
|
16
|
-
messageType: StatusResponseMessageType;
|
|
17
|
-
payload: StatusResponsePayload;
|
|
18
|
-
}
|
package/src/types.ts
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import Ajv2019 from 'ajv/dist/2019';
|
|
2
|
-
import {
|
|
3
|
-
CLIENT_TOPIC_PREFIX,
|
|
4
|
-
CLOUD_TOPIC_PREFIX,
|
|
5
|
-
DEVICE_TOPIC_PREFIX,
|
|
6
|
-
DEVICE_TYPE
|
|
7
|
-
} from './constants';
|
|
8
|
-
import * as commonSchema from './schemas/common-schema.json';
|
|
9
|
-
import * as deviceStatsSchema from './schemas/device-stats-schema.json';
|
|
10
|
-
import * as appStateSchema from './schemas/app-state-schema.json';
|
|
11
|
-
import * as appLogsSchema from './schemas/app-logs-schema.json';
|
|
12
|
-
import * as statusResponseSchema from './schemas/status-response-schema.json';
|
|
13
|
-
import * as signedUrlsRequestSchema from './schemas/signed-urls-request-schema.json';
|
|
14
|
-
import * as toDeviceAgentMessageSchema from './schemas/to-device-agent-message-schema.json';
|
|
15
|
-
import * as modelsInstallPayloadSchema from './schemas/models-install-payload-schema.json';
|
|
16
|
-
import * as appInstallSchema from './schemas/app-install-schema.json';
|
|
17
|
-
import * as appUninstallSchema from './schemas/app-uninstall-schema.json';
|
|
18
|
-
import * as toClientMessageSchema from './schemas/to-client-message-schema.json';
|
|
19
|
-
import * as toCloudMessageSchema from './schemas/to-cloud-message-schema.json';
|
|
20
|
-
import * as appStateControlSchema from './schemas/app-state-control-schema.json';
|
|
21
|
-
import * as appVersionControlSchema from './schemas/app-version-control-schema.json';
|
|
22
|
-
import * as appInstallResponseSchema from './schemas/app-install-response-schema.json';
|
|
23
|
-
import * as modelsInstallResponseSchema from './schemas/models-install-response-schema.json';
|
|
24
|
-
import * as liveUpdatesTogglesSchema from './schemas/live-updates-toggle-schema.json';
|
|
25
|
-
import * as deviceActionSchema from './schemas/device-action-schema.json';
|
|
26
|
-
import { AppLogsMessage, AppLogsPayload } from './app-logs-schema';
|
|
27
|
-
import {
|
|
28
|
-
AppInstallResponseMessage,
|
|
29
|
-
AppInstallResponsePayload,
|
|
30
|
-
AppStateControlMessage,
|
|
31
|
-
AppStateControlPayload,
|
|
32
|
-
AppVersionControlInstallPayload,
|
|
33
|
-
AppVersionControlMessage,
|
|
34
|
-
AppVersionControlUninstallPayload,
|
|
35
|
-
ModelsInstallResponseMessage,
|
|
36
|
-
ModelsInstallResponsePayload
|
|
37
|
-
} from './app-action-schema';
|
|
38
|
-
import {
|
|
39
|
-
LiveStateUpdatesToggleMessage,
|
|
40
|
-
LiveStateUpdatesTogglePayload
|
|
41
|
-
} from './device-agent-action-schema';
|
|
42
|
-
import {
|
|
43
|
-
StatusResponsePayload,
|
|
44
|
-
ToClientStatusResponseMessage,
|
|
45
|
-
ToDeviceStatusResponseMessage
|
|
46
|
-
} from './status-response-schema';
|
|
47
|
-
import { AppStateMessage, AppStatePayload } from './app-state-schema';
|
|
48
|
-
import {
|
|
49
|
-
SignedUrlsRequestMessage,
|
|
50
|
-
SignedUrlsRequestPayload
|
|
51
|
-
} from './signed-urls-request-schema';
|
|
52
|
-
import { DeviceStatsMessage, DeviceStatsPayload } from './device-stats-schema';
|
|
53
|
-
import {
|
|
54
|
-
DeviceActionMessage,
|
|
55
|
-
DeviceActionPayload
|
|
56
|
-
} from './device-action-schema';
|
|
57
|
-
|
|
58
|
-
// Note: the other schemas do not need to be added, because they will
|
|
59
|
-
// automatically be added in the compile step due to $ref usage (and $id lookup)
|
|
60
|
-
const ajv = new Ajv2019({
|
|
61
|
-
allErrors: true,
|
|
62
|
-
schemas: [commonSchema]
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
export const getToClientTopic = (
|
|
66
|
-
deviceUuid: string,
|
|
67
|
-
deviceType: string = DEVICE_TYPE
|
|
68
|
-
) => `${CLIENT_TOPIC_PREFIX}/${deviceType}/${deviceUuid}`;
|
|
69
|
-
|
|
70
|
-
export const getToCloudTopic = (
|
|
71
|
-
deviceUuid: string,
|
|
72
|
-
deviceType: string = DEVICE_TYPE
|
|
73
|
-
) => `${CLOUD_TOPIC_PREFIX}/${deviceType}/${deviceUuid}`;
|
|
74
|
-
|
|
75
|
-
export const getToDeviceTopic = (
|
|
76
|
-
deviceUuid: string,
|
|
77
|
-
deviceType: string = DEVICE_TYPE
|
|
78
|
-
) => `${DEVICE_TOPIC_PREFIX}/${deviceType}/${deviceUuid}`;
|
|
79
|
-
|
|
80
|
-
/* ============================================================================
|
|
81
|
-
ToClient Message
|
|
82
|
-
============================================================================ */
|
|
83
|
-
|
|
84
|
-
export interface BaseToClientMessage {
|
|
85
|
-
deviceId: string;
|
|
86
|
-
timestamp: string;
|
|
87
|
-
topic?: string;
|
|
88
|
-
txId: string;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export type ToClientMessage =
|
|
92
|
-
| AppLogsMessage
|
|
93
|
-
| ToClientStatusResponseMessage
|
|
94
|
-
| AppStateMessage
|
|
95
|
-
| DeviceStatsMessage;
|
|
96
|
-
|
|
97
|
-
export type ToClientMessagePayload =
|
|
98
|
-
| AppLogsPayload
|
|
99
|
-
| AppStatePayload
|
|
100
|
-
| DeviceStatsPayload
|
|
101
|
-
| StatusResponsePayload;
|
|
102
|
-
|
|
103
|
-
ajv.addSchema(deviceStatsSchema, 'device-stats-schema.json');
|
|
104
|
-
ajv.addSchema(appStateSchema, 'app-state-schema.json');
|
|
105
|
-
ajv.addSchema(appLogsSchema, 'app-logs-schema.json');
|
|
106
|
-
ajv.addSchema(statusResponseSchema, 'status-response-schema.json');
|
|
107
|
-
ajv.addSchema(toClientMessageSchema, 'to-client-message-schema.json');
|
|
108
|
-
export const validateToClientMessage = ajv.compile<BaseToClientMessage>(
|
|
109
|
-
toClientMessageSchema
|
|
110
|
-
);
|
|
111
|
-
|
|
112
|
-
/* ============================================================================
|
|
113
|
-
ToCloud Message
|
|
114
|
-
============================================================================ */
|
|
115
|
-
|
|
116
|
-
export interface BaseToCloudMessage {
|
|
117
|
-
deviceId: string;
|
|
118
|
-
timestamp: string;
|
|
119
|
-
topic?: string;
|
|
120
|
-
txId: string;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export type ToCloudMessage = SignedUrlsRequestMessage;
|
|
124
|
-
|
|
125
|
-
export type ToCloudMessagePayload = SignedUrlsRequestPayload;
|
|
126
|
-
|
|
127
|
-
ajv.addSchema(signedUrlsRequestSchema, 'signed-urls-request-schema.json');
|
|
128
|
-
export const validateToCloudMessage =
|
|
129
|
-
ajv.compile<BaseToCloudMessage>(toCloudMessageSchema);
|
|
130
|
-
|
|
131
|
-
/* ============================================================================
|
|
132
|
-
To Device Agent Message
|
|
133
|
-
============================================================================ */
|
|
134
|
-
|
|
135
|
-
export interface BaseToDeviceAgentMessage {
|
|
136
|
-
timestamp: string;
|
|
137
|
-
topic?: string;
|
|
138
|
-
txId: string;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
export type ToDeviceAgentMessage =
|
|
142
|
-
| AppStateControlMessage
|
|
143
|
-
| AppVersionControlMessage
|
|
144
|
-
| LiveStateUpdatesToggleMessage
|
|
145
|
-
| ToDeviceStatusResponseMessage
|
|
146
|
-
| AppInstallResponseMessage
|
|
147
|
-
| ModelsInstallResponseMessage
|
|
148
|
-
| DeviceActionMessage;
|
|
149
|
-
|
|
150
|
-
export type ToDeviceAgentMessagePayload =
|
|
151
|
-
| AppStateControlPayload
|
|
152
|
-
| AppVersionControlInstallPayload
|
|
153
|
-
| AppVersionControlUninstallPayload
|
|
154
|
-
| LiveStateUpdatesTogglePayload
|
|
155
|
-
| StatusResponsePayload
|
|
156
|
-
| AppInstallResponsePayload
|
|
157
|
-
| ModelsInstallResponsePayload
|
|
158
|
-
| DeviceActionPayload;
|
|
159
|
-
|
|
160
|
-
ajv.addSchema(modelsInstallPayloadSchema, 'models-install-payload-schema.json');
|
|
161
|
-
ajv.addSchema(appInstallSchema, 'app-install-schema.json');
|
|
162
|
-
ajv.addSchema(appUninstallSchema, 'app-uninstall-schema.json');
|
|
163
|
-
ajv.addSchema(appStateControlSchema, 'app-state-control-schema.json');
|
|
164
|
-
ajv.addSchema(appVersionControlSchema, 'app-version-control-schema.json');
|
|
165
|
-
ajv.addSchema(appInstallResponseSchema, 'app-install-response-schema.json');
|
|
166
|
-
ajv.addSchema(
|
|
167
|
-
modelsInstallResponseSchema,
|
|
168
|
-
'models-install-response-schema.json'
|
|
169
|
-
);
|
|
170
|
-
ajv.addSchema(liveUpdatesTogglesSchema, 'live-updates-toggle-schema.json');
|
|
171
|
-
ajv.addSchema(deviceActionSchema, 'device-action-schema.json');
|
|
172
|
-
|
|
173
|
-
export const validateToDeviceAgentMessage = ajv.compile<ToDeviceAgentMessage>(
|
|
174
|
-
toDeviceAgentMessageSchema
|
|
175
|
-
);
|
package/src/utils.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
-
|
|
3
|
-
export function loadSchemaAsObject(schema: object) {
|
|
4
|
-
return JSON.parse(JSON.stringify(schema));
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/* eslint-disable */
|
|
8
|
-
export function keyMirror<T extends object>(obj: T): { [K in keyof T]: K } {
|
|
9
|
-
const newObj = {};
|
|
10
|
-
for (const key in obj) {
|
|
11
|
-
if (obj.hasOwnProperty(key)) {
|
|
12
|
-
newObj[String(key)] = key;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return newObj as { [K in keyof T]: K };
|
|
16
|
-
}
|
|
17
|
-
/* eslint-enable */
|
|
18
|
-
|
|
19
|
-
export function generateTxId(): string {
|
|
20
|
-
return uuidv4();
|
|
21
|
-
}
|
package/tests/constants.test.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
APP_RELEASE_ID_PATTERN,
|
|
3
|
-
CLIENT_TOPIC_PREFIX,
|
|
4
|
-
CLOUD_TOPIC_PREFIX,
|
|
5
|
-
DEVICE_TOPIC_PREFIX,
|
|
6
|
-
DEVICE_TYPE,
|
|
7
|
-
MODEL_ID_PATTERN,
|
|
8
|
-
PROJECT_ID_PATTERN
|
|
9
|
-
} from '../src/constants';
|
|
10
|
-
import * as commonSchema from '../src/schemas/common-schema.json';
|
|
11
|
-
import * as toClientMessageSchema from '../src/schemas/to-client-message-schema.json';
|
|
12
|
-
import * as toCloudMessageSchema from '../src/schemas/to-cloud-message-schema.json';
|
|
13
|
-
import * as toDeviceAgentMessageSchema from '../src/schemas/to-device-agent-message-schema.json';
|
|
14
|
-
|
|
15
|
-
describe('Validate regex in schemas matches constants', () => {
|
|
16
|
-
test('to-client-message-schema', () => {
|
|
17
|
-
expect(toClientMessageSchema.$defs.toClient.pattern).toEqual(
|
|
18
|
-
`${CLIENT_TOPIC_PREFIX}/${DEVICE_TYPE}/${PROJECT_ID_PATTERN}`
|
|
19
|
-
);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
test('to-cloud-message-schema', () => {
|
|
23
|
-
expect(toCloudMessageSchema.$defs.toCloud.pattern).toEqual(
|
|
24
|
-
`${CLOUD_TOPIC_PREFIX}/${DEVICE_TYPE}/${PROJECT_ID_PATTERN}`
|
|
25
|
-
);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
test('to-device-agent-message-schema', () => {
|
|
29
|
-
expect(toDeviceAgentMessageSchema.$defs.toDevice.pattern).toEqual(
|
|
30
|
-
`^${DEVICE_TOPIC_PREFIX}/${DEVICE_TYPE}/${PROJECT_ID_PATTERN}`
|
|
31
|
-
);
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
test('common-schema', () => {
|
|
35
|
-
expect(commonSchema.$defs.projectId.pattern).toEqual(PROJECT_ID_PATTERN);
|
|
36
|
-
expect(commonSchema.$defs.appReleaseHash.pattern).toEqual(
|
|
37
|
-
APP_RELEASE_ID_PATTERN
|
|
38
|
-
);
|
|
39
|
-
expect(commonSchema.$defs.modelId.pattern).toEqual(MODEL_ID_PATTERN);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getShadowTopic,
|
|
3
|
-
validateShadowProjectsUpdateAll,
|
|
4
|
-
buildBaseShadowMessage,
|
|
5
|
-
buildUpdateProjectShadowMessage,
|
|
6
|
-
buildUpdateSystemInfoShadowMessage,
|
|
7
|
-
SystemInformationShadowUpdate,
|
|
8
|
-
ShadowProjectsUpdateAll
|
|
9
|
-
} from '../src/shadow-schema';
|
|
10
|
-
|
|
11
|
-
const validShadowProjectsUpdateStructures: ShadowProjectsUpdateAll[] = [
|
|
12
|
-
{
|
|
13
|
-
'1111e3b3-1d06-4c90-839c-8dcbb60b1053': {
|
|
14
|
-
appConfig: 'stringified_json'
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
'2222e3b3-1d06-4c90-839c-8dcbb60b1053': {
|
|
19
|
-
envVars: {
|
|
20
|
-
alwaysai: {
|
|
21
|
-
VAR0: 'VAL0',
|
|
22
|
-
VAR1: 'VAL1'
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
'3333e3b3-1d06-4c90-839c-8dcbb60b1053': {
|
|
29
|
-
appConfig: 'stringified_json',
|
|
30
|
-
envVars: {
|
|
31
|
-
alwaysai: {
|
|
32
|
-
VAR0: 'VAL0',
|
|
33
|
-
VAR1: 'VAL1'
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
'4444e3b3-1d06-4c90-839c-8dcbb60b1053': {
|
|
40
|
-
appConfig: 'stringified_json'
|
|
41
|
-
},
|
|
42
|
-
'5555e3b3-1d06-4c90-839c-8dcbb60b1053': {
|
|
43
|
-
envVars: {
|
|
44
|
-
alwaysai: {
|
|
45
|
-
VAR0: 'VAL0',
|
|
46
|
-
VAR1: 'VAL1'
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
'6666e3b3-1d06-4c90-839c-8dcbb60b1053': null
|
|
53
|
-
}
|
|
54
|
-
];
|
|
55
|
-
|
|
56
|
-
const invalidShadowProjectsUpdateStructures = [
|
|
57
|
-
{
|
|
58
|
-
project0: {
|
|
59
|
-
appConfig: {
|
|
60
|
-
key: 'value'
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
project0: {
|
|
66
|
-
envVars: 'unexpected-string'
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
];
|
|
70
|
-
|
|
71
|
-
const validBaseMessage = {
|
|
72
|
-
clientToken: '111'
|
|
73
|
-
};
|
|
74
|
-
const validSystemInfoMessage = {
|
|
75
|
-
clientToken: '111',
|
|
76
|
-
state: {
|
|
77
|
-
reported: {
|
|
78
|
-
cpu: {
|
|
79
|
-
brand: 'walmart'
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
const validShadowUpdateMessage = {
|
|
85
|
-
clientToken: '111',
|
|
86
|
-
state: {
|
|
87
|
-
reported: {
|
|
88
|
-
...validShadowProjectsUpdateStructures[0],
|
|
89
|
-
...validShadowProjectsUpdateStructures[1]
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
const validGetAccepted: ShadowProjectsUpdateAll[] = [];
|
|
95
|
-
validShadowProjectsUpdateStructures.forEach((updateDelta) => {
|
|
96
|
-
validGetAccepted.push(updateDelta);
|
|
97
|
-
});
|
|
98
|
-
validGetAccepted.push({});
|
|
99
|
-
|
|
100
|
-
function validateSuccess(items, validateFunc) {
|
|
101
|
-
items.forEach((item) => {
|
|
102
|
-
const valid = validateFunc(item);
|
|
103
|
-
if (!valid) {
|
|
104
|
-
// eslint-disable-next-line no-console
|
|
105
|
-
console.log(item);
|
|
106
|
-
// eslint-disable-next-line no-console
|
|
107
|
-
console.log(validateShadowProjectsUpdateAll.errors);
|
|
108
|
-
}
|
|
109
|
-
expect(valid).toBe(true);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function validateFailure(items, validateFunc) {
|
|
114
|
-
items.forEach((item) => {
|
|
115
|
-
expect(validateFunc(item)).toBe(false);
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
describe('Test project shadow messages', () => {
|
|
120
|
-
test('valid update delta', () => {
|
|
121
|
-
validateSuccess(validGetAccepted, validateShadowProjectsUpdateAll);
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
test('test invalid client message', () => {
|
|
125
|
-
validateFailure(
|
|
126
|
-
invalidShadowProjectsUpdateStructures,
|
|
127
|
-
validateShadowProjectsUpdateAll
|
|
128
|
-
);
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
test('valid base shadow message', () => {
|
|
132
|
-
const baseMessage = buildBaseShadowMessage('111');
|
|
133
|
-
expect(baseMessage).toEqual(validBaseMessage);
|
|
134
|
-
});
|
|
135
|
-
test('valid update project shadow message', () => {
|
|
136
|
-
const reported: ShadowProjectsUpdateAll = {
|
|
137
|
-
'1111e3b3-1d06-4c90-839c-8dcbb60b1053': {
|
|
138
|
-
appConfig: 'stringified_json'
|
|
139
|
-
},
|
|
140
|
-
'2222e3b3-1d06-4c90-839c-8dcbb60b1053': {
|
|
141
|
-
envVars: {
|
|
142
|
-
alwaysai: {
|
|
143
|
-
VAR0: 'VAL0',
|
|
144
|
-
VAR1: 'VAL1'
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
const message = buildUpdateProjectShadowMessage({
|
|
150
|
-
clientId: '111',
|
|
151
|
-
reported
|
|
152
|
-
});
|
|
153
|
-
expect(message).toEqual(validShadowUpdateMessage);
|
|
154
|
-
});
|
|
155
|
-
test('valid update system info shadow message', () => {
|
|
156
|
-
const systemInfo: SystemInformationShadowUpdate = {
|
|
157
|
-
cpu: { brand: 'walmart' }
|
|
158
|
-
};
|
|
159
|
-
const message = buildUpdateSystemInfoShadowMessage('111', systemInfo);
|
|
160
|
-
expect(message).toEqual(validSystemInfoMessage);
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
describe('Test project shadow topic generation', () => {
|
|
165
|
-
test('shadow topic get', () => {
|
|
166
|
-
const shadowTopic = getShadowTopic('111', 'projects', 'get/accepted');
|
|
167
|
-
expect(shadowTopic).toEqual(
|
|
168
|
-
'$aws/things/111/shadow/name/projects/get/accepted'
|
|
169
|
-
);
|
|
170
|
-
});
|
|
171
|
-
});
|