@ray-js/lock-sdk 1.1.3 → 1.2.0-beta.10

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 (569) hide show
  1. package/lib/api/ble.d.ts +57 -0
  2. package/lib/api/ble.js +46 -0
  3. package/lib/api/fit.d.ts +203 -0
  4. package/lib/api/fit.js +158 -0
  5. package/lib/api/index.d.ts +4 -2
  6. package/lib/api/index.js +26 -0
  7. package/lib/api/linkage.js +6 -0
  8. package/lib/api/lock.d.ts +4 -2
  9. package/lib/api/lock.js +24 -0
  10. package/lib/api/log.d.ts +49 -22
  11. package/lib/api/log.js +21 -0
  12. package/lib/api/notify.d.ts +28 -0
  13. package/lib/api/notify.js +17 -0
  14. package/lib/api/request.d.ts +5 -2
  15. package/lib/api/request.js +34 -2
  16. package/lib/api/screen.d.ts +111 -0
  17. package/lib/api/screen.js +52 -0
  18. package/lib/api/service.d.ts +26 -0
  19. package/lib/api/service.js +25 -0
  20. package/lib/api/setting.js +2 -0
  21. package/lib/api/temp.d.ts +24 -3
  22. package/lib/api/temp.js +27 -0
  23. package/lib/api/user.d.ts +35 -1
  24. package/lib/api/user.js +24 -0
  25. package/lib/api/video.d.ts +36 -0
  26. package/lib/api/video.js +51 -0
  27. package/lib/api/voice-file.d.ts +14 -0
  28. package/lib/api/voice-file.js +18 -0
  29. package/lib/api/voip.d.ts +10 -0
  30. package/lib/api/voip.js +17 -0
  31. package/lib/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  32. package/lib/bootstrap/bootstrap-lock-instance.js +16 -0
  33. package/lib/bootstrap/bootstrap.d.ts +4 -0
  34. package/lib/bootstrap/bootstrap.js +53 -0
  35. package/lib/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  36. package/lib/bootstrap/lock-instance-runtime-ref.js +7 -0
  37. package/lib/bootstrap/primary-instance.d.ts +6 -0
  38. package/lib/bootstrap/primary-instance.js +24 -0
  39. package/lib/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  40. package/lib/bootstrap/resolve-runtime-from-export-this.js +29 -0
  41. package/lib/bootstrap/top-level-runtime.d.ts +2 -0
  42. package/lib/bootstrap/top-level-runtime.js +9 -0
  43. package/lib/config/dp-code/index.d.ts +101 -67
  44. package/lib/config/dp-code/index.js +34 -1
  45. package/lib/config/dp-map/ble-check-code.d.ts +41 -0
  46. package/lib/config/dp-map/ble-check-code.js +55 -0
  47. package/lib/config/dp-map/ble-key-fit.d.ts +328 -0
  48. package/lib/config/dp-map/ble-key-fit.js +33 -0
  49. package/lib/config/dp-map/ble-sync.d.ts +2 -2
  50. package/lib/config/dp-map/ble-sync.js +2 -2
  51. package/lib/config/dp-map/ble-unlock-check.d.ts +42 -0
  52. package/lib/config/dp-map/ble-unlock-check.js +59 -0
  53. package/lib/config/dp-map/ble-voice-data.d.ts +16 -0
  54. package/lib/config/dp-map/ble-voice-data.js +7 -0
  55. package/lib/config/dp-map/bluetooth-unlock.d.ts +10 -0
  56. package/lib/config/dp-map/bluetooth-unlock.js +16 -0
  57. package/lib/config/dp-map/media.d.ts +13 -0
  58. package/lib/config/dp-map/media.js +19 -0
  59. package/lib/config/dp-map/registry.d.ts +1137 -0
  60. package/lib/config/dp-map/registry.js +110 -0
  61. package/lib/config/dp-map/sync-method-fit.d.ts +3 -0
  62. package/lib/config/dp-map/sync-method-fit.js +36 -0
  63. package/lib/config/dp-map/temp-pwd-fit.d.ts +441 -0
  64. package/lib/config/dp-map/temp-pwd-fit.js +73 -0
  65. package/lib/config/dp-map/unlock-method-fit.d.ts +302 -0
  66. package/lib/config/dp-map/unlock-method-fit.js +62 -0
  67. package/lib/config/dp-map/unlock-method.d.ts +345 -1
  68. package/lib/config/dp-map/unlock-method.js +37 -1
  69. package/lib/constant.d.ts +5 -0
  70. package/lib/constant.js +6 -0
  71. package/lib/entries/ble/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  72. package/lib/entries/ble/bootstrap/bootstrap-lock-instance.js +12 -0
  73. package/lib/entries/ble/bootstrap/bootstrap.d.ts +4 -0
  74. package/lib/entries/ble/bootstrap/bootstrap.js +53 -0
  75. package/lib/entries/ble/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  76. package/lib/entries/ble/bootstrap/lock-instance-runtime-ref.js +7 -0
  77. package/lib/entries/ble/bootstrap/primary-instance.d.ts +6 -0
  78. package/lib/entries/ble/bootstrap/primary-instance.js +24 -0
  79. package/lib/entries/ble/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  80. package/lib/entries/ble/bootstrap/resolve-runtime-from-export-this.js +29 -0
  81. package/lib/entries/ble/bootstrap/top-level-runtime.d.ts +2 -0
  82. package/lib/entries/ble/bootstrap/top-level-runtime.js +9 -0
  83. package/lib/entries/ble/build-instance.d.ts +9 -0
  84. package/lib/entries/ble/build-instance.js +50 -0
  85. package/lib/entries/ble/exports/capability.d.ts +6 -0
  86. package/lib/entries/ble/exports/capability.js +17 -0
  87. package/lib/entries/ble/exports/config.d.ts +3 -0
  88. package/lib/entries/ble/exports/config.js +5 -0
  89. package/lib/entries/ble/exports/dp.d.ts +9 -0
  90. package/lib/entries/ble/exports/dp.js +13 -0
  91. package/lib/entries/ble/exports/index.d.ts +16 -0
  92. package/lib/entries/ble/exports/index.js +16 -0
  93. package/lib/entries/ble/exports/linkage.d.ts +5 -0
  94. package/lib/entries/ble/exports/linkage.js +15 -0
  95. package/lib/entries/ble/exports/log.d.ts +9 -0
  96. package/lib/entries/ble/exports/log.js +21 -0
  97. package/lib/entries/ble/exports/media.d.ts +4 -0
  98. package/lib/entries/ble/exports/media.js +12 -0
  99. package/lib/entries/ble/exports/misc.d.ts +19 -0
  100. package/lib/entries/ble/exports/misc.js +30 -0
  101. package/lib/entries/ble/exports/offline-dps.d.ts +8 -0
  102. package/lib/entries/ble/exports/offline-dps.js +24 -0
  103. package/lib/entries/ble/exports/open/do-open-close-action.d.ts +2 -0
  104. package/lib/entries/ble/exports/open/do-open-close-action.js +36 -0
  105. package/lib/entries/ble/exports/open/index.d.ts +18 -0
  106. package/lib/entries/ble/exports/open/index.js +45 -0
  107. package/lib/entries/ble/exports/signal.d.ts +6 -0
  108. package/lib/entries/ble/exports/signal.js +14 -0
  109. package/lib/entries/ble/exports/sleep.d.ts +13 -0
  110. package/lib/entries/ble/exports/sleep.js +31 -0
  111. package/lib/entries/ble/exports/state.d.ts +6 -0
  112. package/lib/entries/ble/exports/state.js +19 -0
  113. package/lib/entries/ble/exports/temporary.d.ts +31 -0
  114. package/lib/entries/ble/exports/temporary.js +91 -0
  115. package/lib/entries/ble/exports/unlock/sync.d.ts +1 -0
  116. package/lib/entries/ble/exports/unlock/sync.js +5 -0
  117. package/lib/entries/ble/exports/unlock-method.d.ts +19 -0
  118. package/lib/entries/ble/exports/unlock-method.js +58 -0
  119. package/lib/entries/ble/exports/user/index.d.ts +23 -0
  120. package/lib/entries/ble/exports/user/index.js +22 -0
  121. package/lib/entries/ble/exports/user/sync.d.ts +1 -0
  122. package/lib/entries/ble/exports/user/sync.js +5 -0
  123. package/lib/entries/ble/index.d.ts +8 -0
  124. package/lib/entries/ble/index.js +39 -0
  125. package/lib/entries/fit/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  126. package/lib/entries/fit/bootstrap/bootstrap-lock-instance.js +12 -0
  127. package/lib/entries/fit/bootstrap/bootstrap.d.ts +4 -0
  128. package/lib/entries/fit/bootstrap/bootstrap.js +69 -0
  129. package/lib/entries/fit/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  130. package/lib/entries/fit/bootstrap/lock-instance-runtime-ref.js +7 -0
  131. package/lib/entries/fit/bootstrap/primary-instance.d.ts +6 -0
  132. package/lib/entries/fit/bootstrap/primary-instance.js +24 -0
  133. package/lib/entries/fit/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  134. package/lib/entries/fit/bootstrap/resolve-runtime-from-export-this.js +29 -0
  135. package/lib/entries/fit/bootstrap/top-level-runtime.d.ts +2 -0
  136. package/lib/entries/fit/bootstrap/top-level-runtime.js +9 -0
  137. package/lib/entries/fit/build-instance.d.ts +9 -0
  138. package/lib/entries/fit/build-instance.js +57 -0
  139. package/lib/entries/fit/exports/binding.d.ts +8 -0
  140. package/lib/entries/fit/exports/binding.js +15 -0
  141. package/lib/entries/fit/exports/device.d.ts +26 -0
  142. package/lib/entries/fit/exports/device.js +64 -0
  143. package/lib/entries/fit/exports/index.d.ts +3 -0
  144. package/lib/entries/fit/exports/index.js +3 -0
  145. package/lib/entries/fit/exports/temp.d.ts +19 -0
  146. package/lib/entries/fit/exports/temp.js +18 -0
  147. package/lib/entries/fit/index.d.ts +8 -0
  148. package/lib/entries/fit/index.js +36 -0
  149. package/lib/entries/main/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  150. package/lib/entries/main/bootstrap/bootstrap-lock-instance.js +12 -0
  151. package/lib/entries/main/bootstrap/bootstrap.d.ts +4 -0
  152. package/lib/entries/main/bootstrap/bootstrap.js +69 -0
  153. package/lib/entries/main/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  154. package/lib/entries/main/bootstrap/lock-instance-runtime-ref.js +7 -0
  155. package/lib/entries/main/bootstrap/primary-instance.d.ts +6 -0
  156. package/lib/entries/main/bootstrap/primary-instance.js +24 -0
  157. package/lib/entries/main/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  158. package/lib/entries/main/bootstrap/resolve-runtime-from-export-this.js +29 -0
  159. package/lib/entries/main/bootstrap/top-level-runtime.d.ts +2 -0
  160. package/lib/entries/main/bootstrap/top-level-runtime.js +9 -0
  161. package/lib/entries/main/build-instance.d.ts +7 -0
  162. package/lib/entries/main/build-instance.js +49 -0
  163. package/lib/entries/main/exports/accessory-binding.d.ts +1 -0
  164. package/lib/entries/main/exports/accessory-binding.js +1 -0
  165. package/lib/entries/main/exports/ai.d.ts +4 -0
  166. package/lib/entries/main/exports/ai.js +11 -0
  167. package/lib/entries/main/exports/capability.d.ts +6 -0
  168. package/lib/entries/main/exports/capability.js +17 -0
  169. package/lib/entries/main/exports/config.d.ts +3 -0
  170. package/lib/entries/main/exports/config.js +5 -0
  171. package/lib/entries/main/exports/dp.d.ts +11 -0
  172. package/lib/entries/main/exports/dp.js +13 -0
  173. package/lib/entries/main/exports/fit.d.ts +8 -0
  174. package/lib/entries/main/exports/fit.js +14 -0
  175. package/lib/entries/main/exports/index.d.ts +24 -0
  176. package/lib/entries/main/exports/index.js +24 -0
  177. package/lib/entries/main/exports/linkage.d.ts +5 -0
  178. package/lib/entries/main/exports/linkage.js +15 -0
  179. package/lib/entries/main/exports/log.d.ts +10 -0
  180. package/lib/entries/main/exports/log.js +24 -0
  181. package/lib/entries/main/exports/media.d.ts +15 -0
  182. package/lib/entries/main/exports/media.js +46 -0
  183. package/lib/entries/main/exports/misc.d.ts +18 -0
  184. package/lib/entries/main/exports/misc.js +30 -0
  185. package/lib/entries/main/exports/notify.d.ts +7 -0
  186. package/lib/entries/main/exports/notify.js +8 -0
  187. package/lib/entries/main/exports/offline-dps.d.ts +8 -0
  188. package/lib/entries/main/exports/offline-dps.js +28 -0
  189. package/lib/entries/main/exports/open/do-open-close-action.d.ts +2 -0
  190. package/lib/entries/main/exports/open/do-open-close-action.js +68 -0
  191. package/lib/entries/main/exports/open/index.d.ts +16 -0
  192. package/lib/entries/main/exports/open/index.js +44 -0
  193. package/lib/entries/main/exports/open.d.ts +16 -0
  194. package/lib/entries/main/exports/open.js +44 -0
  195. package/lib/entries/main/exports/screen/bind.d.ts +7 -0
  196. package/lib/entries/main/exports/screen/bind.js +15 -0
  197. package/lib/entries/main/exports/screen/list.d.ts +5 -0
  198. package/lib/entries/main/exports/screen/list.js +13 -0
  199. package/lib/entries/main/exports/service.d.ts +4 -0
  200. package/lib/entries/main/exports/service.js +11 -0
  201. package/lib/entries/main/exports/signal.d.ts +6 -0
  202. package/lib/entries/main/exports/signal.js +14 -0
  203. package/lib/entries/main/exports/sleep.d.ts +15 -0
  204. package/lib/entries/main/exports/sleep.js +31 -0
  205. package/lib/entries/main/exports/state.d.ts +6 -0
  206. package/lib/entries/main/exports/state.js +19 -0
  207. package/lib/entries/main/exports/temporary.d.ts +32 -0
  208. package/lib/entries/main/exports/temporary.js +86 -0
  209. package/lib/entries/main/exports/unlock/sync.d.ts +1 -0
  210. package/lib/entries/main/exports/unlock/sync.js +5 -0
  211. package/lib/entries/main/exports/unlock-method.d.ts +19 -0
  212. package/lib/entries/main/exports/unlock-method.js +58 -0
  213. package/lib/entries/main/exports/user/index.d.ts +33 -0
  214. package/lib/entries/main/exports/user/index.js +35 -0
  215. package/lib/entries/main/exports/user/sync.d.ts +1 -0
  216. package/lib/entries/main/exports/user/sync.js +5 -0
  217. package/lib/entries/main/exports/voice-file.d.ts +7 -0
  218. package/lib/entries/main/exports/voice-file.js +17 -0
  219. package/lib/entries/main/exports/voip.d.ts +3 -0
  220. package/lib/entries/main/exports/voip.js +8 -0
  221. package/lib/entries/main/exports/yu-channel.d.ts +5 -0
  222. package/lib/entries/main/exports/yu-channel.js +17 -0
  223. package/lib/entries/main/index.d.ts +8 -0
  224. package/lib/entries/main/index.js +36 -0
  225. package/lib/entries/screen/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  226. package/lib/entries/screen/bootstrap/bootstrap-lock-instance.js +12 -0
  227. package/lib/entries/screen/bootstrap/bootstrap.d.ts +4 -0
  228. package/lib/entries/screen/bootstrap/bootstrap.js +69 -0
  229. package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  230. package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.js +7 -0
  231. package/lib/entries/screen/bootstrap/primary-instance.d.ts +6 -0
  232. package/lib/entries/screen/bootstrap/primary-instance.js +24 -0
  233. package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  234. package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.js +29 -0
  235. package/lib/entries/screen/bootstrap/top-level-runtime.d.ts +2 -0
  236. package/lib/entries/screen/bootstrap/top-level-runtime.js +9 -0
  237. package/lib/entries/screen/build-instance.d.ts +9 -0
  238. package/lib/entries/screen/build-instance.js +57 -0
  239. package/lib/entries/screen/exports/bind-events.d.ts +4 -0
  240. package/lib/entries/screen/exports/bind-events.js +8 -0
  241. package/lib/entries/screen/exports/binding.d.ts +6 -0
  242. package/lib/entries/screen/exports/binding.js +15 -0
  243. package/lib/entries/screen/exports/device.d.ts +16 -0
  244. package/lib/entries/screen/exports/device.js +41 -0
  245. package/lib/entries/screen/exports/event.d.ts +3 -0
  246. package/lib/entries/screen/exports/event.js +5 -0
  247. package/lib/entries/screen/exports/index.d.ts +5 -0
  248. package/lib/entries/screen/exports/index.js +5 -0
  249. package/lib/entries/screen/exports/user.d.ts +2 -0
  250. package/lib/entries/screen/exports/user.js +8 -0
  251. package/lib/entries/screen/index.d.ts +8 -0
  252. package/lib/entries/screen/index.js +36 -0
  253. package/lib/feature/ai/report.d.ts +5 -0
  254. package/lib/feature/ai/report.js +37 -0
  255. package/lib/feature/dp/get-dp-value.d.ts +3 -0
  256. package/lib/feature/dp/get-dp-value.js +3 -0
  257. package/lib/feature/dp/has-dp.d.ts +2 -0
  258. package/lib/feature/dp/has-dp.js +1 -0
  259. package/lib/feature/dp/publish-dps.d.ts +7 -0
  260. package/lib/feature/dp/publish-dps.js +155 -0
  261. package/lib/feature/fit/bind-fit-to-lock.d.ts +6 -0
  262. package/lib/feature/fit/bind-fit-to-lock.js +222 -0
  263. package/lib/feature/fit/bind-lock-to-fit.d.ts +4 -0
  264. package/lib/feature/fit/bind-lock-to-fit.js +167 -0
  265. package/lib/feature/fit/ble-key.d.ts +16 -0
  266. package/lib/feature/fit/ble-key.js +99 -0
  267. package/lib/feature/fit/list.d.ts +3 -0
  268. package/lib/feature/fit/list.js +28 -0
  269. package/lib/feature/fit/method/add-flow.d.ts +7 -0
  270. package/lib/feature/fit/method/add-flow.js +380 -0
  271. package/lib/feature/fit/method/add-method-events.d.ts +5 -0
  272. package/lib/feature/fit/method/add-method-events.js +11 -0
  273. package/lib/feature/fit/method/add-password.d.ts +3 -0
  274. package/lib/feature/fit/method/add-password.js +99 -0
  275. package/lib/feature/fit/method/internal/base.d.ts +19 -0
  276. package/lib/feature/fit/method/internal/base.js +134 -0
  277. package/lib/feature/fit/method/list.d.ts +3 -0
  278. package/lib/feature/fit/method/list.js +64 -0
  279. package/lib/feature/fit/method/types.d.ts +68 -0
  280. package/lib/feature/fit/method/types.js +1 -0
  281. package/lib/feature/fit/method/update-remove.d.ts +4 -0
  282. package/lib/feature/fit/method/update-remove.js +159 -0
  283. package/lib/feature/fit/password-list.d.ts +24 -0
  284. package/lib/feature/fit/password-list.js +31 -0
  285. package/lib/feature/fit/resolve-slave-id.d.ts +2 -0
  286. package/lib/feature/fit/resolve-slave-id.js +38 -0
  287. package/lib/feature/fit/setting.d.ts +2 -0
  288. package/lib/feature/fit/setting.js +27 -0
  289. package/lib/feature/fit/shared.d.ts +27 -0
  290. package/lib/feature/fit/shared.js +118 -0
  291. package/lib/feature/fit/sync.d.ts +4 -0
  292. package/lib/feature/fit/sync.js +85 -0
  293. package/lib/feature/fit/temp-password.d.ts +27 -0
  294. package/lib/feature/fit/temp-password.js +428 -0
  295. package/lib/feature/fit/users.d.ts +12 -0
  296. package/lib/feature/fit/users.js +25 -0
  297. package/lib/feature/linkage/linkage.d.ts +10 -0
  298. package/lib/{linkage.js → feature/linkage/linkage.js} +30 -30
  299. package/lib/feature/log/log.d.ts +63 -0
  300. package/lib/feature/log/log.js +438 -0
  301. package/lib/feature/media/camera.d.ts +18 -0
  302. package/lib/feature/media/camera.js +36 -0
  303. package/lib/feature/media/media.d.ts +41 -0
  304. package/lib/feature/media/media.js +97 -0
  305. package/lib/feature/media/rotate.d.ts +6 -0
  306. package/lib/feature/media/rotate.js +6 -0
  307. package/lib/feature/misc/ble-control.d.ts +2 -0
  308. package/lib/feature/misc/ble-control.js +38 -0
  309. package/lib/feature/misc/capability.d.ts +8 -0
  310. package/lib/feature/misc/capability.js +202 -0
  311. package/lib/feature/misc/connect-device.d.ts +2 -0
  312. package/lib/feature/misc/connect-device.js +206 -0
  313. package/lib/feature/misc/dp-period.d.ts +18 -0
  314. package/lib/feature/misc/dp-period.js +75 -0
  315. package/lib/feature/misc/is-use-near-channel-for-runtime.d.ts +2 -0
  316. package/lib/feature/misc/is-use-near-channel-for-runtime.js +17 -0
  317. package/lib/feature/misc/open-scene.d.ts +3 -0
  318. package/lib/feature/misc/open-scene.js +63 -0
  319. package/lib/feature/misc/signal.d.ts +12 -0
  320. package/lib/feature/misc/signal.js +36 -0
  321. package/lib/feature/misc/sleep.d.ts +14 -0
  322. package/lib/feature/misc/sleep.js +66 -0
  323. package/lib/feature/misc/types.d.ts +7 -0
  324. package/lib/feature/misc/types.js +1 -0
  325. package/lib/feature/misc/update-config.d.ts +4 -0
  326. package/lib/feature/misc/update-config.js +9 -0
  327. package/lib/feature/misc/validate-pwd.d.ts +2 -0
  328. package/lib/feature/misc/validate-pwd.js +10 -0
  329. package/lib/feature/misc/yu-channel.d.ts +6 -0
  330. package/lib/feature/misc/yu-channel.js +26 -0
  331. package/lib/feature/notify/notify.d.ts +4 -0
  332. package/lib/feature/notify/notify.js +3 -0
  333. package/lib/feature/offline-dps/index.d.ts +10 -0
  334. package/lib/feature/offline-dps/index.js +133 -0
  335. package/lib/feature/password/ble-temp-payload.d.ts +3 -0
  336. package/lib/{sync → feature/password}/ble-temp-payload.js +10 -10
  337. package/lib/feature/password/sync-temp.d.ts +4 -0
  338. package/lib/feature/password/sync-temp.js +91 -0
  339. package/lib/feature/password/temporary/custom-dp-ble.d.ts +6 -0
  340. package/lib/feature/password/temporary/custom-dp-ble.js +263 -0
  341. package/lib/feature/password/temporary/custom-dp-create-shared.d.ts +34 -0
  342. package/lib/feature/password/temporary/custom-dp-create-shared.js +64 -0
  343. package/lib/feature/password/temporary/custom-dp.d.ts +6 -0
  344. package/lib/feature/password/temporary/custom-dp.js +246 -0
  345. package/lib/feature/password/temporary/freeze-ble-key.d.ts +4 -0
  346. package/lib/feature/password/temporary/freeze-ble-key.js +7 -0
  347. package/lib/feature/password/temporary/freeze-rename.d.ts +5 -0
  348. package/lib/feature/password/temporary/freeze-rename.js +72 -0
  349. package/lib/feature/password/temporary/internal/change-password-phase.d.ts +2 -0
  350. package/lib/feature/password/temporary/internal/change-password-phase.js +48 -0
  351. package/lib/feature/password/temporary/internal/constants.d.ts +12 -0
  352. package/lib/feature/password/temporary/internal/constants.js +21 -0
  353. package/lib/feature/password/temporary/internal/password-helpers.d.ts +4 -0
  354. package/lib/feature/password/temporary/internal/password-helpers.js +18 -0
  355. package/lib/feature/password/temporary/internal/password-type-map.d.ts +2 -0
  356. package/lib/feature/password/temporary/internal/password-type-map.js +7 -0
  357. package/lib/feature/password/temporary/lists.d.ts +16 -0
  358. package/lib/feature/password/temporary/lists.js +157 -0
  359. package/lib/feature/password/temporary/offline-create.d.ts +7 -0
  360. package/lib/feature/password/temporary/offline-create.js +192 -0
  361. package/lib/feature/password/temporary/types.d.ts +107 -0
  362. package/lib/feature/password/temporary/types.js +1 -0
  363. package/lib/feature/password/temporary/wifi-offline.d.ts +5 -0
  364. package/lib/feature/password/temporary/wifi-offline.js +85 -0
  365. package/lib/feature/password/temporary/wifi-online.d.ts +28 -0
  366. package/lib/feature/password/temporary/wifi-online.js +153 -0
  367. package/lib/feature/screen/bind-watch.d.ts +18 -0
  368. package/lib/feature/screen/bind-watch.js +92 -0
  369. package/lib/feature/screen/bind.d.ts +4 -0
  370. package/lib/feature/screen/bind.js +151 -0
  371. package/lib/feature/screen/error.d.ts +1 -0
  372. package/lib/feature/screen/error.js +34 -0
  373. package/lib/feature/screen/event.d.ts +3 -0
  374. package/lib/feature/screen/event.js +19 -0
  375. package/lib/feature/screen/list.d.ts +13 -0
  376. package/lib/feature/screen/list.js +69 -0
  377. package/lib/feature/service/goto-service.d.ts +6 -0
  378. package/lib/feature/service/goto-service.js +22 -0
  379. package/lib/feature/service/value-added.d.ts +4 -0
  380. package/lib/feature/service/value-added.js +4 -0
  381. package/lib/feature/state/clear.d.ts +2 -0
  382. package/lib/feature/state/clear.js +17 -0
  383. package/lib/feature/state/device-status-events.d.ts +5 -0
  384. package/lib/feature/state/device-status-events.js +11 -0
  385. package/lib/feature/state/device-status.d.ts +5 -0
  386. package/lib/feature/state/device-status.js +130 -0
  387. package/lib/feature/state/dp-change.d.ts +3 -0
  388. package/lib/feature/state/dp-change.js +44 -0
  389. package/lib/feature/state/init-state.d.ts +2 -0
  390. package/lib/feature/state/init-state.js +175 -0
  391. package/lib/feature/state/internal/read-is-sleep.d.ts +2 -0
  392. package/lib/feature/state/internal/read-is-sleep.js +9 -0
  393. package/lib/feature/state/internal/share-thread-local.d.ts +2 -0
  394. package/lib/feature/state/internal/share-thread-local.js +4 -0
  395. package/lib/feature/state/platform-routing.d.ts +3 -0
  396. package/lib/feature/state/platform-routing.js +155 -0
  397. package/lib/feature/state/remote-permissions.d.ts +4 -0
  398. package/lib/feature/state/remote-permissions.js +46 -0
  399. package/lib/feature/state/sync/offline-dps.d.ts +2 -0
  400. package/lib/feature/state/sync/offline-dps.js +71 -0
  401. package/lib/feature/state/sync/remote-serect-key.d.ts +3 -0
  402. package/lib/feature/state/sync/remote-serect-key.js +74 -0
  403. package/lib/feature/state/sync/t0.d.ts +3 -0
  404. package/lib/feature/state/sync/t0.js +64 -0
  405. package/lib/feature/storage/index.d.ts +5 -0
  406. package/lib/feature/storage/index.js +32 -0
  407. package/lib/feature/unlock/door/check-remote.d.ts +2 -0
  408. package/lib/feature/unlock/door/check-remote.js +40 -0
  409. package/lib/feature/unlock/door/check-user-valid.d.ts +2 -0
  410. package/lib/feature/unlock/door/check-user-valid.js +21 -0
  411. package/lib/feature/unlock/door/door-action.d.ts +2 -0
  412. package/lib/feature/unlock/door/door-action.js +32 -0
  413. package/lib/feature/unlock/door/door-ble-only.d.ts +2 -0
  414. package/lib/feature/unlock/door/door-ble-only.js +102 -0
  415. package/lib/feature/unlock/door/door-matter-lan.d.ts +2 -0
  416. package/lib/feature/unlock/door/door-matter-lan.js +15 -0
  417. package/lib/feature/unlock/door/door-near-dual-mode.d.ts +2 -0
  418. package/lib/feature/unlock/door/door-near-dual-mode.js +39 -0
  419. package/lib/feature/unlock/door/door-remote-cloud.d.ts +2 -0
  420. package/lib/feature/unlock/door/door-remote-cloud.js +69 -0
  421. package/lib/feature/unlock/door/door-report.d.ts +11 -0
  422. package/lib/feature/unlock/door/door-report.js +96 -0
  423. package/lib/feature/unlock/door/internal/report-error.d.ts +2 -0
  424. package/lib/feature/unlock/door/internal/report-error.js +46 -0
  425. package/lib/feature/unlock/door/open-close-path.d.ts +3 -0
  426. package/lib/feature/unlock/door/open-close-path.js +30 -0
  427. package/lib/feature/unlock/door/remote-permission.d.ts +5 -0
  428. package/lib/feature/unlock/door/remote-permission.js +67 -0
  429. package/lib/feature/unlock/door/remove-share-user-once.d.ts +2 -0
  430. package/lib/feature/unlock/door/remove-share-user-once.js +21 -0
  431. package/lib/feature/unlock/door/types.d.ts +4 -0
  432. package/lib/feature/unlock/door/types.js +1 -0
  433. package/lib/feature/unlock/door/voice-unlock-pwd.d.ts +4 -0
  434. package/lib/feature/unlock/door/voice-unlock-pwd.js +25 -0
  435. package/lib/feature/unlock/door/wifi-pro-confirm.d.ts +2 -0
  436. package/lib/feature/unlock/door/wifi-pro-confirm.js +69 -0
  437. package/lib/feature/unlock/method/add-flow.d.ts +7 -0
  438. package/lib/feature/unlock/method/add-flow.js +403 -0
  439. package/lib/feature/unlock/method/add-method-events.d.ts +5 -0
  440. package/lib/feature/unlock/method/add-method-events.js +11 -0
  441. package/lib/feature/unlock/method/add-password.d.ts +3 -0
  442. package/lib/feature/unlock/method/add-password.js +99 -0
  443. package/lib/feature/unlock/method/bind-unbind.d.ts +8 -0
  444. package/lib/feature/unlock/method/bind-unbind.js +113 -0
  445. package/lib/feature/unlock/method/detail.d.ts +3 -0
  446. package/lib/feature/unlock/method/detail.js +35 -0
  447. package/lib/feature/unlock/method/guide.d.ts +3 -0
  448. package/lib/feature/unlock/method/guide.js +48 -0
  449. package/lib/feature/unlock/method/internal/base.d.ts +109 -0
  450. package/lib/feature/unlock/method/internal/base.js +89 -0
  451. package/lib/feature/unlock/method/internal/errors.d.ts +5 -0
  452. package/lib/feature/unlock/method/internal/errors.js +13 -0
  453. package/lib/feature/unlock/method/internal/special-check.d.ts +13 -0
  454. package/lib/feature/unlock/method/internal/special-check.js +38 -0
  455. package/lib/feature/unlock/method/types.d.ts +70 -0
  456. package/lib/feature/unlock/method/types.js +1 -0
  457. package/lib/feature/unlock/method/update-remove.d.ts +4 -0
  458. package/lib/feature/unlock/method/update-remove.js +138 -0
  459. package/lib/feature/unlock/method/verify-code.d.ts +3 -0
  460. package/lib/feature/unlock/method/verify-code.js +7 -0
  461. package/lib/feature/unlock/sync/unlock-method.d.ts +3 -0
  462. package/lib/feature/unlock/sync/unlock-method.js +82 -0
  463. package/lib/feature/user/current-user.d.ts +3 -0
  464. package/lib/feature/user/current-user.js +33 -0
  465. package/lib/feature/user/delete-user-dp.d.ts +3 -0
  466. package/lib/{utils/user.js → feature/user/delete-user-dp.js} +13 -13
  467. package/lib/feature/user/share-user.d.ts +29 -0
  468. package/lib/feature/user/share-user.js +228 -0
  469. package/lib/feature/user/sync-user.d.ts +2 -0
  470. package/lib/feature/user/sync-user.js +151 -0
  471. package/lib/feature/user/user.d.ts +37 -0
  472. package/lib/feature/user/user.js +484 -0
  473. package/lib/feature/utils/index.d.ts +12 -0
  474. package/lib/feature/utils/index.js +165 -0
  475. package/lib/feature/voice-file/voice-file.d.ts +27 -0
  476. package/lib/feature/voice-file/voice-file.js +203 -0
  477. package/lib/feature/voip/voip.d.ts +3 -0
  478. package/lib/feature/voip/voip.js +3 -0
  479. package/lib/fit.d.ts +4 -0
  480. package/lib/fit.js +3 -0
  481. package/lib/index.d.ts +2 -21
  482. package/lib/index.js +1 -74
  483. package/lib/interface.d.ts +74 -4
  484. package/lib/{utils → platform}/device.d.ts +49 -1
  485. package/lib/{utils → platform}/device.js +154 -3
  486. package/lib/platform/index.d.ts +3 -0
  487. package/lib/platform/index.js +3 -0
  488. package/lib/{utils → platform}/ipc.d.ts +3 -0
  489. package/lib/{utils → platform}/ipc.js +14 -0
  490. package/lib/platform/storage.d.ts +3 -0
  491. package/lib/platform/storage.js +9 -0
  492. package/lib/platform/transport/index.d.ts +1 -0
  493. package/lib/platform/transport/index.js +1 -0
  494. package/lib/runtime/LockDeviceRuntime.d.ts +12 -0
  495. package/lib/runtime/LockDeviceRuntime.js +34 -0
  496. package/lib/runtime/device-status/compute-device-status.d.ts +25 -0
  497. package/lib/runtime/device-status/compute-device-status.js +94 -0
  498. package/lib/runtime/index.d.ts +5 -0
  499. package/lib/runtime/index.js +3 -0
  500. package/lib/runtime/lock-config.d.ts +29 -0
  501. package/lib/runtime/lock-config.js +38 -0
  502. package/lib/runtime/registry.d.ts +7 -0
  503. package/lib/runtime/registry.js +28 -0
  504. package/lib/runtime/runtime-state-types.d.ts +20 -0
  505. package/lib/runtime/runtime-state-types.js +1 -0
  506. package/lib/screen.d.ts +4 -0
  507. package/lib/screen.js +3 -0
  508. package/lib/utils/constant.d.ts +3 -0
  509. package/lib/utils/constant.js +3 -0
  510. package/lib/utils/errors.js +41 -4
  511. package/lib/utils/event.js +2 -1
  512. package/lib/utils/index.d.ts +57 -13
  513. package/lib/utils/index.js +49 -118
  514. package/lib/{parse/index.js → utils/parse.js} +1 -1
  515. package/lib/utils/sdk-log.d.ts +28 -0
  516. package/lib/utils/sdk-log.js +128 -0
  517. package/package.json +26 -7
  518. package/lib/capability.d.ts +0 -4
  519. package/lib/capability.js +0 -121
  520. package/lib/config/index.d.ts +0 -28
  521. package/lib/config/index.js +0 -41
  522. package/lib/event.d.ts +0 -2
  523. package/lib/event.js +0 -2
  524. package/lib/linkage.d.ts +0 -8
  525. package/lib/log.d.ts +0 -41
  526. package/lib/log.js +0 -311
  527. package/lib/media.d.ts +0 -14
  528. package/lib/media.js +0 -27
  529. package/lib/offline-dps.d.ts +0 -9
  530. package/lib/offline-dps.js +0 -76
  531. package/lib/open/ble-dedicated-dp.d.ts +0 -4
  532. package/lib/open/ble-dedicated-dp.js +0 -148
  533. package/lib/open/ble-remote-no-dp-key.d.ts +0 -4
  534. package/lib/open/ble-remote-no-dp-key.js +0 -69
  535. package/lib/open/report-status.d.ts +0 -1
  536. package/lib/open/report-status.js +0 -23
  537. package/lib/open.d.ts +0 -22
  538. package/lib/open.js +0 -262
  539. package/lib/other.d.ts +0 -31
  540. package/lib/other.js +0 -291
  541. package/lib/signal.d.ts +0 -14
  542. package/lib/signal.js +0 -31
  543. package/lib/sleep.d.ts +0 -19
  544. package/lib/sleep.js +0 -79
  545. package/lib/state.d.ts +0 -16
  546. package/lib/state.js +0 -351
  547. package/lib/sync/ble-temp-payload.d.ts +0 -2
  548. package/lib/sync/offline-dps.d.ts +0 -1
  549. package/lib/sync/offline-dps.js +0 -29
  550. package/lib/sync/remote-serect-key.d.ts +0 -2
  551. package/lib/sync/remote-serect-key.js +0 -43
  552. package/lib/sync/t0.d.ts +0 -2
  553. package/lib/sync/t0.js +0 -26
  554. package/lib/sync/temp.d.ts +0 -3
  555. package/lib/sync/temp.js +0 -70
  556. package/lib/sync/unlock-method.d.ts +0 -2
  557. package/lib/sync/unlock-method.js +0 -42
  558. package/lib/sync/user.d.ts +0 -2
  559. package/lib/sync/user.js +0 -68
  560. package/lib/temporary.d.ts +0 -171
  561. package/lib/temporary.js +0 -698
  562. package/lib/unlock-method.d.ts +0 -90
  563. package/lib/unlock-method.js +0 -701
  564. package/lib/user.d.ts +0 -30
  565. package/lib/user.js +0 -298
  566. package/lib/utils/publishDps.d.ts +0 -6
  567. package/lib/utils/publishDps.js +0 -78
  568. package/lib/utils/user.d.ts +0 -2
  569. /package/lib/{parse/index.d.ts → utils/parse.d.ts} +0 -0
@@ -0,0 +1,66 @@
1
+ import { getDpValueForRuntime } from "../dp/get-dp-value";
2
+ import { hasDpForRuntime } from "../dp/has-dp";
3
+ import { getDeviceStatusForRuntime } from "../state/device-status";
4
+ import { getError } from "../../utils/errors";
5
+ import { publishDpsForRuntime } from "../dp/publish-dps";
6
+ import emitter from "../../utils/event";
7
+ import { SLEEP_EVENT } from "../../utils/constant";
8
+ import dpCodes from "../../config/dp-code";
9
+ import { getOfflineDpCacheForRuntime, publishOfflineDpsForRuntime, } from "../offline-dps";
10
+ export function isSleepForRuntime(rt) {
11
+ if (!hasDpForRuntime(rt, dpCodes.linkMode)) {
12
+ return false;
13
+ }
14
+ const linkMode = getDpValueForRuntime(rt, dpCodes.linkMode);
15
+ return linkMode === "sleep" || linkMode === "lock_sleep";
16
+ }
17
+ export function hasSleepAbilityForRuntime(rt) {
18
+ return (hasDpForRuntime(rt, dpCodes.dormantSwitch) ||
19
+ hasDpForRuntime(rt, dpCodes.onlineSwitch));
20
+ }
21
+ export const setSleepStatusForRuntime = async (rt, status, option) => {
22
+ const { supportOfflineDps } = rt.config;
23
+ if (hasSleepAbilityForRuntime(rt)) {
24
+ const dpCode = hasDpForRuntime(rt, dpCodes.onlineSwitch)
25
+ ? dpCodes.onlineSwitch
26
+ : dpCodes.dormantSwitch;
27
+ if (supportOfflineDps) {
28
+ const deviceStatus = getDeviceStatusForRuntime(rt);
29
+ if (deviceStatus.type !== "online" && option?.offlineDp) {
30
+ return publishOfflineDpsForRuntime(rt, {
31
+ [dpCode]: status,
32
+ });
33
+ }
34
+ }
35
+ await publishDpsForRuntime(rt, {
36
+ [dpCode]: status,
37
+ });
38
+ return;
39
+ }
40
+ throw getError(1014);
41
+ };
42
+ export const getSwitchStatusForRuntime = (rt) => {
43
+ const { supportOfflineDps } = rt.config;
44
+ const hasOnlineSwitch = hasDpForRuntime(rt, dpCodes.onlineSwitch);
45
+ const hasDormantSwitch = hasDpForRuntime(rt, dpCodes.dormantSwitch);
46
+ if (!hasOnlineSwitch && !hasDormantSwitch) {
47
+ return false;
48
+ }
49
+ const dpCode = hasOnlineSwitch ? dpCodes.onlineSwitch : dpCodes.dormantSwitch;
50
+ if (supportOfflineDps) {
51
+ const cache = getOfflineDpCacheForRuntime(rt, dpCode);
52
+ if (cache && cache.pushStatus === false) {
53
+ return cache.value;
54
+ }
55
+ }
56
+ return getDpValueForRuntime(rt, dpCode);
57
+ };
58
+ export function getSleepStatusEvent(runtime) {
59
+ return `${SLEEP_EVENT}_${runtime.devId}`;
60
+ }
61
+ export const onSleepStatusChangeForRuntime = (rt, callback) => {
62
+ emitter.on(getSleepStatusEvent(rt), callback);
63
+ };
64
+ export const offSleepStatusChangeForRuntime = (rt, callback) => {
65
+ emitter.off(getSleepStatusEvent(rt), callback);
66
+ };
@@ -0,0 +1,7 @@
1
+ export type ExecutorRange = "unlock" | "lock";
2
+ export type Ability = "backHome" | "alarm" | "geographyArrive" | "geographyLeave" | "bleGeofence" | "siriUnlock" | "siriLock";
3
+ export interface OpenSceneOptions {
4
+ themeColor?: string;
5
+ executorRange?: Array<ExecutorRange>;
6
+ abilities?: Array<Ability>;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { LockSDKOption } from "../../interface";
2
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
3
+ export type UpdateConfigParams = Omit<LockSDKOption, "devInfo" | "deviceId" | "preFetch">;
4
+ export declare function updateConfigForRuntime(runtime: LockDeviceRuntime, options: UpdateConfigParams): void;
@@ -0,0 +1,9 @@
1
+ export function updateConfigForRuntime(runtime, options) {
2
+ const cfg = runtime.config;
3
+ Object.keys(options).forEach((key) => {
4
+ const value = options[key];
5
+ if (value !== undefined) {
6
+ cfg[key] = value;
7
+ }
8
+ });
9
+ }
@@ -0,0 +1,2 @@
1
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
2
+ export declare function validatePwdComplexityForRuntime(rt: LockDeviceRuntime, password: string): Promise<boolean>;
@@ -0,0 +1,10 @@
1
+ import { encrypt } from "../../platform/device";
2
+ import { validatePasswordComplexity } from "../../api/lock";
3
+ export async function validatePwdComplexityForRuntime(rt, password) {
4
+ const devId = rt.config.devInfo.devId;
5
+ const encryptedPassword = await encrypt(devId, password);
6
+ return validatePasswordComplexity({
7
+ devId,
8
+ password: encryptedPassword,
9
+ });
10
+ }
@@ -0,0 +1,6 @@
1
+ import { LockDeviceRuntime } from "../../runtime";
2
+ export declare const isSupportYuChannelForRuntime: (rt: LockDeviceRuntime) => 0 | 1 | 2;
3
+ export declare const isYuChannelOnlineForRuntime: (rt: LockDeviceRuntime) => boolean;
4
+ export declare const updateYuChannelStateForRuntime: (rt: LockDeviceRuntime, enabled: boolean) => Promise<void>;
5
+ export declare const getYuChannelStateForRuntime: (rt: LockDeviceRuntime) => boolean;
6
+ export declare const getYuChannelNodesForRuntime: (rt: LockDeviceRuntime) => Promise<string[]>;
@@ -0,0 +1,26 @@
1
+ import { isYuDeviceOnlineSync, yuChannelQueryNodes, yuChannelSaveState, } from "../../platform";
2
+ export const isSupportYuChannelForRuntime = (rt) => {
3
+ if (rt.cache.deviceAdvanceAbilityCache?.yuChannel.support) {
4
+ return rt.cache.deviceAdvanceAbilityCache?.yuChannel.value;
5
+ }
6
+ return 0;
7
+ };
8
+ export const isYuChannelOnlineForRuntime = (rt) => {
9
+ return isYuDeviceOnlineSync(rt.config.devInfo.devId);
10
+ };
11
+ export const updateYuChannelStateForRuntime = async (rt, enabled) => {
12
+ await yuChannelSaveState(rt.config.devInfo.devId, enabled);
13
+ rt.config.devInfo.yuNetState = enabled ? 1 : 0;
14
+ };
15
+ export const getYuChannelStateForRuntime = (rt) => {
16
+ if (rt.cache.deviceAdvanceAbilityCache?.yuChannel.support) {
17
+ if (rt.cache.deviceAdvanceAbilityCache?.yuChannel.value === 1) {
18
+ return true;
19
+ }
20
+ return rt.config.devInfo.yuNetState === 1;
21
+ }
22
+ return false;
23
+ };
24
+ export const getYuChannelNodesForRuntime = (rt) => {
25
+ return yuChannelQueryNodes(rt.config.devInfo.devId);
26
+ };
@@ -0,0 +1,4 @@
1
+ import { type UpdateVasNotifyConfigParams } from "../../api/notify";
2
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
3
+ export declare const getVasNotifyConfigForRuntime: (rt: LockDeviceRuntime) => Promise<import("../../api/notify").VasNotifyConfig>;
4
+ export declare const updateVasNotifyConfigForRuntime: (rt: LockDeviceRuntime, params: UpdateVasNotifyConfigParams) => Promise<import("../../api/notify").VasNotifyConfig>;
@@ -0,0 +1,3 @@
1
+ import { getVasNotifyConfigApi, updateVasNotifyConfigApi, } from "../../api/notify";
2
+ export const getVasNotifyConfigForRuntime = (rt) => getVasNotifyConfigApi(rt.config.devInfo.devId);
3
+ export const updateVasNotifyConfigForRuntime = (rt, params) => updateVasNotifyConfigApi(rt.config.devInfo.devId, params);
@@ -0,0 +1,10 @@
1
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
2
+ import { DpValue, OfflineDps } from "../../interface";
3
+ export declare function getOfflineDpsUpdateEvent(runtime: LockDeviceRuntime): string;
4
+ export declare const getOfflineDpsForRuntime: (runtime: LockDeviceRuntime, isForce?: boolean) => Promise<OfflineDps>;
5
+ export declare const checkOfflineDpUpdateForRuntime: (runtime: LockDeviceRuntime, dps: Record<string, DpValue> | undefined, isForce?: boolean) => Promise<void>;
6
+ export declare const getOfflineDpCacheForRuntime: (runtime: LockDeviceRuntime, code: string) => import("../../interface").OfflineDpInfo | undefined;
7
+ export declare const publishOfflineDpsForRuntime: (runtime: LockDeviceRuntime, dps: Record<string, DpValue>) => Promise<void>;
8
+ export declare const clearOfflineDpsForRuntime: (runtime: LockDeviceRuntime) => Promise<void>;
9
+ export declare const onOfflineDpsUpdateForRuntime: (runtime: LockDeviceRuntime, callback: (dps: OfflineDps) => void) => void;
10
+ export declare const offOfflineDpsUpdateForRuntime: (runtime: LockDeviceRuntime, callback: (dps: OfflineDps) => void) => void;
@@ -0,0 +1,133 @@
1
+ import { clearOfflineDpData, fetchOfflineDpData, publishOfflineDpData, } from "../../api";
2
+ import base64ToHex from "../../utils/base64-to-hex";
3
+ import hexToBase64 from "../../utils/hex-to-base64";
4
+ import emitter from "../../utils/event";
5
+ import { sdkLog } from "../../utils/sdk-log";
6
+ const OFFLINE_DPS_UPDATE = "offline_dps_update";
7
+ export function getOfflineDpsUpdateEvent(runtime) {
8
+ return `${OFFLINE_DPS_UPDATE}_${runtime.devId}`;
9
+ }
10
+ export const getOfflineDpsForRuntime = async (runtime, isForce) => {
11
+ if (!isForce && runtime.cache.offlineDpCache) {
12
+ sdkLog("debug", "offlineDps", "cacheHit", {
13
+ devId: runtime.devId,
14
+ data: { count: Object.keys(runtime.cache.offlineDpCache).length },
15
+ });
16
+ return runtime.cache.offlineDpCache;
17
+ }
18
+ const { devInfo, dpSchema } = runtime.config;
19
+ const startedAt = Date.now();
20
+ sdkLog("info", "offlineDps", "fetchStart", {
21
+ devId: runtime.devId,
22
+ data: { force: !!isForce },
23
+ });
24
+ const res = await fetchOfflineDpData(devInfo.devId);
25
+ const result = res.reduce((acc, item) => {
26
+ const dps = JSON.parse(item.dps);
27
+ Object.keys(dps).forEach((code) => {
28
+ const schema = dpSchema[code];
29
+ let value = dps[code];
30
+ if (schema?.type === "raw") {
31
+ value = base64ToHex(value);
32
+ }
33
+ acc[code] = { value, pushStatus: item.pushStatus };
34
+ });
35
+ return acc;
36
+ }, {});
37
+ runtime.cache.offlineDpCache = result;
38
+ sdkLog("info", "offlineDps", "fetchSuccess", {
39
+ devId: runtime.devId,
40
+ duration: Date.now() - startedAt,
41
+ data: {
42
+ count: Object.keys(result).length,
43
+ cloudCount: res.length,
44
+ force: !!isForce,
45
+ },
46
+ });
47
+ return result;
48
+ };
49
+ export const checkOfflineDpUpdateForRuntime = async (runtime, dps, isForce) => {
50
+ const dpMap = dps ?? {};
51
+ if (!runtime.config.supportOfflineDps) {
52
+ return;
53
+ }
54
+ const cache = runtime.cache.offlineDpCache;
55
+ const hasOne = Object.keys(dpMap).some((code) => cache?.[code]?.pushStatus === false);
56
+ if (hasOne || isForce) {
57
+ const res = await getOfflineDpsForRuntime(runtime, true);
58
+ sdkLog("debug", "offlineDps", "emitUpdate", {
59
+ devId: runtime.devId,
60
+ data: { count: Object.keys(res).length, force: !!isForce },
61
+ });
62
+ emitter.emit(getOfflineDpsUpdateEvent(runtime), res);
63
+ }
64
+ };
65
+ export const getOfflineDpCacheForRuntime = (runtime, code) => {
66
+ return runtime.cache.offlineDpCache?.[code];
67
+ };
68
+ export const publishOfflineDpsForRuntime = async (runtime, dps) => {
69
+ const { devInfo, dpSchema } = runtime.config;
70
+ const startedAt = Date.now();
71
+ const dpData = Object.keys(dps).reduce((acc, code) => {
72
+ const schema = dpSchema[code];
73
+ if (schema) {
74
+ let value = dps[code];
75
+ if (schema.type === "raw") {
76
+ value = hexToBase64(value);
77
+ }
78
+ acc[schema.id] = value;
79
+ }
80
+ return acc;
81
+ }, {});
82
+ sdkLog("info", "offlineDps", "publishStart", {
83
+ devId: runtime.devId,
84
+ data: { codes: Object.keys(dps), count: Object.keys(dpData).length },
85
+ });
86
+ try {
87
+ await publishOfflineDpData(devInfo.devId, dpData);
88
+ await checkOfflineDpUpdateForRuntime(runtime, {}, true);
89
+ sdkLog("info", "offlineDps", "publishSuccess", {
90
+ devId: runtime.devId,
91
+ duration: Date.now() - startedAt,
92
+ data: { codes: Object.keys(dps), count: Object.keys(dpData).length },
93
+ });
94
+ }
95
+ catch (error) {
96
+ sdkLog("error", "offlineDps", "publishFail", {
97
+ devId: runtime.devId,
98
+ duration: Date.now() - startedAt,
99
+ data: { codes: Object.keys(dps), count: Object.keys(dpData).length },
100
+ error,
101
+ });
102
+ throw error;
103
+ }
104
+ };
105
+ export const clearOfflineDpsForRuntime = async (runtime) => {
106
+ const { devInfo } = runtime.config;
107
+ const startedAt = Date.now();
108
+ sdkLog("info", "offlineDps", "clearStart", {
109
+ devId: runtime.devId,
110
+ });
111
+ try {
112
+ await clearOfflineDpData(devInfo.devId);
113
+ await checkOfflineDpUpdateForRuntime(runtime, {}, true);
114
+ sdkLog("info", "offlineDps", "clearSuccess", {
115
+ devId: runtime.devId,
116
+ duration: Date.now() - startedAt,
117
+ });
118
+ }
119
+ catch (error) {
120
+ sdkLog("error", "offlineDps", "clearFail", {
121
+ devId: runtime.devId,
122
+ duration: Date.now() - startedAt,
123
+ error,
124
+ });
125
+ throw error;
126
+ }
127
+ };
128
+ export const onOfflineDpsUpdateForRuntime = (runtime, callback) => {
129
+ emitter.on(getOfflineDpsUpdateEvent(runtime), callback);
130
+ };
131
+ export const offOfflineDpsUpdateForRuntime = (runtime, callback) => {
132
+ emitter.off(getOfflineDpsUpdateEvent(runtime), callback);
133
+ };
@@ -0,0 +1,3 @@
1
+ import { SyncTempPwdItem } from "../../api/temp";
2
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
3
+ export declare function buildBleTempPwdSyncPayload(runtime: LockDeviceRuntime, pwdList: SyncTempPwdItem[]): Promise<string>;
@@ -1,7 +1,6 @@
1
- import config from "../config";
2
- import { formatWeek, parseWeek } from "../utils";
3
- import { bytesToHex, concatBytes, uintToBytesBE } from "../utils/byte";
4
- import { decrypt } from "../utils/device";
1
+ import { formatWeek, parseWeek } from "../../utils";
2
+ import { bytesToHex, concatBytes, uintToBytesBE } from "../../utils/byte";
3
+ import { decrypt } from "../../platform/device";
5
4
  const SUB_CMD = 0x2003;
6
5
  const PROTO_VERSION = 0x01;
7
6
  const DATA_TYPE_TEMP_PWD = 0x01;
@@ -41,18 +40,18 @@ function mapState(phase) {
41
40
  }
42
41
  return 0x01;
43
42
  }
44
- async function resolvePwdBytes(password) {
43
+ async function resolvePwdBytes(devId, password) {
45
44
  if (!password) {
46
45
  return [];
47
46
  }
48
- const plainPwd = await decrypt(config.devInfo.devId, password);
47
+ const plainPwd = await decrypt(devId, password);
49
48
  return plainPwd.split("").map((char) => Number(char));
50
49
  }
51
- async function buildItemBody(item, opCode) {
50
+ async function buildItemBody(devId, item, opCode) {
52
51
  if (opCode === OP_DEL) {
53
52
  return uintToBytesBE(item.sn, 2);
54
53
  }
55
- const pwdBytes = await resolvePwdBytes(item.password);
54
+ const pwdBytes = await resolvePwdBytes(devId, item.password);
56
55
  const state = mapState(item.phase);
57
56
  const timeSet = buildTimeSet(item);
58
57
  const availTime = mapAvailTime(item.availTime);
@@ -74,14 +73,15 @@ function cloudOptToOpCode(opt) {
74
73
  return null;
75
74
  }
76
75
  }
77
- export async function buildBleTempPwdSyncPayload(pwdList) {
76
+ export async function buildBleTempPwdSyncPayload(runtime, pwdList) {
77
+ const devId = runtime.config.devInfo.devId;
78
78
  const items = [];
79
79
  for (const item of pwdList) {
80
80
  const opCode = cloudOptToOpCode(item.opt);
81
81
  if (opCode === null) {
82
82
  continue;
83
83
  }
84
- const body = await buildItemBody(item, opCode);
84
+ const body = await buildItemBody(devId, item, opCode);
85
85
  items.push(concatBytes(new Uint8Array([opCode]), uintToBytesBE(body.length, 2), body));
86
86
  }
87
87
  const itemsBuf = concatBytes(...items);
@@ -0,0 +1,4 @@
1
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
2
+ export declare const notifyBleSyncRequest: (runtime: LockDeviceRuntime) => Promise<void>;
3
+ export declare const autoSyncTemp: (runtime: LockDeviceRuntime) => void;
4
+ export declare const handleBleSyncRequestReport: (runtime: LockDeviceRuntime, rawValue: string) => Promise<void>;
@@ -0,0 +1,91 @@
1
+ import { getSyncTempPasswords } from "../../api/temp";
2
+ import dpCodes from "../../config/dp-code";
3
+ import { bleSyncRequestPublish as bleSyncRequestPublishMap, bleSyncRequestReport as bleSyncRequestReportMap, } from "../../config/dp-map/ble-sync";
4
+ import { isUseNearChannelForRuntime } from "../misc/is-use-near-channel-for-runtime";
5
+ import { hasDpForRuntime } from "../dp/has-dp";
6
+ import { publishDpsOnlyWithRuntime } from "../dp/publish-dps";
7
+ import { publishBLETransparentData } from "../../platform/device";
8
+ import { buildBleTempPwdSyncPayload } from "./ble-temp-payload";
9
+ import dpUtils from "@ray-js/tuya-dp-transform";
10
+ import { sdkLog } from "../../utils/sdk-log";
11
+ const NOTIFY_DEBOUNCE_MS = 2000;
12
+ const CMD_REQUEST_SYNC = 0x01;
13
+ const DATA_TYPE_TEMP_PWD = 0x01;
14
+ const isBleSyncEligible = (runtime) => isUseNearChannelForRuntime(runtime) &&
15
+ hasDpForRuntime(runtime, dpCodes.bleSyncRequest);
16
+ export const notifyBleSyncRequest = async (runtime) => {
17
+ if (!isBleSyncEligible(runtime)) {
18
+ return;
19
+ }
20
+ const { count } = await getSyncTempPasswords({
21
+ devId: runtime.config.devInfo.devId,
22
+ isUpt: false,
23
+ });
24
+ await publishDpsOnlyWithRuntime(runtime, {
25
+ [dpCodes.bleSyncRequest]: dpUtils.format({ cmd: count > 0 ? 0x01 : 0x00 }, bleSyncRequestPublishMap),
26
+ });
27
+ sdkLog("info", "tempPassword", "bleSyncNotify", {
28
+ devId: runtime.devId,
29
+ data: { hasPending: count > 0 },
30
+ });
31
+ };
32
+ export const autoSyncTemp = (runtime) => {
33
+ if (!isBleSyncEligible(runtime) || !runtime.sync.tempAutoSyncEnabled) {
34
+ sdkLog("debug", "tempPassword", "autoSyncSkipped", {
35
+ devId: runtime.devId,
36
+ data: {
37
+ nearChannel: isUseNearChannelForRuntime(runtime),
38
+ hasDp: hasDpForRuntime(runtime, dpCodes.bleSyncRequest),
39
+ enabled: runtime.sync.tempAutoSyncEnabled,
40
+ },
41
+ });
42
+ return;
43
+ }
44
+ clearTimeout(runtime.infra.tempSyncNotifyTimer);
45
+ runtime.infra.tempSyncNotifyTimer = setTimeout(() => {
46
+ runtime.infra.tempSyncNotifyTimer = 0;
47
+ notifyBleSyncRequest(runtime).catch((e) => {
48
+ sdkLog("warn", "tempPassword", "bleSyncNotifyFail", {
49
+ devId: runtime.devId,
50
+ error: e,
51
+ });
52
+ });
53
+ }, NOTIFY_DEBOUNCE_MS);
54
+ };
55
+ export const handleBleSyncRequestReport = async (runtime, rawValue) => {
56
+ if (!isBleSyncEligible(runtime) || runtime.sync.tempPayloadSyncing) {
57
+ return;
58
+ }
59
+ const report = dpUtils.parse(rawValue, bleSyncRequestReportMap);
60
+ if (report.cmd !== CMD_REQUEST_SYNC ||
61
+ report.dataType !== DATA_TYPE_TEMP_PWD) {
62
+ return;
63
+ }
64
+ runtime.sync.tempPayloadSyncing = true;
65
+ const startedAt = Date.now();
66
+ try {
67
+ const { count, pwdList } = await getSyncTempPasswords({
68
+ devId: runtime.config.devInfo.devId,
69
+ isUpt: false,
70
+ });
71
+ if (count > 0 && pwdList?.length) {
72
+ const payload = await buildBleTempPwdSyncPayload(runtime, pwdList);
73
+ await publishBLETransparentData(runtime.config.devInfo.devId, payload);
74
+ sdkLog("info", "tempPassword", "bleSyncPayloadSent", {
75
+ devId: runtime.devId,
76
+ duration: Date.now() - startedAt,
77
+ data: { count },
78
+ });
79
+ }
80
+ }
81
+ catch (e) {
82
+ sdkLog("warn", "tempPassword", "bleSyncPayloadFail", {
83
+ devId: runtime.devId,
84
+ duration: Date.now() - startedAt,
85
+ error: e,
86
+ });
87
+ }
88
+ finally {
89
+ runtime.sync.tempPayloadSyncing = false;
90
+ }
91
+ };
@@ -0,0 +1,6 @@
1
+ import type { TempPasswordResult } from "../../../interface";
2
+ import type { LockDeviceRuntime } from "../../../runtime/LockDeviceRuntime";
3
+ import type { CreateCustomParams, RemoveCustomProps, UpdateTempPasswordParams } from "./types";
4
+ export declare const createTempCustomForRuntime: (this: unknown, rt: LockDeviceRuntime, params: CreateCustomParams) => Promise<TempPasswordResult>;
5
+ export declare const updateTempCustomForRuntime: (this: unknown, rt: LockDeviceRuntime, params: UpdateTempPasswordParams) => Promise<boolean>;
6
+ export declare const removeTempCustomForRuntime: (this: unknown, rt: LockDeviceRuntime, params: RemoveCustomProps) => Promise<boolean>;