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

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 (542) 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/request.d.ts +5 -2
  13. package/lib/api/request.js +34 -2
  14. package/lib/api/screen.d.ts +111 -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/ai.d.ts +4 -0
  158. package/lib/entries/main/exports/ai.js +11 -0
  159. package/lib/entries/main/exports/capability.d.ts +6 -0
  160. package/lib/entries/main/exports/capability.js +17 -0
  161. package/lib/entries/main/exports/config.d.ts +3 -0
  162. package/lib/entries/main/exports/config.js +5 -0
  163. package/lib/entries/main/exports/dp.d.ts +11 -0
  164. package/lib/entries/main/exports/dp.js +13 -0
  165. package/lib/entries/main/exports/fit.d.ts +8 -0
  166. package/lib/entries/main/exports/fit.js +14 -0
  167. package/lib/entries/main/exports/index.d.ts +21 -0
  168. package/lib/entries/main/exports/index.js +21 -0
  169. package/lib/entries/main/exports/linkage.d.ts +5 -0
  170. package/lib/entries/main/exports/linkage.js +15 -0
  171. package/lib/entries/main/exports/log.d.ts +10 -0
  172. package/lib/entries/main/exports/log.js +24 -0
  173. package/lib/entries/main/exports/media.d.ts +6 -0
  174. package/lib/entries/main/exports/media.js +18 -0
  175. package/lib/entries/main/exports/misc.d.ts +18 -0
  176. package/lib/entries/main/exports/misc.js +30 -0
  177. package/lib/entries/main/exports/offline-dps.d.ts +8 -0
  178. package/lib/entries/main/exports/offline-dps.js +28 -0
  179. package/lib/entries/main/exports/open/do-open-close-action.d.ts +2 -0
  180. package/lib/entries/main/exports/open/do-open-close-action.js +68 -0
  181. package/lib/entries/main/exports/open/index.d.ts +16 -0
  182. package/lib/entries/main/exports/open/index.js +44 -0
  183. package/lib/entries/main/exports/open.d.ts +16 -0
  184. package/lib/entries/main/exports/open.js +44 -0
  185. package/lib/entries/main/exports/screen/bind.d.ts +7 -0
  186. package/lib/entries/main/exports/screen/bind.js +15 -0
  187. package/lib/entries/main/exports/screen/list.d.ts +5 -0
  188. package/lib/entries/main/exports/screen/list.js +13 -0
  189. package/lib/entries/main/exports/signal.d.ts +6 -0
  190. package/lib/entries/main/exports/signal.js +14 -0
  191. package/lib/entries/main/exports/sleep.d.ts +15 -0
  192. package/lib/entries/main/exports/sleep.js +31 -0
  193. package/lib/entries/main/exports/state.d.ts +6 -0
  194. package/lib/entries/main/exports/state.js +19 -0
  195. package/lib/entries/main/exports/temporary.d.ts +32 -0
  196. package/lib/entries/main/exports/temporary.js +86 -0
  197. package/lib/entries/main/exports/unlock/sync.d.ts +1 -0
  198. package/lib/entries/main/exports/unlock/sync.js +5 -0
  199. package/lib/entries/main/exports/unlock-method.d.ts +19 -0
  200. package/lib/entries/main/exports/unlock-method.js +58 -0
  201. package/lib/entries/main/exports/user/index.d.ts +33 -0
  202. package/lib/entries/main/exports/user/index.js +35 -0
  203. package/lib/entries/main/exports/user/sync.d.ts +1 -0
  204. package/lib/entries/main/exports/user/sync.js +5 -0
  205. package/lib/entries/main/exports/voice-file.d.ts +7 -0
  206. package/lib/entries/main/exports/voice-file.js +17 -0
  207. package/lib/entries/main/exports/yu-channel.d.ts +5 -0
  208. package/lib/entries/main/exports/yu-channel.js +17 -0
  209. package/lib/entries/main/index.d.ts +8 -0
  210. package/lib/entries/main/index.js +36 -0
  211. package/lib/entries/screen/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  212. package/lib/entries/screen/bootstrap/bootstrap-lock-instance.js +12 -0
  213. package/lib/entries/screen/bootstrap/bootstrap.d.ts +4 -0
  214. package/lib/entries/screen/bootstrap/bootstrap.js +69 -0
  215. package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  216. package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.js +7 -0
  217. package/lib/entries/screen/bootstrap/primary-instance.d.ts +6 -0
  218. package/lib/entries/screen/bootstrap/primary-instance.js +24 -0
  219. package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  220. package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.js +29 -0
  221. package/lib/entries/screen/bootstrap/top-level-runtime.d.ts +2 -0
  222. package/lib/entries/screen/bootstrap/top-level-runtime.js +9 -0
  223. package/lib/entries/screen/build-instance.d.ts +9 -0
  224. package/lib/entries/screen/build-instance.js +57 -0
  225. package/lib/entries/screen/exports/bind-events.d.ts +4 -0
  226. package/lib/entries/screen/exports/bind-events.js +8 -0
  227. package/lib/entries/screen/exports/binding.d.ts +6 -0
  228. package/lib/entries/screen/exports/binding.js +15 -0
  229. package/lib/entries/screen/exports/device.d.ts +16 -0
  230. package/lib/entries/screen/exports/device.js +41 -0
  231. package/lib/entries/screen/exports/event.d.ts +3 -0
  232. package/lib/entries/screen/exports/event.js +5 -0
  233. package/lib/entries/screen/exports/index.d.ts +5 -0
  234. package/lib/entries/screen/exports/index.js +5 -0
  235. package/lib/entries/screen/exports/user.d.ts +2 -0
  236. package/lib/entries/screen/exports/user.js +8 -0
  237. package/lib/entries/screen/index.d.ts +8 -0
  238. package/lib/entries/screen/index.js +36 -0
  239. package/lib/feature/ai/report.d.ts +5 -0
  240. package/lib/feature/ai/report.js +37 -0
  241. package/lib/feature/dp/get-dp-value.d.ts +3 -0
  242. package/lib/feature/dp/get-dp-value.js +3 -0
  243. package/lib/feature/dp/has-dp.d.ts +2 -0
  244. package/lib/feature/dp/has-dp.js +1 -0
  245. package/lib/feature/dp/publish-dps.d.ts +7 -0
  246. package/lib/feature/dp/publish-dps.js +155 -0
  247. package/lib/feature/fit/bind-fit-to-lock.d.ts +6 -0
  248. package/lib/feature/fit/bind-fit-to-lock.js +222 -0
  249. package/lib/feature/fit/bind-lock-to-fit.d.ts +4 -0
  250. package/lib/feature/fit/bind-lock-to-fit.js +167 -0
  251. package/lib/feature/fit/ble-key.d.ts +16 -0
  252. package/lib/feature/fit/ble-key.js +99 -0
  253. package/lib/feature/fit/list.d.ts +3 -0
  254. package/lib/feature/fit/list.js +28 -0
  255. package/lib/feature/fit/method/add-flow.d.ts +7 -0
  256. package/lib/feature/fit/method/add-flow.js +380 -0
  257. package/lib/feature/fit/method/add-method-events.d.ts +5 -0
  258. package/lib/feature/fit/method/add-method-events.js +11 -0
  259. package/lib/feature/fit/method/add-password.d.ts +3 -0
  260. package/lib/feature/fit/method/add-password.js +99 -0
  261. package/lib/feature/fit/method/internal/base.d.ts +19 -0
  262. package/lib/feature/fit/method/internal/base.js +134 -0
  263. package/lib/feature/fit/method/list.d.ts +3 -0
  264. package/lib/feature/fit/method/list.js +64 -0
  265. package/lib/feature/fit/method/types.d.ts +68 -0
  266. package/lib/feature/fit/method/types.js +1 -0
  267. package/lib/feature/fit/method/update-remove.d.ts +4 -0
  268. package/lib/feature/fit/method/update-remove.js +159 -0
  269. package/lib/feature/fit/password-list.d.ts +24 -0
  270. package/lib/feature/fit/password-list.js +31 -0
  271. package/lib/feature/fit/resolve-slave-id.d.ts +2 -0
  272. package/lib/feature/fit/resolve-slave-id.js +38 -0
  273. package/lib/feature/fit/setting.d.ts +2 -0
  274. package/lib/feature/fit/setting.js +27 -0
  275. package/lib/feature/fit/shared.d.ts +27 -0
  276. package/lib/feature/fit/shared.js +118 -0
  277. package/lib/feature/fit/sync.d.ts +4 -0
  278. package/lib/feature/fit/sync.js +85 -0
  279. package/lib/feature/fit/temp-password.d.ts +27 -0
  280. package/lib/feature/fit/temp-password.js +428 -0
  281. package/lib/feature/fit/users.d.ts +12 -0
  282. package/lib/feature/fit/users.js +25 -0
  283. package/lib/feature/linkage/linkage.d.ts +10 -0
  284. package/lib/{linkage.js → feature/linkage/linkage.js} +30 -30
  285. package/lib/feature/log/log.d.ts +63 -0
  286. package/lib/feature/log/log.js +438 -0
  287. package/lib/feature/media/media.d.ts +31 -0
  288. package/lib/feature/media/media.js +66 -0
  289. package/lib/feature/media/rotate.d.ts +6 -0
  290. package/lib/feature/media/rotate.js +6 -0
  291. package/lib/feature/misc/ble-control.d.ts +2 -0
  292. package/lib/feature/misc/ble-control.js +38 -0
  293. package/lib/feature/misc/capability.d.ts +8 -0
  294. package/lib/{capability.js → feature/misc/capability.js} +39 -29
  295. package/lib/feature/misc/connect-device.d.ts +2 -0
  296. package/lib/feature/misc/connect-device.js +206 -0
  297. package/lib/feature/misc/dp-period.d.ts +18 -0
  298. package/lib/feature/misc/dp-period.js +75 -0
  299. package/lib/feature/misc/is-use-near-channel-for-runtime.d.ts +2 -0
  300. package/lib/feature/misc/is-use-near-channel-for-runtime.js +17 -0
  301. package/lib/feature/misc/open-scene.d.ts +3 -0
  302. package/lib/feature/misc/open-scene.js +63 -0
  303. package/lib/feature/misc/signal.d.ts +12 -0
  304. package/lib/feature/misc/signal.js +36 -0
  305. package/lib/feature/misc/sleep.d.ts +14 -0
  306. package/lib/feature/misc/sleep.js +66 -0
  307. package/lib/feature/misc/types.d.ts +7 -0
  308. package/lib/feature/misc/types.js +1 -0
  309. package/lib/feature/misc/update-config.d.ts +4 -0
  310. package/lib/feature/misc/update-config.js +9 -0
  311. package/lib/feature/misc/validate-pwd.d.ts +2 -0
  312. package/lib/feature/misc/validate-pwd.js +10 -0
  313. package/lib/feature/misc/yu-channel.d.ts +6 -0
  314. package/lib/feature/misc/yu-channel.js +26 -0
  315. package/lib/feature/offline-dps/index.d.ts +10 -0
  316. package/lib/feature/offline-dps/index.js +133 -0
  317. package/lib/feature/password/ble-temp-payload.d.ts +3 -0
  318. package/lib/{sync → feature/password}/ble-temp-payload.js +10 -10
  319. package/lib/feature/password/sync-temp.d.ts +4 -0
  320. package/lib/feature/password/sync-temp.js +91 -0
  321. package/lib/feature/password/temporary/custom-dp-ble.d.ts +6 -0
  322. package/lib/feature/password/temporary/custom-dp-ble.js +263 -0
  323. package/lib/feature/password/temporary/custom-dp-create-shared.d.ts +34 -0
  324. package/lib/feature/password/temporary/custom-dp-create-shared.js +64 -0
  325. package/lib/feature/password/temporary/custom-dp.d.ts +6 -0
  326. package/lib/feature/password/temporary/custom-dp.js +241 -0
  327. package/lib/feature/password/temporary/freeze-ble-key.d.ts +4 -0
  328. package/lib/feature/password/temporary/freeze-ble-key.js +7 -0
  329. package/lib/feature/password/temporary/freeze-rename.d.ts +5 -0
  330. package/lib/feature/password/temporary/freeze-rename.js +72 -0
  331. package/lib/feature/password/temporary/internal/change-password-phase.d.ts +2 -0
  332. package/lib/feature/password/temporary/internal/change-password-phase.js +48 -0
  333. package/lib/feature/password/temporary/internal/constants.d.ts +12 -0
  334. package/lib/feature/password/temporary/internal/constants.js +21 -0
  335. package/lib/feature/password/temporary/internal/password-helpers.d.ts +4 -0
  336. package/lib/feature/password/temporary/internal/password-helpers.js +18 -0
  337. package/lib/feature/password/temporary/internal/password-type-map.d.ts +2 -0
  338. package/lib/feature/password/temporary/internal/password-type-map.js +7 -0
  339. package/lib/feature/password/temporary/lists.d.ts +16 -0
  340. package/lib/feature/password/temporary/lists.js +157 -0
  341. package/lib/feature/password/temporary/offline-create.d.ts +7 -0
  342. package/lib/feature/password/temporary/offline-create.js +192 -0
  343. package/lib/feature/password/temporary/types.d.ts +107 -0
  344. package/lib/feature/password/temporary/types.js +1 -0
  345. package/lib/feature/password/temporary/wifi-offline.d.ts +5 -0
  346. package/lib/feature/password/temporary/wifi-offline.js +85 -0
  347. package/lib/feature/password/temporary/wifi-online.d.ts +28 -0
  348. package/lib/feature/password/temporary/wifi-online.js +153 -0
  349. package/lib/feature/screen/bind-watch.d.ts +18 -0
  350. package/lib/feature/screen/bind-watch.js +92 -0
  351. package/lib/feature/screen/bind.d.ts +4 -0
  352. package/lib/feature/screen/bind.js +151 -0
  353. package/lib/feature/screen/error.d.ts +1 -0
  354. package/lib/feature/screen/error.js +34 -0
  355. package/lib/feature/screen/event.d.ts +3 -0
  356. package/lib/feature/screen/event.js +19 -0
  357. package/lib/feature/screen/list.d.ts +13 -0
  358. package/lib/feature/screen/list.js +69 -0
  359. package/lib/feature/service/goto-service.d.ts +5 -0
  360. package/lib/feature/service/goto-service.js +16 -0
  361. package/lib/feature/state/clear.d.ts +2 -0
  362. package/lib/feature/state/clear.js +17 -0
  363. package/lib/feature/state/device-status-events.d.ts +5 -0
  364. package/lib/feature/state/device-status-events.js +11 -0
  365. package/lib/feature/state/device-status.d.ts +5 -0
  366. package/lib/feature/state/device-status.js +130 -0
  367. package/lib/feature/state/dp-change.d.ts +3 -0
  368. package/lib/feature/state/dp-change.js +44 -0
  369. package/lib/feature/state/init-state.d.ts +2 -0
  370. package/lib/feature/state/init-state.js +175 -0
  371. package/lib/feature/state/internal/read-is-sleep.d.ts +2 -0
  372. package/lib/feature/state/internal/read-is-sleep.js +9 -0
  373. package/lib/feature/state/internal/share-thread-local.d.ts +2 -0
  374. package/lib/feature/state/internal/share-thread-local.js +4 -0
  375. package/lib/feature/state/platform-routing.d.ts +3 -0
  376. package/lib/feature/state/platform-routing.js +155 -0
  377. package/lib/feature/state/remote-permissions.d.ts +4 -0
  378. package/lib/feature/state/remote-permissions.js +30 -0
  379. package/lib/feature/state/sync/offline-dps.d.ts +2 -0
  380. package/lib/feature/state/sync/offline-dps.js +71 -0
  381. package/lib/feature/state/sync/remote-serect-key.d.ts +3 -0
  382. package/lib/feature/state/sync/remote-serect-key.js +74 -0
  383. package/lib/feature/state/sync/t0.d.ts +3 -0
  384. package/lib/feature/state/sync/t0.js +64 -0
  385. package/lib/feature/unlock/door/check-remote.d.ts +2 -0
  386. package/lib/feature/unlock/door/check-remote.js +40 -0
  387. package/lib/feature/unlock/door/check-user-valid.d.ts +2 -0
  388. package/lib/feature/unlock/door/check-user-valid.js +21 -0
  389. package/lib/feature/unlock/door/door-action.d.ts +2 -0
  390. package/lib/feature/unlock/door/door-action.js +32 -0
  391. package/lib/feature/unlock/door/door-ble-only.d.ts +2 -0
  392. package/lib/feature/unlock/door/door-ble-only.js +102 -0
  393. package/lib/feature/unlock/door/door-matter-lan.d.ts +2 -0
  394. package/lib/feature/unlock/door/door-matter-lan.js +15 -0
  395. package/lib/feature/unlock/door/door-near-dual-mode.d.ts +2 -0
  396. package/lib/feature/unlock/door/door-near-dual-mode.js +39 -0
  397. package/lib/feature/unlock/door/door-remote-cloud.d.ts +2 -0
  398. package/lib/feature/unlock/door/door-remote-cloud.js +69 -0
  399. package/lib/feature/unlock/door/door-report.d.ts +11 -0
  400. package/lib/feature/unlock/door/door-report.js +96 -0
  401. package/lib/feature/unlock/door/internal/report-error.d.ts +2 -0
  402. package/lib/feature/unlock/door/internal/report-error.js +46 -0
  403. package/lib/feature/unlock/door/open-close-path.d.ts +3 -0
  404. package/lib/feature/unlock/door/open-close-path.js +30 -0
  405. package/lib/feature/unlock/door/remote-permission.d.ts +5 -0
  406. package/lib/feature/unlock/door/remote-permission.js +67 -0
  407. package/lib/feature/unlock/door/remove-share-user-once.d.ts +2 -0
  408. package/lib/feature/unlock/door/remove-share-user-once.js +21 -0
  409. package/lib/feature/unlock/door/types.d.ts +4 -0
  410. package/lib/feature/unlock/door/types.js +1 -0
  411. package/lib/feature/unlock/door/voice-unlock-pwd.d.ts +4 -0
  412. package/lib/feature/unlock/door/voice-unlock-pwd.js +25 -0
  413. package/lib/feature/unlock/door/wifi-pro-confirm.d.ts +2 -0
  414. package/lib/feature/unlock/door/wifi-pro-confirm.js +69 -0
  415. package/lib/feature/unlock/method/add-flow.d.ts +7 -0
  416. package/lib/feature/unlock/method/add-flow.js +403 -0
  417. package/lib/feature/unlock/method/add-method-events.d.ts +5 -0
  418. package/lib/feature/unlock/method/add-method-events.js +11 -0
  419. package/lib/feature/unlock/method/add-password.d.ts +3 -0
  420. package/lib/feature/unlock/method/add-password.js +99 -0
  421. package/lib/feature/unlock/method/bind-unbind.d.ts +8 -0
  422. package/lib/feature/unlock/method/bind-unbind.js +113 -0
  423. package/lib/feature/unlock/method/detail.d.ts +3 -0
  424. package/lib/feature/unlock/method/detail.js +35 -0
  425. package/lib/feature/unlock/method/guide.d.ts +3 -0
  426. package/lib/feature/unlock/method/guide.js +48 -0
  427. package/lib/feature/unlock/method/internal/base.d.ts +109 -0
  428. package/lib/feature/unlock/method/internal/base.js +89 -0
  429. package/lib/feature/unlock/method/internal/errors.d.ts +5 -0
  430. package/lib/feature/unlock/method/internal/errors.js +13 -0
  431. package/lib/feature/unlock/method/internal/special-check.d.ts +13 -0
  432. package/lib/feature/unlock/method/internal/special-check.js +38 -0
  433. package/lib/feature/unlock/method/types.d.ts +70 -0
  434. package/lib/feature/unlock/method/types.js +1 -0
  435. package/lib/feature/unlock/method/update-remove.d.ts +4 -0
  436. package/lib/feature/unlock/method/update-remove.js +138 -0
  437. package/lib/feature/unlock/method/verify-code.d.ts +3 -0
  438. package/lib/feature/unlock/method/verify-code.js +7 -0
  439. package/lib/feature/unlock/sync/unlock-method.d.ts +3 -0
  440. package/lib/feature/unlock/sync/unlock-method.js +79 -0
  441. package/lib/feature/user/current-user.d.ts +3 -0
  442. package/lib/feature/user/current-user.js +33 -0
  443. package/lib/feature/user/delete-user-dp.d.ts +3 -0
  444. package/lib/{utils/user.js → feature/user/delete-user-dp.js} +13 -13
  445. package/lib/feature/user/share-user.d.ts +29 -0
  446. package/lib/feature/user/share-user.js +228 -0
  447. package/lib/feature/user/sync-user.d.ts +2 -0
  448. package/lib/feature/user/sync-user.js +151 -0
  449. package/lib/feature/user/user.d.ts +37 -0
  450. package/lib/feature/user/user.js +484 -0
  451. package/lib/feature/utils/index.d.ts +12 -0
  452. package/lib/feature/utils/index.js +165 -0
  453. package/lib/feature/voice-file/voice-file.d.ts +27 -0
  454. package/lib/feature/voice-file/voice-file.js +203 -0
  455. package/lib/fit.d.ts +4 -0
  456. package/lib/fit.js +3 -0
  457. package/lib/index.d.ts +2 -21
  458. package/lib/index.js +1 -74
  459. package/lib/interface.d.ts +54 -3
  460. package/lib/{utils → platform}/device.d.ts +49 -1
  461. package/lib/{utils → platform}/device.js +154 -3
  462. package/lib/platform/index.d.ts +2 -0
  463. package/lib/platform/index.js +2 -0
  464. package/lib/{utils → platform}/ipc.d.ts +3 -0
  465. package/lib/{utils → platform}/ipc.js +14 -0
  466. package/lib/platform/transport/index.d.ts +1 -0
  467. package/lib/platform/transport/index.js +1 -0
  468. package/lib/runtime/LockDeviceRuntime.d.ts +12 -0
  469. package/lib/runtime/LockDeviceRuntime.js +34 -0
  470. package/lib/runtime/device-status/compute-device-status.d.ts +25 -0
  471. package/lib/runtime/device-status/compute-device-status.js +94 -0
  472. package/lib/runtime/index.d.ts +5 -0
  473. package/lib/runtime/index.js +3 -0
  474. package/lib/runtime/lock-config.d.ts +28 -0
  475. package/lib/runtime/lock-config.js +37 -0
  476. package/lib/runtime/registry.d.ts +7 -0
  477. package/lib/runtime/registry.js +28 -0
  478. package/lib/runtime/runtime-state-types.d.ts +20 -0
  479. package/lib/runtime/runtime-state-types.js +1 -0
  480. package/lib/screen.d.ts +4 -0
  481. package/lib/screen.js +3 -0
  482. package/lib/utils/constant.d.ts +3 -0
  483. package/lib/utils/constant.js +3 -0
  484. package/lib/utils/errors.js +39 -4
  485. package/lib/utils/event.js +2 -1
  486. package/lib/utils/index.d.ts +57 -13
  487. package/lib/utils/index.js +49 -118
  488. package/lib/utils/sdk-log.d.ts +28 -0
  489. package/lib/utils/sdk-log.js +128 -0
  490. package/package.json +26 -7
  491. package/lib/capability.d.ts +0 -4
  492. package/lib/config/index.d.ts +0 -28
  493. package/lib/config/index.js +0 -41
  494. package/lib/event.d.ts +0 -2
  495. package/lib/event.js +0 -2
  496. package/lib/linkage.d.ts +0 -8
  497. package/lib/log.d.ts +0 -41
  498. package/lib/log.js +0 -311
  499. package/lib/media.d.ts +0 -14
  500. package/lib/media.js +0 -27
  501. package/lib/offline-dps.d.ts +0 -9
  502. package/lib/offline-dps.js +0 -76
  503. package/lib/open/ble-dedicated-dp.d.ts +0 -4
  504. package/lib/open/ble-dedicated-dp.js +0 -148
  505. package/lib/open/ble-remote-no-dp-key.d.ts +0 -4
  506. package/lib/open/ble-remote-no-dp-key.js +0 -69
  507. package/lib/open/report-status.d.ts +0 -1
  508. package/lib/open/report-status.js +0 -23
  509. package/lib/open.d.ts +0 -22
  510. package/lib/open.js +0 -262
  511. package/lib/other.d.ts +0 -31
  512. package/lib/other.js +0 -291
  513. package/lib/signal.d.ts +0 -14
  514. package/lib/signal.js +0 -31
  515. package/lib/sleep.d.ts +0 -19
  516. package/lib/sleep.js +0 -79
  517. package/lib/state.d.ts +0 -16
  518. package/lib/state.js +0 -351
  519. package/lib/sync/ble-temp-payload.d.ts +0 -2
  520. package/lib/sync/offline-dps.d.ts +0 -1
  521. package/lib/sync/offline-dps.js +0 -29
  522. package/lib/sync/remote-serect-key.d.ts +0 -2
  523. package/lib/sync/remote-serect-key.js +0 -43
  524. package/lib/sync/t0.d.ts +0 -2
  525. package/lib/sync/t0.js +0 -26
  526. package/lib/sync/temp.d.ts +0 -3
  527. package/lib/sync/temp.js +0 -70
  528. package/lib/sync/unlock-method.d.ts +0 -2
  529. package/lib/sync/unlock-method.js +0 -42
  530. package/lib/sync/user.d.ts +0 -2
  531. package/lib/sync/user.js +0 -68
  532. package/lib/temporary.d.ts +0 -171
  533. package/lib/temporary.js +0 -698
  534. package/lib/unlock-method.d.ts +0 -90
  535. package/lib/unlock-method.js +0 -701
  536. package/lib/user.d.ts +0 -30
  537. package/lib/user.js +0 -298
  538. package/lib/utils/publishDps.d.ts +0 -6
  539. package/lib/utils/publishDps.js +0 -78
  540. package/lib/utils/user.d.ts +0 -2
  541. /package/lib/{parse/index.d.ts → utils/parse.d.ts} +0 -0
  542. /package/lib/{parse/index.js → utils/parse.js} +0 -0
@@ -0,0 +1,27 @@
1
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
2
+ import { EffectiveConfig } from "../../interface";
3
+ export interface AddFitTempPwdParams {
4
+ lockDevId: string;
5
+ type: "once" | "limit";
6
+ password: string;
7
+ name?: string;
8
+ effective: EffectiveConfig;
9
+ }
10
+ export interface RemoveFitTempPwdParams {
11
+ id: number;
12
+ }
13
+ export interface UpdateFitTempPwdParams {
14
+ id: number;
15
+ name: string;
16
+ effective: EffectiveConfig;
17
+ }
18
+ export declare function fitAddTempPwdForRuntime(runtime: LockDeviceRuntime, params: AddFitTempPwdParams): Promise<{
19
+ pwdId: number;
20
+ }>;
21
+ export declare function fitRemoveTempPwdForRuntime(runtime: LockDeviceRuntime, params: RemoveFitTempPwdParams): Promise<void>;
22
+ export declare function fitUpdateTempPwdForRuntime(runtime: LockDeviceRuntime, params: UpdateFitTempPwdParams): Promise<void>;
23
+ export interface RenameFitTempPwdParams {
24
+ id: number;
25
+ name: string;
26
+ }
27
+ export declare const fitRenameTempPwdForRuntime: (runtime: LockDeviceRuntime, params: RenameFitTempPwdParams) => Promise<void>;
@@ -0,0 +1,428 @@
1
+ import dpUtils from "@ray-js/tuya-dp-transform";
2
+ import dpCodes from "../../config/dp-code";
3
+ import { fitAddTempPwd, fitReportAddTempPwd, fitRemoveTempPwd, fitReportRemoveTempPwd, fitUpdateTempPwd, fitReportUpdateTempPwd, fitBlePswCreate, fitBlePswDelete, fitBlePswCreateReport, fitBlePswDeleteReport, fitBlePswUpdate, fitBlePswUpdateReport, } from "../../config/dp-map/temp-pwd-fit";
4
+ import { publishDpsForRuntime } from "../dp/publish-dps";
5
+ import { resolveSlaveId } from "./resolve-slave-id";
6
+ import { getError } from "../../utils/errors";
7
+ import { sdkLog } from "../../utils/sdk-log";
8
+ import { addFitOnlineTempPwd, addFitOnlineTempPwdCloud, getFitPasswordList, removeFitOnlineTempPwd, renameFitOnlineTempPwd, updateFitOnlineTempPwd, } from "../../api/fit";
9
+ import { decrypt, encrypt } from "../../platform";
10
+ import { formatPasswordToList, formatWeek, getAppUser, parseWeek, sleep, transformEffectiveConfigToValidConfig, validateEffectiveConfig, } from "../../utils";
11
+ import { hasDpForRuntime } from "../dp/has-dp";
12
+ export async function fitAddTempPwdForRuntime(runtime, params) {
13
+ const startedAt = Date.now();
14
+ sdkLog("info", "fitTempPassword", "addStart", {
15
+ devId: runtime.devId,
16
+ data: {
17
+ type: params.type,
18
+ hasLockDevId: typeof params.lockDevId === "string",
19
+ credentialProvided: typeof params.password === "string" && params.password.length > 0,
20
+ },
21
+ });
22
+ if (params.name && params.name.length > 20) {
23
+ throw getError(1031);
24
+ }
25
+ validateEffectiveConfig(params.effective);
26
+ if (!hasDpForRuntime(runtime, dpCodes.tempPwdCreate) &&
27
+ !hasDpForRuntime(runtime, dpCodes.bleKeyCreate)) {
28
+ throw getError(1045);
29
+ }
30
+ const passwordEncrypted = await encrypt(runtime.config.devInfo.devId, params.password);
31
+ const slaveId = await resolveSlaveId(runtime, params.lockDevId);
32
+ const countryCode = getAppUser()?.phoneCode || "86";
33
+ const schedule = [
34
+ {
35
+ allDay: params.effective.repeat !== "week",
36
+ effectiveTime: params.effective?.effectiveTime ?? 0,
37
+ invalidTime: params.effective?.expiredTime ?? 0,
38
+ workingDay: formatWeek(params.effective?.weeks ?? [0, 0, 0, 0, 0, 0, 0]),
39
+ },
40
+ ];
41
+ const validConfig = transformEffectiveConfigToValidConfig(params.effective);
42
+ const pwdList = formatPasswordToList(params.password);
43
+ if (hasDpForRuntime(runtime, dpCodes.tempPwdCreate)) {
44
+ const payload = dpUtils.format({
45
+ slaveId,
46
+ type: params.type === "once" ? 1 : 0,
47
+ validConfig,
48
+ validNum: params.type === "once" ? 1 : 0,
49
+ pwdLength: params.password.length ?? 0,
50
+ pwd: pwdList,
51
+ }, fitAddTempPwd);
52
+ const res = await publishDpsForRuntime(runtime, { [dpCodes.tempPwdCreate]: payload }, {
53
+ checkReport: (dps) => checkFitTempPwdReport(dps, dpCodes.tempPwdCreate, fitReportAddTempPwd),
54
+ });
55
+ try {
56
+ if (res.status === 0x00) {
57
+ const result = await addFitOnlineTempPwd({
58
+ fittingId: runtime.devId,
59
+ devIdList: [params.lockDevId],
60
+ password: passwordEncrypted,
61
+ effectiveTime: params.effective.effectiveDate,
62
+ invalidTime: params.effective.expiredDate,
63
+ sn: res.unlockId,
64
+ schedule,
65
+ countryCode,
66
+ availTime: params.type === "once" ? 0x01 : 0x00,
67
+ name: params.name,
68
+ });
69
+ sdkLog("info", "fitTempPassword", "addSuccess", {
70
+ devId: runtime.devId,
71
+ duration: Date.now() - startedAt,
72
+ data: { type: params.type },
73
+ });
74
+ return result;
75
+ }
76
+ else {
77
+ switch (res.status) {
78
+ case 0x02:
79
+ throw getError(1041);
80
+ }
81
+ throw getError(1042);
82
+ }
83
+ }
84
+ catch (error) {
85
+ sdkLog("error", "fitTempPassword", "addFail", {
86
+ devId: runtime.devId,
87
+ duration: Date.now() - startedAt,
88
+ data: { type: params.type },
89
+ error,
90
+ });
91
+ throw error;
92
+ }
93
+ }
94
+ else {
95
+ try {
96
+ const result = await addFitOnlineTempPwdCloud({
97
+ fittingId: runtime.devId,
98
+ devIdList: [params.lockDevId],
99
+ password: passwordEncrypted,
100
+ effectiveTime: params.effective.effectiveDate,
101
+ invalidTime: params.effective.expiredDate,
102
+ sn: -1,
103
+ schedule,
104
+ countryCode,
105
+ availTime: params.type === "once" ? 0x01 : 0x00,
106
+ name: params.name,
107
+ });
108
+ const payload = dpUtils.format({
109
+ slaveId,
110
+ msgId: result.msgId,
111
+ type: params.type === "once" ? 0x00 : 0x01,
112
+ validConfig,
113
+ validNum: params.type === "once" ? 0x01 : 0x00,
114
+ pwdLength: params.password.length ?? 0,
115
+ pwd: pwdList,
116
+ }, fitBlePswCreate);
117
+ const res = await publishDpsForRuntime(runtime, { [dpCodes.blePswCreate]: payload }, {
118
+ checkReport: (dps) => {
119
+ if (dps[dpCodes.blePswCreate]) {
120
+ return {
121
+ status: parseInt(dps[dpCodes.blePswCreate].slice(-2), 16),
122
+ };
123
+ }
124
+ return false;
125
+ },
126
+ });
127
+ if (res.status === 0x00) {
128
+ sdkLog("info", "fitTempPassword", "addSuccess", {
129
+ devId: runtime.devId,
130
+ duration: Date.now() - startedAt,
131
+ data: { type: params.type, strategy: "cloud_first" },
132
+ });
133
+ return {
134
+ pwdId: result.msgId,
135
+ };
136
+ }
137
+ else {
138
+ switch (res.status) {
139
+ case 0x02:
140
+ throw getError(1041);
141
+ }
142
+ throw getError(1042);
143
+ }
144
+ }
145
+ catch (error) {
146
+ sdkLog("error", "fitTempPassword", "addFail", {
147
+ devId: runtime.devId,
148
+ duration: Date.now() - startedAt,
149
+ data: { type: params.type, strategy: "cloud_first" },
150
+ error,
151
+ });
152
+ throw error;
153
+ }
154
+ }
155
+ }
156
+ export async function fitRemoveTempPwdForRuntime(runtime, params) {
157
+ const startedAt = Date.now();
158
+ sdkLog("info", "fitTempPassword", "removeStart", {
159
+ devId: runtime.devId,
160
+ data: { id: params.id },
161
+ });
162
+ const supportDeleteDp = hasDpForRuntime(runtime, dpCodes.tempPwdDel);
163
+ const supportBleDeleteDp = hasDpForRuntime(runtime, dpCodes.blePswDelete);
164
+ try {
165
+ if (!supportDeleteDp && !supportBleDeleteDp) {
166
+ throw getError(1045);
167
+ }
168
+ const list = await getFitPasswordList(runtime.devId);
169
+ const exist = list.find((item) => item.unlockBindingId === params.id);
170
+ if (!exist) {
171
+ throw getError(1040);
172
+ }
173
+ if (supportDeleteDp) {
174
+ const payload = dpUtils.format({ slaveId: parseInt(exist.devUnlockId, 16), unlockId: exist.sn }, fitRemoveTempPwd);
175
+ const res = await publishDpsForRuntime(runtime, { [dpCodes.tempPwdDel]: payload }, {
176
+ checkReport: (dps) => checkFitTempPwdReport(dps, dpCodes.tempPwdDel, fitReportRemoveTempPwd),
177
+ });
178
+ sdkLog("info", "fitTempPassword", "removeReport", {
179
+ devId: runtime.devId,
180
+ data: { id: params.id, status: res.status, strategy: "device_first" },
181
+ });
182
+ if (res.status === 0x00 || res.status === 0x02) {
183
+ await removeFitOnlineTempPwd(runtime.devId, exist.pwdId);
184
+ }
185
+ else {
186
+ throw getError(1028);
187
+ }
188
+ }
189
+ else {
190
+ let { sn } = exist;
191
+ if (sn < 1) {
192
+ const { effectiveTime = 0, workingDay = 0, allDay, invalidTime = 0, } = exist.scheduleDetails?.[0] ?? {};
193
+ const repeat = allDay ? "none" : "week";
194
+ const password = await decrypt(runtime.config.devInfo.devId, exist.passWord ?? "");
195
+ const payload = dpUtils.format({
196
+ slaveId: parseInt(exist.devUnlockId, 16),
197
+ msgId: exist.msgId,
198
+ type: exist.opModeSubType === 0 ? 1 : 0,
199
+ validConfig: transformEffectiveConfigToValidConfig({
200
+ effectiveDate: exist.effectiveTime,
201
+ expiredDate: exist.invalidTime,
202
+ repeat: repeat,
203
+ weeks: parseWeek(workingDay),
204
+ effectiveTime,
205
+ expiredTime: invalidTime,
206
+ }),
207
+ validNum: exist.opModeSubType === 0 ? 0 : 1,
208
+ pwdLength: password.length,
209
+ pwd: formatPasswordToList(password),
210
+ }, fitBlePswCreate);
211
+ const res = await publishDpsForRuntime(runtime, { [dpCodes.blePswCreate]: payload }, {
212
+ checkReport: (dps) => checkFitTempPwdReport(dps, dpCodes.blePswCreate, fitBlePswCreateReport),
213
+ });
214
+ sdkLog("info", "fitTempPassword", "removeSyncReport", {
215
+ devId: runtime.devId,
216
+ data: { id: params.id, status: res.status },
217
+ });
218
+ if (res.status === 0) {
219
+ sn = res.unlockId;
220
+ }
221
+ else {
222
+ await sleep(100);
223
+ sdkLog("info", "fitTempPassword", "removeSuccess", {
224
+ devId: runtime.devId,
225
+ duration: Date.now() - startedAt,
226
+ data: { id: params.id, strategy: "cloud_first_sync_skipped" },
227
+ });
228
+ return;
229
+ }
230
+ }
231
+ const payload = dpUtils.format({
232
+ slaveId: parseInt(exist.devUnlockId, 16),
233
+ msgId: exist.msgId,
234
+ type: exist.opModeSubType === 0 ? 1 : 0,
235
+ unlockId: sn,
236
+ }, fitBlePswDelete);
237
+ const res = await publishDpsForRuntime(runtime, {
238
+ [dpCodes.blePswDelete]: payload,
239
+ }, {
240
+ checkReport: (dps) => checkFitTempPwdReport(dps, dpCodes.blePswDelete, fitBlePswDeleteReport),
241
+ });
242
+ sdkLog("info", "fitTempPassword", "removeReport", {
243
+ devId: runtime.devId,
244
+ data: { id: params.id, status: res.status, strategy: "cloud_first" },
245
+ });
246
+ if (res.status === 0x00 || res.status === 0x03) {
247
+ await sleep(100);
248
+ sdkLog("info", "fitTempPassword", "removeSuccess", {
249
+ devId: runtime.devId,
250
+ duration: Date.now() - startedAt,
251
+ data: { id: params.id, strategy: "cloud_first" },
252
+ });
253
+ return;
254
+ }
255
+ else {
256
+ switch (res.status) {
257
+ case 0x02:
258
+ throw getError(1091);
259
+ }
260
+ throw getError(1028);
261
+ }
262
+ }
263
+ sdkLog("info", "fitTempPassword", "removeSuccess", {
264
+ devId: runtime.devId,
265
+ duration: Date.now() - startedAt,
266
+ data: { id: params.id, strategy: "device_first" },
267
+ });
268
+ }
269
+ catch (error) {
270
+ sdkLog("error", "fitTempPassword", "removeFail", {
271
+ devId: runtime.devId,
272
+ duration: Date.now() - startedAt,
273
+ data: { id: params.id },
274
+ error,
275
+ });
276
+ throw error;
277
+ }
278
+ }
279
+ export async function fitUpdateTempPwdForRuntime(runtime, params) {
280
+ const startedAt = Date.now();
281
+ sdkLog("info", "fitTempPassword", "updateStart", {
282
+ devId: runtime.devId,
283
+ data: { id: params.id, hasName: typeof params.name === "string" },
284
+ });
285
+ const supportUpdateDp = hasDpForRuntime(runtime, dpCodes.tempPwdEdit);
286
+ const supportBleUpdateDp = hasDpForRuntime(runtime, dpCodes.blePswUpdate);
287
+ try {
288
+ if (!supportUpdateDp && !supportBleUpdateDp) {
289
+ throw getError(1045);
290
+ }
291
+ const list = await getFitPasswordList(runtime.devId);
292
+ const exist = list.find((item) => item.unlockBindingId === params.id);
293
+ if (!exist) {
294
+ throw getError(1040);
295
+ }
296
+ if (!params.name || !params.name.trim()) {
297
+ throw getError(1054);
298
+ }
299
+ if (params.name.trim().length > 20) {
300
+ throw getError(1031);
301
+ }
302
+ validateEffectiveConfig(params.effective);
303
+ const schedule = [
304
+ {
305
+ allDay: params.effective.repeat !== "week",
306
+ effectiveTime: params.effective?.effectiveTime ?? 0,
307
+ invalidTime: params.effective?.expiredTime ?? 0,
308
+ workingDay: formatWeek(params.effective?.weeks ?? [0, 0, 0, 0, 0, 0, 0]),
309
+ },
310
+ ];
311
+ if (supportUpdateDp) {
312
+ const payload = dpUtils.format({
313
+ slaveId: parseInt(exist.devUnlockId, 16),
314
+ unlockId: exist.sn,
315
+ type: exist.opModeSubType === 0 ? 1 : 0,
316
+ validConfig: transformEffectiveConfigToValidConfig(params.effective),
317
+ validNum: exist.opModeSubType === 0 ? 0 : 1,
318
+ pwdLength: 0,
319
+ pwd: [],
320
+ }, fitUpdateTempPwd);
321
+ const res = await publishDpsForRuntime(runtime, { [dpCodes.tempPwdEdit]: payload }, {
322
+ checkReport: (dps) => checkFitTempPwdReport(dps, dpCodes.tempPwdEdit, fitReportUpdateTempPwd),
323
+ });
324
+ sdkLog("info", "fitTempPassword", "updateReport", {
325
+ devId: runtime.devId,
326
+ data: { id: params.id, status: res.status, strategy: "device_first" },
327
+ });
328
+ if (res.status === 0x00) {
329
+ await updateFitOnlineTempPwd(runtime.devId, {
330
+ pwdId: exist.unlockBindingId,
331
+ name: params.name,
332
+ effectiveTime: params.effective.effectiveDate,
333
+ invalidTime: params.effective.expiredDate,
334
+ sn: exist.sn,
335
+ schedule,
336
+ });
337
+ }
338
+ else {
339
+ throw getError(1028);
340
+ }
341
+ }
342
+ else {
343
+ await updateFitOnlineTempPwd(runtime.devId, {
344
+ pwdId: exist.unlockBindingId,
345
+ name: params.name,
346
+ effectiveTime: params.effective.effectiveDate,
347
+ invalidTime: params.effective.expiredDate,
348
+ availTime: exist.opModeSubType === 0 ? 0 : 1,
349
+ sn: exist.sn,
350
+ schedule,
351
+ });
352
+ const payload = dpUtils.format({
353
+ slaveId: parseInt(exist.devUnlockId, 16),
354
+ msgId: exist.msgId,
355
+ type: exist.opModeSubType === 0 ? 1 : 0,
356
+ unlockId: exist.sn,
357
+ validConfig: transformEffectiveConfigToValidConfig(params.effective),
358
+ validNum: exist.opModeSubType === 0 ? 0 : 1,
359
+ pwdLength: 0,
360
+ pwd: [],
361
+ }, fitBlePswUpdate);
362
+ const res = await publishDpsForRuntime(runtime, { [dpCodes.blePswUpdate]: payload }, {
363
+ checkReport: (dps) => checkFitTempPwdReport(dps, dpCodes.blePswUpdate, fitBlePswUpdateReport),
364
+ });
365
+ sdkLog("info", "fitTempPassword", "updateReport", {
366
+ devId: runtime.devId,
367
+ data: { id: params.id, status: res.status, strategy: "cloud_first" },
368
+ });
369
+ if (res.status !== 0x00) {
370
+ switch (res.status) {
371
+ case 0x02:
372
+ throw getError(1091);
373
+ case 0x03:
374
+ throw getError(1092);
375
+ }
376
+ throw getError(1082);
377
+ }
378
+ }
379
+ sdkLog("info", "fitTempPassword", "updateSuccess", {
380
+ devId: runtime.devId,
381
+ duration: Date.now() - startedAt,
382
+ data: {
383
+ id: params.id,
384
+ strategy: supportUpdateDp ? "device_first" : "cloud_first",
385
+ },
386
+ });
387
+ }
388
+ catch (error) {
389
+ sdkLog("error", "fitTempPassword", "updateFail", {
390
+ devId: runtime.devId,
391
+ duration: Date.now() - startedAt,
392
+ data: { id: params.id },
393
+ error,
394
+ });
395
+ throw error;
396
+ }
397
+ }
398
+ function checkFitTempPwdReport(dps, dpCode, reportMap) {
399
+ const raw = dps[dpCode];
400
+ if (typeof raw !== "string") {
401
+ return false;
402
+ }
403
+ return dpUtils.parse(raw, reportMap);
404
+ }
405
+ export const fitRenameTempPwdForRuntime = async (runtime, params) => {
406
+ const startedAt = Date.now();
407
+ sdkLog("info", "fitTempPassword", "renameStart", {
408
+ devId: runtime.devId,
409
+ data: { id: params.id, hasName: typeof params.name === "string" },
410
+ });
411
+ try {
412
+ await renameFitOnlineTempPwd(runtime.devId, params.id, params.name);
413
+ sdkLog("info", "fitTempPassword", "renameSuccess", {
414
+ devId: runtime.devId,
415
+ duration: Date.now() - startedAt,
416
+ data: { id: params.id },
417
+ });
418
+ }
419
+ catch (error) {
420
+ sdkLog("error", "fitTempPassword", "renameFail", {
421
+ devId: runtime.devId,
422
+ duration: Date.now() - startedAt,
423
+ data: { id: params.id },
424
+ error,
425
+ });
426
+ throw error;
427
+ }
428
+ };
@@ -0,0 +1,12 @@
1
+ import type { UserType } from "../../constant";
2
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
3
+ export interface FitUserItem {
4
+ userId: string;
5
+ lockUserId: number;
6
+ avatarUrl: string;
7
+ nickName: string;
8
+ userType: UserType;
9
+ userContact: string;
10
+ phase: number;
11
+ }
12
+ export declare function getFitUsersForRuntime(runtime: LockDeviceRuntime): Promise<FitUserItem[]>;
@@ -0,0 +1,25 @@
1
+ import { getFitUserListApi } from "../../api/fit";
2
+ import { sdkLog } from "../../utils/sdk-log";
3
+ const pickFitUserItem = (raw) => ({
4
+ userId: raw.userId,
5
+ lockUserId: raw.lockUserId,
6
+ avatarUrl: raw.avatarUrl,
7
+ nickName: raw.nickName,
8
+ userType: raw.userType,
9
+ userContact: raw.userContact,
10
+ phase: raw.phase,
11
+ });
12
+ export async function getFitUsersForRuntime(runtime) {
13
+ const startedAt = Date.now();
14
+ sdkLog("info", "fit", "getUsersStart", {
15
+ devId: runtime.devId,
16
+ });
17
+ const list = await getFitUserListApi(runtime.devId);
18
+ const result = Array.isArray(list) ? list.map(pickFitUserItem) : [];
19
+ sdkLog("info", "fit", "getUsersSuccess", {
20
+ devId: runtime.devId,
21
+ duration: Date.now() - startedAt,
22
+ data: { count: result.length },
23
+ });
24
+ return result;
25
+ }
@@ -0,0 +1,10 @@
1
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
2
+ export interface RemainingInfo {
3
+ message: number;
4
+ phone: number;
5
+ }
6
+ export declare const getRemainingInfo: () => Promise<RemainingInfo>;
7
+ export declare function getDoorbellServiceForRuntime(rt: LockDeviceRuntime): Promise<import("../../api/linkage").LinkageRule | undefined>;
8
+ export declare function enableDoorbellServiceForRuntime(rt: LockDeviceRuntime): Promise<void>;
9
+ export declare function disableDoorbellServiceForRuntime(rt: LockDeviceRuntime): Promise<void>;
10
+ export declare function toSetDoorbellServiceForRuntime(rt: LockDeviceRuntime): Promise<void>;
@@ -1,8 +1,7 @@
1
- import { disableLinkage, enableLinkage, getLinkageList, getRemainingMessage, getRemainingPhone, saveLinkage, } from "./api/linkage";
2
- import config from "./config";
3
- import { getHomeInfo } from "./utils";
4
- import { createAction, editAction } from "./utils/device";
5
- import { getError } from "./utils/errors";
1
+ import { disableLinkage, enableLinkage, getLinkageList, getRemainingMessage, getRemainingPhone, saveLinkage, } from "../../api/linkage";
2
+ import { getHomeInfo } from "../../utils";
3
+ import { createAction, editAction } from "../../platform/device";
4
+ import { getError } from "../../utils/errors";
6
5
  const DOORBELL_RING_TYPE = "doorbell_ring";
7
6
  const TARGET_KEY = "appPushTrigger";
8
7
  const ACTION_TYPE = "kafkaSend";
@@ -19,22 +18,16 @@ export const getRemainingInfo = async () => {
19
18
  phone,
20
19
  };
21
20
  };
22
- export const getDoorbellService = async () => {
21
+ export async function getDoorbellServiceForRuntime(rt) {
23
22
  const homeInfo = await getHomeInfo();
24
- const list = await getLinkageList(config.devInfo.devId, homeInfo.homeId);
23
+ const list = await getLinkageList(rt.config.devInfo.devId, homeInfo.homeId);
25
24
  return list.find((item) => item.code === DOORBELL_RING_TYPE && item.ruleId);
26
- };
27
- const createDoorbellService = async () => {
28
- const actions = await createAction({
29
- createType: "remind",
30
- smartType: "auto",
31
- });
32
- await saveDoorbellService(actions);
33
- };
34
- const saveDoorbellService = async (actions) => {
25
+ }
26
+ const saveDoorbellServiceForRuntime = async (rt, actions) => {
35
27
  const homeInfo = await getHomeInfo();
28
+ const devId = rt.config.devInfo.devId;
36
29
  saveLinkage({
37
- devId: config.devInfo.devId,
30
+ devId,
38
31
  ownerId: homeInfo.homeId,
39
32
  name: "doorbell",
40
33
  enabled: true,
@@ -55,7 +48,7 @@ const saveDoorbellService = async (actions) => {
55
48
  conditions: [
56
49
  {
57
50
  entityType: 23,
58
- entityId: config.devInfo.devId,
51
+ entityId: devId,
59
52
  entitySubIds: "",
60
53
  iconUrl: "",
61
54
  expr: [],
@@ -99,27 +92,34 @@ const saveDoorbellService = async (actions) => {
99
92
  ],
100
93
  }, homeInfo.homeId);
101
94
  };
102
- export const enableDoorbellService = async () => {
95
+ const createDoorbellServiceForRuntime = async (rt) => {
96
+ const actions = await createAction({
97
+ createType: "remind",
98
+ smartType: "auto",
99
+ });
100
+ await saveDoorbellServiceForRuntime(rt, actions);
101
+ };
102
+ export async function enableDoorbellServiceForRuntime(rt) {
103
103
  const homeInfo = await getHomeInfo();
104
- const service = await getDoorbellService();
104
+ const service = await getDoorbellServiceForRuntime(rt);
105
105
  if (service && service.ruleId) {
106
106
  await enableLinkage(service.ruleId, homeInfo.homeId);
107
107
  }
108
108
  else {
109
- await createDoorbellService();
109
+ await createDoorbellServiceForRuntime(rt);
110
110
  }
111
- };
112
- export const disableDoorbellService = async () => {
111
+ }
112
+ export async function disableDoorbellServiceForRuntime(rt) {
113
113
  const homeInfo = await getHomeInfo();
114
- const service = await getDoorbellService();
114
+ const service = await getDoorbellServiceForRuntime(rt);
115
115
  if (service && service.ruleId) {
116
116
  await disableLinkage(service.ruleId, homeInfo.homeId);
117
117
  return;
118
118
  }
119
119
  throw getError(1059);
120
- };
121
- export const toSetDoorbellService = async () => {
122
- const service = await getDoorbellService();
120
+ }
121
+ export async function toSetDoorbellServiceForRuntime(rt) {
122
+ const service = await getDoorbellServiceForRuntime(rt);
123
123
  if (service && service.ruleId && service.ruleVO) {
124
124
  const findIndex = service.ruleVO.actions.findIndex((item) => item.actionExecutor === TARGET_KEY ||
125
125
  item.actionExecutor === ACTION_TYPE);
@@ -135,9 +135,9 @@ export const toSetDoorbellService = async () => {
135
135
  return item;
136
136
  }),
137
137
  });
138
- await saveDoorbellService(actions);
138
+ await saveDoorbellServiceForRuntime(rt, actions);
139
139
  }
140
140
  else {
141
- await createDoorbellService();
141
+ await createDoorbellServiceForRuntime(rt);
142
142
  }
143
- };
143
+ }
@@ -0,0 +1,63 @@
1
+ import { LockLogCategory } from "../../api/log";
2
+ import { AlbumMessage, LogData, UnlockMethodType } from "../../interface";
3
+ import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
4
+ export type LogsRefreshListener = () => void;
5
+ export declare function getLogsRefreshEvent(runtime: LockDeviceRuntime): string;
6
+ export declare const unlockDp2Type: Record<string, UnlockMethodType>;
7
+ export interface GetLatestLogsResult {
8
+ data: LogData[];
9
+ unreadCount: number;
10
+ }
11
+ export declare function getLatestLogsForRuntime(rt: LockDeviceRuntime): Promise<GetLatestLogsResult>;
12
+ export declare const onLogsRefreshForRuntime: (rt: LockDeviceRuntime, cb: LogsRefreshListener) => void;
13
+ export declare const offLogsRefreshForRuntime: (rt: LockDeviceRuntime, cb: LogsRefreshListener) => void;
14
+ export interface GetLogsParams {
15
+ page?: number;
16
+ pageSize?: number;
17
+ }
18
+ export declare const openDps: ("unlock_matter_kw" | "unlock_password" | "unlock_fingerprint" | "unlock_finger_vein" | "unlock_hand" | "unlock_dynamic" | "unlock_key" | "unlock_card" | "unlock_face" | "unlock_temporary" | "unlock_offline_pd" | "unlock_phone_remote" | "unlock_voice_remote" | "lock_record" | "unlock_ble" | "unlock_eye" | "unlock_double_kit" | "unlock_double_kit_w" | "open_inside" | "lock_local_record" | "unlock_inside" | "door_opened" | "unlock_app")[];
19
+ export interface GetLogsResult {
20
+ list: LogData[];
21
+ hasMore: boolean;
22
+ total: number;
23
+ }
24
+ export declare function getLogsForRuntime(rt: LockDeviceRuntime, params?: GetLogsParams): Promise<GetLogsResult>;
25
+ export interface GetAlarmsParams {
26
+ page?: number;
27
+ pageSize?: number;
28
+ }
29
+ export interface GetAlarmsResult {
30
+ list: LogData[];
31
+ hasMore: boolean;
32
+ total: number;
33
+ }
34
+ export declare function getAlarmsForRuntime(rt: LockDeviceRuntime, params?: GetAlarmsParams): Promise<GetAlarmsResult>;
35
+ export interface GetAlbumsParams {
36
+ page?: number;
37
+ pageSize?: number;
38
+ startTime?: number;
39
+ endTime?: number;
40
+ }
41
+ export interface GetAlbumsResult {
42
+ hasMore: boolean;
43
+ list: AlbumMessage[];
44
+ allAitypes: number[];
45
+ types: number[];
46
+ langMap: string[];
47
+ }
48
+ export declare function getAlbumsForRuntime(rt: LockDeviceRuntime, params?: GetAlbumsParams): Promise<GetAlbumsResult>;
49
+ export interface GetLockLogListParams {
50
+ logCategories?: LockLogCategory[];
51
+ userIds?: string;
52
+ onlyShowMediaRecord?: boolean;
53
+ startTime?: number;
54
+ endTime?: number;
55
+ lastRowKey?: string;
56
+ limit: number;
57
+ }
58
+ export interface GetLockLogListResult {
59
+ list: LogData[];
60
+ hasNext: boolean;
61
+ lastRowKey: string;
62
+ }
63
+ export declare const getLockLogListForRuntime: (rt: LockDeviceRuntime, params: GetLockLogListParams) => Promise<GetLockLogListResult>;