@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,62 @@
1
+ 'use strict';
2
+
3
+ var ESPRMNeoBase = require('../../../ESPRMNeoBase.js');
4
+ var discovery = require('../../../types/discovery.js');
5
+ var constants = require('../../../utils/constants.js');
6
+
7
+ /*
8
+ * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
9
+ *
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+ /**
13
+ * Manages local node discovery through the app-supplied local discovery
14
+ * adapter (see {@link ESPRMNeoBase.setLocalDiscoveryAdapter}).
15
+ *
16
+ * - With no discovery config, the default local protocol is used
17
+ * (mDNS service `_esp_local_ctrl._tcp.` in the `local` domain).
18
+ * - A custom {@link DiscoveryParamsInterface} can be supplied for other
19
+ * discovery protocols.
20
+ */
21
+ class ESPDiscoveryManager {
22
+ /** Discovery parameters (service type / domain) passed to the adapter. */
23
+ params;
24
+ /**
25
+ * @param discoveryConfig - Optional custom discovery parameters. Defaults to
26
+ * the local mDNS protocol.
27
+ * @throws {Error} If no local discovery adapter is set.
28
+ */
29
+ constructor(discoveryConfig) {
30
+ if (!ESPRMNeoBase.ESPRMNeoBase.getLocalDiscoveryAdapter()) {
31
+ throw new Error("ESPLocalDiscoveryAdapter not set");
32
+ }
33
+ this.params = discoveryConfig || {
34
+ serviceType: constants.ServiceType.ESP_LOCAL_CTRL_TCP,
35
+ domain: discovery.ESPDiscoveryProtocol.local,
36
+ };
37
+ }
38
+ get adapter() {
39
+ const adapter = ESPRMNeoBase.ESPRMNeoBase.getLocalDiscoveryAdapter();
40
+ if (!adapter) {
41
+ throw new Error("ESPLocalDiscoveryAdapter not set");
42
+ }
43
+ return adapter;
44
+ }
45
+ /**
46
+ * Starts discovery. The callback is invoked for each discovered node.
47
+ *
48
+ * @param callback - Invoked with the adapter's per-node discovery result.
49
+ */
50
+ startDiscovery(callback) {
51
+ this.adapter.startDiscovery(callback, this.params);
52
+ }
53
+ /**
54
+ * Stops any ongoing discovery started by {@link startDiscovery}.
55
+ */
56
+ stopDiscovery() {
57
+ this.adapter.stopDiscovery();
58
+ }
59
+ }
60
+
61
+ exports.ESPDiscoveryManager = ESPDiscoveryManager;
62
+ //# sourceMappingURL=ESPDiscoveryManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ESPDiscoveryManager.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,157 @@
1
+ 'use strict';
2
+
3
+ var ESPRMNeoBase = require('../../ESPRMNeoBase.js');
4
+ var constants$1 = require('../../proto/constants.js');
5
+ var esp_local_ctrl = require('../../proto/esp_local_ctrl.js');
6
+ var constants = require('../../utils/constants.js');
7
+ var TransformEncoding = require('../ESPRMNeoHelpers/TransformEncoding.js');
8
+
9
+ /*
10
+ * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
11
+ *
12
+ * SPDX-License-Identifier: Apache-2.0
13
+ */
14
+ /** Property index of the writable "params" property exposed by RMNeo local-control firmware. */
15
+ const LOCAL_CONTROL_PARAMS_INDEX = 1;
16
+ /**
17
+ * Built-in `local` transport. Communicates with the node over the LAN through
18
+ * the app-supplied {@link ESPRMNeoBase.ESPLocalControlAdapter} using the
19
+ * `esp_local_ctrl` protobuf protocol. Connection metadata (`baseUrl`,
20
+ * `securityType`, `pop`, and `username` for sec2) is supplied via the transport
21
+ * config by {@link delegatedTransportHandler}.
22
+ */
23
+ class ESPLocalControlTransport {
24
+ payload;
25
+ metadata;
26
+ propertyInfo = {};
27
+ constructor(transportConfig) {
28
+ this.metadata = transportConfig.metadata ?? {};
29
+ }
30
+ get adapter() {
31
+ const adapter = ESPRMNeoBase.ESPRMNeoBase.getLocalControlAdapter();
32
+ if (!adapter) {
33
+ throw new Error("Local control adapter is not configured");
34
+ }
35
+ return adapter;
36
+ }
37
+ /**
38
+ * Connects to the node, retrying on failure. RMNeo's adapter resolves on a
39
+ * successful connection and rejects otherwise, so a resolved call is treated
40
+ * as connected.
41
+ */
42
+ async connectWithRetry(nodeId, baseUrl, securityType, pop, username, maxRetries = 3) {
43
+ let attempt = 0;
44
+ let lastError;
45
+ while (attempt < maxRetries) {
46
+ try {
47
+ await this.adapter.connect(nodeId, baseUrl, securityType, pop, username);
48
+ return;
49
+ }
50
+ catch (error) {
51
+ lastError = error;
52
+ attempt += 1;
53
+ }
54
+ }
55
+ const message = lastError instanceof Error ? lastError.message : String(lastError);
56
+ throw new Error(`Failed to connect after ${maxRetries} attempts: ${message}`);
57
+ }
58
+ async ensureConnected(nodeId) {
59
+ const isConnected = await this.adapter.isConnected(nodeId);
60
+ if (!isConnected) {
61
+ await this.connectWithRetry(nodeId, this.metadata.baseUrl, this.metadata.securityType ?? 0, this.metadata.pop, this.metadata.username);
62
+ }
63
+ }
64
+ async setParam(payload, _nodeRef) {
65
+ this.payload = payload;
66
+ await this.ensureConnected(this.payload?.node_id);
67
+ const success = await this.setProperty(this.payload?.payload ?? {});
68
+ if (!success) {
69
+ throw new Error("Failed to set device params over local control");
70
+ }
71
+ return { message: "Parameters updated successfully", statusCode: 200 };
72
+ }
73
+ async getParams(payload, _nodeRef) {
74
+ this.payload = payload;
75
+ await this.ensureConnected(this.payload?.node_id);
76
+ return this.getPropertyInfo();
77
+ }
78
+ // ── set ──────────────────────────────────────────────────────────────────
79
+ async setProperty(json) {
80
+ const request = this.buildSetPropertyRequest(json);
81
+ const response = await this.adapter.sendData(this.payload?.node_id, constants.Endpoint.LOCAL_CTRL, request);
82
+ return this.processSetPropertyResponse(response);
83
+ }
84
+ buildSetPropertyRequest(json) {
85
+ const message = new esp_local_ctrl.LocalCtrlMessage();
86
+ message.msg = esp_local_ctrl.LocalCtrlMsgType.TypeCmdSetPropertyValues;
87
+ const cmd = new esp_local_ctrl.CmdSetPropertyValues();
88
+ const prop = new esp_local_ctrl.PropertyValue();
89
+ prop.index = LOCAL_CONTROL_PARAMS_INDEX;
90
+ prop.value = new TextEncoder().encode(JSON.stringify(json ?? {}));
91
+ cmd.props.push(prop);
92
+ message.cmd_set_prop_vals = cmd;
93
+ return TransformEncoding.uint8ArrayToBase64(message.serialize());
94
+ }
95
+ processSetPropertyResponse(response) {
96
+ const deserialized = esp_local_ctrl.LocalCtrlMessage.deserialize(TransformEncoding.base64ToUint8Array(response));
97
+ return deserialized.resp_set_prop_vals.status === constants$1.Status.Success;
98
+ }
99
+ // ── get ──────────────────────────────────────────────────────────────────
100
+ /** Fetches the property count, then reads each property value into propertyInfo. */
101
+ async getPropertyInfo() {
102
+ this.propertyInfo = {};
103
+ const count = await this.fetchPropertyCount();
104
+ for (let index = 0; index < count; index++) {
105
+ await this.fetchPropertyValue(index);
106
+ }
107
+ return this.propertyInfo;
108
+ }
109
+ async fetchPropertyCount() {
110
+ const response = await this.adapter.sendData(this.payload?.node_id, constants.Endpoint.LOCAL_CTRL, this.buildGetPropertyCountRequest());
111
+ return this.processGetPropertyCountResponse(response);
112
+ }
113
+ buildGetPropertyCountRequest() {
114
+ const request = new esp_local_ctrl.LocalCtrlMessage();
115
+ request.msg = esp_local_ctrl.LocalCtrlMsgType.TypeCmdGetPropertyCount;
116
+ request.cmd_get_prop_count = new esp_local_ctrl.CmdGetPropertyCount();
117
+ return TransformEncoding.uint8ArrayToBase64(request.serialize());
118
+ }
119
+ processGetPropertyCountResponse(response) {
120
+ const deserialized = esp_local_ctrl.LocalCtrlMessage.deserialize(TransformEncoding.base64ToUint8Array(response));
121
+ if (deserialized.resp_get_prop_count.status !== constants$1.Status.Success) {
122
+ throw new Error("Failed to retrieve property count from device");
123
+ }
124
+ return deserialized.resp_get_prop_count.count;
125
+ }
126
+ async fetchPropertyValue(index) {
127
+ const response = await this.adapter.sendData(this.payload?.node_id, constants.Endpoint.LOCAL_CTRL, this.buildGetPropertyValueRequest(index));
128
+ const property = this.processGetPropertyValueResponse(response);
129
+ if (property) {
130
+ this.propertyInfo[property.name] = property.value;
131
+ }
132
+ }
133
+ buildGetPropertyValueRequest(index) {
134
+ const request = new esp_local_ctrl.LocalCtrlMessage();
135
+ request.msg = esp_local_ctrl.LocalCtrlMsgType.TypeCmdGetPropertyValues;
136
+ const cmd = new esp_local_ctrl.CmdGetPropertyValues();
137
+ cmd.indices.push(index);
138
+ request.cmd_get_prop_vals = cmd;
139
+ return TransformEncoding.uint8ArrayToBase64(request.serialize());
140
+ }
141
+ processGetPropertyValueResponse(response) {
142
+ const deserialized = esp_local_ctrl.LocalCtrlMessage.deserialize(TransformEncoding.base64ToUint8Array(response));
143
+ if (deserialized.resp_get_prop_vals.status !== constants$1.Status.Success) {
144
+ throw new Error("Failed to get property values from device response");
145
+ }
146
+ const prop = deserialized.resp_get_prop_vals.props[0];
147
+ if (!prop)
148
+ return undefined;
149
+ return {
150
+ name: prop.name || "unknown",
151
+ value: JSON.parse(new TextDecoder().decode(prop.value)),
152
+ };
153
+ }
154
+ }
155
+
156
+ exports.ESPLocalControlTransport = ESPLocalControlTransport;
157
+ //# sourceMappingURL=ESPLocalControlTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ESPLocalControlTransport.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var NodeMQTTOrchestrator = require('../NodeMQTTOrchestrator.js');
4
+
5
+ /*
6
+ * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
7
+ *
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ /**
11
+ * Built-in `mqtt` transport — the RainMaker Neo cloud channel. Drives node
12
+ * params over MQTT (AWS IoT shadow / RainMaker user params topic) through
13
+ * {@link NodeMQTTOrchestrator}.
14
+ */
15
+ class ESPMqttTransport {
16
+ async setParam(payload, _nodeRef) {
17
+ await NodeMQTTOrchestrator.NodeMQTTOrchestrator.setParams(payload.node_id, payload.payload);
18
+ return { message: "Parameters updated successfully", statusCode: 200 };
19
+ }
20
+ async getParams(payload, _nodeRef) {
21
+ return NodeMQTTOrchestrator.NodeMQTTOrchestrator.getParams(payload.node_id);
22
+ }
23
+ }
24
+
25
+ exports.ESPMqttTransport = ESPMqttTransport;
26
+ //# sourceMappingURL=ESPMqttTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ESPMqttTransport.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var transport = require('../../types/transport.js');
4
+ var ESPMqttTransport = require('./ESPMqttTransport.js');
5
+ var ESPLocalControlTransport = require('./ESPLocalControlTransport.js');
6
+
7
+ /*
8
+ * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
9
+ *
10
+ * SPDX-License-Identifier: Apache-2.0
11
+ */
12
+ /**
13
+ * Selects and wraps a built-in transport implementation based on the transport
14
+ * config `type`. The {@link delegatedTransportHandler} constructs one of these
15
+ * per transport attempt and drives it through {@link ESPTransportInterface}.
16
+ */
17
+ class ESPTransportManager {
18
+ transport;
19
+ constructor(transportConfig) {
20
+ if (transportConfig) {
21
+ switch (transportConfig.type) {
22
+ case transport.ESPTransportMode.mqtt:
23
+ this.transport = new ESPMqttTransport.ESPMqttTransport();
24
+ break;
25
+ case transport.ESPTransportMode.local:
26
+ this.transport = new ESPLocalControlTransport.ESPLocalControlTransport(transportConfig);
27
+ break;
28
+ default:
29
+ throw new Error(`Unsupported transport type: ${transportConfig.type}. Please provide a transport manager via customTransportManagers.`);
30
+ }
31
+ }
32
+ }
33
+ setParam(payload, nodeRef) {
34
+ return this.transport.setParam(payload, nodeRef);
35
+ }
36
+ getParams(payload, nodeRef) {
37
+ return this.transport.getParams(payload, nodeRef);
38
+ }
39
+ }
40
+
41
+ exports.ESPTransportManager = ESPTransportManager;
42
+ //# sourceMappingURL=ESPTransportManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ESPTransportManager.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,274 @@
1
+ 'use strict';
2
+
3
+ var NodeMQTTOrchestrator = require('./NodeMQTTOrchestrator.js');
4
+ var transformShadowToNodeUpdate = require('./ESPRMNeoHelpers/transformShadowToNodeUpdate.js');
5
+ var shadowUtils = require('../utils/shadowUtils.js');
6
+ var constants = require('../utils/constants.js');
7
+ var logger$1 = require('../utils/logger.js');
8
+
9
+ /*
10
+ * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
11
+ *
12
+ * SPDX-License-Identifier: Apache-2.0
13
+ */
14
+ const logger = new logger$1.Logger("MQTTSubscriptionChannel");
15
+ /**
16
+ * MQTT subscription channel for ESP RainMaker Neo.
17
+ *
18
+ * This channel is a thin adapter over {@link NodeMQTTOrchestrator}, which owns
19
+ * the single MQTT connection, the AWS IoT shadow topic subscriptions, and the
20
+ * deduplication of nodes that share a group/subgroup shadow. The channel's job
21
+ * is only to:
22
+ * - map a node to its shadow and register it with the orchestrator,
23
+ * - normalize each shadow message into the canonical {@link ESPNodeUpdateData}
24
+ * envelope (so the app sees the same shape from every channel), and
25
+ * - fan that envelope out to the app callbacks subscribed for the node.
26
+ *
27
+ * It deliberately does **not** open/close the MQTT connection — that lifecycle
28
+ * is owned by `ESPRMNeoBase.init()` / the orchestrator, so disposing one channel
29
+ * never tears down a connection other channels (or the node) still use.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const mqttChannel = new MQTTSubscriptionChannel();
34
+ * await ESPRMNeoBase.subscriptionManager.registerChannel(mqttChannel);
35
+ * await ESPRMNeoBase.subscriptionManager.subscribeToNode(node, (update) => {
36
+ * console.log(`Node ${update.nodeId} updated:`, update.payload);
37
+ * });
38
+ * ```
39
+ */
40
+ class MQTTSubscriptionChannel {
41
+ channelId = constants.SubscriptionChannelIds.MQTT;
42
+ /**
43
+ * App callbacks per node (nodeId → set of subscriber callbacks).
44
+ */
45
+ nodeCallbacks = new Map();
46
+ /**
47
+ * The single orchestrator listener installed per node (nodeId → listener).
48
+ * Kept so we can detach exactly that listener on unsubscribe.
49
+ */
50
+ orchestratorListeners = new Map();
51
+ /**
52
+ * nodeId → orchestrator generation at which we last attached its listener.
53
+ * If the orchestrator is re-initialized (logout→login), the generation
54
+ * changes and we re-attach instead of trusting stale cached state.
55
+ */
56
+ nodeGeneration = new Map();
57
+ /**
58
+ * nodeId → tail of the in-flight operation chain for that node. Subscribe and
59
+ * unsubscribe for the same node are serialized through this so they never
60
+ * interleave across an await boundary (see {@link runSerial}).
61
+ */
62
+ nodeOps = new Map();
63
+ isInitialized = false;
64
+ /**
65
+ * Initialize the channel. The MQTT engine
66
+ * ({@link NodeMQTTOrchestrator} over `ESPRMNeoMqtt`) is initialized by
67
+ * `ESPRMNeoBase.init()` when an `mqttAdapter` is configured, so there is no
68
+ * connection to set up here.
69
+ */
70
+ async initialize() {
71
+ this.isInitialized = true;
72
+ }
73
+ /**
74
+ * MQTT is the universal transport for RainMaker Neo nodes, so this channel
75
+ * supports every node.
76
+ *
77
+ * @param _node - Unused; MQTT supports all Neo nodes.
78
+ * @returns Always `true`.
79
+ */
80
+ supportsNode(_node) {
81
+ return true;
82
+ }
83
+ /**
84
+ * Subscribe to parameter updates for a node.
85
+ *
86
+ * Constructs the node's shadow name from its group/subgroup context, registers
87
+ * it with the orchestrator (deduped by shadow), and installs a single
88
+ * orchestrator listener per node that normalizes shadow messages and fans
89
+ * them out to all subscriber callbacks.
90
+ *
91
+ * @param callback - Invoked with a normalized {@link ESPNodeUpdateData} on each update.
92
+ * @param node - The node to subscribe to. Must carry `nodeId` (or `id`) and
93
+ * `groupId`; `subgroupIds` optional. Group context is used to build the
94
+ * shadow name directly — no reverse lookup from persisted state.
95
+ * @throws Error if the node has no id or the orchestrator subscription fails.
96
+ */
97
+ async subscribe(callback, node) {
98
+ const nodeId = node.nodeId ?? node.id;
99
+ if (!nodeId) {
100
+ throw new Error("MQTTSubscriptionChannel.subscribe requires a node with an id");
101
+ }
102
+ if (!this.isInitialized) {
103
+ await this.initialize();
104
+ }
105
+ // Serialize per node so this subscribe never interleaves with another
106
+ // subscribe/detach for the same node across an await. Without this, a late
107
+ // subscriber could attach to about-to-be-rolled-back (failed first install)
108
+ // or about-to-be-torn-down (concurrent detach) state and then silently
109
+ // never receive updates.
110
+ return this.runSerial(nodeId, () => this.installSubscriber(callback, node));
111
+ }
112
+ /**
113
+ * Installs a single subscriber for a node. Runs exclusively per node via
114
+ * {@link runSerial}: the first subscriber constructs the shadow name from the
115
+ * node's group context, registers the node and attaches one shared
116
+ * orchestrator listener; later subscribers join the node's existing callback
117
+ * set.
118
+ *
119
+ * @param callback - Subscriber to add.
120
+ * @param node - The node whose shadow is constructed from its group context.
121
+ */
122
+ async installSubscriber(callback, node) {
123
+ const nodeId = (node.nodeId ?? node.id);
124
+ const shadowName = shadowUtils.constructShadowName(node.groupId ?? "", node.subgroupIds ?? []);
125
+ // Re-bind shadow from node group context (no-op if unchanged).
126
+ NodeMQTTOrchestrator.NodeMQTTOrchestrator.registerNode(nodeId, shadowName);
127
+ // If the orchestrator was re-initialized since we last attached this node
128
+ // (e.g. logout→login wiped its subscription state), our cached listener is
129
+ // dead. Drop the stale local state so the block below re-creates the
130
+ // listener and re-attaches it to the new orchestrator.
131
+ const generation = NodeMQTTOrchestrator.NodeMQTTOrchestrator.getGeneration();
132
+ if (this.nodeCallbacks.has(nodeId) &&
133
+ this.nodeGeneration.get(nodeId) !== generation) {
134
+ this.nodeCallbacks.delete(nodeId);
135
+ this.orchestratorListeners.delete(nodeId);
136
+ }
137
+ this.nodeGeneration.set(nodeId, generation);
138
+ // First subscriber for this node installs the shared orchestrator listener.
139
+ if (!this.nodeCallbacks.has(nodeId)) {
140
+ const callbacks = new Set();
141
+ this.nodeCallbacks.set(nodeId, callbacks);
142
+ const listener = (params) => {
143
+ const update = transformShadowToNodeUpdate.transformShadowToNodeUpdate(nodeId, params, { shadowName }, this.channelId);
144
+ callbacks.forEach((cb) => {
145
+ try {
146
+ cb(update);
147
+ }
148
+ catch (error) {
149
+ logger.error(`Subscriber threw for node ${nodeId}`, error);
150
+ }
151
+ });
152
+ };
153
+ this.orchestratorListeners.set(nodeId, listener);
154
+ try {
155
+ await NodeMQTTOrchestrator.NodeMQTTOrchestrator.subscribeToNode(nodeId, listener);
156
+ }
157
+ catch (error) {
158
+ // Roll back bookkeeping so a later retry can subscribe cleanly.
159
+ this.nodeCallbacks.delete(nodeId);
160
+ this.orchestratorListeners.delete(nodeId);
161
+ this.nodeGeneration.delete(nodeId);
162
+ throw error;
163
+ }
164
+ }
165
+ this.nodeCallbacks.get(nodeId).add(callback);
166
+ }
167
+ /**
168
+ * Unsubscribe from a node.
169
+ *
170
+ * - No `nodeId`: detach every node.
171
+ * - `nodeId` only: detach the node and all its subscribers.
172
+ * - `nodeId` + `callback`: remove just that subscriber; the node stays
173
+ * subscribed (and the shared orchestrator listener stays attached) until its
174
+ * last subscriber is removed, so sibling subscribers are not affected.
175
+ *
176
+ * @param nodeId - Node id to detach; omit to detach all nodes.
177
+ * @param callback - Optional specific subscriber to remove.
178
+ */
179
+ async unsubscribe(nodeId, callback) {
180
+ if (!nodeId) {
181
+ const ids = Array.from(this.nodeCallbacks.keys());
182
+ for (const id of ids) {
183
+ await this.runSerial(id, () => this.removeSubscriber(id, undefined));
184
+ }
185
+ return;
186
+ }
187
+ return this.runSerial(nodeId, () => this.removeSubscriber(nodeId, callback));
188
+ }
189
+ /**
190
+ * Removes a subscriber for a node. Runs exclusively per node via
191
+ * {@link runSerial}. With a `callback`, only that subscriber is removed and the
192
+ * node stays subscribed while others remain; once the last subscriber is gone
193
+ * (or when `callback` is omitted) the node is fully detached.
194
+ *
195
+ * @param nodeId - Node id.
196
+ * @param callback - Specific subscriber to remove, or omit to detach the node.
197
+ */
198
+ async removeSubscriber(nodeId, callback) {
199
+ if (callback) {
200
+ const callbacks = this.nodeCallbacks.get(nodeId);
201
+ if (!callbacks)
202
+ return;
203
+ callbacks.delete(callback);
204
+ // Other subscribers remain → keep the node (and its orchestrator listener).
205
+ if (callbacks.size > 0)
206
+ return;
207
+ // Last subscriber removed → fall through to fully detach the node.
208
+ }
209
+ await this.detachNode(nodeId);
210
+ }
211
+ /**
212
+ * Detach all listeners. The shared MQTT connection is intentionally left
213
+ * intact — its lifecycle is owned by the orchestrator / `ESPRMNeoBase`.
214
+ */
215
+ async dispose() {
216
+ await this.unsubscribe();
217
+ this.isInitialized = false;
218
+ }
219
+ /**
220
+ * Removes this channel's orchestrator listener for a node and clears its
221
+ * bookkeeping. Only this channel's listener is detached — the orchestrator
222
+ * idle-cleans the underlying shadow topic once no listeners remain, so a
223
+ * node's own subscription (e.g. from `ESPRMNeoNode`) is never clobbered.
224
+ *
225
+ * @param nodeId - Node id to detach.
226
+ */
227
+ async detachNode(nodeId) {
228
+ const listener = this.orchestratorListeners.get(nodeId);
229
+ const callbacks = this.nodeCallbacks.get(nodeId);
230
+ // Drop local state synchronously (before the await) so nothing observes
231
+ // half-torn-down state, and empty the set the listener closes over so an
232
+ // in-flight message during the orchestrator unsubscribe cannot reach a
233
+ // removed subscriber.
234
+ this.orchestratorListeners.delete(nodeId);
235
+ this.nodeCallbacks.delete(nodeId);
236
+ this.nodeGeneration.delete(nodeId);
237
+ callbacks?.clear();
238
+ if (listener) {
239
+ try {
240
+ await NodeMQTTOrchestrator.NodeMQTTOrchestrator.unsubscribeFromNode(nodeId, listener);
241
+ }
242
+ catch (error) {
243
+ logger.error(`Failed to unsubscribe node ${nodeId} from MQTT`, error);
244
+ }
245
+ }
246
+ }
247
+ /**
248
+ * Runs `op` exclusively per node: operations for the same nodeId are chained
249
+ * so they never interleave across an await point, while operations for
250
+ * different nodes still run concurrently. The caller receives `op`'s own
251
+ * outcome (success or failure); a failed op does not block later ops.
252
+ *
253
+ * @param nodeId - Node whose operations are serialized.
254
+ * @param op - The operation to run once it reaches the front of the queue.
255
+ * @returns The result of `op`.
256
+ */
257
+ runSerial(nodeId, op) {
258
+ const prev = this.nodeOps.get(nodeId) ?? Promise.resolve();
259
+ // Chain after the previous op regardless of whether it resolved or rejected.
260
+ const result = prev.then(op, op);
261
+ const tail = result.then(() => undefined, () => undefined);
262
+ this.nodeOps.set(nodeId, tail);
263
+ void tail.then(() => {
264
+ // Drop the queue entry once this was the last queued op for the node.
265
+ if (this.nodeOps.get(nodeId) === tail) {
266
+ this.nodeOps.delete(nodeId);
267
+ }
268
+ });
269
+ return result;
270
+ }
271
+ }
272
+
273
+ exports.MQTTSubscriptionChannel = MQTTSubscriptionChannel;
274
+ //# sourceMappingURL=MQTTSubscriptionChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MQTTSubscriptionChannel.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}