@mtcute/core 0.28.2 → 0.29.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 (747) hide show
  1. package/client.cjs +0 -4
  2. package/client.js +0 -4
  3. package/highlevel/base.cjs +8 -9
  4. package/highlevel/base.d.cts +1 -1
  5. package/highlevel/base.d.ts +1 -1
  6. package/highlevel/base.js +8 -9
  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 +1 -1
  438. package/highlevel/types/peers/peer.d.ts +1 -1
  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 +4 -4
  578. package/highlevel/utils/peer-utils.d.cts +1 -1
  579. package/highlevel/utils/peer-utils.d.ts +1 -1
  580. package/highlevel/utils/peer-utils.js +4 -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 +6 -7
  626. package/network/client.d.cts +1 -12
  627. package/network/client.d.ts +1 -12
  628. package/network/client.js +4 -5
  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 +40 -2
  646. package/network/network-manager.d.cts +12 -3
  647. package/network/network-manager.d.ts +12 -3
  648. package/network/network-manager.js +41 -3
  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/peer-utils.d.cts +1 -1
  725. package/utils/peer-utils.d.ts +1 -1
  726. package/utils/tl-json.d.cts +1 -1
  727. package/utils/tl-json.d.ts +1 -1
  728. package/utils/type-assertions.d.cts +1 -1
  729. package/utils/type-assertions.d.ts +1 -1
  730. package/utils.cjs +4 -18
  731. package/utils.js +2 -10
  732. package/highlevel/methods/chats/get-nearby-chats.cjs +0 -37
  733. package/highlevel/methods/chats/get-nearby-chats.d.cts +0 -9
  734. package/highlevel/methods/chats/get-nearby-chats.d.ts +0 -9
  735. package/highlevel/methods/chats/get-nearby-chats.js +0 -32
  736. package/highlevel/methods/messages/_business-connection.cjs +0 -42
  737. package/highlevel/methods/messages/_business-connection.d.cts +0 -8
  738. package/highlevel/methods/messages/_business-connection.d.ts +0 -8
  739. package/highlevel/methods/messages/_business-connection.js +0 -37
  740. package/highlevel/types/peers/chat-location.cjs +0 -30
  741. package/highlevel/types/peers/chat-location.d.cts +0 -17
  742. package/highlevel/types/peers/chat-location.d.ts +0 -17
  743. package/highlevel/types/peers/chat-location.js +0 -25
  744. package/utils/error-reporting.cjs +0 -23
  745. package/utils/error-reporting.d.cts +0 -3
  746. package/utils/error-reporting.d.ts +0 -3
  747. package/utils/error-reporting.js +0 -18
@@ -5,12 +5,12 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
5
5
  }
6
6
  "use strict";
7
7
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
- const tl = require("@mtcute/tl");
9
8
  const utils = require("../../types/utils.cjs");
10
9
  const errors = require("../types/errors.cjs");
10
+ const innerTl = require("../../tl/inner-tl.cjs");
11
11
  const INVITE_LINK_REGEX = /^(?:https?:\/\/)?(?:www\.)?t(?:elegram)?\.(?:org|me|dog)\/(?:joinchat\/|\+)([\w-]+)$/i;
12
12
  function toInputPeer(res) {
13
- if (tl.tl.isAnyInputPeer(res)) return res;
13
+ if (innerTl.isAnyInputPeer(res)) return res;
14
14
  switch (res._) {
15
15
  case "inputChannelEmpty":
16
16
  case "inputUserEmpty":
@@ -48,7 +48,7 @@ function toInputPeer(res) {
48
48
  }
49
49
  }
50
50
  function toInputUser(res, input) {
51
- if (tl.tl.isAnyInputUser(res)) return res;
51
+ if (innerTl.isAnyInputUser(res)) return res;
52
52
  switch (res._) {
53
53
  case "inputPeerSelf":
54
54
  return { _: "inputUserSelf" };
@@ -69,7 +69,7 @@ function toInputUser(res, input) {
69
69
  throw new errors.MtInvalidPeerTypeError(input ?? res, "user");
70
70
  }
71
71
  function toInputChannel(res, input) {
72
- if (tl.tl.isAnyInputChannel(res)) return res;
72
+ if (innerTl.isAnyInputChannel(res)) return res;
73
73
  switch (res._) {
74
74
  case "inputPeerChannel":
75
75
  return {
@@ -1,5 +1,5 @@
1
1
  import { InputPeerLike } from '../types/peers/index.js';
2
- import { tl } from '@mtcute/tl';
2
+ import { tl } from '../../tl/index.js';
3
3
  export declare const INVITE_LINK_REGEX: RegExp;
4
4
  export declare function toInputPeer(res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel): tl.TypeInputPeer;
5
5
  export declare function toInputUser(res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel, input?: InputPeerLike): tl.TypeInputUser;
@@ -1,5 +1,5 @@
1
1
  import { InputPeerLike } from '../types/peers/index.js';
2
- import { tl } from '@mtcute/tl';
2
+ import { tl } from '../../tl/index.js';
3
3
  export declare const INVITE_LINK_REGEX: RegExp;
4
4
  export declare function toInputPeer(res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel): tl.TypeInputPeer;
5
5
  export declare function toInputUser(res: tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel, input?: InputPeerLike): tl.TypeInputUser;
@@ -1,9 +1,9 @@
1
- import { tl } from "@mtcute/tl";
2
1
  import { assertNever } from "../../types/utils.js";
3
2
  import { MtInvalidPeerTypeError } from "../types/errors.js";
3
+ import { isAnyInputPeer, isAnyInputUser, isAnyInputChannel } from "../../tl/inner-tl.js";
4
4
  const INVITE_LINK_REGEX = /^(?:https?:\/\/)?(?:www\.)?t(?:elegram)?\.(?:org|me|dog)\/(?:joinchat\/|\+)([\w-]+)$/i;
5
5
  function toInputPeer(res) {
6
- if (tl.isAnyInputPeer(res)) return res;
6
+ if (isAnyInputPeer(res)) return res;
7
7
  switch (res._) {
8
8
  case "inputChannelEmpty":
9
9
  case "inputUserEmpty":
@@ -41,7 +41,7 @@ function toInputPeer(res) {
41
41
  }
42
42
  }
43
43
  function toInputUser(res, input) {
44
- if (tl.isAnyInputUser(res)) return res;
44
+ if (isAnyInputUser(res)) return res;
45
45
  switch (res._) {
46
46
  case "inputPeerSelf":
47
47
  return { _: "inputUserSelf" };
@@ -62,7 +62,7 @@ function toInputUser(res, input) {
62
62
  throw new MtInvalidPeerTypeError(input ?? res, "user");
63
63
  }
64
64
  function toInputChannel(res, input) {
65
- if (tl.isAnyInputChannel(res)) return res;
65
+ if (isAnyInputChannel(res)) return res;
66
66
  switch (res._) {
67
67
  case "inputPeerChannel":
68
68
  return {
@@ -5,9 +5,9 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
5
5
  }
6
6
  "use strict";
7
7
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
- const tl = require("@mtcute/tl");
9
8
  const errors$1 = require("../../types/errors.cjs");
10
9
  const errors = require("../types/errors.cjs");
10
+ const innerTl = require("../../tl/inner-tl.cjs");
11
11
  function serializeError(error) {
12
12
  if (!(error instanceof Error)) return { name: "Error", message: String(error) };
13
13
  const res = {
@@ -38,7 +38,7 @@ function serializeError(error) {
38
38
  messageId: _error.messageId,
39
39
  context: _error.context
40
40
  };
41
- } else if (ctor === tl.tl.RpcError) {
41
+ } else if (ctor === innerTl.RpcError) {
42
42
  res.name = "RpcError";
43
43
  res.custom = { ...error };
44
44
  } else if (ctor === errors$1.MtArgumentError) {
@@ -78,7 +78,7 @@ function deserializeError(error) {
78
78
  }
79
79
  case "RpcError": {
80
80
  const custom = error.custom;
81
- err2 = new tl.tl.RpcError(custom.code, custom.text);
81
+ err2 = new innerTl.RpcError(custom.code, custom.text);
82
82
  err2.message = error.message;
83
83
  for (const key in custom) {
84
84
  if (key === "code" || key === "text") continue;
@@ -1,6 +1,6 @@
1
- import { tl } from "@mtcute/tl";
2
1
  import { MtUnsupportedError, MtSecurityError, MtArgumentError, MtTimeoutError, MtTypeAssertionError, MtcuteError } from "../../types/errors.js";
3
2
  import { MtEmptyError, MtInvalidPeerTypeError, MtPeerNotFoundError, MtMessageNotFoundError } from "../types/errors.js";
3
+ import { RpcError } from "../../tl/inner-tl.js";
4
4
  function serializeError(error) {
5
5
  if (!(error instanceof Error)) return { name: "Error", message: String(error) };
6
6
  const res = {
@@ -31,7 +31,7 @@ function serializeError(error) {
31
31
  messageId: _error.messageId,
32
32
  context: _error.context
33
33
  };
34
- } else if (ctor === tl.RpcError) {
34
+ } else if (ctor === RpcError) {
35
35
  res.name = "RpcError";
36
36
  res.custom = { ...error };
37
37
  } else if (ctor === MtArgumentError) {
@@ -71,7 +71,7 @@ function deserializeError(error) {
71
71
  }
72
72
  case "RpcError": {
73
73
  const custom = error.custom;
74
- err2 = new tl.RpcError(custom.code, custom.text);
74
+ err2 = new RpcError(custom.code, custom.text);
75
75
  err2.message = error.message;
76
76
  for (const key in custom) {
77
77
  if (key === "code" || key === "text") continue;
@@ -9,16 +9,61 @@ const utils = require("@fuman/utils");
9
9
  const errors = require("./errors.cjs");
10
10
  const protocol = require("./protocol.cjs");
11
11
  class WorkerInvoker {
12
- constructor(send, workerId) {
12
+ constructor(send, workerId, connectionId) {
13
13
  this.send = send;
14
14
  this.workerId = workerId;
15
+ this.connectionId = connectionId;
15
16
  }
16
17
  _nextId = 0;
18
+ _released = false;
19
+ _releasedError = new Error("Worker connection closed");
17
20
  _pending = /* @__PURE__ */ new Map();
21
+ _close(error, shouldRelease) {
22
+ if (this._released) return;
23
+ this._released = true;
24
+ this._releasedError = error;
25
+ if (shouldRelease) {
26
+ this.send({
27
+ _mtcuteWorkerId: this.workerId,
28
+ connectionId: this.connectionId,
29
+ type: "release"
30
+ });
31
+ }
32
+ for (const pending of this._pending.values()) {
33
+ pending.reject(error);
34
+ }
35
+ this._pending.clear();
36
+ }
37
+ connect() {
38
+ this.send({
39
+ _mtcuteWorkerId: this.workerId,
40
+ connectionId: this.connectionId,
41
+ type: "connect"
42
+ });
43
+ }
44
+ heartbeat() {
45
+ if (this._released) return;
46
+ this.send({
47
+ _mtcuteWorkerId: this.workerId,
48
+ connectionId: this.connectionId,
49
+ type: "heartbeat"
50
+ });
51
+ }
52
+ release() {
53
+ this._close(new Error("Worker connection closed"), true);
54
+ }
55
+ expire() {
56
+ this._close(new Error("Worker connection expired"), false);
57
+ }
18
58
  _invoke(target, method, args, isVoid, abortSignal) {
59
+ if (this._released) {
60
+ if (isVoid) throw this._releasedError;
61
+ return Promise.reject(this._releasedError);
62
+ }
19
63
  const id = this._nextId++;
20
64
  this.send({
21
65
  _mtcuteWorkerId: this.workerId,
66
+ connectionId: this.connectionId,
22
67
  type: "invoke",
23
68
  id,
24
69
  target,
@@ -27,13 +72,26 @@ class WorkerInvoker {
27
72
  void: isVoid,
28
73
  withAbort: Boolean(abortSignal)
29
74
  });
30
- abortSignal?.addEventListener("abort", () => {
31
- this.send({
32
- _mtcuteWorkerId: this.workerId,
33
- type: "abort",
34
- id
35
- });
36
- });
75
+ if (abortSignal) {
76
+ const onAbort = () => {
77
+ if (this._released) return;
78
+ this.send({
79
+ _mtcuteWorkerId: this.workerId,
80
+ connectionId: this.connectionId,
81
+ type: "abort",
82
+ id
83
+ });
84
+ };
85
+ abortSignal.addEventListener("abort", onAbort, { once: true });
86
+ if (!isVoid) {
87
+ const promise = new utils.Deferred();
88
+ this._pending.set(id, promise);
89
+ return promise.promise.finally(() => {
90
+ abortSignal.removeEventListener("abort", onAbort);
91
+ });
92
+ }
93
+ return;
94
+ }
37
95
  if (!isVoid) {
38
96
  const promise = new utils.Deferred();
39
97
  this._pending.set(id, promise);
@@ -44,7 +102,7 @@ class WorkerInvoker {
44
102
  return this._invoke(target, method, args, false);
45
103
  }
46
104
  invokeVoid(target, method, args) {
47
- this._invoke(target, method, args, true);
105
+ void this._invoke(target, method, args, true);
48
106
  }
49
107
  invokeWithAbort(target, method, args, abortSignal) {
50
108
  if (abortSignal.aborted) return Promise.reject(abortSignal.reason);
@@ -5,9 +5,17 @@ export type InvokeTarget = Extract<WorkerInboundMessage, {
5
5
  export declare class WorkerInvoker {
6
6
  private send;
7
7
  private readonly workerId;
8
- constructor(send: SendFn, workerId: string);
8
+ private readonly connectionId;
9
+ constructor(send: SendFn, workerId: string, connectionId: string);
9
10
  private _nextId;
11
+ private _released;
12
+ private _releasedError;
10
13
  private _pending;
14
+ private _close;
15
+ connect(): void;
16
+ heartbeat(): void;
17
+ release(): void;
18
+ expire(): void;
11
19
  private _invoke;
12
20
  invoke(target: InvokeTarget, method: string, args: unknown[]): Promise<unknown>;
13
21
  invokeVoid(target: InvokeTarget, method: string, args: unknown[]): void;
@@ -5,9 +5,17 @@ export type InvokeTarget = Extract<WorkerInboundMessage, {
5
5
  export declare class WorkerInvoker {
6
6
  private send;
7
7
  private readonly workerId;
8
- constructor(send: SendFn, workerId: string);
8
+ private readonly connectionId;
9
+ constructor(send: SendFn, workerId: string, connectionId: string);
9
10
  private _nextId;
11
+ private _released;
12
+ private _releasedError;
10
13
  private _pending;
14
+ private _close;
15
+ connect(): void;
16
+ heartbeat(): void;
17
+ release(): void;
18
+ expire(): void;
11
19
  private _invoke;
12
20
  invoke(target: InvokeTarget, method: string, args: unknown[]): Promise<unknown>;
13
21
  invokeVoid(target: InvokeTarget, method: string, args: unknown[]): void;
@@ -2,16 +2,61 @@ import { Deferred } from "@fuman/utils";
2
2
  import { deserializeError } from "./errors.js";
3
3
  import { serializeResult, deserializeResult } from "./protocol.js";
4
4
  class WorkerInvoker {
5
- constructor(send, workerId) {
5
+ constructor(send, workerId, connectionId) {
6
6
  this.send = send;
7
7
  this.workerId = workerId;
8
+ this.connectionId = connectionId;
8
9
  }
9
10
  _nextId = 0;
11
+ _released = false;
12
+ _releasedError = new Error("Worker connection closed");
10
13
  _pending = /* @__PURE__ */ new Map();
14
+ _close(error, shouldRelease) {
15
+ if (this._released) return;
16
+ this._released = true;
17
+ this._releasedError = error;
18
+ if (shouldRelease) {
19
+ this.send({
20
+ _mtcuteWorkerId: this.workerId,
21
+ connectionId: this.connectionId,
22
+ type: "release"
23
+ });
24
+ }
25
+ for (const pending of this._pending.values()) {
26
+ pending.reject(error);
27
+ }
28
+ this._pending.clear();
29
+ }
30
+ connect() {
31
+ this.send({
32
+ _mtcuteWorkerId: this.workerId,
33
+ connectionId: this.connectionId,
34
+ type: "connect"
35
+ });
36
+ }
37
+ heartbeat() {
38
+ if (this._released) return;
39
+ this.send({
40
+ _mtcuteWorkerId: this.workerId,
41
+ connectionId: this.connectionId,
42
+ type: "heartbeat"
43
+ });
44
+ }
45
+ release() {
46
+ this._close(new Error("Worker connection closed"), true);
47
+ }
48
+ expire() {
49
+ this._close(new Error("Worker connection expired"), false);
50
+ }
11
51
  _invoke(target, method, args, isVoid, abortSignal) {
52
+ if (this._released) {
53
+ if (isVoid) throw this._releasedError;
54
+ return Promise.reject(this._releasedError);
55
+ }
12
56
  const id = this._nextId++;
13
57
  this.send({
14
58
  _mtcuteWorkerId: this.workerId,
59
+ connectionId: this.connectionId,
15
60
  type: "invoke",
16
61
  id,
17
62
  target,
@@ -20,13 +65,26 @@ class WorkerInvoker {
20
65
  void: isVoid,
21
66
  withAbort: Boolean(abortSignal)
22
67
  });
23
- abortSignal?.addEventListener("abort", () => {
24
- this.send({
25
- _mtcuteWorkerId: this.workerId,
26
- type: "abort",
27
- id
28
- });
29
- });
68
+ if (abortSignal) {
69
+ const onAbort = () => {
70
+ if (this._released) return;
71
+ this.send({
72
+ _mtcuteWorkerId: this.workerId,
73
+ connectionId: this.connectionId,
74
+ type: "abort",
75
+ id
76
+ });
77
+ };
78
+ abortSignal.addEventListener("abort", onAbort, { once: true });
79
+ if (!isVoid) {
80
+ const promise = new Deferred();
81
+ this._pending.set(id, promise);
82
+ return promise.promise.finally(() => {
83
+ abortSignal.removeEventListener("abort", onAbort);
84
+ });
85
+ }
86
+ return;
87
+ }
30
88
  if (!isVoid) {
31
89
  const promise = new Deferred();
32
90
  this._pending.set(id, promise);
@@ -37,7 +95,7 @@ class WorkerInvoker {
37
95
  return this._invoke(target, method, args, false);
38
96
  }
39
97
  invokeVoid(target, method, args) {
40
- this._invoke(target, method, args, true);
98
+ void this._invoke(target, method, args, true);
41
99
  }
42
100
  invokeWithAbort(target, method, args, abortSignal) {
43
101
  if (abortSignal.aborted) return Promise.reject(abortSignal.reason);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -7,28 +7,41 @@ 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
  const logger = require("../../utils/logger.cjs");
10
- const timers = require("../managers/timers.cjs");
11
10
  const peersIndex = require("../types/peers/peers-index.cjs");
12
11
  const appConfig = require("./app-config.cjs");
13
12
  const errors = require("./errors.cjs");
14
13
  const invoker = require("./invoker.cjs");
15
14
  const protocol = require("./protocol.cjs");
16
15
  const storage = require("./storage.cjs");
16
+ const timers = require("./timers.cjs");
17
+ const WORKER_HEARTBEAT_INTERVAL = 1e4;
18
+ let _nextConnectionId = 0;
19
+ function makeConnectionId() {
20
+ return `${Date.now().toString(36)}-${(_nextConnectionId++).toString(36)}-${Math.random().toString(36).slice(2)}`;
21
+ }
17
22
  class TelegramWorkerPort {
18
23
  constructor(options) {
19
24
  this.options = options;
20
25
  this.log = new logger.LogManager("worker", options.platform);
21
26
  this.platform = options.platform;
22
27
  this.workerId = options.workerId ?? protocol.DEFAULT_WORKER_ID;
28
+ this.connectionId = makeConnectionId();
23
29
  this._connection = this.connectToWorker(this.options.worker, this._onMessage);
24
- this._invoker = new invoker.WorkerInvoker(this._connection[0], this.workerId);
30
+ this._invoker = new invoker.WorkerInvoker(this._connection[0], this.workerId, this.connectionId);
31
+ this._invoker.connect();
32
+ this._heartbeatTimer = setInterval(() => {
33
+ this._invoker.heartbeat();
34
+ }, WORKER_HEARTBEAT_INTERVAL);
35
+ this._cancelBeforeExit = this.platform.beforeExit(() => {
36
+ void this.destroy();
37
+ });
25
38
  this.storage = new storage.TelegramStorageProxy(this._invoker);
26
39
  this.appConfig = new appConfig.AppConfigManagerProxy(this._invoker);
27
40
  const bind = this._invoker.makeBinder("client");
28
41
  this.prepare = bind("prepare");
29
42
  this._connect = bind("connect");
30
43
  this.disconnect = bind("disconnect");
31
- this.destroy_ = bind("destroy");
44
+ this.unsafeForceDestroy = bind("destroy");
32
45
  this.notifyLoggedIn = bind("notifyLoggedIn");
33
46
  this.notifyLoggedOut = bind("notifyLoggedOut");
34
47
  this.notifyChannelOpened = bind("notifyChannelOpened");
@@ -46,8 +59,7 @@ class TelegramWorkerPort {
46
59
  this.stopUpdatesLoop = bind("stopUpdatesLoop");
47
60
  this.getMtprotoMessageId = bind("getMtprotoMessageId");
48
61
  this.recreateDc = bind("recreateDc");
49
- this.timers = new timers.TimersManager();
50
- this.timers.onError((err) => this.onError.emit(utils.unknownToError(err)));
62
+ this.timers = new timers.WorkerTimersManager(this._invoker);
51
63
  }
52
64
  log;
53
65
  platform;
@@ -55,15 +67,12 @@ class TelegramWorkerPort {
55
67
  _invoker;
56
68
  storage;
57
69
  appConfig;
58
- // todo: ideally timers should be handled on the worker side,
59
- // but i'm not sure yet of the best way to handle multiple clients (e.g. in SharedWorker-s)
60
- // (with one worker client it's not that big of a deal)
61
70
  timers;
62
71
  // bound methods
63
72
  prepare;
64
73
  _connect;
65
74
  disconnect;
66
- destroy_;
75
+ unsafeForceDestroy;
67
76
  notifyLoggedIn;
68
77
  notifyLoggedOut;
69
78
  notifyChannelOpened;
@@ -84,6 +93,9 @@ class TelegramWorkerPort {
84
93
  _abortController = new AbortController();
85
94
  stopSignal = this._abortController.signal;
86
95
  workerId;
96
+ connectionId;
97
+ _cancelBeforeExit;
98
+ _heartbeatTimer;
87
99
  call(message, params) {
88
100
  if (params?.abortSignal) {
89
101
  const { abortSignal, ...rest } = params;
@@ -96,7 +108,9 @@ class TelegramWorkerPort {
96
108
  onConnectionState = new utils.Emitter();
97
109
  onError = new utils.Emitter();
98
110
  _onMessage = (message) => {
111
+ if (this._closed) return;
99
112
  if (message._mtcuteWorkerId !== this.workerId) return;
113
+ if ("connectionId" in message && message.connectionId !== this.connectionId) return;
100
114
  switch (message.type) {
101
115
  case "log":
102
116
  this.log.handler(message.color, message.level, message.tag, message.fmt, message.args);
@@ -104,6 +118,15 @@ class TelegramWorkerPort {
104
118
  case "server_update":
105
119
  this.onServerUpdate.emit(protocol.deserializeResult(message.update));
106
120
  break;
121
+ case "self_sync":
122
+ this.storage.self.setCached(protocol.deserializeResult(message.self));
123
+ break;
124
+ case "connection_expired": {
125
+ const error = new Error("Worker connection expired");
126
+ this.onError.emit(error);
127
+ this._close(false);
128
+ break;
129
+ }
107
130
  case "conn_state":
108
131
  this.onConnectionState.emit(message.state);
109
132
  break;
@@ -120,17 +143,28 @@ class TelegramWorkerPort {
120
143
  this.onError.emit(errors.deserializeError(message.error));
121
144
  break;
122
145
  case "stop":
123
- this._abortController.abort();
146
+ this._close(false);
124
147
  break;
125
148
  }
126
149
  };
127
- _destroyed = false;
150
+ _closed = false;
151
+ _close(sendRelease) {
152
+ if (this._closed) return;
153
+ this._closed = true;
154
+ if (this._heartbeatTimer !== void 0) {
155
+ clearInterval(this._heartbeatTimer);
156
+ }
157
+ this._cancelBeforeExit?.();
158
+ if (sendRelease) {
159
+ this._invoker.release();
160
+ } else {
161
+ this._invoker.expire();
162
+ }
163
+ this._abortController.abort();
164
+ queueMicrotask(() => this._connection[1]());
165
+ }
128
166
  async destroy(terminate = false) {
129
- if (this._destroyed) return;
130
- await this.destroy_();
131
- this.timers.destroy();
132
- this._connection[1]();
133
- this._destroyed = true;
167
+ this._close(true);
134
168
  if (terminate && "terminate" in this.options.worker) {
135
169
  await Promise.resolve(this.options.worker.terminate());
136
170
  }
@@ -1,5 +1,5 @@
1
- import { tl } from '@mtcute/tl';
2
1
  import { RpcCallOptions } from '../../network/network-manager.js';
2
+ import { tl } from '../../tl/index.js';
3
3
  import { ICorePlatform } from '../../types/platform.js';
4
4
  import { MustEqual } from '../../types/utils.js';
5
5
  import { ConnectionState, ITelegramClient } from '../client.types.js';
@@ -7,9 +7,9 @@ import { RawUpdateInfo } from '../updates/types.js';
7
7
  import { ClientMessageHandler, SendFn, SomeWorker, WorkerCustomMethods } from './protocol.js';
8
8
  import { Emitter } from '@fuman/utils';
9
9
  import { LogManager } from '../../utils/logger.js';
10
- import { TimersManager } from '../managers/timers.js';
11
10
  import { AppConfigManagerProxy } from './app-config.js';
12
11
  import { TelegramStorageProxy } from './storage.js';
12
+ import { WorkerTimersManager } from './timers.js';
13
13
  export interface TelegramWorkerPortOptions {
14
14
  worker: SomeWorker;
15
15
  workerId?: string;
@@ -23,11 +23,11 @@ export declare abstract class TelegramWorkerPort<Custom extends WorkerCustomMeth
23
23
  private _invoker;
24
24
  readonly storage: TelegramStorageProxy;
25
25
  readonly appConfig: AppConfigManagerProxy;
26
- readonly timers: TimersManager;
26
+ readonly timers: WorkerTimersManager;
27
27
  readonly prepare: ITelegramClient['prepare'];
28
28
  private _connect;
29
29
  readonly disconnect: ITelegramClient['disconnect'];
30
- readonly destroy_: ITelegramClient['destroy'];
30
+ readonly unsafeForceDestroy: () => Promise<void>;
31
31
  readonly notifyLoggedIn: ITelegramClient['notifyLoggedIn'];
32
32
  readonly notifyLoggedOut: ITelegramClient['notifyLoggedOut'];
33
33
  readonly notifyChannelOpened: ITelegramClient['notifyChannelOpened'];
@@ -48,6 +48,9 @@ export declare abstract class TelegramWorkerPort<Custom extends WorkerCustomMeth
48
48
  private _abortController;
49
49
  readonly stopSignal: AbortSignal;
50
50
  readonly workerId: string;
51
+ readonly connectionId: string;
52
+ private _cancelBeforeExit;
53
+ private _heartbeatTimer;
51
54
  constructor(options: TelegramWorkerPortOptions);
52
55
  call<T extends tl.RpcMethod>(message: MustEqual<T, tl.RpcMethod>, params?: RpcCallOptions): Promise<tl.RpcCallReturn[T['_']]>;
53
56
  abstract connectToWorker(worker: SomeWorker, handler: ClientMessageHandler): [SendFn, () => void];
@@ -56,7 +59,8 @@ export declare abstract class TelegramWorkerPort<Custom extends WorkerCustomMeth
56
59
  onConnectionState: Emitter<ConnectionState>;
57
60
  onError: Emitter<Error>;
58
61
  private _onMessage;
59
- private _destroyed;
62
+ private _closed;
63
+ private _close;
60
64
  destroy(terminate?: boolean): Promise<void>;
61
65
  invokeCustom<T extends keyof Custom>(method: T, ...args: Parameters<Custom[T]>): Promise<ReturnType<Custom[T]>>;
62
66
  connect(): Promise<void>;
@@ -1,5 +1,5 @@
1
- import { tl } from '@mtcute/tl';
2
1
  import { RpcCallOptions } from '../../network/network-manager.js';
2
+ import { tl } from '../../tl/index.js';
3
3
  import { ICorePlatform } from '../../types/platform.js';
4
4
  import { MustEqual } from '../../types/utils.js';
5
5
  import { ConnectionState, ITelegramClient } from '../client.types.js';
@@ -7,9 +7,9 @@ import { RawUpdateInfo } from '../updates/types.js';
7
7
  import { ClientMessageHandler, SendFn, SomeWorker, WorkerCustomMethods } from './protocol.js';
8
8
  import { Emitter } from '@fuman/utils';
9
9
  import { LogManager } from '../../utils/logger.js';
10
- import { TimersManager } from '../managers/timers.js';
11
10
  import { AppConfigManagerProxy } from './app-config.js';
12
11
  import { TelegramStorageProxy } from './storage.js';
12
+ import { WorkerTimersManager } from './timers.js';
13
13
  export interface TelegramWorkerPortOptions {
14
14
  worker: SomeWorker;
15
15
  workerId?: string;
@@ -23,11 +23,11 @@ export declare abstract class TelegramWorkerPort<Custom extends WorkerCustomMeth
23
23
  private _invoker;
24
24
  readonly storage: TelegramStorageProxy;
25
25
  readonly appConfig: AppConfigManagerProxy;
26
- readonly timers: TimersManager;
26
+ readonly timers: WorkerTimersManager;
27
27
  readonly prepare: ITelegramClient['prepare'];
28
28
  private _connect;
29
29
  readonly disconnect: ITelegramClient['disconnect'];
30
- readonly destroy_: ITelegramClient['destroy'];
30
+ readonly unsafeForceDestroy: () => Promise<void>;
31
31
  readonly notifyLoggedIn: ITelegramClient['notifyLoggedIn'];
32
32
  readonly notifyLoggedOut: ITelegramClient['notifyLoggedOut'];
33
33
  readonly notifyChannelOpened: ITelegramClient['notifyChannelOpened'];
@@ -48,6 +48,9 @@ export declare abstract class TelegramWorkerPort<Custom extends WorkerCustomMeth
48
48
  private _abortController;
49
49
  readonly stopSignal: AbortSignal;
50
50
  readonly workerId: string;
51
+ readonly connectionId: string;
52
+ private _cancelBeforeExit;
53
+ private _heartbeatTimer;
51
54
  constructor(options: TelegramWorkerPortOptions);
52
55
  call<T extends tl.RpcMethod>(message: MustEqual<T, tl.RpcMethod>, params?: RpcCallOptions): Promise<tl.RpcCallReturn[T['_']]>;
53
56
  abstract connectToWorker(worker: SomeWorker, handler: ClientMessageHandler): [SendFn, () => void];
@@ -56,7 +59,8 @@ export declare abstract class TelegramWorkerPort<Custom extends WorkerCustomMeth
56
59
  onConnectionState: Emitter<ConnectionState>;
57
60
  onError: Emitter<Error>;
58
61
  private _onMessage;
59
- private _destroyed;
62
+ private _closed;
63
+ private _close;
60
64
  destroy(terminate?: boolean): Promise<void>;
61
65
  invokeCustom<T extends keyof Custom>(method: T, ...args: Parameters<Custom[T]>): Promise<ReturnType<Custom[T]>>;
62
66
  connect(): Promise<void>;