@mtcute/core 0.10.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (967) hide show
  1. package/cjs/highlevel/base.d.ts +1 -1
  2. package/cjs/highlevel/base.js +29 -23
  3. package/cjs/highlevel/base.js.map +1 -1
  4. package/cjs/highlevel/client.d.ts +3 -2
  5. package/cjs/highlevel/client.js +1 -0
  6. package/cjs/highlevel/client.js.map +1 -1
  7. package/cjs/highlevel/managers/app-config-manager.js +7 -5
  8. package/cjs/highlevel/managers/app-config-manager.js.map +1 -1
  9. package/cjs/highlevel/methods/_init.js.map +1 -1
  10. package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
  11. package/cjs/highlevel/methods/auth/start.js.map +1 -1
  12. package/cjs/highlevel/methods/auth/utils.js.map +1 -1
  13. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  14. package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  15. package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  16. package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
  17. package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
  18. package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  19. package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
  20. package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  21. package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
  22. package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  23. package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
  24. package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
  25. package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  26. package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
  27. package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
  28. package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  29. package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  30. package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  31. package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  32. package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
  33. package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  34. package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
  35. package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
  36. package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  37. package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  38. package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
  39. package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
  40. package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  41. package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
  42. package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  43. package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  44. package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  45. package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  46. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  47. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  48. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  49. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  50. package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  51. package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
  52. package/cjs/highlevel/methods/files/download-iterable.js +1 -1
  53. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  54. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
  55. package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
  56. package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  57. package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
  58. package/cjs/highlevel/methods/files/normalize-input-media.js +1 -2
  59. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  60. package/cjs/highlevel/methods/files/upload-file.js +7 -6
  61. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  62. package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
  63. package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  64. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  65. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  66. package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  67. package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
  68. package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
  69. package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  70. package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
  71. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  72. package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
  73. package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  74. package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  75. package/cjs/highlevel/methods/messages/get-history.js +5 -1
  76. package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
  77. package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  78. package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
  79. package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  80. package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
  81. package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
  82. package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
  83. package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  84. package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
  85. package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  86. package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
  87. package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
  88. package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
  89. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  90. package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
  91. package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
  92. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  93. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  94. package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
  95. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  96. package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
  97. package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
  98. package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
  99. package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  100. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  101. package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
  102. package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
  103. package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
  104. package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  105. package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  106. package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  107. package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
  108. package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  109. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  110. package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  111. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  112. package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
  113. package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
  114. package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
  115. package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  116. package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  117. package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  118. package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  119. package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
  120. package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  121. package/cjs/highlevel/methods/users/get-users.js.map +1 -1
  122. package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  123. package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  124. package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
  125. package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  126. package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  127. package/cjs/highlevel/storage/service/current-user.js +2 -0
  128. package/cjs/highlevel/storage/service/current-user.js.map +1 -1
  129. package/cjs/highlevel/storage/service/peers.js +5 -1
  130. package/cjs/highlevel/storage/service/peers.js.map +1 -1
  131. package/cjs/highlevel/storage/service/ref-messages.js +3 -0
  132. package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
  133. package/cjs/highlevel/storage/service/updates.js +1 -0
  134. package/cjs/highlevel/storage/service/updates.js.map +1 -1
  135. package/cjs/highlevel/storage/storage.d.ts +1 -1
  136. package/cjs/highlevel/storage/storage.js +17 -4
  137. package/cjs/highlevel/storage/storage.js.map +1 -1
  138. package/cjs/highlevel/types/auth/sent-code.js +1 -0
  139. package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
  140. package/cjs/highlevel/types/bots/game-high-score.js +2 -0
  141. package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
  142. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
  143. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
  144. package/cjs/highlevel/types/bots/keyboards/builder.js +2 -1
  145. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
  146. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
  147. package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
  148. package/cjs/highlevel/types/conversation.js +13 -7
  149. package/cjs/highlevel/types/conversation.js.map +1 -1
  150. package/cjs/highlevel/types/errors.js +3 -0
  151. package/cjs/highlevel/types/errors.js.map +1 -1
  152. package/cjs/highlevel/types/files/file-location.js +3 -0
  153. package/cjs/highlevel/types/files/file-location.js.map +1 -1
  154. package/cjs/highlevel/types/files/uploaded-file.js +1 -1
  155. package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
  156. package/cjs/highlevel/types/files/utils.d.ts +3 -3
  157. package/cjs/highlevel/types/files/utils.js.map +1 -1
  158. package/cjs/highlevel/types/files/web-document.js +1 -0
  159. package/cjs/highlevel/types/files/web-document.js.map +1 -1
  160. package/cjs/highlevel/types/media/audio.js +3 -2
  161. package/cjs/highlevel/types/media/audio.js.map +1 -1
  162. package/cjs/highlevel/types/media/contact.js +2 -1
  163. package/cjs/highlevel/types/media/contact.js.map +1 -1
  164. package/cjs/highlevel/types/media/dice.js +125 -124
  165. package/cjs/highlevel/types/media/dice.js.map +1 -1
  166. package/cjs/highlevel/types/media/document-utils.js.map +1 -1
  167. package/cjs/highlevel/types/media/document.js +2 -4
  168. package/cjs/highlevel/types/media/document.js.map +1 -1
  169. package/cjs/highlevel/types/media/game.js +2 -1
  170. package/cjs/highlevel/types/media/game.js.map +1 -1
  171. package/cjs/highlevel/types/media/invoice.js +4 -1
  172. package/cjs/highlevel/types/media/invoice.js.map +1 -1
  173. package/cjs/highlevel/types/media/location.js +4 -5
  174. package/cjs/highlevel/types/media/location.js.map +1 -1
  175. package/cjs/highlevel/types/media/photo.js +8 -1
  176. package/cjs/highlevel/types/media/photo.js.map +1 -1
  177. package/cjs/highlevel/types/media/poll.js +4 -1
  178. package/cjs/highlevel/types/media/poll.js.map +1 -1
  179. package/cjs/highlevel/types/media/sticker.js +3 -1
  180. package/cjs/highlevel/types/media/sticker.js.map +1 -1
  181. package/cjs/highlevel/types/media/story.js +3 -1
  182. package/cjs/highlevel/types/media/story.js.map +1 -1
  183. package/cjs/highlevel/types/media/thumbnail.js +35 -22
  184. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  185. package/cjs/highlevel/types/media/venue.js +2 -1
  186. package/cjs/highlevel/types/media/venue.js.map +1 -1
  187. package/cjs/highlevel/types/media/video.js +3 -1
  188. package/cjs/highlevel/types/media/video.js.map +1 -1
  189. package/cjs/highlevel/types/media/voice.js +2 -1
  190. package/cjs/highlevel/types/media/voice.js.map +1 -1
  191. package/cjs/highlevel/types/media/web-page.js +2 -1
  192. package/cjs/highlevel/types/media/web-page.js.map +1 -1
  193. package/cjs/highlevel/types/messages/dialog.js +3 -0
  194. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  195. package/cjs/highlevel/types/messages/draft-message.js +1 -0
  196. package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
  197. package/cjs/highlevel/types/messages/message-action.js.map +1 -1
  198. package/cjs/highlevel/types/messages/message-entity.js +2 -0
  199. package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
  200. package/cjs/highlevel/types/messages/message-forward.js +2 -0
  201. package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
  202. package/cjs/highlevel/types/messages/message-media.js.map +1 -1
  203. package/cjs/highlevel/types/messages/message-reactions.js +4 -0
  204. package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
  205. package/cjs/highlevel/types/messages/message-replies.js +2 -0
  206. package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
  207. package/cjs/highlevel/types/messages/message.js +6 -0
  208. package/cjs/highlevel/types/messages/message.js.map +1 -1
  209. package/cjs/highlevel/types/messages/replied-message.js +2 -0
  210. package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
  211. package/cjs/highlevel/types/misc/sticker-set.js +7 -1
  212. package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
  213. package/cjs/highlevel/types/misc/takeout-session.js +5 -0
  214. package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
  215. package/cjs/highlevel/types/peers/chat-colors.js +2 -0
  216. package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
  217. package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
  218. package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
  219. package/cjs/highlevel/types/peers/chat-event/index.js +2 -0
  220. package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
  221. package/cjs/highlevel/types/peers/chat-invite-link-member.js +2 -0
  222. package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  223. package/cjs/highlevel/types/peers/chat-invite-link.js +2 -0
  224. package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
  225. package/cjs/highlevel/types/peers/chat-location.js +1 -0
  226. package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
  227. package/cjs/highlevel/types/peers/chat-member.js +2 -0
  228. package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
  229. package/cjs/highlevel/types/peers/chat-permissions.js +1 -0
  230. package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
  231. package/cjs/highlevel/types/peers/chat-photo.js +5 -0
  232. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  233. package/cjs/highlevel/types/peers/chat-preview.js +2 -0
  234. package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
  235. package/cjs/highlevel/types/peers/chat.js +12 -1
  236. package/cjs/highlevel/types/peers/chat.js.map +1 -1
  237. package/cjs/highlevel/types/peers/forum-topic.js +9 -6
  238. package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
  239. package/cjs/highlevel/types/peers/peer.js.map +1 -1
  240. package/cjs/highlevel/types/peers/peers-index.js +3 -1
  241. package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
  242. package/cjs/highlevel/types/peers/user.js +5 -1
  243. package/cjs/highlevel/types/peers/user.js.map +1 -1
  244. package/cjs/highlevel/types/premium/boost-slot.js +2 -0
  245. package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
  246. package/cjs/highlevel/types/premium/boost-stats.js +1 -0
  247. package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
  248. package/cjs/highlevel/types/premium/boost.js +2 -0
  249. package/cjs/highlevel/types/premium/boost.js.map +1 -1
  250. package/cjs/highlevel/types/reactions/emoji-status.js +1 -0
  251. package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
  252. package/cjs/highlevel/types/reactions/peer-reaction.js +2 -0
  253. package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
  254. package/cjs/highlevel/types/reactions/reaction-count.js +1 -0
  255. package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
  256. package/cjs/highlevel/types/reactions/types.js.map +1 -1
  257. package/cjs/highlevel/types/stories/all-stories.d.ts +2 -2
  258. package/cjs/highlevel/types/stories/all-stories.js +3 -1
  259. package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
  260. package/cjs/highlevel/types/stories/interactive/base.js +1 -0
  261. package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
  262. package/cjs/highlevel/types/stories/interactive/channel-post.js +3 -1
  263. package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  264. package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
  265. package/cjs/highlevel/types/stories/interactive/input.js +1 -0
  266. package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
  267. package/cjs/highlevel/types/stories/interactive/location.js +2 -1
  268. package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
  269. package/cjs/highlevel/types/stories/interactive/reaction.js +2 -1
  270. package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
  271. package/cjs/highlevel/types/stories/interactive/venue.js +2 -1
  272. package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
  273. package/cjs/highlevel/types/stories/peer-stories.js +2 -0
  274. package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
  275. package/cjs/highlevel/types/stories/stealth-mode.js +1 -0
  276. package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
  277. package/cjs/highlevel/types/stories/story-interactions.js +2 -0
  278. package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
  279. package/cjs/highlevel/types/stories/story-viewer.d.ts +1 -1
  280. package/cjs/highlevel/types/stories/story-viewer.js +6 -0
  281. package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
  282. package/cjs/highlevel/types/stories/story.js +2 -0
  283. package/cjs/highlevel/types/stories/story.js.map +1 -1
  284. package/cjs/highlevel/types/updates/bot-chat-join-request.js +2 -0
  285. package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  286. package/cjs/highlevel/types/updates/bot-reaction.js +4 -0
  287. package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
  288. package/cjs/highlevel/types/updates/bot-stopped.js +2 -0
  289. package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
  290. package/cjs/highlevel/types/updates/callback-query.js +4 -0
  291. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  292. package/cjs/highlevel/types/updates/chat-join-request.js +2 -0
  293. package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
  294. package/cjs/highlevel/types/updates/chat-member-update.js +2 -0
  295. package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
  296. package/cjs/highlevel/types/updates/chosen-inline-result.js +2 -0
  297. package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  298. package/cjs/highlevel/types/updates/delete-message-update.js +1 -0
  299. package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
  300. package/cjs/highlevel/types/updates/delete-story-update.js +2 -0
  301. package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
  302. package/cjs/highlevel/types/updates/history-read-update.js +1 -0
  303. package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
  304. package/cjs/highlevel/types/updates/inline-query.js +2 -0
  305. package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
  306. package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
  307. package/cjs/highlevel/types/updates/poll-update.js +2 -0
  308. package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
  309. package/cjs/highlevel/types/updates/poll-vote.js +2 -0
  310. package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
  311. package/cjs/highlevel/types/updates/pre-checkout-query.js +2 -0
  312. package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  313. package/cjs/highlevel/types/updates/story-update.js +2 -0
  314. package/cjs/highlevel/types/updates/story-update.js.map +1 -1
  315. package/cjs/highlevel/types/updates/user-status-update.js +1 -0
  316. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  317. package/cjs/highlevel/types/updates/user-typing-update.js +1 -0
  318. package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
  319. package/cjs/highlevel/updates/manager.d.ts +1 -1
  320. package/cjs/highlevel/updates/manager.js +50 -28
  321. package/cjs/highlevel/updates/manager.js.map +1 -1
  322. package/cjs/highlevel/updates/parsed.js.map +1 -1
  323. package/cjs/highlevel/updates/utils.js.map +1 -1
  324. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  325. package/cjs/highlevel/utils/entities.js.map +1 -1
  326. package/cjs/highlevel/utils/file-type.d.ts +1 -0
  327. package/cjs/highlevel/utils/file-type.js +35 -1
  328. package/cjs/highlevel/utils/file-type.js.map +1 -1
  329. package/cjs/highlevel/utils/file-utils.js +1 -1
  330. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  331. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  332. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  333. package/cjs/highlevel/utils/memoize.js.map +1 -1
  334. package/cjs/highlevel/utils/peer-utils.js.map +1 -1
  335. package/cjs/highlevel/utils/query-batcher.js.map +1 -1
  336. package/cjs/highlevel/utils/rps-meter.js +3 -0
  337. package/cjs/highlevel/utils/rps-meter.js.map +1 -1
  338. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  339. package/cjs/highlevel/utils/string-session.d.ts +1 -2
  340. package/cjs/highlevel/utils/string-session.js +27 -7
  341. package/cjs/highlevel/utils/string-session.js.map +1 -1
  342. package/cjs/highlevel/utils/voice-utils.js.map +1 -1
  343. package/cjs/highlevel/worker/app-config.d.ts +2 -3
  344. package/cjs/highlevel/worker/app-config.js +6 -3
  345. package/cjs/highlevel/worker/app-config.js.map +1 -1
  346. package/cjs/highlevel/worker/errors.js.map +1 -1
  347. package/cjs/highlevel/worker/invoker.js +3 -2
  348. package/cjs/highlevel/worker/invoker.js.map +1 -1
  349. package/cjs/highlevel/worker/port.d.ts +16 -17
  350. package/cjs/highlevel/worker/port.js +74 -49
  351. package/cjs/highlevel/worker/port.js.map +1 -1
  352. package/cjs/highlevel/worker/protocol.d.ts +2 -2
  353. package/cjs/highlevel/worker/protocol.js.map +1 -1
  354. package/cjs/highlevel/worker/storage.d.ts +9 -13
  355. package/cjs/highlevel/worker/storage.js +34 -19
  356. package/cjs/highlevel/worker/storage.js.map +1 -1
  357. package/cjs/highlevel/worker/worker.js +3 -0
  358. package/cjs/highlevel/worker/worker.js.map +1 -1
  359. package/cjs/network/auth-key.js +8 -1
  360. package/cjs/network/auth-key.js.map +1 -1
  361. package/cjs/network/authorization.js.map +1 -1
  362. package/cjs/network/client.d.ts +1 -1
  363. package/cjs/network/client.js +39 -14
  364. package/cjs/network/client.js.map +1 -1
  365. package/cjs/network/config-manager.js.map +1 -1
  366. package/cjs/network/mtproto-session.d.ts +1 -1
  367. package/cjs/network/mtproto-session.js +40 -30
  368. package/cjs/network/mtproto-session.js.map +1 -1
  369. package/cjs/network/multi-session-connection.d.ts +2 -2
  370. package/cjs/network/multi-session-connection.js +13 -7
  371. package/cjs/network/multi-session-connection.js.map +1 -1
  372. package/cjs/network/network-manager.d.ts +2 -3
  373. package/cjs/network/network-manager.js +49 -28
  374. package/cjs/network/network-manager.js.map +1 -1
  375. package/cjs/network/persistent-connection.d.ts +3 -3
  376. package/cjs/network/persistent-connection.js +33 -22
  377. package/cjs/network/persistent-connection.js.map +1 -1
  378. package/cjs/network/server-salt.js +4 -5
  379. package/cjs/network/server-salt.js.map +1 -1
  380. package/cjs/network/session-connection.d.ts +1 -1
  381. package/cjs/network/session-connection.js +22 -12
  382. package/cjs/network/session-connection.js.map +1 -1
  383. package/cjs/network/transports/abstract.d.ts +2 -2
  384. package/cjs/network/transports/abstract.js +1 -0
  385. package/cjs/network/transports/abstract.js.map +1 -1
  386. package/cjs/network/transports/intermediate.js +1 -0
  387. package/cjs/network/transports/intermediate.js.map +1 -1
  388. package/cjs/network/transports/obfuscated.js +3 -0
  389. package/cjs/network/transports/obfuscated.js.map +1 -1
  390. package/cjs/network/transports/streamed.d.ts +1 -1
  391. package/cjs/network/transports/streamed.js +1 -4
  392. package/cjs/network/transports/streamed.js.map +1 -1
  393. package/cjs/network/transports/wrapped.d.ts +1 -1
  394. package/cjs/network/transports/wrapped.js +2 -0
  395. package/cjs/network/transports/wrapped.js.map +1 -1
  396. package/cjs/platform.js.map +1 -1
  397. package/cjs/storage/driver.js +3 -4
  398. package/cjs/storage/driver.js.map +1 -1
  399. package/cjs/storage/memory/driver.js +1 -3
  400. package/cjs/storage/memory/driver.js.map +1 -1
  401. package/cjs/storage/memory/index.js +5 -7
  402. package/cjs/storage/memory/index.js.map +1 -1
  403. package/cjs/storage/memory/repository/auth-keys.d.ts +1 -1
  404. package/cjs/storage/memory/repository/auth-keys.js +2 -0
  405. package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
  406. package/cjs/storage/memory/repository/kv.d.ts +1 -1
  407. package/cjs/storage/memory/repository/kv.js +2 -0
  408. package/cjs/storage/memory/repository/kv.js.map +1 -1
  409. package/cjs/storage/memory/repository/peers.d.ts +1 -1
  410. package/cjs/storage/memory/repository/peers.js +2 -0
  411. package/cjs/storage/memory/repository/peers.js.map +1 -1
  412. package/cjs/storage/memory/repository/ref-messages.d.ts +1 -1
  413. package/cjs/storage/memory/repository/ref-messages.js +2 -0
  414. package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
  415. package/cjs/storage/service/auth-keys.js +2 -0
  416. package/cjs/storage/service/auth-keys.js.map +1 -1
  417. package/cjs/storage/service/base.js +4 -0
  418. package/cjs/storage/service/base.js.map +1 -1
  419. package/cjs/storage/service/default-dcs.js +2 -0
  420. package/cjs/storage/service/default-dcs.js.map +1 -1
  421. package/cjs/storage/service/future-salts.js +2 -1
  422. package/cjs/storage/service/future-salts.js.map +1 -1
  423. package/cjs/storage/sqlite/driver.js +10 -10
  424. package/cjs/storage/sqlite/driver.js.map +1 -1
  425. package/cjs/storage/sqlite/index.d.ts +1 -1
  426. package/cjs/storage/sqlite/index.js +5 -0
  427. package/cjs/storage/sqlite/index.js.map +1 -1
  428. package/cjs/storage/sqlite/repository/auth-keys.js +9 -0
  429. package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
  430. package/cjs/storage/sqlite/repository/kv.js +5 -0
  431. package/cjs/storage/sqlite/repository/kv.js.map +1 -1
  432. package/cjs/storage/sqlite/repository/peers.js +6 -0
  433. package/cjs/storage/sqlite/repository/peers.js.map +1 -1
  434. package/cjs/storage/sqlite/repository/ref-messages.d.ts +1 -1
  435. package/cjs/storage/sqlite/repository/ref-messages.js +6 -0
  436. package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
  437. package/cjs/storage/storage.d.ts +1 -3
  438. package/cjs/storage/storage.js +21 -13
  439. package/cjs/storage/storage.js.map +1 -1
  440. package/cjs/types/errors.js +13 -0
  441. package/cjs/types/errors.js.map +1 -1
  442. package/cjs/types/utils.d.ts +1 -1
  443. package/cjs/types/utils.js.map +1 -1
  444. package/cjs/utils/async-lock.js +1 -3
  445. package/cjs/utils/async-lock.js.map +1 -1
  446. package/cjs/utils/bigint-utils.js.map +1 -1
  447. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  448. package/cjs/utils/buffer-utils.js.map +1 -1
  449. package/cjs/utils/condition-variable.js +2 -0
  450. package/cjs/utils/condition-variable.js.map +1 -1
  451. package/cjs/utils/crypto/factorization.js.map +1 -1
  452. package/cjs/utils/crypto/keys.js.map +1 -1
  453. package/cjs/utils/crypto/miller-rabin.js.map +1 -1
  454. package/cjs/utils/crypto/password.js.map +1 -1
  455. package/cjs/utils/crypto/utils.js.map +1 -1
  456. package/cjs/utils/dcs.js +1 -1
  457. package/cjs/utils/dcs.js.map +1 -1
  458. package/cjs/utils/deque.js +8 -2
  459. package/cjs/utils/deque.js.map +1 -1
  460. package/cjs/utils/early-timer.js +4 -1
  461. package/cjs/utils/early-timer.js.map +1 -1
  462. package/cjs/utils/error-reporting.js.map +1 -1
  463. package/cjs/utils/function-utils.js.map +1 -1
  464. package/cjs/utils/linked-list.js +4 -1
  465. package/cjs/utils/linked-list.js.map +1 -1
  466. package/cjs/utils/links/bots.js.map +1 -1
  467. package/cjs/utils/links/chat.js.map +1 -1
  468. package/cjs/utils/links/common.js.map +1 -1
  469. package/cjs/utils/links/misc.js.map +1 -1
  470. package/cjs/utils/logger.d.ts +2 -2
  471. package/cjs/utils/logger.js +21 -14
  472. package/cjs/utils/logger.js.map +1 -1
  473. package/cjs/utils/long-utils.js +2 -6
  474. package/cjs/utils/long-utils.js.map +1 -1
  475. package/cjs/utils/lru-map.js +5 -1
  476. package/cjs/utils/lru-map.js.map +1 -1
  477. package/cjs/utils/lru-set.js +4 -0
  478. package/cjs/utils/lru-set.js.map +1 -1
  479. package/cjs/utils/peer-utils.js.map +1 -1
  480. package/cjs/utils/reloadable.d.ts +1 -1
  481. package/cjs/utils/reloadable.js +10 -7
  482. package/cjs/utils/reloadable.js.map +1 -1
  483. package/cjs/utils/sorted-array.js +2 -0
  484. package/cjs/utils/sorted-array.js.map +1 -1
  485. package/cjs/utils/tl-json.js.map +1 -1
  486. package/cjs/utils/type-assertions.js.map +1 -1
  487. package/esm/highlevel/base.d.ts +1 -1
  488. package/esm/highlevel/base.js +29 -23
  489. package/esm/highlevel/base.js.map +1 -1
  490. package/esm/highlevel/client.d.ts +2 -1
  491. package/esm/highlevel/client.js +1 -0
  492. package/esm/highlevel/client.js.map +1 -1
  493. package/esm/highlevel/managers/app-config-manager.js +7 -5
  494. package/esm/highlevel/managers/app-config-manager.js.map +1 -1
  495. package/esm/highlevel/methods/_init.js.map +1 -1
  496. package/esm/highlevel/methods/auth/start-test.js.map +1 -1
  497. package/esm/highlevel/methods/auth/start.js.map +1 -1
  498. package/esm/highlevel/methods/auth/utils.js.map +1 -1
  499. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  500. package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  501. package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  502. package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
  503. package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
  504. package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  505. package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
  506. package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  507. package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
  508. package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  509. package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
  510. package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
  511. package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  512. package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
  513. package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
  514. package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  515. package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  516. package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  517. package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  518. package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
  519. package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  520. package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
  521. package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
  522. package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  523. package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  524. package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
  525. package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
  526. package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  527. package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
  528. package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  529. package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  530. package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  531. package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  532. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  533. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  534. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  535. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  536. package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  537. package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
  538. package/esm/highlevel/methods/files/download-iterable.js +1 -1
  539. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  540. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
  541. package/esm/highlevel/methods/files/download-stream.js.map +1 -1
  542. package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  543. package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
  544. package/esm/highlevel/methods/files/normalize-input-media.js +1 -2
  545. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  546. package/esm/highlevel/methods/files/upload-file.js +8 -7
  547. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  548. package/esm/highlevel/methods/files/upload-media.js.map +1 -1
  549. package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  550. package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  551. package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  552. package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  553. package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
  554. package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
  555. package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  556. package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
  557. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  558. package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
  559. package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  560. package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  561. package/esm/highlevel/methods/messages/get-history.js +5 -1
  562. package/esm/highlevel/methods/messages/get-history.js.map +1 -1
  563. package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  564. package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
  565. package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  566. package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
  567. package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
  568. package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
  569. package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  570. package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
  571. package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  572. package/esm/highlevel/methods/messages/read-history.js.map +1 -1
  573. package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
  574. package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
  575. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  576. package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
  577. package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
  578. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  579. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  580. package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
  581. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  582. package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
  583. package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
  584. package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
  585. package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  586. package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  587. package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
  588. package/esm/highlevel/methods/misc/with-params.js.map +1 -1
  589. package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
  590. package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  591. package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  592. package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  593. package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
  594. package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  595. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  596. package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  597. package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  598. package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
  599. package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
  600. package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
  601. package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  602. package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  603. package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  604. package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  605. package/esm/highlevel/methods/stories/send-story.js.map +1 -1
  606. package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  607. package/esm/highlevel/methods/users/get-users.js.map +1 -1
  608. package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  609. package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  610. package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
  611. package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  612. package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  613. package/esm/highlevel/storage/service/current-user.js +2 -0
  614. package/esm/highlevel/storage/service/current-user.js.map +1 -1
  615. package/esm/highlevel/storage/service/peers.js +5 -1
  616. package/esm/highlevel/storage/service/peers.js.map +1 -1
  617. package/esm/highlevel/storage/service/ref-messages.js +3 -0
  618. package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
  619. package/esm/highlevel/storage/service/updates.js +1 -0
  620. package/esm/highlevel/storage/service/updates.js.map +1 -1
  621. package/esm/highlevel/storage/storage.d.ts +1 -1
  622. package/esm/highlevel/storage/storage.js +17 -4
  623. package/esm/highlevel/storage/storage.js.map +1 -1
  624. package/esm/highlevel/types/auth/sent-code.js +1 -0
  625. package/esm/highlevel/types/auth/sent-code.js.map +1 -1
  626. package/esm/highlevel/types/bots/game-high-score.js +2 -0
  627. package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
  628. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
  629. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
  630. package/esm/highlevel/types/bots/keyboards/builder.js +2 -1
  631. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
  632. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
  633. package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
  634. package/esm/highlevel/types/conversation.js +13 -7
  635. package/esm/highlevel/types/conversation.js.map +1 -1
  636. package/esm/highlevel/types/errors.js +3 -0
  637. package/esm/highlevel/types/errors.js.map +1 -1
  638. package/esm/highlevel/types/files/file-location.js +3 -0
  639. package/esm/highlevel/types/files/file-location.js.map +1 -1
  640. package/esm/highlevel/types/files/uploaded-file.js +1 -1
  641. package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
  642. package/esm/highlevel/types/files/utils.d.ts +1 -1
  643. package/esm/highlevel/types/files/utils.js.map +1 -1
  644. package/esm/highlevel/types/files/web-document.js +1 -0
  645. package/esm/highlevel/types/files/web-document.js.map +1 -1
  646. package/esm/highlevel/types/media/audio.js +3 -2
  647. package/esm/highlevel/types/media/audio.js.map +1 -1
  648. package/esm/highlevel/types/media/contact.js +2 -1
  649. package/esm/highlevel/types/media/contact.js.map +1 -1
  650. package/esm/highlevel/types/media/dice.js +125 -124
  651. package/esm/highlevel/types/media/dice.js.map +1 -1
  652. package/esm/highlevel/types/media/document-utils.js.map +1 -1
  653. package/esm/highlevel/types/media/document.js +2 -4
  654. package/esm/highlevel/types/media/document.js.map +1 -1
  655. package/esm/highlevel/types/media/game.js +2 -1
  656. package/esm/highlevel/types/media/game.js.map +1 -1
  657. package/esm/highlevel/types/media/invoice.js +4 -1
  658. package/esm/highlevel/types/media/invoice.js.map +1 -1
  659. package/esm/highlevel/types/media/location.js +4 -5
  660. package/esm/highlevel/types/media/location.js.map +1 -1
  661. package/esm/highlevel/types/media/photo.js +8 -1
  662. package/esm/highlevel/types/media/photo.js.map +1 -1
  663. package/esm/highlevel/types/media/poll.js +4 -1
  664. package/esm/highlevel/types/media/poll.js.map +1 -1
  665. package/esm/highlevel/types/media/sticker.js +3 -1
  666. package/esm/highlevel/types/media/sticker.js.map +1 -1
  667. package/esm/highlevel/types/media/story.js +3 -1
  668. package/esm/highlevel/types/media/story.js.map +1 -1
  669. package/esm/highlevel/types/media/thumbnail.js +35 -22
  670. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  671. package/esm/highlevel/types/media/venue.js +2 -1
  672. package/esm/highlevel/types/media/venue.js.map +1 -1
  673. package/esm/highlevel/types/media/video.js +3 -1
  674. package/esm/highlevel/types/media/video.js.map +1 -1
  675. package/esm/highlevel/types/media/voice.js +2 -1
  676. package/esm/highlevel/types/media/voice.js.map +1 -1
  677. package/esm/highlevel/types/media/web-page.js +2 -1
  678. package/esm/highlevel/types/media/web-page.js.map +1 -1
  679. package/esm/highlevel/types/messages/dialog.js +3 -0
  680. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  681. package/esm/highlevel/types/messages/draft-message.js +1 -0
  682. package/esm/highlevel/types/messages/draft-message.js.map +1 -1
  683. package/esm/highlevel/types/messages/message-action.js.map +1 -1
  684. package/esm/highlevel/types/messages/message-entity.js +2 -0
  685. package/esm/highlevel/types/messages/message-entity.js.map +1 -1
  686. package/esm/highlevel/types/messages/message-forward.js +2 -0
  687. package/esm/highlevel/types/messages/message-forward.js.map +1 -1
  688. package/esm/highlevel/types/messages/message-media.js.map +1 -1
  689. package/esm/highlevel/types/messages/message-reactions.js +4 -0
  690. package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
  691. package/esm/highlevel/types/messages/message-replies.js +2 -0
  692. package/esm/highlevel/types/messages/message-replies.js.map +1 -1
  693. package/esm/highlevel/types/messages/message.js +6 -0
  694. package/esm/highlevel/types/messages/message.js.map +1 -1
  695. package/esm/highlevel/types/messages/replied-message.js +2 -0
  696. package/esm/highlevel/types/messages/replied-message.js.map +1 -1
  697. package/esm/highlevel/types/misc/sticker-set.js +7 -1
  698. package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
  699. package/esm/highlevel/types/misc/takeout-session.js +5 -0
  700. package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
  701. package/esm/highlevel/types/peers/chat-colors.js +2 -0
  702. package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
  703. package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
  704. package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
  705. package/esm/highlevel/types/peers/chat-event/index.js +2 -0
  706. package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
  707. package/esm/highlevel/types/peers/chat-invite-link-member.js +2 -0
  708. package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  709. package/esm/highlevel/types/peers/chat-invite-link.js +2 -0
  710. package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
  711. package/esm/highlevel/types/peers/chat-location.js +1 -0
  712. package/esm/highlevel/types/peers/chat-location.js.map +1 -1
  713. package/esm/highlevel/types/peers/chat-member.js +2 -0
  714. package/esm/highlevel/types/peers/chat-member.js.map +1 -1
  715. package/esm/highlevel/types/peers/chat-permissions.js +1 -0
  716. package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
  717. package/esm/highlevel/types/peers/chat-photo.js +5 -0
  718. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  719. package/esm/highlevel/types/peers/chat-preview.js +2 -0
  720. package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
  721. package/esm/highlevel/types/peers/chat.js +12 -1
  722. package/esm/highlevel/types/peers/chat.js.map +1 -1
  723. package/esm/highlevel/types/peers/forum-topic.js +9 -6
  724. package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
  725. package/esm/highlevel/types/peers/peer.js.map +1 -1
  726. package/esm/highlevel/types/peers/peers-index.js +3 -1
  727. package/esm/highlevel/types/peers/peers-index.js.map +1 -1
  728. package/esm/highlevel/types/peers/user.js +5 -1
  729. package/esm/highlevel/types/peers/user.js.map +1 -1
  730. package/esm/highlevel/types/premium/boost-slot.js +2 -0
  731. package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
  732. package/esm/highlevel/types/premium/boost-stats.js +1 -0
  733. package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
  734. package/esm/highlevel/types/premium/boost.js +2 -0
  735. package/esm/highlevel/types/premium/boost.js.map +1 -1
  736. package/esm/highlevel/types/reactions/emoji-status.js +1 -0
  737. package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
  738. package/esm/highlevel/types/reactions/peer-reaction.js +2 -0
  739. package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
  740. package/esm/highlevel/types/reactions/reaction-count.js +1 -0
  741. package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
  742. package/esm/highlevel/types/reactions/types.js.map +1 -1
  743. package/esm/highlevel/types/stories/all-stories.d.ts +2 -2
  744. package/esm/highlevel/types/stories/all-stories.js +3 -1
  745. package/esm/highlevel/types/stories/all-stories.js.map +1 -1
  746. package/esm/highlevel/types/stories/interactive/base.js +1 -0
  747. package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
  748. package/esm/highlevel/types/stories/interactive/channel-post.js +3 -1
  749. package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  750. package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
  751. package/esm/highlevel/types/stories/interactive/input.js +1 -0
  752. package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
  753. package/esm/highlevel/types/stories/interactive/location.js +2 -1
  754. package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
  755. package/esm/highlevel/types/stories/interactive/reaction.js +2 -1
  756. package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
  757. package/esm/highlevel/types/stories/interactive/venue.js +2 -1
  758. package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
  759. package/esm/highlevel/types/stories/peer-stories.js +2 -0
  760. package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
  761. package/esm/highlevel/types/stories/stealth-mode.js +1 -0
  762. package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
  763. package/esm/highlevel/types/stories/story-interactions.js +2 -0
  764. package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
  765. package/esm/highlevel/types/stories/story-viewer.d.ts +1 -1
  766. package/esm/highlevel/types/stories/story-viewer.js +6 -0
  767. package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
  768. package/esm/highlevel/types/stories/story.js +2 -0
  769. package/esm/highlevel/types/stories/story.js.map +1 -1
  770. package/esm/highlevel/types/updates/bot-chat-join-request.js +2 -0
  771. package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  772. package/esm/highlevel/types/updates/bot-reaction.js +4 -0
  773. package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
  774. package/esm/highlevel/types/updates/bot-stopped.js +2 -0
  775. package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
  776. package/esm/highlevel/types/updates/callback-query.js +4 -0
  777. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  778. package/esm/highlevel/types/updates/chat-join-request.js +2 -0
  779. package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
  780. package/esm/highlevel/types/updates/chat-member-update.js +2 -0
  781. package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
  782. package/esm/highlevel/types/updates/chosen-inline-result.js +2 -0
  783. package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  784. package/esm/highlevel/types/updates/delete-message-update.js +1 -0
  785. package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
  786. package/esm/highlevel/types/updates/delete-story-update.js +2 -0
  787. package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
  788. package/esm/highlevel/types/updates/history-read-update.js +1 -0
  789. package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
  790. package/esm/highlevel/types/updates/inline-query.js +2 -0
  791. package/esm/highlevel/types/updates/inline-query.js.map +1 -1
  792. package/esm/highlevel/types/updates/parse-update.js.map +1 -1
  793. package/esm/highlevel/types/updates/poll-update.js +2 -0
  794. package/esm/highlevel/types/updates/poll-update.js.map +1 -1
  795. package/esm/highlevel/types/updates/poll-vote.js +2 -0
  796. package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
  797. package/esm/highlevel/types/updates/pre-checkout-query.js +2 -0
  798. package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  799. package/esm/highlevel/types/updates/story-update.js +2 -0
  800. package/esm/highlevel/types/updates/story-update.js.map +1 -1
  801. package/esm/highlevel/types/updates/user-status-update.js +1 -0
  802. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  803. package/esm/highlevel/types/updates/user-typing-update.js +1 -0
  804. package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
  805. package/esm/highlevel/updates/manager.js +50 -28
  806. package/esm/highlevel/updates/manager.js.map +1 -1
  807. package/esm/highlevel/updates/parsed.js.map +1 -1
  808. package/esm/highlevel/updates/utils.js.map +1 -1
  809. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  810. package/esm/highlevel/utils/entities.js.map +1 -1
  811. package/esm/highlevel/utils/file-type.d.ts +1 -0
  812. package/esm/highlevel/utils/file-type.js +34 -0
  813. package/esm/highlevel/utils/file-type.js.map +1 -1
  814. package/esm/highlevel/utils/file-utils.js +1 -1
  815. package/esm/highlevel/utils/file-utils.js.map +1 -1
  816. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  817. package/esm/highlevel/utils/inspectable.js.map +1 -1
  818. package/esm/highlevel/utils/memoize.js.map +1 -1
  819. package/esm/highlevel/utils/peer-utils.js.map +1 -1
  820. package/esm/highlevel/utils/query-batcher.js.map +1 -1
  821. package/esm/highlevel/utils/rps-meter.js +3 -0
  822. package/esm/highlevel/utils/rps-meter.js.map +1 -1
  823. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  824. package/esm/highlevel/utils/string-session.d.ts +1 -2
  825. package/esm/highlevel/utils/string-session.js +27 -7
  826. package/esm/highlevel/utils/string-session.js.map +1 -1
  827. package/esm/highlevel/utils/voice-utils.js.map +1 -1
  828. package/esm/highlevel/worker/app-config.d.ts +2 -3
  829. package/esm/highlevel/worker/app-config.js +6 -3
  830. package/esm/highlevel/worker/app-config.js.map +1 -1
  831. package/esm/highlevel/worker/errors.js.map +1 -1
  832. package/esm/highlevel/worker/invoker.js +3 -2
  833. package/esm/highlevel/worker/invoker.js.map +1 -1
  834. package/esm/highlevel/worker/port.d.ts +16 -17
  835. package/esm/highlevel/worker/port.js +74 -49
  836. package/esm/highlevel/worker/port.js.map +1 -1
  837. package/esm/highlevel/worker/protocol.d.ts +1 -1
  838. package/esm/highlevel/worker/protocol.js.map +1 -1
  839. package/esm/highlevel/worker/storage.d.ts +9 -13
  840. package/esm/highlevel/worker/storage.js +34 -19
  841. package/esm/highlevel/worker/storage.js.map +1 -1
  842. package/esm/highlevel/worker/worker.js +3 -0
  843. package/esm/highlevel/worker/worker.js.map +1 -1
  844. package/esm/network/auth-key.js +8 -1
  845. package/esm/network/auth-key.js.map +1 -1
  846. package/esm/network/authorization.js.map +1 -1
  847. package/esm/network/client.js +39 -14
  848. package/esm/network/client.js.map +1 -1
  849. package/esm/network/config-manager.js.map +1 -1
  850. package/esm/network/mtproto-session.js +40 -30
  851. package/esm/network/mtproto-session.js.map +1 -1
  852. package/esm/network/multi-session-connection.d.ts +1 -1
  853. package/esm/network/multi-session-connection.js +13 -7
  854. package/esm/network/multi-session-connection.js.map +1 -1
  855. package/esm/network/network-manager.d.ts +2 -3
  856. package/esm/network/network-manager.js +49 -28
  857. package/esm/network/network-manager.js.map +1 -1
  858. package/esm/network/persistent-connection.d.ts +2 -2
  859. package/esm/network/persistent-connection.js +33 -22
  860. package/esm/network/persistent-connection.js.map +1 -1
  861. package/esm/network/server-salt.js +4 -5
  862. package/esm/network/server-salt.js.map +1 -1
  863. package/esm/network/session-connection.d.ts +1 -1
  864. package/esm/network/session-connection.js +22 -12
  865. package/esm/network/session-connection.js.map +1 -1
  866. package/esm/network/transports/abstract.d.ts +1 -1
  867. package/esm/network/transports/abstract.js +1 -0
  868. package/esm/network/transports/abstract.js.map +1 -1
  869. package/esm/network/transports/intermediate.js +1 -0
  870. package/esm/network/transports/intermediate.js.map +1 -1
  871. package/esm/network/transports/obfuscated.js +3 -0
  872. package/esm/network/transports/obfuscated.js.map +1 -1
  873. package/esm/network/transports/streamed.js +1 -4
  874. package/esm/network/transports/streamed.js.map +1 -1
  875. package/esm/network/transports/wrapped.js +2 -0
  876. package/esm/network/transports/wrapped.js.map +1 -1
  877. package/esm/platform.js.map +1 -1
  878. package/esm/storage/driver.js +3 -4
  879. package/esm/storage/driver.js.map +1 -1
  880. package/esm/storage/memory/driver.js +1 -3
  881. package/esm/storage/memory/driver.js.map +1 -1
  882. package/esm/storage/memory/index.js +5 -7
  883. package/esm/storage/memory/index.js.map +1 -1
  884. package/esm/storage/memory/repository/auth-keys.d.ts +1 -1
  885. package/esm/storage/memory/repository/auth-keys.js +2 -0
  886. package/esm/storage/memory/repository/auth-keys.js.map +1 -1
  887. package/esm/storage/memory/repository/kv.d.ts +1 -1
  888. package/esm/storage/memory/repository/kv.js +2 -0
  889. package/esm/storage/memory/repository/kv.js.map +1 -1
  890. package/esm/storage/memory/repository/peers.d.ts +1 -1
  891. package/esm/storage/memory/repository/peers.js +2 -0
  892. package/esm/storage/memory/repository/peers.js.map +1 -1
  893. package/esm/storage/memory/repository/ref-messages.d.ts +1 -1
  894. package/esm/storage/memory/repository/ref-messages.js +2 -0
  895. package/esm/storage/memory/repository/ref-messages.js.map +1 -1
  896. package/esm/storage/service/auth-keys.js +2 -0
  897. package/esm/storage/service/auth-keys.js.map +1 -1
  898. package/esm/storage/service/base.js +4 -0
  899. package/esm/storage/service/base.js.map +1 -1
  900. package/esm/storage/service/default-dcs.js +2 -0
  901. package/esm/storage/service/default-dcs.js.map +1 -1
  902. package/esm/storage/service/future-salts.js +2 -1
  903. package/esm/storage/service/future-salts.js.map +1 -1
  904. package/esm/storage/sqlite/driver.js +10 -10
  905. package/esm/storage/sqlite/driver.js.map +1 -1
  906. package/esm/storage/sqlite/index.d.ts +1 -1
  907. package/esm/storage/sqlite/index.js +5 -0
  908. package/esm/storage/sqlite/index.js.map +1 -1
  909. package/esm/storage/sqlite/repository/auth-keys.js +9 -0
  910. package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
  911. package/esm/storage/sqlite/repository/kv.js +5 -0
  912. package/esm/storage/sqlite/repository/kv.js.map +1 -1
  913. package/esm/storage/sqlite/repository/peers.js +6 -0
  914. package/esm/storage/sqlite/repository/peers.js.map +1 -1
  915. package/esm/storage/sqlite/repository/ref-messages.d.ts +1 -1
  916. package/esm/storage/sqlite/repository/ref-messages.js +6 -0
  917. package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
  918. package/esm/storage/storage.d.ts +1 -3
  919. package/esm/storage/storage.js +21 -13
  920. package/esm/storage/storage.js.map +1 -1
  921. package/esm/types/errors.js +13 -0
  922. package/esm/types/errors.js.map +1 -1
  923. package/esm/types/utils.d.ts +1 -1
  924. package/esm/types/utils.js.map +1 -1
  925. package/esm/utils/async-lock.js +1 -3
  926. package/esm/utils/async-lock.js.map +1 -1
  927. package/esm/utils/bigint-utils.js.map +1 -1
  928. package/esm/utils/binary/asn1-parser.js.map +1 -1
  929. package/esm/utils/buffer-utils.js.map +1 -1
  930. package/esm/utils/condition-variable.js +2 -0
  931. package/esm/utils/condition-variable.js.map +1 -1
  932. package/esm/utils/crypto/factorization.js.map +1 -1
  933. package/esm/utils/crypto/keys.js.map +1 -1
  934. package/esm/utils/crypto/miller-rabin.js.map +1 -1
  935. package/esm/utils/crypto/password.js.map +1 -1
  936. package/esm/utils/crypto/utils.js.map +1 -1
  937. package/esm/utils/dcs.js +1 -1
  938. package/esm/utils/dcs.js.map +1 -1
  939. package/esm/utils/deque.js +8 -2
  940. package/esm/utils/deque.js.map +1 -1
  941. package/esm/utils/early-timer.js +4 -1
  942. package/esm/utils/early-timer.js.map +1 -1
  943. package/esm/utils/error-reporting.js.map +1 -1
  944. package/esm/utils/function-utils.js.map +1 -1
  945. package/esm/utils/linked-list.js +4 -1
  946. package/esm/utils/linked-list.js.map +1 -1
  947. package/esm/utils/links/bots.js.map +1 -1
  948. package/esm/utils/links/chat.js.map +1 -1
  949. package/esm/utils/links/common.js.map +1 -1
  950. package/esm/utils/links/misc.js.map +1 -1
  951. package/esm/utils/logger.d.ts +2 -2
  952. package/esm/utils/logger.js +21 -14
  953. package/esm/utils/logger.js.map +1 -1
  954. package/esm/utils/long-utils.js +2 -6
  955. package/esm/utils/long-utils.js.map +1 -1
  956. package/esm/utils/lru-map.js +5 -1
  957. package/esm/utils/lru-map.js.map +1 -1
  958. package/esm/utils/lru-set.js +4 -0
  959. package/esm/utils/lru-set.js.map +1 -1
  960. package/esm/utils/peer-utils.js.map +1 -1
  961. package/esm/utils/reloadable.js +10 -7
  962. package/esm/utils/reloadable.js.map +1 -1
  963. package/esm/utils/sorted-array.js +2 -0
  964. package/esm/utils/sorted-array.js.map +1 -1
  965. package/esm/utils/tl-json.js.map +1 -1
  966. package/esm/utils/type-assertions.js.map +1 -1
  967. package/package.json +11 -11
@@ -20,11 +20,11 @@ export declare class BaseTelegramClient implements ITelegramClient {
20
20
  readonly updates?: UpdatesManager;
21
21
  private _serverUpdatesHandler;
22
22
  private _connectionStateHandler;
23
- constructor(params: BaseTelegramClientOptions);
24
23
  readonly log: import("../utils/logger.js").Logger;
25
24
  readonly mt: MtClient;
26
25
  readonly crypto: import("../utils/index.js").ICryptoProvider;
27
26
  readonly storage: TelegramStorageManager;
27
+ constructor(params: BaseTelegramClientOptions);
28
28
  readonly appConfig: AppConfigManager;
29
29
  private _prepare;
30
30
  /**
@@ -9,35 +9,21 @@ const app_config_manager_js_1 = require("./managers/app-config-manager.js");
9
9
  const storage_js_1 = require("./storage/storage.js");
10
10
  const manager_js_1 = require("./updates/manager.js");
11
11
  class BaseTelegramClient {
12
+ params;
13
+ updates;
14
+ _serverUpdatesHandler = () => { };
15
+ _connectionStateHandler = () => { };
16
+ log;
17
+ mt;
18
+ crypto;
19
+ storage;
12
20
  constructor(params) {
13
21
  this.params = params;
14
- this._serverUpdatesHandler = () => { };
15
- this._connectionStateHandler = () => { };
16
22
  this.log = this.params.logger ?? new logger_js_1.LogManager('client');
17
23
  this.mt = new client_js_1.MtClient({
18
24
  ...this.params,
19
25
  logger: this.log.create('mtproto'),
20
26
  });
21
- this.crypto = this.mt.crypto;
22
- this.storage = new storage_js_1.TelegramStorageManager(this.mt.storage, {
23
- provider: this.params.storage,
24
- ...this.params.storageOptions,
25
- });
26
- this.appConfig = new app_config_manager_js_1.AppConfigManager(this);
27
- this._prepare = (0, index_js_1.asyncResettable)(async () => {
28
- await this.mt.prepare();
29
- const self = await this.storage.self.fetch();
30
- this.log.prefix = `[USER ${self?.userId ?? 'n/a'}] `;
31
- this.mt.network.setIsPremium(self?.isPremium ?? false);
32
- await this.updates?.prepare();
33
- });
34
- // used in a hot path, avoid extra function calls
35
- this._connected = false;
36
- this._connect = (0, index_js_1.asyncResettable)(async () => {
37
- await this._prepare.run();
38
- await this.mt.connect();
39
- this._connected = true;
40
- });
41
27
  if (!params.disableUpdates && params.updates !== false) {
42
28
  this.updates = new manager_js_1.UpdatesManager(this, params.updates);
43
29
  this._serverUpdatesHandler = this.updates.handleUpdate.bind(this.updates);
@@ -59,7 +45,20 @@ class BaseTelegramClient {
59
45
  this._connectionStateHandler('offline');
60
46
  }
61
47
  });
48
+ this.crypto = this.mt.crypto;
49
+ this.storage = new storage_js_1.TelegramStorageManager(this.mt.storage, {
50
+ provider: this.params.storage,
51
+ ...this.params.storageOptions,
52
+ });
62
53
  }
54
+ appConfig = new app_config_manager_js_1.AppConfigManager(this);
55
+ _prepare = (0, index_js_1.asyncResettable)(async () => {
56
+ await this.mt.prepare();
57
+ const self = await this.storage.self.fetch();
58
+ this.log.prefix = `[USER ${self?.userId ?? 'n/a'}] `;
59
+ this.mt.network.setIsPremium(self?.isPremium ?? false);
60
+ await this.updates?.prepare();
61
+ });
63
62
  /**
64
63
  * **ADVANCED**
65
64
  *
@@ -72,6 +71,13 @@ class BaseTelegramClient {
72
71
  prepare() {
73
72
  return this._prepare.run();
74
73
  }
74
+ // used in a hot path, avoid extra function calls
75
+ _connected = false;
76
+ _connect = (0, index_js_1.asyncResettable)(async () => {
77
+ await this._prepare.run();
78
+ await this.mt.connect();
79
+ this._connected = true;
80
+ });
75
81
  /**
76
82
  * Initialize the connection to the primary DC.
77
83
  *
@@ -148,7 +154,7 @@ class BaseTelegramClient {
148
154
  const defaultDcAuthKey = await this.mt.storage.provider.authKeys.get(this.mt._defaultDcs.main.id);
149
155
  if (defaultDcAuthKey && !force)
150
156
  return;
151
- const data = typeof session === 'string' ? (0, index_js_1.readStringSession)(this.mt._readerMap, session) : session;
157
+ const data = typeof session === 'string' ? (0, index_js_1.readStringSession)(session) : session;
152
158
  if (data.testMode && !this.params.testMode) {
153
159
  throw new Error('This session string is not for the current backend. ' +
154
160
  `Session is ${data.testMode ? 'test' : 'prod'}, ` +
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/highlevel/base.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/require-await */\nimport { tl } from '@mtcute/tl'\n\nimport { MtClient, MtClientOptions } from '../network/client.js'\nimport { ConnectionKind, RpcCallOptions } from '../network/network-manager.js'\nimport { StorageManagerExtraOptions } from '../storage/storage.js'\nimport { MtArgumentError } from '../types/errors.js'\nimport { MustEqual } from '../types/utils.js'\nimport {\n asyncResettable,\n computeNewPasswordHash,\n computeSrpParams,\n readStringSession,\n StringSessionData,\n writeStringSession,\n} from '../utils/index.js'\nimport { LogManager } from '../utils/logger.js'\nimport { ConnectionState, ITelegramClient } from './client.types.js'\nimport { AppConfigManager } from './managers/app-config-manager.js'\nimport { ITelegramStorageProvider } from './storage/provider.js'\nimport { TelegramStorageManager, TelegramStorageManagerExtraOptions } from './storage/storage.js'\nimport { UpdatesManager } from './updates/manager.js'\nimport { RawUpdateHandler, UpdatesManagerParams } from './updates/types.js'\n\nexport interface BaseTelegramClientOptions extends MtClientOptions {\n storage: ITelegramStorageProvider\n storageOptions?: StorageManagerExtraOptions & TelegramStorageManagerExtraOptions\n updates?: UpdatesManagerParams | false\n}\n\nexport class BaseTelegramClient implements ITelegramClient {\n readonly updates?: UpdatesManager\n private _serverUpdatesHandler: (updates: tl.TypeUpdates) => void = () => {}\n private _connectionStateHandler: (state: ConnectionState) => void = () => {}\n\n constructor(readonly params: BaseTelegramClientOptions) {\n if (!params.disableUpdates && params.updates !== false) {\n this.updates = new UpdatesManager(this, params.updates)\n this._serverUpdatesHandler = this.updates.handleUpdate.bind(this.updates)\n this.updates.onCatchingUp((catchingUp) => {\n this._connectionStateHandler(catchingUp ? 'updating' : 'connected')\n })\n }\n\n this.mt.on('update', (update: tl.TypeUpdates) => {\n this._serverUpdatesHandler(update)\n })\n this.mt.on('usable', () => {\n this._connectionStateHandler('connected')\n })\n this.mt.on('wait', () => {\n this._connectionStateHandler('connecting')\n })\n this.mt.on('networkChanged', (connected: boolean) => {\n if (!connected) {\n this._connectionStateHandler('offline')\n }\n })\n }\n\n readonly log = this.params.logger ?? new LogManager('client')\n readonly mt = new MtClient({\n ...this.params,\n logger: this.log.create('mtproto'),\n })\n readonly crypto = this.mt.crypto\n readonly storage = new TelegramStorageManager(this.mt.storage, {\n provider: this.params.storage,\n ...this.params.storageOptions,\n })\n readonly appConfig = new AppConfigManager(this)\n\n private _prepare = asyncResettable(async () => {\n await this.mt.prepare()\n\n const self = await this.storage.self.fetch()\n this.log.prefix = `[USER ${self?.userId ?? 'n/a'}] `\n this.mt.network.setIsPremium(self?.isPremium ?? false)\n\n await this.updates?.prepare()\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 // used in a hot path, avoid extra function calls\n private _connected = false\n private _connect = asyncResettable(async () => {\n await this._prepare.run()\n await this.mt.connect()\n this._connected = true\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 get isConnected(): boolean {\n return this._connected\n }\n\n async close(): Promise<void> {\n await this.mt.close()\n this.updates?.stopLoop()\n this._prepare.reset()\n this._connect.reset()\n this._connected = false\n }\n\n async notifyLoggedIn(auth: tl.auth.TypeAuthorization | tl.RawUser): Promise<tl.RawUser> {\n const user = this.mt.network.notifyLoggedIn(auth)\n\n this.log.prefix = `[USER ${user.id}] `\n const self = await this.storage.self.storeFrom(user)\n\n this.updates?.notifyLoggedIn(self)\n\n return user\n }\n\n async notifyLoggedOut(): Promise<void> {\n this.mt.network.notifyLoggedOut()\n\n this.log.prefix = '[USER n/a] '\n await this.storage.self.store(null)\n }\n\n async notifyChannelOpened(channelId: number, pts?: number): Promise<boolean> {\n return this.updates?.notifyChannelOpened(channelId, pts) ?? false\n }\n\n async notifyChannelClosed(channelId: number): Promise<boolean> {\n return this.updates?.notifyChannelClosed(channelId) ?? false\n }\n\n async startUpdatesLoop(): Promise<void> {\n await this.updates?.startLoop()\n }\n\n async stopUpdatesLoop(): Promise<void> {\n this.updates?.stopLoop()\n }\n\n /**\n * Make an RPC call\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['_']]> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n const res = await this.mt.call(message, params)\n\n await this.storage.peers.updatePeersFrom(res)\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return res\n }\n\n /**\n * Import the session from the given session string.\n *\n * Note that the session will only be imported in case\n * the storage is missing authorization (i.e. does not contain\n * auth key for the primary DC), otherwise it will be ignored (unless `force`).\n *\n * @param session Session string to import\n * @param force Whether to overwrite existing session\n */\n async importSession(session: string | StringSessionData, force = false): Promise<void> {\n await this.prepare()\n\n const defaultDcAuthKey = await this.mt.storage.provider.authKeys.get(this.mt._defaultDcs.main.id)\n\n if (defaultDcAuthKey && !force) return\n\n const data = typeof session === 'string' ? readStringSession(this.mt._readerMap, session) : session\n\n if (data.testMode && !this.params.testMode) {\n throw new Error(\n 'This session string is not for the current backend. ' +\n `Session is ${data.testMode ? 'test' : 'prod'}, ` +\n `but the client is ${this.params.testMode ? 'test' : 'prod'}`,\n )\n }\n\n this.mt._defaultDcs = data.primaryDcs\n await this.mt.storage.dcs.store(data.primaryDcs)\n\n if (data.self) {\n await this.storage.self.store(data.self)\n }\n\n await this.mt.storage.provider.authKeys.set(data.primaryDcs.main.id, data.authKey)\n\n await this.mt.storage.save()\n }\n\n /**\n * Export current session to a single *LONG* string, containing\n * all the needed information.\n *\n * > **Warning!** Anyone with this string will be able\n * > to authorize as you and do anything. Treat this\n * > as your password, and never give it away!\n * >\n * > In case you have accidentally leaked this string,\n * > make sure to revoke this session in account settings:\n * > \"Privacy & Security\" > \"Active sessions\" >\n * > find the one containing `mtcute` > Revoke,\n * > or, in case this is a bot, revoke bot token\n * > with [@BotFather](//t.me/botfather)\n */\n async exportSession(): Promise<string> {\n await this._prepare.run()\n\n const primaryDcs = (await this.mt.storage.dcs.fetch()) ?? this.mt._defaultDcs\n\n const authKey = await this.mt.storage.provider.authKeys.get(primaryDcs.main.id)\n if (!authKey) throw new Error('Auth key is not ready yet')\n\n return writeStringSession({\n version: 3,\n self: await this.storage.self.fetch(),\n testMode: Boolean(this.params.testMode),\n primaryDcs,\n authKey,\n })\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.mt.onError(handler)\n }\n\n emitError(err: unknown): void {\n this.mt.emitError(err)\n }\n\n handleClientUpdate(updates: tl.TypeUpdates, noDispatch?: boolean): void {\n this.updates?.handleClientUpdate(updates, noDispatch)\n }\n\n onServerUpdate(handler: (update: tl.TypeUpdates) => void): void {\n this._serverUpdatesHandler = handler\n }\n\n onUpdate(handler: RawUpdateHandler): void {\n if (!this.updates) {\n throw new MtArgumentError('Updates manager is disabled')\n }\n\n this.updates.setHandler(handler)\n }\n\n onConnectionState(handler: (state: ConnectionState) => void): void {\n this._connectionStateHandler = handler\n }\n\n async getApiCrenetials() {\n return {\n id: this.params.apiId,\n hash: this.params.apiHash,\n }\n }\n\n async getPoolSize(kind: ConnectionKind, dcId?: number): Promise<number> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n return this.mt.network.getPoolSize(kind, dcId)\n }\n\n async getPrimaryDcId(): Promise<number> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n return this.mt.network.getPrimaryDcId()\n }\n\n computeSrpParams(request: tl.account.RawPassword, password: string): Promise<tl.RawInputCheckPasswordSRP> {\n return computeSrpParams(this.crypto, request, password)\n }\n computeNewPasswordHash(algo: tl.TypePasswordKdfAlgo, password: string): Promise<Uint8Array> {\n return computeNewPasswordHash(this.crypto, algo, password)\n }\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/highlevel/base.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/require-await */\nimport { tl } from '@mtcute/tl'\n\nimport { MtClient, MtClientOptions } from '../network/client.js'\nimport { ConnectionKind, RpcCallOptions } from '../network/network-manager.js'\nimport { StorageManagerExtraOptions } from '../storage/storage.js'\nimport { MtArgumentError } from '../types/errors.js'\nimport { MustEqual } from '../types/utils.js'\nimport {\n asyncResettable,\n computeNewPasswordHash,\n computeSrpParams,\n readStringSession,\n StringSessionData,\n writeStringSession,\n} from '../utils/index.js'\nimport { LogManager } from '../utils/logger.js'\nimport { ConnectionState, ITelegramClient } from './client.types.js'\nimport { AppConfigManager } from './managers/app-config-manager.js'\nimport { ITelegramStorageProvider } from './storage/provider.js'\nimport { TelegramStorageManager, TelegramStorageManagerExtraOptions } from './storage/storage.js'\nimport { UpdatesManager } from './updates/manager.js'\nimport { RawUpdateHandler, UpdatesManagerParams } from './updates/types.js'\n\nexport interface BaseTelegramClientOptions extends MtClientOptions {\n storage: ITelegramStorageProvider\n storageOptions?: StorageManagerExtraOptions & TelegramStorageManagerExtraOptions\n updates?: UpdatesManagerParams | false\n}\n\nexport class BaseTelegramClient implements ITelegramClient {\n readonly updates?: UpdatesManager\n private _serverUpdatesHandler: (updates: tl.TypeUpdates) => void = () => {}\n private _connectionStateHandler: (state: ConnectionState) => void = () => {}\n\n readonly log\n readonly mt\n readonly crypto\n readonly storage\n\n constructor(readonly params: BaseTelegramClientOptions) {\n this.log = this.params.logger ?? new LogManager('client')\n this.mt = new MtClient({\n ...this.params,\n logger: this.log.create('mtproto'),\n })\n\n if (!params.disableUpdates && params.updates !== false) {\n this.updates = new UpdatesManager(this, params.updates)\n this._serverUpdatesHandler = this.updates.handleUpdate.bind(this.updates)\n this.updates.onCatchingUp((catchingUp) => {\n this._connectionStateHandler(catchingUp ? 'updating' : 'connected')\n })\n }\n\n this.mt.on('update', (update: tl.TypeUpdates) => {\n this._serverUpdatesHandler(update)\n })\n this.mt.on('usable', () => {\n this._connectionStateHandler('connected')\n })\n this.mt.on('wait', () => {\n this._connectionStateHandler('connecting')\n })\n this.mt.on('networkChanged', (connected: boolean) => {\n if (!connected) {\n this._connectionStateHandler('offline')\n }\n })\n\n this.crypto = this.mt.crypto\n this.storage = new TelegramStorageManager(this.mt.storage, {\n provider: this.params.storage,\n ...this.params.storageOptions,\n })\n }\n readonly appConfig = new AppConfigManager(this)\n\n private _prepare = asyncResettable(async () => {\n await this.mt.prepare()\n\n const self = await this.storage.self.fetch()\n this.log.prefix = `[USER ${self?.userId ?? 'n/a'}] `\n this.mt.network.setIsPremium(self?.isPremium ?? false)\n\n await this.updates?.prepare()\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 // used in a hot path, avoid extra function calls\n private _connected = false\n private _connect = asyncResettable(async () => {\n await this._prepare.run()\n await this.mt.connect()\n this._connected = true\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 get isConnected(): boolean {\n return this._connected\n }\n\n async close(): Promise<void> {\n await this.mt.close()\n this.updates?.stopLoop()\n this._prepare.reset()\n this._connect.reset()\n this._connected = false\n }\n\n async notifyLoggedIn(auth: tl.auth.TypeAuthorization | tl.RawUser): Promise<tl.RawUser> {\n const user = this.mt.network.notifyLoggedIn(auth)\n\n this.log.prefix = `[USER ${user.id}] `\n const self = await this.storage.self.storeFrom(user)\n\n this.updates?.notifyLoggedIn(self)\n\n return user\n }\n\n async notifyLoggedOut(): Promise<void> {\n this.mt.network.notifyLoggedOut()\n\n this.log.prefix = '[USER n/a] '\n await this.storage.self.store(null)\n }\n\n async notifyChannelOpened(channelId: number, pts?: number): Promise<boolean> {\n return this.updates?.notifyChannelOpened(channelId, pts) ?? false\n }\n\n async notifyChannelClosed(channelId: number): Promise<boolean> {\n return this.updates?.notifyChannelClosed(channelId) ?? false\n }\n\n async startUpdatesLoop(): Promise<void> {\n await this.updates?.startLoop()\n }\n\n async stopUpdatesLoop(): Promise<void> {\n this.updates?.stopLoop()\n }\n\n /**\n * Make an RPC call\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['_']]> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n const res = await this.mt.call(message, params)\n\n await this.storage.peers.updatePeersFrom(res)\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return res\n }\n\n /**\n * Import the session from the given session string.\n *\n * Note that the session will only be imported in case\n * the storage is missing authorization (i.e. does not contain\n * auth key for the primary DC), otherwise it will be ignored (unless `force`).\n *\n * @param session Session string to import\n * @param force Whether to overwrite existing session\n */\n async importSession(session: string | StringSessionData, force = false): Promise<void> {\n await this.prepare()\n\n const defaultDcAuthKey = await this.mt.storage.provider.authKeys.get(this.mt._defaultDcs.main.id)\n\n if (defaultDcAuthKey && !force) return\n\n const data = typeof session === 'string' ? readStringSession(session) : session\n\n if (data.testMode && !this.params.testMode) {\n throw new Error(\n 'This session string is not for the current backend. ' +\n `Session is ${data.testMode ? 'test' : 'prod'}, ` +\n `but the client is ${this.params.testMode ? 'test' : 'prod'}`,\n )\n }\n\n this.mt._defaultDcs = data.primaryDcs\n await this.mt.storage.dcs.store(data.primaryDcs)\n\n if (data.self) {\n await this.storage.self.store(data.self)\n }\n\n await this.mt.storage.provider.authKeys.set(data.primaryDcs.main.id, data.authKey)\n\n await this.mt.storage.save()\n }\n\n /**\n * Export current session to a single *LONG* string, containing\n * all the needed information.\n *\n * > **Warning!** Anyone with this string will be able\n * > to authorize as you and do anything. Treat this\n * > as your password, and never give it away!\n * >\n * > In case you have accidentally leaked this string,\n * > make sure to revoke this session in account settings:\n * > \"Privacy & Security\" > \"Active sessions\" >\n * > find the one containing `mtcute` > Revoke,\n * > or, in case this is a bot, revoke bot token\n * > with [@BotFather](//t.me/botfather)\n */\n async exportSession(): Promise<string> {\n await this._prepare.run()\n\n const primaryDcs = (await this.mt.storage.dcs.fetch()) ?? this.mt._defaultDcs\n\n const authKey = await this.mt.storage.provider.authKeys.get(primaryDcs.main.id)\n if (!authKey) throw new Error('Auth key is not ready yet')\n\n return writeStringSession({\n version: 3,\n self: await this.storage.self.fetch(),\n testMode: Boolean(this.params.testMode),\n primaryDcs,\n authKey,\n })\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.mt.onError(handler)\n }\n\n emitError(err: unknown): void {\n this.mt.emitError(err)\n }\n\n handleClientUpdate(updates: tl.TypeUpdates, noDispatch?: boolean): void {\n this.updates?.handleClientUpdate(updates, noDispatch)\n }\n\n onServerUpdate(handler: (update: tl.TypeUpdates) => void): void {\n this._serverUpdatesHandler = handler\n }\n\n onUpdate(handler: RawUpdateHandler): void {\n if (!this.updates) {\n throw new MtArgumentError('Updates manager is disabled')\n }\n\n this.updates.setHandler(handler)\n }\n\n onConnectionState(handler: (state: ConnectionState) => void): void {\n this._connectionStateHandler = handler\n }\n\n async getApiCrenetials() {\n return {\n id: this.params.apiId,\n hash: this.params.apiHash,\n }\n }\n\n async getPoolSize(kind: ConnectionKind, dcId?: number): Promise<number> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n return this.mt.network.getPoolSize(kind, dcId)\n }\n\n async getPrimaryDcId(): Promise<number> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n return this.mt.network.getPrimaryDcId()\n }\n\n computeSrpParams(request: tl.account.RawPassword, password: string): Promise<tl.RawInputCheckPasswordSRP> {\n return computeSrpParams(this.crypto, request, password)\n }\n computeNewPasswordHash(algo: tl.TypePasswordKdfAlgo, password: string): Promise<Uint8Array> {\n return computeNewPasswordHash(this.crypto, algo, password)\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+
2
+ /// <reference types="node" />
2
3
  import EventEmitter from 'events';
3
4
  import Long from 'long';
4
5
  import { tdFileId } from '@mtcute/file-id';
@@ -1862,7 +1863,7 @@ export interface TelegramClient extends ITelegramClient {
1862
1863
  *
1863
1864
  * @param params File download parameters
1864
1865
  */
1865
- downloadAsNodeStream(location: FileDownloadLocation, params?: FileDownloadParameters): import('stream').Readable;
1866
+ downloadAsNodeStream(location: FileDownloadLocation, params?: FileDownloadParameters): import('node:stream').Readable;
1866
1867
  /**
1867
1868
  * Download a file and return it as a readable stream,
1868
1869
  * streaming file contents.
@@ -247,6 +247,7 @@ const conversation_js_1 = require("./types/conversation.js");
247
247
  const parsed_js_1 = require("./updates/parsed.js");
248
248
  __exportStar(require("./base.js"), exports);
249
249
  class TelegramClient extends events_1.default {
250
+ _client;
250
251
  constructor(opts) {
251
252
  super();
252
253
  if ('client' in opts) {