@mtcute/core 0.18.0-rc.5 → 0.19.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 (630) hide show
  1. package/client.d.cts +1 -0
  2. package/highlevel/base.d.cts +115 -0
  3. package/highlevel/base.test.d.cts +1 -0
  4. package/highlevel/client.d.cts +5045 -0
  5. package/highlevel/client.types.d.cts +61 -0
  6. package/highlevel/index.d.cts +4 -0
  7. package/highlevel/managers/app-config-manager.d.cts +11 -0
  8. package/highlevel/managers/timers.d.cts +10 -0
  9. package/highlevel/methods/_imports.d.cts +1 -0
  10. package/highlevel/methods/_init.d.cts +1 -0
  11. package/highlevel/methods/auth/check-password.d.cts +10 -0
  12. package/highlevel/methods/auth/get-password-hint.d.cts +7 -0
  13. package/highlevel/methods/auth/log-out.d.cts +17 -0
  14. package/highlevel/methods/auth/recover-password.d.cts +12 -0
  15. package/highlevel/methods/auth/resend-code.d.cts +16 -0
  16. package/highlevel/methods/auth/run.d.cts +16 -0
  17. package/highlevel/methods/auth/send-code.d.cts +18 -0
  18. package/highlevel/methods/auth/send-recovery-code.d.cts +7 -0
  19. package/highlevel/methods/auth/sign-in-bot.d.cts +10 -0
  20. package/highlevel/methods/auth/sign-in-qr.d.cts +33 -0
  21. package/highlevel/methods/auth/sign-in.d.cts +19 -0
  22. package/highlevel/methods/auth/start-test.d.cts +30 -0
  23. package/highlevel/methods/auth/start.d.cts +89 -0
  24. package/highlevel/methods/auth/utils.d.cts +9 -0
  25. package/highlevel/methods/bots/answer-callback-query.d.cts +41 -0
  26. package/highlevel/methods/bots/answer-inline-query.d.cts +88 -0
  27. package/highlevel/methods/bots/answer-pre-checkout-query.d.cts +12 -0
  28. package/highlevel/methods/bots/delete-my-commands.d.cts +22 -0
  29. package/highlevel/methods/bots/get-bot-info.d.cts +18 -0
  30. package/highlevel/methods/bots/get-bot-menu-button.d.cts +7 -0
  31. package/highlevel/methods/bots/get-callback-answer.d.cts +41 -0
  32. package/highlevel/methods/bots/get-game-high-scores.d.cts +17 -0
  33. package/highlevel/methods/bots/get-my-commands.d.cts +21 -0
  34. package/highlevel/methods/bots/normalize-command-scope.d.cts +5 -0
  35. package/highlevel/methods/bots/open-webview.d.cts +73 -0
  36. package/highlevel/methods/bots/prepare-inline-message.d.cts +32 -0
  37. package/highlevel/methods/bots/set-bot-info.d.cts +23 -0
  38. package/highlevel/methods/bots/set-bot-menu-button.d.cts +7 -0
  39. package/highlevel/methods/bots/set-game-score.d.cts +54 -0
  40. package/highlevel/methods/bots/set-my-commands.d.cts +26 -0
  41. package/highlevel/methods/bots/set-my-default-rights.d.cts +11 -0
  42. package/highlevel/methods/bots/toggle-emoji-status-permission.d.cts +11 -0
  43. package/highlevel/methods/chats/add-chat-members.d.cts +20 -0
  44. package/highlevel/methods/chats/archive-chats.d.cts +9 -0
  45. package/highlevel/methods/chats/ban-chat-member.d.cts +24 -0
  46. package/highlevel/methods/chats/batched-queries.d.cts +11 -0
  47. package/highlevel/methods/chats/create-channel.d.cts +17 -0
  48. package/highlevel/methods/chats/create-group.d.cts +33 -0
  49. package/highlevel/methods/chats/create-supergroup.d.cts +27 -0
  50. package/highlevel/methods/chats/delete-channel.d.cts +8 -0
  51. package/highlevel/methods/chats/delete-chat-photo.d.cts +10 -0
  52. package/highlevel/methods/chats/delete-group.d.cts +8 -0
  53. package/highlevel/methods/chats/delete-history.d.cts +22 -0
  54. package/highlevel/methods/chats/delete-user-history.d.cts +16 -0
  55. package/highlevel/methods/chats/edit-admin-rights.d.cts +16 -0
  56. package/highlevel/methods/chats/get-chat-event-log.d.cts +61 -0
  57. package/highlevel/methods/chats/get-chat-member.d.cts +15 -0
  58. package/highlevel/methods/chats/get-chat-members.d.cts +51 -0
  59. package/highlevel/methods/chats/get-chat-preview.d.cts +12 -0
  60. package/highlevel/methods/chats/get-chat.d.cts +11 -0
  61. package/highlevel/methods/chats/get-full-chat.d.cts +11 -0
  62. package/highlevel/methods/chats/get-full-user.d.cts +8 -0
  63. package/highlevel/methods/chats/get-nearby-chats.d.cts +9 -0
  64. package/highlevel/methods/chats/get-similar-channels.d.cts +12 -0
  65. package/highlevel/methods/chats/get-user.d.cts +8 -0
  66. package/highlevel/methods/chats/iter-chat-event-log.d.cts +26 -0
  67. package/highlevel/methods/chats/iter-chat-members.d.cts +22 -0
  68. package/highlevel/methods/chats/join-chat.d.cts +14 -0
  69. package/highlevel/methods/chats/kick-chat-member.d.cts +15 -0
  70. package/highlevel/methods/chats/leave-chat.d.cts +13 -0
  71. package/highlevel/methods/chats/mark-chat-unread.d.cts +8 -0
  72. package/highlevel/methods/chats/open-chat.d.cts +26 -0
  73. package/highlevel/methods/chats/reorder-usernames.d.cts +8 -0
  74. package/highlevel/methods/chats/restrict-chat-member.d.cts +28 -0
  75. package/highlevel/methods/chats/save-draft.d.cts +10 -0
  76. package/highlevel/methods/chats/set-chat-color.d.cts +38 -0
  77. package/highlevel/methods/chats/set-chat-default-permissions.d.cts +16 -0
  78. package/highlevel/methods/chats/set-chat-description.d.cts +11 -0
  79. package/highlevel/methods/chats/set-chat-photo.d.cts +20 -0
  80. package/highlevel/methods/chats/set-chat-title.d.cts +11 -0
  81. package/highlevel/methods/chats/set-chat-ttl.d.cts +9 -0
  82. package/highlevel/methods/chats/set-chat-username.d.cts +11 -0
  83. package/highlevel/methods/chats/set-slow-mode.d.cts +12 -0
  84. package/highlevel/methods/chats/toggle-content-protection.d.cts +9 -0
  85. package/highlevel/methods/chats/toggle-fragment-username.d.cts +20 -0
  86. package/highlevel/methods/chats/toggle-join-requests.d.cts +12 -0
  87. package/highlevel/methods/chats/toggle-join-to-send.d.cts +12 -0
  88. package/highlevel/methods/chats/unarchive-chats.d.cts +9 -0
  89. package/highlevel/methods/chats/unban-chat-member.d.cts +16 -0
  90. package/highlevel/methods/contacts/add-contact.d.cts +28 -0
  91. package/highlevel/methods/contacts/delete-contacts.d.cts +12 -0
  92. package/highlevel/methods/contacts/get-contacts.d.cts +6 -0
  93. package/highlevel/methods/contacts/import-contacts.d.cts +9 -0
  94. package/highlevel/methods/dialogs/create-folder.d.cts +13 -0
  95. package/highlevel/methods/dialogs/delete-folder.d.cts +8 -0
  96. package/highlevel/methods/dialogs/edit-folder.d.cts +18 -0
  97. package/highlevel/methods/dialogs/find-dialogs.d.cts +12 -0
  98. package/highlevel/methods/dialogs/find-folder.d.cts +19 -0
  99. package/highlevel/methods/dialogs/get-chatlist-preview.d.cts +8 -0
  100. package/highlevel/methods/dialogs/get-folders.d.cts +9 -0
  101. package/highlevel/methods/dialogs/get-peer-dialogs.d.cts +10 -0
  102. package/highlevel/methods/dialogs/iter-dialogs.d.cts +103 -0
  103. package/highlevel/methods/dialogs/join-chatlist.d.cts +15 -0
  104. package/highlevel/methods/dialogs/set-folders-order.d.cts +7 -0
  105. package/highlevel/methods/files/download-buffer.d.cts +11 -0
  106. package/highlevel/methods/files/download-file.d.cts +1 -0
  107. package/highlevel/methods/files/download-iterable.cjs +9 -7
  108. package/highlevel/methods/files/download-iterable.d.cts +10 -0
  109. package/highlevel/methods/files/download-iterable.js +9 -7
  110. package/highlevel/methods/files/download-node-stream.d.cts +1 -0
  111. package/highlevel/methods/files/download-stream.d.cts +9 -0
  112. package/highlevel/methods/files/normalize-file-to-document.d.cts +9 -0
  113. package/highlevel/methods/files/normalize-input-file.d.cts +13 -0
  114. package/highlevel/methods/files/normalize-input-media.d.cts +12 -0
  115. package/highlevel/methods/files/upload-file.d.cts +72 -0
  116. package/highlevel/methods/files/upload-media.d.cts +28 -0
  117. package/highlevel/methods/forums/create-forum-topic.d.cts +36 -0
  118. package/highlevel/methods/forums/delete-forum-topic-history.d.cts +15 -0
  119. package/highlevel/methods/forums/edit-forum-topic.d.cts +34 -0
  120. package/highlevel/methods/forums/get-forum-topics-by-id.d.cts +9 -0
  121. package/highlevel/methods/forums/get-forum-topics.d.cts +28 -0
  122. package/highlevel/methods/forums/iter-forum-topics.d.cts +20 -0
  123. package/highlevel/methods/forums/reorder-pinned-forum-topics.d.cts +19 -0
  124. package/highlevel/methods/forums/toggle-forum-topic-closed.d.cts +22 -0
  125. package/highlevel/methods/forums/toggle-forum-topic-pinned.d.cts +15 -0
  126. package/highlevel/methods/forums/toggle-forum.d.cts +11 -0
  127. package/highlevel/methods/forums/toggle-general-topic-hidden.d.cts +20 -0
  128. package/highlevel/methods/invite-links/create-invite-link.d.cts +38 -0
  129. package/highlevel/methods/invite-links/edit-invite-link.d.cts +36 -0
  130. package/highlevel/methods/invite-links/export-invite-link.d.cts +12 -0
  131. package/highlevel/methods/invite-links/get-invite-link-members.d.cts +45 -0
  132. package/highlevel/methods/invite-links/get-invite-link.d.cts +9 -0
  133. package/highlevel/methods/invite-links/get-invite-links.d.cts +39 -0
  134. package/highlevel/methods/invite-links/get-primary-invite-link.d.cts +8 -0
  135. package/highlevel/methods/invite-links/hide-all-join-requests.d.cts +13 -0
  136. package/highlevel/methods/invite-links/hide-join-request.d.cts +13 -0
  137. package/highlevel/methods/invite-links/iter-invite-link-members.d.cts +25 -0
  138. package/highlevel/methods/invite-links/iter-invite-links.d.cts +27 -0
  139. package/highlevel/methods/invite-links/revoke-invite-link.d.cts +13 -0
  140. package/highlevel/methods/messages/_business-connection.d.cts +8 -0
  141. package/highlevel/methods/messages/close-poll.d.cts +15 -0
  142. package/highlevel/methods/messages/delete-messages.d.cts +29 -0
  143. package/highlevel/methods/messages/delete-scheduled-messages.d.cts +9 -0
  144. package/highlevel/methods/messages/edit-inline-message.d.cts +51 -0
  145. package/highlevel/methods/messages/edit-message.d.cts +55 -0
  146. package/highlevel/methods/messages/find-in-update.d.cts +13 -0
  147. package/highlevel/methods/messages/forward-messages.d.cts +84 -0
  148. package/highlevel/methods/messages/get-all-scheduled-messages.d.cts +8 -0
  149. package/highlevel/methods/messages/get-available-effects.d.cts +6 -0
  150. package/highlevel/methods/messages/get-callback-query-message.d.cts +14 -0
  151. package/highlevel/methods/messages/get-discussion-message.d.cts +21 -0
  152. package/highlevel/methods/messages/get-fact-check.d.cts +11 -0
  153. package/highlevel/methods/messages/get-history.d.cts +59 -0
  154. package/highlevel/methods/messages/get-message-by-link.d.cts +6 -0
  155. package/highlevel/methods/messages/get-message-group.d.cts +9 -0
  156. package/highlevel/methods/messages/get-message-reactions.d.cts +28 -0
  157. package/highlevel/methods/messages/get-messages-unsafe.d.cts +19 -0
  158. package/highlevel/methods/messages/get-messages.d.cts +17 -0
  159. package/highlevel/methods/messages/get-reaction-users.d.cts +24 -0
  160. package/highlevel/methods/messages/get-reply-to.d.cts +10 -0
  161. package/highlevel/methods/messages/get-scheduled-messages.d.cts +13 -0
  162. package/highlevel/methods/messages/iter-history.d.cts +23 -0
  163. package/highlevel/methods/messages/iter-reaction-users.d.cts +26 -0
  164. package/highlevel/methods/messages/iter-search-global.d.cts +27 -0
  165. package/highlevel/methods/messages/iter-search-messages.d.cts +26 -0
  166. package/highlevel/methods/messages/pin-message.d.cts +21 -0
  167. package/highlevel/methods/messages/read-history.d.cts +24 -0
  168. package/highlevel/methods/messages/read-reactions.d.cts +14 -0
  169. package/highlevel/methods/messages/search-global.d.cts +51 -0
  170. package/highlevel/methods/messages/search-hashtag.d.cts +44 -0
  171. package/highlevel/methods/messages/search-messages.d.cts +93 -0
  172. package/highlevel/methods/messages/send-answer.d.cts +12 -0
  173. package/highlevel/methods/messages/send-comment.d.cts +39 -0
  174. package/highlevel/methods/messages/send-common.d.cts +122 -0
  175. package/highlevel/methods/messages/send-copy-group.d.cts +21 -0
  176. package/highlevel/methods/messages/send-copy.d.cts +32 -0
  177. package/highlevel/methods/messages/send-media-group.d.cts +35 -0
  178. package/highlevel/methods/messages/send-media.d.cts +48 -0
  179. package/highlevel/methods/messages/send-paid-reaction.d.cts +24 -0
  180. package/highlevel/methods/messages/send-quote.d.cts +33 -0
  181. package/highlevel/methods/messages/send-reaction.d.cts +21 -0
  182. package/highlevel/methods/messages/send-reply.d.cts +12 -0
  183. package/highlevel/methods/messages/send-scheduled.d.cts +14 -0
  184. package/highlevel/methods/messages/send-text.d.cts +31 -0
  185. package/highlevel/methods/messages/send-text.test.d.cts +1 -0
  186. package/highlevel/methods/messages/send-typing.d.cts +32 -0
  187. package/highlevel/methods/messages/send-vote.d.cts +15 -0
  188. package/highlevel/methods/messages/set-typing.d.cts +33 -0
  189. package/highlevel/methods/messages/translate-message.d.cts +11 -0
  190. package/highlevel/methods/messages/translate-text.d.cts +9 -0
  191. package/highlevel/methods/messages/unpin-all-messages.d.cts +18 -0
  192. package/highlevel/methods/messages/unpin-message.d.cts +12 -0
  193. package/highlevel/methods/misc/chain-id.d.cts +4 -0
  194. package/highlevel/methods/misc/get-collectible-info.d.cts +6 -0
  195. package/highlevel/methods/misc/init-takeout-session.d.cts +9 -0
  196. package/highlevel/methods/misc/normalize-privacy-rules.d.cts +8 -0
  197. package/highlevel/methods/misc/normalize-text.d.cts +5 -0
  198. package/highlevel/methods/misc/with-params.d.cts +10 -0
  199. package/highlevel/methods/password/change-cloud-password.d.cts +12 -0
  200. package/highlevel/methods/password/enable-cloud-password.d.cts +17 -0
  201. package/highlevel/methods/password/password-email.d.cts +15 -0
  202. package/highlevel/methods/password/remove-cloud-password.d.cts +7 -0
  203. package/highlevel/methods/premium/accept-star-gift.d.cts +16 -0
  204. package/highlevel/methods/premium/apply-boost.d.cts +8 -0
  205. package/highlevel/methods/premium/can-apply-boost.d.cts +29 -0
  206. package/highlevel/methods/premium/create-business-chat-link.d.cts +12 -0
  207. package/highlevel/methods/premium/edit-business-chat-link.d.cts +20 -0
  208. package/highlevel/methods/premium/get-boost-stats.d.cts +9 -0
  209. package/highlevel/methods/premium/get-boosts.d.cts +18 -0
  210. package/highlevel/methods/premium/get-business-chat-links.d.cts +6 -0
  211. package/highlevel/methods/premium/get-business-connection.d.cts +8 -0
  212. package/highlevel/methods/premium/get-my-boost-slots.d.cts +9 -0
  213. package/highlevel/methods/premium/get-star-gift-options.d.cts +6 -0
  214. package/highlevel/methods/premium/get-star-gifts.d.cts +22 -0
  215. package/highlevel/methods/premium/get-stars-transactions.d.cts +34 -0
  216. package/highlevel/methods/premium/iter-boosters.d.cts +24 -0
  217. package/highlevel/methods/premium/iter-star-gifts.d.cts +26 -0
  218. package/highlevel/methods/premium/iter-stars-transactions.d.cts +29 -0
  219. package/highlevel/methods/premium/send-star-gift.d.cts +35 -0
  220. package/highlevel/methods/premium/set-business-intro.d.cts +22 -0
  221. package/highlevel/methods/premium/set-business-work-hours.d.cts +18 -0
  222. package/highlevel/methods/stickers/_utils.d.cts +10 -0
  223. package/highlevel/methods/stickers/add-sticker-to-set.d.cts +21 -0
  224. package/highlevel/methods/stickers/create-sticker-set.d.cts +66 -0
  225. package/highlevel/methods/stickers/delete-sticker-from-set.d.cts +15 -0
  226. package/highlevel/methods/stickers/get-custom-emojis.d.cts +14 -0
  227. package/highlevel/methods/stickers/get-installed-stickers.d.cts +10 -0
  228. package/highlevel/methods/stickers/get-my-sticker-sets.d.cts +13 -0
  229. package/highlevel/methods/stickers/get-sticker-set.d.cts +8 -0
  230. package/highlevel/methods/stickers/move-sticker-in-set.d.cts +17 -0
  231. package/highlevel/methods/stickers/replace-sticker-in-set.d.cts +24 -0
  232. package/highlevel/methods/stickers/set-chat-sticker-set.d.cts +11 -0
  233. package/highlevel/methods/stickers/set-sticker-set-thumb.d.cts +20 -0
  234. package/highlevel/methods/stories/can-send-story.d.cts +13 -0
  235. package/highlevel/methods/stories/delete-stories.d.cts +20 -0
  236. package/highlevel/methods/stories/edit-story.d.cts +38 -0
  237. package/highlevel/methods/stories/find-in-update.d.cts +5 -0
  238. package/highlevel/methods/stories/get-all-stories.d.cts +15 -0
  239. package/highlevel/methods/stories/get-peer-stories.d.cts +8 -0
  240. package/highlevel/methods/stories/get-profile-stories.d.cts +25 -0
  241. package/highlevel/methods/stories/get-stories-by-id.d.cts +10 -0
  242. package/highlevel/methods/stories/get-stories-interactions.d.cts +9 -0
  243. package/highlevel/methods/stories/get-story-link.d.cts +11 -0
  244. package/highlevel/methods/stories/get-story-viewers.d.cts +33 -0
  245. package/highlevel/methods/stories/hide-my-stories-views.d.cts +21 -0
  246. package/highlevel/methods/stories/increment-stories-views.d.cts +13 -0
  247. package/highlevel/methods/stories/iter-all-stories.d.cts +16 -0
  248. package/highlevel/methods/stories/iter-profile-stories.d.cts +21 -0
  249. package/highlevel/methods/stories/iter-story-viewers.d.cts +22 -0
  250. package/highlevel/methods/stories/read-stories.d.cts +11 -0
  251. package/highlevel/methods/stories/send-story-reaction.d.cts +14 -0
  252. package/highlevel/methods/stories/send-story.d.cts +51 -0
  253. package/highlevel/methods/stories/toggle-peer-stories-archived.d.cts +8 -0
  254. package/highlevel/methods/stories/toggle-stories-pinned.d.cts +24 -0
  255. package/highlevel/methods/users/block-user.d.cts +8 -0
  256. package/highlevel/methods/users/delete-profile-photos.d.cts +9 -0
  257. package/highlevel/methods/users/edit-close-friends.d.cts +14 -0
  258. package/highlevel/methods/users/get-common-chats.d.cts +9 -0
  259. package/highlevel/methods/users/get-global-ttl.d.cts +5 -0
  260. package/highlevel/methods/users/get-me.d.cts +6 -0
  261. package/highlevel/methods/users/get-my-username.d.cts +8 -0
  262. package/highlevel/methods/users/get-profile-photo.d.cts +11 -0
  263. package/highlevel/methods/users/get-profile-photos.d.cts +22 -0
  264. package/highlevel/methods/users/get-users.d.cts +12 -0
  265. package/highlevel/methods/users/get-users.test.d.cts +1 -0
  266. package/highlevel/methods/users/is-peer-available.d.cts +20 -0
  267. package/highlevel/methods/users/iter-profile-photos.d.cts +23 -0
  268. package/highlevel/methods/users/resolve-peer-many.d.cts +26 -0
  269. package/highlevel/methods/users/resolve-peer.d.cts +20 -0
  270. package/highlevel/methods/users/resolve-peer.test.d.cts +1 -0
  271. package/highlevel/methods/users/set-emoji-status.d.cts +32 -0
  272. package/highlevel/methods/users/set-global-ttl.d.cts +8 -0
  273. package/highlevel/methods/users/set-my-birthday.d.cts +12 -0
  274. package/highlevel/methods/users/set-my-profile-photo.d.cts +16 -0
  275. package/highlevel/methods/users/set-my-username.d.cts +11 -0
  276. package/highlevel/methods/users/set-online.d.cts +19 -0
  277. package/highlevel/methods/users/unblock-user.d.cts +8 -0
  278. package/highlevel/methods/users/update-profile.d.cts +23 -0
  279. package/highlevel/methods.d.cts +291 -0
  280. package/highlevel/storage/index.d.cts +4 -0
  281. package/highlevel/storage/provider.d.cts +7 -0
  282. package/highlevel/storage/repository/peers.d.cts +44 -0
  283. package/highlevel/storage/repository/ref-messages.d.cts +20 -0
  284. package/highlevel/storage/service/current-user.d.cts +23 -0
  285. package/highlevel/storage/service/peers.d.cts +23 -0
  286. package/highlevel/storage/service/ref-messages.d.cts +15 -0
  287. package/highlevel/storage/service/updates.d.cts +16 -0
  288. package/highlevel/storage/storage.d.cts +27 -0
  289. package/highlevel/types/auth/index.d.cts +1 -0
  290. package/highlevel/types/auth/sent-code.d.cts +56 -0
  291. package/highlevel/types/bots/command-scope/index.d.cts +10 -0
  292. package/highlevel/types/bots/command-scope/inner.d.cts +54 -0
  293. package/highlevel/types/bots/game-high-score.d.cts +23 -0
  294. package/highlevel/types/bots/index.d.cts +6 -0
  295. package/highlevel/types/bots/inline-message/factories.d.cts +47 -0
  296. package/highlevel/types/bots/inline-message/index.d.cts +3 -0
  297. package/highlevel/types/bots/inline-message/types.d.cts +114 -0
  298. package/highlevel/types/bots/inline-result/factories.d.cts +97 -0
  299. package/highlevel/types/bots/inline-result/index.d.cts +3 -0
  300. package/highlevel/types/bots/inline-result/types.d.cts +417 -0
  301. package/highlevel/types/bots/keyboards/builder.d.cts +38 -0
  302. package/highlevel/types/bots/keyboards/builder.test.d.cts +1 -0
  303. package/highlevel/types/bots/keyboards/factories.d.cts +208 -0
  304. package/highlevel/types/bots/keyboards/index.d.cts +15 -0
  305. package/highlevel/types/bots/keyboards/keyboards.test.d.cts +1 -0
  306. package/highlevel/types/bots/keyboards/types.d.cts +34 -0
  307. package/highlevel/types/bots/webview.d.cts +114 -0
  308. package/highlevel/types/calls/discard-reason.d.cts +13 -0
  309. package/highlevel/types/calls/index.d.cts +1 -0
  310. package/highlevel/types/conversation.d.cts +210 -0
  311. package/highlevel/types/errors.d.cts +33 -0
  312. package/highlevel/types/files/file-location.d.cts +48 -0
  313. package/highlevel/types/files/index.d.cts +4 -0
  314. package/highlevel/types/files/uploaded-file.d.cts +24 -0
  315. package/highlevel/types/files/utils.d.cts +89 -0
  316. package/highlevel/types/files/web-document.d.cts +32 -0
  317. package/highlevel/types/index.d.cts +15 -0
  318. package/highlevel/types/media/audio.d.cts +31 -0
  319. package/highlevel/types/media/contact.d.cts +31 -0
  320. package/highlevel/types/media/dice.d.cts +155 -0
  321. package/highlevel/types/media/document-utils.d.cts +11 -0
  322. package/highlevel/types/media/document.d.cts +75 -0
  323. package/highlevel/types/media/extended-media.d.cts +20 -0
  324. package/highlevel/types/media/game.d.cts +38 -0
  325. package/highlevel/types/media/index.d.cts +19 -0
  326. package/highlevel/types/media/input-media/factories.d.cts +142 -0
  327. package/highlevel/types/media/input-media/index.d.cts +3 -0
  328. package/highlevel/types/media/input-media/types.d.cts +520 -0
  329. package/highlevel/types/media/invoice.d.cts +89 -0
  330. package/highlevel/types/media/location.d.cts +83 -0
  331. package/highlevel/types/media/paid-media.d.cts +33 -0
  332. package/highlevel/types/media/photo.d.cts +72 -0
  333. package/highlevel/types/media/poll.d.cts +110 -0
  334. package/highlevel/types/media/sticker.d.cts +123 -0
  335. package/highlevel/types/media/story.d.cts +33 -0
  336. package/highlevel/types/media/thumbnail.d.cts +70 -0
  337. package/highlevel/types/media/venue.d.cts +58 -0
  338. package/highlevel/types/media/video.d.cts +48 -0
  339. package/highlevel/types/media/voice.d.cts +23 -0
  340. package/highlevel/types/media/web-page.d.cts +151 -0
  341. package/highlevel/types/messages/dialog.d.cts +110 -0
  342. package/highlevel/types/messages/draft-message.d.cts +29 -0
  343. package/highlevel/types/messages/fact-check.d.cts +30 -0
  344. package/highlevel/types/messages/index.d.cts +14 -0
  345. package/highlevel/types/messages/input-message-id.d.cts +20 -0
  346. package/highlevel/types/messages/message-action.d.cts +420 -0
  347. package/highlevel/types/messages/message-effect.d.cts +20 -0
  348. package/highlevel/types/messages/message-entity.d.cts +89 -0
  349. package/highlevel/types/messages/message-forward.d.cts +39 -0
  350. package/highlevel/types/messages/message-media.d.cts +23 -0
  351. package/highlevel/types/messages/message-reactions.d.cts +31 -0
  352. package/highlevel/types/messages/message-replies.d.cts +42 -0
  353. package/highlevel/types/messages/message.d.cts +249 -0
  354. package/highlevel/types/messages/replied-message.d.cts +103 -0
  355. package/highlevel/types/messages/search-filters.d.cts +82 -0
  356. package/highlevel/types/misc/app-config.d.cts +887 -0
  357. package/highlevel/types/misc/collectible-info.d.cts +27 -0
  358. package/highlevel/types/misc/entities.d.cts +22 -0
  359. package/highlevel/types/misc/index.d.cts +6 -0
  360. package/highlevel/types/misc/input-privacy-rule/allow.d.cts +22 -0
  361. package/highlevel/types/misc/input-privacy-rule/bundle.d.cts +3 -0
  362. package/highlevel/types/misc/input-privacy-rule/disallow.d.cts +20 -0
  363. package/highlevel/types/misc/input-privacy-rule/index.d.cts +3 -0
  364. package/highlevel/types/misc/input-privacy-rule/types.d.cts +11 -0
  365. package/highlevel/types/misc/sticker-set.d.cts +154 -0
  366. package/highlevel/types/misc/takeout-session.d.cts +49 -0
  367. package/highlevel/types/peers/bot-info.d.cts +21 -0
  368. package/highlevel/types/peers/chat-colors.d.cts +25 -0
  369. package/highlevel/types/peers/chat-event/actions.d.cts +279 -0
  370. package/highlevel/types/peers/chat-event/filters.d.cts +10 -0
  371. package/highlevel/types/peers/chat-event/index.d.cts +27 -0
  372. package/highlevel/types/peers/chat-invite-link-member.d.cts +33 -0
  373. package/highlevel/types/peers/chat-invite-link.d.cts +72 -0
  374. package/highlevel/types/peers/chat-location.d.cts +17 -0
  375. package/highlevel/types/peers/chat-member.d.cts +86 -0
  376. package/highlevel/types/peers/chat-permissions.d.cts +127 -0
  377. package/highlevel/types/peers/chat-photo.d.cts +39 -0
  378. package/highlevel/types/peers/chat-preview.d.cts +55 -0
  379. package/highlevel/types/peers/chat.d.cts +250 -0
  380. package/highlevel/types/peers/chatlist-preview.d.cts +21 -0
  381. package/highlevel/types/peers/forum-topic.d.cts +96 -0
  382. package/highlevel/types/peers/full-chat.cjs +1 -1
  383. package/highlevel/types/peers/full-chat.d.cts +161 -0
  384. package/highlevel/types/peers/full-chat.js +1 -1
  385. package/highlevel/types/peers/full-user.d.cts +115 -0
  386. package/highlevel/types/peers/index.d.cts +19 -0
  387. package/highlevel/types/peers/index.d.ts +1 -0
  388. package/highlevel/types/peers/peer.d.cts +49 -0
  389. package/highlevel/types/peers/peers-index.d.cts +15 -0
  390. package/highlevel/types/peers/peers-index.test.d.cts +1 -0
  391. package/highlevel/types/peers/typing-status.d.cts +26 -0
  392. package/highlevel/types/peers/user.d.cts +268 -0
  393. package/highlevel/types/peers/user.test.d.cts +1 -0
  394. package/highlevel/types/premium/boost-slot.d.cts +37 -0
  395. package/highlevel/types/premium/boost-stats.d.cts +54 -0
  396. package/highlevel/types/premium/boost.d.cts +56 -0
  397. package/highlevel/types/premium/boost.d.ts +1 -2
  398. package/highlevel/types/premium/business-account.d.cts +19 -0
  399. package/highlevel/types/premium/business-chat-link.d.cts +19 -0
  400. package/highlevel/types/premium/business-connection.d.cts +23 -0
  401. package/highlevel/types/premium/business-intro.d.cts +22 -0
  402. package/highlevel/types/premium/business-location.d.cts +10 -0
  403. package/highlevel/types/premium/business-work-hours.d.cts +42 -0
  404. package/highlevel/types/premium/business-work-hours.test.d.cts +1 -0
  405. package/highlevel/types/premium/index.d.cts +12 -0
  406. package/highlevel/types/premium/index.d.ts +1 -0
  407. package/highlevel/types/premium/stars-gift.d.cts +68 -0
  408. package/highlevel/types/premium/stars-status.d.cts +16 -0
  409. package/highlevel/types/premium/stars-status.d.ts +1 -1
  410. package/highlevel/types/premium/stars-transaction.cjs +7 -3
  411. package/highlevel/types/premium/stars-transaction.d.cts +134 -0
  412. package/highlevel/types/premium/stars-transaction.d.ts +1 -1
  413. package/highlevel/types/premium/stars-transaction.js +7 -3
  414. package/highlevel/types/reactions/emoji-status.d.cts +12 -0
  415. package/highlevel/types/reactions/index.d.cts +4 -0
  416. package/highlevel/types/reactions/index.d.ts +2 -0
  417. package/highlevel/types/reactions/peer-reaction.d.cts +53 -0
  418. package/highlevel/types/reactions/reaction-count.d.cts +25 -0
  419. package/highlevel/types/reactions/types.d.cts +16 -0
  420. package/highlevel/types/stories/all-stories.d.cts +28 -0
  421. package/highlevel/types/stories/index.d.cts +7 -0
  422. package/highlevel/types/stories/interactive/base.d.cts +16 -0
  423. package/highlevel/types/stories/interactive/channel-post.d.cts +17 -0
  424. package/highlevel/types/stories/interactive/index.d.cts +12 -0
  425. package/highlevel/types/stories/interactive/input.d.cts +68 -0
  426. package/highlevel/types/stories/interactive/location.d.cts +15 -0
  427. package/highlevel/types/stories/interactive/reaction.d.cts +21 -0
  428. package/highlevel/types/stories/interactive/url.d.cts +11 -0
  429. package/highlevel/types/stories/interactive/venue.d.cts +28 -0
  430. package/highlevel/types/stories/interactive/weather.d.cts +15 -0
  431. package/highlevel/types/stories/peer-stories.d.cts +20 -0
  432. package/highlevel/types/stories/stealth-mode.d.cts +9 -0
  433. package/highlevel/types/stories/story-interactions.d.cts +34 -0
  434. package/highlevel/types/stories/story-viewer.d.cts +75 -0
  435. package/highlevel/types/stories/story.d.cts +79 -0
  436. package/highlevel/types/updates/bot-chat-join-request.d.cts +42 -0
  437. package/highlevel/types/updates/bot-reaction.d.cts +71 -0
  438. package/highlevel/types/updates/bot-stopped.d.cts +28 -0
  439. package/highlevel/types/updates/business-message.d.cts +18 -0
  440. package/highlevel/types/updates/callback-query.d.cts +95 -0
  441. package/highlevel/types/updates/chat-join-request.d.cts +30 -0
  442. package/highlevel/types/updates/chat-member-update.cjs +1 -0
  443. package/highlevel/types/updates/chat-member-update.d.cts +76 -0
  444. package/highlevel/types/updates/chat-member-update.js +1 -0
  445. package/highlevel/types/updates/chosen-inline-result.d.cts +50 -0
  446. package/highlevel/types/updates/delete-business-message-update.d.cts +21 -0
  447. package/highlevel/types/updates/delete-message-update.d.cts +16 -0
  448. package/highlevel/types/updates/delete-story-update.d.cts +18 -0
  449. package/highlevel/types/updates/history-read-update.d.cts +39 -0
  450. package/highlevel/types/updates/index.d.cts +107 -0
  451. package/highlevel/types/updates/inline-query.d.cts +42 -0
  452. package/highlevel/types/updates/parse-update.d.cts +4 -0
  453. package/highlevel/types/updates/poll-update.d.cts +39 -0
  454. package/highlevel/types/updates/poll-vote.d.cts +52 -0
  455. package/highlevel/types/updates/pre-checkout-query.d.cts +36 -0
  456. package/highlevel/types/updates/story-update.d.cts +22 -0
  457. package/highlevel/types/updates/user-status-update.d.cts +28 -0
  458. package/highlevel/types/updates/user-typing-update.d.cts +31 -0
  459. package/highlevel/types/utils.d.cts +12 -0
  460. package/highlevel/updates/index.d.cts +2 -0
  461. package/highlevel/updates/manager.d.cts +121 -0
  462. package/highlevel/updates/parsed.d.cts +26 -0
  463. package/highlevel/updates/types.d.cts +147 -0
  464. package/highlevel/updates/utils.d.cts +21 -0
  465. package/highlevel/utils/convert-file-id.d.cts +46 -0
  466. package/highlevel/utils/entities.d.cts +19 -0
  467. package/highlevel/utils/entities.test.d.cts +1 -0
  468. package/highlevel/utils/file-type.d.cts +2 -0
  469. package/highlevel/utils/file-type.test.d.cts +1 -0
  470. package/highlevel/utils/file-utils.d.cts +31 -0
  471. package/highlevel/utils/file-utils.test.d.cts +1 -0
  472. package/highlevel/utils/index.d.cts +11 -0
  473. package/highlevel/utils/inline-utils.d.cts +14 -0
  474. package/highlevel/utils/inline-utils.test.d.cts +1 -0
  475. package/highlevel/utils/inspectable.d.cts +9 -0
  476. package/highlevel/utils/inspectable.test.d.cts +1 -0
  477. package/highlevel/utils/memoize.d.cts +1 -0
  478. package/highlevel/utils/memoize.test.d.cts +1 -0
  479. package/highlevel/utils/misc-utils.d.cts +12 -0
  480. package/highlevel/utils/peer-utils.d.cts +11 -0
  481. package/highlevel/utils/peer-utils.test.d.cts +1 -0
  482. package/highlevel/utils/query-batcher.d.cts +49 -0
  483. package/highlevel/utils/query-batcher.test.d.cts +1 -0
  484. package/highlevel/utils/rps-meter.d.cts +9 -0
  485. package/highlevel/utils/stream-utils.d.cts +1 -0
  486. package/highlevel/utils/string-session.d.cts +16 -0
  487. package/highlevel/utils/string-session.test.d.cts +1 -0
  488. package/highlevel/utils/voice-utils.d.cts +14 -0
  489. package/highlevel/utils/voice-utils.test.d.cts +1 -0
  490. package/highlevel/worker/app-config.d.cts +9 -0
  491. package/highlevel/worker/errors.d.cts +8 -0
  492. package/highlevel/worker/index.d.cts +3 -0
  493. package/highlevel/worker/invoker.d.cts +18 -0
  494. package/highlevel/worker/port.d.cts +60 -0
  495. package/highlevel/worker/protocol.d.cts +57 -0
  496. package/highlevel/worker/storage.d.cts +39 -0
  497. package/highlevel/worker/worker.d.cts +15 -0
  498. package/index.cjs +8 -0
  499. package/index.d.cts +10 -0
  500. package/index.js +8 -0
  501. package/methods.d.cts +1 -0
  502. package/network/auth-key.d.cts +21 -0
  503. package/network/auth-key.test.d.cts +1 -0
  504. package/network/authorization.d.cts +9 -0
  505. package/network/client.d.cts +218 -0
  506. package/network/config-manager.d.cts +19 -0
  507. package/network/config-manager.test.d.cts +1 -0
  508. package/network/index.d.cts +6 -0
  509. package/network/middlewares/bundle.d.cts +3 -0
  510. package/network/middlewares/default.d.cts +8 -0
  511. package/network/middlewares/flood-waiter.d.cts +37 -0
  512. package/network/middlewares/index.d.cts +4 -0
  513. package/network/middlewares/index.d.ts +2 -0
  514. package/network/middlewares/internal-errors.d.cts +17 -0
  515. package/network/middlewares/on-error.d.cts +30 -0
  516. package/network/middlewares/on-method.d.cts +39 -0
  517. package/network/mtproto-session.d.cts +127 -0
  518. package/network/mtproxy/_fake-tls.d.cts +22 -0
  519. package/network/mtproxy/index.d.cts +42 -0
  520. package/network/multi-session-connection.cjs +25 -43
  521. package/network/multi-session-connection.d.cts +43 -0
  522. package/network/multi-session-connection.d.ts +5 -5
  523. package/network/multi-session-connection.js +25 -43
  524. package/network/network-manager.cjs +7 -20
  525. package/network/network-manager.d.cts +256 -0
  526. package/network/network-manager.js +7 -20
  527. package/network/persistent-connection.cjs +8 -0
  528. package/network/persistent-connection.d.cts +55 -0
  529. package/network/persistent-connection.d.ts +3 -1
  530. package/network/persistent-connection.js +8 -0
  531. package/network/server-salt.d.cts +12 -0
  532. package/network/session-connection.cjs +35 -18
  533. package/network/session-connection.d.cts +94 -0
  534. package/network/session-connection.d.ts +5 -3
  535. package/network/session-connection.js +35 -18
  536. package/network/transports/abstract.d.cts +47 -0
  537. package/network/transports/index.d.cts +3 -0
  538. package/network/transports/intermediate.d.cts +23 -0
  539. package/network/transports/intermediate.test.d.cts +1 -0
  540. package/network/transports/obfuscated.d.cts +23 -0
  541. package/network/transports/obfuscated.test.d.cts +1 -0
  542. package/package.json +13 -13
  543. package/storage/driver.d.cts +58 -0
  544. package/storage/index.d.cts +6 -0
  545. package/storage/memory/driver.d.cts +6 -0
  546. package/storage/memory/index.d.cts +22 -0
  547. package/storage/memory/memory.test.d.cts +1 -0
  548. package/storage/memory/repository/auth-keys.d.cts +19 -0
  549. package/storage/memory/repository/kv.d.cts +11 -0
  550. package/storage/memory/repository/peers.d.cts +18 -0
  551. package/storage/memory/repository/ref-messages.d.cts +16 -0
  552. package/storage/provider.d.cts +10 -0
  553. package/storage/repository/auth-keys.d.cts +41 -0
  554. package/storage/repository/index.d.cts +2 -0
  555. package/storage/repository/key-value.d.cts +10 -0
  556. package/storage/service/auth-keys.d.cts +9 -0
  557. package/storage/service/auth-keys.test.d.cts +1 -0
  558. package/storage/service/base.d.cts +19 -0
  559. package/storage/service/default-dcs.d.cts +10 -0
  560. package/storage/service/future-salts.d.cts +11 -0
  561. package/storage/service/updates.test.d.cts +1 -0
  562. package/storage/service/utils.test-utils.d.cts +2 -0
  563. package/storage/sqlite/driver.d.cts +24 -0
  564. package/storage/sqlite/index.d.cts +17 -0
  565. package/storage/sqlite/repository/auth-keys.d.cts +20 -0
  566. package/storage/sqlite/repository/kv.d.cts +14 -0
  567. package/storage/sqlite/repository/peers.d.cts +19 -0
  568. package/storage/sqlite/repository/ref-messages.d.cts +16 -0
  569. package/storage/sqlite/types.d.cts +18 -0
  570. package/storage/storage.d.cts +55 -0
  571. package/types/errors.d.cts +53 -0
  572. package/types/index.d.cts +4 -0
  573. package/types/peers.d.cts +4 -0
  574. package/types/platform.d.cts +15 -0
  575. package/types/utils.d.cts +9 -0
  576. package/utils/abort-signal.d.cts +1 -0
  577. package/utils/bigint-utils.d.cts +18 -0
  578. package/utils/bigint-utils.test.d.cts +1 -0
  579. package/utils/binary/asn1-parser.d.cts +17 -0
  580. package/utils/crypto/abstract.d.cts +29 -0
  581. package/utils/crypto/factorization.d.cts +6 -0
  582. package/utils/crypto/factorization.test.d.cts +1 -0
  583. package/utils/crypto/index.d.cts +6 -0
  584. package/utils/crypto/keys.d.cts +27 -0
  585. package/utils/crypto/keys.test.d.cts +1 -0
  586. package/utils/crypto/miller-rabin.d.cts +2 -0
  587. package/utils/crypto/miller-rabin.test.d.cts +1 -0
  588. package/utils/crypto/mtproto.d.cts +31 -0
  589. package/utils/crypto/mtproto.test.d.cts +1 -0
  590. package/utils/crypto/password.d.cts +29 -0
  591. package/utils/crypto/password.test.d.cts +1 -0
  592. package/utils/dcs.d.cts +18 -0
  593. package/utils/early-timer.d.cts +41 -0
  594. package/utils/error-reporting.d.cts +3 -0
  595. package/utils/function-utils.d.cts +22 -0
  596. package/utils/function-utils.test.d.cts +1 -0
  597. package/utils/index.d.cts +20 -0
  598. package/utils/linked-list.d.cts +21 -0
  599. package/utils/linked-list.test.d.cts +1 -0
  600. package/utils/links/bots.d.cts +72 -0
  601. package/utils/links/bots.test.d.cts +1 -0
  602. package/utils/links/bundle.d.cts +7 -0
  603. package/utils/links/calls.d.cts +17 -0
  604. package/utils/links/chat.d.cts +47 -0
  605. package/utils/links/chat.test.d.cts +1 -0
  606. package/utils/links/common.d.cts +31 -0
  607. package/utils/links/index.d.cts +2 -0
  608. package/utils/links/misc.d.cts +26 -0
  609. package/utils/links/misc.test.d.cts +1 -0
  610. package/utils/links/proxy.d.cts +18 -0
  611. package/utils/links/proxy.test.d.cts +1 -0
  612. package/utils/links/stickers.d.cts +10 -0
  613. package/utils/links/user.d.cts +28 -0
  614. package/utils/links/user.test.d.cts +1 -0
  615. package/utils/logger.d.cts +54 -0
  616. package/utils/logger.test.d.cts +1 -0
  617. package/utils/long-utils.d.cts +67 -0
  618. package/utils/long-utils.test.d.cts +1 -0
  619. package/utils/misc-utils.d.cts +2 -0
  620. package/utils/peer-utils.d.cts +29 -0
  621. package/utils/peer-utils.test.d.cts +1 -0
  622. package/utils/sorted-array.d.cts +17 -0
  623. package/utils/sorted-array.test.d.cts +1 -0
  624. package/utils/timers.d.cts +1 -0
  625. package/utils/tl-json.d.cts +13 -0
  626. package/utils/tl-json.test.d.cts +1 -0
  627. package/utils/type-assertions.d.cts +29 -0
  628. package/utils/type-assertions.test.d.cts +1 -0
  629. package/utils.d.cts +1 -0
  630. package/worker.d.cts +1 -0
@@ -0,0 +1,19 @@
1
+ import { tl } from '@mtcute/tl';
2
+ import { TlReaderMap, TlWriterMap } from '@mtcute/tl-runtime';
3
+ import { Logger } from '../../utils/logger.js';
4
+ import { IStorageDriver } from '../driver.js';
5
+ export interface ServiceOptions {
6
+ driver: IStorageDriver;
7
+ readerMap: TlReaderMap;
8
+ writerMap: TlWriterMap;
9
+ log: Logger;
10
+ }
11
+ export declare class BaseService {
12
+ protected _driver: IStorageDriver;
13
+ protected _readerMap: TlReaderMap;
14
+ protected _writerMap: TlWriterMap;
15
+ protected _log: Logger;
16
+ constructor(opts: ServiceOptions);
17
+ protected _serializeTl(obj: tl.TlObject): Uint8Array;
18
+ protected _deserializeTl(data: Uint8Array): tl.TlObject | null;
19
+ }
@@ -0,0 +1,10 @@
1
+ import { DcOptions } from '../../utils/dcs.js';
2
+ import { IKeyValueRepository } from '../repository/key-value.js';
3
+ import { ServiceOptions, BaseService } from './base.js';
4
+ export declare class DefaultDcsService extends BaseService {
5
+ readonly _kv: IKeyValueRepository;
6
+ constructor(_kv: IKeyValueRepository, opts: ServiceOptions);
7
+ private _cached?;
8
+ store(dcs: DcOptions): Promise<void>;
9
+ fetch(): Promise<DcOptions | null>;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { mtp } from '@mtcute/tl';
2
+ import { IKeyValueRepository } from '../repository/key-value.js';
3
+ import { ServiceOptions, BaseService } from './base.js';
4
+ export declare class FutureSaltsService extends BaseService {
5
+ readonly _kv: IKeyValueRepository;
6
+ constructor(_kv: IKeyValueRepository, opts: ServiceOptions);
7
+ private _cached;
8
+ store(dcId: number, salts: mtp.RawMt_future_salt[]): Promise<void>;
9
+ fetch(dcId: number): Promise<mtp.RawMt_future_salt[] | null>;
10
+ delete(dcId: number): Promise<void>;
11
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ServiceOptions } from './base.js';
2
+ export declare function testServiceOptions(): ServiceOptions;
@@ -0,0 +1,24 @@
1
+ import { ISqliteDatabase, ISqliteStatement } from './types.js';
2
+ import { BaseStorageDriver } from '../driver.js';
3
+ type MigrationFunction = (db: ISqliteDatabase) => void;
4
+ export declare abstract class BaseSqliteStorageDriver extends BaseStorageDriver {
5
+ db: ISqliteDatabase;
6
+ private _pending;
7
+ private _runMany;
8
+ private _cleanup?;
9
+ private _migrations;
10
+ private _maxVersion;
11
+ private _legacyMigrations;
12
+ registerLegacyMigration(repo: string, migration: MigrationFunction): void;
13
+ registerMigration(repo: string, version: number, migration: MigrationFunction): void;
14
+ private _onLoad;
15
+ onLoad(cb: (db: ISqliteDatabase) => void): void;
16
+ _writeLater(stmt: ISqliteStatement, params: unknown[]): void;
17
+ private _runLegacyMigrations;
18
+ _initialize(): void;
19
+ abstract _createDatabase(): ISqliteDatabase;
20
+ _load(): Promise<void>;
21
+ _save(): void;
22
+ _destroy(): void;
23
+ }
24
+ export {};
@@ -0,0 +1,17 @@
1
+ import { ITelegramStorageProvider } from '../../highlevel/storage/provider.js';
2
+ import { IMtStorageProvider } from '../provider.js';
3
+ import { BaseSqliteStorageDriver } from './driver.js';
4
+ import { SqliteAuthKeysRepository } from './repository/auth-keys.js';
5
+ import { SqliteKeyValueRepository } from './repository/kv.js';
6
+ import { SqlitePeersRepository } from './repository/peers.js';
7
+ import { SqliteRefMessagesRepository } from './repository/ref-messages.js';
8
+ export { BaseSqliteStorageDriver };
9
+ export * from './types.js';
10
+ export declare class BaseSqliteStorage implements IMtStorageProvider, ITelegramStorageProvider {
11
+ readonly driver: BaseSqliteStorageDriver;
12
+ readonly authKeys: SqliteAuthKeysRepository;
13
+ readonly kv: SqliteKeyValueRepository;
14
+ readonly refMessages: SqliteRefMessagesRepository;
15
+ readonly peers: SqlitePeersRepository;
16
+ constructor(driver: BaseSqliteStorageDriver);
17
+ }
@@ -0,0 +1,20 @@
1
+ import { IAuthKeysRepository } from '../../repository/auth-keys.js';
2
+ import { BaseSqliteStorageDriver } from '../driver.js';
3
+ export declare class SqliteAuthKeysRepository implements IAuthKeysRepository {
4
+ readonly _driver: BaseSqliteStorageDriver;
5
+ constructor(_driver: BaseSqliteStorageDriver);
6
+ private _set;
7
+ private _del;
8
+ set(dc: number, key: Uint8Array | null): void;
9
+ private _get;
10
+ get(dc: number): Uint8Array | null;
11
+ private _setTemp;
12
+ private _delTemp;
13
+ setTemp(dc: number, idx: number, key: Uint8Array | null, expires: number): void;
14
+ private _getTemp;
15
+ getTemp(dc: number, idx: number, now: number): Uint8Array | null;
16
+ private _delTempAll;
17
+ deleteByDc(dc: number): void;
18
+ private _delAll;
19
+ deleteAll(): void;
20
+ }
@@ -0,0 +1,14 @@
1
+ import { IKeyValueRepository } from '../../repository/key-value.js';
2
+ import { BaseSqliteStorageDriver } from '../driver.js';
3
+ export declare class SqliteKeyValueRepository implements IKeyValueRepository {
4
+ readonly _driver: BaseSqliteStorageDriver;
5
+ constructor(_driver: BaseSqliteStorageDriver);
6
+ private _set;
7
+ set(key: string, value: Uint8Array): void;
8
+ private _get;
9
+ get(key: string): Uint8Array | null;
10
+ private _del;
11
+ delete(key: string): void;
12
+ private _delAll;
13
+ deleteAll(): void;
14
+ }
@@ -0,0 +1,19 @@
1
+ import { IPeersRepository } from '../../../highlevel/storage/repository/peers.js';
2
+ import { BaseSqliteStorageDriver } from '../driver.js';
3
+ export declare class SqlitePeersRepository implements IPeersRepository {
4
+ readonly _driver: BaseSqliteStorageDriver;
5
+ private _loaded;
6
+ constructor(_driver: BaseSqliteStorageDriver);
7
+ private _ensureLoaded;
8
+ private _store;
9
+ store(peer: IPeersRepository.PeerInfo): void;
10
+ private _getById;
11
+ private _getByIdAllowMin;
12
+ getById(id: number, allowMin: boolean): IPeersRepository.PeerInfo | null;
13
+ private _getByUsername;
14
+ getByUsername(username: string): IPeersRepository.PeerInfo | null;
15
+ private _getByPhone;
16
+ getByPhone(phone: string): IPeersRepository.PeerInfo | null;
17
+ private _delAll;
18
+ deleteAll(): void;
19
+ }
@@ -0,0 +1,16 @@
1
+ import { IReferenceMessagesRepository } from '../../../highlevel/storage/repository/ref-messages.js';
2
+ import { BaseSqliteStorageDriver } from '../driver.js';
3
+ export declare class SqliteRefMessagesRepository implements IReferenceMessagesRepository {
4
+ readonly _driver: BaseSqliteStorageDriver;
5
+ constructor(_driver: BaseSqliteStorageDriver);
6
+ private _store;
7
+ store(peerId: number, chatId: number, msgId: number): void;
8
+ private _getByPeer;
9
+ getByPeer(peerId: number): [number, number] | null;
10
+ private _del;
11
+ delete(chatId: number, msgIds: number[]): void;
12
+ private _delByPeer;
13
+ deleteByPeer(peerId: number): void;
14
+ private _delAll;
15
+ deleteAll(): void;
16
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * An abstract interface for a SQLite database.
3
+ *
4
+ * Roughly based on `better-sqlite3`'s `Database` class,
5
+ * (which can be used as-is), but only with the methods
6
+ * that are used by mtcute.
7
+ */
8
+ export interface ISqliteDatabase {
9
+ transaction: <F extends (...args: any[]) => any>(fn: F) => F;
10
+ prepare: <BindParameters extends unknown[]>(sql: string) => ISqliteStatement<BindParameters>;
11
+ exec: (sql: string) => void;
12
+ close: () => void;
13
+ }
14
+ export interface ISqliteStatement<BindParameters extends unknown[] = unknown[]> {
15
+ run: (...params: BindParameters) => void;
16
+ get: (...params: BindParameters) => unknown;
17
+ all: (...params: BindParameters) => unknown[];
18
+ }
@@ -0,0 +1,55 @@
1
+ import { TlReaderMap, TlWriterMap } from '@mtcute/tl-runtime';
2
+ import { ICorePlatform } from '../types/platform.js';
3
+ import { Logger } from '../utils/logger.js';
4
+ import { IStorageDriver } from './driver.js';
5
+ import { IMtStorageProvider } from './provider.js';
6
+ import { AuthKeysService } from './service/auth-keys.js';
7
+ import { DefaultDcsService } from './service/default-dcs.js';
8
+ import { FutureSaltsService } from './service/future-salts.js';
9
+ interface StorageManagerOptions {
10
+ provider: IMtStorageProvider;
11
+ platform: ICorePlatform;
12
+ log: Logger;
13
+ readerMap: TlReaderMap;
14
+ writerMap: TlWriterMap;
15
+ }
16
+ /**
17
+ * Additional options for {@link StorageManager}, that
18
+ * can be customized by the user.
19
+ *
20
+ * @internal
21
+ */
22
+ export interface StorageManagerExtraOptions {
23
+ /**
24
+ * Interval in milliseconds for saving the storage.
25
+ *
26
+ * When saving, the storage is expected to persist
27
+ * all changes to disk, so that they are not lost.
28
+ */
29
+ saveInterval?: number;
30
+ /**
31
+ * Whether to finalize database before exiting.
32
+ *
33
+ * @default `true`
34
+ */
35
+ cleanup?: boolean;
36
+ }
37
+ export declare class StorageManager {
38
+ readonly options: StorageManagerOptions & StorageManagerExtraOptions;
39
+ readonly provider: IMtStorageProvider;
40
+ readonly driver: IStorageDriver;
41
+ readonly platform: ICorePlatform;
42
+ readonly log: Logger;
43
+ readonly dcs: DefaultDcsService;
44
+ readonly salts: FutureSaltsService;
45
+ readonly keys: AuthKeysService;
46
+ constructor(options: StorageManagerOptions & StorageManagerExtraOptions);
47
+ private _cleanupRestore?;
48
+ private _load;
49
+ load(): Promise<void>;
50
+ save(): Promise<void>;
51
+ clear(withAuthKeys?: boolean): Promise<void>;
52
+ private _destroy;
53
+ destroy(): Promise<void>;
54
+ }
55
+ export {};
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Base class for all mtcute errors
3
+ */
4
+ export declare class MtcuteError extends Error {
5
+ }
6
+ /**
7
+ * Method invocation was invalid because some argument
8
+ * passed was invalid.
9
+ */
10
+ export declare class MtArgumentError extends MtcuteError {
11
+ }
12
+ /**
13
+ * Something isn't right with security of the connection.
14
+ */
15
+ export declare class MtSecurityError extends MtcuteError {
16
+ }
17
+ /**
18
+ * Either you requested or the server returned something
19
+ * that is not (yet) supported.
20
+ *
21
+ * Stay tuned for future updates!
22
+ *
23
+ * In some cases, this error may mean that you are missing some
24
+ * optional peer dependencies, or that the feature is not supported
25
+ * in the current environment.
26
+ */
27
+ export declare class MtUnsupportedError extends MtcuteError {
28
+ }
29
+ /**
30
+ * Server returned something of an unexpected type.
31
+ *
32
+ * This is usually a problem on library side.
33
+ * Feel free to open an issue about this!
34
+ */
35
+ export declare class MtTypeAssertionError extends MtcuteError {
36
+ /**
37
+ * Context at which the error occurred.
38
+ * Usually a user-friendly string containing name
39
+ * of the high-level API method, name of the TL
40
+ * RPC method, and path of the entity,
41
+ * like this: `signIn (@ auth.signIn -> user)`
42
+ */
43
+ context: string;
44
+ /** Expected TL type */
45
+ expected: string;
46
+ /** Actual TL type */
47
+ actual: string;
48
+ constructor(context: string, expected: string, actual: string);
49
+ }
50
+ export declare class MtTimeoutError extends MtcuteError {
51
+ readonly timeout?: number | undefined;
52
+ constructor(timeout?: number | undefined);
53
+ }
@@ -0,0 +1,4 @@
1
+ export * from './errors.js';
2
+ export * from './peers.js';
3
+ export * from './platform.js';
4
+ export * from './utils.js';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Peer types that have one-to-one relation to `tl.Peer*` types.
3
+ */
4
+ export type BasicPeerType = 'user' | 'chat' | 'channel';
@@ -0,0 +1,15 @@
1
+ import { UploadFileLike } from '../highlevel/types/files/utils.js';
2
+ import { MaybePromise } from './index.js';
3
+ export interface ICorePlatform {
4
+ beforeExit: (fn: () => void) => () => void;
5
+ log: (color: number, level: number, tag: string, fmt: string, args: unknown[]) => void;
6
+ getDefaultLogLevel: () => number | null;
7
+ getDeviceModel: () => string;
8
+ normalizeFile?: (file: UploadFileLike) => MaybePromise<{
9
+ file?: UploadFileLike;
10
+ fileSize?: number;
11
+ fileName?: string;
12
+ } | null>;
13
+ onNetworkChanged?: (fn: (connected: boolean) => void) => () => void;
14
+ isOnline?: () => boolean;
15
+ }
@@ -0,0 +1,9 @@
1
+ export type { MaybeArray, MaybePromise } from '@fuman/utils';
2
+ export type PartialExcept<T, K extends keyof T> = Partial<Omit<T, K>> & Pick<T, K>;
3
+ export type PartialOnly<T, K extends keyof T> = Partial<Pick<T, K>> & Omit<T, K>;
4
+ export type AnyToNever<T> = any extends T ? never : T;
5
+ export type MustEqual<T, V> = (() => T) extends () => V ? ((() => V) extends () => T ? T : V) : V;
6
+ export type PublicPart<T> = {
7
+ [K in keyof T]: T[K];
8
+ };
9
+ export declare function assertNever(_: never): never;
@@ -0,0 +1 @@
1
+ export declare function combineAbortSignals(signal1: AbortSignal, signal2?: AbortSignal): AbortSignal;
@@ -0,0 +1,18 @@
1
+ import { ICryptoProvider } from './crypto/abstract.js';
2
+ /**
3
+ * Generate a cryptographically safe random big integer of the given size (in bytes)
4
+ * @param size Size in bytes
5
+ */
6
+ export declare function randomBigInt(crypto: ICryptoProvider, size: number): bigint;
7
+ /**
8
+ * Generate a random big integer of the given size (in bits)
9
+ * @param bits
10
+ */
11
+ export declare function randomBigIntBits(crypto: ICryptoProvider, bits: number): bigint;
12
+ /**
13
+ * Generate a random big integer in the range [min, max)
14
+ *
15
+ * @param max Maximum value (exclusive)
16
+ * @param min Minimum value (inclusive)
17
+ */
18
+ export declare function randomBigIntInRange(crypto: ICryptoProvider, max: bigint, min?: bigint): bigint;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Parses a single PEM block to buffer.
3
+ * In fact just strips begin/end tags and parses the rest as Base64
4
+ */
5
+ export declare function parsePemContents(pem: string): Uint8Array;
6
+ interface Asn1Object {
7
+ type: number;
8
+ lengthSize: number;
9
+ length: number;
10
+ children?: Asn1Object[];
11
+ value?: Uint8Array;
12
+ }
13
+ /**
14
+ * Parses ASN.1 data to an object
15
+ */
16
+ export declare function parseAsn1(data: Uint8Array): Asn1Object;
17
+ export {};
@@ -0,0 +1,29 @@
1
+ import { MaybePromise } from '../../types/index.js';
2
+ export interface IEncryptionScheme {
3
+ encrypt: (data: Uint8Array) => Uint8Array;
4
+ decrypt: (data: Uint8Array) => Uint8Array;
5
+ }
6
+ export interface IAesCtr {
7
+ process: (data: Uint8Array) => Uint8Array;
8
+ close?: () => void;
9
+ }
10
+ export interface ICryptoProvider {
11
+ initialize?: () => MaybePromise<void>;
12
+ sha1: (data: Uint8Array) => Uint8Array;
13
+ sha256: (data: Uint8Array) => Uint8Array;
14
+ pbkdf2: (password: Uint8Array, salt: Uint8Array, iterations: number, keylen?: number, // = 64
15
+ algo?: string) => MaybePromise<Uint8Array>;
16
+ hmacSha256: (data: Uint8Array, key: Uint8Array) => MaybePromise<Uint8Array>;
17
+ createAesCtr: (key: Uint8Array, iv: Uint8Array, encrypt: boolean) => IAesCtr;
18
+ createAesIge: (key: Uint8Array, iv: Uint8Array) => IEncryptionScheme;
19
+ factorizePQ: (pq: Uint8Array) => MaybePromise<[Uint8Array, Uint8Array]>;
20
+ gzip: (data: Uint8Array, maxSize: number) => Uint8Array | null;
21
+ gunzip: (data: Uint8Array) => Uint8Array;
22
+ randomFill: (buf: Uint8Array) => void;
23
+ randomBytes: (size: number) => Uint8Array;
24
+ }
25
+ export declare abstract class BaseCryptoProvider {
26
+ abstract randomFill(buf: Uint8Array): void;
27
+ factorizePQ(pq: Uint8Array): [Uint8Array, Uint8Array];
28
+ randomBytes(size: number): Uint8Array;
29
+ }
@@ -0,0 +1,6 @@
1
+ import { ICryptoProvider } from './abstract.js';
2
+ /**
3
+ * Factorize `p*q` to `p` and `q` synchronously using Brent-Pollard rho algorithm
4
+ * @param pq
5
+ */
6
+ export declare function factorizePQSync(crypto: ICryptoProvider, pq: Uint8Array): [Uint8Array, Uint8Array];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './abstract.js';
2
+ export * from './factorization.js';
3
+ export * from './keys.js';
4
+ export * from './miller-rabin.js';
5
+ export * from './mtproto.js';
6
+ export * from './password.js';
@@ -0,0 +1,27 @@
1
+ import { TlPublicKey } from '@mtcute/tl/binary/rsa-keys.js';
2
+ import { default as Long } from 'long';
3
+ import { ICryptoProvider } from './abstract.js';
4
+ /**
5
+ * Parse PEM-encoded RSA public key information into modulus and exponent
6
+ * and compute its fingerprint as defined by MTProto.
7
+ *
8
+ * @param crypto Crypto provider
9
+ * @param key PEM-encoded RSA public key
10
+ * @param old Whether this is an "old" key
11
+ */
12
+ export declare function parsePublicKey(crypto: ICryptoProvider, key: string, old?: boolean): TlPublicKey;
13
+ /**
14
+ * Add public key to the global index.
15
+ *
16
+ * @param crypto Crypto provider
17
+ * @param key PEM-encoded RSA public key
18
+ * @param old Whether this is an "old" key
19
+ */
20
+ export declare function addPublicKey(crypto: ICryptoProvider, key: string, old?: boolean): void;
21
+ /**
22
+ * Get public key by its fingerprint.
23
+ *
24
+ * @param fingerprints Fingerprints to match. The first one to match is returned.
25
+ * @param allowOld Whether to allow "old" keys
26
+ */
27
+ export declare function findKeyByFingerprints(fingerprints: (string | Long)[], allowOld?: boolean): TlPublicKey | null;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ICryptoProvider } from './abstract.js';
2
+ export declare function millerRabin(crypto: ICryptoProvider, n: bigint, rounds?: number): boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ import { ICryptoProvider, IEncryptionScheme } from './abstract.js';
2
+ /**
3
+ * Generate AES key and IV from nonces as defined by MTProto.
4
+ * Used in authorization flow.
5
+ *
6
+ * @param crypto Crypto provider
7
+ * @param serverNonce Server nonce
8
+ * @param newNonce New nonce
9
+ * @returns Tuple: `[key, iv]`
10
+ */
11
+ export declare function generateKeyAndIvFromNonce(crypto: ICryptoProvider, serverNonce: Uint8Array, newNonce: Uint8Array): [Uint8Array, Uint8Array];
12
+ /**
13
+ * Create AES IGE instance for message (given auth key and message key)
14
+ * as defined by MTProto v2.
15
+ *
16
+ * @param crypto Crypto provider
17
+ * @param authKey Authorization key
18
+ * @param messageKey Message key
19
+ * @param client Whether this is a client to server message
20
+ */
21
+ export declare function createAesIgeForMessage(crypto: ICryptoProvider, authKey: Uint8Array, messageKey: Uint8Array, client: boolean): IEncryptionScheme;
22
+ /**
23
+ * Create AES IGE instance for file (given auth key and message key)
24
+ * as defined by MTProto v1.
25
+ *
26
+ * @param crypto Crypto provider
27
+ * @param authKey Authorization key
28
+ * @param messageKey Message key
29
+ * @param client Whether this is a client to server message
30
+ */
31
+ export declare function createAesIgeForMessageOld(crypto: ICryptoProvider, authKey: Uint8Array, messageKey: Uint8Array, client: boolean): IEncryptionScheme;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,29 @@
1
+ import { tl } from '@mtcute/tl';
2
+ import { ICryptoProvider } from './abstract.js';
3
+ /**
4
+ * Compute password hash as defined by MTProto.
5
+ *
6
+ * See https://core.telegram.org/api/srp#checking-the-password-with-srp
7
+ *
8
+ * @param crypto Crypto provider
9
+ * @param password Password
10
+ * @param salt1 Salt 1
11
+ * @param salt2 Salt 2
12
+ */
13
+ export declare function computePasswordHash(crypto: ICryptoProvider, password: Uint8Array, salt1: Uint8Array, salt2: Uint8Array): Promise<Uint8Array>;
14
+ /**
15
+ * Compute new password SRP hash as defined by MTProto.
16
+ *
17
+ * @param crypto Crypto provider
18
+ * @param algo KDF algorithm
19
+ * @param password Password
20
+ */
21
+ export declare function computeNewPasswordHash(crypto: ICryptoProvider, algo: tl.TypePasswordKdfAlgo, password: string): Promise<Uint8Array>;
22
+ /**
23
+ * Compute SRP check parameters for 2fa password as defined by MTProto.
24
+ *
25
+ * @param crypto Crypto provider
26
+ * @param request SRP request
27
+ * @param password 2fa password
28
+ */
29
+ export declare function computeSrpParams(crypto: ICryptoProvider, request: tl.account.RawPassword, password: string): Promise<tl.RawInputCheckPasswordSRP>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ export interface BasicDcOption {
2
+ ipAddress: string;
3
+ port: number;
4
+ id: number;
5
+ ipv6?: boolean;
6
+ mediaOnly?: boolean;
7
+ testMode?: boolean;
8
+ }
9
+ export declare function serializeBasicDcOption(dc: BasicDcOption): Uint8Array;
10
+ export declare function parseBasicDcOption(data: Uint8Array): BasicDcOption | null;
11
+ export interface DcOptions {
12
+ main: BasicDcOption;
13
+ media: BasicDcOption;
14
+ }
15
+ export declare const defaultProductionDc: DcOptions;
16
+ export declare const defaultProductionIpv6Dc: DcOptions;
17
+ export declare const defaultTestDc: DcOptions;
18
+ export declare const defaultTestIpv6Dc: DcOptions;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Wrapper over JS timers that allows re-scheduling them
3
+ * to earlier time
4
+ */
5
+ export declare class EarlyTimer {
6
+ private _timeout?;
7
+ private _timeoutTs?;
8
+ private _handler;
9
+ constructor();
10
+ /**
11
+ * Emit the timer when the event loop is idle
12
+ * (basically `setImmediate()`)
13
+ */
14
+ emitWhenIdle(): void;
15
+ /**
16
+ * Emit the timer before the next given milliseconds
17
+ *
18
+ * Shorthand for `emitBefore(Date.now() + ms)`
19
+ *
20
+ * @param ms Milliseconds to schedule for
21
+ */
22
+ emitBeforeNext(ms: number): void;
23
+ /**
24
+ * Emit the timer before the given time
25
+ *
26
+ * @param ts Unix time in MS
27
+ */
28
+ emitBefore(ts: number): void;
29
+ /**
30
+ * Emit the timer right now
31
+ */
32
+ emitNow(): void;
33
+ /**
34
+ * Cancel the timer
35
+ */
36
+ reset(): void;
37
+ /**
38
+ * Set timeout handler
39
+ */
40
+ onTimeout(handler: () => void): void;
41
+ }
@@ -0,0 +1,3 @@
1
+ import { tl } from '@mtcute/tl';
2
+ import { Logger } from './logger.js';
3
+ export declare function reportUnknownError(log: Logger, error: tl.RpcError, method: string): void;
@@ -0,0 +1,22 @@
1
+ export type ThrottledFunction = (() => void) & {
2
+ reset: () => void;
3
+ };
4
+ /**
5
+ * Throttle a function with a given delay.
6
+ * Similar to lodash.
7
+ *
8
+ * Throttling `F` for a delay of `D` means that
9
+ * `F` will be called no more than 1 time every `D`.
10
+ * In this implementation, `F` is called after `D`
11
+ * has passed since the previous non-throttled invocation
12
+ *
13
+ * @param func Function to throttle
14
+ * @param delay Throttle delay
15
+ */
16
+ export declare function throttle(func: () => void, delay: number): ThrottledFunction;
17
+ export declare function asyncResettable<T extends (...args: any[]) => Promise<any>>(func: T): {
18
+ run: T;
19
+ finished: () => boolean;
20
+ wait: () => Promise<any> | null;
21
+ reset: () => void;
22
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ export * from '../highlevel/storage/service/current-user.js';
2
+ export * from '../highlevel/storage/service/updates.js';
3
+ export * from '../highlevel/utils/index.js';
4
+ export * from '../storage/service/base.js';
5
+ export * from '../storage/service/default-dcs.js';
6
+ export * from './bigint-utils.js';
7
+ export * from './crypto/index.js';
8
+ export * from './dcs.js';
9
+ export * from './early-timer.js';
10
+ export * from './function-utils.js';
11
+ export * from './linked-list.js';
12
+ export * from './links/index.js';
13
+ export * from './logger.js';
14
+ export * from './long-utils.js';
15
+ export * from './misc-utils.js';
16
+ export * from './peer-utils.js';
17
+ export * from './sorted-array.js';
18
+ export * from './tl-json.js';
19
+ export * from './type-assertions.js';
20
+ export * from '@mtcute/tl-runtime';