@oxidezap/baileyrs 0.0.26 → 0.0.28

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 (531) hide show
  1. package/README.md +31 -460
  2. package/lib/Bridge/adapt.d.ts +2 -0
  3. package/lib/Bridge/adapt.d.ts.map +1 -1
  4. package/lib/Bridge/adapt.js +2 -1
  5. package/lib/Bridge/adapt.js.map +1 -1
  6. package/lib/Bridge/history-sync-wire.d.ts +17 -0
  7. package/lib/Bridge/history-sync-wire.d.ts.map +1 -0
  8. package/lib/Bridge/history-sync-wire.js +61 -0
  9. package/lib/Bridge/history-sync-wire.js.map +1 -0
  10. package/lib/Bridge/index.d.ts +1 -1
  11. package/lib/Bridge/index.d.ts.map +1 -1
  12. package/lib/Bridge/index.js +3 -3
  13. package/lib/Bridge/index.js.map +1 -1
  14. package/lib/Bridge/primitives.d.ts +4 -0
  15. package/lib/Bridge/primitives.d.ts.map +1 -1
  16. package/lib/Bridge/primitives.js +14 -0
  17. package/lib/Bridge/primitives.js.map +1 -1
  18. package/lib/Bridge/schema.d.ts +9 -2
  19. package/lib/Bridge/schema.d.ts.map +1 -1
  20. package/lib/Bridge/schema.js +263 -35
  21. package/lib/Bridge/schema.js.map +1 -1
  22. package/lib/Bridge/types.d.ts +117 -3
  23. package/lib/Bridge/types.d.ts.map +1 -1
  24. package/lib/Compatibility/group-metadata.d.ts +9 -0
  25. package/lib/Compatibility/group-metadata.d.ts.map +1 -0
  26. package/lib/Compatibility/group-metadata.js +70 -0
  27. package/lib/Compatibility/group-metadata.js.map +1 -0
  28. package/lib/Compatibility/group-notifications.d.ts +22 -0
  29. package/lib/Compatibility/group-notifications.d.ts.map +1 -0
  30. package/lib/Compatibility/group-notifications.js +307 -0
  31. package/lib/Compatibility/group-notifications.js.map +1 -0
  32. package/lib/Compatibility/group-stub-params.d.ts +32 -0
  33. package/lib/Compatibility/group-stub-params.d.ts.map +1 -0
  34. package/lib/Compatibility/group-stub-params.js +57 -0
  35. package/lib/Compatibility/group-stub-params.js.map +1 -0
  36. package/lib/Compatibility/internal/async-primitives.d.ts +16 -0
  37. package/lib/Compatibility/internal/async-primitives.d.ts.map +1 -0
  38. package/lib/Compatibility/internal/async-primitives.js +42 -0
  39. package/lib/Compatibility/internal/async-primitives.js.map +1 -0
  40. package/lib/Compatibility/internal/auth-state.d.ts +15 -0
  41. package/lib/Compatibility/internal/auth-state.d.ts.map +1 -0
  42. package/lib/Compatibility/internal/auth-state.js +21 -0
  43. package/lib/Compatibility/internal/auth-state.js.map +1 -0
  44. package/lib/Compatibility/internal/cache-store.d.ts +7 -0
  45. package/lib/Compatibility/internal/cache-store.d.ts.map +1 -0
  46. package/lib/Compatibility/internal/cache-store.js +19 -0
  47. package/lib/Compatibility/internal/cache-store.js.map +1 -0
  48. package/lib/Compatibility/internal/expiring-lru-map.d.ts +21 -0
  49. package/lib/Compatibility/internal/expiring-lru-map.d.ts.map +1 -0
  50. package/lib/Compatibility/internal/expiring-lru-map.js +68 -0
  51. package/lib/Compatibility/internal/expiring-lru-map.js.map +1 -0
  52. package/lib/Compatibility/internal/make-mutex.d.ts +7 -0
  53. package/lib/Compatibility/internal/make-mutex.d.ts.map +1 -0
  54. package/lib/Compatibility/internal/make-mutex.js +31 -0
  55. package/lib/Compatibility/internal/make-mutex.js.map +1 -0
  56. package/lib/Compatibility/internal/native-memory-store.d.ts +6 -0
  57. package/lib/Compatibility/internal/native-memory-store.d.ts.map +1 -0
  58. package/lib/Compatibility/internal/native-memory-store.js +8 -0
  59. package/lib/Compatibility/internal/native-memory-store.js.map +1 -0
  60. package/lib/Compatibility/internal/numeric-enum.d.ts +8 -0
  61. package/lib/Compatibility/internal/numeric-enum.d.ts.map +1 -0
  62. package/lib/Compatibility/internal/numeric-enum.js +11 -0
  63. package/lib/Compatibility/internal/numeric-enum.js.map +1 -0
  64. package/lib/Compatibility/internal/signal-key-store.d.ts +9 -0
  65. package/lib/Compatibility/internal/signal-key-store.d.ts.map +1 -0
  66. package/lib/Compatibility/internal/signal-key-store.js +17 -0
  67. package/lib/Compatibility/internal/signal-key-store.js.map +1 -0
  68. package/lib/Compatibility/legacy-store/adapter.d.ts +4 -0
  69. package/lib/Compatibility/legacy-store/adapter.d.ts.map +1 -0
  70. package/lib/Compatibility/legacy-store/adapter.js +301 -0
  71. package/lib/Compatibility/legacy-store/adapter.js.map +1 -0
  72. package/lib/Compatibility/legacy-store/codecs/basic.d.ts +6 -0
  73. package/lib/Compatibility/legacy-store/codecs/basic.d.ts.map +1 -0
  74. package/lib/Compatibility/legacy-store/codecs/basic.js +184 -0
  75. package/lib/Compatibility/legacy-store/codecs/basic.js.map +1 -0
  76. package/lib/Compatibility/legacy-store/codecs/index.d.ts +6 -0
  77. package/lib/Compatibility/legacy-store/codecs/index.d.ts.map +1 -0
  78. package/lib/Compatibility/legacy-store/codecs/index.js +7 -0
  79. package/lib/Compatibility/legacy-store/codecs/index.js.map +1 -0
  80. package/lib/Compatibility/legacy-store/codecs/signal.d.ts +8 -0
  81. package/lib/Compatibility/legacy-store/codecs/signal.d.ts.map +1 -0
  82. package/lib/Compatibility/legacy-store/codecs/signal.js +219 -0
  83. package/lib/Compatibility/legacy-store/codecs/signal.js.map +1 -0
  84. package/lib/Compatibility/legacy-store/common.d.ts +25 -0
  85. package/lib/Compatibility/legacy-store/common.d.ts.map +1 -0
  86. package/lib/Compatibility/legacy-store/common.js +112 -0
  87. package/lib/Compatibility/legacy-store/common.js.map +1 -0
  88. package/lib/Compatibility/legacy-store/constants.d.ts +226 -0
  89. package/lib/Compatibility/legacy-store/constants.d.ts.map +1 -0
  90. package/lib/Compatibility/legacy-store/constants.js +199 -0
  91. package/lib/Compatibility/legacy-store/constants.js.map +1 -0
  92. package/lib/Compatibility/legacy-store/device.d.ts +9 -0
  93. package/lib/Compatibility/legacy-store/device.d.ts.map +1 -0
  94. package/lib/Compatibility/legacy-store/device.js +192 -0
  95. package/lib/Compatibility/legacy-store/device.js.map +1 -0
  96. package/lib/Compatibility/legacy-store/multi-file.d.ts +6 -0
  97. package/lib/Compatibility/legacy-store/multi-file.d.ts.map +1 -0
  98. package/lib/Compatibility/legacy-store/multi-file.js +84 -0
  99. package/lib/Compatibility/legacy-store/multi-file.js.map +1 -0
  100. package/lib/Compatibility/legacy-store/native-projection.d.ts +8 -0
  101. package/lib/Compatibility/legacy-store/native-projection.d.ts.map +1 -0
  102. package/lib/Compatibility/legacy-store/native-projection.js +109 -0
  103. package/lib/Compatibility/legacy-store/native-projection.js.map +1 -0
  104. package/lib/Compatibility/legacy-store/routing.d.ts +18 -0
  105. package/lib/Compatibility/legacy-store/routing.d.ts.map +1 -0
  106. package/lib/Compatibility/legacy-store/routing.js +162 -0
  107. package/lib/Compatibility/legacy-store/routing.js.map +1 -0
  108. package/lib/Compatibility/legacy-store/types.d.ts +41 -0
  109. package/lib/Compatibility/legacy-store/types.d.ts.map +1 -0
  110. package/lib/Compatibility/legacy-store/types.js +3 -0
  111. package/lib/Compatibility/legacy-store/types.js.map +1 -0
  112. package/lib/Compatibility/legacy-store/validation.d.ts +9 -0
  113. package/lib/Compatibility/legacy-store/validation.d.ts.map +1 -0
  114. package/lib/Compatibility/legacy-store/validation.js +49 -0
  115. package/lib/Compatibility/legacy-store/validation.js.map +1 -0
  116. package/lib/Compatibility/media-type.d.ts +10 -0
  117. package/lib/Compatibility/media-type.d.ts.map +1 -0
  118. package/lib/Compatibility/media-type.js +31 -0
  119. package/lib/Compatibility/media-type.js.map +1 -0
  120. package/lib/Compatibility/message-keys.d.ts +9 -0
  121. package/lib/Compatibility/message-keys.d.ts.map +1 -0
  122. package/lib/Compatibility/message-keys.js +15 -0
  123. package/lib/Compatibility/message-keys.js.map +1 -0
  124. package/lib/Compatibility/message-relay.d.ts +26 -0
  125. package/lib/Compatibility/message-relay.d.ts.map +1 -0
  126. package/lib/Compatibility/message-relay.js +61 -0
  127. package/lib/Compatibility/message-relay.js.map +1 -0
  128. package/lib/Compatibility/message-upsert.d.ts +11 -0
  129. package/lib/Compatibility/message-upsert.d.ts.map +1 -0
  130. package/lib/Compatibility/message-upsert.js +8 -0
  131. package/lib/Compatibility/message-upsert.js.map +1 -0
  132. package/lib/Compatibility/participating-refresh.d.ts +9 -0
  133. package/lib/Compatibility/participating-refresh.d.ts.map +1 -0
  134. package/lib/Compatibility/participating-refresh.js +14 -0
  135. package/lib/Compatibility/participating-refresh.js.map +1 -0
  136. package/lib/Compatibility/proto-runtime.d.ts +9 -0
  137. package/lib/Compatibility/proto-runtime.d.ts.map +1 -0
  138. package/lib/Compatibility/proto-runtime.js +567 -0
  139. package/lib/Compatibility/proto-runtime.js.map +1 -0
  140. package/lib/Compatibility/public-api/auth-utils.d.ts +6 -0
  141. package/lib/Compatibility/public-api/auth-utils.d.ts.map +1 -0
  142. package/lib/Compatibility/public-api/auth-utils.js +202 -0
  143. package/lib/Compatibility/public-api/auth-utils.js.map +1 -0
  144. package/lib/Compatibility/public-api/enum-types.d.ts +163 -0
  145. package/lib/Compatibility/public-api/enum-types.d.ts.map +1 -0
  146. package/lib/Compatibility/public-api/enum-types.js +10 -0
  147. package/lib/Compatibility/public-api/enum-types.js.map +1 -0
  148. package/lib/Compatibility/public-api/identity-change-handler.d.ts +42 -0
  149. package/lib/Compatibility/public-api/identity-change-handler.d.ts.map +1 -0
  150. package/lib/Compatibility/public-api/identity-change-handler.js +38 -0
  151. package/lib/Compatibility/public-api/identity-change-handler.js.map +1 -0
  152. package/lib/Compatibility/public-api/message-retry-manager.d.ts +62 -0
  153. package/lib/Compatibility/public-api/message-retry-manager.d.ts.map +1 -0
  154. package/lib/Compatibility/public-api/message-retry-manager.js +180 -0
  155. package/lib/Compatibility/public-api/message-retry-manager.js.map +1 -0
  156. package/lib/Compatibility/public-api/pre-key-manager.d.ts +14 -0
  157. package/lib/Compatibility/public-api/pre-key-manager.d.ts.map +1 -0
  158. package/lib/Compatibility/public-api/pre-key-manager.js +83 -0
  159. package/lib/Compatibility/public-api/pre-key-manager.js.map +1 -0
  160. package/lib/Compatibility/public-api/stanza-ack.d.ts +4 -0
  161. package/lib/Compatibility/public-api/stanza-ack.d.ts.map +1 -0
  162. package/lib/Compatibility/public-api/stanza-ack.js +20 -0
  163. package/lib/Compatibility/public-api/stanza-ack.js.map +1 -0
  164. package/lib/Compatibility/signal-repository.d.ts +12 -0
  165. package/lib/Compatibility/signal-repository.d.ts.map +1 -0
  166. package/lib/Compatibility/signal-repository.js +131 -0
  167. package/lib/Compatibility/signal-repository.js.map +1 -0
  168. package/lib/Compatibility/socket-results.d.ts +28 -0
  169. package/lib/Compatibility/socket-results.d.ts.map +1 -0
  170. package/lib/Compatibility/socket-results.js +72 -0
  171. package/lib/Compatibility/socket-results.js.map +1 -0
  172. package/lib/Compatibility/stanza-responses.d.ts +13 -0
  173. package/lib/Compatibility/stanza-responses.d.ts.map +1 -0
  174. package/lib/Compatibility/stanza-responses.js +16 -0
  175. package/lib/Compatibility/stanza-responses.js.map +1 -0
  176. package/lib/Compatibility/tagged-message-waiter.d.ts +5 -0
  177. package/lib/Compatibility/tagged-message-waiter.d.ts.map +1 -0
  178. package/lib/Compatibility/tagged-message-waiter.js +42 -0
  179. package/lib/Compatibility/tagged-message-waiter.js.map +1 -0
  180. package/lib/Compatibility/usync/adapter.d.ts +13 -0
  181. package/lib/Compatibility/usync/adapter.d.ts.map +1 -0
  182. package/lib/Compatibility/usync/adapter.js +291 -0
  183. package/lib/Compatibility/usync/adapter.js.map +1 -0
  184. package/lib/Compatibility/websocket-client.d.ts +40 -0
  185. package/lib/Compatibility/websocket-client.d.ts.map +1 -0
  186. package/lib/Compatibility/websocket-client.js +120 -0
  187. package/lib/Compatibility/websocket-client.js.map +1 -0
  188. package/lib/Defaults/index.d.ts +70 -3
  189. package/lib/Defaults/index.d.ts.map +1 -1
  190. package/lib/Defaults/index.js +107 -15
  191. package/lib/Defaults/index.js.map +1 -1
  192. package/lib/Platform/crypto.d.ts +6 -0
  193. package/lib/Platform/crypto.d.ts.map +1 -0
  194. package/lib/Platform/crypto.js +36 -0
  195. package/lib/Platform/crypto.js.map +1 -0
  196. package/lib/Socket/blocking.d.ts +2 -2
  197. package/lib/Socket/blocking.d.ts.map +1 -1
  198. package/lib/Socket/blocking.js +2 -1
  199. package/lib/Socket/blocking.js.map +1 -1
  200. package/lib/Socket/chat-actions.d.ts +2 -9
  201. package/lib/Socket/chat-actions.d.ts.map +1 -1
  202. package/lib/Socket/chat-actions.js +24 -13
  203. package/lib/Socket/chat-actions.js.map +1 -1
  204. package/lib/Socket/communities.d.ts +61 -0
  205. package/lib/Socket/communities.d.ts.map +1 -0
  206. package/lib/Socket/communities.js +72 -0
  207. package/lib/Socket/communities.js.map +1 -0
  208. package/lib/Socket/contacts.d.ts +4 -2
  209. package/lib/Socket/contacts.d.ts.map +1 -1
  210. package/lib/Socket/contacts.js +6 -4
  211. package/lib/Socket/contacts.js.map +1 -1
  212. package/lib/Socket/events.d.ts +13 -5
  213. package/lib/Socket/events.d.ts.map +1 -1
  214. package/lib/Socket/events.js +282 -57
  215. package/lib/Socket/events.js.map +1 -1
  216. package/lib/Socket/group-notifications.d.ts +1 -30
  217. package/lib/Socket/group-notifications.d.ts.map +1 -1
  218. package/lib/Socket/group-notifications.js +3 -268
  219. package/lib/Socket/group-notifications.js.map +1 -1
  220. package/lib/Socket/groups.d.ts +17 -36
  221. package/lib/Socket/groups.d.ts.map +1 -1
  222. package/lib/Socket/groups.js +111 -116
  223. package/lib/Socket/groups.js.map +1 -1
  224. package/lib/Socket/index.d.ts +140 -201
  225. package/lib/Socket/index.d.ts.map +1 -1
  226. package/lib/Socket/index.js +215 -345
  227. package/lib/Socket/index.js.map +1 -1
  228. package/lib/Socket/message-capping.d.ts +4 -0
  229. package/lib/Socket/message-capping.d.ts.map +1 -0
  230. package/lib/Socket/message-capping.js +22 -0
  231. package/lib/Socket/message-capping.js.map +1 -0
  232. package/lib/Socket/messages.d.ts +8 -14
  233. package/lib/Socket/messages.d.ts.map +1 -1
  234. package/lib/Socket/messages.js +74 -40
  235. package/lib/Socket/messages.js.map +1 -1
  236. package/lib/Socket/newsletter.d.ts +5 -0
  237. package/lib/Socket/newsletter.d.ts.map +1 -1
  238. package/lib/Socket/newsletter.js +7 -0
  239. package/lib/Socket/newsletter.js.map +1 -1
  240. package/lib/Socket/prekeys.d.ts +10 -0
  241. package/lib/Socket/prekeys.d.ts.map +1 -0
  242. package/lib/Socket/prekeys.js +21 -0
  243. package/lib/Socket/prekeys.js.map +1 -0
  244. package/lib/Socket/presence.d.ts +3 -3
  245. package/lib/Socket/presence.d.ts.map +1 -1
  246. package/lib/Socket/presence.js +2 -2
  247. package/lib/Socket/presence.js.map +1 -1
  248. package/lib/Socket/profile.d.ts +6 -8
  249. package/lib/Socket/profile.d.ts.map +1 -1
  250. package/lib/Socket/profile.js +18 -17
  251. package/lib/Socket/profile.js.map +1 -1
  252. package/lib/Socket/reachout.js +1 -1
  253. package/lib/Socket/transport.d.ts.map +1 -1
  254. package/lib/Socket/transport.js +13 -1
  255. package/lib/Socket/transport.js.map +1 -1
  256. package/lib/Socket/types.d.ts +4 -2
  257. package/lib/Socket/types.d.ts.map +1 -1
  258. package/lib/Socket/types.js.map +1 -1
  259. package/lib/Socket/usync.d.ts +12 -0
  260. package/lib/Socket/usync.d.ts.map +1 -0
  261. package/lib/Socket/usync.js +27 -0
  262. package/lib/Socket/usync.js.map +1 -0
  263. package/lib/Types/Auth.d.ts +28 -30
  264. package/lib/Types/Auth.d.ts.map +1 -1
  265. package/lib/Types/Auth.js +1 -1
  266. package/lib/Types/Auth.js.map +1 -1
  267. package/lib/Types/BinaryNode.d.ts +0 -4
  268. package/lib/Types/BinaryNode.d.ts.map +1 -1
  269. package/lib/Types/Bussines.d.ts +1 -1
  270. package/lib/Types/Bussines.d.ts.map +1 -1
  271. package/lib/Types/Call.d.ts +3 -1
  272. package/lib/Types/Call.d.ts.map +1 -1
  273. package/lib/Types/Chat.d.ts +2 -2
  274. package/lib/Types/Chat.d.ts.map +1 -1
  275. package/lib/Types/Events.d.ts +16 -5
  276. package/lib/Types/Events.d.ts.map +1 -1
  277. package/lib/Types/Events.js +1 -1
  278. package/lib/Types/Events.js.map +1 -1
  279. package/lib/Types/GroupMetadata.d.ts +4 -0
  280. package/lib/Types/GroupMetadata.d.ts.map +1 -1
  281. package/lib/Types/Label.d.ts +3 -23
  282. package/lib/Types/Label.d.ts.map +1 -1
  283. package/lib/Types/Label.js +24 -23
  284. package/lib/Types/Label.js.map +1 -1
  285. package/lib/Types/LabelAssociation.d.ts +5 -6
  286. package/lib/Types/LabelAssociation.d.ts.map +1 -1
  287. package/lib/Types/LabelAssociation.js +4 -5
  288. package/lib/Types/LabelAssociation.js.map +1 -1
  289. package/lib/Types/Message.d.ts +45 -10
  290. package/lib/Types/Message.d.ts.map +1 -1
  291. package/lib/Types/Message.js +5 -7
  292. package/lib/Types/Message.js.map +1 -1
  293. package/lib/Types/Newsletter.d.ts +5 -28
  294. package/lib/Types/Newsletter.d.ts.map +1 -1
  295. package/lib/Types/Newsletter.js +34 -30
  296. package/lib/Types/Newsletter.js.map +1 -1
  297. package/lib/Types/Product.d.ts +75 -0
  298. package/lib/Types/Product.d.ts.map +1 -0
  299. package/lib/Types/Product.js +2 -0
  300. package/lib/Types/Product.js.map +1 -0
  301. package/lib/Types/Reachout.d.ts +3 -18
  302. package/lib/Types/Reachout.d.ts.map +1 -1
  303. package/lib/Types/Reachout.js +20 -19
  304. package/lib/Types/Reachout.js.map +1 -1
  305. package/lib/Types/Signal.d.ts +91 -0
  306. package/lib/Types/Signal.d.ts.map +1 -0
  307. package/lib/Types/Signal.js +2 -0
  308. package/lib/Types/Signal.js.map +1 -0
  309. package/lib/Types/Socket.d.ts +76 -30
  310. package/lib/Types/Socket.d.ts.map +1 -1
  311. package/lib/Types/State.d.ts +19 -0
  312. package/lib/Types/State.d.ts.map +1 -1
  313. package/lib/Types/State.js +26 -1
  314. package/lib/Types/State.js.map +1 -1
  315. package/lib/Types/USync.d.ts +9 -0
  316. package/lib/Types/USync.d.ts.map +1 -0
  317. package/lib/Types/USync.js +2 -0
  318. package/lib/Types/USync.js.map +1 -0
  319. package/lib/Types/index.d.ts +9 -12
  320. package/lib/Types/index.d.ts.map +1 -1
  321. package/lib/Types/index.js +30 -30
  322. package/lib/Types/index.js.map +1 -1
  323. package/lib/Utils/auth-utils.d.ts +2 -0
  324. package/lib/Utils/auth-utils.d.ts.map +1 -0
  325. package/lib/Utils/auth-utils.js +3 -0
  326. package/lib/Utils/auth-utils.js.map +1 -0
  327. package/lib/Utils/boom.d.ts +8 -32
  328. package/lib/Utils/boom.d.ts.map +1 -1
  329. package/lib/Utils/boom.js +7 -62
  330. package/lib/Utils/boom.js.map +1 -1
  331. package/lib/Utils/browser-utils.d.ts +1 -0
  332. package/lib/Utils/browser-utils.d.ts.map +1 -1
  333. package/lib/Utils/browser-utils.js +6 -0
  334. package/lib/Utils/browser-utils.js.map +1 -1
  335. package/lib/Utils/companion-reg-client-utils.d.ts +8 -0
  336. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  337. package/lib/Utils/companion-reg-client-utils.js +32 -0
  338. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  339. package/lib/Utils/crypto.d.ts +31 -0
  340. package/lib/Utils/crypto.d.ts.map +1 -0
  341. package/lib/Utils/crypto.js +81 -0
  342. package/lib/Utils/crypto.js.map +1 -0
  343. package/lib/Utils/event-buffer.d.ts +15 -4
  344. package/lib/Utils/event-buffer.d.ts.map +1 -1
  345. package/lib/Utils/event-buffer.js +471 -34
  346. package/lib/Utils/event-buffer.js.map +1 -1
  347. package/lib/Utils/generics.d.ts +52 -15
  348. package/lib/Utils/generics.d.ts.map +1 -1
  349. package/lib/Utils/generics.js +269 -25
  350. package/lib/Utils/generics.js.map +1 -1
  351. package/lib/Utils/group-stub-params.d.ts +1 -28
  352. package/lib/Utils/group-stub-params.d.ts.map +1 -1
  353. package/lib/Utils/group-stub-params.js +2 -44
  354. package/lib/Utils/group-stub-params.js.map +1 -1
  355. package/lib/Utils/identity-change-handler.d.ts +2 -0
  356. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  357. package/lib/Utils/identity-change-handler.js +4 -0
  358. package/lib/Utils/identity-change-handler.js.map +1 -0
  359. package/lib/Utils/index.d.ts +9 -0
  360. package/lib/Utils/index.d.ts.map +1 -1
  361. package/lib/Utils/index.js +19 -10
  362. package/lib/Utils/index.js.map +1 -1
  363. package/lib/Utils/logger.d.ts.map +1 -1
  364. package/lib/Utils/message-retry-manager.d.ts +2 -0
  365. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  366. package/lib/Utils/message-retry-manager.js +4 -0
  367. package/lib/Utils/message-retry-manager.js.map +1 -0
  368. package/lib/Utils/messages-media.d.ts +28 -6
  369. package/lib/Utils/messages-media.d.ts.map +1 -1
  370. package/lib/Utils/messages-media.js +119 -1
  371. package/lib/Utils/messages-media.js.map +1 -1
  372. package/lib/Utils/messages.d.ts +33 -9
  373. package/lib/Utils/messages.d.ts.map +1 -1
  374. package/lib/Utils/messages.js +106 -33
  375. package/lib/Utils/messages.js.map +1 -1
  376. package/lib/Utils/native-crypto-provider.d.ts +10 -8
  377. package/lib/Utils/native-crypto-provider.d.ts.map +1 -1
  378. package/lib/Utils/native-crypto-provider.js +13 -56
  379. package/lib/Utils/native-crypto-provider.js.map +1 -1
  380. package/lib/Utils/pre-key-manager.d.ts +2 -0
  381. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  382. package/lib/Utils/pre-key-manager.js +3 -0
  383. package/lib/Utils/pre-key-manager.js.map +1 -0
  384. package/lib/Utils/process-history-message.d.ts +15 -4
  385. package/lib/Utils/process-history-message.d.ts.map +1 -1
  386. package/lib/Utils/process-history-message.js +162 -95
  387. package/lib/Utils/process-history-message.js.map +1 -1
  388. package/lib/Utils/process-message.d.ts +25 -0
  389. package/lib/Utils/process-message.d.ts.map +1 -0
  390. package/lib/Utils/process-message.js +79 -0
  391. package/lib/Utils/process-message.js.map +1 -0
  392. package/lib/Utils/signal.d.ts +29 -0
  393. package/lib/Utils/signal.d.ts.map +1 -0
  394. package/lib/Utils/signal.js +133 -0
  395. package/lib/Utils/signal.js.map +1 -0
  396. package/lib/Utils/sparse-array.d.ts +9 -0
  397. package/lib/Utils/sparse-array.d.ts.map +1 -0
  398. package/lib/Utils/sparse-array.js +12 -0
  399. package/lib/Utils/sparse-array.js.map +1 -0
  400. package/lib/Utils/stanza-ack.d.ts +2 -0
  401. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  402. package/lib/Utils/stanza-ack.js +3 -0
  403. package/lib/Utils/stanza-ack.js.map +1 -0
  404. package/lib/Utils/use-bridge-store.d.ts.map +1 -1
  405. package/lib/Utils/use-bridge-store.js +191 -7
  406. package/lib/Utils/use-bridge-store.js.map +1 -1
  407. package/lib/Utils/use-memory-store.d.ts +8 -4
  408. package/lib/Utils/use-memory-store.d.ts.map +1 -1
  409. package/lib/Utils/use-memory-store.js +87 -10
  410. package/lib/Utils/use-memory-store.js.map +1 -1
  411. package/lib/Utils/use-multi-file-auth-state.d.ts +4 -2
  412. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -1
  413. package/lib/Utils/use-multi-file-auth-state.js +13 -5
  414. package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
  415. package/lib/Utils/wrap-legacy-store.d.ts +8 -32
  416. package/lib/Utils/wrap-legacy-store.d.ts.map +1 -1
  417. package/lib/Utils/wrap-legacy-store.js +7 -1214
  418. package/lib/Utils/wrap-legacy-store.js.map +1 -1
  419. package/lib/WABinary/generic-utils.d.ts +8 -0
  420. package/lib/WABinary/generic-utils.d.ts.map +1 -1
  421. package/lib/WABinary/generic-utils.js +63 -1
  422. package/lib/WABinary/generic-utils.js.map +1 -1
  423. package/lib/WABinary/index.js +2 -2
  424. package/lib/WABinary/jid-utils.d.ts +22 -10
  425. package/lib/WABinary/jid-utils.d.ts.map +1 -1
  426. package/lib/WABinary/jid-utils.js +40 -9
  427. package/lib/WABinary/jid-utils.js.map +1 -1
  428. package/lib/WAProto/compatibility-schema.d.ts +25 -0
  429. package/lib/WAProto/compatibility-schema.d.ts.map +1 -0
  430. package/lib/WAProto/compatibility-schema.js +6 -0
  431. package/lib/WAProto/compatibility-schema.js.map +1 -0
  432. package/lib/WAProto/runtime.d.ts +14019 -0
  433. package/lib/WAProto/runtime.js +17 -0
  434. package/lib/WAProto/runtime.js.map +1 -0
  435. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +27 -0
  436. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts.map +1 -0
  437. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +39 -0
  438. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js.map +1 -0
  439. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  440. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  441. package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -0
  442. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  443. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  444. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  445. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +41 -0
  446. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  447. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  448. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  449. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +19 -0
  450. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  451. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +10 -0
  452. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts.map +1 -0
  453. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +15 -0
  454. package/lib/WAUSync/Protocols/USyncLIDProtocol.js.map +1 -0
  455. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  456. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  457. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +25 -0
  458. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  459. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  460. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  461. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +21 -0
  462. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  463. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  464. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  465. package/lib/WAUSync/Protocols/index.js +6 -0
  466. package/lib/WAUSync/Protocols/index.js.map +1 -0
  467. package/lib/WAUSync/USyncQuery.d.ts +30 -0
  468. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  469. package/lib/WAUSync/USyncQuery.js +78 -0
  470. package/lib/WAUSync/USyncQuery.js.map +1 -0
  471. package/lib/WAUSync/USyncUser.d.ts +17 -0
  472. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  473. package/lib/WAUSync/USyncUser.js +31 -0
  474. package/lib/WAUSync/USyncUser.js.map +1 -0
  475. package/lib/WAUSync/index.d.ts +4 -0
  476. package/lib/WAUSync/index.d.ts.map +1 -0
  477. package/lib/WAUSync/index.js +4 -0
  478. package/lib/WAUSync/index.js.map +1 -0
  479. package/lib/index.d.ts +2 -1
  480. package/lib/index.d.ts.map +1 -1
  481. package/lib/index.js +9 -9
  482. package/lib/index.js.map +1 -1
  483. package/package.json +33 -15
  484. package/lib/Bridge/__tests__/adapt.test.d.ts +0 -2
  485. package/lib/Bridge/__tests__/adapt.test.d.ts.map +0 -1
  486. package/lib/Bridge/__tests__/adapt.test.js +0 -387
  487. package/lib/Bridge/__tests__/adapt.test.js.map +0 -1
  488. package/lib/Bridge/__tests__/dts-drift.test.d.ts +0 -13
  489. package/lib/Bridge/__tests__/dts-drift.test.d.ts.map +0 -1
  490. package/lib/Bridge/__tests__/dts-drift.test.js +0 -90
  491. package/lib/Bridge/__tests__/dts-drift.test.js.map +0 -1
  492. package/lib/Bridge/__tests__/fixtures.d.ts +0 -192
  493. package/lib/Bridge/__tests__/fixtures.d.ts.map +0 -1
  494. package/lib/Bridge/__tests__/fixtures.js +0 -99
  495. package/lib/Bridge/__tests__/fixtures.js.map +0 -1
  496. package/lib/Utils/__tests__/_legacy-store-fixtures.d.ts +0 -73
  497. package/lib/Utils/__tests__/_legacy-store-fixtures.d.ts.map +0 -1
  498. package/lib/Utils/__tests__/_legacy-store-fixtures.js +0 -113
  499. package/lib/Utils/__tests__/_legacy-store-fixtures.js.map +0 -1
  500. package/lib/Utils/__tests__/wrap-legacy-store-coverage.test.d.ts +0 -10
  501. package/lib/Utils/__tests__/wrap-legacy-store-coverage.test.d.ts.map +0 -1
  502. package/lib/Utils/__tests__/wrap-legacy-store-coverage.test.js +0 -291
  503. package/lib/Utils/__tests__/wrap-legacy-store-coverage.test.js.map +0 -1
  504. package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.d.ts +0 -8
  505. package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.d.ts.map +0 -1
  506. package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.js +0 -91
  507. package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.js.map +0 -1
  508. package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.d.ts +0 -10
  509. package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.d.ts.map +0 -1
  510. package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.js +0 -125
  511. package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.js.map +0 -1
  512. package/lib/Utils/__tests__/wrap-legacy-store-session-ratchet.test.d.ts +0 -2
  513. package/lib/Utils/__tests__/wrap-legacy-store-session-ratchet.test.d.ts.map +0 -1
  514. package/lib/Utils/__tests__/wrap-legacy-store-session-ratchet.test.js +0 -214
  515. package/lib/Utils/__tests__/wrap-legacy-store-session-ratchet.test.js.map +0 -1
  516. package/lib/Utils/__tests__/wrap-legacy-store-session.test.d.ts +0 -14
  517. package/lib/Utils/__tests__/wrap-legacy-store-session.test.d.ts.map +0 -1
  518. package/lib/Utils/__tests__/wrap-legacy-store-session.test.js +0 -305
  519. package/lib/Utils/__tests__/wrap-legacy-store-session.test.js.map +0 -1
  520. package/lib/Utils/bridge-call.d.ts +0 -22
  521. package/lib/Utils/bridge-call.d.ts.map +0 -1
  522. package/lib/Utils/bridge-call.js +0 -105
  523. package/lib/Utils/bridge-call.js.map +0 -1
  524. package/lib/Utils/lid-mapping-store.d.ts +0 -81
  525. package/lib/Utils/lid-mapping-store.d.ts.map +0 -1
  526. package/lib/Utils/lid-mapping-store.js +0 -126
  527. package/lib/Utils/lid-mapping-store.js.map +0 -1
  528. package/lib/__tests__/expect.d.ts +0 -44
  529. package/lib/__tests__/expect.d.ts.map +0 -1
  530. package/lib/__tests__/expect.js +0 -100
  531. package/lib/__tests__/expect.js.map +0 -1
@@ -1,291 +0,0 @@
1
- /**
2
- * Cross-cutting `wrap-legacy-store` coverage:
3
- * 1. Hosted JID domains (`hosted` → `_2`, `hosted.lid` → `_3`).
4
- * 2. PreKey cross-impl (proto bytes ↔ {public, private}).
5
- * 3. Identity cross-impl (32 bytes ↔ 33 bytes with 0x05 prefix + key rewrite).
6
- * 4. Idempotent round-trip (write→read→write produces identical disk bytes).
7
- * 5. messageKeys cache JS→Rust HKDF derivation (Finding 2 partial fix).
8
- */
9
- import { Buffer } from 'node:buffer';
10
- import { createHmac } from 'node:crypto';
11
- import { describe, test } from 'node:test';
12
- import SessionRecord from 'libsignal/src/session_record.js';
13
- import { proto as bridgeProto } from 'whatsapp-rust-bridge/proto-types';
14
- import { expect } from "../../__tests__/expect.js";
15
- import { BRIDGE_SESSION_KEY_LID, SAMPLE_GROUP, UPSTREAM_SESSION_KEY_LID, buildBridgeSenderKeyBytes, buildBridgeSessionBytes, fill, makeWrapped } from "./_legacy-store-fixtures.js";
16
- // ── 1. Hosted JID domains ───────────────────────────────────────────────
17
- describe('wrap-legacy-store: hosted JID domain coverage', () => {
18
- test('hosted (domainType=2): sender_key key gets `_2` suffix', async () => {
19
- const { wrapped, keys } = await makeWrapped();
20
- const bridgeKey = `${SAMPLE_GROUP}:5599800000@hosted.0`;
21
- const expected = `${SAMPLE_GROUP}::5599800000_2::0`;
22
- await wrapped.set('sender_key', bridgeKey, buildBridgeSenderKeyBytes());
23
- expect(keys.raw['sender-key']?.[expected]).toBeDefined();
24
- });
25
- test('hosted.lid (domainType=3): sender_key key gets `_3` suffix', async () => {
26
- const { wrapped, keys } = await makeWrapped();
27
- const bridgeKey = `${SAMPLE_GROUP}:100000037037034@hosted.lid.0`;
28
- const expected = `${SAMPLE_GROUP}::100000037037034_3::0`;
29
- await wrapped.set('sender_key', bridgeKey, buildBridgeSenderKeyBytes());
30
- expect(keys.raw['sender-key']?.[expected]).toBeDefined();
31
- });
32
- test('hosted: session key uses JID device suffix (not signal device)', async () => {
33
- const { wrapped, keys } = await makeWrapped();
34
- await wrapped.set('session', '5599800000:7@hosted.0', buildBridgeSessionBytes());
35
- expect(keys.raw['session']?.['5599800000_2.7']).toBeDefined();
36
- });
37
- test('hosted.lid: identity round-trips (32 → 33 bytes + key rewrite)', async () => {
38
- const { wrapped, keys } = await makeWrapped();
39
- const raw32 = fill(32, 0xab);
40
- await wrapped.set('identity', '100000037037034@hosted.lid.0', raw32);
41
- const stored = keys.raw['identity-key']?.['100000037037034_3.0'];
42
- expect(stored.length).toBe(33);
43
- expect(stored[0]).toBe(0x05);
44
- expect(stored.subarray(1).equals(Buffer.from(raw32))).toBe(true);
45
- });
46
- });
47
- // ── 2. PreKey cross-impl ────────────────────────────────────────────────
48
- describe('wrap-legacy-store: prekey cross-impl', () => {
49
- test('upstream {public, private} → bridge GET returns proto bytes', async () => {
50
- const { wrapped, keys } = await makeWrapped();
51
- const pub = Buffer.from(fill(33, 0x10));
52
- const priv = Buffer.from(fill(32, 0x20));
53
- keys.raw['pre-key'] = { '42': { public: pub, private: priv } };
54
- const out = (await wrapped.get('prekey', '42'));
55
- // 33 + 32 + ~6 bytes proto overhead.
56
- expect(out.length).toBeGreaterThan(60);
57
- });
58
- test('bridge proto bytes → upstream {public, private} on disk', async () => {
59
- const { wrapped, keys } = await makeWrapped();
60
- const pub = Buffer.from(fill(33, 0x10));
61
- const priv = Buffer.from(fill(32, 0x20));
62
- keys.raw['pre-key'] = { '42': { public: pub, private: priv } };
63
- const protoBytes = (await wrapped.get('prekey', '42'));
64
- keys.raw['pre-key'] = {};
65
- await wrapped.set('prekey', '42', protoBytes);
66
- const stored = keys.raw['pre-key']?.['42'];
67
- expect(Buffer.from(stored.public).equals(pub)).toBe(true);
68
- expect(Buffer.from(stored.private).equals(priv)).toBe(true);
69
- });
70
- });
71
- // ── 3. Identity cross-impl ──────────────────────────────────────────────
72
- describe('wrap-legacy-store: identity cross-impl', () => {
73
- test('bridge SET 32-byte → upstream-side 33-byte under signalUser key', async () => {
74
- const { wrapped, keys } = await makeWrapped();
75
- const raw32 = fill(32, 0xc0);
76
- await wrapped.set('identity', '559980000003@s.whatsapp.net.0', raw32);
77
- const stored = keys.raw['identity-key']?.['559980000003.0'];
78
- expect(stored.length).toBe(33);
79
- expect(stored[0]).toBe(0x05);
80
- expect(stored.subarray(1).equals(Buffer.from(raw32))).toBe(true);
81
- expect(keys.raw['identity-key']?.['559980000003@s.whatsapp.net.0']).toBeUndefined();
82
- });
83
- test('upstream 33-byte → bridge GET returns 32-byte (prefix stripped)', async () => {
84
- const { wrapped, keys } = await makeWrapped();
85
- const raw32 = fill(32, 0xd0);
86
- keys.raw['identity-key'] = { '559980000003.0': Buffer.concat([Buffer.from([0x05]), Buffer.from(raw32)]) };
87
- const out = (await wrapped.get('identity', '559980000003@s.whatsapp.net.0'));
88
- expect(out.length).toBe(32);
89
- expect(Buffer.from(out).equals(Buffer.from(raw32))).toBe(true);
90
- });
91
- test('LID identity round-trip preserves byte-for-byte', async () => {
92
- const { wrapped, keys } = await makeWrapped();
93
- const raw32 = fill(32, 0xe0);
94
- await wrapped.set('identity', '100000037037034@lid.0', raw32);
95
- expect(keys.raw['identity-key']?.['100000037037034_1.0']).toBeDefined();
96
- const out = (await wrapped.get('identity', '100000037037034@lid.0'));
97
- expect(Buffer.from(out).equals(Buffer.from(raw32))).toBe(true);
98
- });
99
- });
100
- // ── 4. Idempotent round-trip ────────────────────────────────────────────
101
- describe('wrap-legacy-store: idempotent round-trip', () => {
102
- test('sender_key: SET → GET → SET produces identical disk bytes', async () => {
103
- const { wrapped, keys } = await makeWrapped();
104
- const original = buildBridgeSenderKeyBytes({ keyId: 17, iteration: 5 });
105
- const upstreamKey = `${SAMPLE_GROUP}::100000037037034_1::0`;
106
- const bridgeKey = `${SAMPLE_GROUP}:100000037037034@lid.0`;
107
- await wrapped.set('sender_key', bridgeKey, original);
108
- const first = keys.raw['sender-key']?.[upstreamKey];
109
- const back = (await wrapped.get('sender_key', bridgeKey));
110
- await wrapped.set('sender_key', bridgeKey, back);
111
- const second = keys.raw['sender-key']?.[upstreamKey];
112
- expect(Buffer.compare(first, second)).toBe(0);
113
- });
114
- test('session: SET → GET → SET preserves baseKey set + open-status + identity', async () => {
115
- const { wrapped, keys } = await makeWrapped();
116
- const aliceBaseKey = Buffer.from(fill(33, 0x70));
117
- const original = buildBridgeSessionBytes({ rootSeed: 11, aliceBaseKey: new Uint8Array(aliceBaseKey) });
118
- await wrapped.set('session', BRIDGE_SESSION_KEY_LID, original);
119
- const stored1 = keys.raw['session']?.[UPSTREAM_SESSION_KEY_LID];
120
- const baseKeys1 = Object.keys(stored1._sessions).toSorted();
121
- const back = (await wrapped.get('session', BRIDGE_SESSION_KEY_LID));
122
- await wrapped.set('session', BRIDGE_SESSION_KEY_LID, back);
123
- const stored2 = keys.raw['session']?.[UPSTREAM_SESSION_KEY_LID];
124
- const baseKeys2 = Object.keys(stored2._sessions).toSorted();
125
- expect(baseKeys2).toEqual(baseKeys1);
126
- const rec = SessionRecord.deserialize(stored2);
127
- expect(rec.haveOpenSession()).toBe(true);
128
- expect(Buffer.from(rec.getOpenSession().indexInfo.baseKey).equals(aliceBaseKey)).toBe(true);
129
- });
130
- test('identity: SET → GET → SET produces byte-identical upstream blob', async () => {
131
- const { wrapped, keys } = await makeWrapped();
132
- const raw32 = fill(32, 0x55);
133
- await wrapped.set('identity', '100000037037034@lid.0', raw32);
134
- const first = keys.raw['identity-key']?.['100000037037034_1.0'];
135
- const back = (await wrapped.get('identity', '100000037037034@lid.0'));
136
- await wrapped.set('identity', '100000037037034@lid.0', back);
137
- const second = keys.raw['identity-key']?.['100000037037034_1.0'];
138
- expect(Buffer.compare(first, second)).toBe(0);
139
- });
140
- });
141
- // ── 5. Sender key multi-state ───────────────────────────────────────────
142
- describe('wrap-legacy-store: sender_key multi-state record', () => {
143
- test('multiple senderKeyStates round-trip individually', async () => {
144
- const { wrapped, keys } = await makeWrapped();
145
- const states = [1, 2, 3].map(seed => ({
146
- senderKeyId: seed * 100,
147
- senderChainKey: { iteration: seed, seed: fill(32, seed * 7) },
148
- senderSigningKey: { public: fill(33, seed * 11), private: fill(32, seed * 13) },
149
- senderMessageKeys: []
150
- }));
151
- const protoBytes = bridgeProto.SenderKeyRecordStructure.encode(bridgeProto.SenderKeyRecordStructure.create({ senderKeyStates: states })).finish();
152
- const bridgeKey = `${SAMPLE_GROUP}:100000037037034@lid.0`;
153
- const upstreamKey = `${SAMPLE_GROUP}::100000037037034_1::0`;
154
- await wrapped.set('sender_key', bridgeKey, protoBytes);
155
- const stored = keys.raw['sender-key']?.[upstreamKey];
156
- const json = JSON.parse(stored.toString('utf-8'));
157
- expect(json.length).toBe(3);
158
- expect(json[0].senderKeyId).toBe(100);
159
- expect(json[1].senderKeyId).toBe(200);
160
- expect(json[2].senderKeyId).toBe(300);
161
- // Read back via bridge GET — all 3 states preserved.
162
- const protoBack = (await wrapped.get('sender_key', bridgeKey));
163
- const decoded = bridgeProto.SenderKeyRecordStructure.decode(protoBack);
164
- expect(decoded.senderKeyStates.length).toBe(3);
165
- const ids = decoded.senderKeyStates.map(s => s.senderKeyId).toSorted((a, b) => a - b);
166
- expect(ids).toEqual([100, 200, 300]);
167
- });
168
- });
169
- // ── 6. Lid mapping edge cases ───────────────────────────────────────────
170
- describe('wrap-legacy-store: lid_mapping edge cases', () => {
171
- test('unknown key prefix → warns + null on read, passthrough on write', async () => {
172
- const { wrapped, keys } = await makeWrapped();
173
- // Bridge would never write/read like this, but verify it doesn't crash.
174
- await wrapped.set('lid_mapping', 'weird:format', new TextEncoder().encode('value'));
175
- // On unknown prefix, fromBridge returns Buffer.from(value) as fallback.
176
- expect(keys.raw['lid-mapping']?.['weird:format']).toBeDefined();
177
- });
178
- test('empty value on read returns null', async () => {
179
- const { wrapped, keys } = await makeWrapped();
180
- keys.raw['lid-mapping'] = { '559980000003': '' };
181
- const out = await wrapped.get('lid_mapping', 'pn:559980000003');
182
- expect(out).toBe(null);
183
- });
184
- });
185
- // ── 7. Identity edge cases ──────────────────────────────────────────────
186
- describe('wrap-legacy-store: identity edge cases', () => {
187
- test('legacy 33-byte input from bridge → stored as-is (no double-prefix)', async () => {
188
- const { wrapped, keys } = await makeWrapped();
189
- const raw33 = Buffer.concat([Buffer.from([0x05]), Buffer.from(fill(32, 0xab))]);
190
- await wrapped.set('identity', '100000037037034@lid.0', raw33);
191
- const stored = keys.raw['identity-key']?.['100000037037034_1.0'];
192
- // Should NOT double-prefix; pass through 33-byte input verbatim.
193
- expect(stored.length).toBe(33);
194
- expect(stored[0]).toBe(0x05);
195
- expect(Buffer.compare(stored, raw33)).toBe(0);
196
- });
197
- test('upstream 32-byte stored input → bridge GET returns 32 bytes (no strip)', async () => {
198
- const { wrapped, keys } = await makeWrapped();
199
- // Some legacy upstream paths might write 32-byte directly.
200
- const raw32 = fill(32, 0xab);
201
- keys.raw['identity-key'] = { '100000037037034_1.0': Buffer.from(raw32) };
202
- const out = (await wrapped.get('identity', '100000037037034@lid.0'));
203
- expect(out.length).toBe(32);
204
- expect(Buffer.from(out).equals(Buffer.from(raw32))).toBe(true);
205
- });
206
- test('GET on missing identity returns null (no exception)', async () => {
207
- const { wrapped } = await makeWrapped();
208
- const out = await wrapped.get('identity', '999999999999@lid.0');
209
- expect(out).toBe(null);
210
- });
211
- });
212
- // ── 8. messageKeys cache derivation (JS → Rust via HKDF) ────────────────
213
- describe('wrap-legacy-store: messageKeys JS→Rust HKDF derivation', () => {
214
- // Reference impl matching upstream `libsignal/src/crypto.js:53` exactly.
215
- function jsLikeDeriveSecrets(seed) {
216
- const salt = Buffer.alloc(32);
217
- const info = Buffer.from('WhisperMessageKeys');
218
- const prk = createHmac('sha256', salt).update(seed).digest();
219
- const t1 = createHmac('sha256', prk)
220
- .update(Buffer.concat([info, Buffer.from([0x01])]))
221
- .digest();
222
- const t2 = createHmac('sha256', prk)
223
- .update(Buffer.concat([t1, info, Buffer.from([0x02])]))
224
- .digest();
225
- const t3 = createHmac('sha256', prk)
226
- .update(Buffer.concat([t2, info, Buffer.from([0x03])]))
227
- .digest();
228
- return { cipher: t1, mac: t2, iv: t3.subarray(0, 16) };
229
- }
230
- test('upstream messageKeys cache → bridge proto carries derived cipher/mac/iv', async () => {
231
- const { wrapped, keys } = await makeWrapped();
232
- const baseKey = Buffer.alloc(33, 0xa0);
233
- const peerRatchet = Buffer.alloc(33, 0xc0);
234
- const skipSeed3 = Buffer.alloc(32, 0xd1);
235
- const skipSeed5 = Buffer.alloc(32, 0xd2);
236
- keys.raw['session'] = {
237
- [UPSTREAM_SESSION_KEY_LID]: {
238
- _sessions: {
239
- [baseKey.toString('base64')]: {
240
- registrationId: 1,
241
- currentRatchet: {
242
- ephemeralKeyPair: {
243
- pubKey: Buffer.alloc(33, 0xb0).toString('base64'),
244
- privKey: Buffer.alloc(32, 0xb1).toString('base64')
245
- },
246
- lastRemoteEphemeralKey: peerRatchet.toString('base64'),
247
- previousCounter: 0,
248
- rootKey: Buffer.alloc(32, 0x01).toString('base64')
249
- },
250
- indexInfo: {
251
- baseKey: baseKey.toString('base64'),
252
- baseKeyType: 2,
253
- closed: -1,
254
- used: Date.now(),
255
- created: Date.now(),
256
- remoteIdentityKey: Buffer.alloc(33, 0x02).toString('base64')
257
- },
258
- _chains: {
259
- [peerRatchet.toString('base64')]: {
260
- chainKey: { counter: 5, key: Buffer.alloc(32, 0xc1).toString('base64') },
261
- chainType: 2,
262
- messageKeys: { '3': skipSeed3.toString('base64'), '5': skipSeed5.toString('base64') }
263
- }
264
- }
265
- }
266
- },
267
- version: 'v1'
268
- }
269
- };
270
- const protoOut = (await wrapped.get('session', BRIDGE_SESSION_KEY_LID));
271
- const decoded = bridgeProto.RecordStructure.decode(protoOut);
272
- const recv = decoded.currentSession?.receiverChains?.[0];
273
- const mks = recv.messageKeys ?? [];
274
- expect(mks.length).toBe(2);
275
- // Derived split MUST match HKDF reference exactly. If Rust libsignal
276
- // ever fails to decrypt skipped messages from the cache, this test
277
- // pinpoints which byte disagreed before any wire packet does.
278
- const expected3 = jsLikeDeriveSecrets(skipSeed3);
279
- const expected5 = jsLikeDeriveSecrets(skipSeed5);
280
- const byIndex = Object.fromEntries(mks.map(m => [m.index, m]));
281
- for (const [idx, expected] of [
282
- [3, expected3],
283
- [5, expected5]
284
- ]) {
285
- expect(Buffer.from(byIndex[idx].cipherKey).equals(expected.cipher)).toBe(true);
286
- expect(Buffer.from(byIndex[idx].macKey).equals(expected.mac)).toBe(true);
287
- expect(Buffer.from(byIndex[idx].iv).equals(expected.iv)).toBe(true);
288
- }
289
- });
290
- });
291
- //# sourceMappingURL=wrap-legacy-store-coverage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-legacy-store-coverage.test.js","sourceRoot":"","sources":["../../../src/Utils/__tests__/wrap-legacy-store-coverage.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Cross-impl gap for `lid_mapping`:
3
- * • Bridge: `lid:{X}` → JSON `LidPnMappingEntry`; `pn:{X}` → bytes(LID).
4
- * • Upstream: bare `{pnUser}` → string LID; `{lidUser}_reverse` → string PN.
5
- * Without conversion, upstream falls back to USYNC re-fetch on every cold start.
6
- */
7
- export {};
8
- //# sourceMappingURL=wrap-legacy-store-lid-mapping.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-legacy-store-lid-mapping.test.d.ts","sourceRoot":"","sources":["../../../src/Utils/__tests__/wrap-legacy-store-lid-mapping.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,91 +0,0 @@
1
- /**
2
- * Cross-impl gap for `lid_mapping`:
3
- * • Bridge: `lid:{X}` → JSON `LidPnMappingEntry`; `pn:{X}` → bytes(LID).
4
- * • Upstream: bare `{pnUser}` → string LID; `{lidUser}_reverse` → string PN.
5
- * Without conversion, upstream falls back to USYNC re-fetch on every cold start.
6
- */
7
- import { Buffer } from 'node:buffer';
8
- import { describe, test } from 'node:test';
9
- import { expect } from "../../__tests__/expect.js";
10
- import { makeWrapped } from "./_legacy-store-fixtures.js";
11
- const PN_USER = '559980000003';
12
- const LID_USER = '100000037037034';
13
- const ENC = (s) => new TextEncoder().encode(s);
14
- describe('wrap-legacy-store: lid_mapping key-name translation', () => {
15
- test('bridge SET pn:{X} → upstream bare key {X}', async () => {
16
- const { wrapped, keys } = await makeWrapped();
17
- await wrapped.set('lid_mapping', `pn:${PN_USER}`, ENC(LID_USER));
18
- expect(keys.raw['lid-mapping']?.[PN_USER]).toBeDefined();
19
- expect(keys.raw['lid-mapping']?.[`pn:${PN_USER}`]).toBeUndefined();
20
- });
21
- test('bridge SET lid:{X} → upstream key {X}_reverse', async () => {
22
- const { wrapped, keys } = await makeWrapped();
23
- const entry = {
24
- lid: LID_USER,
25
- phone_number: PN_USER,
26
- created_at: 1700000000,
27
- updated_at: 1700000000,
28
- learning_source: 'usync'
29
- };
30
- await wrapped.set('lid_mapping', `lid:${LID_USER}`, ENC(JSON.stringify(entry)));
31
- expect(keys.raw['lid-mapping']?.[`${LID_USER}_reverse`]).toBeDefined();
32
- expect(keys.raw['lid-mapping']?.[`lid:${LID_USER}`]).toBeUndefined();
33
- });
34
- });
35
- describe('wrap-legacy-store: lid_mapping value-byte translation', () => {
36
- test('bridge `pn:` write surfaces a STRING for upstream (not Buffer)', async () => {
37
- const { wrapped, keys } = await makeWrapped();
38
- await wrapped.set('lid_mapping', `pn:${PN_USER}`, ENC(LID_USER));
39
- // Upstream's `_getLIDsForPNsImpl` does `stored[pnUser]` → expects string.
40
- expect(typeof keys.raw['lid-mapping']?.[PN_USER]).toBe('string');
41
- expect(keys.raw['lid-mapping']?.[PN_USER]).toBe(LID_USER);
42
- });
43
- test('bridge `lid:` write surfaces phone_number STRING under {lid}_reverse', async () => {
44
- const { wrapped, keys } = await makeWrapped();
45
- const entry = {
46
- lid: LID_USER,
47
- phone_number: PN_USER,
48
- created_at: 1,
49
- updated_at: 1,
50
- learning_source: 'usync'
51
- };
52
- await wrapped.set('lid_mapping', `lid:${LID_USER}`, ENC(JSON.stringify(entry)));
53
- expect(keys.raw['lid-mapping']?.[`${LID_USER}_reverse`]).toBe(PN_USER);
54
- });
55
- test('bridge GET pn:{X} reads upstream string back as raw LID bytes', async () => {
56
- const { wrapped, keys } = await makeWrapped();
57
- keys.raw['lid-mapping'] = { [PN_USER]: LID_USER };
58
- const out = (await wrapped.get('lid_mapping', `pn:${PN_USER}`));
59
- expect(Buffer.from(out).toString('utf-8')).toBe(LID_USER);
60
- });
61
- test('bridge GET lid:{X} reconstructs synthetic LidPnMappingEntry from upstream', async () => {
62
- const { wrapped, keys } = await makeWrapped();
63
- keys.raw['lid-mapping'] = { [`${LID_USER}_reverse`]: PN_USER };
64
- const out = (await wrapped.get('lid_mapping', `lid:${LID_USER}`));
65
- const parsed = JSON.parse(Buffer.from(out).toString('utf-8'));
66
- expect(parsed.lid).toBe(LID_USER);
67
- expect(parsed.phone_number).toBe(PN_USER);
68
- expect(parsed.learning_source).toBe('wrap-legacy-store');
69
- expect(parsed.created_at).toBeGreaterThan(0);
70
- });
71
- test('round-trip: bridge SET both directions → read both back', async () => {
72
- const { wrapped, keys } = await makeWrapped();
73
- const entry = {
74
- lid: LID_USER,
75
- phone_number: PN_USER,
76
- created_at: 1,
77
- updated_at: 1,
78
- learning_source: 'peer_pn_message'
79
- };
80
- await wrapped.set('lid_mapping', `lid:${LID_USER}`, ENC(JSON.stringify(entry)));
81
- await wrapped.set('lid_mapping', `pn:${PN_USER}`, ENC(LID_USER));
82
- expect(keys.raw['lid-mapping']?.[PN_USER]).toBe(LID_USER);
83
- expect(keys.raw['lid-mapping']?.[`${LID_USER}_reverse`]).toBe(PN_USER);
84
- const lidBack = Buffer.from((await wrapped.get('lid_mapping', `pn:${PN_USER}`))).toString('utf-8');
85
- expect(lidBack).toBe(LID_USER);
86
- const entryBack = JSON.parse(Buffer.from((await wrapped.get('lid_mapping', `lid:${LID_USER}`))).toString('utf-8'));
87
- expect(entryBack.lid).toBe(LID_USER);
88
- expect(entryBack.phone_number).toBe(PN_USER);
89
- });
90
- });
91
- //# sourceMappingURL=wrap-legacy-store-lid-mapping.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-legacy-store-lid-mapping.test.js","sourceRoot":"","sources":["../../../src/Utils/__tests__/wrap-legacy-store-lid-mapping.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Cross-impl gap for `sender_key`:
3
- * • Bridge: store `sender_key`, key `{group}:{user}[:dev]@{server}.{sig}`,
4
- * value = protobuf `SenderKeyRecordStructure`.
5
- * • Upstream: store `sender-key`, key `{group}::{signalUser}::{deviceId}`,
6
- * value = `Buffer(JSON.stringify(states, BufferJSON.replacer), 'utf-8')`.
7
- * Store name, key shape AND value encoding all differ.
8
- */
9
- export {};
10
- //# sourceMappingURL=wrap-legacy-store-sender-key.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-legacy-store-sender-key.test.d.ts","sourceRoot":"","sources":["../../../src/Utils/__tests__/wrap-legacy-store-sender-key.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,125 +0,0 @@
1
- /**
2
- * Cross-impl gap for `sender_key`:
3
- * • Bridge: store `sender_key`, key `{group}:{user}[:dev]@{server}.{sig}`,
4
- * value = protobuf `SenderKeyRecordStructure`.
5
- * • Upstream: store `sender-key`, key `{group}::{signalUser}::{deviceId}`,
6
- * value = `Buffer(JSON.stringify(states, BufferJSON.replacer), 'utf-8')`.
7
- * Store name, key shape AND value encoding all differ.
8
- */
9
- import { Buffer } from 'node:buffer';
10
- import { describe, test } from 'node:test';
11
- import { SenderKeyRecord } from 'baileys/lib/Signal/Group/sender-key-record.js';
12
- import { SenderChainKey } from 'baileys/lib/Signal/Group/sender-chain-key.js';
13
- import { proto as bridgeProto } from 'whatsapp-rust-bridge/proto-types';
14
- import { expect } from "../../__tests__/expect.js";
15
- import { BRIDGE_SK_KEY_LID, BRIDGE_SK_KEY_PN_DEV, UPSTREAM_SK_KEY_LID, UPSTREAM_SK_KEY_PN_DEV, buildBridgeSenderKeyBytes, fill, makeWrapped } from "./_legacy-store-fixtures.js";
16
- describe('wrap-legacy-store: sender_key key-name translation', () => {
17
- test('LID, no JID device → upstream `_1` suffix + double-colon separators', async () => {
18
- const { wrapped, keys } = await makeWrapped();
19
- await wrapped.set('sender_key', BRIDGE_SK_KEY_LID, buildBridgeSenderKeyBytes());
20
- expect(keys.raw['sender-key']?.[UPSTREAM_SK_KEY_LID]).toBeDefined();
21
- // The bridge-shaped key MUST NOT leak — would mean we passthrough'd raw bytes.
22
- expect(keys.raw['sender-key']?.[BRIDGE_SK_KEY_LID]).toBeUndefined();
23
- });
24
- test('PN with device suffix → JID device becomes upstream deviceId', async () => {
25
- const { wrapped, keys } = await makeWrapped();
26
- await wrapped.set('sender_key', BRIDGE_SK_KEY_PN_DEV, buildBridgeSenderKeyBytes());
27
- expect(keys.raw['sender-key']?.[UPSTREAM_SK_KEY_PN_DEV]).toBeDefined();
28
- });
29
- test('bridge GET reads back from the upstream-formatted key', async () => {
30
- const { wrapped, keys } = await makeWrapped();
31
- const upstreamBytes = Buffer.from(JSON.stringify([
32
- {
33
- senderKeyId: 17,
34
- senderChainKey: { iteration: 3, seed: Buffer.from(fill(32, 7)) },
35
- senderSigningKey: { public: Buffer.from(fill(33, 11)), private: Buffer.from(fill(32, 13)) },
36
- senderMessageKeys: []
37
- }
38
- ], (_k, v) => {
39
- if (Buffer.isBuffer(v) || v instanceof Uint8Array || v?.type === 'Buffer') {
40
- return { type: 'Buffer', data: Buffer.from(v.data ?? v).toString('base64') };
41
- }
42
- return v;
43
- }), 'utf-8');
44
- keys.raw['sender-key'] = { [UPSTREAM_SK_KEY_LID]: upstreamBytes };
45
- const out = await wrapped.get('sender_key', BRIDGE_SK_KEY_LID);
46
- expect(out).not.toBe(null);
47
- });
48
- });
49
- describe('wrap-legacy-store: sender_key value-byte translation', () => {
50
- test('bridge proto bytes load via upstream `SenderKeyRecord.deserialize`', async () => {
51
- const { wrapped, keys } = await makeWrapped();
52
- const keyId = 42;
53
- const iteration = 9;
54
- const chainSeed = Buffer.from(fill(32, 7));
55
- const signPub = Buffer.from(fill(33, 11));
56
- const signPriv = Buffer.from(fill(32, 13));
57
- await wrapped.set('sender_key', BRIDGE_SK_KEY_LID, buildBridgeSenderKeyBytes({
58
- keyId,
59
- iteration,
60
- chainSeed: new Uint8Array(chainSeed),
61
- signingPublic: new Uint8Array(signPub),
62
- signingPrivate: new Uint8Array(signPriv)
63
- }));
64
- const onDisk = keys.raw['sender-key']?.[UPSTREAM_SK_KEY_LID];
65
- const rec = SenderKeyRecord.deserialize(onDisk);
66
- expect(rec.isEmpty()).toBe(false);
67
- const state = rec.getSenderKeyState();
68
- expect(state.getKeyId()).toBe(keyId);
69
- expect(state.getSenderChainKey().getIteration()).toBe(iteration);
70
- expect(Buffer.from(state.getSenderChainKey().getSeed()).equals(chainSeed)).toBe(true);
71
- expect(Buffer.from(state.getSigningKeyPublic()).equals(signPub)).toBe(true);
72
- expect(Buffer.from(state.getSigningKeyPrivate()).equals(signPriv)).toBe(true);
73
- });
74
- test('upstream JSON bytes round-trip to valid bridge proto', async () => {
75
- const { wrapped, keys } = await makeWrapped();
76
- const keyId = 99;
77
- const iteration = 4;
78
- const chainSeed = Buffer.alloc(32, 0xab);
79
- const signPub = Buffer.alloc(33, 0xcd);
80
- const signPriv = Buffer.alloc(32, 0xef);
81
- const upstreamBytes = Buffer.from(JSON.stringify([
82
- {
83
- senderKeyId: keyId,
84
- senderChainKey: { iteration, seed: chainSeed },
85
- senderSigningKey: { public: signPub, private: signPriv },
86
- senderMessageKeys: []
87
- }
88
- ], (_k, v) => {
89
- if (Buffer.isBuffer(v) || v instanceof Uint8Array || v?.type === 'Buffer') {
90
- return { type: 'Buffer', data: Buffer.from(v.data ?? v).toString('base64') };
91
- }
92
- return v;
93
- }), 'utf-8');
94
- keys.raw['sender-key'] = { [UPSTREAM_SK_KEY_LID]: upstreamBytes };
95
- const bytesOut = (await wrapped.get('sender_key', BRIDGE_SK_KEY_LID));
96
- const decoded = bridgeProto.SenderKeyRecordStructure.decode(bytesOut);
97
- expect(decoded.senderKeyStates.length).toBe(1);
98
- const s = decoded.senderKeyStates[0];
99
- expect(s.senderKeyId).toBe(keyId);
100
- expect(s.senderChainKey?.iteration).toBe(iteration);
101
- expect(Buffer.from(s.senderChainKey.seed).equals(chainSeed)).toBe(true);
102
- expect(Buffer.from(s.senderSigningKey.public).equals(signPub)).toBe(true);
103
- expect(Buffer.from(s.senderSigningKey.private).equals(signPriv)).toBe(true);
104
- });
105
- test('iteration bump survives bridge SET → upstream advance → bridge GET', async () => {
106
- const { wrapped, keys } = await makeWrapped();
107
- await wrapped.set('sender_key', BRIDGE_SK_KEY_LID, buildBridgeSenderKeyBytes({ keyId: 5, iteration: 1 }));
108
- const onDisk = keys.raw['sender-key']?.[UPSTREAM_SK_KEY_LID];
109
- const rec = SenderKeyRecord.deserialize(onDisk);
110
- const state = rec.getSenderKeyState();
111
- const ck = state.getSenderChainKey();
112
- state.setSenderChainKey(new SenderChainKey(ck.getIteration() + 5, ck.getSeed()));
113
- const newJson = JSON.stringify(rec.serialize(), (_k, v) => {
114
- if (Buffer.isBuffer(v) || v instanceof Uint8Array || v?.type === 'Buffer') {
115
- return { type: 'Buffer', data: Buffer.from(v.data ?? v).toString('base64') };
116
- }
117
- return v;
118
- });
119
- keys.raw['sender-key'][UPSTREAM_SK_KEY_LID] = Buffer.from(newJson, 'utf-8');
120
- const bytesOut = (await wrapped.get('sender_key', BRIDGE_SK_KEY_LID));
121
- const decoded = bridgeProto.SenderKeyRecordStructure.decode(bytesOut);
122
- expect(decoded.senderKeyStates[0].senderChainKey?.iteration).toBe(6);
123
- });
124
- });
125
- //# sourceMappingURL=wrap-legacy-store-sender-key.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-legacy-store-sender-key.test.js","sourceRoot":"","sources":["../../../src/Utils/__tests__/wrap-legacy-store-sender-key.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=wrap-legacy-store-session-ratchet.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-legacy-store-session-ratchet.test.d.ts","sourceRoot":"","sources":["../../../src/Utils/__tests__/wrap-legacy-store-session-ratchet.test.ts"],"names":[],"mappings":""}