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