@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.
Files changed (914) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +206 -0
  3. package/dist/cjs/ESPDevice.js +35 -0
  4. package/dist/cjs/ESPDevice.js.map +1 -0
  5. package/dist/cjs/ESPRMNeoAuth.js +61 -0
  6. package/dist/cjs/ESPRMNeoAuth.js.map +1 -0
  7. package/dist/cjs/ESPRMNeoAutomation.js +48 -0
  8. package/dist/cjs/ESPRMNeoAutomation.js.map +1 -0
  9. package/dist/cjs/ESPRMNeoBase.js +250 -0
  10. package/dist/cjs/ESPRMNeoBase.js.map +1 -0
  11. package/dist/cjs/ESPRMNeoDevice.js +51 -0
  12. package/dist/cjs/ESPRMNeoDevice.js.map +1 -0
  13. package/dist/cjs/ESPRMNeoDeviceParam.js +54 -0
  14. package/dist/cjs/ESPRMNeoDeviceParam.js.map +1 -0
  15. package/dist/cjs/ESPRMNeoGroup.js +50 -0
  16. package/dist/cjs/ESPRMNeoGroup.js.map +1 -0
  17. package/dist/cjs/ESPRMNeoNode.js +283 -0
  18. package/dist/cjs/ESPRMNeoNode.js.map +1 -0
  19. package/dist/cjs/ESPRMNeoSchedule.js +66 -0
  20. package/dist/cjs/ESPRMNeoSchedule.js.map +1 -0
  21. package/dist/cjs/ESPRMNeoService.js +36 -0
  22. package/dist/cjs/ESPRMNeoService.js.map +1 -0
  23. package/dist/cjs/ESPRMNeoServiceParam.js +52 -0
  24. package/dist/cjs/ESPRMNeoServiceParam.js.map +1 -0
  25. package/dist/cjs/ESPRMNeoSharingRequest.js +33 -0
  26. package/dist/cjs/ESPRMNeoSharingRequest.js.map +1 -0
  27. package/dist/cjs/ESPRMNeoTrigger.js +50 -0
  28. package/dist/cjs/ESPRMNeoTrigger.js.map +1 -0
  29. package/dist/cjs/ESPRMNeoUser.js +82 -0
  30. package/dist/cjs/ESPRMNeoUser.js.map +1 -0
  31. package/dist/cjs/index.js +352 -0
  32. package/dist/cjs/index.js.map +1 -0
  33. package/dist/cjs/methods/ESPDevice/Connect.js +13 -0
  34. package/dist/cjs/methods/ESPDevice/Connect.js.map +1 -0
  35. package/dist/cjs/methods/ESPDevice/Disconnect.js +15 -0
  36. package/dist/cjs/methods/ESPDevice/Disconnect.js.map +1 -0
  37. package/dist/cjs/methods/ESPDevice/GetDeviceCapabilities.js +13 -0
  38. package/dist/cjs/methods/ESPDevice/GetDeviceCapabilities.js.map +1 -0
  39. package/dist/cjs/methods/ESPDevice/GetDeviceVersion.js +13 -0
  40. package/dist/cjs/methods/ESPDevice/GetDeviceVersion.js.map +1 -0
  41. package/dist/cjs/methods/ESPDevice/InitializeSession.js +13 -0
  42. package/dist/cjs/methods/ESPDevice/InitializeSession.js.map +1 -0
  43. package/dist/cjs/methods/ESPDevice/InitiateUserNodeMapping.js +14 -0
  44. package/dist/cjs/methods/ESPDevice/InitiateUserNodeMapping.js.map +1 -0
  45. package/dist/cjs/methods/ESPDevice/Provision.js +88 -0
  46. package/dist/cjs/methods/ESPDevice/Provision.js.map +1 -0
  47. package/dist/cjs/methods/ESPDevice/ScanWifiList.js +13 -0
  48. package/dist/cjs/methods/ESPDevice/ScanWifiList.js.map +1 -0
  49. package/dist/cjs/methods/ESPDevice/SendData.js +13 -0
  50. package/dist/cjs/methods/ESPDevice/SendData.js.map +1 -0
  51. package/dist/cjs/methods/ESPDevice/SetNetworkCredentials.js +13 -0
  52. package/dist/cjs/methods/ESPDevice/SetNetworkCredentials.js.map +1 -0
  53. package/dist/cjs/methods/ESPDevice/SetProofOfPossession.js +13 -0
  54. package/dist/cjs/methods/ESPDevice/SetProofOfPossession.js.map +1 -0
  55. package/dist/cjs/methods/ESPDevice/StartAssistedClaiming.js +260 -0
  56. package/dist/cjs/methods/ESPDevice/StartAssistedClaiming.js.map +1 -0
  57. package/dist/cjs/methods/ESPDevice/VerifyUserNodeMapping.js +14 -0
  58. package/dist/cjs/methods/ESPDevice/VerifyUserNodeMapping.js.map +1 -0
  59. package/dist/cjs/methods/ESPRMNeoAuth/ChangePassword.js +46 -0
  60. package/dist/cjs/methods/ESPRMNeoAuth/ChangePassword.js.map +1 -0
  61. package/dist/cjs/methods/ESPRMNeoAuth/ConfirmSignUp.js +41 -0
  62. package/dist/cjs/methods/ESPRMNeoAuth/ConfirmSignUp.js.map +1 -0
  63. package/dist/cjs/methods/ESPRMNeoAuth/ForgotPassword.js +39 -0
  64. package/dist/cjs/methods/ESPRMNeoAuth/ForgotPassword.js.map +1 -0
  65. package/dist/cjs/methods/ESPRMNeoAuth/GetLoggedInUser.js +56 -0
  66. package/dist/cjs/methods/ESPRMNeoAuth/GetLoggedInUser.js.map +1 -0
  67. package/dist/cjs/methods/ESPRMNeoAuth/Login.js +49 -0
  68. package/dist/cjs/methods/ESPRMNeoAuth/Login.js.map +1 -0
  69. package/dist/cjs/methods/ESPRMNeoAuth/SendSignUpCode.js +47 -0
  70. package/dist/cjs/methods/ESPRMNeoAuth/SendSignUpCode.js.map +1 -0
  71. package/dist/cjs/methods/ESPRMNeoAuth/SetNewPassword.js +41 -0
  72. package/dist/cjs/methods/ESPRMNeoAuth/SetNewPassword.js.map +1 -0
  73. package/dist/cjs/methods/ESPRMNeoAutomation/AddAction.js +23 -0
  74. package/dist/cjs/methods/ESPRMNeoAutomation/AddAction.js.map +1 -0
  75. package/dist/cjs/methods/ESPRMNeoAutomation/AddCondition.js +27 -0
  76. package/dist/cjs/methods/ESPRMNeoAutomation/AddCondition.js.map +1 -0
  77. package/dist/cjs/methods/ESPRMNeoAutomation/Delete.js +29 -0
  78. package/dist/cjs/methods/ESPRMNeoAutomation/Delete.js.map +1 -0
  79. package/dist/cjs/methods/ESPRMNeoAutomation/RemoveAction.js +23 -0
  80. package/dist/cjs/methods/ESPRMNeoAutomation/RemoveAction.js.map +1 -0
  81. package/dist/cjs/methods/ESPRMNeoAutomation/RemoveCondition.js +23 -0
  82. package/dist/cjs/methods/ESPRMNeoAutomation/RemoveCondition.js.map +1 -0
  83. package/dist/cjs/methods/ESPRMNeoAutomation/Update.js +40 -0
  84. package/dist/cjs/methods/ESPRMNeoAutomation/Update.js.map +1 -0
  85. package/dist/cjs/methods/ESPRMNeoDevice/GetParams.js +34 -0
  86. package/dist/cjs/methods/ESPRMNeoDevice/GetParams.js.map +1 -0
  87. package/dist/cjs/methods/ESPRMNeoDeviceParam/GetLatestTSData.js +26 -0
  88. package/dist/cjs/methods/ESPRMNeoDeviceParam/GetLatestTSData.js.map +1 -0
  89. package/dist/cjs/methods/ESPRMNeoDeviceParam/GetRawTSData.js +28 -0
  90. package/dist/cjs/methods/ESPRMNeoDeviceParam/GetRawTSData.js.map +1 -0
  91. package/dist/cjs/methods/ESPRMNeoDeviceParam/GetTSData.js +28 -0
  92. package/dist/cjs/methods/ESPRMNeoDeviceParam/GetTSData.js.map +1 -0
  93. package/dist/cjs/methods/ESPRMNeoGroup/AddNode.js +29 -0
  94. package/dist/cjs/methods/ESPRMNeoGroup/AddNode.js.map +1 -0
  95. package/dist/cjs/methods/ESPRMNeoGroup/CreateAutomation.js +32 -0
  96. package/dist/cjs/methods/ESPRMNeoGroup/CreateAutomation.js.map +1 -0
  97. package/dist/cjs/methods/ESPRMNeoGroup/CreateSchedule.js +54 -0
  98. package/dist/cjs/methods/ESPRMNeoGroup/CreateSchedule.js.map +1 -0
  99. package/dist/cjs/methods/ESPRMNeoGroup/CreateSubGroup.js +39 -0
  100. package/dist/cjs/methods/ESPRMNeoGroup/CreateSubGroup.js.map +1 -0
  101. package/dist/cjs/methods/ESPRMNeoGroup/Delete.js +30 -0
  102. package/dist/cjs/methods/ESPRMNeoGroup/Delete.js.map +1 -0
  103. package/dist/cjs/methods/ESPRMNeoGroup/DeleteAllSchedules.js +34 -0
  104. package/dist/cjs/methods/ESPRMNeoGroup/DeleteAllSchedules.js.map +1 -0
  105. package/dist/cjs/methods/ESPRMNeoGroup/GetAutomation.js +19 -0
  106. package/dist/cjs/methods/ESPRMNeoGroup/GetAutomation.js.map +1 -0
  107. package/dist/cjs/methods/ESPRMNeoGroup/GetAutomations.js +28 -0
  108. package/dist/cjs/methods/ESPRMNeoGroup/GetAutomations.js.map +1 -0
  109. package/dist/cjs/methods/ESPRMNeoGroup/GetNode.js +22 -0
  110. package/dist/cjs/methods/ESPRMNeoGroup/GetNode.js.map +1 -0
  111. package/dist/cjs/methods/ESPRMNeoGroup/GetNodes.js +20 -0
  112. package/dist/cjs/methods/ESPRMNeoGroup/GetNodes.js.map +1 -0
  113. package/dist/cjs/methods/ESPRMNeoGroup/GetSchedules.js +42 -0
  114. package/dist/cjs/methods/ESPRMNeoGroup/GetSchedules.js.map +1 -0
  115. package/dist/cjs/methods/ESPRMNeoGroup/GetSharingInfo.js +33 -0
  116. package/dist/cjs/methods/ESPRMNeoGroup/GetSharingInfo.js.map +1 -0
  117. package/dist/cjs/methods/ESPRMNeoGroup/Leave.js +22 -0
  118. package/dist/cjs/methods/ESPRMNeoGroup/Leave.js.map +1 -0
  119. package/dist/cjs/methods/ESPRMNeoGroup/RemoveMember.js +29 -0
  120. package/dist/cjs/methods/ESPRMNeoGroup/RemoveMember.js.map +1 -0
  121. package/dist/cjs/methods/ESPRMNeoGroup/RemoveNode.js +26 -0
  122. package/dist/cjs/methods/ESPRMNeoGroup/RemoveNode.js.map +1 -0
  123. package/dist/cjs/methods/ESPRMNeoGroup/SetParams.js +29 -0
  124. package/dist/cjs/methods/ESPRMNeoGroup/SetParams.js.map +1 -0
  125. package/dist/cjs/methods/ESPRMNeoGroup/Share.js +34 -0
  126. package/dist/cjs/methods/ESPRMNeoGroup/Share.js.map +1 -0
  127. package/dist/cjs/methods/ESPRMNeoGroup/UpdateName.js +37 -0
  128. package/dist/cjs/methods/ESPRMNeoGroup/UpdateName.js.map +1 -0
  129. package/dist/cjs/methods/ESPRMNeoNode/CreateSchedule.js +47 -0
  130. package/dist/cjs/methods/ESPRMNeoNode/CreateSchedule.js.map +1 -0
  131. package/dist/cjs/methods/ESPRMNeoNode/CreateTrigger.js +40 -0
  132. package/dist/cjs/methods/ESPRMNeoNode/CreateTrigger.js.map +1 -0
  133. package/dist/cjs/methods/ESPRMNeoNode/Delete.js +31 -0
  134. package/dist/cjs/methods/ESPRMNeoNode/Delete.js.map +1 -0
  135. package/dist/cjs/methods/ESPRMNeoNode/GetConfig.js +13 -0
  136. package/dist/cjs/methods/ESPRMNeoNode/GetConfig.js.map +1 -0
  137. package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamLatestTSData.js +20 -0
  138. package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamLatestTSData.js.map +1 -0
  139. package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamRawTSData.js +22 -0
  140. package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamRawTSData.js.map +1 -0
  141. package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamTSData.js +22 -0
  142. package/dist/cjs/methods/ESPRMNeoNode/GetCustomParamTSData.js.map +1 -0
  143. package/dist/cjs/methods/ESPRMNeoNode/GetSchedules.js +22 -0
  144. package/dist/cjs/methods/ESPRMNeoNode/GetSchedules.js.map +1 -0
  145. package/dist/cjs/methods/ESPRMNeoNode/GetTriggers.js +28 -0
  146. package/dist/cjs/methods/ESPRMNeoNode/GetTriggers.js.map +1 -0
  147. package/dist/cjs/methods/ESPRMNeoNode/RemoveAllSchedules.js +22 -0
  148. package/dist/cjs/methods/ESPRMNeoNode/RemoveAllSchedules.js.map +1 -0
  149. package/dist/cjs/methods/ESPRMNeoNode/RemoveAllTriggers.js +22 -0
  150. package/dist/cjs/methods/ESPRMNeoNode/RemoveAllTriggers.js.map +1 -0
  151. package/dist/cjs/methods/ESPRMNeoNode/RemoveSchedule.js +35 -0
  152. package/dist/cjs/methods/ESPRMNeoNode/RemoveSchedule.js.map +1 -0
  153. package/dist/cjs/methods/ESPRMNeoNode/RemoveTrigger.js +27 -0
  154. package/dist/cjs/methods/ESPRMNeoNode/RemoveTrigger.js.map +1 -0
  155. package/dist/cjs/methods/ESPRMNeoNode/SetParams.js +20 -0
  156. package/dist/cjs/methods/ESPRMNeoNode/SetParams.js.map +1 -0
  157. package/dist/cjs/methods/ESPRMNeoNode/SubscriptionConfig.js +25 -0
  158. package/dist/cjs/methods/ESPRMNeoNode/SubscriptionConfig.js.map +1 -0
  159. package/dist/cjs/methods/ESPRMNeoNode/Sync.js +30 -0
  160. package/dist/cjs/methods/ESPRMNeoNode/Sync.js.map +1 -0
  161. package/dist/cjs/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.js +24 -0
  162. package/dist/cjs/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.js.map +1 -0
  163. package/dist/cjs/methods/ESPRMNeoSchedule/Delete.js +19 -0
  164. package/dist/cjs/methods/ESPRMNeoSchedule/Delete.js.map +1 -0
  165. package/dist/cjs/methods/ESPRMNeoSchedule/Enable.js +13 -0
  166. package/dist/cjs/methods/ESPRMNeoSchedule/Enable.js.map +1 -0
  167. package/dist/cjs/methods/ESPRMNeoSchedule/Update.js +50 -0
  168. package/dist/cjs/methods/ESPRMNeoSchedule/Update.js.map +1 -0
  169. package/dist/cjs/methods/ESPRMNeoService/GetParams.js +42 -0
  170. package/dist/cjs/methods/ESPRMNeoService/GetParams.js.map +1 -0
  171. package/dist/cjs/methods/ESPRMNeoSharingRequest/Accept.js +37 -0
  172. package/dist/cjs/methods/ESPRMNeoSharingRequest/Accept.js.map +1 -0
  173. package/dist/cjs/methods/ESPRMNeoSharingRequest/Decline.js +37 -0
  174. package/dist/cjs/methods/ESPRMNeoSharingRequest/Decline.js.map +1 -0
  175. package/dist/cjs/methods/ESPRMNeoTrigger/Delete.js +19 -0
  176. package/dist/cjs/methods/ESPRMNeoTrigger/Delete.js.map +1 -0
  177. package/dist/cjs/methods/ESPRMNeoTrigger/Enable.js +13 -0
  178. package/dist/cjs/methods/ESPRMNeoTrigger/Enable.js.map +1 -0
  179. package/dist/cjs/methods/ESPRMNeoTrigger/Update.js +34 -0
  180. package/dist/cjs/methods/ESPRMNeoTrigger/Update.js.map +1 -0
  181. package/dist/cjs/methods/ESPRMNeoUser/CreateESPDevice.js +32 -0
  182. package/dist/cjs/methods/ESPRMNeoUser/CreateESPDevice.js.map +1 -0
  183. package/dist/cjs/methods/ESPRMNeoUser/CreateGroup.js +39 -0
  184. package/dist/cjs/methods/ESPRMNeoUser/CreateGroup.js.map +1 -0
  185. package/dist/cjs/methods/ESPRMNeoUser/EventSubscription.js +50 -0
  186. package/dist/cjs/methods/ESPRMNeoUser/EventSubscription.js.map +1 -0
  187. package/dist/cjs/methods/ESPRMNeoUser/GetGroups.js +54 -0
  188. package/dist/cjs/methods/ESPRMNeoUser/GetGroups.js.map +1 -0
  189. package/dist/cjs/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.js +79 -0
  190. package/dist/cjs/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.js.map +1 -0
  191. package/dist/cjs/methods/ESPRMNeoUser/GetUserInfo.js +39 -0
  192. package/dist/cjs/methods/ESPRMNeoUser/GetUserInfo.js.map +1 -0
  193. package/dist/cjs/methods/ESPRMNeoUser/ListIntegrations.js +37 -0
  194. package/dist/cjs/methods/ESPRMNeoUser/ListIntegrations.js.map +1 -0
  195. package/dist/cjs/methods/ESPRMNeoUser/ListSharingRequests.js +31 -0
  196. package/dist/cjs/methods/ESPRMNeoUser/ListSharingRequests.js.map +1 -0
  197. package/dist/cjs/methods/ESPRMNeoUser/Logout.js +40 -0
  198. package/dist/cjs/methods/ESPRMNeoUser/Logout.js.map +1 -0
  199. package/dist/cjs/methods/ESPRMNeoUser/MQTT/AssumeRole.js +38 -0
  200. package/dist/cjs/methods/ESPRMNeoUser/MQTT/AssumeRole.js.map +1 -0
  201. package/dist/cjs/methods/ESPRMNeoUser/MQTT/ConnectMQTT.js +67 -0
  202. package/dist/cjs/methods/ESPRMNeoUser/MQTT/ConnectMQTT.js.map +1 -0
  203. package/dist/cjs/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.js +29 -0
  204. package/dist/cjs/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.js.map +1 -0
  205. package/dist/cjs/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.js +41 -0
  206. package/dist/cjs/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.js.map +1 -0
  207. package/dist/cjs/methods/ESPRMNeoUser/SearchESPDevices.js +50 -0
  208. package/dist/cjs/methods/ESPRMNeoUser/SearchESPDevices.js.map +1 -0
  209. package/dist/cjs/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.js +44 -0
  210. package/dist/cjs/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.js.map +1 -0
  211. package/dist/cjs/proto/constants.js +24 -0
  212. package/dist/cjs/proto/constants.js.map +1 -0
  213. package/dist/cjs/proto/esp_local_ctrl.js +787 -0
  214. package/dist/cjs/proto/esp_local_ctrl.js.map +1 -0
  215. package/dist/cjs/proto/esp_rmaker_chal_resp.js +465 -0
  216. package/dist/cjs/proto/esp_rmaker_chal_resp.js.map +1 -0
  217. package/dist/cjs/proto/esp_rmaker_claim.js +358 -0
  218. package/dist/cjs/proto/esp_rmaker_claim.js.map +1 -0
  219. package/dist/cjs/services/ESPRMNeoAPIManager.js +208 -0
  220. package/dist/cjs/services/ESPRMNeoAPIManager.js.map +1 -0
  221. package/dist/cjs/services/ESPRMNeoHelpers/ChallengeResponseHelper.js +106 -0
  222. package/dist/cjs/services/ESPRMNeoHelpers/ChallengeResponseHelper.js.map +1 -0
  223. package/dist/cjs/services/ESPRMNeoHelpers/ChannelRegistration.js +49 -0
  224. package/dist/cjs/services/ESPRMNeoHelpers/ChannelRegistration.js.map +1 -0
  225. package/dist/cjs/services/ESPRMNeoHelpers/CheckTokenExpiry.js +25 -0
  226. package/dist/cjs/services/ESPRMNeoHelpers/CheckTokenExpiry.js.map +1 -0
  227. package/dist/cjs/services/ESPRMNeoHelpers/ClaimingHelper.js +221 -0
  228. package/dist/cjs/services/ESPRMNeoHelpers/ClaimingHelper.js.map +1 -0
  229. package/dist/cjs/services/ESPRMNeoHelpers/DecodeToken.js +52 -0
  230. package/dist/cjs/services/ESPRMNeoHelpers/DecodeToken.js.map +1 -0
  231. package/dist/cjs/services/ESPRMNeoHelpers/DelegatedTransportHandler.js +132 -0
  232. package/dist/cjs/services/ESPRMNeoHelpers/DelegatedTransportHandler.js.map +1 -0
  233. package/dist/cjs/services/ESPRMNeoHelpers/FetchTSData.js +137 -0
  234. package/dist/cjs/services/ESPRMNeoHelpers/FetchTSData.js.map +1 -0
  235. package/dist/cjs/services/ESPRMNeoHelpers/GetCurrentTimestamp.js +18 -0
  236. package/dist/cjs/services/ESPRMNeoHelpers/GetCurrentTimestamp.js.map +1 -0
  237. package/dist/cjs/services/ESPRMNeoHelpers/NodeMappingHelper.js +45 -0
  238. package/dist/cjs/services/ESPRMNeoHelpers/NodeMappingHelper.js.map +1 -0
  239. package/dist/cjs/services/ESPRMNeoHelpers/TransformEncoding.js +66 -0
  240. package/dist/cjs/services/ESPRMNeoHelpers/TransformEncoding.js.map +1 -0
  241. package/dist/cjs/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.js +55 -0
  242. package/dist/cjs/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.js.map +1 -0
  243. package/dist/cjs/services/ESPRMNeoMqtt/ESPRMNeoMqtt.js +120 -0
  244. package/dist/cjs/services/ESPRMNeoMqtt/ESPRMNeoMqtt.js.map +1 -0
  245. package/dist/cjs/services/ESPRMNeoStorage/DefaultStorageAdapter.js +52 -0
  246. package/dist/cjs/services/ESPRMNeoStorage/DefaultStorageAdapter.js.map +1 -0
  247. package/dist/cjs/services/ESPRMNeoStorage/ESPRMNeoStorage.js +142 -0
  248. package/dist/cjs/services/ESPRMNeoStorage/ESPRMNeoStorage.js.map +1 -0
  249. package/dist/cjs/services/ESPRMNeoSubscriptionManager.js +357 -0
  250. package/dist/cjs/services/ESPRMNeoSubscriptionManager.js.map +1 -0
  251. package/dist/cjs/services/ESPSigV4APIManager.js +328 -0
  252. package/dist/cjs/services/ESPSigV4APIManager.js.map +1 -0
  253. package/dist/cjs/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.js +62 -0
  254. package/dist/cjs/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.js.map +1 -0
  255. package/dist/cjs/services/ESPTransport/ESPLocalControlTransport.js +157 -0
  256. package/dist/cjs/services/ESPTransport/ESPLocalControlTransport.js.map +1 -0
  257. package/dist/cjs/services/ESPTransport/ESPMqttTransport.js +26 -0
  258. package/dist/cjs/services/ESPTransport/ESPMqttTransport.js.map +1 -0
  259. package/dist/cjs/services/ESPTransport/ESPTransportManager.js +42 -0
  260. package/dist/cjs/services/ESPTransport/ESPTransportManager.js.map +1 -0
  261. package/dist/cjs/services/MQTTSubscriptionChannel.js +274 -0
  262. package/dist/cjs/services/MQTTSubscriptionChannel.js.map +1 -0
  263. package/dist/cjs/services/NodeMQTTOrchestrator.js +558 -0
  264. package/dist/cjs/services/NodeMQTTOrchestrator.js.map +1 -0
  265. package/dist/cjs/services/NodeMQTTOrchestratorHelpers.js +81 -0
  266. package/dist/cjs/services/NodeMQTTOrchestratorHelpers.js.map +1 -0
  267. package/dist/cjs/services/NodeUpdatesBus.js +53 -0
  268. package/dist/cjs/services/NodeUpdatesBus.js.map +1 -0
  269. package/dist/cjs/types/discovery.js +29 -0
  270. package/dist/cjs/types/discovery.js.map +1 -0
  271. package/dist/cjs/types/provision.js +64 -0
  272. package/dist/cjs/types/provision.js.map +1 -0
  273. package/dist/cjs/types/subscription.js +20 -0
  274. package/dist/cjs/types/subscription.js.map +1 -0
  275. package/dist/cjs/types/transport.js +32 -0
  276. package/dist/cjs/types/transport.js.map +1 -0
  277. package/dist/cjs/utils/authUtils.js +28 -0
  278. package/dist/cjs/utils/authUtils.js.map +1 -0
  279. package/dist/cjs/utils/awsShadowTopics.js +154 -0
  280. package/dist/cjs/utils/awsShadowTopics.js.map +1 -0
  281. package/dist/cjs/utils/awsSigv4Utils.js +143 -0
  282. package/dist/cjs/utils/awsSigv4Utils.js.map +1 -0
  283. package/dist/cjs/utils/awsUtils.js +172 -0
  284. package/dist/cjs/utils/awsUtils.js.map +1 -0
  285. package/dist/cjs/utils/baseUtils.js +294 -0
  286. package/dist/cjs/utils/baseUtils.js.map +1 -0
  287. package/dist/cjs/utils/coerce.js +46 -0
  288. package/dist/cjs/utils/coerce.js.map +1 -0
  289. package/dist/cjs/utils/common.js +42 -0
  290. package/dist/cjs/utils/common.js.map +1 -0
  291. package/dist/cjs/utils/constants.js +893 -0
  292. package/dist/cjs/utils/constants.js.map +1 -0
  293. package/dist/cjs/utils/error/ESPAPICallValidationError.js +33 -0
  294. package/dist/cjs/utils/error/ESPAPICallValidationError.js.map +1 -0
  295. package/dist/cjs/utils/error/ESPAuthError.js +26 -0
  296. package/dist/cjs/utils/error/ESPAuthError.js.map +1 -0
  297. package/dist/cjs/utils/error/ESPBaseError.js +23 -0
  298. package/dist/cjs/utils/error/ESPBaseError.js.map +1 -0
  299. package/dist/cjs/utils/error/ESPClaimError.js +43 -0
  300. package/dist/cjs/utils/error/ESPClaimError.js.map +1 -0
  301. package/dist/cjs/utils/error/ESPConfigError.js +33 -0
  302. package/dist/cjs/utils/error/ESPConfigError.js.map +1 -0
  303. package/dist/cjs/utils/error/ESPProvError.js +33 -0
  304. package/dist/cjs/utils/error/ESPProvError.js.map +1 -0
  305. package/dist/cjs/utils/error/ESPStorageAdapterError.js +33 -0
  306. package/dist/cjs/utils/error/ESPStorageAdapterError.js.map +1 -0
  307. package/dist/cjs/utils/error/ESPTokenError.js +34 -0
  308. package/dist/cjs/utils/error/ESPTokenError.js.map +1 -0
  309. package/dist/cjs/utils/error/ESPValidationError.js +33 -0
  310. package/dist/cjs/utils/error/ESPValidationError.js.map +1 -0
  311. package/dist/cjs/utils/error/errorMessages.js +280 -0
  312. package/dist/cjs/utils/error/errorMessages.js.map +1 -0
  313. package/dist/cjs/utils/eventEmitter.js +54 -0
  314. package/dist/cjs/utils/eventEmitter.js.map +1 -0
  315. package/dist/cjs/utils/eventSubscriptionUtils.js +47 -0
  316. package/dist/cjs/utils/eventSubscriptionUtils.js.map +1 -0
  317. package/dist/cjs/utils/groupUtils.js +33 -0
  318. package/dist/cjs/utils/groupUtils.js.map +1 -0
  319. package/dist/cjs/utils/logger.js +47 -0
  320. package/dist/cjs/utils/logger.js.map +1 -0
  321. package/dist/cjs/utils/mapLimit.js +43 -0
  322. package/dist/cjs/utils/mapLimit.js.map +1 -0
  323. package/dist/cjs/utils/mqtt.js +29 -0
  324. package/dist/cjs/utils/mqtt.js.map +1 -0
  325. package/dist/cjs/utils/nodeNcfgVersionHandler.js +130 -0
  326. package/dist/cjs/utils/nodeNcfgVersionHandler.js.map +1 -0
  327. package/dist/cjs/utils/nodeTransform.js +117 -0
  328. package/dist/cjs/utils/nodeTransform.js.map +1 -0
  329. package/dist/cjs/utils/nodeUtils.js +114 -0
  330. package/dist/cjs/utils/nodeUtils.js.map +1 -0
  331. package/dist/cjs/utils/normalizeApiResponse.js +30 -0
  332. package/dist/cjs/utils/normalizeApiResponse.js.map +1 -0
  333. package/dist/cjs/utils/paramValues.js +58 -0
  334. package/dist/cjs/utils/paramValues.js.map +1 -0
  335. package/dist/cjs/utils/scheduleUtils.js +41 -0
  336. package/dist/cjs/utils/scheduleUtils.js.map +1 -0
  337. package/dist/cjs/utils/shadowUtils.js +72 -0
  338. package/dist/cjs/utils/shadowUtils.js.map +1 -0
  339. package/dist/cjs/utils/triggerUtils.js +60 -0
  340. package/dist/cjs/utils/triggerUtils.js.map +1 -0
  341. package/dist/cjs/utils/tsDataUtils.js +165 -0
  342. package/dist/cjs/utils/tsDataUtils.js.map +1 -0
  343. package/dist/cjs/utils/userUtils.js +60 -0
  344. package/dist/cjs/utils/userUtils.js.map +1 -0
  345. package/dist/cjs/utils/validator/ConfigValidator.js +216 -0
  346. package/dist/cjs/utils/validator/ConfigValidator.js.map +1 -0
  347. package/dist/cjs/utils/validator/ScheduleValidator.js +58 -0
  348. package/dist/cjs/utils/validator/ScheduleValidator.js.map +1 -0
  349. package/dist/cjs/utils/validator/validators.js +42 -0
  350. package/dist/cjs/utils/validator/validators.js.map +1 -0
  351. package/dist/cjs/utils/waitForNodeOnline.js +187 -0
  352. package/dist/cjs/utils/waitForNodeOnline.js.map +1 -0
  353. package/dist/esm/ESPDevice.js +33 -0
  354. package/dist/esm/ESPDevice.js.map +1 -0
  355. package/dist/esm/ESPRMNeoAuth.js +58 -0
  356. package/dist/esm/ESPRMNeoAuth.js.map +1 -0
  357. package/dist/esm/ESPRMNeoAutomation.js +46 -0
  358. package/dist/esm/ESPRMNeoAutomation.js.map +1 -0
  359. package/dist/esm/ESPRMNeoBase.js +248 -0
  360. package/dist/esm/ESPRMNeoBase.js.map +1 -0
  361. package/dist/esm/ESPRMNeoDevice.js +49 -0
  362. package/dist/esm/ESPRMNeoDevice.js.map +1 -0
  363. package/dist/esm/ESPRMNeoDeviceParam.js +52 -0
  364. package/dist/esm/ESPRMNeoDeviceParam.js.map +1 -0
  365. package/dist/esm/ESPRMNeoGroup.js +47 -0
  366. package/dist/esm/ESPRMNeoGroup.js.map +1 -0
  367. package/dist/esm/ESPRMNeoNode.js +281 -0
  368. package/dist/esm/ESPRMNeoNode.js.map +1 -0
  369. package/dist/esm/ESPRMNeoSchedule.js +64 -0
  370. package/dist/esm/ESPRMNeoSchedule.js.map +1 -0
  371. package/dist/esm/ESPRMNeoService.js +34 -0
  372. package/dist/esm/ESPRMNeoService.js.map +1 -0
  373. package/dist/esm/ESPRMNeoServiceParam.js +50 -0
  374. package/dist/esm/ESPRMNeoServiceParam.js.map +1 -0
  375. package/dist/esm/ESPRMNeoSharingRequest.js +31 -0
  376. package/dist/esm/ESPRMNeoSharingRequest.js.map +1 -0
  377. package/dist/esm/ESPRMNeoTrigger.js +48 -0
  378. package/dist/esm/ESPRMNeoTrigger.js.map +1 -0
  379. package/dist/esm/ESPRMNeoUser.js +80 -0
  380. package/dist/esm/ESPRMNeoUser.js.map +1 -0
  381. package/dist/esm/index.js +140 -0
  382. package/dist/esm/index.js.map +1 -0
  383. package/dist/esm/methods/ESPDevice/Connect.js +11 -0
  384. package/dist/esm/methods/ESPDevice/Connect.js.map +1 -0
  385. package/dist/esm/methods/ESPDevice/Disconnect.js +13 -0
  386. package/dist/esm/methods/ESPDevice/Disconnect.js.map +1 -0
  387. package/dist/esm/methods/ESPDevice/GetDeviceCapabilities.js +11 -0
  388. package/dist/esm/methods/ESPDevice/GetDeviceCapabilities.js.map +1 -0
  389. package/dist/esm/methods/ESPDevice/GetDeviceVersion.js +11 -0
  390. package/dist/esm/methods/ESPDevice/GetDeviceVersion.js.map +1 -0
  391. package/dist/esm/methods/ESPDevice/InitializeSession.js +11 -0
  392. package/dist/esm/methods/ESPDevice/InitializeSession.js.map +1 -0
  393. package/dist/esm/methods/ESPDevice/InitiateUserNodeMapping.js +12 -0
  394. package/dist/esm/methods/ESPDevice/InitiateUserNodeMapping.js.map +1 -0
  395. package/dist/esm/methods/ESPDevice/Provision.js +86 -0
  396. package/dist/esm/methods/ESPDevice/Provision.js.map +1 -0
  397. package/dist/esm/methods/ESPDevice/ScanWifiList.js +11 -0
  398. package/dist/esm/methods/ESPDevice/ScanWifiList.js.map +1 -0
  399. package/dist/esm/methods/ESPDevice/SendData.js +11 -0
  400. package/dist/esm/methods/ESPDevice/SendData.js.map +1 -0
  401. package/dist/esm/methods/ESPDevice/SetNetworkCredentials.js +11 -0
  402. package/dist/esm/methods/ESPDevice/SetNetworkCredentials.js.map +1 -0
  403. package/dist/esm/methods/ESPDevice/SetProofOfPossession.js +11 -0
  404. package/dist/esm/methods/ESPDevice/SetProofOfPossession.js.map +1 -0
  405. package/dist/esm/methods/ESPDevice/StartAssistedClaiming.js +258 -0
  406. package/dist/esm/methods/ESPDevice/StartAssistedClaiming.js.map +1 -0
  407. package/dist/esm/methods/ESPDevice/VerifyUserNodeMapping.js +12 -0
  408. package/dist/esm/methods/ESPDevice/VerifyUserNodeMapping.js.map +1 -0
  409. package/dist/esm/methods/ESPRMNeoAuth/ChangePassword.js +44 -0
  410. package/dist/esm/methods/ESPRMNeoAuth/ChangePassword.js.map +1 -0
  411. package/dist/esm/methods/ESPRMNeoAuth/ConfirmSignUp.js +39 -0
  412. package/dist/esm/methods/ESPRMNeoAuth/ConfirmSignUp.js.map +1 -0
  413. package/dist/esm/methods/ESPRMNeoAuth/ForgotPassword.js +37 -0
  414. package/dist/esm/methods/ESPRMNeoAuth/ForgotPassword.js.map +1 -0
  415. package/dist/esm/methods/ESPRMNeoAuth/GetLoggedInUser.js +54 -0
  416. package/dist/esm/methods/ESPRMNeoAuth/GetLoggedInUser.js.map +1 -0
  417. package/dist/esm/methods/ESPRMNeoAuth/Login.js +47 -0
  418. package/dist/esm/methods/ESPRMNeoAuth/Login.js.map +1 -0
  419. package/dist/esm/methods/ESPRMNeoAuth/SendSignUpCode.js +45 -0
  420. package/dist/esm/methods/ESPRMNeoAuth/SendSignUpCode.js.map +1 -0
  421. package/dist/esm/methods/ESPRMNeoAuth/SetNewPassword.js +39 -0
  422. package/dist/esm/methods/ESPRMNeoAuth/SetNewPassword.js.map +1 -0
  423. package/dist/esm/methods/ESPRMNeoAutomation/AddAction.js +21 -0
  424. package/dist/esm/methods/ESPRMNeoAutomation/AddAction.js.map +1 -0
  425. package/dist/esm/methods/ESPRMNeoAutomation/AddCondition.js +25 -0
  426. package/dist/esm/methods/ESPRMNeoAutomation/AddCondition.js.map +1 -0
  427. package/dist/esm/methods/ESPRMNeoAutomation/Delete.js +27 -0
  428. package/dist/esm/methods/ESPRMNeoAutomation/Delete.js.map +1 -0
  429. package/dist/esm/methods/ESPRMNeoAutomation/RemoveAction.js +21 -0
  430. package/dist/esm/methods/ESPRMNeoAutomation/RemoveAction.js.map +1 -0
  431. package/dist/esm/methods/ESPRMNeoAutomation/RemoveCondition.js +21 -0
  432. package/dist/esm/methods/ESPRMNeoAutomation/RemoveCondition.js.map +1 -0
  433. package/dist/esm/methods/ESPRMNeoAutomation/Update.js +38 -0
  434. package/dist/esm/methods/ESPRMNeoAutomation/Update.js.map +1 -0
  435. package/dist/esm/methods/ESPRMNeoDevice/GetParams.js +32 -0
  436. package/dist/esm/methods/ESPRMNeoDevice/GetParams.js.map +1 -0
  437. package/dist/esm/methods/ESPRMNeoDeviceParam/GetLatestTSData.js +24 -0
  438. package/dist/esm/methods/ESPRMNeoDeviceParam/GetLatestTSData.js.map +1 -0
  439. package/dist/esm/methods/ESPRMNeoDeviceParam/GetRawTSData.js +26 -0
  440. package/dist/esm/methods/ESPRMNeoDeviceParam/GetRawTSData.js.map +1 -0
  441. package/dist/esm/methods/ESPRMNeoDeviceParam/GetTSData.js +26 -0
  442. package/dist/esm/methods/ESPRMNeoDeviceParam/GetTSData.js.map +1 -0
  443. package/dist/esm/methods/ESPRMNeoGroup/AddNode.js +27 -0
  444. package/dist/esm/methods/ESPRMNeoGroup/AddNode.js.map +1 -0
  445. package/dist/esm/methods/ESPRMNeoGroup/CreateAutomation.js +30 -0
  446. package/dist/esm/methods/ESPRMNeoGroup/CreateAutomation.js.map +1 -0
  447. package/dist/esm/methods/ESPRMNeoGroup/CreateSchedule.js +52 -0
  448. package/dist/esm/methods/ESPRMNeoGroup/CreateSchedule.js.map +1 -0
  449. package/dist/esm/methods/ESPRMNeoGroup/CreateSubGroup.js +37 -0
  450. package/dist/esm/methods/ESPRMNeoGroup/CreateSubGroup.js.map +1 -0
  451. package/dist/esm/methods/ESPRMNeoGroup/Delete.js +28 -0
  452. package/dist/esm/methods/ESPRMNeoGroup/Delete.js.map +1 -0
  453. package/dist/esm/methods/ESPRMNeoGroup/DeleteAllSchedules.js +32 -0
  454. package/dist/esm/methods/ESPRMNeoGroup/DeleteAllSchedules.js.map +1 -0
  455. package/dist/esm/methods/ESPRMNeoGroup/GetAutomation.js +17 -0
  456. package/dist/esm/methods/ESPRMNeoGroup/GetAutomation.js.map +1 -0
  457. package/dist/esm/methods/ESPRMNeoGroup/GetAutomations.js +26 -0
  458. package/dist/esm/methods/ESPRMNeoGroup/GetAutomations.js.map +1 -0
  459. package/dist/esm/methods/ESPRMNeoGroup/GetNode.js +20 -0
  460. package/dist/esm/methods/ESPRMNeoGroup/GetNode.js.map +1 -0
  461. package/dist/esm/methods/ESPRMNeoGroup/GetNodes.js +18 -0
  462. package/dist/esm/methods/ESPRMNeoGroup/GetNodes.js.map +1 -0
  463. package/dist/esm/methods/ESPRMNeoGroup/GetSchedules.js +40 -0
  464. package/dist/esm/methods/ESPRMNeoGroup/GetSchedules.js.map +1 -0
  465. package/dist/esm/methods/ESPRMNeoGroup/GetSharingInfo.js +31 -0
  466. package/dist/esm/methods/ESPRMNeoGroup/GetSharingInfo.js.map +1 -0
  467. package/dist/esm/methods/ESPRMNeoGroup/Leave.js +20 -0
  468. package/dist/esm/methods/ESPRMNeoGroup/Leave.js.map +1 -0
  469. package/dist/esm/methods/ESPRMNeoGroup/RemoveMember.js +27 -0
  470. package/dist/esm/methods/ESPRMNeoGroup/RemoveMember.js.map +1 -0
  471. package/dist/esm/methods/ESPRMNeoGroup/RemoveNode.js +24 -0
  472. package/dist/esm/methods/ESPRMNeoGroup/RemoveNode.js.map +1 -0
  473. package/dist/esm/methods/ESPRMNeoGroup/SetParams.js +27 -0
  474. package/dist/esm/methods/ESPRMNeoGroup/SetParams.js.map +1 -0
  475. package/dist/esm/methods/ESPRMNeoGroup/Share.js +32 -0
  476. package/dist/esm/methods/ESPRMNeoGroup/Share.js.map +1 -0
  477. package/dist/esm/methods/ESPRMNeoGroup/UpdateName.js +35 -0
  478. package/dist/esm/methods/ESPRMNeoGroup/UpdateName.js.map +1 -0
  479. package/dist/esm/methods/ESPRMNeoNode/CreateSchedule.js +45 -0
  480. package/dist/esm/methods/ESPRMNeoNode/CreateSchedule.js.map +1 -0
  481. package/dist/esm/methods/ESPRMNeoNode/CreateTrigger.js +38 -0
  482. package/dist/esm/methods/ESPRMNeoNode/CreateTrigger.js.map +1 -0
  483. package/dist/esm/methods/ESPRMNeoNode/Delete.js +29 -0
  484. package/dist/esm/methods/ESPRMNeoNode/Delete.js.map +1 -0
  485. package/dist/esm/methods/ESPRMNeoNode/GetConfig.js +11 -0
  486. package/dist/esm/methods/ESPRMNeoNode/GetConfig.js.map +1 -0
  487. package/dist/esm/methods/ESPRMNeoNode/GetCustomParamLatestTSData.js +18 -0
  488. package/dist/esm/methods/ESPRMNeoNode/GetCustomParamLatestTSData.js.map +1 -0
  489. package/dist/esm/methods/ESPRMNeoNode/GetCustomParamRawTSData.js +20 -0
  490. package/dist/esm/methods/ESPRMNeoNode/GetCustomParamRawTSData.js.map +1 -0
  491. package/dist/esm/methods/ESPRMNeoNode/GetCustomParamTSData.js +20 -0
  492. package/dist/esm/methods/ESPRMNeoNode/GetCustomParamTSData.js.map +1 -0
  493. package/dist/esm/methods/ESPRMNeoNode/GetSchedules.js +20 -0
  494. package/dist/esm/methods/ESPRMNeoNode/GetSchedules.js.map +1 -0
  495. package/dist/esm/methods/ESPRMNeoNode/GetTriggers.js +26 -0
  496. package/dist/esm/methods/ESPRMNeoNode/GetTriggers.js.map +1 -0
  497. package/dist/esm/methods/ESPRMNeoNode/RemoveAllSchedules.js +20 -0
  498. package/dist/esm/methods/ESPRMNeoNode/RemoveAllSchedules.js.map +1 -0
  499. package/dist/esm/methods/ESPRMNeoNode/RemoveAllTriggers.js +20 -0
  500. package/dist/esm/methods/ESPRMNeoNode/RemoveAllTriggers.js.map +1 -0
  501. package/dist/esm/methods/ESPRMNeoNode/RemoveSchedule.js +33 -0
  502. package/dist/esm/methods/ESPRMNeoNode/RemoveSchedule.js.map +1 -0
  503. package/dist/esm/methods/ESPRMNeoNode/RemoveTrigger.js +25 -0
  504. package/dist/esm/methods/ESPRMNeoNode/RemoveTrigger.js.map +1 -0
  505. package/dist/esm/methods/ESPRMNeoNode/SetParams.js +18 -0
  506. package/dist/esm/methods/ESPRMNeoNode/SetParams.js.map +1 -0
  507. package/dist/esm/methods/ESPRMNeoNode/SubscriptionConfig.js +23 -0
  508. package/dist/esm/methods/ESPRMNeoNode/SubscriptionConfig.js.map +1 -0
  509. package/dist/esm/methods/ESPRMNeoNode/Sync.js +28 -0
  510. package/dist/esm/methods/ESPRMNeoNode/Sync.js.map +1 -0
  511. package/dist/esm/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.js +22 -0
  512. package/dist/esm/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.js.map +1 -0
  513. package/dist/esm/methods/ESPRMNeoSchedule/Delete.js +17 -0
  514. package/dist/esm/methods/ESPRMNeoSchedule/Delete.js.map +1 -0
  515. package/dist/esm/methods/ESPRMNeoSchedule/Enable.js +11 -0
  516. package/dist/esm/methods/ESPRMNeoSchedule/Enable.js.map +1 -0
  517. package/dist/esm/methods/ESPRMNeoSchedule/Update.js +48 -0
  518. package/dist/esm/methods/ESPRMNeoSchedule/Update.js.map +1 -0
  519. package/dist/esm/methods/ESPRMNeoService/GetParams.js +40 -0
  520. package/dist/esm/methods/ESPRMNeoService/GetParams.js.map +1 -0
  521. package/dist/esm/methods/ESPRMNeoSharingRequest/Accept.js +35 -0
  522. package/dist/esm/methods/ESPRMNeoSharingRequest/Accept.js.map +1 -0
  523. package/dist/esm/methods/ESPRMNeoSharingRequest/Decline.js +35 -0
  524. package/dist/esm/methods/ESPRMNeoSharingRequest/Decline.js.map +1 -0
  525. package/dist/esm/methods/ESPRMNeoTrigger/Delete.js +17 -0
  526. package/dist/esm/methods/ESPRMNeoTrigger/Delete.js.map +1 -0
  527. package/dist/esm/methods/ESPRMNeoTrigger/Enable.js +11 -0
  528. package/dist/esm/methods/ESPRMNeoTrigger/Enable.js.map +1 -0
  529. package/dist/esm/methods/ESPRMNeoTrigger/Update.js +32 -0
  530. package/dist/esm/methods/ESPRMNeoTrigger/Update.js.map +1 -0
  531. package/dist/esm/methods/ESPRMNeoUser/CreateESPDevice.js +30 -0
  532. package/dist/esm/methods/ESPRMNeoUser/CreateESPDevice.js.map +1 -0
  533. package/dist/esm/methods/ESPRMNeoUser/CreateGroup.js +37 -0
  534. package/dist/esm/methods/ESPRMNeoUser/CreateGroup.js.map +1 -0
  535. package/dist/esm/methods/ESPRMNeoUser/EventSubscription.js +48 -0
  536. package/dist/esm/methods/ESPRMNeoUser/EventSubscription.js.map +1 -0
  537. package/dist/esm/methods/ESPRMNeoUser/GetGroups.js +52 -0
  538. package/dist/esm/methods/ESPRMNeoUser/GetGroups.js.map +1 -0
  539. package/dist/esm/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.js +77 -0
  540. package/dist/esm/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.js.map +1 -0
  541. package/dist/esm/methods/ESPRMNeoUser/GetUserInfo.js +37 -0
  542. package/dist/esm/methods/ESPRMNeoUser/GetUserInfo.js.map +1 -0
  543. package/dist/esm/methods/ESPRMNeoUser/ListIntegrations.js +35 -0
  544. package/dist/esm/methods/ESPRMNeoUser/ListIntegrations.js.map +1 -0
  545. package/dist/esm/methods/ESPRMNeoUser/ListSharingRequests.js +29 -0
  546. package/dist/esm/methods/ESPRMNeoUser/ListSharingRequests.js.map +1 -0
  547. package/dist/esm/methods/ESPRMNeoUser/Logout.js +38 -0
  548. package/dist/esm/methods/ESPRMNeoUser/Logout.js.map +1 -0
  549. package/dist/esm/methods/ESPRMNeoUser/MQTT/AssumeRole.js +36 -0
  550. package/dist/esm/methods/ESPRMNeoUser/MQTT/AssumeRole.js.map +1 -0
  551. package/dist/esm/methods/ESPRMNeoUser/MQTT/ConnectMQTT.js +65 -0
  552. package/dist/esm/methods/ESPRMNeoUser/MQTT/ConnectMQTT.js.map +1 -0
  553. package/dist/esm/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.js +27 -0
  554. package/dist/esm/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.js.map +1 -0
  555. package/dist/esm/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.js +39 -0
  556. package/dist/esm/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.js.map +1 -0
  557. package/dist/esm/methods/ESPRMNeoUser/SearchESPDevices.js +48 -0
  558. package/dist/esm/methods/ESPRMNeoUser/SearchESPDevices.js.map +1 -0
  559. package/dist/esm/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.js +42 -0
  560. package/dist/esm/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.js.map +1 -0
  561. package/dist/esm/proto/constants.js +24 -0
  562. package/dist/esm/proto/constants.js.map +1 -0
  563. package/dist/esm/proto/esp_local_ctrl.js +758 -0
  564. package/dist/esm/proto/esp_local_ctrl.js.map +1 -0
  565. package/dist/esm/proto/esp_rmaker_chal_resp.js +446 -0
  566. package/dist/esm/proto/esp_rmaker_chal_resp.js.map +1 -0
  567. package/dist/esm/proto/esp_rmaker_claim.js +356 -0
  568. package/dist/esm/proto/esp_rmaker_claim.js.map +1 -0
  569. package/dist/esm/services/ESPRMNeoAPIManager.js +204 -0
  570. package/dist/esm/services/ESPRMNeoAPIManager.js.map +1 -0
  571. package/dist/esm/services/ESPRMNeoHelpers/ChallengeResponseHelper.js +104 -0
  572. package/dist/esm/services/ESPRMNeoHelpers/ChallengeResponseHelper.js.map +1 -0
  573. package/dist/esm/services/ESPRMNeoHelpers/ChannelRegistration.js +47 -0
  574. package/dist/esm/services/ESPRMNeoHelpers/ChannelRegistration.js.map +1 -0
  575. package/dist/esm/services/ESPRMNeoHelpers/CheckTokenExpiry.js +23 -0
  576. package/dist/esm/services/ESPRMNeoHelpers/CheckTokenExpiry.js.map +1 -0
  577. package/dist/esm/services/ESPRMNeoHelpers/ClaimingHelper.js +219 -0
  578. package/dist/esm/services/ESPRMNeoHelpers/ClaimingHelper.js.map +1 -0
  579. package/dist/esm/services/ESPRMNeoHelpers/DecodeToken.js +50 -0
  580. package/dist/esm/services/ESPRMNeoHelpers/DecodeToken.js.map +1 -0
  581. package/dist/esm/services/ESPRMNeoHelpers/DelegatedTransportHandler.js +130 -0
  582. package/dist/esm/services/ESPRMNeoHelpers/DelegatedTransportHandler.js.map +1 -0
  583. package/dist/esm/services/ESPRMNeoHelpers/FetchTSData.js +133 -0
  584. package/dist/esm/services/ESPRMNeoHelpers/FetchTSData.js.map +1 -0
  585. package/dist/esm/services/ESPRMNeoHelpers/GetCurrentTimestamp.js +16 -0
  586. package/dist/esm/services/ESPRMNeoHelpers/GetCurrentTimestamp.js.map +1 -0
  587. package/dist/esm/services/ESPRMNeoHelpers/NodeMappingHelper.js +43 -0
  588. package/dist/esm/services/ESPRMNeoHelpers/NodeMappingHelper.js.map +1 -0
  589. package/dist/esm/services/ESPRMNeoHelpers/TransformEncoding.js +63 -0
  590. package/dist/esm/services/ESPRMNeoHelpers/TransformEncoding.js.map +1 -0
  591. package/dist/esm/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.js +52 -0
  592. package/dist/esm/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.js.map +1 -0
  593. package/dist/esm/services/ESPRMNeoMqtt/ESPRMNeoMqtt.js +118 -0
  594. package/dist/esm/services/ESPRMNeoMqtt/ESPRMNeoMqtt.js.map +1 -0
  595. package/dist/esm/services/ESPRMNeoStorage/DefaultStorageAdapter.js +50 -0
  596. package/dist/esm/services/ESPRMNeoStorage/DefaultStorageAdapter.js.map +1 -0
  597. package/dist/esm/services/ESPRMNeoStorage/ESPRMNeoStorage.js +139 -0
  598. package/dist/esm/services/ESPRMNeoStorage/ESPRMNeoStorage.js.map +1 -0
  599. package/dist/esm/services/ESPRMNeoSubscriptionManager.js +355 -0
  600. package/dist/esm/services/ESPRMNeoSubscriptionManager.js.map +1 -0
  601. package/dist/esm/services/ESPSigV4APIManager.js +324 -0
  602. package/dist/esm/services/ESPSigV4APIManager.js.map +1 -0
  603. package/dist/esm/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.js +60 -0
  604. package/dist/esm/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.js.map +1 -0
  605. package/dist/esm/services/ESPTransport/ESPLocalControlTransport.js +155 -0
  606. package/dist/esm/services/ESPTransport/ESPLocalControlTransport.js.map +1 -0
  607. package/dist/esm/services/ESPTransport/ESPMqttTransport.js +24 -0
  608. package/dist/esm/services/ESPTransport/ESPMqttTransport.js.map +1 -0
  609. package/dist/esm/services/ESPTransport/ESPTransportManager.js +40 -0
  610. package/dist/esm/services/ESPTransport/ESPTransportManager.js.map +1 -0
  611. package/dist/esm/services/MQTTSubscriptionChannel.js +272 -0
  612. package/dist/esm/services/MQTTSubscriptionChannel.js.map +1 -0
  613. package/dist/esm/services/NodeMQTTOrchestrator.js +556 -0
  614. package/dist/esm/services/NodeMQTTOrchestrator.js.map +1 -0
  615. package/dist/esm/services/NodeMQTTOrchestratorHelpers.js +77 -0
  616. package/dist/esm/services/NodeMQTTOrchestratorHelpers.js.map +1 -0
  617. package/dist/esm/services/NodeUpdatesBus.js +50 -0
  618. package/dist/esm/services/NodeUpdatesBus.js.map +1 -0
  619. package/dist/esm/types/discovery.js +29 -0
  620. package/dist/esm/types/discovery.js.map +1 -0
  621. package/dist/esm/types/provision.js +64 -0
  622. package/dist/esm/types/provision.js.map +1 -0
  623. package/dist/esm/types/subscription.js +18 -0
  624. package/dist/esm/types/subscription.js.map +1 -0
  625. package/dist/esm/types/transport.js +30 -0
  626. package/dist/esm/types/transport.js.map +1 -0
  627. package/dist/esm/utils/authUtils.js +25 -0
  628. package/dist/esm/utils/authUtils.js.map +1 -0
  629. package/dist/esm/utils/awsShadowTopics.js +143 -0
  630. package/dist/esm/utils/awsShadowTopics.js.map +1 -0
  631. package/dist/esm/utils/awsSigv4Utils.js +138 -0
  632. package/dist/esm/utils/awsSigv4Utils.js.map +1 -0
  633. package/dist/esm/utils/awsUtils.js +163 -0
  634. package/dist/esm/utils/awsUtils.js.map +1 -0
  635. package/dist/esm/utils/baseUtils.js +280 -0
  636. package/dist/esm/utils/baseUtils.js.map +1 -0
  637. package/dist/esm/utils/coerce.js +42 -0
  638. package/dist/esm/utils/coerce.js.map +1 -0
  639. package/dist/esm/utils/common.js +37 -0
  640. package/dist/esm/utils/common.js.map +1 -0
  641. package/dist/esm/utils/constants.js +844 -0
  642. package/dist/esm/utils/constants.js.map +1 -0
  643. package/dist/esm/utils/error/ESPAPICallValidationError.js +31 -0
  644. package/dist/esm/utils/error/ESPAPICallValidationError.js.map +1 -0
  645. package/dist/esm/utils/error/ESPAuthError.js +24 -0
  646. package/dist/esm/utils/error/ESPAuthError.js.map +1 -0
  647. package/dist/esm/utils/error/ESPBaseError.js +21 -0
  648. package/dist/esm/utils/error/ESPBaseError.js.map +1 -0
  649. package/dist/esm/utils/error/ESPClaimError.js +41 -0
  650. package/dist/esm/utils/error/ESPClaimError.js.map +1 -0
  651. package/dist/esm/utils/error/ESPConfigError.js +31 -0
  652. package/dist/esm/utils/error/ESPConfigError.js.map +1 -0
  653. package/dist/esm/utils/error/ESPProvError.js +31 -0
  654. package/dist/esm/utils/error/ESPProvError.js.map +1 -0
  655. package/dist/esm/utils/error/ESPStorageAdapterError.js +31 -0
  656. package/dist/esm/utils/error/ESPStorageAdapterError.js.map +1 -0
  657. package/dist/esm/utils/error/ESPTokenError.js +32 -0
  658. package/dist/esm/utils/error/ESPTokenError.js.map +1 -0
  659. package/dist/esm/utils/error/ESPValidationError.js +31 -0
  660. package/dist/esm/utils/error/ESPValidationError.js.map +1 -0
  661. package/dist/esm/utils/error/errorMessages.js +270 -0
  662. package/dist/esm/utils/error/errorMessages.js.map +1 -0
  663. package/dist/esm/utils/eventEmitter.js +52 -0
  664. package/dist/esm/utils/eventEmitter.js.map +1 -0
  665. package/dist/esm/utils/eventSubscriptionUtils.js +42 -0
  666. package/dist/esm/utils/eventSubscriptionUtils.js.map +1 -0
  667. package/dist/esm/utils/groupUtils.js +30 -0
  668. package/dist/esm/utils/groupUtils.js.map +1 -0
  669. package/dist/esm/utils/logger.js +45 -0
  670. package/dist/esm/utils/logger.js.map +1 -0
  671. package/dist/esm/utils/mapLimit.js +41 -0
  672. package/dist/esm/utils/mapLimit.js.map +1 -0
  673. package/dist/esm/utils/mqtt.js +27 -0
  674. package/dist/esm/utils/mqtt.js.map +1 -0
  675. package/dist/esm/utils/nodeNcfgVersionHandler.js +123 -0
  676. package/dist/esm/utils/nodeNcfgVersionHandler.js.map +1 -0
  677. package/dist/esm/utils/nodeTransform.js +109 -0
  678. package/dist/esm/utils/nodeTransform.js.map +1 -0
  679. package/dist/esm/utils/nodeUtils.js +104 -0
  680. package/dist/esm/utils/nodeUtils.js.map +1 -0
  681. package/dist/esm/utils/normalizeApiResponse.js +28 -0
  682. package/dist/esm/utils/normalizeApiResponse.js.map +1 -0
  683. package/dist/esm/utils/paramValues.js +54 -0
  684. package/dist/esm/utils/paramValues.js.map +1 -0
  685. package/dist/esm/utils/scheduleUtils.js +38 -0
  686. package/dist/esm/utils/scheduleUtils.js.map +1 -0
  687. package/dist/esm/utils/shadowUtils.js +67 -0
  688. package/dist/esm/utils/shadowUtils.js.map +1 -0
  689. package/dist/esm/utils/triggerUtils.js +55 -0
  690. package/dist/esm/utils/triggerUtils.js.map +1 -0
  691. package/dist/esm/utils/tsDataUtils.js +156 -0
  692. package/dist/esm/utils/tsDataUtils.js.map +1 -0
  693. package/dist/esm/utils/userUtils.js +54 -0
  694. package/dist/esm/utils/userUtils.js.map +1 -0
  695. package/dist/esm/utils/validator/ConfigValidator.js +214 -0
  696. package/dist/esm/utils/validator/ConfigValidator.js.map +1 -0
  697. package/dist/esm/utils/validator/ScheduleValidator.js +56 -0
  698. package/dist/esm/utils/validator/ScheduleValidator.js.map +1 -0
  699. package/dist/esm/utils/validator/validators.js +38 -0
  700. package/dist/esm/utils/validator/validators.js.map +1 -0
  701. package/dist/esm/utils/waitForNodeOnline.js +182 -0
  702. package/dist/esm/utils/waitForNodeOnline.js.map +1 -0
  703. package/dist/types/ESPDevice.d.ts +13 -0
  704. package/dist/types/ESPRMNeoAuth.d.ts +26 -0
  705. package/dist/types/ESPRMNeoAutomation.d.ts +17 -0
  706. package/dist/types/ESPRMNeoBase.d.ts +169 -0
  707. package/dist/types/ESPRMNeoDevice.d.ts +31 -0
  708. package/dist/types/ESPRMNeoDeviceParam.d.ts +25 -0
  709. package/dist/types/ESPRMNeoGroup.d.ts +26 -0
  710. package/dist/types/ESPRMNeoNode.d.ts +142 -0
  711. package/dist/types/ESPRMNeoSchedule.d.ts +36 -0
  712. package/dist/types/ESPRMNeoService.d.ts +24 -0
  713. package/dist/types/ESPRMNeoServiceParam.d.ts +23 -0
  714. package/dist/types/ESPRMNeoSharingRequest.d.ts +16 -0
  715. package/dist/types/ESPRMNeoTrigger.d.ts +26 -0
  716. package/dist/types/ESPRMNeoUser.d.ts +47 -0
  717. package/dist/types/index.d.ts +23 -0
  718. package/dist/types/methods/ESPDevice/Connect.d.ts +15 -0
  719. package/dist/types/methods/ESPDevice/Disconnect.d.ts +15 -0
  720. package/dist/types/methods/ESPDevice/GetDeviceCapabilities.d.ts +15 -0
  721. package/dist/types/methods/ESPDevice/GetDeviceVersion.d.ts +17 -0
  722. package/dist/types/methods/ESPDevice/InitializeSession.d.ts +15 -0
  723. package/dist/types/methods/ESPDevice/InitiateUserNodeMapping.d.ts +14 -0
  724. package/dist/types/methods/ESPDevice/Provision.d.ts +28 -0
  725. package/dist/types/methods/ESPDevice/ScanWifiList.d.ts +15 -0
  726. package/dist/types/methods/ESPDevice/SendData.d.ts +17 -0
  727. package/dist/types/methods/ESPDevice/SetNetworkCredentials.d.ts +15 -0
  728. package/dist/types/methods/ESPDevice/SetProofOfPossession.d.ts +16 -0
  729. package/dist/types/methods/ESPDevice/StartAssistedClaiming.d.ts +26 -0
  730. package/dist/types/methods/ESPDevice/VerifyUserNodeMapping.d.ts +16 -0
  731. package/dist/types/methods/ESPDevice/index.d.ts +13 -0
  732. package/dist/types/methods/ESPRMNeoAuth/ChangePassword.d.ts +19 -0
  733. package/dist/types/methods/ESPRMNeoAuth/ConfirmSignUp.d.ts +19 -0
  734. package/dist/types/methods/ESPRMNeoAuth/ForgotPassword.d.ts +19 -0
  735. package/dist/types/methods/ESPRMNeoAuth/GetLoggedInUser.d.ts +19 -0
  736. package/dist/types/methods/ESPRMNeoAuth/Login.d.ts +19 -0
  737. package/dist/types/methods/ESPRMNeoAuth/SendSignUpCode.d.ts +20 -0
  738. package/dist/types/methods/ESPRMNeoAuth/SetNewPassword.d.ts +20 -0
  739. package/dist/types/methods/ESPRMNeoAuth/index.d.ts +7 -0
  740. package/dist/types/methods/ESPRMNeoAutomation/AddAction.d.ts +18 -0
  741. package/dist/types/methods/ESPRMNeoAutomation/AddCondition.d.ts +17 -0
  742. package/dist/types/methods/ESPRMNeoAutomation/Delete.d.ts +18 -0
  743. package/dist/types/methods/ESPRMNeoAutomation/RemoveAction.d.ts +17 -0
  744. package/dist/types/methods/ESPRMNeoAutomation/RemoveCondition.d.ts +17 -0
  745. package/dist/types/methods/ESPRMNeoAutomation/Update.d.ts +19 -0
  746. package/dist/types/methods/ESPRMNeoAutomation/index.d.ts +6 -0
  747. package/dist/types/methods/ESPRMNeoDevice/GetParams.d.ts +41 -0
  748. package/dist/types/methods/ESPRMNeoDevice/index.d.ts +1 -0
  749. package/dist/types/methods/ESPRMNeoDeviceParam/GetLatestTSData.d.ts +17 -0
  750. package/dist/types/methods/ESPRMNeoDeviceParam/GetRawTSData.d.ts +18 -0
  751. package/dist/types/methods/ESPRMNeoDeviceParam/GetTSData.d.ts +23 -0
  752. package/dist/types/methods/ESPRMNeoDeviceParam/index.d.ts +3 -0
  753. package/dist/types/methods/ESPRMNeoGroup/AddNode.d.ts +16 -0
  754. package/dist/types/methods/ESPRMNeoGroup/CreateAutomation.d.ts +20 -0
  755. package/dist/types/methods/ESPRMNeoGroup/CreateSchedule.d.ts +23 -0
  756. package/dist/types/methods/ESPRMNeoGroup/CreateSubGroup.d.ts +18 -0
  757. package/dist/types/methods/ESPRMNeoGroup/Delete.d.ts +23 -0
  758. package/dist/types/methods/ESPRMNeoGroup/DeleteAllSchedules.d.ts +16 -0
  759. package/dist/types/methods/ESPRMNeoGroup/GetAutomation.d.ts +18 -0
  760. package/dist/types/methods/ESPRMNeoGroup/GetAutomations.d.ts +17 -0
  761. package/dist/types/methods/ESPRMNeoGroup/GetNode.d.ts +45 -0
  762. package/dist/types/methods/ESPRMNeoGroup/GetNodes.d.ts +28 -0
  763. package/dist/types/methods/ESPRMNeoGroup/GetSchedules.d.ts +16 -0
  764. package/dist/types/methods/ESPRMNeoGroup/GetSharingInfo.d.ts +23 -0
  765. package/dist/types/methods/ESPRMNeoGroup/Leave.d.ts +24 -0
  766. package/dist/types/methods/ESPRMNeoGroup/RemoveMember.d.ts +21 -0
  767. package/dist/types/methods/ESPRMNeoGroup/RemoveNode.d.ts +15 -0
  768. package/dist/types/methods/ESPRMNeoGroup/SetParams.d.ts +19 -0
  769. package/dist/types/methods/ESPRMNeoGroup/Share.d.ts +25 -0
  770. package/dist/types/methods/ESPRMNeoGroup/UpdateName.d.ts +20 -0
  771. package/dist/types/methods/ESPRMNeoGroup/index.d.ts +18 -0
  772. package/dist/types/methods/ESPRMNeoNode/CreateSchedule.d.ts +31 -0
  773. package/dist/types/methods/ESPRMNeoNode/CreateTrigger.d.ts +31 -0
  774. package/dist/types/methods/ESPRMNeoNode/Delete.d.ts +16 -0
  775. package/dist/types/methods/ESPRMNeoNode/GetConfig.d.ts +16 -0
  776. package/dist/types/methods/ESPRMNeoNode/GetCustomParamLatestTSData.d.ts +19 -0
  777. package/dist/types/methods/ESPRMNeoNode/GetCustomParamRawTSData.d.ts +20 -0
  778. package/dist/types/methods/ESPRMNeoNode/GetCustomParamTSData.d.ts +25 -0
  779. package/dist/types/methods/ESPRMNeoNode/GetSchedules.d.ts +17 -0
  780. package/dist/types/methods/ESPRMNeoNode/GetTriggers.d.ts +17 -0
  781. package/dist/types/methods/ESPRMNeoNode/RemoveAllSchedules.d.ts +17 -0
  782. package/dist/types/methods/ESPRMNeoNode/RemoveAllTriggers.d.ts +17 -0
  783. package/dist/types/methods/ESPRMNeoNode/RemoveSchedule.d.ts +20 -0
  784. package/dist/types/methods/ESPRMNeoNode/RemoveTrigger.d.ts +20 -0
  785. package/dist/types/methods/ESPRMNeoNode/SetParams.d.ts +23 -0
  786. package/dist/types/methods/ESPRMNeoNode/SubscriptionConfig.d.ts +33 -0
  787. package/dist/types/methods/ESPRMNeoNode/Sync.d.ts +19 -0
  788. package/dist/types/methods/ESPRMNeoNode/UnsubscribeFromMqttUpdates.d.ts +23 -0
  789. package/dist/types/methods/ESPRMNeoNode/index.d.ts +17 -0
  790. package/dist/types/methods/ESPRMNeoSchedule/Delete.d.ts +16 -0
  791. package/dist/types/methods/ESPRMNeoSchedule/Enable.d.ts +17 -0
  792. package/dist/types/methods/ESPRMNeoSchedule/Update.d.ts +18 -0
  793. package/dist/types/methods/ESPRMNeoSchedule/index.d.ts +3 -0
  794. package/dist/types/methods/ESPRMNeoService/GetParams.d.ts +17 -0
  795. package/dist/types/methods/ESPRMNeoService/index.d.ts +1 -0
  796. package/dist/types/methods/ESPRMNeoSharingRequest/Accept.d.ts +17 -0
  797. package/dist/types/methods/ESPRMNeoSharingRequest/Decline.d.ts +17 -0
  798. package/dist/types/methods/ESPRMNeoSharingRequest/index.d.ts +2 -0
  799. package/dist/types/methods/ESPRMNeoTrigger/Delete.d.ts +15 -0
  800. package/dist/types/methods/ESPRMNeoTrigger/Enable.d.ts +17 -0
  801. package/dist/types/methods/ESPRMNeoTrigger/Update.d.ts +22 -0
  802. package/dist/types/methods/ESPRMNeoTrigger/index.d.ts +3 -0
  803. package/dist/types/methods/ESPRMNeoUser/CreateESPDevice.d.ts +20 -0
  804. package/dist/types/methods/ESPRMNeoUser/CreateGroup.d.ts +17 -0
  805. package/dist/types/methods/ESPRMNeoUser/EventSubscription.d.ts +29 -0
  806. package/dist/types/methods/ESPRMNeoUser/GetGroups.d.ts +16 -0
  807. package/dist/types/methods/ESPRMNeoUser/GetTemporaryAWSCredentials.d.ts +42 -0
  808. package/dist/types/methods/ESPRMNeoUser/GetUserInfo.d.ts +14 -0
  809. package/dist/types/methods/ESPRMNeoUser/ListIntegrations.d.ts +20 -0
  810. package/dist/types/methods/ESPRMNeoUser/ListSharingRequests.d.ts +16 -0
  811. package/dist/types/methods/ESPRMNeoUser/Logout.d.ts +16 -0
  812. package/dist/types/methods/ESPRMNeoUser/MQTT/AssumeRole.d.ts +33 -0
  813. package/dist/types/methods/ESPRMNeoUser/MQTT/ConnectMQTT.d.ts +18 -0
  814. package/dist/types/methods/ESPRMNeoUser/MQTT/DisconnectMQTT.d.ts +15 -0
  815. package/dist/types/methods/ESPRMNeoUser/MQTT/index.d.ts +4 -0
  816. package/dist/types/methods/ESPRMNeoUser/RegisterIntegrationEndpoint.d.ts +22 -0
  817. package/dist/types/methods/ESPRMNeoUser/SearchESPDevices.d.ts +16 -0
  818. package/dist/types/methods/ESPRMNeoUser/UnregisterIntegrationEndpoint.d.ts +19 -0
  819. package/dist/types/methods/ESPRMNeoUser/index.d.ts +13 -0
  820. package/dist/types/methods/export.d.ts +12 -0
  821. package/dist/types/proto/constants.d.ts +15 -0
  822. package/dist/types/proto/esp_local_ctrl.d.ts +283 -0
  823. package/dist/types/proto/esp_rmaker_chal_resp.d.ts +157 -0
  824. package/dist/types/proto/esp_rmaker_claim.d.ts +136 -0
  825. package/dist/types/proto/esp_rmaker_user_mapping.d.ts +101 -0
  826. package/dist/types/services/ESPRMNeoAPIManager.d.ts +84 -0
  827. package/dist/types/services/ESPRMNeoHelpers/BinaryWriter.d.ts +5 -0
  828. package/dist/types/services/ESPRMNeoHelpers/ChallengeResponseHelper.d.ts +33 -0
  829. package/dist/types/services/ESPRMNeoHelpers/ChannelRegistration.d.ts +14 -0
  830. package/dist/types/services/ESPRMNeoHelpers/CheckTokenExpiry.d.ts +8 -0
  831. package/dist/types/services/ESPRMNeoHelpers/ClaimingHelper.d.ts +141 -0
  832. package/dist/types/services/ESPRMNeoHelpers/DecodeToken.d.ts +12 -0
  833. package/dist/types/services/ESPRMNeoHelpers/DelegatedTransportHandler.d.ts +25 -0
  834. package/dist/types/services/ESPRMNeoHelpers/FetchTSData.d.ts +37 -0
  835. package/dist/types/services/ESPRMNeoHelpers/GenerateUUID.d.ts +1 -0
  836. package/dist/types/services/ESPRMNeoHelpers/GetCurrentTimestamp.d.ts +7 -0
  837. package/dist/types/services/ESPRMNeoHelpers/NodeMappingHelper.d.ts +26 -0
  838. package/dist/types/services/ESPRMNeoHelpers/TransformEncoding.d.ts +13 -0
  839. package/dist/types/services/ESPRMNeoHelpers/transformShadowToNodeUpdate.d.ts +25 -0
  840. package/dist/types/services/ESPRMNeoMqtt/ESPMQTTConfig.d.ts +15 -0
  841. package/dist/types/services/ESPRMNeoMqtt/ESPRMNeoMqtt.d.ts +83 -0
  842. package/dist/types/services/ESPRMNeoStorage/DefaultStorageAdapter.d.ts +17 -0
  843. package/dist/types/services/ESPRMNeoStorage/ESPRMNeoStorage.d.ts +65 -0
  844. package/dist/types/services/ESPRMNeoSubscriptionManager.d.ts +211 -0
  845. package/dist/types/services/ESPSigV4APIManager.d.ts +99 -0
  846. package/dist/types/services/ESPTransport/ESPDiscovery/ESPDiscoveryManager.d.ts +32 -0
  847. package/dist/types/services/ESPTransport/ESPLocalControlTransport.d.ts +38 -0
  848. package/dist/types/services/ESPTransport/ESPMqttTransport.d.ts +13 -0
  849. package/dist/types/services/ESPTransport/ESPTransportManager.d.ts +15 -0
  850. package/dist/types/services/MQTTSubscriptionChannel.d.ts +140 -0
  851. package/dist/types/services/NodeMQTTOrchestrator.d.ts +213 -0
  852. package/dist/types/services/NodeMQTTOrchestratorHelpers.d.ts +45 -0
  853. package/dist/types/services/NodeUpdatesBus.d.ts +21 -0
  854. package/dist/types/services/export.d.ts +41 -0
  855. package/dist/types/services/interfaces/MQTTTransport.d.ts +62 -0
  856. package/dist/types/types/auth.d.ts +89 -0
  857. package/dist/types/types/automation.d.ts +63 -0
  858. package/dist/types/types/common.d.ts +5 -0
  859. package/dist/types/types/discovery.d.ts +71 -0
  860. package/dist/types/types/export.d.ts +17 -0
  861. package/dist/types/types/group.d.ts +10 -0
  862. package/dist/types/types/input.d.ts +81 -0
  863. package/dist/types/types/localControl.d.ts +17 -0
  864. package/dist/types/types/mainTypes.d.ts +5 -0
  865. package/dist/types/types/node.d.ts +202 -0
  866. package/dist/types/types/output.d.ts +195 -0
  867. package/dist/types/types/provision.d.ts +120 -0
  868. package/dist/types/types/schedule.d.ts +45 -0
  869. package/dist/types/types/storage.d.ts +31 -0
  870. package/dist/types/types/subscription.d.ts +149 -0
  871. package/dist/types/types/transport.d.ts +65 -0
  872. package/dist/types/types/trigger.d.ts +24 -0
  873. package/dist/types/types/tsData.d.ts +222 -0
  874. package/dist/types/utils/authUtils.d.ts +14 -0
  875. package/dist/types/utils/awsShadowTopics.d.ts +78 -0
  876. package/dist/types/utils/awsSigv4Utils.d.ts +53 -0
  877. package/dist/types/utils/awsUtils.d.ts +48 -0
  878. package/dist/types/utils/baseUtils.d.ts +136 -0
  879. package/dist/types/utils/coerce.d.ts +19 -0
  880. package/dist/types/utils/common.d.ts +15 -0
  881. package/dist/types/utils/constants.d.ts +825 -0
  882. package/dist/types/utils/error/ESPAPICallValidationError.d.ts +19 -0
  883. package/dist/types/utils/error/ESPAuthError.d.ts +11 -0
  884. package/dist/types/utils/error/ESPBaseError.d.ts +8 -0
  885. package/dist/types/utils/error/ESPClaimError.d.ts +25 -0
  886. package/dist/types/utils/error/ESPConfigError.d.ts +19 -0
  887. package/dist/types/utils/error/ESPProvError.d.ts +19 -0
  888. package/dist/types/utils/error/ESPStorageAdapterError.d.ts +19 -0
  889. package/dist/types/utils/error/ESPTokenError.d.ts +20 -0
  890. package/dist/types/utils/error/ESPValidationError.d.ts +19 -0
  891. package/dist/types/utils/error/Error.d.ts +8 -0
  892. package/dist/types/utils/error/errorMessages.d.ts +267 -0
  893. package/dist/types/utils/eventEmitter.d.ts +11 -0
  894. package/dist/types/utils/eventSubscriptionUtils.d.ts +17 -0
  895. package/dist/types/utils/export.d.ts +22 -0
  896. package/dist/types/utils/groupUtils.d.ts +20 -0
  897. package/dist/types/utils/logger.d.ts +16 -0
  898. package/dist/types/utils/mapLimit.d.ts +10 -0
  899. package/dist/types/utils/mqtt.d.ts +9 -0
  900. package/dist/types/utils/nodeNcfgVersionHandler.d.ts +36 -0
  901. package/dist/types/utils/nodeTransform.d.ts +66 -0
  902. package/dist/types/utils/nodeUtils.d.ts +36 -0
  903. package/dist/types/utils/normalizeApiResponse.d.ts +6 -0
  904. package/dist/types/utils/paramValues.d.ts +30 -0
  905. package/dist/types/utils/scheduleUtils.d.ts +14 -0
  906. package/dist/types/utils/shadowUtils.d.ts +29 -0
  907. package/dist/types/utils/triggerUtils.d.ts +32 -0
  908. package/dist/types/utils/tsDataUtils.d.ts +70 -0
  909. package/dist/types/utils/userUtils.d.ts +11 -0
  910. package/dist/types/utils/validator/ConfigValidator.d.ts +99 -0
  911. package/dist/types/utils/validator/ScheduleValidator.d.ts +23 -0
  912. package/dist/types/utils/validator/validators.d.ts +18 -0
  913. package/dist/types/utils/waitForNodeOnline.d.ts +48 -0
  914. package/package.json +116 -0
@@ -0,0 +1,558 @@
1
+ 'use strict';
2
+
3
+ var awsShadowTopics = require('../utils/awsShadowTopics.js');
4
+ var NodeMQTTOrchestratorHelpers = require('./NodeMQTTOrchestratorHelpers.js');
5
+ var logger$1 = require('../utils/logger.js');
6
+
7
+ /*
8
+ * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
9
+ *
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+ const logger = new logger$1.Logger("NodeMQTTOrchestrator");
13
+ /** Default timeout (ms) for request-response operations */
14
+ const DEFAULT_REQUEST_TIMEOUT_MS = 5000;
15
+ /**
16
+ * NodeMQTTOrchestrator - Central MQTT orchestration layer for AWS IoT Device Shadow.
17
+ *
18
+ * Design principles:
19
+ * - Node-agnostic: does not depend on the Node class.
20
+ * - Single connection: one MQTT client, one message router.
21
+ * - Deduplicated subscriptions: 30 nodes → maybe 3 shadows → only 3 MQTT subscriptions.
22
+ * - Nodes = dumb consumers, Orchestrator = brain.
23
+ */
24
+ class NodeMQTTOrchestrator {
25
+ // ─── Fields ─────────────────────────────────────────────────────────
26
+ static _instance = null;
27
+ /**
28
+ * Increments every time the orchestrator is (re)initialized — e.g. on a
29
+ * logout→login cycle, where {@link clear} wipes all subscription state and a
30
+ * fresh {@link initialize} follows. Subscribers (the MQTT channel) compare
31
+ * this to detect that their cached listener/topic state is stale and must
32
+ * be re-attached to the new orchestrator.
33
+ */
34
+ static _generation = 0;
35
+ transport = null;
36
+ initialized = false;
37
+ /** nodeId → NodeRegistration */
38
+ nodeMap = new Map();
39
+ /** shadowName → subscription state */
40
+ shadowSubs = new Map();
41
+ /** responseTopic → pending request (for getShadow, getParams) */
42
+ pendingRequests = new Map();
43
+ /**
44
+ * Per-shadow serial op queue. Subscribe / unsubscribe for the same shadow are
45
+ * chained through this so they never interleave across `await` — otherwise
46
+ * two concurrent subscribes for the same shadow could both call
47
+ * `transport.subscribe(...)` and produce duplicate delivery of every message.
48
+ */
49
+ shadowOps = new Map();
50
+ constructor() { }
51
+ // ═════════════════════════════════════════════════════════════════════
52
+ // Lifecycle
53
+ // ═════════════════════════════════════════════════════════════════════
54
+ /**
55
+ * Returns the singleton instance.
56
+ *
57
+ * @throws {Error} If orchestrator is not initialized.
58
+ */
59
+ static getInstance() {
60
+ const instance = NodeMQTTOrchestrator._instance;
61
+ if (!instance || !instance.initialized) {
62
+ throw new Error("NodeMQTTOrchestrator not initialized. Call initialize(transport) first.");
63
+ }
64
+ return instance;
65
+ }
66
+ /**
67
+ * Initializes the orchestrator with an MQTT transport. Must be called before
68
+ * any other method.
69
+ *
70
+ * @param transport - MQTT transport for publish/subscribe.
71
+ * @throws {Error} If already initialized. Call {@link clear} first if you
72
+ * truly need to re-init — a silent swap would leave stale in-memory
73
+ * subscriptions pointing at topics that were never subscribed on the new
74
+ * transport.
75
+ */
76
+ static initialize(transport) {
77
+ if (NodeMQTTOrchestrator._instance) {
78
+ throw new Error("NodeMQTTOrchestrator already initialized. Call clear() first if you truly need to re-init.");
79
+ }
80
+ NodeMQTTOrchestrator._generation++;
81
+ const instance = new NodeMQTTOrchestrator();
82
+ instance.transport = transport;
83
+ instance.initialized = true;
84
+ NodeMQTTOrchestrator._instance = instance;
85
+ }
86
+ /**
87
+ * Returns the current initialization generation. Increments on each
88
+ * {@link initialize}. Used by subscription channels to detect a
89
+ * logout→login reset and re-attach stale listeners.
90
+ */
91
+ static getGeneration() {
92
+ return NodeMQTTOrchestrator._generation;
93
+ }
94
+ /**
95
+ * Clears the singleton and resets it for re-initialization.
96
+ * Rejects all pending requests, unsubscribes shadow wildcard topics and
97
+ * request-response topics, then drops transport and in-memory state.
98
+ */
99
+ static clear() {
100
+ const instance = NodeMQTTOrchestrator._instance;
101
+ if (instance) {
102
+ NodeMQTTOrchestratorHelpers.clearAllPendingRequests(instance.pendingRequests, instance.transport, new Error("Orchestrator cleared"));
103
+ for (const subscription of instance.shadowSubs.values()) {
104
+ subscription.listeners.clear();
105
+ NodeMQTTOrchestratorHelpers.cleanupSubscriptionIfIdle(subscription, instance.transport);
106
+ }
107
+ instance.transport = null;
108
+ instance.initialized = false;
109
+ instance.nodeMap.clear();
110
+ instance.shadowSubs.clear();
111
+ instance.shadowOps.clear();
112
+ }
113
+ NodeMQTTOrchestrator._instance = null;
114
+ }
115
+ /**
116
+ * Soft-resets session-scoped state without dropping the singleton. Called
117
+ * from {@link ESPRMNeoUser.logout} so the orchestrator is ready for the
118
+ * next login without a public re-initialize step. Rejects pending requests,
119
+ * clears shadow listeners, drops node registrations, and bumps
120
+ * {@link _generation} so subscription channels detect the reset and
121
+ * re-attach on next login. Keeps `transport`, `initialized`, and
122
+ * `_instance` intact so `getInstance()` continues to work.
123
+ */
124
+ static resetSession() {
125
+ const instance = NodeMQTTOrchestrator._instance;
126
+ if (!instance)
127
+ return;
128
+ NodeMQTTOrchestratorHelpers.clearAllPendingRequests(instance.pendingRequests, instance.transport, new Error("Orchestrator session reset"));
129
+ for (const subscription of instance.shadowSubs.values()) {
130
+ subscription.listeners.clear();
131
+ NodeMQTTOrchestratorHelpers.cleanupSubscriptionIfIdle(subscription, instance.transport);
132
+ }
133
+ instance.nodeMap.clear();
134
+ instance.shadowSubs.clear();
135
+ instance.shadowOps.clear();
136
+ NodeMQTTOrchestrator._generation++;
137
+ }
138
+ // ═════════════════════════════════════════════════════════════════════
139
+ // Node registration
140
+ // ═════════════════════════════════════════════════════════════════════
141
+ /**
142
+ * Registers a node with the orchestrator.
143
+ * Must be called before subscribeToNode, getParams, getShadow, etc.
144
+ * On shadow rename: clears the old binding; ignores shorter/incomplete names.
145
+ * Shrink membership via {@link unregisterNode} first.
146
+ *
147
+ * @param nodeId - The device/node identifier.
148
+ * @param shadowName - The named shadow (e.g. `params-groupId-subgroupId`).
149
+ */
150
+ static registerNode(nodeId, shadowName) {
151
+ const instance = NodeMQTTOrchestrator.getInstance();
152
+ const existing = instance.nodeMap.get(nodeId);
153
+ if (existing && existing.shadowName !== shadowName) {
154
+ if (shadowName.split("-").length < existing.shadowName.split("-").length) {
155
+ return;
156
+ }
157
+ NodeMQTTOrchestrator.unregisterNode(nodeId);
158
+ }
159
+ instance.nodeMap.set(nodeId, { shadowName });
160
+ if (!instance.shadowSubs.has(shadowName)) {
161
+ const config = {
162
+ topics: awsShadowTopics.buildShadowGroupWildcardTopics(shadowName),
163
+ listeners: new Map(),
164
+ subscribed: false,
165
+ };
166
+ instance.shadowSubs.set(shadowName, config);
167
+ }
168
+ }
169
+ /**
170
+ * Unregisters a node. Removes from nodeMap and cleans up listeners.
171
+ * Unsubscribes from shadow topic if no other nodes use it.
172
+ *
173
+ * @param nodeId - The device/node identifier.
174
+ */
175
+ static unregisterNode(nodeId) {
176
+ const instance = NodeMQTTOrchestrator.getInstance();
177
+ const registration = instance.nodeMap.get(nodeId);
178
+ if (!registration)
179
+ return;
180
+ instance.nodeMap.delete(nodeId);
181
+ const subscription = instance.shadowSubs.get(registration.shadowName);
182
+ if (subscription) {
183
+ subscription.listeners.delete(nodeId);
184
+ NodeMQTTOrchestratorHelpers.cleanupSubscriptionIfIdle(subscription, instance.transport);
185
+ }
186
+ }
187
+ /**
188
+ * Checks if a node is registered. Returns `false` if the orchestrator has
189
+ * not been initialized at all (safe read-only check, matches
190
+ * {@link getRegisteredNodeCount} — the mutating methods throw instead).
191
+ *
192
+ * @param nodeId - The device/node identifier.
193
+ */
194
+ static isNodeRegistered(nodeId) {
195
+ const instance = NodeMQTTOrchestrator._instance;
196
+ return instance?.nodeMap.has(nodeId) ?? false;
197
+ }
198
+ /**
199
+ * Number of registered nodes (for debugging). Returns 0 if not initialized.
200
+ */
201
+ static getRegisteredNodeCount() {
202
+ const instance = NodeMQTTOrchestrator._instance;
203
+ return instance?.nodeMap.size ?? 0;
204
+ }
205
+ // ═════════════════════════════════════════════════════════════════════
206
+ // Subscription
207
+ // ═════════════════════════════════════════════════════════════════════
208
+ /**
209
+ * Subscribes to node param updates. Deduplicates MQTT subscriptions by
210
+ * shadow.
211
+ *
212
+ * @param nodeId - The device/node identifier.
213
+ * @param callback - Callback invoked when shadow update/accepted is received.
214
+ * @throws {Error} If node is not registered, MQTT is not connected, or the
215
+ * underlying transport subscribe fails. On failure no listener is added.
216
+ */
217
+ static async subscribeToNode(nodeId, callback) {
218
+ const instance = NodeMQTTOrchestrator.getInstance();
219
+ const registration = instance.nodeMap.get(nodeId);
220
+ if (!registration) {
221
+ throw new Error(`Node ${nodeId} not registered`);
222
+ }
223
+ return instance.runSerial(registration.shadowName, async () => {
224
+ if (!instance.transport) {
225
+ throw new Error("MQTT not available");
226
+ }
227
+ if (!(await instance.transport.isConnected())) {
228
+ throw new Error("MQTT not connected");
229
+ }
230
+ const subscription = instance.shadowSubs.get(registration.shadowName);
231
+ // (O3) Subscribe on the wire FIRST. Only then wire the listener into
232
+ // memory — otherwise a subscribe failure would leave a stranded
233
+ // listener that will never receive a message.
234
+ if (!subscription.subscribed) {
235
+ const handler = (topic, message) => instance.handleShadowLiveMessage(topic, message, registration.shadowName);
236
+ for (const t of subscription.topics) {
237
+ await instance.transport.subscribe(t, handler);
238
+ }
239
+ subscription.handler = handler;
240
+ subscription.subscribed = true;
241
+ }
242
+ if (!subscription.listeners.has(nodeId)) {
243
+ subscription.listeners.set(nodeId, new Set());
244
+ }
245
+ subscription.listeners.get(nodeId).add(callback);
246
+ });
247
+ }
248
+ /**
249
+ * Unsubscribes a callback from a node.
250
+ *
251
+ * In-memory listener removal happens even if MQTT is disconnected —
252
+ * otherwise on reconnect the orchestrator would fan messages out to a stale
253
+ * listener (per-disconnect leak). The network topic-unsubscribe inside
254
+ * `cleanupSubscriptionIfIdle` is best-effort and tolerates a missing
255
+ * connection.
256
+ *
257
+ * @param nodeId - The device/node identifier.
258
+ * @param callback - The callback to remove.
259
+ */
260
+ static async unsubscribeFromNode(nodeId, callback) {
261
+ const instance = NodeMQTTOrchestrator.getInstance();
262
+ const registration = instance.nodeMap.get(nodeId);
263
+ if (!registration)
264
+ return;
265
+ return instance.runSerial(registration.shadowName, async () => {
266
+ const subscription = instance.shadowSubs.get(registration.shadowName);
267
+ if (!subscription)
268
+ return;
269
+ const listeners = subscription.listeners.get(nodeId);
270
+ if (!listeners)
271
+ return;
272
+ listeners.delete(callback);
273
+ if (listeners.size === 0) {
274
+ subscription.listeners.delete(nodeId);
275
+ NodeMQTTOrchestratorHelpers.cleanupSubscriptionIfIdle(subscription, instance.transport);
276
+ }
277
+ });
278
+ }
279
+ /**
280
+ * Routes live shadow messages (update/get accepted/rejected, delta) to
281
+ * listeners. Drops malformed messages at debug level so they're visible in
282
+ * logs during investigation but don't disrupt healthy traffic.
283
+ */
284
+ handleShadowLiveMessage(topic, message, shadowName) {
285
+ const subscription = this.shadowSubs.get(shadowName);
286
+ if (!subscription)
287
+ return;
288
+ // Param listeners only get reported-state traffic on the two canonical
289
+ // channels:
290
+ // - `/update/documents`: primary real-time channel (API 1.0.0 envelope
291
+ // with `{ previous, current }`; the util unwraps `current`).
292
+ // - `/get/accepted`: explicit shadow GET responses.
293
+ //
294
+ // All other subscribed suffixes are intentionally skipped:
295
+ // - `/update/accepted` duplicates `/update/documents`
296
+ // - `/update/rejected`, `/get/rejected` are error paths
297
+ // - `/update/delta` carries desired≠reported diffs, not reported values
298
+ // The full set is subscribed for parity with the firmware topic surface;
299
+ // we just don't fan the non-reported ones out to param listeners.
300
+ if (!topic.endsWith("/update/documents") &&
301
+ !topic.endsWith("/get/accepted")) {
302
+ return;
303
+ }
304
+ const nodeId = awsShadowTopics.extractNodeIdFromTopic(topic);
305
+ if (!nodeId)
306
+ return;
307
+ const listeners = subscription.listeners.get(nodeId);
308
+ if (!listeners || listeners.size === 0)
309
+ return;
310
+ const parsed = awsShadowTopics.parseShadowMessage(message);
311
+ if (parsed === null) {
312
+ logger.debug("Dropping malformed shadow message", {
313
+ topic,
314
+ byteLength: message.length,
315
+ });
316
+ return;
317
+ }
318
+ const params = awsShadowTopics.getReportedParamsFromShadowLiveMessage(topic, parsed);
319
+ if (Object.keys(params).length === 0) {
320
+ logger.debug("Shadow message has no reported params, ignoring", { topic });
321
+ return;
322
+ }
323
+ NodeMQTTOrchestratorHelpers.notifyListenersSafely(listeners, params);
324
+ }
325
+ /**
326
+ * Runs `op` exclusively per shadow: operations for the same shadowName are
327
+ * chained so they never interleave across an await. Ops for different
328
+ * shadows still run concurrently. Failure of one op does not block later
329
+ * ops (each op sees its own outcome; the queue only tracks completion).
330
+ */
331
+ runSerial(shadowName, op) {
332
+ const prev = this.shadowOps.get(shadowName) ?? Promise.resolve();
333
+ const result = prev.then(op, op);
334
+ const tail = result.then(() => undefined, () => undefined);
335
+ this.shadowOps.set(shadowName, tail);
336
+ void tail.then(() => {
337
+ if (this.shadowOps.get(shadowName) === tail) {
338
+ this.shadowOps.delete(shadowName);
339
+ }
340
+ });
341
+ return result;
342
+ }
343
+ // ═════════════════════════════════════════════════════════════════════
344
+ // Request/response infrastructure
345
+ // ═════════════════════════════════════════════════════════════════════
346
+ /**
347
+ * Request-response helper. Subscribes to accepted + rejected, publishes,
348
+ * resolves on first message.
349
+ *
350
+ * @param publishTopic - Topic to publish the request to.
351
+ * @param acceptedTopic - Successful response topic.
352
+ * @param rejectedTopic - Error response topic.
353
+ * @param payload - Request payload.
354
+ * @param timeoutMs - Timeout in milliseconds.
355
+ * @returns Parsed response or rejects on timeout / invalid response / rejected.
356
+ */
357
+ static async executeRequestResponse(publishTopic, acceptedTopic, rejectedTopic, payload, timeoutMs = DEFAULT_REQUEST_TIMEOUT_MS) {
358
+ const instance = NodeMQTTOrchestrator.getInstance();
359
+ const transport = instance.transport;
360
+ if (!transport) {
361
+ throw new Error("Transport not available");
362
+ }
363
+ if (!(await transport.isConnected())) {
364
+ throw new Error("MQTT not connected");
365
+ }
366
+ const topicsToUnsubscribe = [acceptedTopic, rejectedTopic];
367
+ return new Promise((resolve, reject) => {
368
+ const cleanup = () => {
369
+ clearTimeout(timer);
370
+ instance.pendingRequests.delete(acceptedTopic);
371
+ for (const t of topicsToUnsubscribe) {
372
+ transport.unsubscribe(t, handler).catch(() => { });
373
+ }
374
+ };
375
+ const handler = (topic, message) => {
376
+ if (topic === rejectedTopic) {
377
+ cleanup();
378
+ reject(new Error(`Shadow request rejected: ${message.toString()}`));
379
+ return;
380
+ }
381
+ if (topic !== acceptedTopic) {
382
+ return;
383
+ }
384
+ cleanup();
385
+ const parsed = awsShadowTopics.parseShadowMessage(message);
386
+ if (parsed !== null) {
387
+ resolve(parsed);
388
+ }
389
+ else {
390
+ reject(new Error("Invalid response"));
391
+ }
392
+ };
393
+ const timer = setTimeout(() => {
394
+ cleanup();
395
+ reject(new Error("Request timeout"));
396
+ }, timeoutMs);
397
+ instance.pendingRequests.set(acceptedTopic, {
398
+ timer,
399
+ handler,
400
+ reject,
401
+ topicsToUnsubscribe,
402
+ });
403
+ Promise.all([
404
+ transport.subscribe(acceptedTopic, handler),
405
+ transport.subscribe(rejectedTopic, handler),
406
+ ])
407
+ .then(() => {
408
+ transport.publish(publishTopic, JSON.stringify(payload ?? {}));
409
+ })
410
+ .catch((err) => {
411
+ cleanup();
412
+ reject(err instanceof Error
413
+ ? err
414
+ : new Error("Failed to subscribe for shadow request"));
415
+ });
416
+ });
417
+ }
418
+ /**
419
+ * Fetches the shadow document and extracts a portion via `extractor`.
420
+ *
421
+ * @param nodeId - The device/node identifier.
422
+ * @param extractor - Function to extract desired part from parsed response.
423
+ * @returns The extracted value.
424
+ * @throws {Error} If node is not registered.
425
+ */
426
+ static async fetchShadowDocument(nodeId, extractor) {
427
+ const instance = NodeMQTTOrchestrator.getInstance();
428
+ const registration = instance.nodeMap.get(nodeId);
429
+ if (!instance.transport) {
430
+ throw new Error("MQTT not connected");
431
+ }
432
+ if (!(await instance.transport.isConnected())) {
433
+ throw new Error("MQTT not connected");
434
+ }
435
+ if (!registration) {
436
+ throw new Error(`Node ${nodeId} not registered`);
437
+ }
438
+ const baseTopic = awsShadowTopics.buildShadowBase(nodeId, registration.shadowName);
439
+ const response = await NodeMQTTOrchestrator.executeRequestResponse(`${baseTopic}/get`, `${baseTopic}/get/accepted`, `${baseTopic}/get/rejected`, {}, DEFAULT_REQUEST_TIMEOUT_MS);
440
+ return extractor(response);
441
+ }
442
+ /**
443
+ * Wraps `transport.publish` so publish failures throw with an actionable
444
+ * message. Without this wrapper, callers get whatever the adapter throws
445
+ * (often a generic `TypeError` from a broken pipe) with no topic context.
446
+ */
447
+ static async publishOrThrow(transport, topic, payload) {
448
+ try {
449
+ await transport.publish(topic, payload);
450
+ }
451
+ catch (err) {
452
+ const message = err instanceof Error ? err.message : String(err);
453
+ throw new Error(`Failed to publish to ${topic}: ${message}`, err instanceof Error ? { cause: err } : undefined);
454
+ }
455
+ }
456
+ // ═════════════════════════════════════════════════════════════════════
457
+ // Public read API
458
+ // ═════════════════════════════════════════════════════════════════════
459
+ /**
460
+ * Gets params (`state.reported.params`) for a node.
461
+ *
462
+ * @param nodeId - The device/node identifier.
463
+ * @returns The reported params map, or `{}` when absent.
464
+ * @throws {Error} If node is not registered.
465
+ */
466
+ static async getParams(nodeId) {
467
+ return NodeMQTTOrchestrator.fetchShadowDocument(nodeId, awsShadowTopics.getReportedParamsFromShadowDocument);
468
+ }
469
+ /**
470
+ * Gets the full shadow document (`state.reported` + `state.desired`).
471
+ *
472
+ * @param nodeId - The device/node identifier.
473
+ * @returns The full state object.
474
+ * @throws {Error} If node is not registered.
475
+ */
476
+ static async getShadow(nodeId) {
477
+ return NodeMQTTOrchestrator.fetchShadowDocument(nodeId, awsShadowTopics.getStateFromPayload);
478
+ }
479
+ // ═════════════════════════════════════════════════════════════════════
480
+ // Public write API
481
+ // ═════════════════════════════════════════════════════════════════════
482
+ /**
483
+ * Sets params via the RainMaker user params topic (unicast: single node).
484
+ *
485
+ * @param nodeId - The device/node identifier.
486
+ * @param params - Parameter payload (often `{ <deviceId>: { <paramId>: value } }`).
487
+ * @throws {Error} If node is not registered, MQTT is not connected, or the
488
+ * publish fails.
489
+ */
490
+ static async setParams(nodeId, params) {
491
+ const instance = NodeMQTTOrchestrator.getInstance();
492
+ const registration = instance.nodeMap.get(nodeId);
493
+ if (!instance.transport) {
494
+ throw new Error("Transport not available");
495
+ }
496
+ if (!(await instance.transport.isConnected())) {
497
+ throw new Error("MQTT not connected");
498
+ }
499
+ if (!registration) {
500
+ throw new Error(`Node ${nodeId} not registered`);
501
+ }
502
+ const topic = awsShadowTopics.buildRainMakerUserParamsTopic(nodeId, registration.shadowName);
503
+ const payload = typeof params === "string" ? params : JSON.stringify(params ?? {});
504
+ return NodeMQTTOrchestrator.publishOrThrow(instance.transport, topic, payload);
505
+ }
506
+ /**
507
+ * Publishes parameters to the group control MQTT topic (fan-out to all
508
+ * devices in the group or in one subgroup). Does not require a registered
509
+ * node; only a connected MQTT transport (same credentials as unicast
510
+ * `setParams`).
511
+ *
512
+ * @param groupId - Primary group id.
513
+ * @param params - Same payload shape as {@link NodeMQTTOrchestrator.setParams}.
514
+ * @param subgroupId - Omit for group-wide broadcast; set to target one
515
+ * subgroup.
516
+ */
517
+ static async setGroupParams(groupId, params, subgroupId) {
518
+ const instance = NodeMQTTOrchestrator.getInstance();
519
+ if (!instance.transport) {
520
+ throw new Error("Transport not available");
521
+ }
522
+ if (!(await instance.transport.isConnected())) {
523
+ throw new Error("MQTT not connected");
524
+ }
525
+ if (!groupId) {
526
+ throw new Error("Group ID is required");
527
+ }
528
+ const topic = awsShadowTopics.buildGroupControlParamsTopic(groupId, subgroupId);
529
+ const payload = typeof params === "string" ? params : JSON.stringify(params ?? {});
530
+ return NodeMQTTOrchestrator.publishOrThrow(instance.transport, topic, payload);
531
+ }
532
+ /**
533
+ * Updates shadow `state.desired`.
534
+ *
535
+ * @param nodeId - The device/node identifier.
536
+ * @param params - The desired state parameters.
537
+ * @throws {Error} If node is not registered or transport unavailable.
538
+ */
539
+ static async updateShadow(nodeId, params) {
540
+ const instance = NodeMQTTOrchestrator.getInstance();
541
+ const registration = instance.nodeMap.get(nodeId);
542
+ if (!instance.transport) {
543
+ throw new Error("Transport not available");
544
+ }
545
+ if (!(await instance.transport.isConnected())) {
546
+ throw new Error("MQTT not connected");
547
+ }
548
+ if (!registration) {
549
+ throw new Error(`Node ${nodeId} not registered`);
550
+ }
551
+ const topic = `${awsShadowTopics.buildShadowBase(nodeId, registration.shadowName)}/update`;
552
+ const payload = awsShadowTopics.buildShadowUpdatePayload(params);
553
+ return NodeMQTTOrchestrator.publishOrThrow(instance.transport, topic, payload);
554
+ }
555
+ }
556
+
557
+ exports.NodeMQTTOrchestrator = NodeMQTTOrchestrator;
558
+ //# sourceMappingURL=NodeMQTTOrchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeMQTTOrchestrator.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,81 @@
1
+ 'use strict';
2
+
3
+ var logger$1 = require('../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$1.Logger("NodeMQTTOrchestratorHelpers");
11
+ /**
12
+ * Clears all pending request-response operations.
13
+ * Rejects each with the given error and unsubscribes from response topics.
14
+ *
15
+ * @param pendingRequests - Map of responseTopic → pending request
16
+ * @param transport - MQTT transport for unsubscribe
17
+ * @param rejectError - Error to reject pending promises with
18
+ */
19
+ function clearAllPendingRequests(pendingRequests, transport, rejectError) {
20
+ pendingRequests.forEach((pendingRequest) => {
21
+ clearTimeout(pendingRequest.timer);
22
+ for (const t of pendingRequest.topicsToUnsubscribe) {
23
+ transport?.unsubscribe(t, pendingRequest.handler).catch(() => {
24
+ logger.error("Failed to unsubscribe from topic", t);
25
+ });
26
+ }
27
+ pendingRequest.reject(rejectError);
28
+ });
29
+ pendingRequests.clear();
30
+ }
31
+ /**
32
+ * Unsubscribes from shadow topic when no listeners remain.
33
+ * Cleans up subscription state to avoid orphaned MQTT subscriptions.
34
+ *
35
+ * @param subscription - The shadow subscription state
36
+ * @param transport - MQTT transport for unsubscribe
37
+ * @returns true if unsubscribed, false otherwise
38
+ */
39
+ function cleanupSubscriptionIfIdle(subscription, transport) {
40
+ const isIdle = subscription.listeners.size === 0 &&
41
+ subscription.subscribed &&
42
+ subscription.handler &&
43
+ transport;
44
+ if (!isIdle)
45
+ return false;
46
+ for (const t of subscription.topics) {
47
+ transport.unsubscribe(t, subscription.handler).catch(() => {
48
+ logger.error("Failed to unsubscribe from topic", t);
49
+ });
50
+ }
51
+ subscription.subscribed = false;
52
+ subscription.handler = undefined;
53
+ return true;
54
+ }
55
+ /**
56
+ * Invokes all listeners with the given params.
57
+ * Isolates errors from individual listeners so one failure cannot block the
58
+ * others. Logs the actual error (and the params for context) so investigators
59
+ * can see WHY a listener failed, not just THAT one did.
60
+ *
61
+ * @param listeners - Set of callback functions
62
+ * @param params - The params to pass to each listener
63
+ */
64
+ function notifyListenersSafely(listeners, params) {
65
+ listeners.forEach((callback) => {
66
+ try {
67
+ callback(params);
68
+ }
69
+ catch (err) {
70
+ logger.error("Listener threw while handling shadow update", {
71
+ error: err instanceof Error ? err.message : String(err),
72
+ params,
73
+ });
74
+ }
75
+ });
76
+ }
77
+
78
+ exports.cleanupSubscriptionIfIdle = cleanupSubscriptionIfIdle;
79
+ exports.clearAllPendingRequests = clearAllPendingRequests;
80
+ exports.notifyListenersSafely = notifyListenersSafely;
81
+ //# sourceMappingURL=NodeMQTTOrchestratorHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeMQTTOrchestratorHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}