@mtcute/core 0.7.2 → 0.8.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 (1132) hide show
  1. package/README.md +26 -3
  2. package/cjs/highlevel/base.d.ts +3 -1
  3. package/cjs/highlevel/base.js +18 -0
  4. package/cjs/highlevel/base.js.map +1 -1
  5. package/cjs/highlevel/client.d.ts +23 -10
  6. package/cjs/highlevel/client.js +26 -19
  7. package/cjs/highlevel/client.js.map +1 -1
  8. package/cjs/highlevel/client.types.d.ts +14 -0
  9. package/cjs/highlevel/client.types.js.map +1 -1
  10. package/cjs/highlevel/index.d.ts +0 -2
  11. package/cjs/highlevel/index.js +0 -2
  12. package/cjs/highlevel/index.js.map +1 -1
  13. package/cjs/highlevel/methods/_imports.js.map +1 -1
  14. package/cjs/highlevel/methods/_init.js +4 -29
  15. package/cjs/highlevel/methods/_init.js.map +1 -1
  16. package/cjs/highlevel/methods/bots/get-callback-answer.js +2 -2
  17. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  18. package/cjs/highlevel/methods/dialogs/create-folder.js +1 -1
  19. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  20. package/cjs/highlevel/methods/dialogs/edit-folder.js +1 -1
  21. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  22. package/cjs/highlevel/methods/dialogs/find-folder.js +1 -1
  23. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  24. package/cjs/highlevel/methods/dialogs/get-folders.d.ts +1 -1
  25. package/cjs/highlevel/methods/dialogs/get-folders.js +1 -1
  26. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  27. package/cjs/highlevel/methods/files/download-file.d.ts +1 -10
  28. package/cjs/highlevel/methods/files/download-file.js +1 -32
  29. package/cjs/highlevel/methods/files/download-file.js.map +1 -1
  30. package/cjs/highlevel/methods/files/download-iterable.js +2 -1
  31. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  32. package/cjs/highlevel/methods/files/download-node-stream.js +4 -0
  33. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -0
  34. package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -1
  35. package/cjs/highlevel/methods/files/normalize-input-media.js +2 -1
  36. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  37. package/cjs/highlevel/methods/files/upload-file.d.ts +0 -3
  38. package/cjs/highlevel/methods/files/upload-file.js +17 -13
  39. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  40. package/cjs/highlevel/methods/messages/find-in-update.js +23 -8
  41. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  42. package/cjs/highlevel/methods/messages/send-media-group.d.ts +1 -1
  43. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  44. package/cjs/highlevel/methods/messages/send-media.d.ts +2 -2
  45. package/cjs/highlevel/methods/messages/send-media.js +5 -4
  46. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  47. package/cjs/highlevel/methods/messages/send-text.d.ts +1 -1
  48. package/cjs/highlevel/methods/messages/send-text.js +7 -6
  49. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  50. package/cjs/highlevel/methods/misc/with-params.d.ts +10 -0
  51. package/cjs/highlevel/methods/misc/with-params.js +32 -0
  52. package/cjs/highlevel/methods/misc/with-params.js.map +1 -0
  53. package/cjs/highlevel/methods.d.ts +13 -1
  54. package/cjs/highlevel/methods.js +4 -6
  55. package/cjs/highlevel/methods.js.map +1 -1
  56. package/cjs/highlevel/types/bots/command-scope/index.d.ts +10 -0
  57. package/cjs/highlevel/types/bots/command-scope/index.js +29 -0
  58. package/cjs/highlevel/types/bots/command-scope/index.js.map +1 -0
  59. package/cjs/highlevel/types/bots/command-scope/inner.d.ts +54 -0
  60. package/cjs/highlevel/types/bots/command-scope/inner.js +76 -0
  61. package/cjs/highlevel/types/bots/command-scope/inner.js.map +1 -0
  62. package/cjs/highlevel/types/bots/index.d.ts +4 -4
  63. package/cjs/highlevel/types/bots/index.js +4 -4
  64. package/cjs/highlevel/types/bots/index.js.map +1 -1
  65. package/cjs/highlevel/types/bots/inline-message/factories.d.ts +43 -0
  66. package/cjs/highlevel/types/bots/inline-message/factories.js +175 -0
  67. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -0
  68. package/cjs/highlevel/types/bots/inline-message/index.d.ts +3 -0
  69. package/cjs/highlevel/types/bots/inline-message/index.js +33 -0
  70. package/cjs/highlevel/types/bots/inline-message/index.js.map +1 -0
  71. package/{esm/highlevel/types/bots/input/input-inline-message.d.ts → cjs/highlevel/types/bots/inline-message/types.d.ts} +2 -45
  72. package/cjs/highlevel/types/bots/inline-message/types.js +3 -0
  73. package/cjs/highlevel/types/bots/inline-message/types.js.map +1 -0
  74. package/cjs/highlevel/types/bots/inline-result/factories.d.ts +94 -0
  75. package/cjs/highlevel/types/bots/inline-result/factories.js +486 -0
  76. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -0
  77. package/cjs/highlevel/types/bots/inline-result/index.d.ts +3 -0
  78. package/cjs/highlevel/types/bots/inline-result/index.js +33 -0
  79. package/cjs/highlevel/types/bots/inline-result/index.js.map +1 -0
  80. package/{esm/highlevel/types/bots/input/input-inline-result.d.ts → cjs/highlevel/types/bots/inline-result/types.d.ts} +1 -95
  81. package/cjs/highlevel/types/bots/inline-result/types.js +3 -0
  82. package/cjs/highlevel/types/bots/inline-result/types.js.map +1 -0
  83. package/cjs/highlevel/types/bots/{keyboard-builder.d.ts → keyboards/builder.d.ts} +1 -1
  84. package/cjs/highlevel/types/bots/{keyboard-builder.js → keyboards/builder.js} +1 -1
  85. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -0
  86. package/cjs/highlevel/types/bots/keyboards/factories.d.ts +195 -0
  87. package/cjs/highlevel/types/bots/keyboards/factories.js +366 -0
  88. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -0
  89. package/cjs/highlevel/types/bots/keyboards/index.d.ts +14 -0
  90. package/cjs/highlevel/types/bots/keyboards/index.js +33 -0
  91. package/cjs/highlevel/types/bots/keyboards/index.js.map +1 -0
  92. package/cjs/highlevel/types/bots/keyboards/types.d.ts +34 -0
  93. package/cjs/highlevel/types/bots/keyboards/types.js +3 -0
  94. package/cjs/highlevel/types/bots/keyboards/types.js.map +1 -0
  95. package/cjs/highlevel/types/media/document.js +3 -2
  96. package/cjs/highlevel/types/media/document.js.map +1 -1
  97. package/cjs/highlevel/types/media/index.d.ts +1 -1
  98. package/cjs/highlevel/types/media/index.js +1 -1
  99. package/cjs/highlevel/types/media/index.js.map +1 -1
  100. package/cjs/highlevel/types/media/input-media/factories.d.ts +141 -0
  101. package/cjs/highlevel/types/media/input-media/factories.js +250 -0
  102. package/cjs/highlevel/types/media/input-media/factories.js.map +1 -0
  103. package/cjs/highlevel/types/media/input-media/index.d.ts +3 -0
  104. package/cjs/highlevel/types/media/input-media/index.js +33 -0
  105. package/cjs/highlevel/types/media/input-media/index.js.map +1 -0
  106. package/cjs/highlevel/types/media/{input-media.d.ts → input-media/types.d.ts} +5 -145
  107. package/cjs/highlevel/types/media/input-media/types.js +3 -0
  108. package/cjs/highlevel/types/media/input-media/types.js.map +1 -0
  109. package/cjs/highlevel/types/media/thumbnail.js +5 -4
  110. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  111. package/cjs/highlevel/types/messages/message.d.ts +1 -1
  112. package/cjs/highlevel/types/messages/message.js +3 -3
  113. package/cjs/highlevel/types/messages/message.js.map +1 -1
  114. package/cjs/highlevel/types/misc/index.d.ts +1 -1
  115. package/cjs/highlevel/types/misc/index.js +1 -1
  116. package/cjs/highlevel/types/misc/index.js.map +1 -1
  117. package/cjs/highlevel/types/misc/input-privacy-rule/allow.d.ts +22 -0
  118. package/cjs/highlevel/types/misc/input-privacy-rule/allow.js +36 -0
  119. package/cjs/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -0
  120. package/cjs/highlevel/types/misc/input-privacy-rule/bundle.d.ts +3 -0
  121. package/cjs/highlevel/types/misc/input-privacy-rule/bundle.js +31 -0
  122. package/cjs/highlevel/types/misc/input-privacy-rule/bundle.js.map +1 -0
  123. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.d.ts +20 -0
  124. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.js +32 -0
  125. package/cjs/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -0
  126. package/cjs/highlevel/types/misc/input-privacy-rule/index.d.ts +3 -0
  127. package/cjs/highlevel/types/misc/input-privacy-rule/index.js +33 -0
  128. package/cjs/highlevel/types/misc/input-privacy-rule/index.js.map +1 -0
  129. package/cjs/highlevel/types/misc/input-privacy-rule/types.d.ts +11 -0
  130. package/cjs/highlevel/types/misc/input-privacy-rule/types.js +3 -0
  131. package/cjs/highlevel/types/misc/input-privacy-rule/types.js.map +1 -0
  132. package/cjs/highlevel/types/peers/chat-photo.js +3 -2
  133. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  134. package/cjs/highlevel/types/updates/callback-query.js +2 -2
  135. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  136. package/cjs/highlevel/types/updates/user-status-update.js +1 -1
  137. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  138. package/cjs/highlevel/updates/manager.d.ts +5 -3
  139. package/cjs/highlevel/updates/manager.js +81 -67
  140. package/cjs/highlevel/updates/manager.js.map +1 -1
  141. package/cjs/highlevel/utils/convert-file-id.js +7 -6
  142. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  143. package/cjs/highlevel/utils/file-utils.js +8 -4
  144. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  145. package/cjs/highlevel/utils/inline-utils.js +3 -2
  146. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  147. package/cjs/highlevel/utils/inspectable.d.ts +1 -1
  148. package/cjs/highlevel/utils/inspectable.js +3 -2
  149. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  150. package/cjs/highlevel/utils/memoize.d.ts +1 -1
  151. package/cjs/highlevel/utils/memoize.js +1 -0
  152. package/cjs/highlevel/utils/memoize.js.map +1 -1
  153. package/cjs/highlevel/utils/stream-utils.d.ts +0 -2
  154. package/cjs/highlevel/utils/stream-utils.js +1 -28
  155. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  156. package/cjs/highlevel/utils/string-session.js +3 -2
  157. package/cjs/highlevel/utils/string-session.js.map +1 -1
  158. package/cjs/highlevel/worker/index.d.ts +3 -0
  159. package/cjs/highlevel/{types/bots/input → worker}/index.js +3 -2
  160. package/cjs/highlevel/worker/index.js.map +1 -0
  161. package/cjs/highlevel/worker/port.d.ts +6 -3
  162. package/cjs/highlevel/worker/port.js +8 -2
  163. package/cjs/highlevel/worker/port.js.map +1 -1
  164. package/cjs/highlevel/worker/protocol.d.ts +5 -1
  165. package/cjs/highlevel/worker/protocol.js.map +1 -1
  166. package/cjs/highlevel/worker/worker.d.ts +11 -4
  167. package/cjs/highlevel/worker/worker.js +53 -49
  168. package/cjs/highlevel/worker/worker.js.map +1 -1
  169. package/cjs/network/authorization.js +1 -0
  170. package/cjs/network/authorization.js.map +1 -1
  171. package/cjs/network/client.d.ts +4 -4
  172. package/cjs/network/client.js +3 -1
  173. package/cjs/network/client.js.map +1 -1
  174. package/cjs/network/mtproto-session.d.ts +1 -0
  175. package/cjs/network/mtproto-session.js +7 -1
  176. package/cjs/network/mtproto-session.js.map +1 -1
  177. package/cjs/network/multi-session-connection.d.ts +1 -0
  178. package/cjs/network/multi-session-connection.js +6 -0
  179. package/cjs/network/multi-session-connection.js.map +1 -1
  180. package/cjs/network/network-manager.d.ts +5 -1
  181. package/cjs/network/network-manager.js +24 -15
  182. package/cjs/network/network-manager.js.map +1 -1
  183. package/cjs/network/persistent-connection.d.ts +3 -0
  184. package/cjs/network/persistent-connection.js +23 -1
  185. package/cjs/network/persistent-connection.js.map +1 -1
  186. package/cjs/network/session-connection.d.ts +2 -0
  187. package/cjs/network/session-connection.js +21 -7
  188. package/cjs/network/session-connection.js.map +1 -1
  189. package/cjs/network/transports/index.d.ts +0 -3
  190. package/cjs/network/transports/index.js +0 -4
  191. package/cjs/network/transports/index.js.map +1 -1
  192. package/cjs/platform.d.ts +18 -0
  193. package/cjs/platform.js +36 -0
  194. package/cjs/platform.js.map +1 -0
  195. package/cjs/storage/index.d.ts +1 -2
  196. package/cjs/storage/index.js +1 -2
  197. package/cjs/storage/index.js.map +1 -1
  198. package/{esm/storage/providers → cjs/storage}/memory/driver.d.ts +1 -1
  199. package/cjs/storage/memory/driver.js.map +1 -0
  200. package/{esm/storage/providers → cjs/storage}/memory/index.d.ts +2 -2
  201. package/cjs/storage/memory/index.js.map +1 -0
  202. package/cjs/storage/{providers/memory → memory}/repository/auth-keys.d.ts +1 -1
  203. package/cjs/storage/memory/repository/auth-keys.js.map +1 -0
  204. package/{esm/storage/providers → cjs/storage}/memory/repository/kv.d.ts +1 -1
  205. package/cjs/storage/memory/repository/kv.js.map +1 -0
  206. package/{esm/storage/providers → cjs/storage}/memory/repository/peers.d.ts +1 -1
  207. package/cjs/storage/memory/repository/peers.js.map +1 -0
  208. package/{esm/storage/providers → cjs/storage}/memory/repository/ref-messages.d.ts +1 -1
  209. package/cjs/storage/memory/repository/ref-messages.js.map +1 -0
  210. package/cjs/storage/storage.js +2 -1
  211. package/cjs/storage/storage.js.map +1 -1
  212. package/cjs/utils/binary/asn1-parser.js +3 -3
  213. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  214. package/cjs/utils/crypto/abstract.d.ts +0 -1
  215. package/cjs/utils/crypto/abstract.js.map +1 -1
  216. package/cjs/utils/crypto/index.d.ts +0 -2
  217. package/cjs/utils/crypto/index.js +0 -3
  218. package/cjs/utils/crypto/index.js.map +1 -1
  219. package/cjs/utils/crypto/keys.js +5 -3
  220. package/cjs/utils/crypto/keys.js.map +1 -1
  221. package/cjs/utils/crypto/password.js +3 -3
  222. package/cjs/utils/crypto/password.js.map +1 -1
  223. package/cjs/utils/dcs.d.ts +4 -0
  224. package/cjs/utils/dcs.js +0 -4
  225. package/cjs/utils/dcs.js.map +1 -1
  226. package/cjs/utils/{platform/error-reporting.d.ts → error-reporting.d.ts} +1 -1
  227. package/cjs/utils/error-reporting.js.map +1 -0
  228. package/cjs/utils/index.d.ts +4 -1
  229. package/cjs/utils/index.js +6 -1
  230. package/cjs/utils/index.js.map +1 -1
  231. package/cjs/utils/links/common.js +1 -1
  232. package/cjs/utils/links/common.js.map +1 -1
  233. package/cjs/utils/logger.d.ts +1 -0
  234. package/cjs/utils/logger.js +9 -22
  235. package/cjs/utils/logger.js.map +1 -1
  236. package/esm/highlevel/base.d.ts +3 -1
  237. package/esm/highlevel/base.js +18 -0
  238. package/esm/highlevel/base.js.map +1 -1
  239. package/esm/highlevel/client.d.ts +23 -10
  240. package/esm/highlevel/client.js +12 -19
  241. package/esm/highlevel/client.js.map +1 -1
  242. package/esm/highlevel/client.types.d.ts +14 -0
  243. package/esm/highlevel/client.types.js.map +1 -1
  244. package/esm/highlevel/index.d.ts +0 -2
  245. package/esm/highlevel/index.js +0 -2
  246. package/esm/highlevel/index.js.map +1 -1
  247. package/esm/highlevel/methods/_imports.js.map +1 -1
  248. package/esm/highlevel/methods/_init.js +4 -29
  249. package/esm/highlevel/methods/_init.js.map +1 -1
  250. package/esm/highlevel/methods/bots/get-callback-answer.js +2 -2
  251. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  252. package/esm/highlevel/methods/dialogs/create-folder.js +1 -1
  253. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  254. package/esm/highlevel/methods/dialogs/edit-folder.js +1 -1
  255. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  256. package/esm/highlevel/methods/dialogs/find-folder.js +1 -1
  257. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  258. package/esm/highlevel/methods/dialogs/get-folders.d.ts +1 -1
  259. package/esm/highlevel/methods/dialogs/get-folders.js +1 -1
  260. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  261. package/esm/highlevel/methods/files/download-file.d.ts +1 -10
  262. package/esm/highlevel/methods/files/download-file.js +2 -30
  263. package/esm/highlevel/methods/files/download-file.js.map +1 -1
  264. package/esm/highlevel/methods/files/download-iterable.js +2 -1
  265. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  266. package/esm/highlevel/methods/files/download-node-stream.js +3 -0
  267. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -0
  268. package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -1
  269. package/esm/highlevel/methods/files/normalize-input-media.js +2 -1
  270. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  271. package/esm/highlevel/methods/files/upload-file.d.ts +0 -3
  272. package/esm/highlevel/methods/files/upload-file.js +17 -13
  273. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  274. package/esm/highlevel/methods/messages/find-in-update.js +23 -8
  275. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  276. package/esm/highlevel/methods/messages/send-media-group.d.ts +1 -1
  277. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  278. package/esm/highlevel/methods/messages/send-media.d.ts +2 -2
  279. package/esm/highlevel/methods/messages/send-media.js +4 -3
  280. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  281. package/esm/highlevel/methods/messages/send-text.d.ts +1 -1
  282. package/esm/highlevel/methods/messages/send-text.js +4 -3
  283. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  284. package/esm/highlevel/methods/misc/with-params.d.ts +10 -0
  285. package/esm/highlevel/methods/misc/with-params.js +28 -0
  286. package/esm/highlevel/methods/misc/with-params.js.map +1 -0
  287. package/esm/highlevel/methods.d.ts +13 -1
  288. package/esm/highlevel/methods.js +0 -1
  289. package/esm/highlevel/methods.js.map +1 -1
  290. package/esm/highlevel/types/auth/sent-code.js +4 -3
  291. package/esm/highlevel/types/bots/command-scope/index.d.ts +10 -0
  292. package/esm/highlevel/types/bots/command-scope/index.js +11 -0
  293. package/esm/highlevel/types/bots/command-scope/index.js.map +1 -0
  294. package/esm/highlevel/types/bots/command-scope/inner.d.ts +54 -0
  295. package/esm/highlevel/types/bots/command-scope/inner.js +69 -0
  296. package/esm/highlevel/types/bots/command-scope/inner.js.map +1 -0
  297. package/esm/highlevel/types/bots/game-high-score.js +5 -4
  298. package/esm/highlevel/types/bots/index.d.ts +4 -4
  299. package/esm/highlevel/types/bots/index.js +4 -4
  300. package/esm/highlevel/types/bots/index.js.map +1 -1
  301. package/esm/highlevel/types/bots/inline-message/factories.d.ts +43 -0
  302. package/esm/highlevel/types/bots/inline-message/factories.js +163 -0
  303. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -0
  304. package/esm/highlevel/types/bots/inline-message/index.d.ts +3 -0
  305. package/esm/highlevel/types/bots/inline-message/index.js +4 -0
  306. package/esm/highlevel/types/bots/inline-message/index.js.map +1 -0
  307. package/{cjs/highlevel/types/bots/input/input-inline-message.d.ts → esm/highlevel/types/bots/inline-message/types.d.ts} +2 -45
  308. package/esm/highlevel/types/bots/inline-message/types.js +2 -0
  309. package/esm/highlevel/types/bots/inline-message/types.js.map +1 -0
  310. package/esm/highlevel/types/bots/inline-result/factories.d.ts +94 -0
  311. package/esm/highlevel/types/bots/inline-result/factories.js +470 -0
  312. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -0
  313. package/esm/highlevel/types/bots/inline-result/index.d.ts +3 -0
  314. package/esm/highlevel/types/bots/inline-result/index.js +4 -0
  315. package/esm/highlevel/types/bots/inline-result/index.js.map +1 -0
  316. package/{cjs/highlevel/types/bots/input/input-inline-result.d.ts → esm/highlevel/types/bots/inline-result/types.d.ts} +1 -95
  317. package/esm/highlevel/types/bots/inline-result/types.js +2 -0
  318. package/esm/highlevel/types/bots/inline-result/types.js.map +1 -0
  319. package/esm/highlevel/types/bots/{keyboard-builder.d.ts → keyboards/builder.d.ts} +1 -1
  320. package/esm/highlevel/types/bots/{keyboard-builder.js → keyboards/builder.js} +1 -1
  321. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -0
  322. package/esm/highlevel/types/bots/keyboards/factories.d.ts +195 -0
  323. package/esm/highlevel/types/bots/keyboards/factories.js +341 -0
  324. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -0
  325. package/esm/highlevel/types/bots/keyboards/index.d.ts +14 -0
  326. package/esm/highlevel/types/bots/keyboards/index.js +15 -0
  327. package/esm/highlevel/types/bots/keyboards/index.js.map +1 -0
  328. package/esm/highlevel/types/bots/keyboards/types.d.ts +34 -0
  329. package/esm/highlevel/types/bots/keyboards/types.js +2 -0
  330. package/esm/highlevel/types/bots/keyboards/types.js.map +1 -0
  331. package/esm/highlevel/types/files/file-location.js +4 -3
  332. package/esm/highlevel/types/files/web-document.js +4 -3
  333. package/esm/highlevel/types/media/audio.js +5 -4
  334. package/esm/highlevel/types/media/contact.js +4 -3
  335. package/esm/highlevel/types/media/dice.js +4 -3
  336. package/esm/highlevel/types/media/document.js +8 -6
  337. package/esm/highlevel/types/media/document.js.map +1 -1
  338. package/esm/highlevel/types/media/game.js +5 -4
  339. package/esm/highlevel/types/media/index.d.ts +1 -1
  340. package/esm/highlevel/types/media/index.js +1 -1
  341. package/esm/highlevel/types/media/index.js.map +1 -1
  342. package/esm/highlevel/types/media/input-media/factories.d.ts +141 -0
  343. package/esm/highlevel/types/media/input-media/factories.js +228 -0
  344. package/esm/highlevel/types/media/input-media/factories.js.map +1 -0
  345. package/esm/highlevel/types/media/input-media/index.d.ts +3 -0
  346. package/esm/highlevel/types/media/input-media/index.js +4 -0
  347. package/esm/highlevel/types/media/input-media/index.js.map +1 -0
  348. package/esm/highlevel/types/media/{input-media.d.ts → input-media/types.d.ts} +5 -145
  349. package/esm/highlevel/types/media/input-media/types.js +2 -0
  350. package/esm/highlevel/types/media/input-media/types.js.map +1 -0
  351. package/esm/highlevel/types/media/invoice.js +9 -7
  352. package/esm/highlevel/types/media/location.js +7 -5
  353. package/esm/highlevel/types/media/photo.js +5 -4
  354. package/esm/highlevel/types/media/poll.js +5 -4
  355. package/esm/highlevel/types/media/sticker.js +5 -4
  356. package/esm/highlevel/types/media/story.js +4 -3
  357. package/esm/highlevel/types/media/thumbnail.js +10 -8
  358. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  359. package/esm/highlevel/types/media/venue.js +5 -4
  360. package/esm/highlevel/types/media/video.js +5 -4
  361. package/esm/highlevel/types/media/voice.js +5 -4
  362. package/esm/highlevel/types/media/web-page.js +5 -4
  363. package/esm/highlevel/types/messages/dialog.js +5 -4
  364. package/esm/highlevel/types/messages/draft-message.js +5 -4
  365. package/esm/highlevel/types/messages/message-entity.js +5 -4
  366. package/esm/highlevel/types/messages/message-forward.js +5 -4
  367. package/esm/highlevel/types/messages/message-reactions.js +5 -4
  368. package/esm/highlevel/types/messages/message-replies.js +5 -4
  369. package/esm/highlevel/types/messages/message.d.ts +1 -1
  370. package/esm/highlevel/types/messages/message.js +6 -5
  371. package/esm/highlevel/types/messages/message.js.map +1 -1
  372. package/esm/highlevel/types/messages/replied-message.js +5 -4
  373. package/esm/highlevel/types/misc/index.d.ts +1 -1
  374. package/esm/highlevel/types/misc/index.js +1 -1
  375. package/esm/highlevel/types/misc/index.js.map +1 -1
  376. package/esm/highlevel/types/misc/input-privacy-rule/allow.d.ts +22 -0
  377. package/esm/highlevel/types/misc/input-privacy-rule/allow.js +31 -0
  378. package/esm/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -0
  379. package/esm/highlevel/types/misc/input-privacy-rule/bundle.d.ts +3 -0
  380. package/esm/highlevel/types/misc/input-privacy-rule/bundle.js +4 -0
  381. package/esm/highlevel/types/misc/input-privacy-rule/bundle.js.map +1 -0
  382. package/esm/highlevel/types/misc/input-privacy-rule/disallow.d.ts +20 -0
  383. package/esm/highlevel/types/misc/input-privacy-rule/disallow.js +27 -0
  384. package/esm/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -0
  385. package/esm/highlevel/types/misc/input-privacy-rule/index.d.ts +3 -0
  386. package/esm/highlevel/types/misc/input-privacy-rule/index.js +4 -0
  387. package/esm/highlevel/types/misc/input-privacy-rule/index.js.map +1 -0
  388. package/esm/highlevel/types/misc/input-privacy-rule/types.d.ts +11 -0
  389. package/esm/highlevel/types/misc/input-privacy-rule/types.js +2 -0
  390. package/esm/highlevel/types/misc/input-privacy-rule/types.js.map +1 -0
  391. package/esm/highlevel/types/misc/sticker-set.js +5 -4
  392. package/esm/highlevel/types/misc/takeout-session.js +4 -3
  393. package/esm/highlevel/types/peers/chat-colors.js +4 -3
  394. package/esm/highlevel/types/peers/chat-event/index.js +5 -4
  395. package/esm/highlevel/types/peers/chat-invite-link-member.js +5 -4
  396. package/esm/highlevel/types/peers/chat-invite-link.js +5 -4
  397. package/esm/highlevel/types/peers/chat-location.js +5 -4
  398. package/esm/highlevel/types/peers/chat-member.js +5 -4
  399. package/esm/highlevel/types/peers/chat-permissions.js +4 -3
  400. package/esm/highlevel/types/peers/chat-photo.js +12 -9
  401. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  402. package/esm/highlevel/types/peers/chat-preview.js +5 -4
  403. package/esm/highlevel/types/peers/chat.js +5 -4
  404. package/esm/highlevel/types/peers/forum-topic.js +5 -4
  405. package/esm/highlevel/types/peers/user.js +5 -4
  406. package/esm/highlevel/types/premium/boost-slot.js +5 -4
  407. package/esm/highlevel/types/premium/boost-stats.js +4 -3
  408. package/esm/highlevel/types/premium/boost.js +5 -4
  409. package/esm/highlevel/types/reactions/emoji-status.js +4 -3
  410. package/esm/highlevel/types/reactions/peer-reaction.js +5 -4
  411. package/esm/highlevel/types/reactions/reaction-count.js +4 -3
  412. package/esm/highlevel/types/stories/all-stories.js +5 -4
  413. package/esm/highlevel/types/stories/interactive/channel-post.js +5 -4
  414. package/esm/highlevel/types/stories/interactive/location.js +5 -4
  415. package/esm/highlevel/types/stories/interactive/reaction.js +4 -3
  416. package/esm/highlevel/types/stories/interactive/venue.js +5 -4
  417. package/esm/highlevel/types/stories/peer-stories.js +5 -4
  418. package/esm/highlevel/types/stories/stealth-mode.js +4 -3
  419. package/esm/highlevel/types/stories/story-interactions.js +5 -4
  420. package/esm/highlevel/types/stories/story-viewer.js +9 -7
  421. package/esm/highlevel/types/stories/story.js +5 -4
  422. package/esm/highlevel/types/updates/bot-chat-join-request.js +5 -4
  423. package/esm/highlevel/types/updates/bot-reaction.js +9 -7
  424. package/esm/highlevel/types/updates/bot-stopped.js +5 -4
  425. package/esm/highlevel/types/updates/callback-query.js +11 -9
  426. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  427. package/esm/highlevel/types/updates/chat-join-request.js +5 -4
  428. package/esm/highlevel/types/updates/chat-member-update.js +5 -4
  429. package/esm/highlevel/types/updates/chosen-inline-result.js +5 -4
  430. package/esm/highlevel/types/updates/delete-message-update.js +4 -3
  431. package/esm/highlevel/types/updates/delete-story-update.js +5 -4
  432. package/esm/highlevel/types/updates/history-read-update.js +4 -3
  433. package/esm/highlevel/types/updates/inline-query.js +5 -4
  434. package/esm/highlevel/types/updates/poll-update.js +5 -4
  435. package/esm/highlevel/types/updates/poll-vote.js +5 -4
  436. package/esm/highlevel/types/updates/pre-checkout-query.js +5 -4
  437. package/esm/highlevel/types/updates/story-update.js +5 -4
  438. package/esm/highlevel/types/updates/user-status-update.js +5 -4
  439. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  440. package/esm/highlevel/types/updates/user-typing-update.js +4 -3
  441. package/esm/highlevel/updates/manager.d.ts +5 -3
  442. package/esm/highlevel/updates/manager.js +81 -67
  443. package/esm/highlevel/updates/manager.js.map +1 -1
  444. package/esm/highlevel/utils/convert-file-id.js +7 -6
  445. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  446. package/esm/highlevel/utils/file-utils.js +8 -4
  447. package/esm/highlevel/utils/file-utils.js.map +1 -1
  448. package/esm/highlevel/utils/inline-utils.js +4 -3
  449. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  450. package/esm/highlevel/utils/inspectable.d.ts +1 -1
  451. package/esm/highlevel/utils/inspectable.js +3 -2
  452. package/esm/highlevel/utils/inspectable.js.map +1 -1
  453. package/esm/highlevel/utils/memoize.d.ts +1 -1
  454. package/esm/highlevel/utils/memoize.js +1 -0
  455. package/esm/highlevel/utils/memoize.js.map +1 -1
  456. package/esm/highlevel/utils/stream-utils.d.ts +0 -2
  457. package/esm/highlevel/utils/stream-utils.js +0 -26
  458. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  459. package/esm/highlevel/utils/string-session.js +4 -3
  460. package/esm/highlevel/utils/string-session.js.map +1 -1
  461. package/esm/highlevel/worker/index.d.ts +3 -0
  462. package/esm/highlevel/worker/index.js +4 -0
  463. package/esm/highlevel/worker/index.js.map +1 -0
  464. package/esm/highlevel/worker/port.d.ts +6 -3
  465. package/esm/highlevel/worker/port.js +8 -2
  466. package/esm/highlevel/worker/port.js.map +1 -1
  467. package/esm/highlevel/worker/protocol.d.ts +5 -1
  468. package/esm/highlevel/worker/protocol.js.map +1 -1
  469. package/esm/highlevel/worker/worker.d.ts +11 -4
  470. package/esm/highlevel/worker/worker.js +51 -47
  471. package/esm/highlevel/worker/worker.js.map +1 -1
  472. package/esm/network/authorization.js +1 -0
  473. package/esm/network/authorization.js.map +1 -1
  474. package/esm/network/client.d.ts +4 -4
  475. package/esm/network/client.js +4 -2
  476. package/esm/network/client.js.map +1 -1
  477. package/esm/network/mtproto-session.d.ts +1 -0
  478. package/esm/network/mtproto-session.js +7 -1
  479. package/esm/network/mtproto-session.js.map +1 -1
  480. package/esm/network/multi-session-connection.d.ts +1 -0
  481. package/esm/network/multi-session-connection.js +6 -0
  482. package/esm/network/multi-session-connection.js.map +1 -1
  483. package/esm/network/network-manager.d.ts +5 -1
  484. package/esm/network/network-manager.js +24 -15
  485. package/esm/network/network-manager.js.map +1 -1
  486. package/esm/network/persistent-connection.d.ts +3 -0
  487. package/esm/network/persistent-connection.js +23 -1
  488. package/esm/network/persistent-connection.js.map +1 -1
  489. package/esm/network/session-connection.d.ts +2 -0
  490. package/esm/network/session-connection.js +21 -7
  491. package/esm/network/session-connection.js.map +1 -1
  492. package/esm/network/transports/index.d.ts +0 -3
  493. package/esm/network/transports/index.js +0 -3
  494. package/esm/network/transports/index.js.map +1 -1
  495. package/esm/platform.d.ts +18 -0
  496. package/esm/platform.js +31 -0
  497. package/esm/platform.js.map +1 -0
  498. package/esm/storage/index.d.ts +1 -2
  499. package/esm/storage/index.js +1 -2
  500. package/esm/storage/index.js.map +1 -1
  501. package/{cjs/storage/providers → esm/storage}/memory/driver.d.ts +1 -1
  502. package/esm/storage/memory/driver.js.map +1 -0
  503. package/{cjs/storage/providers → esm/storage}/memory/index.d.ts +2 -2
  504. package/esm/storage/memory/index.js.map +1 -0
  505. package/esm/storage/{providers/memory → memory}/repository/auth-keys.d.ts +1 -1
  506. package/esm/storage/memory/repository/auth-keys.js.map +1 -0
  507. package/{cjs/storage/providers → esm/storage}/memory/repository/kv.d.ts +1 -1
  508. package/esm/storage/memory/repository/kv.js.map +1 -0
  509. package/{cjs/storage/providers → esm/storage}/memory/repository/peers.d.ts +1 -1
  510. package/esm/storage/memory/repository/peers.js.map +1 -0
  511. package/{cjs/storage/providers → esm/storage}/memory/repository/ref-messages.d.ts +1 -1
  512. package/esm/storage/memory/repository/ref-messages.js.map +1 -0
  513. package/esm/storage/storage.js +3 -2
  514. package/esm/storage/storage.js.map +1 -1
  515. package/esm/utils/binary/asn1-parser.js +3 -3
  516. package/esm/utils/binary/asn1-parser.js.map +1 -1
  517. package/esm/utils/crypto/abstract.d.ts +0 -1
  518. package/esm/utils/crypto/abstract.js.map +1 -1
  519. package/esm/utils/crypto/index.d.ts +0 -2
  520. package/esm/utils/crypto/index.js +0 -2
  521. package/esm/utils/crypto/index.js.map +1 -1
  522. package/esm/utils/crypto/keys.js +6 -4
  523. package/esm/utils/crypto/keys.js.map +1 -1
  524. package/esm/utils/crypto/password.js +3 -3
  525. package/esm/utils/crypto/password.js.map +1 -1
  526. package/esm/utils/dcs.d.ts +4 -0
  527. package/esm/utils/dcs.js +0 -4
  528. package/esm/utils/dcs.js.map +1 -1
  529. package/esm/utils/{platform/error-reporting.d.ts → error-reporting.d.ts} +1 -1
  530. package/esm/utils/error-reporting.js.map +1 -0
  531. package/esm/utils/index.d.ts +4 -1
  532. package/esm/utils/index.js +6 -1
  533. package/esm/utils/index.js.map +1 -1
  534. package/esm/utils/links/common.js +1 -1
  535. package/esm/utils/links/common.js.map +1 -1
  536. package/esm/utils/logger.d.ts +1 -0
  537. package/esm/utils/logger.js +9 -22
  538. package/esm/utils/logger.js.map +1 -1
  539. package/package.json +24 -52
  540. package/cjs/highlevel/base.test.js +0 -14
  541. package/cjs/highlevel/base.test.js.map +0 -1
  542. package/cjs/highlevel/methods/files/_platform.js +0 -33
  543. package/cjs/highlevel/methods/files/_platform.js.map +0 -1
  544. package/cjs/highlevel/methods/files/_platform.web.d.ts +0 -1
  545. package/cjs/highlevel/methods/files/_platform.web.js +0 -26
  546. package/cjs/highlevel/methods/files/_platform.web.js.map +0 -1
  547. package/cjs/highlevel/methods/files/download-file.web.d.ts +0 -1
  548. package/cjs/highlevel/methods/files/download-file.web.js +0 -9
  549. package/cjs/highlevel/methods/files/download-file.web.js.map +0 -1
  550. package/cjs/highlevel/methods/messages/send-text.test.d.ts +0 -1
  551. package/cjs/highlevel/methods/messages/send-text.test.js +0 -140
  552. package/cjs/highlevel/methods/messages/send-text.test.js.map +0 -1
  553. package/cjs/highlevel/methods/users/get-users.test.d.ts +0 -1
  554. package/cjs/highlevel/methods/users/get-users.test.js +0 -33
  555. package/cjs/highlevel/methods/users/get-users.test.js.map +0 -1
  556. package/cjs/highlevel/methods/users/resolve-peer.test.d.ts +0 -1
  557. package/cjs/highlevel/methods/users/resolve-peer.test.js +0 -307
  558. package/cjs/highlevel/methods/users/resolve-peer.test.js.map +0 -1
  559. package/cjs/highlevel/types/bots/command-scope.d.ts +0 -63
  560. package/cjs/highlevel/types/bots/command-scope.js +0 -87
  561. package/cjs/highlevel/types/bots/command-scope.js.map +0 -1
  562. package/cjs/highlevel/types/bots/input/index.d.ts +0 -2
  563. package/cjs/highlevel/types/bots/input/index.js.map +0 -1
  564. package/cjs/highlevel/types/bots/input/input-inline-message.js +0 -179
  565. package/cjs/highlevel/types/bots/input/input-inline-message.js.map +0 -1
  566. package/cjs/highlevel/types/bots/input/input-inline-result.js +0 -490
  567. package/cjs/highlevel/types/bots/input/input-inline-result.js.map +0 -1
  568. package/cjs/highlevel/types/bots/keyboard-builder.js.map +0 -1
  569. package/cjs/highlevel/types/bots/keyboard-builder.test.d.ts +0 -1
  570. package/cjs/highlevel/types/bots/keyboard-builder.test.js +0 -162
  571. package/cjs/highlevel/types/bots/keyboard-builder.test.js.map +0 -1
  572. package/cjs/highlevel/types/bots/keyboards.d.ts +0 -239
  573. package/cjs/highlevel/types/bots/keyboards.js +0 -380
  574. package/cjs/highlevel/types/bots/keyboards.js.map +0 -1
  575. package/cjs/highlevel/types/bots/keyboards.test.d.ts +0 -1
  576. package/cjs/highlevel/types/bots/keyboards.test.js +0 -146
  577. package/cjs/highlevel/types/bots/keyboards.test.js.map +0 -1
  578. package/cjs/highlevel/types/media/input-media.js +0 -254
  579. package/cjs/highlevel/types/media/input-media.js.map +0 -1
  580. package/cjs/highlevel/types/misc/input-privacy-rule.d.ts +0 -63
  581. package/cjs/highlevel/types/misc/input-privacy-rule.js +0 -85
  582. package/cjs/highlevel/types/misc/input-privacy-rule.js.map +0 -1
  583. package/cjs/highlevel/types/peers/peers-index.test.d.ts +0 -1
  584. package/cjs/highlevel/types/peers/peers-index.test.js +0 -71
  585. package/cjs/highlevel/types/peers/peers-index.test.js.map +0 -1
  586. package/cjs/highlevel/types/peers/user.test.d.ts +0 -1
  587. package/cjs/highlevel/types/peers/user.test.js +0 -176
  588. package/cjs/highlevel/types/peers/user.test.js.map +0 -1
  589. package/cjs/highlevel/utils/file-type.test.d.ts +0 -1
  590. package/cjs/highlevel/utils/file-type.test.js +0 -64
  591. package/cjs/highlevel/utils/file-type.test.js.map +0 -1
  592. package/cjs/highlevel/utils/file-utils.test.d.ts +0 -1
  593. package/cjs/highlevel/utils/file-utils.test.js +0 -126
  594. package/cjs/highlevel/utils/file-utils.test.js.map +0 -1
  595. package/cjs/highlevel/utils/inline-utils.test.d.ts +0 -1
  596. package/cjs/highlevel/utils/inline-utils.test.js +0 -47
  597. package/cjs/highlevel/utils/inline-utils.test.js.map +0 -1
  598. package/cjs/highlevel/utils/inspectable.test.d.ts +0 -1
  599. package/cjs/highlevel/utils/inspectable.test.js +0 -97
  600. package/cjs/highlevel/utils/inspectable.test.js.map +0 -1
  601. package/cjs/highlevel/utils/memoize.test.d.ts +0 -1
  602. package/cjs/highlevel/utils/memoize.test.js +0 -60
  603. package/cjs/highlevel/utils/memoize.test.js.map +0 -1
  604. package/cjs/highlevel/utils/peer-utils.test.d.ts +0 -1
  605. package/cjs/highlevel/utils/peer-utils.test.js +0 -109
  606. package/cjs/highlevel/utils/peer-utils.test.js.map +0 -1
  607. package/cjs/highlevel/utils/platform/storage.d.ts +0 -1
  608. package/cjs/highlevel/utils/platform/storage.js +0 -10
  609. package/cjs/highlevel/utils/platform/storage.js.map +0 -1
  610. package/cjs/highlevel/utils/platform/storage.web.d.ts +0 -1
  611. package/cjs/highlevel/utils/platform/storage.web.js +0 -14
  612. package/cjs/highlevel/utils/platform/storage.web.js.map +0 -1
  613. package/cjs/highlevel/utils/query-batcher.test.d.ts +0 -1
  614. package/cjs/highlevel/utils/query-batcher.test.js +0 -502
  615. package/cjs/highlevel/utils/query-batcher.test.js.map +0 -1
  616. package/cjs/highlevel/utils/stream-utils.test.d.ts +0 -1
  617. package/cjs/highlevel/utils/stream-utils.test.js +0 -98
  618. package/cjs/highlevel/utils/stream-utils.test.js.map +0 -1
  619. package/cjs/highlevel/utils/string-session.test.d.ts +0 -1
  620. package/cjs/highlevel/utils/string-session.test.js +0 -198
  621. package/cjs/highlevel/utils/string-session.test.js.map +0 -1
  622. package/cjs/highlevel/utils/voice-utils.test.d.ts +0 -1
  623. package/cjs/highlevel/utils/voice-utils.test.js +0 -28
  624. package/cjs/highlevel/utils/voice-utils.test.js.map +0 -1
  625. package/cjs/highlevel/worker/platform/connect.d.ts +0 -2
  626. package/cjs/highlevel/worker/platform/connect.js +0 -19
  627. package/cjs/highlevel/worker/platform/connect.js.map +0 -1
  628. package/cjs/highlevel/worker/platform/connect.web.d.ts +0 -2
  629. package/cjs/highlevel/worker/platform/connect.web.js +0 -51
  630. package/cjs/highlevel/worker/platform/connect.web.js.map +0 -1
  631. package/cjs/highlevel/worker/platform/register.d.ts +0 -2
  632. package/cjs/highlevel/worker/platform/register.js +0 -20
  633. package/cjs/highlevel/worker/platform/register.js.map +0 -1
  634. package/cjs/highlevel/worker/platform/register.web.d.ts +0 -2
  635. package/cjs/highlevel/worker/platform/register.web.js +0 -64
  636. package/cjs/highlevel/worker/platform/register.web.js.map +0 -1
  637. package/cjs/network/auth-key.test.d.ts +0 -1
  638. package/cjs/network/auth-key.test.js +0 -111
  639. package/cjs/network/auth-key.test.js.map +0 -1
  640. package/cjs/network/config-manager.test.d.ts +0 -1
  641. package/cjs/network/config-manager.test.js +0 -174
  642. package/cjs/network/config-manager.test.js.map +0 -1
  643. package/cjs/network/persistent-connection.test.d.ts +0 -1
  644. package/cjs/network/persistent-connection.test.js +0 -157
  645. package/cjs/network/persistent-connection.test.js.map +0 -1
  646. package/cjs/network/transports/intermediate.test.d.ts +0 -1
  647. package/cjs/network/transports/intermediate.test.js +0 -84
  648. package/cjs/network/transports/intermediate.test.js.map +0 -1
  649. package/cjs/network/transports/obfuscated.test.d.ts +0 -1
  650. package/cjs/network/transports/obfuscated.test.js +0 -131
  651. package/cjs/network/transports/obfuscated.test.js.map +0 -1
  652. package/cjs/network/transports/tcp.d.ts +0 -32
  653. package/cjs/network/transports/tcp.js +0 -130
  654. package/cjs/network/transports/tcp.js.map +0 -1
  655. package/cjs/network/transports/tcp.test.d.ts +0 -1
  656. package/cjs/network/transports/tcp.test.js +0 -103
  657. package/cjs/network/transports/tcp.test.js.map +0 -1
  658. package/cjs/network/transports/websocket.d.ts +0 -46
  659. package/cjs/network/transports/websocket.js +0 -124
  660. package/cjs/network/transports/websocket.js.map +0 -1
  661. package/cjs/network/transports/websocket.test.d.ts +0 -1
  662. package/cjs/network/transports/websocket.test.js +0 -91
  663. package/cjs/network/transports/websocket.test.js.map +0 -1
  664. package/cjs/storage/providers/idb/driver.d.ts +0 -18
  665. package/cjs/storage/providers/idb/driver.js +0 -138
  666. package/cjs/storage/providers/idb/driver.js.map +0 -1
  667. package/cjs/storage/providers/idb/idb.test.d.ts +0 -1
  668. package/cjs/storage/providers/idb/idb.test.js +0 -29
  669. package/cjs/storage/providers/idb/idb.test.js.map +0 -1
  670. package/cjs/storage/providers/idb/index.d.ts +0 -22
  671. package/cjs/storage/providers/idb/index.js +0 -28
  672. package/cjs/storage/providers/idb/index.js.map +0 -1
  673. package/cjs/storage/providers/idb/repository/auth-keys.d.ts +0 -14
  674. package/cjs/storage/providers/idb/repository/auth-keys.js +0 -70
  675. package/cjs/storage/providers/idb/repository/auth-keys.js.map +0 -1
  676. package/cjs/storage/providers/idb/repository/kv.d.ts +0 -11
  677. package/cjs/storage/providers/idb/repository/kv.js +0 -34
  678. package/cjs/storage/providers/idb/repository/kv.js.map +0 -1
  679. package/cjs/storage/providers/idb/repository/peers.d.ts +0 -12
  680. package/cjs/storage/providers/idb/repository/peers.js +0 -38
  681. package/cjs/storage/providers/idb/repository/peers.js.map +0 -1
  682. package/cjs/storage/providers/idb/repository/ref-messages.d.ts +0 -12
  683. package/cjs/storage/providers/idb/repository/ref-messages.js +0 -57
  684. package/cjs/storage/providers/idb/repository/ref-messages.js.map +0 -1
  685. package/cjs/storage/providers/idb/utils.d.ts +0 -3
  686. package/cjs/storage/providers/idb/utils.js +0 -27
  687. package/cjs/storage/providers/idb/utils.js.map +0 -1
  688. package/cjs/storage/providers/memory/driver.js.map +0 -1
  689. package/cjs/storage/providers/memory/index.js.map +0 -1
  690. package/cjs/storage/providers/memory/memory.test.d.ts +0 -1
  691. package/cjs/storage/providers/memory/memory.test.js +0 -13
  692. package/cjs/storage/providers/memory/memory.test.js.map +0 -1
  693. package/cjs/storage/providers/memory/repository/auth-keys.js.map +0 -1
  694. package/cjs/storage/providers/memory/repository/kv.js.map +0 -1
  695. package/cjs/storage/providers/memory/repository/peers.js.map +0 -1
  696. package/cjs/storage/providers/memory/repository/ref-messages.js.map +0 -1
  697. package/cjs/storage/service/auth-keys.test.d.ts +0 -1
  698. package/cjs/storage/service/auth-keys.test.js +0 -22
  699. package/cjs/storage/service/auth-keys.test.js.map +0 -1
  700. package/cjs/storage/service/updates.test.d.ts +0 -1
  701. package/cjs/storage/service/updates.test.js +0 -60
  702. package/cjs/storage/service/updates.test.js.map +0 -1
  703. package/cjs/storage/service/utils.test-utils.d.ts +0 -2
  704. package/cjs/storage/service/utils.test-utils.js +0 -19
  705. package/cjs/storage/service/utils.test-utils.js.map +0 -1
  706. package/cjs/utils/async-lock.test.d.ts +0 -1
  707. package/cjs/utils/async-lock.test.js +0 -25
  708. package/cjs/utils/async-lock.test.js.map +0 -1
  709. package/cjs/utils/bigint-utils.test.d.ts +0 -1
  710. package/cjs/utils/bigint-utils.test.js +0 -150
  711. package/cjs/utils/bigint-utils.test.js.map +0 -1
  712. package/cjs/utils/buffer-utils.test.d.ts +0 -1
  713. package/cjs/utils/buffer-utils.test.js +0 -69
  714. package/cjs/utils/buffer-utils.test.js.map +0 -1
  715. package/cjs/utils/condition-variable.test.d.ts +0 -1
  716. package/cjs/utils/condition-variable.test.js +0 -27
  717. package/cjs/utils/condition-variable.test.js.map +0 -1
  718. package/cjs/utils/controllable-promise.test.d.ts +0 -1
  719. package/cjs/utils/controllable-promise.test.js +0 -17
  720. package/cjs/utils/controllable-promise.test.js.map +0 -1
  721. package/cjs/utils/crypto/factorization.test.d.ts +0 -1
  722. package/cjs/utils/crypto/factorization.test.js +0 -19
  723. package/cjs/utils/crypto/factorization.test.js.map +0 -1
  724. package/cjs/utils/crypto/keys.test.d.ts +0 -1
  725. package/cjs/utils/crypto/keys.test.js +0 -40
  726. package/cjs/utils/crypto/keys.test.js.map +0 -1
  727. package/cjs/utils/crypto/miller-rabin.test.d.ts +0 -1
  728. package/cjs/utils/crypto/miller-rabin.test.js +0 -60
  729. package/cjs/utils/crypto/miller-rabin.test.js.map +0 -1
  730. package/cjs/utils/crypto/mtproto.test.d.ts +0 -1
  731. package/cjs/utils/crypto/mtproto.test.js +0 -50
  732. package/cjs/utils/crypto/mtproto.test.js.map +0 -1
  733. package/cjs/utils/crypto/node.d.ts +0 -21
  734. package/cjs/utils/crypto/node.js +0 -74
  735. package/cjs/utils/crypto/node.js.map +0 -1
  736. package/cjs/utils/crypto/node.test.d.ts +0 -1
  737. package/cjs/utils/crypto/node.test.js +0 -14
  738. package/cjs/utils/crypto/node.test.js.map +0 -1
  739. package/cjs/utils/crypto/password.test.d.ts +0 -1
  740. package/cjs/utils/crypto/password.test.js +0 -95
  741. package/cjs/utils/crypto/password.test.js.map +0 -1
  742. package/cjs/utils/crypto/utils.test.d.ts +0 -1
  743. package/cjs/utils/crypto/utils.test.js +0 -49
  744. package/cjs/utils/crypto/utils.test.js.map +0 -1
  745. package/cjs/utils/crypto/wasm.d.ts +0 -22
  746. package/cjs/utils/crypto/wasm.js +0 -41
  747. package/cjs/utils/crypto/wasm.js.map +0 -1
  748. package/cjs/utils/crypto/web.d.ts +0 -11
  749. package/cjs/utils/crypto/web.js +0 -40
  750. package/cjs/utils/crypto/web.js.map +0 -1
  751. package/cjs/utils/crypto/web.test.d.ts +0 -1
  752. package/cjs/utils/crypto/web.test.js +0 -17
  753. package/cjs/utils/crypto/web.test.js.map +0 -1
  754. package/cjs/utils/deque.test.d.ts +0 -1
  755. package/cjs/utils/deque.test.js +0 -128
  756. package/cjs/utils/deque.test.js.map +0 -1
  757. package/cjs/utils/function-utils.test.d.ts +0 -1
  758. package/cjs/utils/function-utils.test.js +0 -23
  759. package/cjs/utils/function-utils.test.js.map +0 -1
  760. package/cjs/utils/linked-list.test.d.ts +0 -1
  761. package/cjs/utils/linked-list.test.js +0 -36
  762. package/cjs/utils/linked-list.test.js.map +0 -1
  763. package/cjs/utils/links/bots.test.d.ts +0 -1
  764. package/cjs/utils/links/bots.test.js +0 -152
  765. package/cjs/utils/links/bots.test.js.map +0 -1
  766. package/cjs/utils/links/chat.test.d.ts +0 -1
  767. package/cjs/utils/links/chat.test.js +0 -84
  768. package/cjs/utils/links/chat.test.js.map +0 -1
  769. package/cjs/utils/links/misc.test.d.ts +0 -1
  770. package/cjs/utils/links/misc.test.js +0 -153
  771. package/cjs/utils/links/misc.test.js.map +0 -1
  772. package/cjs/utils/links/proxy.test.d.ts +0 -1
  773. package/cjs/utils/links/proxy.test.js +0 -74
  774. package/cjs/utils/links/proxy.test.js.map +0 -1
  775. package/cjs/utils/links/user.test.d.ts +0 -1
  776. package/cjs/utils/links/user.test.js +0 -63
  777. package/cjs/utils/links/user.test.js.map +0 -1
  778. package/cjs/utils/logger.test.d.ts +0 -1
  779. package/cjs/utils/logger.test.js +0 -139
  780. package/cjs/utils/logger.test.js.map +0 -1
  781. package/cjs/utils/long-utils.test.d.ts +0 -1
  782. package/cjs/utils/long-utils.test.js +0 -158
  783. package/cjs/utils/long-utils.test.js.map +0 -1
  784. package/cjs/utils/lru-map.test.d.ts +0 -1
  785. package/cjs/utils/lru-map.test.js +0 -96
  786. package/cjs/utils/lru-map.test.js.map +0 -1
  787. package/cjs/utils/lru-set.test.d.ts +0 -1
  788. package/cjs/utils/lru-set.test.js +0 -77
  789. package/cjs/utils/lru-set.test.js.map +0 -1
  790. package/cjs/utils/peer-utils.test.d.ts +0 -1
  791. package/cjs/utils/peer-utils.test.js +0 -110
  792. package/cjs/utils/peer-utils.test.js.map +0 -1
  793. package/cjs/utils/platform/crypto.d.ts +0 -1
  794. package/cjs/utils/platform/crypto.js +0 -8
  795. package/cjs/utils/platform/crypto.js.map +0 -1
  796. package/cjs/utils/platform/crypto.web.d.ts +0 -1
  797. package/cjs/utils/platform/crypto.web.js +0 -14
  798. package/cjs/utils/platform/crypto.web.js.map +0 -1
  799. package/cjs/utils/platform/error-reporting.js.map +0 -1
  800. package/cjs/utils/platform/exit-hook.d.ts +0 -1
  801. package/cjs/utils/platform/exit-hook.js +0 -45
  802. package/cjs/utils/platform/exit-hook.js.map +0 -1
  803. package/cjs/utils/platform/exit-hook.web.d.ts +0 -1
  804. package/cjs/utils/platform/exit-hook.web.js +0 -21
  805. package/cjs/utils/platform/exit-hook.web.js.map +0 -1
  806. package/cjs/utils/platform/logging.d.ts +0 -1
  807. package/cjs/utils/platform/logging.js +0 -34
  808. package/cjs/utils/platform/logging.js.map +0 -1
  809. package/cjs/utils/platform/logging.web.d.ts +0 -1
  810. package/cjs/utils/platform/logging.web.js +0 -35
  811. package/cjs/utils/platform/logging.web.js.map +0 -1
  812. package/cjs/utils/platform/transport.d.ts +0 -1
  813. package/cjs/utils/platform/transport.js +0 -8
  814. package/cjs/utils/platform/transport.js.map +0 -1
  815. package/cjs/utils/platform/transport.web.d.ts +0 -1
  816. package/cjs/utils/platform/transport.web.js +0 -15
  817. package/cjs/utils/platform/transport.web.js.map +0 -1
  818. package/cjs/utils/sorted-array.test.d.ts +0 -1
  819. package/cjs/utils/sorted-array.test.js +0 -66
  820. package/cjs/utils/sorted-array.test.js.map +0 -1
  821. package/cjs/utils/tl-json.test.d.ts +0 -1
  822. package/cjs/utils/tl-json.test.js +0 -83
  823. package/cjs/utils/tl-json.test.js.map +0 -1
  824. package/cjs/utils/type-assertions.test.d.ts +0 -1
  825. package/cjs/utils/type-assertions.test.js +0 -67
  826. package/cjs/utils/type-assertions.test.js.map +0 -1
  827. package/esm/highlevel/base.test.d.ts +0 -1
  828. package/esm/highlevel/base.test.js +0 -12
  829. package/esm/highlevel/base.test.js.map +0 -1
  830. package/esm/highlevel/methods/files/_platform.d.ts +0 -1
  831. package/esm/highlevel/methods/files/_platform.js +0 -26
  832. package/esm/highlevel/methods/files/_platform.js.map +0 -1
  833. package/esm/highlevel/methods/files/_platform.web.d.ts +0 -1
  834. package/esm/highlevel/methods/files/_platform.web.js +0 -19
  835. package/esm/highlevel/methods/files/_platform.web.js.map +0 -1
  836. package/esm/highlevel/methods/files/download-file.web.d.ts +0 -1
  837. package/esm/highlevel/methods/files/download-file.web.js +0 -5
  838. package/esm/highlevel/methods/files/download-file.web.js.map +0 -1
  839. package/esm/highlevel/methods/messages/send-text.test.d.ts +0 -1
  840. package/esm/highlevel/methods/messages/send-text.test.js +0 -135
  841. package/esm/highlevel/methods/messages/send-text.test.js.map +0 -1
  842. package/esm/highlevel/methods/users/get-users.test.d.ts +0 -1
  843. package/esm/highlevel/methods/users/get-users.test.js +0 -28
  844. package/esm/highlevel/methods/users/get-users.test.js.map +0 -1
  845. package/esm/highlevel/methods/users/resolve-peer.test.d.ts +0 -1
  846. package/esm/highlevel/methods/users/resolve-peer.test.js +0 -302
  847. package/esm/highlevel/methods/users/resolve-peer.test.js.map +0 -1
  848. package/esm/highlevel/types/bots/command-scope.d.ts +0 -63
  849. package/esm/highlevel/types/bots/command-scope.js +0 -84
  850. package/esm/highlevel/types/bots/command-scope.js.map +0 -1
  851. package/esm/highlevel/types/bots/input/index.d.ts +0 -2
  852. package/esm/highlevel/types/bots/input/index.js +0 -3
  853. package/esm/highlevel/types/bots/input/index.js.map +0 -1
  854. package/esm/highlevel/types/bots/input/input-inline-message.js +0 -176
  855. package/esm/highlevel/types/bots/input/input-inline-message.js.map +0 -1
  856. package/esm/highlevel/types/bots/input/input-inline-result.js +0 -487
  857. package/esm/highlevel/types/bots/input/input-inline-result.js.map +0 -1
  858. package/esm/highlevel/types/bots/keyboard-builder.js.map +0 -1
  859. package/esm/highlevel/types/bots/keyboard-builder.test.d.ts +0 -1
  860. package/esm/highlevel/types/bots/keyboard-builder.test.js +0 -160
  861. package/esm/highlevel/types/bots/keyboard-builder.test.js.map +0 -1
  862. package/esm/highlevel/types/bots/keyboards.d.ts +0 -239
  863. package/esm/highlevel/types/bots/keyboards.js +0 -377
  864. package/esm/highlevel/types/bots/keyboards.js.map +0 -1
  865. package/esm/highlevel/types/bots/keyboards.test.d.ts +0 -1
  866. package/esm/highlevel/types/bots/keyboards.test.js +0 -144
  867. package/esm/highlevel/types/bots/keyboards.test.js.map +0 -1
  868. package/esm/highlevel/types/media/input-media.js +0 -251
  869. package/esm/highlevel/types/media/input-media.js.map +0 -1
  870. package/esm/highlevel/types/misc/input-privacy-rule.d.ts +0 -63
  871. package/esm/highlevel/types/misc/input-privacy-rule.js +0 -82
  872. package/esm/highlevel/types/misc/input-privacy-rule.js.map +0 -1
  873. package/esm/highlevel/types/peers/peers-index.test.d.ts +0 -1
  874. package/esm/highlevel/types/peers/peers-index.test.js +0 -69
  875. package/esm/highlevel/types/peers/peers-index.test.js.map +0 -1
  876. package/esm/highlevel/types/peers/user.test.d.ts +0 -1
  877. package/esm/highlevel/types/peers/user.test.js +0 -171
  878. package/esm/highlevel/types/peers/user.test.js.map +0 -1
  879. package/esm/highlevel/utils/file-type.test.d.ts +0 -1
  880. package/esm/highlevel/utils/file-type.test.js +0 -62
  881. package/esm/highlevel/utils/file-type.test.js.map +0 -1
  882. package/esm/highlevel/utils/file-utils.test.d.ts +0 -1
  883. package/esm/highlevel/utils/file-utils.test.js +0 -124
  884. package/esm/highlevel/utils/file-utils.test.js.map +0 -1
  885. package/esm/highlevel/utils/inline-utils.test.d.ts +0 -1
  886. package/esm/highlevel/utils/inline-utils.test.js +0 -42
  887. package/esm/highlevel/utils/inline-utils.test.js.map +0 -1
  888. package/esm/highlevel/utils/inspectable.test.d.ts +0 -1
  889. package/esm/highlevel/utils/inspectable.test.js +0 -95
  890. package/esm/highlevel/utils/inspectable.test.js.map +0 -1
  891. package/esm/highlevel/utils/memoize.test.d.ts +0 -1
  892. package/esm/highlevel/utils/memoize.test.js +0 -58
  893. package/esm/highlevel/utils/memoize.test.js.map +0 -1
  894. package/esm/highlevel/utils/peer-utils.test.d.ts +0 -1
  895. package/esm/highlevel/utils/peer-utils.test.js +0 -107
  896. package/esm/highlevel/utils/peer-utils.test.js.map +0 -1
  897. package/esm/highlevel/utils/platform/storage.d.ts +0 -1
  898. package/esm/highlevel/utils/platform/storage.js +0 -6
  899. package/esm/highlevel/utils/platform/storage.js.map +0 -1
  900. package/esm/highlevel/utils/platform/storage.web.d.ts +0 -1
  901. package/esm/highlevel/utils/platform/storage.web.js +0 -10
  902. package/esm/highlevel/utils/platform/storage.web.js.map +0 -1
  903. package/esm/highlevel/utils/query-batcher.test.d.ts +0 -1
  904. package/esm/highlevel/utils/query-batcher.test.js +0 -500
  905. package/esm/highlevel/utils/query-batcher.test.js.map +0 -1
  906. package/esm/highlevel/utils/stream-utils.test.d.ts +0 -1
  907. package/esm/highlevel/utils/stream-utils.test.js +0 -96
  908. package/esm/highlevel/utils/stream-utils.test.js.map +0 -1
  909. package/esm/highlevel/utils/string-session.test.d.ts +0 -1
  910. package/esm/highlevel/utils/string-session.test.js +0 -196
  911. package/esm/highlevel/utils/string-session.test.js.map +0 -1
  912. package/esm/highlevel/utils/voice-utils.test.d.ts +0 -1
  913. package/esm/highlevel/utils/voice-utils.test.js +0 -26
  914. package/esm/highlevel/utils/voice-utils.test.js.map +0 -1
  915. package/esm/highlevel/worker/platform/connect.d.ts +0 -2
  916. package/esm/highlevel/worker/platform/connect.js +0 -15
  917. package/esm/highlevel/worker/platform/connect.js.map +0 -1
  918. package/esm/highlevel/worker/platform/connect.web.d.ts +0 -2
  919. package/esm/highlevel/worker/platform/connect.web.js +0 -47
  920. package/esm/highlevel/worker/platform/connect.web.js.map +0 -1
  921. package/esm/highlevel/worker/platform/register.d.ts +0 -2
  922. package/esm/highlevel/worker/platform/register.js +0 -16
  923. package/esm/highlevel/worker/platform/register.js.map +0 -1
  924. package/esm/highlevel/worker/platform/register.web.d.ts +0 -2
  925. package/esm/highlevel/worker/platform/register.web.js +0 -60
  926. package/esm/highlevel/worker/platform/register.web.js.map +0 -1
  927. package/esm/network/auth-key.test.d.ts +0 -1
  928. package/esm/network/auth-key.test.js +0 -106
  929. package/esm/network/auth-key.test.js.map +0 -1
  930. package/esm/network/config-manager.test.d.ts +0 -1
  931. package/esm/network/config-manager.test.js +0 -172
  932. package/esm/network/config-manager.test.js.map +0 -1
  933. package/esm/network/persistent-connection.test.d.ts +0 -1
  934. package/esm/network/persistent-connection.test.js +0 -155
  935. package/esm/network/persistent-connection.test.js.map +0 -1
  936. package/esm/network/transports/intermediate.test.d.ts +0 -1
  937. package/esm/network/transports/intermediate.test.js +0 -82
  938. package/esm/network/transports/intermediate.test.js.map +0 -1
  939. package/esm/network/transports/obfuscated.test.d.ts +0 -1
  940. package/esm/network/transports/obfuscated.test.js +0 -129
  941. package/esm/network/transports/obfuscated.test.js.map +0 -1
  942. package/esm/network/transports/tcp.d.ts +0 -32
  943. package/esm/network/transports/tcp.js +0 -122
  944. package/esm/network/transports/tcp.js.map +0 -1
  945. package/esm/network/transports/tcp.test.d.ts +0 -1
  946. package/esm/network/transports/tcp.test.js +0 -101
  947. package/esm/network/transports/tcp.test.js.map +0 -1
  948. package/esm/network/transports/websocket.d.ts +0 -46
  949. package/esm/network/transports/websocket.js +0 -116
  950. package/esm/network/transports/websocket.js.map +0 -1
  951. package/esm/network/transports/websocket.test.d.ts +0 -1
  952. package/esm/network/transports/websocket.test.js +0 -89
  953. package/esm/network/transports/websocket.test.js.map +0 -1
  954. package/esm/storage/providers/idb/driver.d.ts +0 -18
  955. package/esm/storage/providers/idb/driver.js +0 -134
  956. package/esm/storage/providers/idb/driver.js.map +0 -1
  957. package/esm/storage/providers/idb/idb.test.d.ts +0 -1
  958. package/esm/storage/providers/idb/idb.test.js +0 -27
  959. package/esm/storage/providers/idb/idb.test.js.map +0 -1
  960. package/esm/storage/providers/idb/index.d.ts +0 -22
  961. package/esm/storage/providers/idb/index.js +0 -23
  962. package/esm/storage/providers/idb/index.js.map +0 -1
  963. package/esm/storage/providers/idb/repository/auth-keys.d.ts +0 -14
  964. package/esm/storage/providers/idb/repository/auth-keys.js +0 -66
  965. package/esm/storage/providers/idb/repository/auth-keys.js.map +0 -1
  966. package/esm/storage/providers/idb/repository/kv.d.ts +0 -11
  967. package/esm/storage/providers/idb/repository/kv.js +0 -30
  968. package/esm/storage/providers/idb/repository/kv.js.map +0 -1
  969. package/esm/storage/providers/idb/repository/peers.d.ts +0 -12
  970. package/esm/storage/providers/idb/repository/peers.js +0 -34
  971. package/esm/storage/providers/idb/repository/peers.js.map +0 -1
  972. package/esm/storage/providers/idb/repository/ref-messages.d.ts +0 -12
  973. package/esm/storage/providers/idb/repository/ref-messages.js +0 -53
  974. package/esm/storage/providers/idb/repository/ref-messages.js.map +0 -1
  975. package/esm/storage/providers/idb/utils.d.ts +0 -3
  976. package/esm/storage/providers/idb/utils.js +0 -21
  977. package/esm/storage/providers/idb/utils.js.map +0 -1
  978. package/esm/storage/providers/memory/driver.js.map +0 -1
  979. package/esm/storage/providers/memory/index.js.map +0 -1
  980. package/esm/storage/providers/memory/memory.test.d.ts +0 -1
  981. package/esm/storage/providers/memory/memory.test.js +0 -11
  982. package/esm/storage/providers/memory/memory.test.js.map +0 -1
  983. package/esm/storage/providers/memory/repository/auth-keys.js.map +0 -1
  984. package/esm/storage/providers/memory/repository/kv.js.map +0 -1
  985. package/esm/storage/providers/memory/repository/peers.js.map +0 -1
  986. package/esm/storage/providers/memory/repository/ref-messages.js.map +0 -1
  987. package/esm/storage/service/auth-keys.test.d.ts +0 -1
  988. package/esm/storage/service/auth-keys.test.js +0 -20
  989. package/esm/storage/service/auth-keys.test.js.map +0 -1
  990. package/esm/storage/service/updates.test.d.ts +0 -1
  991. package/esm/storage/service/updates.test.js +0 -58
  992. package/esm/storage/service/updates.test.js.map +0 -1
  993. package/esm/storage/service/utils.test-utils.d.ts +0 -2
  994. package/esm/storage/service/utils.test-utils.js +0 -15
  995. package/esm/storage/service/utils.test-utils.js.map +0 -1
  996. package/esm/utils/async-lock.test.d.ts +0 -1
  997. package/esm/utils/async-lock.test.js +0 -23
  998. package/esm/utils/async-lock.test.js.map +0 -1
  999. package/esm/utils/bigint-utils.test.d.ts +0 -1
  1000. package/esm/utils/bigint-utils.test.js +0 -148
  1001. package/esm/utils/bigint-utils.test.js.map +0 -1
  1002. package/esm/utils/buffer-utils.test.d.ts +0 -1
  1003. package/esm/utils/buffer-utils.test.js +0 -67
  1004. package/esm/utils/buffer-utils.test.js.map +0 -1
  1005. package/esm/utils/condition-variable.test.d.ts +0 -1
  1006. package/esm/utils/condition-variable.test.js +0 -25
  1007. package/esm/utils/condition-variable.test.js.map +0 -1
  1008. package/esm/utils/controllable-promise.test.d.ts +0 -1
  1009. package/esm/utils/controllable-promise.test.js +0 -15
  1010. package/esm/utils/controllable-promise.test.js.map +0 -1
  1011. package/esm/utils/crypto/factorization.test.d.ts +0 -1
  1012. package/esm/utils/crypto/factorization.test.js +0 -17
  1013. package/esm/utils/crypto/factorization.test.js.map +0 -1
  1014. package/esm/utils/crypto/keys.test.d.ts +0 -1
  1015. package/esm/utils/crypto/keys.test.js +0 -38
  1016. package/esm/utils/crypto/keys.test.js.map +0 -1
  1017. package/esm/utils/crypto/miller-rabin.test.d.ts +0 -1
  1018. package/esm/utils/crypto/miller-rabin.test.js +0 -58
  1019. package/esm/utils/crypto/miller-rabin.test.js.map +0 -1
  1020. package/esm/utils/crypto/mtproto.test.d.ts +0 -1
  1021. package/esm/utils/crypto/mtproto.test.js +0 -48
  1022. package/esm/utils/crypto/mtproto.test.js.map +0 -1
  1023. package/esm/utils/crypto/node.d.ts +0 -21
  1024. package/esm/utils/crypto/node.js +0 -69
  1025. package/esm/utils/crypto/node.js.map +0 -1
  1026. package/esm/utils/crypto/node.test.d.ts +0 -1
  1027. package/esm/utils/crypto/node.test.js +0 -12
  1028. package/esm/utils/crypto/node.test.js.map +0 -1
  1029. package/esm/utils/crypto/password.test.d.ts +0 -1
  1030. package/esm/utils/crypto/password.test.js +0 -90
  1031. package/esm/utils/crypto/password.test.js.map +0 -1
  1032. package/esm/utils/crypto/utils.test.d.ts +0 -1
  1033. package/esm/utils/crypto/utils.test.js +0 -47
  1034. package/esm/utils/crypto/utils.test.js.map +0 -1
  1035. package/esm/utils/crypto/wasm.d.ts +0 -22
  1036. package/esm/utils/crypto/wasm.js +0 -37
  1037. package/esm/utils/crypto/wasm.js.map +0 -1
  1038. package/esm/utils/crypto/web.d.ts +0 -11
  1039. package/esm/utils/crypto/web.js +0 -36
  1040. package/esm/utils/crypto/web.js.map +0 -1
  1041. package/esm/utils/crypto/web.test.d.ts +0 -1
  1042. package/esm/utils/crypto/web.test.js +0 -15
  1043. package/esm/utils/crypto/web.test.js.map +0 -1
  1044. package/esm/utils/deque.test.d.ts +0 -1
  1045. package/esm/utils/deque.test.js +0 -126
  1046. package/esm/utils/deque.test.js.map +0 -1
  1047. package/esm/utils/function-utils.test.d.ts +0 -1
  1048. package/esm/utils/function-utils.test.js +0 -21
  1049. package/esm/utils/function-utils.test.js.map +0 -1
  1050. package/esm/utils/linked-list.test.d.ts +0 -1
  1051. package/esm/utils/linked-list.test.js +0 -34
  1052. package/esm/utils/linked-list.test.js.map +0 -1
  1053. package/esm/utils/links/bots.test.d.ts +0 -1
  1054. package/esm/utils/links/bots.test.js +0 -150
  1055. package/esm/utils/links/bots.test.js.map +0 -1
  1056. package/esm/utils/links/chat.test.d.ts +0 -1
  1057. package/esm/utils/links/chat.test.js +0 -82
  1058. package/esm/utils/links/chat.test.js.map +0 -1
  1059. package/esm/utils/links/misc.test.d.ts +0 -1
  1060. package/esm/utils/links/misc.test.js +0 -151
  1061. package/esm/utils/links/misc.test.js.map +0 -1
  1062. package/esm/utils/links/proxy.test.d.ts +0 -1
  1063. package/esm/utils/links/proxy.test.js +0 -72
  1064. package/esm/utils/links/proxy.test.js.map +0 -1
  1065. package/esm/utils/links/user.test.d.ts +0 -1
  1066. package/esm/utils/links/user.test.js +0 -61
  1067. package/esm/utils/links/user.test.js.map +0 -1
  1068. package/esm/utils/logger.test.d.ts +0 -1
  1069. package/esm/utils/logger.test.js +0 -134
  1070. package/esm/utils/logger.test.js.map +0 -1
  1071. package/esm/utils/long-utils.test.d.ts +0 -1
  1072. package/esm/utils/long-utils.test.js +0 -153
  1073. package/esm/utils/long-utils.test.js.map +0 -1
  1074. package/esm/utils/lru-map.test.d.ts +0 -1
  1075. package/esm/utils/lru-map.test.js +0 -94
  1076. package/esm/utils/lru-map.test.js.map +0 -1
  1077. package/esm/utils/lru-set.test.d.ts +0 -1
  1078. package/esm/utils/lru-set.test.js +0 -72
  1079. package/esm/utils/lru-set.test.js.map +0 -1
  1080. package/esm/utils/peer-utils.test.d.ts +0 -1
  1081. package/esm/utils/peer-utils.test.js +0 -105
  1082. package/esm/utils/peer-utils.test.js.map +0 -1
  1083. package/esm/utils/platform/crypto.d.ts +0 -1
  1084. package/esm/utils/platform/crypto.js +0 -4
  1085. package/esm/utils/platform/crypto.js.map +0 -1
  1086. package/esm/utils/platform/crypto.web.d.ts +0 -1
  1087. package/esm/utils/platform/crypto.web.js +0 -10
  1088. package/esm/utils/platform/crypto.web.js.map +0 -1
  1089. package/esm/utils/platform/error-reporting.js.map +0 -1
  1090. package/esm/utils/platform/exit-hook.d.ts +0 -1
  1091. package/esm/utils/platform/exit-hook.js +0 -41
  1092. package/esm/utils/platform/exit-hook.js.map +0 -1
  1093. package/esm/utils/platform/exit-hook.web.d.ts +0 -1
  1094. package/esm/utils/platform/exit-hook.web.js +0 -17
  1095. package/esm/utils/platform/exit-hook.web.js.map +0 -1
  1096. package/esm/utils/platform/logging.d.ts +0 -1
  1097. package/esm/utils/platform/logging.js +0 -31
  1098. package/esm/utils/platform/logging.js.map +0 -1
  1099. package/esm/utils/platform/logging.web.d.ts +0 -1
  1100. package/esm/utils/platform/logging.web.js +0 -31
  1101. package/esm/utils/platform/logging.web.js.map +0 -1
  1102. package/esm/utils/platform/transport.d.ts +0 -1
  1103. package/esm/utils/platform/transport.js +0 -4
  1104. package/esm/utils/platform/transport.js.map +0 -1
  1105. package/esm/utils/platform/transport.web.d.ts +0 -1
  1106. package/esm/utils/platform/transport.web.js +0 -12
  1107. package/esm/utils/platform/transport.web.js.map +0 -1
  1108. package/esm/utils/sorted-array.test.d.ts +0 -1
  1109. package/esm/utils/sorted-array.test.js +0 -64
  1110. package/esm/utils/sorted-array.test.js.map +0 -1
  1111. package/esm/utils/tl-json.test.d.ts +0 -1
  1112. package/esm/utils/tl-json.test.js +0 -81
  1113. package/esm/utils/tl-json.test.js.map +0 -1
  1114. package/esm/utils/type-assertions.test.d.ts +0 -1
  1115. package/esm/utils/type-assertions.test.js +0 -65
  1116. package/esm/utils/type-assertions.test.js.map +0 -1
  1117. /package/cjs/highlevel/{base.test.d.ts → methods/files/download-node-stream.d.ts} +0 -0
  1118. /package/cjs/storage/{providers/memory → memory}/driver.js +0 -0
  1119. /package/cjs/storage/{providers/memory → memory}/index.js +0 -0
  1120. /package/cjs/storage/{providers/memory → memory}/repository/auth-keys.js +0 -0
  1121. /package/cjs/storage/{providers/memory → memory}/repository/kv.js +0 -0
  1122. /package/cjs/storage/{providers/memory → memory}/repository/peers.js +0 -0
  1123. /package/cjs/storage/{providers/memory → memory}/repository/ref-messages.js +0 -0
  1124. /package/cjs/utils/{platform/error-reporting.js → error-reporting.js} +0 -0
  1125. /package/{cjs/highlevel/methods/files/_platform.d.ts → esm/highlevel/methods/files/download-node-stream.d.ts} +0 -0
  1126. /package/esm/storage/{providers/memory → memory}/driver.js +0 -0
  1127. /package/esm/storage/{providers/memory → memory}/index.js +0 -0
  1128. /package/esm/storage/{providers/memory → memory}/repository/auth-keys.js +0 -0
  1129. /package/esm/storage/{providers/memory → memory}/repository/kv.js +0 -0
  1130. /package/esm/storage/{providers/memory → memory}/repository/peers.js +0 -0
  1131. /package/esm/storage/{providers/memory → memory}/repository/ref-messages.js +0 -0
  1132. /package/esm/utils/{platform/error-reporting.js → error-reporting.js} +0 -0
package/README.md CHANGED
@@ -2,25 +2,48 @@
2
2
 
3
3
  📖 [API Reference](https://ref.mtcute.dev/modules/_mtcute_core.html)
4
4
 
5
- Basic low-level MTProto implementation and auxiliary utilities.
5
+ Platform-agnostic MTProto implementation and auxiliary utilities.
6
6
 
7
7
  ## Features
8
8
  - **MTProto 2.0**: Implements the full MTProto protocol, including all the encryption and serialization
9
9
  - **2FA support**: Provides utilities for 2-step verification
10
10
  - **Hackable**: Bring your own storage, transport, and other components to customize the library to your needs
11
11
  - **Magical**: Handles reconnections, connection pooling, DC redirections and other stuff for you
12
- - **Web support**: Works in the browser with no additional configuration
12
+ - **Updates handling**: Implements proper updates handling, including ordering and gap recovery (learn more)
13
+ - **High-level**: Includes a high-level API that wrap the MTProto APIs and provide a clean interface
14
+ - **Tree-shaking**: You can import just the methods you need, and the rest will not be included into the bundle
13
15
 
14
16
  ## Usage
15
17
 
16
18
  ```ts
17
- import { BaseTelegramClient } from '@mtcute/core'
19
+ import { BaseTelegramClient } from '@mtcute/core/client.js'
18
20
 
19
21
  const tg = new BaseTelegramClient({
20
22
  apiId: 12345,
21
23
  apiHash: '0123456789abcdef0123456789abcdef',
24
+ crypto: new MyCryptoProvider(),
25
+ storage: new MyStorage(),
26
+ transport: () => new MyTransport(),
22
27
  })
23
28
 
24
29
  tg.call({ _: 'help.getConfig' })
25
30
  .then(console.log)
26
31
  ```
32
+
33
+ ## Usage with high-level API
34
+
35
+ ```ts
36
+ import { TelegramClient } from '@mtcute/core/client.js'
37
+
38
+ const tg = new TelegramClient({
39
+ // ... same options as above
40
+ })
41
+
42
+ tg.run({
43
+ phone: '+1234567890',
44
+ code: () => prompt('Enter the code:'),
45
+ password: 'my-password',
46
+ }, async (user) => {
47
+ console.log(`✨ logged in as ${user.displayName}`)
48
+ })
49
+ ```
@@ -4,7 +4,7 @@ import { ConnectionKind, RpcCallOptions } from '../network/network-manager.js';
4
4
  import { StorageManagerExtraOptions } from '../storage/storage.js';
5
5
  import { MustEqual } from '../types/utils.js';
6
6
  import { StringSessionData } from '../utils/index.js';
7
- import { ITelegramClient } from './client.types.js';
7
+ import { ConnectionState, ITelegramClient } from './client.types.js';
8
8
  import { AppConfigManager } from './managers/app-config-manager.js';
9
9
  import { ITelegramStorageProvider } from './storage/provider.js';
10
10
  import { TelegramStorageManager, TelegramStorageManagerExtraOptions } from './storage/storage.js';
@@ -19,6 +19,7 @@ export declare class BaseTelegramClient implements ITelegramClient {
19
19
  readonly params: BaseTelegramClientOptions;
20
20
  readonly updates?: UpdatesManager;
21
21
  private _serverUpdatesHandler;
22
+ private _connectionStateHandler;
22
23
  constructor(params: BaseTelegramClientOptions);
23
24
  readonly log: import("../utils/logger.js").Logger;
24
25
  readonly mt: MtClient;
@@ -100,6 +101,7 @@ export declare class BaseTelegramClient implements ITelegramClient {
100
101
  handleClientUpdate(updates: tl.TypeUpdates, noDispatch?: boolean): void;
101
102
  onServerUpdate(handler: (update: tl.TypeUpdates) => void): void;
102
103
  onUpdate(handler: RawUpdateHandler): void;
104
+ onConnectionState(handler: (state: ConnectionState) => void): void;
103
105
  getApiCrenetials(): Promise<{
104
106
  id: number;
105
107
  hash: string;
@@ -12,6 +12,7 @@ class BaseTelegramClient {
12
12
  constructor(params) {
13
13
  this.params = params;
14
14
  this._serverUpdatesHandler = () => { };
15
+ this._connectionStateHandler = () => { };
15
16
  this.log = this.params.logger ?? new logger_js_1.LogManager('client');
16
17
  this.mt = new client_js_1.MtClient({
17
18
  ...this.params,
@@ -40,10 +41,24 @@ class BaseTelegramClient {
40
41
  if (!params.disableUpdates && params.updates !== false) {
41
42
  this.updates = new manager_js_1.UpdatesManager(this, params.updates);
42
43
  this._serverUpdatesHandler = this.updates.handleUpdate.bind(this.updates);
44
+ this.updates.onCatchingUp((catchingUp) => {
45
+ this._connectionStateHandler(catchingUp ? 'updating' : 'connected');
46
+ });
43
47
  }
44
48
  this.mt.on('update', (update) => {
45
49
  this._serverUpdatesHandler(update);
46
50
  });
51
+ this.mt.on('usable', () => {
52
+ this._connectionStateHandler('connected');
53
+ });
54
+ this.mt.on('wait', () => {
55
+ this._connectionStateHandler('connecting');
56
+ });
57
+ this.mt.on('networkChanged', (connected) => {
58
+ if (!connected) {
59
+ this._connectionStateHandler('offline');
60
+ }
61
+ });
47
62
  }
48
63
  /**
49
64
  * **ADVANCED**
@@ -199,6 +214,9 @@ class BaseTelegramClient {
199
214
  }
200
215
  this.updates.setHandler(handler);
201
216
  }
217
+ onConnectionState(handler) {
218
+ this._connectionStateHandler = handler;
219
+ }
202
220
  async getApiCrenetials() {
203
221
  return {
204
222
  id: this.params.apiId,
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/highlevel/base.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/require-await */\nimport { tl } from '@mtcute/tl'\n\nimport { MtClient, MtClientOptions } from '../network/client.js'\nimport { ConnectionKind, RpcCallOptions } from '../network/network-manager.js'\nimport { StorageManagerExtraOptions } from '../storage/storage.js'\nimport { MtArgumentError } from '../types/errors.js'\nimport { MustEqual } from '../types/utils.js'\nimport {\n asyncResettable,\n computeNewPasswordHash,\n computeSrpParams,\n readStringSession,\n StringSessionData,\n writeStringSession,\n} from '../utils/index.js'\nimport { LogManager } from '../utils/logger.js'\nimport { ITelegramClient } from './client.types.js'\nimport { AppConfigManager } from './managers/app-config-manager.js'\nimport { ITelegramStorageProvider } from './storage/provider.js'\nimport { TelegramStorageManager, TelegramStorageManagerExtraOptions } from './storage/storage.js'\nimport { UpdatesManager } from './updates/manager.js'\nimport { RawUpdateHandler, UpdatesManagerParams } from './updates/types.js'\n\nexport interface BaseTelegramClientOptions extends MtClientOptions {\n storage: ITelegramStorageProvider\n storageOptions?: StorageManagerExtraOptions & TelegramStorageManagerExtraOptions\n updates?: UpdatesManagerParams | false\n}\n\nexport class BaseTelegramClient implements ITelegramClient {\n readonly updates?: UpdatesManager\n private _serverUpdatesHandler: (updates: tl.TypeUpdates) => void = () => {}\n\n constructor(readonly params: BaseTelegramClientOptions) {\n if (!params.disableUpdates && params.updates !== false) {\n this.updates = new UpdatesManager(this, params.updates)\n this._serverUpdatesHandler = this.updates.handleUpdate.bind(this.updates)\n }\n\n this.mt.on('update', (update: tl.TypeUpdates) => {\n this._serverUpdatesHandler(update)\n })\n }\n\n readonly log = this.params.logger ?? new LogManager('client')\n readonly mt = new MtClient({\n ...this.params,\n logger: this.log.create('mtproto'),\n })\n readonly crypto = this.mt.crypto\n readonly storage = new TelegramStorageManager(this.mt.storage, {\n provider: this.params.storage,\n ...this.params.storageOptions,\n })\n readonly appConfig = new AppConfigManager(this)\n\n private _prepare = asyncResettable(async () => {\n await this.mt.prepare()\n\n const self = await this.storage.self.fetch()\n this.log.prefix = `[USER ${self?.userId ?? 'n/a'}] `\n this.mt.network.setIsPremium(self?.isPremium ?? false)\n\n await this.updates?.prepare()\n })\n\n /**\n * **ADVANCED**\n *\n * Do all the preparations, but don't connect just yet.\n * Useful when you want to do some preparations before\n * connecting, like setting up session.\n *\n * Call {@link connect} to actually connect.\n */\n prepare() {\n return this._prepare.run()\n }\n\n // used in a hot path, avoid extra function calls\n private _connected = false\n private _connect = asyncResettable(async () => {\n await this._prepare.run()\n await this.mt.connect()\n this._connected = true\n })\n\n /**\n * Initialize the connection to the primary DC.\n *\n * You shouldn't usually call this method directly as it is called\n * implicitly the first time you call {@link call}.\n */\n async connect(): Promise<void> {\n return this._connect.run()\n }\n\n get isConnected(): boolean {\n return this._connected\n }\n\n async close(): Promise<void> {\n await this.mt.close()\n this.updates?.stopLoop()\n this._prepare.reset()\n this._connect.reset()\n this._connected = false\n }\n\n async notifyLoggedIn(auth: tl.auth.TypeAuthorization | tl.RawUser): Promise<tl.RawUser> {\n const user = this.mt.network.notifyLoggedIn(auth)\n\n this.log.prefix = `[USER ${user.id}] `\n const self = await this.storage.self.storeFrom(user)\n\n this.updates?.notifyLoggedIn(self)\n\n return user\n }\n\n async notifyLoggedOut(): Promise<void> {\n this.mt.network.notifyLoggedOut()\n\n this.log.prefix = '[USER n/a] '\n await this.storage.self.store(null)\n }\n\n async notifyChannelOpened(channelId: number, pts?: number): Promise<boolean> {\n return this.updates?.notifyChannelOpened(channelId, pts) ?? false\n }\n\n async notifyChannelClosed(channelId: number): Promise<boolean> {\n return this.updates?.notifyChannelClosed(channelId) ?? false\n }\n\n async startUpdatesLoop(): Promise<void> {\n await this.updates?.startLoop()\n }\n\n async stopUpdatesLoop(): Promise<void> {\n this.updates?.stopLoop()\n }\n\n /**\n * Make an RPC call\n *\n * This method is still quite low-level and you shouldn't use this\n * when using high-level API provided by `@mtcute/client`.\n *\n * @param message RPC method to call\n * @param params Additional call parameters\n */\n async call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']]> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n const res = await this.mt.call(message, params)\n\n await this.storage.peers.updatePeersFrom(res)\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return res\n }\n\n /**\n * Import the session from the given session string.\n *\n * Note that the session will only be imported in case\n * the storage is missing authorization (i.e. does not contain\n * auth key for the primary DC), otherwise it will be ignored (unless `force`).\n *\n * @param session Session string to import\n * @param force Whether to overwrite existing session\n */\n async importSession(session: string | StringSessionData, force = false): Promise<void> {\n await this.prepare()\n\n const defaultDcAuthKey = await this.mt.storage.provider.authKeys.get(this.mt._defaultDcs.main.id)\n\n if (defaultDcAuthKey && !force) return\n\n const data = typeof session === 'string' ? readStringSession(this.mt._readerMap, session) : session\n\n if (data.testMode && !this.params.testMode) {\n throw new Error(\n 'This session string is not for the current backend. ' +\n `Session is ${data.testMode ? 'test' : 'prod'}, ` +\n `but the client is ${this.params.testMode ? 'test' : 'prod'}`,\n )\n }\n\n this.mt._defaultDcs = data.primaryDcs\n await this.mt.storage.dcs.store(data.primaryDcs)\n\n if (data.self) {\n await this.storage.self.store(data.self)\n }\n\n await this.mt.storage.provider.authKeys.set(data.primaryDcs.main.id, data.authKey)\n\n await this.mt.storage.save()\n }\n\n /**\n * Export current session to a single *LONG* string, containing\n * all the needed information.\n *\n * > **Warning!** Anyone with this string will be able\n * > to authorize as you and do anything. Treat this\n * > as your password, and never give it away!\n * >\n * > In case you have accidentally leaked this string,\n * > make sure to revoke this session in account settings:\n * > \"Privacy & Security\" > \"Active sessions\" >\n * > find the one containing `mtcute` > Revoke,\n * > or, in case this is a bot, revoke bot token\n * > with [@BotFather](//t.me/botfather)\n */\n async exportSession(): Promise<string> {\n await this._prepare.run()\n\n const primaryDcs = (await this.mt.storage.dcs.fetch()) ?? this.mt._defaultDcs\n\n const authKey = await this.mt.storage.provider.authKeys.get(primaryDcs.main.id)\n if (!authKey) throw new Error('Auth key is not ready yet')\n\n return writeStringSession({\n version: 3,\n self: await this.storage.self.fetch(),\n testMode: Boolean(this.params.testMode),\n primaryDcs,\n authKey,\n })\n }\n\n /**\n * Register an error handler for the client\n *\n * @param handler Error handler.\n */\n onError(handler: (err: unknown) => void): void {\n this.mt.onError(handler)\n }\n\n emitError(err: unknown): void {\n this.mt.emitError(err)\n }\n\n handleClientUpdate(updates: tl.TypeUpdates, noDispatch?: boolean): void {\n this.updates?.handleClientUpdate(updates, noDispatch)\n }\n\n onServerUpdate(handler: (update: tl.TypeUpdates) => void): void {\n this._serverUpdatesHandler = handler\n }\n\n onUpdate(handler: RawUpdateHandler): void {\n if (!this.updates) {\n throw new MtArgumentError('Updates manager is disabled')\n }\n\n this.updates.setHandler(handler)\n }\n\n async getApiCrenetials() {\n return {\n id: this.params.apiId,\n hash: this.params.apiHash,\n }\n }\n\n async getPoolSize(kind: ConnectionKind, dcId?: number): Promise<number> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n return this.mt.network.getPoolSize(kind, dcId)\n }\n\n async getPrimaryDcId(): Promise<number> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n return this.mt.network.getPrimaryDcId()\n }\n\n computeSrpParams(request: tl.account.RawPassword, password: string): Promise<tl.RawInputCheckPasswordSRP> {\n return computeSrpParams(this.crypto, request, password)\n }\n computeNewPasswordHash(algo: tl.TypePasswordKdfAlgo, password: string): Promise<Uint8Array> {\n return computeNewPasswordHash(this.crypto, algo, password)\n }\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/highlevel/base.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/require-await */\nimport { tl } from '@mtcute/tl'\n\nimport { MtClient, MtClientOptions } from '../network/client.js'\nimport { ConnectionKind, RpcCallOptions } from '../network/network-manager.js'\nimport { StorageManagerExtraOptions } from '../storage/storage.js'\nimport { MtArgumentError } from '../types/errors.js'\nimport { MustEqual } from '../types/utils.js'\nimport {\n asyncResettable,\n computeNewPasswordHash,\n computeSrpParams,\n readStringSession,\n StringSessionData,\n writeStringSession,\n} from '../utils/index.js'\nimport { LogManager } from '../utils/logger.js'\nimport { ConnectionState, ITelegramClient } from './client.types.js'\nimport { AppConfigManager } from './managers/app-config-manager.js'\nimport { ITelegramStorageProvider } from './storage/provider.js'\nimport { TelegramStorageManager, TelegramStorageManagerExtraOptions } from './storage/storage.js'\nimport { UpdatesManager } from './updates/manager.js'\nimport { RawUpdateHandler, UpdatesManagerParams } from './updates/types.js'\n\nexport interface BaseTelegramClientOptions extends MtClientOptions {\n storage: ITelegramStorageProvider\n storageOptions?: StorageManagerExtraOptions & TelegramStorageManagerExtraOptions\n updates?: UpdatesManagerParams | false\n}\n\nexport class BaseTelegramClient implements ITelegramClient {\n readonly updates?: UpdatesManager\n private _serverUpdatesHandler: (updates: tl.TypeUpdates) => void = () => {}\n private _connectionStateHandler: (state: ConnectionState) => void = () => {}\n\n constructor(readonly params: BaseTelegramClientOptions) {\n if (!params.disableUpdates && params.updates !== false) {\n this.updates = new UpdatesManager(this, params.updates)\n this._serverUpdatesHandler = this.updates.handleUpdate.bind(this.updates)\n this.updates.onCatchingUp((catchingUp) => {\n this._connectionStateHandler(catchingUp ? 'updating' : 'connected')\n })\n }\n\n this.mt.on('update', (update: tl.TypeUpdates) => {\n this._serverUpdatesHandler(update)\n })\n this.mt.on('usable', () => {\n this._connectionStateHandler('connected')\n })\n this.mt.on('wait', () => {\n this._connectionStateHandler('connecting')\n })\n this.mt.on('networkChanged', (connected: boolean) => {\n if (!connected) {\n this._connectionStateHandler('offline')\n }\n })\n }\n\n readonly log = this.params.logger ?? new LogManager('client')\n readonly mt = new MtClient({\n ...this.params,\n logger: this.log.create('mtproto'),\n })\n readonly crypto = this.mt.crypto\n readonly storage = new TelegramStorageManager(this.mt.storage, {\n provider: this.params.storage,\n ...this.params.storageOptions,\n })\n readonly appConfig = new AppConfigManager(this)\n\n private _prepare = asyncResettable(async () => {\n await this.mt.prepare()\n\n const self = await this.storage.self.fetch()\n this.log.prefix = `[USER ${self?.userId ?? 'n/a'}] `\n this.mt.network.setIsPremium(self?.isPremium ?? false)\n\n await this.updates?.prepare()\n })\n\n /**\n * **ADVANCED**\n *\n * Do all the preparations, but don't connect just yet.\n * Useful when you want to do some preparations before\n * connecting, like setting up session.\n *\n * Call {@link connect} to actually connect.\n */\n prepare() {\n return this._prepare.run()\n }\n\n // used in a hot path, avoid extra function calls\n private _connected = false\n private _connect = asyncResettable(async () => {\n await this._prepare.run()\n await this.mt.connect()\n this._connected = true\n })\n\n /**\n * Initialize the connection to the primary DC.\n *\n * You shouldn't usually call this method directly as it is called\n * implicitly the first time you call {@link call}.\n */\n async connect(): Promise<void> {\n return this._connect.run()\n }\n\n get isConnected(): boolean {\n return this._connected\n }\n\n async close(): Promise<void> {\n await this.mt.close()\n this.updates?.stopLoop()\n this._prepare.reset()\n this._connect.reset()\n this._connected = false\n }\n\n async notifyLoggedIn(auth: tl.auth.TypeAuthorization | tl.RawUser): Promise<tl.RawUser> {\n const user = this.mt.network.notifyLoggedIn(auth)\n\n this.log.prefix = `[USER ${user.id}] `\n const self = await this.storage.self.storeFrom(user)\n\n this.updates?.notifyLoggedIn(self)\n\n return user\n }\n\n async notifyLoggedOut(): Promise<void> {\n this.mt.network.notifyLoggedOut()\n\n this.log.prefix = '[USER n/a] '\n await this.storage.self.store(null)\n }\n\n async notifyChannelOpened(channelId: number, pts?: number): Promise<boolean> {\n return this.updates?.notifyChannelOpened(channelId, pts) ?? false\n }\n\n async notifyChannelClosed(channelId: number): Promise<boolean> {\n return this.updates?.notifyChannelClosed(channelId) ?? false\n }\n\n async startUpdatesLoop(): Promise<void> {\n await this.updates?.startLoop()\n }\n\n async stopUpdatesLoop(): Promise<void> {\n this.updates?.stopLoop()\n }\n\n /**\n * Make an RPC call\n *\n * This method is still quite low-level and you shouldn't use this\n * when using high-level API provided by `@mtcute/client`.\n *\n * @param message RPC method to call\n * @param params Additional call parameters\n */\n async call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']]> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n const res = await this.mt.call(message, params)\n\n await this.storage.peers.updatePeersFrom(res)\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return res\n }\n\n /**\n * Import the session from the given session string.\n *\n * Note that the session will only be imported in case\n * the storage is missing authorization (i.e. does not contain\n * auth key for the primary DC), otherwise it will be ignored (unless `force`).\n *\n * @param session Session string to import\n * @param force Whether to overwrite existing session\n */\n async importSession(session: string | StringSessionData, force = false): Promise<void> {\n await this.prepare()\n\n const defaultDcAuthKey = await this.mt.storage.provider.authKeys.get(this.mt._defaultDcs.main.id)\n\n if (defaultDcAuthKey && !force) return\n\n const data = typeof session === 'string' ? readStringSession(this.mt._readerMap, session) : session\n\n if (data.testMode && !this.params.testMode) {\n throw new Error(\n 'This session string is not for the current backend. ' +\n `Session is ${data.testMode ? 'test' : 'prod'}, ` +\n `but the client is ${this.params.testMode ? 'test' : 'prod'}`,\n )\n }\n\n this.mt._defaultDcs = data.primaryDcs\n await this.mt.storage.dcs.store(data.primaryDcs)\n\n if (data.self) {\n await this.storage.self.store(data.self)\n }\n\n await this.mt.storage.provider.authKeys.set(data.primaryDcs.main.id, data.authKey)\n\n await this.mt.storage.save()\n }\n\n /**\n * Export current session to a single *LONG* string, containing\n * all the needed information.\n *\n * > **Warning!** Anyone with this string will be able\n * > to authorize as you and do anything. Treat this\n * > as your password, and never give it away!\n * >\n * > In case you have accidentally leaked this string,\n * > make sure to revoke this session in account settings:\n * > \"Privacy & Security\" > \"Active sessions\" >\n * > find the one containing `mtcute` > Revoke,\n * > or, in case this is a bot, revoke bot token\n * > with [@BotFather](//t.me/botfather)\n */\n async exportSession(): Promise<string> {\n await this._prepare.run()\n\n const primaryDcs = (await this.mt.storage.dcs.fetch()) ?? this.mt._defaultDcs\n\n const authKey = await this.mt.storage.provider.authKeys.get(primaryDcs.main.id)\n if (!authKey) throw new Error('Auth key is not ready yet')\n\n return writeStringSession({\n version: 3,\n self: await this.storage.self.fetch(),\n testMode: Boolean(this.params.testMode),\n primaryDcs,\n authKey,\n })\n }\n\n /**\n * Register an error handler for the client\n *\n * @param handler Error handler.\n */\n onError(handler: (err: unknown) => void): void {\n this.mt.onError(handler)\n }\n\n emitError(err: unknown): void {\n this.mt.emitError(err)\n }\n\n handleClientUpdate(updates: tl.TypeUpdates, noDispatch?: boolean): void {\n this.updates?.handleClientUpdate(updates, noDispatch)\n }\n\n onServerUpdate(handler: (update: tl.TypeUpdates) => void): void {\n this._serverUpdatesHandler = handler\n }\n\n onUpdate(handler: RawUpdateHandler): void {\n if (!this.updates) {\n throw new MtArgumentError('Updates manager is disabled')\n }\n\n this.updates.setHandler(handler)\n }\n\n onConnectionState(handler: (state: ConnectionState) => void): void {\n this._connectionStateHandler = handler\n }\n\n async getApiCrenetials() {\n return {\n id: this.params.apiId,\n hash: this.params.apiHash,\n }\n }\n\n async getPoolSize(kind: ConnectionKind, dcId?: number): Promise<number> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n return this.mt.network.getPoolSize(kind, dcId)\n }\n\n async getPrimaryDcId(): Promise<number> {\n if (!this._connected) {\n await this._connect.run()\n }\n\n return this.mt.network.getPrimaryDcId()\n }\n\n computeSrpParams(request: tl.account.RawPassword, password: string): Promise<tl.RawInputCheckPasswordSRP> {\n return computeSrpParams(this.crypto, request, password)\n }\n computeNewPasswordHash(algo: tl.TypePasswordKdfAlgo, password: string): Promise<Uint8Array> {\n return computeNewPasswordHash(this.crypto, algo, password)\n }\n}\n"]}
@@ -3,6 +3,7 @@ import EventEmitter from 'events';
3
3
  import Long from 'long';
4
4
  import { tdFileId } from '@mtcute/file-id';
5
5
  import { tl } from '@mtcute/tl';
6
+ import { RpcCallOptions } from '../network/index.js';
6
7
  import { MaybeArray, MaybePromise, PartialExcept, PartialOnly } from '../types/index.js';
7
8
  import { BaseTelegramClientOptions } from './base.js';
8
9
  import { ITelegramClient } from './client.types.js';
@@ -36,15 +37,14 @@ import { ITelegramStorageProvider } from './storage/provider.js';
36
37
  import { AllStories, ArrayPaginated, ArrayWithTotal, Boost, BoostSlot, BoostStats, BotChatJoinRequestUpdate, BotCommands, BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, CallbackQuery, Chat, ChatEvent, ChatInviteLink, ChatInviteLinkMember, ChatJoinRequestUpdate, ChatMember, ChatMemberUpdate, ChatPreview, ChosenInlineResult, DeleteMessageUpdate, DeleteStoryUpdate, Dialog, FileDownloadLocation, FileDownloadParameters, ForumTopic, GameHighScore, HistoryReadUpdate, InlineCallbackQuery, InlineQuery, InputChatEventFilters, InputDialogFolder, InputFileLike, InputInlineResult, InputMediaLike, InputMessageId, InputPeerLike, InputPrivacyRule, InputReaction, InputStickerSet, InputStickerSetItem, InputText, MaybeDynamic, Message, MessageMedia, MessageReactions, ParametersSkip2, ParsedUpdate, PeerReaction, PeersIndex, PeerStories, Photo, Poll, PollUpdate, PollVoteUpdate, PreCheckoutQuery, RawDocument, ReplyMarkup, SentCode, Sticker, StickerSet, StickerSourceType, StickerType, StoriesStealthMode, Story, StoryInteractions, StoryUpdate, StoryViewer, StoryViewersList, TakeoutSession, TextWithEntities, TypingStatus, UploadedFile, UploadFileLike, User, UserStatusUpdate, UserTypingUpdate } from './types/index.js';
37
38
  import { ParsedUpdateHandlerParams } from './updates/parsed.js';
38
39
  import { StringSessionData } from './utils/string-session.js';
39
- type TelegramClientOptions = ((Omit<BaseTelegramClientOptions, 'storage'> & {
40
+ type TelegramClientOptions = ((PartialOnly<Omit<BaseTelegramClientOptions, 'storage'>, 'transport' | 'crypto'> & {
40
41
  /**
41
42
  * Storage to use for this client.
42
43
  *
43
- * If a string is passed, it will be used as:
44
- * - a path to a JSON file for Node.js
45
- * - IndexedDB database name for browsers
44
+ * If a string is passed, it will be used as
45
+ * a name for the default platform-specific storage provider to use.
46
46
  *
47
- * If omitted, {@link MemoryStorage} is used
47
+ * @default `"client.session"`
48
48
  */
49
49
  storage?: string | ITelegramStorageProvider;
50
50
  }) | {
@@ -229,6 +229,13 @@ export interface TelegramClient extends ITelegramClient {
229
229
  */
230
230
  on(name: 'bot_reaction_count', handler: (upd: BotReactionCountUpdate) => void): this;
231
231
  on(name: string, handler: (...args: any[]) => void): this;
232
+ /**
233
+ * Wrap this client so that all RPC calls will use the specified parameters.
234
+ *
235
+ * @param params Parameters to use
236
+ * @returns Wrapped client
237
+ */
238
+ withParams(params: RpcCallOptions): this;
232
239
  /**
233
240
  * Check your Two-Step verification password and log in
234
241
  *
@@ -1696,7 +1703,7 @@ export interface TelegramClient extends ITelegramClient {
1696
1703
  * **Available**: 👤 users only
1697
1704
  *
1698
1705
  */
1699
- getFolders(): Promise<tl.TypeDialogFilter[]>;
1706
+ getFolders(): Promise<tl.messages.RawDialogFilters>;
1700
1707
  /**
1701
1708
  * Get dialogs with certain peers.
1702
1709
  *
@@ -1827,7 +1834,7 @@ export interface TelegramClient extends ITelegramClient {
1827
1834
  */
1828
1835
  downloadAsBuffer(location: FileDownloadLocation, params?: FileDownloadParameters): Promise<Uint8Array>;
1829
1836
  /**
1830
- * Download a remote file to a local file (only for NodeJS).
1837
+ * Download a remote file to a local file (only for Node.js).
1831
1838
  * Promise will resolve once the download is complete.
1832
1839
  *
1833
1840
  * **Available**: ✅ both users and bots
@@ -1846,6 +1853,14 @@ export interface TelegramClient extends ITelegramClient {
1846
1853
  * @param params Download parameters
1847
1854
  */
1848
1855
  downloadAsIterable(input: FileDownloadLocation, params?: FileDownloadParameters): AsyncIterableIterator<Uint8Array>;
1856
+ /**
1857
+ * Download a remote file as a Node.js Readable stream.
1858
+ *
1859
+ * **Available**: ✅ both users and bots
1860
+ *
1861
+ * @param params File download parameters
1862
+ */
1863
+ downloadAsNodeStream(location: FileDownloadLocation, params?: FileDownloadParameters): import('stream').Readable;
1849
1864
  /**
1850
1865
  * Download a file and return it as a readable stream,
1851
1866
  * streaming file contents.
@@ -1891,9 +1906,6 @@ export interface TelegramClient extends ITelegramClient {
1891
1906
  uploadFile(params: {
1892
1907
  /**
1893
1908
  * Upload file source.
1894
- *
1895
- * > **Note**: `fs.ReadStream` is a subclass of `stream.Readable` and contains
1896
- * > info about file name, thus you don't need to pass them explicitly.
1897
1909
  */
1898
1910
  file: UploadFileLike;
1899
1911
  /**
@@ -4406,6 +4418,7 @@ export interface TelegramClient extends ITelegramClient {
4406
4418
  }): Promise<User>;
4407
4419
  }
4408
4420
  export type { TelegramClientOptions };
4421
+ export * from './base.js';
4409
4422
  export declare class TelegramClient extends EventEmitter implements ITelegramClient {
4410
4423
  _client: ITelegramClient;
4411
4424
  constructor(opts: TelegramClientOptions);
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
18
  };
@@ -8,7 +22,7 @@ exports.TelegramClient = void 0;
8
22
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
9
23
  /* THIS FILE WAS AUTO-GENERATED */
10
24
  const events_1 = __importDefault(require("events"));
11
- const index_js_1 = require("../storage/providers/memory/index.js");
25
+ const index_js_1 = require("../types/index.js");
12
26
  const base_js_1 = require("./base.js");
13
27
  const check_password_js_1 = require("./methods/auth/check-password.js");
14
28
  const get_password_hint_js_1 = require("./methods/auth/get-password-hint.js");
@@ -94,7 +108,6 @@ const get_peer_dialogs_js_1 = require("./methods/dialogs/get-peer-dialogs.js");
94
108
  const iter_dialogs_js_1 = require("./methods/dialogs/iter-dialogs.js");
95
109
  const set_folders_order_js_1 = require("./methods/dialogs/set-folders-order.js");
96
110
  const download_buffer_js_1 = require("./methods/files/download-buffer.js");
97
- const download_file_js_1 = require("./methods/files/download-file.js");
98
111
  const download_iterable_js_1 = require("./methods/files/download-iterable.js");
99
112
  const download_stream_js_1 = require("./methods/files/download-stream.js");
100
113
  const normalize_input_file_js_1 = require("./methods/files/normalize-input-file.js");
@@ -169,6 +182,7 @@ const unpin_all_messages_js_1 = require("./methods/messages/unpin-all-messages.j
169
182
  const unpin_message_js_1 = require("./methods/messages/unpin-message.js");
170
183
  const init_takeout_session_js_1 = require("./methods/misc/init-takeout-session.js");
171
184
  const normalize_privacy_rules_js_1 = require("./methods/misc/normalize-privacy-rules.js");
185
+ const with_params_js_1 = require("./methods/misc/with-params.js");
172
186
  const change_cloud_password_js_1 = require("./methods/password/change-cloud-password.js");
173
187
  const enable_cloud_password_js_1 = require("./methods/password/enable-cloud-password.js");
174
188
  const password_email_js_1 = require("./methods/password/password-email.js");
@@ -231,7 +245,7 @@ const unblock_user_js_1 = require("./methods/users/unblock-user.js");
231
245
  const update_profile_js_1 = require("./methods/users/update-profile.js");
232
246
  const conversation_js_1 = require("./types/conversation.js");
233
247
  const parsed_js_1 = require("./updates/parsed.js");
234
- const storage_js_1 = require("./utils/platform/storage.js");
248
+ __exportStar(require("./base.js"), exports);
235
249
  class TelegramClient extends events_1.default {
236
250
  constructor(opts) {
237
251
  super();
@@ -239,20 +253,10 @@ class TelegramClient extends events_1.default {
239
253
  this._client = opts.client;
240
254
  }
241
255
  else {
242
- let storage;
243
- if (typeof opts.storage === 'string') {
244
- storage = (0, storage_js_1._defaultStorageFactory)(opts.storage);
245
- }
246
- else if (!opts.storage) {
247
- storage = new index_js_1.MemoryStorage();
248
- }
249
- else {
250
- storage = opts.storage;
256
+ if (!opts.storage || typeof opts.storage === 'string' || !opts.transport || !opts.crypto) {
257
+ throw new index_js_1.MtUnsupportedError('You need to explicitly provide storage, transport and crypto for @mtcute/core');
251
258
  }
252
- this._client = new base_js_1.BaseTelegramClient({
253
- ...opts,
254
- storage,
255
- });
259
+ this._client = new base_js_1.BaseTelegramClient(opts);
256
260
  }
257
261
  // @ts-expect-error codegen
258
262
  this.log = this._client.log;
@@ -273,6 +277,9 @@ class TelegramClient extends events_1.default {
273
277
  },
274
278
  }));
275
279
  }
280
+ withParams(params) {
281
+ return (0, with_params_js_1.withParams)(this, params);
282
+ }
276
283
  }
277
284
  exports.TelegramClient = TelegramClient;
278
285
  TelegramClient.prototype.checkPassword = function (...args) {
@@ -542,9 +549,6 @@ TelegramClient.prototype.setFoldersOrder = function (...args) {
542
549
  TelegramClient.prototype.downloadAsBuffer = function (...args) {
543
550
  return (0, download_buffer_js_1.downloadAsBuffer)(this._client, ...args);
544
551
  };
545
- TelegramClient.prototype.downloadToFile = function (...args) {
546
- return (0, download_file_js_1.downloadToFile)(this._client, ...args);
547
- };
548
552
  TelegramClient.prototype.downloadAsIterable = function (...args) {
549
553
  return (0, download_iterable_js_1.downloadAsIterable)(this._client, ...args);
550
554
  };
@@ -1060,6 +1064,9 @@ TelegramClient.prototype.computeSrpParams = function (...args) {
1060
1064
  TelegramClient.prototype.computeNewPasswordHash = function (...args) {
1061
1065
  return this._client.computeNewPasswordHash(...args);
1062
1066
  };
1067
+ TelegramClient.prototype.onConnectionState = function (...args) {
1068
+ return this._client.onConnectionState(...args);
1069
+ };
1063
1070
  TelegramClient.prototype.onServerUpdate = function () {
1064
1071
  throw new Error('onServerUpdate is not available for TelegramClient, use .on() methods instead');
1065
1072
  };