@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
@@ -6,6 +6,19 @@ import type { AppConfigManager } from './managers/app-config-manager.js';
6
6
  import type { TelegramStorageManager } from './storage/storage.js';
7
7
  import type { RawUpdateHandler } from './updates/types.js';
8
8
  import type { StringSessionData } from './utils/string-session.js';
9
+ /**
10
+ * Connection state of the client
11
+ *
12
+ * - `offline` - not connected (only emitted when {@link ICorePlatform.onNetworkChanged} callback
13
+ * is called with `false`)
14
+ * - `connecting` - currently connecting. All requests will be queued until the connection is established
15
+ * - `updating` - connected and is currently updating the state (i.e. downloading missing updates).
16
+ * At this point client is already fully operational, but some updates may be missing.
17
+ * Is only emitted when updates manager is enabled.
18
+ * - `connected` - connected and ready to send requests. When updates manager is enabled, this state
19
+ * may be emitted before `updating` state
20
+ */
21
+ export type ConnectionState = 'offline' | 'connecting' | 'updating' | 'connected';
9
22
  export interface ITelegramClient {
10
23
  readonly log: Logger;
11
24
  readonly storage: PublicPart<TelegramStorageManager>;
@@ -27,6 +40,7 @@ export interface ITelegramClient {
27
40
  handleClientUpdate(updates: tl.TypeUpdates, noDispatch?: boolean): void;
28
41
  onServerUpdate(handler: (update: tl.TypeUpdates) => void): void;
29
42
  onUpdate(handler: RawUpdateHandler): void;
43
+ onConnectionState(handler: (state: ConnectionState) => void): void;
30
44
  getApiCrenetials(): Promise<{
31
45
  id: number;
32
46
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.types.js","sourceRoot":"","sources":["../../../src/highlevel/client.types.ts"],"names":[],"mappings":"","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport type { ConnectionKind, RpcCallOptions } from '../network/index.js'\nimport type { MustEqual, PublicPart } from '../types/utils.js'\nimport type { Logger } from '../utils/logger.js'\nimport type { AppConfigManager } from './managers/app-config-manager.js'\nimport type { TelegramStorageManager } from './storage/storage.js'\nimport type { RawUpdateHandler } from './updates/types.js'\nimport type { StringSessionData } from './utils/string-session.js'\n\n// NB: when adding new methods, don't forget to add them to:\n// - worker/port.ts\n// - generate-client script\n\nexport interface ITelegramClient {\n readonly log: Logger\n readonly storage: PublicPart<TelegramStorageManager>\n readonly appConfig: PublicPart<AppConfigManager>\n\n prepare(): Promise<void>\n connect(): Promise<void>\n close(): Promise<void>\n notifyLoggedIn(auth: tl.auth.TypeAuthorization | tl.RawUser): Promise<tl.RawUser>\n notifyLoggedOut(): Promise<void>\n notifyChannelOpened(channelId: number, pts?: number): Promise<boolean>\n notifyChannelClosed(channelId: number): Promise<boolean>\n startUpdatesLoop(): Promise<void>\n stopUpdatesLoop(): Promise<void>\n call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']]>\n importSession(session: string | StringSessionData, force?: boolean): Promise<void>\n exportSession(): Promise<string>\n onError(handler: (err: unknown) => void): void\n emitError(err: unknown): void\n handleClientUpdate(updates: tl.TypeUpdates, noDispatch?: boolean): void\n\n onServerUpdate(handler: (update: tl.TypeUpdates) => void): void\n onUpdate(handler: RawUpdateHandler): void\n\n getApiCrenetials(): Promise<{ id: number; hash: string }>\n // todo - this is only used for file dl/ul, which should probably be moved\n // to the client to allow moving the thing to worker\n // or at least load this once at startup (and then these methods can be made sync)\n getPoolSize(kind: ConnectionKind, dcId?: number): Promise<number>\n getPrimaryDcId(): Promise<number>\n\n computeSrpParams(request: tl.account.RawPassword, password: string): Promise<tl.RawInputCheckPasswordSRP>\n computeNewPasswordHash(algo: tl.TypePasswordKdfAlgo, password: string): Promise<Uint8Array>\n}\n"]}
1
+ {"version":3,"file":"client.types.js","sourceRoot":"","sources":["../../../src/highlevel/client.types.ts"],"names":[],"mappings":"","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport type { ConnectionKind, RpcCallOptions } from '../network/index.js'\nimport type { MustEqual, PublicPart } from '../types/utils.js'\nimport type { Logger } from '../utils/logger.js'\nimport type { AppConfigManager } from './managers/app-config-manager.js'\nimport type { TelegramStorageManager } from './storage/storage.js'\nimport type { RawUpdateHandler } from './updates/types.js'\nimport type { StringSessionData } from './utils/string-session.js'\n\n/**\n * Connection state of the client\n *\n * - `offline` - not connected (only emitted when {@link ICorePlatform.onNetworkChanged} callback\n * is called with `false`)\n * - `connecting` - currently connecting. All requests will be queued until the connection is established\n * - `updating` - connected and is currently updating the state (i.e. downloading missing updates).\n * At this point client is already fully operational, but some updates may be missing.\n * Is only emitted when updates manager is enabled.\n * - `connected` - connected and ready to send requests. When updates manager is enabled, this state\n * may be emitted before `updating` state\n */\nexport type ConnectionState = 'offline' | 'connecting' | 'updating' | 'connected'\n\n// NB: when adding new methods, don't forget to add them to:\n// - worker/port.ts\n// - generate-client script\n\nexport interface ITelegramClient {\n readonly log: Logger\n readonly storage: PublicPart<TelegramStorageManager>\n readonly appConfig: PublicPart<AppConfigManager>\n\n prepare(): Promise<void>\n connect(): Promise<void>\n close(): Promise<void>\n notifyLoggedIn(auth: tl.auth.TypeAuthorization | tl.RawUser): Promise<tl.RawUser>\n notifyLoggedOut(): Promise<void>\n notifyChannelOpened(channelId: number, pts?: number): Promise<boolean>\n notifyChannelClosed(channelId: number): Promise<boolean>\n startUpdatesLoop(): Promise<void>\n stopUpdatesLoop(): Promise<void>\n call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']]>\n importSession(session: string | StringSessionData, force?: boolean): Promise<void>\n exportSession(): Promise<string>\n onError(handler: (err: unknown) => void): void\n emitError(err: unknown): void\n handleClientUpdate(updates: tl.TypeUpdates, noDispatch?: boolean): void\n\n onServerUpdate(handler: (update: tl.TypeUpdates) => void): void\n onUpdate(handler: RawUpdateHandler): void\n onConnectionState(handler: (state: ConnectionState) => void): void\n\n getApiCrenetials(): Promise<{ id: number; hash: string }>\n // todo - this is only used for file dl/ul, which should probably be moved\n // to the client to allow moving the thing to worker\n // or at least load this once at startup (and then these methods can be made sync)\n getPoolSize(kind: ConnectionKind, dcId?: number): Promise<number>\n getPrimaryDcId(): Promise<number>\n\n computeSrpParams(request: tl.account.RawPassword, password: string): Promise<tl.RawInputCheckPasswordSRP>\n computeNewPasswordHash(algo: tl.TypePasswordKdfAlgo, password: string): Promise<Uint8Array>\n}\n"]}
@@ -1,5 +1,3 @@
1
- export * from './base.js';
2
- export * from './client.js';
3
1
  export * from './client.types.js';
4
2
  export * from './storage/index.js';
5
3
  export * from './types/index.js';
@@ -1,5 +1,3 @@
1
- export * from './base.js';
2
- export * from './client.js';
3
1
  export * from './client.types.js';
4
2
  export * from './storage/index.js';
5
3
  export * from './types/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/highlevel/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './base.js'\nexport * from './client.js'\nexport * from './client.types.js'\nexport * from './storage/index.js'\nexport * from './types/index.js'\nexport * from './updates/index.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/highlevel/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './client.types.js'\nexport * from './storage/index.js'\nexport * from './types/index.js'\nexport * from './updates/index.js'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../../../src/highlevel/methods/_imports.ts"],"names":[],"mappings":"AAAA,sDAAsD","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n// @copy\nimport { tdFileId } from '@mtcute/file-id'\n// @copy\nimport { tl } from '@mtcute/tl'\n\n// @copy\nimport { MaybeArray, MaybePromise, PartialExcept, PartialOnly } from '../../types/index.js'\n// @copy\nimport { BaseTelegramClient, BaseTelegramClientOptions } from '../base.js'\n// @copy\nimport { ITelegramClient } from '../client.types.js'\n// @copy\nimport {\n AllStories,\n ArrayPaginated,\n ArrayWithTotal,\n Boost,\n BoostSlot,\n BoostStats,\n BotChatJoinRequestUpdate,\n BotCommands,\n BotReactionCountUpdate,\n BotReactionUpdate,\n BotStoppedUpdate,\n CallbackQuery,\n Chat,\n ChatEvent,\n ChatInviteLink,\n ChatInviteLinkMember,\n ChatJoinRequestUpdate,\n ChatMember,\n ChatMemberUpdate,\n ChatPreview,\n ChosenInlineResult,\n DeleteMessageUpdate,\n DeleteStoryUpdate,\n Dialog,\n FileDownloadLocation,\n FileDownloadParameters,\n ForumTopic,\n GameHighScore,\n HistoryReadUpdate,\n InlineCallbackQuery,\n InlineQuery,\n InputChatEventFilters,\n InputDialogFolder,\n InputFileLike,\n InputInlineResult,\n InputMediaLike,\n InputMessageId,\n InputPeerLike,\n InputPrivacyRule,\n InputReaction,\n InputStickerSet,\n InputStickerSetItem,\n InputText,\n MaybeDynamic,\n Message,\n MessageMedia,\n MessageReactions,\n ParametersSkip2,\n ParsedUpdate,\n PeerReaction,\n PeersIndex,\n PeerStories,\n Photo,\n Poll,\n PollUpdate,\n PollVoteUpdate,\n PreCheckoutQuery,\n RawDocument,\n ReplyMarkup,\n SentCode,\n Sticker,\n StickerSet,\n StickerSourceType,\n StickerType,\n StoriesStealthMode,\n Story,\n StoryInteractions,\n StoryUpdate,\n StoryViewer,\n StoryViewersList,\n TakeoutSession,\n TextWithEntities,\n TypingStatus,\n UploadedFile,\n UploadFileLike,\n User,\n UserStatusUpdate,\n UserTypingUpdate,\n} from '../types/index.js'\n// @copy\nimport { StringSessionData } from '../utils/string-session.js'\n"]}
1
+ {"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../../../src/highlevel/methods/_imports.ts"],"names":[],"mappings":"AAAA,sDAAsD","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n// @copy\nimport { tdFileId } from '@mtcute/file-id'\n// @copy\nimport { tl } from '@mtcute/tl'\n\n// @copy\nimport { RpcCallOptions } from '../../network/index.js'\n// @copy\nimport { MaybeArray, MaybePromise, MtUnsupportedError, PartialExcept, PartialOnly } from '../../types/index.js'\n// @copy\nimport { BaseTelegramClient, BaseTelegramClientOptions } from '../base.js'\n// @copy\nimport { ITelegramClient } from '../client.types.js'\n// @copy\nimport {\n AllStories,\n ArrayPaginated,\n ArrayWithTotal,\n Boost,\n BoostSlot,\n BoostStats,\n BotChatJoinRequestUpdate,\n BotCommands,\n BotReactionCountUpdate,\n BotReactionUpdate,\n BotStoppedUpdate,\n CallbackQuery,\n Chat,\n ChatEvent,\n ChatInviteLink,\n ChatInviteLinkMember,\n ChatJoinRequestUpdate,\n ChatMember,\n ChatMemberUpdate,\n ChatPreview,\n ChosenInlineResult,\n DeleteMessageUpdate,\n DeleteStoryUpdate,\n Dialog,\n FileDownloadLocation,\n FileDownloadParameters,\n ForumTopic,\n GameHighScore,\n HistoryReadUpdate,\n InlineCallbackQuery,\n InlineQuery,\n InputChatEventFilters,\n InputDialogFolder,\n InputFileLike,\n InputInlineResult,\n InputMediaLike,\n InputMessageId,\n InputPeerLike,\n InputPrivacyRule,\n InputReaction,\n InputStickerSet,\n InputStickerSetItem,\n InputText,\n MaybeDynamic,\n Message,\n MessageMedia,\n MessageReactions,\n ParametersSkip2,\n ParsedUpdate,\n PeerReaction,\n PeersIndex,\n PeerStories,\n Photo,\n Poll,\n PollUpdate,\n PollVoteUpdate,\n PreCheckoutQuery,\n RawDocument,\n ReplyMarkup,\n SentCode,\n Sticker,\n StickerSet,\n StickerSourceType,\n StickerType,\n StoriesStealthMode,\n Story,\n StoryInteractions,\n StoryUpdate,\n StoryViewer,\n StoryViewersList,\n TakeoutSession,\n TextWithEntities,\n TypingStatus,\n UploadedFile,\n UploadFileLike,\n User,\n UserStatusUpdate,\n UserTypingUpdate,\n} from '../types/index.js'\n// @copy\nimport { StringSessionData } from '../utils/string-session.js'\n"]}
@@ -1,26 +1,11 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  // @copy
3
- import { MemoryStorage } from '../../storage/providers/memory/index.js';
3
+ import { MtUnsupportedError } from '../../types/index.js';
4
4
  import { BaseTelegramClient } from '../base.js';
5
5
  // @copy
6
6
  import { Conversation } from '../types/conversation.js';
7
7
  // @copy
8
8
  import { makeParsedUpdateHandler } from '../updates/parsed.js';
9
- // @copy
10
- import { _defaultStorageFactory } from '../utils/platform/storage.js';
11
- // // @initialize=super
12
- // /** @internal */
13
- // function _initializeClientSuper(this: TelegramClient, opts: TelegramClientOptions) {
14
- // if (typeof opts.storage === 'string') {
15
- // opts.storage = _defaultStorageFactory(opts.storage)
16
- // } else if (!opts.storage) {
17
- // opts.storage = new MemoryStorage()
18
- // }
19
- // /* eslint-disable @typescript-eslint/no-unsafe-call */
20
- // // @ts-expect-error codegen
21
- // super(opts)
22
- // /* eslint-enable @typescript-eslint/no-unsafe-call */
23
- // }
24
9
  // @initialize
25
10
  /** @internal */
26
11
  function _initializeClient(opts) {
@@ -28,20 +13,10 @@ function _initializeClient(opts) {
28
13
  this._client = opts.client;
29
14
  }
30
15
  else {
31
- let storage;
32
- if (typeof opts.storage === 'string') {
33
- storage = _defaultStorageFactory(opts.storage);
34
- }
35
- else if (!opts.storage) {
36
- storage = new MemoryStorage();
37
- }
38
- else {
39
- storage = opts.storage;
16
+ if (!opts.storage || typeof opts.storage === 'string' || !opts.transport || !opts.crypto) {
17
+ throw new MtUnsupportedError('You need to explicitly provide storage, transport and crypto for @mtcute/core');
40
18
  }
41
- this._client = new BaseTelegramClient({
42
- ...opts,
43
- storage,
44
- });
19
+ this._client = new BaseTelegramClient(opts);
45
20
  }
46
21
  // @ts-expect-error codegen
47
22
  this.log = this._client.log;
@@ -1 +1 @@
1
- {"version":3,"file":"_init.js","sourceRoot":"","sources":["../../../../src/highlevel/methods/_init.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAA6B,MAAM,YAAY,CAAA;AAK1E,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,QAAQ;AACR,OAAO,EAAE,uBAAuB,EAA6B,MAAM,sBAAsB,CAAA;AACzF,QAAQ;AACR,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAyBrE,uBAAuB;AACvB,mBAAmB;AACnB,uFAAuF;AACvF,8CAA8C;AAC9C,8DAA8D;AAC9D,kCAAkC;AAClC,6CAA6C;AAC7C,QAAQ;AAER,6DAA6D;AAC7D,kCAAkC;AAClC,kBAAkB;AAClB,4DAA4D;AAC5D,IAAI;AAEJ,cAAc;AACd,gBAAgB;AAChB,SAAS,iBAAiB,CAAuB,IAA2B;IACxE,IAAI,QAAQ,IAAI,IAAI,EAAE;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;KAC7B;SAAM;QACH,IAAI,OAAiC,CAAA;QAErC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YAClC,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACjD;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACtB,OAAO,GAAG,IAAI,aAAa,EAAE,CAAA;SAChC;aAAM;YACH,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;SACzB;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC;YAClC,GAAG,IAAI;YACP,OAAO;SACV,CAAC,CAAA;KACL;IAED,2BAA2B;IAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,2BAA2B;IAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;IAEnC,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAA;IACpE,MAAM,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;IAEtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC1C,uBAAuB;QACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,uBAAuB;gBAAE,OAAM;YAEtF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;QACD,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC;KACJ,CAAC,CAAC,CAAA;AACP,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n// @copy\nimport { MemoryStorage } from '../../storage/providers/memory/index.js'\nimport { BaseTelegramClient, BaseTelegramClientOptions } from '../base.js'\nimport { TelegramClient } from '../client.js'\nimport { ITelegramClient } from '../client.types.js'\n// @copy\nimport { ITelegramStorageProvider } from '../storage/provider.js'\n// @copy\nimport { Conversation } from '../types/conversation.js'\n// @copy\nimport { makeParsedUpdateHandler, ParsedUpdateHandlerParams } from '../updates/parsed.js'\n// @copy\nimport { _defaultStorageFactory } from '../utils/platform/storage.js'\n\n// @copy\ntype TelegramClientOptions = ((Omit<BaseTelegramClientOptions, 'storage'> & {\n /**\n * Storage to use for this client.\n *\n * If a string is passed, it will be used as:\n * - a path to a JSON file for Node.js\n * - IndexedDB database name for browsers\n *\n * If omitted, {@link MemoryStorage} is used\n */\n storage?: string | ITelegramStorageProvider\n}) | ({ client: ITelegramClient })) & {\n updates?: Omit<ParsedUpdateHandlerParams, 'onUpdate'>\n /**\n * If `true`, the updates that were handled by some {@link Conversation}\n * will not be dispatched any further.\n *\n * @default true\n */\n skipConversationUpdates?: boolean\n}\n\n// // @initialize=super\n// /** @internal */\n// function _initializeClientSuper(this: TelegramClient, opts: TelegramClientOptions) {\n// if (typeof opts.storage === 'string') {\n// opts.storage = _defaultStorageFactory(opts.storage)\n// } else if (!opts.storage) {\n// opts.storage = new MemoryStorage()\n// }\n\n// /* eslint-disable @typescript-eslint/no-unsafe-call */\n// // @ts-expect-error codegen\n// super(opts)\n// /* eslint-enable @typescript-eslint/no-unsafe-call */\n// }\n\n// @initialize\n/** @internal */\nfunction _initializeClient(this: TelegramClient, opts: TelegramClientOptions) {\n if ('client' in opts) {\n this._client = opts.client\n } else {\n let storage: ITelegramStorageProvider\n\n if (typeof opts.storage === 'string') {\n storage = _defaultStorageFactory(opts.storage)\n } else if (!opts.storage) {\n storage = new MemoryStorage()\n } else {\n storage = opts.storage\n }\n\n this._client = new BaseTelegramClient({\n ...opts,\n storage,\n })\n }\n\n // @ts-expect-error codegen\n this.log = this._client.log\n // @ts-expect-error codegen\n this.storage = this._client.storage\n\n const skipConversationUpdates = opts.skipConversationUpdates ?? true\n const { messageGroupingInterval } = opts.updates ?? {}\n\n this._client.onUpdate(makeParsedUpdateHandler({\n messageGroupingInterval,\n onUpdate: (update) => {\n if (Conversation.handleUpdate(this._client, update) && skipConversationUpdates) return\n\n this.emit('update', update)\n this.emit(update.name, update.data)\n },\n onRawUpdate: (update, peers) => {\n this.emit('raw_update', update, peers)\n },\n }))\n}\n"]}
1
+ {"version":3,"file":"_init.js","sourceRoot":"","sources":["../../../../src/highlevel/methods/_init.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAe,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAA6B,MAAM,YAAY,CAAA;AAK1E,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,QAAQ;AACR,OAAO,EAAE,uBAAuB,EAA6B,MAAM,sBAAsB,CAAA;AAwBzF,cAAc;AACd,gBAAgB;AAChB,SAAS,iBAAiB,CAAuB,IAA2B;IACxE,IAAI,QAAQ,IAAI,IAAI,EAAE;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;KAC7B;SAAM;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACtF,MAAM,IAAI,kBAAkB,CAAC,+EAA+E,CAAC,CAAA;SAChH;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAiC,CAAC,CAAA;KAC3E;IAED,2BAA2B;IAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,2BAA2B;IAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;IAEnC,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAA;IACpE,MAAM,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;IAEtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC1C,uBAAuB;QACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,uBAAuB;gBAAE,OAAM;YAEtF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;QACD,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC;KACJ,CAAC,CAAC,CAAA;AACP,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n// @copy\nimport { MtUnsupportedError, PartialOnly } from '../../types/index.js'\nimport { BaseTelegramClient, BaseTelegramClientOptions } from '../base.js'\nimport { TelegramClient } from '../client.js'\nimport { ITelegramClient } from '../client.types.js'\n// @copy\nimport { ITelegramStorageProvider } from '../storage/provider.js'\n// @copy\nimport { Conversation } from '../types/conversation.js'\n// @copy\nimport { makeParsedUpdateHandler, ParsedUpdateHandlerParams } from '../updates/parsed.js'\n\n// @copy\ntype TelegramClientOptions = ((PartialOnly<Omit<BaseTelegramClientOptions, 'storage'>, 'transport' | 'crypto'> & {\n /**\n * Storage to use for this client.\n *\n * If a string is passed, it will be used as\n * a name for the default platform-specific storage provider to use.\n *\n * @default `\"client.session\"`\n */\n storage?: string | ITelegramStorageProvider\n}) | ({ client: ITelegramClient })) & {\n updates?: Omit<ParsedUpdateHandlerParams, 'onUpdate'>\n /**\n * If `true`, the updates that were handled by some {@link Conversation}\n * will not be dispatched any further.\n *\n * @default true\n */\n skipConversationUpdates?: boolean\n}\n\n// @initialize\n/** @internal */\nfunction _initializeClient(this: TelegramClient, opts: TelegramClientOptions) {\n if ('client' in opts) {\n this._client = opts.client\n } else {\n if (!opts.storage || typeof opts.storage === 'string' || !opts.transport || !opts.crypto) {\n throw new MtUnsupportedError('You need to explicitly provide storage, transport and crypto for @mtcute/core')\n }\n\n this._client = new BaseTelegramClient(opts as BaseTelegramClientOptions)\n }\n\n // @ts-expect-error codegen\n this.log = this._client.log\n // @ts-expect-error codegen\n this.storage = this._client.storage\n\n const skipConversationUpdates = opts.skipConversationUpdates ?? true\n const { messageGroupingInterval } = opts.updates ?? {}\n\n this._client.onUpdate(makeParsedUpdateHandler({\n messageGroupingInterval,\n onUpdate: (update) => {\n if (Conversation.handleUpdate(this._client, update) && skipConversationUpdates) return\n\n this.emit('update', update)\n this.emit(update.name, update.data)\n },\n onRawUpdate: (update, peers) => {\n this.emit('raw_update', update, peers)\n },\n }))\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { utf8EncodeToBuffer } from '@mtcute/tl-runtime';
1
+ import { getPlatform } from '../../../platform.js';
2
2
  import { normalizeInputMessageId } from '../../types/index.js';
3
3
  import { resolvePeer } from '../users/resolve-peer.js';
4
4
  /**
@@ -19,7 +19,7 @@ export async function getCallbackAnswer(client, params) {
19
19
  _: 'messages.getBotCallbackAnswer',
20
20
  peer: await resolvePeer(client, chatId),
21
21
  msgId: message,
22
- data: typeof data === 'string' ? utf8EncodeToBuffer(data) : data,
22
+ data: typeof data === 'string' ? getPlatform().utf8Encode(data) : data,
23
23
  password,
24
24
  game: game,
25
25
  }, { timeout, throw503: true });
@@ -1 +1 @@
1
- {"version":3,"file":"get-callback-answer.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/bots/get-callback-answer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAGvD,OAAO,EAAkB,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,MAAuB,EACvB,MAuBC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAE9C,IAAI,QAAQ,GAA6C,SAAS,CAAA;IAElE,IAAI,MAAM,EAAE,QAAQ,EAAE;QAClB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAA;QAC3D,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;KACjE;IAED,OAAO,MAAM,MAAM,CAAC,IAAI,CACpB;QACI,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAChE,QAAQ;QACR,IAAI,EAAE,IAAI;KACb,EACD,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAC9B,CAAA;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\nimport { utf8EncodeToBuffer } from '@mtcute/tl-runtime'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, normalizeInputMessageId } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Request a callback answer from a bot,\n * i.e. click an inline button that contains data.\n *\n * @param params\n */\nexport async function getCallbackAnswer(\n client: ITelegramClient,\n params: InputMessageId & {\n /** Data contained in the button */\n data: string | Uint8Array\n\n /**\n * Timeout for the query in ms.\n *\n * @default `10000` (10 sec)\n */\n timeout?: number\n\n /**\n * Whether this is a \"play game\" button\n */\n game?: boolean\n\n /**\n * If the button requires password entry, your 2FA password.\n *\n * Your password is never exposed to the bot,\n * it is checked by Telegram.\n */\n password?: string\n },\n): Promise<tl.messages.TypeBotCallbackAnswer> {\n const { chatId, message } = normalizeInputMessageId(params)\n const { data, game, timeout = 10000 } = params\n\n let password: tl.TypeInputCheckPasswordSRP | undefined = undefined\n\n if (params?.password) {\n const pwd = await client.call({ _: 'account.getPassword' })\n password = await client.computeSrpParams(pwd, params.password)\n }\n\n return await client.call(\n {\n _: 'messages.getBotCallbackAnswer',\n peer: await resolvePeer(client, chatId),\n msgId: message,\n data: typeof data === 'string' ? utf8EncodeToBuffer(data) : data,\n password,\n game: game,\n },\n { timeout, throw503: true },\n )\n}\n"]}
1
+ {"version":3,"file":"get-callback-answer.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/bots/get-callback-answer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAkB,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,MAAuB,EACvB,MAuBC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAE9C,IAAI,QAAQ,GAA6C,SAAS,CAAA;IAElE,IAAI,MAAM,EAAE,QAAQ,EAAE;QAClB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAA;QAC3D,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;KACjE;IAED,OAAO,MAAM,MAAM,CAAC,IAAI,CACpB;QACI,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACtE,QAAQ;QACR,IAAI,EAAE,IAAI;KACb,EACD,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAC9B,CAAA;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getPlatform } from '../../../platform.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, normalizeInputMessageId } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Request a callback answer from a bot,\n * i.e. click an inline button that contains data.\n *\n * @param params\n */\nexport async function getCallbackAnswer(\n client: ITelegramClient,\n params: InputMessageId & {\n /** Data contained in the button */\n data: string | Uint8Array\n\n /**\n * Timeout for the query in ms.\n *\n * @default `10000` (10 sec)\n */\n timeout?: number\n\n /**\n * Whether this is a \"play game\" button\n */\n game?: boolean\n\n /**\n * If the button requires password entry, your 2FA password.\n *\n * Your password is never exposed to the bot,\n * it is checked by Telegram.\n */\n password?: string\n },\n): Promise<tl.messages.TypeBotCallbackAnswer> {\n const { chatId, message } = normalizeInputMessageId(params)\n const { data, game, timeout = 10000 } = params\n\n let password: tl.TypeInputCheckPasswordSRP | undefined = undefined\n\n if (params?.password) {\n const pwd = await client.call({ _: 'account.getPassword' })\n password = await client.computeSrpParams(pwd, params.password)\n }\n\n return await client.call(\n {\n _: 'messages.getBotCallbackAnswer',\n peer: await resolvePeer(client, chatId),\n msgId: message,\n data: typeof data === 'string' ? getPlatform().utf8Encode(data) : data,\n password,\n game: game,\n },\n { timeout, throw503: true },\n )\n}\n"]}
@@ -16,7 +16,7 @@ export async function createFolder(client, folder) {
16
16
  // determine next id by finding max id
17
17
  // thanks durov for awesome api
18
18
  let max = 1;
19
- old.forEach((it) => {
19
+ old.filters.forEach((it) => {
20
20
  if (it._ === 'dialogFilter' && it.id > max)
21
21
  max = it.id;
22
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/create-folder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,MAAuB,EACvB,MAAkD;IAElD,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IAElB,IAAI,CAAC,EAAE,EAAE;QACL,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAEpC,sCAAsC;QACtC,+BAA+B;QAC/B,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACf,IAAI,EAAE,CAAC,CAAC,KAAK,cAAc,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;QAC3D,CAAC,CAAC,CAAA;QACF,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;KACf;IAED,MAAM,MAAM,GAAuB;QAC/B,CAAC,EAAE,cAAc;QACjB,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,GAAG,MAAM;QACT,EAAE;KACL,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,6BAA6B;QAChC,EAAE;QACF,MAAM;KACT,CAAC,CAAA;IAEF,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { PartialExcept } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Create a folder from given parameters\n *\n * ID for the folder is optional, if not\n * provided it will be derived automatically.\n *\n * @param folder Parameters for the folder\n * @returns Newly created folder\n */\nexport async function createFolder(\n client: ITelegramClient,\n folder: PartialExcept<tl.RawDialogFilter, 'title'>,\n): Promise<tl.RawDialogFilter> {\n let id = folder.id\n\n if (!id) {\n const old = await getFolders(client)\n\n // determine next id by finding max id\n // thanks durov for awesome api\n let max = 1\n old.forEach((it) => {\n if (it._ === 'dialogFilter' && it.id > max) max = it.id\n })\n id = max + 1\n }\n\n const filter: tl.RawDialogFilter = {\n _: 'dialogFilter',\n pinnedPeers: [],\n includePeers: [],\n excludePeers: [],\n ...folder,\n id,\n }\n\n const r = await client.call({\n _: 'messages.updateDialogFilter',\n id,\n filter,\n })\n\n assertTrue('messages.updateDialogFilter', r)\n\n return filter\n}\n"]}
1
+ {"version":3,"file":"create-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/create-folder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,MAAuB,EACvB,MAAkD;IAElD,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IAElB,IAAI,CAAC,EAAE,EAAE;QACL,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAEpC,sCAAsC;QACtC,+BAA+B;QAC/B,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,IAAI,EAAE,CAAC,CAAC,KAAK,cAAc,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;QAC3D,CAAC,CAAC,CAAA;QACF,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;KACf;IAED,MAAM,MAAM,GAAuB;QAC/B,CAAC,EAAE,cAAc;QACjB,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,GAAG,MAAM;QACT,EAAE;KACL,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,6BAA6B;QAChC,EAAE;QACF,MAAM;KACT,CAAC,CAAA;IAEF,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { PartialExcept } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Create a folder from given parameters\n *\n * ID for the folder is optional, if not\n * provided it will be derived automatically.\n *\n * @param folder Parameters for the folder\n * @returns Newly created folder\n */\nexport async function createFolder(\n client: ITelegramClient,\n folder: PartialExcept<tl.RawDialogFilter, 'title'>,\n): Promise<tl.RawDialogFilter> {\n let id = folder.id\n\n if (!id) {\n const old = await getFolders(client)\n\n // determine next id by finding max id\n // thanks durov for awesome api\n let max = 1\n old.filters.forEach((it) => {\n if (it._ === 'dialogFilter' && it.id > max) max = it.id\n })\n id = max + 1\n }\n\n const filter: tl.RawDialogFilter = {\n _: 'dialogFilter',\n pinnedPeers: [],\n includePeers: [],\n excludePeers: [],\n ...folder,\n id,\n }\n\n const r = await client.call({\n _: 'messages.updateDialogFilter',\n id,\n filter,\n })\n\n assertTrue('messages.updateDialogFilter', r)\n\n return filter\n}\n"]}
@@ -14,7 +14,7 @@ export async function editFolder(client, params) {
14
14
  }
15
15
  if (typeof folder === 'number' || typeof folder === 'string') {
16
16
  const old = await getFolders(client);
17
- const found = old.find((it) => it._ === 'dialogFilter' && (it.id === folder || it.title === folder));
17
+ const found = old.filters.find((it) => it._ === 'dialogFilter' && (it.id === folder || it.title === folder));
18
18
  if (!found) {
19
19
  throw new MtArgumentError(`Could not find a folder ${folder}`);
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"edit-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/edit-folder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAWC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEvB,IAAI,MAAM,KAAK,CAAC,EAAE;QACd,MAAM,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAA;KAC5D;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAA;QAEpG,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,eAAe,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAA;SACjE;QAED,MAAM,GAAG,KAA2B,CAAA;KACvC;IAED,MAAM,MAAM,GAAuB;QAC/B,GAAG,MAAM;QACT,GAAG,YAAY;KAClB,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,6BAA6B;QAChC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM;KACT,CAAC,CAAA;IAEF,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Edit a folder with given modification\n *\n * @returns Modified folder\n */\nexport async function editFolder(\n client: ITelegramClient,\n params: {\n /**\n * Folder, folder ID or name.\n * Note that passing an ID or name will require re-fetching all folders,\n * and passing name might affect not the right folder if you have multiple\n * with the same name.\n */\n folder: tl.RawDialogFilter | number | string\n\n /** Modification to be applied to this folder */\n modification: Partial<Omit<tl.RawDialogFilter, 'id' | '_'>>\n },\n): Promise<tl.RawDialogFilter> {\n const { modification } = params\n let { folder } = params\n\n if (folder === 0) {\n throw new MtArgumentError('Cannot modify default folder')\n }\n if (typeof folder === 'number' || typeof folder === 'string') {\n const old = await getFolders(client)\n const found = old.find((it) => it._ === 'dialogFilter' && (it.id === folder || it.title === folder))\n\n if (!found) {\n throw new MtArgumentError(`Could not find a folder ${folder}`)\n }\n\n folder = found as tl.RawDialogFilter\n }\n\n const filter: tl.RawDialogFilter = {\n ...folder,\n ...modification,\n }\n\n const r = await client.call({\n _: 'messages.updateDialogFilter',\n id: folder.id,\n filter,\n })\n\n assertTrue('messages.updateDialogFilter', r)\n\n return filter\n}\n"]}
1
+ {"version":3,"file":"edit-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/edit-folder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAWC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEvB,IAAI,MAAM,KAAK,CAAC,EAAE;QACd,MAAM,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAA;KAC5D;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAA;QAE5G,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,eAAe,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAA;SACjE;QAED,MAAM,GAAG,KAA2B,CAAA;KACvC;IAED,MAAM,MAAM,GAAuB;QAC/B,GAAG,MAAM;QACT,GAAG,YAAY;KAClB,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,6BAA6B;QAChC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM;KACT,CAAC,CAAA;IAEF,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Edit a folder with given modification\n *\n * @returns Modified folder\n */\nexport async function editFolder(\n client: ITelegramClient,\n params: {\n /**\n * Folder, folder ID or name.\n * Note that passing an ID or name will require re-fetching all folders,\n * and passing name might affect not the right folder if you have multiple\n * with the same name.\n */\n folder: tl.RawDialogFilter | number | string\n\n /** Modification to be applied to this folder */\n modification: Partial<Omit<tl.RawDialogFilter, 'id' | '_'>>\n },\n): Promise<tl.RawDialogFilter> {\n const { modification } = params\n let { folder } = params\n\n if (folder === 0) {\n throw new MtArgumentError('Cannot modify default folder')\n }\n if (typeof folder === 'number' || typeof folder === 'string') {\n const old = await getFolders(client)\n const found = old.filters.find((it) => it._ === 'dialogFilter' && (it.id === folder || it.title === folder))\n\n if (!found) {\n throw new MtArgumentError(`Could not find a folder ${folder}`)\n }\n\n folder = found as tl.RawDialogFilter\n }\n\n const filter: tl.RawDialogFilter = {\n ...folder,\n ...modification,\n }\n\n const r = await client.call({\n _: 'messages.updateDialogFilter',\n id: folder.id,\n filter,\n })\n\n assertTrue('messages.updateDialogFilter', r)\n\n return filter\n}\n"]}
@@ -14,7 +14,7 @@ export async function findFolder(client, params) {
14
14
  throw new MtArgumentError('One of search parameters must be passed');
15
15
  }
16
16
  const folders = await getFolders(client);
17
- return (folders.find((it) => {
17
+ return (folders.filters.find((it) => {
18
18
  if (it._ === 'dialogFilterDefault')
19
19
  return false;
20
20
  if (params.id && it.id !== params.id)
@@ -1 +1 @@
1
- {"version":3,"file":"find-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/find-folder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAOC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QAC9C,MAAM,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAAA;KACvE;IAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;IAExC,OAAO,CACF,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,KAAK,qBAAqB;YAAE,OAAO,KAAK,CAAA;QAChD,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;YAAE,OAAO,KAAK,CAAA;QAClD,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC3D,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAE9D,OAAO,IAAI,CAAA;IACf,CAAC,CAAwB,IAAI,IAAI,CACpC,CAAA;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Find a folder by its parameter.\n *\n * > **Note**: Searching by title and/or emoji might not be\n * > accurate since you can set the same title and/or emoji\n * > to multiple folders.\n *\n * @param params Search parameters. At least one must be set.\n */\nexport async function findFolder(\n client: ITelegramClient,\n params: {\n /** Folder title */\n title?: string\n /** Folder emoji */\n emoji?: string\n /** Folder ID */\n id?: number\n },\n): Promise<tl.RawDialogFilter | null> {\n if (!params.title && !params.emoji && !params.id) {\n throw new MtArgumentError('One of search parameters must be passed')\n }\n\n const folders = await getFolders(client)\n\n return (\n (folders.find((it) => {\n if (it._ === 'dialogFilterDefault') return false\n if (params.id && it.id !== params.id) return false\n if (params.title && it.title !== params.title) return false\n if (params.emoji && it.emoticon !== params.emoji) return false\n\n return true\n }) as tl.RawDialogFilter) ?? null\n )\n}\n"]}
1
+ {"version":3,"file":"find-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/find-folder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAOC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QAC9C,MAAM,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAAA;KACvE;IAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;IAExC,OAAO,CACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACzB,IAAI,EAAE,CAAC,CAAC,KAAK,qBAAqB;YAAE,OAAO,KAAK,CAAA;QAChD,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;YAAE,OAAO,KAAK,CAAA;QAClD,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC3D,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAE9D,OAAO,IAAI,CAAA;IACf,CAAC,CAAwB,IAAI,IAAI,CACpC,CAAA;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Find a folder by its parameter.\n *\n * > **Note**: Searching by title and/or emoji might not be\n * > accurate since you can set the same title and/or emoji\n * > to multiple folders.\n *\n * @param params Search parameters. At least one must be set.\n */\nexport async function findFolder(\n client: ITelegramClient,\n params: {\n /** Folder title */\n title?: string\n /** Folder emoji */\n emoji?: string\n /** Folder ID */\n id?: number\n },\n): Promise<tl.RawDialogFilter | null> {\n if (!params.title && !params.emoji && !params.id) {\n throw new MtArgumentError('One of search parameters must be passed')\n }\n\n const folders = await getFolders(client)\n\n return (\n (folders.filters.find((it) => {\n if (it._ === 'dialogFilterDefault') return false\n if (params.id && it.id !== params.id) return false\n if (params.title && it.title !== params.title) return false\n if (params.emoji && it.emoticon !== params.emoji) return false\n\n return true\n }) as tl.RawDialogFilter) ?? null\n )\n}\n"]}
@@ -3,4 +3,4 @@ import { ITelegramClient } from '../../client.types.js';
3
3
  /**
4
4
  * Get list of folders.
5
5
  */
6
- export declare function getFolders(client: ITelegramClient): Promise<tl.TypeDialogFilter[]>;
6
+ export declare function getFolders(client: ITelegramClient): Promise<tl.messages.RawDialogFilters>;
@@ -11,7 +11,7 @@ export async function getFolders(client) {
11
11
  export async function _normalizeInputFolder(client, folder) {
12
12
  if (typeof folder === 'string' || typeof folder === 'number') {
13
13
  const folders = await getFolders(client);
14
- const found = folders.find((it) => {
14
+ const found = folders.filters.find((it) => {
15
15
  if (it._ === 'dialogFilterDefault') {
16
16
  return folder === 0;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-folders.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/get-folders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC;QACf,CAAC,EAAE,2BAA2B;KACjC,CAAC,CAAA;AACN,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,MAAuB,EACvB,MAAyB;IAEzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,qBAAqB,EAAE;gBAChC,OAAO,MAAM,KAAK,CAAC,CAAA;aACtB;YAED,OAAO,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,eAAe,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;SAC/D;QAED,OAAO,KAAK,CAAA;KACf;IAED,OAAO,MAAM,CAAA;AACjB,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputDialogFolder } from '../../types/index.js'\n\n/**\n * Get list of folders.\n */\nexport async function getFolders(client: ITelegramClient): Promise<tl.TypeDialogFilter[]> {\n return client.call({\n _: 'messages.getDialogFilters',\n })\n}\n\n/** @internal */\nexport async function _normalizeInputFolder(\n client: ITelegramClient,\n folder: InputDialogFolder,\n): Promise<tl.TypeDialogFilter> {\n if (typeof folder === 'string' || typeof folder === 'number') {\n const folders = await getFolders(client)\n const found = folders.find((it) => {\n if (it._ === 'dialogFilterDefault') {\n return folder === 0\n }\n\n return it.id === folder || it.title === folder\n })\n\n if (!found) {\n throw new MtArgumentError(`Could not find folder ${folder}`)\n }\n\n return found\n }\n\n return folder\n}\n"]}
1
+ {"version":3,"file":"get-folders.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/get-folders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC;QACf,CAAC,EAAE,2BAA2B;KACjC,CAAC,CAAA;AACN,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,MAAuB,EACvB,MAAyB;IAEzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YACtC,IAAI,EAAE,CAAC,CAAC,KAAK,qBAAqB,EAAE;gBAChC,OAAO,MAAM,KAAK,CAAC,CAAA;aACtB;YAED,OAAO,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,eAAe,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;SAC/D;QAED,OAAO,KAAK,CAAA;KACf;IAED,OAAO,MAAM,CAAA;AACjB,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputDialogFolder } from '../../types/index.js'\n\n/**\n * Get list of folders.\n */\nexport async function getFolders(client: ITelegramClient): Promise<tl.messages.RawDialogFilters> {\n return client.call({\n _: 'messages.getDialogFilters',\n })\n}\n\n/** @internal */\nexport async function _normalizeInputFolder(\n client: ITelegramClient,\n folder: InputDialogFolder,\n): Promise<tl.TypeDialogFilter> {\n if (typeof folder === 'string' || typeof folder === 'number') {\n const folders = await getFolders(client)\n const found = folders.filters.find((it) => {\n if (it._ === 'dialogFilterDefault') {\n return folder === 0\n }\n\n return it.id === folder || it.title === folder\n })\n\n if (!found) {\n throw new MtArgumentError(`Could not find folder ${folder}`)\n }\n\n return found\n }\n\n return folder\n}\n"]}
@@ -1,10 +1 @@
1
- import { ITelegramClient } from '../../client.types.js';
2
- import { FileDownloadLocation, FileDownloadParameters } from '../../types/index.js';
3
- /**
4
- * Download a remote file to a local file (only for NodeJS).
5
- * Promise will resolve once the download is complete.
6
- *
7
- * @param filename Local file name to which the remote file will be downloaded
8
- * @param params File download parameters
9
- */
10
- export declare function downloadToFile(client: ITelegramClient, filename: string, location: FileDownloadLocation, params?: FileDownloadParameters): Promise<void>;
1
+ export {};
@@ -1,31 +1,3 @@
1
- // eslint-disable-next-line no-restricted-imports
2
- import { createWriteStream, rmSync } from 'fs';
3
- import { writeFile } from 'fs/promises';
4
- import { FileLocation } from '../../types/index.js';
5
- import { downloadAsIterable } from './download-iterable.js';
6
- /**
7
- * Download a remote file to a local file (only for NodeJS).
8
- * Promise will resolve once the download is complete.
9
- *
10
- * @param filename Local file name to which the remote file will be downloaded
11
- * @param params File download parameters
12
- */
13
- export async function downloadToFile(client, filename, location, params) {
14
- if (location instanceof FileLocation && ArrayBuffer.isView(location.location)) {
15
- // early return for inline files
16
- await writeFile(filename, location.location);
17
- }
18
- const output = createWriteStream(filename);
19
- if (params?.abortSignal) {
20
- params.abortSignal.addEventListener('abort', () => {
21
- client.log.debug('aborting file download %s - cleaning up', filename);
22
- output.destroy();
23
- rmSync(filename);
24
- });
25
- }
26
- for await (const chunk of downloadAsIterable(client, location, params)) {
27
- output.write(chunk);
28
- }
29
- output.end();
30
- }
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ export {};
31
3
  //# sourceMappingURL=download-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/download-file.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,OAAO,EAAgD,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,MAAuB,EACvB,QAAgB,EAChB,QAA8B,EAC9B,MAA+B;IAE/B,IAAI,QAAQ,YAAY,YAAY,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC3E,gCAAgC;QAChC,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAC/C;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAE1C,IAAI,MAAM,EAAE,WAAW,EAAE;QACrB,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,QAAQ,CAAC,CAAA;YACrE,MAAM,CAAC,OAAO,EAAE,CAAA;YAChB,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;KACL;IAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;QACpE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KACtB;IAED,MAAM,CAAC,GAAG,EAAE,CAAA;AAChB,CAAC","sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { createWriteStream, rmSync } from 'fs'\nimport { writeFile } from 'fs/promises'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { FileDownloadLocation, FileDownloadParameters, FileLocation } from '../../types/index.js'\nimport { downloadAsIterable } from './download-iterable.js'\n\n/**\n * Download a remote file to a local file (only for NodeJS).\n * Promise will resolve once the download is complete.\n *\n * @param filename Local file name to which the remote file will be downloaded\n * @param params File download parameters\n */\nexport async function downloadToFile(\n client: ITelegramClient,\n filename: string,\n location: FileDownloadLocation,\n params?: FileDownloadParameters,\n): Promise<void> {\n if (location instanceof FileLocation && ArrayBuffer.isView(location.location)) {\n // early return for inline files\n await writeFile(filename, location.location)\n }\n\n const output = createWriteStream(filename)\n\n if (params?.abortSignal) {\n params.abortSignal.addEventListener('abort', () => {\n client.log.debug('aborting file download %s - cleaning up', filename)\n output.destroy()\n rmSync(filename)\n })\n }\n\n for await (const chunk of downloadAsIterable(client, location, params)) {\n output.write(chunk)\n }\n\n output.end()\n}\n"]}
1
+ {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/download-file.ts"],"names":[],"mappings":"AAAA,sDAAsD","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { FileDownloadLocation, FileDownloadParameters } from '../../types/index.js'\n\n// @available=both\n/**\n * Download a remote file to a local file (only for Node.js).\n * Promise will resolve once the download is complete.\n *\n * @param filename Local file name to which the remote file will be downloaded\n * @param params File download parameters\n */\ndeclare function downloadToFile(\n client: ITelegramClient,\n filename: string,\n location: FileDownloadLocation,\n params?: FileDownloadParameters,\n): Promise<void>\n"]}
@@ -1,5 +1,6 @@
1
1
  import { parseFileId } from '@mtcute/file-id';
2
2
  import { tl } from '@mtcute/tl';
3
+ import { getPlatform } from '../../../platform.js';
3
4
  import { MtArgumentError, MtUnsupportedError } from '../../../types/errors.js';
4
5
  import { ConditionVariable } from '../../../utils/condition-variable.js';
5
6
  import { FileLocation } from '../../types/index.js';
@@ -43,7 +44,7 @@ export async function* downloadAsIterable(client, input, params) {
43
44
  location = locationInner;
44
45
  }
45
46
  else if (typeof input === 'string') {
46
- const parsed = parseFileId(input);
47
+ const parsed = parseFileId(getPlatform(), input);
47
48
  if (parsed.location._ === 'web') {
48
49
  location = fileIdToInputWebFileLocation(parsed);
49
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"download-iterable.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/download-iterable.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { ConnectionKind } from '../../../network/network-manager.js'\nimport { MtArgumentError, MtUnsupportedError } from '../../../types/errors.js'\nimport { ConditionVariable } from '../../../utils/condition-variable.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { FileDownloadLocation, FileDownloadParameters, FileLocation } from '../../types/index.js'\nimport { fileIdToInputFileLocation, fileIdToInputWebFileLocation } from '../../utils/convert-file-id.js'\nimport { determinePartSize } from '../../utils/file-utils.js'\n\n// small files (less than 128 kb) are downloaded using the \"downloadSmall\" pool\n// furthermore, if the file is small and is located on our main DC, it will be downloaded\n// using the current main connection\nconst SMALL_FILE_MAX_SIZE = 131072\nconst REQUESTS_PER_CONNECTION = 3 // some arbitrary magic value that seems to work best\n\n/**\n * Download a file and return it as an iterable, which yields file contents\n * in chunks of a given size. Order of the chunks is guaranteed to be\n * consecutive.\n *\n * @param params Download parameters\n */\nexport async function* downloadAsIterable(\n client: ITelegramClient,\n input: FileDownloadLocation,\n params?: FileDownloadParameters,\n): AsyncIterableIterator<Uint8Array> {\n const offset = params?.offset ?? 0\n\n if (offset % 4096 !== 0) {\n throw new MtArgumentError(`Invalid offset: ${offset}. Must be divisible by 4096`)\n }\n\n let dcId = params?.dcId\n let fileSize = params?.fileSize\n\n const abortSignal = params?.abortSignal\n let aborted = false\n\n let location: tl.TypeInputFileLocation | tl.TypeInputWebFileLocation\n if (input instanceof FileLocation) {\n let locationInner = input.location\n\n if (typeof locationInner === 'function') {\n locationInner = locationInner()\n }\n\n if (ArrayBuffer.isView(locationInner)) {\n yield locationInner\n\n return\n }\n if (!dcId) dcId = input.dcId\n if (!fileSize) fileSize = input.fileSize\n location = locationInner\n } else if (typeof input === 'string') {\n const parsed = parseFileId(input)\n\n if (parsed.location._ === 'web') {\n location = fileIdToInputWebFileLocation(parsed)\n } else {\n location = fileIdToInputFileLocation(parsed)\n }\n } else location = input\n\n const isWeb = tl.isAnyInputWebFileLocation(location)\n\n // we will receive a FileMigrateError in case this is invalid\n const primaryDcId = await client.getPrimaryDcId()\n if (!dcId) dcId = primaryDcId\n\n const partSizeKb = params?.partSize ?? (fileSize ? determinePartSize(fileSize) : 64)\n\n if (partSizeKb % 4 !== 0) {\n throw new MtArgumentError(`Invalid part size: ${partSizeKb}. Must be divisible by 4.`)\n }\n\n const chunkSize = partSizeKb * 1024\n\n let limitBytes = params?.limit ?? fileSize ?? Infinity\n if (limitBytes === 0) return\n\n let numChunks = limitBytes === Infinity ? Infinity : ~~((limitBytes + chunkSize - offset - 1) / chunkSize)\n\n let nextChunkIdx = 0\n let nextWorkerChunkIdx = 0\n const nextChunkCv = new ConditionVariable()\n const buffer: Record<number, Uint8Array> = {}\n\n const isSmall = fileSize && fileSize <= SMALL_FILE_MAX_SIZE\n let connectionKind: ConnectionKind\n\n if (isSmall) {\n connectionKind = dcId === primaryDcId ? 'main' : 'downloadSmall'\n } else {\n connectionKind = 'download'\n }\n const poolSize = await client.getPoolSize(connectionKind, dcId)\n\n client.log.debug(\n 'Downloading file of size %d from dc %d using %s connection pool (pool size: %d)',\n limitBytes,\n dcId,\n connectionKind,\n poolSize,\n )\n\n const downloadChunk = async (chunk = nextWorkerChunkIdx++): Promise<void> => {\n let result: tl.RpcCallReturn['upload.getFile'] | tl.RpcCallReturn['upload.getWebFile']\n\n if (aborted) {\n return\n }\n\n try {\n result = await client.call(\n {\n _: isWeb ? 'upload.getWebFile' : 'upload.getFile',\n // eslint-disable-next-line\n location: location as any,\n offset: chunkSize * chunk,\n limit: chunkSize,\n },\n {\n dcId,\n kind: connectionKind,\n maxRetryCount: Infinity, // retry until explicitly aborted (or finished)\n abortSignal,\n },\n )\n } catch (e: unknown) {\n if (e instanceof DOMException && e.name === 'AbortError') return\n if (!tl.RpcError.is(e)) throw e\n\n if (e.is('FILE_MIGRATE_%d')) {\n dcId = e.newDc\n\n return downloadChunk(chunk)\n } else if (e.is('FILEREF_UPGRADE_NEEDED')) {\n // todo: implement someday\n // see: https://github.com/LonamiWebs/Telethon/blob/0e8bd8248cc649637b7c392616887c50986427a0/telethon/client/downloads.py#L99\n throw new MtUnsupportedError('File ref expired!')\n } else throw e\n }\n\n if (result._ === 'upload.fileCdnRedirect') {\n // we shouldnt receive them since cdnSupported is not set in the getFile request.\n // also, i couldnt find any media that would be downloaded from cdn, so even if\n // i implemented that, i wouldnt be able to test that, so :shrug:\n throw new MtUnsupportedError('Received CDN redirect, which is not supported (yet)')\n }\n\n if (aborted) {\n return\n }\n\n if (result._ === 'upload.webFile' && result.size && limitBytes === Infinity) {\n limitBytes = result.size\n numChunks = ~~((limitBytes + chunkSize - offset - 1) / chunkSize)\n }\n\n buffer[chunk] = result.bytes\n\n if (chunk === nextChunkIdx) {\n nextChunkCv.notify()\n }\n\n if (nextWorkerChunkIdx < numChunks && result.bytes.length === chunkSize) {\n return downloadChunk()\n }\n }\n\n let error: unknown = undefined\n void Promise.all(Array.from({ length: Math.min(poolSize * REQUESTS_PER_CONNECTION, numChunks) }, downloadChunk))\n .catch((e) => {\n client.log.debug('download workers errored: %s', e.message)\n error = e\n aborted = true // not really aborted, but we dont want to download more chunks\n nextChunkCv.notify()\n })\n .then(() => {\n client.log.debug('download workers finished')\n })\n\n // to avoid MaxListenersExceededWarning we do this instead\n // already sent requests can go to hell (they will get ignored)\n abortSignal?.addEventListener('abort', () => {\n client.log.debug('download aborted')\n error = abortSignal.reason\n aborted = true\n nextChunkCv.notify()\n })\n\n let position = offset\n\n while (position < limitBytes) {\n await nextChunkCv.wait()\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n if (error) throw error\n\n while (nextChunkIdx in buffer) {\n const buf = buffer[nextChunkIdx]\n delete buffer[nextChunkIdx]\n\n position += buf.length\n\n params?.progressCallback?.(position, limitBytes)\n\n yield buf\n\n nextChunkIdx++\n\n if (buf.length < chunkSize) {\n // we received the last chunk\n return\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"download-iterable.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/download-iterable.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { ConnectionKind } from '../../../network/network-manager.js'\nimport { getPlatform } from '../../../platform.js'\nimport { MtArgumentError, MtUnsupportedError } from '../../../types/errors.js'\nimport { ConditionVariable } from '../../../utils/condition-variable.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { FileDownloadLocation, FileDownloadParameters, FileLocation } from '../../types/index.js'\nimport { fileIdToInputFileLocation, fileIdToInputWebFileLocation } from '../../utils/convert-file-id.js'\nimport { determinePartSize } from '../../utils/file-utils.js'\n\n// small files (less than 128 kb) are downloaded using the \"downloadSmall\" pool\n// furthermore, if the file is small and is located on our main DC, it will be downloaded\n// using the current main connection\nconst SMALL_FILE_MAX_SIZE = 131072\nconst REQUESTS_PER_CONNECTION = 3 // some arbitrary magic value that seems to work best\n\n/**\n * Download a file and return it as an iterable, which yields file contents\n * in chunks of a given size. Order of the chunks is guaranteed to be\n * consecutive.\n *\n * @param params Download parameters\n */\nexport async function* downloadAsIterable(\n client: ITelegramClient,\n input: FileDownloadLocation,\n params?: FileDownloadParameters,\n): AsyncIterableIterator<Uint8Array> {\n const offset = params?.offset ?? 0\n\n if (offset % 4096 !== 0) {\n throw new MtArgumentError(`Invalid offset: ${offset}. Must be divisible by 4096`)\n }\n\n let dcId = params?.dcId\n let fileSize = params?.fileSize\n\n const abortSignal = params?.abortSignal\n let aborted = false\n\n let location: tl.TypeInputFileLocation | tl.TypeInputWebFileLocation\n if (input instanceof FileLocation) {\n let locationInner = input.location\n\n if (typeof locationInner === 'function') {\n locationInner = locationInner()\n }\n\n if (ArrayBuffer.isView(locationInner)) {\n yield locationInner\n\n return\n }\n if (!dcId) dcId = input.dcId\n if (!fileSize) fileSize = input.fileSize\n location = locationInner\n } else if (typeof input === 'string') {\n const parsed = parseFileId(getPlatform(), input)\n\n if (parsed.location._ === 'web') {\n location = fileIdToInputWebFileLocation(parsed)\n } else {\n location = fileIdToInputFileLocation(parsed)\n }\n } else location = input\n\n const isWeb = tl.isAnyInputWebFileLocation(location)\n\n // we will receive a FileMigrateError in case this is invalid\n const primaryDcId = await client.getPrimaryDcId()\n if (!dcId) dcId = primaryDcId\n\n const partSizeKb = params?.partSize ?? (fileSize ? determinePartSize(fileSize) : 64)\n\n if (partSizeKb % 4 !== 0) {\n throw new MtArgumentError(`Invalid part size: ${partSizeKb}. Must be divisible by 4.`)\n }\n\n const chunkSize = partSizeKb * 1024\n\n let limitBytes = params?.limit ?? fileSize ?? Infinity\n if (limitBytes === 0) return\n\n let numChunks = limitBytes === Infinity ? Infinity : ~~((limitBytes + chunkSize - offset - 1) / chunkSize)\n\n let nextChunkIdx = 0\n let nextWorkerChunkIdx = 0\n const nextChunkCv = new ConditionVariable()\n const buffer: Record<number, Uint8Array> = {}\n\n const isSmall = fileSize && fileSize <= SMALL_FILE_MAX_SIZE\n let connectionKind: ConnectionKind\n\n if (isSmall) {\n connectionKind = dcId === primaryDcId ? 'main' : 'downloadSmall'\n } else {\n connectionKind = 'download'\n }\n const poolSize = await client.getPoolSize(connectionKind, dcId)\n\n client.log.debug(\n 'Downloading file of size %d from dc %d using %s connection pool (pool size: %d)',\n limitBytes,\n dcId,\n connectionKind,\n poolSize,\n )\n\n const downloadChunk = async (chunk = nextWorkerChunkIdx++): Promise<void> => {\n let result: tl.RpcCallReturn['upload.getFile'] | tl.RpcCallReturn['upload.getWebFile']\n\n if (aborted) {\n return\n }\n\n try {\n result = await client.call(\n {\n _: isWeb ? 'upload.getWebFile' : 'upload.getFile',\n // eslint-disable-next-line\n location: location as any,\n offset: chunkSize * chunk,\n limit: chunkSize,\n },\n {\n dcId,\n kind: connectionKind,\n maxRetryCount: Infinity, // retry until explicitly aborted (or finished)\n abortSignal,\n },\n )\n } catch (e: unknown) {\n if (e instanceof DOMException && e.name === 'AbortError') return\n if (!tl.RpcError.is(e)) throw e\n\n if (e.is('FILE_MIGRATE_%d')) {\n dcId = e.newDc\n\n return downloadChunk(chunk)\n } else if (e.is('FILEREF_UPGRADE_NEEDED')) {\n // todo: implement someday\n // see: https://github.com/LonamiWebs/Telethon/blob/0e8bd8248cc649637b7c392616887c50986427a0/telethon/client/downloads.py#L99\n throw new MtUnsupportedError('File ref expired!')\n } else throw e\n }\n\n if (result._ === 'upload.fileCdnRedirect') {\n // we shouldnt receive them since cdnSupported is not set in the getFile request.\n // also, i couldnt find any media that would be downloaded from cdn, so even if\n // i implemented that, i wouldnt be able to test that, so :shrug:\n throw new MtUnsupportedError('Received CDN redirect, which is not supported (yet)')\n }\n\n if (aborted) {\n return\n }\n\n if (result._ === 'upload.webFile' && result.size && limitBytes === Infinity) {\n limitBytes = result.size\n numChunks = ~~((limitBytes + chunkSize - offset - 1) / chunkSize)\n }\n\n buffer[chunk] = result.bytes\n\n if (chunk === nextChunkIdx) {\n nextChunkCv.notify()\n }\n\n if (nextWorkerChunkIdx < numChunks && result.bytes.length === chunkSize) {\n return downloadChunk()\n }\n }\n\n let error: unknown = undefined\n void Promise.all(Array.from({ length: Math.min(poolSize * REQUESTS_PER_CONNECTION, numChunks) }, downloadChunk))\n .catch((e) => {\n client.log.debug('download workers errored: %s', e.message)\n error = e\n aborted = true // not really aborted, but we dont want to download more chunks\n nextChunkCv.notify()\n })\n .then(() => {\n client.log.debug('download workers finished')\n })\n\n // to avoid MaxListenersExceededWarning we do this instead\n // already sent requests can go to hell (they will get ignored)\n abortSignal?.addEventListener('abort', () => {\n client.log.debug('download aborted')\n error = abortSignal.reason\n aborted = true\n nextChunkCv.notify()\n })\n\n let position = offset\n\n while (position < limitBytes) {\n await nextChunkCv.wait()\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n if (error) throw error\n\n while (nextChunkIdx in buffer) {\n const buf = buffer[nextChunkIdx]\n delete buffer[nextChunkIdx]\n\n position += buf.length\n\n params?.progressCallback?.(position, limitBytes)\n\n yield buf\n\n nextChunkIdx++\n\n if (buf.length < chunkSize) {\n // we received the last chunk\n return\n }\n }\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ export {};
3
+ //# sourceMappingURL=download-node-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-node-stream.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/download-node-stream.ts"],"names":[],"mappings":"AAAA,sDAAsD","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { FileDownloadLocation, FileDownloadParameters } from '../../types/index.js'\n\n// @available=both\n/**\n * Download a remote file as a Node.js Readable stream.\n *\n * @param params File download parameters\n */\ndeclare function downloadAsNodeStream(\n client: ITelegramClient,\n location: FileDownloadLocation,\n params?: FileDownloadParameters,\n): import('stream').Readable\n"]}
@@ -1,6 +1,6 @@
1
1
  import { tl } from '@mtcute/tl';
2
2
  import { ITelegramClient } from '../../client.types.js';
3
- import { InputMediaLike } from '../../types/media/input-media.js';
3
+ import { InputMediaLike } from '../../types/media/input-media/types.js';
4
4
  /**
5
5
  * Normalize an {@link InputMediaLike} to `InputMedia`,
6
6
  * uploading the file if needed.
@@ -1,6 +1,7 @@
1
1
  import Long from 'long';
2
2
  import { parseFileId, tdFileId } from '@mtcute/file-id';
3
3
  import { tl } from '@mtcute/tl';
4
+ import { getPlatform } from '../../../platform.js';
4
5
  import { assertTypeIs } from '../../../utils/type-assertions.js';
5
6
  import { isUploadedFile } from '../../types/files/uploaded-file.js';
6
7
  import { fileIdToInputDocument, fileIdToInputPhoto } from '../../utils/convert-file-id.js';
@@ -258,7 +259,7 @@ export async function _normalizeInputMedia(client, media, params = {}, uploadMed
258
259
  await upload(input.substring(5));
259
260
  }
260
261
  else {
261
- const parsed = typeof input === 'string' ? parseFileId(input) : input;
262
+ const parsed = typeof input === 'string' ? parseFileId(getPlatform(), input) : input;
262
263
  if (parsed.location._ === 'photo') {
263
264
  return {
264
265
  _: 'inputMediaPhoto',