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

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 (534) 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 +1 -1
  6. package/lib/api/index.js +10 -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/request.d.ts +5 -2
  13. package/lib/api/request.js +34 -2
  14. package/lib/api/screen.d.ts +110 -0
  15. package/lib/api/screen.js +52 -0
  16. package/lib/api/setting.js +2 -0
  17. package/lib/api/temp.d.ts +24 -3
  18. package/lib/api/temp.js +27 -0
  19. package/lib/api/user.d.ts +35 -1
  20. package/lib/api/user.js +24 -0
  21. package/lib/api/video.d.ts +27 -0
  22. package/lib/api/video.js +21 -0
  23. package/lib/api/voice-file.d.ts +14 -0
  24. package/lib/api/voice-file.js +18 -0
  25. package/lib/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  26. package/lib/bootstrap/bootstrap-lock-instance.js +16 -0
  27. package/lib/bootstrap/bootstrap.d.ts +4 -0
  28. package/lib/bootstrap/bootstrap.js +53 -0
  29. package/lib/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  30. package/lib/bootstrap/lock-instance-runtime-ref.js +7 -0
  31. package/lib/bootstrap/primary-instance.d.ts +6 -0
  32. package/lib/bootstrap/primary-instance.js +24 -0
  33. package/lib/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  34. package/lib/bootstrap/resolve-runtime-from-export-this.js +29 -0
  35. package/lib/bootstrap/top-level-runtime.d.ts +2 -0
  36. package/lib/bootstrap/top-level-runtime.js +9 -0
  37. package/lib/config/dp-code/index.d.ts +100 -67
  38. package/lib/config/dp-code/index.js +33 -1
  39. package/lib/config/dp-map/ble-check-code.d.ts +41 -0
  40. package/lib/config/dp-map/ble-check-code.js +55 -0
  41. package/lib/config/dp-map/ble-key-fit.d.ts +328 -0
  42. package/lib/config/dp-map/ble-key-fit.js +33 -0
  43. package/lib/config/dp-map/ble-sync.d.ts +2 -2
  44. package/lib/config/dp-map/ble-sync.js +2 -2
  45. package/lib/config/dp-map/ble-unlock-check.d.ts +42 -0
  46. package/lib/config/dp-map/ble-unlock-check.js +59 -0
  47. package/lib/config/dp-map/ble-voice-data.d.ts +16 -0
  48. package/lib/config/dp-map/ble-voice-data.js +7 -0
  49. package/lib/config/dp-map/bluetooth-unlock.d.ts +10 -0
  50. package/lib/config/dp-map/bluetooth-unlock.js +16 -0
  51. package/lib/config/dp-map/registry.d.ts +1137 -0
  52. package/lib/config/dp-map/registry.js +110 -0
  53. package/lib/config/dp-map/sync-method-fit.d.ts +3 -0
  54. package/lib/config/dp-map/sync-method-fit.js +36 -0
  55. package/lib/config/dp-map/temp-pwd-fit.d.ts +441 -0
  56. package/lib/config/dp-map/temp-pwd-fit.js +73 -0
  57. package/lib/config/dp-map/unlock-method-fit.d.ts +302 -0
  58. package/lib/config/dp-map/unlock-method-fit.js +62 -0
  59. package/lib/config/dp-map/unlock-method.d.ts +345 -1
  60. package/lib/config/dp-map/unlock-method.js +37 -1
  61. package/lib/constant.d.ts +5 -0
  62. package/lib/constant.js +6 -0
  63. package/lib/entries/ble/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  64. package/lib/entries/ble/bootstrap/bootstrap-lock-instance.js +12 -0
  65. package/lib/entries/ble/bootstrap/bootstrap.d.ts +4 -0
  66. package/lib/entries/ble/bootstrap/bootstrap.js +53 -0
  67. package/lib/entries/ble/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  68. package/lib/entries/ble/bootstrap/lock-instance-runtime-ref.js +7 -0
  69. package/lib/entries/ble/bootstrap/primary-instance.d.ts +6 -0
  70. package/lib/entries/ble/bootstrap/primary-instance.js +24 -0
  71. package/lib/entries/ble/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  72. package/lib/entries/ble/bootstrap/resolve-runtime-from-export-this.js +29 -0
  73. package/lib/entries/ble/bootstrap/top-level-runtime.d.ts +2 -0
  74. package/lib/entries/ble/bootstrap/top-level-runtime.js +9 -0
  75. package/lib/entries/ble/build-instance.d.ts +9 -0
  76. package/lib/entries/ble/build-instance.js +50 -0
  77. package/lib/entries/ble/exports/capability.d.ts +6 -0
  78. package/lib/entries/ble/exports/capability.js +17 -0
  79. package/lib/entries/ble/exports/config.d.ts +3 -0
  80. package/lib/entries/ble/exports/config.js +5 -0
  81. package/lib/entries/ble/exports/dp.d.ts +9 -0
  82. package/lib/entries/ble/exports/dp.js +13 -0
  83. package/lib/entries/ble/exports/index.d.ts +16 -0
  84. package/lib/entries/ble/exports/index.js +16 -0
  85. package/lib/entries/ble/exports/linkage.d.ts +5 -0
  86. package/lib/entries/ble/exports/linkage.js +15 -0
  87. package/lib/entries/ble/exports/log.d.ts +9 -0
  88. package/lib/entries/ble/exports/log.js +21 -0
  89. package/lib/entries/ble/exports/media.d.ts +4 -0
  90. package/lib/entries/ble/exports/media.js +12 -0
  91. package/lib/entries/ble/exports/misc.d.ts +19 -0
  92. package/lib/entries/ble/exports/misc.js +30 -0
  93. package/lib/entries/ble/exports/offline-dps.d.ts +8 -0
  94. package/lib/entries/ble/exports/offline-dps.js +24 -0
  95. package/lib/entries/ble/exports/open/do-open-close-action.d.ts +2 -0
  96. package/lib/entries/ble/exports/open/do-open-close-action.js +36 -0
  97. package/lib/entries/ble/exports/open/index.d.ts +18 -0
  98. package/lib/entries/ble/exports/open/index.js +45 -0
  99. package/lib/entries/ble/exports/signal.d.ts +6 -0
  100. package/lib/entries/ble/exports/signal.js +14 -0
  101. package/lib/entries/ble/exports/sleep.d.ts +13 -0
  102. package/lib/entries/ble/exports/sleep.js +31 -0
  103. package/lib/entries/ble/exports/state.d.ts +6 -0
  104. package/lib/entries/ble/exports/state.js +19 -0
  105. package/lib/entries/ble/exports/temporary.d.ts +31 -0
  106. package/lib/entries/ble/exports/temporary.js +91 -0
  107. package/lib/entries/ble/exports/unlock/sync.d.ts +1 -0
  108. package/lib/entries/ble/exports/unlock/sync.js +5 -0
  109. package/lib/entries/ble/exports/unlock-method.d.ts +19 -0
  110. package/lib/entries/ble/exports/unlock-method.js +58 -0
  111. package/lib/entries/ble/exports/user/index.d.ts +23 -0
  112. package/lib/entries/ble/exports/user/index.js +22 -0
  113. package/lib/entries/ble/exports/user/sync.d.ts +1 -0
  114. package/lib/entries/ble/exports/user/sync.js +5 -0
  115. package/lib/entries/ble/index.d.ts +8 -0
  116. package/lib/entries/ble/index.js +39 -0
  117. package/lib/entries/fit/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  118. package/lib/entries/fit/bootstrap/bootstrap-lock-instance.js +12 -0
  119. package/lib/entries/fit/bootstrap/bootstrap.d.ts +4 -0
  120. package/lib/entries/fit/bootstrap/bootstrap.js +69 -0
  121. package/lib/entries/fit/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  122. package/lib/entries/fit/bootstrap/lock-instance-runtime-ref.js +7 -0
  123. package/lib/entries/fit/bootstrap/primary-instance.d.ts +6 -0
  124. package/lib/entries/fit/bootstrap/primary-instance.js +24 -0
  125. package/lib/entries/fit/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  126. package/lib/entries/fit/bootstrap/resolve-runtime-from-export-this.js +29 -0
  127. package/lib/entries/fit/bootstrap/top-level-runtime.d.ts +2 -0
  128. package/lib/entries/fit/bootstrap/top-level-runtime.js +9 -0
  129. package/lib/entries/fit/build-instance.d.ts +9 -0
  130. package/lib/entries/fit/build-instance.js +57 -0
  131. package/lib/entries/fit/exports/binding.d.ts +8 -0
  132. package/lib/entries/fit/exports/binding.js +15 -0
  133. package/lib/entries/fit/exports/device.d.ts +26 -0
  134. package/lib/entries/fit/exports/device.js +64 -0
  135. package/lib/entries/fit/exports/index.d.ts +3 -0
  136. package/lib/entries/fit/exports/index.js +3 -0
  137. package/lib/entries/fit/exports/temp.d.ts +19 -0
  138. package/lib/entries/fit/exports/temp.js +18 -0
  139. package/lib/entries/fit/index.d.ts +8 -0
  140. package/lib/entries/fit/index.js +36 -0
  141. package/lib/entries/main/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  142. package/lib/entries/main/bootstrap/bootstrap-lock-instance.js +12 -0
  143. package/lib/entries/main/bootstrap/bootstrap.d.ts +4 -0
  144. package/lib/entries/main/bootstrap/bootstrap.js +69 -0
  145. package/lib/entries/main/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  146. package/lib/entries/main/bootstrap/lock-instance-runtime-ref.js +7 -0
  147. package/lib/entries/main/bootstrap/primary-instance.d.ts +6 -0
  148. package/lib/entries/main/bootstrap/primary-instance.js +24 -0
  149. package/lib/entries/main/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  150. package/lib/entries/main/bootstrap/resolve-runtime-from-export-this.js +29 -0
  151. package/lib/entries/main/bootstrap/top-level-runtime.d.ts +2 -0
  152. package/lib/entries/main/bootstrap/top-level-runtime.js +9 -0
  153. package/lib/entries/main/build-instance.d.ts +7 -0
  154. package/lib/entries/main/build-instance.js +49 -0
  155. package/lib/entries/main/exports/accessory-binding.d.ts +1 -0
  156. package/lib/entries/main/exports/accessory-binding.js +1 -0
  157. package/lib/entries/main/exports/capability.d.ts +6 -0
  158. package/lib/entries/main/exports/capability.js +17 -0
  159. package/lib/entries/main/exports/config.d.ts +3 -0
  160. package/lib/entries/main/exports/config.js +5 -0
  161. package/lib/entries/main/exports/dp.d.ts +11 -0
  162. package/lib/entries/main/exports/dp.js +13 -0
  163. package/lib/entries/main/exports/fit.d.ts +8 -0
  164. package/lib/entries/main/exports/fit.js +14 -0
  165. package/lib/entries/main/exports/index.d.ts +20 -0
  166. package/lib/entries/main/exports/index.js +20 -0
  167. package/lib/entries/main/exports/linkage.d.ts +5 -0
  168. package/lib/entries/main/exports/linkage.js +15 -0
  169. package/lib/entries/main/exports/log.d.ts +10 -0
  170. package/lib/entries/main/exports/log.js +24 -0
  171. package/lib/entries/main/exports/media.d.ts +6 -0
  172. package/lib/entries/main/exports/media.js +18 -0
  173. package/lib/entries/main/exports/misc.d.ts +18 -0
  174. package/lib/entries/main/exports/misc.js +30 -0
  175. package/lib/entries/main/exports/offline-dps.d.ts +8 -0
  176. package/lib/entries/main/exports/offline-dps.js +28 -0
  177. package/lib/entries/main/exports/open/do-open-close-action.d.ts +2 -0
  178. package/lib/entries/main/exports/open/do-open-close-action.js +68 -0
  179. package/lib/entries/main/exports/open/index.d.ts +16 -0
  180. package/lib/entries/main/exports/open/index.js +44 -0
  181. package/lib/entries/main/exports/open.d.ts +16 -0
  182. package/lib/entries/main/exports/open.js +44 -0
  183. package/lib/entries/main/exports/screen/bind.d.ts +4 -0
  184. package/lib/entries/main/exports/screen/bind.js +8 -0
  185. package/lib/entries/main/exports/screen/list.d.ts +5 -0
  186. package/lib/entries/main/exports/screen/list.js +13 -0
  187. package/lib/entries/main/exports/signal.d.ts +6 -0
  188. package/lib/entries/main/exports/signal.js +14 -0
  189. package/lib/entries/main/exports/sleep.d.ts +15 -0
  190. package/lib/entries/main/exports/sleep.js +31 -0
  191. package/lib/entries/main/exports/state.d.ts +6 -0
  192. package/lib/entries/main/exports/state.js +19 -0
  193. package/lib/entries/main/exports/temporary.d.ts +32 -0
  194. package/lib/entries/main/exports/temporary.js +86 -0
  195. package/lib/entries/main/exports/unlock/sync.d.ts +1 -0
  196. package/lib/entries/main/exports/unlock/sync.js +5 -0
  197. package/lib/entries/main/exports/unlock-method.d.ts +19 -0
  198. package/lib/entries/main/exports/unlock-method.js +58 -0
  199. package/lib/entries/main/exports/user/index.d.ts +33 -0
  200. package/lib/entries/main/exports/user/index.js +35 -0
  201. package/lib/entries/main/exports/user/sync.d.ts +1 -0
  202. package/lib/entries/main/exports/user/sync.js +5 -0
  203. package/lib/entries/main/exports/voice-file.d.ts +7 -0
  204. package/lib/entries/main/exports/voice-file.js +17 -0
  205. package/lib/entries/main/exports/yu-channel.d.ts +5 -0
  206. package/lib/entries/main/exports/yu-channel.js +17 -0
  207. package/lib/entries/main/index.d.ts +8 -0
  208. package/lib/entries/main/index.js +36 -0
  209. package/lib/entries/screen/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  210. package/lib/entries/screen/bootstrap/bootstrap-lock-instance.js +12 -0
  211. package/lib/entries/screen/bootstrap/bootstrap.d.ts +4 -0
  212. package/lib/entries/screen/bootstrap/bootstrap.js +69 -0
  213. package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  214. package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.js +7 -0
  215. package/lib/entries/screen/bootstrap/primary-instance.d.ts +6 -0
  216. package/lib/entries/screen/bootstrap/primary-instance.js +24 -0
  217. package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  218. package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.js +29 -0
  219. package/lib/entries/screen/bootstrap/top-level-runtime.d.ts +2 -0
  220. package/lib/entries/screen/bootstrap/top-level-runtime.js +9 -0
  221. package/lib/entries/screen/build-instance.d.ts +9 -0
  222. package/lib/entries/screen/build-instance.js +57 -0
  223. package/lib/entries/screen/exports/binding.d.ts +6 -0
  224. package/lib/entries/screen/exports/binding.js +15 -0
  225. package/lib/entries/screen/exports/device.d.ts +16 -0
  226. package/lib/entries/screen/exports/device.js +41 -0
  227. package/lib/entries/screen/exports/event.d.ts +3 -0
  228. package/lib/entries/screen/exports/event.js +5 -0
  229. package/lib/entries/screen/exports/index.d.ts +4 -0
  230. package/lib/entries/screen/exports/index.js +4 -0
  231. package/lib/entries/screen/exports/user.d.ts +2 -0
  232. package/lib/entries/screen/exports/user.js +8 -0
  233. package/lib/entries/screen/index.d.ts +8 -0
  234. package/lib/entries/screen/index.js +36 -0
  235. package/lib/feature/dp/get-dp-value.d.ts +3 -0
  236. package/lib/feature/dp/get-dp-value.js +3 -0
  237. package/lib/feature/dp/has-dp.d.ts +2 -0
  238. package/lib/feature/dp/has-dp.js +1 -0
  239. package/lib/feature/dp/publish-dps.d.ts +7 -0
  240. package/lib/feature/dp/publish-dps.js +155 -0
  241. package/lib/feature/fit/bind-fit-to-lock.d.ts +6 -0
  242. package/lib/feature/fit/bind-fit-to-lock.js +222 -0
  243. package/lib/feature/fit/bind-lock-to-fit.d.ts +4 -0
  244. package/lib/feature/fit/bind-lock-to-fit.js +167 -0
  245. package/lib/feature/fit/ble-key.d.ts +16 -0
  246. package/lib/feature/fit/ble-key.js +99 -0
  247. package/lib/feature/fit/list.d.ts +3 -0
  248. package/lib/feature/fit/list.js +28 -0
  249. package/lib/feature/fit/method/add-flow.d.ts +7 -0
  250. package/lib/feature/fit/method/add-flow.js +380 -0
  251. package/lib/feature/fit/method/add-method-events.d.ts +5 -0
  252. package/lib/feature/fit/method/add-method-events.js +11 -0
  253. package/lib/feature/fit/method/add-password.d.ts +3 -0
  254. package/lib/feature/fit/method/add-password.js +99 -0
  255. package/lib/feature/fit/method/internal/base.d.ts +19 -0
  256. package/lib/feature/fit/method/internal/base.js +134 -0
  257. package/lib/feature/fit/method/list.d.ts +3 -0
  258. package/lib/feature/fit/method/list.js +64 -0
  259. package/lib/feature/fit/method/types.d.ts +68 -0
  260. package/lib/feature/fit/method/types.js +1 -0
  261. package/lib/feature/fit/method/update-remove.d.ts +4 -0
  262. package/lib/feature/fit/method/update-remove.js +159 -0
  263. package/lib/feature/fit/password-list.d.ts +24 -0
  264. package/lib/feature/fit/password-list.js +31 -0
  265. package/lib/feature/fit/resolve-slave-id.d.ts +2 -0
  266. package/lib/feature/fit/resolve-slave-id.js +38 -0
  267. package/lib/feature/fit/setting.d.ts +2 -0
  268. package/lib/feature/fit/setting.js +27 -0
  269. package/lib/feature/fit/shared.d.ts +27 -0
  270. package/lib/feature/fit/shared.js +118 -0
  271. package/lib/feature/fit/sync.d.ts +4 -0
  272. package/lib/feature/fit/sync.js +85 -0
  273. package/lib/feature/fit/temp-password.d.ts +27 -0
  274. package/lib/feature/fit/temp-password.js +428 -0
  275. package/lib/feature/fit/users.d.ts +12 -0
  276. package/lib/feature/fit/users.js +25 -0
  277. package/lib/feature/linkage/linkage.d.ts +10 -0
  278. package/lib/{linkage.js → feature/linkage/linkage.js} +30 -30
  279. package/lib/feature/log/log.d.ts +63 -0
  280. package/lib/feature/log/log.js +438 -0
  281. package/lib/feature/media/media.d.ts +31 -0
  282. package/lib/feature/media/media.js +66 -0
  283. package/lib/feature/media/rotate.d.ts +6 -0
  284. package/lib/feature/media/rotate.js +6 -0
  285. package/lib/feature/misc/ble-control.d.ts +2 -0
  286. package/lib/feature/misc/ble-control.js +38 -0
  287. package/lib/feature/misc/capability.d.ts +8 -0
  288. package/lib/{capability.js → feature/misc/capability.js} +39 -29
  289. package/lib/feature/misc/connect-device.d.ts +2 -0
  290. package/lib/feature/misc/connect-device.js +206 -0
  291. package/lib/feature/misc/dp-period.d.ts +18 -0
  292. package/lib/feature/misc/dp-period.js +75 -0
  293. package/lib/feature/misc/is-use-near-channel-for-runtime.d.ts +2 -0
  294. package/lib/feature/misc/is-use-near-channel-for-runtime.js +17 -0
  295. package/lib/feature/misc/open-scene.d.ts +3 -0
  296. package/lib/feature/misc/open-scene.js +63 -0
  297. package/lib/feature/misc/signal.d.ts +12 -0
  298. package/lib/feature/misc/signal.js +36 -0
  299. package/lib/feature/misc/sleep.d.ts +14 -0
  300. package/lib/feature/misc/sleep.js +66 -0
  301. package/lib/feature/misc/types.d.ts +7 -0
  302. package/lib/feature/misc/types.js +1 -0
  303. package/lib/feature/misc/update-config.d.ts +4 -0
  304. package/lib/feature/misc/update-config.js +9 -0
  305. package/lib/feature/misc/validate-pwd.d.ts +2 -0
  306. package/lib/feature/misc/validate-pwd.js +10 -0
  307. package/lib/feature/misc/yu-channel.d.ts +6 -0
  308. package/lib/feature/misc/yu-channel.js +26 -0
  309. package/lib/feature/offline-dps/index.d.ts +10 -0
  310. package/lib/feature/offline-dps/index.js +133 -0
  311. package/lib/feature/password/ble-temp-payload.d.ts +3 -0
  312. package/lib/{sync → feature/password}/ble-temp-payload.js +10 -10
  313. package/lib/feature/password/sync-temp.d.ts +4 -0
  314. package/lib/feature/password/sync-temp.js +91 -0
  315. package/lib/feature/password/temporary/custom-dp-ble.d.ts +6 -0
  316. package/lib/feature/password/temporary/custom-dp-ble.js +263 -0
  317. package/lib/feature/password/temporary/custom-dp-create-shared.d.ts +34 -0
  318. package/lib/feature/password/temporary/custom-dp-create-shared.js +64 -0
  319. package/lib/feature/password/temporary/custom-dp.d.ts +6 -0
  320. package/lib/feature/password/temporary/custom-dp.js +241 -0
  321. package/lib/feature/password/temporary/freeze-ble-key.d.ts +4 -0
  322. package/lib/feature/password/temporary/freeze-ble-key.js +7 -0
  323. package/lib/feature/password/temporary/freeze-rename.d.ts +5 -0
  324. package/lib/feature/password/temporary/freeze-rename.js +72 -0
  325. package/lib/feature/password/temporary/internal/change-password-phase.d.ts +2 -0
  326. package/lib/feature/password/temporary/internal/change-password-phase.js +48 -0
  327. package/lib/feature/password/temporary/internal/constants.d.ts +12 -0
  328. package/lib/feature/password/temporary/internal/constants.js +21 -0
  329. package/lib/feature/password/temporary/internal/password-helpers.d.ts +4 -0
  330. package/lib/feature/password/temporary/internal/password-helpers.js +18 -0
  331. package/lib/feature/password/temporary/internal/password-type-map.d.ts +2 -0
  332. package/lib/feature/password/temporary/internal/password-type-map.js +7 -0
  333. package/lib/feature/password/temporary/lists.d.ts +16 -0
  334. package/lib/feature/password/temporary/lists.js +157 -0
  335. package/lib/feature/password/temporary/offline-create.d.ts +7 -0
  336. package/lib/feature/password/temporary/offline-create.js +192 -0
  337. package/lib/feature/password/temporary/types.d.ts +107 -0
  338. package/lib/feature/password/temporary/types.js +1 -0
  339. package/lib/feature/password/temporary/wifi-offline.d.ts +5 -0
  340. package/lib/feature/password/temporary/wifi-offline.js +85 -0
  341. package/lib/feature/password/temporary/wifi-online.d.ts +28 -0
  342. package/lib/feature/password/temporary/wifi-online.js +153 -0
  343. package/lib/feature/screen/bind.d.ts +4 -0
  344. package/lib/feature/screen/bind.js +181 -0
  345. package/lib/feature/screen/error.d.ts +1 -0
  346. package/lib/feature/screen/error.js +34 -0
  347. package/lib/feature/screen/event.d.ts +3 -0
  348. package/lib/feature/screen/event.js +19 -0
  349. package/lib/feature/screen/list.d.ts +13 -0
  350. package/lib/feature/screen/list.js +56 -0
  351. package/lib/feature/service/goto-service.d.ts +5 -0
  352. package/lib/feature/service/goto-service.js +16 -0
  353. package/lib/feature/state/clear.d.ts +2 -0
  354. package/lib/feature/state/clear.js +17 -0
  355. package/lib/feature/state/device-status-events.d.ts +5 -0
  356. package/lib/feature/state/device-status-events.js +11 -0
  357. package/lib/feature/state/device-status.d.ts +5 -0
  358. package/lib/feature/state/device-status.js +130 -0
  359. package/lib/feature/state/dp-change.d.ts +3 -0
  360. package/lib/feature/state/dp-change.js +44 -0
  361. package/lib/feature/state/init-state.d.ts +2 -0
  362. package/lib/feature/state/init-state.js +167 -0
  363. package/lib/feature/state/internal/read-is-sleep.d.ts +2 -0
  364. package/lib/feature/state/internal/read-is-sleep.js +9 -0
  365. package/lib/feature/state/internal/share-thread-local.d.ts +2 -0
  366. package/lib/feature/state/internal/share-thread-local.js +4 -0
  367. package/lib/feature/state/platform-routing.d.ts +3 -0
  368. package/lib/feature/state/platform-routing.js +155 -0
  369. package/lib/feature/state/remote-permissions.d.ts +4 -0
  370. package/lib/feature/state/remote-permissions.js +30 -0
  371. package/lib/feature/state/sync/offline-dps.d.ts +2 -0
  372. package/lib/feature/state/sync/offline-dps.js +71 -0
  373. package/lib/feature/state/sync/remote-serect-key.d.ts +3 -0
  374. package/lib/feature/state/sync/remote-serect-key.js +74 -0
  375. package/lib/feature/state/sync/t0.d.ts +3 -0
  376. package/lib/feature/state/sync/t0.js +64 -0
  377. package/lib/feature/unlock/door/check-remote.d.ts +2 -0
  378. package/lib/feature/unlock/door/check-remote.js +40 -0
  379. package/lib/feature/unlock/door/check-user-valid.d.ts +2 -0
  380. package/lib/feature/unlock/door/check-user-valid.js +21 -0
  381. package/lib/feature/unlock/door/door-action.d.ts +2 -0
  382. package/lib/feature/unlock/door/door-action.js +32 -0
  383. package/lib/feature/unlock/door/door-ble-only.d.ts +2 -0
  384. package/lib/feature/unlock/door/door-ble-only.js +102 -0
  385. package/lib/feature/unlock/door/door-matter-lan.d.ts +2 -0
  386. package/lib/feature/unlock/door/door-matter-lan.js +15 -0
  387. package/lib/feature/unlock/door/door-near-dual-mode.d.ts +2 -0
  388. package/lib/feature/unlock/door/door-near-dual-mode.js +39 -0
  389. package/lib/feature/unlock/door/door-remote-cloud.d.ts +2 -0
  390. package/lib/feature/unlock/door/door-remote-cloud.js +69 -0
  391. package/lib/feature/unlock/door/door-report.d.ts +11 -0
  392. package/lib/feature/unlock/door/door-report.js +96 -0
  393. package/lib/feature/unlock/door/internal/report-error.d.ts +2 -0
  394. package/lib/feature/unlock/door/internal/report-error.js +46 -0
  395. package/lib/feature/unlock/door/open-close-path.d.ts +3 -0
  396. package/lib/feature/unlock/door/open-close-path.js +30 -0
  397. package/lib/feature/unlock/door/remote-permission.d.ts +5 -0
  398. package/lib/feature/unlock/door/remote-permission.js +67 -0
  399. package/lib/feature/unlock/door/remove-share-user-once.d.ts +2 -0
  400. package/lib/feature/unlock/door/remove-share-user-once.js +21 -0
  401. package/lib/feature/unlock/door/types.d.ts +4 -0
  402. package/lib/feature/unlock/door/types.js +1 -0
  403. package/lib/feature/unlock/door/voice-unlock-pwd.d.ts +4 -0
  404. package/lib/feature/unlock/door/voice-unlock-pwd.js +25 -0
  405. package/lib/feature/unlock/door/wifi-pro-confirm.d.ts +2 -0
  406. package/lib/feature/unlock/door/wifi-pro-confirm.js +69 -0
  407. package/lib/feature/unlock/method/add-flow.d.ts +7 -0
  408. package/lib/feature/unlock/method/add-flow.js +403 -0
  409. package/lib/feature/unlock/method/add-method-events.d.ts +5 -0
  410. package/lib/feature/unlock/method/add-method-events.js +11 -0
  411. package/lib/feature/unlock/method/add-password.d.ts +3 -0
  412. package/lib/feature/unlock/method/add-password.js +99 -0
  413. package/lib/feature/unlock/method/bind-unbind.d.ts +8 -0
  414. package/lib/feature/unlock/method/bind-unbind.js +113 -0
  415. package/lib/feature/unlock/method/detail.d.ts +3 -0
  416. package/lib/feature/unlock/method/detail.js +35 -0
  417. package/lib/feature/unlock/method/guide.d.ts +3 -0
  418. package/lib/feature/unlock/method/guide.js +48 -0
  419. package/lib/feature/unlock/method/internal/base.d.ts +109 -0
  420. package/lib/feature/unlock/method/internal/base.js +89 -0
  421. package/lib/feature/unlock/method/internal/errors.d.ts +5 -0
  422. package/lib/feature/unlock/method/internal/errors.js +13 -0
  423. package/lib/feature/unlock/method/internal/special-check.d.ts +13 -0
  424. package/lib/feature/unlock/method/internal/special-check.js +38 -0
  425. package/lib/feature/unlock/method/types.d.ts +70 -0
  426. package/lib/feature/unlock/method/types.js +1 -0
  427. package/lib/feature/unlock/method/update-remove.d.ts +4 -0
  428. package/lib/feature/unlock/method/update-remove.js +138 -0
  429. package/lib/feature/unlock/method/verify-code.d.ts +3 -0
  430. package/lib/feature/unlock/method/verify-code.js +7 -0
  431. package/lib/feature/unlock/sync/unlock-method.d.ts +3 -0
  432. package/lib/feature/unlock/sync/unlock-method.js +79 -0
  433. package/lib/feature/user/current-user.d.ts +3 -0
  434. package/lib/feature/user/current-user.js +33 -0
  435. package/lib/feature/user/delete-user-dp.d.ts +3 -0
  436. package/lib/{utils/user.js → feature/user/delete-user-dp.js} +13 -13
  437. package/lib/feature/user/share-user.d.ts +29 -0
  438. package/lib/feature/user/share-user.js +228 -0
  439. package/lib/feature/user/sync-user.d.ts +2 -0
  440. package/lib/feature/user/sync-user.js +151 -0
  441. package/lib/feature/user/user.d.ts +37 -0
  442. package/lib/feature/user/user.js +484 -0
  443. package/lib/feature/utils/index.d.ts +12 -0
  444. package/lib/feature/utils/index.js +165 -0
  445. package/lib/feature/voice-file/voice-file.d.ts +27 -0
  446. package/lib/feature/voice-file/voice-file.js +203 -0
  447. package/lib/fit.d.ts +4 -0
  448. package/lib/fit.js +3 -0
  449. package/lib/index.d.ts +2 -21
  450. package/lib/index.js +1 -74
  451. package/lib/interface.d.ts +50 -3
  452. package/lib/{utils → platform}/device.d.ts +48 -0
  453. package/lib/{utils → platform}/device.js +153 -2
  454. package/lib/platform/index.d.ts +2 -0
  455. package/lib/platform/index.js +2 -0
  456. package/lib/{utils → platform}/ipc.d.ts +3 -0
  457. package/lib/{utils → platform}/ipc.js +11 -0
  458. package/lib/platform/transport/index.d.ts +1 -0
  459. package/lib/platform/transport/index.js +1 -0
  460. package/lib/runtime/LockDeviceRuntime.d.ts +12 -0
  461. package/lib/runtime/LockDeviceRuntime.js +34 -0
  462. package/lib/runtime/device-status/compute-device-status.d.ts +25 -0
  463. package/lib/runtime/device-status/compute-device-status.js +94 -0
  464. package/lib/runtime/index.d.ts +5 -0
  465. package/lib/runtime/index.js +3 -0
  466. package/lib/runtime/lock-config.d.ts +28 -0
  467. package/lib/runtime/lock-config.js +37 -0
  468. package/lib/runtime/registry.d.ts +7 -0
  469. package/lib/runtime/registry.js +28 -0
  470. package/lib/runtime/runtime-state-types.d.ts +20 -0
  471. package/lib/runtime/runtime-state-types.js +1 -0
  472. package/lib/screen.d.ts +4 -0
  473. package/lib/screen.js +3 -0
  474. package/lib/utils/constant.d.ts +3 -0
  475. package/lib/utils/constant.js +3 -0
  476. package/lib/utils/errors.js +39 -4
  477. package/lib/utils/event.js +2 -1
  478. package/lib/utils/index.d.ts +22 -13
  479. package/lib/utils/index.js +39 -118
  480. package/lib/utils/sdk-log.d.ts +28 -0
  481. package/lib/utils/sdk-log.js +128 -0
  482. package/package.json +26 -7
  483. package/lib/capability.d.ts +0 -4
  484. package/lib/config/index.d.ts +0 -28
  485. package/lib/config/index.js +0 -41
  486. package/lib/event.d.ts +0 -2
  487. package/lib/event.js +0 -2
  488. package/lib/linkage.d.ts +0 -8
  489. package/lib/log.d.ts +0 -41
  490. package/lib/log.js +0 -311
  491. package/lib/media.d.ts +0 -14
  492. package/lib/media.js +0 -27
  493. package/lib/offline-dps.d.ts +0 -9
  494. package/lib/offline-dps.js +0 -76
  495. package/lib/open/ble-dedicated-dp.d.ts +0 -4
  496. package/lib/open/ble-dedicated-dp.js +0 -148
  497. package/lib/open/ble-remote-no-dp-key.d.ts +0 -4
  498. package/lib/open/ble-remote-no-dp-key.js +0 -69
  499. package/lib/open/report-status.d.ts +0 -1
  500. package/lib/open/report-status.js +0 -23
  501. package/lib/open.d.ts +0 -22
  502. package/lib/open.js +0 -262
  503. package/lib/other.d.ts +0 -31
  504. package/lib/other.js +0 -291
  505. package/lib/signal.d.ts +0 -14
  506. package/lib/signal.js +0 -31
  507. package/lib/sleep.d.ts +0 -19
  508. package/lib/sleep.js +0 -79
  509. package/lib/state.d.ts +0 -16
  510. package/lib/state.js +0 -351
  511. package/lib/sync/ble-temp-payload.d.ts +0 -2
  512. package/lib/sync/offline-dps.d.ts +0 -1
  513. package/lib/sync/offline-dps.js +0 -29
  514. package/lib/sync/remote-serect-key.d.ts +0 -2
  515. package/lib/sync/remote-serect-key.js +0 -43
  516. package/lib/sync/t0.d.ts +0 -2
  517. package/lib/sync/t0.js +0 -26
  518. package/lib/sync/temp.d.ts +0 -3
  519. package/lib/sync/temp.js +0 -70
  520. package/lib/sync/unlock-method.d.ts +0 -2
  521. package/lib/sync/unlock-method.js +0 -42
  522. package/lib/sync/user.d.ts +0 -2
  523. package/lib/sync/user.js +0 -68
  524. package/lib/temporary.d.ts +0 -171
  525. package/lib/temporary.js +0 -698
  526. package/lib/unlock-method.d.ts +0 -90
  527. package/lib/unlock-method.js +0 -701
  528. package/lib/user.d.ts +0 -30
  529. package/lib/user.js +0 -298
  530. package/lib/utils/publishDps.d.ts +0 -6
  531. package/lib/utils/publishDps.js +0 -78
  532. package/lib/utils/user.d.ts +0 -2
  533. /package/lib/{parse/index.d.ts → utils/parse.d.ts} +0 -0
  534. /package/lib/{parse/index.js → utils/parse.js} +0 -0
@@ -1,8 +1,9 @@
1
1
  const errors = {
2
+ 1000: "Missing DeviceId or devInfo",
2
3
  1001: "Device offline",
3
4
  1002: "Operation timeout",
4
5
  1003: "Remote unlocking failure",
5
- 1004: "Device reports that remote unlocking failed",
6
+ 1004: "Device reports that unlocking failed",
6
7
  1005: "Remote unlocking failure",
7
8
  1006: "Secret key times has been used up",
8
9
  1007: "Secret key is not valid",
@@ -29,16 +30,16 @@ const errors = {
29
30
  1028: "Delete failed",
30
31
  1029: "Hardware ID cannot be deleted",
31
32
  1030: "Only numeric passwords are supported",
32
- 1031: "Password name length cannot exceed 20 characters",
33
+ 1031: "name length cannot exceed 20 characters",
33
34
  1032: "Validity not configured",
34
35
  1033: "Validity start date not configured",
35
36
  1034: "Validity end date not configured",
36
37
  1035: "Weekly repeat validity configuration not set",
37
38
  1036: "Monthly repeat validity configuration not set",
38
39
  1037: "Password already exists",
39
- 1038: "Password name is duplicated",
40
+ 1038: "name is duplicated",
40
41
  1039: "Password effective time and end time are incorrect",
41
- 1040: "Temporary password ID does not exist",
42
+ 1040: "Record does not exist",
42
43
  1041: "Device has no hardware ID available",
43
44
  1042: "Failed to add temporary password",
44
45
  1043: "Temporary password addition failed, pre-allocated number not obtained from cloud",
@@ -68,6 +69,40 @@ const errors = {
68
69
  1067: "Password limit reached within this period",
69
70
  1068: "There is already a member with the same name",
70
71
  1069: "No permission to modify member validity",
72
+ 1070: "Lock SDK runtime already registered for device {0}",
73
+ 1071: "SDK instance not set, please call init",
74
+ 1072: "Does not support deleting family members",
75
+ 1073: "User has been frozen",
76
+ 1074: "User has expired",
77
+ 1075: "User has not taken effect",
78
+ 1076: "Share user or normal member has no permission to open/close the door",
79
+ 1077: "Bluetooth unlocking, host ID error",
80
+ 1078: "Bluetooth unlocking, slave ID error",
81
+ 1079: "Bluetooth unlocking, random number error",
82
+ 1080: "Bluetooth unlocking, parameter error",
83
+ 1081: "Bluetooth unlocking, electronic anti-lock refuses to unlock",
84
+ 1082: "Failed to modify temporary password",
85
+ 1083: "Does not support emojis",
86
+ 1084: "Incorrect sharing account",
87
+ 1085: "Virtual key is not available",
88
+ 1086: "Device does not exist",
89
+ 1087: "Bluetooth sharing name already exists",
90
+ 1088: "Fitting not bound to a lock",
91
+ 1089: "Lock not found",
92
+ 1090: "Update failed",
93
+ 1091: "Parameter error",
94
+ 1092: "No record on the device",
95
+ 1093: "Non-admin has no permission to operate",
96
+ 1094: "Illegal user request",
97
+ 1095: "Lock not found",
98
+ 1096: "Accessory and lock are not in the same home",
99
+ 1097: "Target lock is not online",
100
+ 1098: "Target lock does not support accessory binding",
101
+ 1099: "Accessory does not support binding to a lock",
102
+ 1100: "Binding limit reached",
103
+ 1101: "The lock has already been bound, please do not bind it again",
104
+ 1102: "Lock is binding",
105
+ 1103: "Binding failed"
71
106
  };
72
107
  export const getError = (code, ...places) => {
73
108
  if (errors[code]) {
@@ -1,3 +1,4 @@
1
+ import { sdkLog } from "./sdk-log";
1
2
  function createEmitter() {
2
3
  let listeners = {};
3
4
  let cachedEvents = {};
@@ -65,7 +66,7 @@ function createEmitter() {
65
66
  cb(data);
66
67
  }
67
68
  catch (e) {
68
- console.warn(e);
69
+ sdkLog("warn", "event", "listenerError", { error: e });
69
70
  }
70
71
  }
71
72
  }
@@ -1,5 +1,5 @@
1
1
  import { UserType } from "../constant";
2
- import { EffectiveConfig, UnlockMethodConfig, Week } from "../interface";
2
+ import type { EffectiveConfig, Week } from "../interface";
3
3
  import { LoopTypes } from "./constant";
4
4
  export declare const get24Time: (time: number) => number[];
5
5
  export declare const getNowTime: () => number;
@@ -102,18 +102,9 @@ export declare const getPermanentSetting: () => {
102
102
  };
103
103
  export declare const isAdmin: (userType: UserType) => boolean;
104
104
  export declare const validateEffectiveConfig: (effective?: EffectiveConfig) => void;
105
- export declare const isUseNearChannel: () => boolean;
106
- export declare const parseOfflinePassword: (value: string) => string;
107
105
  export declare const formatTimestampToMilliseconds: (timestamp: number) => number;
108
- export declare const unlockMethodConfigs: UnlockMethodConfig[];
109
- export declare const getUnlockMethodTypeByDpCode: (dpCode: string) => UnlockMethodConfig;
110
- export declare const getUnlockMethodTypeById: (id: number | string) => UnlockMethodConfig;
111
- export declare const getUnlockMethodTypeByType: (type: string) => UnlockMethodConfig;
112
- export declare const parallelMerge: <T extends (...args: any[]) => Promise<any>>(cb: T) => (...args: Parameters<T>) => ReturnType<T>;
113
- export declare const parallelOnly: <T extends (...args: any[]) => Promise<any>>(cb: T) => (...args: Parameters<T>) => ReturnType<T>;
114
- declare const preFetchKeys: readonly ["getRotate", "getCurrentUser", "getDeviceProperties"];
115
- type PreFetchKey = (typeof preFetchKeys)[number];
116
- export declare const getDataWithPreFetch: <T>(key: PreFetchKey, apiCb: () => Promise<T>) => Promise<T>;
106
+ export declare const parallelMerge: <T extends (...args: any[]) => Promise<any>>(cb: T) => (this: unknown, ...args: Parameters<T>) => Promise<any>;
107
+ export declare const parallelOnly: <T extends (...args: any[]) => Promise<any>>(cb: T) => (this: unknown, ...args: Parameters<T>) => Promise<any>;
117
108
  export declare const equels: (source: any, target: any) => boolean;
118
109
  export declare const sleep: (ms: number) => Promise<unknown>;
119
110
  export declare const getHomeInfo: () => Promise<{
@@ -124,4 +115,22 @@ export declare const getHomeInfo: () => Promise<{
124
115
  address: string;
125
116
  admin: boolean;
126
117
  }>;
127
- export {};
118
+ export declare const transformEffectiveConfigToValidConfig: (effective: EffectiveConfig) => {
119
+ startTime: number;
120
+ endTime: number;
121
+ loop: LoopTypes;
122
+ loopConfig: number;
123
+ weeks: number[];
124
+ days: never[];
125
+ startHour: number;
126
+ startMinute: number;
127
+ endHour: number;
128
+ endMinute: number;
129
+ };
130
+ export declare const formatPasswordToList: (password: string) => number[];
131
+ export declare const getAppUser: () => {
132
+ nickName: string;
133
+ avatarUrl: string;
134
+ phoneCode: string;
135
+ isTemporaryUser: boolean;
136
+ } | null;
@@ -1,8 +1,5 @@
1
- import config, { hasCapability } from "../config";
2
- import dpCodes from "../config/dp-code";
3
- import { ProductCommunicationType } from "../constant";
4
1
  import { LoopTypes } from "./constant";
5
- import { getBackgroundFetchData, getCurrentHomeInfo, onBackgroundFetchData, } from "./device";
2
+ import { getAppUserInfo, getCurrentHomeInfo } from "../platform/device";
6
3
  import { getError } from "./errors";
7
4
  export const get24Time = (time) => {
8
5
  const hours = Math.floor(time / 60);
@@ -97,97 +94,16 @@ export const validateEffectiveConfig = (effective) => {
97
94
  break;
98
95
  }
99
96
  };
100
- export const isUseNearChannel = () => {
101
- const { onlineType, devInfo } = config;
102
- const isBleOnline = isOnlineByType(onlineType, 2);
103
- const isSupportWifi = hasCapability(ProductCommunicationType.WIFI);
104
- const isSupportBle = hasCapability(ProductCommunicationType.BLUETOOTH);
105
- const isSupportThread = hasCapability(ProductCommunicationType.THREAD);
106
- if (isSupportWifi && isSupportBle) {
107
- return isBleOnline;
108
- }
109
- if (isSupportThread && isSupportBle) {
110
- return isBleOnline && !devInfo.isCloudOnline && !devInfo.isLocalOnline;
111
- }
112
- return isBleOnline;
113
- };
114
- export const parseOfflinePassword = (value) => {
115
- if (config.passwordDigitalBase === 10) {
116
- return value;
117
- }
118
- let digitalCode = Number(value).toString(config.passwordDigitalBase);
119
- const zeroList = value.match(/(^0+)/);
120
- if (zeroList) {
121
- digitalCode = zeroList[0] + digitalCode;
122
- }
123
- if (config.passwordSupportZero === false) {
124
- digitalCode = digitalCode
125
- .split("")
126
- .map((n) => {
127
- return Number(n) + 1;
128
- })
129
- .join("");
130
- }
131
- return digitalCode;
132
- };
133
97
  export const formatTimestampToMilliseconds = (timestamp) => {
134
98
  const isMilliseconds = timestamp.toString().length >= 13;
135
99
  return isMilliseconds ? timestamp : timestamp * 1000;
136
100
  };
137
- export const unlockMethodConfigs = [
138
- {
139
- type: "password",
140
- code: dpCodes.unlockPassword,
141
- id: 1,
142
- },
143
- {
144
- type: "card",
145
- code: dpCodes.unlockCard,
146
- id: 2,
147
- },
148
- {
149
- type: "finger",
150
- code: dpCodes.unlockFingerprint,
151
- id: 3,
152
- },
153
- {
154
- type: "face",
155
- code: dpCodes.unlockFace,
156
- id: 4,
157
- },
158
- {
159
- type: "hand",
160
- code: dpCodes.unlockHand,
161
- id: 5,
162
- },
163
- {
164
- type: "fingerVein",
165
- code: dpCodes.unlockFingerVein,
166
- id: 6,
167
- },
168
- ];
169
- const getUnlockMethodType = (cb) => {
170
- const result = unlockMethodConfigs.find(cb);
171
- if (result && config.dpSchema[result.code]) {
172
- return result;
173
- }
174
- throw getError(1014);
175
- };
176
- export const getUnlockMethodTypeByDpCode = (dpCode) => {
177
- return getUnlockMethodType((item) => item.code === dpCode);
178
- };
179
- export const getUnlockMethodTypeById = (id) => {
180
- return getUnlockMethodType((item) => item.id === id);
181
- };
182
- export const getUnlockMethodTypeByType = (type) => {
183
- return getUnlockMethodType((item) => item.type === type);
184
- };
185
101
  let cbIndex = 0;
186
102
  const cbMap = {};
187
103
  export const parallelMerge = (cb) => {
188
104
  let isRuning = false;
189
105
  let cbId = cbIndex++;
190
- return async (...args) => {
106
+ return async function (...args) {
191
107
  const key = JSON.stringify(args);
192
108
  if (isRuning) {
193
109
  if (!cbMap[cbId]) {
@@ -202,7 +118,7 @@ export const parallelMerge = (cb) => {
202
118
  }
203
119
  isRuning = true;
204
120
  try {
205
- const result = await cb(...args);
121
+ const result = await cb.apply(this, args);
206
122
  isRuning = false;
207
123
  if (cbMap[cbId] && cbMap[cbId][key]) {
208
124
  let list = cbMap[cbId][key];
@@ -229,14 +145,14 @@ export const parallelMerge = (cb) => {
229
145
  export const parallelOnly = (cb) => {
230
146
  let isRuning = false;
231
147
  let cbId = cbIndex++;
232
- return async (...args) => {
148
+ return async function (...args) {
233
149
  let key;
234
150
  if (isRuning) {
235
151
  throw getError(1052);
236
152
  }
237
153
  isRuning = true;
238
154
  try {
239
- const result = await cb(...args);
155
+ const result = await cb.apply(this, args);
240
156
  isRuning = false;
241
157
  return result;
242
158
  }
@@ -246,35 +162,6 @@ export const parallelOnly = (cb) => {
246
162
  }
247
163
  };
248
164
  };
249
- const preFetchKeys = [
250
- "getRotate",
251
- "getCurrentUser",
252
- "getDeviceProperties",
253
- ];
254
- const preFetchData = {};
255
- onBackgroundFetchData(preFetchKeys, (res) => {
256
- Object.keys(res?.fetchedData ?? {}).forEach((key) => {
257
- preFetchData[key] = res.fetchedData[key].fetchedData;
258
- });
259
- });
260
- export const getDataWithPreFetch = async (key, apiCb) => {
261
- if (config.preFetch) {
262
- if (preFetchData[key]) {
263
- return preFetchData[key];
264
- }
265
- try {
266
- const result = await getBackgroundFetchData([key]);
267
- if (result &&
268
- result.fetchedData[key] &&
269
- result.fetchedData[key].fetchedData) {
270
- return result.fetchedData[key].fetchedData;
271
- }
272
- }
273
- catch {
274
- }
275
- }
276
- return apiCb();
277
- };
278
165
  export const equels = (source, target) => {
279
166
  return JSON.stringify(source) === JSON.stringify(target);
280
167
  };
@@ -289,3 +176,37 @@ export const getHomeInfo = async () => {
289
176
  homeInfo = await getCurrentHomeInfo();
290
177
  return homeInfo;
291
178
  };
179
+ export const transformEffectiveConfigToValidConfig = (effective) => {
180
+ const loopType = effective?.repeat
181
+ ?
182
+ LoopTypes[effective?.repeat?.toUpperCase()]
183
+ : LoopTypes.NONE;
184
+ const { effectiveTime = 0, expiredTime = 1439 } = effective;
185
+ return {
186
+ startTime: effective.effectiveDate,
187
+ endTime: effective.expiredDate,
188
+ loop: loopType,
189
+ loopConfig: 0,
190
+ weeks: effective.weeks ? effective.weeks : [0, 0, 0, 0, 0, 0, 0],
191
+ days: [],
192
+ startHour: Math.floor(effectiveTime / 60),
193
+ startMinute: effectiveTime % 60,
194
+ endHour: Math.floor(expiredTime / 60),
195
+ endMinute: expiredTime % 60,
196
+ };
197
+ };
198
+ export const formatPasswordToList = (password) => {
199
+ return password.split("").map(Number);
200
+ };
201
+ let userInfo = null;
202
+ export const getAppUser = () => {
203
+ return userInfo;
204
+ };
205
+ const getAppUserAsync = async () => {
206
+ const res = await getAppUserInfo();
207
+ userInfo = res;
208
+ return res;
209
+ };
210
+ getAppUserAsync().catch(() => {
211
+ getAppUserAsync().catch(() => undefined);
212
+ });
@@ -0,0 +1,28 @@
1
+ export type SDKLogLevel = "off" | "error" | "warn" | "info" | "debug" | "trace";
2
+ export interface SDKLogEntry {
3
+ ts: number;
4
+ level: Exclude<SDKLogLevel, "off">;
5
+ module: string;
6
+ action: string;
7
+ devId?: string;
8
+ traceId?: string;
9
+ duration?: number;
10
+ data?: Record<string, unknown>;
11
+ error?: {
12
+ message: string;
13
+ code?: number;
14
+ stack?: string;
15
+ };
16
+ }
17
+ export type SDKLogSink = (entry: SDKLogEntry) => void;
18
+ export interface SDKLogConfig {
19
+ level: SDKLogLevel;
20
+ sink?: SDKLogSink;
21
+ console?: boolean;
22
+ }
23
+ type SDKLogPayload = Omit<SDKLogEntry, "ts" | "level" | "module" | "action" | "error"> & {
24
+ error?: unknown;
25
+ };
26
+ export declare function setSDKLogConfig(next: Partial<SDKLogConfig>): void;
27
+ export declare function sdkLog(level: Exclude<SDKLogLevel, "off">, module: string, action: string, payload?: SDKLogPayload): void;
28
+ export {};
@@ -0,0 +1,128 @@
1
+ const levelWeights = {
2
+ off: 0,
3
+ error: 1,
4
+ warn: 2,
5
+ info: 3,
6
+ debug: 4,
7
+ trace: 5,
8
+ };
9
+ let config = {
10
+ level: "warn",
11
+ console: false,
12
+ };
13
+ const sensitiveKeyPattern = /password|pwd|token|key|secret|ins|devUnlockId|raw|dpValue/i;
14
+ let defaultLogManager;
15
+ function getDefaultLogManager() {
16
+ if (defaultLogManager) {
17
+ return defaultLogManager;
18
+ }
19
+ try {
20
+ if (typeof ty === "undefined") {
21
+ return undefined;
22
+ }
23
+ const getLogManager = ty.getLogManager;
24
+ if (typeof getLogManager === "function") {
25
+ defaultLogManager = getLogManager({ tag: "lock-sdk" });
26
+ }
27
+ }
28
+ catch {
29
+ defaultLogManager = null;
30
+ }
31
+ return defaultLogManager ?? undefined;
32
+ }
33
+ function getDefaultSink() {
34
+ const manager = getDefaultLogManager();
35
+ if (!manager) {
36
+ return undefined;
37
+ }
38
+ return (entry) => {
39
+ const message = JSON.stringify(entry);
40
+ if (typeof manager[entry.level] === "function") {
41
+ manager[entry.level]({
42
+ message,
43
+ });
44
+ }
45
+ else {
46
+ manager.log({ message });
47
+ }
48
+ };
49
+ }
50
+ function sanitize(value) {
51
+ if (!value || typeof value !== "object") {
52
+ return value;
53
+ }
54
+ if (Array.isArray(value)) {
55
+ return value.map(sanitize);
56
+ }
57
+ return Object.keys(value).reduce((acc, key) => {
58
+ acc[key] = sensitiveKeyPattern.test(key)
59
+ ? "[REDACTED]"
60
+ : sanitize(value[key]);
61
+ return acc;
62
+ }, {});
63
+ }
64
+ function normalizeError(error) {
65
+ if (!error) {
66
+ return undefined;
67
+ }
68
+ if (error instanceof Error) {
69
+ return {
70
+ message: error.message,
71
+ stack: error.stack,
72
+ };
73
+ }
74
+ if (typeof error === "object") {
75
+ const err = error;
76
+ const rawCode = err["code"] ?? err["errorCode"];
77
+ const code = typeof rawCode === "number"
78
+ ? rawCode
79
+ : typeof rawCode === "string"
80
+ ? Number(rawCode)
81
+ : undefined;
82
+ return {
83
+ message: String(err["message"] ?? err["errorMsg"] ?? "Unknown error"),
84
+ code: Number.isFinite(code) ? code : undefined,
85
+ };
86
+ }
87
+ return {
88
+ message: String(error),
89
+ };
90
+ }
91
+ export function setSDKLogConfig(next) {
92
+ config = {
93
+ ...config,
94
+ ...next,
95
+ };
96
+ }
97
+ export function sdkLog(level, module, action, payload = {}) {
98
+ if (levelWeights[config.level] < levelWeights[level]) {
99
+ return;
100
+ }
101
+ const entry = {
102
+ ts: Date.now(),
103
+ level,
104
+ module,
105
+ action,
106
+ devId: payload.devId,
107
+ traceId: payload.traceId,
108
+ duration: payload.duration,
109
+ data: sanitize(payload.data),
110
+ error: normalizeError(payload.error),
111
+ };
112
+ try {
113
+ const sink = config.sink ?? getDefaultSink();
114
+ sink?.(entry);
115
+ if (config.console) {
116
+ let fn = console.log;
117
+ if (level === "error") {
118
+ fn = console.error;
119
+ }
120
+ else if (level === "warn") {
121
+ fn = console.warn;
122
+ }
123
+ fn("[lock-sdk]", level, entry);
124
+ }
125
+ }
126
+ catch (error) {
127
+ }
128
+ }
package/package.json CHANGED
@@ -1,17 +1,38 @@
1
1
  {
2
2
  "name": "@ray-js/lock-sdk",
3
- "version": "1.1.3-beta.9",
3
+ "version": "1.2.0-beta.1",
4
4
  "files": [
5
5
  "lib",
6
6
  "LICENSE.md"
7
7
  ],
8
8
  "main": "lib/index.js",
9
9
  "types": "lib/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./lib/index.d.ts",
13
+ "import": "./lib/index.js",
14
+ "default": "./lib/index.js"
15
+ },
16
+ "./fit": {
17
+ "types": "./lib/fit.d.ts",
18
+ "import": "./lib/fit.js",
19
+ "default": "./lib/fit.js"
20
+ },
21
+ "./screen": {
22
+ "types": "./lib/screen.d.ts",
23
+ "import": "./lib/screen.js",
24
+ "default": "./lib/screen.js"
25
+ }
26
+ },
10
27
  "scripts": {
11
- "build": "tsc",
12
- "compile": "tsc",
28
+ "build": "tsc && tsc-alias -p tsconfig.json",
29
+ "compile": "tsc && tsc-alias -p tsconfig.json",
13
30
  "lint": "eslint . --max-warnings 0",
14
- "check-types": "tsc --noEmit"
31
+ "check-types": "tsc --noEmit",
32
+ "test": "vitest run",
33
+ "test:watch": "vitest",
34
+ "audit:api-tests": "vitest run _tests/api-test-audit.test.ts",
35
+ "audit:api-tests:update": "UPDATE_API_AUDIT=1 vitest run _tests/api-test-audit.test.ts"
15
36
  },
16
37
  "maintainers": [
17
38
  "tuya_npm",
@@ -23,9 +44,7 @@
23
44
  "devDependencies": {
24
45
  "@turbo/gen": "^2.4.0",
25
46
  "@types/node": "^22.13.0",
26
- "@types/react": "19.0.8",
27
- "eslint": "^9.21.0",
28
- "typescript": "5.7.3"
47
+ "@types/react": "19.0.8"
29
48
  },
30
49
  "peerDependencies": {
31
50
  "react": "^19.0.0"
@@ -1,4 +0,0 @@
1
- import { DeviceAdvancedAbility } from "./interface";
2
- export declare const isActiveThread: () => Promise<boolean>;
3
- export declare const isShareThead: () => boolean;
4
- export declare const getDeviceAdvancedAbilities: () => Promise<DeviceAdvancedAbility>;
@@ -1,28 +0,0 @@
1
- import { ProductCommunicationType } from "../constant";
2
- import { CapabilityInfo, DeviceInfo, DpSchema, RemotePermission, DeviceStatus, LockSDKOption } from "../interface";
3
- declare const config: {
4
- devInfo: DeviceInfo;
5
- dpSchema: Record<string, DpSchema>;
6
- codesById: Record<string, string>;
7
- idsByCode: Record<string, number>;
8
- remoteOpenEnabled: boolean;
9
- remoteOpenPermission: RemotePermission;
10
- capabilities: CapabilityInfo | null;
11
- onlineType: number;
12
- communication: ProductCommunicationType[];
13
- supportBigData: boolean;
14
- passwordDigitalBase: number;
15
- passwordSupportZero: boolean;
16
- strictMode: boolean;
17
- imageAngle: number;
18
- videoAngle: number;
19
- supportMultipleFace: boolean;
20
- supportOfflineDps: boolean;
21
- preFetch: boolean;
22
- deviceStatus: DeviceStatus;
23
- };
24
- type UpdateConfigParams = Omit<LockSDKOption, "devInfo" | "deviceId" | "preFetch">;
25
- export declare const updateConfig: (options: UpdateConfigParams) => void;
26
- export declare const hasCapability: (capability: ProductCommunicationType) => boolean;
27
- export declare const hasDp: (dpCode: string) => boolean;
28
- export default config;
@@ -1,41 +0,0 @@
1
- const config = {
2
- devInfo: {},
3
- dpSchema: {},
4
- codesById: {},
5
- idsByCode: {},
6
- remoteOpenEnabled: false,
7
- remoteOpenPermission: "everyOne",
8
- capabilities: null,
9
- onlineType: 0,
10
- communication: [0],
11
- supportBigData: false,
12
- passwordDigitalBase: 10,
13
- passwordSupportZero: true,
14
- strictMode: true,
15
- imageAngle: 0,
16
- videoAngle: 0,
17
- supportMultipleFace: false,
18
- supportOfflineDps: false,
19
- preFetch: false,
20
- deviceStatus: {
21
- type: "offline",
22
- connectEnable: false,
23
- onlineType: "none",
24
- isWifiActive: false,
25
- },
26
- };
27
- export const updateConfig = (options) => {
28
- Object.keys(options).forEach((key) => {
29
- const value = options[key];
30
- if (value !== undefined) {
31
- config[key] = value;
32
- }
33
- });
34
- };
35
- export const hasCapability = (capability) => {
36
- return config.communication.includes(capability);
37
- };
38
- export const hasDp = (dpCode) => {
39
- return !!config.dpSchema[dpCode];
40
- };
41
- export default config;
package/lib/event.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const SLEEP_EVENT = "sleep_event";
2
- export declare const DEVICE_STATUS_CHANGE_EVENT = "device_status_change";
package/lib/event.js DELETED
@@ -1,2 +0,0 @@
1
- export const SLEEP_EVENT = "sleep_event";
2
- export const DEVICE_STATUS_CHANGE_EVENT = "device_status_change";
package/lib/linkage.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export declare const getRemainingInfo: () => Promise<{
2
- message: number;
3
- phone: number;
4
- }>;
5
- export declare const getDoorbellService: () => Promise<import("./api/linkage").LinkageRule | undefined>;
6
- export declare const enableDoorbellService: () => Promise<void>;
7
- export declare const disableDoorbellService: () => Promise<void>;
8
- export declare const toSetDoorbellService: () => Promise<void>;