@mtcute/core 0.7.3 → 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 (1122) 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/client.d.ts +4 -4
  170. package/cjs/network/client.js +3 -1
  171. package/cjs/network/client.js.map +1 -1
  172. package/cjs/network/multi-session-connection.d.ts +1 -0
  173. package/cjs/network/multi-session-connection.js +6 -0
  174. package/cjs/network/multi-session-connection.js.map +1 -1
  175. package/cjs/network/network-manager.d.ts +5 -1
  176. package/cjs/network/network-manager.js +24 -15
  177. package/cjs/network/network-manager.js.map +1 -1
  178. package/cjs/network/persistent-connection.d.ts +3 -0
  179. package/cjs/network/persistent-connection.js +23 -1
  180. package/cjs/network/persistent-connection.js.map +1 -1
  181. package/cjs/network/session-connection.d.ts +2 -0
  182. package/cjs/network/session-connection.js +18 -4
  183. package/cjs/network/session-connection.js.map +1 -1
  184. package/cjs/network/transports/index.d.ts +0 -3
  185. package/cjs/network/transports/index.js +0 -4
  186. package/cjs/network/transports/index.js.map +1 -1
  187. package/cjs/platform.d.ts +18 -0
  188. package/cjs/platform.js +36 -0
  189. package/cjs/platform.js.map +1 -0
  190. package/cjs/storage/index.d.ts +1 -2
  191. package/cjs/storage/index.js +1 -2
  192. package/cjs/storage/index.js.map +1 -1
  193. package/{esm/storage/providers → cjs/storage}/memory/driver.d.ts +1 -1
  194. package/cjs/storage/memory/driver.js.map +1 -0
  195. package/{esm/storage/providers → cjs/storage}/memory/index.d.ts +2 -2
  196. package/cjs/storage/memory/index.js.map +1 -0
  197. package/cjs/storage/{providers/memory → memory}/repository/auth-keys.d.ts +1 -1
  198. package/cjs/storage/memory/repository/auth-keys.js.map +1 -0
  199. package/{esm/storage/providers → cjs/storage}/memory/repository/kv.d.ts +1 -1
  200. package/cjs/storage/memory/repository/kv.js.map +1 -0
  201. package/{esm/storage/providers → cjs/storage}/memory/repository/peers.d.ts +1 -1
  202. package/cjs/storage/memory/repository/peers.js.map +1 -0
  203. package/{esm/storage/providers → cjs/storage}/memory/repository/ref-messages.d.ts +1 -1
  204. package/cjs/storage/memory/repository/ref-messages.js.map +1 -0
  205. package/cjs/storage/storage.js +2 -1
  206. package/cjs/storage/storage.js.map +1 -1
  207. package/cjs/utils/binary/asn1-parser.js +3 -3
  208. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  209. package/cjs/utils/crypto/abstract.d.ts +0 -1
  210. package/cjs/utils/crypto/abstract.js.map +1 -1
  211. package/cjs/utils/crypto/index.d.ts +0 -2
  212. package/cjs/utils/crypto/index.js +0 -3
  213. package/cjs/utils/crypto/index.js.map +1 -1
  214. package/cjs/utils/crypto/keys.js +5 -3
  215. package/cjs/utils/crypto/keys.js.map +1 -1
  216. package/cjs/utils/crypto/password.js +3 -3
  217. package/cjs/utils/crypto/password.js.map +1 -1
  218. package/cjs/utils/dcs.d.ts +4 -0
  219. package/cjs/utils/dcs.js +0 -4
  220. package/cjs/utils/dcs.js.map +1 -1
  221. package/cjs/utils/{platform/error-reporting.d.ts → error-reporting.d.ts} +1 -1
  222. package/cjs/utils/error-reporting.js.map +1 -0
  223. package/cjs/utils/index.d.ts +4 -1
  224. package/cjs/utils/index.js +6 -1
  225. package/cjs/utils/index.js.map +1 -1
  226. package/cjs/utils/links/common.js +1 -1
  227. package/cjs/utils/links/common.js.map +1 -1
  228. package/cjs/utils/logger.d.ts +1 -0
  229. package/cjs/utils/logger.js +9 -22
  230. package/cjs/utils/logger.js.map +1 -1
  231. package/esm/highlevel/base.d.ts +3 -1
  232. package/esm/highlevel/base.js +18 -0
  233. package/esm/highlevel/base.js.map +1 -1
  234. package/esm/highlevel/client.d.ts +23 -10
  235. package/esm/highlevel/client.js +12 -19
  236. package/esm/highlevel/client.js.map +1 -1
  237. package/esm/highlevel/client.types.d.ts +14 -0
  238. package/esm/highlevel/client.types.js.map +1 -1
  239. package/esm/highlevel/index.d.ts +0 -2
  240. package/esm/highlevel/index.js +0 -2
  241. package/esm/highlevel/index.js.map +1 -1
  242. package/esm/highlevel/methods/_imports.js.map +1 -1
  243. package/esm/highlevel/methods/_init.js +4 -29
  244. package/esm/highlevel/methods/_init.js.map +1 -1
  245. package/esm/highlevel/methods/bots/get-callback-answer.js +2 -2
  246. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  247. package/esm/highlevel/methods/dialogs/create-folder.js +1 -1
  248. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  249. package/esm/highlevel/methods/dialogs/edit-folder.js +1 -1
  250. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  251. package/esm/highlevel/methods/dialogs/find-folder.js +1 -1
  252. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  253. package/esm/highlevel/methods/dialogs/get-folders.d.ts +1 -1
  254. package/esm/highlevel/methods/dialogs/get-folders.js +1 -1
  255. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  256. package/esm/highlevel/methods/files/download-file.d.ts +1 -10
  257. package/esm/highlevel/methods/files/download-file.js +2 -30
  258. package/esm/highlevel/methods/files/download-file.js.map +1 -1
  259. package/esm/highlevel/methods/files/download-iterable.js +2 -1
  260. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  261. package/esm/highlevel/methods/files/download-node-stream.js +3 -0
  262. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -0
  263. package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -1
  264. package/esm/highlevel/methods/files/normalize-input-media.js +2 -1
  265. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  266. package/esm/highlevel/methods/files/upload-file.d.ts +0 -3
  267. package/esm/highlevel/methods/files/upload-file.js +17 -13
  268. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  269. package/esm/highlevel/methods/messages/find-in-update.js +23 -8
  270. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  271. package/esm/highlevel/methods/messages/send-media-group.d.ts +1 -1
  272. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  273. package/esm/highlevel/methods/messages/send-media.d.ts +2 -2
  274. package/esm/highlevel/methods/messages/send-media.js +4 -3
  275. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  276. package/esm/highlevel/methods/messages/send-text.d.ts +1 -1
  277. package/esm/highlevel/methods/messages/send-text.js +4 -3
  278. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  279. package/esm/highlevel/methods/misc/with-params.d.ts +10 -0
  280. package/esm/highlevel/methods/misc/with-params.js +28 -0
  281. package/esm/highlevel/methods/misc/with-params.js.map +1 -0
  282. package/esm/highlevel/methods.d.ts +13 -1
  283. package/esm/highlevel/methods.js +0 -1
  284. package/esm/highlevel/methods.js.map +1 -1
  285. package/esm/highlevel/types/auth/sent-code.js +4 -3
  286. package/esm/highlevel/types/bots/command-scope/index.d.ts +10 -0
  287. package/esm/highlevel/types/bots/command-scope/index.js +11 -0
  288. package/esm/highlevel/types/bots/command-scope/index.js.map +1 -0
  289. package/esm/highlevel/types/bots/command-scope/inner.d.ts +54 -0
  290. package/esm/highlevel/types/bots/command-scope/inner.js +69 -0
  291. package/esm/highlevel/types/bots/command-scope/inner.js.map +1 -0
  292. package/esm/highlevel/types/bots/game-high-score.js +5 -4
  293. package/esm/highlevel/types/bots/index.d.ts +4 -4
  294. package/esm/highlevel/types/bots/index.js +4 -4
  295. package/esm/highlevel/types/bots/index.js.map +1 -1
  296. package/esm/highlevel/types/bots/inline-message/factories.d.ts +43 -0
  297. package/esm/highlevel/types/bots/inline-message/factories.js +163 -0
  298. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -0
  299. package/esm/highlevel/types/bots/inline-message/index.d.ts +3 -0
  300. package/esm/highlevel/types/bots/inline-message/index.js +4 -0
  301. package/esm/highlevel/types/bots/inline-message/index.js.map +1 -0
  302. package/{cjs/highlevel/types/bots/input/input-inline-message.d.ts → esm/highlevel/types/bots/inline-message/types.d.ts} +2 -45
  303. package/esm/highlevel/types/bots/inline-message/types.js +2 -0
  304. package/esm/highlevel/types/bots/inline-message/types.js.map +1 -0
  305. package/esm/highlevel/types/bots/inline-result/factories.d.ts +94 -0
  306. package/esm/highlevel/types/bots/inline-result/factories.js +470 -0
  307. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -0
  308. package/esm/highlevel/types/bots/inline-result/index.d.ts +3 -0
  309. package/esm/highlevel/types/bots/inline-result/index.js +4 -0
  310. package/esm/highlevel/types/bots/inline-result/index.js.map +1 -0
  311. package/{cjs/highlevel/types/bots/input/input-inline-result.d.ts → esm/highlevel/types/bots/inline-result/types.d.ts} +1 -95
  312. package/esm/highlevel/types/bots/inline-result/types.js +2 -0
  313. package/esm/highlevel/types/bots/inline-result/types.js.map +1 -0
  314. package/esm/highlevel/types/bots/{keyboard-builder.d.ts → keyboards/builder.d.ts} +1 -1
  315. package/esm/highlevel/types/bots/{keyboard-builder.js → keyboards/builder.js} +1 -1
  316. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -0
  317. package/esm/highlevel/types/bots/keyboards/factories.d.ts +195 -0
  318. package/esm/highlevel/types/bots/keyboards/factories.js +341 -0
  319. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -0
  320. package/esm/highlevel/types/bots/keyboards/index.d.ts +14 -0
  321. package/esm/highlevel/types/bots/keyboards/index.js +15 -0
  322. package/esm/highlevel/types/bots/keyboards/index.js.map +1 -0
  323. package/esm/highlevel/types/bots/keyboards/types.d.ts +34 -0
  324. package/esm/highlevel/types/bots/keyboards/types.js +2 -0
  325. package/esm/highlevel/types/bots/keyboards/types.js.map +1 -0
  326. package/esm/highlevel/types/files/file-location.js +4 -3
  327. package/esm/highlevel/types/files/web-document.js +4 -3
  328. package/esm/highlevel/types/media/audio.js +5 -4
  329. package/esm/highlevel/types/media/contact.js +4 -3
  330. package/esm/highlevel/types/media/dice.js +4 -3
  331. package/esm/highlevel/types/media/document.js +8 -6
  332. package/esm/highlevel/types/media/document.js.map +1 -1
  333. package/esm/highlevel/types/media/game.js +5 -4
  334. package/esm/highlevel/types/media/index.d.ts +1 -1
  335. package/esm/highlevel/types/media/index.js +1 -1
  336. package/esm/highlevel/types/media/index.js.map +1 -1
  337. package/esm/highlevel/types/media/input-media/factories.d.ts +141 -0
  338. package/esm/highlevel/types/media/input-media/factories.js +228 -0
  339. package/esm/highlevel/types/media/input-media/factories.js.map +1 -0
  340. package/esm/highlevel/types/media/input-media/index.d.ts +3 -0
  341. package/esm/highlevel/types/media/input-media/index.js +4 -0
  342. package/esm/highlevel/types/media/input-media/index.js.map +1 -0
  343. package/esm/highlevel/types/media/{input-media.d.ts → input-media/types.d.ts} +5 -145
  344. package/esm/highlevel/types/media/input-media/types.js +2 -0
  345. package/esm/highlevel/types/media/input-media/types.js.map +1 -0
  346. package/esm/highlevel/types/media/invoice.js +9 -7
  347. package/esm/highlevel/types/media/location.js +7 -5
  348. package/esm/highlevel/types/media/photo.js +5 -4
  349. package/esm/highlevel/types/media/poll.js +5 -4
  350. package/esm/highlevel/types/media/sticker.js +5 -4
  351. package/esm/highlevel/types/media/story.js +4 -3
  352. package/esm/highlevel/types/media/thumbnail.js +10 -8
  353. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  354. package/esm/highlevel/types/media/venue.js +5 -4
  355. package/esm/highlevel/types/media/video.js +5 -4
  356. package/esm/highlevel/types/media/voice.js +5 -4
  357. package/esm/highlevel/types/media/web-page.js +5 -4
  358. package/esm/highlevel/types/messages/dialog.js +5 -4
  359. package/esm/highlevel/types/messages/draft-message.js +5 -4
  360. package/esm/highlevel/types/messages/message-entity.js +5 -4
  361. package/esm/highlevel/types/messages/message-forward.js +5 -4
  362. package/esm/highlevel/types/messages/message-reactions.js +5 -4
  363. package/esm/highlevel/types/messages/message-replies.js +5 -4
  364. package/esm/highlevel/types/messages/message.d.ts +1 -1
  365. package/esm/highlevel/types/messages/message.js +6 -5
  366. package/esm/highlevel/types/messages/message.js.map +1 -1
  367. package/esm/highlevel/types/messages/replied-message.js +5 -4
  368. package/esm/highlevel/types/misc/index.d.ts +1 -1
  369. package/esm/highlevel/types/misc/index.js +1 -1
  370. package/esm/highlevel/types/misc/index.js.map +1 -1
  371. package/esm/highlevel/types/misc/input-privacy-rule/allow.d.ts +22 -0
  372. package/esm/highlevel/types/misc/input-privacy-rule/allow.js +31 -0
  373. package/esm/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -0
  374. package/esm/highlevel/types/misc/input-privacy-rule/bundle.d.ts +3 -0
  375. package/esm/highlevel/types/misc/input-privacy-rule/bundle.js +4 -0
  376. package/esm/highlevel/types/misc/input-privacy-rule/bundle.js.map +1 -0
  377. package/esm/highlevel/types/misc/input-privacy-rule/disallow.d.ts +20 -0
  378. package/esm/highlevel/types/misc/input-privacy-rule/disallow.js +27 -0
  379. package/esm/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -0
  380. package/esm/highlevel/types/misc/input-privacy-rule/index.d.ts +3 -0
  381. package/esm/highlevel/types/misc/input-privacy-rule/index.js +4 -0
  382. package/esm/highlevel/types/misc/input-privacy-rule/index.js.map +1 -0
  383. package/esm/highlevel/types/misc/input-privacy-rule/types.d.ts +11 -0
  384. package/esm/highlevel/types/misc/input-privacy-rule/types.js +2 -0
  385. package/esm/highlevel/types/misc/input-privacy-rule/types.js.map +1 -0
  386. package/esm/highlevel/types/misc/sticker-set.js +5 -4
  387. package/esm/highlevel/types/misc/takeout-session.js +4 -3
  388. package/esm/highlevel/types/peers/chat-colors.js +4 -3
  389. package/esm/highlevel/types/peers/chat-event/index.js +5 -4
  390. package/esm/highlevel/types/peers/chat-invite-link-member.js +5 -4
  391. package/esm/highlevel/types/peers/chat-invite-link.js +5 -4
  392. package/esm/highlevel/types/peers/chat-location.js +5 -4
  393. package/esm/highlevel/types/peers/chat-member.js +5 -4
  394. package/esm/highlevel/types/peers/chat-permissions.js +4 -3
  395. package/esm/highlevel/types/peers/chat-photo.js +12 -9
  396. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  397. package/esm/highlevel/types/peers/chat-preview.js +5 -4
  398. package/esm/highlevel/types/peers/chat.js +5 -4
  399. package/esm/highlevel/types/peers/forum-topic.js +5 -4
  400. package/esm/highlevel/types/peers/user.js +5 -4
  401. package/esm/highlevel/types/premium/boost-slot.js +5 -4
  402. package/esm/highlevel/types/premium/boost-stats.js +4 -3
  403. package/esm/highlevel/types/premium/boost.js +5 -4
  404. package/esm/highlevel/types/reactions/emoji-status.js +4 -3
  405. package/esm/highlevel/types/reactions/peer-reaction.js +5 -4
  406. package/esm/highlevel/types/reactions/reaction-count.js +4 -3
  407. package/esm/highlevel/types/stories/all-stories.js +5 -4
  408. package/esm/highlevel/types/stories/interactive/channel-post.js +5 -4
  409. package/esm/highlevel/types/stories/interactive/location.js +5 -4
  410. package/esm/highlevel/types/stories/interactive/reaction.js +4 -3
  411. package/esm/highlevel/types/stories/interactive/venue.js +5 -4
  412. package/esm/highlevel/types/stories/peer-stories.js +5 -4
  413. package/esm/highlevel/types/stories/stealth-mode.js +4 -3
  414. package/esm/highlevel/types/stories/story-interactions.js +5 -4
  415. package/esm/highlevel/types/stories/story-viewer.js +9 -7
  416. package/esm/highlevel/types/stories/story.js +5 -4
  417. package/esm/highlevel/types/updates/bot-chat-join-request.js +5 -4
  418. package/esm/highlevel/types/updates/bot-reaction.js +9 -7
  419. package/esm/highlevel/types/updates/bot-stopped.js +5 -4
  420. package/esm/highlevel/types/updates/callback-query.js +11 -9
  421. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  422. package/esm/highlevel/types/updates/chat-join-request.js +5 -4
  423. package/esm/highlevel/types/updates/chat-member-update.js +5 -4
  424. package/esm/highlevel/types/updates/chosen-inline-result.js +5 -4
  425. package/esm/highlevel/types/updates/delete-message-update.js +4 -3
  426. package/esm/highlevel/types/updates/delete-story-update.js +5 -4
  427. package/esm/highlevel/types/updates/history-read-update.js +4 -3
  428. package/esm/highlevel/types/updates/inline-query.js +5 -4
  429. package/esm/highlevel/types/updates/poll-update.js +5 -4
  430. package/esm/highlevel/types/updates/poll-vote.js +5 -4
  431. package/esm/highlevel/types/updates/pre-checkout-query.js +5 -4
  432. package/esm/highlevel/types/updates/story-update.js +5 -4
  433. package/esm/highlevel/types/updates/user-status-update.js +5 -4
  434. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  435. package/esm/highlevel/types/updates/user-typing-update.js +4 -3
  436. package/esm/highlevel/updates/manager.d.ts +5 -3
  437. package/esm/highlevel/updates/manager.js +81 -67
  438. package/esm/highlevel/updates/manager.js.map +1 -1
  439. package/esm/highlevel/utils/convert-file-id.js +7 -6
  440. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  441. package/esm/highlevel/utils/file-utils.js +8 -4
  442. package/esm/highlevel/utils/file-utils.js.map +1 -1
  443. package/esm/highlevel/utils/inline-utils.js +4 -3
  444. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  445. package/esm/highlevel/utils/inspectable.d.ts +1 -1
  446. package/esm/highlevel/utils/inspectable.js +3 -2
  447. package/esm/highlevel/utils/inspectable.js.map +1 -1
  448. package/esm/highlevel/utils/memoize.d.ts +1 -1
  449. package/esm/highlevel/utils/memoize.js +1 -0
  450. package/esm/highlevel/utils/memoize.js.map +1 -1
  451. package/esm/highlevel/utils/stream-utils.d.ts +0 -2
  452. package/esm/highlevel/utils/stream-utils.js +0 -26
  453. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  454. package/esm/highlevel/utils/string-session.js +4 -3
  455. package/esm/highlevel/utils/string-session.js.map +1 -1
  456. package/esm/highlevel/worker/index.d.ts +3 -0
  457. package/esm/highlevel/worker/index.js +4 -0
  458. package/esm/highlevel/worker/index.js.map +1 -0
  459. package/esm/highlevel/worker/port.d.ts +6 -3
  460. package/esm/highlevel/worker/port.js +8 -2
  461. package/esm/highlevel/worker/port.js.map +1 -1
  462. package/esm/highlevel/worker/protocol.d.ts +5 -1
  463. package/esm/highlevel/worker/protocol.js.map +1 -1
  464. package/esm/highlevel/worker/worker.d.ts +11 -4
  465. package/esm/highlevel/worker/worker.js +51 -47
  466. package/esm/highlevel/worker/worker.js.map +1 -1
  467. package/esm/network/client.d.ts +4 -4
  468. package/esm/network/client.js +4 -2
  469. package/esm/network/client.js.map +1 -1
  470. package/esm/network/multi-session-connection.d.ts +1 -0
  471. package/esm/network/multi-session-connection.js +6 -0
  472. package/esm/network/multi-session-connection.js.map +1 -1
  473. package/esm/network/network-manager.d.ts +5 -1
  474. package/esm/network/network-manager.js +24 -15
  475. package/esm/network/network-manager.js.map +1 -1
  476. package/esm/network/persistent-connection.d.ts +3 -0
  477. package/esm/network/persistent-connection.js +23 -1
  478. package/esm/network/persistent-connection.js.map +1 -1
  479. package/esm/network/session-connection.d.ts +2 -0
  480. package/esm/network/session-connection.js +18 -4
  481. package/esm/network/session-connection.js.map +1 -1
  482. package/esm/network/transports/index.d.ts +0 -3
  483. package/esm/network/transports/index.js +0 -3
  484. package/esm/network/transports/index.js.map +1 -1
  485. package/esm/platform.d.ts +18 -0
  486. package/esm/platform.js +31 -0
  487. package/esm/platform.js.map +1 -0
  488. package/esm/storage/index.d.ts +1 -2
  489. package/esm/storage/index.js +1 -2
  490. package/esm/storage/index.js.map +1 -1
  491. package/{cjs/storage/providers → esm/storage}/memory/driver.d.ts +1 -1
  492. package/esm/storage/memory/driver.js.map +1 -0
  493. package/{cjs/storage/providers → esm/storage}/memory/index.d.ts +2 -2
  494. package/esm/storage/memory/index.js.map +1 -0
  495. package/esm/storage/{providers/memory → memory}/repository/auth-keys.d.ts +1 -1
  496. package/esm/storage/memory/repository/auth-keys.js.map +1 -0
  497. package/{cjs/storage/providers → esm/storage}/memory/repository/kv.d.ts +1 -1
  498. package/esm/storage/memory/repository/kv.js.map +1 -0
  499. package/{cjs/storage/providers → esm/storage}/memory/repository/peers.d.ts +1 -1
  500. package/esm/storage/memory/repository/peers.js.map +1 -0
  501. package/{cjs/storage/providers → esm/storage}/memory/repository/ref-messages.d.ts +1 -1
  502. package/esm/storage/memory/repository/ref-messages.js.map +1 -0
  503. package/esm/storage/storage.js +3 -2
  504. package/esm/storage/storage.js.map +1 -1
  505. package/esm/utils/binary/asn1-parser.js +3 -3
  506. package/esm/utils/binary/asn1-parser.js.map +1 -1
  507. package/esm/utils/crypto/abstract.d.ts +0 -1
  508. package/esm/utils/crypto/abstract.js.map +1 -1
  509. package/esm/utils/crypto/index.d.ts +0 -2
  510. package/esm/utils/crypto/index.js +0 -2
  511. package/esm/utils/crypto/index.js.map +1 -1
  512. package/esm/utils/crypto/keys.js +6 -4
  513. package/esm/utils/crypto/keys.js.map +1 -1
  514. package/esm/utils/crypto/password.js +3 -3
  515. package/esm/utils/crypto/password.js.map +1 -1
  516. package/esm/utils/dcs.d.ts +4 -0
  517. package/esm/utils/dcs.js +0 -4
  518. package/esm/utils/dcs.js.map +1 -1
  519. package/esm/utils/{platform/error-reporting.d.ts → error-reporting.d.ts} +1 -1
  520. package/esm/utils/error-reporting.js.map +1 -0
  521. package/esm/utils/index.d.ts +4 -1
  522. package/esm/utils/index.js +6 -1
  523. package/esm/utils/index.js.map +1 -1
  524. package/esm/utils/links/common.js +1 -1
  525. package/esm/utils/links/common.js.map +1 -1
  526. package/esm/utils/logger.d.ts +1 -0
  527. package/esm/utils/logger.js +9 -22
  528. package/esm/utils/logger.js.map +1 -1
  529. package/package.json +24 -52
  530. package/cjs/highlevel/base.test.js +0 -14
  531. package/cjs/highlevel/base.test.js.map +0 -1
  532. package/cjs/highlevel/methods/files/_platform.js +0 -33
  533. package/cjs/highlevel/methods/files/_platform.js.map +0 -1
  534. package/cjs/highlevel/methods/files/_platform.web.d.ts +0 -1
  535. package/cjs/highlevel/methods/files/_platform.web.js +0 -26
  536. package/cjs/highlevel/methods/files/_platform.web.js.map +0 -1
  537. package/cjs/highlevel/methods/files/download-file.web.d.ts +0 -1
  538. package/cjs/highlevel/methods/files/download-file.web.js +0 -9
  539. package/cjs/highlevel/methods/files/download-file.web.js.map +0 -1
  540. package/cjs/highlevel/methods/messages/send-text.test.d.ts +0 -1
  541. package/cjs/highlevel/methods/messages/send-text.test.js +0 -140
  542. package/cjs/highlevel/methods/messages/send-text.test.js.map +0 -1
  543. package/cjs/highlevel/methods/users/get-users.test.d.ts +0 -1
  544. package/cjs/highlevel/methods/users/get-users.test.js +0 -33
  545. package/cjs/highlevel/methods/users/get-users.test.js.map +0 -1
  546. package/cjs/highlevel/methods/users/resolve-peer.test.d.ts +0 -1
  547. package/cjs/highlevel/methods/users/resolve-peer.test.js +0 -307
  548. package/cjs/highlevel/methods/users/resolve-peer.test.js.map +0 -1
  549. package/cjs/highlevel/types/bots/command-scope.d.ts +0 -63
  550. package/cjs/highlevel/types/bots/command-scope.js +0 -87
  551. package/cjs/highlevel/types/bots/command-scope.js.map +0 -1
  552. package/cjs/highlevel/types/bots/input/index.d.ts +0 -2
  553. package/cjs/highlevel/types/bots/input/index.js.map +0 -1
  554. package/cjs/highlevel/types/bots/input/input-inline-message.js +0 -179
  555. package/cjs/highlevel/types/bots/input/input-inline-message.js.map +0 -1
  556. package/cjs/highlevel/types/bots/input/input-inline-result.js +0 -490
  557. package/cjs/highlevel/types/bots/input/input-inline-result.js.map +0 -1
  558. package/cjs/highlevel/types/bots/keyboard-builder.js.map +0 -1
  559. package/cjs/highlevel/types/bots/keyboard-builder.test.d.ts +0 -1
  560. package/cjs/highlevel/types/bots/keyboard-builder.test.js +0 -162
  561. package/cjs/highlevel/types/bots/keyboard-builder.test.js.map +0 -1
  562. package/cjs/highlevel/types/bots/keyboards.d.ts +0 -239
  563. package/cjs/highlevel/types/bots/keyboards.js +0 -380
  564. package/cjs/highlevel/types/bots/keyboards.js.map +0 -1
  565. package/cjs/highlevel/types/bots/keyboards.test.d.ts +0 -1
  566. package/cjs/highlevel/types/bots/keyboards.test.js +0 -146
  567. package/cjs/highlevel/types/bots/keyboards.test.js.map +0 -1
  568. package/cjs/highlevel/types/media/input-media.js +0 -254
  569. package/cjs/highlevel/types/media/input-media.js.map +0 -1
  570. package/cjs/highlevel/types/misc/input-privacy-rule.d.ts +0 -63
  571. package/cjs/highlevel/types/misc/input-privacy-rule.js +0 -85
  572. package/cjs/highlevel/types/misc/input-privacy-rule.js.map +0 -1
  573. package/cjs/highlevel/types/peers/peers-index.test.d.ts +0 -1
  574. package/cjs/highlevel/types/peers/peers-index.test.js +0 -71
  575. package/cjs/highlevel/types/peers/peers-index.test.js.map +0 -1
  576. package/cjs/highlevel/types/peers/user.test.d.ts +0 -1
  577. package/cjs/highlevel/types/peers/user.test.js +0 -176
  578. package/cjs/highlevel/types/peers/user.test.js.map +0 -1
  579. package/cjs/highlevel/utils/file-type.test.d.ts +0 -1
  580. package/cjs/highlevel/utils/file-type.test.js +0 -64
  581. package/cjs/highlevel/utils/file-type.test.js.map +0 -1
  582. package/cjs/highlevel/utils/file-utils.test.d.ts +0 -1
  583. package/cjs/highlevel/utils/file-utils.test.js +0 -126
  584. package/cjs/highlevel/utils/file-utils.test.js.map +0 -1
  585. package/cjs/highlevel/utils/inline-utils.test.d.ts +0 -1
  586. package/cjs/highlevel/utils/inline-utils.test.js +0 -47
  587. package/cjs/highlevel/utils/inline-utils.test.js.map +0 -1
  588. package/cjs/highlevel/utils/inspectable.test.d.ts +0 -1
  589. package/cjs/highlevel/utils/inspectable.test.js +0 -97
  590. package/cjs/highlevel/utils/inspectable.test.js.map +0 -1
  591. package/cjs/highlevel/utils/memoize.test.d.ts +0 -1
  592. package/cjs/highlevel/utils/memoize.test.js +0 -60
  593. package/cjs/highlevel/utils/memoize.test.js.map +0 -1
  594. package/cjs/highlevel/utils/peer-utils.test.d.ts +0 -1
  595. package/cjs/highlevel/utils/peer-utils.test.js +0 -109
  596. package/cjs/highlevel/utils/peer-utils.test.js.map +0 -1
  597. package/cjs/highlevel/utils/platform/storage.d.ts +0 -1
  598. package/cjs/highlevel/utils/platform/storage.js +0 -10
  599. package/cjs/highlevel/utils/platform/storage.js.map +0 -1
  600. package/cjs/highlevel/utils/platform/storage.web.d.ts +0 -1
  601. package/cjs/highlevel/utils/platform/storage.web.js +0 -14
  602. package/cjs/highlevel/utils/platform/storage.web.js.map +0 -1
  603. package/cjs/highlevel/utils/query-batcher.test.d.ts +0 -1
  604. package/cjs/highlevel/utils/query-batcher.test.js +0 -502
  605. package/cjs/highlevel/utils/query-batcher.test.js.map +0 -1
  606. package/cjs/highlevel/utils/stream-utils.test.d.ts +0 -1
  607. package/cjs/highlevel/utils/stream-utils.test.js +0 -98
  608. package/cjs/highlevel/utils/stream-utils.test.js.map +0 -1
  609. package/cjs/highlevel/utils/string-session.test.d.ts +0 -1
  610. package/cjs/highlevel/utils/string-session.test.js +0 -198
  611. package/cjs/highlevel/utils/string-session.test.js.map +0 -1
  612. package/cjs/highlevel/utils/voice-utils.test.d.ts +0 -1
  613. package/cjs/highlevel/utils/voice-utils.test.js +0 -28
  614. package/cjs/highlevel/utils/voice-utils.test.js.map +0 -1
  615. package/cjs/highlevel/worker/platform/connect.d.ts +0 -2
  616. package/cjs/highlevel/worker/platform/connect.js +0 -19
  617. package/cjs/highlevel/worker/platform/connect.js.map +0 -1
  618. package/cjs/highlevel/worker/platform/connect.web.d.ts +0 -2
  619. package/cjs/highlevel/worker/platform/connect.web.js +0 -51
  620. package/cjs/highlevel/worker/platform/connect.web.js.map +0 -1
  621. package/cjs/highlevel/worker/platform/register.d.ts +0 -2
  622. package/cjs/highlevel/worker/platform/register.js +0 -20
  623. package/cjs/highlevel/worker/platform/register.js.map +0 -1
  624. package/cjs/highlevel/worker/platform/register.web.d.ts +0 -2
  625. package/cjs/highlevel/worker/platform/register.web.js +0 -64
  626. package/cjs/highlevel/worker/platform/register.web.js.map +0 -1
  627. package/cjs/network/auth-key.test.d.ts +0 -1
  628. package/cjs/network/auth-key.test.js +0 -111
  629. package/cjs/network/auth-key.test.js.map +0 -1
  630. package/cjs/network/config-manager.test.d.ts +0 -1
  631. package/cjs/network/config-manager.test.js +0 -174
  632. package/cjs/network/config-manager.test.js.map +0 -1
  633. package/cjs/network/persistent-connection.test.d.ts +0 -1
  634. package/cjs/network/persistent-connection.test.js +0 -157
  635. package/cjs/network/persistent-connection.test.js.map +0 -1
  636. package/cjs/network/transports/intermediate.test.d.ts +0 -1
  637. package/cjs/network/transports/intermediate.test.js +0 -84
  638. package/cjs/network/transports/intermediate.test.js.map +0 -1
  639. package/cjs/network/transports/obfuscated.test.d.ts +0 -1
  640. package/cjs/network/transports/obfuscated.test.js +0 -131
  641. package/cjs/network/transports/obfuscated.test.js.map +0 -1
  642. package/cjs/network/transports/tcp.d.ts +0 -32
  643. package/cjs/network/transports/tcp.js +0 -130
  644. package/cjs/network/transports/tcp.js.map +0 -1
  645. package/cjs/network/transports/tcp.test.d.ts +0 -1
  646. package/cjs/network/transports/tcp.test.js +0 -103
  647. package/cjs/network/transports/tcp.test.js.map +0 -1
  648. package/cjs/network/transports/websocket.d.ts +0 -46
  649. package/cjs/network/transports/websocket.js +0 -124
  650. package/cjs/network/transports/websocket.js.map +0 -1
  651. package/cjs/network/transports/websocket.test.d.ts +0 -1
  652. package/cjs/network/transports/websocket.test.js +0 -91
  653. package/cjs/network/transports/websocket.test.js.map +0 -1
  654. package/cjs/storage/providers/idb/driver.d.ts +0 -18
  655. package/cjs/storage/providers/idb/driver.js +0 -138
  656. package/cjs/storage/providers/idb/driver.js.map +0 -1
  657. package/cjs/storage/providers/idb/idb.test.d.ts +0 -1
  658. package/cjs/storage/providers/idb/idb.test.js +0 -29
  659. package/cjs/storage/providers/idb/idb.test.js.map +0 -1
  660. package/cjs/storage/providers/idb/index.d.ts +0 -22
  661. package/cjs/storage/providers/idb/index.js +0 -28
  662. package/cjs/storage/providers/idb/index.js.map +0 -1
  663. package/cjs/storage/providers/idb/repository/auth-keys.d.ts +0 -14
  664. package/cjs/storage/providers/idb/repository/auth-keys.js +0 -70
  665. package/cjs/storage/providers/idb/repository/auth-keys.js.map +0 -1
  666. package/cjs/storage/providers/idb/repository/kv.d.ts +0 -11
  667. package/cjs/storage/providers/idb/repository/kv.js +0 -34
  668. package/cjs/storage/providers/idb/repository/kv.js.map +0 -1
  669. package/cjs/storage/providers/idb/repository/peers.d.ts +0 -12
  670. package/cjs/storage/providers/idb/repository/peers.js +0 -38
  671. package/cjs/storage/providers/idb/repository/peers.js.map +0 -1
  672. package/cjs/storage/providers/idb/repository/ref-messages.d.ts +0 -12
  673. package/cjs/storage/providers/idb/repository/ref-messages.js +0 -57
  674. package/cjs/storage/providers/idb/repository/ref-messages.js.map +0 -1
  675. package/cjs/storage/providers/idb/utils.d.ts +0 -3
  676. package/cjs/storage/providers/idb/utils.js +0 -27
  677. package/cjs/storage/providers/idb/utils.js.map +0 -1
  678. package/cjs/storage/providers/memory/driver.js.map +0 -1
  679. package/cjs/storage/providers/memory/index.js.map +0 -1
  680. package/cjs/storage/providers/memory/memory.test.d.ts +0 -1
  681. package/cjs/storage/providers/memory/memory.test.js +0 -13
  682. package/cjs/storage/providers/memory/memory.test.js.map +0 -1
  683. package/cjs/storage/providers/memory/repository/auth-keys.js.map +0 -1
  684. package/cjs/storage/providers/memory/repository/kv.js.map +0 -1
  685. package/cjs/storage/providers/memory/repository/peers.js.map +0 -1
  686. package/cjs/storage/providers/memory/repository/ref-messages.js.map +0 -1
  687. package/cjs/storage/service/auth-keys.test.d.ts +0 -1
  688. package/cjs/storage/service/auth-keys.test.js +0 -22
  689. package/cjs/storage/service/auth-keys.test.js.map +0 -1
  690. package/cjs/storage/service/updates.test.d.ts +0 -1
  691. package/cjs/storage/service/updates.test.js +0 -60
  692. package/cjs/storage/service/updates.test.js.map +0 -1
  693. package/cjs/storage/service/utils.test-utils.d.ts +0 -2
  694. package/cjs/storage/service/utils.test-utils.js +0 -19
  695. package/cjs/storage/service/utils.test-utils.js.map +0 -1
  696. package/cjs/utils/async-lock.test.d.ts +0 -1
  697. package/cjs/utils/async-lock.test.js +0 -25
  698. package/cjs/utils/async-lock.test.js.map +0 -1
  699. package/cjs/utils/bigint-utils.test.d.ts +0 -1
  700. package/cjs/utils/bigint-utils.test.js +0 -150
  701. package/cjs/utils/bigint-utils.test.js.map +0 -1
  702. package/cjs/utils/buffer-utils.test.d.ts +0 -1
  703. package/cjs/utils/buffer-utils.test.js +0 -69
  704. package/cjs/utils/buffer-utils.test.js.map +0 -1
  705. package/cjs/utils/condition-variable.test.d.ts +0 -1
  706. package/cjs/utils/condition-variable.test.js +0 -27
  707. package/cjs/utils/condition-variable.test.js.map +0 -1
  708. package/cjs/utils/controllable-promise.test.d.ts +0 -1
  709. package/cjs/utils/controllable-promise.test.js +0 -17
  710. package/cjs/utils/controllable-promise.test.js.map +0 -1
  711. package/cjs/utils/crypto/factorization.test.d.ts +0 -1
  712. package/cjs/utils/crypto/factorization.test.js +0 -19
  713. package/cjs/utils/crypto/factorization.test.js.map +0 -1
  714. package/cjs/utils/crypto/keys.test.d.ts +0 -1
  715. package/cjs/utils/crypto/keys.test.js +0 -40
  716. package/cjs/utils/crypto/keys.test.js.map +0 -1
  717. package/cjs/utils/crypto/miller-rabin.test.d.ts +0 -1
  718. package/cjs/utils/crypto/miller-rabin.test.js +0 -60
  719. package/cjs/utils/crypto/miller-rabin.test.js.map +0 -1
  720. package/cjs/utils/crypto/mtproto.test.d.ts +0 -1
  721. package/cjs/utils/crypto/mtproto.test.js +0 -50
  722. package/cjs/utils/crypto/mtproto.test.js.map +0 -1
  723. package/cjs/utils/crypto/node.d.ts +0 -21
  724. package/cjs/utils/crypto/node.js +0 -74
  725. package/cjs/utils/crypto/node.js.map +0 -1
  726. package/cjs/utils/crypto/node.test.d.ts +0 -1
  727. package/cjs/utils/crypto/node.test.js +0 -14
  728. package/cjs/utils/crypto/node.test.js.map +0 -1
  729. package/cjs/utils/crypto/password.test.d.ts +0 -1
  730. package/cjs/utils/crypto/password.test.js +0 -95
  731. package/cjs/utils/crypto/password.test.js.map +0 -1
  732. package/cjs/utils/crypto/utils.test.d.ts +0 -1
  733. package/cjs/utils/crypto/utils.test.js +0 -49
  734. package/cjs/utils/crypto/utils.test.js.map +0 -1
  735. package/cjs/utils/crypto/wasm.d.ts +0 -22
  736. package/cjs/utils/crypto/wasm.js +0 -41
  737. package/cjs/utils/crypto/wasm.js.map +0 -1
  738. package/cjs/utils/crypto/web.d.ts +0 -11
  739. package/cjs/utils/crypto/web.js +0 -40
  740. package/cjs/utils/crypto/web.js.map +0 -1
  741. package/cjs/utils/crypto/web.test.d.ts +0 -1
  742. package/cjs/utils/crypto/web.test.js +0 -17
  743. package/cjs/utils/crypto/web.test.js.map +0 -1
  744. package/cjs/utils/deque.test.d.ts +0 -1
  745. package/cjs/utils/deque.test.js +0 -128
  746. package/cjs/utils/deque.test.js.map +0 -1
  747. package/cjs/utils/function-utils.test.d.ts +0 -1
  748. package/cjs/utils/function-utils.test.js +0 -23
  749. package/cjs/utils/function-utils.test.js.map +0 -1
  750. package/cjs/utils/linked-list.test.d.ts +0 -1
  751. package/cjs/utils/linked-list.test.js +0 -36
  752. package/cjs/utils/linked-list.test.js.map +0 -1
  753. package/cjs/utils/links/bots.test.d.ts +0 -1
  754. package/cjs/utils/links/bots.test.js +0 -152
  755. package/cjs/utils/links/bots.test.js.map +0 -1
  756. package/cjs/utils/links/chat.test.d.ts +0 -1
  757. package/cjs/utils/links/chat.test.js +0 -84
  758. package/cjs/utils/links/chat.test.js.map +0 -1
  759. package/cjs/utils/links/misc.test.d.ts +0 -1
  760. package/cjs/utils/links/misc.test.js +0 -153
  761. package/cjs/utils/links/misc.test.js.map +0 -1
  762. package/cjs/utils/links/proxy.test.d.ts +0 -1
  763. package/cjs/utils/links/proxy.test.js +0 -74
  764. package/cjs/utils/links/proxy.test.js.map +0 -1
  765. package/cjs/utils/links/user.test.d.ts +0 -1
  766. package/cjs/utils/links/user.test.js +0 -63
  767. package/cjs/utils/links/user.test.js.map +0 -1
  768. package/cjs/utils/logger.test.d.ts +0 -1
  769. package/cjs/utils/logger.test.js +0 -139
  770. package/cjs/utils/logger.test.js.map +0 -1
  771. package/cjs/utils/long-utils.test.d.ts +0 -1
  772. package/cjs/utils/long-utils.test.js +0 -158
  773. package/cjs/utils/long-utils.test.js.map +0 -1
  774. package/cjs/utils/lru-map.test.d.ts +0 -1
  775. package/cjs/utils/lru-map.test.js +0 -96
  776. package/cjs/utils/lru-map.test.js.map +0 -1
  777. package/cjs/utils/lru-set.test.d.ts +0 -1
  778. package/cjs/utils/lru-set.test.js +0 -77
  779. package/cjs/utils/lru-set.test.js.map +0 -1
  780. package/cjs/utils/peer-utils.test.d.ts +0 -1
  781. package/cjs/utils/peer-utils.test.js +0 -110
  782. package/cjs/utils/peer-utils.test.js.map +0 -1
  783. package/cjs/utils/platform/crypto.d.ts +0 -1
  784. package/cjs/utils/platform/crypto.js +0 -8
  785. package/cjs/utils/platform/crypto.js.map +0 -1
  786. package/cjs/utils/platform/crypto.web.d.ts +0 -1
  787. package/cjs/utils/platform/crypto.web.js +0 -14
  788. package/cjs/utils/platform/crypto.web.js.map +0 -1
  789. package/cjs/utils/platform/error-reporting.js.map +0 -1
  790. package/cjs/utils/platform/exit-hook.d.ts +0 -1
  791. package/cjs/utils/platform/exit-hook.js +0 -45
  792. package/cjs/utils/platform/exit-hook.js.map +0 -1
  793. package/cjs/utils/platform/exit-hook.web.d.ts +0 -1
  794. package/cjs/utils/platform/exit-hook.web.js +0 -21
  795. package/cjs/utils/platform/exit-hook.web.js.map +0 -1
  796. package/cjs/utils/platform/logging.d.ts +0 -1
  797. package/cjs/utils/platform/logging.js +0 -34
  798. package/cjs/utils/platform/logging.js.map +0 -1
  799. package/cjs/utils/platform/logging.web.d.ts +0 -1
  800. package/cjs/utils/platform/logging.web.js +0 -35
  801. package/cjs/utils/platform/logging.web.js.map +0 -1
  802. package/cjs/utils/platform/transport.d.ts +0 -1
  803. package/cjs/utils/platform/transport.js +0 -8
  804. package/cjs/utils/platform/transport.js.map +0 -1
  805. package/cjs/utils/platform/transport.web.d.ts +0 -1
  806. package/cjs/utils/platform/transport.web.js +0 -15
  807. package/cjs/utils/platform/transport.web.js.map +0 -1
  808. package/cjs/utils/sorted-array.test.d.ts +0 -1
  809. package/cjs/utils/sorted-array.test.js +0 -66
  810. package/cjs/utils/sorted-array.test.js.map +0 -1
  811. package/cjs/utils/tl-json.test.d.ts +0 -1
  812. package/cjs/utils/tl-json.test.js +0 -83
  813. package/cjs/utils/tl-json.test.js.map +0 -1
  814. package/cjs/utils/type-assertions.test.d.ts +0 -1
  815. package/cjs/utils/type-assertions.test.js +0 -67
  816. package/cjs/utils/type-assertions.test.js.map +0 -1
  817. package/esm/highlevel/base.test.d.ts +0 -1
  818. package/esm/highlevel/base.test.js +0 -12
  819. package/esm/highlevel/base.test.js.map +0 -1
  820. package/esm/highlevel/methods/files/_platform.d.ts +0 -1
  821. package/esm/highlevel/methods/files/_platform.js +0 -26
  822. package/esm/highlevel/methods/files/_platform.js.map +0 -1
  823. package/esm/highlevel/methods/files/_platform.web.d.ts +0 -1
  824. package/esm/highlevel/methods/files/_platform.web.js +0 -19
  825. package/esm/highlevel/methods/files/_platform.web.js.map +0 -1
  826. package/esm/highlevel/methods/files/download-file.web.d.ts +0 -1
  827. package/esm/highlevel/methods/files/download-file.web.js +0 -5
  828. package/esm/highlevel/methods/files/download-file.web.js.map +0 -1
  829. package/esm/highlevel/methods/messages/send-text.test.d.ts +0 -1
  830. package/esm/highlevel/methods/messages/send-text.test.js +0 -135
  831. package/esm/highlevel/methods/messages/send-text.test.js.map +0 -1
  832. package/esm/highlevel/methods/users/get-users.test.d.ts +0 -1
  833. package/esm/highlevel/methods/users/get-users.test.js +0 -28
  834. package/esm/highlevel/methods/users/get-users.test.js.map +0 -1
  835. package/esm/highlevel/methods/users/resolve-peer.test.d.ts +0 -1
  836. package/esm/highlevel/methods/users/resolve-peer.test.js +0 -302
  837. package/esm/highlevel/methods/users/resolve-peer.test.js.map +0 -1
  838. package/esm/highlevel/types/bots/command-scope.d.ts +0 -63
  839. package/esm/highlevel/types/bots/command-scope.js +0 -84
  840. package/esm/highlevel/types/bots/command-scope.js.map +0 -1
  841. package/esm/highlevel/types/bots/input/index.d.ts +0 -2
  842. package/esm/highlevel/types/bots/input/index.js +0 -3
  843. package/esm/highlevel/types/bots/input/index.js.map +0 -1
  844. package/esm/highlevel/types/bots/input/input-inline-message.js +0 -176
  845. package/esm/highlevel/types/bots/input/input-inline-message.js.map +0 -1
  846. package/esm/highlevel/types/bots/input/input-inline-result.js +0 -487
  847. package/esm/highlevel/types/bots/input/input-inline-result.js.map +0 -1
  848. package/esm/highlevel/types/bots/keyboard-builder.js.map +0 -1
  849. package/esm/highlevel/types/bots/keyboard-builder.test.d.ts +0 -1
  850. package/esm/highlevel/types/bots/keyboard-builder.test.js +0 -160
  851. package/esm/highlevel/types/bots/keyboard-builder.test.js.map +0 -1
  852. package/esm/highlevel/types/bots/keyboards.d.ts +0 -239
  853. package/esm/highlevel/types/bots/keyboards.js +0 -377
  854. package/esm/highlevel/types/bots/keyboards.js.map +0 -1
  855. package/esm/highlevel/types/bots/keyboards.test.d.ts +0 -1
  856. package/esm/highlevel/types/bots/keyboards.test.js +0 -144
  857. package/esm/highlevel/types/bots/keyboards.test.js.map +0 -1
  858. package/esm/highlevel/types/media/input-media.js +0 -251
  859. package/esm/highlevel/types/media/input-media.js.map +0 -1
  860. package/esm/highlevel/types/misc/input-privacy-rule.d.ts +0 -63
  861. package/esm/highlevel/types/misc/input-privacy-rule.js +0 -82
  862. package/esm/highlevel/types/misc/input-privacy-rule.js.map +0 -1
  863. package/esm/highlevel/types/peers/peers-index.test.d.ts +0 -1
  864. package/esm/highlevel/types/peers/peers-index.test.js +0 -69
  865. package/esm/highlevel/types/peers/peers-index.test.js.map +0 -1
  866. package/esm/highlevel/types/peers/user.test.d.ts +0 -1
  867. package/esm/highlevel/types/peers/user.test.js +0 -171
  868. package/esm/highlevel/types/peers/user.test.js.map +0 -1
  869. package/esm/highlevel/utils/file-type.test.d.ts +0 -1
  870. package/esm/highlevel/utils/file-type.test.js +0 -62
  871. package/esm/highlevel/utils/file-type.test.js.map +0 -1
  872. package/esm/highlevel/utils/file-utils.test.d.ts +0 -1
  873. package/esm/highlevel/utils/file-utils.test.js +0 -124
  874. package/esm/highlevel/utils/file-utils.test.js.map +0 -1
  875. package/esm/highlevel/utils/inline-utils.test.d.ts +0 -1
  876. package/esm/highlevel/utils/inline-utils.test.js +0 -42
  877. package/esm/highlevel/utils/inline-utils.test.js.map +0 -1
  878. package/esm/highlevel/utils/inspectable.test.d.ts +0 -1
  879. package/esm/highlevel/utils/inspectable.test.js +0 -95
  880. package/esm/highlevel/utils/inspectable.test.js.map +0 -1
  881. package/esm/highlevel/utils/memoize.test.d.ts +0 -1
  882. package/esm/highlevel/utils/memoize.test.js +0 -58
  883. package/esm/highlevel/utils/memoize.test.js.map +0 -1
  884. package/esm/highlevel/utils/peer-utils.test.d.ts +0 -1
  885. package/esm/highlevel/utils/peer-utils.test.js +0 -107
  886. package/esm/highlevel/utils/peer-utils.test.js.map +0 -1
  887. package/esm/highlevel/utils/platform/storage.d.ts +0 -1
  888. package/esm/highlevel/utils/platform/storage.js +0 -6
  889. package/esm/highlevel/utils/platform/storage.js.map +0 -1
  890. package/esm/highlevel/utils/platform/storage.web.d.ts +0 -1
  891. package/esm/highlevel/utils/platform/storage.web.js +0 -10
  892. package/esm/highlevel/utils/platform/storage.web.js.map +0 -1
  893. package/esm/highlevel/utils/query-batcher.test.d.ts +0 -1
  894. package/esm/highlevel/utils/query-batcher.test.js +0 -500
  895. package/esm/highlevel/utils/query-batcher.test.js.map +0 -1
  896. package/esm/highlevel/utils/stream-utils.test.d.ts +0 -1
  897. package/esm/highlevel/utils/stream-utils.test.js +0 -96
  898. package/esm/highlevel/utils/stream-utils.test.js.map +0 -1
  899. package/esm/highlevel/utils/string-session.test.d.ts +0 -1
  900. package/esm/highlevel/utils/string-session.test.js +0 -196
  901. package/esm/highlevel/utils/string-session.test.js.map +0 -1
  902. package/esm/highlevel/utils/voice-utils.test.d.ts +0 -1
  903. package/esm/highlevel/utils/voice-utils.test.js +0 -26
  904. package/esm/highlevel/utils/voice-utils.test.js.map +0 -1
  905. package/esm/highlevel/worker/platform/connect.d.ts +0 -2
  906. package/esm/highlevel/worker/platform/connect.js +0 -15
  907. package/esm/highlevel/worker/platform/connect.js.map +0 -1
  908. package/esm/highlevel/worker/platform/connect.web.d.ts +0 -2
  909. package/esm/highlevel/worker/platform/connect.web.js +0 -47
  910. package/esm/highlevel/worker/platform/connect.web.js.map +0 -1
  911. package/esm/highlevel/worker/platform/register.d.ts +0 -2
  912. package/esm/highlevel/worker/platform/register.js +0 -16
  913. package/esm/highlevel/worker/platform/register.js.map +0 -1
  914. package/esm/highlevel/worker/platform/register.web.d.ts +0 -2
  915. package/esm/highlevel/worker/platform/register.web.js +0 -60
  916. package/esm/highlevel/worker/platform/register.web.js.map +0 -1
  917. package/esm/network/auth-key.test.d.ts +0 -1
  918. package/esm/network/auth-key.test.js +0 -106
  919. package/esm/network/auth-key.test.js.map +0 -1
  920. package/esm/network/config-manager.test.d.ts +0 -1
  921. package/esm/network/config-manager.test.js +0 -172
  922. package/esm/network/config-manager.test.js.map +0 -1
  923. package/esm/network/persistent-connection.test.d.ts +0 -1
  924. package/esm/network/persistent-connection.test.js +0 -155
  925. package/esm/network/persistent-connection.test.js.map +0 -1
  926. package/esm/network/transports/intermediate.test.d.ts +0 -1
  927. package/esm/network/transports/intermediate.test.js +0 -82
  928. package/esm/network/transports/intermediate.test.js.map +0 -1
  929. package/esm/network/transports/obfuscated.test.d.ts +0 -1
  930. package/esm/network/transports/obfuscated.test.js +0 -129
  931. package/esm/network/transports/obfuscated.test.js.map +0 -1
  932. package/esm/network/transports/tcp.d.ts +0 -32
  933. package/esm/network/transports/tcp.js +0 -122
  934. package/esm/network/transports/tcp.js.map +0 -1
  935. package/esm/network/transports/tcp.test.d.ts +0 -1
  936. package/esm/network/transports/tcp.test.js +0 -101
  937. package/esm/network/transports/tcp.test.js.map +0 -1
  938. package/esm/network/transports/websocket.d.ts +0 -46
  939. package/esm/network/transports/websocket.js +0 -116
  940. package/esm/network/transports/websocket.js.map +0 -1
  941. package/esm/network/transports/websocket.test.d.ts +0 -1
  942. package/esm/network/transports/websocket.test.js +0 -89
  943. package/esm/network/transports/websocket.test.js.map +0 -1
  944. package/esm/storage/providers/idb/driver.d.ts +0 -18
  945. package/esm/storage/providers/idb/driver.js +0 -134
  946. package/esm/storage/providers/idb/driver.js.map +0 -1
  947. package/esm/storage/providers/idb/idb.test.d.ts +0 -1
  948. package/esm/storage/providers/idb/idb.test.js +0 -27
  949. package/esm/storage/providers/idb/idb.test.js.map +0 -1
  950. package/esm/storage/providers/idb/index.d.ts +0 -22
  951. package/esm/storage/providers/idb/index.js +0 -23
  952. package/esm/storage/providers/idb/index.js.map +0 -1
  953. package/esm/storage/providers/idb/repository/auth-keys.d.ts +0 -14
  954. package/esm/storage/providers/idb/repository/auth-keys.js +0 -66
  955. package/esm/storage/providers/idb/repository/auth-keys.js.map +0 -1
  956. package/esm/storage/providers/idb/repository/kv.d.ts +0 -11
  957. package/esm/storage/providers/idb/repository/kv.js +0 -30
  958. package/esm/storage/providers/idb/repository/kv.js.map +0 -1
  959. package/esm/storage/providers/idb/repository/peers.d.ts +0 -12
  960. package/esm/storage/providers/idb/repository/peers.js +0 -34
  961. package/esm/storage/providers/idb/repository/peers.js.map +0 -1
  962. package/esm/storage/providers/idb/repository/ref-messages.d.ts +0 -12
  963. package/esm/storage/providers/idb/repository/ref-messages.js +0 -53
  964. package/esm/storage/providers/idb/repository/ref-messages.js.map +0 -1
  965. package/esm/storage/providers/idb/utils.d.ts +0 -3
  966. package/esm/storage/providers/idb/utils.js +0 -21
  967. package/esm/storage/providers/idb/utils.js.map +0 -1
  968. package/esm/storage/providers/memory/driver.js.map +0 -1
  969. package/esm/storage/providers/memory/index.js.map +0 -1
  970. package/esm/storage/providers/memory/memory.test.d.ts +0 -1
  971. package/esm/storage/providers/memory/memory.test.js +0 -11
  972. package/esm/storage/providers/memory/memory.test.js.map +0 -1
  973. package/esm/storage/providers/memory/repository/auth-keys.js.map +0 -1
  974. package/esm/storage/providers/memory/repository/kv.js.map +0 -1
  975. package/esm/storage/providers/memory/repository/peers.js.map +0 -1
  976. package/esm/storage/providers/memory/repository/ref-messages.js.map +0 -1
  977. package/esm/storage/service/auth-keys.test.d.ts +0 -1
  978. package/esm/storage/service/auth-keys.test.js +0 -20
  979. package/esm/storage/service/auth-keys.test.js.map +0 -1
  980. package/esm/storage/service/updates.test.d.ts +0 -1
  981. package/esm/storage/service/updates.test.js +0 -58
  982. package/esm/storage/service/updates.test.js.map +0 -1
  983. package/esm/storage/service/utils.test-utils.d.ts +0 -2
  984. package/esm/storage/service/utils.test-utils.js +0 -15
  985. package/esm/storage/service/utils.test-utils.js.map +0 -1
  986. package/esm/utils/async-lock.test.d.ts +0 -1
  987. package/esm/utils/async-lock.test.js +0 -23
  988. package/esm/utils/async-lock.test.js.map +0 -1
  989. package/esm/utils/bigint-utils.test.d.ts +0 -1
  990. package/esm/utils/bigint-utils.test.js +0 -148
  991. package/esm/utils/bigint-utils.test.js.map +0 -1
  992. package/esm/utils/buffer-utils.test.d.ts +0 -1
  993. package/esm/utils/buffer-utils.test.js +0 -67
  994. package/esm/utils/buffer-utils.test.js.map +0 -1
  995. package/esm/utils/condition-variable.test.d.ts +0 -1
  996. package/esm/utils/condition-variable.test.js +0 -25
  997. package/esm/utils/condition-variable.test.js.map +0 -1
  998. package/esm/utils/controllable-promise.test.d.ts +0 -1
  999. package/esm/utils/controllable-promise.test.js +0 -15
  1000. package/esm/utils/controllable-promise.test.js.map +0 -1
  1001. package/esm/utils/crypto/factorization.test.d.ts +0 -1
  1002. package/esm/utils/crypto/factorization.test.js +0 -17
  1003. package/esm/utils/crypto/factorization.test.js.map +0 -1
  1004. package/esm/utils/crypto/keys.test.d.ts +0 -1
  1005. package/esm/utils/crypto/keys.test.js +0 -38
  1006. package/esm/utils/crypto/keys.test.js.map +0 -1
  1007. package/esm/utils/crypto/miller-rabin.test.d.ts +0 -1
  1008. package/esm/utils/crypto/miller-rabin.test.js +0 -58
  1009. package/esm/utils/crypto/miller-rabin.test.js.map +0 -1
  1010. package/esm/utils/crypto/mtproto.test.d.ts +0 -1
  1011. package/esm/utils/crypto/mtproto.test.js +0 -48
  1012. package/esm/utils/crypto/mtproto.test.js.map +0 -1
  1013. package/esm/utils/crypto/node.d.ts +0 -21
  1014. package/esm/utils/crypto/node.js +0 -69
  1015. package/esm/utils/crypto/node.js.map +0 -1
  1016. package/esm/utils/crypto/node.test.d.ts +0 -1
  1017. package/esm/utils/crypto/node.test.js +0 -12
  1018. package/esm/utils/crypto/node.test.js.map +0 -1
  1019. package/esm/utils/crypto/password.test.d.ts +0 -1
  1020. package/esm/utils/crypto/password.test.js +0 -90
  1021. package/esm/utils/crypto/password.test.js.map +0 -1
  1022. package/esm/utils/crypto/utils.test.d.ts +0 -1
  1023. package/esm/utils/crypto/utils.test.js +0 -47
  1024. package/esm/utils/crypto/utils.test.js.map +0 -1
  1025. package/esm/utils/crypto/wasm.d.ts +0 -22
  1026. package/esm/utils/crypto/wasm.js +0 -37
  1027. package/esm/utils/crypto/wasm.js.map +0 -1
  1028. package/esm/utils/crypto/web.d.ts +0 -11
  1029. package/esm/utils/crypto/web.js +0 -36
  1030. package/esm/utils/crypto/web.js.map +0 -1
  1031. package/esm/utils/crypto/web.test.d.ts +0 -1
  1032. package/esm/utils/crypto/web.test.js +0 -15
  1033. package/esm/utils/crypto/web.test.js.map +0 -1
  1034. package/esm/utils/deque.test.d.ts +0 -1
  1035. package/esm/utils/deque.test.js +0 -126
  1036. package/esm/utils/deque.test.js.map +0 -1
  1037. package/esm/utils/function-utils.test.d.ts +0 -1
  1038. package/esm/utils/function-utils.test.js +0 -21
  1039. package/esm/utils/function-utils.test.js.map +0 -1
  1040. package/esm/utils/linked-list.test.d.ts +0 -1
  1041. package/esm/utils/linked-list.test.js +0 -34
  1042. package/esm/utils/linked-list.test.js.map +0 -1
  1043. package/esm/utils/links/bots.test.d.ts +0 -1
  1044. package/esm/utils/links/bots.test.js +0 -150
  1045. package/esm/utils/links/bots.test.js.map +0 -1
  1046. package/esm/utils/links/chat.test.d.ts +0 -1
  1047. package/esm/utils/links/chat.test.js +0 -82
  1048. package/esm/utils/links/chat.test.js.map +0 -1
  1049. package/esm/utils/links/misc.test.d.ts +0 -1
  1050. package/esm/utils/links/misc.test.js +0 -151
  1051. package/esm/utils/links/misc.test.js.map +0 -1
  1052. package/esm/utils/links/proxy.test.d.ts +0 -1
  1053. package/esm/utils/links/proxy.test.js +0 -72
  1054. package/esm/utils/links/proxy.test.js.map +0 -1
  1055. package/esm/utils/links/user.test.d.ts +0 -1
  1056. package/esm/utils/links/user.test.js +0 -61
  1057. package/esm/utils/links/user.test.js.map +0 -1
  1058. package/esm/utils/logger.test.d.ts +0 -1
  1059. package/esm/utils/logger.test.js +0 -134
  1060. package/esm/utils/logger.test.js.map +0 -1
  1061. package/esm/utils/long-utils.test.d.ts +0 -1
  1062. package/esm/utils/long-utils.test.js +0 -153
  1063. package/esm/utils/long-utils.test.js.map +0 -1
  1064. package/esm/utils/lru-map.test.d.ts +0 -1
  1065. package/esm/utils/lru-map.test.js +0 -94
  1066. package/esm/utils/lru-map.test.js.map +0 -1
  1067. package/esm/utils/lru-set.test.d.ts +0 -1
  1068. package/esm/utils/lru-set.test.js +0 -72
  1069. package/esm/utils/lru-set.test.js.map +0 -1
  1070. package/esm/utils/peer-utils.test.d.ts +0 -1
  1071. package/esm/utils/peer-utils.test.js +0 -105
  1072. package/esm/utils/peer-utils.test.js.map +0 -1
  1073. package/esm/utils/platform/crypto.d.ts +0 -1
  1074. package/esm/utils/platform/crypto.js +0 -4
  1075. package/esm/utils/platform/crypto.js.map +0 -1
  1076. package/esm/utils/platform/crypto.web.d.ts +0 -1
  1077. package/esm/utils/platform/crypto.web.js +0 -10
  1078. package/esm/utils/platform/crypto.web.js.map +0 -1
  1079. package/esm/utils/platform/error-reporting.js.map +0 -1
  1080. package/esm/utils/platform/exit-hook.d.ts +0 -1
  1081. package/esm/utils/platform/exit-hook.js +0 -41
  1082. package/esm/utils/platform/exit-hook.js.map +0 -1
  1083. package/esm/utils/platform/exit-hook.web.d.ts +0 -1
  1084. package/esm/utils/platform/exit-hook.web.js +0 -17
  1085. package/esm/utils/platform/exit-hook.web.js.map +0 -1
  1086. package/esm/utils/platform/logging.d.ts +0 -1
  1087. package/esm/utils/platform/logging.js +0 -31
  1088. package/esm/utils/platform/logging.js.map +0 -1
  1089. package/esm/utils/platform/logging.web.d.ts +0 -1
  1090. package/esm/utils/platform/logging.web.js +0 -31
  1091. package/esm/utils/platform/logging.web.js.map +0 -1
  1092. package/esm/utils/platform/transport.d.ts +0 -1
  1093. package/esm/utils/platform/transport.js +0 -4
  1094. package/esm/utils/platform/transport.js.map +0 -1
  1095. package/esm/utils/platform/transport.web.d.ts +0 -1
  1096. package/esm/utils/platform/transport.web.js +0 -12
  1097. package/esm/utils/platform/transport.web.js.map +0 -1
  1098. package/esm/utils/sorted-array.test.d.ts +0 -1
  1099. package/esm/utils/sorted-array.test.js +0 -64
  1100. package/esm/utils/sorted-array.test.js.map +0 -1
  1101. package/esm/utils/tl-json.test.d.ts +0 -1
  1102. package/esm/utils/tl-json.test.js +0 -81
  1103. package/esm/utils/tl-json.test.js.map +0 -1
  1104. package/esm/utils/type-assertions.test.d.ts +0 -1
  1105. package/esm/utils/type-assertions.test.js +0 -65
  1106. package/esm/utils/type-assertions.test.js.map +0 -1
  1107. /package/cjs/highlevel/{base.test.d.ts → methods/files/download-node-stream.d.ts} +0 -0
  1108. /package/cjs/storage/{providers/memory → memory}/driver.js +0 -0
  1109. /package/cjs/storage/{providers/memory → memory}/index.js +0 -0
  1110. /package/cjs/storage/{providers/memory → memory}/repository/auth-keys.js +0 -0
  1111. /package/cjs/storage/{providers/memory → memory}/repository/kv.js +0 -0
  1112. /package/cjs/storage/{providers/memory → memory}/repository/peers.js +0 -0
  1113. /package/cjs/storage/{providers/memory → memory}/repository/ref-messages.js +0 -0
  1114. /package/cjs/utils/{platform/error-reporting.js → error-reporting.js} +0 -0
  1115. /package/{cjs/highlevel/methods/files/_platform.d.ts → esm/highlevel/methods/files/download-node-stream.d.ts} +0 -0
  1116. /package/esm/storage/{providers/memory → memory}/driver.js +0 -0
  1117. /package/esm/storage/{providers/memory → memory}/index.js +0 -0
  1118. /package/esm/storage/{providers/memory → memory}/repository/auth-keys.js +0 -0
  1119. /package/esm/storage/{providers/memory → memory}/repository/kv.js +0 -0
  1120. /package/esm/storage/{providers/memory → memory}/repository/peers.js +0 -0
  1121. /package/esm/storage/{providers/memory → memory}/repository/ref-messages.js +0 -0
  1122. /package/esm/utils/{platform/error-reporting.js → error-reporting.js} +0 -0
@@ -1,502 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const test_1 = require("@mtcute/test");
5
- const misc_utils_js_1 = require("../../utils/misc-utils.js");
6
- const query_batcher_js_1 = require("./query-batcher.js");
7
- (0, vitest_1.describe)('batchedQuery', () => {
8
- const client = new test_1.StubTelegramClient();
9
- client.log.prefix = '[1]';
10
- (0, vitest_1.it)('should correctly batch requests', async () => {
11
- const log = [];
12
- const fetch = async (client, items) => {
13
- log.push(`[start] fetch() ${items.join(', ')}`);
14
- await (0, misc_utils_js_1.sleep)(10);
15
- log.push(`[end] fetch() ${items.join(', ')}`);
16
- return items.map((it) => it * 2);
17
- };
18
- const batched = (0, query_batcher_js_1.batchedQuery)({
19
- fetch,
20
- inputKey: (it) => it,
21
- outputKey: (it) => it / 2,
22
- });
23
- const batchedWrapped = async (item) => {
24
- log.push(`[start] batched() ${item}`);
25
- const res = await batched(client, item);
26
- log.push(`[end] batched() ${item} => ${res}`);
27
- return res;
28
- };
29
- const results = await Promise.all([
30
- batchedWrapped(1),
31
- batchedWrapped(2),
32
- batchedWrapped(3),
33
- batchedWrapped(3),
34
- batchedWrapped(4),
35
- ]);
36
- const results2 = await Promise.all([batchedWrapped(4), batchedWrapped(5), batchedWrapped(6)]);
37
- (0, vitest_1.expect)(results).toEqual([2, 4, 6, 6, 8]);
38
- (0, vitest_1.expect)(results2).toEqual([8, 10, 12]);
39
- (0, vitest_1.expect)(log).toMatchInlineSnapshot(`
40
- [
41
- "[start] batched() 1",
42
- "[start] fetch() 1",
43
- "[start] batched() 2",
44
- "[start] batched() 3",
45
- "[start] batched() 3",
46
- "[start] batched() 4",
47
- "[end] fetch() 1",
48
- "[end] batched() 1 => 2",
49
- "[start] fetch() 2, 3, 4",
50
- "[end] fetch() 2, 3, 4",
51
- "[end] batched() 2 => 4",
52
- "[end] batched() 3 => 6",
53
- "[end] batched() 3 => 6",
54
- "[end] batched() 4 => 8",
55
- "[start] batched() 4",
56
- "[start] fetch() 4",
57
- "[start] batched() 5",
58
- "[start] batched() 6",
59
- "[end] fetch() 4",
60
- "[end] batched() 4 => 8",
61
- "[start] fetch() 5, 6",
62
- "[end] fetch() 5, 6",
63
- "[end] batched() 5 => 10",
64
- "[end] batched() 6 => 12",
65
- ]
66
- `);
67
- });
68
- (0, vitest_1.it)('should correctly limit batch size', async () => {
69
- const log = [];
70
- const fetch = async (client, items) => {
71
- log.push(`[start] fetch() ${items.join(', ')}`);
72
- await (0, misc_utils_js_1.sleep)(10);
73
- log.push(`[end] fetch() ${items.join(', ')}`);
74
- return items.map((it) => it * 2);
75
- };
76
- const batched = (0, query_batcher_js_1.batchedQuery)({
77
- fetch,
78
- inputKey: (it) => it,
79
- outputKey: (it) => it / 2,
80
- maxBatchSize: 2,
81
- });
82
- const batchedWrapped = async (item) => {
83
- log.push(`[start] batched() ${item}`);
84
- const res = await batched(client, item);
85
- log.push(`[end] batched() ${item} => ${res}`);
86
- return res;
87
- };
88
- const results = await Promise.all([
89
- batchedWrapped(1),
90
- batchedWrapped(2),
91
- batchedWrapped(3),
92
- batchedWrapped(3),
93
- batchedWrapped(4),
94
- batchedWrapped(5),
95
- batchedWrapped(6),
96
- ]);
97
- const results2 = await Promise.all([batchedWrapped(6), batchedWrapped(7), batchedWrapped(8)]);
98
- (0, vitest_1.expect)(results).toEqual([2, 4, 6, 6, 8, 10, 12]);
99
- (0, vitest_1.expect)(results2).toEqual([12, 14, 16]);
100
- (0, vitest_1.expect)(log).toMatchInlineSnapshot(`
101
- [
102
- "[start] batched() 1",
103
- "[start] fetch() 1",
104
- "[start] batched() 2",
105
- "[start] batched() 3",
106
- "[start] batched() 3",
107
- "[start] batched() 4",
108
- "[start] batched() 5",
109
- "[start] batched() 6",
110
- "[end] fetch() 1",
111
- "[end] batched() 1 => 2",
112
- "[start] fetch() 2, 3",
113
- "[end] fetch() 2, 3",
114
- "[end] batched() 2 => 4",
115
- "[end] batched() 3 => 6",
116
- "[end] batched() 3 => 6",
117
- "[start] fetch() 4, 5",
118
- "[end] fetch() 4, 5",
119
- "[end] batched() 4 => 8",
120
- "[end] batched() 5 => 10",
121
- "[start] fetch() 6",
122
- "[end] fetch() 6",
123
- "[end] batched() 6 => 12",
124
- "[start] batched() 6",
125
- "[start] fetch() 6",
126
- "[start] batched() 7",
127
- "[start] batched() 8",
128
- "[end] fetch() 6",
129
- "[end] batched() 6 => 12",
130
- "[start] fetch() 7, 8",
131
- "[end] fetch() 7, 8",
132
- "[end] batched() 7 => 14",
133
- "[end] batched() 8 => 16",
134
- ]
135
- `);
136
- });
137
- (0, vitest_1.it)('should correctly do concurrent requests', async () => {
138
- const log = [];
139
- const fetch = async (client, items) => {
140
- log.push(`[start] fetch() ${items.join(', ')}`);
141
- await (0, misc_utils_js_1.sleep)(10);
142
- log.push(`[end] fetch() ${items.join(', ')}`);
143
- return items.map((it) => it * 2);
144
- };
145
- const batched = (0, query_batcher_js_1.batchedQuery)({
146
- fetch,
147
- inputKey: (it) => it,
148
- outputKey: (it) => it / 2,
149
- maxBatchSize: 2,
150
- maxConcurrent: 2,
151
- });
152
- const batchedWrapped = async (item) => {
153
- log.push(`[start] batched() ${item}`);
154
- const res = await batched(client, item);
155
- log.push(`[end] batched() ${item} => ${res}`);
156
- return res;
157
- };
158
- const results = await Promise.all([
159
- batchedWrapped(1),
160
- batchedWrapped(2),
161
- batchedWrapped(3),
162
- batchedWrapped(3),
163
- batchedWrapped(4),
164
- batchedWrapped(5),
165
- batchedWrapped(6),
166
- ]);
167
- const results2 = await Promise.all([batchedWrapped(6), batchedWrapped(7), batchedWrapped(8)]);
168
- (0, vitest_1.expect)(results).toEqual([2, 4, 6, 6, 8, 10, 12]);
169
- (0, vitest_1.expect)(results2).toEqual([12, 14, 16]);
170
- (0, vitest_1.expect)(log).toMatchInlineSnapshot(`
171
- [
172
- "[start] batched() 1",
173
- "[start] fetch() 1",
174
- "[start] batched() 2",
175
- "[start] fetch() 2",
176
- "[start] batched() 3",
177
- "[start] batched() 3",
178
- "[start] batched() 4",
179
- "[start] batched() 5",
180
- "[start] batched() 6",
181
- "[end] fetch() 1",
182
- "[end] batched() 1 => 2",
183
- "[start] fetch() 3, 4",
184
- "[end] fetch() 2",
185
- "[end] batched() 2 => 4",
186
- "[start] fetch() 5, 6",
187
- "[end] fetch() 3, 4",
188
- "[end] batched() 3 => 6",
189
- "[end] batched() 3 => 6",
190
- "[end] batched() 4 => 8",
191
- "[end] fetch() 5, 6",
192
- "[end] batched() 5 => 10",
193
- "[end] batched() 6 => 12",
194
- "[start] batched() 6",
195
- "[start] fetch() 6",
196
- "[start] batched() 7",
197
- "[start] fetch() 7",
198
- "[start] batched() 8",
199
- "[end] fetch() 6",
200
- "[end] batched() 6 => 12",
201
- "[start] fetch() 8",
202
- "[end] fetch() 7",
203
- "[end] batched() 7 => 14",
204
- "[end] fetch() 8",
205
- "[end] batched() 8 => 16",
206
- ]
207
- `);
208
- });
209
- (0, vitest_1.it)('should correctly handle errors', async () => {
210
- const log = [];
211
- const fetch = async (client, items) => {
212
- log.push(`[start] fetch() ${items.join(', ')}`);
213
- await (0, misc_utils_js_1.sleep)(10);
214
- if (items.includes(2)) {
215
- log.push(`[error] fetch() ${items.join(', ')}`);
216
- throw new Error('test');
217
- }
218
- log.push(`[end] fetch() ${items.join(', ')}`);
219
- return items.map((it) => it * 2);
220
- };
221
- const batched = (0, query_batcher_js_1.batchedQuery)({
222
- fetch,
223
- inputKey: (it) => it,
224
- outputKey: (it) => it / 2,
225
- maxBatchSize: 2,
226
- });
227
- const batchedWrapped = async (item) => {
228
- log.push(`[start] batched() ${item}`);
229
- let res;
230
- try {
231
- res = await batched(client, item);
232
- }
233
- catch (e) {
234
- log.push(`[error] batched() ${item} => ${e.message}`);
235
- return null;
236
- }
237
- log.push(`[end] batched() ${item} => ${res}`);
238
- return res;
239
- };
240
- const res = await Promise.all([batchedWrapped(1), batchedWrapped(2), batchedWrapped(3)]);
241
- // second batch will fail entirely because of an error in one of the items.
242
- (0, vitest_1.expect)(res).toEqual([2, null, null]);
243
- (0, vitest_1.expect)(log).toMatchInlineSnapshot(`
244
- [
245
- "[start] batched() 1",
246
- "[start] fetch() 1",
247
- "[start] batched() 2",
248
- "[start] batched() 3",
249
- "[end] fetch() 1",
250
- "[end] batched() 1 => 2",
251
- "[start] fetch() 2, 3",
252
- "[error] fetch() 2, 3",
253
- "[error] batched() 2 => test",
254
- "[error] batched() 3 => test",
255
- ]
256
- `);
257
- });
258
- (0, vitest_1.it)('should not share state across clients', async () => {
259
- const client2 = new test_1.StubTelegramClient();
260
- client2.log.prefix = '[2]';
261
- const log = [];
262
- const fetch = async (client, items) => {
263
- log.push(`[start] ${client.log.prefix} fetch() ${items.join(', ')}`);
264
- await (0, misc_utils_js_1.sleep)(10);
265
- log.push(`[end] ${client.log.prefix} fetch() ${items.join(', ')}`);
266
- return items.map((it) => it * 2);
267
- };
268
- const batched = (0, query_batcher_js_1.batchedQuery)({
269
- fetch,
270
- inputKey: (it) => it,
271
- outputKey: (it) => it / 2,
272
- });
273
- const batchedWrapped = async (item, client_ = client) => {
274
- log.push(`[start] ${client_.log.prefix} batched() ${item}`);
275
- const res = await batched(client_, item);
276
- log.push(`[end] ${client_.log.prefix} batched() ${item} => ${res}`);
277
- return res;
278
- };
279
- const results = await Promise.all([
280
- batchedWrapped(1),
281
- batchedWrapped(2),
282
- batchedWrapped(3),
283
- batchedWrapped(3, client2),
284
- batchedWrapped(4, client2),
285
- batchedWrapped(5),
286
- batchedWrapped(6, client2),
287
- ]);
288
- const results2 = await Promise.all([batchedWrapped(6, client2), batchedWrapped(7), batchedWrapped(8, client2)]);
289
- (0, vitest_1.expect)(results).toEqual([2, 4, 6, 6, 8, 10, 12]);
290
- (0, vitest_1.expect)(results2).toEqual([12, 14, 16]);
291
- (0, vitest_1.expect)(log).toMatchInlineSnapshot(`
292
- [
293
- "[start] [1] batched() 1",
294
- "[start] [1] fetch() 1",
295
- "[start] [1] batched() 2",
296
- "[start] [1] batched() 3",
297
- "[start] [2] batched() 3",
298
- "[start] [2] fetch() 3",
299
- "[start] [2] batched() 4",
300
- "[start] [1] batched() 5",
301
- "[start] [2] batched() 6",
302
- "[end] [1] fetch() 1",
303
- "[end] [1] batched() 1 => 2",
304
- "[start] [1] fetch() 2, 3, 5",
305
- "[end] [2] fetch() 3",
306
- "[end] [2] batched() 3 => 6",
307
- "[start] [2] fetch() 4, 6",
308
- "[end] [1] fetch() 2, 3, 5",
309
- "[end] [1] batched() 2 => 4",
310
- "[end] [1] batched() 3 => 6",
311
- "[end] [1] batched() 5 => 10",
312
- "[end] [2] fetch() 4, 6",
313
- "[end] [2] batched() 4 => 8",
314
- "[end] [2] batched() 6 => 12",
315
- "[start] [2] batched() 6",
316
- "[start] [2] fetch() 6",
317
- "[start] [1] batched() 7",
318
- "[start] [1] fetch() 7",
319
- "[start] [2] batched() 8",
320
- "[end] [2] fetch() 6",
321
- "[end] [2] batched() 6 => 12",
322
- "[start] [2] fetch() 8",
323
- "[end] [1] fetch() 7",
324
- "[end] [1] batched() 7 => 14",
325
- "[end] [2] fetch() 8",
326
- "[end] [2] batched() 8 => 16",
327
- ]
328
- `);
329
- });
330
- (0, vitest_1.it)('should correctly handle fetcher omitting some items', async () => {
331
- const log = [];
332
- const fetch = async (client, items) => {
333
- log.push(`[start] fetch() ${items.join(', ')}`);
334
- await (0, misc_utils_js_1.sleep)(10);
335
- log.push(`[end] fetch() ${items.join(', ')}`);
336
- return items.filter((it) => it !== 6).map((it) => it * 2);
337
- };
338
- const batched = (0, query_batcher_js_1.batchedQuery)({
339
- fetch,
340
- inputKey: (it) => it,
341
- outputKey: (it) => it / 2,
342
- });
343
- const batchedWrapped = async (item) => {
344
- log.push(`[start] batched() ${item}`);
345
- const res = await batched(client, item);
346
- log.push(`[end] batched() ${item} => ${res}`);
347
- return res;
348
- };
349
- const results = await Promise.all([
350
- batchedWrapped(1),
351
- batchedWrapped(2),
352
- batchedWrapped(3),
353
- batchedWrapped(3),
354
- batchedWrapped(4),
355
- batchedWrapped(5),
356
- batchedWrapped(6),
357
- ]);
358
- const results2 = await Promise.all([batchedWrapped(6), batchedWrapped(7), batchedWrapped(8)]);
359
- (0, vitest_1.expect)(results).toEqual([2, 4, 6, 6, 8, 10, null]);
360
- (0, vitest_1.expect)(results2).toEqual([null, 14, 16]);
361
- (0, vitest_1.expect)(log).toMatchInlineSnapshot(`
362
- [
363
- "[start] batched() 1",
364
- "[start] fetch() 1",
365
- "[start] batched() 2",
366
- "[start] batched() 3",
367
- "[start] batched() 3",
368
- "[start] batched() 4",
369
- "[start] batched() 5",
370
- "[start] batched() 6",
371
- "[end] fetch() 1",
372
- "[end] batched() 1 => 2",
373
- "[start] fetch() 2, 3, 4, 5, 6",
374
- "[end] fetch() 2, 3, 4, 5, 6",
375
- "[end] batched() 2 => 4",
376
- "[end] batched() 3 => 6",
377
- "[end] batched() 3 => 6",
378
- "[end] batched() 4 => 8",
379
- "[end] batched() 5 => 10",
380
- "[end] batched() 6 => null",
381
- "[start] batched() 6",
382
- "[start] fetch() 6",
383
- "[start] batched() 7",
384
- "[start] batched() 8",
385
- "[end] fetch() 6",
386
- "[end] batched() 6 => null",
387
- "[start] fetch() 7, 8",
388
- "[end] fetch() 7, 8",
389
- "[end] batched() 7 => 14",
390
- "[end] batched() 8 => 16",
391
- ]
392
- `);
393
- });
394
- (0, vitest_1.it)('should correctly retry failed batches one by one entirely', async () => {
395
- const log = [];
396
- const fetch = async (client, items) => {
397
- log.push(`[start] fetch() ${items.join(', ')}`);
398
- await (0, misc_utils_js_1.sleep)(10);
399
- if (items.includes(2)) {
400
- log.push(`[error] fetch() ${items.join(', ')}`);
401
- throw new Error('test');
402
- }
403
- log.push(`[end] fetch() ${items.join(', ')}`);
404
- return items.map((it) => it * 2);
405
- };
406
- const batched = (0, query_batcher_js_1.batchedQuery)({
407
- fetch,
408
- inputKey: (it) => it,
409
- outputKey: (it) => it / 2,
410
- maxBatchSize: 2,
411
- retrySingleOnError: () => true,
412
- });
413
- const batchedWrapped = async (item) => {
414
- log.push(`[start] batched() ${item}`);
415
- let res;
416
- try {
417
- res = await batched(client, item);
418
- }
419
- catch (e) {
420
- log.push(`[error] batched() ${item} => ${e.message}`);
421
- return null;
422
- }
423
- log.push(`[end] batched() ${item} => ${res}`);
424
- return res;
425
- };
426
- const res = await Promise.all([batchedWrapped(1), batchedWrapped(2), batchedWrapped(3)]);
427
- (0, vitest_1.expect)(res).toEqual([2, null, 6]);
428
- (0, vitest_1.expect)(log).toMatchInlineSnapshot(`
429
- [
430
- "[start] batched() 1",
431
- "[start] fetch() 1",
432
- "[start] batched() 2",
433
- "[start] batched() 3",
434
- "[end] fetch() 1",
435
- "[end] batched() 1 => 2",
436
- "[start] fetch() 2, 3",
437
- "[error] fetch() 2, 3",
438
- "[start] fetch() 2",
439
- "[error] fetch() 2",
440
- "[error] batched() 2 => test",
441
- "[start] fetch() 3",
442
- "[end] fetch() 3",
443
- "[end] batched() 3 => 6",
444
- ]
445
- `);
446
- });
447
- (0, vitest_1.it)('should correctly retry failed batches one by one partially', async () => {
448
- const log = [];
449
- const fetch = async (client, items) => {
450
- log.push(`[start] fetch() ${items.join(', ')}`);
451
- await (0, misc_utils_js_1.sleep)(10);
452
- if (items.includes(2) || items.includes(4)) {
453
- log.push(`[error] fetch() ${items.join(', ')}`);
454
- throw new Error('test');
455
- }
456
- log.push(`[end] fetch() ${items.join(', ')}`);
457
- return items.map((it) => it * 2);
458
- };
459
- const batched = (0, query_batcher_js_1.batchedQuery)({
460
- fetch,
461
- inputKey: (it) => it,
462
- outputKey: (it) => it / 2,
463
- retrySingleOnError: () => [3, 4],
464
- });
465
- const batchedWrapped = async (item) => {
466
- log.push(`[start] batched() ${item}`);
467
- let res;
468
- try {
469
- res = await batched(client, item);
470
- }
471
- catch (e) {
472
- log.push(`[error] batched() ${item} => ${e.message}`);
473
- return null;
474
- }
475
- log.push(`[end] batched() ${item} => ${res}`);
476
- return res;
477
- };
478
- const res = await Promise.all([batchedWrapped(1), batchedWrapped(2), batchedWrapped(3), batchedWrapped(4)]);
479
- (0, vitest_1.expect)(res).toEqual([2, null, 6, null]);
480
- (0, vitest_1.expect)(log).toMatchInlineSnapshot(`
481
- [
482
- "[start] batched() 1",
483
- "[start] fetch() 1",
484
- "[start] batched() 2",
485
- "[start] batched() 3",
486
- "[start] batched() 4",
487
- "[end] fetch() 1",
488
- "[end] batched() 1 => 2",
489
- "[start] fetch() 2, 3, 4",
490
- "[error] fetch() 2, 3, 4",
491
- "[error] batched() 2 => test",
492
- "[start] fetch() 3",
493
- "[end] fetch() 3",
494
- "[end] batched() 3 => 6",
495
- "[start] fetch() 4",
496
- "[error] fetch() 4",
497
- "[error] batched() 4 => test",
498
- ]
499
- `);
500
- });
501
- });
502
- //# sourceMappingURL=query-batcher.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-batcher.test.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/query-batcher.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { StubTelegramClient } from '@mtcute/test'\n\nimport { sleep } from '../../utils/misc-utils.js'\nimport { ITelegramClient } from '../client.types.js'\nimport { batchedQuery } from './query-batcher.js'\n\ndescribe('batchedQuery', () => {\n const client = new StubTelegramClient()\n client.log.prefix = '[1]'\n\n it('should correctly batch requests', async () => {\n const log: string[] = []\n\n const fetch = async (client: ITelegramClient, items: number[]) => {\n log.push(`[start] fetch() ${items.join(', ')}`)\n\n await sleep(10)\n\n log.push(`[end] fetch() ${items.join(', ')}`)\n\n return items.map((it) => it * 2)\n }\n\n const batched = batchedQuery({\n fetch,\n inputKey: (it) => it,\n outputKey: (it) => it / 2,\n })\n\n const batchedWrapped = async (item: number) => {\n log.push(`[start] batched() ${item}`)\n\n const res = await batched(client, item)\n\n log.push(`[end] batched() ${item} => ${res}`)\n\n return res\n }\n\n const results = await Promise.all([\n batchedWrapped(1),\n batchedWrapped(2),\n batchedWrapped(3),\n batchedWrapped(3),\n batchedWrapped(4),\n ])\n const results2 = await Promise.all([batchedWrapped(4), batchedWrapped(5), batchedWrapped(6)])\n\n expect(results).toEqual([2, 4, 6, 6, 8])\n expect(results2).toEqual([8, 10, 12])\n expect(log).toMatchInlineSnapshot(`\n [\n \"[start] batched() 1\",\n \"[start] fetch() 1\",\n \"[start] batched() 2\",\n \"[start] batched() 3\",\n \"[start] batched() 3\",\n \"[start] batched() 4\",\n \"[end] fetch() 1\",\n \"[end] batched() 1 => 2\",\n \"[start] fetch() 2, 3, 4\",\n \"[end] fetch() 2, 3, 4\",\n \"[end] batched() 2 => 4\",\n \"[end] batched() 3 => 6\",\n \"[end] batched() 3 => 6\",\n \"[end] batched() 4 => 8\",\n \"[start] batched() 4\",\n \"[start] fetch() 4\",\n \"[start] batched() 5\",\n \"[start] batched() 6\",\n \"[end] fetch() 4\",\n \"[end] batched() 4 => 8\",\n \"[start] fetch() 5, 6\",\n \"[end] fetch() 5, 6\",\n \"[end] batched() 5 => 10\",\n \"[end] batched() 6 => 12\",\n ]\n `)\n })\n\n it('should correctly limit batch size', async () => {\n const log: string[] = []\n\n const fetch = async (client: ITelegramClient, items: number[]) => {\n log.push(`[start] fetch() ${items.join(', ')}`)\n\n await sleep(10)\n\n log.push(`[end] fetch() ${items.join(', ')}`)\n\n return items.map((it) => it * 2)\n }\n\n const batched = batchedQuery({\n fetch,\n inputKey: (it) => it,\n outputKey: (it) => it / 2,\n maxBatchSize: 2,\n })\n\n const batchedWrapped = async (item: number) => {\n log.push(`[start] batched() ${item}`)\n\n const res = await batched(client, item)\n\n log.push(`[end] batched() ${item} => ${res}`)\n\n return res\n }\n\n const results = await Promise.all([\n batchedWrapped(1),\n batchedWrapped(2),\n batchedWrapped(3),\n batchedWrapped(3),\n batchedWrapped(4),\n batchedWrapped(5),\n batchedWrapped(6),\n ])\n const results2 = await Promise.all([batchedWrapped(6), batchedWrapped(7), batchedWrapped(8)])\n\n expect(results).toEqual([2, 4, 6, 6, 8, 10, 12])\n expect(results2).toEqual([12, 14, 16])\n expect(log).toMatchInlineSnapshot(`\n [\n \"[start] batched() 1\",\n \"[start] fetch() 1\",\n \"[start] batched() 2\",\n \"[start] batched() 3\",\n \"[start] batched() 3\",\n \"[start] batched() 4\",\n \"[start] batched() 5\",\n \"[start] batched() 6\",\n \"[end] fetch() 1\",\n \"[end] batched() 1 => 2\",\n \"[start] fetch() 2, 3\",\n \"[end] fetch() 2, 3\",\n \"[end] batched() 2 => 4\",\n \"[end] batched() 3 => 6\",\n \"[end] batched() 3 => 6\",\n \"[start] fetch() 4, 5\",\n \"[end] fetch() 4, 5\",\n \"[end] batched() 4 => 8\",\n \"[end] batched() 5 => 10\",\n \"[start] fetch() 6\",\n \"[end] fetch() 6\",\n \"[end] batched() 6 => 12\",\n \"[start] batched() 6\",\n \"[start] fetch() 6\",\n \"[start] batched() 7\",\n \"[start] batched() 8\",\n \"[end] fetch() 6\",\n \"[end] batched() 6 => 12\",\n \"[start] fetch() 7, 8\",\n \"[end] fetch() 7, 8\",\n \"[end] batched() 7 => 14\",\n \"[end] batched() 8 => 16\",\n ]\n `)\n })\n\n it('should correctly do concurrent requests', async () => {\n const log: string[] = []\n\n const fetch = async (client: ITelegramClient, items: number[]) => {\n log.push(`[start] fetch() ${items.join(', ')}`)\n\n await sleep(10)\n\n log.push(`[end] fetch() ${items.join(', ')}`)\n\n return items.map((it) => it * 2)\n }\n\n const batched = batchedQuery({\n fetch,\n inputKey: (it) => it,\n outputKey: (it) => it / 2,\n maxBatchSize: 2,\n maxConcurrent: 2,\n })\n\n const batchedWrapped = async (item: number) => {\n log.push(`[start] batched() ${item}`)\n\n const res = await batched(client, item)\n\n log.push(`[end] batched() ${item} => ${res}`)\n\n return res\n }\n\n const results = await Promise.all([\n batchedWrapped(1),\n batchedWrapped(2),\n batchedWrapped(3),\n batchedWrapped(3),\n batchedWrapped(4),\n batchedWrapped(5),\n batchedWrapped(6),\n ])\n const results2 = await Promise.all([batchedWrapped(6), batchedWrapped(7), batchedWrapped(8)])\n\n expect(results).toEqual([2, 4, 6, 6, 8, 10, 12])\n expect(results2).toEqual([12, 14, 16])\n expect(log).toMatchInlineSnapshot(`\n [\n \"[start] batched() 1\",\n \"[start] fetch() 1\",\n \"[start] batched() 2\",\n \"[start] fetch() 2\",\n \"[start] batched() 3\",\n \"[start] batched() 3\",\n \"[start] batched() 4\",\n \"[start] batched() 5\",\n \"[start] batched() 6\",\n \"[end] fetch() 1\",\n \"[end] batched() 1 => 2\",\n \"[start] fetch() 3, 4\",\n \"[end] fetch() 2\",\n \"[end] batched() 2 => 4\",\n \"[start] fetch() 5, 6\",\n \"[end] fetch() 3, 4\",\n \"[end] batched() 3 => 6\",\n \"[end] batched() 3 => 6\",\n \"[end] batched() 4 => 8\",\n \"[end] fetch() 5, 6\",\n \"[end] batched() 5 => 10\",\n \"[end] batched() 6 => 12\",\n \"[start] batched() 6\",\n \"[start] fetch() 6\",\n \"[start] batched() 7\",\n \"[start] fetch() 7\",\n \"[start] batched() 8\",\n \"[end] fetch() 6\",\n \"[end] batched() 6 => 12\",\n \"[start] fetch() 8\",\n \"[end] fetch() 7\",\n \"[end] batched() 7 => 14\",\n \"[end] fetch() 8\",\n \"[end] batched() 8 => 16\",\n ]\n `)\n })\n\n it('should correctly handle errors', async () => {\n const log: string[] = []\n\n const fetch = async (client: ITelegramClient, items: number[]) => {\n log.push(`[start] fetch() ${items.join(', ')}`)\n\n await sleep(10)\n\n if (items.includes(2)) {\n log.push(`[error] fetch() ${items.join(', ')}`)\n throw new Error('test')\n }\n\n log.push(`[end] fetch() ${items.join(', ')}`)\n\n return items.map((it) => it * 2)\n }\n\n const batched = batchedQuery({\n fetch,\n inputKey: (it) => it,\n outputKey: (it) => it / 2,\n maxBatchSize: 2,\n })\n\n const batchedWrapped = async (item: number) => {\n log.push(`[start] batched() ${item}`)\n\n let res\n\n try {\n res = await batched(client, item)\n } catch (e) {\n log.push(`[error] batched() ${item} => ${(e as Error).message}`)\n\n return null\n }\n\n log.push(`[end] batched() ${item} => ${res}`)\n\n return res\n }\n\n const res = await Promise.all([batchedWrapped(1), batchedWrapped(2), batchedWrapped(3)])\n\n // second batch will fail entirely because of an error in one of the items.\n expect(res).toEqual([2, null, null])\n expect(log).toMatchInlineSnapshot(`\n [\n \"[start] batched() 1\",\n \"[start] fetch() 1\",\n \"[start] batched() 2\",\n \"[start] batched() 3\",\n \"[end] fetch() 1\",\n \"[end] batched() 1 => 2\",\n \"[start] fetch() 2, 3\",\n \"[error] fetch() 2, 3\",\n \"[error] batched() 2 => test\",\n \"[error] batched() 3 => test\",\n ]\n `)\n })\n\n it('should not share state across clients', async () => {\n const client2 = new StubTelegramClient()\n client2.log.prefix = '[2]'\n\n const log: string[] = []\n\n const fetch = async (client: ITelegramClient, items: number[]) => {\n log.push(`[start] ${client.log.prefix} fetch() ${items.join(', ')}`)\n\n await sleep(10)\n\n log.push(`[end] ${client.log.prefix} fetch() ${items.join(', ')}`)\n\n return items.map((it) => it * 2)\n }\n\n const batched = batchedQuery({\n fetch,\n inputKey: (it) => it,\n outputKey: (it) => it / 2,\n })\n\n const batchedWrapped = async (item: number, client_ = client) => {\n log.push(`[start] ${client_.log.prefix} batched() ${item}`)\n\n const res = await batched(client_, item)\n\n log.push(`[end] ${client_.log.prefix} batched() ${item} => ${res}`)\n\n return res\n }\n\n const results = await Promise.all([\n batchedWrapped(1),\n batchedWrapped(2),\n batchedWrapped(3),\n batchedWrapped(3, client2),\n batchedWrapped(4, client2),\n batchedWrapped(5),\n batchedWrapped(6, client2),\n ])\n const results2 = await Promise.all([batchedWrapped(6, client2), batchedWrapped(7), batchedWrapped(8, client2)])\n\n expect(results).toEqual([2, 4, 6, 6, 8, 10, 12])\n expect(results2).toEqual([12, 14, 16])\n\n expect(log).toMatchInlineSnapshot(`\n [\n \"[start] [1] batched() 1\",\n \"[start] [1] fetch() 1\",\n \"[start] [1] batched() 2\",\n \"[start] [1] batched() 3\",\n \"[start] [2] batched() 3\",\n \"[start] [2] fetch() 3\",\n \"[start] [2] batched() 4\",\n \"[start] [1] batched() 5\",\n \"[start] [2] batched() 6\",\n \"[end] [1] fetch() 1\",\n \"[end] [1] batched() 1 => 2\",\n \"[start] [1] fetch() 2, 3, 5\",\n \"[end] [2] fetch() 3\",\n \"[end] [2] batched() 3 => 6\",\n \"[start] [2] fetch() 4, 6\",\n \"[end] [1] fetch() 2, 3, 5\",\n \"[end] [1] batched() 2 => 4\",\n \"[end] [1] batched() 3 => 6\",\n \"[end] [1] batched() 5 => 10\",\n \"[end] [2] fetch() 4, 6\",\n \"[end] [2] batched() 4 => 8\",\n \"[end] [2] batched() 6 => 12\",\n \"[start] [2] batched() 6\",\n \"[start] [2] fetch() 6\",\n \"[start] [1] batched() 7\",\n \"[start] [1] fetch() 7\",\n \"[start] [2] batched() 8\",\n \"[end] [2] fetch() 6\",\n \"[end] [2] batched() 6 => 12\",\n \"[start] [2] fetch() 8\",\n \"[end] [1] fetch() 7\",\n \"[end] [1] batched() 7 => 14\",\n \"[end] [2] fetch() 8\",\n \"[end] [2] batched() 8 => 16\",\n ]\n `)\n })\n\n it('should correctly handle fetcher omitting some items', async () => {\n const log: string[] = []\n\n const fetch = async (client: ITelegramClient, items: number[]) => {\n log.push(`[start] fetch() ${items.join(', ')}`)\n\n await sleep(10)\n\n log.push(`[end] fetch() ${items.join(', ')}`)\n\n return items.filter((it) => it !== 6).map((it) => it * 2)\n }\n\n const batched = batchedQuery({\n fetch,\n inputKey: (it) => it,\n outputKey: (it) => it / 2,\n })\n\n const batchedWrapped = async (item: number) => {\n log.push(`[start] batched() ${item}`)\n\n const res = await batched(client, item)\n\n log.push(`[end] batched() ${item} => ${res}`)\n\n return res\n }\n\n const results = await Promise.all([\n batchedWrapped(1),\n batchedWrapped(2),\n batchedWrapped(3),\n batchedWrapped(3),\n batchedWrapped(4),\n batchedWrapped(5),\n batchedWrapped(6),\n ])\n const results2 = await Promise.all([batchedWrapped(6), batchedWrapped(7), batchedWrapped(8)])\n\n expect(results).toEqual([2, 4, 6, 6, 8, 10, null])\n expect(results2).toEqual([null, 14, 16])\n expect(log).toMatchInlineSnapshot(`\n [\n \"[start] batched() 1\",\n \"[start] fetch() 1\",\n \"[start] batched() 2\",\n \"[start] batched() 3\",\n \"[start] batched() 3\",\n \"[start] batched() 4\",\n \"[start] batched() 5\",\n \"[start] batched() 6\",\n \"[end] fetch() 1\",\n \"[end] batched() 1 => 2\",\n \"[start] fetch() 2, 3, 4, 5, 6\",\n \"[end] fetch() 2, 3, 4, 5, 6\",\n \"[end] batched() 2 => 4\",\n \"[end] batched() 3 => 6\",\n \"[end] batched() 3 => 6\",\n \"[end] batched() 4 => 8\",\n \"[end] batched() 5 => 10\",\n \"[end] batched() 6 => null\",\n \"[start] batched() 6\",\n \"[start] fetch() 6\",\n \"[start] batched() 7\",\n \"[start] batched() 8\",\n \"[end] fetch() 6\",\n \"[end] batched() 6 => null\",\n \"[start] fetch() 7, 8\",\n \"[end] fetch() 7, 8\",\n \"[end] batched() 7 => 14\",\n \"[end] batched() 8 => 16\",\n ]\n `)\n })\n\n it('should correctly retry failed batches one by one entirely', async () => {\n const log: string[] = []\n\n const fetch = async (client: ITelegramClient, items: number[]) => {\n log.push(`[start] fetch() ${items.join(', ')}`)\n\n await sleep(10)\n\n if (items.includes(2)) {\n log.push(`[error] fetch() ${items.join(', ')}`)\n throw new Error('test')\n }\n\n log.push(`[end] fetch() ${items.join(', ')}`)\n\n return items.map((it) => it * 2)\n }\n\n const batched = batchedQuery({\n fetch,\n inputKey: (it) => it,\n outputKey: (it) => it / 2,\n maxBatchSize: 2,\n retrySingleOnError: () => true,\n })\n\n const batchedWrapped = async (item: number) => {\n log.push(`[start] batched() ${item}`)\n\n let res\n\n try {\n res = await batched(client, item)\n } catch (e) {\n log.push(`[error] batched() ${item} => ${(e as Error).message}`)\n\n return null\n }\n\n log.push(`[end] batched() ${item} => ${res}`)\n\n return res\n }\n\n const res = await Promise.all([batchedWrapped(1), batchedWrapped(2), batchedWrapped(3)])\n\n expect(res).toEqual([2, null, 6])\n expect(log).toMatchInlineSnapshot(`\n [\n \"[start] batched() 1\",\n \"[start] fetch() 1\",\n \"[start] batched() 2\",\n \"[start] batched() 3\",\n \"[end] fetch() 1\",\n \"[end] batched() 1 => 2\",\n \"[start] fetch() 2, 3\",\n \"[error] fetch() 2, 3\",\n \"[start] fetch() 2\",\n \"[error] fetch() 2\",\n \"[error] batched() 2 => test\",\n \"[start] fetch() 3\",\n \"[end] fetch() 3\",\n \"[end] batched() 3 => 6\",\n ]\n `)\n })\n\n it('should correctly retry failed batches one by one partially', async () => {\n const log: string[] = []\n\n const fetch = async (client: ITelegramClient, items: number[]) => {\n log.push(`[start] fetch() ${items.join(', ')}`)\n\n await sleep(10)\n\n if (items.includes(2) || items.includes(4)) {\n log.push(`[error] fetch() ${items.join(', ')}`)\n throw new Error('test')\n }\n\n log.push(`[end] fetch() ${items.join(', ')}`)\n\n return items.map((it) => it * 2)\n }\n\n const batched = batchedQuery({\n fetch,\n inputKey: (it) => it,\n outputKey: (it) => it / 2,\n retrySingleOnError: () => [3, 4],\n })\n\n const batchedWrapped = async (item: number) => {\n log.push(`[start] batched() ${item}`)\n\n let res\n\n try {\n res = await batched(client, item)\n } catch (e) {\n log.push(`[error] batched() ${item} => ${(e as Error).message}`)\n\n return null\n }\n\n log.push(`[end] batched() ${item} => ${res}`)\n\n return res\n }\n\n const res = await Promise.all([batchedWrapped(1), batchedWrapped(2), batchedWrapped(3), batchedWrapped(4)])\n\n expect(res).toEqual([2, null, 6, null])\n expect(log).toMatchInlineSnapshot(`\n [\n \"[start] batched() 1\",\n \"[start] fetch() 1\",\n \"[start] batched() 2\",\n \"[start] batched() 3\",\n \"[start] batched() 4\",\n \"[end] fetch() 1\",\n \"[end] batched() 1 => 2\",\n \"[start] fetch() 2, 3, 4\",\n \"[error] fetch() 2, 3, 4\",\n \"[error] batched() 2 => test\",\n \"[start] fetch() 3\",\n \"[end] fetch() 3\",\n \"[end] batched() 3 => 6\",\n \"[start] fetch() 4\",\n \"[error] fetch() 4\",\n \"[error] batched() 4 => test\",\n ]\n `)\n })\n})\n"]}
@@ -1 +0,0 @@
1
- export {};