@areumtecnologia/unitychat 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (855) hide show
  1. package/README.md +407 -0
  2. package/data/sessions/session1/app-state-sync-key-AAAAAN3d.json +1 -0
  3. package/data/sessions/session1/app-state-sync-key-AAAAAN3e.json +1 -0
  4. package/data/sessions/session1/app-state-sync-key-AAAAAN3f.json +1 -0
  5. package/data/sessions/session1/app-state-sync-key-AAAAAN3g.json +1 -0
  6. package/data/sessions/session1/app-state-sync-key-AAAAAN3h.json +1 -0
  7. package/data/sessions/session1/app-state-sync-key-AAAAAN3i.json +1 -0
  8. package/data/sessions/session1/app-state-sync-key-AAAAAN3j.json +1 -0
  9. package/data/sessions/session1/app-state-sync-key-AAAAAN3k.json +1 -0
  10. package/data/sessions/session1/app-state-sync-key-AAAAAN3l.json +1 -0
  11. package/data/sessions/session1/app-state-sync-key-AAAAAN3m.json +1 -0
  12. package/data/sessions/session1/app-state-sync-key-AAAAAN3n.json +1 -0
  13. package/data/sessions/session1/app-state-sync-key-AAAAAN3o.json +1 -0
  14. package/data/sessions/session1/app-state-sync-key-AAAAAN3p.json +1 -0
  15. package/data/sessions/session1/app-state-sync-key-AAAAAN3q.json +1 -0
  16. package/data/sessions/session1/app-state-sync-key-AAAAAN3r.json +1 -0
  17. package/data/sessions/session1/app-state-sync-key-AAAAAN3s.json +1 -0
  18. package/data/sessions/session1/app-state-sync-key-AAAAAN3t.json +1 -0
  19. package/data/sessions/session1/app-state-sync-key-AAAAAN3u.json +1 -0
  20. package/data/sessions/session1/app-state-sync-version-regular_low.json +1 -0
  21. package/data/sessions/session1/creds.json +1 -0
  22. package/data/sessions/session1/device-list-559181648646.json +1 -0
  23. package/data/sessions/session1/lid-mapping-275801408819393_reverse.json +1 -0
  24. package/data/sessions/session1/lid-mapping-559181648646.json +1 -0
  25. package/data/sessions/session1/pre-key-1.json +1 -0
  26. package/data/sessions/session1/pre-key-10.json +1 -0
  27. package/data/sessions/session1/pre-key-100.json +1 -0
  28. package/data/sessions/session1/pre-key-101.json +1 -0
  29. package/data/sessions/session1/pre-key-102.json +1 -0
  30. package/data/sessions/session1/pre-key-103.json +1 -0
  31. package/data/sessions/session1/pre-key-104.json +1 -0
  32. package/data/sessions/session1/pre-key-105.json +1 -0
  33. package/data/sessions/session1/pre-key-106.json +1 -0
  34. package/data/sessions/session1/pre-key-107.json +1 -0
  35. package/data/sessions/session1/pre-key-108.json +1 -0
  36. package/data/sessions/session1/pre-key-109.json +1 -0
  37. package/data/sessions/session1/pre-key-11.json +1 -0
  38. package/data/sessions/session1/pre-key-110.json +1 -0
  39. package/data/sessions/session1/pre-key-111.json +1 -0
  40. package/data/sessions/session1/pre-key-112.json +1 -0
  41. package/data/sessions/session1/pre-key-113.json +1 -0
  42. package/data/sessions/session1/pre-key-114.json +1 -0
  43. package/data/sessions/session1/pre-key-115.json +1 -0
  44. package/data/sessions/session1/pre-key-116.json +1 -0
  45. package/data/sessions/session1/pre-key-117.json +1 -0
  46. package/data/sessions/session1/pre-key-118.json +1 -0
  47. package/data/sessions/session1/pre-key-119.json +1 -0
  48. package/data/sessions/session1/pre-key-12.json +1 -0
  49. package/data/sessions/session1/pre-key-120.json +1 -0
  50. package/data/sessions/session1/pre-key-121.json +1 -0
  51. package/data/sessions/session1/pre-key-122.json +1 -0
  52. package/data/sessions/session1/pre-key-123.json +1 -0
  53. package/data/sessions/session1/pre-key-124.json +1 -0
  54. package/data/sessions/session1/pre-key-125.json +1 -0
  55. package/data/sessions/session1/pre-key-126.json +1 -0
  56. package/data/sessions/session1/pre-key-127.json +1 -0
  57. package/data/sessions/session1/pre-key-128.json +1 -0
  58. package/data/sessions/session1/pre-key-129.json +1 -0
  59. package/data/sessions/session1/pre-key-13.json +1 -0
  60. package/data/sessions/session1/pre-key-130.json +1 -0
  61. package/data/sessions/session1/pre-key-131.json +1 -0
  62. package/data/sessions/session1/pre-key-132.json +1 -0
  63. package/data/sessions/session1/pre-key-133.json +1 -0
  64. package/data/sessions/session1/pre-key-134.json +1 -0
  65. package/data/sessions/session1/pre-key-135.json +1 -0
  66. package/data/sessions/session1/pre-key-136.json +1 -0
  67. package/data/sessions/session1/pre-key-137.json +1 -0
  68. package/data/sessions/session1/pre-key-138.json +1 -0
  69. package/data/sessions/session1/pre-key-139.json +1 -0
  70. package/data/sessions/session1/pre-key-14.json +1 -0
  71. package/data/sessions/session1/pre-key-140.json +1 -0
  72. package/data/sessions/session1/pre-key-141.json +1 -0
  73. package/data/sessions/session1/pre-key-142.json +1 -0
  74. package/data/sessions/session1/pre-key-143.json +1 -0
  75. package/data/sessions/session1/pre-key-144.json +1 -0
  76. package/data/sessions/session1/pre-key-145.json +1 -0
  77. package/data/sessions/session1/pre-key-146.json +1 -0
  78. package/data/sessions/session1/pre-key-147.json +1 -0
  79. package/data/sessions/session1/pre-key-148.json +1 -0
  80. package/data/sessions/session1/pre-key-149.json +1 -0
  81. package/data/sessions/session1/pre-key-15.json +1 -0
  82. package/data/sessions/session1/pre-key-150.json +1 -0
  83. package/data/sessions/session1/pre-key-151.json +1 -0
  84. package/data/sessions/session1/pre-key-152.json +1 -0
  85. package/data/sessions/session1/pre-key-153.json +1 -0
  86. package/data/sessions/session1/pre-key-154.json +1 -0
  87. package/data/sessions/session1/pre-key-155.json +1 -0
  88. package/data/sessions/session1/pre-key-156.json +1 -0
  89. package/data/sessions/session1/pre-key-157.json +1 -0
  90. package/data/sessions/session1/pre-key-158.json +1 -0
  91. package/data/sessions/session1/pre-key-159.json +1 -0
  92. package/data/sessions/session1/pre-key-16.json +1 -0
  93. package/data/sessions/session1/pre-key-160.json +1 -0
  94. package/data/sessions/session1/pre-key-161.json +1 -0
  95. package/data/sessions/session1/pre-key-162.json +1 -0
  96. package/data/sessions/session1/pre-key-163.json +1 -0
  97. package/data/sessions/session1/pre-key-164.json +1 -0
  98. package/data/sessions/session1/pre-key-165.json +1 -0
  99. package/data/sessions/session1/pre-key-166.json +1 -0
  100. package/data/sessions/session1/pre-key-167.json +1 -0
  101. package/data/sessions/session1/pre-key-168.json +1 -0
  102. package/data/sessions/session1/pre-key-169.json +1 -0
  103. package/data/sessions/session1/pre-key-17.json +1 -0
  104. package/data/sessions/session1/pre-key-170.json +1 -0
  105. package/data/sessions/session1/pre-key-171.json +1 -0
  106. package/data/sessions/session1/pre-key-172.json +1 -0
  107. package/data/sessions/session1/pre-key-173.json +1 -0
  108. package/data/sessions/session1/pre-key-174.json +1 -0
  109. package/data/sessions/session1/pre-key-175.json +1 -0
  110. package/data/sessions/session1/pre-key-176.json +1 -0
  111. package/data/sessions/session1/pre-key-177.json +1 -0
  112. package/data/sessions/session1/pre-key-178.json +1 -0
  113. package/data/sessions/session1/pre-key-179.json +1 -0
  114. package/data/sessions/session1/pre-key-18.json +1 -0
  115. package/data/sessions/session1/pre-key-180.json +1 -0
  116. package/data/sessions/session1/pre-key-181.json +1 -0
  117. package/data/sessions/session1/pre-key-182.json +1 -0
  118. package/data/sessions/session1/pre-key-183.json +1 -0
  119. package/data/sessions/session1/pre-key-184.json +1 -0
  120. package/data/sessions/session1/pre-key-185.json +1 -0
  121. package/data/sessions/session1/pre-key-186.json +1 -0
  122. package/data/sessions/session1/pre-key-187.json +1 -0
  123. package/data/sessions/session1/pre-key-188.json +1 -0
  124. package/data/sessions/session1/pre-key-189.json +1 -0
  125. package/data/sessions/session1/pre-key-19.json +1 -0
  126. package/data/sessions/session1/pre-key-190.json +1 -0
  127. package/data/sessions/session1/pre-key-191.json +1 -0
  128. package/data/sessions/session1/pre-key-192.json +1 -0
  129. package/data/sessions/session1/pre-key-193.json +1 -0
  130. package/data/sessions/session1/pre-key-194.json +1 -0
  131. package/data/sessions/session1/pre-key-195.json +1 -0
  132. package/data/sessions/session1/pre-key-196.json +1 -0
  133. package/data/sessions/session1/pre-key-197.json +1 -0
  134. package/data/sessions/session1/pre-key-198.json +1 -0
  135. package/data/sessions/session1/pre-key-199.json +1 -0
  136. package/data/sessions/session1/pre-key-2.json +1 -0
  137. package/data/sessions/session1/pre-key-20.json +1 -0
  138. package/data/sessions/session1/pre-key-200.json +1 -0
  139. package/data/sessions/session1/pre-key-201.json +1 -0
  140. package/data/sessions/session1/pre-key-202.json +1 -0
  141. package/data/sessions/session1/pre-key-203.json +1 -0
  142. package/data/sessions/session1/pre-key-204.json +1 -0
  143. package/data/sessions/session1/pre-key-205.json +1 -0
  144. package/data/sessions/session1/pre-key-206.json +1 -0
  145. package/data/sessions/session1/pre-key-207.json +1 -0
  146. package/data/sessions/session1/pre-key-208.json +1 -0
  147. package/data/sessions/session1/pre-key-209.json +1 -0
  148. package/data/sessions/session1/pre-key-21.json +1 -0
  149. package/data/sessions/session1/pre-key-210.json +1 -0
  150. package/data/sessions/session1/pre-key-211.json +1 -0
  151. package/data/sessions/session1/pre-key-212.json +1 -0
  152. package/data/sessions/session1/pre-key-213.json +1 -0
  153. package/data/sessions/session1/pre-key-214.json +1 -0
  154. package/data/sessions/session1/pre-key-215.json +1 -0
  155. package/data/sessions/session1/pre-key-216.json +1 -0
  156. package/data/sessions/session1/pre-key-217.json +1 -0
  157. package/data/sessions/session1/pre-key-218.json +1 -0
  158. package/data/sessions/session1/pre-key-219.json +1 -0
  159. package/data/sessions/session1/pre-key-22.json +1 -0
  160. package/data/sessions/session1/pre-key-220.json +1 -0
  161. package/data/sessions/session1/pre-key-221.json +1 -0
  162. package/data/sessions/session1/pre-key-222.json +1 -0
  163. package/data/sessions/session1/pre-key-223.json +1 -0
  164. package/data/sessions/session1/pre-key-224.json +1 -0
  165. package/data/sessions/session1/pre-key-225.json +1 -0
  166. package/data/sessions/session1/pre-key-226.json +1 -0
  167. package/data/sessions/session1/pre-key-227.json +1 -0
  168. package/data/sessions/session1/pre-key-228.json +1 -0
  169. package/data/sessions/session1/pre-key-229.json +1 -0
  170. package/data/sessions/session1/pre-key-23.json +1 -0
  171. package/data/sessions/session1/pre-key-230.json +1 -0
  172. package/data/sessions/session1/pre-key-231.json +1 -0
  173. package/data/sessions/session1/pre-key-232.json +1 -0
  174. package/data/sessions/session1/pre-key-233.json +1 -0
  175. package/data/sessions/session1/pre-key-234.json +1 -0
  176. package/data/sessions/session1/pre-key-235.json +1 -0
  177. package/data/sessions/session1/pre-key-236.json +1 -0
  178. package/data/sessions/session1/pre-key-237.json +1 -0
  179. package/data/sessions/session1/pre-key-238.json +1 -0
  180. package/data/sessions/session1/pre-key-239.json +1 -0
  181. package/data/sessions/session1/pre-key-24.json +1 -0
  182. package/data/sessions/session1/pre-key-240.json +1 -0
  183. package/data/sessions/session1/pre-key-241.json +1 -0
  184. package/data/sessions/session1/pre-key-242.json +1 -0
  185. package/data/sessions/session1/pre-key-243.json +1 -0
  186. package/data/sessions/session1/pre-key-244.json +1 -0
  187. package/data/sessions/session1/pre-key-245.json +1 -0
  188. package/data/sessions/session1/pre-key-246.json +1 -0
  189. package/data/sessions/session1/pre-key-247.json +1 -0
  190. package/data/sessions/session1/pre-key-248.json +1 -0
  191. package/data/sessions/session1/pre-key-249.json +1 -0
  192. package/data/sessions/session1/pre-key-25.json +1 -0
  193. package/data/sessions/session1/pre-key-250.json +1 -0
  194. package/data/sessions/session1/pre-key-251.json +1 -0
  195. package/data/sessions/session1/pre-key-252.json +1 -0
  196. package/data/sessions/session1/pre-key-253.json +1 -0
  197. package/data/sessions/session1/pre-key-254.json +1 -0
  198. package/data/sessions/session1/pre-key-255.json +1 -0
  199. package/data/sessions/session1/pre-key-256.json +1 -0
  200. package/data/sessions/session1/pre-key-257.json +1 -0
  201. package/data/sessions/session1/pre-key-258.json +1 -0
  202. package/data/sessions/session1/pre-key-259.json +1 -0
  203. package/data/sessions/session1/pre-key-26.json +1 -0
  204. package/data/sessions/session1/pre-key-260.json +1 -0
  205. package/data/sessions/session1/pre-key-261.json +1 -0
  206. package/data/sessions/session1/pre-key-262.json +1 -0
  207. package/data/sessions/session1/pre-key-263.json +1 -0
  208. package/data/sessions/session1/pre-key-264.json +1 -0
  209. package/data/sessions/session1/pre-key-265.json +1 -0
  210. package/data/sessions/session1/pre-key-266.json +1 -0
  211. package/data/sessions/session1/pre-key-267.json +1 -0
  212. package/data/sessions/session1/pre-key-268.json +1 -0
  213. package/data/sessions/session1/pre-key-269.json +1 -0
  214. package/data/sessions/session1/pre-key-27.json +1 -0
  215. package/data/sessions/session1/pre-key-270.json +1 -0
  216. package/data/sessions/session1/pre-key-271.json +1 -0
  217. package/data/sessions/session1/pre-key-272.json +1 -0
  218. package/data/sessions/session1/pre-key-273.json +1 -0
  219. package/data/sessions/session1/pre-key-274.json +1 -0
  220. package/data/sessions/session1/pre-key-275.json +1 -0
  221. package/data/sessions/session1/pre-key-276.json +1 -0
  222. package/data/sessions/session1/pre-key-277.json +1 -0
  223. package/data/sessions/session1/pre-key-278.json +1 -0
  224. package/data/sessions/session1/pre-key-279.json +1 -0
  225. package/data/sessions/session1/pre-key-28.json +1 -0
  226. package/data/sessions/session1/pre-key-280.json +1 -0
  227. package/data/sessions/session1/pre-key-281.json +1 -0
  228. package/data/sessions/session1/pre-key-282.json +1 -0
  229. package/data/sessions/session1/pre-key-283.json +1 -0
  230. package/data/sessions/session1/pre-key-284.json +1 -0
  231. package/data/sessions/session1/pre-key-285.json +1 -0
  232. package/data/sessions/session1/pre-key-286.json +1 -0
  233. package/data/sessions/session1/pre-key-287.json +1 -0
  234. package/data/sessions/session1/pre-key-288.json +1 -0
  235. package/data/sessions/session1/pre-key-289.json +1 -0
  236. package/data/sessions/session1/pre-key-29.json +1 -0
  237. package/data/sessions/session1/pre-key-290.json +1 -0
  238. package/data/sessions/session1/pre-key-291.json +1 -0
  239. package/data/sessions/session1/pre-key-292.json +1 -0
  240. package/data/sessions/session1/pre-key-293.json +1 -0
  241. package/data/sessions/session1/pre-key-294.json +1 -0
  242. package/data/sessions/session1/pre-key-295.json +1 -0
  243. package/data/sessions/session1/pre-key-296.json +1 -0
  244. package/data/sessions/session1/pre-key-297.json +1 -0
  245. package/data/sessions/session1/pre-key-298.json +1 -0
  246. package/data/sessions/session1/pre-key-299.json +1 -0
  247. package/data/sessions/session1/pre-key-3.json +1 -0
  248. package/data/sessions/session1/pre-key-30.json +1 -0
  249. package/data/sessions/session1/pre-key-300.json +1 -0
  250. package/data/sessions/session1/pre-key-301.json +1 -0
  251. package/data/sessions/session1/pre-key-302.json +1 -0
  252. package/data/sessions/session1/pre-key-303.json +1 -0
  253. package/data/sessions/session1/pre-key-304.json +1 -0
  254. package/data/sessions/session1/pre-key-305.json +1 -0
  255. package/data/sessions/session1/pre-key-306.json +1 -0
  256. package/data/sessions/session1/pre-key-307.json +1 -0
  257. package/data/sessions/session1/pre-key-308.json +1 -0
  258. package/data/sessions/session1/pre-key-309.json +1 -0
  259. package/data/sessions/session1/pre-key-31.json +1 -0
  260. package/data/sessions/session1/pre-key-310.json +1 -0
  261. package/data/sessions/session1/pre-key-311.json +1 -0
  262. package/data/sessions/session1/pre-key-312.json +1 -0
  263. package/data/sessions/session1/pre-key-313.json +1 -0
  264. package/data/sessions/session1/pre-key-314.json +1 -0
  265. package/data/sessions/session1/pre-key-315.json +1 -0
  266. package/data/sessions/session1/pre-key-316.json +1 -0
  267. package/data/sessions/session1/pre-key-317.json +1 -0
  268. package/data/sessions/session1/pre-key-318.json +1 -0
  269. package/data/sessions/session1/pre-key-319.json +1 -0
  270. package/data/sessions/session1/pre-key-32.json +1 -0
  271. package/data/sessions/session1/pre-key-320.json +1 -0
  272. package/data/sessions/session1/pre-key-321.json +1 -0
  273. package/data/sessions/session1/pre-key-322.json +1 -0
  274. package/data/sessions/session1/pre-key-323.json +1 -0
  275. package/data/sessions/session1/pre-key-324.json +1 -0
  276. package/data/sessions/session1/pre-key-325.json +1 -0
  277. package/data/sessions/session1/pre-key-326.json +1 -0
  278. package/data/sessions/session1/pre-key-327.json +1 -0
  279. package/data/sessions/session1/pre-key-328.json +1 -0
  280. package/data/sessions/session1/pre-key-329.json +1 -0
  281. package/data/sessions/session1/pre-key-33.json +1 -0
  282. package/data/sessions/session1/pre-key-330.json +1 -0
  283. package/data/sessions/session1/pre-key-331.json +1 -0
  284. package/data/sessions/session1/pre-key-332.json +1 -0
  285. package/data/sessions/session1/pre-key-333.json +1 -0
  286. package/data/sessions/session1/pre-key-334.json +1 -0
  287. package/data/sessions/session1/pre-key-335.json +1 -0
  288. package/data/sessions/session1/pre-key-336.json +1 -0
  289. package/data/sessions/session1/pre-key-337.json +1 -0
  290. package/data/sessions/session1/pre-key-338.json +1 -0
  291. package/data/sessions/session1/pre-key-339.json +1 -0
  292. package/data/sessions/session1/pre-key-34.json +1 -0
  293. package/data/sessions/session1/pre-key-340.json +1 -0
  294. package/data/sessions/session1/pre-key-341.json +1 -0
  295. package/data/sessions/session1/pre-key-342.json +1 -0
  296. package/data/sessions/session1/pre-key-343.json +1 -0
  297. package/data/sessions/session1/pre-key-344.json +1 -0
  298. package/data/sessions/session1/pre-key-345.json +1 -0
  299. package/data/sessions/session1/pre-key-346.json +1 -0
  300. package/data/sessions/session1/pre-key-347.json +1 -0
  301. package/data/sessions/session1/pre-key-348.json +1 -0
  302. package/data/sessions/session1/pre-key-349.json +1 -0
  303. package/data/sessions/session1/pre-key-35.json +1 -0
  304. package/data/sessions/session1/pre-key-350.json +1 -0
  305. package/data/sessions/session1/pre-key-351.json +1 -0
  306. package/data/sessions/session1/pre-key-352.json +1 -0
  307. package/data/sessions/session1/pre-key-353.json +1 -0
  308. package/data/sessions/session1/pre-key-354.json +1 -0
  309. package/data/sessions/session1/pre-key-355.json +1 -0
  310. package/data/sessions/session1/pre-key-356.json +1 -0
  311. package/data/sessions/session1/pre-key-357.json +1 -0
  312. package/data/sessions/session1/pre-key-358.json +1 -0
  313. package/data/sessions/session1/pre-key-359.json +1 -0
  314. package/data/sessions/session1/pre-key-36.json +1 -0
  315. package/data/sessions/session1/pre-key-360.json +1 -0
  316. package/data/sessions/session1/pre-key-361.json +1 -0
  317. package/data/sessions/session1/pre-key-362.json +1 -0
  318. package/data/sessions/session1/pre-key-363.json +1 -0
  319. package/data/sessions/session1/pre-key-364.json +1 -0
  320. package/data/sessions/session1/pre-key-365.json +1 -0
  321. package/data/sessions/session1/pre-key-366.json +1 -0
  322. package/data/sessions/session1/pre-key-367.json +1 -0
  323. package/data/sessions/session1/pre-key-368.json +1 -0
  324. package/data/sessions/session1/pre-key-369.json +1 -0
  325. package/data/sessions/session1/pre-key-37.json +1 -0
  326. package/data/sessions/session1/pre-key-370.json +1 -0
  327. package/data/sessions/session1/pre-key-371.json +1 -0
  328. package/data/sessions/session1/pre-key-372.json +1 -0
  329. package/data/sessions/session1/pre-key-373.json +1 -0
  330. package/data/sessions/session1/pre-key-374.json +1 -0
  331. package/data/sessions/session1/pre-key-375.json +1 -0
  332. package/data/sessions/session1/pre-key-376.json +1 -0
  333. package/data/sessions/session1/pre-key-377.json +1 -0
  334. package/data/sessions/session1/pre-key-378.json +1 -0
  335. package/data/sessions/session1/pre-key-379.json +1 -0
  336. package/data/sessions/session1/pre-key-38.json +1 -0
  337. package/data/sessions/session1/pre-key-380.json +1 -0
  338. package/data/sessions/session1/pre-key-381.json +1 -0
  339. package/data/sessions/session1/pre-key-382.json +1 -0
  340. package/data/sessions/session1/pre-key-383.json +1 -0
  341. package/data/sessions/session1/pre-key-384.json +1 -0
  342. package/data/sessions/session1/pre-key-385.json +1 -0
  343. package/data/sessions/session1/pre-key-386.json +1 -0
  344. package/data/sessions/session1/pre-key-387.json +1 -0
  345. package/data/sessions/session1/pre-key-388.json +1 -0
  346. package/data/sessions/session1/pre-key-389.json +1 -0
  347. package/data/sessions/session1/pre-key-39.json +1 -0
  348. package/data/sessions/session1/pre-key-390.json +1 -0
  349. package/data/sessions/session1/pre-key-391.json +1 -0
  350. package/data/sessions/session1/pre-key-392.json +1 -0
  351. package/data/sessions/session1/pre-key-393.json +1 -0
  352. package/data/sessions/session1/pre-key-394.json +1 -0
  353. package/data/sessions/session1/pre-key-395.json +1 -0
  354. package/data/sessions/session1/pre-key-396.json +1 -0
  355. package/data/sessions/session1/pre-key-397.json +1 -0
  356. package/data/sessions/session1/pre-key-398.json +1 -0
  357. package/data/sessions/session1/pre-key-399.json +1 -0
  358. package/data/sessions/session1/pre-key-4.json +1 -0
  359. package/data/sessions/session1/pre-key-40.json +1 -0
  360. package/data/sessions/session1/pre-key-400.json +1 -0
  361. package/data/sessions/session1/pre-key-401.json +1 -0
  362. package/data/sessions/session1/pre-key-402.json +1 -0
  363. package/data/sessions/session1/pre-key-403.json +1 -0
  364. package/data/sessions/session1/pre-key-404.json +1 -0
  365. package/data/sessions/session1/pre-key-405.json +1 -0
  366. package/data/sessions/session1/pre-key-406.json +1 -0
  367. package/data/sessions/session1/pre-key-407.json +1 -0
  368. package/data/sessions/session1/pre-key-408.json +1 -0
  369. package/data/sessions/session1/pre-key-409.json +1 -0
  370. package/data/sessions/session1/pre-key-41.json +1 -0
  371. package/data/sessions/session1/pre-key-410.json +1 -0
  372. package/data/sessions/session1/pre-key-411.json +1 -0
  373. package/data/sessions/session1/pre-key-412.json +1 -0
  374. package/data/sessions/session1/pre-key-413.json +1 -0
  375. package/data/sessions/session1/pre-key-414.json +1 -0
  376. package/data/sessions/session1/pre-key-415.json +1 -0
  377. package/data/sessions/session1/pre-key-416.json +1 -0
  378. package/data/sessions/session1/pre-key-417.json +1 -0
  379. package/data/sessions/session1/pre-key-418.json +1 -0
  380. package/data/sessions/session1/pre-key-419.json +1 -0
  381. package/data/sessions/session1/pre-key-42.json +1 -0
  382. package/data/sessions/session1/pre-key-420.json +1 -0
  383. package/data/sessions/session1/pre-key-421.json +1 -0
  384. package/data/sessions/session1/pre-key-422.json +1 -0
  385. package/data/sessions/session1/pre-key-423.json +1 -0
  386. package/data/sessions/session1/pre-key-424.json +1 -0
  387. package/data/sessions/session1/pre-key-425.json +1 -0
  388. package/data/sessions/session1/pre-key-426.json +1 -0
  389. package/data/sessions/session1/pre-key-427.json +1 -0
  390. package/data/sessions/session1/pre-key-428.json +1 -0
  391. package/data/sessions/session1/pre-key-429.json +1 -0
  392. package/data/sessions/session1/pre-key-43.json +1 -0
  393. package/data/sessions/session1/pre-key-430.json +1 -0
  394. package/data/sessions/session1/pre-key-431.json +1 -0
  395. package/data/sessions/session1/pre-key-432.json +1 -0
  396. package/data/sessions/session1/pre-key-433.json +1 -0
  397. package/data/sessions/session1/pre-key-434.json +1 -0
  398. package/data/sessions/session1/pre-key-435.json +1 -0
  399. package/data/sessions/session1/pre-key-436.json +1 -0
  400. package/data/sessions/session1/pre-key-437.json +1 -0
  401. package/data/sessions/session1/pre-key-438.json +1 -0
  402. package/data/sessions/session1/pre-key-439.json +1 -0
  403. package/data/sessions/session1/pre-key-44.json +1 -0
  404. package/data/sessions/session1/pre-key-440.json +1 -0
  405. package/data/sessions/session1/pre-key-441.json +1 -0
  406. package/data/sessions/session1/pre-key-442.json +1 -0
  407. package/data/sessions/session1/pre-key-443.json +1 -0
  408. package/data/sessions/session1/pre-key-444.json +1 -0
  409. package/data/sessions/session1/pre-key-445.json +1 -0
  410. package/data/sessions/session1/pre-key-446.json +1 -0
  411. package/data/sessions/session1/pre-key-447.json +1 -0
  412. package/data/sessions/session1/pre-key-448.json +1 -0
  413. package/data/sessions/session1/pre-key-449.json +1 -0
  414. package/data/sessions/session1/pre-key-45.json +1 -0
  415. package/data/sessions/session1/pre-key-450.json +1 -0
  416. package/data/sessions/session1/pre-key-451.json +1 -0
  417. package/data/sessions/session1/pre-key-452.json +1 -0
  418. package/data/sessions/session1/pre-key-453.json +1 -0
  419. package/data/sessions/session1/pre-key-454.json +1 -0
  420. package/data/sessions/session1/pre-key-455.json +1 -0
  421. package/data/sessions/session1/pre-key-456.json +1 -0
  422. package/data/sessions/session1/pre-key-457.json +1 -0
  423. package/data/sessions/session1/pre-key-458.json +1 -0
  424. package/data/sessions/session1/pre-key-459.json +1 -0
  425. package/data/sessions/session1/pre-key-46.json +1 -0
  426. package/data/sessions/session1/pre-key-460.json +1 -0
  427. package/data/sessions/session1/pre-key-461.json +1 -0
  428. package/data/sessions/session1/pre-key-462.json +1 -0
  429. package/data/sessions/session1/pre-key-463.json +1 -0
  430. package/data/sessions/session1/pre-key-464.json +1 -0
  431. package/data/sessions/session1/pre-key-465.json +1 -0
  432. package/data/sessions/session1/pre-key-466.json +1 -0
  433. package/data/sessions/session1/pre-key-467.json +1 -0
  434. package/data/sessions/session1/pre-key-468.json +1 -0
  435. package/data/sessions/session1/pre-key-469.json +1 -0
  436. package/data/sessions/session1/pre-key-47.json +1 -0
  437. package/data/sessions/session1/pre-key-470.json +1 -0
  438. package/data/sessions/session1/pre-key-471.json +1 -0
  439. package/data/sessions/session1/pre-key-472.json +1 -0
  440. package/data/sessions/session1/pre-key-473.json +1 -0
  441. package/data/sessions/session1/pre-key-474.json +1 -0
  442. package/data/sessions/session1/pre-key-475.json +1 -0
  443. package/data/sessions/session1/pre-key-476.json +1 -0
  444. package/data/sessions/session1/pre-key-477.json +1 -0
  445. package/data/sessions/session1/pre-key-478.json +1 -0
  446. package/data/sessions/session1/pre-key-479.json +1 -0
  447. package/data/sessions/session1/pre-key-48.json +1 -0
  448. package/data/sessions/session1/pre-key-480.json +1 -0
  449. package/data/sessions/session1/pre-key-481.json +1 -0
  450. package/data/sessions/session1/pre-key-482.json +1 -0
  451. package/data/sessions/session1/pre-key-483.json +1 -0
  452. package/data/sessions/session1/pre-key-484.json +1 -0
  453. package/data/sessions/session1/pre-key-485.json +1 -0
  454. package/data/sessions/session1/pre-key-486.json +1 -0
  455. package/data/sessions/session1/pre-key-487.json +1 -0
  456. package/data/sessions/session1/pre-key-488.json +1 -0
  457. package/data/sessions/session1/pre-key-489.json +1 -0
  458. package/data/sessions/session1/pre-key-49.json +1 -0
  459. package/data/sessions/session1/pre-key-490.json +1 -0
  460. package/data/sessions/session1/pre-key-491.json +1 -0
  461. package/data/sessions/session1/pre-key-492.json +1 -0
  462. package/data/sessions/session1/pre-key-493.json +1 -0
  463. package/data/sessions/session1/pre-key-494.json +1 -0
  464. package/data/sessions/session1/pre-key-495.json +1 -0
  465. package/data/sessions/session1/pre-key-496.json +1 -0
  466. package/data/sessions/session1/pre-key-497.json +1 -0
  467. package/data/sessions/session1/pre-key-498.json +1 -0
  468. package/data/sessions/session1/pre-key-499.json +1 -0
  469. package/data/sessions/session1/pre-key-5.json +1 -0
  470. package/data/sessions/session1/pre-key-50.json +1 -0
  471. package/data/sessions/session1/pre-key-500.json +1 -0
  472. package/data/sessions/session1/pre-key-501.json +1 -0
  473. package/data/sessions/session1/pre-key-502.json +1 -0
  474. package/data/sessions/session1/pre-key-503.json +1 -0
  475. package/data/sessions/session1/pre-key-504.json +1 -0
  476. package/data/sessions/session1/pre-key-505.json +1 -0
  477. package/data/sessions/session1/pre-key-506.json +1 -0
  478. package/data/sessions/session1/pre-key-507.json +1 -0
  479. package/data/sessions/session1/pre-key-508.json +1 -0
  480. package/data/sessions/session1/pre-key-509.json +1 -0
  481. package/data/sessions/session1/pre-key-51.json +1 -0
  482. package/data/sessions/session1/pre-key-510.json +1 -0
  483. package/data/sessions/session1/pre-key-511.json +1 -0
  484. package/data/sessions/session1/pre-key-512.json +1 -0
  485. package/data/sessions/session1/pre-key-513.json +1 -0
  486. package/data/sessions/session1/pre-key-514.json +1 -0
  487. package/data/sessions/session1/pre-key-515.json +1 -0
  488. package/data/sessions/session1/pre-key-516.json +1 -0
  489. package/data/sessions/session1/pre-key-517.json +1 -0
  490. package/data/sessions/session1/pre-key-518.json +1 -0
  491. package/data/sessions/session1/pre-key-519.json +1 -0
  492. package/data/sessions/session1/pre-key-52.json +1 -0
  493. package/data/sessions/session1/pre-key-520.json +1 -0
  494. package/data/sessions/session1/pre-key-521.json +1 -0
  495. package/data/sessions/session1/pre-key-522.json +1 -0
  496. package/data/sessions/session1/pre-key-523.json +1 -0
  497. package/data/sessions/session1/pre-key-524.json +1 -0
  498. package/data/sessions/session1/pre-key-525.json +1 -0
  499. package/data/sessions/session1/pre-key-526.json +1 -0
  500. package/data/sessions/session1/pre-key-527.json +1 -0
  501. package/data/sessions/session1/pre-key-528.json +1 -0
  502. package/data/sessions/session1/pre-key-529.json +1 -0
  503. package/data/sessions/session1/pre-key-53.json +1 -0
  504. package/data/sessions/session1/pre-key-530.json +1 -0
  505. package/data/sessions/session1/pre-key-531.json +1 -0
  506. package/data/sessions/session1/pre-key-532.json +1 -0
  507. package/data/sessions/session1/pre-key-533.json +1 -0
  508. package/data/sessions/session1/pre-key-534.json +1 -0
  509. package/data/sessions/session1/pre-key-535.json +1 -0
  510. package/data/sessions/session1/pre-key-536.json +1 -0
  511. package/data/sessions/session1/pre-key-537.json +1 -0
  512. package/data/sessions/session1/pre-key-538.json +1 -0
  513. package/data/sessions/session1/pre-key-539.json +1 -0
  514. package/data/sessions/session1/pre-key-54.json +1 -0
  515. package/data/sessions/session1/pre-key-540.json +1 -0
  516. package/data/sessions/session1/pre-key-541.json +1 -0
  517. package/data/sessions/session1/pre-key-542.json +1 -0
  518. package/data/sessions/session1/pre-key-543.json +1 -0
  519. package/data/sessions/session1/pre-key-544.json +1 -0
  520. package/data/sessions/session1/pre-key-545.json +1 -0
  521. package/data/sessions/session1/pre-key-546.json +1 -0
  522. package/data/sessions/session1/pre-key-547.json +1 -0
  523. package/data/sessions/session1/pre-key-548.json +1 -0
  524. package/data/sessions/session1/pre-key-549.json +1 -0
  525. package/data/sessions/session1/pre-key-55.json +1 -0
  526. package/data/sessions/session1/pre-key-550.json +1 -0
  527. package/data/sessions/session1/pre-key-551.json +1 -0
  528. package/data/sessions/session1/pre-key-552.json +1 -0
  529. package/data/sessions/session1/pre-key-553.json +1 -0
  530. package/data/sessions/session1/pre-key-554.json +1 -0
  531. package/data/sessions/session1/pre-key-555.json +1 -0
  532. package/data/sessions/session1/pre-key-556.json +1 -0
  533. package/data/sessions/session1/pre-key-557.json +1 -0
  534. package/data/sessions/session1/pre-key-558.json +1 -0
  535. package/data/sessions/session1/pre-key-559.json +1 -0
  536. package/data/sessions/session1/pre-key-56.json +1 -0
  537. package/data/sessions/session1/pre-key-560.json +1 -0
  538. package/data/sessions/session1/pre-key-561.json +1 -0
  539. package/data/sessions/session1/pre-key-562.json +1 -0
  540. package/data/sessions/session1/pre-key-563.json +1 -0
  541. package/data/sessions/session1/pre-key-564.json +1 -0
  542. package/data/sessions/session1/pre-key-565.json +1 -0
  543. package/data/sessions/session1/pre-key-566.json +1 -0
  544. package/data/sessions/session1/pre-key-567.json +1 -0
  545. package/data/sessions/session1/pre-key-568.json +1 -0
  546. package/data/sessions/session1/pre-key-569.json +1 -0
  547. package/data/sessions/session1/pre-key-57.json +1 -0
  548. package/data/sessions/session1/pre-key-570.json +1 -0
  549. package/data/sessions/session1/pre-key-571.json +1 -0
  550. package/data/sessions/session1/pre-key-572.json +1 -0
  551. package/data/sessions/session1/pre-key-573.json +1 -0
  552. package/data/sessions/session1/pre-key-574.json +1 -0
  553. package/data/sessions/session1/pre-key-575.json +1 -0
  554. package/data/sessions/session1/pre-key-576.json +1 -0
  555. package/data/sessions/session1/pre-key-577.json +1 -0
  556. package/data/sessions/session1/pre-key-578.json +1 -0
  557. package/data/sessions/session1/pre-key-579.json +1 -0
  558. package/data/sessions/session1/pre-key-58.json +1 -0
  559. package/data/sessions/session1/pre-key-580.json +1 -0
  560. package/data/sessions/session1/pre-key-581.json +1 -0
  561. package/data/sessions/session1/pre-key-582.json +1 -0
  562. package/data/sessions/session1/pre-key-583.json +1 -0
  563. package/data/sessions/session1/pre-key-584.json +1 -0
  564. package/data/sessions/session1/pre-key-585.json +1 -0
  565. package/data/sessions/session1/pre-key-586.json +1 -0
  566. package/data/sessions/session1/pre-key-587.json +1 -0
  567. package/data/sessions/session1/pre-key-588.json +1 -0
  568. package/data/sessions/session1/pre-key-589.json +1 -0
  569. package/data/sessions/session1/pre-key-59.json +1 -0
  570. package/data/sessions/session1/pre-key-590.json +1 -0
  571. package/data/sessions/session1/pre-key-591.json +1 -0
  572. package/data/sessions/session1/pre-key-592.json +1 -0
  573. package/data/sessions/session1/pre-key-593.json +1 -0
  574. package/data/sessions/session1/pre-key-594.json +1 -0
  575. package/data/sessions/session1/pre-key-595.json +1 -0
  576. package/data/sessions/session1/pre-key-596.json +1 -0
  577. package/data/sessions/session1/pre-key-597.json +1 -0
  578. package/data/sessions/session1/pre-key-598.json +1 -0
  579. package/data/sessions/session1/pre-key-599.json +1 -0
  580. package/data/sessions/session1/pre-key-6.json +1 -0
  581. package/data/sessions/session1/pre-key-60.json +1 -0
  582. package/data/sessions/session1/pre-key-600.json +1 -0
  583. package/data/sessions/session1/pre-key-601.json +1 -0
  584. package/data/sessions/session1/pre-key-602.json +1 -0
  585. package/data/sessions/session1/pre-key-603.json +1 -0
  586. package/data/sessions/session1/pre-key-604.json +1 -0
  587. package/data/sessions/session1/pre-key-605.json +1 -0
  588. package/data/sessions/session1/pre-key-606.json +1 -0
  589. package/data/sessions/session1/pre-key-607.json +1 -0
  590. package/data/sessions/session1/pre-key-608.json +1 -0
  591. package/data/sessions/session1/pre-key-609.json +1 -0
  592. package/data/sessions/session1/pre-key-61.json +1 -0
  593. package/data/sessions/session1/pre-key-610.json +1 -0
  594. package/data/sessions/session1/pre-key-611.json +1 -0
  595. package/data/sessions/session1/pre-key-612.json +1 -0
  596. package/data/sessions/session1/pre-key-613.json +1 -0
  597. package/data/sessions/session1/pre-key-614.json +1 -0
  598. package/data/sessions/session1/pre-key-615.json +1 -0
  599. package/data/sessions/session1/pre-key-616.json +1 -0
  600. package/data/sessions/session1/pre-key-617.json +1 -0
  601. package/data/sessions/session1/pre-key-618.json +1 -0
  602. package/data/sessions/session1/pre-key-619.json +1 -0
  603. package/data/sessions/session1/pre-key-62.json +1 -0
  604. package/data/sessions/session1/pre-key-620.json +1 -0
  605. package/data/sessions/session1/pre-key-621.json +1 -0
  606. package/data/sessions/session1/pre-key-622.json +1 -0
  607. package/data/sessions/session1/pre-key-623.json +1 -0
  608. package/data/sessions/session1/pre-key-624.json +1 -0
  609. package/data/sessions/session1/pre-key-625.json +1 -0
  610. package/data/sessions/session1/pre-key-626.json +1 -0
  611. package/data/sessions/session1/pre-key-627.json +1 -0
  612. package/data/sessions/session1/pre-key-628.json +1 -0
  613. package/data/sessions/session1/pre-key-629.json +1 -0
  614. package/data/sessions/session1/pre-key-63.json +1 -0
  615. package/data/sessions/session1/pre-key-630.json +1 -0
  616. package/data/sessions/session1/pre-key-631.json +1 -0
  617. package/data/sessions/session1/pre-key-632.json +1 -0
  618. package/data/sessions/session1/pre-key-633.json +1 -0
  619. package/data/sessions/session1/pre-key-634.json +1 -0
  620. package/data/sessions/session1/pre-key-635.json +1 -0
  621. package/data/sessions/session1/pre-key-636.json +1 -0
  622. package/data/sessions/session1/pre-key-637.json +1 -0
  623. package/data/sessions/session1/pre-key-638.json +1 -0
  624. package/data/sessions/session1/pre-key-639.json +1 -0
  625. package/data/sessions/session1/pre-key-64.json +1 -0
  626. package/data/sessions/session1/pre-key-640.json +1 -0
  627. package/data/sessions/session1/pre-key-641.json +1 -0
  628. package/data/sessions/session1/pre-key-642.json +1 -0
  629. package/data/sessions/session1/pre-key-643.json +1 -0
  630. package/data/sessions/session1/pre-key-644.json +1 -0
  631. package/data/sessions/session1/pre-key-645.json +1 -0
  632. package/data/sessions/session1/pre-key-646.json +1 -0
  633. package/data/sessions/session1/pre-key-647.json +1 -0
  634. package/data/sessions/session1/pre-key-648.json +1 -0
  635. package/data/sessions/session1/pre-key-649.json +1 -0
  636. package/data/sessions/session1/pre-key-65.json +1 -0
  637. package/data/sessions/session1/pre-key-650.json +1 -0
  638. package/data/sessions/session1/pre-key-651.json +1 -0
  639. package/data/sessions/session1/pre-key-652.json +1 -0
  640. package/data/sessions/session1/pre-key-653.json +1 -0
  641. package/data/sessions/session1/pre-key-654.json +1 -0
  642. package/data/sessions/session1/pre-key-655.json +1 -0
  643. package/data/sessions/session1/pre-key-656.json +1 -0
  644. package/data/sessions/session1/pre-key-657.json +1 -0
  645. package/data/sessions/session1/pre-key-658.json +1 -0
  646. package/data/sessions/session1/pre-key-659.json +1 -0
  647. package/data/sessions/session1/pre-key-66.json +1 -0
  648. package/data/sessions/session1/pre-key-660.json +1 -0
  649. package/data/sessions/session1/pre-key-661.json +1 -0
  650. package/data/sessions/session1/pre-key-662.json +1 -0
  651. package/data/sessions/session1/pre-key-663.json +1 -0
  652. package/data/sessions/session1/pre-key-664.json +1 -0
  653. package/data/sessions/session1/pre-key-665.json +1 -0
  654. package/data/sessions/session1/pre-key-666.json +1 -0
  655. package/data/sessions/session1/pre-key-667.json +1 -0
  656. package/data/sessions/session1/pre-key-668.json +1 -0
  657. package/data/sessions/session1/pre-key-669.json +1 -0
  658. package/data/sessions/session1/pre-key-67.json +1 -0
  659. package/data/sessions/session1/pre-key-670.json +1 -0
  660. package/data/sessions/session1/pre-key-671.json +1 -0
  661. package/data/sessions/session1/pre-key-672.json +1 -0
  662. package/data/sessions/session1/pre-key-673.json +1 -0
  663. package/data/sessions/session1/pre-key-674.json +1 -0
  664. package/data/sessions/session1/pre-key-675.json +1 -0
  665. package/data/sessions/session1/pre-key-676.json +1 -0
  666. package/data/sessions/session1/pre-key-677.json +1 -0
  667. package/data/sessions/session1/pre-key-678.json +1 -0
  668. package/data/sessions/session1/pre-key-679.json +1 -0
  669. package/data/sessions/session1/pre-key-68.json +1 -0
  670. package/data/sessions/session1/pre-key-680.json +1 -0
  671. package/data/sessions/session1/pre-key-681.json +1 -0
  672. package/data/sessions/session1/pre-key-682.json +1 -0
  673. package/data/sessions/session1/pre-key-683.json +1 -0
  674. package/data/sessions/session1/pre-key-684.json +1 -0
  675. package/data/sessions/session1/pre-key-685.json +1 -0
  676. package/data/sessions/session1/pre-key-686.json +1 -0
  677. package/data/sessions/session1/pre-key-687.json +1 -0
  678. package/data/sessions/session1/pre-key-688.json +1 -0
  679. package/data/sessions/session1/pre-key-689.json +1 -0
  680. package/data/sessions/session1/pre-key-69.json +1 -0
  681. package/data/sessions/session1/pre-key-690.json +1 -0
  682. package/data/sessions/session1/pre-key-691.json +1 -0
  683. package/data/sessions/session1/pre-key-692.json +1 -0
  684. package/data/sessions/session1/pre-key-693.json +1 -0
  685. package/data/sessions/session1/pre-key-694.json +1 -0
  686. package/data/sessions/session1/pre-key-695.json +1 -0
  687. package/data/sessions/session1/pre-key-696.json +1 -0
  688. package/data/sessions/session1/pre-key-697.json +1 -0
  689. package/data/sessions/session1/pre-key-698.json +1 -0
  690. package/data/sessions/session1/pre-key-699.json +1 -0
  691. package/data/sessions/session1/pre-key-7.json +1 -0
  692. package/data/sessions/session1/pre-key-70.json +1 -0
  693. package/data/sessions/session1/pre-key-700.json +1 -0
  694. package/data/sessions/session1/pre-key-701.json +1 -0
  695. package/data/sessions/session1/pre-key-702.json +1 -0
  696. package/data/sessions/session1/pre-key-703.json +1 -0
  697. package/data/sessions/session1/pre-key-704.json +1 -0
  698. package/data/sessions/session1/pre-key-705.json +1 -0
  699. package/data/sessions/session1/pre-key-706.json +1 -0
  700. package/data/sessions/session1/pre-key-707.json +1 -0
  701. package/data/sessions/session1/pre-key-708.json +1 -0
  702. package/data/sessions/session1/pre-key-709.json +1 -0
  703. package/data/sessions/session1/pre-key-71.json +1 -0
  704. package/data/sessions/session1/pre-key-710.json +1 -0
  705. package/data/sessions/session1/pre-key-711.json +1 -0
  706. package/data/sessions/session1/pre-key-712.json +1 -0
  707. package/data/sessions/session1/pre-key-713.json +1 -0
  708. package/data/sessions/session1/pre-key-714.json +1 -0
  709. package/data/sessions/session1/pre-key-715.json +1 -0
  710. package/data/sessions/session1/pre-key-716.json +1 -0
  711. package/data/sessions/session1/pre-key-717.json +1 -0
  712. package/data/sessions/session1/pre-key-718.json +1 -0
  713. package/data/sessions/session1/pre-key-719.json +1 -0
  714. package/data/sessions/session1/pre-key-72.json +1 -0
  715. package/data/sessions/session1/pre-key-720.json +1 -0
  716. package/data/sessions/session1/pre-key-721.json +1 -0
  717. package/data/sessions/session1/pre-key-722.json +1 -0
  718. package/data/sessions/session1/pre-key-723.json +1 -0
  719. package/data/sessions/session1/pre-key-724.json +1 -0
  720. package/data/sessions/session1/pre-key-725.json +1 -0
  721. package/data/sessions/session1/pre-key-726.json +1 -0
  722. package/data/sessions/session1/pre-key-727.json +1 -0
  723. package/data/sessions/session1/pre-key-728.json +1 -0
  724. package/data/sessions/session1/pre-key-729.json +1 -0
  725. package/data/sessions/session1/pre-key-73.json +1 -0
  726. package/data/sessions/session1/pre-key-730.json +1 -0
  727. package/data/sessions/session1/pre-key-731.json +1 -0
  728. package/data/sessions/session1/pre-key-732.json +1 -0
  729. package/data/sessions/session1/pre-key-733.json +1 -0
  730. package/data/sessions/session1/pre-key-734.json +1 -0
  731. package/data/sessions/session1/pre-key-735.json +1 -0
  732. package/data/sessions/session1/pre-key-736.json +1 -0
  733. package/data/sessions/session1/pre-key-737.json +1 -0
  734. package/data/sessions/session1/pre-key-738.json +1 -0
  735. package/data/sessions/session1/pre-key-739.json +1 -0
  736. package/data/sessions/session1/pre-key-74.json +1 -0
  737. package/data/sessions/session1/pre-key-740.json +1 -0
  738. package/data/sessions/session1/pre-key-741.json +1 -0
  739. package/data/sessions/session1/pre-key-742.json +1 -0
  740. package/data/sessions/session1/pre-key-743.json +1 -0
  741. package/data/sessions/session1/pre-key-744.json +1 -0
  742. package/data/sessions/session1/pre-key-745.json +1 -0
  743. package/data/sessions/session1/pre-key-746.json +1 -0
  744. package/data/sessions/session1/pre-key-747.json +1 -0
  745. package/data/sessions/session1/pre-key-748.json +1 -0
  746. package/data/sessions/session1/pre-key-749.json +1 -0
  747. package/data/sessions/session1/pre-key-75.json +1 -0
  748. package/data/sessions/session1/pre-key-750.json +1 -0
  749. package/data/sessions/session1/pre-key-751.json +1 -0
  750. package/data/sessions/session1/pre-key-752.json +1 -0
  751. package/data/sessions/session1/pre-key-753.json +1 -0
  752. package/data/sessions/session1/pre-key-754.json +1 -0
  753. package/data/sessions/session1/pre-key-755.json +1 -0
  754. package/data/sessions/session1/pre-key-756.json +1 -0
  755. package/data/sessions/session1/pre-key-757.json +1 -0
  756. package/data/sessions/session1/pre-key-758.json +1 -0
  757. package/data/sessions/session1/pre-key-759.json +1 -0
  758. package/data/sessions/session1/pre-key-76.json +1 -0
  759. package/data/sessions/session1/pre-key-760.json +1 -0
  760. package/data/sessions/session1/pre-key-761.json +1 -0
  761. package/data/sessions/session1/pre-key-762.json +1 -0
  762. package/data/sessions/session1/pre-key-763.json +1 -0
  763. package/data/sessions/session1/pre-key-764.json +1 -0
  764. package/data/sessions/session1/pre-key-765.json +1 -0
  765. package/data/sessions/session1/pre-key-766.json +1 -0
  766. package/data/sessions/session1/pre-key-767.json +1 -0
  767. package/data/sessions/session1/pre-key-768.json +1 -0
  768. package/data/sessions/session1/pre-key-769.json +1 -0
  769. package/data/sessions/session1/pre-key-77.json +1 -0
  770. package/data/sessions/session1/pre-key-770.json +1 -0
  771. package/data/sessions/session1/pre-key-771.json +1 -0
  772. package/data/sessions/session1/pre-key-772.json +1 -0
  773. package/data/sessions/session1/pre-key-773.json +1 -0
  774. package/data/sessions/session1/pre-key-774.json +1 -0
  775. package/data/sessions/session1/pre-key-775.json +1 -0
  776. package/data/sessions/session1/pre-key-776.json +1 -0
  777. package/data/sessions/session1/pre-key-777.json +1 -0
  778. package/data/sessions/session1/pre-key-778.json +1 -0
  779. package/data/sessions/session1/pre-key-779.json +1 -0
  780. package/data/sessions/session1/pre-key-78.json +1 -0
  781. package/data/sessions/session1/pre-key-780.json +1 -0
  782. package/data/sessions/session1/pre-key-781.json +1 -0
  783. package/data/sessions/session1/pre-key-782.json +1 -0
  784. package/data/sessions/session1/pre-key-783.json +1 -0
  785. package/data/sessions/session1/pre-key-784.json +1 -0
  786. package/data/sessions/session1/pre-key-785.json +1 -0
  787. package/data/sessions/session1/pre-key-786.json +1 -0
  788. package/data/sessions/session1/pre-key-787.json +1 -0
  789. package/data/sessions/session1/pre-key-788.json +1 -0
  790. package/data/sessions/session1/pre-key-789.json +1 -0
  791. package/data/sessions/session1/pre-key-79.json +1 -0
  792. package/data/sessions/session1/pre-key-790.json +1 -0
  793. package/data/sessions/session1/pre-key-791.json +1 -0
  794. package/data/sessions/session1/pre-key-792.json +1 -0
  795. package/data/sessions/session1/pre-key-793.json +1 -0
  796. package/data/sessions/session1/pre-key-794.json +1 -0
  797. package/data/sessions/session1/pre-key-795.json +1 -0
  798. package/data/sessions/session1/pre-key-796.json +1 -0
  799. package/data/sessions/session1/pre-key-797.json +1 -0
  800. package/data/sessions/session1/pre-key-798.json +1 -0
  801. package/data/sessions/session1/pre-key-799.json +1 -0
  802. package/data/sessions/session1/pre-key-8.json +1 -0
  803. package/data/sessions/session1/pre-key-80.json +1 -0
  804. package/data/sessions/session1/pre-key-800.json +1 -0
  805. package/data/sessions/session1/pre-key-801.json +1 -0
  806. package/data/sessions/session1/pre-key-802.json +1 -0
  807. package/data/sessions/session1/pre-key-803.json +1 -0
  808. package/data/sessions/session1/pre-key-804.json +1 -0
  809. package/data/sessions/session1/pre-key-805.json +1 -0
  810. package/data/sessions/session1/pre-key-806.json +1 -0
  811. package/data/sessions/session1/pre-key-807.json +1 -0
  812. package/data/sessions/session1/pre-key-808.json +1 -0
  813. package/data/sessions/session1/pre-key-809.json +1 -0
  814. package/data/sessions/session1/pre-key-81.json +1 -0
  815. package/data/sessions/session1/pre-key-810.json +1 -0
  816. package/data/sessions/session1/pre-key-811.json +1 -0
  817. package/data/sessions/session1/pre-key-812.json +1 -0
  818. package/data/sessions/session1/pre-key-82.json +1 -0
  819. package/data/sessions/session1/pre-key-83.json +1 -0
  820. package/data/sessions/session1/pre-key-84.json +1 -0
  821. package/data/sessions/session1/pre-key-85.json +1 -0
  822. package/data/sessions/session1/pre-key-86.json +1 -0
  823. package/data/sessions/session1/pre-key-87.json +1 -0
  824. package/data/sessions/session1/pre-key-88.json +1 -0
  825. package/data/sessions/session1/pre-key-89.json +1 -0
  826. package/data/sessions/session1/pre-key-9.json +1 -0
  827. package/data/sessions/session1/pre-key-90.json +1 -0
  828. package/data/sessions/session1/pre-key-91.json +1 -0
  829. package/data/sessions/session1/pre-key-92.json +1 -0
  830. package/data/sessions/session1/pre-key-93.json +1 -0
  831. package/data/sessions/session1/pre-key-94.json +1 -0
  832. package/data/sessions/session1/pre-key-95.json +1 -0
  833. package/data/sessions/session1/pre-key-96.json +1 -0
  834. package/data/sessions/session1/pre-key-97.json +1 -0
  835. package/data/sessions/session1/pre-key-98.json +1 -0
  836. package/data/sessions/session1/pre-key-99.json +1 -0
  837. package/data/sessions/session1/session-275801408819393_1.0.json +1 -0
  838. package/handlers/baileys.js +25 -0
  839. package/handlers/calls.js +58 -0
  840. package/handlers/contacts.js +142 -0
  841. package/handlers/groups.js +195 -0
  842. package/handlers/messages.js +345 -0
  843. package/handlers/newsletters.js +184 -0
  844. package/handlers/presence-status.js +9 -0
  845. package/handlers/stories.js +37 -0
  846. package/handlers/users.js +119 -0
  847. package/index.js +649 -0
  848. package/package.json +19 -0
  849. package/types/buttons.js +72 -0
  850. package/types/interactive-messages.js +318 -0
  851. package/utils/generic-utils.js +23 -0
  852. package/utils/index.js +4 -0
  853. package/utils/message-normalizer.js +427 -0
  854. package/utils/message-store-db-handler.js +46 -0
  855. package/utils/message-store.js +73 -0
package/index.js ADDED
@@ -0,0 +1,649 @@
1
+ // Biblioteca chamada @areumtecnologia/unitychat
2
+
3
+ const {
4
+ Browsers,
5
+ makeWASocket,
6
+ decryptPollVote,
7
+ DisconnectReason,
8
+ jidNormalizedUser,
9
+ downloadContentFromMessage,
10
+ getContentType,
11
+ useMultiFileAuthState,
12
+ fetchLatestBaileysVersion,
13
+ getOldestMessageInChat,
14
+ fetchMessageHistory
15
+ } = require('./handlers/baileys');
16
+ const { Boom } = require('@hapi/boom');
17
+ const EventEmitter = require('events');
18
+ const fs = require('fs/promises');
19
+ const { constants } = require('fs');
20
+ const path = require('path');
21
+ const pino = require('pino');
22
+ const QRCode = require('qrcode');
23
+ const qrcodeTerminal = require('qrcode-terminal');
24
+ // Importa os handlers de responsabilidades específicas
25
+ const MessageHandler = require('./handlers/messages');
26
+ const GroupHandler = require('./handlers/groups');
27
+ const CallHandler = require('./handlers/calls');
28
+ const NewsletterHandler = require('./handlers/newsletters');
29
+ const { UserHandler, PresenceStatus } = require('./handlers/users');
30
+ const ContactHandler = require('./handlers/contacts');
31
+ const StoriesHandler = require('./handlers/stories');
32
+
33
+ const { MessageNormalizer, MessageStore } = require('./utils');
34
+ const { InteractiveMessage, CallButton, CopyCodeButton, ListButton, ListRow, ListSection, QuickReplyButton, UrlButton, LocationButton } = require('./types/interactive-messages');
35
+ const NodeCache = require("node-cache");
36
+ const groupCache = new NodeCache({ stdTTL: 5 * 60, useClones: false });
37
+
38
+ /**
39
+ * Representa um wrapper de alto nível para a biblioteca Baileys, simplificando a criação e o gerenciamento de um cliente de WhatsApp.
40
+ * A classe abstrai a complexidade do ciclo de vida da conexão e emite eventos semânticos para todas as interações importantes.
41
+ *
42
+ * @extends {EventEmitter}
43
+ *
44
+ * @fires UnityChat#status
45
+ * @fires UnityChat#error
46
+ * @fires UnityChat#message_received
47
+ * @fires UnityChat#message_sent
48
+ * @fires UnityChat#message_update
49
+ * @fires UnityChat#message_delete
50
+ * @fires UnityChat#message_reaction
51
+ * @fires UnityChat#incoming_call
52
+ * @fires UnityChat#GROUPS_UPDATE
53
+ * @fires UnityChat#group_participants_update
54
+ * @fires UnityChat#presence_update
55
+ * @fires UnityChat#chat_update
56
+ * @fires UnityChat#chat_delete
57
+ * @fires UnityChat#contact_update
58
+ * @fires UnityChat#blocklist_update
59
+ */
60
+ class UnityChat extends EventEmitter {
61
+ /**
62
+ * Cria uma instância do Cliente.
63
+ * @param {object} [options={}] - Opções de configuração para o cliente.
64
+ * @param {string} [options.sessionName='session'] - O nome da sessão a ser usada, que nomeia a pasta de autenticação.
65
+ */
66
+ constructor(options = {}) {
67
+ super();
68
+ this.sock = null;
69
+ this.dataPath = options.dataPath || "data/sessions";
70
+ this.sessionName = options.sessionName;
71
+ this.sessionPath = [this.dataPath, this.sessionName].join('/');
72
+ this.store = options.store ? options.store : new MessageStore(this.sessionPath);
73
+ this.isOnline = false;
74
+ this.connected = false;
75
+ this.manualDisconnect = false;
76
+ this.receivedPendingNotifications = false;
77
+ this.loggerLevel = options.loggerLevel || "error";
78
+ this.logger = pino({ level: this.loggerLevel });
79
+ this.restartOnClose = options.restartOnClose || false;
80
+ this.status = Events.DISCONNECTED;
81
+ this.markOnlineOnConnect = options.markOnlineOnConnect || false;
82
+ this.environment = options.environment || ['Mac OS', 'Chrome', '144.0.7559.110'];
83
+ this.printQRInTerminal = options.printQRInTerminal || false;
84
+ this.qrCode = null;
85
+ this.waVersion = options.waVersion || [2, 3000, 1038819500];
86
+ // =================================================================================================
87
+ // INTEGRAÇÃO DOS HANDLERS
88
+ // =================================================================================================
89
+ // Instancia os handlers, passando a si mesma (this) como referência.
90
+ // Isso permite que os handlers acessem o 'sock' e outros métodos do cliente.
91
+ this.groups = new GroupHandler(this);
92
+ this.users = new UserHandler(this);
93
+ this.calls = new CallHandler(this);
94
+ this.newsletters = new NewsletterHandler(this);
95
+ this.contacts = new ContactHandler(this);
96
+ this.messages = new MessageHandler(this);
97
+ this.stories = new StoriesHandler(this);
98
+ }
99
+
100
+ /**
101
+ * Inicia o cliente, configura a autenticação e estabelece a conexão com o WhatsApp.
102
+ * Gerencia todo o ciclo de vida da conexão, incluindo reconexão automática e solicitação de novo QR code.
103
+ * @returns {Promise<void>}
104
+ */
105
+ async connect() {
106
+ this.status = Events.INIT;
107
+ const { state, saveCreds } = await useMultiFileAuthState(this.sessionPath);
108
+ const { version } = await fetchLatestBaileysVersion();
109
+ this.waVersion = this.waVersion || version
110
+ this.sock = makeWASocket({
111
+ auth: state,
112
+ version: this.waVersion,
113
+ browser: this.environment,
114
+ syncFullHistory: false,
115
+ logger: this.logger,
116
+ markOnlineOnConnect: this.markOnlineOnConnect || false,
117
+ keepAliveIntervalMs: 20000,
118
+ connectTimeoutMs: 30000,
119
+ defaultQueryTimeoutMs: 30000,
120
+ cachedGroupMetadata: async (jid) => groupCache.get(jid),
121
+ getMessage: async (key) => {
122
+ const chatId = key.remoteJid;
123
+ const msg = this.store?.getMessage(chatId, key.id);
124
+ // precisa retornar o raw.message
125
+ return msg ? msg.raw?.message : undefined;
126
+ }
127
+ });
128
+
129
+ // =================================================================================================
130
+ // EVENTO CENTRALIZADO DE CICLO DE VIDA
131
+ // =================================================================================================
132
+
133
+ /**
134
+ * Disparado quando as credenciais são atualizadas.
135
+ * O handler `saveCreds` da Baileys cuida de persistir essas credenciais.
136
+ */
137
+ this.sock.ev.on('creds.update', saveCreds);
138
+
139
+ /**
140
+ * Gerencia TODAS as atualizações do estado da conexão, emitindo um evento 'status' padronizado.
141
+ */
142
+ this.sock.ev.on('connection.update', async (update) => {
143
+
144
+ const { connection, isOnline, receivedPendingNotifications, lastDisconnect, qr, isNewLogin } = update;
145
+
146
+ if (receivedPendingNotifications)
147
+ this.receivedPendingNotifications = true;
148
+
149
+ if (isOnline)
150
+ this.isOnline = true;
151
+
152
+ if (qr) {
153
+ this.qrCode = qr;
154
+ const base64 = await QRCode.toDataURL(qr);
155
+ this.qrCodeAttempts = (this.qrCodeAttempts || 0) + 1;
156
+ this.qrCode = { base64, qr, attempts: this.qrCodeAttempts };
157
+ this.status = Events.PAIRING_CODE;
158
+ this.emit(Events.PAIRING_CODE, this.qrCode);
159
+ this.emit(Events.STATUS_CHANGE, this.status);
160
+ this.printQRInTerminal ? qrcodeTerminal.generate(qr, { small: true }) : null;
161
+ return;
162
+ }
163
+
164
+ // intercepta a configuração de pairing e reinicio de conexao apos login bem sucedido...
165
+ if (isNewLogin && qr == undefined) {
166
+ this.qrCode = null;
167
+ this.status = Events.PAIRING_SUCCESS;
168
+ this.emit(Events.PAIRING_SUCCESS, update);
169
+ this.emit(Events.STATUS_CHANGE, this.status);
170
+ return;
171
+ }
172
+
173
+ // Dentro de 'connection.update'
174
+ switch (connection) {
175
+ case 'connecting':
176
+ this.status = Events.CONNECTING;
177
+ this.emit(Events.CONNECTING, update);
178
+ this.emit(Events.STATUS_CHANGE, this.status);
179
+ break;
180
+
181
+ case 'open':
182
+ this.connected = true;
183
+ this.status = Events.CONNECTED;
184
+ this.manualDisconnect = false;
185
+ this.qrCode = null;
186
+ this.user = await this.itsMe();
187
+ this.emit(Events.CONNECTED, this.user);
188
+ this.emit(Events.STATUS_CHANGE, this.status);
189
+ this.presenceSetInterval = setInterval(() => {
190
+ if (this.sock?.sendPresenceUpdate) {
191
+ this.sock.sendPresenceUpdate('available').catch(() => { });
192
+ }
193
+ }, 30_000);
194
+ break;
195
+
196
+ case 'close': {
197
+ // limpar presença
198
+ if (this.presenceSetInterval) {
199
+ clearInterval(this.presenceSetInterval);
200
+ this.presenceSetInterval = null;
201
+ }
202
+
203
+ this.connected = false;
204
+ this.qrCode = null;
205
+
206
+ const boomError = new Boom(lastDisconnect?.error);
207
+ const statusCode = boomError?.output?.statusCode;
208
+ const reasonType =
209
+ boomError?.data?.content?.[0]?.attrs?.type ||
210
+ boomError?.data?.attrs?.type ||
211
+ 'unknown';
212
+
213
+ let statusType;
214
+ let shouldReconnect = false;
215
+
216
+ switch (statusCode) {
217
+
218
+ /** 🔄 WhatsApp pediu restart explícito (515)*/
219
+ case DisconnectReason.restartRequired:
220
+ return this.connect();
221
+
222
+ /** 🔐 Sessão inválida / corrompida */
223
+ case DisconnectReason.badSession:
224
+ statusType = DisconnectReasons.BAD_SESSION;
225
+ shouldReconnect = false;
226
+ try {
227
+ await fs.rm(this.sessionPath, { recursive: true, force: true });
228
+ } catch { }
229
+ break;
230
+
231
+ /** 🚪 Logout explícito (401)*/
232
+ case DisconnectReason.loggedOut:
233
+ statusType = DisconnectReasons.LOGGED_OUT;
234
+ shouldReconnect = false;
235
+ try {
236
+ await fs.rm(this.sessionPath, { recursive: true, force: true });
237
+ } catch { }
238
+ break;
239
+
240
+ /** 🔁 Outra instância assumiu a sessão */
241
+ case DisconnectReason.connectionReplaced:
242
+ statusType = DisconnectReasons.CONNECTION_REPLACED;
243
+ shouldReconnect = false;
244
+ break;
245
+
246
+
247
+ /** 🧩 Incompatibilidade Multi-Device (418)*/
248
+ case DisconnectReason.multideviceMismatch:
249
+ statusType = DisconnectReasons.MULTIDEVICE_MISMATCH;
250
+ shouldReconnect = false;
251
+ break;
252
+
253
+ case 405:
254
+ statusType = DisconnectReasons.UNAUTHORIZED;
255
+ shouldReconnect = false;
256
+ try {
257
+ await fs.rm(this.sessionPath, { recursive: true, force: true });
258
+ } catch (error) {
259
+ this.logger.error(`Erro ao remover sessão: ${error}`);
260
+ }
261
+ break;
262
+
263
+ /** ⏱ Timeout (408) - Exemplo: Leitura de QrCode expirada*/
264
+ case DisconnectReason.timedOut:
265
+ statusType = DisconnectReasons.TIMEOUT;
266
+ shouldReconnect = this.status === Events.PAIRING_CODE ? false : true;
267
+ break;
268
+
269
+ /** 🔌 Conexão perdida (401) */
270
+ case DisconnectReason.connectionLost:
271
+ case DisconnectReason.connectionClosed:
272
+ statusType = DisconnectReasons.CONNECTION_LOST;
273
+ shouldReconnect = true;
274
+ break;
275
+
276
+ /** 🌐 Serviço indisponível (503) */
277
+ case DisconnectReason.unavailableService:
278
+ statusType = DisconnectReasons.SERVICE_UNAVAILABLE;
279
+ shouldReconnect = true;
280
+ break;
281
+
282
+ /** ❓ Qualquer outro caso */
283
+ default:
284
+ statusType = DisconnectReasons.UNKNOWN;
285
+ shouldReconnect = this.restartOnClose;
286
+ break;
287
+ }
288
+
289
+ const disconnectReason = {
290
+ statusCode,
291
+ statusType,
292
+ reason: reasonType,
293
+ details: lastDisconnect?.error,
294
+ };
295
+
296
+ this.status = Events.DISCONNECTED;
297
+ this.emit(Events.DISCONNECTED, disconnectReason);
298
+ this.emit(Events.STATUS_CHANGE, this.status, disconnectReason);
299
+
300
+ if (shouldReconnect && this.restartOnClose && !this.manualDisconnect) {
301
+ try {
302
+ await this.connect();
303
+ } catch (err) {
304
+ this.emit(Events.ERROR, err);
305
+ }
306
+ }
307
+
308
+ break;
309
+ }
310
+
311
+ }
312
+
313
+ });
314
+
315
+ // =================================================================================================
316
+ // OUTROS EVENTOS DE INTERAÇÃO
317
+ // =================================================================================================
318
+
319
+ this.sock.ev.on('call', ([call]) => {
320
+ this.emit(Events.CALL, this.calls.normalizeCall(call));
321
+ });
322
+ this.sock.ev.on('groups.upsert', async (groups) => {
323
+ this.emit(Events.GROUPS_UPSERT, groups);
324
+ groups.forEach((group) => {
325
+ this.groups.store.set(group.id, group);
326
+ });
327
+ });
328
+
329
+ this.sock.ev.on('groups.update', async (grupos) => {
330
+ if (!this.user?.groups) return;
331
+ const gp = [];
332
+ for (const g of grupos) {
333
+ let contact = await this.contacts.get(g.id);
334
+ contact = await this.contacts.normalize({ key: { remoteJid: g.id, fromMe: false } });
335
+ if (contact && contact.id && contact.name && contact.id !== this.user?.id) {
336
+ this.contacts.set(contact.id, contact);
337
+ }
338
+ this.groups.store.set(g.id, contact.metadata);
339
+ groupCache.set(g.id, contact.metadata);
340
+ gp.push(contact.metadata);
341
+ }
342
+ this.emit(Events.GROUPS_UPDATE, gp);
343
+ });
344
+
345
+ this.sock.ev.on('group-participants.update', async (event) => {
346
+ this.emit(Events.GROUP_PARTICIPANTS_UPDATE, event);
347
+ let contact = await this.contacts.get(event.id);
348
+ if (!contact) {
349
+ contact = await this.contacts.normalize({ key: { remoteJid: event.id, fromMe: false } });
350
+ if (contact && contact.id && contact.name && contact.id !== this.user?.id) {
351
+ this.contacts.set(contact.id, contact);
352
+ }
353
+ }
354
+ this.groups.store.set(event.id, contact.metadata);
355
+ });
356
+
357
+ this.sock.ev.on('presence.update', (event) => this.emit(Events.PRESENCE_UPDATE, event));
358
+ this.sock.ev.on('contacts.upsert', (contacts) => this.emit(Events.CONTACTS_UPSERT, contacts));
359
+ this.sock.ev.on('contacts.update', async (event) => {
360
+ const cxs = [];
361
+ // event é um array de objetos {id, imgUrl, name, etc}.
362
+ // Filtrar apenas os objetos que tiverem propriedades contendo valores igual a 'changed'
363
+ const cs = event.filter(c => Object.values(c).some(v => v === 'changed'));
364
+ for (const c of cs) {
365
+ let jid = null; // jid sempre precisa ser pn 123456789@s.whatsapp.net e c.id pode ser 123456789@lid ou 123456789@s.whatsapp.net
366
+ if (c.id.endsWith('@lid')) {
367
+ jid = await this.users.getPnForLid(c.id);
368
+ } else {
369
+ jid = c.id;
370
+ }
371
+ // Verifica se o contato existe no cache
372
+ let contact = jid ? await this.contacts.get(jid) : null;
373
+ // Se não existir, normaliza o contato com base no jid
374
+ if (!contact) {
375
+ contact = await this.contacts.normalize({ key: { remoteJid: jid } });
376
+ }
377
+ // Adiciona contato valido no cache e no array
378
+ if (contact && contact.id && contact.name && contact.id !== this.user?.id) {
379
+ cxs.push(contact);
380
+ this.contacts.set(contact.id, contact);
381
+ }
382
+ }
383
+ // So emite o evento se houver contatos atualizados
384
+ if (cxs.length > 0) {
385
+ this.emit(Events.CONTACTS_UPDATE, cxs);
386
+ }
387
+ });
388
+ this.sock.ev.on('blocklist.update', (event) => this.emit(Events.BLOCKLIST_UPDATE, event));
389
+ this.sock.ev.on('chats.update', (event) => this.emit(Events.CHAT_UPDATE, event));
390
+ this.sock.ev.on('chats.delete', (event) => this.emit(Events.CHAT_DELETE, event));
391
+
392
+ this.sock.ev.on('messaging-history.set', async ({ chats, contacts, messages, isLatest, syncType }) => {
393
+ this.logger.info({ chats: chats.length, contacts: contacts.length, syncType }, 'Sincronização de histórico recebida');
394
+ try {
395
+ // Normaliza os contatos
396
+ for (const contact of contacts) {
397
+ const chatId = contact.id;
398
+ const c = await this.contacts.normalize({ key: { remoteJid: chatId } });
399
+ if (c && c.id && c.name && c.id !== this.user?.id) {
400
+ this.contacts.set(c.id, c);
401
+ }
402
+ }
403
+ // Normaliza os chats
404
+ for (const chat of chats) {
405
+ const chatId = chat.id;
406
+ const c = await this.contacts.normalize({ key: { remoteJid: chatId } });
407
+ if (c && c.id && c.name && c.id !== this.user?.id) {
408
+ this.contacts.set(c.id, c);
409
+ }
410
+ const chatMessages = messages.filter(m => m.key.remoteJid === chatId);
411
+ for (const msg of chatMessages) {
412
+ const nmsg = await MessageNormalizer.normalize(c, msg, this);
413
+ if (nmsg && this.store) {
414
+ if (this.store.saveMessage) {
415
+ await this.store.saveMessage(chatId, nmsg);
416
+ } else if (this.store.setMessage) {
417
+ await this.store.setMessage(chatId, nmsg);
418
+ }
419
+ }
420
+ }
421
+ }
422
+ this.emit(Events.MESSAGES_HISTORY_SYNC_DONE, { chats, contacts, messages, isLatest, syncType });
423
+
424
+ } catch (error) {
425
+ this.emit(Events.ERROR, error);
426
+ }
427
+ });
428
+ this.sock.ev.on('messages.update', (event) => this.emit(Events.MESSAGE_UPDATE, event));
429
+ this.sock.ev.on('messages.delete', (event) => this.emit(Events.MESSAGE_DELETE, event));
430
+ this.sock.ev.on('messages.reaction', (event) => this.emit(Events.MESSAGE_REACTION, event));
431
+ this.sock.ev.on('messages.upsert', async (event) => {
432
+ try {
433
+ const { messages, type } = event;
434
+ const msg = messages[0];
435
+
436
+ if (!msg.message || msg.message.protocolMessage) {
437
+ this.emit(Events.NOTIFICATION, msg);
438
+ } else {
439
+ let contact = await this.contacts.get(msg.key.remoteJid);
440
+ if (!contact) {
441
+ contact = await this.contacts.normalize(msg); // msg ja contem tudo que precisa
442
+ }
443
+ if (msg.broadcast || msg.key.remoteJid == 'status@broadcast') {
444
+ this.emit(Events.BROADCAST_MESSAGE, msg);
445
+ } else {
446
+ const nmsg = await MessageNormalizer.normalize(contact, msg, this);
447
+ if (nmsg && this.store) {
448
+ if (this.store.saveMessage) {
449
+ await this.store.saveMessage(nmsg.chatId, nmsg);
450
+ } else if (this.store.setMessage) {
451
+ await this.store.setMessage(nmsg.chatId, nmsg);
452
+ }
453
+ }
454
+ // Mensagens de conversacao
455
+ switch (type) {
456
+ case 'append':
457
+ this.emit(Events.MESSAGE_SENT, nmsg);
458
+ break;
459
+
460
+ case 'notify':
461
+ if (msg.key.fromMe) {
462
+ this.emit(Events.MESSAGE_SENT, nmsg);
463
+ } else {
464
+ // So adiciona contato no cache se for recebido
465
+ if (contact && contact.id && contact.name && contact.id !== this.user?.id) {
466
+ this.contacts.set(contact.id, contact);
467
+ }
468
+ this.emit(Events.MESSAGE_RECEIVED, nmsg);
469
+ }
470
+
471
+ break;
472
+ default:
473
+ this.emit(Events.NOTIFICATION, nmsg);
474
+ break;
475
+ }
476
+
477
+ }
478
+ }
479
+ } catch (error) {
480
+ this.emit(Events.ERROR, { error, event });
481
+ }
482
+
483
+ });
484
+ }
485
+
486
+ /**
487
+ * @returns {Promise<object>} - Um objeto contendo as informações do contato.
488
+ */
489
+ async itsMe() {
490
+ if (!this.sock.user) return null;
491
+ const wid = this.sock.user.id.replace(/:.*?@/, "@");
492
+ const me = await this.contacts.normalize({ key: { remoteJid: wid, fromMe: true } });
493
+ me.environment = this.environment;
494
+ me.groups = await this.groups.getAllGroups();
495
+ me.newsletters = await this.newsletters.getAllNewsletters();
496
+ return me;
497
+ }
498
+
499
+ /**
500
+ * Desconecta o cliente do WhatsApp de forma manual, sem apagar a sessão.
501
+ * @returns {Promise<void>}
502
+ */
503
+ disconnect() {
504
+ try {
505
+ this.manualDisconnect = true;
506
+ return this.sock?.end();
507
+ } catch (error) {
508
+ this.emit(Events.ERROR, error);
509
+ }
510
+ }
511
+
512
+ /** Logout e remoção de dados de sessão */
513
+ async logout() {
514
+ try {
515
+ if (this.sock.logout) {
516
+ await this.sock.logout();
517
+ }
518
+ // Aqui você pode adicionar a limpeza local da sessão
519
+ } catch (err) {
520
+ this.emit(Events.ERROR, err);
521
+ }
522
+ }
523
+
524
+ /**
525
+ * Valida a conexão antes de executar uma ação.
526
+ * @private
527
+ * @throws {Error} Se o cliente não estiver conectado.
528
+ */
529
+ _validateConnection() {
530
+ if (!this.sock || this.status !== Events.CONNECTED) {
531
+ throw new Error('Cliente não está conectado.', { cause: this.status });
532
+ }
533
+ }
534
+
535
+ // Metodos usados pelos handlers
536
+ async decryptPollVote(vote, voteParams) {
537
+ return await decryptPollVote(vote, voteParams);
538
+ }
539
+
540
+ // Metodos usados pelos handlers
541
+ jidNormalizedUser(id) {
542
+ return jidNormalizedUser(id);
543
+ }
544
+
545
+ // Metodos usados pelos handlers
546
+ async downloadContentFromMessage(content, type) {
547
+ return await downloadContentFromMessage(content, type);
548
+ }
549
+
550
+ // Metodos usados pelos handlers
551
+ getContentType(message) {
552
+ return getContentType(message);
553
+ }
554
+
555
+ // Metodo para enviar notificacao "digitando"
556
+ composing(jid, ts) {
557
+ return this.sock.sendPresenceUpdate('composing', jid);
558
+ }
559
+
560
+ async getMessages(jid, limit = 50) {
561
+ const msg = await getOldestMessageInChat(jid)
562
+ return await fetchMessageHistory(
563
+ limit, //quantity (max: 50 per query)
564
+ msg.key,
565
+ msg.messageTimestamp
566
+ )
567
+ }
568
+
569
+ }
570
+
571
+ /**
572
+ * Enumeração estática dos eventos emitidos pelo UnityChat.
573
+ */
574
+ class Events {
575
+ static INIT = 'init';
576
+ static CONNECTING = 'connecting';
577
+ static STATUS_CHANGE = 'status_change';
578
+ static ERROR = 'error';
579
+ static MESSAGE_RECEIVED = 'message_received';
580
+ static MESSAGE_SENT = 'message_sent';
581
+ static MESSAGE_UPDATE = 'message_update';
582
+ static MESSAGE_DELETE = 'message_delete';
583
+ static MESSAGE_REACTION = 'message_reaction';
584
+ static CALL = 'call';
585
+ static GROUPS_UPDATE = 'GROUPS_UPDATE';
586
+ static GROUP_PARTICIPANTS_UPDATE = 'group_participants_update';
587
+ static GROUPS_UPSERT = 'GROUPS_UPSERT';
588
+ static PRESENCE_UPDATE = 'presence_update';
589
+ static CHAT_UPDATE = 'chat_update';
590
+ static CHAT_DELETE = 'chat_delete';
591
+ static CONTACTS_UPSERT = 'contacts_upsert';
592
+ static CONTACTS_UPDATE = 'contacts_update';
593
+ static BLOCKLIST_UPDATE = 'blocklist_update';
594
+ static PAIRING_CODE = 'pairing_code';
595
+ static PAIRING_SUCCESS = 'pairing_success';
596
+ static DISCONNECTED = 'disconnected';
597
+ static CONNECTED = 'connected';
598
+ static MESSAGES_HISTORY_SYNC_DONE = 'messages_history_sync_done';
599
+ static BROADCAST_MESSAGE = 'broadcast_message';
600
+ static NOTIFICATION = 'notification';
601
+ }
602
+
603
+ class SessionStatus {
604
+ static CONNECTING = 'connecting';
605
+ static PAIRING_CODE = 'pairing_code';
606
+ static PAIRING_SUCCESS = 'pairing_success';
607
+ static PAIRING_FAILED = 'pairing_failed';
608
+ static LOGGED_OUT = 'logged_out';
609
+ static CONNECTED = 'connected';
610
+ static DISCONNECTED = 'disconnected';
611
+
612
+ }
613
+
614
+ /**
615
+ * Enumeração estática dos motivos de desconexão.
616
+ */
617
+ class DisconnectReasons {
618
+ static MANUAL_DISCONNECT = 'manual_disconnect';
619
+ static LOGGED_OUT = 'logged_out';
620
+ static PAIRING_FAILED = 'pairing_failed';
621
+ static CONNECTION_ERROR = 'connection_error';
622
+ static RESTART_REQUIRED = 'restart_required';
623
+ static UNAVAILABLE_SERVICE = 'unavailable_service';
624
+ static UNKNOWN = 'unknown';
625
+ static QR_READ_ATTEMPTS_ENDED = 'qr_read_attempts_ended';
626
+ static BAD_SESSION = 'bad_session';
627
+ static CONNECTION_LOST = 'connection_lost';
628
+ static CONNECTION_CLOSED = 'connection_closed';
629
+ static CONNECTION_REPLACED = 'connection_replaced';
630
+ static MULTIDEVICE_MISMATCH = 'multidevice_mismatch';
631
+ static TIMED_OUT = 'timed_out';
632
+ static UNAUTHORIZED = 'unauthorized';
633
+ }
634
+
635
+ module.exports = {
636
+ UnityChat,
637
+ PresenceStatus,
638
+ Events,
639
+ DisconnectReasons,
640
+ InteractiveMessage,
641
+ QuickReplyButton,
642
+ UrlButton,
643
+ CopyCodeButton,
644
+ CallButton,
645
+ ListButton,
646
+ ListSection,
647
+ ListRow,
648
+ LocationButton
649
+ }
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@areumtecnologia/unitychat",
3
+ "version": "1.0.0",
4
+ "description": "just another Baileys wrapper",
5
+ "license": "ISC",
6
+ "author": "Áreum Tecnologia",
7
+ "type": "commonjs",
8
+ "main": "index.js",
9
+ "scripts": {
10
+ "test": "echo \"Error: no test specified\" && exit 1"
11
+ },
12
+ "dependencies": {
13
+ "@areumtecnologia/wasockets": "^1.1.3",
14
+ "crypto-digest-sync": "^1.0.0",
15
+ "node-cache": "^5.1.2",
16
+ "qrcode": "^1.5.4",
17
+ "qrcode-terminal": "^0.12.0"
18
+ }
19
+ }