@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,355 @@
|
|
|
1
|
+
import { resolveNodeId } from '../types/subscription.js';
|
|
2
|
+
import { NodeMQTTOrchestrator } from './NodeMQTTOrchestrator.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("ESPRMNeoSubscriptionManager");
|
|
11
|
+
/**
|
|
12
|
+
* Manages subscription channels and coordinates node update subscriptions.
|
|
13
|
+
* This is the central hub for all parameter update subscriptions from various sources
|
|
14
|
+
* (custom channels)
|
|
15
|
+
*
|
|
16
|
+
* The manager uses a priority-based approach:
|
|
17
|
+
* 1. For each node, it determines the effective channel order (node-specific or global)
|
|
18
|
+
* 2. It filters channels based on availability and node support
|
|
19
|
+
* 3. It tries channels in order until one succeeds
|
|
20
|
+
*
|
|
21
|
+
* Subscription pattern: register one or more channels, set global channel order,
|
|
22
|
+
* then subscribeToNode(node, callback). Node must have .id; for channel selection it may
|
|
23
|
+
* have .type, .metadata, .subscriptionConfig.channelOrder. Callback receives ESPNodeUpdateData.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* // Register channels
|
|
28
|
+
* await ESPRMNeoBase.subscriptionManager.registerChannel(new MQTTSubscriptionChannel());
|
|
29
|
+
*
|
|
30
|
+
* // Set global channel order (applies to nodes without their own override)
|
|
31
|
+
* ESPRMNeoBase.subscriptionManager.setGlobalChannelOrder(["mqtt"]);
|
|
32
|
+
*
|
|
33
|
+
* // Subscribe to node updates (node can be an SDK node or a proxy with { id, nodeId, type, config, metadata })
|
|
34
|
+
* await ESPRMNeoBase.subscriptionManager.subscribeToNode(node, (update) => {
|
|
35
|
+
* console.log(`Node ${update.nodeId} updated via ${update.source}`);
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
class ESPRMNeoSubscriptionManager {
|
|
40
|
+
/**
|
|
41
|
+
* Registered subscription channels (channelId -> channel instance)
|
|
42
|
+
*/
|
|
43
|
+
channels = new Map();
|
|
44
|
+
/**
|
|
45
|
+
* Global default channel order (used when node doesn't have custom order)
|
|
46
|
+
* Channels are tried in this order until one succeeds
|
|
47
|
+
*/
|
|
48
|
+
globalChannelOrder = [];
|
|
49
|
+
/**
|
|
50
|
+
* Whether the manager has been initialized
|
|
51
|
+
*/
|
|
52
|
+
initialized = false;
|
|
53
|
+
/**
|
|
54
|
+
* Initialize the subscription manager.
|
|
55
|
+
* This initializes all registered channels.
|
|
56
|
+
* Should be called during SDK initialization.
|
|
57
|
+
*
|
|
58
|
+
* @returns Promise that resolves when initialization is complete
|
|
59
|
+
*/
|
|
60
|
+
async initialize() {
|
|
61
|
+
if (this.initialized) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
for (const channel of this.channels.values()) {
|
|
65
|
+
try {
|
|
66
|
+
await channel.initialize();
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
logger.error(`Failed to initialize channel ${channel.channelId}:`, error);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
this.initialized = true;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Register a new subscription channel.
|
|
76
|
+
*
|
|
77
|
+
* @param channel - The channel to register
|
|
78
|
+
* @param autoInitialize - Whether to initialize the channel immediately (default: true)
|
|
79
|
+
* @throws Error if a channel with the same ID is already registered
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const mqttChannel = new MQTTSubscriptionChannel();
|
|
84
|
+
* await ESPRMNeoBase.subscriptionManager.registerChannel(mqttChannel);
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
async registerChannel(channel, autoInitialize = true) {
|
|
88
|
+
if (this.channels.has(channel.channelId)) {
|
|
89
|
+
throw new Error(`Channel ${channel.channelId} is already registered`);
|
|
90
|
+
}
|
|
91
|
+
this.channels.set(channel.channelId, channel);
|
|
92
|
+
if (autoInitialize && this.initialized) {
|
|
93
|
+
await channel.initialize();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Unregister a subscription channel.
|
|
98
|
+
* This will dispose the channel and remove it from the manager.
|
|
99
|
+
*
|
|
100
|
+
* @param channelId - ID of the channel to unregister
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* await ESPRMNeoBase.subscriptionManager.unregisterChannel("mqtt");
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
async unregisterChannel(channelId) {
|
|
108
|
+
const channel = this.channels.get(channelId);
|
|
109
|
+
if (!channel)
|
|
110
|
+
return;
|
|
111
|
+
await channel.dispose();
|
|
112
|
+
this.channels.delete(channelId);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Set the global default channel order.
|
|
116
|
+
* This order is used for all nodes unless they have a custom order in subscriptionConfig.
|
|
117
|
+
*
|
|
118
|
+
* @param channelIds - Array of channel IDs in priority order (first = highest priority)
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* // Try Matter first, then MQTT
|
|
123
|
+
* ESPRMNeoBase.subscriptionManager.setGlobalChannelOrder([
|
|
124
|
+
* "matter",
|
|
125
|
+
* "mqtt"
|
|
126
|
+
* ]);
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
setGlobalChannelOrder(channelIds) {
|
|
130
|
+
const invalidChannels = channelIds.filter((id) => !this.channels.has(id));
|
|
131
|
+
if (invalidChannels.length > 0) {
|
|
132
|
+
logger.warn(`Unknown channels in order: ${invalidChannels.join(", ")}`);
|
|
133
|
+
}
|
|
134
|
+
this.globalChannelOrder = channelIds;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get the effective channel order for a node.
|
|
138
|
+
* Priority: node.subscriptionConfig.channelOrder > global channel order
|
|
139
|
+
*
|
|
140
|
+
* @param node - The node to get channel order for
|
|
141
|
+
* @returns Array of channel IDs in priority order
|
|
142
|
+
*/
|
|
143
|
+
getEffectiveChannelOrder(node) {
|
|
144
|
+
// Use the per-node override only when it is non-empty. An empty array is
|
|
145
|
+
// treated the same as "not set" so a stray/rehydrated `channelOrder: []`
|
|
146
|
+
// falls back to the global order instead of trapping the node with no
|
|
147
|
+
// available channels (which only clearSubscriptionChannelOrder() could undo).
|
|
148
|
+
if (node.subscriptionConfig?.channelOrder?.length) {
|
|
149
|
+
return node.subscriptionConfig.channelOrder;
|
|
150
|
+
}
|
|
151
|
+
return this.globalChannelOrder;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get available channels for a node.
|
|
155
|
+
* Filters channels based on:
|
|
156
|
+
* - Channel is registered
|
|
157
|
+
* - Channel supports the node (via supportsNode())
|
|
158
|
+
* - Channel is in the effective order
|
|
159
|
+
*
|
|
160
|
+
* @param node - The node to get channels for
|
|
161
|
+
* @returns Array of available channels in priority order
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* const channels = ESPRMNeoBase.subscriptionManager.getAvailableChannelsForNode(node);
|
|
166
|
+
* console.log(`Available channels: ${channels.map(c => c.channelId).join(", ")}`);
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
getAvailableChannelsForNode(node) {
|
|
170
|
+
const effectiveOrder = this.getEffectiveChannelOrder(node);
|
|
171
|
+
return effectiveOrder
|
|
172
|
+
.map((channelId) => this.channels.get(channelId))
|
|
173
|
+
.filter((channel) => channel && channel.supportsNode(node));
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Builds a diagnostic message for the "no available channels" case. Lists the
|
|
177
|
+
* effective order, the registered channels, and which ids in the order are
|
|
178
|
+
* unregistered vs. registered-but-unsupported — so an order typo or a missing
|
|
179
|
+
* channel is easy to spot. Used in place of set-time validation, which would
|
|
180
|
+
* false-positive when an order references a not-yet-registered channel
|
|
181
|
+
* (e.g. an order set before its target channel registers).
|
|
182
|
+
*
|
|
183
|
+
* @param node - The node being subscribed.
|
|
184
|
+
* @param nodeId - The resolved node id (for the message).
|
|
185
|
+
* @returns A human-readable diagnostic error message.
|
|
186
|
+
*/
|
|
187
|
+
buildNoChannelsError(node, nodeId) {
|
|
188
|
+
const effectiveOrder = this.getEffectiveChannelOrder(node);
|
|
189
|
+
const registered = this.getRegisteredChannels();
|
|
190
|
+
const unregistered = effectiveOrder.filter((id) => !this.channels.has(id));
|
|
191
|
+
const unsupported = effectiveOrder.filter((id) => {
|
|
192
|
+
const channel = this.channels.get(id);
|
|
193
|
+
return channel ? !channel.supportsNode(node) : false;
|
|
194
|
+
});
|
|
195
|
+
let message = `No available subscription channels for node ${nodeId}. ` +
|
|
196
|
+
`Effective order: [${effectiveOrder.join(", ") || "(empty)"}]. ` +
|
|
197
|
+
`Registered channels: [${registered.join(", ") || "(none)"}].`;
|
|
198
|
+
if (unregistered.length) {
|
|
199
|
+
message += ` Unregistered ids in order: [${unregistered.join(", ")}].`;
|
|
200
|
+
}
|
|
201
|
+
if (unsupported.length) {
|
|
202
|
+
message += ` Registered but unsupported for this node: [${unsupported.join(", ")}].`;
|
|
203
|
+
}
|
|
204
|
+
return message;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Subscribe to updates for a specific node using priority-based channel selection.
|
|
208
|
+
* Tries channels in order until one succeeds.
|
|
209
|
+
*
|
|
210
|
+
* @param node - The node to subscribe to
|
|
211
|
+
* @param callback - Function to call when updates are received
|
|
212
|
+
* @throws Error if no channels are available or all channels fail
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* ```typescript
|
|
216
|
+
* await ESPRMNeoBase.subscriptionManager.subscribeToNode(node, (update) => {
|
|
217
|
+
* console.log(`Update from ${update.source}:`, update.payload);
|
|
218
|
+
* });
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
async subscribeToNode(node, callback) {
|
|
222
|
+
const nodeId = resolveNodeId(node);
|
|
223
|
+
if (!nodeId) {
|
|
224
|
+
throw new Error("Cannot subscribe: node has no id or nodeId");
|
|
225
|
+
}
|
|
226
|
+
const availableChannels = this.getAvailableChannelsForNode(node);
|
|
227
|
+
if (availableChannels.length === 0) {
|
|
228
|
+
throw new Error(this.buildNoChannelsError(node, nodeId));
|
|
229
|
+
}
|
|
230
|
+
let lastError;
|
|
231
|
+
for (const channel of availableChannels) {
|
|
232
|
+
try {
|
|
233
|
+
await channel.subscribe(callback, node);
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
lastError = error;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
throw new Error(`All subscription channels failed for node ${nodeId}. Last error: ${lastError?.message}`);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Subscribe to updates for all nodes.
|
|
244
|
+
*
|
|
245
|
+
* @param nodes - Array of nodes to subscribe to
|
|
246
|
+
* @param callback - Function to call when any node is updated
|
|
247
|
+
*
|
|
248
|
+
* @example
|
|
249
|
+
* ```typescript
|
|
250
|
+
* const nodes = group.getNodes();
|
|
251
|
+
* await ESPRMNeoBase.subscriptionManager.subscribeToAllNodes(nodes, (update) => {
|
|
252
|
+
* console.log(`Node ${update.nodeId} updated`);
|
|
253
|
+
* });
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
256
|
+
async subscribeToAllNodes(nodes, callback) {
|
|
257
|
+
const errors = [];
|
|
258
|
+
for (const node of nodes) {
|
|
259
|
+
try {
|
|
260
|
+
await this.subscribeToNode(node, callback);
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
errors.push({
|
|
264
|
+
nodeId: resolveNodeId(node) ?? "unknown",
|
|
265
|
+
error: error,
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
if (errors.length > 0) {
|
|
270
|
+
logger.warn(`Failed to subscribe to ${errors.length} nodes:`, errors);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Unsubscribe from updates for a specific node across all channels.
|
|
275
|
+
*
|
|
276
|
+
* @param nodeId - ID of the node to unsubscribe from.
|
|
277
|
+
* @param callback - Optional specific subscriber to remove. When provided,
|
|
278
|
+
* only that callback is detached (the node's other subscribers keep
|
|
279
|
+
* receiving updates); when omitted, all subscribers for the node are
|
|
280
|
+
* removed AND the node's MQTT shadow binding on {@link NodeMQTTOrchestrator}
|
|
281
|
+
* is cleared — so the next subscribe re-registers a fresh shadow name
|
|
282
|
+
* (needed when app-side membership changes the node's shadow topic).
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* ```typescript
|
|
286
|
+
* // Remove one subscriber (siblings keep receiving updates):
|
|
287
|
+
* await ESPRMNeoBase.subscriptionManager.unsubscribeFromNode("node-123", myCallback);
|
|
288
|
+
* // Remove every subscriber for the node + clear MQTT shadow binding:
|
|
289
|
+
* await ESPRMNeoBase.subscriptionManager.unsubscribeFromNode("node-123");
|
|
290
|
+
* ```
|
|
291
|
+
*/
|
|
292
|
+
async unsubscribeFromNode(nodeId, callback) {
|
|
293
|
+
for (const channel of this.channels.values()) {
|
|
294
|
+
try {
|
|
295
|
+
await channel.unsubscribe(nodeId, callback);
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
logger.warn(`Failed to unsubscribe from ${channel.channelId} for node ${nodeId}:`, error);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// Full purge (no specific callback): also drop the orchestrator's
|
|
302
|
+
// nodeId → shadowName binding so a later subscribe re-registers the node
|
|
303
|
+
// against its current shadow. Consumers that just detach one callback
|
|
304
|
+
// keep the binding intact for other subscribers.
|
|
305
|
+
if (!callback) {
|
|
306
|
+
try {
|
|
307
|
+
NodeMQTTOrchestrator.unregisterNode(nodeId);
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
logger.warn(`Failed to unregister node ${nodeId} from NodeMQTTOrchestrator:`, error);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Get all registered channel IDs.
|
|
316
|
+
*
|
|
317
|
+
* @returns Array of channel IDs
|
|
318
|
+
*
|
|
319
|
+
* @example
|
|
320
|
+
* ```typescript
|
|
321
|
+
* const channels = ESPRMNeoBase.subscriptionManager.getRegisteredChannels();
|
|
322
|
+
* console.log(`Registered channels: ${channels.join(", ")}`);
|
|
323
|
+
* ```
|
|
324
|
+
*/
|
|
325
|
+
getRegisteredChannels() {
|
|
326
|
+
return Array.from(this.channels.keys());
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Get the global channel order.
|
|
330
|
+
*
|
|
331
|
+
* @returns Array of channel IDs in priority order
|
|
332
|
+
*/
|
|
333
|
+
getGlobalChannelOrder() {
|
|
334
|
+
return [...this.globalChannelOrder];
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Cleanup all subscriptions and dispose channels.
|
|
338
|
+
* Should be called when app is closing or SDK is being torn down.
|
|
339
|
+
*
|
|
340
|
+
* @example
|
|
341
|
+
* ```typescript
|
|
342
|
+
* await ESPRMNeoBase.subscriptionManager.dispose();
|
|
343
|
+
* ```
|
|
344
|
+
*/
|
|
345
|
+
async dispose() {
|
|
346
|
+
for (const channel of this.channels.values()) {
|
|
347
|
+
await channel.dispose();
|
|
348
|
+
}
|
|
349
|
+
this.channels.clear();
|
|
350
|
+
this.initialized = false;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
export { ESPRMNeoSubscriptionManager };
|
|
355
|
+
//# sourceMappingURL=ESPRMNeoSubscriptionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ESPRMNeoSubscriptionManager.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { buildCanonicalQueryString, generateSigV4AuthHeader, generateIotDeviceGatewayMqttSignedUrl } from '../utils/awsSigv4Utils.js';
|
|
2
|
+
import { Logger } from '../utils/logger.js';
|
|
3
|
+
import { ESPRMNeoStorage } from './ESPRMNeoStorage/ESPRMNeoStorage.js';
|
|
4
|
+
import { ESPRMNeoAPIManager } from './ESPRMNeoAPIManager.js';
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
8
|
+
*
|
|
9
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
10
|
+
*/
|
|
11
|
+
const logger = new Logger("ESPSigV4APIManager");
|
|
12
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
13
|
+
// Module-scoped state
|
|
14
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
15
|
+
/**
|
|
16
|
+
* Module-scoped singleton. Cannot be constructed by external code because the
|
|
17
|
+
* class constructor is private; the only construction path is
|
|
18
|
+
* {@link initializeSigV4APIManager}, which lives in this module and is not
|
|
19
|
+
* re-exported through the public SDK barrel.
|
|
20
|
+
*/
|
|
21
|
+
let instance = null;
|
|
22
|
+
/**
|
|
23
|
+
* In-flight refresh promise for concurrent-call coalescing. When multiple
|
|
24
|
+
* signed requests notice expired credentials at the same time, they all share
|
|
25
|
+
* one Cognito round-trip instead of stampeding.
|
|
26
|
+
*/
|
|
27
|
+
let refreshInFlight = null;
|
|
28
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
29
|
+
// Module-scoped helpers
|
|
30
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
31
|
+
/** Late-bound to avoid a circular import through `../methods/ESPRMNeoUser`. */
|
|
32
|
+
function fetchTemporaryAWSCredentials() {
|
|
33
|
+
return require("../methods/ESPRMNeoUser/GetTemporaryAWSCredentials")
|
|
34
|
+
.fetchTemporaryAWSCredentials();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Fetches fresh temporary AWS credentials and persists them, coalescing
|
|
38
|
+
* concurrent callers onto a single in-flight promise.
|
|
39
|
+
*/
|
|
40
|
+
async function refreshTemporaryCredentialsOnce() {
|
|
41
|
+
if (refreshInFlight)
|
|
42
|
+
return refreshInFlight;
|
|
43
|
+
refreshInFlight = (async () => {
|
|
44
|
+
try {
|
|
45
|
+
const fresh = await fetchTemporaryAWSCredentials();
|
|
46
|
+
await ESPRMNeoStorage.saveTemporaryCredentials(fresh);
|
|
47
|
+
return fresh;
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
refreshInFlight = null;
|
|
51
|
+
}
|
|
52
|
+
})();
|
|
53
|
+
return refreshInFlight;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Produces the two UTC timestamps required by every SigV4-signed request:
|
|
57
|
+
*
|
|
58
|
+
* - `timestamp` – ISO 8601 basic (`YYYYMMDDTHHMMSSZ`), used in the
|
|
59
|
+
* `X-Amz-Date` header and in the string-to-sign.
|
|
60
|
+
* - `dateStamp` – date-only (`YYYYMMDD`), used in the credential scope
|
|
61
|
+
* (`{dateStamp}/{region}/{service}/aws4_request`).
|
|
62
|
+
*
|
|
63
|
+
* Computed once per request; both values share the same underlying `Date`.
|
|
64
|
+
*/
|
|
65
|
+
function formatSigV4Timestamps(date) {
|
|
66
|
+
// toISOString → "2026-07-18T14:30:22.123Z"; SigV4 needs no separators or ms.
|
|
67
|
+
const timestamp = date.toISOString().replace(/[-:]|\.\d{3}/g, "");
|
|
68
|
+
return { timestamp, dateStamp: timestamp.slice(0, 8) };
|
|
69
|
+
}
|
|
70
|
+
class ESPSigV4APIManager extends ESPRMNeoAPIManager {
|
|
71
|
+
// ─── Fields ─────────────────────────────────────────────────────────
|
|
72
|
+
#baseUrl;
|
|
73
|
+
#awsRegion;
|
|
74
|
+
#service = "execute-api";
|
|
75
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
76
|
+
// Lifecycle
|
|
77
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
78
|
+
constructor(init) {
|
|
79
|
+
super();
|
|
80
|
+
this.#baseUrl = init.baseUrl.replace(/\/$/, "");
|
|
81
|
+
this.#awsRegion = init.awsRegion;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Friend-access hook used only by {@link initializeSigV4APIManager} in this
|
|
85
|
+
* module. TypeScript allows a same-class static method to reach the private
|
|
86
|
+
* constructor; free functions cannot. Not part of the public API surface.
|
|
87
|
+
*
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
static _constructSigV4(init) {
|
|
91
|
+
return new ESPSigV4APIManager(init);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Returns the singleton constructed by SDK bootstrap.
|
|
95
|
+
*
|
|
96
|
+
* @throws {Error} If the SDK has not been configured — usually because
|
|
97
|
+
* `ESPRMNeoBase.configure()` did not run first.
|
|
98
|
+
*/
|
|
99
|
+
static getInstance() {
|
|
100
|
+
if (!instance) {
|
|
101
|
+
throw new Error("ESPSigV4APIManager not initialized. Ensure ESPRMNeoBase.configure() ran first.");
|
|
102
|
+
}
|
|
103
|
+
return instance;
|
|
104
|
+
}
|
|
105
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
106
|
+
// Credential + retry helpers
|
|
107
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
108
|
+
areCredentialsExpired(credentials) {
|
|
109
|
+
// If no expiration field or invalid, treat as expired
|
|
110
|
+
if (!credentials.expiration) {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
const expirationDate = new Date(credentials.expiration);
|
|
114
|
+
// If invalid date, treat as expired
|
|
115
|
+
if (isNaN(expirationDate.getTime())) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
// Add buffer time (5 minutes) before actual expiration
|
|
119
|
+
const bufferTime = 5 * 60 * 1000;
|
|
120
|
+
const now = Date.now();
|
|
121
|
+
const isExpired = now + bufferTime >= expirationDate.getTime();
|
|
122
|
+
return isExpired;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Runs `fn` and, on a 403, clears stored credentials and retries once.
|
|
126
|
+
* Any 403 is treated as retryable — AWS uses 403 uniformly for expired /
|
|
127
|
+
* invalid credentials, and a single retry is bounded regardless of the
|
|
128
|
+
* response wording. `retriesLeft` is per-call, so concurrent requests
|
|
129
|
+
* never block each other's retry.
|
|
130
|
+
*/
|
|
131
|
+
async withCredentialsRetry(fn, retriesLeft = 1) {
|
|
132
|
+
try {
|
|
133
|
+
return await fn();
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
if (retriesLeft > 0 && err?.status === 403) {
|
|
137
|
+
await ESPRMNeoStorage.clearTemporaryCredentials();
|
|
138
|
+
return this.withCredentialsRetry(fn, retriesLeft - 1);
|
|
139
|
+
}
|
|
140
|
+
throw err;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
144
|
+
// Signed HTTP core
|
|
145
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
146
|
+
/**
|
|
147
|
+
* Performs a SigV4-signed request to the given URL. Used by {@link request}.
|
|
148
|
+
*/
|
|
149
|
+
async _signedRequest(method, url, data, headers = {}) {
|
|
150
|
+
const canonicalURI = url.pathname;
|
|
151
|
+
let credentials;
|
|
152
|
+
try {
|
|
153
|
+
credentials = await ESPRMNeoStorage.getTemporaryCredentials();
|
|
154
|
+
if (this.areCredentialsExpired(credentials)) {
|
|
155
|
+
credentials = await refreshTemporaryCredentialsOnce();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
// No stored credentials, or storage read failed — refresh from Cognito.
|
|
160
|
+
credentials = await refreshTemporaryCredentialsOnce();
|
|
161
|
+
}
|
|
162
|
+
const { timestamp, dateStamp } = formatSigV4Timestamps(new Date());
|
|
163
|
+
const payload = data ? JSON.stringify(data) : "";
|
|
164
|
+
const payloadHash = crypto
|
|
165
|
+
.createHash("sha256")
|
|
166
|
+
.update(payload)
|
|
167
|
+
.digest("hex");
|
|
168
|
+
const requestHeaders = {
|
|
169
|
+
host: url.host,
|
|
170
|
+
"x-amz-date": timestamp,
|
|
171
|
+
"x-amz-security-token": credentials.sessionToken,
|
|
172
|
+
...headers,
|
|
173
|
+
};
|
|
174
|
+
const signedHeaderKeys = Object.keys(requestHeaders).sort();
|
|
175
|
+
const signedHeaders = signedHeaderKeys.join(";");
|
|
176
|
+
// SigV4 requires the canonical query string sorted and re-encoded; signing
|
|
177
|
+
// url.search verbatim breaks any request whose params aren't already
|
|
178
|
+
// in sorted order (API Gateway sorts before verifying).
|
|
179
|
+
const canonicalQueryString = buildCanonicalQueryString(url.searchParams);
|
|
180
|
+
const authHeader = generateSigV4AuthHeader({
|
|
181
|
+
accessKey: credentials.accessKey,
|
|
182
|
+
secretKey: credentials.secretKey,
|
|
183
|
+
timestamp,
|
|
184
|
+
dateStamp,
|
|
185
|
+
region: this.#awsRegion,
|
|
186
|
+
service: this.#service,
|
|
187
|
+
method,
|
|
188
|
+
canonicalURI,
|
|
189
|
+
canonicalQueryString,
|
|
190
|
+
requestHeaders,
|
|
191
|
+
signedHeaders,
|
|
192
|
+
payloadHash,
|
|
193
|
+
});
|
|
194
|
+
const response = await fetch(url.toString(), {
|
|
195
|
+
method,
|
|
196
|
+
headers: {
|
|
197
|
+
...requestHeaders,
|
|
198
|
+
Authorization: authHeader,
|
|
199
|
+
"Content-Type": "application/json",
|
|
200
|
+
},
|
|
201
|
+
body: data ? JSON.stringify(data) : undefined,
|
|
202
|
+
});
|
|
203
|
+
const text = await response.text();
|
|
204
|
+
const responseData = (() => {
|
|
205
|
+
try {
|
|
206
|
+
return text ? JSON.parse(text) : null;
|
|
207
|
+
}
|
|
208
|
+
catch (parseErr) {
|
|
209
|
+
logger.debug("SigV4 API: Failed to parse response as JSON", parseErr);
|
|
210
|
+
throw new Error("Failed to parse response as JSON", parseErr instanceof Error ? { cause: parseErr } : undefined);
|
|
211
|
+
}
|
|
212
|
+
})();
|
|
213
|
+
if (!response.ok) {
|
|
214
|
+
logger.error("HTTP request failed:", {
|
|
215
|
+
method,
|
|
216
|
+
url: url.toString(),
|
|
217
|
+
status: response.status,
|
|
218
|
+
message: responseData?.message,
|
|
219
|
+
});
|
|
220
|
+
const errorMessage = `HTTP error! status: ${response.status}` +
|
|
221
|
+
(responseData?.message ? ` - ${responseData.message}` : "") +
|
|
222
|
+
(responseData?.error ? ` - ${responseData.error}` : "");
|
|
223
|
+
const err = new Error(errorMessage);
|
|
224
|
+
err.status = response.status;
|
|
225
|
+
err.responseData = responseData;
|
|
226
|
+
throw err;
|
|
227
|
+
}
|
|
228
|
+
return { data: responseData, status: response.status, responseData };
|
|
229
|
+
}
|
|
230
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
231
|
+
// Public HTTP API
|
|
232
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
233
|
+
async request(method, path, data, headers = {}) {
|
|
234
|
+
const pathWithSlash = path.startsWith("/") ? path : `/${path}`;
|
|
235
|
+
const url = new URL(this.#baseUrl + pathWithSlash);
|
|
236
|
+
return this.withCredentialsRetry(async () => {
|
|
237
|
+
const result = await this._signedRequest(method, url, data, headers);
|
|
238
|
+
return result.data;
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
async get(path, headers = {}) {
|
|
242
|
+
return this.request("GET", path, undefined, headers);
|
|
243
|
+
}
|
|
244
|
+
async post(path, data, headers = {}) {
|
|
245
|
+
return this.request("POST", path, data, headers);
|
|
246
|
+
}
|
|
247
|
+
async put(path, data, headers = {}) {
|
|
248
|
+
return this.request("PUT", path, data, headers);
|
|
249
|
+
}
|
|
250
|
+
async patch(path, data, headers = {}) {
|
|
251
|
+
return this.request("PATCH", path, data, headers);
|
|
252
|
+
}
|
|
253
|
+
async delete(path, headers = {}) {
|
|
254
|
+
return this.request("DELETE", path, undefined, headers);
|
|
255
|
+
}
|
|
256
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
257
|
+
// IoT MQTT URL signing (static utility)
|
|
258
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
259
|
+
/**
|
|
260
|
+
* Normalizes a config IoT endpoint to a hostname (strips protocol and path).
|
|
261
|
+
*/
|
|
262
|
+
static #normalizeIotEndpointHost(endpoint) {
|
|
263
|
+
const trimmed = endpoint.trim();
|
|
264
|
+
const withoutProto = trimmed
|
|
265
|
+
.replace(/^https?:\/\//, "")
|
|
266
|
+
.replace(/^wss?:\/\//, "");
|
|
267
|
+
const hostOnly = withoutProto.split("/")[0];
|
|
268
|
+
if (!hostOnly) {
|
|
269
|
+
throw new Error("Invalid IoT endpoint: empty host");
|
|
270
|
+
}
|
|
271
|
+
return hostOnly;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Presigned `wss://…/mqtt?…` URL for AWS IoT Core MQTT over WebSocket (SigV4 query signing,
|
|
275
|
+
* service `iotdevicegateway`). Uses the same signing primitives as {@link ESPSigV4APIManager._signedRequest}.
|
|
276
|
+
*
|
|
277
|
+
* @param credentials - Temporary AWS credentials (e.g. from `ESPRMNeoUser.getTemporaryAWSCredentials`).
|
|
278
|
+
* @param iotEndpointOrHost - Raw `config.iotEndpoint`, a full `wss://…/mqtt` URL, or hostname only.
|
|
279
|
+
* @param awsRegion - AWS region for signing (e.g. "us-east-1"). Required; passed explicitly so
|
|
280
|
+
* this helper stays pure and doesn't reach back to global SDK config.
|
|
281
|
+
* @param options - Optional URL expiry (default 86400s).
|
|
282
|
+
*/
|
|
283
|
+
static getIotMqttWebSocketSignedUrl(credentials, iotEndpointOrHost, awsRegion, options) {
|
|
284
|
+
const host = ESPSigV4APIManager.#normalizeIotEndpointHost(iotEndpointOrHost);
|
|
285
|
+
return generateIotDeviceGatewayMqttSignedUrl({
|
|
286
|
+
accessKey: credentials.accessKey,
|
|
287
|
+
secretKey: credentials.secretKey,
|
|
288
|
+
sessionToken: credentials.sessionToken,
|
|
289
|
+
host,
|
|
290
|
+
awsRegion,
|
|
291
|
+
expiresSeconds: options?.expiresSeconds,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
296
|
+
// SDK bootstrap hooks (not re-exported publicly)
|
|
297
|
+
// ═════════════════════════════════════════════════════════════════════
|
|
298
|
+
/**
|
|
299
|
+
* SDK bootstrap hook. Called by {@link ESPRMNeoBase.configure}. Not re-exported
|
|
300
|
+
* through the public SDK barrel — external consumers cannot reach this function
|
|
301
|
+
* and cannot construct an {@link ESPSigV4APIManager} instance.
|
|
302
|
+
*
|
|
303
|
+
* @internal
|
|
304
|
+
* @throws {Error} If already initialized.
|
|
305
|
+
*/
|
|
306
|
+
function initializeSigV4APIManager(init) {
|
|
307
|
+
if (instance) {
|
|
308
|
+
throw new Error("ESPSigV4APIManager already initialized. Re-configuring the SDK is not supported.");
|
|
309
|
+
}
|
|
310
|
+
instance = ESPSigV4APIManager._constructSigV4(init);
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Test-only hook to reset the singleton and any in-flight refresh promise
|
|
314
|
+
* between test cases. Not re-exported.
|
|
315
|
+
*
|
|
316
|
+
* @internal
|
|
317
|
+
*/
|
|
318
|
+
function _resetSigV4APIManagerForTests() {
|
|
319
|
+
instance = null;
|
|
320
|
+
refreshInFlight = null;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
export { ESPSigV4APIManager, _resetSigV4APIManagerForTests, initializeSigV4APIManager };
|
|
324
|
+
//# sourceMappingURL=ESPSigV4APIManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ESPSigV4APIManager.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|