@espressif/rainmaker-neo-base-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +206 -0
- package/dist/cjs/ESPDevice.js +35 -0
- package/dist/cjs/ESPDevice.js.map +1 -0
- package/dist/cjs/ESPRMNeoAuth.js +61 -0
- package/dist/cjs/ESPRMNeoAuth.js.map +1 -0
- package/dist/cjs/ESPRMNeoAutomation.js +48 -0
- package/dist/cjs/ESPRMNeoAutomation.js.map +1 -0
- package/dist/cjs/ESPRMNeoBase.js +250 -0
- package/dist/cjs/ESPRMNeoBase.js.map +1 -0
- package/dist/cjs/ESPRMNeoDevice.js +51 -0
- package/dist/cjs/ESPRMNeoDevice.js.map +1 -0
- package/dist/cjs/ESPRMNeoDeviceParam.js +54 -0
- package/dist/cjs/ESPRMNeoDeviceParam.js.map +1 -0
- package/dist/cjs/ESPRMNeoGroup.js +50 -0
- package/dist/cjs/ESPRMNeoGroup.js.map +1 -0
- package/dist/cjs/ESPRMNeoNode.js +283 -0
- package/dist/cjs/ESPRMNeoNode.js.map +1 -0
- package/dist/cjs/ESPRMNeoSchedule.js +66 -0
- package/dist/cjs/ESPRMNeoSchedule.js.map +1 -0
- package/dist/cjs/ESPRMNeoService.js +36 -0
- package/dist/cjs/ESPRMNeoService.js.map +1 -0
- package/dist/cjs/ESPRMNeoServiceParam.js +52 -0
- package/dist/cjs/ESPRMNeoServiceParam.js.map +1 -0
- package/dist/cjs/ESPRMNeoSharingRequest.js +33 -0
- package/dist/cjs/ESPRMNeoSharingRequest.js.map +1 -0
- package/dist/cjs/ESPRMNeoTrigger.js +50 -0
- package/dist/cjs/ESPRMNeoTrigger.js.map +1 -0
- package/dist/cjs/ESPRMNeoUser.js +82 -0
- package/dist/cjs/ESPRMNeoUser.js.map +1 -0
- package/dist/cjs/index.js +352 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/Connect.js +13 -0
- package/dist/cjs/methods/ESPDevice/Connect.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/Disconnect.js +15 -0
- package/dist/cjs/methods/ESPDevice/Disconnect.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/GetDeviceCapabilities.js +13 -0
- package/dist/cjs/methods/ESPDevice/GetDeviceCapabilities.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/GetDeviceVersion.js +13 -0
- package/dist/cjs/methods/ESPDevice/GetDeviceVersion.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/InitializeSession.js +13 -0
- package/dist/cjs/methods/ESPDevice/InitializeSession.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/InitiateUserNodeMapping.js +14 -0
- package/dist/cjs/methods/ESPDevice/InitiateUserNodeMapping.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/Provision.js +88 -0
- package/dist/cjs/methods/ESPDevice/Provision.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/ScanWifiList.js +13 -0
- package/dist/cjs/methods/ESPDevice/ScanWifiList.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/SendData.js +13 -0
- package/dist/cjs/methods/ESPDevice/SendData.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/SetNetworkCredentials.js +13 -0
- package/dist/cjs/methods/ESPDevice/SetNetworkCredentials.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/SetProofOfPossession.js +13 -0
- package/dist/cjs/methods/ESPDevice/SetProofOfPossession.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/StartAssistedClaiming.js +260 -0
- package/dist/cjs/methods/ESPDevice/StartAssistedClaiming.js.map +1 -0
- package/dist/cjs/methods/ESPDevice/VerifyUserNodeMapping.js +14 -0
- package/dist/cjs/methods/ESPDevice/VerifyUserNodeMapping.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAuth/ChangePassword.js +46 -0
- package/dist/cjs/methods/ESPRMNeoAuth/ChangePassword.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAuth/ConfirmSignUp.js +41 -0
- package/dist/cjs/methods/ESPRMNeoAuth/ConfirmSignUp.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAuth/ForgotPassword.js +39 -0
- package/dist/cjs/methods/ESPRMNeoAuth/ForgotPassword.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAuth/GetLoggedInUser.js +56 -0
- package/dist/cjs/methods/ESPRMNeoAuth/GetLoggedInUser.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAuth/Login.js +49 -0
- package/dist/cjs/methods/ESPRMNeoAuth/Login.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAuth/SendSignUpCode.js +47 -0
- package/dist/cjs/methods/ESPRMNeoAuth/SendSignUpCode.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAuth/SetNewPassword.js +41 -0
- package/dist/cjs/methods/ESPRMNeoAuth/SetNewPassword.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/AddAction.js +23 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/AddAction.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/AddCondition.js +27 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/AddCondition.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/Delete.js +29 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/Delete.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/RemoveAction.js +23 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/RemoveAction.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/RemoveCondition.js +23 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/RemoveCondition.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/Update.js +40 -0
- package/dist/cjs/methods/ESPRMNeoAutomation/Update.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoDevice/GetParams.js +34 -0
- package/dist/cjs/methods/ESPRMNeoDevice/GetParams.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoDeviceParam/GetLatestTSData.js +26 -0
- package/dist/cjs/methods/ESPRMNeoDeviceParam/GetLatestTSData.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoDeviceParam/GetRawTSData.js +28 -0
- package/dist/cjs/methods/ESPRMNeoDeviceParam/GetRawTSData.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoDeviceParam/GetTSData.js +28 -0
- package/dist/cjs/methods/ESPRMNeoDeviceParam/GetTSData.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/AddNode.js +29 -0
- package/dist/cjs/methods/ESPRMNeoGroup/AddNode.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/CreateAutomation.js +32 -0
- package/dist/cjs/methods/ESPRMNeoGroup/CreateAutomation.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/CreateSchedule.js +54 -0
- package/dist/cjs/methods/ESPRMNeoGroup/CreateSchedule.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/CreateSubGroup.js +39 -0
- package/dist/cjs/methods/ESPRMNeoGroup/CreateSubGroup.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/Delete.js +30 -0
- package/dist/cjs/methods/ESPRMNeoGroup/Delete.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/DeleteAllSchedules.js +34 -0
- package/dist/cjs/methods/ESPRMNeoGroup/DeleteAllSchedules.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetAutomation.js +19 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetAutomation.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetAutomations.js +28 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetAutomations.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetNode.js +22 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetNode.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetNodes.js +20 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetNodes.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetSchedules.js +42 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetSchedules.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetSharingInfo.js +33 -0
- package/dist/cjs/methods/ESPRMNeoGroup/GetSharingInfo.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/Leave.js +22 -0
- package/dist/cjs/methods/ESPRMNeoGroup/Leave.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/RemoveMember.js +29 -0
- package/dist/cjs/methods/ESPRMNeoGroup/RemoveMember.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/RemoveNode.js +26 -0
- package/dist/cjs/methods/ESPRMNeoGroup/RemoveNode.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/SetParams.js +29 -0
- package/dist/cjs/methods/ESPRMNeoGroup/SetParams.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/Share.js +34 -0
- package/dist/cjs/methods/ESPRMNeoGroup/Share.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoGroup/UpdateName.js +37 -0
- package/dist/cjs/methods/ESPRMNeoGroup/UpdateName.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/CreateSchedule.js +47 -0
- package/dist/cjs/methods/ESPRMNeoNode/CreateSchedule.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/CreateTrigger.js +40 -0
- package/dist/cjs/methods/ESPRMNeoNode/CreateTrigger.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/Delete.js +31 -0
- package/dist/cjs/methods/ESPRMNeoNode/Delete.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetConfig.js +13 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetConfig.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamLatestTSData.js +20 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamLatestTSData.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamRawTSData.js +22 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamRawTSData.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamTSData.js +22 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamTSData.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetSchedules.js +22 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetSchedules.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetTriggers.js +28 -0
- package/dist/cjs/methods/ESPRMNeoNode/GetTriggers.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/RemoveAllSchedules.js +22 -0
- package/dist/cjs/methods/ESPRMNeoNode/RemoveAllSchedules.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/RemoveAllTriggers.js +22 -0
- package/dist/cjs/methods/ESPRMNeoNode/RemoveAllTriggers.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/RemoveSchedule.js +35 -0
- package/dist/cjs/methods/ESPRMNeoNode/RemoveSchedule.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/RemoveTrigger.js +27 -0
- package/dist/cjs/methods/ESPRMNeoNode/RemoveTrigger.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/SetParams.js +20 -0
- package/dist/cjs/methods/ESPRMNeoNode/SetParams.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/SubscriptionConfig.js +25 -0
- package/dist/cjs/methods/ESPRMNeoNode/SubscriptionConfig.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/Sync.js +30 -0
- package/dist/cjs/methods/ESPRMNeoNode/Sync.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.js +24 -0
- package/dist/cjs/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoSchedule/Delete.js +19 -0
- package/dist/cjs/methods/ESPRMNeoSchedule/Delete.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoSchedule/Enable.js +13 -0
- package/dist/cjs/methods/ESPRMNeoSchedule/Enable.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoSchedule/Update.js +50 -0
- package/dist/cjs/methods/ESPRMNeoSchedule/Update.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoService/GetParams.js +42 -0
- package/dist/cjs/methods/ESPRMNeoService/GetParams.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoSharingRequest/Accept.js +37 -0
- package/dist/cjs/methods/ESPRMNeoSharingRequest/Accept.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoSharingRequest/Decline.js +37 -0
- package/dist/cjs/methods/ESPRMNeoSharingRequest/Decline.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoTrigger/Delete.js +19 -0
- package/dist/cjs/methods/ESPRMNeoTrigger/Delete.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoTrigger/Enable.js +13 -0
- package/dist/cjs/methods/ESPRMNeoTrigger/Enable.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoTrigger/Update.js +34 -0
- package/dist/cjs/methods/ESPRMNeoTrigger/Update.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/CreateESPDevice.js +32 -0
- package/dist/cjs/methods/ESPRMNeoUser/CreateESPDevice.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/CreateGroup.js +39 -0
- package/dist/cjs/methods/ESPRMNeoUser/CreateGroup.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/EventSubscription.js +50 -0
- package/dist/cjs/methods/ESPRMNeoUser/EventSubscription.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/GetGroups.js +54 -0
- package/dist/cjs/methods/ESPRMNeoUser/GetGroups.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.js +79 -0
- package/dist/cjs/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/GetUserInfo.js +39 -0
- package/dist/cjs/methods/ESPRMNeoUser/GetUserInfo.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/ListIntegrations.js +37 -0
- package/dist/cjs/methods/ESPRMNeoUser/ListIntegrations.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/ListSharingRequests.js +31 -0
- package/dist/cjs/methods/ESPRMNeoUser/ListSharingRequests.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/Logout.js +40 -0
- package/dist/cjs/methods/ESPRMNeoUser/Logout.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/MQTT/AssumeRole.js +38 -0
- package/dist/cjs/methods/ESPRMNeoUser/MQTT/AssumeRole.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/MQTT/ConnectMQTT.js +67 -0
- package/dist/cjs/methods/ESPRMNeoUser/MQTT/ConnectMQTT.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.js +29 -0
- package/dist/cjs/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.js +41 -0
- package/dist/cjs/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/SearchESPDevices.js +50 -0
- package/dist/cjs/methods/ESPRMNeoUser/SearchESPDevices.js.map +1 -0
- package/dist/cjs/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.js +44 -0
- package/dist/cjs/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.js.map +1 -0
- package/dist/cjs/proto/constants.js +24 -0
- package/dist/cjs/proto/constants.js.map +1 -0
- package/dist/cjs/proto/esp_local_ctrl.js +787 -0
- package/dist/cjs/proto/esp_local_ctrl.js.map +1 -0
- package/dist/cjs/proto/esp_rmaker_chal_resp.js +465 -0
- package/dist/cjs/proto/esp_rmaker_chal_resp.js.map +1 -0
- package/dist/cjs/proto/esp_rmaker_claim.js +358 -0
- package/dist/cjs/proto/esp_rmaker_claim.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoAPIManager.js +208 -0
- package/dist/cjs/services/ESPRMNeoAPIManager.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/ChallengeResponseHelper.js +106 -0
- package/dist/cjs/services/ESPRMNeoHelpers/ChallengeResponseHelper.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/ChannelRegistration.js +49 -0
- package/dist/cjs/services/ESPRMNeoHelpers/ChannelRegistration.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/CheckTokenExpiry.js +25 -0
- package/dist/cjs/services/ESPRMNeoHelpers/CheckTokenExpiry.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/ClaimingHelper.js +221 -0
- package/dist/cjs/services/ESPRMNeoHelpers/ClaimingHelper.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/DecodeToken.js +52 -0
- package/dist/cjs/services/ESPRMNeoHelpers/DecodeToken.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/DelegatedTransportHandler.js +132 -0
- package/dist/cjs/services/ESPRMNeoHelpers/DelegatedTransportHandler.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/FetchTSData.js +137 -0
- package/dist/cjs/services/ESPRMNeoHelpers/FetchTSData.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/GetCurrentTimestamp.js +18 -0
- package/dist/cjs/services/ESPRMNeoHelpers/GetCurrentTimestamp.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/NodeMappingHelper.js +45 -0
- package/dist/cjs/services/ESPRMNeoHelpers/NodeMappingHelper.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/TransformEncoding.js +66 -0
- package/dist/cjs/services/ESPRMNeoHelpers/TransformEncoding.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.js +55 -0
- package/dist/cjs/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoMqtt/ESPRMNeoMqtt.js +120 -0
- package/dist/cjs/services/ESPRMNeoMqtt/ESPRMNeoMqtt.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoStorage/DefaultStorageAdapter.js +52 -0
- package/dist/cjs/services/ESPRMNeoStorage/DefaultStorageAdapter.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoStorage/ESPRMNeoStorage.js +142 -0
- package/dist/cjs/services/ESPRMNeoStorage/ESPRMNeoStorage.js.map +1 -0
- package/dist/cjs/services/ESPRMNeoSubscriptionManager.js +357 -0
- package/dist/cjs/services/ESPRMNeoSubscriptionManager.js.map +1 -0
- package/dist/cjs/services/ESPSigV4APIManager.js +328 -0
- package/dist/cjs/services/ESPSigV4APIManager.js.map +1 -0
- package/dist/cjs/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.js +62 -0
- package/dist/cjs/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.js.map +1 -0
- package/dist/cjs/services/ESPTransport/ESPLocalControlTransport.js +157 -0
- package/dist/cjs/services/ESPTransport/ESPLocalControlTransport.js.map +1 -0
- package/dist/cjs/services/ESPTransport/ESPMqttTransport.js +26 -0
- package/dist/cjs/services/ESPTransport/ESPMqttTransport.js.map +1 -0
- package/dist/cjs/services/ESPTransport/ESPTransportManager.js +42 -0
- package/dist/cjs/services/ESPTransport/ESPTransportManager.js.map +1 -0
- package/dist/cjs/services/MQTTSubscriptionChannel.js +274 -0
- package/dist/cjs/services/MQTTSubscriptionChannel.js.map +1 -0
- package/dist/cjs/services/NodeMQTTOrchestrator.js +558 -0
- package/dist/cjs/services/NodeMQTTOrchestrator.js.map +1 -0
- package/dist/cjs/services/NodeMQTTOrchestratorHelpers.js +81 -0
- package/dist/cjs/services/NodeMQTTOrchestratorHelpers.js.map +1 -0
- package/dist/cjs/services/NodeUpdatesBus.js +53 -0
- package/dist/cjs/services/NodeUpdatesBus.js.map +1 -0
- package/dist/cjs/types/discovery.js +29 -0
- package/dist/cjs/types/discovery.js.map +1 -0
- package/dist/cjs/types/provision.js +64 -0
- package/dist/cjs/types/provision.js.map +1 -0
- package/dist/cjs/types/subscription.js +20 -0
- package/dist/cjs/types/subscription.js.map +1 -0
- package/dist/cjs/types/transport.js +32 -0
- package/dist/cjs/types/transport.js.map +1 -0
- package/dist/cjs/utils/authUtils.js +28 -0
- package/dist/cjs/utils/authUtils.js.map +1 -0
- package/dist/cjs/utils/awsShadowTopics.js +154 -0
- package/dist/cjs/utils/awsShadowTopics.js.map +1 -0
- package/dist/cjs/utils/awsSigv4Utils.js +143 -0
- package/dist/cjs/utils/awsSigv4Utils.js.map +1 -0
- package/dist/cjs/utils/awsUtils.js +172 -0
- package/dist/cjs/utils/awsUtils.js.map +1 -0
- package/dist/cjs/utils/baseUtils.js +294 -0
- package/dist/cjs/utils/baseUtils.js.map +1 -0
- package/dist/cjs/utils/coerce.js +46 -0
- package/dist/cjs/utils/coerce.js.map +1 -0
- package/dist/cjs/utils/common.js +42 -0
- package/dist/cjs/utils/common.js.map +1 -0
- package/dist/cjs/utils/constants.js +893 -0
- package/dist/cjs/utils/constants.js.map +1 -0
- package/dist/cjs/utils/error/ESPAPICallValidationError.js +33 -0
- package/dist/cjs/utils/error/ESPAPICallValidationError.js.map +1 -0
- package/dist/cjs/utils/error/ESPAuthError.js +26 -0
- package/dist/cjs/utils/error/ESPAuthError.js.map +1 -0
- package/dist/cjs/utils/error/ESPBaseError.js +23 -0
- package/dist/cjs/utils/error/ESPBaseError.js.map +1 -0
- package/dist/cjs/utils/error/ESPClaimError.js +43 -0
- package/dist/cjs/utils/error/ESPClaimError.js.map +1 -0
- package/dist/cjs/utils/error/ESPConfigError.js +33 -0
- package/dist/cjs/utils/error/ESPConfigError.js.map +1 -0
- package/dist/cjs/utils/error/ESPProvError.js +33 -0
- package/dist/cjs/utils/error/ESPProvError.js.map +1 -0
- package/dist/cjs/utils/error/ESPStorageAdapterError.js +33 -0
- package/dist/cjs/utils/error/ESPStorageAdapterError.js.map +1 -0
- package/dist/cjs/utils/error/ESPTokenError.js +34 -0
- package/dist/cjs/utils/error/ESPTokenError.js.map +1 -0
- package/dist/cjs/utils/error/ESPValidationError.js +33 -0
- package/dist/cjs/utils/error/ESPValidationError.js.map +1 -0
- package/dist/cjs/utils/error/errorMessages.js +280 -0
- package/dist/cjs/utils/error/errorMessages.js.map +1 -0
- package/dist/cjs/utils/eventEmitter.js +54 -0
- package/dist/cjs/utils/eventEmitter.js.map +1 -0
- package/dist/cjs/utils/eventSubscriptionUtils.js +47 -0
- package/dist/cjs/utils/eventSubscriptionUtils.js.map +1 -0
- package/dist/cjs/utils/groupUtils.js +33 -0
- package/dist/cjs/utils/groupUtils.js.map +1 -0
- package/dist/cjs/utils/logger.js +47 -0
- package/dist/cjs/utils/logger.js.map +1 -0
- package/dist/cjs/utils/mapLimit.js +43 -0
- package/dist/cjs/utils/mapLimit.js.map +1 -0
- package/dist/cjs/utils/mqtt.js +29 -0
- package/dist/cjs/utils/mqtt.js.map +1 -0
- package/dist/cjs/utils/nodeNcfgVersionHandler.js +130 -0
- package/dist/cjs/utils/nodeNcfgVersionHandler.js.map +1 -0
- package/dist/cjs/utils/nodeTransform.js +117 -0
- package/dist/cjs/utils/nodeTransform.js.map +1 -0
- package/dist/cjs/utils/nodeUtils.js +114 -0
- package/dist/cjs/utils/nodeUtils.js.map +1 -0
- package/dist/cjs/utils/normalizeApiResponse.js +30 -0
- package/dist/cjs/utils/normalizeApiResponse.js.map +1 -0
- package/dist/cjs/utils/paramValues.js +58 -0
- package/dist/cjs/utils/paramValues.js.map +1 -0
- package/dist/cjs/utils/scheduleUtils.js +41 -0
- package/dist/cjs/utils/scheduleUtils.js.map +1 -0
- package/dist/cjs/utils/shadowUtils.js +72 -0
- package/dist/cjs/utils/shadowUtils.js.map +1 -0
- package/dist/cjs/utils/triggerUtils.js +60 -0
- package/dist/cjs/utils/triggerUtils.js.map +1 -0
- package/dist/cjs/utils/tsDataUtils.js +165 -0
- package/dist/cjs/utils/tsDataUtils.js.map +1 -0
- package/dist/cjs/utils/userUtils.js +60 -0
- package/dist/cjs/utils/userUtils.js.map +1 -0
- package/dist/cjs/utils/validator/ConfigValidator.js +216 -0
- package/dist/cjs/utils/validator/ConfigValidator.js.map +1 -0
- package/dist/cjs/utils/validator/ScheduleValidator.js +58 -0
- package/dist/cjs/utils/validator/ScheduleValidator.js.map +1 -0
- package/dist/cjs/utils/validator/validators.js +42 -0
- package/dist/cjs/utils/validator/validators.js.map +1 -0
- package/dist/cjs/utils/waitForNodeOnline.js +187 -0
- package/dist/cjs/utils/waitForNodeOnline.js.map +1 -0
- package/dist/esm/ESPDevice.js +33 -0
- package/dist/esm/ESPDevice.js.map +1 -0
- package/dist/esm/ESPRMNeoAuth.js +58 -0
- package/dist/esm/ESPRMNeoAuth.js.map +1 -0
- package/dist/esm/ESPRMNeoAutomation.js +46 -0
- package/dist/esm/ESPRMNeoAutomation.js.map +1 -0
- package/dist/esm/ESPRMNeoBase.js +248 -0
- package/dist/esm/ESPRMNeoBase.js.map +1 -0
- package/dist/esm/ESPRMNeoDevice.js +49 -0
- package/dist/esm/ESPRMNeoDevice.js.map +1 -0
- package/dist/esm/ESPRMNeoDeviceParam.js +52 -0
- package/dist/esm/ESPRMNeoDeviceParam.js.map +1 -0
- package/dist/esm/ESPRMNeoGroup.js +47 -0
- package/dist/esm/ESPRMNeoGroup.js.map +1 -0
- package/dist/esm/ESPRMNeoNode.js +281 -0
- package/dist/esm/ESPRMNeoNode.js.map +1 -0
- package/dist/esm/ESPRMNeoSchedule.js +64 -0
- package/dist/esm/ESPRMNeoSchedule.js.map +1 -0
- package/dist/esm/ESPRMNeoService.js +34 -0
- package/dist/esm/ESPRMNeoService.js.map +1 -0
- package/dist/esm/ESPRMNeoServiceParam.js +50 -0
- package/dist/esm/ESPRMNeoServiceParam.js.map +1 -0
- package/dist/esm/ESPRMNeoSharingRequest.js +31 -0
- package/dist/esm/ESPRMNeoSharingRequest.js.map +1 -0
- package/dist/esm/ESPRMNeoTrigger.js +48 -0
- package/dist/esm/ESPRMNeoTrigger.js.map +1 -0
- package/dist/esm/ESPRMNeoUser.js +80 -0
- package/dist/esm/ESPRMNeoUser.js.map +1 -0
- package/dist/esm/index.js +140 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/methods/ESPDevice/Connect.js +11 -0
- package/dist/esm/methods/ESPDevice/Connect.js.map +1 -0
- package/dist/esm/methods/ESPDevice/Disconnect.js +13 -0
- package/dist/esm/methods/ESPDevice/Disconnect.js.map +1 -0
- package/dist/esm/methods/ESPDevice/GetDeviceCapabilities.js +11 -0
- package/dist/esm/methods/ESPDevice/GetDeviceCapabilities.js.map +1 -0
- package/dist/esm/methods/ESPDevice/GetDeviceVersion.js +11 -0
- package/dist/esm/methods/ESPDevice/GetDeviceVersion.js.map +1 -0
- package/dist/esm/methods/ESPDevice/InitializeSession.js +11 -0
- package/dist/esm/methods/ESPDevice/InitializeSession.js.map +1 -0
- package/dist/esm/methods/ESPDevice/InitiateUserNodeMapping.js +12 -0
- package/dist/esm/methods/ESPDevice/InitiateUserNodeMapping.js.map +1 -0
- package/dist/esm/methods/ESPDevice/Provision.js +86 -0
- package/dist/esm/methods/ESPDevice/Provision.js.map +1 -0
- package/dist/esm/methods/ESPDevice/ScanWifiList.js +11 -0
- package/dist/esm/methods/ESPDevice/ScanWifiList.js.map +1 -0
- package/dist/esm/methods/ESPDevice/SendData.js +11 -0
- package/dist/esm/methods/ESPDevice/SendData.js.map +1 -0
- package/dist/esm/methods/ESPDevice/SetNetworkCredentials.js +11 -0
- package/dist/esm/methods/ESPDevice/SetNetworkCredentials.js.map +1 -0
- package/dist/esm/methods/ESPDevice/SetProofOfPossession.js +11 -0
- package/dist/esm/methods/ESPDevice/SetProofOfPossession.js.map +1 -0
- package/dist/esm/methods/ESPDevice/StartAssistedClaiming.js +258 -0
- package/dist/esm/methods/ESPDevice/StartAssistedClaiming.js.map +1 -0
- package/dist/esm/methods/ESPDevice/VerifyUserNodeMapping.js +12 -0
- package/dist/esm/methods/ESPDevice/VerifyUserNodeMapping.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAuth/ChangePassword.js +44 -0
- package/dist/esm/methods/ESPRMNeoAuth/ChangePassword.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAuth/ConfirmSignUp.js +39 -0
- package/dist/esm/methods/ESPRMNeoAuth/ConfirmSignUp.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAuth/ForgotPassword.js +37 -0
- package/dist/esm/methods/ESPRMNeoAuth/ForgotPassword.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAuth/GetLoggedInUser.js +54 -0
- package/dist/esm/methods/ESPRMNeoAuth/GetLoggedInUser.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAuth/Login.js +47 -0
- package/dist/esm/methods/ESPRMNeoAuth/Login.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAuth/SendSignUpCode.js +45 -0
- package/dist/esm/methods/ESPRMNeoAuth/SendSignUpCode.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAuth/SetNewPassword.js +39 -0
- package/dist/esm/methods/ESPRMNeoAuth/SetNewPassword.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAutomation/AddAction.js +21 -0
- package/dist/esm/methods/ESPRMNeoAutomation/AddAction.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAutomation/AddCondition.js +25 -0
- package/dist/esm/methods/ESPRMNeoAutomation/AddCondition.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAutomation/Delete.js +27 -0
- package/dist/esm/methods/ESPRMNeoAutomation/Delete.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAutomation/RemoveAction.js +21 -0
- package/dist/esm/methods/ESPRMNeoAutomation/RemoveAction.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAutomation/RemoveCondition.js +21 -0
- package/dist/esm/methods/ESPRMNeoAutomation/RemoveCondition.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoAutomation/Update.js +38 -0
- package/dist/esm/methods/ESPRMNeoAutomation/Update.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoDevice/GetParams.js +32 -0
- package/dist/esm/methods/ESPRMNeoDevice/GetParams.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoDeviceParam/GetLatestTSData.js +24 -0
- package/dist/esm/methods/ESPRMNeoDeviceParam/GetLatestTSData.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoDeviceParam/GetRawTSData.js +26 -0
- package/dist/esm/methods/ESPRMNeoDeviceParam/GetRawTSData.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoDeviceParam/GetTSData.js +26 -0
- package/dist/esm/methods/ESPRMNeoDeviceParam/GetTSData.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/AddNode.js +27 -0
- package/dist/esm/methods/ESPRMNeoGroup/AddNode.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/CreateAutomation.js +30 -0
- package/dist/esm/methods/ESPRMNeoGroup/CreateAutomation.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/CreateSchedule.js +52 -0
- package/dist/esm/methods/ESPRMNeoGroup/CreateSchedule.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/CreateSubGroup.js +37 -0
- package/dist/esm/methods/ESPRMNeoGroup/CreateSubGroup.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/Delete.js +28 -0
- package/dist/esm/methods/ESPRMNeoGroup/Delete.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/DeleteAllSchedules.js +32 -0
- package/dist/esm/methods/ESPRMNeoGroup/DeleteAllSchedules.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetAutomation.js +17 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetAutomation.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetAutomations.js +26 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetAutomations.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetNode.js +20 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetNode.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetNodes.js +18 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetNodes.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetSchedules.js +40 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetSchedules.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetSharingInfo.js +31 -0
- package/dist/esm/methods/ESPRMNeoGroup/GetSharingInfo.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/Leave.js +20 -0
- package/dist/esm/methods/ESPRMNeoGroup/Leave.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/RemoveMember.js +27 -0
- package/dist/esm/methods/ESPRMNeoGroup/RemoveMember.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/RemoveNode.js +24 -0
- package/dist/esm/methods/ESPRMNeoGroup/RemoveNode.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/SetParams.js +27 -0
- package/dist/esm/methods/ESPRMNeoGroup/SetParams.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/Share.js +32 -0
- package/dist/esm/methods/ESPRMNeoGroup/Share.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoGroup/UpdateName.js +35 -0
- package/dist/esm/methods/ESPRMNeoGroup/UpdateName.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/CreateSchedule.js +45 -0
- package/dist/esm/methods/ESPRMNeoNode/CreateSchedule.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/CreateTrigger.js +38 -0
- package/dist/esm/methods/ESPRMNeoNode/CreateTrigger.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/Delete.js +29 -0
- package/dist/esm/methods/ESPRMNeoNode/Delete.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/GetConfig.js +11 -0
- package/dist/esm/methods/ESPRMNeoNode/GetConfig.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/GetCustomParamLatestTSData.js +18 -0
- package/dist/esm/methods/ESPRMNeoNode/GetCustomParamLatestTSData.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/GetCustomParamRawTSData.js +20 -0
- package/dist/esm/methods/ESPRMNeoNode/GetCustomParamRawTSData.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/GetCustomParamTSData.js +20 -0
- package/dist/esm/methods/ESPRMNeoNode/GetCustomParamTSData.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/GetSchedules.js +20 -0
- package/dist/esm/methods/ESPRMNeoNode/GetSchedules.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/GetTriggers.js +26 -0
- package/dist/esm/methods/ESPRMNeoNode/GetTriggers.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/RemoveAllSchedules.js +20 -0
- package/dist/esm/methods/ESPRMNeoNode/RemoveAllSchedules.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/RemoveAllTriggers.js +20 -0
- package/dist/esm/methods/ESPRMNeoNode/RemoveAllTriggers.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/RemoveSchedule.js +33 -0
- package/dist/esm/methods/ESPRMNeoNode/RemoveSchedule.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/RemoveTrigger.js +25 -0
- package/dist/esm/methods/ESPRMNeoNode/RemoveTrigger.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/SetParams.js +18 -0
- package/dist/esm/methods/ESPRMNeoNode/SetParams.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/SubscriptionConfig.js +23 -0
- package/dist/esm/methods/ESPRMNeoNode/SubscriptionConfig.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/Sync.js +28 -0
- package/dist/esm/methods/ESPRMNeoNode/Sync.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.js +22 -0
- package/dist/esm/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoSchedule/Delete.js +17 -0
- package/dist/esm/methods/ESPRMNeoSchedule/Delete.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoSchedule/Enable.js +11 -0
- package/dist/esm/methods/ESPRMNeoSchedule/Enable.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoSchedule/Update.js +48 -0
- package/dist/esm/methods/ESPRMNeoSchedule/Update.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoService/GetParams.js +40 -0
- package/dist/esm/methods/ESPRMNeoService/GetParams.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoSharingRequest/Accept.js +35 -0
- package/dist/esm/methods/ESPRMNeoSharingRequest/Accept.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoSharingRequest/Decline.js +35 -0
- package/dist/esm/methods/ESPRMNeoSharingRequest/Decline.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoTrigger/Delete.js +17 -0
- package/dist/esm/methods/ESPRMNeoTrigger/Delete.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoTrigger/Enable.js +11 -0
- package/dist/esm/methods/ESPRMNeoTrigger/Enable.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoTrigger/Update.js +32 -0
- package/dist/esm/methods/ESPRMNeoTrigger/Update.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/CreateESPDevice.js +30 -0
- package/dist/esm/methods/ESPRMNeoUser/CreateESPDevice.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/CreateGroup.js +37 -0
- package/dist/esm/methods/ESPRMNeoUser/CreateGroup.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/EventSubscription.js +48 -0
- package/dist/esm/methods/ESPRMNeoUser/EventSubscription.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/GetGroups.js +52 -0
- package/dist/esm/methods/ESPRMNeoUser/GetGroups.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.js +77 -0
- package/dist/esm/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/GetUserInfo.js +37 -0
- package/dist/esm/methods/ESPRMNeoUser/GetUserInfo.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/ListIntegrations.js +35 -0
- package/dist/esm/methods/ESPRMNeoUser/ListIntegrations.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/ListSharingRequests.js +29 -0
- package/dist/esm/methods/ESPRMNeoUser/ListSharingRequests.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/Logout.js +38 -0
- package/dist/esm/methods/ESPRMNeoUser/Logout.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/MQTT/AssumeRole.js +36 -0
- package/dist/esm/methods/ESPRMNeoUser/MQTT/AssumeRole.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/MQTT/ConnectMQTT.js +65 -0
- package/dist/esm/methods/ESPRMNeoUser/MQTT/ConnectMQTT.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.js +27 -0
- package/dist/esm/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.js +39 -0
- package/dist/esm/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/SearchESPDevices.js +48 -0
- package/dist/esm/methods/ESPRMNeoUser/SearchESPDevices.js.map +1 -0
- package/dist/esm/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.js +42 -0
- package/dist/esm/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.js.map +1 -0
- package/dist/esm/proto/constants.js +24 -0
- package/dist/esm/proto/constants.js.map +1 -0
- package/dist/esm/proto/esp_local_ctrl.js +758 -0
- package/dist/esm/proto/esp_local_ctrl.js.map +1 -0
- package/dist/esm/proto/esp_rmaker_chal_resp.js +446 -0
- package/dist/esm/proto/esp_rmaker_chal_resp.js.map +1 -0
- package/dist/esm/proto/esp_rmaker_claim.js +356 -0
- package/dist/esm/proto/esp_rmaker_claim.js.map +1 -0
- package/dist/esm/services/ESPRMNeoAPIManager.js +204 -0
- package/dist/esm/services/ESPRMNeoAPIManager.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/ChallengeResponseHelper.js +104 -0
- package/dist/esm/services/ESPRMNeoHelpers/ChallengeResponseHelper.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/ChannelRegistration.js +47 -0
- package/dist/esm/services/ESPRMNeoHelpers/ChannelRegistration.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/CheckTokenExpiry.js +23 -0
- package/dist/esm/services/ESPRMNeoHelpers/CheckTokenExpiry.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/ClaimingHelper.js +219 -0
- package/dist/esm/services/ESPRMNeoHelpers/ClaimingHelper.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/DecodeToken.js +50 -0
- package/dist/esm/services/ESPRMNeoHelpers/DecodeToken.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/DelegatedTransportHandler.js +130 -0
- package/dist/esm/services/ESPRMNeoHelpers/DelegatedTransportHandler.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/FetchTSData.js +133 -0
- package/dist/esm/services/ESPRMNeoHelpers/FetchTSData.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/GetCurrentTimestamp.js +16 -0
- package/dist/esm/services/ESPRMNeoHelpers/GetCurrentTimestamp.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/NodeMappingHelper.js +43 -0
- package/dist/esm/services/ESPRMNeoHelpers/NodeMappingHelper.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/TransformEncoding.js +63 -0
- package/dist/esm/services/ESPRMNeoHelpers/TransformEncoding.js.map +1 -0
- package/dist/esm/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.js +52 -0
- package/dist/esm/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.js.map +1 -0
- package/dist/esm/services/ESPRMNeoMqtt/ESPRMNeoMqtt.js +118 -0
- package/dist/esm/services/ESPRMNeoMqtt/ESPRMNeoMqtt.js.map +1 -0
- package/dist/esm/services/ESPRMNeoStorage/DefaultStorageAdapter.js +50 -0
- package/dist/esm/services/ESPRMNeoStorage/DefaultStorageAdapter.js.map +1 -0
- package/dist/esm/services/ESPRMNeoStorage/ESPRMNeoStorage.js +139 -0
- package/dist/esm/services/ESPRMNeoStorage/ESPRMNeoStorage.js.map +1 -0
- package/dist/esm/services/ESPRMNeoSubscriptionManager.js +355 -0
- package/dist/esm/services/ESPRMNeoSubscriptionManager.js.map +1 -0
- package/dist/esm/services/ESPSigV4APIManager.js +324 -0
- package/dist/esm/services/ESPSigV4APIManager.js.map +1 -0
- package/dist/esm/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.js +60 -0
- package/dist/esm/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.js.map +1 -0
- package/dist/esm/services/ESPTransport/ESPLocalControlTransport.js +155 -0
- package/dist/esm/services/ESPTransport/ESPLocalControlTransport.js.map +1 -0
- package/dist/esm/services/ESPTransport/ESPMqttTransport.js +24 -0
- package/dist/esm/services/ESPTransport/ESPMqttTransport.js.map +1 -0
- package/dist/esm/services/ESPTransport/ESPTransportManager.js +40 -0
- package/dist/esm/services/ESPTransport/ESPTransportManager.js.map +1 -0
- package/dist/esm/services/MQTTSubscriptionChannel.js +272 -0
- package/dist/esm/services/MQTTSubscriptionChannel.js.map +1 -0
- package/dist/esm/services/NodeMQTTOrchestrator.js +556 -0
- package/dist/esm/services/NodeMQTTOrchestrator.js.map +1 -0
- package/dist/esm/services/NodeMQTTOrchestratorHelpers.js +77 -0
- package/dist/esm/services/NodeMQTTOrchestratorHelpers.js.map +1 -0
- package/dist/esm/services/NodeUpdatesBus.js +50 -0
- package/dist/esm/services/NodeUpdatesBus.js.map +1 -0
- package/dist/esm/types/discovery.js +29 -0
- package/dist/esm/types/discovery.js.map +1 -0
- package/dist/esm/types/provision.js +64 -0
- package/dist/esm/types/provision.js.map +1 -0
- package/dist/esm/types/subscription.js +18 -0
- package/dist/esm/types/subscription.js.map +1 -0
- package/dist/esm/types/transport.js +30 -0
- package/dist/esm/types/transport.js.map +1 -0
- package/dist/esm/utils/authUtils.js +25 -0
- package/dist/esm/utils/authUtils.js.map +1 -0
- package/dist/esm/utils/awsShadowTopics.js +143 -0
- package/dist/esm/utils/awsShadowTopics.js.map +1 -0
- package/dist/esm/utils/awsSigv4Utils.js +138 -0
- package/dist/esm/utils/awsSigv4Utils.js.map +1 -0
- package/dist/esm/utils/awsUtils.js +163 -0
- package/dist/esm/utils/awsUtils.js.map +1 -0
- package/dist/esm/utils/baseUtils.js +280 -0
- package/dist/esm/utils/baseUtils.js.map +1 -0
- package/dist/esm/utils/coerce.js +42 -0
- package/dist/esm/utils/coerce.js.map +1 -0
- package/dist/esm/utils/common.js +37 -0
- package/dist/esm/utils/common.js.map +1 -0
- package/dist/esm/utils/constants.js +844 -0
- package/dist/esm/utils/constants.js.map +1 -0
- package/dist/esm/utils/error/ESPAPICallValidationError.js +31 -0
- package/dist/esm/utils/error/ESPAPICallValidationError.js.map +1 -0
- package/dist/esm/utils/error/ESPAuthError.js +24 -0
- package/dist/esm/utils/error/ESPAuthError.js.map +1 -0
- package/dist/esm/utils/error/ESPBaseError.js +21 -0
- package/dist/esm/utils/error/ESPBaseError.js.map +1 -0
- package/dist/esm/utils/error/ESPClaimError.js +41 -0
- package/dist/esm/utils/error/ESPClaimError.js.map +1 -0
- package/dist/esm/utils/error/ESPConfigError.js +31 -0
- package/dist/esm/utils/error/ESPConfigError.js.map +1 -0
- package/dist/esm/utils/error/ESPProvError.js +31 -0
- package/dist/esm/utils/error/ESPProvError.js.map +1 -0
- package/dist/esm/utils/error/ESPStorageAdapterError.js +31 -0
- package/dist/esm/utils/error/ESPStorageAdapterError.js.map +1 -0
- package/dist/esm/utils/error/ESPTokenError.js +32 -0
- package/dist/esm/utils/error/ESPTokenError.js.map +1 -0
- package/dist/esm/utils/error/ESPValidationError.js +31 -0
- package/dist/esm/utils/error/ESPValidationError.js.map +1 -0
- package/dist/esm/utils/error/errorMessages.js +270 -0
- package/dist/esm/utils/error/errorMessages.js.map +1 -0
- package/dist/esm/utils/eventEmitter.js +52 -0
- package/dist/esm/utils/eventEmitter.js.map +1 -0
- package/dist/esm/utils/eventSubscriptionUtils.js +42 -0
- package/dist/esm/utils/eventSubscriptionUtils.js.map +1 -0
- package/dist/esm/utils/groupUtils.js +30 -0
- package/dist/esm/utils/groupUtils.js.map +1 -0
- package/dist/esm/utils/logger.js +45 -0
- package/dist/esm/utils/logger.js.map +1 -0
- package/dist/esm/utils/mapLimit.js +41 -0
- package/dist/esm/utils/mapLimit.js.map +1 -0
- package/dist/esm/utils/mqtt.js +27 -0
- package/dist/esm/utils/mqtt.js.map +1 -0
- package/dist/esm/utils/nodeNcfgVersionHandler.js +123 -0
- package/dist/esm/utils/nodeNcfgVersionHandler.js.map +1 -0
- package/dist/esm/utils/nodeTransform.js +109 -0
- package/dist/esm/utils/nodeTransform.js.map +1 -0
- package/dist/esm/utils/nodeUtils.js +104 -0
- package/dist/esm/utils/nodeUtils.js.map +1 -0
- package/dist/esm/utils/normalizeApiResponse.js +28 -0
- package/dist/esm/utils/normalizeApiResponse.js.map +1 -0
- package/dist/esm/utils/paramValues.js +54 -0
- package/dist/esm/utils/paramValues.js.map +1 -0
- package/dist/esm/utils/scheduleUtils.js +38 -0
- package/dist/esm/utils/scheduleUtils.js.map +1 -0
- package/dist/esm/utils/shadowUtils.js +67 -0
- package/dist/esm/utils/shadowUtils.js.map +1 -0
- package/dist/esm/utils/triggerUtils.js +55 -0
- package/dist/esm/utils/triggerUtils.js.map +1 -0
- package/dist/esm/utils/tsDataUtils.js +156 -0
- package/dist/esm/utils/tsDataUtils.js.map +1 -0
- package/dist/esm/utils/userUtils.js +54 -0
- package/dist/esm/utils/userUtils.js.map +1 -0
- package/dist/esm/utils/validator/ConfigValidator.js +214 -0
- package/dist/esm/utils/validator/ConfigValidator.js.map +1 -0
- package/dist/esm/utils/validator/ScheduleValidator.js +56 -0
- package/dist/esm/utils/validator/ScheduleValidator.js.map +1 -0
- package/dist/esm/utils/validator/validators.js +38 -0
- package/dist/esm/utils/validator/validators.js.map +1 -0
- package/dist/esm/utils/waitForNodeOnline.js +182 -0
- package/dist/esm/utils/waitForNodeOnline.js.map +1 -0
- package/dist/types/ESPDevice.d.ts +13 -0
- package/dist/types/ESPRMNeoAuth.d.ts +26 -0
- package/dist/types/ESPRMNeoAutomation.d.ts +17 -0
- package/dist/types/ESPRMNeoBase.d.ts +169 -0
- package/dist/types/ESPRMNeoDevice.d.ts +31 -0
- package/dist/types/ESPRMNeoDeviceParam.d.ts +25 -0
- package/dist/types/ESPRMNeoGroup.d.ts +26 -0
- package/dist/types/ESPRMNeoNode.d.ts +142 -0
- package/dist/types/ESPRMNeoSchedule.d.ts +36 -0
- package/dist/types/ESPRMNeoService.d.ts +24 -0
- package/dist/types/ESPRMNeoServiceParam.d.ts +23 -0
- package/dist/types/ESPRMNeoSharingRequest.d.ts +16 -0
- package/dist/types/ESPRMNeoTrigger.d.ts +26 -0
- package/dist/types/ESPRMNeoUser.d.ts +47 -0
- package/dist/types/index.d.ts +23 -0
- package/dist/types/methods/ESPDevice/Connect.d.ts +15 -0
- package/dist/types/methods/ESPDevice/Disconnect.d.ts +15 -0
- package/dist/types/methods/ESPDevice/GetDeviceCapabilities.d.ts +15 -0
- package/dist/types/methods/ESPDevice/GetDeviceVersion.d.ts +17 -0
- package/dist/types/methods/ESPDevice/InitializeSession.d.ts +15 -0
- package/dist/types/methods/ESPDevice/InitiateUserNodeMapping.d.ts +14 -0
- package/dist/types/methods/ESPDevice/Provision.d.ts +28 -0
- package/dist/types/methods/ESPDevice/ScanWifiList.d.ts +15 -0
- package/dist/types/methods/ESPDevice/SendData.d.ts +17 -0
- package/dist/types/methods/ESPDevice/SetNetworkCredentials.d.ts +15 -0
- package/dist/types/methods/ESPDevice/SetProofOfPossession.d.ts +16 -0
- package/dist/types/methods/ESPDevice/StartAssistedClaiming.d.ts +26 -0
- package/dist/types/methods/ESPDevice/VerifyUserNodeMapping.d.ts +16 -0
- package/dist/types/methods/ESPDevice/index.d.ts +13 -0
- package/dist/types/methods/ESPRMNeoAuth/ChangePassword.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoAuth/ConfirmSignUp.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoAuth/ForgotPassword.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoAuth/GetLoggedInUser.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoAuth/Login.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoAuth/SendSignUpCode.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoAuth/SetNewPassword.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoAuth/index.d.ts +7 -0
- package/dist/types/methods/ESPRMNeoAutomation/AddAction.d.ts +18 -0
- package/dist/types/methods/ESPRMNeoAutomation/AddCondition.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoAutomation/Delete.d.ts +18 -0
- package/dist/types/methods/ESPRMNeoAutomation/RemoveAction.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoAutomation/RemoveCondition.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoAutomation/Update.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoAutomation/index.d.ts +6 -0
- package/dist/types/methods/ESPRMNeoDevice/GetParams.d.ts +41 -0
- package/dist/types/methods/ESPRMNeoDevice/index.d.ts +1 -0
- package/dist/types/methods/ESPRMNeoDeviceParam/GetLatestTSData.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoDeviceParam/GetRawTSData.d.ts +18 -0
- package/dist/types/methods/ESPRMNeoDeviceParam/GetTSData.d.ts +23 -0
- package/dist/types/methods/ESPRMNeoDeviceParam/index.d.ts +3 -0
- package/dist/types/methods/ESPRMNeoGroup/AddNode.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoGroup/CreateAutomation.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoGroup/CreateSchedule.d.ts +23 -0
- package/dist/types/methods/ESPRMNeoGroup/CreateSubGroup.d.ts +18 -0
- package/dist/types/methods/ESPRMNeoGroup/Delete.d.ts +23 -0
- package/dist/types/methods/ESPRMNeoGroup/DeleteAllSchedules.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoGroup/GetAutomation.d.ts +18 -0
- package/dist/types/methods/ESPRMNeoGroup/GetAutomations.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoGroup/GetNode.d.ts +45 -0
- package/dist/types/methods/ESPRMNeoGroup/GetNodes.d.ts +28 -0
- package/dist/types/methods/ESPRMNeoGroup/GetSchedules.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoGroup/GetSharingInfo.d.ts +23 -0
- package/dist/types/methods/ESPRMNeoGroup/Leave.d.ts +24 -0
- package/dist/types/methods/ESPRMNeoGroup/RemoveMember.d.ts +21 -0
- package/dist/types/methods/ESPRMNeoGroup/RemoveNode.d.ts +15 -0
- package/dist/types/methods/ESPRMNeoGroup/SetParams.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoGroup/Share.d.ts +25 -0
- package/dist/types/methods/ESPRMNeoGroup/UpdateName.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoGroup/index.d.ts +18 -0
- package/dist/types/methods/ESPRMNeoNode/CreateSchedule.d.ts +31 -0
- package/dist/types/methods/ESPRMNeoNode/CreateTrigger.d.ts +31 -0
- package/dist/types/methods/ESPRMNeoNode/Delete.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoNode/GetConfig.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoNode/GetCustomParamLatestTSData.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoNode/GetCustomParamRawTSData.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoNode/GetCustomParamTSData.d.ts +25 -0
- package/dist/types/methods/ESPRMNeoNode/GetSchedules.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoNode/GetTriggers.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoNode/RemoveAllSchedules.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoNode/RemoveAllTriggers.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoNode/RemoveSchedule.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoNode/RemoveTrigger.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoNode/SetParams.d.ts +23 -0
- package/dist/types/methods/ESPRMNeoNode/SubscriptionConfig.d.ts +33 -0
- package/dist/types/methods/ESPRMNeoNode/Sync.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.d.ts +23 -0
- package/dist/types/methods/ESPRMNeoNode/index.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoSchedule/Delete.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoSchedule/Enable.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoSchedule/Update.d.ts +18 -0
- package/dist/types/methods/ESPRMNeoSchedule/index.d.ts +3 -0
- package/dist/types/methods/ESPRMNeoService/GetParams.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoService/index.d.ts +1 -0
- package/dist/types/methods/ESPRMNeoSharingRequest/Accept.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoSharingRequest/Decline.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoSharingRequest/index.d.ts +2 -0
- package/dist/types/methods/ESPRMNeoTrigger/Delete.d.ts +15 -0
- package/dist/types/methods/ESPRMNeoTrigger/Enable.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoTrigger/Update.d.ts +22 -0
- package/dist/types/methods/ESPRMNeoTrigger/index.d.ts +3 -0
- package/dist/types/methods/ESPRMNeoUser/CreateESPDevice.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoUser/CreateGroup.d.ts +17 -0
- package/dist/types/methods/ESPRMNeoUser/EventSubscription.d.ts +29 -0
- package/dist/types/methods/ESPRMNeoUser/GetGroups.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.d.ts +42 -0
- package/dist/types/methods/ESPRMNeoUser/GetUserInfo.d.ts +14 -0
- package/dist/types/methods/ESPRMNeoUser/ListIntegrations.d.ts +20 -0
- package/dist/types/methods/ESPRMNeoUser/ListSharingRequests.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoUser/Logout.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoUser/MQTT/AssumeRole.d.ts +33 -0
- package/dist/types/methods/ESPRMNeoUser/MQTT/ConnectMQTT.d.ts +18 -0
- package/dist/types/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.d.ts +15 -0
- package/dist/types/methods/ESPRMNeoUser/MQTT/index.d.ts +4 -0
- package/dist/types/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.d.ts +22 -0
- package/dist/types/methods/ESPRMNeoUser/SearchESPDevices.d.ts +16 -0
- package/dist/types/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.d.ts +19 -0
- package/dist/types/methods/ESPRMNeoUser/index.d.ts +13 -0
- package/dist/types/methods/export.d.ts +12 -0
- package/dist/types/proto/constants.d.ts +15 -0
- package/dist/types/proto/esp_local_ctrl.d.ts +283 -0
- package/dist/types/proto/esp_rmaker_chal_resp.d.ts +157 -0
- package/dist/types/proto/esp_rmaker_claim.d.ts +136 -0
- package/dist/types/proto/esp_rmaker_user_mapping.d.ts +101 -0
- package/dist/types/services/ESPRMNeoAPIManager.d.ts +84 -0
- package/dist/types/services/ESPRMNeoHelpers/BinaryWriter.d.ts +5 -0
- package/dist/types/services/ESPRMNeoHelpers/ChallengeResponseHelper.d.ts +33 -0
- package/dist/types/services/ESPRMNeoHelpers/ChannelRegistration.d.ts +14 -0
- package/dist/types/services/ESPRMNeoHelpers/CheckTokenExpiry.d.ts +8 -0
- package/dist/types/services/ESPRMNeoHelpers/ClaimingHelper.d.ts +141 -0
- package/dist/types/services/ESPRMNeoHelpers/DecodeToken.d.ts +12 -0
- package/dist/types/services/ESPRMNeoHelpers/DelegatedTransportHandler.d.ts +25 -0
- package/dist/types/services/ESPRMNeoHelpers/FetchTSData.d.ts +37 -0
- package/dist/types/services/ESPRMNeoHelpers/GenerateUUID.d.ts +1 -0
- package/dist/types/services/ESPRMNeoHelpers/GetCurrentTimestamp.d.ts +7 -0
- package/dist/types/services/ESPRMNeoHelpers/NodeMappingHelper.d.ts +26 -0
- package/dist/types/services/ESPRMNeoHelpers/TransformEncoding.d.ts +13 -0
- package/dist/types/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.d.ts +25 -0
- package/dist/types/services/ESPRMNeoMqtt/ESPMQTTConfig.d.ts +15 -0
- package/dist/types/services/ESPRMNeoMqtt/ESPRMNeoMqtt.d.ts +83 -0
- package/dist/types/services/ESPRMNeoStorage/DefaultStorageAdapter.d.ts +17 -0
- package/dist/types/services/ESPRMNeoStorage/ESPRMNeoStorage.d.ts +65 -0
- package/dist/types/services/ESPRMNeoSubscriptionManager.d.ts +211 -0
- package/dist/types/services/ESPSigV4APIManager.d.ts +99 -0
- package/dist/types/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.d.ts +32 -0
- package/dist/types/services/ESPTransport/ESPLocalControlTransport.d.ts +38 -0
- package/dist/types/services/ESPTransport/ESPMqttTransport.d.ts +13 -0
- package/dist/types/services/ESPTransport/ESPTransportManager.d.ts +15 -0
- package/dist/types/services/MQTTSubscriptionChannel.d.ts +140 -0
- package/dist/types/services/NodeMQTTOrchestrator.d.ts +213 -0
- package/dist/types/services/NodeMQTTOrchestratorHelpers.d.ts +45 -0
- package/dist/types/services/NodeUpdatesBus.d.ts +21 -0
- package/dist/types/services/export.d.ts +41 -0
- package/dist/types/services/interfaces/MQTTTransport.d.ts +62 -0
- package/dist/types/types/auth.d.ts +89 -0
- package/dist/types/types/automation.d.ts +63 -0
- package/dist/types/types/common.d.ts +5 -0
- package/dist/types/types/discovery.d.ts +71 -0
- package/dist/types/types/export.d.ts +17 -0
- package/dist/types/types/group.d.ts +10 -0
- package/dist/types/types/input.d.ts +81 -0
- package/dist/types/types/localControl.d.ts +17 -0
- package/dist/types/types/mainTypes.d.ts +5 -0
- package/dist/types/types/node.d.ts +202 -0
- package/dist/types/types/output.d.ts +195 -0
- package/dist/types/types/provision.d.ts +120 -0
- package/dist/types/types/schedule.d.ts +45 -0
- package/dist/types/types/storage.d.ts +31 -0
- package/dist/types/types/subscription.d.ts +149 -0
- package/dist/types/types/transport.d.ts +65 -0
- package/dist/types/types/trigger.d.ts +24 -0
- package/dist/types/types/tsData.d.ts +222 -0
- package/dist/types/utils/authUtils.d.ts +14 -0
- package/dist/types/utils/awsShadowTopics.d.ts +78 -0
- package/dist/types/utils/awsSigv4Utils.d.ts +53 -0
- package/dist/types/utils/awsUtils.d.ts +48 -0
- package/dist/types/utils/baseUtils.d.ts +136 -0
- package/dist/types/utils/coerce.d.ts +19 -0
- package/dist/types/utils/common.d.ts +15 -0
- package/dist/types/utils/constants.d.ts +825 -0
- package/dist/types/utils/error/ESPAPICallValidationError.d.ts +19 -0
- package/dist/types/utils/error/ESPAuthError.d.ts +11 -0
- package/dist/types/utils/error/ESPBaseError.d.ts +8 -0
- package/dist/types/utils/error/ESPClaimError.d.ts +25 -0
- package/dist/types/utils/error/ESPConfigError.d.ts +19 -0
- package/dist/types/utils/error/ESPProvError.d.ts +19 -0
- package/dist/types/utils/error/ESPStorageAdapterError.d.ts +19 -0
- package/dist/types/utils/error/ESPTokenError.d.ts +20 -0
- package/dist/types/utils/error/ESPValidationError.d.ts +19 -0
- package/dist/types/utils/error/Error.d.ts +8 -0
- package/dist/types/utils/error/errorMessages.d.ts +267 -0
- package/dist/types/utils/eventEmitter.d.ts +11 -0
- package/dist/types/utils/eventSubscriptionUtils.d.ts +17 -0
- package/dist/types/utils/export.d.ts +22 -0
- package/dist/types/utils/groupUtils.d.ts +20 -0
- package/dist/types/utils/logger.d.ts +16 -0
- package/dist/types/utils/mapLimit.d.ts +10 -0
- package/dist/types/utils/mqtt.d.ts +9 -0
- package/dist/types/utils/nodeNcfgVersionHandler.d.ts +36 -0
- package/dist/types/utils/nodeTransform.d.ts +66 -0
- package/dist/types/utils/nodeUtils.d.ts +36 -0
- package/dist/types/utils/normalizeApiResponse.d.ts +6 -0
- package/dist/types/utils/paramValues.d.ts +30 -0
- package/dist/types/utils/scheduleUtils.d.ts +14 -0
- package/dist/types/utils/shadowUtils.d.ts +29 -0
- package/dist/types/utils/triggerUtils.d.ts +32 -0
- package/dist/types/utils/tsDataUtils.d.ts +70 -0
- package/dist/types/utils/userUtils.d.ts +11 -0
- package/dist/types/utils/validator/ConfigValidator.d.ts +99 -0
- package/dist/types/utils/validator/ScheduleValidator.d.ts +23 -0
- package/dist/types/utils/validator/validators.d.ts +18 -0
- package/dist/types/utils/waitForNodeOnline.d.ts +48 -0
- package/package.json +116 -0
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
import { extractNodeIdFromTopic, parseShadowMessage, getReportedParamsFromShadowLiveMessage, buildShadowBase, getReportedParamsFromShadowDocument, getStateFromPayload, buildRainMakerUserParamsTopic, buildShadowUpdatePayload, buildShadowGroupWildcardTopics, buildGroupControlParamsTopic } from '../utils/awsShadowTopics.js';
|
|
2
|
+
import { clearAllPendingRequests, cleanupSubscriptionIfIdle, notifyListenersSafely } from './NodeMQTTOrchestratorHelpers.js';
|
|
3
|
+
import { Logger } from '../utils/logger.js';
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
*/
|
|
10
|
+
const logger = new Logger("NodeMQTTOrchestrator");
|
|
11
|
+
/** Default timeout (ms) for request-response operations */
|
|
12
|
+
const DEFAULT_REQUEST_TIMEOUT_MS = 5000;
|
|
13
|
+
/**
|
|
14
|
+
* NodeMQTTOrchestrator - Central MQTT orchestration layer for AWS IoT Device Shadow.
|
|
15
|
+
*
|
|
16
|
+
* Design principles:
|
|
17
|
+
* - Node-agnostic: does not depend on the Node class.
|
|
18
|
+
* - Single connection: one MQTT client, one message router.
|
|
19
|
+
* - Deduplicated subscriptions: 30 nodes → maybe 3 shadows → only 3 MQTT subscriptions.
|
|
20
|
+
* - Nodes = dumb consumers, Orchestrator = brain.
|
|
21
|
+
*/
|
|
22
|
+
class NodeMQTTOrchestrator {
|
|
23
|
+
// ─── Fields ─────────────────────────────────────────────────────────
|
|
24
|
+
static _instance = null;
|
|
25
|
+
/**
|
|
26
|
+
* Increments every time the orchestrator is (re)initialized — e.g. on a
|
|
27
|
+
* logout→login cycle, where {@link clear} wipes all subscription state and a
|
|
28
|
+
* fresh {@link initialize} follows. Subscribers (the MQTT channel) compare
|
|
29
|
+
* this to detect that their cached listener/topic state is stale and must
|
|
30
|
+
* be re-attached to the new orchestrator.
|
|
31
|
+
*/
|
|
32
|
+
static _generation = 0;
|
|
33
|
+
transport = null;
|
|
34
|
+
initialized = false;
|
|
35
|
+
/** nodeId → NodeRegistration */
|
|
36
|
+
nodeMap = new Map();
|
|
37
|
+
/** shadowName → subscription state */
|
|
38
|
+
shadowSubs = new Map();
|
|
39
|
+
/** responseTopic → pending request (for getShadow, getParams) */
|
|
40
|
+
pendingRequests = new Map();
|
|
41
|
+
/**
|
|
42
|
+
* Per-shadow serial op queue. Subscribe / unsubscribe for the same shadow are
|
|
43
|
+
* chained through this so they never interleave across `await` — otherwise
|
|
44
|
+
* two concurrent subscribes for the same shadow could both call
|
|
45
|
+
* `transport.subscribe(...)` and produce duplicate delivery of every message.
|
|
46
|
+
*/
|
|
47
|
+
shadowOps = new Map();
|
|
48
|
+
constructor() { }
|
|
49
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
50
|
+
// Lifecycle
|
|
51
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
52
|
+
/**
|
|
53
|
+
* Returns the singleton instance.
|
|
54
|
+
*
|
|
55
|
+
* @throws {Error} If orchestrator is not initialized.
|
|
56
|
+
*/
|
|
57
|
+
static getInstance() {
|
|
58
|
+
const instance = NodeMQTTOrchestrator._instance;
|
|
59
|
+
if (!instance || !instance.initialized) {
|
|
60
|
+
throw new Error("NodeMQTTOrchestrator not initialized. Call initialize(transport) first.");
|
|
61
|
+
}
|
|
62
|
+
return instance;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Initializes the orchestrator with an MQTT transport. Must be called before
|
|
66
|
+
* any other method.
|
|
67
|
+
*
|
|
68
|
+
* @param transport - MQTT transport for publish/subscribe.
|
|
69
|
+
* @throws {Error} If already initialized. Call {@link clear} first if you
|
|
70
|
+
* truly need to re-init — a silent swap would leave stale in-memory
|
|
71
|
+
* subscriptions pointing at topics that were never subscribed on the new
|
|
72
|
+
* transport.
|
|
73
|
+
*/
|
|
74
|
+
static initialize(transport) {
|
|
75
|
+
if (NodeMQTTOrchestrator._instance) {
|
|
76
|
+
throw new Error("NodeMQTTOrchestrator already initialized. Call clear() first if you truly need to re-init.");
|
|
77
|
+
}
|
|
78
|
+
NodeMQTTOrchestrator._generation++;
|
|
79
|
+
const instance = new NodeMQTTOrchestrator();
|
|
80
|
+
instance.transport = transport;
|
|
81
|
+
instance.initialized = true;
|
|
82
|
+
NodeMQTTOrchestrator._instance = instance;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Returns the current initialization generation. Increments on each
|
|
86
|
+
* {@link initialize}. Used by subscription channels to detect a
|
|
87
|
+
* logout→login reset and re-attach stale listeners.
|
|
88
|
+
*/
|
|
89
|
+
static getGeneration() {
|
|
90
|
+
return NodeMQTTOrchestrator._generation;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Clears the singleton and resets it for re-initialization.
|
|
94
|
+
* Rejects all pending requests, unsubscribes shadow wildcard topics and
|
|
95
|
+
* request-response topics, then drops transport and in-memory state.
|
|
96
|
+
*/
|
|
97
|
+
static clear() {
|
|
98
|
+
const instance = NodeMQTTOrchestrator._instance;
|
|
99
|
+
if (instance) {
|
|
100
|
+
clearAllPendingRequests(instance.pendingRequests, instance.transport, new Error("Orchestrator cleared"));
|
|
101
|
+
for (const subscription of instance.shadowSubs.values()) {
|
|
102
|
+
subscription.listeners.clear();
|
|
103
|
+
cleanupSubscriptionIfIdle(subscription, instance.transport);
|
|
104
|
+
}
|
|
105
|
+
instance.transport = null;
|
|
106
|
+
instance.initialized = false;
|
|
107
|
+
instance.nodeMap.clear();
|
|
108
|
+
instance.shadowSubs.clear();
|
|
109
|
+
instance.shadowOps.clear();
|
|
110
|
+
}
|
|
111
|
+
NodeMQTTOrchestrator._instance = null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Soft-resets session-scoped state without dropping the singleton. Called
|
|
115
|
+
* from {@link ESPRMNeoUser.logout} so the orchestrator is ready for the
|
|
116
|
+
* next login without a public re-initialize step. Rejects pending requests,
|
|
117
|
+
* clears shadow listeners, drops node registrations, and bumps
|
|
118
|
+
* {@link _generation} so subscription channels detect the reset and
|
|
119
|
+
* re-attach on next login. Keeps `transport`, `initialized`, and
|
|
120
|
+
* `_instance` intact so `getInstance()` continues to work.
|
|
121
|
+
*/
|
|
122
|
+
static resetSession() {
|
|
123
|
+
const instance = NodeMQTTOrchestrator._instance;
|
|
124
|
+
if (!instance)
|
|
125
|
+
return;
|
|
126
|
+
clearAllPendingRequests(instance.pendingRequests, instance.transport, new Error("Orchestrator session reset"));
|
|
127
|
+
for (const subscription of instance.shadowSubs.values()) {
|
|
128
|
+
subscription.listeners.clear();
|
|
129
|
+
cleanupSubscriptionIfIdle(subscription, instance.transport);
|
|
130
|
+
}
|
|
131
|
+
instance.nodeMap.clear();
|
|
132
|
+
instance.shadowSubs.clear();
|
|
133
|
+
instance.shadowOps.clear();
|
|
134
|
+
NodeMQTTOrchestrator._generation++;
|
|
135
|
+
}
|
|
136
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
137
|
+
// Node registration
|
|
138
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
139
|
+
/**
|
|
140
|
+
* Registers a node with the orchestrator.
|
|
141
|
+
* Must be called before subscribeToNode, getParams, getShadow, etc.
|
|
142
|
+
* On shadow rename: clears the old binding; ignores shorter/incomplete names.
|
|
143
|
+
* Shrink membership via {@link unregisterNode} first.
|
|
144
|
+
*
|
|
145
|
+
* @param nodeId - The device/node identifier.
|
|
146
|
+
* @param shadowName - The named shadow (e.g. `params-groupId-subgroupId`).
|
|
147
|
+
*/
|
|
148
|
+
static registerNode(nodeId, shadowName) {
|
|
149
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
150
|
+
const existing = instance.nodeMap.get(nodeId);
|
|
151
|
+
if (existing && existing.shadowName !== shadowName) {
|
|
152
|
+
if (shadowName.split("-").length < existing.shadowName.split("-").length) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
NodeMQTTOrchestrator.unregisterNode(nodeId);
|
|
156
|
+
}
|
|
157
|
+
instance.nodeMap.set(nodeId, { shadowName });
|
|
158
|
+
if (!instance.shadowSubs.has(shadowName)) {
|
|
159
|
+
const config = {
|
|
160
|
+
topics: buildShadowGroupWildcardTopics(shadowName),
|
|
161
|
+
listeners: new Map(),
|
|
162
|
+
subscribed: false,
|
|
163
|
+
};
|
|
164
|
+
instance.shadowSubs.set(shadowName, config);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Unregisters a node. Removes from nodeMap and cleans up listeners.
|
|
169
|
+
* Unsubscribes from shadow topic if no other nodes use it.
|
|
170
|
+
*
|
|
171
|
+
* @param nodeId - The device/node identifier.
|
|
172
|
+
*/
|
|
173
|
+
static unregisterNode(nodeId) {
|
|
174
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
175
|
+
const registration = instance.nodeMap.get(nodeId);
|
|
176
|
+
if (!registration)
|
|
177
|
+
return;
|
|
178
|
+
instance.nodeMap.delete(nodeId);
|
|
179
|
+
const subscription = instance.shadowSubs.get(registration.shadowName);
|
|
180
|
+
if (subscription) {
|
|
181
|
+
subscription.listeners.delete(nodeId);
|
|
182
|
+
cleanupSubscriptionIfIdle(subscription, instance.transport);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Checks if a node is registered. Returns `false` if the orchestrator has
|
|
187
|
+
* not been initialized at all (safe read-only check, matches
|
|
188
|
+
* {@link getRegisteredNodeCount} — the mutating methods throw instead).
|
|
189
|
+
*
|
|
190
|
+
* @param nodeId - The device/node identifier.
|
|
191
|
+
*/
|
|
192
|
+
static isNodeRegistered(nodeId) {
|
|
193
|
+
const instance = NodeMQTTOrchestrator._instance;
|
|
194
|
+
return instance?.nodeMap.has(nodeId) ?? false;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Number of registered nodes (for debugging). Returns 0 if not initialized.
|
|
198
|
+
*/
|
|
199
|
+
static getRegisteredNodeCount() {
|
|
200
|
+
const instance = NodeMQTTOrchestrator._instance;
|
|
201
|
+
return instance?.nodeMap.size ?? 0;
|
|
202
|
+
}
|
|
203
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
204
|
+
// Subscription
|
|
205
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
206
|
+
/**
|
|
207
|
+
* Subscribes to node param updates. Deduplicates MQTT subscriptions by
|
|
208
|
+
* shadow.
|
|
209
|
+
*
|
|
210
|
+
* @param nodeId - The device/node identifier.
|
|
211
|
+
* @param callback - Callback invoked when shadow update/accepted is received.
|
|
212
|
+
* @throws {Error} If node is not registered, MQTT is not connected, or the
|
|
213
|
+
* underlying transport subscribe fails. On failure no listener is added.
|
|
214
|
+
*/
|
|
215
|
+
static async subscribeToNode(nodeId, callback) {
|
|
216
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
217
|
+
const registration = instance.nodeMap.get(nodeId);
|
|
218
|
+
if (!registration) {
|
|
219
|
+
throw new Error(`Node ${nodeId} not registered`);
|
|
220
|
+
}
|
|
221
|
+
return instance.runSerial(registration.shadowName, async () => {
|
|
222
|
+
if (!instance.transport) {
|
|
223
|
+
throw new Error("MQTT not available");
|
|
224
|
+
}
|
|
225
|
+
if (!(await instance.transport.isConnected())) {
|
|
226
|
+
throw new Error("MQTT not connected");
|
|
227
|
+
}
|
|
228
|
+
const subscription = instance.shadowSubs.get(registration.shadowName);
|
|
229
|
+
// (O3) Subscribe on the wire FIRST. Only then wire the listener into
|
|
230
|
+
// memory — otherwise a subscribe failure would leave a stranded
|
|
231
|
+
// listener that will never receive a message.
|
|
232
|
+
if (!subscription.subscribed) {
|
|
233
|
+
const handler = (topic, message) => instance.handleShadowLiveMessage(topic, message, registration.shadowName);
|
|
234
|
+
for (const t of subscription.topics) {
|
|
235
|
+
await instance.transport.subscribe(t, handler);
|
|
236
|
+
}
|
|
237
|
+
subscription.handler = handler;
|
|
238
|
+
subscription.subscribed = true;
|
|
239
|
+
}
|
|
240
|
+
if (!subscription.listeners.has(nodeId)) {
|
|
241
|
+
subscription.listeners.set(nodeId, new Set());
|
|
242
|
+
}
|
|
243
|
+
subscription.listeners.get(nodeId).add(callback);
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Unsubscribes a callback from a node.
|
|
248
|
+
*
|
|
249
|
+
* In-memory listener removal happens even if MQTT is disconnected —
|
|
250
|
+
* otherwise on reconnect the orchestrator would fan messages out to a stale
|
|
251
|
+
* listener (per-disconnect leak). The network topic-unsubscribe inside
|
|
252
|
+
* `cleanupSubscriptionIfIdle` is best-effort and tolerates a missing
|
|
253
|
+
* connection.
|
|
254
|
+
*
|
|
255
|
+
* @param nodeId - The device/node identifier.
|
|
256
|
+
* @param callback - The callback to remove.
|
|
257
|
+
*/
|
|
258
|
+
static async unsubscribeFromNode(nodeId, callback) {
|
|
259
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
260
|
+
const registration = instance.nodeMap.get(nodeId);
|
|
261
|
+
if (!registration)
|
|
262
|
+
return;
|
|
263
|
+
return instance.runSerial(registration.shadowName, async () => {
|
|
264
|
+
const subscription = instance.shadowSubs.get(registration.shadowName);
|
|
265
|
+
if (!subscription)
|
|
266
|
+
return;
|
|
267
|
+
const listeners = subscription.listeners.get(nodeId);
|
|
268
|
+
if (!listeners)
|
|
269
|
+
return;
|
|
270
|
+
listeners.delete(callback);
|
|
271
|
+
if (listeners.size === 0) {
|
|
272
|
+
subscription.listeners.delete(nodeId);
|
|
273
|
+
cleanupSubscriptionIfIdle(subscription, instance.transport);
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Routes live shadow messages (update/get accepted/rejected, delta) to
|
|
279
|
+
* listeners. Drops malformed messages at debug level so they're visible in
|
|
280
|
+
* logs during investigation but don't disrupt healthy traffic.
|
|
281
|
+
*/
|
|
282
|
+
handleShadowLiveMessage(topic, message, shadowName) {
|
|
283
|
+
const subscription = this.shadowSubs.get(shadowName);
|
|
284
|
+
if (!subscription)
|
|
285
|
+
return;
|
|
286
|
+
// Param listeners only get reported-state traffic on the two canonical
|
|
287
|
+
// channels:
|
|
288
|
+
// - `/update/documents`: primary real-time channel (API 1.0.0 envelope
|
|
289
|
+
// with `{ previous, current }`; the util unwraps `current`).
|
|
290
|
+
// - `/get/accepted`: explicit shadow GET responses.
|
|
291
|
+
//
|
|
292
|
+
// All other subscribed suffixes are intentionally skipped:
|
|
293
|
+
// - `/update/accepted` duplicates `/update/documents`
|
|
294
|
+
// - `/update/rejected`, `/get/rejected` are error paths
|
|
295
|
+
// - `/update/delta` carries desired≠reported diffs, not reported values
|
|
296
|
+
// The full set is subscribed for parity with the firmware topic surface;
|
|
297
|
+
// we just don't fan the non-reported ones out to param listeners.
|
|
298
|
+
if (!topic.endsWith("/update/documents") &&
|
|
299
|
+
!topic.endsWith("/get/accepted")) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
const nodeId = extractNodeIdFromTopic(topic);
|
|
303
|
+
if (!nodeId)
|
|
304
|
+
return;
|
|
305
|
+
const listeners = subscription.listeners.get(nodeId);
|
|
306
|
+
if (!listeners || listeners.size === 0)
|
|
307
|
+
return;
|
|
308
|
+
const parsed = parseShadowMessage(message);
|
|
309
|
+
if (parsed === null) {
|
|
310
|
+
logger.debug("Dropping malformed shadow message", {
|
|
311
|
+
topic,
|
|
312
|
+
byteLength: message.length,
|
|
313
|
+
});
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
const params = getReportedParamsFromShadowLiveMessage(topic, parsed);
|
|
317
|
+
if (Object.keys(params).length === 0) {
|
|
318
|
+
logger.debug("Shadow message has no reported params, ignoring", { topic });
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
notifyListenersSafely(listeners, params);
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Runs `op` exclusively per shadow: operations for the same shadowName are
|
|
325
|
+
* chained so they never interleave across an await. Ops for different
|
|
326
|
+
* shadows still run concurrently. Failure of one op does not block later
|
|
327
|
+
* ops (each op sees its own outcome; the queue only tracks completion).
|
|
328
|
+
*/
|
|
329
|
+
runSerial(shadowName, op) {
|
|
330
|
+
const prev = this.shadowOps.get(shadowName) ?? Promise.resolve();
|
|
331
|
+
const result = prev.then(op, op);
|
|
332
|
+
const tail = result.then(() => undefined, () => undefined);
|
|
333
|
+
this.shadowOps.set(shadowName, tail);
|
|
334
|
+
void tail.then(() => {
|
|
335
|
+
if (this.shadowOps.get(shadowName) === tail) {
|
|
336
|
+
this.shadowOps.delete(shadowName);
|
|
337
|
+
}
|
|
338
|
+
});
|
|
339
|
+
return result;
|
|
340
|
+
}
|
|
341
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
342
|
+
// Request/response infrastructure
|
|
343
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
344
|
+
/**
|
|
345
|
+
* Request-response helper. Subscribes to accepted + rejected, publishes,
|
|
346
|
+
* resolves on first message.
|
|
347
|
+
*
|
|
348
|
+
* @param publishTopic - Topic to publish the request to.
|
|
349
|
+
* @param acceptedTopic - Successful response topic.
|
|
350
|
+
* @param rejectedTopic - Error response topic.
|
|
351
|
+
* @param payload - Request payload.
|
|
352
|
+
* @param timeoutMs - Timeout in milliseconds.
|
|
353
|
+
* @returns Parsed response or rejects on timeout / invalid response / rejected.
|
|
354
|
+
*/
|
|
355
|
+
static async executeRequestResponse(publishTopic, acceptedTopic, rejectedTopic, payload, timeoutMs = DEFAULT_REQUEST_TIMEOUT_MS) {
|
|
356
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
357
|
+
const transport = instance.transport;
|
|
358
|
+
if (!transport) {
|
|
359
|
+
throw new Error("Transport not available");
|
|
360
|
+
}
|
|
361
|
+
if (!(await transport.isConnected())) {
|
|
362
|
+
throw new Error("MQTT not connected");
|
|
363
|
+
}
|
|
364
|
+
const topicsToUnsubscribe = [acceptedTopic, rejectedTopic];
|
|
365
|
+
return new Promise((resolve, reject) => {
|
|
366
|
+
const cleanup = () => {
|
|
367
|
+
clearTimeout(timer);
|
|
368
|
+
instance.pendingRequests.delete(acceptedTopic);
|
|
369
|
+
for (const t of topicsToUnsubscribe) {
|
|
370
|
+
transport.unsubscribe(t, handler).catch(() => { });
|
|
371
|
+
}
|
|
372
|
+
};
|
|
373
|
+
const handler = (topic, message) => {
|
|
374
|
+
if (topic === rejectedTopic) {
|
|
375
|
+
cleanup();
|
|
376
|
+
reject(new Error(`Shadow request rejected: ${message.toString()}`));
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
if (topic !== acceptedTopic) {
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
cleanup();
|
|
383
|
+
const parsed = parseShadowMessage(message);
|
|
384
|
+
if (parsed !== null) {
|
|
385
|
+
resolve(parsed);
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
reject(new Error("Invalid response"));
|
|
389
|
+
}
|
|
390
|
+
};
|
|
391
|
+
const timer = setTimeout(() => {
|
|
392
|
+
cleanup();
|
|
393
|
+
reject(new Error("Request timeout"));
|
|
394
|
+
}, timeoutMs);
|
|
395
|
+
instance.pendingRequests.set(acceptedTopic, {
|
|
396
|
+
timer,
|
|
397
|
+
handler,
|
|
398
|
+
reject,
|
|
399
|
+
topicsToUnsubscribe,
|
|
400
|
+
});
|
|
401
|
+
Promise.all([
|
|
402
|
+
transport.subscribe(acceptedTopic, handler),
|
|
403
|
+
transport.subscribe(rejectedTopic, handler),
|
|
404
|
+
])
|
|
405
|
+
.then(() => {
|
|
406
|
+
transport.publish(publishTopic, JSON.stringify(payload ?? {}));
|
|
407
|
+
})
|
|
408
|
+
.catch((err) => {
|
|
409
|
+
cleanup();
|
|
410
|
+
reject(err instanceof Error
|
|
411
|
+
? err
|
|
412
|
+
: new Error("Failed to subscribe for shadow request"));
|
|
413
|
+
});
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Fetches the shadow document and extracts a portion via `extractor`.
|
|
418
|
+
*
|
|
419
|
+
* @param nodeId - The device/node identifier.
|
|
420
|
+
* @param extractor - Function to extract desired part from parsed response.
|
|
421
|
+
* @returns The extracted value.
|
|
422
|
+
* @throws {Error} If node is not registered.
|
|
423
|
+
*/
|
|
424
|
+
static async fetchShadowDocument(nodeId, extractor) {
|
|
425
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
426
|
+
const registration = instance.nodeMap.get(nodeId);
|
|
427
|
+
if (!instance.transport) {
|
|
428
|
+
throw new Error("MQTT not connected");
|
|
429
|
+
}
|
|
430
|
+
if (!(await instance.transport.isConnected())) {
|
|
431
|
+
throw new Error("MQTT not connected");
|
|
432
|
+
}
|
|
433
|
+
if (!registration) {
|
|
434
|
+
throw new Error(`Node ${nodeId} not registered`);
|
|
435
|
+
}
|
|
436
|
+
const baseTopic = buildShadowBase(nodeId, registration.shadowName);
|
|
437
|
+
const response = await NodeMQTTOrchestrator.executeRequestResponse(`${baseTopic}/get`, `${baseTopic}/get/accepted`, `${baseTopic}/get/rejected`, {}, DEFAULT_REQUEST_TIMEOUT_MS);
|
|
438
|
+
return extractor(response);
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Wraps `transport.publish` so publish failures throw with an actionable
|
|
442
|
+
* message. Without this wrapper, callers get whatever the adapter throws
|
|
443
|
+
* (often a generic `TypeError` from a broken pipe) with no topic context.
|
|
444
|
+
*/
|
|
445
|
+
static async publishOrThrow(transport, topic, payload) {
|
|
446
|
+
try {
|
|
447
|
+
await transport.publish(topic, payload);
|
|
448
|
+
}
|
|
449
|
+
catch (err) {
|
|
450
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
451
|
+
throw new Error(`Failed to publish to ${topic}: ${message}`, err instanceof Error ? { cause: err } : undefined);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
455
|
+
// Public read API
|
|
456
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
457
|
+
/**
|
|
458
|
+
* Gets params (`state.reported.params`) for a node.
|
|
459
|
+
*
|
|
460
|
+
* @param nodeId - The device/node identifier.
|
|
461
|
+
* @returns The reported params map, or `{}` when absent.
|
|
462
|
+
* @throws {Error} If node is not registered.
|
|
463
|
+
*/
|
|
464
|
+
static async getParams(nodeId) {
|
|
465
|
+
return NodeMQTTOrchestrator.fetchShadowDocument(nodeId, getReportedParamsFromShadowDocument);
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Gets the full shadow document (`state.reported` + `state.desired`).
|
|
469
|
+
*
|
|
470
|
+
* @param nodeId - The device/node identifier.
|
|
471
|
+
* @returns The full state object.
|
|
472
|
+
* @throws {Error} If node is not registered.
|
|
473
|
+
*/
|
|
474
|
+
static async getShadow(nodeId) {
|
|
475
|
+
return NodeMQTTOrchestrator.fetchShadowDocument(nodeId, getStateFromPayload);
|
|
476
|
+
}
|
|
477
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
478
|
+
// Public write API
|
|
479
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
480
|
+
/**
|
|
481
|
+
* Sets params via the RainMaker user params topic (unicast: single node).
|
|
482
|
+
*
|
|
483
|
+
* @param nodeId - The device/node identifier.
|
|
484
|
+
* @param params - Parameter payload (often `{ <deviceId>: { <paramId>: value } }`).
|
|
485
|
+
* @throws {Error} If node is not registered, MQTT is not connected, or the
|
|
486
|
+
* publish fails.
|
|
487
|
+
*/
|
|
488
|
+
static async setParams(nodeId, params) {
|
|
489
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
490
|
+
const registration = instance.nodeMap.get(nodeId);
|
|
491
|
+
if (!instance.transport) {
|
|
492
|
+
throw new Error("Transport not available");
|
|
493
|
+
}
|
|
494
|
+
if (!(await instance.transport.isConnected())) {
|
|
495
|
+
throw new Error("MQTT not connected");
|
|
496
|
+
}
|
|
497
|
+
if (!registration) {
|
|
498
|
+
throw new Error(`Node ${nodeId} not registered`);
|
|
499
|
+
}
|
|
500
|
+
const topic = buildRainMakerUserParamsTopic(nodeId, registration.shadowName);
|
|
501
|
+
const payload = typeof params === "string" ? params : JSON.stringify(params ?? {});
|
|
502
|
+
return NodeMQTTOrchestrator.publishOrThrow(instance.transport, topic, payload);
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Publishes parameters to the group control MQTT topic (fan-out to all
|
|
506
|
+
* devices in the group or in one subgroup). Does not require a registered
|
|
507
|
+
* node; only a connected MQTT transport (same credentials as unicast
|
|
508
|
+
* `setParams`).
|
|
509
|
+
*
|
|
510
|
+
* @param groupId - Primary group id.
|
|
511
|
+
* @param params - Same payload shape as {@link NodeMQTTOrchestrator.setParams}.
|
|
512
|
+
* @param subgroupId - Omit for group-wide broadcast; set to target one
|
|
513
|
+
* subgroup.
|
|
514
|
+
*/
|
|
515
|
+
static async setGroupParams(groupId, params, subgroupId) {
|
|
516
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
517
|
+
if (!instance.transport) {
|
|
518
|
+
throw new Error("Transport not available");
|
|
519
|
+
}
|
|
520
|
+
if (!(await instance.transport.isConnected())) {
|
|
521
|
+
throw new Error("MQTT not connected");
|
|
522
|
+
}
|
|
523
|
+
if (!groupId) {
|
|
524
|
+
throw new Error("Group ID is required");
|
|
525
|
+
}
|
|
526
|
+
const topic = buildGroupControlParamsTopic(groupId, subgroupId);
|
|
527
|
+
const payload = typeof params === "string" ? params : JSON.stringify(params ?? {});
|
|
528
|
+
return NodeMQTTOrchestrator.publishOrThrow(instance.transport, topic, payload);
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* Updates shadow `state.desired`.
|
|
532
|
+
*
|
|
533
|
+
* @param nodeId - The device/node identifier.
|
|
534
|
+
* @param params - The desired state parameters.
|
|
535
|
+
* @throws {Error} If node is not registered or transport unavailable.
|
|
536
|
+
*/
|
|
537
|
+
static async updateShadow(nodeId, params) {
|
|
538
|
+
const instance = NodeMQTTOrchestrator.getInstance();
|
|
539
|
+
const registration = instance.nodeMap.get(nodeId);
|
|
540
|
+
if (!instance.transport) {
|
|
541
|
+
throw new Error("Transport not available");
|
|
542
|
+
}
|
|
543
|
+
if (!(await instance.transport.isConnected())) {
|
|
544
|
+
throw new Error("MQTT not connected");
|
|
545
|
+
}
|
|
546
|
+
if (!registration) {
|
|
547
|
+
throw new Error(`Node ${nodeId} not registered`);
|
|
548
|
+
}
|
|
549
|
+
const topic = `${buildShadowBase(nodeId, registration.shadowName)}/update`;
|
|
550
|
+
const payload = buildShadowUpdatePayload(params);
|
|
551
|
+
return NodeMQTTOrchestrator.publishOrThrow(instance.transport, topic, payload);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
export { NodeMQTTOrchestrator };
|
|
556
|
+
//# sourceMappingURL=NodeMQTTOrchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeMQTTOrchestrator.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Logger } from '../utils/logger.js';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
5
|
+
*
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
const logger = new Logger("NodeMQTTOrchestratorHelpers");
|
|
9
|
+
/**
|
|
10
|
+
* Clears all pending request-response operations.
|
|
11
|
+
* Rejects each with the given error and unsubscribes from response topics.
|
|
12
|
+
*
|
|
13
|
+
* @param pendingRequests - Map of responseTopic → pending request
|
|
14
|
+
* @param transport - MQTT transport for unsubscribe
|
|
15
|
+
* @param rejectError - Error to reject pending promises with
|
|
16
|
+
*/
|
|
17
|
+
function clearAllPendingRequests(pendingRequests, transport, rejectError) {
|
|
18
|
+
pendingRequests.forEach((pendingRequest) => {
|
|
19
|
+
clearTimeout(pendingRequest.timer);
|
|
20
|
+
for (const t of pendingRequest.topicsToUnsubscribe) {
|
|
21
|
+
transport?.unsubscribe(t, pendingRequest.handler).catch(() => {
|
|
22
|
+
logger.error("Failed to unsubscribe from topic", t);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
pendingRequest.reject(rejectError);
|
|
26
|
+
});
|
|
27
|
+
pendingRequests.clear();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Unsubscribes from shadow topic when no listeners remain.
|
|
31
|
+
* Cleans up subscription state to avoid orphaned MQTT subscriptions.
|
|
32
|
+
*
|
|
33
|
+
* @param subscription - The shadow subscription state
|
|
34
|
+
* @param transport - MQTT transport for unsubscribe
|
|
35
|
+
* @returns true if unsubscribed, false otherwise
|
|
36
|
+
*/
|
|
37
|
+
function cleanupSubscriptionIfIdle(subscription, transport) {
|
|
38
|
+
const isIdle = subscription.listeners.size === 0 &&
|
|
39
|
+
subscription.subscribed &&
|
|
40
|
+
subscription.handler &&
|
|
41
|
+
transport;
|
|
42
|
+
if (!isIdle)
|
|
43
|
+
return false;
|
|
44
|
+
for (const t of subscription.topics) {
|
|
45
|
+
transport.unsubscribe(t, subscription.handler).catch(() => {
|
|
46
|
+
logger.error("Failed to unsubscribe from topic", t);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
subscription.subscribed = false;
|
|
50
|
+
subscription.handler = undefined;
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Invokes all listeners with the given params.
|
|
55
|
+
* Isolates errors from individual listeners so one failure cannot block the
|
|
56
|
+
* others. Logs the actual error (and the params for context) so investigators
|
|
57
|
+
* can see WHY a listener failed, not just THAT one did.
|
|
58
|
+
*
|
|
59
|
+
* @param listeners - Set of callback functions
|
|
60
|
+
* @param params - The params to pass to each listener
|
|
61
|
+
*/
|
|
62
|
+
function notifyListenersSafely(listeners, params) {
|
|
63
|
+
listeners.forEach((callback) => {
|
|
64
|
+
try {
|
|
65
|
+
callback(params);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
logger.error("Listener threw while handling shadow update", {
|
|
69
|
+
error: err instanceof Error ? err.message : String(err),
|
|
70
|
+
params,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export { cleanupSubscriptionIfIdle, clearAllPendingRequests, notifyListenersSafely };
|
|
77
|
+
//# sourceMappingURL=NodeMQTTOrchestratorHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeMQTTOrchestratorHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|