miaw-core 1.1.0 → 1.2.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 (1808) hide show
  1. package/.claude/settings.local.json +42 -0
  2. package/CHANGELOG.md +52 -0
  3. package/README.md +31 -1
  4. package/bin/miaw-cli.ts +181 -0
  5. package/dist/cli/commands/catalog.d.ts +68 -0
  6. package/dist/cli/commands/catalog.d.ts.map +1 -0
  7. package/dist/cli/commands/catalog.js +241 -0
  8. package/dist/cli/commands/catalog.js.map +1 -0
  9. package/dist/cli/commands/commands-index.d.ts +16 -0
  10. package/dist/cli/commands/commands-index.d.ts.map +1 -0
  11. package/dist/cli/commands/commands-index.js +16 -0
  12. package/dist/cli/commands/commands-index.js.map +1 -0
  13. package/dist/cli/commands/contact.d.ts +48 -0
  14. package/dist/cli/commands/contact.d.ts.map +1 -0
  15. package/dist/cli/commands/contact.js +180 -0
  16. package/dist/cli/commands/contact.js.map +1 -0
  17. package/dist/cli/commands/get.d.ts +59 -0
  18. package/dist/cli/commands/get.d.ts.map +1 -0
  19. package/dist/cli/commands/get.js +351 -0
  20. package/dist/cli/commands/get.js.map +1 -0
  21. package/dist/cli/commands/group.d.ts +114 -0
  22. package/dist/cli/commands/group.d.ts.map +1 -0
  23. package/dist/cli/commands/group.js +432 -0
  24. package/dist/cli/commands/group.js.map +1 -0
  25. package/dist/cli/commands/index.d.ts +24 -0
  26. package/dist/cli/commands/index.d.ts.map +1 -0
  27. package/dist/cli/commands/index.js +671 -0
  28. package/dist/cli/commands/index.js.map +1 -0
  29. package/dist/cli/commands/instance.d.ts +52 -0
  30. package/dist/cli/commands/instance.d.ts.map +1 -0
  31. package/dist/cli/commands/instance.js +247 -0
  32. package/dist/cli/commands/instance.js.map +1 -0
  33. package/dist/cli/commands/label.d.ts +43 -0
  34. package/dist/cli/commands/label.d.ts.map +1 -0
  35. package/dist/cli/commands/label.js +209 -0
  36. package/dist/cli/commands/label.js.map +1 -0
  37. package/dist/cli/commands/media.d.ts +15 -0
  38. package/dist/cli/commands/media.d.ts.map +1 -0
  39. package/dist/cli/commands/media.js +69 -0
  40. package/dist/cli/commands/media.js.map +1 -0
  41. package/dist/cli/commands/misc.d.ts +13 -0
  42. package/dist/cli/commands/misc.d.ts.map +1 -0
  43. package/dist/cli/commands/misc.js +37 -0
  44. package/dist/cli/commands/misc.js.map +1 -0
  45. package/dist/cli/commands/profile.d.ts +29 -0
  46. package/dist/cli/commands/profile.d.ts.map +1 -0
  47. package/dist/cli/commands/profile.js +100 -0
  48. package/dist/cli/commands/profile.js.map +1 -0
  49. package/dist/cli/commands/send.d.ts +48 -0
  50. package/dist/cli/commands/send.d.ts.map +1 -0
  51. package/dist/cli/commands/send.js +137 -0
  52. package/dist/cli/commands/send.js.map +1 -0
  53. package/dist/cli/context.d.ts +23 -0
  54. package/dist/cli/context.d.ts.map +1 -0
  55. package/dist/cli/context.js +21 -0
  56. package/dist/cli/context.js.map +1 -0
  57. package/dist/cli/index.d.ts +11 -0
  58. package/dist/cli/index.d.ts.map +1 -0
  59. package/dist/cli/index.js +11 -0
  60. package/dist/cli/index.js.map +1 -0
  61. package/dist/cli/repl.d.ts +15 -0
  62. package/dist/cli/repl.d.ts.map +1 -0
  63. package/dist/cli/repl.js +899 -0
  64. package/dist/cli/repl.js.map +1 -0
  65. package/dist/cli/utils/cleanup.d.ts +32 -0
  66. package/dist/cli/utils/cleanup.d.ts.map +1 -0
  67. package/dist/cli/utils/cleanup.js +61 -0
  68. package/dist/cli/utils/cleanup.js.map +1 -0
  69. package/dist/cli/utils/client-cache.d.ts +41 -0
  70. package/dist/cli/utils/client-cache.d.ts.map +1 -0
  71. package/dist/cli/utils/client-cache.js +132 -0
  72. package/dist/cli/utils/client-cache.js.map +1 -0
  73. package/dist/cli/utils/formatter.d.ts +32 -0
  74. package/dist/cli/utils/formatter.d.ts.map +1 -0
  75. package/dist/cli/utils/formatter.js +111 -0
  76. package/dist/cli/utils/formatter.js.map +1 -0
  77. package/dist/cli/utils/instance-registry.d.ts +78 -0
  78. package/dist/cli/utils/instance-registry.d.ts.map +1 -0
  79. package/dist/cli/utils/instance-registry.js +158 -0
  80. package/dist/cli/utils/instance-registry.js.map +1 -0
  81. package/dist/cli/utils/prompt.d.ts +70 -0
  82. package/dist/cli/utils/prompt.d.ts.map +1 -0
  83. package/dist/cli/utils/prompt.js +120 -0
  84. package/dist/cli/utils/prompt.js.map +1 -0
  85. package/dist/cli/utils/session.d.ts +53 -0
  86. package/dist/cli/utils/session.d.ts.map +1 -0
  87. package/dist/cli/utils/session.js +294 -0
  88. package/dist/cli/utils/session.js.map +1 -0
  89. package/dist/client/MiawClient.d.ts +218 -19
  90. package/dist/client/MiawClient.d.ts.map +1 -1
  91. package/dist/client/MiawClient.js +1270 -143
  92. package/dist/client/MiawClient.js.map +1 -1
  93. package/dist/constants/cache.d.ts +8 -0
  94. package/dist/constants/cache.d.ts.map +1 -0
  95. package/dist/constants/cache.js +8 -0
  96. package/dist/constants/cache.js.map +1 -0
  97. package/dist/constants/colors.d.ts +19 -0
  98. package/dist/constants/colors.d.ts.map +1 -0
  99. package/dist/constants/colors.js +42 -0
  100. package/dist/constants/colors.js.map +1 -0
  101. package/dist/constants/timeouts.d.ts +38 -0
  102. package/dist/constants/timeouts.d.ts.map +1 -0
  103. package/dist/constants/timeouts.js +38 -0
  104. package/dist/constants/timeouts.js.map +1 -0
  105. package/dist/handlers/MessageHandler.d.ts +18 -1
  106. package/dist/handlers/MessageHandler.d.ts.map +1 -1
  107. package/dist/handlers/MessageHandler.js +44 -15
  108. package/dist/handlers/MessageHandler.js.map +1 -1
  109. package/dist/index.d.ts +8 -0
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +10 -0
  112. package/dist/index.js.map +1 -1
  113. package/dist/types/baileys.d.ts +130 -0
  114. package/dist/types/baileys.d.ts.map +1 -0
  115. package/dist/types/baileys.js +16 -0
  116. package/dist/types/baileys.js.map +1 -0
  117. package/dist/types/index.d.ts +20 -2
  118. package/dist/types/index.d.ts.map +1 -1
  119. package/dist/types/index.js.map +1 -1
  120. package/dist/types/logger.d.ts +23 -0
  121. package/dist/types/logger.d.ts.map +1 -0
  122. package/dist/types/logger.js +2 -0
  123. package/dist/types/logger.js.map +1 -0
  124. package/dist/utils/console-filter.d.ts +62 -0
  125. package/dist/utils/console-filter.d.ts.map +1 -0
  126. package/dist/utils/console-filter.js +139 -0
  127. package/dist/utils/console-filter.js.map +1 -0
  128. package/dist/utils/filtered-logger.d.ts +23 -0
  129. package/dist/utils/filtered-logger.d.ts.map +1 -0
  130. package/dist/utils/filtered-logger.js +87 -0
  131. package/dist/utils/filtered-logger.js.map +1 -0
  132. package/dist/utils/type-guards.d.ts +39 -0
  133. package/dist/utils/type-guards.d.ts.map +1 -0
  134. package/dist/utils/type-guards.js +59 -0
  135. package/dist/utils/type-guards.js.map +1 -0
  136. package/dist/utils/validation.d.ts +90 -0
  137. package/dist/utils/validation.d.ts.map +1 -0
  138. package/dist/utils/validation.js +177 -0
  139. package/dist/utils/validation.js.map +1 -0
  140. package/docs/BAILEYS_MIGRATION_v7.md +131 -23
  141. package/docs/CLI-ANALYSIS.md +428 -0
  142. package/docs/CLI.md +1189 -0
  143. package/docs/CODE_REVIEW_REPORT.md +581 -0
  144. package/docs/LID_RESOLUTION.md +226 -0
  145. package/docs/MIGRATION.md +172 -0
  146. package/docs/PROXY_SUPPORT_PLAN.md +1442 -0
  147. package/docs/USAGE.md +623 -651
  148. package/eslint.config.js +1 -1
  149. package/package.json +10 -5
  150. package/sessions-cli/.cli_history +200 -0
  151. package/sessions-cli/default/app-state-sync-key-AAAAAFwv.json +1 -0
  152. package/sessions-cli/default/app-state-sync-key-AAAAAFww.json +1 -0
  153. package/sessions-cli/default/app-state-sync-version-critical_block.json +1 -0
  154. package/sessions-cli/default/app-state-sync-version-critical_unblock_low.json +1 -0
  155. package/sessions-cli/default/app-state-sync-version-regular.json +1 -0
  156. package/sessions-cli/default/app-state-sync-version-regular_high.json +1 -0
  157. package/sessions-cli/default/app-state-sync-version-regular_low.json +1 -0
  158. package/sessions-cli/default/chats.json +244 -0
  159. package/sessions-cli/default/contacts.json +3880 -0
  160. package/sessions-cli/default/creds.json +1 -0
  161. package/sessions-cli/default/device-list-6285604722341.json +1 -0
  162. package/sessions-cli/default/labels.json +82 -0
  163. package/sessions-cli/default/lid-mapping-42877077966917_reverse.json +1 -0
  164. package/sessions-cli/default/lid-mapping-6285604722341.json +1 -0
  165. package/sessions-cli/default/lid-mappings.json +750 -0
  166. package/sessions-cli/default/messages.json +17287 -0
  167. package/sessions-cli/default/pre-key-1.json +1 -0
  168. package/sessions-cli/default/pre-key-10.json +1 -0
  169. package/sessions-cli/default/pre-key-100.json +1 -0
  170. package/sessions-cli/default/pre-key-101.json +1 -0
  171. package/sessions-cli/default/pre-key-102.json +1 -0
  172. package/sessions-cli/default/pre-key-103.json +1 -0
  173. package/sessions-cli/default/pre-key-104.json +1 -0
  174. package/sessions-cli/default/pre-key-105.json +1 -0
  175. package/sessions-cli/default/pre-key-106.json +1 -0
  176. package/sessions-cli/default/pre-key-107.json +1 -0
  177. package/sessions-cli/default/pre-key-108.json +1 -0
  178. package/sessions-cli/default/pre-key-109.json +1 -0
  179. package/sessions-cli/default/pre-key-11.json +1 -0
  180. package/sessions-cli/default/pre-key-110.json +1 -0
  181. package/sessions-cli/default/pre-key-111.json +1 -0
  182. package/sessions-cli/default/pre-key-112.json +1 -0
  183. package/sessions-cli/default/pre-key-113.json +1 -0
  184. package/sessions-cli/default/pre-key-114.json +1 -0
  185. package/sessions-cli/default/pre-key-115.json +1 -0
  186. package/sessions-cli/default/pre-key-116.json +1 -0
  187. package/sessions-cli/default/pre-key-117.json +1 -0
  188. package/sessions-cli/default/pre-key-118.json +1 -0
  189. package/sessions-cli/default/pre-key-119.json +1 -0
  190. package/sessions-cli/default/pre-key-12.json +1 -0
  191. package/sessions-cli/default/pre-key-120.json +1 -0
  192. package/sessions-cli/default/pre-key-121.json +1 -0
  193. package/sessions-cli/default/pre-key-122.json +1 -0
  194. package/sessions-cli/default/pre-key-123.json +1 -0
  195. package/sessions-cli/default/pre-key-124.json +1 -0
  196. package/sessions-cli/default/pre-key-125.json +1 -0
  197. package/sessions-cli/default/pre-key-126.json +1 -0
  198. package/sessions-cli/default/pre-key-127.json +1 -0
  199. package/sessions-cli/default/pre-key-128.json +1 -0
  200. package/sessions-cli/default/pre-key-129.json +1 -0
  201. package/sessions-cli/default/pre-key-13.json +1 -0
  202. package/sessions-cli/default/pre-key-130.json +1 -0
  203. package/sessions-cli/default/pre-key-131.json +1 -0
  204. package/sessions-cli/default/pre-key-132.json +1 -0
  205. package/sessions-cli/default/pre-key-133.json +1 -0
  206. package/sessions-cli/default/pre-key-134.json +1 -0
  207. package/sessions-cli/default/pre-key-135.json +1 -0
  208. package/sessions-cli/default/pre-key-136.json +1 -0
  209. package/sessions-cli/default/pre-key-137.json +1 -0
  210. package/sessions-cli/default/pre-key-138.json +1 -0
  211. package/sessions-cli/default/pre-key-139.json +1 -0
  212. package/sessions-cli/default/pre-key-14.json +1 -0
  213. package/sessions-cli/default/pre-key-140.json +1 -0
  214. package/sessions-cli/default/pre-key-141.json +1 -0
  215. package/sessions-cli/default/pre-key-142.json +1 -0
  216. package/sessions-cli/default/pre-key-143.json +1 -0
  217. package/sessions-cli/default/pre-key-144.json +1 -0
  218. package/sessions-cli/default/pre-key-145.json +1 -0
  219. package/sessions-cli/default/pre-key-146.json +1 -0
  220. package/sessions-cli/default/pre-key-147.json +1 -0
  221. package/sessions-cli/default/pre-key-148.json +1 -0
  222. package/sessions-cli/default/pre-key-149.json +1 -0
  223. package/sessions-cli/default/pre-key-15.json +1 -0
  224. package/sessions-cli/default/pre-key-150.json +1 -0
  225. package/sessions-cli/default/pre-key-151.json +1 -0
  226. package/sessions-cli/default/pre-key-152.json +1 -0
  227. package/sessions-cli/default/pre-key-153.json +1 -0
  228. package/sessions-cli/default/pre-key-154.json +1 -0
  229. package/sessions-cli/default/pre-key-155.json +1 -0
  230. package/sessions-cli/default/pre-key-156.json +1 -0
  231. package/sessions-cli/default/pre-key-157.json +1 -0
  232. package/sessions-cli/default/pre-key-158.json +1 -0
  233. package/sessions-cli/default/pre-key-159.json +1 -0
  234. package/sessions-cli/default/pre-key-16.json +1 -0
  235. package/sessions-cli/default/pre-key-160.json +1 -0
  236. package/sessions-cli/default/pre-key-161.json +1 -0
  237. package/sessions-cli/default/pre-key-162.json +1 -0
  238. package/sessions-cli/default/pre-key-163.json +1 -0
  239. package/sessions-cli/default/pre-key-164.json +1 -0
  240. package/sessions-cli/default/pre-key-165.json +1 -0
  241. package/sessions-cli/default/pre-key-166.json +1 -0
  242. package/sessions-cli/default/pre-key-167.json +1 -0
  243. package/sessions-cli/default/pre-key-168.json +1 -0
  244. package/sessions-cli/default/pre-key-169.json +1 -0
  245. package/sessions-cli/default/pre-key-17.json +1 -0
  246. package/sessions-cli/default/pre-key-170.json +1 -0
  247. package/sessions-cli/default/pre-key-171.json +1 -0
  248. package/sessions-cli/default/pre-key-172.json +1 -0
  249. package/sessions-cli/default/pre-key-173.json +1 -0
  250. package/sessions-cli/default/pre-key-174.json +1 -0
  251. package/sessions-cli/default/pre-key-175.json +1 -0
  252. package/sessions-cli/default/pre-key-176.json +1 -0
  253. package/sessions-cli/default/pre-key-177.json +1 -0
  254. package/sessions-cli/default/pre-key-178.json +1 -0
  255. package/sessions-cli/default/pre-key-179.json +1 -0
  256. package/sessions-cli/default/pre-key-18.json +1 -0
  257. package/sessions-cli/default/pre-key-180.json +1 -0
  258. package/sessions-cli/default/pre-key-181.json +1 -0
  259. package/sessions-cli/default/pre-key-182.json +1 -0
  260. package/sessions-cli/default/pre-key-183.json +1 -0
  261. package/sessions-cli/default/pre-key-184.json +1 -0
  262. package/sessions-cli/default/pre-key-185.json +1 -0
  263. package/sessions-cli/default/pre-key-186.json +1 -0
  264. package/sessions-cli/default/pre-key-187.json +1 -0
  265. package/sessions-cli/default/pre-key-188.json +1 -0
  266. package/sessions-cli/default/pre-key-189.json +1 -0
  267. package/sessions-cli/default/pre-key-19.json +1 -0
  268. package/sessions-cli/default/pre-key-190.json +1 -0
  269. package/sessions-cli/default/pre-key-191.json +1 -0
  270. package/sessions-cli/default/pre-key-192.json +1 -0
  271. package/sessions-cli/default/pre-key-193.json +1 -0
  272. package/sessions-cli/default/pre-key-194.json +1 -0
  273. package/sessions-cli/default/pre-key-195.json +1 -0
  274. package/sessions-cli/default/pre-key-196.json +1 -0
  275. package/sessions-cli/default/pre-key-197.json +1 -0
  276. package/sessions-cli/default/pre-key-198.json +1 -0
  277. package/sessions-cli/default/pre-key-199.json +1 -0
  278. package/sessions-cli/default/pre-key-2.json +1 -0
  279. package/sessions-cli/default/pre-key-20.json +1 -0
  280. package/sessions-cli/default/pre-key-200.json +1 -0
  281. package/sessions-cli/default/pre-key-201.json +1 -0
  282. package/sessions-cli/default/pre-key-202.json +1 -0
  283. package/sessions-cli/default/pre-key-203.json +1 -0
  284. package/sessions-cli/default/pre-key-204.json +1 -0
  285. package/sessions-cli/default/pre-key-205.json +1 -0
  286. package/sessions-cli/default/pre-key-206.json +1 -0
  287. package/sessions-cli/default/pre-key-207.json +1 -0
  288. package/sessions-cli/default/pre-key-208.json +1 -0
  289. package/sessions-cli/default/pre-key-209.json +1 -0
  290. package/sessions-cli/default/pre-key-21.json +1 -0
  291. package/sessions-cli/default/pre-key-210.json +1 -0
  292. package/sessions-cli/default/pre-key-211.json +1 -0
  293. package/sessions-cli/default/pre-key-212.json +1 -0
  294. package/sessions-cli/default/pre-key-213.json +1 -0
  295. package/sessions-cli/default/pre-key-214.json +1 -0
  296. package/sessions-cli/default/pre-key-215.json +1 -0
  297. package/sessions-cli/default/pre-key-216.json +1 -0
  298. package/sessions-cli/default/pre-key-217.json +1 -0
  299. package/sessions-cli/default/pre-key-218.json +1 -0
  300. package/sessions-cli/default/pre-key-219.json +1 -0
  301. package/sessions-cli/default/pre-key-22.json +1 -0
  302. package/sessions-cli/default/pre-key-220.json +1 -0
  303. package/sessions-cli/default/pre-key-221.json +1 -0
  304. package/sessions-cli/default/pre-key-222.json +1 -0
  305. package/sessions-cli/default/pre-key-223.json +1 -0
  306. package/sessions-cli/default/pre-key-224.json +1 -0
  307. package/sessions-cli/default/pre-key-225.json +1 -0
  308. package/sessions-cli/default/pre-key-226.json +1 -0
  309. package/sessions-cli/default/pre-key-227.json +1 -0
  310. package/sessions-cli/default/pre-key-228.json +1 -0
  311. package/sessions-cli/default/pre-key-229.json +1 -0
  312. package/sessions-cli/default/pre-key-23.json +1 -0
  313. package/sessions-cli/default/pre-key-230.json +1 -0
  314. package/sessions-cli/default/pre-key-231.json +1 -0
  315. package/sessions-cli/default/pre-key-232.json +1 -0
  316. package/sessions-cli/default/pre-key-233.json +1 -0
  317. package/sessions-cli/default/pre-key-234.json +1 -0
  318. package/sessions-cli/default/pre-key-235.json +1 -0
  319. package/sessions-cli/default/pre-key-236.json +1 -0
  320. package/sessions-cli/default/pre-key-237.json +1 -0
  321. package/sessions-cli/default/pre-key-238.json +1 -0
  322. package/sessions-cli/default/pre-key-239.json +1 -0
  323. package/sessions-cli/default/pre-key-24.json +1 -0
  324. package/sessions-cli/default/pre-key-240.json +1 -0
  325. package/sessions-cli/default/pre-key-241.json +1 -0
  326. package/sessions-cli/default/pre-key-242.json +1 -0
  327. package/sessions-cli/default/pre-key-243.json +1 -0
  328. package/sessions-cli/default/pre-key-244.json +1 -0
  329. package/sessions-cli/default/pre-key-245.json +1 -0
  330. package/sessions-cli/default/pre-key-246.json +1 -0
  331. package/sessions-cli/default/pre-key-247.json +1 -0
  332. package/sessions-cli/default/pre-key-248.json +1 -0
  333. package/sessions-cli/default/pre-key-249.json +1 -0
  334. package/sessions-cli/default/pre-key-25.json +1 -0
  335. package/sessions-cli/default/pre-key-250.json +1 -0
  336. package/sessions-cli/default/pre-key-251.json +1 -0
  337. package/sessions-cli/default/pre-key-252.json +1 -0
  338. package/sessions-cli/default/pre-key-253.json +1 -0
  339. package/sessions-cli/default/pre-key-254.json +1 -0
  340. package/sessions-cli/default/pre-key-255.json +1 -0
  341. package/sessions-cli/default/pre-key-256.json +1 -0
  342. package/sessions-cli/default/pre-key-257.json +1 -0
  343. package/sessions-cli/default/pre-key-258.json +1 -0
  344. package/sessions-cli/default/pre-key-259.json +1 -0
  345. package/sessions-cli/default/pre-key-26.json +1 -0
  346. package/sessions-cli/default/pre-key-260.json +1 -0
  347. package/sessions-cli/default/pre-key-261.json +1 -0
  348. package/sessions-cli/default/pre-key-262.json +1 -0
  349. package/sessions-cli/default/pre-key-263.json +1 -0
  350. package/sessions-cli/default/pre-key-264.json +1 -0
  351. package/sessions-cli/default/pre-key-265.json +1 -0
  352. package/sessions-cli/default/pre-key-266.json +1 -0
  353. package/sessions-cli/default/pre-key-267.json +1 -0
  354. package/sessions-cli/default/pre-key-268.json +1 -0
  355. package/sessions-cli/default/pre-key-269.json +1 -0
  356. package/sessions-cli/default/pre-key-27.json +1 -0
  357. package/sessions-cli/default/pre-key-270.json +1 -0
  358. package/sessions-cli/default/pre-key-271.json +1 -0
  359. package/sessions-cli/default/pre-key-272.json +1 -0
  360. package/sessions-cli/default/pre-key-273.json +1 -0
  361. package/sessions-cli/default/pre-key-274.json +1 -0
  362. package/sessions-cli/default/pre-key-275.json +1 -0
  363. package/sessions-cli/default/pre-key-276.json +1 -0
  364. package/sessions-cli/default/pre-key-277.json +1 -0
  365. package/sessions-cli/default/pre-key-278.json +1 -0
  366. package/sessions-cli/default/pre-key-279.json +1 -0
  367. package/sessions-cli/default/pre-key-28.json +1 -0
  368. package/sessions-cli/default/pre-key-280.json +1 -0
  369. package/sessions-cli/default/pre-key-281.json +1 -0
  370. package/sessions-cli/default/pre-key-282.json +1 -0
  371. package/sessions-cli/default/pre-key-283.json +1 -0
  372. package/sessions-cli/default/pre-key-284.json +1 -0
  373. package/sessions-cli/default/pre-key-285.json +1 -0
  374. package/sessions-cli/default/pre-key-286.json +1 -0
  375. package/sessions-cli/default/pre-key-287.json +1 -0
  376. package/sessions-cli/default/pre-key-288.json +1 -0
  377. package/sessions-cli/default/pre-key-289.json +1 -0
  378. package/sessions-cli/default/pre-key-29.json +1 -0
  379. package/sessions-cli/default/pre-key-290.json +1 -0
  380. package/sessions-cli/default/pre-key-291.json +1 -0
  381. package/sessions-cli/default/pre-key-292.json +1 -0
  382. package/sessions-cli/default/pre-key-293.json +1 -0
  383. package/sessions-cli/default/pre-key-294.json +1 -0
  384. package/sessions-cli/default/pre-key-295.json +1 -0
  385. package/sessions-cli/default/pre-key-296.json +1 -0
  386. package/sessions-cli/default/pre-key-297.json +1 -0
  387. package/sessions-cli/default/pre-key-298.json +1 -0
  388. package/sessions-cli/default/pre-key-299.json +1 -0
  389. package/sessions-cli/default/pre-key-3.json +1 -0
  390. package/sessions-cli/default/pre-key-30.json +1 -0
  391. package/sessions-cli/default/pre-key-300.json +1 -0
  392. package/sessions-cli/default/pre-key-301.json +1 -0
  393. package/sessions-cli/default/pre-key-302.json +1 -0
  394. package/sessions-cli/default/pre-key-303.json +1 -0
  395. package/sessions-cli/default/pre-key-304.json +1 -0
  396. package/sessions-cli/default/pre-key-305.json +1 -0
  397. package/sessions-cli/default/pre-key-306.json +1 -0
  398. package/sessions-cli/default/pre-key-307.json +1 -0
  399. package/sessions-cli/default/pre-key-308.json +1 -0
  400. package/sessions-cli/default/pre-key-309.json +1 -0
  401. package/sessions-cli/default/pre-key-31.json +1 -0
  402. package/sessions-cli/default/pre-key-310.json +1 -0
  403. package/sessions-cli/default/pre-key-311.json +1 -0
  404. package/sessions-cli/default/pre-key-312.json +1 -0
  405. package/sessions-cli/default/pre-key-313.json +1 -0
  406. package/sessions-cli/default/pre-key-314.json +1 -0
  407. package/sessions-cli/default/pre-key-315.json +1 -0
  408. package/sessions-cli/default/pre-key-316.json +1 -0
  409. package/sessions-cli/default/pre-key-317.json +1 -0
  410. package/sessions-cli/default/pre-key-318.json +1 -0
  411. package/sessions-cli/default/pre-key-319.json +1 -0
  412. package/sessions-cli/default/pre-key-32.json +1 -0
  413. package/sessions-cli/default/pre-key-320.json +1 -0
  414. package/sessions-cli/default/pre-key-321.json +1 -0
  415. package/sessions-cli/default/pre-key-322.json +1 -0
  416. package/sessions-cli/default/pre-key-323.json +1 -0
  417. package/sessions-cli/default/pre-key-324.json +1 -0
  418. package/sessions-cli/default/pre-key-325.json +1 -0
  419. package/sessions-cli/default/pre-key-326.json +1 -0
  420. package/sessions-cli/default/pre-key-327.json +1 -0
  421. package/sessions-cli/default/pre-key-328.json +1 -0
  422. package/sessions-cli/default/pre-key-329.json +1 -0
  423. package/sessions-cli/default/pre-key-33.json +1 -0
  424. package/sessions-cli/default/pre-key-330.json +1 -0
  425. package/sessions-cli/default/pre-key-331.json +1 -0
  426. package/sessions-cli/default/pre-key-332.json +1 -0
  427. package/sessions-cli/default/pre-key-333.json +1 -0
  428. package/sessions-cli/default/pre-key-334.json +1 -0
  429. package/sessions-cli/default/pre-key-335.json +1 -0
  430. package/sessions-cli/default/pre-key-336.json +1 -0
  431. package/sessions-cli/default/pre-key-337.json +1 -0
  432. package/sessions-cli/default/pre-key-338.json +1 -0
  433. package/sessions-cli/default/pre-key-339.json +1 -0
  434. package/sessions-cli/default/pre-key-34.json +1 -0
  435. package/sessions-cli/default/pre-key-340.json +1 -0
  436. package/sessions-cli/default/pre-key-341.json +1 -0
  437. package/sessions-cli/default/pre-key-342.json +1 -0
  438. package/sessions-cli/default/pre-key-343.json +1 -0
  439. package/sessions-cli/default/pre-key-344.json +1 -0
  440. package/sessions-cli/default/pre-key-345.json +1 -0
  441. package/sessions-cli/default/pre-key-346.json +1 -0
  442. package/sessions-cli/default/pre-key-347.json +1 -0
  443. package/sessions-cli/default/pre-key-348.json +1 -0
  444. package/sessions-cli/default/pre-key-349.json +1 -0
  445. package/sessions-cli/default/pre-key-35.json +1 -0
  446. package/sessions-cli/default/pre-key-350.json +1 -0
  447. package/sessions-cli/default/pre-key-351.json +1 -0
  448. package/sessions-cli/default/pre-key-352.json +1 -0
  449. package/sessions-cli/default/pre-key-353.json +1 -0
  450. package/sessions-cli/default/pre-key-354.json +1 -0
  451. package/sessions-cli/default/pre-key-355.json +1 -0
  452. package/sessions-cli/default/pre-key-356.json +1 -0
  453. package/sessions-cli/default/pre-key-357.json +1 -0
  454. package/sessions-cli/default/pre-key-358.json +1 -0
  455. package/sessions-cli/default/pre-key-359.json +1 -0
  456. package/sessions-cli/default/pre-key-36.json +1 -0
  457. package/sessions-cli/default/pre-key-360.json +1 -0
  458. package/sessions-cli/default/pre-key-361.json +1 -0
  459. package/sessions-cli/default/pre-key-362.json +1 -0
  460. package/sessions-cli/default/pre-key-363.json +1 -0
  461. package/sessions-cli/default/pre-key-364.json +1 -0
  462. package/sessions-cli/default/pre-key-365.json +1 -0
  463. package/sessions-cli/default/pre-key-366.json +1 -0
  464. package/sessions-cli/default/pre-key-367.json +1 -0
  465. package/sessions-cli/default/pre-key-368.json +1 -0
  466. package/sessions-cli/default/pre-key-369.json +1 -0
  467. package/sessions-cli/default/pre-key-37.json +1 -0
  468. package/sessions-cli/default/pre-key-370.json +1 -0
  469. package/sessions-cli/default/pre-key-371.json +1 -0
  470. package/sessions-cli/default/pre-key-372.json +1 -0
  471. package/sessions-cli/default/pre-key-373.json +1 -0
  472. package/sessions-cli/default/pre-key-374.json +1 -0
  473. package/sessions-cli/default/pre-key-375.json +1 -0
  474. package/sessions-cli/default/pre-key-376.json +1 -0
  475. package/sessions-cli/default/pre-key-377.json +1 -0
  476. package/sessions-cli/default/pre-key-378.json +1 -0
  477. package/sessions-cli/default/pre-key-379.json +1 -0
  478. package/sessions-cli/default/pre-key-38.json +1 -0
  479. package/sessions-cli/default/pre-key-380.json +1 -0
  480. package/sessions-cli/default/pre-key-381.json +1 -0
  481. package/sessions-cli/default/pre-key-382.json +1 -0
  482. package/sessions-cli/default/pre-key-383.json +1 -0
  483. package/sessions-cli/default/pre-key-384.json +1 -0
  484. package/sessions-cli/default/pre-key-385.json +1 -0
  485. package/sessions-cli/default/pre-key-386.json +1 -0
  486. package/sessions-cli/default/pre-key-387.json +1 -0
  487. package/sessions-cli/default/pre-key-388.json +1 -0
  488. package/sessions-cli/default/pre-key-389.json +1 -0
  489. package/sessions-cli/default/pre-key-39.json +1 -0
  490. package/sessions-cli/default/pre-key-390.json +1 -0
  491. package/sessions-cli/default/pre-key-391.json +1 -0
  492. package/sessions-cli/default/pre-key-392.json +1 -0
  493. package/sessions-cli/default/pre-key-393.json +1 -0
  494. package/sessions-cli/default/pre-key-394.json +1 -0
  495. package/sessions-cli/default/pre-key-395.json +1 -0
  496. package/sessions-cli/default/pre-key-396.json +1 -0
  497. package/sessions-cli/default/pre-key-397.json +1 -0
  498. package/sessions-cli/default/pre-key-398.json +1 -0
  499. package/sessions-cli/default/pre-key-399.json +1 -0
  500. package/sessions-cli/default/pre-key-4.json +1 -0
  501. package/sessions-cli/default/pre-key-40.json +1 -0
  502. package/sessions-cli/default/pre-key-400.json +1 -0
  503. package/sessions-cli/default/pre-key-401.json +1 -0
  504. package/sessions-cli/default/pre-key-402.json +1 -0
  505. package/sessions-cli/default/pre-key-403.json +1 -0
  506. package/sessions-cli/default/pre-key-404.json +1 -0
  507. package/sessions-cli/default/pre-key-405.json +1 -0
  508. package/sessions-cli/default/pre-key-406.json +1 -0
  509. package/sessions-cli/default/pre-key-407.json +1 -0
  510. package/sessions-cli/default/pre-key-408.json +1 -0
  511. package/sessions-cli/default/pre-key-409.json +1 -0
  512. package/sessions-cli/default/pre-key-41.json +1 -0
  513. package/sessions-cli/default/pre-key-410.json +1 -0
  514. package/sessions-cli/default/pre-key-411.json +1 -0
  515. package/sessions-cli/default/pre-key-412.json +1 -0
  516. package/sessions-cli/default/pre-key-413.json +1 -0
  517. package/sessions-cli/default/pre-key-414.json +1 -0
  518. package/sessions-cli/default/pre-key-415.json +1 -0
  519. package/sessions-cli/default/pre-key-416.json +1 -0
  520. package/sessions-cli/default/pre-key-417.json +1 -0
  521. package/sessions-cli/default/pre-key-418.json +1 -0
  522. package/sessions-cli/default/pre-key-419.json +1 -0
  523. package/sessions-cli/default/pre-key-42.json +1 -0
  524. package/sessions-cli/default/pre-key-420.json +1 -0
  525. package/sessions-cli/default/pre-key-421.json +1 -0
  526. package/sessions-cli/default/pre-key-422.json +1 -0
  527. package/sessions-cli/default/pre-key-423.json +1 -0
  528. package/sessions-cli/default/pre-key-424.json +1 -0
  529. package/sessions-cli/default/pre-key-425.json +1 -0
  530. package/sessions-cli/default/pre-key-426.json +1 -0
  531. package/sessions-cli/default/pre-key-427.json +1 -0
  532. package/sessions-cli/default/pre-key-428.json +1 -0
  533. package/sessions-cli/default/pre-key-429.json +1 -0
  534. package/sessions-cli/default/pre-key-43.json +1 -0
  535. package/sessions-cli/default/pre-key-430.json +1 -0
  536. package/sessions-cli/default/pre-key-431.json +1 -0
  537. package/sessions-cli/default/pre-key-432.json +1 -0
  538. package/sessions-cli/default/pre-key-433.json +1 -0
  539. package/sessions-cli/default/pre-key-434.json +1 -0
  540. package/sessions-cli/default/pre-key-435.json +1 -0
  541. package/sessions-cli/default/pre-key-436.json +1 -0
  542. package/sessions-cli/default/pre-key-437.json +1 -0
  543. package/sessions-cli/default/pre-key-438.json +1 -0
  544. package/sessions-cli/default/pre-key-439.json +1 -0
  545. package/sessions-cli/default/pre-key-44.json +1 -0
  546. package/sessions-cli/default/pre-key-440.json +1 -0
  547. package/sessions-cli/default/pre-key-441.json +1 -0
  548. package/sessions-cli/default/pre-key-442.json +1 -0
  549. package/sessions-cli/default/pre-key-443.json +1 -0
  550. package/sessions-cli/default/pre-key-444.json +1 -0
  551. package/sessions-cli/default/pre-key-445.json +1 -0
  552. package/sessions-cli/default/pre-key-446.json +1 -0
  553. package/sessions-cli/default/pre-key-447.json +1 -0
  554. package/sessions-cli/default/pre-key-448.json +1 -0
  555. package/sessions-cli/default/pre-key-449.json +1 -0
  556. package/sessions-cli/default/pre-key-45.json +1 -0
  557. package/sessions-cli/default/pre-key-450.json +1 -0
  558. package/sessions-cli/default/pre-key-451.json +1 -0
  559. package/sessions-cli/default/pre-key-452.json +1 -0
  560. package/sessions-cli/default/pre-key-453.json +1 -0
  561. package/sessions-cli/default/pre-key-454.json +1 -0
  562. package/sessions-cli/default/pre-key-455.json +1 -0
  563. package/sessions-cli/default/pre-key-456.json +1 -0
  564. package/sessions-cli/default/pre-key-457.json +1 -0
  565. package/sessions-cli/default/pre-key-458.json +1 -0
  566. package/sessions-cli/default/pre-key-459.json +1 -0
  567. package/sessions-cli/default/pre-key-46.json +1 -0
  568. package/sessions-cli/default/pre-key-460.json +1 -0
  569. package/sessions-cli/default/pre-key-461.json +1 -0
  570. package/sessions-cli/default/pre-key-462.json +1 -0
  571. package/sessions-cli/default/pre-key-463.json +1 -0
  572. package/sessions-cli/default/pre-key-464.json +1 -0
  573. package/sessions-cli/default/pre-key-465.json +1 -0
  574. package/sessions-cli/default/pre-key-466.json +1 -0
  575. package/sessions-cli/default/pre-key-467.json +1 -0
  576. package/sessions-cli/default/pre-key-468.json +1 -0
  577. package/sessions-cli/default/pre-key-469.json +1 -0
  578. package/sessions-cli/default/pre-key-47.json +1 -0
  579. package/sessions-cli/default/pre-key-470.json +1 -0
  580. package/sessions-cli/default/pre-key-471.json +1 -0
  581. package/sessions-cli/default/pre-key-472.json +1 -0
  582. package/sessions-cli/default/pre-key-473.json +1 -0
  583. package/sessions-cli/default/pre-key-474.json +1 -0
  584. package/sessions-cli/default/pre-key-475.json +1 -0
  585. package/sessions-cli/default/pre-key-476.json +1 -0
  586. package/sessions-cli/default/pre-key-477.json +1 -0
  587. package/sessions-cli/default/pre-key-478.json +1 -0
  588. package/sessions-cli/default/pre-key-479.json +1 -0
  589. package/sessions-cli/default/pre-key-48.json +1 -0
  590. package/sessions-cli/default/pre-key-480.json +1 -0
  591. package/sessions-cli/default/pre-key-481.json +1 -0
  592. package/sessions-cli/default/pre-key-482.json +1 -0
  593. package/sessions-cli/default/pre-key-483.json +1 -0
  594. package/sessions-cli/default/pre-key-484.json +1 -0
  595. package/sessions-cli/default/pre-key-485.json +1 -0
  596. package/sessions-cli/default/pre-key-486.json +1 -0
  597. package/sessions-cli/default/pre-key-487.json +1 -0
  598. package/sessions-cli/default/pre-key-488.json +1 -0
  599. package/sessions-cli/default/pre-key-489.json +1 -0
  600. package/sessions-cli/default/pre-key-49.json +1 -0
  601. package/sessions-cli/default/pre-key-490.json +1 -0
  602. package/sessions-cli/default/pre-key-491.json +1 -0
  603. package/sessions-cli/default/pre-key-492.json +1 -0
  604. package/sessions-cli/default/pre-key-493.json +1 -0
  605. package/sessions-cli/default/pre-key-494.json +1 -0
  606. package/sessions-cli/default/pre-key-495.json +1 -0
  607. package/sessions-cli/default/pre-key-496.json +1 -0
  608. package/sessions-cli/default/pre-key-497.json +1 -0
  609. package/sessions-cli/default/pre-key-498.json +1 -0
  610. package/sessions-cli/default/pre-key-499.json +1 -0
  611. package/sessions-cli/default/pre-key-5.json +1 -0
  612. package/sessions-cli/default/pre-key-50.json +1 -0
  613. package/sessions-cli/default/pre-key-500.json +1 -0
  614. package/sessions-cli/default/pre-key-501.json +1 -0
  615. package/sessions-cli/default/pre-key-502.json +1 -0
  616. package/sessions-cli/default/pre-key-503.json +1 -0
  617. package/sessions-cli/default/pre-key-504.json +1 -0
  618. package/sessions-cli/default/pre-key-505.json +1 -0
  619. package/sessions-cli/default/pre-key-506.json +1 -0
  620. package/sessions-cli/default/pre-key-507.json +1 -0
  621. package/sessions-cli/default/pre-key-508.json +1 -0
  622. package/sessions-cli/default/pre-key-509.json +1 -0
  623. package/sessions-cli/default/pre-key-51.json +1 -0
  624. package/sessions-cli/default/pre-key-510.json +1 -0
  625. package/sessions-cli/default/pre-key-511.json +1 -0
  626. package/sessions-cli/default/pre-key-512.json +1 -0
  627. package/sessions-cli/default/pre-key-513.json +1 -0
  628. package/sessions-cli/default/pre-key-514.json +1 -0
  629. package/sessions-cli/default/pre-key-515.json +1 -0
  630. package/sessions-cli/default/pre-key-516.json +1 -0
  631. package/sessions-cli/default/pre-key-517.json +1 -0
  632. package/sessions-cli/default/pre-key-518.json +1 -0
  633. package/sessions-cli/default/pre-key-519.json +1 -0
  634. package/sessions-cli/default/pre-key-52.json +1 -0
  635. package/sessions-cli/default/pre-key-520.json +1 -0
  636. package/sessions-cli/default/pre-key-521.json +1 -0
  637. package/sessions-cli/default/pre-key-522.json +1 -0
  638. package/sessions-cli/default/pre-key-523.json +1 -0
  639. package/sessions-cli/default/pre-key-524.json +1 -0
  640. package/sessions-cli/default/pre-key-525.json +1 -0
  641. package/sessions-cli/default/pre-key-526.json +1 -0
  642. package/sessions-cli/default/pre-key-527.json +1 -0
  643. package/sessions-cli/default/pre-key-528.json +1 -0
  644. package/sessions-cli/default/pre-key-529.json +1 -0
  645. package/sessions-cli/default/pre-key-53.json +1 -0
  646. package/sessions-cli/default/pre-key-530.json +1 -0
  647. package/sessions-cli/default/pre-key-531.json +1 -0
  648. package/sessions-cli/default/pre-key-532.json +1 -0
  649. package/sessions-cli/default/pre-key-533.json +1 -0
  650. package/sessions-cli/default/pre-key-534.json +1 -0
  651. package/sessions-cli/default/pre-key-535.json +1 -0
  652. package/sessions-cli/default/pre-key-536.json +1 -0
  653. package/sessions-cli/default/pre-key-537.json +1 -0
  654. package/sessions-cli/default/pre-key-538.json +1 -0
  655. package/sessions-cli/default/pre-key-539.json +1 -0
  656. package/sessions-cli/default/pre-key-54.json +1 -0
  657. package/sessions-cli/default/pre-key-540.json +1 -0
  658. package/sessions-cli/default/pre-key-541.json +1 -0
  659. package/sessions-cli/default/pre-key-542.json +1 -0
  660. package/sessions-cli/default/pre-key-543.json +1 -0
  661. package/sessions-cli/default/pre-key-544.json +1 -0
  662. package/sessions-cli/default/pre-key-545.json +1 -0
  663. package/sessions-cli/default/pre-key-546.json +1 -0
  664. package/sessions-cli/default/pre-key-547.json +1 -0
  665. package/sessions-cli/default/pre-key-548.json +1 -0
  666. package/sessions-cli/default/pre-key-549.json +1 -0
  667. package/sessions-cli/default/pre-key-55.json +1 -0
  668. package/sessions-cli/default/pre-key-550.json +1 -0
  669. package/sessions-cli/default/pre-key-551.json +1 -0
  670. package/sessions-cli/default/pre-key-552.json +1 -0
  671. package/sessions-cli/default/pre-key-553.json +1 -0
  672. package/sessions-cli/default/pre-key-554.json +1 -0
  673. package/sessions-cli/default/pre-key-555.json +1 -0
  674. package/sessions-cli/default/pre-key-556.json +1 -0
  675. package/sessions-cli/default/pre-key-557.json +1 -0
  676. package/sessions-cli/default/pre-key-558.json +1 -0
  677. package/sessions-cli/default/pre-key-559.json +1 -0
  678. package/sessions-cli/default/pre-key-56.json +1 -0
  679. package/sessions-cli/default/pre-key-560.json +1 -0
  680. package/sessions-cli/default/pre-key-561.json +1 -0
  681. package/sessions-cli/default/pre-key-562.json +1 -0
  682. package/sessions-cli/default/pre-key-563.json +1 -0
  683. package/sessions-cli/default/pre-key-564.json +1 -0
  684. package/sessions-cli/default/pre-key-565.json +1 -0
  685. package/sessions-cli/default/pre-key-566.json +1 -0
  686. package/sessions-cli/default/pre-key-567.json +1 -0
  687. package/sessions-cli/default/pre-key-568.json +1 -0
  688. package/sessions-cli/default/pre-key-569.json +1 -0
  689. package/sessions-cli/default/pre-key-57.json +1 -0
  690. package/sessions-cli/default/pre-key-570.json +1 -0
  691. package/sessions-cli/default/pre-key-571.json +1 -0
  692. package/sessions-cli/default/pre-key-572.json +1 -0
  693. package/sessions-cli/default/pre-key-573.json +1 -0
  694. package/sessions-cli/default/pre-key-574.json +1 -0
  695. package/sessions-cli/default/pre-key-575.json +1 -0
  696. package/sessions-cli/default/pre-key-576.json +1 -0
  697. package/sessions-cli/default/pre-key-577.json +1 -0
  698. package/sessions-cli/default/pre-key-578.json +1 -0
  699. package/sessions-cli/default/pre-key-579.json +1 -0
  700. package/sessions-cli/default/pre-key-58.json +1 -0
  701. package/sessions-cli/default/pre-key-580.json +1 -0
  702. package/sessions-cli/default/pre-key-581.json +1 -0
  703. package/sessions-cli/default/pre-key-582.json +1 -0
  704. package/sessions-cli/default/pre-key-583.json +1 -0
  705. package/sessions-cli/default/pre-key-584.json +1 -0
  706. package/sessions-cli/default/pre-key-585.json +1 -0
  707. package/sessions-cli/default/pre-key-586.json +1 -0
  708. package/sessions-cli/default/pre-key-587.json +1 -0
  709. package/sessions-cli/default/pre-key-588.json +1 -0
  710. package/sessions-cli/default/pre-key-589.json +1 -0
  711. package/sessions-cli/default/pre-key-59.json +1 -0
  712. package/sessions-cli/default/pre-key-590.json +1 -0
  713. package/sessions-cli/default/pre-key-591.json +1 -0
  714. package/sessions-cli/default/pre-key-592.json +1 -0
  715. package/sessions-cli/default/pre-key-593.json +1 -0
  716. package/sessions-cli/default/pre-key-594.json +1 -0
  717. package/sessions-cli/default/pre-key-595.json +1 -0
  718. package/sessions-cli/default/pre-key-596.json +1 -0
  719. package/sessions-cli/default/pre-key-597.json +1 -0
  720. package/sessions-cli/default/pre-key-598.json +1 -0
  721. package/sessions-cli/default/pre-key-599.json +1 -0
  722. package/sessions-cli/default/pre-key-6.json +1 -0
  723. package/sessions-cli/default/pre-key-60.json +1 -0
  724. package/sessions-cli/default/pre-key-600.json +1 -0
  725. package/sessions-cli/default/pre-key-601.json +1 -0
  726. package/sessions-cli/default/pre-key-602.json +1 -0
  727. package/sessions-cli/default/pre-key-603.json +1 -0
  728. package/sessions-cli/default/pre-key-604.json +1 -0
  729. package/sessions-cli/default/pre-key-605.json +1 -0
  730. package/sessions-cli/default/pre-key-606.json +1 -0
  731. package/sessions-cli/default/pre-key-607.json +1 -0
  732. package/sessions-cli/default/pre-key-608.json +1 -0
  733. package/sessions-cli/default/pre-key-609.json +1 -0
  734. package/sessions-cli/default/pre-key-61.json +1 -0
  735. package/sessions-cli/default/pre-key-610.json +1 -0
  736. package/sessions-cli/default/pre-key-611.json +1 -0
  737. package/sessions-cli/default/pre-key-612.json +1 -0
  738. package/sessions-cli/default/pre-key-613.json +1 -0
  739. package/sessions-cli/default/pre-key-614.json +1 -0
  740. package/sessions-cli/default/pre-key-615.json +1 -0
  741. package/sessions-cli/default/pre-key-616.json +1 -0
  742. package/sessions-cli/default/pre-key-617.json +1 -0
  743. package/sessions-cli/default/pre-key-618.json +1 -0
  744. package/sessions-cli/default/pre-key-619.json +1 -0
  745. package/sessions-cli/default/pre-key-62.json +1 -0
  746. package/sessions-cli/default/pre-key-620.json +1 -0
  747. package/sessions-cli/default/pre-key-621.json +1 -0
  748. package/sessions-cli/default/pre-key-622.json +1 -0
  749. package/sessions-cli/default/pre-key-623.json +1 -0
  750. package/sessions-cli/default/pre-key-624.json +1 -0
  751. package/sessions-cli/default/pre-key-625.json +1 -0
  752. package/sessions-cli/default/pre-key-626.json +1 -0
  753. package/sessions-cli/default/pre-key-627.json +1 -0
  754. package/sessions-cli/default/pre-key-628.json +1 -0
  755. package/sessions-cli/default/pre-key-629.json +1 -0
  756. package/sessions-cli/default/pre-key-63.json +1 -0
  757. package/sessions-cli/default/pre-key-630.json +1 -0
  758. package/sessions-cli/default/pre-key-631.json +1 -0
  759. package/sessions-cli/default/pre-key-632.json +1 -0
  760. package/sessions-cli/default/pre-key-633.json +1 -0
  761. package/sessions-cli/default/pre-key-634.json +1 -0
  762. package/sessions-cli/default/pre-key-635.json +1 -0
  763. package/sessions-cli/default/pre-key-636.json +1 -0
  764. package/sessions-cli/default/pre-key-637.json +1 -0
  765. package/sessions-cli/default/pre-key-638.json +1 -0
  766. package/sessions-cli/default/pre-key-639.json +1 -0
  767. package/sessions-cli/default/pre-key-64.json +1 -0
  768. package/sessions-cli/default/pre-key-640.json +1 -0
  769. package/sessions-cli/default/pre-key-641.json +1 -0
  770. package/sessions-cli/default/pre-key-642.json +1 -0
  771. package/sessions-cli/default/pre-key-643.json +1 -0
  772. package/sessions-cli/default/pre-key-644.json +1 -0
  773. package/sessions-cli/default/pre-key-645.json +1 -0
  774. package/sessions-cli/default/pre-key-646.json +1 -0
  775. package/sessions-cli/default/pre-key-647.json +1 -0
  776. package/sessions-cli/default/pre-key-648.json +1 -0
  777. package/sessions-cli/default/pre-key-649.json +1 -0
  778. package/sessions-cli/default/pre-key-65.json +1 -0
  779. package/sessions-cli/default/pre-key-650.json +1 -0
  780. package/sessions-cli/default/pre-key-651.json +1 -0
  781. package/sessions-cli/default/pre-key-652.json +1 -0
  782. package/sessions-cli/default/pre-key-653.json +1 -0
  783. package/sessions-cli/default/pre-key-654.json +1 -0
  784. package/sessions-cli/default/pre-key-655.json +1 -0
  785. package/sessions-cli/default/pre-key-656.json +1 -0
  786. package/sessions-cli/default/pre-key-657.json +1 -0
  787. package/sessions-cli/default/pre-key-658.json +1 -0
  788. package/sessions-cli/default/pre-key-659.json +1 -0
  789. package/sessions-cli/default/pre-key-66.json +1 -0
  790. package/sessions-cli/default/pre-key-660.json +1 -0
  791. package/sessions-cli/default/pre-key-661.json +1 -0
  792. package/sessions-cli/default/pre-key-662.json +1 -0
  793. package/sessions-cli/default/pre-key-663.json +1 -0
  794. package/sessions-cli/default/pre-key-664.json +1 -0
  795. package/sessions-cli/default/pre-key-665.json +1 -0
  796. package/sessions-cli/default/pre-key-666.json +1 -0
  797. package/sessions-cli/default/pre-key-667.json +1 -0
  798. package/sessions-cli/default/pre-key-668.json +1 -0
  799. package/sessions-cli/default/pre-key-669.json +1 -0
  800. package/sessions-cli/default/pre-key-67.json +1 -0
  801. package/sessions-cli/default/pre-key-670.json +1 -0
  802. package/sessions-cli/default/pre-key-671.json +1 -0
  803. package/sessions-cli/default/pre-key-672.json +1 -0
  804. package/sessions-cli/default/pre-key-673.json +1 -0
  805. package/sessions-cli/default/pre-key-674.json +1 -0
  806. package/sessions-cli/default/pre-key-675.json +1 -0
  807. package/sessions-cli/default/pre-key-676.json +1 -0
  808. package/sessions-cli/default/pre-key-677.json +1 -0
  809. package/sessions-cli/default/pre-key-678.json +1 -0
  810. package/sessions-cli/default/pre-key-679.json +1 -0
  811. package/sessions-cli/default/pre-key-68.json +1 -0
  812. package/sessions-cli/default/pre-key-680.json +1 -0
  813. package/sessions-cli/default/pre-key-681.json +1 -0
  814. package/sessions-cli/default/pre-key-682.json +1 -0
  815. package/sessions-cli/default/pre-key-683.json +1 -0
  816. package/sessions-cli/default/pre-key-684.json +1 -0
  817. package/sessions-cli/default/pre-key-685.json +1 -0
  818. package/sessions-cli/default/pre-key-686.json +1 -0
  819. package/sessions-cli/default/pre-key-687.json +1 -0
  820. package/sessions-cli/default/pre-key-688.json +1 -0
  821. package/sessions-cli/default/pre-key-689.json +1 -0
  822. package/sessions-cli/default/pre-key-69.json +1 -0
  823. package/sessions-cli/default/pre-key-690.json +1 -0
  824. package/sessions-cli/default/pre-key-691.json +1 -0
  825. package/sessions-cli/default/pre-key-692.json +1 -0
  826. package/sessions-cli/default/pre-key-693.json +1 -0
  827. package/sessions-cli/default/pre-key-694.json +1 -0
  828. package/sessions-cli/default/pre-key-695.json +1 -0
  829. package/sessions-cli/default/pre-key-696.json +1 -0
  830. package/sessions-cli/default/pre-key-697.json +1 -0
  831. package/sessions-cli/default/pre-key-698.json +1 -0
  832. package/sessions-cli/default/pre-key-699.json +1 -0
  833. package/sessions-cli/default/pre-key-7.json +1 -0
  834. package/sessions-cli/default/pre-key-70.json +1 -0
  835. package/sessions-cli/default/pre-key-700.json +1 -0
  836. package/sessions-cli/default/pre-key-701.json +1 -0
  837. package/sessions-cli/default/pre-key-702.json +1 -0
  838. package/sessions-cli/default/pre-key-703.json +1 -0
  839. package/sessions-cli/default/pre-key-704.json +1 -0
  840. package/sessions-cli/default/pre-key-705.json +1 -0
  841. package/sessions-cli/default/pre-key-706.json +1 -0
  842. package/sessions-cli/default/pre-key-707.json +1 -0
  843. package/sessions-cli/default/pre-key-708.json +1 -0
  844. package/sessions-cli/default/pre-key-709.json +1 -0
  845. package/sessions-cli/default/pre-key-71.json +1 -0
  846. package/sessions-cli/default/pre-key-710.json +1 -0
  847. package/sessions-cli/default/pre-key-711.json +1 -0
  848. package/sessions-cli/default/pre-key-712.json +1 -0
  849. package/sessions-cli/default/pre-key-713.json +1 -0
  850. package/sessions-cli/default/pre-key-714.json +1 -0
  851. package/sessions-cli/default/pre-key-715.json +1 -0
  852. package/sessions-cli/default/pre-key-716.json +1 -0
  853. package/sessions-cli/default/pre-key-717.json +1 -0
  854. package/sessions-cli/default/pre-key-718.json +1 -0
  855. package/sessions-cli/default/pre-key-719.json +1 -0
  856. package/sessions-cli/default/pre-key-72.json +1 -0
  857. package/sessions-cli/default/pre-key-720.json +1 -0
  858. package/sessions-cli/default/pre-key-721.json +1 -0
  859. package/sessions-cli/default/pre-key-722.json +1 -0
  860. package/sessions-cli/default/pre-key-723.json +1 -0
  861. package/sessions-cli/default/pre-key-724.json +1 -0
  862. package/sessions-cli/default/pre-key-725.json +1 -0
  863. package/sessions-cli/default/pre-key-726.json +1 -0
  864. package/sessions-cli/default/pre-key-727.json +1 -0
  865. package/sessions-cli/default/pre-key-728.json +1 -0
  866. package/sessions-cli/default/pre-key-729.json +1 -0
  867. package/sessions-cli/default/pre-key-73.json +1 -0
  868. package/sessions-cli/default/pre-key-730.json +1 -0
  869. package/sessions-cli/default/pre-key-731.json +1 -0
  870. package/sessions-cli/default/pre-key-732.json +1 -0
  871. package/sessions-cli/default/pre-key-733.json +1 -0
  872. package/sessions-cli/default/pre-key-734.json +1 -0
  873. package/sessions-cli/default/pre-key-735.json +1 -0
  874. package/sessions-cli/default/pre-key-736.json +1 -0
  875. package/sessions-cli/default/pre-key-737.json +1 -0
  876. package/sessions-cli/default/pre-key-738.json +1 -0
  877. package/sessions-cli/default/pre-key-739.json +1 -0
  878. package/sessions-cli/default/pre-key-74.json +1 -0
  879. package/sessions-cli/default/pre-key-740.json +1 -0
  880. package/sessions-cli/default/pre-key-741.json +1 -0
  881. package/sessions-cli/default/pre-key-742.json +1 -0
  882. package/sessions-cli/default/pre-key-743.json +1 -0
  883. package/sessions-cli/default/pre-key-744.json +1 -0
  884. package/sessions-cli/default/pre-key-745.json +1 -0
  885. package/sessions-cli/default/pre-key-746.json +1 -0
  886. package/sessions-cli/default/pre-key-747.json +1 -0
  887. package/sessions-cli/default/pre-key-748.json +1 -0
  888. package/sessions-cli/default/pre-key-749.json +1 -0
  889. package/sessions-cli/default/pre-key-75.json +1 -0
  890. package/sessions-cli/default/pre-key-750.json +1 -0
  891. package/sessions-cli/default/pre-key-751.json +1 -0
  892. package/sessions-cli/default/pre-key-752.json +1 -0
  893. package/sessions-cli/default/pre-key-753.json +1 -0
  894. package/sessions-cli/default/pre-key-754.json +1 -0
  895. package/sessions-cli/default/pre-key-755.json +1 -0
  896. package/sessions-cli/default/pre-key-756.json +1 -0
  897. package/sessions-cli/default/pre-key-757.json +1 -0
  898. package/sessions-cli/default/pre-key-758.json +1 -0
  899. package/sessions-cli/default/pre-key-759.json +1 -0
  900. package/sessions-cli/default/pre-key-76.json +1 -0
  901. package/sessions-cli/default/pre-key-760.json +1 -0
  902. package/sessions-cli/default/pre-key-761.json +1 -0
  903. package/sessions-cli/default/pre-key-762.json +1 -0
  904. package/sessions-cli/default/pre-key-763.json +1 -0
  905. package/sessions-cli/default/pre-key-764.json +1 -0
  906. package/sessions-cli/default/pre-key-765.json +1 -0
  907. package/sessions-cli/default/pre-key-766.json +1 -0
  908. package/sessions-cli/default/pre-key-767.json +1 -0
  909. package/sessions-cli/default/pre-key-768.json +1 -0
  910. package/sessions-cli/default/pre-key-769.json +1 -0
  911. package/sessions-cli/default/pre-key-77.json +1 -0
  912. package/sessions-cli/default/pre-key-770.json +1 -0
  913. package/sessions-cli/default/pre-key-771.json +1 -0
  914. package/sessions-cli/default/pre-key-772.json +1 -0
  915. package/sessions-cli/default/pre-key-773.json +1 -0
  916. package/sessions-cli/default/pre-key-774.json +1 -0
  917. package/sessions-cli/default/pre-key-775.json +1 -0
  918. package/sessions-cli/default/pre-key-776.json +1 -0
  919. package/sessions-cli/default/pre-key-777.json +1 -0
  920. package/sessions-cli/default/pre-key-778.json +1 -0
  921. package/sessions-cli/default/pre-key-779.json +1 -0
  922. package/sessions-cli/default/pre-key-78.json +1 -0
  923. package/sessions-cli/default/pre-key-780.json +1 -0
  924. package/sessions-cli/default/pre-key-781.json +1 -0
  925. package/sessions-cli/default/pre-key-782.json +1 -0
  926. package/sessions-cli/default/pre-key-783.json +1 -0
  927. package/sessions-cli/default/pre-key-784.json +1 -0
  928. package/sessions-cli/default/pre-key-785.json +1 -0
  929. package/sessions-cli/default/pre-key-786.json +1 -0
  930. package/sessions-cli/default/pre-key-787.json +1 -0
  931. package/sessions-cli/default/pre-key-788.json +1 -0
  932. package/sessions-cli/default/pre-key-789.json +1 -0
  933. package/sessions-cli/default/pre-key-79.json +1 -0
  934. package/sessions-cli/default/pre-key-790.json +1 -0
  935. package/sessions-cli/default/pre-key-791.json +1 -0
  936. package/sessions-cli/default/pre-key-792.json +1 -0
  937. package/sessions-cli/default/pre-key-793.json +1 -0
  938. package/sessions-cli/default/pre-key-794.json +1 -0
  939. package/sessions-cli/default/pre-key-795.json +1 -0
  940. package/sessions-cli/default/pre-key-796.json +1 -0
  941. package/sessions-cli/default/pre-key-797.json +1 -0
  942. package/sessions-cli/default/pre-key-798.json +1 -0
  943. package/sessions-cli/default/pre-key-799.json +1 -0
  944. package/sessions-cli/default/pre-key-8.json +1 -0
  945. package/sessions-cli/default/pre-key-80.json +1 -0
  946. package/sessions-cli/default/pre-key-800.json +1 -0
  947. package/sessions-cli/default/pre-key-801.json +1 -0
  948. package/sessions-cli/default/pre-key-802.json +1 -0
  949. package/sessions-cli/default/pre-key-803.json +1 -0
  950. package/sessions-cli/default/pre-key-804.json +1 -0
  951. package/sessions-cli/default/pre-key-805.json +1 -0
  952. package/sessions-cli/default/pre-key-806.json +1 -0
  953. package/sessions-cli/default/pre-key-807.json +1 -0
  954. package/sessions-cli/default/pre-key-808.json +1 -0
  955. package/sessions-cli/default/pre-key-809.json +1 -0
  956. package/sessions-cli/default/pre-key-81.json +1 -0
  957. package/sessions-cli/default/pre-key-810.json +1 -0
  958. package/sessions-cli/default/pre-key-811.json +1 -0
  959. package/sessions-cli/default/pre-key-812.json +1 -0
  960. package/sessions-cli/default/pre-key-82.json +1 -0
  961. package/sessions-cli/default/pre-key-83.json +1 -0
  962. package/sessions-cli/default/pre-key-84.json +1 -0
  963. package/sessions-cli/default/pre-key-85.json +1 -0
  964. package/sessions-cli/default/pre-key-86.json +1 -0
  965. package/sessions-cli/default/pre-key-87.json +1 -0
  966. package/sessions-cli/default/pre-key-88.json +1 -0
  967. package/sessions-cli/default/pre-key-89.json +1 -0
  968. package/sessions-cli/default/pre-key-9.json +1 -0
  969. package/sessions-cli/default/pre-key-90.json +1 -0
  970. package/sessions-cli/default/pre-key-91.json +1 -0
  971. package/sessions-cli/default/pre-key-92.json +1 -0
  972. package/sessions-cli/default/pre-key-93.json +1 -0
  973. package/sessions-cli/default/pre-key-94.json +1 -0
  974. package/sessions-cli/default/pre-key-95.json +1 -0
  975. package/sessions-cli/default/pre-key-96.json +1 -0
  976. package/sessions-cli/default/pre-key-97.json +1 -0
  977. package/sessions-cli/default/pre-key-98.json +1 -0
  978. package/sessions-cli/default/pre-key-99.json +1 -0
  979. package/sessions-cli/default/session-103732167577712_1.0.json +1 -0
  980. package/sessions-cli/default/session-123235563786303_1.0.json +1 -0
  981. package/sessions-cli/default/session-181312044433566_1.0.json +1 -0
  982. package/sessions-cli/default/session-42877077966917_1.0.json +1 -0
  983. package/sessions-cli/default/session-62324404687100_1.0.json +1 -0
  984. package/sessions-cli/default/tctoken-6281295802674@s.whatsapp.net.json +1 -0
  985. package/test-autocomplete.ts +66 -0
  986. package/test-sessions-manual/manual-test-bot/app-state-sync-key-AAAAABGP.json +1 -0
  987. package/test-sessions-manual/manual-test-bot/app-state-sync-version-critical_block.json +1 -0
  988. package/test-sessions-manual/manual-test-bot/app-state-sync-version-critical_unblock_low.json +1 -0
  989. package/test-sessions-manual/manual-test-bot/app-state-sync-version-regular.json +1 -0
  990. package/test-sessions-manual/manual-test-bot/app-state-sync-version-regular_high.json +1 -0
  991. package/test-sessions-manual/manual-test-bot/app-state-sync-version-regular_low.json +1 -0
  992. package/test-sessions-manual/manual-test-bot/creds.json +1 -0
  993. package/test-sessions-manual/manual-test-bot/device-list-6285792059652.json +1 -0
  994. package/test-sessions-manual/manual-test-bot/lid-mapping-177919053803568_reverse.json +1 -0
  995. package/test-sessions-manual/manual-test-bot/lid-mapping-6285792059652.json +1 -0
  996. package/test-sessions-manual/manual-test-bot/pre-key-1.json +1 -0
  997. package/test-sessions-manual/manual-test-bot/pre-key-10.json +1 -0
  998. package/test-sessions-manual/manual-test-bot/pre-key-100.json +1 -0
  999. package/test-sessions-manual/manual-test-bot/pre-key-101.json +1 -0
  1000. package/test-sessions-manual/manual-test-bot/pre-key-102.json +1 -0
  1001. package/test-sessions-manual/manual-test-bot/pre-key-103.json +1 -0
  1002. package/test-sessions-manual/manual-test-bot/pre-key-104.json +1 -0
  1003. package/test-sessions-manual/manual-test-bot/pre-key-105.json +1 -0
  1004. package/test-sessions-manual/manual-test-bot/pre-key-106.json +1 -0
  1005. package/test-sessions-manual/manual-test-bot/pre-key-107.json +1 -0
  1006. package/test-sessions-manual/manual-test-bot/pre-key-108.json +1 -0
  1007. package/test-sessions-manual/manual-test-bot/pre-key-109.json +1 -0
  1008. package/test-sessions-manual/manual-test-bot/pre-key-11.json +1 -0
  1009. package/test-sessions-manual/manual-test-bot/pre-key-110.json +1 -0
  1010. package/test-sessions-manual/manual-test-bot/pre-key-111.json +1 -0
  1011. package/test-sessions-manual/manual-test-bot/pre-key-112.json +1 -0
  1012. package/test-sessions-manual/manual-test-bot/pre-key-113.json +1 -0
  1013. package/test-sessions-manual/manual-test-bot/pre-key-114.json +1 -0
  1014. package/test-sessions-manual/manual-test-bot/pre-key-115.json +1 -0
  1015. package/test-sessions-manual/manual-test-bot/pre-key-116.json +1 -0
  1016. package/test-sessions-manual/manual-test-bot/pre-key-117.json +1 -0
  1017. package/test-sessions-manual/manual-test-bot/pre-key-118.json +1 -0
  1018. package/test-sessions-manual/manual-test-bot/pre-key-119.json +1 -0
  1019. package/test-sessions-manual/manual-test-bot/pre-key-12.json +1 -0
  1020. package/test-sessions-manual/manual-test-bot/pre-key-120.json +1 -0
  1021. package/test-sessions-manual/manual-test-bot/pre-key-121.json +1 -0
  1022. package/test-sessions-manual/manual-test-bot/pre-key-122.json +1 -0
  1023. package/test-sessions-manual/manual-test-bot/pre-key-123.json +1 -0
  1024. package/test-sessions-manual/manual-test-bot/pre-key-124.json +1 -0
  1025. package/test-sessions-manual/manual-test-bot/pre-key-125.json +1 -0
  1026. package/test-sessions-manual/manual-test-bot/pre-key-126.json +1 -0
  1027. package/test-sessions-manual/manual-test-bot/pre-key-127.json +1 -0
  1028. package/test-sessions-manual/manual-test-bot/pre-key-128.json +1 -0
  1029. package/test-sessions-manual/manual-test-bot/pre-key-129.json +1 -0
  1030. package/test-sessions-manual/manual-test-bot/pre-key-13.json +1 -0
  1031. package/test-sessions-manual/manual-test-bot/pre-key-130.json +1 -0
  1032. package/test-sessions-manual/manual-test-bot/pre-key-131.json +1 -0
  1033. package/test-sessions-manual/manual-test-bot/pre-key-132.json +1 -0
  1034. package/test-sessions-manual/manual-test-bot/pre-key-133.json +1 -0
  1035. package/test-sessions-manual/manual-test-bot/pre-key-134.json +1 -0
  1036. package/test-sessions-manual/manual-test-bot/pre-key-135.json +1 -0
  1037. package/test-sessions-manual/manual-test-bot/pre-key-136.json +1 -0
  1038. package/test-sessions-manual/manual-test-bot/pre-key-137.json +1 -0
  1039. package/test-sessions-manual/manual-test-bot/pre-key-138.json +1 -0
  1040. package/test-sessions-manual/manual-test-bot/pre-key-139.json +1 -0
  1041. package/test-sessions-manual/manual-test-bot/pre-key-14.json +1 -0
  1042. package/test-sessions-manual/manual-test-bot/pre-key-140.json +1 -0
  1043. package/test-sessions-manual/manual-test-bot/pre-key-141.json +1 -0
  1044. package/test-sessions-manual/manual-test-bot/pre-key-142.json +1 -0
  1045. package/test-sessions-manual/manual-test-bot/pre-key-143.json +1 -0
  1046. package/test-sessions-manual/manual-test-bot/pre-key-144.json +1 -0
  1047. package/test-sessions-manual/manual-test-bot/pre-key-145.json +1 -0
  1048. package/test-sessions-manual/manual-test-bot/pre-key-146.json +1 -0
  1049. package/test-sessions-manual/manual-test-bot/pre-key-147.json +1 -0
  1050. package/test-sessions-manual/manual-test-bot/pre-key-148.json +1 -0
  1051. package/test-sessions-manual/manual-test-bot/pre-key-149.json +1 -0
  1052. package/test-sessions-manual/manual-test-bot/pre-key-15.json +1 -0
  1053. package/test-sessions-manual/manual-test-bot/pre-key-150.json +1 -0
  1054. package/test-sessions-manual/manual-test-bot/pre-key-151.json +1 -0
  1055. package/test-sessions-manual/manual-test-bot/pre-key-152.json +1 -0
  1056. package/test-sessions-manual/manual-test-bot/pre-key-153.json +1 -0
  1057. package/test-sessions-manual/manual-test-bot/pre-key-154.json +1 -0
  1058. package/test-sessions-manual/manual-test-bot/pre-key-155.json +1 -0
  1059. package/test-sessions-manual/manual-test-bot/pre-key-156.json +1 -0
  1060. package/test-sessions-manual/manual-test-bot/pre-key-157.json +1 -0
  1061. package/test-sessions-manual/manual-test-bot/pre-key-158.json +1 -0
  1062. package/test-sessions-manual/manual-test-bot/pre-key-159.json +1 -0
  1063. package/test-sessions-manual/manual-test-bot/pre-key-16.json +1 -0
  1064. package/test-sessions-manual/manual-test-bot/pre-key-160.json +1 -0
  1065. package/test-sessions-manual/manual-test-bot/pre-key-161.json +1 -0
  1066. package/test-sessions-manual/manual-test-bot/pre-key-162.json +1 -0
  1067. package/test-sessions-manual/manual-test-bot/pre-key-163.json +1 -0
  1068. package/test-sessions-manual/manual-test-bot/pre-key-164.json +1 -0
  1069. package/test-sessions-manual/manual-test-bot/pre-key-165.json +1 -0
  1070. package/test-sessions-manual/manual-test-bot/pre-key-166.json +1 -0
  1071. package/test-sessions-manual/manual-test-bot/pre-key-167.json +1 -0
  1072. package/test-sessions-manual/manual-test-bot/pre-key-168.json +1 -0
  1073. package/test-sessions-manual/manual-test-bot/pre-key-169.json +1 -0
  1074. package/test-sessions-manual/manual-test-bot/pre-key-17.json +1 -0
  1075. package/test-sessions-manual/manual-test-bot/pre-key-170.json +1 -0
  1076. package/test-sessions-manual/manual-test-bot/pre-key-171.json +1 -0
  1077. package/test-sessions-manual/manual-test-bot/pre-key-172.json +1 -0
  1078. package/test-sessions-manual/manual-test-bot/pre-key-173.json +1 -0
  1079. package/test-sessions-manual/manual-test-bot/pre-key-174.json +1 -0
  1080. package/test-sessions-manual/manual-test-bot/pre-key-175.json +1 -0
  1081. package/test-sessions-manual/manual-test-bot/pre-key-176.json +1 -0
  1082. package/test-sessions-manual/manual-test-bot/pre-key-177.json +1 -0
  1083. package/test-sessions-manual/manual-test-bot/pre-key-178.json +1 -0
  1084. package/test-sessions-manual/manual-test-bot/pre-key-179.json +1 -0
  1085. package/test-sessions-manual/manual-test-bot/pre-key-18.json +1 -0
  1086. package/test-sessions-manual/manual-test-bot/pre-key-180.json +1 -0
  1087. package/test-sessions-manual/manual-test-bot/pre-key-181.json +1 -0
  1088. package/test-sessions-manual/manual-test-bot/pre-key-182.json +1 -0
  1089. package/test-sessions-manual/manual-test-bot/pre-key-183.json +1 -0
  1090. package/test-sessions-manual/manual-test-bot/pre-key-184.json +1 -0
  1091. package/test-sessions-manual/manual-test-bot/pre-key-185.json +1 -0
  1092. package/test-sessions-manual/manual-test-bot/pre-key-186.json +1 -0
  1093. package/test-sessions-manual/manual-test-bot/pre-key-187.json +1 -0
  1094. package/test-sessions-manual/manual-test-bot/pre-key-188.json +1 -0
  1095. package/test-sessions-manual/manual-test-bot/pre-key-189.json +1 -0
  1096. package/test-sessions-manual/manual-test-bot/pre-key-19.json +1 -0
  1097. package/test-sessions-manual/manual-test-bot/pre-key-190.json +1 -0
  1098. package/test-sessions-manual/manual-test-bot/pre-key-191.json +1 -0
  1099. package/test-sessions-manual/manual-test-bot/pre-key-192.json +1 -0
  1100. package/test-sessions-manual/manual-test-bot/pre-key-193.json +1 -0
  1101. package/test-sessions-manual/manual-test-bot/pre-key-194.json +1 -0
  1102. package/test-sessions-manual/manual-test-bot/pre-key-195.json +1 -0
  1103. package/test-sessions-manual/manual-test-bot/pre-key-196.json +1 -0
  1104. package/test-sessions-manual/manual-test-bot/pre-key-197.json +1 -0
  1105. package/test-sessions-manual/manual-test-bot/pre-key-198.json +1 -0
  1106. package/test-sessions-manual/manual-test-bot/pre-key-199.json +1 -0
  1107. package/test-sessions-manual/manual-test-bot/pre-key-2.json +1 -0
  1108. package/test-sessions-manual/manual-test-bot/pre-key-20.json +1 -0
  1109. package/test-sessions-manual/manual-test-bot/pre-key-200.json +1 -0
  1110. package/test-sessions-manual/manual-test-bot/pre-key-201.json +1 -0
  1111. package/test-sessions-manual/manual-test-bot/pre-key-202.json +1 -0
  1112. package/test-sessions-manual/manual-test-bot/pre-key-203.json +1 -0
  1113. package/test-sessions-manual/manual-test-bot/pre-key-204.json +1 -0
  1114. package/test-sessions-manual/manual-test-bot/pre-key-205.json +1 -0
  1115. package/test-sessions-manual/manual-test-bot/pre-key-206.json +1 -0
  1116. package/test-sessions-manual/manual-test-bot/pre-key-207.json +1 -0
  1117. package/test-sessions-manual/manual-test-bot/pre-key-208.json +1 -0
  1118. package/test-sessions-manual/manual-test-bot/pre-key-209.json +1 -0
  1119. package/test-sessions-manual/manual-test-bot/pre-key-21.json +1 -0
  1120. package/test-sessions-manual/manual-test-bot/pre-key-210.json +1 -0
  1121. package/test-sessions-manual/manual-test-bot/pre-key-211.json +1 -0
  1122. package/test-sessions-manual/manual-test-bot/pre-key-212.json +1 -0
  1123. package/test-sessions-manual/manual-test-bot/pre-key-213.json +1 -0
  1124. package/test-sessions-manual/manual-test-bot/pre-key-214.json +1 -0
  1125. package/test-sessions-manual/manual-test-bot/pre-key-215.json +1 -0
  1126. package/test-sessions-manual/manual-test-bot/pre-key-216.json +1 -0
  1127. package/test-sessions-manual/manual-test-bot/pre-key-217.json +1 -0
  1128. package/test-sessions-manual/manual-test-bot/pre-key-218.json +1 -0
  1129. package/test-sessions-manual/manual-test-bot/pre-key-219.json +1 -0
  1130. package/test-sessions-manual/manual-test-bot/pre-key-22.json +1 -0
  1131. package/test-sessions-manual/manual-test-bot/pre-key-220.json +1 -0
  1132. package/test-sessions-manual/manual-test-bot/pre-key-221.json +1 -0
  1133. package/test-sessions-manual/manual-test-bot/pre-key-222.json +1 -0
  1134. package/test-sessions-manual/manual-test-bot/pre-key-223.json +1 -0
  1135. package/test-sessions-manual/manual-test-bot/pre-key-224.json +1 -0
  1136. package/test-sessions-manual/manual-test-bot/pre-key-225.json +1 -0
  1137. package/test-sessions-manual/manual-test-bot/pre-key-226.json +1 -0
  1138. package/test-sessions-manual/manual-test-bot/pre-key-227.json +1 -0
  1139. package/test-sessions-manual/manual-test-bot/pre-key-228.json +1 -0
  1140. package/test-sessions-manual/manual-test-bot/pre-key-229.json +1 -0
  1141. package/test-sessions-manual/manual-test-bot/pre-key-23.json +1 -0
  1142. package/test-sessions-manual/manual-test-bot/pre-key-230.json +1 -0
  1143. package/test-sessions-manual/manual-test-bot/pre-key-231.json +1 -0
  1144. package/test-sessions-manual/manual-test-bot/pre-key-232.json +1 -0
  1145. package/test-sessions-manual/manual-test-bot/pre-key-233.json +1 -0
  1146. package/test-sessions-manual/manual-test-bot/pre-key-234.json +1 -0
  1147. package/test-sessions-manual/manual-test-bot/pre-key-235.json +1 -0
  1148. package/test-sessions-manual/manual-test-bot/pre-key-236.json +1 -0
  1149. package/test-sessions-manual/manual-test-bot/pre-key-237.json +1 -0
  1150. package/test-sessions-manual/manual-test-bot/pre-key-238.json +1 -0
  1151. package/test-sessions-manual/manual-test-bot/pre-key-239.json +1 -0
  1152. package/test-sessions-manual/manual-test-bot/pre-key-24.json +1 -0
  1153. package/test-sessions-manual/manual-test-bot/pre-key-240.json +1 -0
  1154. package/test-sessions-manual/manual-test-bot/pre-key-241.json +1 -0
  1155. package/test-sessions-manual/manual-test-bot/pre-key-242.json +1 -0
  1156. package/test-sessions-manual/manual-test-bot/pre-key-243.json +1 -0
  1157. package/test-sessions-manual/manual-test-bot/pre-key-244.json +1 -0
  1158. package/test-sessions-manual/manual-test-bot/pre-key-245.json +1 -0
  1159. package/test-sessions-manual/manual-test-bot/pre-key-246.json +1 -0
  1160. package/test-sessions-manual/manual-test-bot/pre-key-247.json +1 -0
  1161. package/test-sessions-manual/manual-test-bot/pre-key-248.json +1 -0
  1162. package/test-sessions-manual/manual-test-bot/pre-key-249.json +1 -0
  1163. package/test-sessions-manual/manual-test-bot/pre-key-25.json +1 -0
  1164. package/test-sessions-manual/manual-test-bot/pre-key-250.json +1 -0
  1165. package/test-sessions-manual/manual-test-bot/pre-key-251.json +1 -0
  1166. package/test-sessions-manual/manual-test-bot/pre-key-252.json +1 -0
  1167. package/test-sessions-manual/manual-test-bot/pre-key-253.json +1 -0
  1168. package/test-sessions-manual/manual-test-bot/pre-key-254.json +1 -0
  1169. package/test-sessions-manual/manual-test-bot/pre-key-255.json +1 -0
  1170. package/test-sessions-manual/manual-test-bot/pre-key-256.json +1 -0
  1171. package/test-sessions-manual/manual-test-bot/pre-key-257.json +1 -0
  1172. package/test-sessions-manual/manual-test-bot/pre-key-258.json +1 -0
  1173. package/test-sessions-manual/manual-test-bot/pre-key-259.json +1 -0
  1174. package/test-sessions-manual/manual-test-bot/pre-key-26.json +1 -0
  1175. package/test-sessions-manual/manual-test-bot/pre-key-260.json +1 -0
  1176. package/test-sessions-manual/manual-test-bot/pre-key-261.json +1 -0
  1177. package/test-sessions-manual/manual-test-bot/pre-key-262.json +1 -0
  1178. package/test-sessions-manual/manual-test-bot/pre-key-263.json +1 -0
  1179. package/test-sessions-manual/manual-test-bot/pre-key-264.json +1 -0
  1180. package/test-sessions-manual/manual-test-bot/pre-key-265.json +1 -0
  1181. package/test-sessions-manual/manual-test-bot/pre-key-266.json +1 -0
  1182. package/test-sessions-manual/manual-test-bot/pre-key-267.json +1 -0
  1183. package/test-sessions-manual/manual-test-bot/pre-key-268.json +1 -0
  1184. package/test-sessions-manual/manual-test-bot/pre-key-269.json +1 -0
  1185. package/test-sessions-manual/manual-test-bot/pre-key-27.json +1 -0
  1186. package/test-sessions-manual/manual-test-bot/pre-key-270.json +1 -0
  1187. package/test-sessions-manual/manual-test-bot/pre-key-271.json +1 -0
  1188. package/test-sessions-manual/manual-test-bot/pre-key-272.json +1 -0
  1189. package/test-sessions-manual/manual-test-bot/pre-key-273.json +1 -0
  1190. package/test-sessions-manual/manual-test-bot/pre-key-274.json +1 -0
  1191. package/test-sessions-manual/manual-test-bot/pre-key-275.json +1 -0
  1192. package/test-sessions-manual/manual-test-bot/pre-key-276.json +1 -0
  1193. package/test-sessions-manual/manual-test-bot/pre-key-277.json +1 -0
  1194. package/test-sessions-manual/manual-test-bot/pre-key-278.json +1 -0
  1195. package/test-sessions-manual/manual-test-bot/pre-key-279.json +1 -0
  1196. package/test-sessions-manual/manual-test-bot/pre-key-28.json +1 -0
  1197. package/test-sessions-manual/manual-test-bot/pre-key-280.json +1 -0
  1198. package/test-sessions-manual/manual-test-bot/pre-key-281.json +1 -0
  1199. package/test-sessions-manual/manual-test-bot/pre-key-282.json +1 -0
  1200. package/test-sessions-manual/manual-test-bot/pre-key-283.json +1 -0
  1201. package/test-sessions-manual/manual-test-bot/pre-key-284.json +1 -0
  1202. package/test-sessions-manual/manual-test-bot/pre-key-285.json +1 -0
  1203. package/test-sessions-manual/manual-test-bot/pre-key-286.json +1 -0
  1204. package/test-sessions-manual/manual-test-bot/pre-key-287.json +1 -0
  1205. package/test-sessions-manual/manual-test-bot/pre-key-288.json +1 -0
  1206. package/test-sessions-manual/manual-test-bot/pre-key-289.json +1 -0
  1207. package/test-sessions-manual/manual-test-bot/pre-key-29.json +1 -0
  1208. package/test-sessions-manual/manual-test-bot/pre-key-290.json +1 -0
  1209. package/test-sessions-manual/manual-test-bot/pre-key-291.json +1 -0
  1210. package/test-sessions-manual/manual-test-bot/pre-key-292.json +1 -0
  1211. package/test-sessions-manual/manual-test-bot/pre-key-293.json +1 -0
  1212. package/test-sessions-manual/manual-test-bot/pre-key-294.json +1 -0
  1213. package/test-sessions-manual/manual-test-bot/pre-key-295.json +1 -0
  1214. package/test-sessions-manual/manual-test-bot/pre-key-296.json +1 -0
  1215. package/test-sessions-manual/manual-test-bot/pre-key-297.json +1 -0
  1216. package/test-sessions-manual/manual-test-bot/pre-key-298.json +1 -0
  1217. package/test-sessions-manual/manual-test-bot/pre-key-299.json +1 -0
  1218. package/test-sessions-manual/manual-test-bot/pre-key-3.json +1 -0
  1219. package/test-sessions-manual/manual-test-bot/pre-key-30.json +1 -0
  1220. package/test-sessions-manual/manual-test-bot/pre-key-300.json +1 -0
  1221. package/test-sessions-manual/manual-test-bot/pre-key-301.json +1 -0
  1222. package/test-sessions-manual/manual-test-bot/pre-key-302.json +1 -0
  1223. package/test-sessions-manual/manual-test-bot/pre-key-303.json +1 -0
  1224. package/test-sessions-manual/manual-test-bot/pre-key-304.json +1 -0
  1225. package/test-sessions-manual/manual-test-bot/pre-key-305.json +1 -0
  1226. package/test-sessions-manual/manual-test-bot/pre-key-306.json +1 -0
  1227. package/test-sessions-manual/manual-test-bot/pre-key-307.json +1 -0
  1228. package/test-sessions-manual/manual-test-bot/pre-key-308.json +1 -0
  1229. package/test-sessions-manual/manual-test-bot/pre-key-309.json +1 -0
  1230. package/test-sessions-manual/manual-test-bot/pre-key-31.json +1 -0
  1231. package/test-sessions-manual/manual-test-bot/pre-key-310.json +1 -0
  1232. package/test-sessions-manual/manual-test-bot/pre-key-311.json +1 -0
  1233. package/test-sessions-manual/manual-test-bot/pre-key-312.json +1 -0
  1234. package/test-sessions-manual/manual-test-bot/pre-key-313.json +1 -0
  1235. package/test-sessions-manual/manual-test-bot/pre-key-314.json +1 -0
  1236. package/test-sessions-manual/manual-test-bot/pre-key-315.json +1 -0
  1237. package/test-sessions-manual/manual-test-bot/pre-key-316.json +1 -0
  1238. package/test-sessions-manual/manual-test-bot/pre-key-317.json +1 -0
  1239. package/test-sessions-manual/manual-test-bot/pre-key-318.json +1 -0
  1240. package/test-sessions-manual/manual-test-bot/pre-key-319.json +1 -0
  1241. package/test-sessions-manual/manual-test-bot/pre-key-32.json +1 -0
  1242. package/test-sessions-manual/manual-test-bot/pre-key-320.json +1 -0
  1243. package/test-sessions-manual/manual-test-bot/pre-key-321.json +1 -0
  1244. package/test-sessions-manual/manual-test-bot/pre-key-322.json +1 -0
  1245. package/test-sessions-manual/manual-test-bot/pre-key-323.json +1 -0
  1246. package/test-sessions-manual/manual-test-bot/pre-key-324.json +1 -0
  1247. package/test-sessions-manual/manual-test-bot/pre-key-325.json +1 -0
  1248. package/test-sessions-manual/manual-test-bot/pre-key-326.json +1 -0
  1249. package/test-sessions-manual/manual-test-bot/pre-key-327.json +1 -0
  1250. package/test-sessions-manual/manual-test-bot/pre-key-328.json +1 -0
  1251. package/test-sessions-manual/manual-test-bot/pre-key-329.json +1 -0
  1252. package/test-sessions-manual/manual-test-bot/pre-key-33.json +1 -0
  1253. package/test-sessions-manual/manual-test-bot/pre-key-330.json +1 -0
  1254. package/test-sessions-manual/manual-test-bot/pre-key-331.json +1 -0
  1255. package/test-sessions-manual/manual-test-bot/pre-key-332.json +1 -0
  1256. package/test-sessions-manual/manual-test-bot/pre-key-333.json +1 -0
  1257. package/test-sessions-manual/manual-test-bot/pre-key-334.json +1 -0
  1258. package/test-sessions-manual/manual-test-bot/pre-key-335.json +1 -0
  1259. package/test-sessions-manual/manual-test-bot/pre-key-336.json +1 -0
  1260. package/test-sessions-manual/manual-test-bot/pre-key-337.json +1 -0
  1261. package/test-sessions-manual/manual-test-bot/pre-key-338.json +1 -0
  1262. package/test-sessions-manual/manual-test-bot/pre-key-339.json +1 -0
  1263. package/test-sessions-manual/manual-test-bot/pre-key-34.json +1 -0
  1264. package/test-sessions-manual/manual-test-bot/pre-key-340.json +1 -0
  1265. package/test-sessions-manual/manual-test-bot/pre-key-341.json +1 -0
  1266. package/test-sessions-manual/manual-test-bot/pre-key-342.json +1 -0
  1267. package/test-sessions-manual/manual-test-bot/pre-key-343.json +1 -0
  1268. package/test-sessions-manual/manual-test-bot/pre-key-344.json +1 -0
  1269. package/test-sessions-manual/manual-test-bot/pre-key-345.json +1 -0
  1270. package/test-sessions-manual/manual-test-bot/pre-key-346.json +1 -0
  1271. package/test-sessions-manual/manual-test-bot/pre-key-347.json +1 -0
  1272. package/test-sessions-manual/manual-test-bot/pre-key-348.json +1 -0
  1273. package/test-sessions-manual/manual-test-bot/pre-key-349.json +1 -0
  1274. package/test-sessions-manual/manual-test-bot/pre-key-35.json +1 -0
  1275. package/test-sessions-manual/manual-test-bot/pre-key-350.json +1 -0
  1276. package/test-sessions-manual/manual-test-bot/pre-key-351.json +1 -0
  1277. package/test-sessions-manual/manual-test-bot/pre-key-352.json +1 -0
  1278. package/test-sessions-manual/manual-test-bot/pre-key-353.json +1 -0
  1279. package/test-sessions-manual/manual-test-bot/pre-key-354.json +1 -0
  1280. package/test-sessions-manual/manual-test-bot/pre-key-355.json +1 -0
  1281. package/test-sessions-manual/manual-test-bot/pre-key-356.json +1 -0
  1282. package/test-sessions-manual/manual-test-bot/pre-key-357.json +1 -0
  1283. package/test-sessions-manual/manual-test-bot/pre-key-358.json +1 -0
  1284. package/test-sessions-manual/manual-test-bot/pre-key-359.json +1 -0
  1285. package/test-sessions-manual/manual-test-bot/pre-key-36.json +1 -0
  1286. package/test-sessions-manual/manual-test-bot/pre-key-360.json +1 -0
  1287. package/test-sessions-manual/manual-test-bot/pre-key-361.json +1 -0
  1288. package/test-sessions-manual/manual-test-bot/pre-key-362.json +1 -0
  1289. package/test-sessions-manual/manual-test-bot/pre-key-363.json +1 -0
  1290. package/test-sessions-manual/manual-test-bot/pre-key-364.json +1 -0
  1291. package/test-sessions-manual/manual-test-bot/pre-key-365.json +1 -0
  1292. package/test-sessions-manual/manual-test-bot/pre-key-366.json +1 -0
  1293. package/test-sessions-manual/manual-test-bot/pre-key-367.json +1 -0
  1294. package/test-sessions-manual/manual-test-bot/pre-key-368.json +1 -0
  1295. package/test-sessions-manual/manual-test-bot/pre-key-369.json +1 -0
  1296. package/test-sessions-manual/manual-test-bot/pre-key-37.json +1 -0
  1297. package/test-sessions-manual/manual-test-bot/pre-key-370.json +1 -0
  1298. package/test-sessions-manual/manual-test-bot/pre-key-371.json +1 -0
  1299. package/test-sessions-manual/manual-test-bot/pre-key-372.json +1 -0
  1300. package/test-sessions-manual/manual-test-bot/pre-key-373.json +1 -0
  1301. package/test-sessions-manual/manual-test-bot/pre-key-374.json +1 -0
  1302. package/test-sessions-manual/manual-test-bot/pre-key-375.json +1 -0
  1303. package/test-sessions-manual/manual-test-bot/pre-key-376.json +1 -0
  1304. package/test-sessions-manual/manual-test-bot/pre-key-377.json +1 -0
  1305. package/test-sessions-manual/manual-test-bot/pre-key-378.json +1 -0
  1306. package/test-sessions-manual/manual-test-bot/pre-key-379.json +1 -0
  1307. package/test-sessions-manual/manual-test-bot/pre-key-38.json +1 -0
  1308. package/test-sessions-manual/manual-test-bot/pre-key-380.json +1 -0
  1309. package/test-sessions-manual/manual-test-bot/pre-key-381.json +1 -0
  1310. package/test-sessions-manual/manual-test-bot/pre-key-382.json +1 -0
  1311. package/test-sessions-manual/manual-test-bot/pre-key-383.json +1 -0
  1312. package/test-sessions-manual/manual-test-bot/pre-key-384.json +1 -0
  1313. package/test-sessions-manual/manual-test-bot/pre-key-385.json +1 -0
  1314. package/test-sessions-manual/manual-test-bot/pre-key-386.json +1 -0
  1315. package/test-sessions-manual/manual-test-bot/pre-key-387.json +1 -0
  1316. package/test-sessions-manual/manual-test-bot/pre-key-388.json +1 -0
  1317. package/test-sessions-manual/manual-test-bot/pre-key-389.json +1 -0
  1318. package/test-sessions-manual/manual-test-bot/pre-key-39.json +1 -0
  1319. package/test-sessions-manual/manual-test-bot/pre-key-390.json +1 -0
  1320. package/test-sessions-manual/manual-test-bot/pre-key-391.json +1 -0
  1321. package/test-sessions-manual/manual-test-bot/pre-key-392.json +1 -0
  1322. package/test-sessions-manual/manual-test-bot/pre-key-393.json +1 -0
  1323. package/test-sessions-manual/manual-test-bot/pre-key-394.json +1 -0
  1324. package/test-sessions-manual/manual-test-bot/pre-key-395.json +1 -0
  1325. package/test-sessions-manual/manual-test-bot/pre-key-396.json +1 -0
  1326. package/test-sessions-manual/manual-test-bot/pre-key-397.json +1 -0
  1327. package/test-sessions-manual/manual-test-bot/pre-key-398.json +1 -0
  1328. package/test-sessions-manual/manual-test-bot/pre-key-399.json +1 -0
  1329. package/test-sessions-manual/manual-test-bot/pre-key-4.json +1 -0
  1330. package/test-sessions-manual/manual-test-bot/pre-key-40.json +1 -0
  1331. package/test-sessions-manual/manual-test-bot/pre-key-400.json +1 -0
  1332. package/test-sessions-manual/manual-test-bot/pre-key-401.json +1 -0
  1333. package/test-sessions-manual/manual-test-bot/pre-key-402.json +1 -0
  1334. package/test-sessions-manual/manual-test-bot/pre-key-403.json +1 -0
  1335. package/test-sessions-manual/manual-test-bot/pre-key-404.json +1 -0
  1336. package/test-sessions-manual/manual-test-bot/pre-key-405.json +1 -0
  1337. package/test-sessions-manual/manual-test-bot/pre-key-406.json +1 -0
  1338. package/test-sessions-manual/manual-test-bot/pre-key-407.json +1 -0
  1339. package/test-sessions-manual/manual-test-bot/pre-key-408.json +1 -0
  1340. package/test-sessions-manual/manual-test-bot/pre-key-409.json +1 -0
  1341. package/test-sessions-manual/manual-test-bot/pre-key-41.json +1 -0
  1342. package/test-sessions-manual/manual-test-bot/pre-key-410.json +1 -0
  1343. package/test-sessions-manual/manual-test-bot/pre-key-411.json +1 -0
  1344. package/test-sessions-manual/manual-test-bot/pre-key-412.json +1 -0
  1345. package/test-sessions-manual/manual-test-bot/pre-key-413.json +1 -0
  1346. package/test-sessions-manual/manual-test-bot/pre-key-414.json +1 -0
  1347. package/test-sessions-manual/manual-test-bot/pre-key-415.json +1 -0
  1348. package/test-sessions-manual/manual-test-bot/pre-key-416.json +1 -0
  1349. package/test-sessions-manual/manual-test-bot/pre-key-417.json +1 -0
  1350. package/test-sessions-manual/manual-test-bot/pre-key-418.json +1 -0
  1351. package/test-sessions-manual/manual-test-bot/pre-key-419.json +1 -0
  1352. package/test-sessions-manual/manual-test-bot/pre-key-42.json +1 -0
  1353. package/test-sessions-manual/manual-test-bot/pre-key-420.json +1 -0
  1354. package/test-sessions-manual/manual-test-bot/pre-key-421.json +1 -0
  1355. package/test-sessions-manual/manual-test-bot/pre-key-422.json +1 -0
  1356. package/test-sessions-manual/manual-test-bot/pre-key-423.json +1 -0
  1357. package/test-sessions-manual/manual-test-bot/pre-key-424.json +1 -0
  1358. package/test-sessions-manual/manual-test-bot/pre-key-425.json +1 -0
  1359. package/test-sessions-manual/manual-test-bot/pre-key-426.json +1 -0
  1360. package/test-sessions-manual/manual-test-bot/pre-key-427.json +1 -0
  1361. package/test-sessions-manual/manual-test-bot/pre-key-428.json +1 -0
  1362. package/test-sessions-manual/manual-test-bot/pre-key-429.json +1 -0
  1363. package/test-sessions-manual/manual-test-bot/pre-key-43.json +1 -0
  1364. package/test-sessions-manual/manual-test-bot/pre-key-430.json +1 -0
  1365. package/test-sessions-manual/manual-test-bot/pre-key-431.json +1 -0
  1366. package/test-sessions-manual/manual-test-bot/pre-key-432.json +1 -0
  1367. package/test-sessions-manual/manual-test-bot/pre-key-433.json +1 -0
  1368. package/test-sessions-manual/manual-test-bot/pre-key-434.json +1 -0
  1369. package/test-sessions-manual/manual-test-bot/pre-key-435.json +1 -0
  1370. package/test-sessions-manual/manual-test-bot/pre-key-436.json +1 -0
  1371. package/test-sessions-manual/manual-test-bot/pre-key-437.json +1 -0
  1372. package/test-sessions-manual/manual-test-bot/pre-key-438.json +1 -0
  1373. package/test-sessions-manual/manual-test-bot/pre-key-439.json +1 -0
  1374. package/test-sessions-manual/manual-test-bot/pre-key-44.json +1 -0
  1375. package/test-sessions-manual/manual-test-bot/pre-key-440.json +1 -0
  1376. package/test-sessions-manual/manual-test-bot/pre-key-441.json +1 -0
  1377. package/test-sessions-manual/manual-test-bot/pre-key-442.json +1 -0
  1378. package/test-sessions-manual/manual-test-bot/pre-key-443.json +1 -0
  1379. package/test-sessions-manual/manual-test-bot/pre-key-444.json +1 -0
  1380. package/test-sessions-manual/manual-test-bot/pre-key-445.json +1 -0
  1381. package/test-sessions-manual/manual-test-bot/pre-key-446.json +1 -0
  1382. package/test-sessions-manual/manual-test-bot/pre-key-447.json +1 -0
  1383. package/test-sessions-manual/manual-test-bot/pre-key-448.json +1 -0
  1384. package/test-sessions-manual/manual-test-bot/pre-key-449.json +1 -0
  1385. package/test-sessions-manual/manual-test-bot/pre-key-45.json +1 -0
  1386. package/test-sessions-manual/manual-test-bot/pre-key-450.json +1 -0
  1387. package/test-sessions-manual/manual-test-bot/pre-key-451.json +1 -0
  1388. package/test-sessions-manual/manual-test-bot/pre-key-452.json +1 -0
  1389. package/test-sessions-manual/manual-test-bot/pre-key-453.json +1 -0
  1390. package/test-sessions-manual/manual-test-bot/pre-key-454.json +1 -0
  1391. package/test-sessions-manual/manual-test-bot/pre-key-455.json +1 -0
  1392. package/test-sessions-manual/manual-test-bot/pre-key-456.json +1 -0
  1393. package/test-sessions-manual/manual-test-bot/pre-key-457.json +1 -0
  1394. package/test-sessions-manual/manual-test-bot/pre-key-458.json +1 -0
  1395. package/test-sessions-manual/manual-test-bot/pre-key-459.json +1 -0
  1396. package/test-sessions-manual/manual-test-bot/pre-key-46.json +1 -0
  1397. package/test-sessions-manual/manual-test-bot/pre-key-460.json +1 -0
  1398. package/test-sessions-manual/manual-test-bot/pre-key-461.json +1 -0
  1399. package/test-sessions-manual/manual-test-bot/pre-key-462.json +1 -0
  1400. package/test-sessions-manual/manual-test-bot/pre-key-463.json +1 -0
  1401. package/test-sessions-manual/manual-test-bot/pre-key-464.json +1 -0
  1402. package/test-sessions-manual/manual-test-bot/pre-key-465.json +1 -0
  1403. package/test-sessions-manual/manual-test-bot/pre-key-466.json +1 -0
  1404. package/test-sessions-manual/manual-test-bot/pre-key-467.json +1 -0
  1405. package/test-sessions-manual/manual-test-bot/pre-key-468.json +1 -0
  1406. package/test-sessions-manual/manual-test-bot/pre-key-469.json +1 -0
  1407. package/test-sessions-manual/manual-test-bot/pre-key-47.json +1 -0
  1408. package/test-sessions-manual/manual-test-bot/pre-key-470.json +1 -0
  1409. package/test-sessions-manual/manual-test-bot/pre-key-471.json +1 -0
  1410. package/test-sessions-manual/manual-test-bot/pre-key-472.json +1 -0
  1411. package/test-sessions-manual/manual-test-bot/pre-key-473.json +1 -0
  1412. package/test-sessions-manual/manual-test-bot/pre-key-474.json +1 -0
  1413. package/test-sessions-manual/manual-test-bot/pre-key-475.json +1 -0
  1414. package/test-sessions-manual/manual-test-bot/pre-key-476.json +1 -0
  1415. package/test-sessions-manual/manual-test-bot/pre-key-477.json +1 -0
  1416. package/test-sessions-manual/manual-test-bot/pre-key-478.json +1 -0
  1417. package/test-sessions-manual/manual-test-bot/pre-key-479.json +1 -0
  1418. package/test-sessions-manual/manual-test-bot/pre-key-48.json +1 -0
  1419. package/test-sessions-manual/manual-test-bot/pre-key-480.json +1 -0
  1420. package/test-sessions-manual/manual-test-bot/pre-key-481.json +1 -0
  1421. package/test-sessions-manual/manual-test-bot/pre-key-482.json +1 -0
  1422. package/test-sessions-manual/manual-test-bot/pre-key-483.json +1 -0
  1423. package/test-sessions-manual/manual-test-bot/pre-key-484.json +1 -0
  1424. package/test-sessions-manual/manual-test-bot/pre-key-485.json +1 -0
  1425. package/test-sessions-manual/manual-test-bot/pre-key-486.json +1 -0
  1426. package/test-sessions-manual/manual-test-bot/pre-key-487.json +1 -0
  1427. package/test-sessions-manual/manual-test-bot/pre-key-488.json +1 -0
  1428. package/test-sessions-manual/manual-test-bot/pre-key-489.json +1 -0
  1429. package/test-sessions-manual/manual-test-bot/pre-key-49.json +1 -0
  1430. package/test-sessions-manual/manual-test-bot/pre-key-490.json +1 -0
  1431. package/test-sessions-manual/manual-test-bot/pre-key-491.json +1 -0
  1432. package/test-sessions-manual/manual-test-bot/pre-key-492.json +1 -0
  1433. package/test-sessions-manual/manual-test-bot/pre-key-493.json +1 -0
  1434. package/test-sessions-manual/manual-test-bot/pre-key-494.json +1 -0
  1435. package/test-sessions-manual/manual-test-bot/pre-key-495.json +1 -0
  1436. package/test-sessions-manual/manual-test-bot/pre-key-496.json +1 -0
  1437. package/test-sessions-manual/manual-test-bot/pre-key-497.json +1 -0
  1438. package/test-sessions-manual/manual-test-bot/pre-key-498.json +1 -0
  1439. package/test-sessions-manual/manual-test-bot/pre-key-499.json +1 -0
  1440. package/test-sessions-manual/manual-test-bot/pre-key-5.json +1 -0
  1441. package/test-sessions-manual/manual-test-bot/pre-key-50.json +1 -0
  1442. package/test-sessions-manual/manual-test-bot/pre-key-500.json +1 -0
  1443. package/test-sessions-manual/manual-test-bot/pre-key-501.json +1 -0
  1444. package/test-sessions-manual/manual-test-bot/pre-key-502.json +1 -0
  1445. package/test-sessions-manual/manual-test-bot/pre-key-503.json +1 -0
  1446. package/test-sessions-manual/manual-test-bot/pre-key-504.json +1 -0
  1447. package/test-sessions-manual/manual-test-bot/pre-key-505.json +1 -0
  1448. package/test-sessions-manual/manual-test-bot/pre-key-506.json +1 -0
  1449. package/test-sessions-manual/manual-test-bot/pre-key-507.json +1 -0
  1450. package/test-sessions-manual/manual-test-bot/pre-key-508.json +1 -0
  1451. package/test-sessions-manual/manual-test-bot/pre-key-509.json +1 -0
  1452. package/test-sessions-manual/manual-test-bot/pre-key-51.json +1 -0
  1453. package/test-sessions-manual/manual-test-bot/pre-key-510.json +1 -0
  1454. package/test-sessions-manual/manual-test-bot/pre-key-511.json +1 -0
  1455. package/test-sessions-manual/manual-test-bot/pre-key-512.json +1 -0
  1456. package/test-sessions-manual/manual-test-bot/pre-key-513.json +1 -0
  1457. package/test-sessions-manual/manual-test-bot/pre-key-514.json +1 -0
  1458. package/test-sessions-manual/manual-test-bot/pre-key-515.json +1 -0
  1459. package/test-sessions-manual/manual-test-bot/pre-key-516.json +1 -0
  1460. package/test-sessions-manual/manual-test-bot/pre-key-517.json +1 -0
  1461. package/test-sessions-manual/manual-test-bot/pre-key-518.json +1 -0
  1462. package/test-sessions-manual/manual-test-bot/pre-key-519.json +1 -0
  1463. package/test-sessions-manual/manual-test-bot/pre-key-52.json +1 -0
  1464. package/test-sessions-manual/manual-test-bot/pre-key-520.json +1 -0
  1465. package/test-sessions-manual/manual-test-bot/pre-key-521.json +1 -0
  1466. package/test-sessions-manual/manual-test-bot/pre-key-522.json +1 -0
  1467. package/test-sessions-manual/manual-test-bot/pre-key-523.json +1 -0
  1468. package/test-sessions-manual/manual-test-bot/pre-key-524.json +1 -0
  1469. package/test-sessions-manual/manual-test-bot/pre-key-525.json +1 -0
  1470. package/test-sessions-manual/manual-test-bot/pre-key-526.json +1 -0
  1471. package/test-sessions-manual/manual-test-bot/pre-key-527.json +1 -0
  1472. package/test-sessions-manual/manual-test-bot/pre-key-528.json +1 -0
  1473. package/test-sessions-manual/manual-test-bot/pre-key-529.json +1 -0
  1474. package/test-sessions-manual/manual-test-bot/pre-key-53.json +1 -0
  1475. package/test-sessions-manual/manual-test-bot/pre-key-530.json +1 -0
  1476. package/test-sessions-manual/manual-test-bot/pre-key-531.json +1 -0
  1477. package/test-sessions-manual/manual-test-bot/pre-key-532.json +1 -0
  1478. package/test-sessions-manual/manual-test-bot/pre-key-533.json +1 -0
  1479. package/test-sessions-manual/manual-test-bot/pre-key-534.json +1 -0
  1480. package/test-sessions-manual/manual-test-bot/pre-key-535.json +1 -0
  1481. package/test-sessions-manual/manual-test-bot/pre-key-536.json +1 -0
  1482. package/test-sessions-manual/manual-test-bot/pre-key-537.json +1 -0
  1483. package/test-sessions-manual/manual-test-bot/pre-key-538.json +1 -0
  1484. package/test-sessions-manual/manual-test-bot/pre-key-539.json +1 -0
  1485. package/test-sessions-manual/manual-test-bot/pre-key-54.json +1 -0
  1486. package/test-sessions-manual/manual-test-bot/pre-key-540.json +1 -0
  1487. package/test-sessions-manual/manual-test-bot/pre-key-541.json +1 -0
  1488. package/test-sessions-manual/manual-test-bot/pre-key-542.json +1 -0
  1489. package/test-sessions-manual/manual-test-bot/pre-key-543.json +1 -0
  1490. package/test-sessions-manual/manual-test-bot/pre-key-544.json +1 -0
  1491. package/test-sessions-manual/manual-test-bot/pre-key-545.json +1 -0
  1492. package/test-sessions-manual/manual-test-bot/pre-key-546.json +1 -0
  1493. package/test-sessions-manual/manual-test-bot/pre-key-547.json +1 -0
  1494. package/test-sessions-manual/manual-test-bot/pre-key-548.json +1 -0
  1495. package/test-sessions-manual/manual-test-bot/pre-key-549.json +1 -0
  1496. package/test-sessions-manual/manual-test-bot/pre-key-55.json +1 -0
  1497. package/test-sessions-manual/manual-test-bot/pre-key-550.json +1 -0
  1498. package/test-sessions-manual/manual-test-bot/pre-key-551.json +1 -0
  1499. package/test-sessions-manual/manual-test-bot/pre-key-552.json +1 -0
  1500. package/test-sessions-manual/manual-test-bot/pre-key-553.json +1 -0
  1501. package/test-sessions-manual/manual-test-bot/pre-key-554.json +1 -0
  1502. package/test-sessions-manual/manual-test-bot/pre-key-555.json +1 -0
  1503. package/test-sessions-manual/manual-test-bot/pre-key-556.json +1 -0
  1504. package/test-sessions-manual/manual-test-bot/pre-key-557.json +1 -0
  1505. package/test-sessions-manual/manual-test-bot/pre-key-558.json +1 -0
  1506. package/test-sessions-manual/manual-test-bot/pre-key-559.json +1 -0
  1507. package/test-sessions-manual/manual-test-bot/pre-key-56.json +1 -0
  1508. package/test-sessions-manual/manual-test-bot/pre-key-560.json +1 -0
  1509. package/test-sessions-manual/manual-test-bot/pre-key-561.json +1 -0
  1510. package/test-sessions-manual/manual-test-bot/pre-key-562.json +1 -0
  1511. package/test-sessions-manual/manual-test-bot/pre-key-563.json +1 -0
  1512. package/test-sessions-manual/manual-test-bot/pre-key-564.json +1 -0
  1513. package/test-sessions-manual/manual-test-bot/pre-key-565.json +1 -0
  1514. package/test-sessions-manual/manual-test-bot/pre-key-566.json +1 -0
  1515. package/test-sessions-manual/manual-test-bot/pre-key-567.json +1 -0
  1516. package/test-sessions-manual/manual-test-bot/pre-key-568.json +1 -0
  1517. package/test-sessions-manual/manual-test-bot/pre-key-569.json +1 -0
  1518. package/test-sessions-manual/manual-test-bot/pre-key-57.json +1 -0
  1519. package/test-sessions-manual/manual-test-bot/pre-key-570.json +1 -0
  1520. package/test-sessions-manual/manual-test-bot/pre-key-571.json +1 -0
  1521. package/test-sessions-manual/manual-test-bot/pre-key-572.json +1 -0
  1522. package/test-sessions-manual/manual-test-bot/pre-key-573.json +1 -0
  1523. package/test-sessions-manual/manual-test-bot/pre-key-574.json +1 -0
  1524. package/test-sessions-manual/manual-test-bot/pre-key-575.json +1 -0
  1525. package/test-sessions-manual/manual-test-bot/pre-key-576.json +1 -0
  1526. package/test-sessions-manual/manual-test-bot/pre-key-577.json +1 -0
  1527. package/test-sessions-manual/manual-test-bot/pre-key-578.json +1 -0
  1528. package/test-sessions-manual/manual-test-bot/pre-key-579.json +1 -0
  1529. package/test-sessions-manual/manual-test-bot/pre-key-58.json +1 -0
  1530. package/test-sessions-manual/manual-test-bot/pre-key-580.json +1 -0
  1531. package/test-sessions-manual/manual-test-bot/pre-key-581.json +1 -0
  1532. package/test-sessions-manual/manual-test-bot/pre-key-582.json +1 -0
  1533. package/test-sessions-manual/manual-test-bot/pre-key-583.json +1 -0
  1534. package/test-sessions-manual/manual-test-bot/pre-key-584.json +1 -0
  1535. package/test-sessions-manual/manual-test-bot/pre-key-585.json +1 -0
  1536. package/test-sessions-manual/manual-test-bot/pre-key-586.json +1 -0
  1537. package/test-sessions-manual/manual-test-bot/pre-key-587.json +1 -0
  1538. package/test-sessions-manual/manual-test-bot/pre-key-588.json +1 -0
  1539. package/test-sessions-manual/manual-test-bot/pre-key-589.json +1 -0
  1540. package/test-sessions-manual/manual-test-bot/pre-key-59.json +1 -0
  1541. package/test-sessions-manual/manual-test-bot/pre-key-590.json +1 -0
  1542. package/test-sessions-manual/manual-test-bot/pre-key-591.json +1 -0
  1543. package/test-sessions-manual/manual-test-bot/pre-key-592.json +1 -0
  1544. package/test-sessions-manual/manual-test-bot/pre-key-593.json +1 -0
  1545. package/test-sessions-manual/manual-test-bot/pre-key-594.json +1 -0
  1546. package/test-sessions-manual/manual-test-bot/pre-key-595.json +1 -0
  1547. package/test-sessions-manual/manual-test-bot/pre-key-596.json +1 -0
  1548. package/test-sessions-manual/manual-test-bot/pre-key-597.json +1 -0
  1549. package/test-sessions-manual/manual-test-bot/pre-key-598.json +1 -0
  1550. package/test-sessions-manual/manual-test-bot/pre-key-599.json +1 -0
  1551. package/test-sessions-manual/manual-test-bot/pre-key-6.json +1 -0
  1552. package/test-sessions-manual/manual-test-bot/pre-key-60.json +1 -0
  1553. package/test-sessions-manual/manual-test-bot/pre-key-600.json +1 -0
  1554. package/test-sessions-manual/manual-test-bot/pre-key-601.json +1 -0
  1555. package/test-sessions-manual/manual-test-bot/pre-key-602.json +1 -0
  1556. package/test-sessions-manual/manual-test-bot/pre-key-603.json +1 -0
  1557. package/test-sessions-manual/manual-test-bot/pre-key-604.json +1 -0
  1558. package/test-sessions-manual/manual-test-bot/pre-key-605.json +1 -0
  1559. package/test-sessions-manual/manual-test-bot/pre-key-606.json +1 -0
  1560. package/test-sessions-manual/manual-test-bot/pre-key-607.json +1 -0
  1561. package/test-sessions-manual/manual-test-bot/pre-key-608.json +1 -0
  1562. package/test-sessions-manual/manual-test-bot/pre-key-609.json +1 -0
  1563. package/test-sessions-manual/manual-test-bot/pre-key-61.json +1 -0
  1564. package/test-sessions-manual/manual-test-bot/pre-key-610.json +1 -0
  1565. package/test-sessions-manual/manual-test-bot/pre-key-611.json +1 -0
  1566. package/test-sessions-manual/manual-test-bot/pre-key-612.json +1 -0
  1567. package/test-sessions-manual/manual-test-bot/pre-key-613.json +1 -0
  1568. package/test-sessions-manual/manual-test-bot/pre-key-614.json +1 -0
  1569. package/test-sessions-manual/manual-test-bot/pre-key-615.json +1 -0
  1570. package/test-sessions-manual/manual-test-bot/pre-key-616.json +1 -0
  1571. package/test-sessions-manual/manual-test-bot/pre-key-617.json +1 -0
  1572. package/test-sessions-manual/manual-test-bot/pre-key-618.json +1 -0
  1573. package/test-sessions-manual/manual-test-bot/pre-key-619.json +1 -0
  1574. package/test-sessions-manual/manual-test-bot/pre-key-62.json +1 -0
  1575. package/test-sessions-manual/manual-test-bot/pre-key-620.json +1 -0
  1576. package/test-sessions-manual/manual-test-bot/pre-key-621.json +1 -0
  1577. package/test-sessions-manual/manual-test-bot/pre-key-622.json +1 -0
  1578. package/test-sessions-manual/manual-test-bot/pre-key-623.json +1 -0
  1579. package/test-sessions-manual/manual-test-bot/pre-key-624.json +1 -0
  1580. package/test-sessions-manual/manual-test-bot/pre-key-625.json +1 -0
  1581. package/test-sessions-manual/manual-test-bot/pre-key-626.json +1 -0
  1582. package/test-sessions-manual/manual-test-bot/pre-key-627.json +1 -0
  1583. package/test-sessions-manual/manual-test-bot/pre-key-628.json +1 -0
  1584. package/test-sessions-manual/manual-test-bot/pre-key-629.json +1 -0
  1585. package/test-sessions-manual/manual-test-bot/pre-key-63.json +1 -0
  1586. package/test-sessions-manual/manual-test-bot/pre-key-630.json +1 -0
  1587. package/test-sessions-manual/manual-test-bot/pre-key-631.json +1 -0
  1588. package/test-sessions-manual/manual-test-bot/pre-key-632.json +1 -0
  1589. package/test-sessions-manual/manual-test-bot/pre-key-633.json +1 -0
  1590. package/test-sessions-manual/manual-test-bot/pre-key-634.json +1 -0
  1591. package/test-sessions-manual/manual-test-bot/pre-key-635.json +1 -0
  1592. package/test-sessions-manual/manual-test-bot/pre-key-636.json +1 -0
  1593. package/test-sessions-manual/manual-test-bot/pre-key-637.json +1 -0
  1594. package/test-sessions-manual/manual-test-bot/pre-key-638.json +1 -0
  1595. package/test-sessions-manual/manual-test-bot/pre-key-639.json +1 -0
  1596. package/test-sessions-manual/manual-test-bot/pre-key-64.json +1 -0
  1597. package/test-sessions-manual/manual-test-bot/pre-key-640.json +1 -0
  1598. package/test-sessions-manual/manual-test-bot/pre-key-641.json +1 -0
  1599. package/test-sessions-manual/manual-test-bot/pre-key-642.json +1 -0
  1600. package/test-sessions-manual/manual-test-bot/pre-key-643.json +1 -0
  1601. package/test-sessions-manual/manual-test-bot/pre-key-644.json +1 -0
  1602. package/test-sessions-manual/manual-test-bot/pre-key-645.json +1 -0
  1603. package/test-sessions-manual/manual-test-bot/pre-key-646.json +1 -0
  1604. package/test-sessions-manual/manual-test-bot/pre-key-647.json +1 -0
  1605. package/test-sessions-manual/manual-test-bot/pre-key-648.json +1 -0
  1606. package/test-sessions-manual/manual-test-bot/pre-key-649.json +1 -0
  1607. package/test-sessions-manual/manual-test-bot/pre-key-65.json +1 -0
  1608. package/test-sessions-manual/manual-test-bot/pre-key-650.json +1 -0
  1609. package/test-sessions-manual/manual-test-bot/pre-key-651.json +1 -0
  1610. package/test-sessions-manual/manual-test-bot/pre-key-652.json +1 -0
  1611. package/test-sessions-manual/manual-test-bot/pre-key-653.json +1 -0
  1612. package/test-sessions-manual/manual-test-bot/pre-key-654.json +1 -0
  1613. package/test-sessions-manual/manual-test-bot/pre-key-655.json +1 -0
  1614. package/test-sessions-manual/manual-test-bot/pre-key-656.json +1 -0
  1615. package/test-sessions-manual/manual-test-bot/pre-key-657.json +1 -0
  1616. package/test-sessions-manual/manual-test-bot/pre-key-658.json +1 -0
  1617. package/test-sessions-manual/manual-test-bot/pre-key-659.json +1 -0
  1618. package/test-sessions-manual/manual-test-bot/pre-key-66.json +1 -0
  1619. package/test-sessions-manual/manual-test-bot/pre-key-660.json +1 -0
  1620. package/test-sessions-manual/manual-test-bot/pre-key-661.json +1 -0
  1621. package/test-sessions-manual/manual-test-bot/pre-key-662.json +1 -0
  1622. package/test-sessions-manual/manual-test-bot/pre-key-663.json +1 -0
  1623. package/test-sessions-manual/manual-test-bot/pre-key-664.json +1 -0
  1624. package/test-sessions-manual/manual-test-bot/pre-key-665.json +1 -0
  1625. package/test-sessions-manual/manual-test-bot/pre-key-666.json +1 -0
  1626. package/test-sessions-manual/manual-test-bot/pre-key-667.json +1 -0
  1627. package/test-sessions-manual/manual-test-bot/pre-key-668.json +1 -0
  1628. package/test-sessions-manual/manual-test-bot/pre-key-669.json +1 -0
  1629. package/test-sessions-manual/manual-test-bot/pre-key-67.json +1 -0
  1630. package/test-sessions-manual/manual-test-bot/pre-key-670.json +1 -0
  1631. package/test-sessions-manual/manual-test-bot/pre-key-671.json +1 -0
  1632. package/test-sessions-manual/manual-test-bot/pre-key-672.json +1 -0
  1633. package/test-sessions-manual/manual-test-bot/pre-key-673.json +1 -0
  1634. package/test-sessions-manual/manual-test-bot/pre-key-674.json +1 -0
  1635. package/test-sessions-manual/manual-test-bot/pre-key-675.json +1 -0
  1636. package/test-sessions-manual/manual-test-bot/pre-key-676.json +1 -0
  1637. package/test-sessions-manual/manual-test-bot/pre-key-677.json +1 -0
  1638. package/test-sessions-manual/manual-test-bot/pre-key-678.json +1 -0
  1639. package/test-sessions-manual/manual-test-bot/pre-key-679.json +1 -0
  1640. package/test-sessions-manual/manual-test-bot/pre-key-68.json +1 -0
  1641. package/test-sessions-manual/manual-test-bot/pre-key-680.json +1 -0
  1642. package/test-sessions-manual/manual-test-bot/pre-key-681.json +1 -0
  1643. package/test-sessions-manual/manual-test-bot/pre-key-682.json +1 -0
  1644. package/test-sessions-manual/manual-test-bot/pre-key-683.json +1 -0
  1645. package/test-sessions-manual/manual-test-bot/pre-key-684.json +1 -0
  1646. package/test-sessions-manual/manual-test-bot/pre-key-685.json +1 -0
  1647. package/test-sessions-manual/manual-test-bot/pre-key-686.json +1 -0
  1648. package/test-sessions-manual/manual-test-bot/pre-key-687.json +1 -0
  1649. package/test-sessions-manual/manual-test-bot/pre-key-688.json +1 -0
  1650. package/test-sessions-manual/manual-test-bot/pre-key-689.json +1 -0
  1651. package/test-sessions-manual/manual-test-bot/pre-key-69.json +1 -0
  1652. package/test-sessions-manual/manual-test-bot/pre-key-690.json +1 -0
  1653. package/test-sessions-manual/manual-test-bot/pre-key-691.json +1 -0
  1654. package/test-sessions-manual/manual-test-bot/pre-key-692.json +1 -0
  1655. package/test-sessions-manual/manual-test-bot/pre-key-693.json +1 -0
  1656. package/test-sessions-manual/manual-test-bot/pre-key-694.json +1 -0
  1657. package/test-sessions-manual/manual-test-bot/pre-key-695.json +1 -0
  1658. package/test-sessions-manual/manual-test-bot/pre-key-696.json +1 -0
  1659. package/test-sessions-manual/manual-test-bot/pre-key-697.json +1 -0
  1660. package/test-sessions-manual/manual-test-bot/pre-key-698.json +1 -0
  1661. package/test-sessions-manual/manual-test-bot/pre-key-699.json +1 -0
  1662. package/test-sessions-manual/manual-test-bot/pre-key-7.json +1 -0
  1663. package/test-sessions-manual/manual-test-bot/pre-key-70.json +1 -0
  1664. package/test-sessions-manual/manual-test-bot/pre-key-700.json +1 -0
  1665. package/test-sessions-manual/manual-test-bot/pre-key-701.json +1 -0
  1666. package/test-sessions-manual/manual-test-bot/pre-key-702.json +1 -0
  1667. package/test-sessions-manual/manual-test-bot/pre-key-703.json +1 -0
  1668. package/test-sessions-manual/manual-test-bot/pre-key-704.json +1 -0
  1669. package/test-sessions-manual/manual-test-bot/pre-key-705.json +1 -0
  1670. package/test-sessions-manual/manual-test-bot/pre-key-706.json +1 -0
  1671. package/test-sessions-manual/manual-test-bot/pre-key-707.json +1 -0
  1672. package/test-sessions-manual/manual-test-bot/pre-key-708.json +1 -0
  1673. package/test-sessions-manual/manual-test-bot/pre-key-709.json +1 -0
  1674. package/test-sessions-manual/manual-test-bot/pre-key-71.json +1 -0
  1675. package/test-sessions-manual/manual-test-bot/pre-key-710.json +1 -0
  1676. package/test-sessions-manual/manual-test-bot/pre-key-711.json +1 -0
  1677. package/test-sessions-manual/manual-test-bot/pre-key-712.json +1 -0
  1678. package/test-sessions-manual/manual-test-bot/pre-key-713.json +1 -0
  1679. package/test-sessions-manual/manual-test-bot/pre-key-714.json +1 -0
  1680. package/test-sessions-manual/manual-test-bot/pre-key-715.json +1 -0
  1681. package/test-sessions-manual/manual-test-bot/pre-key-716.json +1 -0
  1682. package/test-sessions-manual/manual-test-bot/pre-key-717.json +1 -0
  1683. package/test-sessions-manual/manual-test-bot/pre-key-718.json +1 -0
  1684. package/test-sessions-manual/manual-test-bot/pre-key-719.json +1 -0
  1685. package/test-sessions-manual/manual-test-bot/pre-key-72.json +1 -0
  1686. package/test-sessions-manual/manual-test-bot/pre-key-720.json +1 -0
  1687. package/test-sessions-manual/manual-test-bot/pre-key-721.json +1 -0
  1688. package/test-sessions-manual/manual-test-bot/pre-key-722.json +1 -0
  1689. package/test-sessions-manual/manual-test-bot/pre-key-723.json +1 -0
  1690. package/test-sessions-manual/manual-test-bot/pre-key-724.json +1 -0
  1691. package/test-sessions-manual/manual-test-bot/pre-key-725.json +1 -0
  1692. package/test-sessions-manual/manual-test-bot/pre-key-726.json +1 -0
  1693. package/test-sessions-manual/manual-test-bot/pre-key-727.json +1 -0
  1694. package/test-sessions-manual/manual-test-bot/pre-key-728.json +1 -0
  1695. package/test-sessions-manual/manual-test-bot/pre-key-729.json +1 -0
  1696. package/test-sessions-manual/manual-test-bot/pre-key-73.json +1 -0
  1697. package/test-sessions-manual/manual-test-bot/pre-key-730.json +1 -0
  1698. package/test-sessions-manual/manual-test-bot/pre-key-731.json +1 -0
  1699. package/test-sessions-manual/manual-test-bot/pre-key-732.json +1 -0
  1700. package/test-sessions-manual/manual-test-bot/pre-key-733.json +1 -0
  1701. package/test-sessions-manual/manual-test-bot/pre-key-734.json +1 -0
  1702. package/test-sessions-manual/manual-test-bot/pre-key-735.json +1 -0
  1703. package/test-sessions-manual/manual-test-bot/pre-key-736.json +1 -0
  1704. package/test-sessions-manual/manual-test-bot/pre-key-737.json +1 -0
  1705. package/test-sessions-manual/manual-test-bot/pre-key-738.json +1 -0
  1706. package/test-sessions-manual/manual-test-bot/pre-key-739.json +1 -0
  1707. package/test-sessions-manual/manual-test-bot/pre-key-74.json +1 -0
  1708. package/test-sessions-manual/manual-test-bot/pre-key-740.json +1 -0
  1709. package/test-sessions-manual/manual-test-bot/pre-key-741.json +1 -0
  1710. package/test-sessions-manual/manual-test-bot/pre-key-742.json +1 -0
  1711. package/test-sessions-manual/manual-test-bot/pre-key-743.json +1 -0
  1712. package/test-sessions-manual/manual-test-bot/pre-key-744.json +1 -0
  1713. package/test-sessions-manual/manual-test-bot/pre-key-745.json +1 -0
  1714. package/test-sessions-manual/manual-test-bot/pre-key-746.json +1 -0
  1715. package/test-sessions-manual/manual-test-bot/pre-key-747.json +1 -0
  1716. package/test-sessions-manual/manual-test-bot/pre-key-748.json +1 -0
  1717. package/test-sessions-manual/manual-test-bot/pre-key-749.json +1 -0
  1718. package/test-sessions-manual/manual-test-bot/pre-key-75.json +1 -0
  1719. package/test-sessions-manual/manual-test-bot/pre-key-750.json +1 -0
  1720. package/test-sessions-manual/manual-test-bot/pre-key-751.json +1 -0
  1721. package/test-sessions-manual/manual-test-bot/pre-key-752.json +1 -0
  1722. package/test-sessions-manual/manual-test-bot/pre-key-753.json +1 -0
  1723. package/test-sessions-manual/manual-test-bot/pre-key-754.json +1 -0
  1724. package/test-sessions-manual/manual-test-bot/pre-key-755.json +1 -0
  1725. package/test-sessions-manual/manual-test-bot/pre-key-756.json +1 -0
  1726. package/test-sessions-manual/manual-test-bot/pre-key-757.json +1 -0
  1727. package/test-sessions-manual/manual-test-bot/pre-key-758.json +1 -0
  1728. package/test-sessions-manual/manual-test-bot/pre-key-759.json +1 -0
  1729. package/test-sessions-manual/manual-test-bot/pre-key-76.json +1 -0
  1730. package/test-sessions-manual/manual-test-bot/pre-key-760.json +1 -0
  1731. package/test-sessions-manual/manual-test-bot/pre-key-761.json +1 -0
  1732. package/test-sessions-manual/manual-test-bot/pre-key-762.json +1 -0
  1733. package/test-sessions-manual/manual-test-bot/pre-key-763.json +1 -0
  1734. package/test-sessions-manual/manual-test-bot/pre-key-764.json +1 -0
  1735. package/test-sessions-manual/manual-test-bot/pre-key-765.json +1 -0
  1736. package/test-sessions-manual/manual-test-bot/pre-key-766.json +1 -0
  1737. package/test-sessions-manual/manual-test-bot/pre-key-767.json +1 -0
  1738. package/test-sessions-manual/manual-test-bot/pre-key-768.json +1 -0
  1739. package/test-sessions-manual/manual-test-bot/pre-key-769.json +1 -0
  1740. package/test-sessions-manual/manual-test-bot/pre-key-77.json +1 -0
  1741. package/test-sessions-manual/manual-test-bot/pre-key-770.json +1 -0
  1742. package/test-sessions-manual/manual-test-bot/pre-key-771.json +1 -0
  1743. package/test-sessions-manual/manual-test-bot/pre-key-772.json +1 -0
  1744. package/test-sessions-manual/manual-test-bot/pre-key-773.json +1 -0
  1745. package/test-sessions-manual/manual-test-bot/pre-key-774.json +1 -0
  1746. package/test-sessions-manual/manual-test-bot/pre-key-775.json +1 -0
  1747. package/test-sessions-manual/manual-test-bot/pre-key-776.json +1 -0
  1748. package/test-sessions-manual/manual-test-bot/pre-key-777.json +1 -0
  1749. package/test-sessions-manual/manual-test-bot/pre-key-778.json +1 -0
  1750. package/test-sessions-manual/manual-test-bot/pre-key-779.json +1 -0
  1751. package/test-sessions-manual/manual-test-bot/pre-key-78.json +1 -0
  1752. package/test-sessions-manual/manual-test-bot/pre-key-780.json +1 -0
  1753. package/test-sessions-manual/manual-test-bot/pre-key-781.json +1 -0
  1754. package/test-sessions-manual/manual-test-bot/pre-key-782.json +1 -0
  1755. package/test-sessions-manual/manual-test-bot/pre-key-783.json +1 -0
  1756. package/test-sessions-manual/manual-test-bot/pre-key-784.json +1 -0
  1757. package/test-sessions-manual/manual-test-bot/pre-key-785.json +1 -0
  1758. package/test-sessions-manual/manual-test-bot/pre-key-786.json +1 -0
  1759. package/test-sessions-manual/manual-test-bot/pre-key-787.json +1 -0
  1760. package/test-sessions-manual/manual-test-bot/pre-key-788.json +1 -0
  1761. package/test-sessions-manual/manual-test-bot/pre-key-789.json +1 -0
  1762. package/test-sessions-manual/manual-test-bot/pre-key-79.json +1 -0
  1763. package/test-sessions-manual/manual-test-bot/pre-key-790.json +1 -0
  1764. package/test-sessions-manual/manual-test-bot/pre-key-791.json +1 -0
  1765. package/test-sessions-manual/manual-test-bot/pre-key-792.json +1 -0
  1766. package/test-sessions-manual/manual-test-bot/pre-key-793.json +1 -0
  1767. package/test-sessions-manual/manual-test-bot/pre-key-794.json +1 -0
  1768. package/test-sessions-manual/manual-test-bot/pre-key-795.json +1 -0
  1769. package/test-sessions-manual/manual-test-bot/pre-key-796.json +1 -0
  1770. package/test-sessions-manual/manual-test-bot/pre-key-797.json +1 -0
  1771. package/test-sessions-manual/manual-test-bot/pre-key-798.json +1 -0
  1772. package/test-sessions-manual/manual-test-bot/pre-key-799.json +1 -0
  1773. package/test-sessions-manual/manual-test-bot/pre-key-8.json +1 -0
  1774. package/test-sessions-manual/manual-test-bot/pre-key-80.json +1 -0
  1775. package/test-sessions-manual/manual-test-bot/pre-key-800.json +1 -0
  1776. package/test-sessions-manual/manual-test-bot/pre-key-801.json +1 -0
  1777. package/test-sessions-manual/manual-test-bot/pre-key-802.json +1 -0
  1778. package/test-sessions-manual/manual-test-bot/pre-key-803.json +1 -0
  1779. package/test-sessions-manual/manual-test-bot/pre-key-804.json +1 -0
  1780. package/test-sessions-manual/manual-test-bot/pre-key-805.json +1 -0
  1781. package/test-sessions-manual/manual-test-bot/pre-key-806.json +1 -0
  1782. package/test-sessions-manual/manual-test-bot/pre-key-807.json +1 -0
  1783. package/test-sessions-manual/manual-test-bot/pre-key-808.json +1 -0
  1784. package/test-sessions-manual/manual-test-bot/pre-key-809.json +1 -0
  1785. package/test-sessions-manual/manual-test-bot/pre-key-81.json +1 -0
  1786. package/test-sessions-manual/manual-test-bot/pre-key-810.json +1 -0
  1787. package/test-sessions-manual/manual-test-bot/pre-key-811.json +1 -0
  1788. package/test-sessions-manual/manual-test-bot/pre-key-812.json +1 -0
  1789. package/test-sessions-manual/manual-test-bot/pre-key-82.json +1 -0
  1790. package/test-sessions-manual/manual-test-bot/pre-key-83.json +1 -0
  1791. package/test-sessions-manual/manual-test-bot/pre-key-84.json +1 -0
  1792. package/test-sessions-manual/manual-test-bot/pre-key-85.json +1 -0
  1793. package/test-sessions-manual/manual-test-bot/pre-key-86.json +1 -0
  1794. package/test-sessions-manual/manual-test-bot/pre-key-87.json +1 -0
  1795. package/test-sessions-manual/manual-test-bot/pre-key-88.json +1 -0
  1796. package/test-sessions-manual/manual-test-bot/pre-key-89.json +1 -0
  1797. package/test-sessions-manual/manual-test-bot/pre-key-9.json +1 -0
  1798. package/test-sessions-manual/manual-test-bot/pre-key-90.json +1 -0
  1799. package/test-sessions-manual/manual-test-bot/pre-key-91.json +1 -0
  1800. package/test-sessions-manual/manual-test-bot/pre-key-92.json +1 -0
  1801. package/test-sessions-manual/manual-test-bot/pre-key-93.json +1 -0
  1802. package/test-sessions-manual/manual-test-bot/pre-key-94.json +1 -0
  1803. package/test-sessions-manual/manual-test-bot/pre-key-95.json +1 -0
  1804. package/test-sessions-manual/manual-test-bot/pre-key-96.json +1 -0
  1805. package/test-sessions-manual/manual-test-bot/pre-key-97.json +1 -0
  1806. package/test-sessions-manual/manual-test-bot/pre-key-98.json +1 -0
  1807. package/test-sessions-manual/manual-test-bot/pre-key-99.json +1 -0
  1808. package/test-sessions-manual/manual-test-bot/session-177919053803568_1.0.json +1 -0
@@ -0,0 +1,1442 @@
1
+ # Proxy Support Implementation Plan for Miaw Core
2
+
3
+ ## Executive Summary
4
+
5
+ This document outlines the research findings and implementation plan for adding proxy support to Miaw Core, enabling each WhatsApp instance to connect through a dedicated proxy. This feature is essential for:
6
+
7
+ - **IP Rotation**: Avoiding rate limits and blocks
8
+ - **Geographic Distribution**: Connecting from different regions
9
+ - **Privacy/Security**: Masking server IP addresses
10
+ - **Multi-instance Scaling**: Running multiple instances without IP conflicts
11
+
12
+ ## Research Findings
13
+
14
+ ### Baileys Native Proxy Support
15
+
16
+ **Good news!** Baileys natively supports proxy configuration through two key options in `SocketConfig`:
17
+
18
+ ```typescript
19
+ // From Baileys src/Types/Socket.ts
20
+ export type SocketConfig = {
21
+ // ...
22
+ /** proxy agent */
23
+ agent?: Agent; // For WebSocket connections
24
+ /** agent used for fetch requests -- uploading/downloading media */
25
+ fetchAgent?: Agent; // For HTTP requests (media upload/download)
26
+ // ...
27
+ };
28
+ ```
29
+
30
+ ### How Proxies Work in Baileys
31
+
32
+ 1. **WebSocket Connection** (`agent`):
33
+
34
+ - Used in `src/Socket/Client/websocket.ts`
35
+ - Passed to the `ws` (WebSocket) library constructor
36
+ - Handles the main WhatsApp WebSocket connection
37
+
38
+ 2. **HTTP Requests** (`fetchAgent`):
39
+ - Used in `src/Utils/messages-media.ts`
40
+ - Handles media upload/download operations
41
+ - Used for fetching WhatsApp version info
42
+
43
+ ### WebSocket Client Implementation (Baileys)
44
+
45
+ ```typescript
46
+ // From src/Socket/Client/websocket.ts
47
+ connect() {
48
+ this.socket = new WebSocket(this.url, {
49
+ origin: DEFAULT_ORIGIN,
50
+ headers: this.config.options?.headers as {},
51
+ handshakeTimeout: this.config.connectTimeoutMs,
52
+ timeout: this.config.connectTimeoutMs,
53
+ agent: this.config.agent // <-- Proxy agent passed here
54
+ })
55
+ }
56
+ ```
57
+
58
+ ## Proxy Libraries Comparison
59
+
60
+ ### 1. `https-proxy-agent` / `http-proxy-agent`
61
+
62
+ **Best for HTTP/HTTPS proxies**
63
+
64
+ ```bash
65
+ npm install https-proxy-agent http-proxy-agent
66
+ ```
67
+
68
+ ```typescript
69
+ import { HttpsProxyAgent } from "https-proxy-agent";
70
+ import { HttpProxyAgent } from "http-proxy-agent";
71
+
72
+ const httpsAgent = new HttpsProxyAgent("http://proxy.example.com:8080");
73
+ const httpAgent = new HttpProxyAgent("http://proxy.example.com:8080");
74
+ ```
75
+
76
+ ### 2. `socks-proxy-agent`
77
+
78
+ **Best for SOCKS4/SOCKS5 proxies**
79
+
80
+ ```bash
81
+ npm install socks-proxy-agent
82
+ ```
83
+
84
+ ```typescript
85
+ import { SocksProxyAgent } from "socks-proxy-agent";
86
+
87
+ // SOCKS5
88
+ const agent = new SocksProxyAgent("socks5://user:pass@proxy.example.com:1080");
89
+
90
+ // SOCKS4
91
+ const agent = new SocksProxyAgent("socks4://proxy.example.com:1080");
92
+ ```
93
+
94
+ ### 3. `proxy-agent` (Universal)
95
+
96
+ **Automatically detects proxy type from URL**
97
+
98
+ ```bash
99
+ npm install proxy-agent
100
+ ```
101
+
102
+ ```typescript
103
+ import { ProxyAgent } from "proxy-agent";
104
+
105
+ // Works with HTTP, HTTPS, SOCKS4, SOCKS5
106
+ const agent = new ProxyAgent("socks5://proxy.example.com:1080");
107
+ ```
108
+
109
+ ### Recommendation: `proxy-agent`
110
+
111
+ - Unified API for all proxy types
112
+ - Automatic protocol detection
113
+ - Active maintenance
114
+ - Works seamlessly with `ws` library
115
+
116
+ ## Implementation Plan
117
+
118
+ ### Phase 1: Type Definitions
119
+
120
+ Add proxy configuration types to `src/types/index.ts`:
121
+
122
+ ```typescript
123
+ import type { Agent } from "node:https";
124
+
125
+ /**
126
+ * Proxy configuration for WhatsApp connections
127
+ */
128
+ export interface ProxyConfig {
129
+ /**
130
+ * Proxy URL (supports HTTP, HTTPS, SOCKS4, SOCKS5)
131
+ * Examples:
132
+ * - http://proxy.example.com:8080
133
+ * - https://proxy.example.com:8080
134
+ * - socks4://proxy.example.com:1080
135
+ * - socks5://user:pass@proxy.example.com:1080
136
+ */
137
+ url: string;
138
+
139
+ /**
140
+ * Optional: Username for proxy authentication
141
+ * (Can also be included in URL)
142
+ */
143
+ username?: string;
144
+
145
+ /**
146
+ * Optional: Password for proxy authentication
147
+ * (Can also be included in URL)
148
+ */
149
+ password?: string;
150
+ }
151
+
152
+ // Update MiawClientOptions
153
+ export interface MiawClientOptions {
154
+ // ... existing options ...
155
+
156
+ /**
157
+ * Proxy configuration for this instance
158
+ * Each instance can have its own proxy for IP rotation
159
+ */
160
+ proxy?: ProxyConfig | string; // string = proxy URL directly
161
+
162
+ /**
163
+ * Custom agent for WebSocket connections
164
+ * Alternative to proxy config for advanced use cases
165
+ */
166
+ agent?: Agent;
167
+
168
+ /**
169
+ * Custom agent for HTTP fetch requests (media upload/download)
170
+ * Alternative to proxy config for advanced use cases
171
+ */
172
+ fetchAgent?: Agent;
173
+ }
174
+ ```
175
+
176
+ ### Phase 2: Proxy Agent Factory
177
+
178
+ Create `src/utils/proxy-agent.ts`:
179
+
180
+ ```typescript
181
+ import type { Agent } from "node:https";
182
+ import type { ProxyConfig } from "../types/index.js";
183
+
184
+ /**
185
+ * Creates a proxy agent from configuration
186
+ * Supports HTTP, HTTPS, SOCKS4, SOCKS5 proxies
187
+ */
188
+ export async function createProxyAgent(
189
+ config: ProxyConfig | string
190
+ ): Promise<Agent> {
191
+ const { ProxyAgent } = await import("proxy-agent");
192
+
193
+ let proxyUrl: string;
194
+
195
+ if (typeof config === "string") {
196
+ proxyUrl = config;
197
+ } else {
198
+ const url = new URL(config.url);
199
+
200
+ // Add auth if provided separately
201
+ if (config.username) {
202
+ url.username = config.username;
203
+ }
204
+ if (config.password) {
205
+ url.password = config.password;
206
+ }
207
+
208
+ proxyUrl = url.toString();
209
+ }
210
+
211
+ return new ProxyAgent(proxyUrl);
212
+ }
213
+
214
+ /**
215
+ * Validates a proxy configuration
216
+ */
217
+ export function validateProxyConfig(config: ProxyConfig | string): boolean {
218
+ try {
219
+ const url = typeof config === "string" ? config : config.url;
220
+ const parsed = new URL(url);
221
+
222
+ const supportedProtocols = [
223
+ "http:",
224
+ "https:",
225
+ "socks4:",
226
+ "socks5:",
227
+ "socks:",
228
+ ];
229
+ return supportedProtocols.includes(parsed.protocol);
230
+ } catch {
231
+ return false;
232
+ }
233
+ }
234
+ ```
235
+
236
+ ### Phase 3: MiawClient Integration
237
+
238
+ Update `src/client/MiawClient.ts`:
239
+
240
+ ```typescript
241
+ import { createProxyAgent, validateProxyConfig } from "../utils/proxy-agent.js";
242
+ import type { Agent } from "node:https";
243
+
244
+ export class MiawClient extends EventEmitter {
245
+ private proxyAgent: Agent | null = null;
246
+
247
+ constructor(options: MiawClientOptions) {
248
+ super();
249
+
250
+ // Store proxy config for lazy initialization
251
+ this.options = {
252
+ // ... existing defaults ...
253
+ proxy: options.proxy,
254
+ agent: options.agent,
255
+ fetchAgent: options.fetchAgent,
256
+ };
257
+ }
258
+
259
+ async connect(): Promise<void> {
260
+ // ... existing connection guards ...
261
+
262
+ try {
263
+ this.updateConnectionState("connecting");
264
+
265
+ // Initialize proxy agent if configured
266
+ const agent = await this.resolveProxyAgent();
267
+
268
+ // ... existing auth state loading ...
269
+
270
+ // Create socket with proxy support
271
+ this.socket = makeWASocket({
272
+ version,
273
+ logger: this.logger,
274
+ printQRInTerminal: false,
275
+ auth: {
276
+ creds: state.creds,
277
+ keys: makeCacheableSignalKeyStore(state.keys, this.logger),
278
+ },
279
+ browser: Browsers.macOS("Desktop"),
280
+ generateHighQualityLinkPreview: true,
281
+ syncFullHistory: true,
282
+ fireInitQueries: true,
283
+
284
+ // Proxy configuration
285
+ agent: agent, // For WebSocket
286
+ fetchAgent: agent, // For media HTTP requests
287
+ });
288
+
289
+ // ... rest of connection logic ...
290
+ } catch (error) {
291
+ // ... error handling ...
292
+ }
293
+ }
294
+
295
+ /**
296
+ * Resolves the proxy agent from configuration
297
+ */
298
+ private async resolveProxyAgent(): Promise<Agent | undefined> {
299
+ // Direct agent takes priority
300
+ if (this.options.agent) {
301
+ return this.options.agent;
302
+ }
303
+
304
+ // Create agent from proxy config
305
+ if (this.options.proxy) {
306
+ if (!validateProxyConfig(this.options.proxy)) {
307
+ throw new Error("Invalid proxy configuration");
308
+ }
309
+
310
+ this.proxyAgent = await createProxyAgent(this.options.proxy);
311
+ this.logger.info("Proxy agent initialized");
312
+ return this.proxyAgent;
313
+ }
314
+
315
+ return undefined;
316
+ }
317
+
318
+ /**
319
+ * Get current proxy information
320
+ */
321
+ getProxyInfo(): { url: string } | null {
322
+ if (typeof this.options.proxy === "string") {
323
+ return { url: this.options.proxy };
324
+ }
325
+ if (this.options.proxy?.url) {
326
+ return { url: this.options.proxy.url };
327
+ }
328
+ return null;
329
+ }
330
+ }
331
+ ```
332
+
333
+ ### Phase 4: Proxy List File Loader
334
+
335
+ **Why File-Based Configuration?**
336
+
337
+ For proxy rotation, **file-based configuration is the recommended approach** over environment variables because:
338
+
339
+ - Proxy lists can contain hundreds of entries (env vars have size limits)
340
+ - Files are easier to update without restarting the application
341
+ - Standard format used by industry tools (HAProxy, Nginx, etc.)
342
+ - Can be managed by external tools or scripts
343
+ - Supports comments and documentation inline
344
+
345
+ Create `src/utils/proxy-loader.ts`:
346
+
347
+ ```typescript
348
+ import { promises as fs } from "node:fs";
349
+ import { resolve } from "node:path";
350
+ import type { ProxyConfig } from "../types/index.js";
351
+
352
+ /**
353
+ * Supported proxy list file formats
354
+ */
355
+ export type ProxyFileFormat = "txt" | "json";
356
+
357
+ /**
358
+ * Proxy list file configuration
359
+ */
360
+ export interface ProxyListConfig {
361
+ /**
362
+ * Path to the proxy list file
363
+ * Can be absolute or relative to cwd
364
+ */
365
+ filePath: string;
366
+
367
+ /**
368
+ * File format (auto-detected from extension if not specified)
369
+ * - txt: One proxy URL per line (supports # comments)
370
+ * - json: Array of proxy URLs or ProxyConfig objects
371
+ */
372
+ format?: ProxyFileFormat;
373
+
374
+ /**
375
+ * Watch file for changes and auto-reload
376
+ * @default false
377
+ */
378
+ watchForChanges?: boolean;
379
+ }
380
+
381
+ /**
382
+ * Loads proxy list from a file
383
+ *
384
+ * Supported formats:
385
+ * - .txt: One proxy URL per line, # for comments
386
+ * - .json: Array of strings or ProxyConfig objects
387
+ *
388
+ * @example
389
+ * // proxies.txt
390
+ * # US Proxies
391
+ * socks5://proxy1.us.example.com:1080
392
+ * socks5://proxy2.us.example.com:1080
393
+ *
394
+ * # EU Proxies
395
+ * socks5://proxy1.eu.example.com:1080
396
+ */
397
+ export async function loadProxyListFromFile(
398
+ config: ProxyListConfig | string
399
+ ): Promise<(ProxyConfig | string)[]> {
400
+ const filePath = typeof config === "string" ? config : config.filePath;
401
+ const absolutePath = resolve(process.cwd(), filePath);
402
+
403
+ // Check if file exists
404
+ try {
405
+ await fs.access(absolutePath);
406
+ } catch {
407
+ throw new Error(`Proxy list file not found: ${absolutePath}`);
408
+ }
409
+
410
+ const content = await fs.readFile(absolutePath, "utf-8");
411
+ const format = detectFormat(
412
+ filePath,
413
+ typeof config === "string" ? undefined : config.format
414
+ );
415
+
416
+ switch (format) {
417
+ case "txt":
418
+ return parseTxtFormat(content);
419
+ case "json":
420
+ return parseJsonFormat(content);
421
+ default:
422
+ throw new Error(`Unsupported proxy file format: ${format}`);
423
+ }
424
+ }
425
+
426
+ /**
427
+ * Detect file format from extension or explicit config
428
+ */
429
+ function detectFormat(
430
+ filePath: string,
431
+ explicitFormat?: ProxyFileFormat
432
+ ): ProxyFileFormat {
433
+ if (explicitFormat) return explicitFormat;
434
+
435
+ const ext = filePath.toLowerCase().split(".").pop();
436
+ switch (ext) {
437
+ case "txt":
438
+ case "list":
439
+ case "proxies":
440
+ return "txt";
441
+ case "json":
442
+ return "json";
443
+ default:
444
+ // Default to txt for unknown extensions
445
+ return "txt";
446
+ }
447
+ }
448
+
449
+ /**
450
+ * Parse TXT format: one proxy per line, # for comments
451
+ */
452
+ function parseTxtFormat(content: string): string[] {
453
+ return content
454
+ .split("\n")
455
+ .map((line) => line.trim())
456
+ .filter((line) => line.length > 0 && !line.startsWith("#"));
457
+ }
458
+
459
+ /**
460
+ * Parse JSON format: array of strings or ProxyConfig objects
461
+ */
462
+ function parseJsonFormat(content: string): (ProxyConfig | string)[] {
463
+ try {
464
+ const data = JSON.parse(content);
465
+
466
+ if (!Array.isArray(data)) {
467
+ throw new Error("JSON proxy file must contain an array");
468
+ }
469
+
470
+ return data.map((item) => {
471
+ if (typeof item === "string") {
472
+ return item;
473
+ }
474
+ if (typeof item === "object" && item.url) {
475
+ return item as ProxyConfig;
476
+ }
477
+ throw new Error(`Invalid proxy entry: ${JSON.stringify(item)}`);
478
+ });
479
+ } catch (error) {
480
+ if (error instanceof SyntaxError) {
481
+ throw new Error(`Invalid JSON in proxy file: ${error.message}`);
482
+ }
483
+ throw error;
484
+ }
485
+ }
486
+
487
+ /**
488
+ * Watch proxy file for changes and reload
489
+ * Returns a function to stop watching
490
+ */
491
+ export function watchProxyFile(
492
+ filePath: string,
493
+ onReload: (proxies: (ProxyConfig | string)[]) => void,
494
+ onError?: (error: Error) => void
495
+ ): () => void {
496
+ const absolutePath = resolve(process.cwd(), filePath);
497
+ let debounceTimer: NodeJS.Timeout | null = null;
498
+
499
+ const watcher = fs.watch(absolutePath).then(async (w) => {
500
+ for await (const event of w) {
501
+ if (event.eventType === "change") {
502
+ // Debounce to avoid multiple reloads
503
+ if (debounceTimer) clearTimeout(debounceTimer);
504
+ debounceTimer = setTimeout(async () => {
505
+ try {
506
+ const proxies = await loadProxyListFromFile(filePath);
507
+ onReload(proxies);
508
+ } catch (error) {
509
+ onError?.(error as Error);
510
+ }
511
+ }, 100);
512
+ }
513
+ }
514
+ });
515
+
516
+ // Return cleanup function
517
+ return () => {
518
+ watcher.then((w) => w?.close?.());
519
+ if (debounceTimer) clearTimeout(debounceTimer);
520
+ };
521
+ }
522
+
523
+ /**
524
+ * Validates all proxies in a list
525
+ */
526
+ export async function validateProxyList(
527
+ proxies: (ProxyConfig | string)[]
528
+ ): Promise<{ valid: string[]; invalid: string[] }> {
529
+ const { validateProxyConfig } = await import("./proxy-agent.js");
530
+
531
+ const valid: string[] = [];
532
+ const invalid: string[] = [];
533
+
534
+ for (const proxy of proxies) {
535
+ const url = typeof proxy === "string" ? proxy : proxy.url;
536
+ if (validateProxyConfig(proxy)) {
537
+ valid.push(url);
538
+ } else {
539
+ invalid.push(url);
540
+ }
541
+ }
542
+
543
+ return { valid, invalid };
544
+ }
545
+ ```
546
+
547
+ **Example Proxy List Files:**
548
+
549
+ `proxies.txt`:
550
+
551
+ ```txt
552
+ # US Region Proxies
553
+ socks5://user:pass@us-proxy1.example.com:1080
554
+ socks5://user:pass@us-proxy2.example.com:1080
555
+
556
+ # EU Region Proxies
557
+ socks5://user:pass@eu-proxy1.example.com:1080
558
+ socks5://user:pass@eu-proxy2.example.com:1080
559
+
560
+ # Asia Region Proxies
561
+ http://asia-proxy1.example.com:8080
562
+ http://asia-proxy2.example.com:8080
563
+ ```
564
+
565
+ `proxies.json`:
566
+
567
+ ```json
568
+ [
569
+ "socks5://proxy1.example.com:1080",
570
+ "socks5://proxy2.example.com:1080",
571
+ {
572
+ "url": "http://proxy3.example.com:8080",
573
+ "username": "user",
574
+ "password": "pass"
575
+ }
576
+ ]
577
+ ```
578
+
579
+ ### Phase 5: Proxy Rotation Support
580
+
581
+ Create `src/utils/proxy-rotation.ts`:
582
+
583
+ ```typescript
584
+ import type { Agent } from "node:https";
585
+ import type { ProxyConfig } from "../types/index.js";
586
+ import { createProxyAgent } from "./proxy-agent.js";
587
+ import {
588
+ loadProxyListFromFile,
589
+ watchProxyFile,
590
+ type ProxyListConfig,
591
+ } from "./proxy-loader.js";
592
+
593
+ export type ProxyRotationStrategy = "round-robin" | "random" | "weighted";
594
+
595
+ export interface ProxyPool {
596
+ proxies: (ProxyConfig | string)[];
597
+ strategy: ProxyRotationStrategy;
598
+ weights?: number[]; // For weighted strategy
599
+ }
600
+
601
+ /**
602
+ * Proxy pool manager for rotating proxies across instances
603
+ */
604
+ export class ProxyRotator {
605
+ private proxies: (ProxyConfig | string)[];
606
+ private strategy: ProxyRotationStrategy;
607
+ private weights: number[];
608
+ private currentIndex: number = 0;
609
+ private agentCache: Map<string, Agent> = new Map();
610
+
611
+ constructor(pool: ProxyPool) {
612
+ this.proxies = pool.proxies;
613
+ this.strategy = pool.strategy;
614
+ this.weights = pool.weights || pool.proxies.map(() => 1);
615
+
616
+ if (this.proxies.length === 0) {
617
+ throw new Error("Proxy pool cannot be empty");
618
+ }
619
+ }
620
+
621
+ /**
622
+ * Get the next proxy based on rotation strategy
623
+ */
624
+ async getNextAgent(): Promise<Agent> {
625
+ const proxy = this.selectProxy();
626
+ const key = typeof proxy === "string" ? proxy : proxy.url;
627
+
628
+ // Return cached agent if available
629
+ if (this.agentCache.has(key)) {
630
+ return this.agentCache.get(key)!;
631
+ }
632
+
633
+ const agent = await createProxyAgent(proxy);
634
+ this.agentCache.set(key, agent);
635
+ return agent;
636
+ }
637
+
638
+ /**
639
+ * Get proxy for a specific instance (deterministic based on instanceId)
640
+ */
641
+ async getAgentForInstance(instanceId: string): Promise<Agent> {
642
+ const hash = this.hashString(instanceId);
643
+ const index = hash % this.proxies.length;
644
+ const proxy = this.proxies[index];
645
+ const key = typeof proxy === "string" ? proxy : proxy.url;
646
+
647
+ if (!this.agentCache.has(key)) {
648
+ this.agentCache.set(key, await createProxyAgent(proxy));
649
+ }
650
+
651
+ return this.agentCache.get(key)!;
652
+ }
653
+
654
+ private selectProxy(): ProxyConfig | string {
655
+ switch (this.strategy) {
656
+ case "round-robin":
657
+ const proxy = this.proxies[this.currentIndex];
658
+ this.currentIndex = (this.currentIndex + 1) % this.proxies.length;
659
+ return proxy;
660
+
661
+ case "random":
662
+ return this.proxies[Math.floor(Math.random() * this.proxies.length)];
663
+
664
+ case "weighted":
665
+ return this.weightedRandom();
666
+
667
+ default:
668
+ return this.proxies[0];
669
+ }
670
+ }
671
+
672
+ private weightedRandom(): ProxyConfig | string {
673
+ const totalWeight = this.weights.reduce((a, b) => a + b, 0);
674
+ let random = Math.random() * totalWeight;
675
+
676
+ for (let i = 0; i < this.proxies.length; i++) {
677
+ random -= this.weights[i];
678
+ if (random <= 0) {
679
+ return this.proxies[i];
680
+ }
681
+ }
682
+
683
+ return this.proxies[this.proxies.length - 1];
684
+ }
685
+
686
+ private hashString(str: string): number {
687
+ let hash = 0;
688
+ for (let i = 0; i < str.length; i++) {
689
+ const char = str.charCodeAt(i);
690
+ hash = (hash << 5) - hash + char;
691
+ hash = hash & hash;
692
+ }
693
+ return Math.abs(hash);
694
+ }
695
+
696
+ /**
697
+ * Clear the agent cache (useful when proxies become stale)
698
+ */
699
+ clearCache(): void {
700
+ this.agentCache.clear();
701
+ }
702
+
703
+ /**
704
+ * Reload proxies from the original file (if loaded from file)
705
+ */
706
+ async reload(proxies: (ProxyConfig | string)[]): Promise<void> {
707
+ this.proxies = proxies;
708
+ this.weights = proxies.map(() => 1);
709
+ this.currentIndex = 0;
710
+ this.agentCache.clear();
711
+ }
712
+
713
+ /**
714
+ * Get pool statistics
715
+ */
716
+ getStats(): { total: number; cached: number; proxies: string[] } {
717
+ return {
718
+ total: this.proxies.length,
719
+ cached: this.agentCache.size,
720
+ proxies: this.proxies.map((p) => (typeof p === "string" ? p : p.url)),
721
+ };
722
+ }
723
+
724
+ /**
725
+ * Create a ProxyRotator from a file
726
+ * @param fileConfig - Path to proxy file or ProxyListConfig
727
+ * @param strategy - Rotation strategy (default: round-robin)
728
+ * @param watchForChanges - Auto-reload when file changes
729
+ */
730
+ static async fromFile(
731
+ fileConfig: ProxyListConfig | string,
732
+ strategy: ProxyRotationStrategy = "round-robin",
733
+ watchForChanges = false
734
+ ): Promise<ProxyRotator> {
735
+ const proxies = await loadProxyListFromFile(fileConfig);
736
+
737
+ if (proxies.length === 0) {
738
+ throw new Error("Proxy file is empty");
739
+ }
740
+
741
+ const rotator = new ProxyRotator({ proxies, strategy });
742
+
743
+ // Set up file watcher if requested
744
+ if (watchForChanges) {
745
+ const filePath =
746
+ typeof fileConfig === "string" ? fileConfig : fileConfig.filePath;
747
+ watchProxyFile(
748
+ filePath,
749
+ (newProxies) => {
750
+ rotator.reload(newProxies);
751
+ console.log(`Proxy list reloaded: ${newProxies.length} proxies`);
752
+ },
753
+ (error) => {
754
+ console.error(`Failed to reload proxy list: ${error.message}`);
755
+ }
756
+ );
757
+ }
758
+
759
+ return rotator;
760
+ }
761
+ }
762
+ ```
763
+
764
+ ### Phase 6: Dependencies
765
+
766
+ Add to `package.json`:
767
+
768
+ ```json
769
+ {
770
+ "dependencies": {
771
+ "proxy-agent": "^6.4.0"
772
+ },
773
+ "devDependencies": {
774
+ "@types/node": "^20.0.0"
775
+ }
776
+ }
777
+ ```
778
+
779
+ ### Phase 7: Export Updates
780
+
781
+ Update `src/index.ts`:
782
+
783
+ ```typescript
784
+ // Proxy utilities
785
+ export { createProxyAgent, validateProxyConfig } from "./utils/proxy-agent.js";
786
+ export { ProxyRotator } from "./utils/proxy-rotation.js";
787
+ export {
788
+ loadProxyListFromFile,
789
+ watchProxyFile,
790
+ validateProxyList,
791
+ } from "./utils/proxy-loader.js";
792
+ export type {
793
+ ProxyPool,
794
+ ProxyRotationStrategy,
795
+ } from "./utils/proxy-rotation.js";
796
+ export type { ProxyFileFormat, ProxyListConfig } from "./utils/proxy-loader.js";
797
+ ```
798
+
799
+ ## Usage Examples
800
+
801
+ ### Basic Proxy Usage
802
+
803
+ ```typescript
804
+ import { MiawClient } from "miaw-core";
805
+
806
+ // Using proxy URL directly
807
+ const client = new MiawClient({
808
+ instanceId: "bot-1",
809
+ proxy: "socks5://proxy.example.com:1080",
810
+ });
811
+
812
+ // Using proxy config object
813
+ const client2 = new MiawClient({
814
+ instanceId: "bot-2",
815
+ proxy: {
816
+ url: "http://proxy.example.com:8080",
817
+ username: "user",
818
+ password: "pass",
819
+ },
820
+ });
821
+
822
+ await client.connect();
823
+ ```
824
+
825
+ ### Loading Proxies from File
826
+
827
+ ```typescript
828
+ import { ProxyRotator, loadProxyListFromFile } from "miaw-core";
829
+
830
+ // Load from TXT file (one proxy per line)
831
+ const proxies = await loadProxyListFromFile("./proxies.txt");
832
+ console.log(`Loaded ${proxies.length} proxies`);
833
+
834
+ // Create rotator from file (recommended)
835
+ const rotator = await ProxyRotator.fromFile(
836
+ "./proxies.txt",
837
+ "round-robin",
838
+ true // watch for changes
839
+ );
840
+
841
+ // Get stats
842
+ console.log(rotator.getStats());
843
+ // { total: 10, cached: 0, proxies: ['socks5://...', ...] }
844
+ ```
845
+
846
+ ### Proxy Rotation for Multiple Instances
847
+
848
+ ```typescript
849
+ import { MiawClient, ProxyRotator } from "miaw-core";
850
+
851
+ // Create proxy pool from file
852
+ const rotator = await ProxyRotator.fromFile("./proxies.txt", "round-robin");
853
+
854
+ // Create multiple instances with rotated proxies
855
+ async function createInstances(count: number) {
856
+ const instances = [];
857
+
858
+ for (let i = 0; i < count; i++) {
859
+ const agent = await rotator.getNextAgent();
860
+
861
+ const client = new MiawClient({
862
+ instanceId: `bot-${i}`,
863
+ agent: agent,
864
+ fetchAgent: agent,
865
+ });
866
+
867
+ instances.push(client);
868
+ }
869
+
870
+ return instances;
871
+ }
872
+
873
+ // Or use deterministic proxy per instance (same instance always gets same proxy)
874
+ async function createInstanceWithDeterministicProxy(instanceId: string) {
875
+ const agent = await rotator.getAgentForInstance(instanceId);
876
+
877
+ return new MiawClient({
878
+ instanceId,
879
+ agent,
880
+ fetchAgent: agent,
881
+ });
882
+ }
883
+ ```
884
+
885
+ ### Environment Variable for Single Instance
886
+
887
+ ```typescript
888
+ import { MiawClient } from "miaw-core";
889
+
890
+ // Single proxy from environment
891
+ const client = new MiawClient({
892
+ instanceId: "production-bot",
893
+ proxy: process.env.WHATSAPP_PROXY_URL,
894
+ });
895
+ ```
896
+
897
+ ---
898
+
899
+ ## Phase 8: CLI Integration (miaw-cli)
900
+
901
+ ### CLI Proxy Commands
902
+
903
+ Add new proxy management commands to `miaw-cli`:
904
+
905
+ ```
906
+ PROXY OPERATIONS:
907
+ proxy ls List proxies from configured file
908
+ proxy test [url] Test proxy connectivity
909
+ proxy test-all Test all proxies in list
910
+ proxy validate Validate proxy file format
911
+ proxy stats Show proxy rotation statistics
912
+ proxy reload Reload proxy list from file
913
+ ```
914
+
915
+ ### CLI Global Flags for Proxy
916
+
917
+ ```
918
+ PROXY FLAGS:
919
+ --proxy <url> Use specific proxy for this instance
920
+ --proxy-file <path> Path to proxy list file
921
+ --proxy-strategy <strategy> Rotation strategy: round-robin, random, weighted
922
+ --proxy-watch Watch proxy file for changes
923
+ ```
924
+
925
+ ### CLI Implementation
926
+
927
+ Create `src/cli/commands/proxy.ts`:
928
+
929
+ ```typescript
930
+ import {
931
+ loadProxyListFromFile,
932
+ validateProxyList,
933
+ ProxyRotator,
934
+ } from "../../index.js";
935
+ import type { CLIContext } from "../context.js";
936
+
937
+ export async function handleProxyCommand(
938
+ args: string[],
939
+ context: CLIContext
940
+ ): Promise<boolean> {
941
+ const subcommand = args[0];
942
+
943
+ switch (subcommand) {
944
+ case "ls":
945
+ case "list":
946
+ return await listProxies(context);
947
+
948
+ case "test":
949
+ return await testProxy(args[1], context);
950
+
951
+ case "test-all":
952
+ return await testAllProxies(context);
953
+
954
+ case "validate":
955
+ return await validateProxyFile(context);
956
+
957
+ case "stats":
958
+ return await showProxyStats(context);
959
+
960
+ case "reload":
961
+ return await reloadProxies(context);
962
+
963
+ default:
964
+ console.log(
965
+ "Unknown proxy command. Use: ls, test, test-all, validate, stats, reload"
966
+ );
967
+ return false;
968
+ }
969
+ }
970
+
971
+ async function listProxies(context: CLIContext): Promise<boolean> {
972
+ const proxyFile = context.flags["proxy-file"] || "./proxies.txt";
973
+
974
+ try {
975
+ const proxies = await loadProxyListFromFile(proxyFile);
976
+
977
+ console.log(`\n📋 Proxies loaded from: ${proxyFile}\n`);
978
+ console.log(`Total: ${proxies.length} proxies\n`);
979
+
980
+ proxies.forEach((proxy, index) => {
981
+ const url = typeof proxy === "string" ? proxy : proxy.url;
982
+ // Mask credentials for display
983
+ const masked = maskProxyUrl(url);
984
+ console.log(` ${index + 1}. ${masked}`);
985
+ });
986
+
987
+ return true;
988
+ } catch (error) {
989
+ console.error(`❌ Failed to load proxy file: ${(error as Error).message}`);
990
+ return false;
991
+ }
992
+ }
993
+
994
+ async function testProxy(
995
+ proxyUrl: string | undefined,
996
+ context: CLIContext
997
+ ): Promise<boolean> {
998
+ if (!proxyUrl) {
999
+ console.error("❌ Please provide a proxy URL to test");
1000
+ return false;
1001
+ }
1002
+
1003
+ console.log(`\n🔍 Testing proxy: ${maskProxyUrl(proxyUrl)}`);
1004
+
1005
+ try {
1006
+ const { createProxyAgent } = await import("../../utils/proxy-agent.js");
1007
+ const agent = await createProxyAgent(proxyUrl);
1008
+
1009
+ // Test connection to WhatsApp
1010
+ const startTime = Date.now();
1011
+ const response = await fetch("https://web.whatsapp.com", {
1012
+ method: "HEAD",
1013
+ dispatcher: agent as any,
1014
+ signal: AbortSignal.timeout(10000),
1015
+ });
1016
+
1017
+ const latency = Date.now() - startTime;
1018
+
1019
+ if (response.ok) {
1020
+ console.log(`✅ Proxy is working! Latency: ${latency}ms`);
1021
+ return true;
1022
+ } else {
1023
+ console.log(`⚠️ Proxy responded with status: ${response.status}`);
1024
+ return false;
1025
+ }
1026
+ } catch (error) {
1027
+ console.error(`❌ Proxy test failed: ${(error as Error).message}`);
1028
+ return false;
1029
+ }
1030
+ }
1031
+
1032
+ async function testAllProxies(context: CLIContext): Promise<boolean> {
1033
+ const proxyFile = context.flags["proxy-file"] || "./proxies.txt";
1034
+
1035
+ try {
1036
+ const proxies = await loadProxyListFromFile(proxyFile);
1037
+
1038
+ console.log(`\n🔍 Testing ${proxies.length} proxies...\n`);
1039
+
1040
+ let working = 0;
1041
+ let failed = 0;
1042
+
1043
+ for (const proxy of proxies) {
1044
+ const url = typeof proxy === "string" ? proxy : proxy.url;
1045
+ const masked = maskProxyUrl(url);
1046
+ process.stdout.write(` Testing ${masked}... `);
1047
+
1048
+ try {
1049
+ const { createProxyAgent } = await import("../../utils/proxy-agent.js");
1050
+ const agent = await createProxyAgent(proxy);
1051
+
1052
+ const startTime = Date.now();
1053
+ const response = await fetch("https://web.whatsapp.com", {
1054
+ method: "HEAD",
1055
+ dispatcher: agent as any,
1056
+ signal: AbortSignal.timeout(10000),
1057
+ });
1058
+
1059
+ const latency = Date.now() - startTime;
1060
+
1061
+ if (response.ok) {
1062
+ console.log(`✅ ${latency}ms`);
1063
+ working++;
1064
+ } else {
1065
+ console.log(`⚠️ Status ${response.status}`);
1066
+ failed++;
1067
+ }
1068
+ } catch (error) {
1069
+ console.log(`❌ ${(error as Error).message}`);
1070
+ failed++;
1071
+ }
1072
+ }
1073
+
1074
+ console.log(`\n📊 Results: ${working} working, ${failed} failed`);
1075
+ return failed === 0;
1076
+ } catch (error) {
1077
+ console.error(`❌ Failed to load proxy file: ${(error as Error).message}`);
1078
+ return false;
1079
+ }
1080
+ }
1081
+
1082
+ async function validateProxyFile(context: CLIContext): Promise<boolean> {
1083
+ const proxyFile = context.flags["proxy-file"] || "./proxies.txt";
1084
+
1085
+ try {
1086
+ const proxies = await loadProxyListFromFile(proxyFile);
1087
+ const { valid, invalid } = await validateProxyList(proxies);
1088
+
1089
+ console.log(`\n📋 Proxy File Validation: ${proxyFile}\n`);
1090
+ console.log(` ✅ Valid: ${valid.length}`);
1091
+ console.log(` ❌ Invalid: ${invalid.length}`);
1092
+
1093
+ if (invalid.length > 0) {
1094
+ console.log(`\n Invalid entries:`);
1095
+ invalid.forEach((url) => console.log(` - ${url}`));
1096
+ }
1097
+
1098
+ return invalid.length === 0;
1099
+ } catch (error) {
1100
+ console.error(`❌ Validation failed: ${(error as Error).message}`);
1101
+ return false;
1102
+ }
1103
+ }
1104
+
1105
+ async function showProxyStats(context: CLIContext): Promise<boolean> {
1106
+ if (!context.proxyRotator) {
1107
+ console.log("⚠️ No proxy rotator initialized. Use --proxy-file to enable.");
1108
+ return false;
1109
+ }
1110
+
1111
+ const stats = context.proxyRotator.getStats();
1112
+
1113
+ console.log(`\n📊 Proxy Rotation Statistics\n`);
1114
+ console.log(` Total proxies: ${stats.total}`);
1115
+ console.log(` Cached agents: ${stats.cached}`);
1116
+ console.log(
1117
+ ` Strategy: ${context.flags["proxy-strategy"] || "round-robin"}`
1118
+ );
1119
+
1120
+ return true;
1121
+ }
1122
+
1123
+ async function reloadProxies(context: CLIContext): Promise<boolean> {
1124
+ const proxyFile = context.flags["proxy-file"] || "./proxies.txt";
1125
+
1126
+ try {
1127
+ const proxies = await loadProxyListFromFile(proxyFile);
1128
+
1129
+ if (context.proxyRotator) {
1130
+ await context.proxyRotator.reload(proxies);
1131
+ console.log(`✅ Reloaded ${proxies.length} proxies from ${proxyFile}`);
1132
+ } else {
1133
+ console.log(`⚠️ No proxy rotator to reload. Use --proxy-file to enable.`);
1134
+ }
1135
+
1136
+ return true;
1137
+ } catch (error) {
1138
+ console.error(`❌ Failed to reload proxies: ${(error as Error).message}`);
1139
+ return false;
1140
+ }
1141
+ }
1142
+
1143
+ /**
1144
+ * Mask credentials in proxy URL for display
1145
+ */
1146
+ function maskProxyUrl(url: string): string {
1147
+ try {
1148
+ const parsed = new URL(url);
1149
+ if (parsed.password) {
1150
+ parsed.password = "****";
1151
+ }
1152
+ return parsed.toString();
1153
+ } catch {
1154
+ return url;
1155
+ }
1156
+ }
1157
+ ```
1158
+
1159
+ ### Update CLI Context
1160
+
1161
+ Update `src/cli/context.ts` to support proxy rotator:
1162
+
1163
+ ```typescript
1164
+ import type { ProxyRotator } from "../utils/proxy-rotation.js";
1165
+
1166
+ export interface CLIContext {
1167
+ // ... existing properties ...
1168
+ proxyRotator?: ProxyRotator;
1169
+ }
1170
+ ```
1171
+
1172
+ ### Update CLI Entry Point
1173
+
1174
+ Update `bin/miaw-cli.ts` to handle proxy flags:
1175
+
1176
+ ```typescript
1177
+ // After parsing args, initialize proxy rotator if --proxy-file is provided
1178
+ if (flags["proxy-file"]) {
1179
+ const { ProxyRotator } = await import("../src/utils/proxy-rotation.js");
1180
+ const strategy = (flags["proxy-strategy"] as string) || "round-robin";
1181
+ const watch = flags["proxy-watch"] === true;
1182
+
1183
+ const proxyRotator = await ProxyRotator.fromFile(
1184
+ flags["proxy-file"] as string,
1185
+ strategy as any,
1186
+ watch
1187
+ );
1188
+
1189
+ // Make available to commands via context
1190
+ context.proxyRotator = proxyRotator;
1191
+
1192
+ console.log(
1193
+ `📡 Proxy rotator initialized: ${proxyRotator.getStats().total} proxies`
1194
+ );
1195
+ }
1196
+
1197
+ // When creating instances, use proxy from rotator
1198
+ if (context.proxyRotator) {
1199
+ const agent = await context.proxyRotator.getAgentForInstance(instanceId);
1200
+ clientConfig.agent = agent;
1201
+ clientConfig.fetchAgent = agent;
1202
+ } else if (flags.proxy) {
1203
+ clientConfig.proxy = flags.proxy as string;
1204
+ }
1205
+ ```
1206
+
1207
+ ### CLI Help Update
1208
+
1209
+ Add to help message in `bin/miaw-cli.ts`:
1210
+
1211
+ ```
1212
+ PROXY OPERATIONS:
1213
+ proxy ls List proxies from configured file
1214
+ proxy test <url> Test specific proxy connectivity
1215
+ proxy test-all Test all proxies in list
1216
+ proxy validate Validate proxy file format
1217
+ proxy stats Show proxy rotation statistics
1218
+ proxy reload Reload proxy list from file
1219
+
1220
+ PROXY FLAGS:
1221
+ --proxy <url> Use specific proxy for this command
1222
+ --proxy-file <path> Path to proxy list file (enables rotation)
1223
+ --proxy-strategy <strategy> Rotation strategy: round-robin, random, weighted
1224
+ --proxy-watch Watch proxy file for changes (auto-reload)
1225
+ ```
1226
+
1227
+ ### CLI Usage Examples
1228
+
1229
+ ```bash
1230
+ # List proxies from file
1231
+ miaw-cli proxy ls --proxy-file ./proxies.txt
1232
+
1233
+ # Test a specific proxy
1234
+ miaw-cli proxy test socks5://proxy.example.com:1080
1235
+
1236
+ # Test all proxies in file
1237
+ miaw-cli proxy test-all --proxy-file ./proxies.txt
1238
+
1239
+ # Validate proxy file format
1240
+ miaw-cli proxy validate --proxy-file ./proxies.txt
1241
+
1242
+ # Connect instance with single proxy
1243
+ miaw-cli instance connect my-bot --proxy socks5://proxy.example.com:1080
1244
+
1245
+ # Connect instance with proxy rotation
1246
+ miaw-cli instance connect my-bot --proxy-file ./proxies.txt
1247
+
1248
+ # Use specific rotation strategy
1249
+ miaw-cli instance connect my-bot --proxy-file ./proxies.txt --proxy-strategy random
1250
+
1251
+ # Enable hot-reload of proxy file
1252
+ miaw-cli instance connect my-bot --proxy-file ./proxies.txt --proxy-watch
1253
+
1254
+ # Send message through proxy
1255
+ miaw-cli send text 6281234567890 "Hello" --proxy socks5://proxy.example.com:1080
1256
+ ```
1257
+
1258
+ ---
1259
+
1260
+ ## Testing Plan
1261
+
1262
+ ### Unit Tests
1263
+
1264
+ ```typescript
1265
+ describe("Proxy Support", () => {
1266
+ describe("validateProxyConfig", () => {
1267
+ it("should accept valid HTTP proxy", () => {
1268
+ expect(validateProxyConfig("http://proxy:8080")).toBe(true);
1269
+ });
1270
+
1271
+ it("should accept valid SOCKS5 proxy", () => {
1272
+ expect(validateProxyConfig("socks5://proxy:1080")).toBe(true);
1273
+ });
1274
+
1275
+ it("should reject invalid URL", () => {
1276
+ expect(validateProxyConfig("not-a-url")).toBe(false);
1277
+ });
1278
+ });
1279
+
1280
+ describe("ProxyRotator", () => {
1281
+ it("should rotate round-robin correctly", async () => {
1282
+ // Test implementation
1283
+ });
1284
+
1285
+ it("should return same proxy for same instanceId", async () => {
1286
+ // Test deterministic assignment
1287
+ });
1288
+ });
1289
+ });
1290
+ ```
1291
+
1292
+ ### Integration Tests
1293
+
1294
+ ```typescript
1295
+ describe("MiawClient with Proxy", () => {
1296
+ it("should connect through SOCKS5 proxy", async () => {
1297
+ // Requires actual proxy server
1298
+ });
1299
+
1300
+ it("should upload media through proxy", async () => {
1301
+ // Test fetchAgent configuration
1302
+ });
1303
+ });
1304
+ ```
1305
+
1306
+ ## Security Considerations
1307
+
1308
+ 1. **Credential Management**: Never log proxy credentials
1309
+ 2. **Proxy Authentication**: Support both URL-embedded and separate credentials
1310
+ 3. **Connection Timeouts**: Implement appropriate timeouts for proxy connections
1311
+ 4. **Error Handling**: Don't expose proxy details in error messages
1312
+ 5. **SOCKS5 DNS Resolution**: Use remote DNS resolution to prevent DNS leaks
1313
+
1314
+ ## Performance Considerations
1315
+
1316
+ 1. **Agent Caching**: Reuse agents across requests
1317
+ 2. **Connection Pooling**: Leverage built-in connection pooling
1318
+ 3. **Lazy Initialization**: Create agents only when needed
1319
+ 4. **Health Checks**: Implement proxy health monitoring
1320
+
1321
+ ## Rollout Plan
1322
+
1323
+ ### Phase 1: MVP (Week 1)
1324
+
1325
+ - [ ] Add `ProxyConfig` type
1326
+ - [ ] Implement `createProxyAgent` utility
1327
+ - [ ] Add `proxy` option to `MiawClientOptions`
1328
+ - [ ] Update `connect()` to use proxy agent
1329
+
1330
+ ### Phase 2: Enhanced Features (Week 2)
1331
+
1332
+ - [ ] Implement `ProxyRotator` class
1333
+ - [ ] Add proxy validation
1334
+ - [ ] Add `getProxyInfo()` method
1335
+ - [ ] Update documentation
1336
+
1337
+ ### Phase 3: File-Based Proxy Loading (Week 3)
1338
+
1339
+ - [ ] Implement `proxy-loader.ts` utility
1340
+ - [ ] Add `loadProxyListFromFile()` function
1341
+ - [ ] Add `ProxyRotator.fromFile()` static method
1342
+ - [ ] Implement file watcher for hot-reload
1343
+ - [ ] Support TXT and JSON file formats
1344
+
1345
+ ### Phase 4: CLI Integration (Week 4)
1346
+
1347
+ - [ ] Create `src/cli/commands/proxy.ts`
1348
+ - [ ] Implement CLI proxy commands (ls, test, test-all, validate, stats, reload)
1349
+ - [ ] Add `--proxy`, `--proxy-file`, `--proxy-strategy`, `--proxy-watch` flags
1350
+ - [ ] Update CLI help text
1351
+ - [ ] Integration between CLI context and proxy rotator
1352
+
1353
+ ### Phase 5: Testing & Documentation (Week 5)
1354
+
1355
+ - [ ] Unit tests for proxy utilities
1356
+ - [ ] Unit tests for proxy loader
1357
+ - [ ] Integration tests with real proxies
1358
+ - [ ] CLI command tests
1359
+ - [ ] Example code in `examples/` directory
1360
+ - [ ] Update README and API docs
1361
+
1362
+ ## Related Files to Modify
1363
+
1364
+ 1. `src/types/index.ts` - Add ProxyConfig and update MiawClientOptions
1365
+ 2. `src/client/MiawClient.ts` - Implement proxy support in connect()
1366
+ 3. `src/utils/proxy-agent.ts` - New file for proxy agent factory
1367
+ 4. `src/utils/proxy-rotation.ts` - New file for proxy rotation
1368
+ 5. `src/utils/proxy-loader.ts` - New file for file-based proxy loading
1369
+ 6. `src/cli/commands/proxy.ts` - New file for CLI proxy commands
1370
+ 7. `src/cli/context.ts` - Update CLI context with proxy rotator
1371
+ 8. `bin/miaw-cli.ts` - Add proxy flags and command routing
1372
+ 9. `src/index.ts` - Export new types and utilities
1373
+ 10. `package.json` - Add proxy-agent dependency
1374
+ 11. `docs/USAGE.md` - Document proxy configuration
1375
+ 12. `examples/` - Add proxy usage examples
1376
+
1377
+ ## Conclusion
1378
+
1379
+ Implementing proxy support in Miaw Core is **fully feasible** thanks to Baileys' native support for the `agent` and `fetchAgent` options. The implementation requires:
1380
+
1381
+ 1. Adding type definitions for proxy configuration
1382
+ 2. Creating a proxy agent factory using the `proxy-agent` library
1383
+ 3. Passing the agent to Baileys' `makeWASocket` function
1384
+ 4. Implementing file-based proxy loading for easy management
1385
+ 5. Adding CLI commands for proxy management and testing
1386
+ 6. Optionally implementing proxy rotation for multi-instance scenarios
1387
+
1388
+ The approach is non-invasive, maintaining backward compatibility while enabling powerful proxy features for users who need them.
1389
+
1390
+ ---
1391
+
1392
+ ## Quick Reference
1393
+
1394
+ ### Proxy File Format (proxies.txt)
1395
+
1396
+ ```
1397
+ # HTTP proxies
1398
+ http://proxy1.example.com:8080
1399
+ http://user:pass@proxy2.example.com:8080
1400
+
1401
+ # SOCKS proxies (recommended for WhatsApp)
1402
+ socks5://proxy3.example.com:1080
1403
+ socks5://user:pass@proxy4.example.com:1080
1404
+ ```
1405
+
1406
+ ### Minimum Viable CLI Commands
1407
+
1408
+ ```bash
1409
+ # Single proxy
1410
+ miaw-cli instance connect my-bot --proxy socks5://proxy:1080
1411
+
1412
+ # Multiple proxies with rotation
1413
+ miaw-cli instance connect my-bot --proxy-file ./proxies.txt
1414
+
1415
+ # Test all proxies
1416
+ miaw-cli proxy test-all --proxy-file ./proxies.txt
1417
+ ```
1418
+
1419
+ ### Programmatic Usage
1420
+
1421
+ ```typescript
1422
+ import { MiawClient, ProxyRotator } from "miaw-core";
1423
+
1424
+ // Simple: single proxy
1425
+ const client = new MiawClient({
1426
+ instanceId: "my-bot",
1427
+ proxy: "socks5://proxy:1080",
1428
+ });
1429
+
1430
+ // Advanced: rotation from file
1431
+ const rotator = await ProxyRotator.fromFile(
1432
+ "./proxies.txt",
1433
+ "round-robin",
1434
+ true
1435
+ );
1436
+ const agent = await rotator.getNextAgent();
1437
+ const client2 = new MiawClient({
1438
+ instanceId: "bot-2",
1439
+ agent,
1440
+ fetchAgent: agent,
1441
+ });
1442
+ ```