@mtcute/core 0.28.2 → 0.29.1

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 (751) hide show
  1. package/client.cjs +0 -4
  2. package/client.js +0 -4
  3. package/highlevel/base.cjs +11 -11
  4. package/highlevel/base.d.cts +1 -1
  5. package/highlevel/base.d.ts +1 -1
  6. package/highlevel/base.js +11 -11
  7. package/highlevel/client.d.cts +9 -18
  8. package/highlevel/client.d.ts +9 -18
  9. package/highlevel/client.types.d.cts +5 -2
  10. package/highlevel/client.types.d.ts +5 -2
  11. package/highlevel/managers/timers.cjs +38 -18
  12. package/highlevel/managers/timers.d.cts +18 -4
  13. package/highlevel/managers/timers.d.ts +18 -4
  14. package/highlevel/managers/timers.js +38 -18
  15. package/highlevel/managers/timers.test.d.cts +1 -0
  16. package/highlevel/managers/timers.test.d.ts +1 -0
  17. package/highlevel/methods/auth/check-password.d.cts +1 -1
  18. package/highlevel/methods/auth/check-password.d.ts +1 -1
  19. package/highlevel/methods/auth/send-code.d.cts +1 -1
  20. package/highlevel/methods/auth/send-code.d.ts +1 -1
  21. package/highlevel/methods/auth/sign-in-qr.cjs +4 -4
  22. package/highlevel/methods/auth/sign-in-qr.js +4 -4
  23. package/highlevel/methods/auth/start.cjs +6 -6
  24. package/highlevel/methods/auth/start.d.cts +1 -1
  25. package/highlevel/methods/auth/start.d.ts +1 -1
  26. package/highlevel/methods/auth/start.js +6 -6
  27. package/highlevel/methods/auth/utils.d.cts +1 -1
  28. package/highlevel/methods/auth/utils.d.ts +1 -1
  29. package/highlevel/methods/bots/answer-inline-query.d.cts +1 -1
  30. package/highlevel/methods/bots/answer-inline-query.d.ts +1 -1
  31. package/highlevel/methods/bots/answer-pre-checkout-query.d.cts +1 -1
  32. package/highlevel/methods/bots/answer-pre-checkout-query.d.ts +1 -1
  33. package/highlevel/methods/bots/delete-my-commands.d.cts +1 -1
  34. package/highlevel/methods/bots/delete-my-commands.d.ts +1 -1
  35. package/highlevel/methods/bots/get-bot-info.d.cts +1 -1
  36. package/highlevel/methods/bots/get-bot-info.d.ts +1 -1
  37. package/highlevel/methods/bots/get-bot-menu-button.d.cts +1 -1
  38. package/highlevel/methods/bots/get-bot-menu-button.d.ts +1 -1
  39. package/highlevel/methods/bots/get-callback-answer.d.cts +1 -1
  40. package/highlevel/methods/bots/get-callback-answer.d.ts +1 -1
  41. package/highlevel/methods/bots/get-game-high-scores.d.cts +1 -1
  42. package/highlevel/methods/bots/get-game-high-scores.d.ts +1 -1
  43. package/highlevel/methods/bots/get-my-commands.d.cts +1 -1
  44. package/highlevel/methods/bots/get-my-commands.d.ts +1 -1
  45. package/highlevel/methods/bots/normalize-command-scope.cjs +2 -2
  46. package/highlevel/methods/bots/normalize-command-scope.d.cts +1 -1
  47. package/highlevel/methods/bots/normalize-command-scope.d.ts +1 -1
  48. package/highlevel/methods/bots/normalize-command-scope.js +2 -2
  49. package/highlevel/methods/bots/open-webview.cjs +15 -9
  50. package/highlevel/methods/bots/open-webview.d.cts +1 -1
  51. package/highlevel/methods/bots/open-webview.d.ts +1 -1
  52. package/highlevel/methods/bots/open-webview.js +15 -9
  53. package/highlevel/methods/bots/prepare-inline-message.d.cts +1 -1
  54. package/highlevel/methods/bots/prepare-inline-message.d.ts +1 -1
  55. package/highlevel/methods/bots/set-bot-menu-button.d.cts +1 -1
  56. package/highlevel/methods/bots/set-bot-menu-button.d.ts +1 -1
  57. package/highlevel/methods/bots/set-game-score.d.cts +1 -1
  58. package/highlevel/methods/bots/set-game-score.d.ts +1 -1
  59. package/highlevel/methods/bots/set-my-commands.d.cts +1 -1
  60. package/highlevel/methods/bots/set-my-commands.d.ts +1 -1
  61. package/highlevel/methods/bots/set-my-default-rights.d.cts +1 -1
  62. package/highlevel/methods/bots/set-my-default-rights.d.ts +1 -1
  63. package/highlevel/methods/chats/add-chat-members.d.cts +1 -1
  64. package/highlevel/methods/chats/add-chat-members.d.ts +1 -1
  65. package/highlevel/methods/chats/batched-queries.cjs +3 -3
  66. package/highlevel/methods/chats/batched-queries.d.cts +1 -1
  67. package/highlevel/methods/chats/batched-queries.d.ts +1 -1
  68. package/highlevel/methods/chats/batched-queries.js +3 -3
  69. package/highlevel/methods/chats/create-group.d.cts +1 -1
  70. package/highlevel/methods/chats/create-group.d.ts +1 -1
  71. package/highlevel/methods/chats/edit-admin-rights.d.cts +1 -1
  72. package/highlevel/methods/chats/edit-admin-rights.d.ts +1 -1
  73. package/highlevel/methods/chats/get-chat-event-log.d.cts +1 -1
  74. package/highlevel/methods/chats/get-chat-event-log.d.ts +1 -1
  75. package/highlevel/methods/chats/get-chat-member.cjs +2 -2
  76. package/highlevel/methods/chats/get-chat-member.js +2 -2
  77. package/highlevel/methods/chats/restrict-chat-member.d.cts +1 -1
  78. package/highlevel/methods/chats/restrict-chat-member.d.ts +1 -1
  79. package/highlevel/methods/chats/save-draft.d.cts +1 -1
  80. package/highlevel/methods/chats/save-draft.d.ts +1 -1
  81. package/highlevel/methods/chats/set-chat-color.d.cts +1 -1
  82. package/highlevel/methods/chats/set-chat-color.d.ts +1 -1
  83. package/highlevel/methods/chats/set-chat-default-permissions.d.cts +1 -1
  84. package/highlevel/methods/chats/set-chat-default-permissions.d.ts +1 -1
  85. package/highlevel/methods/chats/set-chat-photo.cjs +3 -3
  86. package/highlevel/methods/chats/set-chat-photo.js +3 -3
  87. package/highlevel/methods/contacts/import-contacts.d.cts +1 -1
  88. package/highlevel/methods/contacts/import-contacts.d.ts +1 -1
  89. package/highlevel/methods/contacts/set-contact-note.cjs +0 -2
  90. package/highlevel/methods/contacts/set-contact-note.js +0 -2
  91. package/highlevel/methods/dialogs/create-folder.d.cts +1 -1
  92. package/highlevel/methods/dialogs/create-folder.d.ts +1 -1
  93. package/highlevel/methods/dialogs/delete-folder.d.cts +1 -1
  94. package/highlevel/methods/dialogs/delete-folder.d.ts +1 -1
  95. package/highlevel/methods/dialogs/edit-folder.d.cts +1 -1
  96. package/highlevel/methods/dialogs/edit-folder.d.ts +1 -1
  97. package/highlevel/methods/dialogs/find-folder.cjs +1 -1
  98. package/highlevel/methods/dialogs/find-folder.d.cts +1 -1
  99. package/highlevel/methods/dialogs/find-folder.d.ts +1 -1
  100. package/highlevel/methods/dialogs/find-folder.js +1 -1
  101. package/highlevel/methods/dialogs/get-folders.d.cts +1 -1
  102. package/highlevel/methods/dialogs/get-folders.d.ts +1 -1
  103. package/highlevel/methods/dialogs/iter-dialogs.d.cts +1 -1
  104. package/highlevel/methods/dialogs/iter-dialogs.d.ts +1 -1
  105. package/highlevel/methods/dialogs/join-chatlist.d.cts +1 -1
  106. package/highlevel/methods/dialogs/join-chatlist.d.ts +1 -1
  107. package/highlevel/methods/files/download-chunk.cjs +2 -2
  108. package/highlevel/methods/files/download-chunk.js +2 -2
  109. package/highlevel/methods/files/download-iterable.cjs +3 -3
  110. package/highlevel/methods/files/download-iterable.d.cts +1 -1
  111. package/highlevel/methods/files/download-iterable.d.ts +1 -1
  112. package/highlevel/methods/files/download-iterable.js +3 -3
  113. package/highlevel/methods/files/normalize-file-to-document.cjs +2 -2
  114. package/highlevel/methods/files/normalize-file-to-document.d.cts +1 -1
  115. package/highlevel/methods/files/normalize-file-to-document.d.ts +1 -1
  116. package/highlevel/methods/files/normalize-file-to-document.js +2 -2
  117. package/highlevel/methods/files/normalize-input-file.cjs +3 -3
  118. package/highlevel/methods/files/normalize-input-file.d.cts +1 -1
  119. package/highlevel/methods/files/normalize-input-file.d.ts +1 -1
  120. package/highlevel/methods/files/normalize-input-file.js +3 -3
  121. package/highlevel/methods/files/normalize-input-media.cjs +5 -5
  122. package/highlevel/methods/files/normalize-input-media.d.cts +1 -1
  123. package/highlevel/methods/files/normalize-input-media.d.ts +1 -1
  124. package/highlevel/methods/files/normalize-input-media.js +5 -5
  125. package/highlevel/methods/forums/create-forum-topic.d.cts +1 -1
  126. package/highlevel/methods/forums/create-forum-topic.d.ts +1 -1
  127. package/highlevel/methods/forums/edit-forum-topic.d.cts +1 -1
  128. package/highlevel/methods/forums/edit-forum-topic.d.ts +1 -1
  129. package/highlevel/methods/gifts/_normalize-input-star-gift.d.cts +1 -1
  130. package/highlevel/methods/gifts/_normalize-input-star-gift.d.ts +1 -1
  131. package/highlevel/methods/gifts/get-resale-star-gifts.d.cts +1 -1
  132. package/highlevel/methods/gifts/get-resale-star-gifts.d.ts +1 -1
  133. package/highlevel/methods/gifts/get-star-gift-upgrade-options.d.cts +1 -1
  134. package/highlevel/methods/gifts/get-star-gift-upgrade-options.d.ts +1 -1
  135. package/highlevel/methods/gifts/send-star-gift-offer.d.cts +1 -1
  136. package/highlevel/methods/gifts/send-star-gift-offer.d.ts +1 -1
  137. package/highlevel/methods/gifts/transfer-star-gift.cjs +2 -2
  138. package/highlevel/methods/gifts/transfer-star-gift.js +2 -2
  139. package/highlevel/methods/gifts/upgrade-star-gift.cjs +2 -2
  140. package/highlevel/methods/gifts/upgrade-star-gift.js +2 -2
  141. package/highlevel/methods/invite-links/create-invite-link.d.cts +1 -1
  142. package/highlevel/methods/invite-links/create-invite-link.d.ts +1 -1
  143. package/highlevel/methods/invite-links/get-invite-link-members.d.cts +1 -1
  144. package/highlevel/methods/invite-links/get-invite-link-members.d.ts +1 -1
  145. package/highlevel/methods/messages/edit-inline-message.cjs +2 -2
  146. package/highlevel/methods/messages/edit-inline-message.d.cts +1 -1
  147. package/highlevel/methods/messages/edit-inline-message.d.ts +1 -1
  148. package/highlevel/methods/messages/edit-inline-message.js +2 -2
  149. package/highlevel/methods/messages/edit-message.cjs +3 -2
  150. package/highlevel/methods/messages/edit-message.js +3 -2
  151. package/highlevel/methods/messages/find-in-update.d.cts +1 -1
  152. package/highlevel/methods/messages/find-in-update.d.ts +1 -1
  153. package/highlevel/methods/messages/forward-messages.cjs +1 -1
  154. package/highlevel/methods/messages/forward-messages.d.cts +1 -1
  155. package/highlevel/methods/messages/forward-messages.d.ts +1 -1
  156. package/highlevel/methods/messages/forward-messages.js +1 -1
  157. package/highlevel/methods/messages/get-callback-query-message.d.cts +1 -1
  158. package/highlevel/methods/messages/get-callback-query-message.d.ts +1 -1
  159. package/highlevel/methods/messages/get-discussion-message.d.cts +1 -1
  160. package/highlevel/methods/messages/get-discussion-message.d.ts +1 -1
  161. package/highlevel/methods/messages/search-global.d.cts +1 -1
  162. package/highlevel/methods/messages/search-global.d.ts +1 -1
  163. package/highlevel/methods/messages/search-hashtag.d.cts +1 -1
  164. package/highlevel/methods/messages/search-hashtag.d.ts +1 -1
  165. package/highlevel/methods/messages/search-messages.d.cts +1 -1
  166. package/highlevel/methods/messages/search-messages.d.ts +1 -1
  167. package/highlevel/methods/messages/search-posts-global.d.cts +1 -1
  168. package/highlevel/methods/messages/search-posts-global.d.ts +1 -1
  169. package/highlevel/methods/messages/send-common.cjs +1 -1
  170. package/highlevel/methods/messages/send-common.d.cts +1 -1
  171. package/highlevel/methods/messages/send-common.d.ts +1 -1
  172. package/highlevel/methods/messages/send-common.js +1 -1
  173. package/highlevel/methods/messages/send-media-group.cjs +6 -5
  174. package/highlevel/methods/messages/send-media-group.js +6 -5
  175. package/highlevel/methods/messages/send-media.cjs +6 -5
  176. package/highlevel/methods/messages/send-media.js +6 -5
  177. package/highlevel/methods/messages/send-paid-reaction.cjs +2 -2
  178. package/highlevel/methods/messages/send-paid-reaction.js +2 -2
  179. package/highlevel/methods/messages/send-text.cjs +6 -5
  180. package/highlevel/methods/messages/send-text.js +6 -5
  181. package/highlevel/methods/messages/send-typing.cjs +3 -2
  182. package/highlevel/methods/messages/send-typing.d.cts +1 -1
  183. package/highlevel/methods/messages/send-typing.d.ts +1 -1
  184. package/highlevel/methods/messages/send-typing.js +3 -2
  185. package/highlevel/methods/messages/set-typing.cjs +12 -8
  186. package/highlevel/methods/messages/set-typing.d.cts +1 -1
  187. package/highlevel/methods/messages/set-typing.d.ts +1 -1
  188. package/highlevel/methods/messages/set-typing.js +12 -8
  189. package/highlevel/methods/messages/set-typing.test.d.cts +1 -0
  190. package/highlevel/methods/messages/set-typing.test.d.ts +1 -0
  191. package/highlevel/methods/misc/chain-id.d.cts +1 -1
  192. package/highlevel/methods/misc/chain-id.d.ts +1 -1
  193. package/highlevel/methods/misc/init-takeout-session.d.cts +1 -1
  194. package/highlevel/methods/misc/init-takeout-session.d.ts +1 -1
  195. package/highlevel/methods/misc/normalize-privacy-rules.d.cts +1 -1
  196. package/highlevel/methods/misc/normalize-privacy-rules.d.ts +1 -1
  197. package/highlevel/methods/misc/normalize-text.d.cts +1 -1
  198. package/highlevel/methods/misc/normalize-text.d.ts +1 -1
  199. package/highlevel/methods/premium/_normalize-stars-amount.d.cts +1 -1
  200. package/highlevel/methods/premium/_normalize-stars-amount.d.ts +1 -1
  201. package/highlevel/methods/premium/set-business-intro.d.cts +1 -1
  202. package/highlevel/methods/premium/set-business-intro.d.ts +1 -1
  203. package/highlevel/methods/premium/set-business-work-hours.d.cts +1 -1
  204. package/highlevel/methods/premium/set-business-work-hours.d.ts +1 -1
  205. package/highlevel/methods/stickers/_utils.d.cts +1 -1
  206. package/highlevel/methods/stickers/_utils.d.ts +1 -1
  207. package/highlevel/methods/stickers/get-custom-emojis.cjs +4 -5
  208. package/highlevel/methods/stickers/get-custom-emojis.d.cts +3 -3
  209. package/highlevel/methods/stickers/get-custom-emojis.d.ts +3 -3
  210. package/highlevel/methods/stickers/get-custom-emojis.js +4 -5
  211. package/highlevel/methods/stickers/set-sticker-set-thumb.d.cts +1 -1
  212. package/highlevel/methods/stickers/set-sticker-set-thumb.d.ts +1 -1
  213. package/highlevel/methods/stories/can-send-story.cjs +3 -3
  214. package/highlevel/methods/stories/can-send-story.js +3 -3
  215. package/highlevel/methods/stories/edit-story.d.cts +1 -1
  216. package/highlevel/methods/stories/edit-story.d.ts +1 -1
  217. package/highlevel/methods/stories/find-in-update.d.cts +1 -1
  218. package/highlevel/methods/stories/find-in-update.d.ts +1 -1
  219. package/highlevel/methods/stories/get-profile-stories.cjs +3 -3
  220. package/highlevel/methods/stories/get-profile-stories.js +3 -3
  221. package/highlevel/methods/stories/get-stories-by-id.cjs +3 -3
  222. package/highlevel/methods/stories/get-stories-by-id.js +3 -3
  223. package/highlevel/methods/stories/send-story.d.cts +1 -1
  224. package/highlevel/methods/stories/send-story.d.ts +1 -1
  225. package/highlevel/methods/users/_resolve-common.cjs +74 -0
  226. package/highlevel/methods/users/_resolve-common.d.cts +4 -0
  227. package/highlevel/methods/users/_resolve-common.d.ts +4 -0
  228. package/highlevel/methods/users/_resolve-common.js +69 -0
  229. package/highlevel/methods/users/delete-profile-photos.d.cts +1 -1
  230. package/highlevel/methods/users/delete-profile-photos.d.ts +1 -1
  231. package/highlevel/methods/users/get-profile-photo.cjs +1 -2
  232. package/highlevel/methods/users/get-profile-photo.d.cts +2 -2
  233. package/highlevel/methods/users/get-profile-photo.d.ts +2 -2
  234. package/highlevel/methods/users/get-profile-photo.js +1 -2
  235. package/highlevel/methods/users/get-profile-photos.cjs +3 -3
  236. package/highlevel/methods/users/get-profile-photos.js +3 -3
  237. package/highlevel/methods/users/get-saved-music.cjs +1 -0
  238. package/highlevel/methods/users/get-saved-music.js +1 -0
  239. package/highlevel/methods/users/is-peer-available.cjs +2 -2
  240. package/highlevel/methods/users/is-peer-available.js +1 -1
  241. package/highlevel/methods/users/resolve-peer-many.d.cts +1 -1
  242. package/highlevel/methods/users/resolve-peer-many.d.ts +1 -1
  243. package/highlevel/methods/users/resolve-peer.cjs +7 -68
  244. package/highlevel/methods/users/resolve-peer.d.cts +1 -3
  245. package/highlevel/methods/users/resolve-peer.d.ts +1 -3
  246. package/highlevel/methods/users/resolve-peer.js +8 -69
  247. package/highlevel/methods/users/resolve-phone-number.cjs +4 -4
  248. package/highlevel/methods/users/resolve-phone-number.d.cts +1 -1
  249. package/highlevel/methods/users/resolve-phone-number.d.ts +1 -1
  250. package/highlevel/methods/users/resolve-phone-number.js +3 -3
  251. package/highlevel/methods/users/save-music-to-profile.cjs +2 -2
  252. package/highlevel/methods/users/save-music-to-profile.js +2 -2
  253. package/highlevel/methods/users/set-emoji-status.d.cts +1 -1
  254. package/highlevel/methods/users/set-emoji-status.d.ts +1 -1
  255. package/highlevel/methods/users/set-my-profile-photo.cjs +5 -2
  256. package/highlevel/methods/users/set-my-profile-photo.d.cts +1 -1
  257. package/highlevel/methods/users/set-my-profile-photo.d.ts +1 -1
  258. package/highlevel/methods/users/set-my-profile-photo.js +5 -2
  259. package/highlevel/methods/users/set-online.cjs +9 -5
  260. package/highlevel/methods/users/set-online.js +9 -5
  261. package/highlevel/methods.d.cts +0 -1
  262. package/highlevel/methods.d.ts +0 -1
  263. package/highlevel/storage/service/current-user.cjs +1 -1
  264. package/highlevel/storage/service/current-user.d.cts +1 -1
  265. package/highlevel/storage/service/current-user.d.ts +1 -1
  266. package/highlevel/storage/service/current-user.js +1 -1
  267. package/highlevel/storage/service/peers.d.cts +1 -1
  268. package/highlevel/storage/service/peers.d.ts +1 -1
  269. package/highlevel/types/auth/sent-code.d.cts +1 -1
  270. package/highlevel/types/auth/sent-code.d.ts +1 -1
  271. package/highlevel/types/bots/command-scope/inner.d.cts +1 -1
  272. package/highlevel/types/bots/command-scope/inner.d.ts +1 -1
  273. package/highlevel/types/bots/game-high-score.d.cts +1 -1
  274. package/highlevel/types/bots/game-high-score.d.ts +1 -1
  275. package/highlevel/types/bots/inline-message/factories.d.cts +1 -1
  276. package/highlevel/types/bots/inline-message/factories.d.ts +1 -1
  277. package/highlevel/types/bots/inline-result/factories.d.cts +1 -1
  278. package/highlevel/types/bots/inline-result/factories.d.ts +1 -1
  279. package/highlevel/types/bots/inline-result/types.d.cts +1 -1
  280. package/highlevel/types/bots/inline-result/types.d.ts +1 -1
  281. package/highlevel/types/bots/keyboards/builder.d.cts +1 -1
  282. package/highlevel/types/bots/keyboards/builder.d.ts +1 -1
  283. package/highlevel/types/bots/keyboards/factories.cjs +2 -2
  284. package/highlevel/types/bots/keyboards/factories.d.cts +1 -1
  285. package/highlevel/types/bots/keyboards/factories.d.ts +1 -1
  286. package/highlevel/types/bots/keyboards/factories.js +2 -2
  287. package/highlevel/types/bots/keyboards/types.d.cts +1 -1
  288. package/highlevel/types/bots/keyboards/types.d.ts +1 -1
  289. package/highlevel/types/bots/webview.d.cts +1 -1
  290. package/highlevel/types/bots/webview.d.ts +1 -1
  291. package/highlevel/types/conversation.d.cts +1 -1
  292. package/highlevel/types/conversation.d.ts +1 -1
  293. package/highlevel/types/files/file-location.d.cts +1 -1
  294. package/highlevel/types/files/file-location.d.ts +1 -1
  295. package/highlevel/types/files/uploaded-file.d.cts +1 -1
  296. package/highlevel/types/files/uploaded-file.d.ts +1 -1
  297. package/highlevel/types/files/utils.d.cts +1 -1
  298. package/highlevel/types/files/utils.d.ts +1 -1
  299. package/highlevel/types/files/web-document.d.cts +1 -1
  300. package/highlevel/types/files/web-document.d.ts +1 -1
  301. package/highlevel/types/media/audio.d.cts +1 -1
  302. package/highlevel/types/media/audio.d.ts +1 -1
  303. package/highlevel/types/media/contact.d.cts +1 -1
  304. package/highlevel/types/media/contact.d.ts +1 -1
  305. package/highlevel/types/media/dice.d.cts +1 -1
  306. package/highlevel/types/media/dice.d.ts +1 -1
  307. package/highlevel/types/media/document-utils.d.cts +1 -1
  308. package/highlevel/types/media/document-utils.d.ts +1 -1
  309. package/highlevel/types/media/document.d.cts +1 -1
  310. package/highlevel/types/media/document.d.ts +1 -1
  311. package/highlevel/types/media/extended-media.d.cts +1 -1
  312. package/highlevel/types/media/extended-media.d.ts +1 -1
  313. package/highlevel/types/media/game.d.cts +1 -1
  314. package/highlevel/types/media/game.d.ts +1 -1
  315. package/highlevel/types/media/input-media/factories.d.cts +1 -1
  316. package/highlevel/types/media/input-media/factories.d.ts +1 -1
  317. package/highlevel/types/media/input-media/types.d.cts +1 -1
  318. package/highlevel/types/media/input-media/types.d.ts +1 -1
  319. package/highlevel/types/media/invoice.d.cts +1 -1
  320. package/highlevel/types/media/invoice.d.ts +1 -1
  321. package/highlevel/types/media/location.d.cts +1 -1
  322. package/highlevel/types/media/location.d.ts +1 -1
  323. package/highlevel/types/media/paid-media.d.cts +1 -1
  324. package/highlevel/types/media/paid-media.d.ts +1 -1
  325. package/highlevel/types/media/photo.d.cts +1 -1
  326. package/highlevel/types/media/photo.d.ts +1 -1
  327. package/highlevel/types/media/poll.d.cts +1 -1
  328. package/highlevel/types/media/poll.d.ts +1 -1
  329. package/highlevel/types/media/sticker.d.cts +1 -1
  330. package/highlevel/types/media/sticker.d.ts +1 -1
  331. package/highlevel/types/media/story.d.cts +1 -1
  332. package/highlevel/types/media/story.d.ts +1 -1
  333. package/highlevel/types/media/thumbnail.d.cts +1 -1
  334. package/highlevel/types/media/thumbnail.d.ts +1 -1
  335. package/highlevel/types/media/todo.d.cts +1 -1
  336. package/highlevel/types/media/todo.d.ts +1 -1
  337. package/highlevel/types/media/venue.cjs +2 -2
  338. package/highlevel/types/media/venue.d.cts +1 -1
  339. package/highlevel/types/media/venue.d.ts +1 -1
  340. package/highlevel/types/media/venue.js +2 -2
  341. package/highlevel/types/media/video.d.cts +1 -1
  342. package/highlevel/types/media/video.d.ts +1 -1
  343. package/highlevel/types/media/voice.d.cts +1 -1
  344. package/highlevel/types/media/voice.d.ts +1 -1
  345. package/highlevel/types/media/web-page.d.cts +1 -1
  346. package/highlevel/types/media/web-page.d.ts +1 -1
  347. package/highlevel/types/messages/dialog.d.cts +1 -1
  348. package/highlevel/types/messages/dialog.d.ts +1 -1
  349. package/highlevel/types/messages/draft-message.d.cts +1 -1
  350. package/highlevel/types/messages/draft-message.d.ts +1 -1
  351. package/highlevel/types/messages/fact-check.d.cts +1 -1
  352. package/highlevel/types/messages/fact-check.d.ts +1 -1
  353. package/highlevel/types/messages/message-action.cjs +4 -0
  354. package/highlevel/types/messages/message-action.d.cts +1 -1
  355. package/highlevel/types/messages/message-action.d.ts +1 -1
  356. package/highlevel/types/messages/message-action.js +4 -0
  357. package/highlevel/types/messages/message-effect.cjs +2 -6
  358. package/highlevel/types/messages/message-effect.d.cts +1 -1
  359. package/highlevel/types/messages/message-effect.d.ts +1 -1
  360. package/highlevel/types/messages/message-effect.js +2 -6
  361. package/highlevel/types/messages/message-entity.d.cts +1 -1
  362. package/highlevel/types/messages/message-entity.d.ts +1 -1
  363. package/highlevel/types/messages/message-forward.d.cts +1 -1
  364. package/highlevel/types/messages/message-forward.d.ts +1 -1
  365. package/highlevel/types/messages/message-media.d.cts +1 -1
  366. package/highlevel/types/messages/message-media.d.ts +1 -1
  367. package/highlevel/types/messages/message-reactions.d.cts +1 -1
  368. package/highlevel/types/messages/message-reactions.d.ts +1 -1
  369. package/highlevel/types/messages/message-replies.d.cts +1 -1
  370. package/highlevel/types/messages/message-replies.d.ts +1 -1
  371. package/highlevel/types/messages/message.d.cts +1 -1
  372. package/highlevel/types/messages/message.d.ts +1 -1
  373. package/highlevel/types/messages/replied-message.cjs +4 -14
  374. package/highlevel/types/messages/replied-message.d.cts +2 -2
  375. package/highlevel/types/messages/replied-message.d.ts +2 -2
  376. package/highlevel/types/messages/replied-message.js +2 -12
  377. package/highlevel/types/messages/suggested-post.d.cts +1 -1
  378. package/highlevel/types/messages/suggested-post.d.ts +1 -1
  379. package/highlevel/types/misc/collectible-info.d.cts +1 -1
  380. package/highlevel/types/misc/collectible-info.d.ts +1 -1
  381. package/highlevel/types/misc/entities.d.cts +1 -1
  382. package/highlevel/types/misc/entities.d.ts +1 -1
  383. package/highlevel/types/misc/input-privacy-rule/allow.d.cts +1 -1
  384. package/highlevel/types/misc/input-privacy-rule/allow.d.ts +1 -1
  385. package/highlevel/types/misc/input-privacy-rule/disallow.d.cts +1 -1
  386. package/highlevel/types/misc/input-privacy-rule/disallow.d.ts +1 -1
  387. package/highlevel/types/misc/input-privacy-rule/types.d.cts +1 -1
  388. package/highlevel/types/misc/input-privacy-rule/types.d.ts +1 -1
  389. package/highlevel/types/misc/sticker-set.cjs +5 -3
  390. package/highlevel/types/misc/sticker-set.d.cts +1 -1
  391. package/highlevel/types/misc/sticker-set.d.ts +1 -1
  392. package/highlevel/types/misc/sticker-set.js +5 -3
  393. package/highlevel/types/misc/takeout-session.d.cts +1 -1
  394. package/highlevel/types/misc/takeout-session.d.ts +1 -1
  395. package/highlevel/types/peers/bot-info.d.cts +1 -1
  396. package/highlevel/types/peers/bot-info.d.ts +1 -1
  397. package/highlevel/types/peers/bot-verification.d.cts +1 -1
  398. package/highlevel/types/peers/bot-verification.d.ts +1 -1
  399. package/highlevel/types/peers/chat-colors.d.cts +1 -1
  400. package/highlevel/types/peers/chat-colors.d.ts +1 -1
  401. package/highlevel/types/peers/chat-event/actions.cjs +4 -5
  402. package/highlevel/types/peers/chat-event/actions.d.cts +5 -6
  403. package/highlevel/types/peers/chat-event/actions.d.ts +5 -6
  404. package/highlevel/types/peers/chat-event/actions.js +4 -5
  405. package/highlevel/types/peers/chat-event/filters.d.cts +1 -1
  406. package/highlevel/types/peers/chat-event/filters.d.ts +1 -1
  407. package/highlevel/types/peers/chat-event/index.d.cts +1 -1
  408. package/highlevel/types/peers/chat-event/index.d.ts +1 -1
  409. package/highlevel/types/peers/chat-invite-link-member.d.cts +1 -1
  410. package/highlevel/types/peers/chat-invite-link-member.d.ts +1 -1
  411. package/highlevel/types/peers/chat-invite-link.d.cts +1 -1
  412. package/highlevel/types/peers/chat-invite-link.d.ts +1 -1
  413. package/highlevel/types/peers/chat-member.d.cts +1 -1
  414. package/highlevel/types/peers/chat-member.d.ts +1 -1
  415. package/highlevel/types/peers/chat-permissions.d.cts +1 -1
  416. package/highlevel/types/peers/chat-permissions.d.ts +1 -1
  417. package/highlevel/types/peers/chat-photo.d.cts +1 -1
  418. package/highlevel/types/peers/chat-photo.d.ts +1 -1
  419. package/highlevel/types/peers/chat-preview.d.cts +1 -1
  420. package/highlevel/types/peers/chat-preview.d.ts +1 -1
  421. package/highlevel/types/peers/chat.d.cts +1 -1
  422. package/highlevel/types/peers/chat.d.ts +1 -1
  423. package/highlevel/types/peers/chatlist-preview.d.cts +1 -1
  424. package/highlevel/types/peers/chatlist-preview.d.ts +1 -1
  425. package/highlevel/types/peers/forum-topic.d.cts +1 -1
  426. package/highlevel/types/peers/forum-topic.d.ts +1 -1
  427. package/highlevel/types/peers/full-chat.cjs +0 -11
  428. package/highlevel/types/peers/full-chat.d.cts +1 -6
  429. package/highlevel/types/peers/full-chat.d.ts +1 -6
  430. package/highlevel/types/peers/full-chat.js +0 -11
  431. package/highlevel/types/peers/full-user.d.cts +1 -1
  432. package/highlevel/types/peers/full-user.d.ts +1 -1
  433. package/highlevel/types/peers/index.d.cts +0 -1
  434. package/highlevel/types/peers/index.d.ts +0 -1
  435. package/highlevel/types/peers/peer-settings.d.cts +1 -1
  436. package/highlevel/types/peers/peer-settings.d.ts +1 -1
  437. package/highlevel/types/peers/peer.d.cts +2 -2
  438. package/highlevel/types/peers/peer.d.ts +2 -2
  439. package/highlevel/types/peers/peers-index.cjs +3 -1
  440. package/highlevel/types/peers/peers-index.d.cts +1 -1
  441. package/highlevel/types/peers/peers-index.d.ts +1 -1
  442. package/highlevel/types/peers/peers-index.js +3 -1
  443. package/highlevel/types/peers/user.d.cts +1 -1
  444. package/highlevel/types/peers/user.d.ts +1 -1
  445. package/highlevel/types/premium/boost-slot.d.cts +1 -1
  446. package/highlevel/types/premium/boost-slot.d.ts +1 -1
  447. package/highlevel/types/premium/boost-stats.d.cts +1 -1
  448. package/highlevel/types/premium/boost-stats.d.ts +1 -1
  449. package/highlevel/types/premium/boost.d.cts +1 -1
  450. package/highlevel/types/premium/boost.d.ts +1 -1
  451. package/highlevel/types/premium/business-account.d.cts +1 -1
  452. package/highlevel/types/premium/business-account.d.ts +1 -1
  453. package/highlevel/types/premium/business-chat-link.d.cts +1 -1
  454. package/highlevel/types/premium/business-chat-link.d.ts +1 -1
  455. package/highlevel/types/premium/business-connection.d.cts +1 -1
  456. package/highlevel/types/premium/business-connection.d.ts +1 -1
  457. package/highlevel/types/premium/business-intro.d.cts +1 -1
  458. package/highlevel/types/premium/business-intro.d.ts +1 -1
  459. package/highlevel/types/premium/business-location.d.cts +1 -1
  460. package/highlevel/types/premium/business-location.d.ts +1 -1
  461. package/highlevel/types/premium/business-work-hours.d.cts +1 -1
  462. package/highlevel/types/premium/business-work-hours.d.ts +1 -1
  463. package/highlevel/types/premium/saved-star-gift.d.cts +1 -1
  464. package/highlevel/types/premium/saved-star-gift.d.ts +1 -1
  465. package/highlevel/types/premium/star-gift-unique.d.cts +1 -1
  466. package/highlevel/types/premium/star-gift-unique.d.ts +1 -1
  467. package/highlevel/types/premium/star-gift-value.d.cts +1 -1
  468. package/highlevel/types/premium/star-gift-value.d.ts +1 -1
  469. package/highlevel/types/premium/star-gift.cjs +0 -4
  470. package/highlevel/types/premium/star-gift.d.cts +1 -3
  471. package/highlevel/types/premium/star-gift.d.ts +1 -3
  472. package/highlevel/types/premium/star-gift.js +0 -4
  473. package/highlevel/types/premium/stars-status.d.cts +1 -1
  474. package/highlevel/types/premium/stars-status.d.ts +1 -1
  475. package/highlevel/types/premium/stars-transaction.d.cts +1 -1
  476. package/highlevel/types/premium/stars-transaction.d.ts +1 -1
  477. package/highlevel/types/reactions/emoji-status.d.cts +1 -1
  478. package/highlevel/types/reactions/emoji-status.d.ts +1 -1
  479. package/highlevel/types/reactions/peer-reaction.cjs +5 -8
  480. package/highlevel/types/reactions/peer-reaction.d.cts +4 -5
  481. package/highlevel/types/reactions/peer-reaction.d.ts +4 -5
  482. package/highlevel/types/reactions/peer-reaction.js +5 -8
  483. package/highlevel/types/reactions/reaction-count.d.cts +1 -1
  484. package/highlevel/types/reactions/reaction-count.d.ts +1 -1
  485. package/highlevel/types/reactions/types.d.cts +1 -1
  486. package/highlevel/types/reactions/types.d.ts +1 -1
  487. package/highlevel/types/stories/all-stories.d.cts +1 -1
  488. package/highlevel/types/stories/all-stories.d.ts +1 -1
  489. package/highlevel/types/stories/interactive/base.d.cts +1 -1
  490. package/highlevel/types/stories/interactive/base.d.ts +1 -1
  491. package/highlevel/types/stories/interactive/channel-post.d.cts +1 -1
  492. package/highlevel/types/stories/interactive/channel-post.d.ts +1 -1
  493. package/highlevel/types/stories/interactive/index.d.cts +1 -1
  494. package/highlevel/types/stories/interactive/index.d.ts +1 -1
  495. package/highlevel/types/stories/interactive/input.d.cts +1 -1
  496. package/highlevel/types/stories/interactive/input.d.ts +1 -1
  497. package/highlevel/types/stories/interactive/location.d.cts +1 -1
  498. package/highlevel/types/stories/interactive/location.d.ts +1 -1
  499. package/highlevel/types/stories/interactive/reaction.d.cts +1 -1
  500. package/highlevel/types/stories/interactive/reaction.d.ts +1 -1
  501. package/highlevel/types/stories/interactive/star-gift.d.cts +1 -1
  502. package/highlevel/types/stories/interactive/star-gift.d.ts +1 -1
  503. package/highlevel/types/stories/interactive/url.d.cts +1 -1
  504. package/highlevel/types/stories/interactive/url.d.ts +1 -1
  505. package/highlevel/types/stories/interactive/venue.d.cts +1 -1
  506. package/highlevel/types/stories/interactive/venue.d.ts +1 -1
  507. package/highlevel/types/stories/interactive/weather.d.cts +1 -1
  508. package/highlevel/types/stories/interactive/weather.d.ts +1 -1
  509. package/highlevel/types/stories/peer-stories.cjs +4 -4
  510. package/highlevel/types/stories/peer-stories.d.cts +1 -1
  511. package/highlevel/types/stories/peer-stories.d.ts +1 -1
  512. package/highlevel/types/stories/peer-stories.js +4 -4
  513. package/highlevel/types/stories/stealth-mode.d.cts +1 -1
  514. package/highlevel/types/stories/stealth-mode.d.ts +1 -1
  515. package/highlevel/types/stories/story-interactions.d.cts +1 -1
  516. package/highlevel/types/stories/story-interactions.d.ts +1 -1
  517. package/highlevel/types/stories/story-viewer.cjs +3 -4
  518. package/highlevel/types/stories/story-viewer.d.cts +3 -3
  519. package/highlevel/types/stories/story-viewer.d.ts +3 -3
  520. package/highlevel/types/stories/story-viewer.js +3 -4
  521. package/highlevel/types/stories/story.d.cts +1 -1
  522. package/highlevel/types/stories/story.d.ts +1 -1
  523. package/highlevel/types/updates/bot-chat-join-request.d.cts +1 -1
  524. package/highlevel/types/updates/bot-chat-join-request.d.ts +1 -1
  525. package/highlevel/types/updates/bot-reaction.d.cts +1 -1
  526. package/highlevel/types/updates/bot-reaction.d.ts +1 -1
  527. package/highlevel/types/updates/bot-stopped.d.cts +1 -1
  528. package/highlevel/types/updates/bot-stopped.d.ts +1 -1
  529. package/highlevel/types/updates/business-message.d.cts +1 -1
  530. package/highlevel/types/updates/business-message.d.ts +1 -1
  531. package/highlevel/types/updates/callback-query.d.cts +1 -1
  532. package/highlevel/types/updates/callback-query.d.ts +1 -1
  533. package/highlevel/types/updates/chat-join-request.d.cts +1 -1
  534. package/highlevel/types/updates/chat-join-request.d.ts +1 -1
  535. package/highlevel/types/updates/chat-member-update.cjs +2 -2
  536. package/highlevel/types/updates/chat-member-update.d.cts +1 -1
  537. package/highlevel/types/updates/chat-member-update.d.ts +1 -1
  538. package/highlevel/types/updates/chat-member-update.js +2 -2
  539. package/highlevel/types/updates/chosen-inline-result.d.cts +1 -1
  540. package/highlevel/types/updates/chosen-inline-result.d.ts +1 -1
  541. package/highlevel/types/updates/delete-business-message-update.d.cts +1 -1
  542. package/highlevel/types/updates/delete-business-message-update.d.ts +1 -1
  543. package/highlevel/types/updates/delete-message-update.d.cts +1 -1
  544. package/highlevel/types/updates/delete-message-update.d.ts +1 -1
  545. package/highlevel/types/updates/delete-story-update.d.cts +1 -1
  546. package/highlevel/types/updates/delete-story-update.d.ts +1 -1
  547. package/highlevel/types/updates/history-read-update.d.cts +1 -1
  548. package/highlevel/types/updates/history-read-update.d.ts +1 -1
  549. package/highlevel/types/updates/inline-query.d.cts +1 -1
  550. package/highlevel/types/updates/inline-query.d.ts +1 -1
  551. package/highlevel/types/updates/poll-update.d.cts +1 -1
  552. package/highlevel/types/updates/poll-update.d.ts +1 -1
  553. package/highlevel/types/updates/poll-vote.d.cts +1 -1
  554. package/highlevel/types/updates/poll-vote.d.ts +1 -1
  555. package/highlevel/types/updates/pre-checkout-query.d.cts +1 -1
  556. package/highlevel/types/updates/pre-checkout-query.d.ts +1 -1
  557. package/highlevel/types/updates/story-update.d.cts +1 -1
  558. package/highlevel/types/updates/story-update.d.ts +1 -1
  559. package/highlevel/types/updates/user-status-update.d.cts +1 -1
  560. package/highlevel/types/updates/user-status-update.d.ts +1 -1
  561. package/highlevel/types/updates/user-typing-update.d.cts +1 -1
  562. package/highlevel/types/updates/user-typing-update.d.ts +1 -1
  563. package/highlevel/updates/manager.cjs +8 -9
  564. package/highlevel/updates/manager.d.cts +4 -2
  565. package/highlevel/updates/manager.d.ts +4 -2
  566. package/highlevel/updates/manager.js +8 -9
  567. package/highlevel/updates/types.d.cts +1 -1
  568. package/highlevel/updates/types.d.ts +1 -1
  569. package/highlevel/updates/utils.d.cts +1 -1
  570. package/highlevel/updates/utils.d.ts +1 -1
  571. package/highlevel/utils/convert-file-id.d.cts +1 -1
  572. package/highlevel/utils/convert-file-id.d.ts +1 -1
  573. package/highlevel/utils/file-utils.d.cts +1 -1
  574. package/highlevel/utils/file-utils.d.ts +1 -1
  575. package/highlevel/utils/inline-utils.d.cts +1 -1
  576. package/highlevel/utils/inline-utils.d.ts +1 -1
  577. package/highlevel/utils/peer-utils.cjs +25 -4
  578. package/highlevel/utils/peer-utils.d.cts +2 -2
  579. package/highlevel/utils/peer-utils.d.ts +2 -2
  580. package/highlevel/utils/peer-utils.js +25 -4
  581. package/highlevel/worker/errors.cjs +3 -3
  582. package/highlevel/worker/errors.js +3 -3
  583. package/highlevel/worker/invoker.cjs +67 -9
  584. package/highlevel/worker/invoker.d.cts +9 -1
  585. package/highlevel/worker/invoker.d.ts +9 -1
  586. package/highlevel/worker/invoker.js +67 -9
  587. package/highlevel/worker/invoker.test.d.cts +1 -0
  588. package/highlevel/worker/invoker.test.d.ts +1 -0
  589. package/highlevel/worker/port.cjs +50 -16
  590. package/highlevel/worker/port.d.cts +9 -5
  591. package/highlevel/worker/port.d.ts +9 -5
  592. package/highlevel/worker/port.js +51 -17
  593. package/highlevel/worker/protocol.cjs +19 -7
  594. package/highlevel/worker/protocol.d.cts +28 -4
  595. package/highlevel/worker/protocol.d.ts +28 -4
  596. package/highlevel/worker/protocol.js +19 -7
  597. package/highlevel/worker/protocol.test.d.cts +1 -0
  598. package/highlevel/worker/protocol.test.d.ts +1 -0
  599. package/highlevel/worker/storage.cjs +4 -1
  600. package/highlevel/worker/storage.d.cts +2 -1
  601. package/highlevel/worker/storage.d.ts +2 -1
  602. package/highlevel/worker/storage.js +4 -1
  603. package/highlevel/worker/timers.cjs +19 -0
  604. package/highlevel/worker/timers.d.cts +11 -0
  605. package/highlevel/worker/timers.d.ts +11 -0
  606. package/highlevel/worker/timers.js +14 -0
  607. package/highlevel/worker/timers.test.d.cts +1 -0
  608. package/highlevel/worker/timers.test.d.ts +1 -0
  609. package/highlevel/worker/worker.cjs +266 -53
  610. package/highlevel/worker/worker.d.cts +30 -2
  611. package/highlevel/worker/worker.d.ts +30 -2
  612. package/highlevel/worker/worker.js +267 -54
  613. package/highlevel/worker/worker.test.d.cts +1 -0
  614. package/highlevel/worker/worker.test.d.ts +1 -0
  615. package/index.cjs +4 -11
  616. package/index.d.cts +2 -2
  617. package/index.d.ts +2 -2
  618. package/index.js +4 -5
  619. package/methods.cjs +0 -2
  620. package/methods.js +0 -2
  621. package/network/auth-key.d.cts +1 -1
  622. package/network/auth-key.d.ts +1 -1
  623. package/network/authorization.cjs +2 -2
  624. package/network/authorization.js +2 -2
  625. package/network/client.cjs +9 -9
  626. package/network/client.d.cts +1 -12
  627. package/network/client.d.ts +1 -12
  628. package/network/client.js +7 -7
  629. package/network/config-manager.d.cts +1 -1
  630. package/network/config-manager.d.ts +1 -1
  631. package/network/middlewares/internal-errors.cjs +8 -8
  632. package/network/middlewares/internal-errors.js +8 -8
  633. package/network/middlewares/on-error.d.cts +1 -1
  634. package/network/middlewares/on-error.d.ts +1 -1
  635. package/network/middlewares/on-method.d.cts +1 -1
  636. package/network/middlewares/on-method.d.ts +1 -1
  637. package/network/mtproto-session.cjs +0 -3
  638. package/network/mtproto-session.d.cts +1 -2
  639. package/network/mtproto-session.d.ts +1 -2
  640. package/network/mtproto-session.js +0 -3
  641. package/network/mtproxy/index.d.cts +1 -1
  642. package/network/mtproxy/index.d.ts +1 -1
  643. package/network/multi-session-connection.d.cts +1 -1
  644. package/network/multi-session-connection.d.ts +1 -1
  645. package/network/network-manager.cjs +43 -3
  646. package/network/network-manager.d.cts +12 -3
  647. package/network/network-manager.d.ts +12 -3
  648. package/network/network-manager.js +44 -4
  649. package/network/persistent-connection.d.cts +1 -1
  650. package/network/persistent-connection.d.ts +1 -1
  651. package/network/server-salt.d.cts +1 -1
  652. package/network/server-salt.d.ts +1 -1
  653. package/network/session-connection.cjs +10 -17
  654. package/network/session-connection.d.cts +1 -3
  655. package/network/session-connection.d.ts +1 -3
  656. package/network/session-connection.js +10 -17
  657. package/network/transports/abstract.d.cts +1 -1
  658. package/network/transports/abstract.d.ts +1 -1
  659. package/network/transports/intermediate.cjs +0 -2
  660. package/network/transports/intermediate.js +0 -2
  661. package/package.json +9 -6
  662. package/storage/service/base.d.cts +1 -1
  663. package/storage/service/base.d.ts +1 -1
  664. package/storage/service/future-salts.d.cts +1 -1
  665. package/storage/service/future-salts.d.ts +1 -1
  666. package/storage/sqlite/driver.cjs +0 -22
  667. package/storage/sqlite/driver.d.cts +0 -3
  668. package/storage/sqlite/driver.d.ts +0 -3
  669. package/storage/sqlite/driver.js +0 -22
  670. package/storage/sqlite/repository/kv.cjs +5 -47
  671. package/storage/sqlite/repository/kv.js +5 -47
  672. package/storage/sqlite/repository/peers.cjs +0 -3
  673. package/storage/sqlite/repository/peers.js +0 -3
  674. package/storage/storage.cjs +1 -3
  675. package/storage/storage.js +1 -3
  676. package/tl/api-schema.json +1 -0
  677. package/tl/app-config.json +1 -0
  678. package/tl/binary/reader.cjs +5248 -0
  679. package/tl/binary/reader.d.cts +3 -0
  680. package/tl/binary/reader.d.ts +3 -0
  681. package/tl/binary/reader.js +5243 -0
  682. package/tl/binary/rsa-keys.cjs +9 -0
  683. package/tl/binary/rsa-keys.d.cts +38 -0
  684. package/tl/binary/rsa-keys.d.ts +38 -0
  685. package/tl/binary/rsa-keys.js +4 -0
  686. package/tl/binary/writer.cjs +18718 -0
  687. package/tl/binary/writer.d.cts +4 -0
  688. package/tl/binary/writer.d.ts +4 -0
  689. package/tl/binary/writer.js +18713 -0
  690. package/tl/compat/reader.cjs +313 -0
  691. package/tl/compat/reader.d.cts +1 -0
  692. package/tl/compat/reader.d.ts +1 -0
  693. package/tl/compat/reader.js +308 -0
  694. package/tl/index.d.cts +58614 -0
  695. package/tl/index.d.ts +58614 -0
  696. package/tl/inner-mtp.cjs +63 -0
  697. package/tl/inner-mtp.js +58 -0
  698. package/tl/inner-tl.cjs +1261 -0
  699. package/tl/inner-tl.js +1256 -0
  700. package/tl/mtp-schema.json +1 -0
  701. package/tl/raw-errors.json +1 -0
  702. package/utils/binary/compat.cjs +10 -10
  703. package/utils/binary/compat.d.cts +1 -1
  704. package/utils/binary/compat.d.ts +1 -1
  705. package/utils/binary/compat.js +5 -5
  706. package/utils/binary/serialization.cjs +7 -7
  707. package/utils/binary/serialization.d.cts +1 -1
  708. package/utils/binary/serialization.d.ts +1 -1
  709. package/utils/binary/serialization.js +5 -5
  710. package/utils/crypto/keys.cjs +5 -5
  711. package/utils/crypto/keys.d.cts +1 -1
  712. package/utils/crypto/keys.d.ts +1 -1
  713. package/utils/crypto/keys.js +1 -1
  714. package/utils/crypto/password.d.cts +1 -1
  715. package/utils/crypto/password.d.ts +1 -1
  716. package/utils/date-entity-format.d.cts +1 -1
  717. package/utils/date-entity-format.d.ts +1 -1
  718. package/utils/index.d.cts +2 -6
  719. package/utils/index.d.ts +2 -6
  720. package/utils/links/bots.d.cts +1 -1
  721. package/utils/links/bots.d.ts +1 -1
  722. package/utils/logger.cjs +2 -2
  723. package/utils/logger.js +2 -2
  724. package/utils/misc-utils.cjs +8 -0
  725. package/utils/misc-utils.d.cts +2 -0
  726. package/utils/misc-utils.d.ts +2 -0
  727. package/utils/misc-utils.js +8 -0
  728. package/utils/peer-utils.d.cts +1 -1
  729. package/utils/peer-utils.d.ts +1 -1
  730. package/utils/tl-json.d.cts +1 -1
  731. package/utils/tl-json.d.ts +1 -1
  732. package/utils/type-assertions.d.cts +1 -1
  733. package/utils/type-assertions.d.ts +1 -1
  734. package/utils.cjs +5 -18
  735. package/utils.js +4 -11
  736. package/highlevel/methods/chats/get-nearby-chats.cjs +0 -37
  737. package/highlevel/methods/chats/get-nearby-chats.d.cts +0 -9
  738. package/highlevel/methods/chats/get-nearby-chats.d.ts +0 -9
  739. package/highlevel/methods/chats/get-nearby-chats.js +0 -32
  740. package/highlevel/methods/messages/_business-connection.cjs +0 -42
  741. package/highlevel/methods/messages/_business-connection.d.cts +0 -8
  742. package/highlevel/methods/messages/_business-connection.d.ts +0 -8
  743. package/highlevel/methods/messages/_business-connection.js +0 -37
  744. package/highlevel/types/peers/chat-location.cjs +0 -30
  745. package/highlevel/types/peers/chat-location.d.cts +0 -17
  746. package/highlevel/types/peers/chat-location.d.ts +0 -17
  747. package/highlevel/types/peers/chat-location.js +0 -25
  748. package/utils/error-reporting.cjs +0 -23
  749. package/utils/error-reporting.d.cts +0 -3
  750. package/utils/error-reporting.d.ts +0 -3
  751. package/utils/error-reporting.js +0 -18
package/client.cjs CHANGED
@@ -60,7 +60,6 @@ const getCreatorAfterLeave = require("./highlevel/methods/chats/get-creator-afte
60
60
  const getFullChat = require("./highlevel/methods/chats/get-full-chat.cjs");
61
61
  const getFullUser = require("./highlevel/methods/chats/get-full-user.cjs");
62
62
  const getMessageAuthor = require("./highlevel/methods/chats/get-message-author.cjs");
63
- const getNearbyChats = require("./highlevel/methods/chats/get-nearby-chats.cjs");
64
63
  const getPeer = require("./highlevel/methods/chats/get-peer.cjs");
65
64
  const getPeers = require("./highlevel/methods/chats/get-peers.cjs");
66
65
  const getSimilarChannels = require("./highlevel/methods/chats/get-similar-channels.cjs");
@@ -620,9 +619,6 @@ TelegramClient.prototype.getFullUser = function(...args) {
620
619
  TelegramClient.prototype.getMessageAuthor = function(...args) {
621
620
  return getMessageAuthor.getMessageAuthor(this._client, ...args);
622
621
  };
623
- TelegramClient.prototype.getNearbyChats = function(...args) {
624
- return getNearbyChats.getNearbyChats(this._client, ...args);
625
- };
626
622
  TelegramClient.prototype.getPeer = function(...args) {
627
623
  return getPeer.getPeer(this._client, ...args);
628
624
  };
package/client.js CHANGED
@@ -53,7 +53,6 @@ import { getCreatorAfterLeave } from "./highlevel/methods/chats/get-creator-afte
53
53
  import { getFullChat } from "./highlevel/methods/chats/get-full-chat.js";
54
54
  import { getFullUser } from "./highlevel/methods/chats/get-full-user.js";
55
55
  import { getMessageAuthor } from "./highlevel/methods/chats/get-message-author.js";
56
- import { getNearbyChats } from "./highlevel/methods/chats/get-nearby-chats.js";
57
56
  import { getPeer } from "./highlevel/methods/chats/get-peer.js";
58
57
  import { getPeers } from "./highlevel/methods/chats/get-peers.js";
59
58
  import { getSimilarChannels } from "./highlevel/methods/chats/get-similar-channels.js";
@@ -613,9 +612,6 @@ TelegramClient.prototype.getFullUser = function(...args) {
613
612
  TelegramClient.prototype.getMessageAuthor = function(...args) {
614
613
  return getMessageAuthor(this._client, ...args);
615
614
  };
616
- TelegramClient.prototype.getNearbyChats = function(...args) {
617
- return getNearbyChats(this._client, ...args);
618
- };
619
615
  TelegramClient.prototype.getPeer = function(...args) {
620
616
  return getPeer(this._client, ...args);
621
617
  };
@@ -6,23 +6,21 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
6
6
  "use strict";
7
7
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
8
  const utils = require("@fuman/utils");
9
- const tl = require("@mtcute/tl");
10
9
  const client = require("../network/client.cjs");
11
- const errorReporting = require("../utils/error-reporting.cjs");
12
10
  const functionUtils = require("../utils/function-utils.cjs");
13
11
  const logger = require("../utils/logger.cjs");
12
+ const miscUtils = require("../utils/misc-utils.cjs");
14
13
  const typeAssertions = require("../utils/type-assertions.cjs");
15
14
  require("@mtcute/tl-runtime");
16
- require("@mtcute/tl/binary/reader.js");
17
- require("@mtcute/tl/binary/writer.js");
18
15
  const appConfigManager = require("./managers/app-config-manager.cjs");
19
16
  const timers = require("./managers/timers.cjs");
20
17
  const storage = require("./storage/storage.cjs");
21
18
  const manager = require("./updates/manager.cjs");
22
19
  const stringSession = require("./utils/string-session.cjs");
23
20
  const password = require("../utils/crypto/password.cjs");
21
+ const innerTl = require("../tl/inner-tl.cjs");
24
22
  function makeRpcError(raw, stack, method) {
25
- const error = tl.tl.RpcError.fromTl(raw);
23
+ const error = innerTl.RpcError.fromTl(raw);
26
24
  error.stack = `RpcError (${error.code} ${error.text}): ${error.message}
27
25
  at ${method}
28
26
  ${stack.split("\n").slice(2).join("\n")}`;
@@ -34,7 +32,7 @@ class BaseTelegramClient {
34
32
  this.log = this.params.logger ?? new logger.LogManager("client", params.platform);
35
33
  this.platform = this.params.platform;
36
34
  this.mt = new client.MtClient({
37
- ...this.params,
35
+ ...miscUtils.dropUndefined(this.params),
38
36
  logger: this.log.create("mtproto"),
39
37
  onError: (err) => {
40
38
  if (this.onError.length > 0) {
@@ -62,9 +60,14 @@ class BaseTelegramClient {
62
60
  this.crypto = this.mt.crypto;
63
61
  this.storage = new storage.TelegramStorageManager(this.mt.storage, {
64
62
  provider: this.params.storage,
65
- ...this.params.storageOptions
63
+ ...miscUtils.dropUndefined(this.params.storageOptions)
64
+ });
65
+ this.timers = new timers.TimersManager(async (spec, abortSignal) => {
66
+ await this.call(spec.request, {
67
+ abortSignal,
68
+ ...spec.options
69
+ });
66
70
  });
67
- this.timers = new timers.TimersManager();
68
71
  this.timers.onError((err) => this.onError.emit(utils.unknownToError(err)));
69
72
  }
70
73
  updates;
@@ -186,9 +189,6 @@ class BaseTelegramClient {
186
189
  const res = await this.mt.call(message, params);
187
190
  if (typeAssertions.isTlRpcError(res)) {
188
191
  const error = makeRpcError(res, new Error().stack ?? "", message._);
189
- if (error.unknown && this.params.enableErrorReporting) {
190
- errorReporting.reportUnknownError(this.log, error, message._);
191
- }
192
192
  throw error;
193
193
  }
194
194
  await this.storage.peers.updatePeersFrom(res);
@@ -10,7 +10,7 @@ import { ITelegramStorageProvider } from './storage/provider.js';
10
10
  import { TelegramStorageManagerExtraOptions, TelegramStorageManager } from './storage/storage.js';
11
11
  import { RawUpdateInfo, UpdatesManagerParams } from './updates/types.js';
12
12
  import { Emitter } from '@fuman/utils';
13
- import { tl } from '@mtcute/tl';
13
+ import { tl } from '../tl/index.js';
14
14
  import { AppConfigManager } from './managers/app-config-manager.js';
15
15
  import { TimersManager } from './managers/timers.js';
16
16
  import { UpdatesManager } from './updates/manager.js';
@@ -10,7 +10,7 @@ import { ITelegramStorageProvider } from './storage/provider.js';
10
10
  import { TelegramStorageManagerExtraOptions, TelegramStorageManager } from './storage/storage.js';
11
11
  import { RawUpdateInfo, UpdatesManagerParams } from './updates/types.js';
12
12
  import { Emitter } from '@fuman/utils';
13
- import { tl } from '@mtcute/tl';
13
+ import { tl } from '../tl/index.js';
14
14
  import { AppConfigManager } from './managers/app-config-manager.js';
15
15
  import { TimersManager } from './managers/timers.js';
16
16
  import { UpdatesManager } from './updates/manager.js';
package/highlevel/base.js CHANGED
@@ -1,21 +1,19 @@
1
1
  import { unknownToError, Emitter } from "@fuman/utils";
2
- import { tl } from "@mtcute/tl";
3
2
  import { MtClient } from "../network/client.js";
4
- import { reportUnknownError } from "../utils/error-reporting.js";
5
3
  import { asyncResettable } from "../utils/function-utils.js";
6
4
  import { LogManager } from "../utils/logger.js";
5
+ import { dropUndefined } from "../utils/misc-utils.js";
7
6
  import { isTlRpcError } from "../utils/type-assertions.js";
8
7
  import "@mtcute/tl-runtime";
9
- import "@mtcute/tl/binary/reader.js";
10
- import "@mtcute/tl/binary/writer.js";
11
8
  import { AppConfigManager } from "./managers/app-config-manager.js";
12
9
  import { TimersManager } from "./managers/timers.js";
13
10
  import { TelegramStorageManager } from "./storage/storage.js";
14
11
  import { UpdatesManager } from "./updates/manager.js";
15
12
  import { readStringSession, writeStringSession } from "./utils/string-session.js";
16
13
  import { computeSrpParams, computeNewPasswordHash } from "../utils/crypto/password.js";
14
+ import { RpcError } from "../tl/inner-tl.js";
17
15
  function makeRpcError(raw, stack, method) {
18
- const error = tl.RpcError.fromTl(raw);
16
+ const error = RpcError.fromTl(raw);
19
17
  error.stack = `RpcError (${error.code} ${error.text}): ${error.message}
20
18
  at ${method}
21
19
  ${stack.split("\n").slice(2).join("\n")}`;
@@ -27,7 +25,7 @@ class BaseTelegramClient {
27
25
  this.log = this.params.logger ?? new LogManager("client", params.platform);
28
26
  this.platform = this.params.platform;
29
27
  this.mt = new MtClient({
30
- ...this.params,
28
+ ...dropUndefined(this.params),
31
29
  logger: this.log.create("mtproto"),
32
30
  onError: (err) => {
33
31
  if (this.onError.length > 0) {
@@ -55,9 +53,14 @@ class BaseTelegramClient {
55
53
  this.crypto = this.mt.crypto;
56
54
  this.storage = new TelegramStorageManager(this.mt.storage, {
57
55
  provider: this.params.storage,
58
- ...this.params.storageOptions
56
+ ...dropUndefined(this.params.storageOptions)
57
+ });
58
+ this.timers = new TimersManager(async (spec, abortSignal) => {
59
+ await this.call(spec.request, {
60
+ abortSignal,
61
+ ...spec.options
62
+ });
59
63
  });
60
- this.timers = new TimersManager();
61
64
  this.timers.onError((err) => this.onError.emit(unknownToError(err)));
62
65
  }
63
66
  updates;
@@ -179,9 +182,6 @@ class BaseTelegramClient {
179
182
  const res = await this.mt.call(message, params);
180
183
  if (isTlRpcError(res)) {
181
184
  const error = makeRpcError(res, new Error().stack ?? "", message._);
182
- if (error.unknown && this.params.enableErrorReporting) {
183
- reportUnknownError(this.log, error, message._);
184
- }
185
185
  throw error;
186
186
  }
187
187
  await this.storage.peers.updatePeersFrom(res);
@@ -1,6 +1,6 @@
1
- import { tl } from '@mtcute/tl';
2
1
  import { default as Long } from 'long';
3
2
  import { RpcCallOptions } from '../network/index.js';
3
+ import { tl } from '../tl/index.js';
4
4
  import { MaybeArray, MaybePromise, PartialExcept, PartialOnly } from '../types/index.js';
5
5
  import { BaseTelegramClientOptions } from './base.js';
6
6
  import { ITelegramClient } from './client.types.js';
@@ -1304,15 +1304,6 @@ export interface TelegramClient extends ITelegramClient {
1304
1304
  */
1305
1305
  getFullUser(userId: InputPeerLike): Promise<FullUser>;
1306
1306
  getMessageAuthor(message: InputMessageId): Promise<User>;
1307
- /**
1308
- * Get nearby chats
1309
- *
1310
- * **Available**: 👤 users only
1311
- *
1312
- * @param latitude Latitude of the location
1313
- * @param longitude Longitude of the location
1314
- */
1315
- getNearbyChats(latitude: number, longitude: number): Promise<Chat[]>;
1316
1307
  /** Shorthand for {@link getChat} and {@link getUser} depending on the type of the peer */
1317
1308
  getPeer(peer: InputPeerLike): Promise<Peer>;
1318
1309
  /**
@@ -3165,7 +3156,7 @@ export interface TelegramClient extends ITelegramClient {
3165
3156
  /**
3166
3157
  * Edit message text, media, reply markup and schedule date.
3167
3158
  *
3168
- * **Available**: both users and bots
3159
+ * **Available**: 👤 users only
3169
3160
  *
3170
3161
  * @param chatId ID of the chat, its username, phone or `"me"` or `"self"`
3171
3162
  * @param message Message or its ID
@@ -3918,7 +3909,7 @@ export interface TelegramClient extends ITelegramClient {
3918
3909
  * To add a caption to the group, add caption to the first
3919
3910
  * media in the group and don't add caption for any other.
3920
3911
  *
3921
- * **Available**: both users and bots
3912
+ * **Available**: 👤 users only
3922
3913
  *
3923
3914
  * @param chatId ID of the chat, its username, phone or `"me"` or `"self"`
3924
3915
  * @param medias Medias contained in the message.
@@ -3947,7 +3938,7 @@ export interface TelegramClient extends ITelegramClient {
3947
3938
  /**
3948
3939
  * Send a single media (a photo or a document-based media)
3949
3940
  *
3950
- * **Available**: both users and bots
3941
+ * **Available**: 👤 users only
3951
3942
  *
3952
3943
  * @param chatId ID of the chat, its username, phone or `"me"` or `"self"`
3953
3944
  * @param media
@@ -4074,7 +4065,7 @@ export interface TelegramClient extends ITelegramClient {
4074
4065
  /**
4075
4066
  * Send a text message
4076
4067
  *
4077
- * **Available**: both users and bots
4068
+ * **Available**: 👤 users only
4078
4069
  *
4079
4070
  * @param chatId ID of the chat, its username, phone or `"me"` or `"self"`
4080
4071
  * @param text Text of the message
@@ -4108,7 +4099,7 @@ export interface TelegramClient extends ITelegramClient {
4108
4099
  *
4109
4100
  * If you need a continuous typing status, use {@link setTyping} instead.
4110
4101
  *
4111
- * **Available**: both users and bots
4102
+ * **Available**: 👤 users only
4112
4103
  *
4113
4104
  * @param chatId Chat ID
4114
4105
  * @param [status='typing'] Typing status
@@ -4647,13 +4638,13 @@ export interface TelegramClient extends ITelegramClient {
4647
4638
  */
4648
4639
  deleteStickerFromSet(sticker: InputDocumentId): Promise<StickerSet>;
4649
4640
  /**
4650
- * Get custom emoji stickers by their IDs
4641
+ * Get custom emoji stickers by their IDs, or `null` if not available/found.
4651
4642
  *
4652
4643
  * **Available**: 👤 users only
4653
4644
  *
4654
4645
  * @param ids IDs of the stickers (as defined in {@link MessageEntity.emojiId})
4655
4646
  */
4656
- getCustomEmojis(ids: tl.Long[]): Promise<Sticker[]>;
4647
+ getCustomEmojis(ids: tl.Long[]): Promise<(Sticker | null)[]>;
4657
4648
  /**
4658
4649
  * Given one or more messages, extract all unique custom emojis from it and fetch them
4659
4650
  * **Available**: ✅ both users and bots
@@ -5205,7 +5196,7 @@ export interface TelegramClient extends ITelegramClient {
5205
5196
  * @param photoId ID of the photo to fetch
5206
5197
  * @param params
5207
5198
  */
5208
- getProfilePhoto(userId: InputPeerLike, photoId: tl.Long): Promise<Photo>;
5199
+ getProfilePhoto(userId: InputPeerLike, photoId: tl.Long): Promise<Photo | null>;
5209
5200
  /**
5210
5201
  * Get a list of profile pictures of a user
5211
5202
  *
@@ -1,6 +1,6 @@
1
- import { tl } from '@mtcute/tl';
2
1
  import { default as Long } from 'long';
3
2
  import { RpcCallOptions } from '../network/index.js';
3
+ import { tl } from '../tl/index.js';
4
4
  import { MaybeArray, MaybePromise, PartialExcept, PartialOnly } from '../types/index.js';
5
5
  import { BaseTelegramClientOptions } from './base.js';
6
6
  import { ITelegramClient } from './client.types.js';
@@ -1304,15 +1304,6 @@ export interface TelegramClient extends ITelegramClient {
1304
1304
  */
1305
1305
  getFullUser(userId: InputPeerLike): Promise<FullUser>;
1306
1306
  getMessageAuthor(message: InputMessageId): Promise<User>;
1307
- /**
1308
- * Get nearby chats
1309
- *
1310
- * **Available**: 👤 users only
1311
- *
1312
- * @param latitude Latitude of the location
1313
- * @param longitude Longitude of the location
1314
- */
1315
- getNearbyChats(latitude: number, longitude: number): Promise<Chat[]>;
1316
1307
  /** Shorthand for {@link getChat} and {@link getUser} depending on the type of the peer */
1317
1308
  getPeer(peer: InputPeerLike): Promise<Peer>;
1318
1309
  /**
@@ -3165,7 +3156,7 @@ export interface TelegramClient extends ITelegramClient {
3165
3156
  /**
3166
3157
  * Edit message text, media, reply markup and schedule date.
3167
3158
  *
3168
- * **Available**: both users and bots
3159
+ * **Available**: 👤 users only
3169
3160
  *
3170
3161
  * @param chatId ID of the chat, its username, phone or `"me"` or `"self"`
3171
3162
  * @param message Message or its ID
@@ -3918,7 +3909,7 @@ export interface TelegramClient extends ITelegramClient {
3918
3909
  * To add a caption to the group, add caption to the first
3919
3910
  * media in the group and don't add caption for any other.
3920
3911
  *
3921
- * **Available**: both users and bots
3912
+ * **Available**: 👤 users only
3922
3913
  *
3923
3914
  * @param chatId ID of the chat, its username, phone or `"me"` or `"self"`
3924
3915
  * @param medias Medias contained in the message.
@@ -3947,7 +3938,7 @@ export interface TelegramClient extends ITelegramClient {
3947
3938
  /**
3948
3939
  * Send a single media (a photo or a document-based media)
3949
3940
  *
3950
- * **Available**: both users and bots
3941
+ * **Available**: 👤 users only
3951
3942
  *
3952
3943
  * @param chatId ID of the chat, its username, phone or `"me"` or `"self"`
3953
3944
  * @param media
@@ -4074,7 +4065,7 @@ export interface TelegramClient extends ITelegramClient {
4074
4065
  /**
4075
4066
  * Send a text message
4076
4067
  *
4077
- * **Available**: both users and bots
4068
+ * **Available**: 👤 users only
4078
4069
  *
4079
4070
  * @param chatId ID of the chat, its username, phone or `"me"` or `"self"`
4080
4071
  * @param text Text of the message
@@ -4108,7 +4099,7 @@ export interface TelegramClient extends ITelegramClient {
4108
4099
  *
4109
4100
  * If you need a continuous typing status, use {@link setTyping} instead.
4110
4101
  *
4111
- * **Available**: both users and bots
4102
+ * **Available**: 👤 users only
4112
4103
  *
4113
4104
  * @param chatId Chat ID
4114
4105
  * @param [status='typing'] Typing status
@@ -4647,13 +4638,13 @@ export interface TelegramClient extends ITelegramClient {
4647
4638
  */
4648
4639
  deleteStickerFromSet(sticker: InputDocumentId): Promise<StickerSet>;
4649
4640
  /**
4650
- * Get custom emoji stickers by their IDs
4641
+ * Get custom emoji stickers by their IDs, or `null` if not available/found.
4651
4642
  *
4652
4643
  * **Available**: 👤 users only
4653
4644
  *
4654
4645
  * @param ids IDs of the stickers (as defined in {@link MessageEntity.emojiId})
4655
4646
  */
4656
- getCustomEmojis(ids: tl.Long[]): Promise<Sticker[]>;
4647
+ getCustomEmojis(ids: tl.Long[]): Promise<(Sticker | null)[]>;
4657
4648
  /**
4658
4649
  * Given one or more messages, extract all unique custom emojis from it and fetch them
4659
4650
  * **Available**: ✅ both users and bots
@@ -5205,7 +5196,7 @@ export interface TelegramClient extends ITelegramClient {
5205
5196
  * @param photoId ID of the photo to fetch
5206
5197
  * @param params
5207
5198
  */
5208
- getProfilePhoto(userId: InputPeerLike, photoId: tl.Long): Promise<Photo>;
5199
+ getProfilePhoto(userId: InputPeerLike, photoId: tl.Long): Promise<Photo | null>;
5209
5200
  /**
5210
5201
  * Get a list of profile pictures of a user
5211
5202
  *
@@ -1,7 +1,7 @@
1
1
  import { Emitter } from '@fuman/utils';
2
- import { tl } from '@mtcute/tl';
3
2
  import { default as Long } from 'long';
4
3
  import { ConnectionKind, RpcCallOptions } from '../network/index.js';
4
+ import { tl } from '../tl/index.js';
5
5
  import { ICorePlatform } from '../types/platform.js';
6
6
  import { MustEqual, PublicPart } from '../types/utils.js';
7
7
  import { Logger } from '../utils/logger.js';
@@ -31,7 +31,7 @@ export interface ITelegramClient {
31
31
  /** App config manager */
32
32
  readonly appConfig: PublicPart<AppConfigManager>;
33
33
  /** Timers manager */
34
- readonly timers: Pick<TimersManager, 'create' | 'cancel' | 'exists'>;
34
+ readonly timers: Pick<TimersManager, 'upsert' | 'cancel' | 'exists'>;
35
35
  /** Signal that will be aborted when the client is destroyed */
36
36
  readonly stopSignal: AbortSignal;
37
37
  /** Platform used by the client */
@@ -62,6 +62,9 @@ export interface ITelegramClient {
62
62
  *
63
63
  * This will terminate any connections to the Telegram servers,
64
64
  * free all the resources, and make the client no longer usable
65
+ *
66
+ * > **Note**: the above is not true for worker ports, which instead only closes the port connection itself.
67
+ * > To destroy the underlying client, use `unsafeForceDestroy()`.
65
68
  */
66
69
  destroy(): Promise<void>;
67
70
  /** Notify the client that the user has logged in */
@@ -1,7 +1,7 @@
1
1
  import { Emitter } from '@fuman/utils';
2
- import { tl } from '@mtcute/tl';
3
2
  import { default as Long } from 'long';
4
3
  import { ConnectionKind, RpcCallOptions } from '../network/index.js';
4
+ import { tl } from '../tl/index.js';
5
5
  import { ICorePlatform } from '../types/platform.js';
6
6
  import { MustEqual, PublicPart } from '../types/utils.js';
7
7
  import { Logger } from '../utils/logger.js';
@@ -31,7 +31,7 @@ export interface ITelegramClient {
31
31
  /** App config manager */
32
32
  readonly appConfig: PublicPart<AppConfigManager>;
33
33
  /** Timers manager */
34
- readonly timers: Pick<TimersManager, 'create' | 'cancel' | 'exists'>;
34
+ readonly timers: Pick<TimersManager, 'upsert' | 'cancel' | 'exists'>;
35
35
  /** Signal that will be aborted when the client is destroyed */
36
36
  readonly stopSignal: AbortSignal;
37
37
  /** Platform used by the client */
@@ -62,6 +62,9 @@ export interface ITelegramClient {
62
62
  *
63
63
  * This will terminate any connections to the Telegram servers,
64
64
  * free all the resources, and make the client no longer usable
65
+ *
66
+ * > **Note**: the above is not true for worker ports, which instead only closes the port connection itself.
67
+ * > To destroy the underlying client, use `unsafeForceDestroy()`.
65
68
  */
66
69
  destroy(): Promise<void>;
67
70
  /** Notify the client that the user has logged in */
@@ -7,37 +7,57 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
7
7
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
8
  const utils = require("@fuman/utils");
9
9
  class TimersManager {
10
+ constructor(_executeRpc) {
11
+ this._executeRpc = _executeRpc;
12
+ }
10
13
  _timers = /* @__PURE__ */ new Map();
11
14
  _errorHandler;
12
- constructor() {
13
- }
14
- exists(key) {
15
+ // These methods are async for API parity with worker-backed clients,
16
+ // where keepalive state is owned by the shared client/worker and accessed over RPC.
17
+ async exists(key) {
15
18
  return this._timers.has(key);
16
19
  }
17
- create(key, handler, interval, startNow = false) {
18
- if (this._timers.has(key)) {
19
- return;
20
+ async upsert(spec) {
21
+ this.upsertOwned("local", spec);
22
+ }
23
+ async cancel(key) {
24
+ this._cancel(key);
25
+ }
26
+ upsertOwned(ownerId, spec) {
27
+ this._cancel(spec.key);
28
+ const timer = new utils.AsyncInterval(
29
+ (abortSignal) => this._executeRpc(spec, abortSignal),
30
+ spec.interval
31
+ );
32
+ if (this._errorHandler) {
33
+ timer.onError(this._errorHandler);
20
34
  }
21
- const timer = new utils.AsyncInterval(handler, interval);
22
- if (this._errorHandler) timer.onError(this._errorHandler);
23
- this._timers.set(key, timer);
24
- if (startNow) timer.startNow();
35
+ this._timers.set(spec.key, {
36
+ ownerId,
37
+ timer
38
+ });
39
+ if (spec.startNow) timer.startNow();
25
40
  else timer.start();
26
41
  }
27
- cancel(key) {
28
- const timer = this._timers.get(key);
29
- if (!timer) return;
30
- timer.stop();
31
- this._timers.delete(key);
42
+ clearOwner(ownerId) {
43
+ for (const [key, timer] of Array.from(this._timers.entries())) {
44
+ if (timer.ownerId !== ownerId) continue;
45
+ this._cancel(key);
46
+ }
32
47
  }
33
48
  onError(handler) {
34
49
  this._errorHandler = handler;
35
50
  }
36
51
  destroy() {
37
- for (const timer of this._timers.values()) {
38
- timer.stop();
52
+ for (const key of Array.from(this._timers.keys())) {
53
+ this._cancel(key);
39
54
  }
40
- this._timers.clear();
55
+ }
56
+ _cancel(key) {
57
+ const timer = this._timers.get(key);
58
+ if (!timer) return;
59
+ timer.timer.stop();
60
+ this._timers.delete(key);
41
61
  }
42
62
  }
43
63
  exports.TimersManager = TimersManager;
@@ -1,10 +1,24 @@
1
+ import { RpcCallOptions } from '../../network/network-manager.js';
2
+ import { tl } from '../../tl/index.js';
3
+ export interface RpcTimerSpec {
4
+ kind: 'rpc';
5
+ key: string;
6
+ interval: number;
7
+ request: tl.RpcMethod;
8
+ options?: Omit<RpcCallOptions, 'abortSignal' | 'manager'>;
9
+ startNow?: boolean;
10
+ }
1
11
  export declare class TimersManager {
12
+ private readonly _executeRpc;
2
13
  private _timers;
3
14
  private _errorHandler?;
4
- constructor();
5
- exists(key: string): boolean;
6
- create(key: string, handler: (abortSignal: AbortSignal) => Promise<void>, interval: number, startNow?: boolean): void;
7
- cancel(key: string): void;
15
+ constructor(_executeRpc: (spec: RpcTimerSpec, abortSignal: AbortSignal) => Promise<void>);
16
+ exists(key: string): Promise<boolean>;
17
+ upsert(spec: RpcTimerSpec): Promise<void>;
18
+ cancel(key: string): Promise<void>;
19
+ upsertOwned(ownerId: string, spec: RpcTimerSpec): void;
20
+ clearOwner(ownerId: string): void;
8
21
  onError(handler: (err: unknown) => void): void;
9
22
  destroy(): void;
23
+ private _cancel;
10
24
  }
@@ -1,10 +1,24 @@
1
+ import { RpcCallOptions } from '../../network/network-manager.js';
2
+ import { tl } from '../../tl/index.js';
3
+ export interface RpcTimerSpec {
4
+ kind: 'rpc';
5
+ key: string;
6
+ interval: number;
7
+ request: tl.RpcMethod;
8
+ options?: Omit<RpcCallOptions, 'abortSignal' | 'manager'>;
9
+ startNow?: boolean;
10
+ }
1
11
  export declare class TimersManager {
12
+ private readonly _executeRpc;
2
13
  private _timers;
3
14
  private _errorHandler?;
4
- constructor();
5
- exists(key: string): boolean;
6
- create(key: string, handler: (abortSignal: AbortSignal) => Promise<void>, interval: number, startNow?: boolean): void;
7
- cancel(key: string): void;
15
+ constructor(_executeRpc: (spec: RpcTimerSpec, abortSignal: AbortSignal) => Promise<void>);
16
+ exists(key: string): Promise<boolean>;
17
+ upsert(spec: RpcTimerSpec): Promise<void>;
18
+ cancel(key: string): Promise<void>;
19
+ upsertOwned(ownerId: string, spec: RpcTimerSpec): void;
20
+ clearOwner(ownerId: string): void;
8
21
  onError(handler: (err: unknown) => void): void;
9
22
  destroy(): void;
23
+ private _cancel;
10
24
  }
@@ -1,36 +1,56 @@
1
1
  import { AsyncInterval } from "@fuman/utils";
2
2
  class TimersManager {
3
+ constructor(_executeRpc) {
4
+ this._executeRpc = _executeRpc;
5
+ }
3
6
  _timers = /* @__PURE__ */ new Map();
4
7
  _errorHandler;
5
- constructor() {
6
- }
7
- exists(key) {
8
+ // These methods are async for API parity with worker-backed clients,
9
+ // where keepalive state is owned by the shared client/worker and accessed over RPC.
10
+ async exists(key) {
8
11
  return this._timers.has(key);
9
12
  }
10
- create(key, handler, interval, startNow = false) {
11
- if (this._timers.has(key)) {
12
- return;
13
+ async upsert(spec) {
14
+ this.upsertOwned("local", spec);
15
+ }
16
+ async cancel(key) {
17
+ this._cancel(key);
18
+ }
19
+ upsertOwned(ownerId, spec) {
20
+ this._cancel(spec.key);
21
+ const timer = new AsyncInterval(
22
+ (abortSignal) => this._executeRpc(spec, abortSignal),
23
+ spec.interval
24
+ );
25
+ if (this._errorHandler) {
26
+ timer.onError(this._errorHandler);
13
27
  }
14
- const timer = new AsyncInterval(handler, interval);
15
- if (this._errorHandler) timer.onError(this._errorHandler);
16
- this._timers.set(key, timer);
17
- if (startNow) timer.startNow();
28
+ this._timers.set(spec.key, {
29
+ ownerId,
30
+ timer
31
+ });
32
+ if (spec.startNow) timer.startNow();
18
33
  else timer.start();
19
34
  }
20
- cancel(key) {
21
- const timer = this._timers.get(key);
22
- if (!timer) return;
23
- timer.stop();
24
- this._timers.delete(key);
35
+ clearOwner(ownerId) {
36
+ for (const [key, timer] of Array.from(this._timers.entries())) {
37
+ if (timer.ownerId !== ownerId) continue;
38
+ this._cancel(key);
39
+ }
25
40
  }
26
41
  onError(handler) {
27
42
  this._errorHandler = handler;
28
43
  }
29
44
  destroy() {
30
- for (const timer of this._timers.values()) {
31
- timer.stop();
45
+ for (const key of Array.from(this._timers.keys())) {
46
+ this._cancel(key);
32
47
  }
33
- this._timers.clear();
48
+ }
49
+ _cancel(key) {
50
+ const timer = this._timers.get(key);
51
+ if (!timer) return;
52
+ timer.timer.stop();
53
+ this._timers.delete(key);
34
54
  }
35
55
  }
36
56
  export {
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import { tl } from '@mtcute/tl';
1
+ import { tl } from '../../../tl/index.js';
2
2
  import { ITelegramClient } from '../../client.types.js';
3
3
  import { User } from '../../types/index.js';
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { tl } from '@mtcute/tl';
1
+ import { tl } from '../../../tl/index.js';
2
2
  import { ITelegramClient } from '../../client.types.js';
3
3
  import { User } from '../../types/index.js';
4
4
  /**