@mtcute/core 0.16.4 → 0.16.7

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 (2581) hide show
  1. package/README.md +1 -1
  2. package/cjs/highlevel/base.d.ts +13 -9
  3. package/cjs/highlevel/base.js +8 -5
  4. package/cjs/highlevel/base.js.map +1 -1
  5. package/cjs/highlevel/client.d.ts +167 -76
  6. package/cjs/highlevel/client.js +32 -18
  7. package/cjs/highlevel/client.js.map +1 -1
  8. package/cjs/highlevel/client.types.d.ts +3 -1
  9. package/cjs/highlevel/client.types.js.map +1 -1
  10. package/cjs/highlevel/managers/app-config-manager.d.ts +2 -2
  11. package/cjs/highlevel/managers/app-config-manager.js.map +1 -1
  12. package/cjs/highlevel/methods/_imports.js +1 -1
  13. package/cjs/highlevel/methods/_imports.js.map +1 -1
  14. package/cjs/highlevel/methods/_init.js +0 -2
  15. package/cjs/highlevel/methods/_init.js.map +1 -1
  16. package/cjs/highlevel/methods/auth/check-password.d.ts +2 -2
  17. package/cjs/highlevel/methods/auth/check-password.js +1 -2
  18. package/cjs/highlevel/methods/auth/check-password.js.map +1 -1
  19. package/cjs/highlevel/methods/auth/get-password-hint.d.ts +1 -1
  20. package/cjs/highlevel/methods/auth/get-password-hint.js +2 -3
  21. package/cjs/highlevel/methods/auth/get-password-hint.js.map +1 -1
  22. package/cjs/highlevel/methods/auth/log-out.d.ts +1 -1
  23. package/cjs/highlevel/methods/auth/log-out.js +1 -2
  24. package/cjs/highlevel/methods/auth/log-out.js.map +1 -1
  25. package/cjs/highlevel/methods/auth/recover-password.d.ts +2 -2
  26. package/cjs/highlevel/methods/auth/recover-password.js +1 -2
  27. package/cjs/highlevel/methods/auth/recover-password.js.map +1 -1
  28. package/cjs/highlevel/methods/auth/resend-code.d.ts +1 -1
  29. package/cjs/highlevel/methods/auth/resend-code.js +1 -2
  30. package/cjs/highlevel/methods/auth/resend-code.js.map +1 -1
  31. package/cjs/highlevel/methods/auth/run.d.ts +2 -2
  32. package/cjs/highlevel/methods/auth/run.js +2 -3
  33. package/cjs/highlevel/methods/auth/run.js.map +1 -1
  34. package/cjs/highlevel/methods/auth/send-code.d.ts +2 -2
  35. package/cjs/highlevel/methods/auth/send-code.js +1 -2
  36. package/cjs/highlevel/methods/auth/send-code.js.map +1 -1
  37. package/cjs/highlevel/methods/auth/send-recovery-code.d.ts +1 -1
  38. package/cjs/highlevel/methods/auth/send-recovery-code.js +2 -3
  39. package/cjs/highlevel/methods/auth/send-recovery-code.js.map +1 -1
  40. package/cjs/highlevel/methods/auth/sign-in-bot.d.ts +2 -2
  41. package/cjs/highlevel/methods/auth/sign-in-bot.js +1 -2
  42. package/cjs/highlevel/methods/auth/sign-in-bot.js.map +1 -1
  43. package/cjs/highlevel/methods/auth/sign-in-qr.d.ts +4 -3
  44. package/cjs/highlevel/methods/auth/sign-in-qr.js +3 -4
  45. package/cjs/highlevel/methods/auth/sign-in-qr.js.map +1 -1
  46. package/cjs/highlevel/methods/auth/sign-in.d.ts +2 -2
  47. package/cjs/highlevel/methods/auth/sign-in.js +1 -2
  48. package/cjs/highlevel/methods/auth/sign-in.js.map +1 -1
  49. package/cjs/highlevel/methods/auth/start-test.d.ts +2 -2
  50. package/cjs/highlevel/methods/auth/start-test.js +6 -7
  51. package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
  52. package/cjs/highlevel/methods/auth/start.d.ts +6 -6
  53. package/cjs/highlevel/methods/auth/start.js +14 -13
  54. package/cjs/highlevel/methods/auth/start.js.map +1 -1
  55. package/cjs/highlevel/methods/auth/utils.d.ts +2 -2
  56. package/cjs/highlevel/methods/auth/utils.js +2 -3
  57. package/cjs/highlevel/methods/auth/utils.js.map +1 -1
  58. package/cjs/highlevel/methods/bots/answer-callback-query.d.ts +2 -2
  59. package/cjs/highlevel/methods/bots/answer-callback-query.js +1 -2
  60. package/cjs/highlevel/methods/bots/answer-callback-query.js.map +1 -1
  61. package/cjs/highlevel/methods/bots/answer-inline-query.d.ts +4 -4
  62. package/cjs/highlevel/methods/bots/answer-inline-query.js +9 -10
  63. package/cjs/highlevel/methods/bots/answer-inline-query.js.map +1 -1
  64. package/cjs/highlevel/methods/bots/answer-pre-checkout-query.d.ts +2 -2
  65. package/cjs/highlevel/methods/bots/answer-pre-checkout-query.js +1 -2
  66. package/cjs/highlevel/methods/bots/answer-pre-checkout-query.js.map +1 -1
  67. package/cjs/highlevel/methods/bots/delete-my-commands.d.ts +3 -3
  68. package/cjs/highlevel/methods/bots/delete-my-commands.js +4 -5
  69. package/cjs/highlevel/methods/bots/delete-my-commands.js.map +1 -1
  70. package/cjs/highlevel/methods/bots/get-bot-info.d.ts +3 -3
  71. package/cjs/highlevel/methods/bots/get-bot-info.js +2 -3
  72. package/cjs/highlevel/methods/bots/get-bot-info.js.map +1 -1
  73. package/cjs/highlevel/methods/bots/get-bot-menu-button.d.ts +3 -3
  74. package/cjs/highlevel/methods/bots/get-bot-menu-button.js +2 -3
  75. package/cjs/highlevel/methods/bots/get-bot-menu-button.js.map +1 -1
  76. package/cjs/highlevel/methods/bots/get-callback-answer.d.ts +3 -3
  77. package/cjs/highlevel/methods/bots/get-callback-answer.js +3 -4
  78. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  79. package/cjs/highlevel/methods/bots/get-game-high-scores.d.ts +4 -3
  80. package/cjs/highlevel/methods/bots/get-game-high-scores.js +4 -5
  81. package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  82. package/cjs/highlevel/methods/bots/get-my-commands.d.ts +3 -3
  83. package/cjs/highlevel/methods/bots/get-my-commands.js +4 -5
  84. package/cjs/highlevel/methods/bots/get-my-commands.js.map +1 -1
  85. package/cjs/highlevel/methods/bots/normalize-command-scope.d.ts +2 -2
  86. package/cjs/highlevel/methods/bots/normalize-command-scope.js +1 -2
  87. package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  88. package/cjs/highlevel/methods/bots/set-bot-info.d.ts +2 -2
  89. package/cjs/highlevel/methods/bots/set-bot-info.js +2 -3
  90. package/cjs/highlevel/methods/bots/set-bot-info.js.map +1 -1
  91. package/cjs/highlevel/methods/bots/set-bot-menu-button.d.ts +3 -3
  92. package/cjs/highlevel/methods/bots/set-bot-menu-button.js +1 -2
  93. package/cjs/highlevel/methods/bots/set-bot-menu-button.js.map +1 -1
  94. package/cjs/highlevel/methods/bots/set-game-score.d.ts +3 -3
  95. package/cjs/highlevel/methods/bots/set-game-score.js +3 -4
  96. package/cjs/highlevel/methods/bots/set-game-score.js.map +1 -1
  97. package/cjs/highlevel/methods/bots/set-my-commands.d.ts +3 -3
  98. package/cjs/highlevel/methods/bots/set-my-commands.js +4 -5
  99. package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
  100. package/cjs/highlevel/methods/bots/set-my-default-rights.d.ts +2 -2
  101. package/cjs/highlevel/methods/bots/set-my-default-rights.js +1 -2
  102. package/cjs/highlevel/methods/bots/set-my-default-rights.js.map +1 -1
  103. package/cjs/highlevel/methods/chats/add-chat-members.d.ts +4 -4
  104. package/cjs/highlevel/methods/chats/add-chat-members.js +1 -2
  105. package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
  106. package/cjs/highlevel/methods/chats/archive-chats.d.ts +3 -3
  107. package/cjs/highlevel/methods/chats/archive-chats.js +2 -3
  108. package/cjs/highlevel/methods/chats/archive-chats.js.map +1 -1
  109. package/cjs/highlevel/methods/chats/ban-chat-member.d.ts +2 -2
  110. package/cjs/highlevel/methods/chats/ban-chat-member.js +3 -3
  111. package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  112. package/cjs/highlevel/methods/chats/batched-queries.d.ts +5 -4
  113. package/cjs/highlevel/methods/chats/batched-queries.js +9 -9
  114. package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
  115. package/cjs/highlevel/methods/chats/create-channel.d.ts +1 -1
  116. package/cjs/highlevel/methods/chats/create-channel.js +1 -2
  117. package/cjs/highlevel/methods/chats/create-channel.js.map +1 -1
  118. package/cjs/highlevel/methods/chats/create-group.d.ts +5 -4
  119. package/cjs/highlevel/methods/chats/create-group.js +1 -2
  120. package/cjs/highlevel/methods/chats/create-group.js.map +1 -1
  121. package/cjs/highlevel/methods/chats/create-supergroup.d.ts +1 -1
  122. package/cjs/highlevel/methods/chats/create-supergroup.js +1 -2
  123. package/cjs/highlevel/methods/chats/create-supergroup.js.map +1 -1
  124. package/cjs/highlevel/methods/chats/delete-channel.d.ts +2 -2
  125. package/cjs/highlevel/methods/chats/delete-channel.js +1 -2
  126. package/cjs/highlevel/methods/chats/delete-channel.js.map +1 -1
  127. package/cjs/highlevel/methods/chats/delete-chat-photo.d.ts +2 -2
  128. package/cjs/highlevel/methods/chats/delete-chat-photo.js +3 -3
  129. package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  130. package/cjs/highlevel/methods/chats/delete-group.d.ts +2 -2
  131. package/cjs/highlevel/methods/chats/delete-group.js +1 -2
  132. package/cjs/highlevel/methods/chats/delete-group.js.map +1 -1
  133. package/cjs/highlevel/methods/chats/delete-history.d.ts +2 -2
  134. package/cjs/highlevel/methods/chats/delete-history.js +1 -2
  135. package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
  136. package/cjs/highlevel/methods/chats/delete-user-history.d.ts +2 -2
  137. package/cjs/highlevel/methods/chats/delete-user-history.js +1 -2
  138. package/cjs/highlevel/methods/chats/delete-user-history.js.map +1 -1
  139. package/cjs/highlevel/methods/chats/edit-admin-rights.d.ts +3 -3
  140. package/cjs/highlevel/methods/chats/edit-admin-rights.js +1 -2
  141. package/cjs/highlevel/methods/chats/edit-admin-rights.js.map +1 -1
  142. package/cjs/highlevel/methods/chats/get-chat-event-log.d.ts +5 -4
  143. package/cjs/highlevel/methods/chats/get-chat-event-log.js +1 -2
  144. package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  145. package/cjs/highlevel/methods/chats/get-chat-member.d.ts +3 -2
  146. package/cjs/highlevel/methods/chats/get-chat-member.js +5 -5
  147. package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
  148. package/cjs/highlevel/methods/chats/get-chat-members.d.ts +3 -2
  149. package/cjs/highlevel/methods/chats/get-chat-members.js +3 -4
  150. package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
  151. package/cjs/highlevel/methods/chats/get-chat-preview.d.ts +1 -1
  152. package/cjs/highlevel/methods/chats/get-chat-preview.js +1 -2
  153. package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  154. package/cjs/highlevel/methods/chats/get-chat.d.ts +3 -2
  155. package/cjs/highlevel/methods/chats/get-chat.js +1 -2
  156. package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
  157. package/cjs/highlevel/methods/chats/get-full-chat.d.ts +3 -2
  158. package/cjs/highlevel/methods/chats/get-full-chat.js +3 -3
  159. package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
  160. package/cjs/highlevel/methods/chats/get-nearby-chats.d.ts +1 -1
  161. package/cjs/highlevel/methods/chats/get-nearby-chats.js +3 -4
  162. package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  163. package/cjs/highlevel/methods/chats/get-similar-channels.d.ts +3 -2
  164. package/cjs/highlevel/methods/chats/get-similar-channels.js +2 -3
  165. package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  166. package/cjs/highlevel/methods/chats/iter-chat-event-log.d.ts +2 -2
  167. package/cjs/highlevel/methods/chats/iter-chat-event-log.js +1 -2
  168. package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  169. package/cjs/highlevel/methods/chats/iter-chat-members.d.ts +2 -2
  170. package/cjs/highlevel/methods/chats/iter-chat-members.js +1 -2
  171. package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  172. package/cjs/highlevel/methods/chats/join-chat.d.ts +3 -2
  173. package/cjs/highlevel/methods/chats/join-chat.js +1 -2
  174. package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
  175. package/cjs/highlevel/methods/chats/kick-chat-member.d.ts +2 -2
  176. package/cjs/highlevel/methods/chats/kick-chat-member.js +1 -2
  177. package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  178. package/cjs/highlevel/methods/chats/leave-chat.d.ts +2 -2
  179. package/cjs/highlevel/methods/chats/leave-chat.js +3 -3
  180. package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
  181. package/cjs/highlevel/methods/chats/mark-chat-unread.d.ts +2 -2
  182. package/cjs/highlevel/methods/chats/mark-chat-unread.js +1 -2
  183. package/cjs/highlevel/methods/chats/mark-chat-unread.js.map +1 -1
  184. package/cjs/highlevel/methods/chats/open-chat.d.ts +2 -2
  185. package/cjs/highlevel/methods/chats/open-chat.js +2 -3
  186. package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
  187. package/cjs/highlevel/methods/chats/reorder-usernames.d.ts +2 -2
  188. package/cjs/highlevel/methods/chats/reorder-usernames.js +1 -2
  189. package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  190. package/cjs/highlevel/methods/chats/restrict-chat-member.d.ts +3 -3
  191. package/cjs/highlevel/methods/chats/restrict-chat-member.js +1 -2
  192. package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  193. package/cjs/highlevel/methods/chats/save-draft.d.ts +3 -3
  194. package/cjs/highlevel/methods/chats/save-draft.js +1 -2
  195. package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
  196. package/cjs/highlevel/methods/chats/set-chat-color.d.ts +3 -3
  197. package/cjs/highlevel/methods/chats/set-chat-color.js +1 -2
  198. package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
  199. package/cjs/highlevel/methods/chats/set-chat-default-permissions.d.ts +4 -3
  200. package/cjs/highlevel/methods/chats/set-chat-default-permissions.js +1 -2
  201. package/cjs/highlevel/methods/chats/set-chat-default-permissions.js.map +1 -1
  202. package/cjs/highlevel/methods/chats/set-chat-description.d.ts +2 -2
  203. package/cjs/highlevel/methods/chats/set-chat-description.js +1 -2
  204. package/cjs/highlevel/methods/chats/set-chat-description.js.map +1 -1
  205. package/cjs/highlevel/methods/chats/set-chat-photo.d.ts +2 -2
  206. package/cjs/highlevel/methods/chats/set-chat-photo.js +4 -4
  207. package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  208. package/cjs/highlevel/methods/chats/set-chat-title.d.ts +2 -2
  209. package/cjs/highlevel/methods/chats/set-chat-title.js +3 -3
  210. package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
  211. package/cjs/highlevel/methods/chats/set-chat-ttl.d.ts +2 -2
  212. package/cjs/highlevel/methods/chats/set-chat-ttl.js +1 -2
  213. package/cjs/highlevel/methods/chats/set-chat-ttl.js.map +1 -1
  214. package/cjs/highlevel/methods/chats/set-chat-username.d.ts +2 -2
  215. package/cjs/highlevel/methods/chats/set-chat-username.js +1 -2
  216. package/cjs/highlevel/methods/chats/set-chat-username.js.map +1 -1
  217. package/cjs/highlevel/methods/chats/set-slow-mode.d.ts +2 -2
  218. package/cjs/highlevel/methods/chats/set-slow-mode.js +1 -2
  219. package/cjs/highlevel/methods/chats/set-slow-mode.js.map +1 -1
  220. package/cjs/highlevel/methods/chats/toggle-content-protection.d.ts +2 -2
  221. package/cjs/highlevel/methods/chats/toggle-content-protection.js +1 -2
  222. package/cjs/highlevel/methods/chats/toggle-content-protection.js.map +1 -1
  223. package/cjs/highlevel/methods/chats/toggle-fragment-username.d.ts +2 -2
  224. package/cjs/highlevel/methods/chats/toggle-fragment-username.js +1 -2
  225. package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  226. package/cjs/highlevel/methods/chats/toggle-join-requests.d.ts +2 -2
  227. package/cjs/highlevel/methods/chats/toggle-join-requests.js +1 -2
  228. package/cjs/highlevel/methods/chats/toggle-join-requests.js.map +1 -1
  229. package/cjs/highlevel/methods/chats/toggle-join-to-send.d.ts +2 -2
  230. package/cjs/highlevel/methods/chats/toggle-join-to-send.js +1 -2
  231. package/cjs/highlevel/methods/chats/toggle-join-to-send.js.map +1 -1
  232. package/cjs/highlevel/methods/chats/unarchive-chats.d.ts +3 -3
  233. package/cjs/highlevel/methods/chats/unarchive-chats.js +1 -2
  234. package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  235. package/cjs/highlevel/methods/chats/unban-chat-member.d.ts +2 -2
  236. package/cjs/highlevel/methods/chats/unban-chat-member.js +3 -3
  237. package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  238. package/cjs/highlevel/methods/contacts/add-contact.d.ts +3 -2
  239. package/cjs/highlevel/methods/contacts/add-contact.js +1 -2
  240. package/cjs/highlevel/methods/contacts/add-contact.js.map +1 -1
  241. package/cjs/highlevel/methods/contacts/delete-contacts.d.ts +4 -3
  242. package/cjs/highlevel/methods/contacts/delete-contacts.js +2 -3
  243. package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  244. package/cjs/highlevel/methods/contacts/get-contacts.d.ts +1 -1
  245. package/cjs/highlevel/methods/contacts/get-contacts.js +2 -3
  246. package/cjs/highlevel/methods/contacts/get-contacts.js.map +1 -1
  247. package/cjs/highlevel/methods/contacts/import-contacts.d.ts +3 -3
  248. package/cjs/highlevel/methods/contacts/import-contacts.js +3 -4
  249. package/cjs/highlevel/methods/contacts/import-contacts.js.map +1 -1
  250. package/cjs/highlevel/methods/dialogs/create-folder.d.ts +3 -3
  251. package/cjs/highlevel/methods/dialogs/create-folder.js +1 -2
  252. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  253. package/cjs/highlevel/methods/dialogs/delete-folder.d.ts +2 -2
  254. package/cjs/highlevel/methods/dialogs/delete-folder.js +1 -2
  255. package/cjs/highlevel/methods/dialogs/delete-folder.js.map +1 -1
  256. package/cjs/highlevel/methods/dialogs/edit-folder.d.ts +2 -2
  257. package/cjs/highlevel/methods/dialogs/edit-folder.js +2 -3
  258. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  259. package/cjs/highlevel/methods/dialogs/find-dialogs.d.ts +3 -3
  260. package/cjs/highlevel/methods/dialogs/find-dialogs.js +6 -3
  261. package/cjs/highlevel/methods/dialogs/find-dialogs.js.map +1 -1
  262. package/cjs/highlevel/methods/dialogs/find-folder.d.ts +2 -2
  263. package/cjs/highlevel/methods/dialogs/find-folder.js +1 -2
  264. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  265. package/cjs/highlevel/methods/dialogs/get-chatlist-preview.d.ts +1 -1
  266. package/cjs/highlevel/methods/dialogs/get-chatlist-preview.js +1 -2
  267. package/cjs/highlevel/methods/dialogs/get-chatlist-preview.js.map +1 -1
  268. package/cjs/highlevel/methods/dialogs/get-folders.d.ts +3 -3
  269. package/cjs/highlevel/methods/dialogs/get-folders.js +2 -3
  270. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  271. package/cjs/highlevel/methods/dialogs/get-peer-dialogs.d.ts +3 -3
  272. package/cjs/highlevel/methods/dialogs/get-peer-dialogs.js +2 -3
  273. package/cjs/highlevel/methods/dialogs/get-peer-dialogs.js.map +1 -1
  274. package/cjs/highlevel/methods/dialogs/iter-dialogs.d.ts +5 -4
  275. package/cjs/highlevel/methods/dialogs/iter-dialogs.js +7 -8
  276. package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  277. package/cjs/highlevel/methods/dialogs/join-chatlist.d.ts +4 -4
  278. package/cjs/highlevel/methods/dialogs/join-chatlist.js +3 -4
  279. package/cjs/highlevel/methods/dialogs/join-chatlist.js.map +1 -1
  280. package/cjs/highlevel/methods/dialogs/set-folders-order.d.ts +1 -1
  281. package/cjs/highlevel/methods/dialogs/set-folders-order.js +1 -2
  282. package/cjs/highlevel/methods/dialogs/set-folders-order.js.map +1 -1
  283. package/cjs/highlevel/methods/files/download-buffer.d.ts +2 -2
  284. package/cjs/highlevel/methods/files/download-buffer.js +1 -2
  285. package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
  286. package/cjs/highlevel/methods/files/download-file.js +1 -1
  287. package/cjs/highlevel/methods/files/download-file.js.map +1 -1
  288. package/cjs/highlevel/methods/files/download-iterable.d.ts +2 -2
  289. package/cjs/highlevel/methods/files/download-iterable.js +6 -6
  290. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  291. package/cjs/highlevel/methods/files/download-node-stream.js +1 -1
  292. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
  293. package/cjs/highlevel/methods/files/download-stream.d.ts +2 -2
  294. package/cjs/highlevel/methods/files/download-stream.js +2 -3
  295. package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
  296. package/cjs/highlevel/methods/files/normalize-file-to-document.d.ts +2 -2
  297. package/cjs/highlevel/methods/files/normalize-file-to-document.js +1 -2
  298. package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  299. package/cjs/highlevel/methods/files/normalize-input-file.d.ts +2 -2
  300. package/cjs/highlevel/methods/files/normalize-input-file.js +1 -2
  301. package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
  302. package/cjs/highlevel/methods/files/normalize-input-media.d.ts +2 -2
  303. package/cjs/highlevel/methods/files/normalize-input-media.js +21 -22
  304. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  305. package/cjs/highlevel/methods/files/upload-file.d.ts +2 -2
  306. package/cjs/highlevel/methods/files/upload-file.js +8 -9
  307. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  308. package/cjs/highlevel/methods/files/upload-media.d.ts +3 -2
  309. package/cjs/highlevel/methods/files/upload-media.js +4 -5
  310. package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
  311. package/cjs/highlevel/methods/forums/create-forum-topic.d.ts +3 -3
  312. package/cjs/highlevel/methods/forums/create-forum-topic.js +1 -2
  313. package/cjs/highlevel/methods/forums/create-forum-topic.js.map +1 -1
  314. package/cjs/highlevel/methods/forums/delete-forum-topic-history.d.ts +1 -1
  315. package/cjs/highlevel/methods/forums/delete-forum-topic-history.js +1 -2
  316. package/cjs/highlevel/methods/forums/delete-forum-topic-history.js.map +1 -1
  317. package/cjs/highlevel/methods/forums/edit-forum-topic.d.ts +2 -2
  318. package/cjs/highlevel/methods/forums/edit-forum-topic.js +1 -2
  319. package/cjs/highlevel/methods/forums/edit-forum-topic.js.map +1 -1
  320. package/cjs/highlevel/methods/forums/get-forum-topics-by-id.d.ts +4 -3
  321. package/cjs/highlevel/methods/forums/get-forum-topics-by-id.js +1 -2
  322. package/cjs/highlevel/methods/forums/get-forum-topics-by-id.js.map +1 -1
  323. package/cjs/highlevel/methods/forums/get-forum-topics.d.ts +3 -2
  324. package/cjs/highlevel/methods/forums/get-forum-topics.js +5 -6
  325. package/cjs/highlevel/methods/forums/get-forum-topics.js.map +1 -1
  326. package/cjs/highlevel/methods/forums/iter-forum-topics.d.ts +2 -2
  327. package/cjs/highlevel/methods/forums/iter-forum-topics.js +1 -2
  328. package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  329. package/cjs/highlevel/methods/forums/reorder-pinned-forum-topics.d.ts +1 -1
  330. package/cjs/highlevel/methods/forums/reorder-pinned-forum-topics.js +2 -3
  331. package/cjs/highlevel/methods/forums/reorder-pinned-forum-topics.js.map +1 -1
  332. package/cjs/highlevel/methods/forums/toggle-forum-topic-closed.d.ts +1 -1
  333. package/cjs/highlevel/methods/forums/toggle-forum-topic-closed.js +1 -2
  334. package/cjs/highlevel/methods/forums/toggle-forum-topic-closed.js.map +1 -1
  335. package/cjs/highlevel/methods/forums/toggle-forum-topic-pinned.d.ts +2 -2
  336. package/cjs/highlevel/methods/forums/toggle-forum-topic-pinned.js +1 -2
  337. package/cjs/highlevel/methods/forums/toggle-forum-topic-pinned.js.map +1 -1
  338. package/cjs/highlevel/methods/forums/toggle-forum.d.ts +2 -2
  339. package/cjs/highlevel/methods/forums/toggle-forum.js +1 -2
  340. package/cjs/highlevel/methods/forums/toggle-forum.js.map +1 -1
  341. package/cjs/highlevel/methods/forums/toggle-general-topic-hidden.d.ts +2 -2
  342. package/cjs/highlevel/methods/forums/toggle-general-topic-hidden.js +1 -2
  343. package/cjs/highlevel/methods/forums/toggle-general-topic-hidden.js.map +1 -1
  344. package/cjs/highlevel/methods/invite-links/create-invite-link.d.ts +3 -2
  345. package/cjs/highlevel/methods/invite-links/create-invite-link.js +1 -2
  346. package/cjs/highlevel/methods/invite-links/create-invite-link.js.map +1 -1
  347. package/cjs/highlevel/methods/invite-links/edit-invite-link.d.ts +3 -2
  348. package/cjs/highlevel/methods/invite-links/edit-invite-link.js +1 -2
  349. package/cjs/highlevel/methods/invite-links/edit-invite-link.js.map +1 -1
  350. package/cjs/highlevel/methods/invite-links/export-invite-link.d.ts +3 -2
  351. package/cjs/highlevel/methods/invite-links/export-invite-link.js +1 -2
  352. package/cjs/highlevel/methods/invite-links/export-invite-link.js.map +1 -1
  353. package/cjs/highlevel/methods/invite-links/get-invite-link-members.d.ts +4 -3
  354. package/cjs/highlevel/methods/invite-links/get-invite-link-members.js +6 -7
  355. package/cjs/highlevel/methods/invite-links/get-invite-link-members.js.map +1 -1
  356. package/cjs/highlevel/methods/invite-links/get-invite-link.d.ts +3 -2
  357. package/cjs/highlevel/methods/invite-links/get-invite-link.js +1 -2
  358. package/cjs/highlevel/methods/invite-links/get-invite-link.js.map +1 -1
  359. package/cjs/highlevel/methods/invite-links/get-invite-links.d.ts +3 -2
  360. package/cjs/highlevel/methods/invite-links/get-invite-links.js +6 -7
  361. package/cjs/highlevel/methods/invite-links/get-invite-links.js.map +1 -1
  362. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.d.ts +3 -2
  363. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js +1 -2
  364. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  365. package/cjs/highlevel/methods/invite-links/hide-all-join-requests.d.ts +1 -1
  366. package/cjs/highlevel/methods/invite-links/hide-all-join-requests.js +1 -2
  367. package/cjs/highlevel/methods/invite-links/hide-all-join-requests.js.map +1 -1
  368. package/cjs/highlevel/methods/invite-links/hide-join-request.d.ts +2 -2
  369. package/cjs/highlevel/methods/invite-links/hide-join-request.js +1 -2
  370. package/cjs/highlevel/methods/invite-links/hide-join-request.js.map +1 -1
  371. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.d.ts +2 -2
  372. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js +1 -2
  373. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  374. package/cjs/highlevel/methods/invite-links/iter-invite-links.d.ts +2 -2
  375. package/cjs/highlevel/methods/invite-links/iter-invite-links.js +1 -2
  376. package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  377. package/cjs/highlevel/methods/invite-links/revoke-invite-link.d.ts +3 -2
  378. package/cjs/highlevel/methods/invite-links/revoke-invite-link.js +1 -2
  379. package/cjs/highlevel/methods/invite-links/revoke-invite-link.js.map +1 -1
  380. package/cjs/highlevel/methods/messages/_business-connection.d.ts +4 -4
  381. package/cjs/highlevel/methods/messages/_business-connection.js +4 -5
  382. package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -1
  383. package/cjs/highlevel/methods/messages/close-poll.d.ts +3 -2
  384. package/cjs/highlevel/methods/messages/close-poll.js +1 -2
  385. package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
  386. package/cjs/highlevel/methods/messages/delete-messages.d.ts +2 -2
  387. package/cjs/highlevel/methods/messages/delete-messages.js +2 -3
  388. package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
  389. package/cjs/highlevel/methods/messages/delete-scheduled-messages.d.ts +2 -2
  390. package/cjs/highlevel/methods/messages/delete-scheduled-messages.js +1 -2
  391. package/cjs/highlevel/methods/messages/delete-scheduled-messages.js.map +1 -1
  392. package/cjs/highlevel/methods/messages/edit-inline-message.d.ts +2 -2
  393. package/cjs/highlevel/methods/messages/edit-inline-message.js +3 -4
  394. package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  395. package/cjs/highlevel/methods/messages/edit-message.d.ts +2 -2
  396. package/cjs/highlevel/methods/messages/edit-message.js +3 -4
  397. package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
  398. package/cjs/highlevel/methods/messages/find-in-update.d.ts +2 -2
  399. package/cjs/highlevel/methods/messages/find-in-update.js +10 -11
  400. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  401. package/cjs/highlevel/methods/messages/forward-messages.d.ts +3 -2
  402. package/cjs/highlevel/methods/messages/forward-messages.js +3 -4
  403. package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
  404. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.d.ts +3 -2
  405. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js +1 -2
  406. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -1
  407. package/cjs/highlevel/methods/messages/get-available-effects.d.ts +1 -1
  408. package/cjs/highlevel/methods/messages/get-available-effects.js +2 -3
  409. package/cjs/highlevel/methods/messages/get-available-effects.js.map +1 -1
  410. package/cjs/highlevel/methods/messages/get-callback-query-message.d.ts +3 -3
  411. package/cjs/highlevel/methods/messages/get-callback-query-message.js +5 -6
  412. package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  413. package/cjs/highlevel/methods/messages/get-discussion-message.d.ts +5 -4
  414. package/cjs/highlevel/methods/messages/get-discussion-message.js +3 -4
  415. package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  416. package/cjs/highlevel/methods/messages/get-fact-check.d.ts +3 -3
  417. package/cjs/highlevel/methods/messages/get-fact-check.js +1 -2
  418. package/cjs/highlevel/methods/messages/get-fact-check.js.map +1 -1
  419. package/cjs/highlevel/methods/messages/get-history.d.ts +3 -2
  420. package/cjs/highlevel/methods/messages/get-history.js +6 -7
  421. package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
  422. package/cjs/highlevel/methods/messages/get-message-by-link.d.ts +2 -2
  423. package/cjs/highlevel/methods/messages/get-message-by-link.js +1 -2
  424. package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  425. package/cjs/highlevel/methods/messages/get-message-group.d.ts +2 -2
  426. package/cjs/highlevel/methods/messages/get-message-group.js +3 -4
  427. package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
  428. package/cjs/highlevel/methods/messages/get-message-reactions.d.ts +3 -2
  429. package/cjs/highlevel/methods/messages/get-message-reactions.js +4 -5
  430. package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  431. package/cjs/highlevel/methods/messages/get-messages-unsafe.d.ts +3 -3
  432. package/cjs/highlevel/methods/messages/get-messages-unsafe.js +3 -4
  433. package/cjs/highlevel/methods/messages/get-messages-unsafe.js.map +1 -1
  434. package/cjs/highlevel/methods/messages/get-messages.d.ts +4 -4
  435. package/cjs/highlevel/methods/messages/get-messages.js +8 -9
  436. package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
  437. package/cjs/highlevel/methods/messages/get-reaction-users.d.ts +3 -2
  438. package/cjs/highlevel/methods/messages/get-reaction-users.js +2 -3
  439. package/cjs/highlevel/methods/messages/get-reaction-users.js.map +1 -1
  440. package/cjs/highlevel/methods/messages/get-reply-to.d.ts +2 -2
  441. package/cjs/highlevel/methods/messages/get-reply-to.js +1 -2
  442. package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
  443. package/cjs/highlevel/methods/messages/get-scheduled-messages.d.ts +4 -3
  444. package/cjs/highlevel/methods/messages/get-scheduled-messages.js +1 -2
  445. package/cjs/highlevel/methods/messages/get-scheduled-messages.js.map +1 -1
  446. package/cjs/highlevel/methods/messages/iter-history.d.ts +2 -2
  447. package/cjs/highlevel/methods/messages/iter-history.js +1 -2
  448. package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
  449. package/cjs/highlevel/methods/messages/iter-reaction-users.d.ts +2 -2
  450. package/cjs/highlevel/methods/messages/iter-reaction-users.js +1 -2
  451. package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  452. package/cjs/highlevel/methods/messages/iter-search-global.d.ts +2 -2
  453. package/cjs/highlevel/methods/messages/iter-search-global.js +1 -2
  454. package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
  455. package/cjs/highlevel/methods/messages/iter-search-messages.d.ts +2 -2
  456. package/cjs/highlevel/methods/messages/iter-search-messages.js +1 -2
  457. package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  458. package/cjs/highlevel/methods/messages/pin-message.d.ts +2 -2
  459. package/cjs/highlevel/methods/messages/pin-message.js +1 -2
  460. package/cjs/highlevel/methods/messages/pin-message.js.map +1 -1
  461. package/cjs/highlevel/methods/messages/read-history.d.ts +2 -2
  462. package/cjs/highlevel/methods/messages/read-history.js +1 -2
  463. package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
  464. package/cjs/highlevel/methods/messages/read-reactions.d.ts +2 -2
  465. package/cjs/highlevel/methods/messages/read-reactions.js +1 -2
  466. package/cjs/highlevel/methods/messages/read-reactions.js.map +1 -1
  467. package/cjs/highlevel/methods/messages/search-global.d.ts +4 -3
  468. package/cjs/highlevel/methods/messages/search-global.js +6 -7
  469. package/cjs/highlevel/methods/messages/search-global.js.map +1 -1
  470. package/cjs/highlevel/methods/messages/search-hashtag.d.ts +3 -3
  471. package/cjs/highlevel/methods/messages/search-hashtag.js +7 -8
  472. package/cjs/highlevel/methods/messages/search-hashtag.js.map +1 -1
  473. package/cjs/highlevel/methods/messages/search-messages.d.ts +4 -3
  474. package/cjs/highlevel/methods/messages/search-messages.js +2 -3
  475. package/cjs/highlevel/methods/messages/search-messages.js.map +1 -1
  476. package/cjs/highlevel/methods/messages/send-answer.d.ts +3 -3
  477. package/cjs/highlevel/methods/messages/send-answer.js +3 -4
  478. package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
  479. package/cjs/highlevel/methods/messages/send-comment.d.ts +3 -3
  480. package/cjs/highlevel/methods/messages/send-comment.js +3 -4
  481. package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
  482. package/cjs/highlevel/methods/messages/send-common.d.ts +5 -5
  483. package/cjs/highlevel/methods/messages/send-common.js +5 -6
  484. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  485. package/cjs/highlevel/methods/messages/send-copy-group.d.ts +4 -4
  486. package/cjs/highlevel/methods/messages/send-copy-group.js +2 -3
  487. package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
  488. package/cjs/highlevel/methods/messages/send-copy.d.ts +3 -3
  489. package/cjs/highlevel/methods/messages/send-copy.js +1 -2
  490. package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
  491. package/cjs/highlevel/methods/messages/send-media-group.d.ts +4 -4
  492. package/cjs/highlevel/methods/messages/send-media-group.js +2 -3
  493. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  494. package/cjs/highlevel/methods/messages/send-media.d.ts +7 -7
  495. package/cjs/highlevel/methods/messages/send-media.js +1 -2
  496. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  497. package/cjs/highlevel/methods/messages/send-paid-reaction.d.ts +25 -0
  498. package/cjs/highlevel/methods/messages/send-paid-reaction.js +54 -0
  499. package/cjs/highlevel/methods/messages/send-paid-reaction.js.map +1 -0
  500. package/cjs/highlevel/methods/messages/send-quote.d.ts +3 -3
  501. package/cjs/highlevel/methods/messages/send-quote.js +3 -4
  502. package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
  503. package/cjs/highlevel/methods/messages/send-reaction.d.ts +3 -3
  504. package/cjs/highlevel/methods/messages/send-reaction.js +1 -2
  505. package/cjs/highlevel/methods/messages/send-reaction.js.map +1 -1
  506. package/cjs/highlevel/methods/messages/send-reply.d.ts +3 -3
  507. package/cjs/highlevel/methods/messages/send-reply.js +3 -4
  508. package/cjs/highlevel/methods/messages/send-reply.js.map +1 -1
  509. package/cjs/highlevel/methods/messages/send-scheduled.d.ts +4 -3
  510. package/cjs/highlevel/methods/messages/send-scheduled.js +2 -3
  511. package/cjs/highlevel/methods/messages/send-scheduled.js.map +1 -1
  512. package/cjs/highlevel/methods/messages/send-text.d.ts +5 -5
  513. package/cjs/highlevel/methods/messages/send-text.js +1 -2
  514. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  515. package/cjs/highlevel/methods/messages/send-typing.d.ts +3 -3
  516. package/cjs/highlevel/methods/messages/send-typing.js +1 -2
  517. package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
  518. package/cjs/highlevel/methods/messages/send-vote.d.ts +4 -3
  519. package/cjs/highlevel/methods/messages/send-vote.js +3 -4
  520. package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
  521. package/cjs/highlevel/methods/messages/translate-message.d.ts +2 -2
  522. package/cjs/highlevel/methods/messages/translate-message.js +1 -2
  523. package/cjs/highlevel/methods/messages/translate-message.js.map +1 -1
  524. package/cjs/highlevel/methods/messages/translate-text.d.ts +2 -2
  525. package/cjs/highlevel/methods/messages/translate-text.js +1 -2
  526. package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
  527. package/cjs/highlevel/methods/messages/unpin-all-messages.d.ts +2 -2
  528. package/cjs/highlevel/methods/messages/unpin-all-messages.js +1 -2
  529. package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  530. package/cjs/highlevel/methods/messages/unpin-message.d.ts +2 -2
  531. package/cjs/highlevel/methods/messages/unpin-message.js +1 -2
  532. package/cjs/highlevel/methods/messages/unpin-message.js.map +1 -1
  533. package/cjs/highlevel/methods/misc/chain-id.d.ts +2 -2
  534. package/cjs/highlevel/methods/misc/chain-id.js +1 -2
  535. package/cjs/highlevel/methods/misc/chain-id.js.map +1 -1
  536. package/cjs/highlevel/methods/misc/get-collectible-info.d.ts +1 -1
  537. package/cjs/highlevel/methods/misc/get-collectible-info.js +5 -6
  538. package/cjs/highlevel/methods/misc/get-collectible-info.js.map +1 -1
  539. package/cjs/highlevel/methods/misc/init-takeout-session.d.ts +2 -2
  540. package/cjs/highlevel/methods/misc/init-takeout-session.js +1 -2
  541. package/cjs/highlevel/methods/misc/init-takeout-session.js.map +1 -1
  542. package/cjs/highlevel/methods/misc/normalize-privacy-rules.d.ts +3 -3
  543. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js +1 -2
  544. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  545. package/cjs/highlevel/methods/misc/normalize-text.d.ts +3 -3
  546. package/cjs/highlevel/methods/misc/normalize-text.js +1 -2
  547. package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
  548. package/cjs/highlevel/methods/misc/with-params.d.ts +2 -2
  549. package/cjs/highlevel/methods/misc/with-params.js +1 -2
  550. package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
  551. package/cjs/highlevel/methods/password/change-cloud-password.d.ts +1 -1
  552. package/cjs/highlevel/methods/password/change-cloud-password.js +1 -2
  553. package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
  554. package/cjs/highlevel/methods/password/enable-cloud-password.d.ts +1 -1
  555. package/cjs/highlevel/methods/password/enable-cloud-password.js +1 -2
  556. package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  557. package/cjs/highlevel/methods/password/password-email.d.ts +1 -1
  558. package/cjs/highlevel/methods/password/password-email.js +3 -4
  559. package/cjs/highlevel/methods/password/password-email.js.map +1 -1
  560. package/cjs/highlevel/methods/password/remove-cloud-password.d.ts +1 -1
  561. package/cjs/highlevel/methods/password/remove-cloud-password.js +1 -2
  562. package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  563. package/cjs/highlevel/methods/premium/apply-boost.d.ts +2 -2
  564. package/cjs/highlevel/methods/premium/apply-boost.js +1 -2
  565. package/cjs/highlevel/methods/premium/apply-boost.js.map +1 -1
  566. package/cjs/highlevel/methods/premium/can-apply-boost.d.ts +3 -3
  567. package/cjs/highlevel/methods/premium/can-apply-boost.js +4 -5
  568. package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  569. package/cjs/highlevel/methods/premium/create-business-chat-link.d.ts +2 -2
  570. package/cjs/highlevel/methods/premium/create-business-chat-link.js +1 -2
  571. package/cjs/highlevel/methods/premium/create-business-chat-link.js.map +1 -1
  572. package/cjs/highlevel/methods/premium/edit-business-chat-link.d.ts +2 -2
  573. package/cjs/highlevel/methods/premium/edit-business-chat-link.js +2 -3
  574. package/cjs/highlevel/methods/premium/edit-business-chat-link.js.map +1 -1
  575. package/cjs/highlevel/methods/premium/get-boost-stats.d.ts +2 -2
  576. package/cjs/highlevel/methods/premium/get-boost-stats.js +1 -2
  577. package/cjs/highlevel/methods/premium/get-boost-stats.js.map +1 -1
  578. package/cjs/highlevel/methods/premium/get-boosts.d.ts +2 -2
  579. package/cjs/highlevel/methods/premium/get-boosts.js +2 -3
  580. package/cjs/highlevel/methods/premium/get-boosts.js.map +1 -1
  581. package/cjs/highlevel/methods/premium/get-business-chat-links.d.ts +1 -1
  582. package/cjs/highlevel/methods/premium/get-business-chat-links.js +2 -3
  583. package/cjs/highlevel/methods/premium/get-business-chat-links.js.map +1 -1
  584. package/cjs/highlevel/methods/premium/get-business-connection.d.ts +1 -1
  585. package/cjs/highlevel/methods/premium/get-business-connection.js +1 -2
  586. package/cjs/highlevel/methods/premium/get-business-connection.js.map +1 -1
  587. package/cjs/highlevel/methods/premium/get-my-boost-slots.d.ts +1 -1
  588. package/cjs/highlevel/methods/premium/get-my-boost-slots.js +2 -3
  589. package/cjs/highlevel/methods/premium/get-my-boost-slots.js.map +1 -1
  590. package/cjs/highlevel/methods/premium/get-stars-transactions.d.ts +34 -0
  591. package/cjs/highlevel/methods/premium/get-stars-transactions.js +29 -0
  592. package/cjs/highlevel/methods/premium/get-stars-transactions.js.map +1 -0
  593. package/cjs/highlevel/methods/premium/iter-boosters.d.ts +3 -5
  594. package/cjs/highlevel/methods/premium/iter-boosters.js +1 -4
  595. package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
  596. package/cjs/highlevel/methods/premium/iter-stars-transactions.d.ts +29 -0
  597. package/cjs/highlevel/methods/premium/iter-stars-transactions.js +39 -0
  598. package/cjs/highlevel/methods/premium/iter-stars-transactions.js.map +1 -0
  599. package/cjs/highlevel/methods/premium/set-business-intro.d.ts +3 -3
  600. package/cjs/highlevel/methods/premium/set-business-intro.js +5 -4
  601. package/cjs/highlevel/methods/premium/set-business-intro.js.map +1 -1
  602. package/cjs/highlevel/methods/premium/set-business-work-hours.d.ts +3 -3
  603. package/cjs/highlevel/methods/premium/set-business-work-hours.js +2 -3
  604. package/cjs/highlevel/methods/premium/set-business-work-hours.js.map +1 -1
  605. package/cjs/highlevel/methods/stickers/_utils.d.ts +3 -3
  606. package/cjs/highlevel/methods/stickers/_utils.js +5 -6
  607. package/cjs/highlevel/methods/stickers/_utils.js.map +1 -1
  608. package/cjs/highlevel/methods/stickers/add-sticker-to-set.d.ts +3 -2
  609. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js +1 -2
  610. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  611. package/cjs/highlevel/methods/stickers/create-sticker-set.d.ts +3 -2
  612. package/cjs/highlevel/methods/stickers/create-sticker-set.js +1 -2
  613. package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  614. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.d.ts +2 -2
  615. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  616. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  617. package/cjs/highlevel/methods/stickers/get-custom-emojis.d.ts +4 -4
  618. package/cjs/highlevel/methods/stickers/get-custom-emojis.js +2 -3
  619. package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  620. package/cjs/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -1
  621. package/cjs/highlevel/methods/stickers/get-installed-stickers.js +2 -3
  622. package/cjs/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  623. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.d.ts +2 -2
  624. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js +2 -3
  625. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -1
  626. package/cjs/highlevel/methods/stickers/get-sticker-set.d.ts +3 -2
  627. package/cjs/highlevel/methods/stickers/get-sticker-set.js +1 -2
  628. package/cjs/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  629. package/cjs/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -2
  630. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js +1 -2
  631. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  632. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.d.ts +4 -3
  633. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js +1 -2
  634. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -1
  635. package/cjs/highlevel/methods/stickers/set-chat-sticker-set.d.ts +2 -2
  636. package/cjs/highlevel/methods/stickers/set-chat-sticker-set.js +1 -2
  637. package/cjs/highlevel/methods/stickers/set-chat-sticker-set.js.map +1 -1
  638. package/cjs/highlevel/methods/stickers/set-sticker-set-thumb.d.ts +4 -3
  639. package/cjs/highlevel/methods/stickers/set-sticker-set-thumb.js +1 -2
  640. package/cjs/highlevel/methods/stickers/set-sticker-set-thumb.js.map +1 -1
  641. package/cjs/highlevel/methods/stories/can-send-story.d.ts +2 -2
  642. package/cjs/highlevel/methods/stories/can-send-story.js +1 -2
  643. package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
  644. package/cjs/highlevel/methods/stories/delete-stories.d.ts +3 -3
  645. package/cjs/highlevel/methods/stories/delete-stories.js +1 -2
  646. package/cjs/highlevel/methods/stories/delete-stories.js.map +1 -1
  647. package/cjs/highlevel/methods/stories/edit-story.d.ts +3 -3
  648. package/cjs/highlevel/methods/stories/edit-story.js +3 -4
  649. package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
  650. package/cjs/highlevel/methods/stories/find-in-update.d.ts +2 -2
  651. package/cjs/highlevel/methods/stories/find-in-update.js +1 -2
  652. package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
  653. package/cjs/highlevel/methods/stories/get-all-stories.d.ts +1 -1
  654. package/cjs/highlevel/methods/stories/get-all-stories.js +1 -2
  655. package/cjs/highlevel/methods/stories/get-all-stories.js.map +1 -1
  656. package/cjs/highlevel/methods/stories/get-peer-stories.d.ts +3 -2
  657. package/cjs/highlevel/methods/stories/get-peer-stories.js +1 -2
  658. package/cjs/highlevel/methods/stories/get-peer-stories.js.map +1 -1
  659. package/cjs/highlevel/methods/stories/get-profile-stories.d.ts +3 -2
  660. package/cjs/highlevel/methods/stories/get-profile-stories.js +1 -2
  661. package/cjs/highlevel/methods/stories/get-profile-stories.js.map +1 -1
  662. package/cjs/highlevel/methods/stories/get-stories-by-id.d.ts +4 -3
  663. package/cjs/highlevel/methods/stories/get-stories-by-id.js +1 -2
  664. package/cjs/highlevel/methods/stories/get-stories-by-id.js.map +1 -1
  665. package/cjs/highlevel/methods/stories/get-stories-interactions.d.ts +4 -3
  666. package/cjs/highlevel/methods/stories/get-stories-interactions.js +2 -3
  667. package/cjs/highlevel/methods/stories/get-stories-interactions.js.map +1 -1
  668. package/cjs/highlevel/methods/stories/get-story-link.d.ts +2 -2
  669. package/cjs/highlevel/methods/stories/get-story-link.js +2 -3
  670. package/cjs/highlevel/methods/stories/get-story-link.js.map +1 -1
  671. package/cjs/highlevel/methods/stories/get-story-viewers.d.ts +3 -2
  672. package/cjs/highlevel/methods/stories/get-story-viewers.js +1 -2
  673. package/cjs/highlevel/methods/stories/get-story-viewers.js.map +1 -1
  674. package/cjs/highlevel/methods/stories/hide-my-stories-views.d.ts +1 -1
  675. package/cjs/highlevel/methods/stories/hide-my-stories-views.js +1 -2
  676. package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  677. package/cjs/highlevel/methods/stories/increment-stories-views.d.ts +3 -3
  678. package/cjs/highlevel/methods/stories/increment-stories-views.js +1 -2
  679. package/cjs/highlevel/methods/stories/increment-stories-views.js.map +1 -1
  680. package/cjs/highlevel/methods/stories/iter-all-stories.d.ts +2 -2
  681. package/cjs/highlevel/methods/stories/iter-all-stories.js +1 -2
  682. package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  683. package/cjs/highlevel/methods/stories/iter-profile-stories.d.ts +2 -2
  684. package/cjs/highlevel/methods/stories/iter-profile-stories.js +1 -2
  685. package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  686. package/cjs/highlevel/methods/stories/iter-story-viewers.d.ts +2 -2
  687. package/cjs/highlevel/methods/stories/iter-story-viewers.js +1 -2
  688. package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  689. package/cjs/highlevel/methods/stories/read-stories.d.ts +2 -2
  690. package/cjs/highlevel/methods/stories/read-stories.js +1 -2
  691. package/cjs/highlevel/methods/stories/read-stories.js.map +1 -1
  692. package/cjs/highlevel/methods/stories/report-story.d.ts +4 -4
  693. package/cjs/highlevel/methods/stories/report-story.js +1 -2
  694. package/cjs/highlevel/methods/stories/report-story.js.map +1 -1
  695. package/cjs/highlevel/methods/stories/send-story-reaction.d.ts +2 -2
  696. package/cjs/highlevel/methods/stories/send-story-reaction.js +1 -2
  697. package/cjs/highlevel/methods/stories/send-story-reaction.js.map +1 -1
  698. package/cjs/highlevel/methods/stories/send-story.d.ts +3 -3
  699. package/cjs/highlevel/methods/stories/send-story.js +4 -5
  700. package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
  701. package/cjs/highlevel/methods/stories/toggle-peer-stories-archived.d.ts +2 -2
  702. package/cjs/highlevel/methods/stories/toggle-peer-stories-archived.js +1 -2
  703. package/cjs/highlevel/methods/stories/toggle-peer-stories-archived.js.map +1 -1
  704. package/cjs/highlevel/methods/stories/toggle-stories-pinned.d.ts +3 -3
  705. package/cjs/highlevel/methods/stories/toggle-stories-pinned.js +2 -3
  706. package/cjs/highlevel/methods/stories/toggle-stories-pinned.js.map +1 -1
  707. package/cjs/highlevel/methods/users/block-user.d.ts +2 -2
  708. package/cjs/highlevel/methods/users/block-user.js +1 -2
  709. package/cjs/highlevel/methods/users/block-user.js.map +1 -1
  710. package/cjs/highlevel/methods/users/delete-profile-photos.d.ts +3 -3
  711. package/cjs/highlevel/methods/users/delete-profile-photos.js +1 -2
  712. package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  713. package/cjs/highlevel/methods/users/edit-close-friends.d.ts +2 -2
  714. package/cjs/highlevel/methods/users/edit-close-friends.js +3 -4
  715. package/cjs/highlevel/methods/users/edit-close-friends.js.map +1 -1
  716. package/cjs/highlevel/methods/users/get-common-chats.d.ts +3 -2
  717. package/cjs/highlevel/methods/users/get-common-chats.js +2 -3
  718. package/cjs/highlevel/methods/users/get-common-chats.js.map +1 -1
  719. package/cjs/highlevel/methods/users/get-global-ttl.d.ts +1 -1
  720. package/cjs/highlevel/methods/users/get-global-ttl.js +2 -3
  721. package/cjs/highlevel/methods/users/get-global-ttl.js.map +1 -1
  722. package/cjs/highlevel/methods/users/get-me.d.ts +1 -1
  723. package/cjs/highlevel/methods/users/get-me.js +1 -2
  724. package/cjs/highlevel/methods/users/get-me.js.map +1 -1
  725. package/cjs/highlevel/methods/users/get-my-username.d.ts +1 -1
  726. package/cjs/highlevel/methods/users/get-my-username.js +2 -3
  727. package/cjs/highlevel/methods/users/get-my-username.js.map +1 -1
  728. package/cjs/highlevel/methods/users/get-profile-photo.d.ts +4 -3
  729. package/cjs/highlevel/methods/users/get-profile-photo.js +1 -2
  730. package/cjs/highlevel/methods/users/get-profile-photo.js.map +1 -1
  731. package/cjs/highlevel/methods/users/get-profile-photos.d.ts +3 -2
  732. package/cjs/highlevel/methods/users/get-profile-photos.js +1 -2
  733. package/cjs/highlevel/methods/users/get-profile-photos.js.map +1 -1
  734. package/cjs/highlevel/methods/users/get-users.d.ts +4 -3
  735. package/cjs/highlevel/methods/users/get-users.js +3 -4
  736. package/cjs/highlevel/methods/users/get-users.js.map +1 -1
  737. package/cjs/highlevel/methods/users/iter-profile-photos.d.ts +2 -2
  738. package/cjs/highlevel/methods/users/iter-profile-photos.js +1 -2
  739. package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  740. package/cjs/highlevel/methods/users/resolve-peer-many.d.ts +3 -3
  741. package/cjs/highlevel/methods/users/resolve-peer-many.js +5 -6
  742. package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  743. package/cjs/highlevel/methods/users/resolve-peer.d.ts +2 -2
  744. package/cjs/highlevel/methods/users/resolve-peer.js +9 -8
  745. package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
  746. package/cjs/highlevel/methods/users/set-global-ttl.d.ts +1 -1
  747. package/cjs/highlevel/methods/users/set-global-ttl.js +1 -2
  748. package/cjs/highlevel/methods/users/set-global-ttl.js.map +1 -1
  749. package/cjs/highlevel/methods/users/set-my-birthday.d.ts +1 -1
  750. package/cjs/highlevel/methods/users/set-my-birthday.js +5 -6
  751. package/cjs/highlevel/methods/users/set-my-birthday.js.map +1 -1
  752. package/cjs/highlevel/methods/users/set-my-emoji-status.d.ts +2 -2
  753. package/cjs/highlevel/methods/users/set-my-emoji-status.js +1 -2
  754. package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  755. package/cjs/highlevel/methods/users/set-my-profile-photo.d.ts +3 -2
  756. package/cjs/highlevel/methods/users/set-my-profile-photo.js +1 -2
  757. package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  758. package/cjs/highlevel/methods/users/set-my-username.d.ts +1 -1
  759. package/cjs/highlevel/methods/users/set-my-username.js +1 -2
  760. package/cjs/highlevel/methods/users/set-my-username.js.map +1 -1
  761. package/cjs/highlevel/methods/users/set-offline.d.ts +1 -1
  762. package/cjs/highlevel/methods/users/set-offline.js +1 -2
  763. package/cjs/highlevel/methods/users/set-offline.js.map +1 -1
  764. package/cjs/highlevel/methods/users/unblock-user.d.ts +2 -2
  765. package/cjs/highlevel/methods/users/unblock-user.js +1 -2
  766. package/cjs/highlevel/methods/users/unblock-user.js.map +1 -1
  767. package/cjs/highlevel/methods/users/update-profile.d.ts +1 -1
  768. package/cjs/highlevel/methods/users/update-profile.js +1 -2
  769. package/cjs/highlevel/methods/users/update-profile.js.map +1 -1
  770. package/cjs/highlevel/methods.d.ts +30 -27
  771. package/cjs/highlevel/methods.js +33 -27
  772. package/cjs/highlevel/methods.js.map +1 -1
  773. package/cjs/highlevel/storage/provider.d.ts +3 -3
  774. package/cjs/highlevel/storage/provider.js.map +1 -1
  775. package/cjs/highlevel/storage/repository/peers.d.ts +7 -7
  776. package/cjs/highlevel/storage/repository/peers.js.map +1 -1
  777. package/cjs/highlevel/storage/repository/ref-messages.d.ts +6 -6
  778. package/cjs/highlevel/storage/repository/ref-messages.js.map +1 -1
  779. package/cjs/highlevel/storage/service/current-user.d.ts +4 -3
  780. package/cjs/highlevel/storage/service/current-user.js.map +1 -1
  781. package/cjs/highlevel/storage/service/peers.d.ts +5 -4
  782. package/cjs/highlevel/storage/service/peers.js.map +1 -1
  783. package/cjs/highlevel/storage/service/ref-messages.d.ts +3 -2
  784. package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
  785. package/cjs/highlevel/storage/service/updates.d.ts +3 -2
  786. package/cjs/highlevel/storage/service/updates.js.map +1 -1
  787. package/cjs/highlevel/storage/storage.d.ts +7 -5
  788. package/cjs/highlevel/storage/storage.js.map +1 -1
  789. package/cjs/highlevel/types/auth/sent-code.d.ts +1 -1
  790. package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
  791. package/cjs/highlevel/types/bots/command-scope/inner.d.ts +2 -2
  792. package/cjs/highlevel/types/bots/command-scope/inner.js +5 -5
  793. package/cjs/highlevel/types/bots/command-scope/inner.js.map +1 -1
  794. package/cjs/highlevel/types/bots/game-high-score.d.ts +2 -2
  795. package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
  796. package/cjs/highlevel/types/bots/inline-message/factories.d.ts +4 -4
  797. package/cjs/highlevel/types/bots/inline-message/factories.js +9 -10
  798. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
  799. package/cjs/highlevel/types/bots/inline-message/index.d.ts +1 -1
  800. package/cjs/highlevel/types/bots/inline-message/index.js +4 -4
  801. package/cjs/highlevel/types/bots/inline-message/index.js.map +1 -1
  802. package/cjs/highlevel/types/bots/inline-message/types.d.ts +3 -3
  803. package/cjs/highlevel/types/bots/inline-message/types.js.map +1 -1
  804. package/cjs/highlevel/types/bots/inline-result/factories.d.ts +3 -3
  805. package/cjs/highlevel/types/bots/inline-result/factories.js +31 -29
  806. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
  807. package/cjs/highlevel/types/bots/inline-result/types.d.ts +2 -2
  808. package/cjs/highlevel/types/bots/inline-result/types.js.map +1 -1
  809. package/cjs/highlevel/types/bots/keyboards/builder.d.ts +1 -1
  810. package/cjs/highlevel/types/bots/keyboards/builder.js +2 -2
  811. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
  812. package/cjs/highlevel/types/bots/keyboards/factories.d.ts +1 -1
  813. package/cjs/highlevel/types/bots/keyboards/factories.js +27 -28
  814. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
  815. package/cjs/highlevel/types/bots/keyboards/index.d.ts +1 -1
  816. package/cjs/highlevel/types/bots/keyboards/index.js +5 -5
  817. package/cjs/highlevel/types/bots/keyboards/index.js.map +1 -1
  818. package/cjs/highlevel/types/bots/keyboards/types.d.ts +1 -1
  819. package/cjs/highlevel/types/bots/keyboards/types.js.map +1 -1
  820. package/cjs/highlevel/types/calls/discard-reason.d.ts +1 -1
  821. package/cjs/highlevel/types/calls/discard-reason.js +2 -3
  822. package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
  823. package/cjs/highlevel/types/conversation.d.ts +5 -5
  824. package/cjs/highlevel/types/conversation.js +11 -14
  825. package/cjs/highlevel/types/conversation.js.map +1 -1
  826. package/cjs/highlevel/types/errors.d.ts +1 -1
  827. package/cjs/highlevel/types/errors.js +1 -1
  828. package/cjs/highlevel/types/errors.js.map +1 -1
  829. package/cjs/highlevel/types/files/file-location.d.ts +1 -1
  830. package/cjs/highlevel/types/files/file-location.js.map +1 -1
  831. package/cjs/highlevel/types/files/uploaded-file.d.ts +1 -1
  832. package/cjs/highlevel/types/files/uploaded-file.js +1 -2
  833. package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
  834. package/cjs/highlevel/types/files/utils.d.ts +5 -5
  835. package/cjs/highlevel/types/files/utils.js.map +1 -1
  836. package/cjs/highlevel/types/files/web-document.d.ts +1 -1
  837. package/cjs/highlevel/types/files/web-document.js +6 -6
  838. package/cjs/highlevel/types/files/web-document.js.map +1 -1
  839. package/cjs/highlevel/types/media/audio.d.ts +1 -1
  840. package/cjs/highlevel/types/media/audio.js.map +1 -1
  841. package/cjs/highlevel/types/media/contact.d.ts +1 -1
  842. package/cjs/highlevel/types/media/contact.js.map +1 -1
  843. package/cjs/highlevel/types/media/dice.d.ts +1 -1
  844. package/cjs/highlevel/types/media/dice.js.map +1 -1
  845. package/cjs/highlevel/types/media/document-utils.d.ts +1 -1
  846. package/cjs/highlevel/types/media/document-utils.js +4 -5
  847. package/cjs/highlevel/types/media/document-utils.js.map +1 -1
  848. package/cjs/highlevel/types/media/document.d.ts +1 -1
  849. package/cjs/highlevel/types/media/document.js +4 -4
  850. package/cjs/highlevel/types/media/document.js.map +1 -1
  851. package/cjs/highlevel/types/media/extended-media.d.ts +1 -1
  852. package/cjs/highlevel/types/media/extended-media.js.map +1 -1
  853. package/cjs/highlevel/types/media/game.d.ts +1 -1
  854. package/cjs/highlevel/types/media/game.js +1 -1
  855. package/cjs/highlevel/types/media/game.js.map +1 -1
  856. package/cjs/highlevel/types/media/input-media/factories.d.ts +3 -3
  857. package/cjs/highlevel/types/media/input-media/factories.js +20 -21
  858. package/cjs/highlevel/types/media/input-media/factories.js.map +1 -1
  859. package/cjs/highlevel/types/media/input-media/index.js.map +1 -1
  860. package/cjs/highlevel/types/media/input-media/types.d.ts +6 -6
  861. package/cjs/highlevel/types/media/input-media/types.js.map +1 -1
  862. package/cjs/highlevel/types/media/invoice.d.ts +1 -1
  863. package/cjs/highlevel/types/media/invoice.js.map +1 -1
  864. package/cjs/highlevel/types/media/location.d.ts +1 -1
  865. package/cjs/highlevel/types/media/location.js.map +1 -1
  866. package/cjs/highlevel/types/media/paid-media.d.ts +2 -2
  867. package/cjs/highlevel/types/media/paid-media.js +1 -1
  868. package/cjs/highlevel/types/media/paid-media.js.map +1 -1
  869. package/cjs/highlevel/types/media/photo.d.ts +1 -1
  870. package/cjs/highlevel/types/media/photo.js +6 -6
  871. package/cjs/highlevel/types/media/photo.js.map +1 -1
  872. package/cjs/highlevel/types/media/poll.d.ts +4 -4
  873. package/cjs/highlevel/types/media/poll.js +4 -4
  874. package/cjs/highlevel/types/media/poll.js.map +1 -1
  875. package/cjs/highlevel/types/media/sticker.d.ts +1 -1
  876. package/cjs/highlevel/types/media/sticker.js +1 -1
  877. package/cjs/highlevel/types/media/sticker.js.map +1 -1
  878. package/cjs/highlevel/types/media/story.d.ts +3 -3
  879. package/cjs/highlevel/types/media/story.js.map +1 -1
  880. package/cjs/highlevel/types/media/thumbnail.d.ts +1 -1
  881. package/cjs/highlevel/types/media/thumbnail.js +21 -9
  882. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  883. package/cjs/highlevel/types/media/venue.d.ts +1 -1
  884. package/cjs/highlevel/types/media/venue.js.map +1 -1
  885. package/cjs/highlevel/types/media/video.d.ts +1 -1
  886. package/cjs/highlevel/types/media/video.js +2 -2
  887. package/cjs/highlevel/types/media/video.js.map +1 -1
  888. package/cjs/highlevel/types/media/voice.d.ts +1 -1
  889. package/cjs/highlevel/types/media/voice.js.map +1 -1
  890. package/cjs/highlevel/types/media/web-page.d.ts +2 -2
  891. package/cjs/highlevel/types/media/web-page.js.map +1 -1
  892. package/cjs/highlevel/types/messages/dialog.d.ts +1 -1
  893. package/cjs/highlevel/types/messages/dialog.js +3 -3
  894. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  895. package/cjs/highlevel/types/messages/draft-message.d.ts +1 -1
  896. package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
  897. package/cjs/highlevel/types/messages/fact-check.d.ts +1 -1
  898. package/cjs/highlevel/types/messages/fact-check.js.map +1 -1
  899. package/cjs/highlevel/types/messages/input-message-id.js +1 -2
  900. package/cjs/highlevel/types/messages/input-message-id.js.map +1 -1
  901. package/cjs/highlevel/types/messages/message-action.d.ts +3 -3
  902. package/cjs/highlevel/types/messages/message-action.js +6 -7
  903. package/cjs/highlevel/types/messages/message-action.js.map +1 -1
  904. package/cjs/highlevel/types/messages/message-effect.d.ts +3 -3
  905. package/cjs/highlevel/types/messages/message-effect.js.map +1 -1
  906. package/cjs/highlevel/types/messages/message-entity.d.ts +1 -1
  907. package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
  908. package/cjs/highlevel/types/messages/message-forward.d.ts +3 -3
  909. package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
  910. package/cjs/highlevel/types/messages/message-media.d.ts +7 -7
  911. package/cjs/highlevel/types/messages/message-media.js +1 -2
  912. package/cjs/highlevel/types/messages/message-media.js.map +1 -1
  913. package/cjs/highlevel/types/messages/message-reactions.d.ts +5 -3
  914. package/cjs/highlevel/types/messages/message-reactions.js +6 -2
  915. package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
  916. package/cjs/highlevel/types/messages/message-replies.d.ts +3 -3
  917. package/cjs/highlevel/types/messages/message-replies.js +1 -1
  918. package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
  919. package/cjs/highlevel/types/messages/message.d.ts +7 -7
  920. package/cjs/highlevel/types/messages/message.js +4 -4
  921. package/cjs/highlevel/types/messages/message.js.map +1 -1
  922. package/cjs/highlevel/types/messages/replied-message.d.ts +4 -4
  923. package/cjs/highlevel/types/messages/replied-message.js +1 -1
  924. package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
  925. package/cjs/highlevel/types/misc/app-config.js +0 -1
  926. package/cjs/highlevel/types/misc/app-config.js.map +1 -1
  927. package/cjs/highlevel/types/misc/collectible-info.d.ts +2 -2
  928. package/cjs/highlevel/types/misc/collectible-info.js.map +1 -1
  929. package/cjs/highlevel/types/misc/entities.d.ts +1 -1
  930. package/cjs/highlevel/types/misc/entities.js +1 -2
  931. package/cjs/highlevel/types/misc/entities.js.map +1 -1
  932. package/cjs/highlevel/types/misc/input-privacy-rule/allow.d.ts +4 -4
  933. package/cjs/highlevel/types/misc/input-privacy-rule/allow.js +3 -3
  934. package/cjs/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -1
  935. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.d.ts +4 -4
  936. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.js +3 -3
  937. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -1
  938. package/cjs/highlevel/types/misc/input-privacy-rule/types.d.ts +2 -2
  939. package/cjs/highlevel/types/misc/input-privacy-rule/types.js.map +1 -1
  940. package/cjs/highlevel/types/misc/sticker-set.d.ts +3 -2
  941. package/cjs/highlevel/types/misc/sticker-set.js +7 -7
  942. package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
  943. package/cjs/highlevel/types/misc/takeout-session.d.ts +4 -4
  944. package/cjs/highlevel/types/misc/takeout-session.js +6 -7
  945. package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
  946. package/cjs/highlevel/types/peers/chat-colors.d.ts +1 -1
  947. package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
  948. package/cjs/highlevel/types/peers/chat-event/actions.d.ts +9 -3
  949. package/cjs/highlevel/types/peers/chat-event/actions.js +6 -2
  950. package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
  951. package/cjs/highlevel/types/peers/chat-event/filters.d.ts +3 -3
  952. package/cjs/highlevel/types/peers/chat-event/filters.js +2 -2
  953. package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
  954. package/cjs/highlevel/types/peers/chat-event/index.d.ts +3 -3
  955. package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
  956. package/cjs/highlevel/types/peers/chat-invite-link-member.d.ts +2 -2
  957. package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  958. package/cjs/highlevel/types/peers/chat-invite-link.d.ts +2 -2
  959. package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
  960. package/cjs/highlevel/types/peers/chat-location.d.ts +1 -1
  961. package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
  962. package/cjs/highlevel/types/peers/chat-member.d.ts +7 -2
  963. package/cjs/highlevel/types/peers/chat-member.js +14 -0
  964. package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
  965. package/cjs/highlevel/types/peers/chat-permissions.d.ts +1 -1
  966. package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
  967. package/cjs/highlevel/types/peers/chat-photo.d.ts +1 -1
  968. package/cjs/highlevel/types/peers/chat-photo.js +2 -4
  969. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  970. package/cjs/highlevel/types/peers/chat-preview.d.ts +1 -1
  971. package/cjs/highlevel/types/peers/chat-preview.js +1 -1
  972. package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
  973. package/cjs/highlevel/types/peers/chat.d.ts +9 -2
  974. package/cjs/highlevel/types/peers/chat.js +19 -6
  975. package/cjs/highlevel/types/peers/chat.js.map +1 -1
  976. package/cjs/highlevel/types/peers/chatlist-preview.d.ts +1 -1
  977. package/cjs/highlevel/types/peers/chatlist-preview.js +1 -1
  978. package/cjs/highlevel/types/peers/chatlist-preview.js.map +1 -1
  979. package/cjs/highlevel/types/peers/forum-topic.d.ts +2 -2
  980. package/cjs/highlevel/types/peers/forum-topic.js +7 -7
  981. package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
  982. package/cjs/highlevel/types/peers/full-chat.d.ts +3 -1
  983. package/cjs/highlevel/types/peers/full-chat.js +5 -1
  984. package/cjs/highlevel/types/peers/full-chat.js.map +1 -1
  985. package/cjs/highlevel/types/peers/peer.d.ts +2 -2
  986. package/cjs/highlevel/types/peers/peer.js +1 -2
  987. package/cjs/highlevel/types/peers/peer.js.map +1 -1
  988. package/cjs/highlevel/types/peers/peers-index.d.ts +1 -1
  989. package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
  990. package/cjs/highlevel/types/peers/typing-status.js.map +1 -1
  991. package/cjs/highlevel/types/peers/user.d.ts +2 -2
  992. package/cjs/highlevel/types/peers/user.js +1 -1
  993. package/cjs/highlevel/types/peers/user.js.map +1 -1
  994. package/cjs/highlevel/types/premium/boost-slot.d.ts +3 -2
  995. package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
  996. package/cjs/highlevel/types/premium/boost-stats.d.ts +1 -1
  997. package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
  998. package/cjs/highlevel/types/premium/boost.d.ts +3 -2
  999. package/cjs/highlevel/types/premium/boost.js.map +1 -1
  1000. package/cjs/highlevel/types/premium/business-account.d.ts +1 -1
  1001. package/cjs/highlevel/types/premium/business-account.js.map +1 -1
  1002. package/cjs/highlevel/types/premium/business-chat-link.d.ts +1 -1
  1003. package/cjs/highlevel/types/premium/business-chat-link.js +1 -1
  1004. package/cjs/highlevel/types/premium/business-chat-link.js.map +1 -1
  1005. package/cjs/highlevel/types/premium/business-connection.d.ts +2 -2
  1006. package/cjs/highlevel/types/premium/business-connection.js.map +1 -1
  1007. package/cjs/highlevel/types/premium/business-intro.d.ts +2 -2
  1008. package/cjs/highlevel/types/premium/business-intro.js.map +1 -1
  1009. package/cjs/highlevel/types/premium/business-location.d.ts +1 -1
  1010. package/cjs/highlevel/types/premium/business-location.js.map +1 -1
  1011. package/cjs/highlevel/types/premium/business-work-hours.d.ts +1 -1
  1012. package/cjs/highlevel/types/premium/business-work-hours.js +6 -6
  1013. package/cjs/highlevel/types/premium/business-work-hours.js.map +1 -1
  1014. package/cjs/highlevel/types/premium/index.d.ts +2 -0
  1015. package/cjs/highlevel/types/premium/index.js +2 -0
  1016. package/cjs/highlevel/types/premium/index.js.map +1 -1
  1017. package/cjs/highlevel/types/premium/stars-status.d.ts +16 -0
  1018. package/cjs/highlevel/types/premium/stars-status.js +33 -0
  1019. package/cjs/highlevel/types/premium/stars-status.js.map +1 -0
  1020. package/cjs/highlevel/types/premium/stars-transaction.d.ts +114 -0
  1021. package/cjs/highlevel/types/premium/stars-transaction.js +137 -0
  1022. package/cjs/highlevel/types/premium/stars-transaction.js.map +1 -0
  1023. package/cjs/highlevel/types/reactions/emoji-status.d.ts +1 -1
  1024. package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
  1025. package/cjs/highlevel/types/reactions/peer-reaction.d.ts +24 -3
  1026. package/cjs/highlevel/types/reactions/peer-reaction.js +38 -1
  1027. package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
  1028. package/cjs/highlevel/types/reactions/reaction-count.d.ts +4 -2
  1029. package/cjs/highlevel/types/reactions/reaction-count.js +4 -0
  1030. package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
  1031. package/cjs/highlevel/types/reactions/types.d.ts +3 -1
  1032. package/cjs/highlevel/types/reactions/types.js +9 -3
  1033. package/cjs/highlevel/types/reactions/types.js.map +1 -1
  1034. package/cjs/highlevel/types/stories/all-stories.d.ts +1 -1
  1035. package/cjs/highlevel/types/stories/all-stories.js +1 -1
  1036. package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
  1037. package/cjs/highlevel/types/stories/interactive/base.d.ts +1 -1
  1038. package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
  1039. package/cjs/highlevel/types/stories/interactive/channel-post.d.ts +2 -2
  1040. package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  1041. package/cjs/highlevel/types/stories/interactive/index.d.ts +2 -2
  1042. package/cjs/highlevel/types/stories/interactive/index.js +2 -2
  1043. package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
  1044. package/cjs/highlevel/types/stories/interactive/input.d.ts +3 -3
  1045. package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
  1046. package/cjs/highlevel/types/stories/interactive/location.d.ts +1 -1
  1047. package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
  1048. package/cjs/highlevel/types/stories/interactive/reaction.d.ts +2 -2
  1049. package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
  1050. package/cjs/highlevel/types/stories/interactive/url.d.ts +1 -1
  1051. package/cjs/highlevel/types/stories/interactive/url.js.map +1 -1
  1052. package/cjs/highlevel/types/stories/interactive/venue.d.ts +2 -2
  1053. package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
  1054. package/cjs/highlevel/types/stories/interactive/weather.d.ts +1 -1
  1055. package/cjs/highlevel/types/stories/interactive/weather.js.map +1 -1
  1056. package/cjs/highlevel/types/stories/peer-stories.d.ts +2 -2
  1057. package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
  1058. package/cjs/highlevel/types/stories/stealth-mode.d.ts +1 -1
  1059. package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
  1060. package/cjs/highlevel/types/stories/story-interactions.d.ts +2 -2
  1061. package/cjs/highlevel/types/stories/story-interactions.js +2 -2
  1062. package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
  1063. package/cjs/highlevel/types/stories/story-viewer.d.ts +4 -3
  1064. package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
  1065. package/cjs/highlevel/types/stories/story.d.ts +5 -5
  1066. package/cjs/highlevel/types/stories/story.js +1 -1
  1067. package/cjs/highlevel/types/stories/story.js.map +1 -1
  1068. package/cjs/highlevel/types/updates/bot-chat-join-request.d.ts +3 -2
  1069. package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  1070. package/cjs/highlevel/types/updates/bot-reaction.d.ts +4 -4
  1071. package/cjs/highlevel/types/updates/bot-reaction.js +3 -3
  1072. package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
  1073. package/cjs/highlevel/types/updates/bot-stopped.d.ts +3 -2
  1074. package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
  1075. package/cjs/highlevel/types/updates/business-message.d.ts +2 -2
  1076. package/cjs/highlevel/types/updates/business-message.js.map +1 -1
  1077. package/cjs/highlevel/types/updates/callback-query.d.ts +2 -2
  1078. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  1079. package/cjs/highlevel/types/updates/chat-join-request.d.ts +3 -2
  1080. package/cjs/highlevel/types/updates/chat-join-request.js +1 -1
  1081. package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
  1082. package/cjs/highlevel/types/updates/chat-member-update.d.ts +1 -1
  1083. package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
  1084. package/cjs/highlevel/types/updates/chosen-inline-result.d.ts +3 -2
  1085. package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  1086. package/cjs/highlevel/types/updates/delete-business-message-update.d.ts +2 -2
  1087. package/cjs/highlevel/types/updates/delete-business-message-update.js.map +1 -1
  1088. package/cjs/highlevel/types/updates/delete-message-update.d.ts +1 -1
  1089. package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
  1090. package/cjs/highlevel/types/updates/delete-story-update.d.ts +2 -2
  1091. package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
  1092. package/cjs/highlevel/types/updates/history-read-update.d.ts +1 -1
  1093. package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
  1094. package/cjs/highlevel/types/updates/index.d.ts +1 -1
  1095. package/cjs/highlevel/types/updates/index.js.map +1 -1
  1096. package/cjs/highlevel/types/updates/inline-query.d.ts +3 -2
  1097. package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
  1098. package/cjs/highlevel/types/updates/parse-update.d.ts +2 -2
  1099. package/cjs/highlevel/types/updates/parse-update.js +1 -2
  1100. package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
  1101. package/cjs/highlevel/types/updates/poll-update.d.ts +2 -2
  1102. package/cjs/highlevel/types/updates/poll-update.js +1 -1
  1103. package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
  1104. package/cjs/highlevel/types/updates/poll-vote.d.ts +2 -2
  1105. package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
  1106. package/cjs/highlevel/types/updates/pre-checkout-query.d.ts +3 -2
  1107. package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  1108. package/cjs/highlevel/types/updates/story-update.d.ts +2 -2
  1109. package/cjs/highlevel/types/updates/story-update.js.map +1 -1
  1110. package/cjs/highlevel/types/updates/user-status-update.d.ts +2 -2
  1111. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  1112. package/cjs/highlevel/types/updates/user-typing-update.d.ts +3 -3
  1113. package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
  1114. package/cjs/highlevel/types/utils.d.ts +1 -1
  1115. package/cjs/highlevel/types/utils.js.map +1 -1
  1116. package/cjs/highlevel/updates/manager.d.ts +5 -4
  1117. package/cjs/highlevel/updates/manager.js +26 -25
  1118. package/cjs/highlevel/updates/manager.js.map +1 -1
  1119. package/cjs/highlevel/updates/parsed.d.ts +2 -2
  1120. package/cjs/highlevel/updates/parsed.js +1 -2
  1121. package/cjs/highlevel/updates/parsed.js.map +1 -1
  1122. package/cjs/highlevel/updates/types.d.ts +4 -4
  1123. package/cjs/highlevel/updates/types.js.map +1 -1
  1124. package/cjs/highlevel/updates/utils.d.ts +2 -2
  1125. package/cjs/highlevel/updates/utils.js +12 -14
  1126. package/cjs/highlevel/updates/utils.js.map +1 -1
  1127. package/cjs/highlevel/utils/convert-file-id.d.ts +1 -1
  1128. package/cjs/highlevel/utils/convert-file-id.js +14 -15
  1129. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  1130. package/cjs/highlevel/utils/entities.d.ts +1 -1
  1131. package/cjs/highlevel/utils/entities.js +1 -2
  1132. package/cjs/highlevel/utils/entities.js.map +1 -1
  1133. package/cjs/highlevel/utils/file-type.js +27 -27
  1134. package/cjs/highlevel/utils/file-type.js.map +1 -1
  1135. package/cjs/highlevel/utils/file-utils.d.ts +4 -2
  1136. package/cjs/highlevel/utils/file-utils.js +40 -40
  1137. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  1138. package/cjs/highlevel/utils/inline-utils.d.ts +1 -1
  1139. package/cjs/highlevel/utils/inline-utils.js +3 -4
  1140. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  1141. package/cjs/highlevel/utils/inspectable.js +10 -11
  1142. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  1143. package/cjs/highlevel/utils/memoize.js +2 -4
  1144. package/cjs/highlevel/utils/memoize.js.map +1 -1
  1145. package/cjs/highlevel/utils/misc-utils.d.ts +1 -1
  1146. package/cjs/highlevel/utils/misc-utils.js +7 -7
  1147. package/cjs/highlevel/utils/misc-utils.js.map +1 -1
  1148. package/cjs/highlevel/utils/peer-utils.d.ts +1 -1
  1149. package/cjs/highlevel/utils/peer-utils.js +11 -11
  1150. package/cjs/highlevel/utils/peer-utils.js.map +1 -1
  1151. package/cjs/highlevel/utils/query-batcher.d.ts +6 -5
  1152. package/cjs/highlevel/utils/query-batcher.js +2 -3
  1153. package/cjs/highlevel/utils/query-batcher.js.map +1 -1
  1154. package/cjs/highlevel/utils/stream-utils.js +4 -5
  1155. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  1156. package/cjs/highlevel/utils/string-session.d.ts +2 -2
  1157. package/cjs/highlevel/utils/string-session.js +3 -4
  1158. package/cjs/highlevel/utils/string-session.js.map +1 -1
  1159. package/cjs/highlevel/utils/voice-utils.js +3 -4
  1160. package/cjs/highlevel/utils/voice-utils.js.map +1 -1
  1161. package/cjs/highlevel/worker/app-config.d.ts +4 -7
  1162. package/cjs/highlevel/worker/app-config.js.map +1 -1
  1163. package/cjs/highlevel/worker/errors.js +16 -10
  1164. package/cjs/highlevel/worker/errors.js.map +1 -1
  1165. package/cjs/highlevel/worker/invoker.d.ts +1 -1
  1166. package/cjs/highlevel/worker/invoker.js +1 -1
  1167. package/cjs/highlevel/worker/invoker.js.map +1 -1
  1168. package/cjs/highlevel/worker/port.d.ts +24 -26
  1169. package/cjs/highlevel/worker/port.js +2 -0
  1170. package/cjs/highlevel/worker/port.js.map +1 -1
  1171. package/cjs/highlevel/worker/protocol.d.ts +5 -5
  1172. package/cjs/highlevel/worker/protocol.js +3 -8
  1173. package/cjs/highlevel/worker/protocol.js.map +1 -1
  1174. package/cjs/highlevel/worker/storage.d.ts +11 -11
  1175. package/cjs/highlevel/worker/storage.js.map +1 -1
  1176. package/cjs/highlevel/worker/worker.d.ts +2 -2
  1177. package/cjs/highlevel/worker/worker.js +5 -6
  1178. package/cjs/highlevel/worker/worker.js.map +1 -1
  1179. package/cjs/index.d.ts +1 -1
  1180. package/cjs/index.js +2 -2
  1181. package/cjs/index.js.map +1 -1
  1182. package/cjs/network/auth-key.d.ts +5 -4
  1183. package/cjs/network/auth-key.js.map +1 -1
  1184. package/cjs/network/authorization.d.ts +2 -2
  1185. package/cjs/network/authorization.js +12 -15
  1186. package/cjs/network/authorization.js.map +1 -1
  1187. package/cjs/network/client.d.ts +14 -11
  1188. package/cjs/network/client.js +4 -6
  1189. package/cjs/network/client.js.map +1 -1
  1190. package/cjs/network/config-manager.d.ts +1 -1
  1191. package/cjs/network/config-manager.js +4 -4
  1192. package/cjs/network/config-manager.js.map +1 -1
  1193. package/cjs/network/middlewares/default.d.ts +4 -4
  1194. package/cjs/network/middlewares/default.js +3 -4
  1195. package/cjs/network/middlewares/default.js.map +1 -1
  1196. package/cjs/network/middlewares/flood-waiter.d.ts +1 -1
  1197. package/cjs/network/middlewares/flood-waiter.js +5 -5
  1198. package/cjs/network/middlewares/flood-waiter.js.map +1 -1
  1199. package/cjs/network/middlewares/internal-errors.d.ts +1 -1
  1200. package/cjs/network/middlewares/internal-errors.js +2 -2
  1201. package/cjs/network/middlewares/internal-errors.js.map +1 -1
  1202. package/cjs/network/middlewares/on-error.d.ts +3 -3
  1203. package/cjs/network/middlewares/on-error.js +1 -2
  1204. package/cjs/network/middlewares/on-error.js.map +1 -1
  1205. package/cjs/network/middlewares/on-method.d.ts +3 -3
  1206. package/cjs/network/middlewares/on-method.js +1 -2
  1207. package/cjs/network/middlewares/on-method.js.map +1 -1
  1208. package/cjs/network/mtproto-session.d.ts +6 -5
  1209. package/cjs/network/mtproto-session.js +9 -9
  1210. package/cjs/network/mtproto-session.js.map +1 -1
  1211. package/cjs/network/multi-session-connection.d.ts +6 -5
  1212. package/cjs/network/multi-session-connection.js +9 -9
  1213. package/cjs/network/multi-session-connection.js.map +1 -1
  1214. package/cjs/network/network-manager.d.ts +12 -10
  1215. package/cjs/network/network-manager.js +9 -6
  1216. package/cjs/network/network-manager.js.map +1 -1
  1217. package/cjs/network/persistent-connection.d.ts +4 -4
  1218. package/cjs/network/persistent-connection.js +2 -2
  1219. package/cjs/network/persistent-connection.js.map +1 -1
  1220. package/cjs/network/server-salt.d.ts +1 -1
  1221. package/cjs/network/server-salt.js.map +1 -1
  1222. package/cjs/network/session-connection.d.ts +5 -4
  1223. package/cjs/network/session-connection.js +26 -26
  1224. package/cjs/network/session-connection.js.map +1 -1
  1225. package/cjs/network/transports/abstract.d.ts +4 -5
  1226. package/cjs/network/transports/abstract.js.map +1 -1
  1227. package/cjs/network/transports/intermediate.d.ts +2 -2
  1228. package/cjs/network/transports/intermediate.js +2 -2
  1229. package/cjs/network/transports/intermediate.js.map +1 -1
  1230. package/cjs/network/transports/obfuscated.d.ts +1 -1
  1231. package/cjs/network/transports/obfuscated.js +8 -8
  1232. package/cjs/network/transports/obfuscated.js.map +1 -1
  1233. package/cjs/network/transports/streamed.d.ts +1 -1
  1234. package/cjs/network/transports/streamed.js +2 -2
  1235. package/cjs/network/transports/streamed.js.map +1 -1
  1236. package/cjs/network/transports/wrapped.d.ts +3 -3
  1237. package/cjs/network/transports/wrapped.js +4 -4
  1238. package/cjs/network/transports/wrapped.js.map +1 -1
  1239. package/cjs/platform.d.ts +10 -10
  1240. package/cjs/platform.js +2 -3
  1241. package/cjs/platform.js.map +1 -1
  1242. package/cjs/storage/driver.d.ts +6 -6
  1243. package/cjs/storage/driver.js.map +1 -1
  1244. package/cjs/storage/memory/driver.d.ts +1 -1
  1245. package/cjs/storage/memory/driver.js.map +1 -1
  1246. package/cjs/storage/memory/index.d.ts +2 -2
  1247. package/cjs/storage/memory/index.js.map +1 -1
  1248. package/cjs/storage/memory/repository/auth-keys.d.ts +2 -2
  1249. package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
  1250. package/cjs/storage/memory/repository/kv.d.ts +2 -2
  1251. package/cjs/storage/memory/repository/kv.js.map +1 -1
  1252. package/cjs/storage/memory/repository/peers.d.ts +2 -2
  1253. package/cjs/storage/memory/repository/peers.js.map +1 -1
  1254. package/cjs/storage/memory/repository/ref-messages.d.ts +2 -2
  1255. package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
  1256. package/cjs/storage/provider.d.ts +3 -3
  1257. package/cjs/storage/provider.js.map +1 -1
  1258. package/cjs/storage/repository/auth-keys.d.ts +7 -7
  1259. package/cjs/storage/repository/auth-keys.js.map +1 -1
  1260. package/cjs/storage/repository/key-value.d.ts +5 -5
  1261. package/cjs/storage/repository/key-value.js.map +1 -1
  1262. package/cjs/storage/service/auth-keys.d.ts +4 -3
  1263. package/cjs/storage/service/auth-keys.js.map +1 -1
  1264. package/cjs/storage/service/base.d.ts +4 -4
  1265. package/cjs/storage/service/base.js +1 -1
  1266. package/cjs/storage/service/base.js.map +1 -1
  1267. package/cjs/storage/service/default-dcs.d.ts +4 -3
  1268. package/cjs/storage/service/default-dcs.js +3 -2
  1269. package/cjs/storage/service/default-dcs.js.map +1 -1
  1270. package/cjs/storage/service/future-salts.d.ts +4 -3
  1271. package/cjs/storage/service/future-salts.js.map +1 -1
  1272. package/cjs/storage/sqlite/driver.d.ts +2 -2
  1273. package/cjs/storage/sqlite/driver.js +1 -1
  1274. package/cjs/storage/sqlite/driver.js.map +1 -1
  1275. package/cjs/storage/sqlite/index.d.ts +2 -2
  1276. package/cjs/storage/sqlite/index.js.map +1 -1
  1277. package/cjs/storage/sqlite/repository/auth-keys.d.ts +2 -2
  1278. package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
  1279. package/cjs/storage/sqlite/repository/kv.d.ts +2 -2
  1280. package/cjs/storage/sqlite/repository/kv.js +4 -7
  1281. package/cjs/storage/sqlite/repository/kv.js.map +1 -1
  1282. package/cjs/storage/sqlite/repository/peers.d.ts +2 -2
  1283. package/cjs/storage/sqlite/repository/peers.js.map +1 -1
  1284. package/cjs/storage/sqlite/repository/ref-messages.d.ts +2 -2
  1285. package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
  1286. package/cjs/storage/sqlite/types.d.ts +7 -7
  1287. package/cjs/storage/sqlite/types.js.map +1 -1
  1288. package/cjs/storage/storage.d.ts +5 -4
  1289. package/cjs/storage/storage.js +1 -1
  1290. package/cjs/storage/storage.js.map +1 -1
  1291. package/cjs/types/utils.d.ts +1 -1
  1292. package/cjs/types/utils.js +2 -4
  1293. package/cjs/types/utils.js.map +1 -1
  1294. package/cjs/utils/abort-signal.js +1 -2
  1295. package/cjs/utils/abort-signal.js.map +1 -1
  1296. package/cjs/utils/async-lock.js +1 -2
  1297. package/cjs/utils/async-lock.js.map +1 -1
  1298. package/cjs/utils/bigint-utils.d.ts +1 -1
  1299. package/cjs/utils/bigint-utils.js +12 -13
  1300. package/cjs/utils/bigint-utils.js.map +1 -1
  1301. package/cjs/utils/binary/asn1-parser.js +18 -19
  1302. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  1303. package/cjs/utils/buffer-utils.js +5 -6
  1304. package/cjs/utils/buffer-utils.js.map +1 -1
  1305. package/cjs/utils/composer.js +2 -2
  1306. package/cjs/utils/composer.js.map +1 -1
  1307. package/cjs/utils/controllable-promise.d.ts +2 -2
  1308. package/cjs/utils/controllable-promise.js +1 -2
  1309. package/cjs/utils/controllable-promise.js.map +1 -1
  1310. package/cjs/utils/crypto/abstract.d.ts +18 -18
  1311. package/cjs/utils/crypto/abstract.js.map +1 -1
  1312. package/cjs/utils/crypto/factorization.d.ts +1 -1
  1313. package/cjs/utils/crypto/factorization.js +1 -2
  1314. package/cjs/utils/crypto/factorization.js.map +1 -1
  1315. package/cjs/utils/crypto/keys.d.ts +3 -3
  1316. package/cjs/utils/crypto/keys.js +3 -4
  1317. package/cjs/utils/crypto/keys.js.map +1 -1
  1318. package/cjs/utils/crypto/miller-rabin.d.ts +1 -1
  1319. package/cjs/utils/crypto/miller-rabin.js +1 -2
  1320. package/cjs/utils/crypto/miller-rabin.js.map +1 -1
  1321. package/cjs/utils/crypto/mtproto.d.ts +1 -1
  1322. package/cjs/utils/crypto/mtproto.js +3 -4
  1323. package/cjs/utils/crypto/mtproto.js.map +1 -1
  1324. package/cjs/utils/crypto/password.d.ts +2 -2
  1325. package/cjs/utils/crypto/password.js +5 -6
  1326. package/cjs/utils/crypto/password.js.map +1 -1
  1327. package/cjs/utils/crypto/utils.js +2 -3
  1328. package/cjs/utils/crypto/utils.js.map +1 -1
  1329. package/cjs/utils/dcs.js +3 -3
  1330. package/cjs/utils/dcs.js.map +1 -1
  1331. package/cjs/utils/deque.js.map +1 -1
  1332. package/cjs/utils/error-reporting.d.ts +2 -2
  1333. package/cjs/utils/error-reporting.js +2 -3
  1334. package/cjs/utils/error-reporting.js.map +1 -1
  1335. package/cjs/utils/function-utils.js +3 -4
  1336. package/cjs/utils/function-utils.js.map +1 -1
  1337. package/cjs/utils/links/bots.d.ts +11 -10
  1338. package/cjs/utils/links/bots.js +4 -0
  1339. package/cjs/utils/links/bots.js.map +1 -1
  1340. package/cjs/utils/links/calls.d.ts +4 -3
  1341. package/cjs/utils/links/calls.js.map +1 -1
  1342. package/cjs/utils/links/chat.d.ts +8 -7
  1343. package/cjs/utils/links/chat.js +5 -6
  1344. package/cjs/utils/links/chat.js.map +1 -1
  1345. package/cjs/utils/links/common.d.ts +2 -2
  1346. package/cjs/utils/links/common.js +1 -2
  1347. package/cjs/utils/links/common.js.map +1 -1
  1348. package/cjs/utils/links/index.js.map +1 -1
  1349. package/cjs/utils/links/misc.d.ts +5 -4
  1350. package/cjs/utils/links/misc.js +2 -2
  1351. package/cjs/utils/links/misc.js.map +1 -1
  1352. package/cjs/utils/links/proxy.d.ts +5 -4
  1353. package/cjs/utils/links/proxy.js +8 -8
  1354. package/cjs/utils/links/proxy.js.map +1 -1
  1355. package/cjs/utils/links/stickers.d.ts +3 -2
  1356. package/cjs/utils/links/stickers.js.map +1 -1
  1357. package/cjs/utils/links/user.d.ts +4 -3
  1358. package/cjs/utils/links/user.js.map +1 -1
  1359. package/cjs/utils/logger.d.ts +2 -1
  1360. package/cjs/utils/logger.js +14 -15
  1361. package/cjs/utils/logger.js.map +1 -1
  1362. package/cjs/utils/long-utils.js +13 -13
  1363. package/cjs/utils/long-utils.js.map +1 -1
  1364. package/cjs/utils/lru-map.js +2 -2
  1365. package/cjs/utils/lru-map.js.map +1 -1
  1366. package/cjs/utils/lru-set.d.ts +1 -1
  1367. package/cjs/utils/lru-set.js +2 -1
  1368. package/cjs/utils/lru-set.js.map +1 -1
  1369. package/cjs/utils/misc-utils.js +4 -5
  1370. package/cjs/utils/misc-utils.js.map +1 -1
  1371. package/cjs/utils/peer-utils.d.ts +3 -3
  1372. package/cjs/utils/peer-utils.js +5 -6
  1373. package/cjs/utils/peer-utils.js.map +1 -1
  1374. package/cjs/utils/reloadable.js +1 -1
  1375. package/cjs/utils/reloadable.js.map +1 -1
  1376. package/cjs/utils/tl-json.d.ts +1 -1
  1377. package/cjs/utils/tl-json.js +2 -3
  1378. package/cjs/utils/tl-json.js.map +1 -1
  1379. package/cjs/utils/type-assertions.d.ts +3 -3
  1380. package/cjs/utils/type-assertions.js +9 -10
  1381. package/cjs/utils/type-assertions.js.map +1 -1
  1382. package/esm/highlevel/base.d.ts +13 -9
  1383. package/esm/highlevel/base.js +8 -5
  1384. package/esm/highlevel/base.js.map +1 -1
  1385. package/esm/highlevel/client.d.ts +167 -76
  1386. package/esm/highlevel/client.js +31 -17
  1387. package/esm/highlevel/client.js.map +1 -1
  1388. package/esm/highlevel/client.types.d.ts +3 -1
  1389. package/esm/highlevel/client.types.js.map +1 -1
  1390. package/esm/highlevel/managers/app-config-manager.d.ts +2 -2
  1391. package/esm/highlevel/managers/app-config-manager.js.map +1 -1
  1392. package/esm/highlevel/methods/_imports.js +1 -1
  1393. package/esm/highlevel/methods/_imports.js.map +1 -1
  1394. package/esm/highlevel/methods/_init.js +0 -2
  1395. package/esm/highlevel/methods/_init.js.map +1 -1
  1396. package/esm/highlevel/methods/auth/check-password.d.ts +2 -2
  1397. package/esm/highlevel/methods/auth/check-password.js.map +1 -1
  1398. package/esm/highlevel/methods/auth/get-password-hint.d.ts +1 -1
  1399. package/esm/highlevel/methods/auth/get-password-hint.js +1 -1
  1400. package/esm/highlevel/methods/auth/get-password-hint.js.map +1 -1
  1401. package/esm/highlevel/methods/auth/log-out.d.ts +1 -1
  1402. package/esm/highlevel/methods/auth/log-out.js.map +1 -1
  1403. package/esm/highlevel/methods/auth/recover-password.d.ts +2 -2
  1404. package/esm/highlevel/methods/auth/recover-password.js.map +1 -1
  1405. package/esm/highlevel/methods/auth/resend-code.d.ts +1 -1
  1406. package/esm/highlevel/methods/auth/resend-code.js.map +1 -1
  1407. package/esm/highlevel/methods/auth/run.d.ts +2 -2
  1408. package/esm/highlevel/methods/auth/run.js +1 -1
  1409. package/esm/highlevel/methods/auth/run.js.map +1 -1
  1410. package/esm/highlevel/methods/auth/send-code.d.ts +2 -2
  1411. package/esm/highlevel/methods/auth/send-code.js.map +1 -1
  1412. package/esm/highlevel/methods/auth/send-recovery-code.d.ts +1 -1
  1413. package/esm/highlevel/methods/auth/send-recovery-code.js +1 -1
  1414. package/esm/highlevel/methods/auth/send-recovery-code.js.map +1 -1
  1415. package/esm/highlevel/methods/auth/sign-in-bot.d.ts +2 -2
  1416. package/esm/highlevel/methods/auth/sign-in-bot.js.map +1 -1
  1417. package/esm/highlevel/methods/auth/sign-in-qr.d.ts +4 -3
  1418. package/esm/highlevel/methods/auth/sign-in-qr.js +2 -2
  1419. package/esm/highlevel/methods/auth/sign-in-qr.js.map +1 -1
  1420. package/esm/highlevel/methods/auth/sign-in.d.ts +2 -2
  1421. package/esm/highlevel/methods/auth/sign-in.js.map +1 -1
  1422. package/esm/highlevel/methods/auth/start-test.d.ts +2 -2
  1423. package/esm/highlevel/methods/auth/start-test.js +5 -5
  1424. package/esm/highlevel/methods/auth/start-test.js.map +1 -1
  1425. package/esm/highlevel/methods/auth/start.d.ts +6 -6
  1426. package/esm/highlevel/methods/auth/start.js +13 -11
  1427. package/esm/highlevel/methods/auth/start.js.map +1 -1
  1428. package/esm/highlevel/methods/auth/utils.d.ts +2 -2
  1429. package/esm/highlevel/methods/auth/utils.js.map +1 -1
  1430. package/esm/highlevel/methods/bots/answer-callback-query.d.ts +2 -2
  1431. package/esm/highlevel/methods/bots/answer-callback-query.js.map +1 -1
  1432. package/esm/highlevel/methods/bots/answer-inline-query.d.ts +4 -4
  1433. package/esm/highlevel/methods/bots/answer-inline-query.js +8 -8
  1434. package/esm/highlevel/methods/bots/answer-inline-query.js.map +1 -1
  1435. package/esm/highlevel/methods/bots/answer-pre-checkout-query.d.ts +2 -2
  1436. package/esm/highlevel/methods/bots/answer-pre-checkout-query.js.map +1 -1
  1437. package/esm/highlevel/methods/bots/delete-my-commands.d.ts +3 -3
  1438. package/esm/highlevel/methods/bots/delete-my-commands.js +3 -3
  1439. package/esm/highlevel/methods/bots/delete-my-commands.js.map +1 -1
  1440. package/esm/highlevel/methods/bots/get-bot-info.d.ts +3 -3
  1441. package/esm/highlevel/methods/bots/get-bot-info.js +1 -1
  1442. package/esm/highlevel/methods/bots/get-bot-info.js.map +1 -1
  1443. package/esm/highlevel/methods/bots/get-bot-menu-button.d.ts +3 -3
  1444. package/esm/highlevel/methods/bots/get-bot-menu-button.js +1 -1
  1445. package/esm/highlevel/methods/bots/get-bot-menu-button.js.map +1 -1
  1446. package/esm/highlevel/methods/bots/get-callback-answer.d.ts +3 -3
  1447. package/esm/highlevel/methods/bots/get-callback-answer.js +2 -2
  1448. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  1449. package/esm/highlevel/methods/bots/get-game-high-scores.d.ts +4 -3
  1450. package/esm/highlevel/methods/bots/get-game-high-scores.js +3 -3
  1451. package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  1452. package/esm/highlevel/methods/bots/get-my-commands.d.ts +3 -3
  1453. package/esm/highlevel/methods/bots/get-my-commands.js +3 -3
  1454. package/esm/highlevel/methods/bots/get-my-commands.js.map +1 -1
  1455. package/esm/highlevel/methods/bots/normalize-command-scope.d.ts +2 -2
  1456. package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  1457. package/esm/highlevel/methods/bots/set-bot-info.d.ts +2 -2
  1458. package/esm/highlevel/methods/bots/set-bot-info.js +1 -1
  1459. package/esm/highlevel/methods/bots/set-bot-info.js.map +1 -1
  1460. package/esm/highlevel/methods/bots/set-bot-menu-button.d.ts +3 -3
  1461. package/esm/highlevel/methods/bots/set-bot-menu-button.js.map +1 -1
  1462. package/esm/highlevel/methods/bots/set-game-score.d.ts +3 -3
  1463. package/esm/highlevel/methods/bots/set-game-score.js +1 -1
  1464. package/esm/highlevel/methods/bots/set-game-score.js.map +1 -1
  1465. package/esm/highlevel/methods/bots/set-my-commands.d.ts +3 -3
  1466. package/esm/highlevel/methods/bots/set-my-commands.js +3 -3
  1467. package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
  1468. package/esm/highlevel/methods/bots/set-my-default-rights.d.ts +2 -2
  1469. package/esm/highlevel/methods/bots/set-my-default-rights.js.map +1 -1
  1470. package/esm/highlevel/methods/chats/add-chat-members.d.ts +4 -4
  1471. package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
  1472. package/esm/highlevel/methods/chats/archive-chats.d.ts +3 -3
  1473. package/esm/highlevel/methods/chats/archive-chats.js +1 -1
  1474. package/esm/highlevel/methods/chats/archive-chats.js.map +1 -1
  1475. package/esm/highlevel/methods/chats/ban-chat-member.d.ts +2 -2
  1476. package/esm/highlevel/methods/chats/ban-chat-member.js +2 -1
  1477. package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  1478. package/esm/highlevel/methods/chats/batched-queries.d.ts +5 -4
  1479. package/esm/highlevel/methods/chats/batched-queries.js +7 -7
  1480. package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
  1481. package/esm/highlevel/methods/chats/create-channel.d.ts +1 -1
  1482. package/esm/highlevel/methods/chats/create-channel.js.map +1 -1
  1483. package/esm/highlevel/methods/chats/create-group.d.ts +5 -4
  1484. package/esm/highlevel/methods/chats/create-group.js.map +1 -1
  1485. package/esm/highlevel/methods/chats/create-supergroup.d.ts +1 -1
  1486. package/esm/highlevel/methods/chats/create-supergroup.js.map +1 -1
  1487. package/esm/highlevel/methods/chats/delete-channel.d.ts +2 -2
  1488. package/esm/highlevel/methods/chats/delete-channel.js.map +1 -1
  1489. package/esm/highlevel/methods/chats/delete-chat-photo.d.ts +2 -2
  1490. package/esm/highlevel/methods/chats/delete-chat-photo.js +2 -1
  1491. package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  1492. package/esm/highlevel/methods/chats/delete-group.d.ts +2 -2
  1493. package/esm/highlevel/methods/chats/delete-group.js.map +1 -1
  1494. package/esm/highlevel/methods/chats/delete-history.d.ts +2 -2
  1495. package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
  1496. package/esm/highlevel/methods/chats/delete-user-history.d.ts +2 -2
  1497. package/esm/highlevel/methods/chats/delete-user-history.js.map +1 -1
  1498. package/esm/highlevel/methods/chats/edit-admin-rights.d.ts +3 -3
  1499. package/esm/highlevel/methods/chats/edit-admin-rights.js.map +1 -1
  1500. package/esm/highlevel/methods/chats/get-chat-event-log.d.ts +5 -4
  1501. package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  1502. package/esm/highlevel/methods/chats/get-chat-member.d.ts +3 -2
  1503. package/esm/highlevel/methods/chats/get-chat-member.js +4 -3
  1504. package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
  1505. package/esm/highlevel/methods/chats/get-chat-members.d.ts +3 -2
  1506. package/esm/highlevel/methods/chats/get-chat-members.js +2 -2
  1507. package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
  1508. package/esm/highlevel/methods/chats/get-chat-preview.d.ts +1 -1
  1509. package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  1510. package/esm/highlevel/methods/chats/get-chat.d.ts +3 -2
  1511. package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
  1512. package/esm/highlevel/methods/chats/get-full-chat.d.ts +3 -2
  1513. package/esm/highlevel/methods/chats/get-full-chat.js +2 -1
  1514. package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
  1515. package/esm/highlevel/methods/chats/get-nearby-chats.d.ts +1 -1
  1516. package/esm/highlevel/methods/chats/get-nearby-chats.js +2 -2
  1517. package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  1518. package/esm/highlevel/methods/chats/get-similar-channels.d.ts +3 -2
  1519. package/esm/highlevel/methods/chats/get-similar-channels.js +1 -1
  1520. package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  1521. package/esm/highlevel/methods/chats/iter-chat-event-log.d.ts +2 -2
  1522. package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  1523. package/esm/highlevel/methods/chats/iter-chat-members.d.ts +2 -2
  1524. package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  1525. package/esm/highlevel/methods/chats/join-chat.d.ts +3 -2
  1526. package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
  1527. package/esm/highlevel/methods/chats/kick-chat-member.d.ts +2 -2
  1528. package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  1529. package/esm/highlevel/methods/chats/leave-chat.d.ts +2 -2
  1530. package/esm/highlevel/methods/chats/leave-chat.js +2 -1
  1531. package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
  1532. package/esm/highlevel/methods/chats/mark-chat-unread.d.ts +2 -2
  1533. package/esm/highlevel/methods/chats/mark-chat-unread.js.map +1 -1
  1534. package/esm/highlevel/methods/chats/open-chat.d.ts +2 -2
  1535. package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
  1536. package/esm/highlevel/methods/chats/reorder-usernames.d.ts +2 -2
  1537. package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  1538. package/esm/highlevel/methods/chats/restrict-chat-member.d.ts +3 -3
  1539. package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  1540. package/esm/highlevel/methods/chats/save-draft.d.ts +3 -3
  1541. package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
  1542. package/esm/highlevel/methods/chats/set-chat-color.d.ts +3 -3
  1543. package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
  1544. package/esm/highlevel/methods/chats/set-chat-default-permissions.d.ts +4 -3
  1545. package/esm/highlevel/methods/chats/set-chat-default-permissions.js.map +1 -1
  1546. package/esm/highlevel/methods/chats/set-chat-description.d.ts +2 -2
  1547. package/esm/highlevel/methods/chats/set-chat-description.js.map +1 -1
  1548. package/esm/highlevel/methods/chats/set-chat-photo.d.ts +2 -2
  1549. package/esm/highlevel/methods/chats/set-chat-photo.js +4 -3
  1550. package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  1551. package/esm/highlevel/methods/chats/set-chat-title.d.ts +2 -2
  1552. package/esm/highlevel/methods/chats/set-chat-title.js +2 -1
  1553. package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
  1554. package/esm/highlevel/methods/chats/set-chat-ttl.d.ts +2 -2
  1555. package/esm/highlevel/methods/chats/set-chat-ttl.js.map +1 -1
  1556. package/esm/highlevel/methods/chats/set-chat-username.d.ts +2 -2
  1557. package/esm/highlevel/methods/chats/set-chat-username.js.map +1 -1
  1558. package/esm/highlevel/methods/chats/set-slow-mode.d.ts +2 -2
  1559. package/esm/highlevel/methods/chats/set-slow-mode.js.map +1 -1
  1560. package/esm/highlevel/methods/chats/toggle-content-protection.d.ts +2 -2
  1561. package/esm/highlevel/methods/chats/toggle-content-protection.js.map +1 -1
  1562. package/esm/highlevel/methods/chats/toggle-fragment-username.d.ts +2 -2
  1563. package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  1564. package/esm/highlevel/methods/chats/toggle-join-requests.d.ts +2 -2
  1565. package/esm/highlevel/methods/chats/toggle-join-requests.js.map +1 -1
  1566. package/esm/highlevel/methods/chats/toggle-join-to-send.d.ts +2 -2
  1567. package/esm/highlevel/methods/chats/toggle-join-to-send.js.map +1 -1
  1568. package/esm/highlevel/methods/chats/unarchive-chats.d.ts +3 -3
  1569. package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  1570. package/esm/highlevel/methods/chats/unban-chat-member.d.ts +2 -2
  1571. package/esm/highlevel/methods/chats/unban-chat-member.js +2 -1
  1572. package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  1573. package/esm/highlevel/methods/contacts/add-contact.d.ts +3 -2
  1574. package/esm/highlevel/methods/contacts/add-contact.js.map +1 -1
  1575. package/esm/highlevel/methods/contacts/delete-contacts.d.ts +4 -3
  1576. package/esm/highlevel/methods/contacts/delete-contacts.js +1 -1
  1577. package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  1578. package/esm/highlevel/methods/contacts/get-contacts.d.ts +1 -1
  1579. package/esm/highlevel/methods/contacts/get-contacts.js +1 -1
  1580. package/esm/highlevel/methods/contacts/get-contacts.js.map +1 -1
  1581. package/esm/highlevel/methods/contacts/import-contacts.d.ts +3 -3
  1582. package/esm/highlevel/methods/contacts/import-contacts.js +2 -2
  1583. package/esm/highlevel/methods/contacts/import-contacts.js.map +1 -1
  1584. package/esm/highlevel/methods/dialogs/create-folder.d.ts +3 -3
  1585. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  1586. package/esm/highlevel/methods/dialogs/delete-folder.d.ts +2 -2
  1587. package/esm/highlevel/methods/dialogs/delete-folder.js.map +1 -1
  1588. package/esm/highlevel/methods/dialogs/edit-folder.d.ts +2 -2
  1589. package/esm/highlevel/methods/dialogs/edit-folder.js +1 -1
  1590. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  1591. package/esm/highlevel/methods/dialogs/find-dialogs.d.ts +3 -3
  1592. package/esm/highlevel/methods/dialogs/find-dialogs.js +5 -1
  1593. package/esm/highlevel/methods/dialogs/find-dialogs.js.map +1 -1
  1594. package/esm/highlevel/methods/dialogs/find-folder.d.ts +2 -2
  1595. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  1596. package/esm/highlevel/methods/dialogs/get-chatlist-preview.d.ts +1 -1
  1597. package/esm/highlevel/methods/dialogs/get-chatlist-preview.js.map +1 -1
  1598. package/esm/highlevel/methods/dialogs/get-folders.d.ts +3 -3
  1599. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  1600. package/esm/highlevel/methods/dialogs/get-peer-dialogs.d.ts +3 -3
  1601. package/esm/highlevel/methods/dialogs/get-peer-dialogs.js +1 -1
  1602. package/esm/highlevel/methods/dialogs/get-peer-dialogs.js.map +1 -1
  1603. package/esm/highlevel/methods/dialogs/iter-dialogs.d.ts +5 -4
  1604. package/esm/highlevel/methods/dialogs/iter-dialogs.js +6 -6
  1605. package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  1606. package/esm/highlevel/methods/dialogs/join-chatlist.d.ts +4 -4
  1607. package/esm/highlevel/methods/dialogs/join-chatlist.js +2 -2
  1608. package/esm/highlevel/methods/dialogs/join-chatlist.js.map +1 -1
  1609. package/esm/highlevel/methods/dialogs/set-folders-order.d.ts +1 -1
  1610. package/esm/highlevel/methods/dialogs/set-folders-order.js.map +1 -1
  1611. package/esm/highlevel/methods/files/download-buffer.d.ts +2 -2
  1612. package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
  1613. package/esm/highlevel/methods/files/download-file.js +1 -1
  1614. package/esm/highlevel/methods/files/download-file.js.map +1 -1
  1615. package/esm/highlevel/methods/files/download-iterable.d.ts +2 -2
  1616. package/esm/highlevel/methods/files/download-iterable.js +5 -4
  1617. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  1618. package/esm/highlevel/methods/files/download-node-stream.js +1 -1
  1619. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
  1620. package/esm/highlevel/methods/files/download-stream.d.ts +2 -2
  1621. package/esm/highlevel/methods/files/download-stream.js +1 -1
  1622. package/esm/highlevel/methods/files/download-stream.js.map +1 -1
  1623. package/esm/highlevel/methods/files/normalize-file-to-document.d.ts +2 -2
  1624. package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  1625. package/esm/highlevel/methods/files/normalize-input-file.d.ts +2 -2
  1626. package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
  1627. package/esm/highlevel/methods/files/normalize-input-media.d.ts +2 -2
  1628. package/esm/highlevel/methods/files/normalize-input-media.js +20 -20
  1629. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  1630. package/esm/highlevel/methods/files/upload-file.d.ts +2 -2
  1631. package/esm/highlevel/methods/files/upload-file.js +8 -8
  1632. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  1633. package/esm/highlevel/methods/files/upload-media.d.ts +3 -2
  1634. package/esm/highlevel/methods/files/upload-media.js +3 -3
  1635. package/esm/highlevel/methods/files/upload-media.js.map +1 -1
  1636. package/esm/highlevel/methods/forums/create-forum-topic.d.ts +3 -3
  1637. package/esm/highlevel/methods/forums/create-forum-topic.js.map +1 -1
  1638. package/esm/highlevel/methods/forums/delete-forum-topic-history.d.ts +1 -1
  1639. package/esm/highlevel/methods/forums/delete-forum-topic-history.js.map +1 -1
  1640. package/esm/highlevel/methods/forums/edit-forum-topic.d.ts +2 -2
  1641. package/esm/highlevel/methods/forums/edit-forum-topic.js.map +1 -1
  1642. package/esm/highlevel/methods/forums/get-forum-topics-by-id.d.ts +4 -3
  1643. package/esm/highlevel/methods/forums/get-forum-topics-by-id.js.map +1 -1
  1644. package/esm/highlevel/methods/forums/get-forum-topics.d.ts +3 -2
  1645. package/esm/highlevel/methods/forums/get-forum-topics.js +4 -4
  1646. package/esm/highlevel/methods/forums/get-forum-topics.js.map +1 -1
  1647. package/esm/highlevel/methods/forums/iter-forum-topics.d.ts +2 -2
  1648. package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  1649. package/esm/highlevel/methods/forums/reorder-pinned-forum-topics.d.ts +1 -1
  1650. package/esm/highlevel/methods/forums/reorder-pinned-forum-topics.js +1 -1
  1651. package/esm/highlevel/methods/forums/reorder-pinned-forum-topics.js.map +1 -1
  1652. package/esm/highlevel/methods/forums/toggle-forum-topic-closed.d.ts +1 -1
  1653. package/esm/highlevel/methods/forums/toggle-forum-topic-closed.js.map +1 -1
  1654. package/esm/highlevel/methods/forums/toggle-forum-topic-pinned.d.ts +2 -2
  1655. package/esm/highlevel/methods/forums/toggle-forum-topic-pinned.js.map +1 -1
  1656. package/esm/highlevel/methods/forums/toggle-forum.d.ts +2 -2
  1657. package/esm/highlevel/methods/forums/toggle-forum.js.map +1 -1
  1658. package/esm/highlevel/methods/forums/toggle-general-topic-hidden.d.ts +2 -2
  1659. package/esm/highlevel/methods/forums/toggle-general-topic-hidden.js.map +1 -1
  1660. package/esm/highlevel/methods/invite-links/create-invite-link.d.ts +3 -2
  1661. package/esm/highlevel/methods/invite-links/create-invite-link.js.map +1 -1
  1662. package/esm/highlevel/methods/invite-links/edit-invite-link.d.ts +3 -2
  1663. package/esm/highlevel/methods/invite-links/edit-invite-link.js.map +1 -1
  1664. package/esm/highlevel/methods/invite-links/export-invite-link.d.ts +3 -2
  1665. package/esm/highlevel/methods/invite-links/export-invite-link.js.map +1 -1
  1666. package/esm/highlevel/methods/invite-links/get-invite-link-members.d.ts +4 -3
  1667. package/esm/highlevel/methods/invite-links/get-invite-link-members.js +5 -5
  1668. package/esm/highlevel/methods/invite-links/get-invite-link-members.js.map +1 -1
  1669. package/esm/highlevel/methods/invite-links/get-invite-link.d.ts +3 -2
  1670. package/esm/highlevel/methods/invite-links/get-invite-link.js.map +1 -1
  1671. package/esm/highlevel/methods/invite-links/get-invite-links.d.ts +3 -2
  1672. package/esm/highlevel/methods/invite-links/get-invite-links.js +5 -5
  1673. package/esm/highlevel/methods/invite-links/get-invite-links.js.map +1 -1
  1674. package/esm/highlevel/methods/invite-links/get-primary-invite-link.d.ts +3 -2
  1675. package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  1676. package/esm/highlevel/methods/invite-links/hide-all-join-requests.d.ts +1 -1
  1677. package/esm/highlevel/methods/invite-links/hide-all-join-requests.js.map +1 -1
  1678. package/esm/highlevel/methods/invite-links/hide-join-request.d.ts +2 -2
  1679. package/esm/highlevel/methods/invite-links/hide-join-request.js.map +1 -1
  1680. package/esm/highlevel/methods/invite-links/iter-invite-link-members.d.ts +2 -2
  1681. package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  1682. package/esm/highlevel/methods/invite-links/iter-invite-links.d.ts +2 -2
  1683. package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  1684. package/esm/highlevel/methods/invite-links/revoke-invite-link.d.ts +3 -2
  1685. package/esm/highlevel/methods/invite-links/revoke-invite-link.js.map +1 -1
  1686. package/esm/highlevel/methods/messages/_business-connection.d.ts +4 -4
  1687. package/esm/highlevel/methods/messages/_business-connection.js +3 -3
  1688. package/esm/highlevel/methods/messages/_business-connection.js.map +1 -1
  1689. package/esm/highlevel/methods/messages/close-poll.d.ts +3 -2
  1690. package/esm/highlevel/methods/messages/close-poll.js +1 -1
  1691. package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
  1692. package/esm/highlevel/methods/messages/delete-messages.d.ts +2 -2
  1693. package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
  1694. package/esm/highlevel/methods/messages/delete-scheduled-messages.d.ts +2 -2
  1695. package/esm/highlevel/methods/messages/delete-scheduled-messages.js.map +1 -1
  1696. package/esm/highlevel/methods/messages/edit-inline-message.d.ts +2 -2
  1697. package/esm/highlevel/methods/messages/edit-inline-message.js +2 -2
  1698. package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  1699. package/esm/highlevel/methods/messages/edit-message.d.ts +2 -2
  1700. package/esm/highlevel/methods/messages/edit-message.js +2 -2
  1701. package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
  1702. package/esm/highlevel/methods/messages/find-in-update.d.ts +2 -2
  1703. package/esm/highlevel/methods/messages/find-in-update.js +9 -9
  1704. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  1705. package/esm/highlevel/methods/messages/forward-messages.d.ts +3 -2
  1706. package/esm/highlevel/methods/messages/forward-messages.js +1 -1
  1707. package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
  1708. package/esm/highlevel/methods/messages/get-all-scheduled-messages.d.ts +3 -2
  1709. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -1
  1710. package/esm/highlevel/methods/messages/get-available-effects.d.ts +1 -1
  1711. package/esm/highlevel/methods/messages/get-available-effects.js +1 -1
  1712. package/esm/highlevel/methods/messages/get-available-effects.js.map +1 -1
  1713. package/esm/highlevel/methods/messages/get-callback-query-message.d.ts +3 -3
  1714. package/esm/highlevel/methods/messages/get-callback-query-message.js +4 -4
  1715. package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  1716. package/esm/highlevel/methods/messages/get-discussion-message.d.ts +5 -4
  1717. package/esm/highlevel/methods/messages/get-discussion-message.js +1 -1
  1718. package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  1719. package/esm/highlevel/methods/messages/get-fact-check.d.ts +3 -3
  1720. package/esm/highlevel/methods/messages/get-fact-check.js.map +1 -1
  1721. package/esm/highlevel/methods/messages/get-history.d.ts +3 -2
  1722. package/esm/highlevel/methods/messages/get-history.js +5 -5
  1723. package/esm/highlevel/methods/messages/get-history.js.map +1 -1
  1724. package/esm/highlevel/methods/messages/get-message-by-link.d.ts +2 -2
  1725. package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  1726. package/esm/highlevel/methods/messages/get-message-group.d.ts +2 -2
  1727. package/esm/highlevel/methods/messages/get-message-group.js +2 -2
  1728. package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
  1729. package/esm/highlevel/methods/messages/get-message-reactions.d.ts +3 -2
  1730. package/esm/highlevel/methods/messages/get-message-reactions.js +2 -2
  1731. package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  1732. package/esm/highlevel/methods/messages/get-messages-unsafe.d.ts +3 -3
  1733. package/esm/highlevel/methods/messages/get-messages-unsafe.js +2 -2
  1734. package/esm/highlevel/methods/messages/get-messages-unsafe.js.map +1 -1
  1735. package/esm/highlevel/methods/messages/get-messages.d.ts +4 -4
  1736. package/esm/highlevel/methods/messages/get-messages.js +7 -7
  1737. package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
  1738. package/esm/highlevel/methods/messages/get-reaction-users.d.ts +3 -2
  1739. package/esm/highlevel/methods/messages/get-reaction-users.js +2 -2
  1740. package/esm/highlevel/methods/messages/get-reaction-users.js.map +1 -1
  1741. package/esm/highlevel/methods/messages/get-reply-to.d.ts +2 -2
  1742. package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
  1743. package/esm/highlevel/methods/messages/get-scheduled-messages.d.ts +4 -3
  1744. package/esm/highlevel/methods/messages/get-scheduled-messages.js.map +1 -1
  1745. package/esm/highlevel/methods/messages/iter-history.d.ts +2 -2
  1746. package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
  1747. package/esm/highlevel/methods/messages/iter-reaction-users.d.ts +2 -2
  1748. package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  1749. package/esm/highlevel/methods/messages/iter-search-global.d.ts +2 -2
  1750. package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
  1751. package/esm/highlevel/methods/messages/iter-search-messages.d.ts +2 -2
  1752. package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  1753. package/esm/highlevel/methods/messages/pin-message.d.ts +2 -2
  1754. package/esm/highlevel/methods/messages/pin-message.js.map +1 -1
  1755. package/esm/highlevel/methods/messages/read-history.d.ts +2 -2
  1756. package/esm/highlevel/methods/messages/read-history.js.map +1 -1
  1757. package/esm/highlevel/methods/messages/read-reactions.d.ts +2 -2
  1758. package/esm/highlevel/methods/messages/read-reactions.js.map +1 -1
  1759. package/esm/highlevel/methods/messages/search-global.d.ts +4 -3
  1760. package/esm/highlevel/methods/messages/search-global.js +5 -5
  1761. package/esm/highlevel/methods/messages/search-global.js.map +1 -1
  1762. package/esm/highlevel/methods/messages/search-hashtag.d.ts +3 -3
  1763. package/esm/highlevel/methods/messages/search-hashtag.js +5 -5
  1764. package/esm/highlevel/methods/messages/search-hashtag.js.map +1 -1
  1765. package/esm/highlevel/methods/messages/search-messages.d.ts +4 -3
  1766. package/esm/highlevel/methods/messages/search-messages.js +1 -1
  1767. package/esm/highlevel/methods/messages/search-messages.js.map +1 -1
  1768. package/esm/highlevel/methods/messages/send-answer.d.ts +3 -3
  1769. package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
  1770. package/esm/highlevel/methods/messages/send-comment.d.ts +3 -3
  1771. package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
  1772. package/esm/highlevel/methods/messages/send-common.d.ts +5 -5
  1773. package/esm/highlevel/methods/messages/send-common.js +3 -3
  1774. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  1775. package/esm/highlevel/methods/messages/send-copy-group.d.ts +4 -4
  1776. package/esm/highlevel/methods/messages/send-copy-group.js +1 -1
  1777. package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
  1778. package/esm/highlevel/methods/messages/send-copy.d.ts +3 -3
  1779. package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
  1780. package/esm/highlevel/methods/messages/send-media-group.d.ts +4 -4
  1781. package/esm/highlevel/methods/messages/send-media-group.js +1 -1
  1782. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  1783. package/esm/highlevel/methods/messages/send-media.d.ts +7 -7
  1784. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  1785. package/esm/highlevel/methods/messages/send-paid-reaction.d.ts +25 -0
  1786. package/esm/highlevel/methods/messages/send-paid-reaction.js +51 -0
  1787. package/esm/highlevel/methods/messages/send-paid-reaction.js.map +1 -0
  1788. package/esm/highlevel/methods/messages/send-quote.d.ts +3 -3
  1789. package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
  1790. package/esm/highlevel/methods/messages/send-reaction.d.ts +3 -3
  1791. package/esm/highlevel/methods/messages/send-reaction.js.map +1 -1
  1792. package/esm/highlevel/methods/messages/send-reply.d.ts +3 -3
  1793. package/esm/highlevel/methods/messages/send-reply.js.map +1 -1
  1794. package/esm/highlevel/methods/messages/send-scheduled.d.ts +4 -3
  1795. package/esm/highlevel/methods/messages/send-scheduled.js +1 -1
  1796. package/esm/highlevel/methods/messages/send-scheduled.js.map +1 -1
  1797. package/esm/highlevel/methods/messages/send-text.d.ts +5 -5
  1798. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  1799. package/esm/highlevel/methods/messages/send-typing.d.ts +3 -3
  1800. package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
  1801. package/esm/highlevel/methods/messages/send-vote.d.ts +4 -3
  1802. package/esm/highlevel/methods/messages/send-vote.js +3 -3
  1803. package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
  1804. package/esm/highlevel/methods/messages/translate-message.d.ts +2 -2
  1805. package/esm/highlevel/methods/messages/translate-message.js.map +1 -1
  1806. package/esm/highlevel/methods/messages/translate-text.d.ts +2 -2
  1807. package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
  1808. package/esm/highlevel/methods/messages/unpin-all-messages.d.ts +2 -2
  1809. package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  1810. package/esm/highlevel/methods/messages/unpin-message.d.ts +2 -2
  1811. package/esm/highlevel/methods/messages/unpin-message.js.map +1 -1
  1812. package/esm/highlevel/methods/misc/chain-id.d.ts +2 -2
  1813. package/esm/highlevel/methods/misc/chain-id.js.map +1 -1
  1814. package/esm/highlevel/methods/misc/get-collectible-info.d.ts +1 -1
  1815. package/esm/highlevel/methods/misc/get-collectible-info.js +4 -4
  1816. package/esm/highlevel/methods/misc/get-collectible-info.js.map +1 -1
  1817. package/esm/highlevel/methods/misc/init-takeout-session.d.ts +2 -2
  1818. package/esm/highlevel/methods/misc/init-takeout-session.js.map +1 -1
  1819. package/esm/highlevel/methods/misc/normalize-privacy-rules.d.ts +3 -3
  1820. package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  1821. package/esm/highlevel/methods/misc/normalize-text.d.ts +3 -3
  1822. package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
  1823. package/esm/highlevel/methods/misc/with-params.d.ts +2 -2
  1824. package/esm/highlevel/methods/misc/with-params.js.map +1 -1
  1825. package/esm/highlevel/methods/password/change-cloud-password.d.ts +1 -1
  1826. package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
  1827. package/esm/highlevel/methods/password/enable-cloud-password.d.ts +1 -1
  1828. package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  1829. package/esm/highlevel/methods/password/password-email.d.ts +1 -1
  1830. package/esm/highlevel/methods/password/password-email.js.map +1 -1
  1831. package/esm/highlevel/methods/password/remove-cloud-password.d.ts +1 -1
  1832. package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  1833. package/esm/highlevel/methods/premium/apply-boost.d.ts +2 -2
  1834. package/esm/highlevel/methods/premium/apply-boost.js.map +1 -1
  1835. package/esm/highlevel/methods/premium/can-apply-boost.d.ts +3 -3
  1836. package/esm/highlevel/methods/premium/can-apply-boost.js +3 -3
  1837. package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  1838. package/esm/highlevel/methods/premium/create-business-chat-link.d.ts +2 -2
  1839. package/esm/highlevel/methods/premium/create-business-chat-link.js.map +1 -1
  1840. package/esm/highlevel/methods/premium/edit-business-chat-link.d.ts +2 -2
  1841. package/esm/highlevel/methods/premium/edit-business-chat-link.js.map +1 -1
  1842. package/esm/highlevel/methods/premium/get-boost-stats.d.ts +2 -2
  1843. package/esm/highlevel/methods/premium/get-boost-stats.js.map +1 -1
  1844. package/esm/highlevel/methods/premium/get-boosts.d.ts +2 -2
  1845. package/esm/highlevel/methods/premium/get-boosts.js +1 -1
  1846. package/esm/highlevel/methods/premium/get-boosts.js.map +1 -1
  1847. package/esm/highlevel/methods/premium/get-business-chat-links.d.ts +1 -1
  1848. package/esm/highlevel/methods/premium/get-business-chat-links.js +1 -1
  1849. package/esm/highlevel/methods/premium/get-business-chat-links.js.map +1 -1
  1850. package/esm/highlevel/methods/premium/get-business-connection.d.ts +1 -1
  1851. package/esm/highlevel/methods/premium/get-business-connection.js.map +1 -1
  1852. package/esm/highlevel/methods/premium/get-my-boost-slots.d.ts +1 -1
  1853. package/esm/highlevel/methods/premium/get-my-boost-slots.js +1 -1
  1854. package/esm/highlevel/methods/premium/get-my-boost-slots.js.map +1 -1
  1855. package/esm/highlevel/methods/premium/get-stars-transactions.d.ts +34 -0
  1856. package/esm/highlevel/methods/premium/get-stars-transactions.js +26 -0
  1857. package/esm/highlevel/methods/premium/get-stars-transactions.js.map +1 -0
  1858. package/esm/highlevel/methods/premium/iter-boosters.d.ts +3 -5
  1859. package/esm/highlevel/methods/premium/iter-boosters.js +0 -2
  1860. package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
  1861. package/esm/highlevel/methods/premium/iter-stars-transactions.d.ts +29 -0
  1862. package/esm/highlevel/methods/premium/iter-stars-transactions.js +36 -0
  1863. package/esm/highlevel/methods/premium/iter-stars-transactions.js.map +1 -0
  1864. package/esm/highlevel/methods/premium/set-business-intro.d.ts +3 -3
  1865. package/esm/highlevel/methods/premium/set-business-intro.js +4 -2
  1866. package/esm/highlevel/methods/premium/set-business-intro.js.map +1 -1
  1867. package/esm/highlevel/methods/premium/set-business-work-hours.d.ts +3 -3
  1868. package/esm/highlevel/methods/premium/set-business-work-hours.js +1 -1
  1869. package/esm/highlevel/methods/premium/set-business-work-hours.js.map +1 -1
  1870. package/esm/highlevel/methods/stickers/_utils.d.ts +3 -3
  1871. package/esm/highlevel/methods/stickers/_utils.js +4 -4
  1872. package/esm/highlevel/methods/stickers/_utils.js.map +1 -1
  1873. package/esm/highlevel/methods/stickers/add-sticker-to-set.d.ts +3 -2
  1874. package/esm/highlevel/methods/stickers/add-sticker-to-set.js +1 -1
  1875. package/esm/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  1876. package/esm/highlevel/methods/stickers/create-sticker-set.d.ts +3 -2
  1877. package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  1878. package/esm/highlevel/methods/stickers/delete-sticker-from-set.d.ts +2 -2
  1879. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  1880. package/esm/highlevel/methods/stickers/get-custom-emojis.d.ts +4 -4
  1881. package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  1882. package/esm/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -1
  1883. package/esm/highlevel/methods/stickers/get-installed-stickers.js +1 -1
  1884. package/esm/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  1885. package/esm/highlevel/methods/stickers/get-my-sticker-sets.d.ts +2 -2
  1886. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js +1 -1
  1887. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -1
  1888. package/esm/highlevel/methods/stickers/get-sticker-set.d.ts +3 -2
  1889. package/esm/highlevel/methods/stickers/get-sticker-set.js +1 -1
  1890. package/esm/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  1891. package/esm/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -2
  1892. package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  1893. package/esm/highlevel/methods/stickers/replace-sticker-in-set.d.ts +4 -3
  1894. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -1
  1895. package/esm/highlevel/methods/stickers/set-chat-sticker-set.d.ts +2 -2
  1896. package/esm/highlevel/methods/stickers/set-chat-sticker-set.js.map +1 -1
  1897. package/esm/highlevel/methods/stickers/set-sticker-set-thumb.d.ts +4 -3
  1898. package/esm/highlevel/methods/stickers/set-sticker-set-thumb.js +1 -1
  1899. package/esm/highlevel/methods/stickers/set-sticker-set-thumb.js.map +1 -1
  1900. package/esm/highlevel/methods/stories/can-send-story.d.ts +2 -2
  1901. package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
  1902. package/esm/highlevel/methods/stories/delete-stories.d.ts +3 -3
  1903. package/esm/highlevel/methods/stories/delete-stories.js.map +1 -1
  1904. package/esm/highlevel/methods/stories/edit-story.d.ts +3 -3
  1905. package/esm/highlevel/methods/stories/edit-story.js +2 -2
  1906. package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
  1907. package/esm/highlevel/methods/stories/find-in-update.d.ts +2 -2
  1908. package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
  1909. package/esm/highlevel/methods/stories/get-all-stories.d.ts +1 -1
  1910. package/esm/highlevel/methods/stories/get-all-stories.js.map +1 -1
  1911. package/esm/highlevel/methods/stories/get-peer-stories.d.ts +3 -2
  1912. package/esm/highlevel/methods/stories/get-peer-stories.js +1 -1
  1913. package/esm/highlevel/methods/stories/get-peer-stories.js.map +1 -1
  1914. package/esm/highlevel/methods/stories/get-profile-stories.d.ts +3 -2
  1915. package/esm/highlevel/methods/stories/get-profile-stories.js.map +1 -1
  1916. package/esm/highlevel/methods/stories/get-stories-by-id.d.ts +4 -3
  1917. package/esm/highlevel/methods/stories/get-stories-by-id.js.map +1 -1
  1918. package/esm/highlevel/methods/stories/get-stories-interactions.d.ts +4 -3
  1919. package/esm/highlevel/methods/stories/get-stories-interactions.js +1 -1
  1920. package/esm/highlevel/methods/stories/get-stories-interactions.js.map +1 -1
  1921. package/esm/highlevel/methods/stories/get-story-link.d.ts +2 -2
  1922. package/esm/highlevel/methods/stories/get-story-link.js +1 -1
  1923. package/esm/highlevel/methods/stories/get-story-link.js.map +1 -1
  1924. package/esm/highlevel/methods/stories/get-story-viewers.d.ts +3 -2
  1925. package/esm/highlevel/methods/stories/get-story-viewers.js.map +1 -1
  1926. package/esm/highlevel/methods/stories/hide-my-stories-views.d.ts +1 -1
  1927. package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  1928. package/esm/highlevel/methods/stories/increment-stories-views.d.ts +3 -3
  1929. package/esm/highlevel/methods/stories/increment-stories-views.js.map +1 -1
  1930. package/esm/highlevel/methods/stories/iter-all-stories.d.ts +2 -2
  1931. package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  1932. package/esm/highlevel/methods/stories/iter-profile-stories.d.ts +2 -2
  1933. package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  1934. package/esm/highlevel/methods/stories/iter-story-viewers.d.ts +2 -2
  1935. package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  1936. package/esm/highlevel/methods/stories/read-stories.d.ts +2 -2
  1937. package/esm/highlevel/methods/stories/read-stories.js.map +1 -1
  1938. package/esm/highlevel/methods/stories/report-story.d.ts +4 -4
  1939. package/esm/highlevel/methods/stories/report-story.js.map +1 -1
  1940. package/esm/highlevel/methods/stories/send-story-reaction.d.ts +2 -2
  1941. package/esm/highlevel/methods/stories/send-story-reaction.js.map +1 -1
  1942. package/esm/highlevel/methods/stories/send-story.d.ts +3 -3
  1943. package/esm/highlevel/methods/stories/send-story.js +3 -3
  1944. package/esm/highlevel/methods/stories/send-story.js.map +1 -1
  1945. package/esm/highlevel/methods/stories/toggle-peer-stories-archived.d.ts +2 -2
  1946. package/esm/highlevel/methods/stories/toggle-peer-stories-archived.js.map +1 -1
  1947. package/esm/highlevel/methods/stories/toggle-stories-pinned.d.ts +3 -3
  1948. package/esm/highlevel/methods/stories/toggle-stories-pinned.js +1 -1
  1949. package/esm/highlevel/methods/stories/toggle-stories-pinned.js.map +1 -1
  1950. package/esm/highlevel/methods/users/block-user.d.ts +2 -2
  1951. package/esm/highlevel/methods/users/block-user.js.map +1 -1
  1952. package/esm/highlevel/methods/users/delete-profile-photos.d.ts +3 -3
  1953. package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  1954. package/esm/highlevel/methods/users/edit-close-friends.d.ts +2 -2
  1955. package/esm/highlevel/methods/users/edit-close-friends.js +1 -1
  1956. package/esm/highlevel/methods/users/edit-close-friends.js.map +1 -1
  1957. package/esm/highlevel/methods/users/get-common-chats.d.ts +3 -2
  1958. package/esm/highlevel/methods/users/get-common-chats.js +1 -1
  1959. package/esm/highlevel/methods/users/get-common-chats.js.map +1 -1
  1960. package/esm/highlevel/methods/users/get-global-ttl.d.ts +1 -1
  1961. package/esm/highlevel/methods/users/get-global-ttl.js +1 -1
  1962. package/esm/highlevel/methods/users/get-global-ttl.js.map +1 -1
  1963. package/esm/highlevel/methods/users/get-me.d.ts +1 -1
  1964. package/esm/highlevel/methods/users/get-me.js.map +1 -1
  1965. package/esm/highlevel/methods/users/get-my-username.d.ts +1 -1
  1966. package/esm/highlevel/methods/users/get-my-username.js +1 -1
  1967. package/esm/highlevel/methods/users/get-my-username.js.map +1 -1
  1968. package/esm/highlevel/methods/users/get-profile-photo.d.ts +4 -3
  1969. package/esm/highlevel/methods/users/get-profile-photo.js.map +1 -1
  1970. package/esm/highlevel/methods/users/get-profile-photos.d.ts +3 -2
  1971. package/esm/highlevel/methods/users/get-profile-photos.js.map +1 -1
  1972. package/esm/highlevel/methods/users/get-users.d.ts +4 -3
  1973. package/esm/highlevel/methods/users/get-users.js +2 -2
  1974. package/esm/highlevel/methods/users/get-users.js.map +1 -1
  1975. package/esm/highlevel/methods/users/iter-profile-photos.d.ts +2 -2
  1976. package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  1977. package/esm/highlevel/methods/users/resolve-peer-many.d.ts +3 -3
  1978. package/esm/highlevel/methods/users/resolve-peer-many.js +4 -4
  1979. package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  1980. package/esm/highlevel/methods/users/resolve-peer.d.ts +2 -2
  1981. package/esm/highlevel/methods/users/resolve-peer.js +6 -4
  1982. package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
  1983. package/esm/highlevel/methods/users/set-global-ttl.d.ts +1 -1
  1984. package/esm/highlevel/methods/users/set-global-ttl.js.map +1 -1
  1985. package/esm/highlevel/methods/users/set-my-birthday.d.ts +1 -1
  1986. package/esm/highlevel/methods/users/set-my-birthday.js +4 -4
  1987. package/esm/highlevel/methods/users/set-my-birthday.js.map +1 -1
  1988. package/esm/highlevel/methods/users/set-my-emoji-status.d.ts +2 -2
  1989. package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  1990. package/esm/highlevel/methods/users/set-my-profile-photo.d.ts +3 -2
  1991. package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  1992. package/esm/highlevel/methods/users/set-my-username.d.ts +1 -1
  1993. package/esm/highlevel/methods/users/set-my-username.js.map +1 -1
  1994. package/esm/highlevel/methods/users/set-offline.d.ts +1 -1
  1995. package/esm/highlevel/methods/users/set-offline.js.map +1 -1
  1996. package/esm/highlevel/methods/users/unblock-user.d.ts +2 -2
  1997. package/esm/highlevel/methods/users/unblock-user.js.map +1 -1
  1998. package/esm/highlevel/methods/users/update-profile.d.ts +1 -1
  1999. package/esm/highlevel/methods/users/update-profile.js.map +1 -1
  2000. package/esm/highlevel/methods.d.ts +30 -27
  2001. package/esm/highlevel/methods.js +14 -11
  2002. package/esm/highlevel/methods.js.map +1 -1
  2003. package/esm/highlevel/storage/provider.d.ts +3 -3
  2004. package/esm/highlevel/storage/provider.js.map +1 -1
  2005. package/esm/highlevel/storage/repository/peers.d.ts +7 -7
  2006. package/esm/highlevel/storage/repository/peers.js.map +1 -1
  2007. package/esm/highlevel/storage/repository/ref-messages.d.ts +6 -6
  2008. package/esm/highlevel/storage/repository/ref-messages.js.map +1 -1
  2009. package/esm/highlevel/storage/service/current-user.d.ts +4 -3
  2010. package/esm/highlevel/storage/service/current-user.js.map +1 -1
  2011. package/esm/highlevel/storage/service/peers.d.ts +5 -4
  2012. package/esm/highlevel/storage/service/peers.js.map +1 -1
  2013. package/esm/highlevel/storage/service/ref-messages.d.ts +3 -2
  2014. package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
  2015. package/esm/highlevel/storage/service/updates.d.ts +3 -2
  2016. package/esm/highlevel/storage/service/updates.js.map +1 -1
  2017. package/esm/highlevel/storage/storage.d.ts +7 -5
  2018. package/esm/highlevel/storage/storage.js.map +1 -1
  2019. package/esm/highlevel/types/auth/sent-code.d.ts +1 -1
  2020. package/esm/highlevel/types/auth/sent-code.js.map +1 -1
  2021. package/esm/highlevel/types/bots/command-scope/inner.d.ts +2 -2
  2022. package/esm/highlevel/types/bots/command-scope/inner.js.map +1 -1
  2023. package/esm/highlevel/types/bots/game-high-score.d.ts +2 -2
  2024. package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
  2025. package/esm/highlevel/types/bots/inline-message/factories.d.ts +4 -4
  2026. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
  2027. package/esm/highlevel/types/bots/inline-message/index.d.ts +1 -1
  2028. package/esm/highlevel/types/bots/inline-message/index.js +1 -1
  2029. package/esm/highlevel/types/bots/inline-message/index.js.map +1 -1
  2030. package/esm/highlevel/types/bots/inline-message/types.d.ts +3 -3
  2031. package/esm/highlevel/types/bots/inline-message/types.js.map +1 -1
  2032. package/esm/highlevel/types/bots/inline-result/factories.d.ts +3 -3
  2033. package/esm/highlevel/types/bots/inline-result/factories.js +18 -15
  2034. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
  2035. package/esm/highlevel/types/bots/inline-result/types.d.ts +2 -2
  2036. package/esm/highlevel/types/bots/inline-result/types.js.map +1 -1
  2037. package/esm/highlevel/types/bots/keyboards/builder.d.ts +1 -1
  2038. package/esm/highlevel/types/bots/keyboards/builder.js +2 -2
  2039. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
  2040. package/esm/highlevel/types/bots/keyboards/factories.d.ts +1 -1
  2041. package/esm/highlevel/types/bots/keyboards/factories.js +5 -5
  2042. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
  2043. package/esm/highlevel/types/bots/keyboards/index.d.ts +1 -1
  2044. package/esm/highlevel/types/bots/keyboards/index.js +1 -1
  2045. package/esm/highlevel/types/bots/keyboards/index.js.map +1 -1
  2046. package/esm/highlevel/types/bots/keyboards/types.d.ts +1 -1
  2047. package/esm/highlevel/types/bots/keyboards/types.js.map +1 -1
  2048. package/esm/highlevel/types/calls/discard-reason.d.ts +1 -1
  2049. package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
  2050. package/esm/highlevel/types/conversation.d.ts +5 -5
  2051. package/esm/highlevel/types/conversation.js +11 -14
  2052. package/esm/highlevel/types/conversation.js.map +1 -1
  2053. package/esm/highlevel/types/errors.d.ts +1 -1
  2054. package/esm/highlevel/types/errors.js +1 -1
  2055. package/esm/highlevel/types/errors.js.map +1 -1
  2056. package/esm/highlevel/types/files/file-location.d.ts +1 -1
  2057. package/esm/highlevel/types/files/file-location.js.map +1 -1
  2058. package/esm/highlevel/types/files/uploaded-file.d.ts +1 -1
  2059. package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
  2060. package/esm/highlevel/types/files/utils.d.ts +5 -5
  2061. package/esm/highlevel/types/files/utils.js.map +1 -1
  2062. package/esm/highlevel/types/files/web-document.d.ts +1 -1
  2063. package/esm/highlevel/types/files/web-document.js +6 -6
  2064. package/esm/highlevel/types/files/web-document.js.map +1 -1
  2065. package/esm/highlevel/types/media/audio.d.ts +1 -1
  2066. package/esm/highlevel/types/media/audio.js.map +1 -1
  2067. package/esm/highlevel/types/media/contact.d.ts +1 -1
  2068. package/esm/highlevel/types/media/contact.js.map +1 -1
  2069. package/esm/highlevel/types/media/dice.d.ts +1 -1
  2070. package/esm/highlevel/types/media/dice.js.map +1 -1
  2071. package/esm/highlevel/types/media/document-utils.d.ts +1 -1
  2072. package/esm/highlevel/types/media/document-utils.js +2 -2
  2073. package/esm/highlevel/types/media/document-utils.js.map +1 -1
  2074. package/esm/highlevel/types/media/document.d.ts +1 -1
  2075. package/esm/highlevel/types/media/document.js +4 -4
  2076. package/esm/highlevel/types/media/document.js.map +1 -1
  2077. package/esm/highlevel/types/media/extended-media.d.ts +1 -1
  2078. package/esm/highlevel/types/media/extended-media.js.map +1 -1
  2079. package/esm/highlevel/types/media/game.d.ts +1 -1
  2080. package/esm/highlevel/types/media/game.js +1 -1
  2081. package/esm/highlevel/types/media/game.js.map +1 -1
  2082. package/esm/highlevel/types/media/input-media/factories.d.ts +3 -3
  2083. package/esm/highlevel/types/media/input-media/factories.js.map +1 -1
  2084. package/esm/highlevel/types/media/input-media/index.js.map +1 -1
  2085. package/esm/highlevel/types/media/input-media/types.d.ts +6 -6
  2086. package/esm/highlevel/types/media/input-media/types.js.map +1 -1
  2087. package/esm/highlevel/types/media/invoice.d.ts +1 -1
  2088. package/esm/highlevel/types/media/invoice.js.map +1 -1
  2089. package/esm/highlevel/types/media/location.d.ts +1 -1
  2090. package/esm/highlevel/types/media/location.js.map +1 -1
  2091. package/esm/highlevel/types/media/paid-media.d.ts +2 -2
  2092. package/esm/highlevel/types/media/paid-media.js +1 -1
  2093. package/esm/highlevel/types/media/paid-media.js.map +1 -1
  2094. package/esm/highlevel/types/media/photo.d.ts +1 -1
  2095. package/esm/highlevel/types/media/photo.js +6 -6
  2096. package/esm/highlevel/types/media/photo.js.map +1 -1
  2097. package/esm/highlevel/types/media/poll.d.ts +4 -4
  2098. package/esm/highlevel/types/media/poll.js +4 -4
  2099. package/esm/highlevel/types/media/poll.js.map +1 -1
  2100. package/esm/highlevel/types/media/sticker.d.ts +1 -1
  2101. package/esm/highlevel/types/media/sticker.js +1 -1
  2102. package/esm/highlevel/types/media/sticker.js.map +1 -1
  2103. package/esm/highlevel/types/media/story.d.ts +3 -3
  2104. package/esm/highlevel/types/media/story.js.map +1 -1
  2105. package/esm/highlevel/types/media/thumbnail.d.ts +1 -1
  2106. package/esm/highlevel/types/media/thumbnail.js +21 -9
  2107. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  2108. package/esm/highlevel/types/media/venue.d.ts +1 -1
  2109. package/esm/highlevel/types/media/venue.js.map +1 -1
  2110. package/esm/highlevel/types/media/video.d.ts +1 -1
  2111. package/esm/highlevel/types/media/video.js +2 -2
  2112. package/esm/highlevel/types/media/video.js.map +1 -1
  2113. package/esm/highlevel/types/media/voice.d.ts +1 -1
  2114. package/esm/highlevel/types/media/voice.js.map +1 -1
  2115. package/esm/highlevel/types/media/web-page.d.ts +2 -2
  2116. package/esm/highlevel/types/media/web-page.js.map +1 -1
  2117. package/esm/highlevel/types/messages/dialog.d.ts +1 -1
  2118. package/esm/highlevel/types/messages/dialog.js +3 -3
  2119. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  2120. package/esm/highlevel/types/messages/draft-message.d.ts +1 -1
  2121. package/esm/highlevel/types/messages/draft-message.js.map +1 -1
  2122. package/esm/highlevel/types/messages/fact-check.d.ts +1 -1
  2123. package/esm/highlevel/types/messages/fact-check.js.map +1 -1
  2124. package/esm/highlevel/types/messages/input-message-id.js.map +1 -1
  2125. package/esm/highlevel/types/messages/message-action.d.ts +3 -3
  2126. package/esm/highlevel/types/messages/message-action.js +5 -5
  2127. package/esm/highlevel/types/messages/message-action.js.map +1 -1
  2128. package/esm/highlevel/types/messages/message-effect.d.ts +3 -3
  2129. package/esm/highlevel/types/messages/message-effect.js.map +1 -1
  2130. package/esm/highlevel/types/messages/message-entity.d.ts +1 -1
  2131. package/esm/highlevel/types/messages/message-entity.js.map +1 -1
  2132. package/esm/highlevel/types/messages/message-forward.d.ts +3 -3
  2133. package/esm/highlevel/types/messages/message-forward.js.map +1 -1
  2134. package/esm/highlevel/types/messages/message-media.d.ts +7 -7
  2135. package/esm/highlevel/types/messages/message-media.js.map +1 -1
  2136. package/esm/highlevel/types/messages/message-reactions.d.ts +5 -3
  2137. package/esm/highlevel/types/messages/message-reactions.js +7 -3
  2138. package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
  2139. package/esm/highlevel/types/messages/message-replies.d.ts +3 -3
  2140. package/esm/highlevel/types/messages/message-replies.js +1 -1
  2141. package/esm/highlevel/types/messages/message-replies.js.map +1 -1
  2142. package/esm/highlevel/types/messages/message.d.ts +7 -7
  2143. package/esm/highlevel/types/messages/message.js +4 -4
  2144. package/esm/highlevel/types/messages/message.js.map +1 -1
  2145. package/esm/highlevel/types/messages/replied-message.d.ts +4 -4
  2146. package/esm/highlevel/types/messages/replied-message.js +1 -1
  2147. package/esm/highlevel/types/messages/replied-message.js.map +1 -1
  2148. package/esm/highlevel/types/misc/app-config.js +0 -1
  2149. package/esm/highlevel/types/misc/app-config.js.map +1 -1
  2150. package/esm/highlevel/types/misc/collectible-info.d.ts +2 -2
  2151. package/esm/highlevel/types/misc/collectible-info.js.map +1 -1
  2152. package/esm/highlevel/types/misc/entities.d.ts +1 -1
  2153. package/esm/highlevel/types/misc/entities.js.map +1 -1
  2154. package/esm/highlevel/types/misc/input-privacy-rule/allow.d.ts +4 -4
  2155. package/esm/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -1
  2156. package/esm/highlevel/types/misc/input-privacy-rule/disallow.d.ts +4 -4
  2157. package/esm/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -1
  2158. package/esm/highlevel/types/misc/input-privacy-rule/types.d.ts +2 -2
  2159. package/esm/highlevel/types/misc/input-privacy-rule/types.js.map +1 -1
  2160. package/esm/highlevel/types/misc/sticker-set.d.ts +3 -2
  2161. package/esm/highlevel/types/misc/sticker-set.js +5 -5
  2162. package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
  2163. package/esm/highlevel/types/misc/takeout-session.d.ts +4 -4
  2164. package/esm/highlevel/types/misc/takeout-session.js +6 -7
  2165. package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
  2166. package/esm/highlevel/types/peers/chat-colors.d.ts +1 -1
  2167. package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
  2168. package/esm/highlevel/types/peers/chat-event/actions.d.ts +9 -3
  2169. package/esm/highlevel/types/peers/chat-event/actions.js +5 -0
  2170. package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
  2171. package/esm/highlevel/types/peers/chat-event/filters.d.ts +3 -3
  2172. package/esm/highlevel/types/peers/chat-event/filters.js +1 -0
  2173. package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
  2174. package/esm/highlevel/types/peers/chat-event/index.d.ts +3 -3
  2175. package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
  2176. package/esm/highlevel/types/peers/chat-invite-link-member.d.ts +2 -2
  2177. package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  2178. package/esm/highlevel/types/peers/chat-invite-link.d.ts +2 -2
  2179. package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
  2180. package/esm/highlevel/types/peers/chat-location.d.ts +1 -1
  2181. package/esm/highlevel/types/peers/chat-location.js.map +1 -1
  2182. package/esm/highlevel/types/peers/chat-member.d.ts +7 -2
  2183. package/esm/highlevel/types/peers/chat-member.js +14 -0
  2184. package/esm/highlevel/types/peers/chat-member.js.map +1 -1
  2185. package/esm/highlevel/types/peers/chat-permissions.d.ts +1 -1
  2186. package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
  2187. package/esm/highlevel/types/peers/chat-photo.d.ts +1 -1
  2188. package/esm/highlevel/types/peers/chat-photo.js +2 -4
  2189. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  2190. package/esm/highlevel/types/peers/chat-preview.d.ts +1 -1
  2191. package/esm/highlevel/types/peers/chat-preview.js +1 -1
  2192. package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
  2193. package/esm/highlevel/types/peers/chat.d.ts +9 -2
  2194. package/esm/highlevel/types/peers/chat.js +19 -6
  2195. package/esm/highlevel/types/peers/chat.js.map +1 -1
  2196. package/esm/highlevel/types/peers/chatlist-preview.d.ts +1 -1
  2197. package/esm/highlevel/types/peers/chatlist-preview.js +1 -1
  2198. package/esm/highlevel/types/peers/chatlist-preview.js.map +1 -1
  2199. package/esm/highlevel/types/peers/forum-topic.d.ts +2 -2
  2200. package/esm/highlevel/types/peers/forum-topic.js +7 -7
  2201. package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
  2202. package/esm/highlevel/types/peers/full-chat.d.ts +3 -1
  2203. package/esm/highlevel/types/peers/full-chat.js +5 -1
  2204. package/esm/highlevel/types/peers/full-chat.js.map +1 -1
  2205. package/esm/highlevel/types/peers/peer.d.ts +2 -2
  2206. package/esm/highlevel/types/peers/peer.js.map +1 -1
  2207. package/esm/highlevel/types/peers/peers-index.d.ts +1 -1
  2208. package/esm/highlevel/types/peers/peers-index.js.map +1 -1
  2209. package/esm/highlevel/types/peers/typing-status.js.map +1 -1
  2210. package/esm/highlevel/types/peers/user.d.ts +2 -2
  2211. package/esm/highlevel/types/peers/user.js +1 -1
  2212. package/esm/highlevel/types/peers/user.js.map +1 -1
  2213. package/esm/highlevel/types/premium/boost-slot.d.ts +3 -2
  2214. package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
  2215. package/esm/highlevel/types/premium/boost-stats.d.ts +1 -1
  2216. package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
  2217. package/esm/highlevel/types/premium/boost.d.ts +3 -2
  2218. package/esm/highlevel/types/premium/boost.js.map +1 -1
  2219. package/esm/highlevel/types/premium/business-account.d.ts +1 -1
  2220. package/esm/highlevel/types/premium/business-account.js.map +1 -1
  2221. package/esm/highlevel/types/premium/business-chat-link.d.ts +1 -1
  2222. package/esm/highlevel/types/premium/business-chat-link.js +1 -1
  2223. package/esm/highlevel/types/premium/business-chat-link.js.map +1 -1
  2224. package/esm/highlevel/types/premium/business-connection.d.ts +2 -2
  2225. package/esm/highlevel/types/premium/business-connection.js.map +1 -1
  2226. package/esm/highlevel/types/premium/business-intro.d.ts +2 -2
  2227. package/esm/highlevel/types/premium/business-intro.js.map +1 -1
  2228. package/esm/highlevel/types/premium/business-location.d.ts +1 -1
  2229. package/esm/highlevel/types/premium/business-location.js.map +1 -1
  2230. package/esm/highlevel/types/premium/business-work-hours.d.ts +1 -1
  2231. package/esm/highlevel/types/premium/business-work-hours.js +4 -4
  2232. package/esm/highlevel/types/premium/business-work-hours.js.map +1 -1
  2233. package/esm/highlevel/types/premium/index.d.ts +2 -0
  2234. package/esm/highlevel/types/premium/index.js +2 -0
  2235. package/esm/highlevel/types/premium/index.js.map +1 -1
  2236. package/esm/highlevel/types/premium/stars-status.d.ts +16 -0
  2237. package/esm/highlevel/types/premium/stars-status.js +30 -0
  2238. package/esm/highlevel/types/premium/stars-status.js.map +1 -0
  2239. package/esm/highlevel/types/premium/stars-transaction.d.ts +114 -0
  2240. package/esm/highlevel/types/premium/stars-transaction.js +134 -0
  2241. package/esm/highlevel/types/premium/stars-transaction.js.map +1 -0
  2242. package/esm/highlevel/types/reactions/emoji-status.d.ts +1 -1
  2243. package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
  2244. package/esm/highlevel/types/reactions/peer-reaction.d.ts +24 -3
  2245. package/esm/highlevel/types/reactions/peer-reaction.js +37 -0
  2246. package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
  2247. package/esm/highlevel/types/reactions/reaction-count.d.ts +4 -2
  2248. package/esm/highlevel/types/reactions/reaction-count.js +4 -0
  2249. package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
  2250. package/esm/highlevel/types/reactions/types.d.ts +3 -1
  2251. package/esm/highlevel/types/reactions/types.js +7 -0
  2252. package/esm/highlevel/types/reactions/types.js.map +1 -1
  2253. package/esm/highlevel/types/stories/all-stories.d.ts +1 -1
  2254. package/esm/highlevel/types/stories/all-stories.js +1 -1
  2255. package/esm/highlevel/types/stories/all-stories.js.map +1 -1
  2256. package/esm/highlevel/types/stories/interactive/base.d.ts +1 -1
  2257. package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
  2258. package/esm/highlevel/types/stories/interactive/channel-post.d.ts +2 -2
  2259. package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  2260. package/esm/highlevel/types/stories/interactive/index.d.ts +2 -2
  2261. package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
  2262. package/esm/highlevel/types/stories/interactive/input.d.ts +3 -3
  2263. package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
  2264. package/esm/highlevel/types/stories/interactive/location.d.ts +1 -1
  2265. package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
  2266. package/esm/highlevel/types/stories/interactive/reaction.d.ts +2 -2
  2267. package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
  2268. package/esm/highlevel/types/stories/interactive/url.d.ts +1 -1
  2269. package/esm/highlevel/types/stories/interactive/url.js.map +1 -1
  2270. package/esm/highlevel/types/stories/interactive/venue.d.ts +2 -2
  2271. package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
  2272. package/esm/highlevel/types/stories/interactive/weather.d.ts +1 -1
  2273. package/esm/highlevel/types/stories/interactive/weather.js.map +1 -1
  2274. package/esm/highlevel/types/stories/peer-stories.d.ts +2 -2
  2275. package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
  2276. package/esm/highlevel/types/stories/stealth-mode.d.ts +1 -1
  2277. package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
  2278. package/esm/highlevel/types/stories/story-interactions.d.ts +2 -2
  2279. package/esm/highlevel/types/stories/story-interactions.js +2 -2
  2280. package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
  2281. package/esm/highlevel/types/stories/story-viewer.d.ts +4 -3
  2282. package/esm/highlevel/types/stories/story-viewer.js +1 -1
  2283. package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
  2284. package/esm/highlevel/types/stories/story.d.ts +5 -5
  2285. package/esm/highlevel/types/stories/story.js +1 -1
  2286. package/esm/highlevel/types/stories/story.js.map +1 -1
  2287. package/esm/highlevel/types/updates/bot-chat-join-request.d.ts +3 -2
  2288. package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  2289. package/esm/highlevel/types/updates/bot-reaction.d.ts +4 -4
  2290. package/esm/highlevel/types/updates/bot-reaction.js +3 -3
  2291. package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
  2292. package/esm/highlevel/types/updates/bot-stopped.d.ts +3 -2
  2293. package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
  2294. package/esm/highlevel/types/updates/business-message.d.ts +2 -2
  2295. package/esm/highlevel/types/updates/business-message.js.map +1 -1
  2296. package/esm/highlevel/types/updates/callback-query.d.ts +2 -2
  2297. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  2298. package/esm/highlevel/types/updates/chat-join-request.d.ts +3 -2
  2299. package/esm/highlevel/types/updates/chat-join-request.js +1 -1
  2300. package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
  2301. package/esm/highlevel/types/updates/chat-member-update.d.ts +1 -1
  2302. package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
  2303. package/esm/highlevel/types/updates/chosen-inline-result.d.ts +3 -2
  2304. package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  2305. package/esm/highlevel/types/updates/delete-business-message-update.d.ts +2 -2
  2306. package/esm/highlevel/types/updates/delete-business-message-update.js.map +1 -1
  2307. package/esm/highlevel/types/updates/delete-message-update.d.ts +1 -1
  2308. package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
  2309. package/esm/highlevel/types/updates/delete-story-update.d.ts +2 -2
  2310. package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
  2311. package/esm/highlevel/types/updates/history-read-update.d.ts +1 -1
  2312. package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
  2313. package/esm/highlevel/types/updates/index.d.ts +1 -1
  2314. package/esm/highlevel/types/updates/index.js.map +1 -1
  2315. package/esm/highlevel/types/updates/inline-query.d.ts +3 -2
  2316. package/esm/highlevel/types/updates/inline-query.js.map +1 -1
  2317. package/esm/highlevel/types/updates/parse-update.d.ts +2 -2
  2318. package/esm/highlevel/types/updates/parse-update.js.map +1 -1
  2319. package/esm/highlevel/types/updates/poll-update.d.ts +2 -2
  2320. package/esm/highlevel/types/updates/poll-update.js +1 -1
  2321. package/esm/highlevel/types/updates/poll-update.js.map +1 -1
  2322. package/esm/highlevel/types/updates/poll-vote.d.ts +2 -2
  2323. package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
  2324. package/esm/highlevel/types/updates/pre-checkout-query.d.ts +3 -2
  2325. package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  2326. package/esm/highlevel/types/updates/story-update.d.ts +2 -2
  2327. package/esm/highlevel/types/updates/story-update.js.map +1 -1
  2328. package/esm/highlevel/types/updates/user-status-update.d.ts +2 -2
  2329. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  2330. package/esm/highlevel/types/updates/user-typing-update.d.ts +3 -3
  2331. package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
  2332. package/esm/highlevel/types/utils.d.ts +1 -1
  2333. package/esm/highlevel/types/utils.js.map +1 -1
  2334. package/esm/highlevel/updates/manager.d.ts +5 -4
  2335. package/esm/highlevel/updates/manager.js +27 -26
  2336. package/esm/highlevel/updates/manager.js.map +1 -1
  2337. package/esm/highlevel/updates/parsed.d.ts +2 -2
  2338. package/esm/highlevel/updates/parsed.js.map +1 -1
  2339. package/esm/highlevel/updates/types.d.ts +4 -4
  2340. package/esm/highlevel/updates/types.js.map +1 -1
  2341. package/esm/highlevel/updates/utils.d.ts +2 -2
  2342. package/esm/highlevel/updates/utils.js +5 -6
  2343. package/esm/highlevel/updates/utils.js.map +1 -1
  2344. package/esm/highlevel/utils/convert-file-id.d.ts +1 -1
  2345. package/esm/highlevel/utils/convert-file-id.js +8 -8
  2346. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  2347. package/esm/highlevel/utils/entities.d.ts +1 -1
  2348. package/esm/highlevel/utils/entities.js.map +1 -1
  2349. package/esm/highlevel/utils/file-type.js +25 -25
  2350. package/esm/highlevel/utils/file-type.js.map +1 -1
  2351. package/esm/highlevel/utils/file-utils.d.ts +4 -2
  2352. package/esm/highlevel/utils/file-utils.js +34 -33
  2353. package/esm/highlevel/utils/file-utils.js.map +1 -1
  2354. package/esm/highlevel/utils/inline-utils.d.ts +1 -1
  2355. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  2356. package/esm/highlevel/utils/inspectable.js +9 -9
  2357. package/esm/highlevel/utils/inspectable.js.map +1 -1
  2358. package/esm/highlevel/utils/memoize.js +1 -2
  2359. package/esm/highlevel/utils/memoize.js.map +1 -1
  2360. package/esm/highlevel/utils/misc-utils.d.ts +1 -1
  2361. package/esm/highlevel/utils/misc-utils.js +1 -0
  2362. package/esm/highlevel/utils/misc-utils.js.map +1 -1
  2363. package/esm/highlevel/utils/peer-utils.d.ts +1 -1
  2364. package/esm/highlevel/utils/peer-utils.js +2 -2
  2365. package/esm/highlevel/utils/peer-utils.js.map +1 -1
  2366. package/esm/highlevel/utils/query-batcher.d.ts +6 -5
  2367. package/esm/highlevel/utils/query-batcher.js +1 -1
  2368. package/esm/highlevel/utils/query-batcher.js.map +1 -1
  2369. package/esm/highlevel/utils/stream-utils.js +1 -1
  2370. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  2371. package/esm/highlevel/utils/string-session.d.ts +2 -2
  2372. package/esm/highlevel/utils/string-session.js +1 -1
  2373. package/esm/highlevel/utils/string-session.js.map +1 -1
  2374. package/esm/highlevel/utils/voice-utils.js +1 -1
  2375. package/esm/highlevel/utils/voice-utils.js.map +1 -1
  2376. package/esm/highlevel/worker/app-config.d.ts +4 -7
  2377. package/esm/highlevel/worker/app-config.js.map +1 -1
  2378. package/esm/highlevel/worker/errors.js +15 -8
  2379. package/esm/highlevel/worker/errors.js.map +1 -1
  2380. package/esm/highlevel/worker/invoker.d.ts +1 -1
  2381. package/esm/highlevel/worker/invoker.js +1 -1
  2382. package/esm/highlevel/worker/invoker.js.map +1 -1
  2383. package/esm/highlevel/worker/port.d.ts +24 -26
  2384. package/esm/highlevel/worker/port.js +2 -0
  2385. package/esm/highlevel/worker/port.js.map +1 -1
  2386. package/esm/highlevel/worker/protocol.d.ts +5 -5
  2387. package/esm/highlevel/worker/protocol.js +1 -5
  2388. package/esm/highlevel/worker/protocol.js.map +1 -1
  2389. package/esm/highlevel/worker/storage.d.ts +11 -11
  2390. package/esm/highlevel/worker/storage.js.map +1 -1
  2391. package/esm/highlevel/worker/worker.d.ts +2 -2
  2392. package/esm/highlevel/worker/worker.js +5 -6
  2393. package/esm/highlevel/worker/worker.js.map +1 -1
  2394. package/esm/index.d.ts +1 -1
  2395. package/esm/index.js +1 -1
  2396. package/esm/index.js.map +1 -1
  2397. package/esm/network/auth-key.d.ts +5 -4
  2398. package/esm/network/auth-key.js.map +1 -1
  2399. package/esm/network/authorization.d.ts +2 -2
  2400. package/esm/network/authorization.js +11 -13
  2401. package/esm/network/authorization.js.map +1 -1
  2402. package/esm/network/client.d.ts +14 -11
  2403. package/esm/network/client.js +4 -6
  2404. package/esm/network/client.js.map +1 -1
  2405. package/esm/network/config-manager.d.ts +1 -1
  2406. package/esm/network/config-manager.js +4 -4
  2407. package/esm/network/config-manager.js.map +1 -1
  2408. package/esm/network/middlewares/default.d.ts +4 -4
  2409. package/esm/network/middlewares/default.js +2 -2
  2410. package/esm/network/middlewares/default.js.map +1 -1
  2411. package/esm/network/middlewares/flood-waiter.d.ts +1 -1
  2412. package/esm/network/middlewares/flood-waiter.js +4 -3
  2413. package/esm/network/middlewares/flood-waiter.js.map +1 -1
  2414. package/esm/network/middlewares/internal-errors.d.ts +1 -1
  2415. package/esm/network/middlewares/internal-errors.js +1 -0
  2416. package/esm/network/middlewares/internal-errors.js.map +1 -1
  2417. package/esm/network/middlewares/on-error.d.ts +3 -3
  2418. package/esm/network/middlewares/on-error.js.map +1 -1
  2419. package/esm/network/middlewares/on-method.d.ts +3 -3
  2420. package/esm/network/middlewares/on-method.js.map +1 -1
  2421. package/esm/network/mtproto-session.d.ts +6 -5
  2422. package/esm/network/mtproto-session.js +10 -10
  2423. package/esm/network/mtproto-session.js.map +1 -1
  2424. package/esm/network/multi-session-connection.d.ts +6 -5
  2425. package/esm/network/multi-session-connection.js +8 -8
  2426. package/esm/network/multi-session-connection.js.map +1 -1
  2427. package/esm/network/network-manager.d.ts +12 -10
  2428. package/esm/network/network-manager.js +10 -7
  2429. package/esm/network/network-manager.js.map +1 -1
  2430. package/esm/network/persistent-connection.d.ts +4 -4
  2431. package/esm/network/persistent-connection.js +1 -1
  2432. package/esm/network/persistent-connection.js.map +1 -1
  2433. package/esm/network/server-salt.d.ts +1 -1
  2434. package/esm/network/server-salt.js.map +1 -1
  2435. package/esm/network/session-connection.d.ts +5 -4
  2436. package/esm/network/session-connection.js +28 -28
  2437. package/esm/network/session-connection.js.map +1 -1
  2438. package/esm/network/transports/abstract.d.ts +4 -5
  2439. package/esm/network/transports/abstract.js.map +1 -1
  2440. package/esm/network/transports/intermediate.d.ts +2 -2
  2441. package/esm/network/transports/intermediate.js +2 -2
  2442. package/esm/network/transports/intermediate.js.map +1 -1
  2443. package/esm/network/transports/obfuscated.d.ts +1 -1
  2444. package/esm/network/transports/obfuscated.js +8 -8
  2445. package/esm/network/transports/obfuscated.js.map +1 -1
  2446. package/esm/network/transports/streamed.d.ts +1 -1
  2447. package/esm/network/transports/streamed.js +1 -1
  2448. package/esm/network/transports/streamed.js.map +1 -1
  2449. package/esm/network/transports/wrapped.d.ts +3 -3
  2450. package/esm/network/transports/wrapped.js +3 -3
  2451. package/esm/network/transports/wrapped.js.map +1 -1
  2452. package/esm/platform.d.ts +10 -10
  2453. package/esm/platform.js.map +1 -1
  2454. package/esm/storage/driver.d.ts +6 -6
  2455. package/esm/storage/driver.js.map +1 -1
  2456. package/esm/storage/memory/driver.d.ts +1 -1
  2457. package/esm/storage/memory/driver.js.map +1 -1
  2458. package/esm/storage/memory/index.d.ts +2 -2
  2459. package/esm/storage/memory/index.js.map +1 -1
  2460. package/esm/storage/memory/repository/auth-keys.d.ts +2 -2
  2461. package/esm/storage/memory/repository/auth-keys.js.map +1 -1
  2462. package/esm/storage/memory/repository/kv.d.ts +2 -2
  2463. package/esm/storage/memory/repository/kv.js.map +1 -1
  2464. package/esm/storage/memory/repository/peers.d.ts +2 -2
  2465. package/esm/storage/memory/repository/peers.js.map +1 -1
  2466. package/esm/storage/memory/repository/ref-messages.d.ts +2 -2
  2467. package/esm/storage/memory/repository/ref-messages.js.map +1 -1
  2468. package/esm/storage/provider.d.ts +3 -3
  2469. package/esm/storage/provider.js.map +1 -1
  2470. package/esm/storage/repository/auth-keys.d.ts +7 -7
  2471. package/esm/storage/repository/auth-keys.js.map +1 -1
  2472. package/esm/storage/repository/key-value.d.ts +5 -5
  2473. package/esm/storage/repository/key-value.js.map +1 -1
  2474. package/esm/storage/service/auth-keys.d.ts +4 -3
  2475. package/esm/storage/service/auth-keys.js.map +1 -1
  2476. package/esm/storage/service/base.d.ts +4 -4
  2477. package/esm/storage/service/base.js +1 -1
  2478. package/esm/storage/service/base.js.map +1 -1
  2479. package/esm/storage/service/default-dcs.d.ts +4 -3
  2480. package/esm/storage/service/default-dcs.js +3 -2
  2481. package/esm/storage/service/default-dcs.js.map +1 -1
  2482. package/esm/storage/service/future-salts.d.ts +4 -3
  2483. package/esm/storage/service/future-salts.js.map +1 -1
  2484. package/esm/storage/sqlite/driver.d.ts +2 -2
  2485. package/esm/storage/sqlite/driver.js +1 -1
  2486. package/esm/storage/sqlite/driver.js.map +1 -1
  2487. package/esm/storage/sqlite/index.d.ts +2 -2
  2488. package/esm/storage/sqlite/index.js.map +1 -1
  2489. package/esm/storage/sqlite/repository/auth-keys.d.ts +2 -2
  2490. package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
  2491. package/esm/storage/sqlite/repository/kv.d.ts +2 -2
  2492. package/esm/storage/sqlite/repository/kv.js +4 -7
  2493. package/esm/storage/sqlite/repository/kv.js.map +1 -1
  2494. package/esm/storage/sqlite/repository/peers.d.ts +2 -2
  2495. package/esm/storage/sqlite/repository/peers.js.map +1 -1
  2496. package/esm/storage/sqlite/repository/ref-messages.d.ts +2 -2
  2497. package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
  2498. package/esm/storage/sqlite/types.d.ts +7 -7
  2499. package/esm/storage/sqlite/types.js.map +1 -1
  2500. package/esm/storage/storage.d.ts +5 -4
  2501. package/esm/storage/storage.js +1 -1
  2502. package/esm/storage/storage.js.map +1 -1
  2503. package/esm/types/utils.d.ts +1 -1
  2504. package/esm/types/utils.js +1 -2
  2505. package/esm/types/utils.js.map +1 -1
  2506. package/esm/utils/async-lock.js +1 -2
  2507. package/esm/utils/async-lock.js.map +1 -1
  2508. package/esm/utils/bigint-utils.d.ts +1 -1
  2509. package/esm/utils/bigint-utils.js.map +1 -1
  2510. package/esm/utils/binary/asn1-parser.js +16 -16
  2511. package/esm/utils/binary/asn1-parser.js.map +1 -1
  2512. package/esm/utils/buffer-utils.js.map +1 -1
  2513. package/esm/utils/composer.js +1 -0
  2514. package/esm/utils/composer.js.map +1 -1
  2515. package/esm/utils/controllable-promise.d.ts +2 -2
  2516. package/esm/utils/controllable-promise.js.map +1 -1
  2517. package/esm/utils/crypto/abstract.d.ts +18 -18
  2518. package/esm/utils/crypto/abstract.js.map +1 -1
  2519. package/esm/utils/crypto/factorization.d.ts +1 -1
  2520. package/esm/utils/crypto/factorization.js.map +1 -1
  2521. package/esm/utils/crypto/keys.d.ts +3 -3
  2522. package/esm/utils/crypto/keys.js.map +1 -1
  2523. package/esm/utils/crypto/miller-rabin.d.ts +1 -1
  2524. package/esm/utils/crypto/miller-rabin.js.map +1 -1
  2525. package/esm/utils/crypto/mtproto.d.ts +1 -1
  2526. package/esm/utils/crypto/mtproto.js.map +1 -1
  2527. package/esm/utils/crypto/password.d.ts +2 -2
  2528. package/esm/utils/crypto/password.js +2 -2
  2529. package/esm/utils/crypto/password.js.map +1 -1
  2530. package/esm/utils/deque.js.map +1 -1
  2531. package/esm/utils/error-reporting.d.ts +2 -2
  2532. package/esm/utils/error-reporting.js +1 -1
  2533. package/esm/utils/error-reporting.js.map +1 -1
  2534. package/esm/utils/function-utils.js +1 -1
  2535. package/esm/utils/function-utils.js.map +1 -1
  2536. package/esm/utils/links/bots.d.ts +11 -10
  2537. package/esm/utils/links/bots.js +9 -5
  2538. package/esm/utils/links/bots.js.map +1 -1
  2539. package/esm/utils/links/calls.d.ts +4 -3
  2540. package/esm/utils/links/calls.js +1 -1
  2541. package/esm/utils/links/calls.js.map +1 -1
  2542. package/esm/utils/links/chat.d.ts +8 -7
  2543. package/esm/utils/links/chat.js +8 -9
  2544. package/esm/utils/links/chat.js.map +1 -1
  2545. package/esm/utils/links/common.d.ts +2 -2
  2546. package/esm/utils/links/common.js.map +1 -1
  2547. package/esm/utils/links/index.js.map +1 -1
  2548. package/esm/utils/links/misc.d.ts +5 -4
  2549. package/esm/utils/links/misc.js +5 -5
  2550. package/esm/utils/links/misc.js.map +1 -1
  2551. package/esm/utils/links/proxy.d.ts +5 -4
  2552. package/esm/utils/links/proxy.js +10 -10
  2553. package/esm/utils/links/proxy.js.map +1 -1
  2554. package/esm/utils/links/stickers.d.ts +3 -2
  2555. package/esm/utils/links/stickers.js +1 -1
  2556. package/esm/utils/links/stickers.js.map +1 -1
  2557. package/esm/utils/links/user.d.ts +4 -3
  2558. package/esm/utils/links/user.js +3 -3
  2559. package/esm/utils/links/user.js.map +1 -1
  2560. package/esm/utils/logger.d.ts +2 -1
  2561. package/esm/utils/logger.js +14 -15
  2562. package/esm/utils/logger.js.map +1 -1
  2563. package/esm/utils/long-utils.js +6 -6
  2564. package/esm/utils/long-utils.js.map +1 -1
  2565. package/esm/utils/lru-map.js +2 -2
  2566. package/esm/utils/lru-map.js.map +1 -1
  2567. package/esm/utils/lru-set.d.ts +1 -1
  2568. package/esm/utils/lru-set.js +2 -1
  2569. package/esm/utils/lru-set.js.map +1 -1
  2570. package/esm/utils/misc-utils.js +1 -2
  2571. package/esm/utils/misc-utils.js.map +1 -1
  2572. package/esm/utils/peer-utils.d.ts +3 -3
  2573. package/esm/utils/peer-utils.js.map +1 -1
  2574. package/esm/utils/reloadable.js +1 -1
  2575. package/esm/utils/reloadable.js.map +1 -1
  2576. package/esm/utils/tl-json.d.ts +1 -1
  2577. package/esm/utils/tl-json.js.map +1 -1
  2578. package/esm/utils/type-assertions.d.ts +3 -3
  2579. package/esm/utils/type-assertions.js +1 -1
  2580. package/esm/utils/type-assertions.js.map +1 -1
  2581. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"auth-key.js","sourceRoot":"","sources":["../../../src/network/auth-key.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\nimport { TlBinaryReader, TlReaderMap } from '@mtcute/tl-runtime'\n\nimport { MtcuteError } from '../types/errors.js'\nimport { createAesIgeForMessage } from '../utils/crypto/mtproto.js'\nimport { buffersEqual, concatBuffers, dataViewFromBuffer, ICryptoProvider, Logger } from '../utils/index.js'\n\nexport class AuthKey {\n ready = false\n\n key!: Uint8Array\n id!: Uint8Array\n clientSalt!: Uint8Array\n serverSalt!: Uint8Array\n\n constructor(\n readonly _crypto: ICryptoProvider,\n readonly log: Logger,\n readonly _readerMap: TlReaderMap,\n ) {}\n\n match(keyId: Uint8Array): boolean {\n return this.ready && buffersEqual(keyId, this.id)\n }\n\n setup(authKey?: Uint8Array | null): void {\n if (!authKey) return this.reset()\n\n this.ready = true\n this.key = authKey\n this.clientSalt = authKey.subarray(88, 120)\n this.serverSalt = authKey.subarray(96, 128)\n this.id = this._crypto.sha1(authKey).subarray(-8)\n\n this.log.verbose('auth key set up, id = %h', this.id)\n }\n\n encryptMessage(message: Uint8Array, serverSalt: Long, sessionId: Long): Uint8Array {\n if (!this.ready) throw new MtcuteError('Keys are not set up!')\n\n let padding = (16 /* header size */ + message.length + 12) /* min padding */ % 16\n padding = 12 + (padding ? 16 - padding : 0)\n\n const buf = new Uint8Array(16 + message.length + padding)\n const dv = dataViewFromBuffer(buf)\n\n dv.setInt32(0, serverSalt.low, true)\n dv.setInt32(4, serverSalt.high, true)\n dv.setInt32(8, sessionId.low, true)\n dv.setInt32(12, sessionId.high, true)\n buf.set(message, 16)\n this._crypto.randomFill(buf.subarray(16 + message.length, 16 + message.length + padding))\n\n const messageKey = this._crypto.sha256(concatBuffers([this.clientSalt, buf])).subarray(8, 24)\n const ige = createAesIgeForMessage(this._crypto, this.key, messageKey, true)\n const encryptedData = ige.encrypt(buf)\n\n return concatBuffers([this.id, messageKey, encryptedData])\n }\n\n decryptMessage(\n data: Uint8Array,\n sessionId: Long,\n callback: (msgId: tl.Long, seqNo: number, data: TlBinaryReader) => void,\n ): void {\n const messageKey = data.subarray(8, 24)\n let encryptedData = data.subarray(24)\n\n const mod16 = encryptedData.byteLength % 16\n\n if (mod16 !== 0) {\n // strip padding in case of padded transport.\n // i wish this could be done at transport level, but we can't properly align anything there\n // because padding size is not known, and transport level should not be aware of MTProto structure\n encryptedData = encryptedData.subarray(0, encryptedData.byteLength - mod16)\n }\n\n const ige = createAesIgeForMessage(this._crypto, this.key, messageKey, false)\n const innerData = ige.decrypt(encryptedData)\n\n const msgKeySource = this._crypto.sha256(concatBuffers([this.serverSalt, innerData]))\n const expectedMessageKey = msgKeySource.subarray(8, 24)\n\n if (!buffersEqual(messageKey, expectedMessageKey)) {\n this.log.warn('received message with invalid messageKey = %h (expected %h)', messageKey, expectedMessageKey)\n\n return\n }\n\n const innerReader = new TlBinaryReader(this._readerMap, innerData)\n innerReader.seek(8) // skip salt\n const sessionId_ = innerReader.long()\n const messageId = innerReader.long(true)\n\n if (sessionId_.neq(sessionId)) {\n this.log.warn('ignoring message with invalid sessionId = %h', sessionId_)\n\n return\n }\n\n const seqNo = innerReader.uint()\n const length = innerReader.uint()\n\n if (length > innerData.length - 32 /* header size */) {\n this.log.warn('ignoring message with invalid length: %d > %d', length, innerData.length - 32)\n\n return\n }\n\n if (length % 4 !== 0) {\n this.log.warn('ignoring message with invalid length: %d is not a multiple of 4', length)\n\n return\n }\n\n const paddingSize = innerData.length - length - 32 // header size\n\n if (paddingSize < 12 || paddingSize > 1024) {\n this.log.warn('ignoring message with invalid padding size: %d', paddingSize)\n\n return\n }\n\n callback(messageId, seqNo, innerReader)\n }\n\n copyFrom(authKey: AuthKey): void {\n this.ready = authKey.ready\n this.key = authKey.key\n this.id = authKey.id\n this.serverSalt = authKey.serverSalt\n this.clientSalt = authKey.clientSalt\n }\n\n reset(): void {\n this.ready = false\n }\n}\n"]}
1
+ {"version":3,"file":"auth-key.js","sourceRoot":"","sources":["../../../src/network/auth-key.ts"],"names":[],"mappings":"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","sourcesContent":["import type Long from 'long'\nimport type { tl } from '@mtcute/tl'\nimport type { TlReaderMap } from '@mtcute/tl-runtime'\nimport { TlBinaryReader } from '@mtcute/tl-runtime'\n\nimport { MtcuteError } from '../types/errors.js'\nimport { createAesIgeForMessage } from '../utils/crypto/mtproto.js'\nimport type { ICryptoProvider, Logger } from '../utils/index.js'\nimport { buffersEqual, concatBuffers, dataViewFromBuffer } from '../utils/index.js'\n\nexport class AuthKey {\n ready = false\n\n key!: Uint8Array\n id!: Uint8Array\n clientSalt!: Uint8Array\n serverSalt!: Uint8Array\n\n constructor(\n readonly _crypto: ICryptoProvider,\n readonly log: Logger,\n readonly _readerMap: TlReaderMap,\n ) {}\n\n match(keyId: Uint8Array): boolean {\n return this.ready && buffersEqual(keyId, this.id)\n }\n\n setup(authKey?: Uint8Array | null): void {\n if (!authKey) return this.reset()\n\n this.ready = true\n this.key = authKey\n this.clientSalt = authKey.subarray(88, 120)\n this.serverSalt = authKey.subarray(96, 128)\n this.id = this._crypto.sha1(authKey).subarray(-8)\n\n this.log.verbose('auth key set up, id = %h', this.id)\n }\n\n encryptMessage(message: Uint8Array, serverSalt: Long, sessionId: Long): Uint8Array {\n if (!this.ready) throw new MtcuteError('Keys are not set up!')\n\n let padding = (16 /* header size */ + message.length + 12) /* min padding */ % 16\n padding = 12 + (padding ? 16 - padding : 0)\n\n const buf = new Uint8Array(16 + message.length + padding)\n const dv = dataViewFromBuffer(buf)\n\n dv.setInt32(0, serverSalt.low, true)\n dv.setInt32(4, serverSalt.high, true)\n dv.setInt32(8, sessionId.low, true)\n dv.setInt32(12, sessionId.high, true)\n buf.set(message, 16)\n this._crypto.randomFill(buf.subarray(16 + message.length, 16 + message.length + padding))\n\n const messageKey = this._crypto.sha256(concatBuffers([this.clientSalt, buf])).subarray(8, 24)\n const ige = createAesIgeForMessage(this._crypto, this.key, messageKey, true)\n const encryptedData = ige.encrypt(buf)\n\n return concatBuffers([this.id, messageKey, encryptedData])\n }\n\n decryptMessage(\n data: Uint8Array,\n sessionId: Long,\n callback: (msgId: tl.Long, seqNo: number, data: TlBinaryReader) => void,\n ): void {\n const messageKey = data.subarray(8, 24)\n let encryptedData = data.subarray(24)\n\n const mod16 = encryptedData.byteLength % 16\n\n if (mod16 !== 0) {\n // strip padding in case of padded transport.\n // i wish this could be done at transport level, but we can't properly align anything there\n // because padding size is not known, and transport level should not be aware of MTProto structure\n encryptedData = encryptedData.subarray(0, encryptedData.byteLength - mod16)\n }\n\n const ige = createAesIgeForMessage(this._crypto, this.key, messageKey, false)\n const innerData = ige.decrypt(encryptedData)\n\n const msgKeySource = this._crypto.sha256(concatBuffers([this.serverSalt, innerData]))\n const expectedMessageKey = msgKeySource.subarray(8, 24)\n\n if (!buffersEqual(messageKey, expectedMessageKey)) {\n this.log.warn('received message with invalid messageKey = %h (expected %h)', messageKey, expectedMessageKey)\n\n return\n }\n\n const innerReader = new TlBinaryReader(this._readerMap, innerData)\n innerReader.seek(8) // skip salt\n const sessionId_ = innerReader.long()\n const messageId = innerReader.long(true)\n\n if (sessionId_.neq(sessionId)) {\n this.log.warn('ignoring message with invalid sessionId = %h', sessionId_)\n\n return\n }\n\n const seqNo = innerReader.uint()\n const length = innerReader.uint()\n\n if (length > innerData.length - 32 /* header size */) {\n this.log.warn('ignoring message with invalid length: %d > %d', length, innerData.length - 32)\n\n return\n }\n\n if (length % 4 !== 0) {\n this.log.warn('ignoring message with invalid length: %d is not a multiple of 4', length)\n\n return\n }\n\n const paddingSize = innerData.length - length - 32 // header size\n\n if (paddingSize < 12 || paddingSize > 1024) {\n this.log.warn('ignoring message with invalid padding size: %d', paddingSize)\n\n return\n }\n\n callback(messageId, seqNo, innerReader)\n }\n\n copyFrom(authKey: AuthKey): void {\n this.ready = authKey.ready\n this.key = authKey.key\n this.id = authKey.id\n this.serverSalt = authKey.serverSalt\n this.clientSalt = authKey.clientSalt\n }\n\n reset(): void {\n this.ready = false\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import Long from 'long';
2
- import { ICryptoProvider } from '../utils/index.js';
3
- import { SessionConnection } from './session-connection.js';
2
+ import type { ICryptoProvider } from '../utils/index.js';
3
+ import type { SessionConnection } from './session-connection.js';
4
4
  /**
5
5
  * Execute authorization flow on `connection` using `crypto`.
6
6
  *
@@ -13,9 +13,8 @@ import { mtpAssertTypeIs } from '../utils/type-assertions.js';
13
13
  // see https://core.telegram.org/mtproto/security_guidelines
14
14
  // const DH_SAFETY_RANGE = bigInt[2].pow(2048 - 64)
15
15
  const DH_SAFETY_RANGE = 2n ** (2048n - 64n);
16
- const KNOWN_DH_PRIME =
17
- // eslint-disable-next-line max-len
18
- 0xc71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5bn;
16
+ // eslint-disable-next-line style/max-len
17
+ const KNOWN_DH_PRIME = 0xc71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5bn;
19
18
  const TWO_POW_2047 = 2n ** 2047n;
20
19
  const TWO_POW_2048 = 2n ** 2048n;
21
20
  const checkedPrimesCache = [];
@@ -24,7 +23,7 @@ function checkDhPrime(crypto, log, dhPrime, g) {
24
23
  log.debug('server is using known dh prime, skipping validation');
25
24
  return;
26
25
  }
27
- let checkedPrime = checkedPrimesCache.find((x) => x.prime === dhPrime);
26
+ let checkedPrime = checkedPrimesCache.find(x => x.prime === dhPrime);
28
27
  if (!checkedPrime) {
29
28
  if (dhPrime <= TWO_POW_2047 || dhPrime >= TWO_POW_2048) {
30
29
  throw new MtSecurityError('Step 3: dh_prime is not in the 2048-bit range');
@@ -136,7 +135,6 @@ function rsaEncrypt(data, crypto, key) {
136
135
  * @returns tuple: [authKey, serverSalt, timeOffset]
137
136
  */
138
137
  export async function doAuthorization(connection, crypto, expiresIn) {
139
- // eslint-disable-next-line dot-notation
140
138
  const session = connection['_session'];
141
139
  const readerMap = session._readerMap;
142
140
  const writerMap = session._writerMap;
@@ -168,12 +166,12 @@ export async function doAuthorization(connection, crypto, expiresIn) {
168
166
  if (!buffersEqual(resPq.nonce, nonce)) {
169
167
  throw new MtSecurityError('Step 1: invalid nonce from server');
170
168
  }
171
- const serverKeys = resPq.serverPublicKeyFingerprints.map((it) => it.toUnsigned().toString(16));
169
+ const serverKeys = resPq.serverPublicKeyFingerprints.map(it => it.toUnsigned().toString(16));
172
170
  log.debug('received PQ, keys: %j', serverKeys);
173
171
  // Step 2: DH exchange
174
172
  const publicKey = findKeyByFingerprints(serverKeys);
175
173
  if (!publicKey) {
176
- throw new MtSecurityError('Step 2: Could not find server public key with any of these fingerprints: ' + serverKeys.join(', '));
174
+ throw new MtSecurityError(`Step 2: Could not find server public key with any of these fingerprints: ${serverKeys.join(', ')}`);
177
175
  }
178
176
  log.debug('found server key, fp = %s, old = %s', publicKey.fingerprint, publicKey.old);
179
177
  if (millerRabin(crypto, bufferToBigInt(resPq.pq))) {
@@ -199,9 +197,9 @@ export async function doAuthorization(connection, crypto, expiresIn) {
199
197
  expiresIn: expiresIn, // whatever
200
198
  };
201
199
  const pqInnerData = TlBinaryWriter.serializeObject(writerMap, _pqInnerData);
202
- const encryptedData = publicKey.old ?
203
- rsaEncrypt(pqInnerData, crypto, publicKey) :
204
- rsaPad(pqInnerData, crypto, publicKey);
200
+ const encryptedData = publicKey.old
201
+ ? rsaEncrypt(pqInnerData, crypto, publicKey)
202
+ : rsaPad(pqInnerData, crypto, publicKey);
205
203
  log.debug('requesting DH params');
206
204
  await sendPlainMessage({
207
205
  _: 'mt_req_DH_params',
@@ -236,10 +234,10 @@ export async function doAuthorization(connection, crypto, expiresIn) {
236
234
  }
237
235
  mtpAssertTypeIs('auth step 3', serverDhInner, 'mt_server_DH_inner_data');
238
236
  if (!buffersEqual(serverDhInner.nonce, nonce)) {
239
- throw Error('Step 3: invalid nonce from server');
237
+ throw new Error('Step 3: invalid nonce from server');
240
238
  }
241
239
  if (!buffersEqual(serverDhInner.serverNonce, resPq.serverNonce)) {
242
- throw Error('Step 3: invalid server nonce from server');
240
+ throw new Error('Step 3: invalid server nonce from server');
243
241
  }
244
242
  const dhPrime = bufferToBigInt(serverDhInner.dhPrime);
245
243
  const timeOffset = Math.floor(Date.now() / 1000) - serverDhInner.serverTime;
@@ -321,7 +319,7 @@ export async function doAuthorization(connection, crypto, expiresIn) {
321
319
  continue;
322
320
  }
323
321
  if (dhGen._ !== 'mt_dh_gen_ok')
324
- throw new Error(); // unreachable
322
+ throw new Error('unreachable');
325
323
  const expectedHash = crypto.sha1(concatBuffers([newNonce, new Uint8Array([1]), authKeyAuxHash]));
326
324
  if (!buffersEqual(expectedHash.subarray(4, 20), dhGen.newNonceHash1)) {
327
325
  throw new MtSecurityError('Step 4: invalid nonce hash from server');
@@ -1 +1 @@
1
- {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../src/network/authorization.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\n\nimport { mtp } from '@mtcute/tl'\nimport { TlPublicKey } from '@mtcute/tl/binary/rsa-keys.js'\nimport { TlBinaryReader, TlBinaryWriter, TlSerializationCounter } from '@mtcute/tl-runtime'\n\nimport { MtArgumentError, MtSecurityError, MtTypeAssertionError } from '../types/index.js'\nimport { buffersEqual, concatBuffers, dataViewFromBuffer } from '../utils/buffer-utils.js'\nimport { findKeyByFingerprints } from '../utils/crypto/keys.js'\nimport { millerRabin } from '../utils/crypto/miller-rabin.js'\nimport { generateKeyAndIvFromNonce } from '../utils/crypto/mtproto.js'\nimport { xorBuffer, xorBufferInPlace } from '../utils/crypto/utils.js'\nimport { bigIntModPow, bigIntToBuffer, bufferToBigInt, ICryptoProvider, Logger } from '../utils/index.js'\nimport { mtpAssertTypeIs } from '../utils/type-assertions.js'\nimport { SessionConnection } from './session-connection.js'\n\n// Heavily based on code from https://github.com/LonamiWebs/Telethon/blob/master/telethon/network/authenticator.py\n\n// see https://core.telegram.org/mtproto/security_guidelines\n// const DH_SAFETY_RANGE = bigInt[2].pow(2048 - 64)\nconst DH_SAFETY_RANGE = 2n ** (2048n - 64n)\nconst KNOWN_DH_PRIME =\n // eslint-disable-next-line max-len\n 0xc71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5bn\nconst TWO_POW_2047 = 2n ** 2047n\nconst TWO_POW_2048 = 2n ** 2048n\n\ninterface CheckedPrime {\n prime: bigint\n generators: number[]\n}\n\nconst checkedPrimesCache: CheckedPrime[] = []\n\nfunction checkDhPrime(crypto: ICryptoProvider, log: Logger, dhPrime: bigint, g: number) {\n if (KNOWN_DH_PRIME === dhPrime) {\n log.debug('server is using known dh prime, skipping validation')\n\n return\n }\n\n let checkedPrime = checkedPrimesCache.find((x) => x.prime === dhPrime)\n\n if (!checkedPrime) {\n if (dhPrime <= TWO_POW_2047 || dhPrime >= TWO_POW_2048) {\n throw new MtSecurityError('Step 3: dh_prime is not in the 2048-bit range')\n }\n\n if (!millerRabin(crypto, dhPrime)) {\n throw new MtSecurityError('Step 3: dh_prime is not prime')\n }\n if (!millerRabin(crypto, (dhPrime - 1n) / 2n)) {\n throw new MtSecurityError('Step 3: dh_prime is not a safe prime - (dh_prime-1)/2 is not prime')\n }\n\n log.debug('dh_prime is probably prime')\n\n checkedPrime = {\n prime: dhPrime,\n generators: [],\n }\n checkedPrimesCache.push(checkedPrime)\n } else {\n log.debug('dh_prime is probably prime (cached)')\n }\n\n const generatorChecked = checkedPrime.generators.includes(g)\n\n if (generatorChecked) {\n log.debug('g = %d is already checked for dh_prime', g)\n\n return\n }\n\n switch (g) {\n case 2:\n if (dhPrime % 8n !== 7n) {\n throw new MtSecurityError('Step 3: ivalid g - dh_prime mod 8 != 7')\n }\n break\n case 3:\n if (dhPrime % 3n !== 2n) {\n throw new MtSecurityError('Step 3: ivalid g - dh_prime mod 3 != 2')\n }\n break\n case 4:\n break\n case 5: {\n const mod = dhPrime % 5n\n\n if (mod !== 1n && mod !== 4n) {\n throw new MtSecurityError('Step 3: ivalid g - dh_prime mod 5 != 1 && dh_prime mod 5 != 4')\n }\n break\n }\n case 6: {\n const mod = dhPrime % 24n\n\n if (mod !== 19n && mod !== 23n) {\n throw new MtSecurityError('Step 3: ivalid g - dh_prime mod 24 != 19 && dh_prime mod 24 != 23')\n }\n break\n }\n case 7: {\n const mod = dhPrime % 7n\n\n if (mod !== 3n && mod !== 5n && mod !== 6n) {\n throw new MtSecurityError(\n 'Step 3: ivalid g - dh_prime mod 7 != 3 && dh_prime mod 7 != 5 && dh_prime mod 7 != 6',\n )\n }\n break\n }\n default:\n throw new MtSecurityError(`Step 3: ivalid g - unknown g = ${g}`)\n }\n\n checkedPrime.generators.push(g)\n\n log.debug('g = %d is safe to use with dh_prime', g)\n}\n\nfunction rsaPad(data: Uint8Array, crypto: ICryptoProvider, key: TlPublicKey): Uint8Array {\n // since Summer 2021, they use \"version of RSA with a variant of OAEP+ padding explained below\"\n\n const keyModulus = BigInt(`0x${key.modulus}`)\n const keyExponent = BigInt(`0x${key.exponent}`)\n\n if (data.length > 144) {\n throw new MtArgumentError('Failed to pad: too big data')\n }\n\n const dataPadded = new Uint8Array(192)\n dataPadded.set(data, 0)\n crypto.randomFill(dataPadded.subarray(data.length))\n data = dataPadded\n\n for (;;) {\n const aesIv = new Uint8Array(32)\n\n const aesKey = crypto.randomBytes(32)\n\n const dataWithHash = concatBuffers([data, crypto.sha256(concatBuffers([aesKey, data]))])\n // we only need to reverse the data\n dataWithHash.subarray(0, 192).reverse()\n\n const aes = crypto.createAesIge(aesKey, aesIv)\n const encrypted = aes.encrypt(dataWithHash)\n const encryptedHash = crypto.sha256(encrypted)\n\n xorBufferInPlace(aesKey, encryptedHash)\n const decryptedData = concatBuffers([aesKey, encrypted])\n\n const decryptedDataBigint = bufferToBigInt(decryptedData)\n\n if (decryptedDataBigint >= keyModulus) {\n continue\n }\n\n const encryptedBigint = bigIntModPow(decryptedDataBigint, keyExponent, keyModulus)\n\n return bigIntToBuffer(encryptedBigint, 256)\n }\n}\n\nfunction rsaEncrypt(data: Uint8Array, crypto: ICryptoProvider, key: TlPublicKey): Uint8Array {\n const toEncrypt = concatBuffers([\n crypto.sha1(data),\n data,\n // sha1 is always 20 bytes, so we're left with 255 - 20 - x padding\n crypto.randomBytes(235 - data.length),\n ])\n\n const encryptedBigInt = bigIntModPow(\n bufferToBigInt(toEncrypt),\n BigInt(`0x${key.exponent}`),\n BigInt(`0x${key.modulus}`),\n )\n\n return bigIntToBuffer(encryptedBigInt)\n}\n\n/**\n * Execute authorization flow on `connection` using `crypto`.\n *\n * @returns tuple: [authKey, serverSalt, timeOffset]\n */\nexport async function doAuthorization(\n connection: SessionConnection,\n crypto: ICryptoProvider,\n expiresIn?: number,\n): Promise<[Uint8Array, Long, number]> {\n // eslint-disable-next-line dot-notation\n const session = connection['_session']\n const readerMap = session._readerMap\n const writerMap = session._writerMap\n const log = connection.log.create('auth')\n\n function sendPlainMessage(message: mtp.TlObject): Promise<void> {\n const length = TlSerializationCounter.countNeededBytes(writerMap, message)\n const writer = TlBinaryWriter.alloc(writerMap, length + 20) // 20 bytes for mtproto header\n\n const messageId = session.getMessageId()\n\n log.verbose('[PLAIN] >>> %j', message)\n writer.long(Long.ZERO)\n writer.long(messageId)\n writer.uint(length)\n writer.object(message)\n\n return connection.send(writer.result())\n }\n\n async function readNext(): Promise<mtp.TlObject> {\n const res = TlBinaryReader.deserializeObject<mtp.TlObject>(\n readerMap,\n await connection.waitForUnencryptedMessage(),\n 20, // skip mtproto header\n )\n\n log.verbose('[PLAIN] <<< %j', res)\n\n return res\n }\n\n if (expiresIn) log.prefix = '[PFS] '\n\n const nonce = crypto.randomBytes(16)\n // Step 1: PQ request\n log.debug('starting PQ handshake (temp = %b), nonce = %h', expiresIn, nonce)\n\n await sendPlainMessage({ _: 'mt_req_pq_multi', nonce })\n const resPq = await readNext()\n\n mtpAssertTypeIs('auth step 1', resPq, 'mt_resPQ')\n\n if (!buffersEqual(resPq.nonce, nonce)) {\n throw new MtSecurityError('Step 1: invalid nonce from server')\n }\n\n const serverKeys = resPq.serverPublicKeyFingerprints.map((it) => it.toUnsigned().toString(16))\n log.debug('received PQ, keys: %j', serverKeys)\n\n // Step 2: DH exchange\n const publicKey = findKeyByFingerprints(serverKeys)\n\n if (!publicKey) {\n throw new MtSecurityError(\n 'Step 2: Could not find server public key with any of these fingerprints: ' + serverKeys.join(', '),\n )\n }\n log.debug('found server key, fp = %s, old = %s', publicKey.fingerprint, publicKey.old)\n\n if (millerRabin(crypto, bufferToBigInt(resPq.pq))) {\n throw new MtSecurityError('Step 2: pq is prime')\n }\n\n const [p, q] = await crypto.factorizePQ(resPq.pq)\n log.debug('factorized PQ: PQ = %h, P = %h, Q = %h', resPq.pq, p, q)\n\n const newNonce = crypto.randomBytes(32)\n\n let dcId = connection.params.dc.id\n if (connection.params.testMode) dcId += 10000\n if (connection.params.dc.mediaOnly) dcId = -dcId\n\n const _pqInnerData: mtp.TypeP_Q_inner_data = {\n _: expiresIn ? 'mt_p_q_inner_data_temp_dc' : 'mt_p_q_inner_data_dc',\n pq: resPq.pq,\n p,\n q,\n nonce,\n newNonce,\n serverNonce: resPq.serverNonce,\n dc: dcId,\n expiresIn: expiresIn!, // whatever\n }\n const pqInnerData = TlBinaryWriter.serializeObject(writerMap, _pqInnerData)\n\n const encryptedData = publicKey.old ?\n rsaEncrypt(pqInnerData, crypto, publicKey) :\n rsaPad(pqInnerData, crypto, publicKey)\n\n log.debug('requesting DH params')\n\n await sendPlainMessage({\n _: 'mt_req_DH_params',\n nonce,\n serverNonce: resPq.serverNonce,\n p,\n q,\n publicKeyFingerprint: Long.fromString(publicKey.fingerprint, true, 16),\n encryptedData,\n })\n const serverDhParams = await readNext()\n\n mtpAssertTypeIs('auth step 2', serverDhParams, 'mt_server_DH_params_ok')\n\n if (!buffersEqual(serverDhParams.nonce, nonce)) {\n throw new MtSecurityError('Step 2: invalid nonce from server')\n }\n if (!buffersEqual(serverDhParams.serverNonce, resPq.serverNonce)) {\n throw new MtSecurityError('Step 2: invalid server nonce from server')\n }\n\n log.debug('server DH ok')\n\n if (serverDhParams.encryptedAnswer.length % 16 !== 0) {\n throw new MtSecurityError('Step 2: AES block size is invalid')\n }\n\n // Step 3: complete DH exchange\n const [key, iv] = generateKeyAndIvFromNonce(crypto, resPq.serverNonce, newNonce)\n const ige = crypto.createAesIge(key, iv)\n\n const plainTextAnswer = ige.decrypt(serverDhParams.encryptedAnswer)\n const innerDataHash = plainTextAnswer.subarray(0, 20)\n const serverDhInnerReader = new TlBinaryReader(readerMap, plainTextAnswer, 20)\n const serverDhInner = serverDhInnerReader.object() as mtp.TlObject\n\n if (!buffersEqual(innerDataHash, crypto.sha1(plainTextAnswer.subarray(20, serverDhInnerReader.pos)))) {\n throw new MtSecurityError('Step 3: invalid inner data hash')\n }\n\n mtpAssertTypeIs('auth step 3', serverDhInner, 'mt_server_DH_inner_data')\n\n if (!buffersEqual(serverDhInner.nonce, nonce)) {\n throw Error('Step 3: invalid nonce from server')\n }\n if (!buffersEqual(serverDhInner.serverNonce, resPq.serverNonce)) {\n throw Error('Step 3: invalid server nonce from server')\n }\n\n const dhPrime = bufferToBigInt(serverDhInner.dhPrime)\n const timeOffset = Math.floor(Date.now() / 1000) - serverDhInner.serverTime\n session.updateTimeOffset(timeOffset)\n\n const g = BigInt(serverDhInner.g)\n const gA = bufferToBigInt(serverDhInner.gA)\n\n checkDhPrime(crypto, log, dhPrime, serverDhInner.g)\n\n let retryId = Long.ZERO\n const serverSalt = xorBuffer(newNonce.subarray(0, 8), resPq.serverNonce.subarray(0, 8))\n\n for (;;) {\n const b = bufferToBigInt(crypto.randomBytes(256))\n const gB = bigIntModPow(g, b, dhPrime)\n\n const authKey = bigIntToBuffer(bigIntModPow(gA, b, dhPrime))\n const authKeyAuxHash = crypto.sha1(authKey).subarray(0, 8)\n\n // validate DH params\n if (g <= 1 || g >= dhPrime - 1n) {\n throw new MtSecurityError('g is not within (1, dh_prime - 1)')\n }\n if (gA <= 1 || gA >= dhPrime - 1n) {\n throw new MtSecurityError('g_a is not within (1, dh_prime - 1)')\n }\n if (gB <= 1 || gB >= dhPrime - 1n) {\n throw new MtSecurityError('g_b is not within (1, dh_prime - 1)')\n }\n\n if (gA <= DH_SAFETY_RANGE || gA >= dhPrime - DH_SAFETY_RANGE) {\n throw new MtSecurityError('g_a is not within (2^{2048-64}, dh_prime - 2^{2048-64})')\n }\n if (gB <= DH_SAFETY_RANGE || gB >= dhPrime - DH_SAFETY_RANGE) {\n throw new MtSecurityError('g_b is not within (2^{2048-64}, dh_prime - 2^{2048-64})')\n }\n\n const gB_ = bigIntToBuffer(gB, 0, false)\n\n // Step 4: send client DH\n const clientDhInner: mtp.RawMt_client_DH_inner_data = {\n _: 'mt_client_DH_inner_data',\n nonce,\n serverNonce: resPq.serverNonce,\n retryId,\n gB: gB_,\n }\n let innerLength = TlSerializationCounter.countNeededBytes(writerMap, clientDhInner) + 20 // for hash\n const innerPaddingLength = innerLength % 16\n if (innerPaddingLength > 0) innerLength += 16 - innerPaddingLength\n\n const clientDhInnerWriter = TlBinaryWriter.alloc(writerMap, innerLength)\n clientDhInnerWriter.pos = 20\n clientDhInnerWriter.object(clientDhInner)\n const clientDhInnerHash = crypto.sha1(clientDhInnerWriter.uint8View.subarray(20, clientDhInnerWriter.pos))\n clientDhInnerWriter.pos = 0\n clientDhInnerWriter.raw(clientDhInnerHash)\n\n log.debug('sending client DH (timeOffset = %d)', timeOffset)\n\n const clientDhEncrypted = ige.encrypt(clientDhInnerWriter.uint8View)\n await sendPlainMessage({\n _: 'mt_set_client_DH_params',\n nonce,\n serverNonce: resPq.serverNonce,\n encryptedData: clientDhEncrypted,\n })\n\n const dhGen = await readNext()\n\n if (!mtp.isAnySet_client_DH_params_answer(dhGen)) {\n throw new MtTypeAssertionError('auth step 4', 'set_client_DH_params_answer', dhGen._)\n }\n\n if (!buffersEqual(dhGen.nonce, nonce)) {\n throw new MtSecurityError('Step 4: invalid nonce from server')\n }\n if (!buffersEqual(dhGen.serverNonce, resPq.serverNonce)) {\n throw new MtSecurityError('Step 4: invalid server nonce from server')\n }\n\n log.debug('DH result: %s', dhGen._)\n\n if (dhGen._ === 'mt_dh_gen_fail') {\n // in theory i would be supposed to calculate newNonceHash, but why, we are failing anyway\n throw new MtTypeAssertionError('auth step 4', '!mt_dh_gen_fail', dhGen._)\n }\n\n if (dhGen._ === 'mt_dh_gen_retry') {\n const expectedHash = crypto.sha1(concatBuffers([newNonce, new Uint8Array([2]), authKeyAuxHash]))\n\n if (!buffersEqual(expectedHash.subarray(4, 20), dhGen.newNonceHash2)) {\n throw new MtSecurityError('Step 4: invalid retry nonce hash from server')\n }\n retryId = Long.fromBytesLE(authKeyAuxHash as unknown as number[])\n continue\n }\n\n if (dhGen._ !== 'mt_dh_gen_ok') throw new Error() // unreachable\n\n const expectedHash = crypto.sha1(concatBuffers([newNonce, new Uint8Array([1]), authKeyAuxHash]))\n\n if (!buffersEqual(expectedHash.subarray(4, 20), dhGen.newNonceHash1)) {\n throw new MtSecurityError('Step 4: invalid nonce hash from server')\n }\n\n log.info('authorization successful')\n\n const dv = dataViewFromBuffer(serverSalt)\n\n return [authKey, new Long(dv.getInt32(0, true), dv.getInt32(4, true)), timeOffset]\n }\n}\n"]}
1
+ {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../src/network/authorization.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\nimport { mtp } from '@mtcute/tl'\nimport type { TlPublicKey } from '@mtcute/tl/binary/rsa-keys.js'\nimport { TlBinaryReader, TlBinaryWriter, TlSerializationCounter } from '@mtcute/tl-runtime'\n\nimport { MtArgumentError, MtSecurityError, MtTypeAssertionError } from '../types/index.js'\nimport { buffersEqual, concatBuffers, dataViewFromBuffer } from '../utils/buffer-utils.js'\nimport { findKeyByFingerprints } from '../utils/crypto/keys.js'\nimport { millerRabin } from '../utils/crypto/miller-rabin.js'\nimport { generateKeyAndIvFromNonce } from '../utils/crypto/mtproto.js'\nimport { xorBuffer, xorBufferInPlace } from '../utils/crypto/utils.js'\nimport type { ICryptoProvider, Logger } from '../utils/index.js'\nimport { bigIntModPow, bigIntToBuffer, bufferToBigInt } from '../utils/index.js'\nimport { mtpAssertTypeIs } from '../utils/type-assertions.js'\n\nimport type { SessionConnection } from './session-connection.js'\n\n// Heavily based on code from https://github.com/LonamiWebs/Telethon/blob/master/telethon/network/authenticator.py\n\n// see https://core.telegram.org/mtproto/security_guidelines\n// const DH_SAFETY_RANGE = bigInt[2].pow(2048 - 64)\nconst DH_SAFETY_RANGE = 2n ** (2048n - 64n)\n// eslint-disable-next-line style/max-len\nconst KNOWN_DH_PRIME = 0xC71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5Bn\nconst TWO_POW_2047 = 2n ** 2047n\nconst TWO_POW_2048 = 2n ** 2048n\n\ninterface CheckedPrime {\n prime: bigint\n generators: number[]\n}\n\nconst checkedPrimesCache: CheckedPrime[] = []\n\nfunction checkDhPrime(crypto: ICryptoProvider, log: Logger, dhPrime: bigint, g: number) {\n if (KNOWN_DH_PRIME === dhPrime) {\n log.debug('server is using known dh prime, skipping validation')\n\n return\n }\n\n let checkedPrime = checkedPrimesCache.find(x => x.prime === dhPrime)\n\n if (!checkedPrime) {\n if (dhPrime <= TWO_POW_2047 || dhPrime >= TWO_POW_2048) {\n throw new MtSecurityError('Step 3: dh_prime is not in the 2048-bit range')\n }\n\n if (!millerRabin(crypto, dhPrime)) {\n throw new MtSecurityError('Step 3: dh_prime is not prime')\n }\n if (!millerRabin(crypto, (dhPrime - 1n) / 2n)) {\n throw new MtSecurityError('Step 3: dh_prime is not a safe prime - (dh_prime-1)/2 is not prime')\n }\n\n log.debug('dh_prime is probably prime')\n\n checkedPrime = {\n prime: dhPrime,\n generators: [],\n }\n checkedPrimesCache.push(checkedPrime)\n } else {\n log.debug('dh_prime is probably prime (cached)')\n }\n\n const generatorChecked = checkedPrime.generators.includes(g)\n\n if (generatorChecked) {\n log.debug('g = %d is already checked for dh_prime', g)\n\n return\n }\n\n switch (g) {\n case 2:\n if (dhPrime % 8n !== 7n) {\n throw new MtSecurityError('Step 3: ivalid g - dh_prime mod 8 != 7')\n }\n break\n case 3:\n if (dhPrime % 3n !== 2n) {\n throw new MtSecurityError('Step 3: ivalid g - dh_prime mod 3 != 2')\n }\n break\n case 4:\n break\n case 5: {\n const mod = dhPrime % 5n\n\n if (mod !== 1n && mod !== 4n) {\n throw new MtSecurityError('Step 3: ivalid g - dh_prime mod 5 != 1 && dh_prime mod 5 != 4')\n }\n break\n }\n case 6: {\n const mod = dhPrime % 24n\n\n if (mod !== 19n && mod !== 23n) {\n throw new MtSecurityError('Step 3: ivalid g - dh_prime mod 24 != 19 && dh_prime mod 24 != 23')\n }\n break\n }\n case 7: {\n const mod = dhPrime % 7n\n\n if (mod !== 3n && mod !== 5n && mod !== 6n) {\n throw new MtSecurityError(\n 'Step 3: ivalid g - dh_prime mod 7 != 3 && dh_prime mod 7 != 5 && dh_prime mod 7 != 6',\n )\n }\n break\n }\n default:\n throw new MtSecurityError(`Step 3: ivalid g - unknown g = ${g}`)\n }\n\n checkedPrime.generators.push(g)\n\n log.debug('g = %d is safe to use with dh_prime', g)\n}\n\nfunction rsaPad(data: Uint8Array, crypto: ICryptoProvider, key: TlPublicKey): Uint8Array {\n // since Summer 2021, they use \"version of RSA with a variant of OAEP+ padding explained below\"\n\n const keyModulus = BigInt(`0x${key.modulus}`)\n const keyExponent = BigInt(`0x${key.exponent}`)\n\n if (data.length > 144) {\n throw new MtArgumentError('Failed to pad: too big data')\n }\n\n const dataPadded = new Uint8Array(192)\n dataPadded.set(data, 0)\n crypto.randomFill(dataPadded.subarray(data.length))\n data = dataPadded\n\n for (;;) {\n const aesIv = new Uint8Array(32)\n\n const aesKey = crypto.randomBytes(32)\n\n const dataWithHash = concatBuffers([data, crypto.sha256(concatBuffers([aesKey, data]))])\n // we only need to reverse the data\n dataWithHash.subarray(0, 192).reverse()\n\n const aes = crypto.createAesIge(aesKey, aesIv)\n const encrypted = aes.encrypt(dataWithHash)\n const encryptedHash = crypto.sha256(encrypted)\n\n xorBufferInPlace(aesKey, encryptedHash)\n const decryptedData = concatBuffers([aesKey, encrypted])\n\n const decryptedDataBigint = bufferToBigInt(decryptedData)\n\n if (decryptedDataBigint >= keyModulus) {\n continue\n }\n\n const encryptedBigint = bigIntModPow(decryptedDataBigint, keyExponent, keyModulus)\n\n return bigIntToBuffer(encryptedBigint, 256)\n }\n}\n\nfunction rsaEncrypt(data: Uint8Array, crypto: ICryptoProvider, key: TlPublicKey): Uint8Array {\n const toEncrypt = concatBuffers([\n crypto.sha1(data),\n data,\n // sha1 is always 20 bytes, so we're left with 255 - 20 - x padding\n crypto.randomBytes(235 - data.length),\n ])\n\n const encryptedBigInt = bigIntModPow(\n bufferToBigInt(toEncrypt),\n BigInt(`0x${key.exponent}`),\n BigInt(`0x${key.modulus}`),\n )\n\n return bigIntToBuffer(encryptedBigInt)\n}\n\n/**\n * Execute authorization flow on `connection` using `crypto`.\n *\n * @returns tuple: [authKey, serverSalt, timeOffset]\n */\nexport async function doAuthorization(\n connection: SessionConnection,\n crypto: ICryptoProvider,\n expiresIn?: number,\n): Promise<[Uint8Array, Long, number]> {\n const session = connection['_session']\n const readerMap = session._readerMap\n const writerMap = session._writerMap\n const log = connection.log.create('auth')\n\n function sendPlainMessage(message: mtp.TlObject): Promise<void> {\n const length = TlSerializationCounter.countNeededBytes(writerMap, message)\n const writer = TlBinaryWriter.alloc(writerMap, length + 20) // 20 bytes for mtproto header\n\n const messageId = session.getMessageId()\n\n log.verbose('[PLAIN] >>> %j', message)\n writer.long(Long.ZERO)\n writer.long(messageId)\n writer.uint(length)\n writer.object(message)\n\n return connection.send(writer.result())\n }\n\n async function readNext(): Promise<mtp.TlObject> {\n const res = TlBinaryReader.deserializeObject<mtp.TlObject>(\n readerMap,\n await connection.waitForUnencryptedMessage(),\n 20, // skip mtproto header\n )\n\n log.verbose('[PLAIN] <<< %j', res)\n\n return res\n }\n\n if (expiresIn) log.prefix = '[PFS] '\n\n const nonce = crypto.randomBytes(16)\n // Step 1: PQ request\n log.debug('starting PQ handshake (temp = %b), nonce = %h', expiresIn, nonce)\n\n await sendPlainMessage({ _: 'mt_req_pq_multi', nonce })\n const resPq = await readNext()\n\n mtpAssertTypeIs('auth step 1', resPq, 'mt_resPQ')\n\n if (!buffersEqual(resPq.nonce, nonce)) {\n throw new MtSecurityError('Step 1: invalid nonce from server')\n }\n\n const serverKeys = resPq.serverPublicKeyFingerprints.map(it => it.toUnsigned().toString(16))\n log.debug('received PQ, keys: %j', serverKeys)\n\n // Step 2: DH exchange\n const publicKey = findKeyByFingerprints(serverKeys)\n\n if (!publicKey) {\n throw new MtSecurityError(\n `Step 2: Could not find server public key with any of these fingerprints: ${serverKeys.join(', ')}`,\n )\n }\n log.debug('found server key, fp = %s, old = %s', publicKey.fingerprint, publicKey.old)\n\n if (millerRabin(crypto, bufferToBigInt(resPq.pq))) {\n throw new MtSecurityError('Step 2: pq is prime')\n }\n\n const [p, q] = await crypto.factorizePQ(resPq.pq)\n log.debug('factorized PQ: PQ = %h, P = %h, Q = %h', resPq.pq, p, q)\n\n const newNonce = crypto.randomBytes(32)\n\n let dcId = connection.params.dc.id\n if (connection.params.testMode) dcId += 10000\n if (connection.params.dc.mediaOnly) dcId = -dcId\n\n const _pqInnerData: mtp.TypeP_Q_inner_data = {\n _: expiresIn ? 'mt_p_q_inner_data_temp_dc' : 'mt_p_q_inner_data_dc',\n pq: resPq.pq,\n p,\n q,\n nonce,\n newNonce,\n serverNonce: resPq.serverNonce,\n dc: dcId,\n expiresIn: expiresIn!, // whatever\n }\n const pqInnerData = TlBinaryWriter.serializeObject(writerMap, _pqInnerData)\n\n const encryptedData = publicKey.old\n ? rsaEncrypt(pqInnerData, crypto, publicKey)\n : rsaPad(pqInnerData, crypto, publicKey)\n\n log.debug('requesting DH params')\n\n await sendPlainMessage({\n _: 'mt_req_DH_params',\n nonce,\n serverNonce: resPq.serverNonce,\n p,\n q,\n publicKeyFingerprint: Long.fromString(publicKey.fingerprint, true, 16),\n encryptedData,\n })\n const serverDhParams = await readNext()\n\n mtpAssertTypeIs('auth step 2', serverDhParams, 'mt_server_DH_params_ok')\n\n if (!buffersEqual(serverDhParams.nonce, nonce)) {\n throw new MtSecurityError('Step 2: invalid nonce from server')\n }\n if (!buffersEqual(serverDhParams.serverNonce, resPq.serverNonce)) {\n throw new MtSecurityError('Step 2: invalid server nonce from server')\n }\n\n log.debug('server DH ok')\n\n if (serverDhParams.encryptedAnswer.length % 16 !== 0) {\n throw new MtSecurityError('Step 2: AES block size is invalid')\n }\n\n // Step 3: complete DH exchange\n const [key, iv] = generateKeyAndIvFromNonce(crypto, resPq.serverNonce, newNonce)\n const ige = crypto.createAesIge(key, iv)\n\n const plainTextAnswer = ige.decrypt(serverDhParams.encryptedAnswer)\n const innerDataHash = plainTextAnswer.subarray(0, 20)\n const serverDhInnerReader = new TlBinaryReader(readerMap, plainTextAnswer, 20)\n const serverDhInner = serverDhInnerReader.object() as mtp.TlObject\n\n if (!buffersEqual(innerDataHash, crypto.sha1(plainTextAnswer.subarray(20, serverDhInnerReader.pos)))) {\n throw new MtSecurityError('Step 3: invalid inner data hash')\n }\n\n mtpAssertTypeIs('auth step 3', serverDhInner, 'mt_server_DH_inner_data')\n\n if (!buffersEqual(serverDhInner.nonce, nonce)) {\n throw new Error('Step 3: invalid nonce from server')\n }\n if (!buffersEqual(serverDhInner.serverNonce, resPq.serverNonce)) {\n throw new Error('Step 3: invalid server nonce from server')\n }\n\n const dhPrime = bufferToBigInt(serverDhInner.dhPrime)\n const timeOffset = Math.floor(Date.now() / 1000) - serverDhInner.serverTime\n session.updateTimeOffset(timeOffset)\n\n const g = BigInt(serverDhInner.g)\n const gA = bufferToBigInt(serverDhInner.gA)\n\n checkDhPrime(crypto, log, dhPrime, serverDhInner.g)\n\n let retryId = Long.ZERO\n const serverSalt = xorBuffer(newNonce.subarray(0, 8), resPq.serverNonce.subarray(0, 8))\n\n for (;;) {\n const b = bufferToBigInt(crypto.randomBytes(256))\n const gB = bigIntModPow(g, b, dhPrime)\n\n const authKey = bigIntToBuffer(bigIntModPow(gA, b, dhPrime))\n const authKeyAuxHash = crypto.sha1(authKey).subarray(0, 8)\n\n // validate DH params\n if (g <= 1 || g >= dhPrime - 1n) {\n throw new MtSecurityError('g is not within (1, dh_prime - 1)')\n }\n if (gA <= 1 || gA >= dhPrime - 1n) {\n throw new MtSecurityError('g_a is not within (1, dh_prime - 1)')\n }\n if (gB <= 1 || gB >= dhPrime - 1n) {\n throw new MtSecurityError('g_b is not within (1, dh_prime - 1)')\n }\n\n if (gA <= DH_SAFETY_RANGE || gA >= dhPrime - DH_SAFETY_RANGE) {\n throw new MtSecurityError('g_a is not within (2^{2048-64}, dh_prime - 2^{2048-64})')\n }\n if (gB <= DH_SAFETY_RANGE || gB >= dhPrime - DH_SAFETY_RANGE) {\n throw new MtSecurityError('g_b is not within (2^{2048-64}, dh_prime - 2^{2048-64})')\n }\n\n const gB_ = bigIntToBuffer(gB, 0, false)\n\n // Step 4: send client DH\n const clientDhInner: mtp.RawMt_client_DH_inner_data = {\n _: 'mt_client_DH_inner_data',\n nonce,\n serverNonce: resPq.serverNonce,\n retryId,\n gB: gB_,\n }\n let innerLength = TlSerializationCounter.countNeededBytes(writerMap, clientDhInner) + 20 // for hash\n const innerPaddingLength = innerLength % 16\n if (innerPaddingLength > 0) innerLength += 16 - innerPaddingLength\n\n const clientDhInnerWriter = TlBinaryWriter.alloc(writerMap, innerLength)\n clientDhInnerWriter.pos = 20\n clientDhInnerWriter.object(clientDhInner)\n const clientDhInnerHash = crypto.sha1(clientDhInnerWriter.uint8View.subarray(20, clientDhInnerWriter.pos))\n clientDhInnerWriter.pos = 0\n clientDhInnerWriter.raw(clientDhInnerHash)\n\n log.debug('sending client DH (timeOffset = %d)', timeOffset)\n\n const clientDhEncrypted = ige.encrypt(clientDhInnerWriter.uint8View)\n await sendPlainMessage({\n _: 'mt_set_client_DH_params',\n nonce,\n serverNonce: resPq.serverNonce,\n encryptedData: clientDhEncrypted,\n })\n\n const dhGen = await readNext()\n\n if (!mtp.isAnySet_client_DH_params_answer(dhGen)) {\n throw new MtTypeAssertionError('auth step 4', 'set_client_DH_params_answer', dhGen._)\n }\n\n if (!buffersEqual(dhGen.nonce, nonce)) {\n throw new MtSecurityError('Step 4: invalid nonce from server')\n }\n if (!buffersEqual(dhGen.serverNonce, resPq.serverNonce)) {\n throw new MtSecurityError('Step 4: invalid server nonce from server')\n }\n\n log.debug('DH result: %s', dhGen._)\n\n if (dhGen._ === 'mt_dh_gen_fail') {\n // in theory i would be supposed to calculate newNonceHash, but why, we are failing anyway\n throw new MtTypeAssertionError('auth step 4', '!mt_dh_gen_fail', dhGen._)\n }\n\n if (dhGen._ === 'mt_dh_gen_retry') {\n const expectedHash = crypto.sha1(concatBuffers([newNonce, new Uint8Array([2]), authKeyAuxHash]))\n\n if (!buffersEqual(expectedHash.subarray(4, 20), dhGen.newNonceHash2)) {\n throw new MtSecurityError('Step 4: invalid retry nonce hash from server')\n }\n retryId = Long.fromBytesLE(authKeyAuxHash as unknown as number[])\n continue\n }\n\n if (dhGen._ !== 'mt_dh_gen_ok') throw new Error('unreachable')\n\n const expectedHash = crypto.sha1(concatBuffers([newNonce, new Uint8Array([1]), authKeyAuxHash]))\n\n if (!buffersEqual(expectedHash.subarray(4, 20), dhGen.newNonceHash1)) {\n throw new MtSecurityError('Step 4: invalid nonce hash from server')\n }\n\n log.info('authorization successful')\n\n const dv = dataViewFromBuffer(serverSalt)\n\n return [authKey, new Long(dv.getInt32(0, true), dv.getInt32(4, true)), timeOffset]\n }\n}\n"]}
@@ -1,15 +1,18 @@
1
- import EventEmitter from 'events';
2
- import { mtp, tl } from '@mtcute/tl';
3
- import { TlReaderMap, TlWriterMap } from '@mtcute/tl-runtime';
4
- import { IMtStorageProvider } from '../storage/provider.js';
5
- import { StorageManager, StorageManagerExtraOptions } from '../storage/storage.js';
6
- import { MustEqual } from '../types/index.js';
7
- import { DcOptions, ICryptoProvider, Logger } from '../utils/index.js';
1
+ import EventEmitter from 'node:events';
2
+ import type { mtp } from '@mtcute/tl';
3
+ import { tl } from '@mtcute/tl';
4
+ import type { TlReaderMap, TlWriterMap } from '@mtcute/tl-runtime';
5
+ import type { IMtStorageProvider } from '../storage/provider.js';
6
+ import type { StorageManagerExtraOptions } from '../storage/storage.js';
7
+ import { StorageManager } from '../storage/storage.js';
8
+ import type { MustEqual } from '../types/index.js';
9
+ import type { DcOptions, ICryptoProvider, Logger } from '../utils/index.js';
8
10
  import { ConfigManager } from './config-manager.js';
9
- import { NetworkManager, NetworkManagerExtraParams, RpcCallOptions } from './network-manager.js';
10
- import { PersistentConnectionParams } from './persistent-connection.js';
11
- import { ReconnectionStrategy } from './reconnection.js';
12
- import { TransportFactory } from './transports/index.js';
11
+ import type { NetworkManagerExtraParams, RpcCallOptions } from './network-manager.js';
12
+ import { NetworkManager } from './network-manager.js';
13
+ import type { PersistentConnectionParams } from './persistent-connection.js';
14
+ import type { ReconnectionStrategy } from './reconnection.js';
15
+ import type { TransportFactory } from './transports/index.js';
13
16
  /** Options for {@link MtClient} */
14
17
  export interface MtClientOptions {
15
18
  /**
@@ -1,10 +1,9 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import EventEmitter from 'events';
1
+ import EventEmitter from 'node:events';
3
2
  import { tl } from '@mtcute/tl';
4
3
  import { __tlReaderMap as defaultReaderMap } from '@mtcute/tl/binary/reader.js';
5
4
  import { __tlWriterMap as defaultWriterMap } from '@mtcute/tl/binary/writer.js';
6
5
  import { StorageManager } from '../storage/storage.js';
7
- import { asyncResettable, defaultProductionDc, defaultProductionIpv6Dc, defaultTestDc, defaultTestIpv6Dc, isTlRpcError, LogManager, } from '../utils/index.js';
6
+ import { LogManager, asyncResettable, defaultProductionDc, defaultProductionIpv6Dc, defaultTestDc, defaultTestIpv6Dc, isTlRpcError, } from '../utils/index.js';
8
7
  import { ConfigManager } from './config-manager.js';
9
8
  import { NetworkManager } from './network-manager.js';
10
9
  /**
@@ -96,8 +95,8 @@ export class MtClient extends EventEmitter {
96
95
  enableErrorReporting: params.enableErrorReporting ?? false,
97
96
  onUsable: () => this.emit('usable'),
98
97
  onConnecting: () => this.emit('connecting'),
99
- onNetworkChanged: (connected) => this.emit('networkChanged', connected),
100
- onUpdate: (upd) => this.emit('update', upd),
98
+ onNetworkChanged: connected => this.emit('networkChanged', connected),
99
+ onUpdate: upd => this.emit('update', upd),
101
100
  stopSignal: this.stopSignal,
102
101
  ...params.network,
103
102
  }, this._config);
@@ -169,7 +168,6 @@ export class MtClient extends EventEmitter {
169
168
  * @param params Additional call parameters
170
169
  */
171
170
  async call(message, params) {
172
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
173
171
  return this.network.call(message, params);
174
172
  }
175
173
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/network/client.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport EventEmitter from 'events'\n\nimport { mtp, tl } from '@mtcute/tl'\nimport { __tlReaderMap as defaultReaderMap } from '@mtcute/tl/binary/reader.js'\nimport { __tlWriterMap as defaultWriterMap } from '@mtcute/tl/binary/writer.js'\nimport { TlReaderMap, TlWriterMap } from '@mtcute/tl-runtime'\n\nimport { IMtStorageProvider } from '../storage/provider.js'\nimport { StorageManager, StorageManagerExtraOptions } from '../storage/storage.js'\nimport { MustEqual } from '../types/index.js'\nimport {\n asyncResettable,\n DcOptions,\n defaultProductionDc,\n defaultProductionIpv6Dc,\n defaultTestDc,\n defaultTestIpv6Dc,\n ICryptoProvider,\n isTlRpcError,\n Logger,\n LogManager,\n} from '../utils/index.js'\nimport { ConfigManager } from './config-manager.js'\nimport { NetworkManager, NetworkManagerExtraParams, RpcCallOptions } from './network-manager.js'\nimport { PersistentConnectionParams } from './persistent-connection.js'\nimport { ReconnectionStrategy } from './reconnection.js'\nimport { TransportFactory } from './transports/index.js'\n\n/** Options for {@link MtClient} */\nexport interface MtClientOptions {\n /**\n * API ID from my.telegram.org\n */\n apiId: number\n /**\n * API hash from my.telegram.org\n */\n apiHash: string\n\n /**\n * Storage to use for this client.\n */\n storage: IMtStorageProvider\n\n /** Additional options for the storage manager */\n storageOptions?: StorageManagerExtraOptions\n\n /**\n * Cryptography provider to allow delegating\n * crypto to native addon, worker, etc.\n */\n crypto: ICryptoProvider\n\n /**\n * Whether to use IPv6 datacenters\n * (IPv6 will be preferred when choosing a DC by id)\n * (default: false)\n */\n useIpv6?: boolean\n\n /**\n * Primary DC to use for initial connection.\n * This does not mean this will be the only DC used,\n * nor that this DC will actually be primary, this only\n * determines the first DC the library will try to connect to.\n * Can be used to connect to other networks (like test DCs).\n *\n * When session already contains primary DC, this parameter is ignored.\n *\n * @default Production DC 2.\n */\n defaultDcs?: DcOptions\n\n /**\n * Whether to connect to test servers.\n *\n * If passed, {@link defaultDc} defaults to Test DC 2.\n *\n * **Must** be passed if using test servers, even if\n * you passed custom {@link defaultDc}\n */\n testMode?: boolean\n\n /**\n * Additional options for initConnection call.\n * `apiId` and `query` are not available and will be ignored.\n * Omitted values will be filled with defaults\n */\n initConnectionOptions?: Partial<Omit<tl.RawInitConnectionRequest, 'apiId' | 'query'>>\n\n /**\n * Transport factory to use in the client.\n *\n * @default platform-specific transport: WebSocket on the web, TCP in node\n */\n transport: TransportFactory\n\n /**\n * Reconnection strategy.\n *\n * @default simple reconnection strategy: first 0ms, then up to 5s (increasing by 1s)\n */\n reconnectionStrategy?: ReconnectionStrategy<PersistentConnectionParams>\n\n /**\n * If true, all API calls will be wrapped with `tl.invokeWithoutUpdates`,\n * effectively disabling the server-sent events for the clients.\n * May be useful in some cases.\n *\n * @default false\n */\n disableUpdates?: boolean\n\n /**\n * mtcute can send all unknown RPC errors to [danog](https://github.com/danog)'s\n * [error reporting service](https://rpc.pwrtelegram.xyz/).\n *\n * This is fully anonymous (except maybe IP) and is only used to improve the library\n * and developer experience for everyone working with MTProto. This is fully opt-in,\n * and if you're too paranoid, you can disable it by manually passing `enableErrorReporting: false` to the client.\n *\n * @default false\n */\n enableErrorReporting?: boolean\n\n /**\n * Extra parameters for {@link NetworkManager}\n */\n network?: NetworkManagerExtraParams\n\n /**\n * Logger instance for the client.\n * If not passed, a new one will be created.\n */\n logger?: Logger\n\n /**\n * Set logging level for the client.\n * Shorthand for `client.log.level = level`.\n *\n * See static members of {@link LogManager} for possible values.\n */\n logLevel?: number\n\n /**\n * **EXPERT USE ONLY!**\n *\n * Override TL layer used for the connection.\n *\n * **Does not** change the schema used.\n */\n overrideLayer?: number\n\n /**\n * **EXPERT USE ONLY**\n *\n * Override reader map used for the connection.\n */\n readerMap?: TlReaderMap\n\n /**\n * **EXPERT USE ONLY**\n *\n * Override writer map used for the connection.\n */\n writerMap?: TlWriterMap\n}\n\n/**\n * Basic MTProto client implementation, only doing the bare minimum\n * to make RPC calls and receive low-level updates, as well as providing\n * some APIs to manage that.\n */\nexport class MtClient extends EventEmitter {\n /**\n * Crypto provider taken from {@link MtClientOptions.crypto}\n */\n readonly crypto: ICryptoProvider\n\n /** Storage manager */\n readonly storage: StorageManager\n\n /**\n * \"Test mode\" taken from {@link MtClientOptions.testMode}\n */\n protected readonly _testMode: boolean\n\n /**\n * Primary DCs taken from {@link MtClientOptions.defaultDcs},\n * loaded from session or changed by other means (like redirecting).\n */\n _defaultDcs: DcOptions\n\n /** TL layer used by the client */\n readonly _layer: number\n /** TL readers map used by the client */\n readonly _readerMap: TlReaderMap\n /** TL writers map used by the client */\n readonly _writerMap: TlWriterMap\n\n readonly _config = new ConfigManager(async () => {\n const res = await this.call({ _: 'help.getConfig' })\n\n if (isTlRpcError(res)) throw new Error(`Failed to get config: ${res.errorMessage}`)\n\n return res\n })\n\n private _emitError?: (err: unknown) => void\n\n readonly log: Logger\n readonly network: NetworkManager\n\n private _abortController: AbortController\n readonly stopSignal: AbortSignal\n\n constructor(readonly params: MtClientOptions) {\n super()\n\n this.log = params.logger ?? new LogManager()\n\n if (params.logLevel !== undefined) {\n this.log.mgr.level = params.logLevel\n }\n\n this.crypto = params.crypto\n this._testMode = Boolean(params.testMode)\n\n let dc = params.defaultDcs\n\n if (!dc) {\n if (params.testMode) {\n dc = params.useIpv6 ? defaultTestIpv6Dc : defaultTestDc\n } else {\n dc = params.useIpv6 ? defaultProductionIpv6Dc : defaultProductionDc\n }\n }\n\n this._defaultDcs = dc\n\n this._layer = params.overrideLayer ?? tl.LAYER\n this._readerMap = params.readerMap ?? defaultReaderMap\n this._writerMap = params.writerMap ?? defaultWriterMap\n\n this._abortController = new AbortController()\n this.stopSignal = this._abortController.signal\n\n this.storage = new StorageManager({\n provider: params.storage,\n log: this.log,\n readerMap: this._readerMap,\n writerMap: this._writerMap,\n ...params.storageOptions,\n })\n\n this.network = new NetworkManager(\n {\n apiId: params.apiId,\n crypto: this.crypto,\n disableUpdates: params.disableUpdates ?? false,\n initConnectionOptions: params.initConnectionOptions,\n layer: this._layer,\n log: this.log,\n readerMap: this._readerMap,\n writerMap: this._writerMap,\n reconnectionStrategy: params.reconnectionStrategy,\n storage: this.storage,\n testMode: Boolean(params.testMode),\n transport: params.transport,\n emitError: this.emitError.bind(this),\n isPremium: false,\n useIpv6: Boolean(params.useIpv6),\n enableErrorReporting: params.enableErrorReporting ?? false,\n onUsable: () => this.emit('usable'),\n onConnecting: () => this.emit('connecting'),\n onNetworkChanged: (connected) => this.emit('networkChanged', connected),\n onUpdate: (upd) => this.emit('update', upd),\n stopSignal: this.stopSignal,\n ...params.network,\n },\n this._config,\n )\n }\n\n emitError(err: unknown): void {\n if (this._emitError) {\n this._emitError(err)\n } else if (this._connect.finished()) {\n this.log.error('unhandled error:', err)\n }\n }\n\n private _prepare = asyncResettable(async () => {\n await this.crypto.initialize?.()\n await this.storage.load()\n\n const primaryDc = await this.storage.dcs.fetch()\n if (primaryDc !== null) this._defaultDcs = primaryDc\n })\n\n /**\n * **ADVANCED**\n *\n * Do all the preparations, but don't connect just yet.\n * Useful when you want to do some preparations before\n * connecting, like setting up session.\n *\n * Call {@link connect} to actually connect.\n */\n prepare() {\n return this._prepare.run()\n }\n\n private _connect = asyncResettable(async () => {\n await this._prepare.run()\n await this.network.connect(this._defaultDcs)\n })\n\n /**\n * Initialize the connection to the primary DC.\n *\n * You shouldn't usually call this method directly as it is called\n * implicitly the first time you call {@link call}.\n */\n async connect(): Promise<void> {\n return this._connect.run()\n }\n\n /**\n * Close all connections and finalize the client.\n */\n async close(): Promise<void> {\n this.log.debug('closing client')\n\n this._config.destroy()\n await this.network.destroy()\n\n await this.storage.save()\n await this.storage.destroy?.()\n\n this._prepare.reset()\n this._connect.reset()\n this._abortController.abort()\n\n this.log.debug('client closed successfully')\n }\n\n /**\n * Make an RPC call.\n *\n * The connection must have been {@link connect}-ed\n * before calling this method.\n *\n * This method is still quite low-level and you shouldn't use this\n * when using high-level API provided by `@mtcute/client`.\n *\n * @param message RPC method to call\n * @param params Additional call parameters\n */\n async call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']] | mtp.RawMt_rpc_error> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return this.network.call(message, params)\n }\n\n /**\n * Register an error handler for the client\n *\n * @param handler Error handler.\n */\n onError(handler: (err: unknown) => void): void {\n this._emitError = handler\n }\n}\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/network/client.ts"],"names":[],"mappings":"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","sourcesContent":["import EventEmitter from 'node:events'\n\nimport type { mtp } from '@mtcute/tl'\nimport { tl } from '@mtcute/tl'\nimport { __tlReaderMap as defaultReaderMap } from '@mtcute/tl/binary/reader.js'\nimport { __tlWriterMap as defaultWriterMap } from '@mtcute/tl/binary/writer.js'\nimport type { TlReaderMap, TlWriterMap } from '@mtcute/tl-runtime'\n\nimport type { IMtStorageProvider } from '../storage/provider.js'\nimport type { StorageManagerExtraOptions } from '../storage/storage.js'\nimport { StorageManager } from '../storage/storage.js'\nimport type { MustEqual } from '../types/index.js'\nimport type {\n DcOptions,\n ICryptoProvider,\n Logger,\n} from '../utils/index.js'\nimport {\n LogManager,\n asyncResettable,\n defaultProductionDc,\n defaultProductionIpv6Dc,\n defaultTestDc,\n defaultTestIpv6Dc,\n isTlRpcError,\n} from '../utils/index.js'\n\nimport { ConfigManager } from './config-manager.js'\nimport type { NetworkManagerExtraParams, RpcCallOptions } from './network-manager.js'\nimport { NetworkManager } from './network-manager.js'\nimport type { PersistentConnectionParams } from './persistent-connection.js'\nimport type { ReconnectionStrategy } from './reconnection.js'\nimport type { TransportFactory } from './transports/index.js'\n\n/** Options for {@link MtClient} */\nexport interface MtClientOptions {\n /**\n * API ID from my.telegram.org\n */\n apiId: number\n /**\n * API hash from my.telegram.org\n */\n apiHash: string\n\n /**\n * Storage to use for this client.\n */\n storage: IMtStorageProvider\n\n /** Additional options for the storage manager */\n storageOptions?: StorageManagerExtraOptions\n\n /**\n * Cryptography provider to allow delegating\n * crypto to native addon, worker, etc.\n */\n crypto: ICryptoProvider\n\n /**\n * Whether to use IPv6 datacenters\n * (IPv6 will be preferred when choosing a DC by id)\n * (default: false)\n */\n useIpv6?: boolean\n\n /**\n * Primary DC to use for initial connection.\n * This does not mean this will be the only DC used,\n * nor that this DC will actually be primary, this only\n * determines the first DC the library will try to connect to.\n * Can be used to connect to other networks (like test DCs).\n *\n * When session already contains primary DC, this parameter is ignored.\n *\n * @default Production DC 2.\n */\n defaultDcs?: DcOptions\n\n /**\n * Whether to connect to test servers.\n *\n * If passed, {@link defaultDc} defaults to Test DC 2.\n *\n * **Must** be passed if using test servers, even if\n * you passed custom {@link defaultDc}\n */\n testMode?: boolean\n\n /**\n * Additional options for initConnection call.\n * `apiId` and `query` are not available and will be ignored.\n * Omitted values will be filled with defaults\n */\n initConnectionOptions?: Partial<Omit<tl.RawInitConnectionRequest, 'apiId' | 'query'>>\n\n /**\n * Transport factory to use in the client.\n *\n * @default platform-specific transport: WebSocket on the web, TCP in node\n */\n transport: TransportFactory\n\n /**\n * Reconnection strategy.\n *\n * @default simple reconnection strategy: first 0ms, then up to 5s (increasing by 1s)\n */\n reconnectionStrategy?: ReconnectionStrategy<PersistentConnectionParams>\n\n /**\n * If true, all API calls will be wrapped with `tl.invokeWithoutUpdates`,\n * effectively disabling the server-sent events for the clients.\n * May be useful in some cases.\n *\n * @default false\n */\n disableUpdates?: boolean\n\n /**\n * mtcute can send all unknown RPC errors to [danog](https://github.com/danog)'s\n * [error reporting service](https://rpc.pwrtelegram.xyz/).\n *\n * This is fully anonymous (except maybe IP) and is only used to improve the library\n * and developer experience for everyone working with MTProto. This is fully opt-in,\n * and if you're too paranoid, you can disable it by manually passing `enableErrorReporting: false` to the client.\n *\n * @default false\n */\n enableErrorReporting?: boolean\n\n /**\n * Extra parameters for {@link NetworkManager}\n */\n network?: NetworkManagerExtraParams\n\n /**\n * Logger instance for the client.\n * If not passed, a new one will be created.\n */\n logger?: Logger\n\n /**\n * Set logging level for the client.\n * Shorthand for `client.log.level = level`.\n *\n * See static members of {@link LogManager} for possible values.\n */\n logLevel?: number\n\n /**\n * **EXPERT USE ONLY!**\n *\n * Override TL layer used for the connection.\n *\n * **Does not** change the schema used.\n */\n overrideLayer?: number\n\n /**\n * **EXPERT USE ONLY**\n *\n * Override reader map used for the connection.\n */\n readerMap?: TlReaderMap\n\n /**\n * **EXPERT USE ONLY**\n *\n * Override writer map used for the connection.\n */\n writerMap?: TlWriterMap\n}\n\n/**\n * Basic MTProto client implementation, only doing the bare minimum\n * to make RPC calls and receive low-level updates, as well as providing\n * some APIs to manage that.\n */\nexport class MtClient extends EventEmitter {\n /**\n * Crypto provider taken from {@link MtClientOptions.crypto}\n */\n readonly crypto: ICryptoProvider\n\n /** Storage manager */\n readonly storage: StorageManager\n\n /**\n * \"Test mode\" taken from {@link MtClientOptions.testMode}\n */\n protected readonly _testMode: boolean\n\n /**\n * Primary DCs taken from {@link MtClientOptions.defaultDcs},\n * loaded from session or changed by other means (like redirecting).\n */\n _defaultDcs: DcOptions\n\n /** TL layer used by the client */\n readonly _layer: number\n /** TL readers map used by the client */\n readonly _readerMap: TlReaderMap\n /** TL writers map used by the client */\n readonly _writerMap: TlWriterMap\n\n readonly _config: ConfigManager = new ConfigManager(async () => {\n const res = await this.call({ _: 'help.getConfig' })\n\n if (isTlRpcError(res)) throw new Error(`Failed to get config: ${res.errorMessage}`)\n\n return res\n })\n\n private _emitError?: (err: unknown) => void\n\n readonly log: Logger\n readonly network: NetworkManager\n\n private _abortController: AbortController\n readonly stopSignal: AbortSignal\n\n constructor(readonly params: MtClientOptions) {\n super()\n\n this.log = params.logger ?? new LogManager()\n\n if (params.logLevel !== undefined) {\n this.log.mgr.level = params.logLevel\n }\n\n this.crypto = params.crypto\n this._testMode = Boolean(params.testMode)\n\n let dc = params.defaultDcs\n\n if (!dc) {\n if (params.testMode) {\n dc = params.useIpv6 ? defaultTestIpv6Dc : defaultTestDc\n } else {\n dc = params.useIpv6 ? defaultProductionIpv6Dc : defaultProductionDc\n }\n }\n\n this._defaultDcs = dc\n\n this._layer = params.overrideLayer ?? tl.LAYER\n this._readerMap = params.readerMap ?? defaultReaderMap\n this._writerMap = params.writerMap ?? defaultWriterMap\n\n this._abortController = new AbortController()\n this.stopSignal = this._abortController.signal\n\n this.storage = new StorageManager({\n provider: params.storage,\n log: this.log,\n readerMap: this._readerMap,\n writerMap: this._writerMap,\n ...params.storageOptions,\n })\n\n this.network = new NetworkManager(\n {\n apiId: params.apiId,\n crypto: this.crypto,\n disableUpdates: params.disableUpdates ?? false,\n initConnectionOptions: params.initConnectionOptions,\n layer: this._layer,\n log: this.log,\n readerMap: this._readerMap,\n writerMap: this._writerMap,\n reconnectionStrategy: params.reconnectionStrategy,\n storage: this.storage,\n testMode: Boolean(params.testMode),\n transport: params.transport,\n emitError: this.emitError.bind(this),\n isPremium: false,\n useIpv6: Boolean(params.useIpv6),\n enableErrorReporting: params.enableErrorReporting ?? false,\n onUsable: () => this.emit('usable'),\n onConnecting: () => this.emit('connecting'),\n onNetworkChanged: connected => this.emit('networkChanged', connected),\n onUpdate: upd => this.emit('update', upd),\n stopSignal: this.stopSignal,\n ...params.network,\n },\n this._config,\n )\n }\n\n emitError(err: unknown): void {\n if (this._emitError) {\n this._emitError(err)\n } else if (this._connect.finished()) {\n this.log.error('unhandled error:', err)\n }\n }\n\n private _prepare = asyncResettable(async () => {\n await this.crypto.initialize?.()\n await this.storage.load()\n\n const primaryDc = await this.storage.dcs.fetch()\n if (primaryDc !== null) this._defaultDcs = primaryDc\n })\n\n /**\n * **ADVANCED**\n *\n * Do all the preparations, but don't connect just yet.\n * Useful when you want to do some preparations before\n * connecting, like setting up session.\n *\n * Call {@link connect} to actually connect.\n */\n prepare(): Promise<void> {\n return this._prepare.run()\n }\n\n private _connect = asyncResettable(async () => {\n await this._prepare.run()\n await this.network.connect(this._defaultDcs)\n })\n\n /**\n * Initialize the connection to the primary DC.\n *\n * You shouldn't usually call this method directly as it is called\n * implicitly the first time you call {@link call}.\n */\n async connect(): Promise<void> {\n return this._connect.run()\n }\n\n /**\n * Close all connections and finalize the client.\n */\n async close(): Promise<void> {\n this.log.debug('closing client')\n\n this._config.destroy()\n await this.network.destroy()\n\n await this.storage.save()\n await this.storage.destroy?.()\n\n this._prepare.reset()\n this._connect.reset()\n this._abortController.abort()\n\n this.log.debug('client closed successfully')\n }\n\n /**\n * Make an RPC call.\n *\n * The connection must have been {@link connect}-ed\n * before calling this method.\n *\n * This method is still quite low-level and you shouldn't use this\n * when using high-level API provided by `@mtcute/client`.\n *\n * @param message RPC method to call\n * @param params Additional call parameters\n */\n async call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']] | mtp.RawMt_rpc_error> {\n return this.network.call(message, params)\n }\n\n /**\n * Register an error handler for the client\n *\n * @param handler Error handler.\n */\n onError(handler: (err: unknown) => void): void {\n this._emitError = handler\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { tl } from '@mtcute/tl';
1
+ import type { tl } from '@mtcute/tl';
2
2
  import { Reloadable } from '../utils/reloadable.js';
3
3
  /**
4
4
  * Config manager is responsible for keeping
@@ -9,7 +9,7 @@ export class ConfigManager extends Reloadable {
9
9
  constructor(update) {
10
10
  super({
11
11
  reload: update,
12
- getExpiresAt: (data) => data.expires * 1000,
12
+ getExpiresAt: data => data.expires * 1000,
13
13
  });
14
14
  }
15
15
  async findOption(params) {
@@ -27,17 +27,17 @@ export class ConfigManager extends Reloadable {
27
27
  return opt.id === params.dcId;
28
28
  });
29
29
  if (params.preferMedia && params.preferIpv6) {
30
- const r = options.find((opt) => opt.mediaOnly && opt.ipv6);
30
+ const r = options.find(opt => opt.mediaOnly && opt.ipv6);
31
31
  if (r)
32
32
  return r;
33
33
  }
34
34
  if (params.preferMedia) {
35
- const r = options.find((opt) => opt.mediaOnly);
35
+ const r = options.find(opt => opt.mediaOnly);
36
36
  if (r)
37
37
  return r;
38
38
  }
39
39
  if (params.preferIpv6) {
40
- const r = options.find((opt) => opt.ipv6);
40
+ const r = options.find(opt => opt.ipv6);
41
41
  if (r)
42
42
  return r;
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/network/config-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAwB;IACvD,YAAY,MAAmC;QAC3C,KAAK,CAAC;YACF,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI;SAC9C,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAOhB;QACG,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,GAAG,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAA,CAAC,cAAc;YAC7C,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAA;YAC/C,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAA;YACrD,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;YAExC,OAAO,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1D,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAA;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC9C,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAA;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACzC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAA;QACnB,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;CACJ","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { Reloadable } from '../utils/reloadable.js'\n\n/**\n * Config manager is responsible for keeping\n * the current server configuration up-to-date\n * and providing methods to find the best DC\n * option for the current session.\n */\nexport class ConfigManager extends Reloadable<tl.RawConfig> {\n constructor(update: () => Promise<tl.RawConfig>) {\n super({\n reload: update,\n getExpiresAt: (data) => data.expires * 1000,\n })\n }\n\n async findOption(params: {\n dcId: number\n allowIpv6?: boolean\n preferIpv6?: boolean\n allowMedia?: boolean\n preferMedia?: boolean\n cdn?: boolean\n }): Promise<tl.RawDcOption | undefined> {\n if (this.isStale) await this.update()\n\n const options = this._data!.dcOptions.filter((opt) => {\n if (opt.tcpoOnly) return false // unsupported\n if (opt.ipv6 && !params.allowIpv6) return false\n if (opt.mediaOnly && !params.allowMedia) return false\n if (opt.cdn && !params.cdn) return false\n\n return opt.id === params.dcId\n })\n\n if (params.preferMedia && params.preferIpv6) {\n const r = options.find((opt) => opt.mediaOnly && opt.ipv6)\n if (r) return r\n }\n\n if (params.preferMedia) {\n const r = options.find((opt) => opt.mediaOnly)\n if (r) return r\n }\n\n if (params.preferIpv6) {\n const r = options.find((opt) => opt.ipv6)\n if (r) return r\n }\n\n return options[0]\n }\n}\n"]}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/network/config-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAwB;IACvD,YAAY,MAAmC;QAC3C,KAAK,CAAC;YACF,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI;SAC5C,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAOhB;QACG,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,GAAG,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAA,CAAC,cAAc;YAC7C,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAA;YAC/C,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAA;YACrD,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;YAExC,OAAO,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;YACxD,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAA;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC5C,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAA;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACvC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAA;QACnB,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;CACJ","sourcesContent":["import type { tl } from '@mtcute/tl'\n\nimport { Reloadable } from '../utils/reloadable.js'\n\n/**\n * Config manager is responsible for keeping\n * the current server configuration up-to-date\n * and providing methods to find the best DC\n * option for the current session.\n */\nexport class ConfigManager extends Reloadable<tl.RawConfig> {\n constructor(update: () => Promise<tl.RawConfig>) {\n super({\n reload: update,\n getExpiresAt: data => data.expires * 1000,\n })\n }\n\n async findOption(params: {\n dcId: number\n allowIpv6?: boolean\n preferIpv6?: boolean\n allowMedia?: boolean\n preferMedia?: boolean\n cdn?: boolean\n }): Promise<tl.RawDcOption | undefined> {\n if (this.isStale) await this.update()\n\n const options = this._data!.dcOptions.filter((opt) => {\n if (opt.tcpoOnly) return false // unsupported\n if (opt.ipv6 && !params.allowIpv6) return false\n if (opt.mediaOnly && !params.allowMedia) return false\n if (opt.cdn && !params.cdn) return false\n\n return opt.id === params.dcId\n })\n\n if (params.preferMedia && params.preferIpv6) {\n const r = options.find(opt => opt.mediaOnly && opt.ipv6)\n if (r) return r\n }\n\n if (params.preferMedia) {\n const r = options.find(opt => opt.mediaOnly)\n if (r) return r\n }\n\n if (params.preferIpv6) {\n const r = options.find(opt => opt.ipv6)\n if (r) return r\n }\n\n return options[0]\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { RpcCallMiddleware } from '../network-manager.js';
2
- import { FloodWaiterOptions } from './flood-waiter.js';
3
- import { InternalErrorsHandlerOptions } from './internal-errors.js';
1
+ import type { RpcCallMiddleware } from '../network-manager.js';
2
+ import type { FloodWaiterOptions } from './flood-waiter.js';
3
+ import type { InternalErrorsHandlerOptions } from './internal-errors.js';
4
4
  export interface BasicMiddlewaresOptions {
5
5
  floodWaiter?: FloodWaiterOptions;
6
6
  internalErrors?: InternalErrorsHandlerOptions;
7
7
  }
8
- export declare const basic: (options?: BasicMiddlewaresOptions) => RpcCallMiddleware[];
8
+ export declare function basic(options?: BasicMiddlewaresOptions): RpcCallMiddleware[];
@@ -1,6 +1,6 @@
1
1
  import { floodWaiter } from './flood-waiter.js';
2
2
  import { internalErrorsHandler } from './internal-errors.js';
3
- export const basic = (options) => {
3
+ export function basic(options) {
4
4
  return [floodWaiter(options?.floodWaiter ?? {}), internalErrorsHandler(options?.internalErrors ?? {})];
5
- };
5
+ }
6
6
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/network/middlewares/default.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAsB,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAgC,MAAM,sBAAsB,CAAA;AAO1F,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAiC,EAAuB,EAAE;IAC5E,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,qBAAqB,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAA;AAC1G,CAAC,CAAA","sourcesContent":["import { RpcCallMiddleware } from '../network-manager.js'\nimport { floodWaiter, FloodWaiterOptions } from './flood-waiter.js'\nimport { internalErrorsHandler, InternalErrorsHandlerOptions } from './internal-errors.js'\n\nexport interface BasicMiddlewaresOptions {\n floodWaiter?: FloodWaiterOptions\n internalErrors?: InternalErrorsHandlerOptions\n}\n\nexport const basic = (options?: BasicMiddlewaresOptions): RpcCallMiddleware[] => {\n return [floodWaiter(options?.floodWaiter ?? {}), internalErrorsHandler(options?.internalErrors ?? {})]\n}\n"]}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/network/middlewares/default.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAO5D,MAAM,UAAU,KAAK,CAAC,OAAiC;IACnD,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,qBAAqB,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAA;AAC1G,CAAC","sourcesContent":["import type { RpcCallMiddleware } from '../network-manager.js'\n\nimport type { FloodWaiterOptions } from './flood-waiter.js'\nimport { floodWaiter } from './flood-waiter.js'\nimport type { InternalErrorsHandlerOptions } from './internal-errors.js'\nimport { internalErrorsHandler } from './internal-errors.js'\n\nexport interface BasicMiddlewaresOptions {\n floodWaiter?: FloodWaiterOptions\n internalErrors?: InternalErrorsHandlerOptions\n}\n\nexport function basic(options?: BasicMiddlewaresOptions): RpcCallMiddleware[] {\n return [floodWaiter(options?.floodWaiter ?? {}), internalErrorsHandler(options?.internalErrors ?? {})]\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { RpcCallMiddleware } from '../network-manager.js';
1
+ import type { RpcCallMiddleware } from '../network-manager.js';
2
2
  export interface FloodWaiterOptions {
3
3
  /**
4
4
  * Maximum number of ms to wait when a FLOOD_WAIT_X
@@ -35,9 +35,9 @@ export function floodWaiter(options) {
35
35
  }
36
36
  lastError = res;
37
37
  const err = res.errorMessage;
38
- if (err.startsWith('FLOOD_WAIT_') ||
39
- err.startsWith('SLOWMODE_WAIT_') ||
40
- err.startsWith('FLOOD_TEST_PHONE_WAIT_')) {
38
+ if (err.startsWith('FLOOD_WAIT_')
39
+ || err.startsWith('SLOWMODE_WAIT_')
40
+ || err.startsWith('FLOOD_TEST_PHONE_WAIT_')) {
41
41
  let seconds = Number(err.slice(err.lastIndexOf('_') + 1));
42
42
  if (Number.isNaN(seconds)) {
43
43
  ctx.manager._log.warn('invalid flood wait error received: %s, ignoring', err);
@@ -59,6 +59,7 @@ export function floodWaiter(options) {
59
59
  continue;
60
60
  }
61
61
  }
62
+ return res;
62
63
  }
63
64
  return lastError;
64
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"flood-waiter.js","sourceRoot":"","sources":["../../../../src/network/middlewares/flood-waiter.ts"],"names":[],"mappings":"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","sourcesContent":["import { mtp } from '@mtcute/tl'\n\nimport { combineAbortSignals } from '../../utils/abort-signal.js'\nimport { sleepWithAbort } from '../../utils/misc-utils.js'\nimport { isTlRpcError } from '../../utils/type-assertions.js'\nimport { RpcCallMiddleware } from '../network-manager.js'\n\nexport interface FloodWaiterOptions {\n /**\n * Maximum number of ms to wait when a FLOOD_WAIT_X\n * error is encountered. If the wait time is greater\n * than this value, the request will throw an error instead\n *\n * This can be overwritten on a per-request basis by setting\n * `floodSleepThreshold` in the request parameters\n *\n * @default 10_000\n */\n maxWait?: number\n\n /**\n * Maximum number of retries to perform when a FLOOD_WAIT_X\n * error is encountered. After this number of retries, the\n * last error will be thrown\n *\n * @default 5\n */\n maxRetries?: number\n\n /**\n * Whether to store the last flood wait time and delay\n * the consecutive requests accordingly\n *\n * @default true\n */\n store?: boolean\n\n /**\n * If the stored wait time is less than this value,\n * the request will not be delayed\n *\n * @default 3_000\n */\n minStoredWait?: number\n}\n\nexport function floodWaiter(options: FloodWaiterOptions): RpcCallMiddleware {\n const { maxWait = 10_000, maxRetries = 5, store = true, minStoredWait = 3_000 } = options\n\n const storage = new Map<string, number>()\n\n return async (ctx, next) => {\n // do not send requests that are in flood wait\n const method = ctx.request._\n const storedWaitUntil = store ? storage.get(method) : undefined\n const floodSleepThreshold = ctx.params?.floodSleepThreshold ?? maxWait\n\n if (storedWaitUntil !== undefined) {\n const delta = storedWaitUntil - Date.now()\n\n if (delta <= minStoredWait) {\n // flood waits below 3 seconds are \"ignored\"\n storage.delete(method)\n } else if (delta <= floodSleepThreshold) {\n await sleepWithAbort(delta, combineAbortSignals(ctx.manager.params.stopSignal, ctx.params?.abortSignal))\n storage.delete(method)\n } else {\n return {\n _: 'mt_rpc_error',\n errorCode: 420,\n errorMessage: `FLOOD_WAIT_${Math.ceil(delta / 1000)}`,\n } satisfies mtp.RawMt_rpc_error\n }\n }\n\n let lastError: mtp.RawMt_rpc_error | undefined\n\n for (let i = 0; i <= maxRetries; i++) {\n const res = await next(ctx)\n\n if (!isTlRpcError(res)) {\n return res\n }\n\n lastError = res\n\n const err = res.errorMessage\n\n if (\n err.startsWith('FLOOD_WAIT_') ||\n err.startsWith('SLOWMODE_WAIT_') ||\n err.startsWith('FLOOD_TEST_PHONE_WAIT_')\n ) {\n let seconds = Number(err.slice(err.lastIndexOf('_') + 1))\n\n if (Number.isNaN(seconds)) {\n ctx.manager._log.warn('invalid flood wait error received: %s, ignoring', err)\n\n return res\n }\n\n if (store && !err.startsWith('SLOWMODE_WAIT_')) {\n // SLOW_MODE_WAIT is per-chat, not per-request\n storage.set(method, Date.now() + seconds * 1000)\n }\n\n // In test servers, FLOOD_WAIT_0 has been observed, and sleeping for\n // such a short amount will cause retries very fast leading to issues\n if (seconds === 0) {\n seconds = 1\n }\n\n const ms = seconds * 1000\n\n if (ms <= floodSleepThreshold) {\n ctx.manager._log.warn('%s resulted in a flood wait, will retry in %d seconds', method, seconds)\n await sleepWithAbort(\n ms,\n combineAbortSignals(ctx.manager.params.stopSignal, ctx.params?.abortSignal),\n )\n continue\n }\n }\n }\n\n return lastError\n }\n}\n"]}
1
+ {"version":3,"file":"flood-waiter.js","sourceRoot":"","sources":["../../../../src/network/middlewares/flood-waiter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { mtp } from '@mtcute/tl'\n\nimport { combineAbortSignals } from '../../utils/abort-signal.js'\nimport { sleepWithAbort } from '../../utils/misc-utils.js'\nimport { isTlRpcError } from '../../utils/type-assertions.js'\nimport type { RpcCallMiddleware } from '../network-manager.js'\n\nexport interface FloodWaiterOptions {\n /**\n * Maximum number of ms to wait when a FLOOD_WAIT_X\n * error is encountered. If the wait time is greater\n * than this value, the request will throw an error instead\n *\n * This can be overwritten on a per-request basis by setting\n * `floodSleepThreshold` in the request parameters\n *\n * @default 10_000\n */\n maxWait?: number\n\n /**\n * Maximum number of retries to perform when a FLOOD_WAIT_X\n * error is encountered. After this number of retries, the\n * last error will be thrown\n *\n * @default 5\n */\n maxRetries?: number\n\n /**\n * Whether to store the last flood wait time and delay\n * the consecutive requests accordingly\n *\n * @default true\n */\n store?: boolean\n\n /**\n * If the stored wait time is less than this value,\n * the request will not be delayed\n *\n * @default 3_000\n */\n minStoredWait?: number\n}\n\nexport function floodWaiter(options: FloodWaiterOptions): RpcCallMiddleware {\n const { maxWait = 10_000, maxRetries = 5, store = true, minStoredWait = 3_000 } = options\n\n const storage = new Map<string, number>()\n\n return async (ctx, next) => {\n // do not send requests that are in flood wait\n const method = ctx.request._\n const storedWaitUntil = store ? storage.get(method) : undefined\n const floodSleepThreshold = ctx.params?.floodSleepThreshold ?? maxWait\n\n if (storedWaitUntil !== undefined) {\n const delta = storedWaitUntil - Date.now()\n\n if (delta <= minStoredWait) {\n // flood waits below 3 seconds are \"ignored\"\n storage.delete(method)\n } else if (delta <= floodSleepThreshold) {\n await sleepWithAbort(delta, combineAbortSignals(ctx.manager.params.stopSignal, ctx.params?.abortSignal))\n storage.delete(method)\n } else {\n return {\n _: 'mt_rpc_error',\n errorCode: 420,\n errorMessage: `FLOOD_WAIT_${Math.ceil(delta / 1000)}`,\n } satisfies mtp.RawMt_rpc_error\n }\n }\n\n let lastError: mtp.RawMt_rpc_error | undefined\n\n for (let i = 0; i <= maxRetries; i++) {\n const res = await next(ctx)\n\n if (!isTlRpcError(res)) {\n return res\n }\n\n lastError = res\n\n const err = res.errorMessage\n\n if (\n err.startsWith('FLOOD_WAIT_')\n || err.startsWith('SLOWMODE_WAIT_')\n || err.startsWith('FLOOD_TEST_PHONE_WAIT_')\n ) {\n let seconds = Number(err.slice(err.lastIndexOf('_') + 1))\n\n if (Number.isNaN(seconds)) {\n ctx.manager._log.warn('invalid flood wait error received: %s, ignoring', err)\n\n return res\n }\n\n if (store && !err.startsWith('SLOWMODE_WAIT_')) {\n // SLOW_MODE_WAIT is per-chat, not per-request\n storage.set(method, Date.now() + seconds * 1000)\n }\n\n // In test servers, FLOOD_WAIT_0 has been observed, and sleeping for\n // such a short amount will cause retries very fast leading to issues\n if (seconds === 0) {\n seconds = 1\n }\n\n const ms = seconds * 1000\n\n if (ms <= floodSleepThreshold) {\n ctx.manager._log.warn('%s resulted in a flood wait, will retry in %d seconds', method, seconds)\n await sleepWithAbort(\n ms,\n combineAbortSignals(ctx.manager.params.stopSignal, ctx.params?.abortSignal),\n )\n continue\n }\n }\n\n return res\n }\n\n return lastError\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { RpcCallMiddleware } from '../network-manager.js';
1
+ import type { RpcCallMiddleware } from '../network-manager.js';
2
2
  export interface InternalErrorsHandlerOptions {
3
3
  /**
4
4
  * Maximum number of retries to perform when an internal server error is encountered.