@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';
@@ -14,8 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./base.js"), exports);
18
- __exportStar(require("./client.js"), exports);
19
17
  __exportStar(require("./client.types.js"), exports);
20
18
  __exportStar(require("./storage/index.js"), exports);
21
19
  __exportStar(require("./types/index.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/highlevel/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,8CAA2B;AAC3B,oDAAiC;AACjC,qDAAkC;AAClC,mDAAgC;AAChC,qDAAkC","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,oDAAiC;AACjC,qDAAkC;AAClC,mDAAgC;AAChC,qDAAkC","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"]}
@@ -2,27 +2,12 @@
2
2
  /* eslint-disable @typescript-eslint/no-unused-vars */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  // @copy
5
- const index_js_1 = require("../../storage/providers/memory/index.js");
5
+ const index_js_1 = require("../../types/index.js");
6
6
  const base_js_1 = require("../base.js");
7
7
  // @copy
8
8
  const conversation_js_1 = require("../types/conversation.js");
9
9
  // @copy
10
10
  const parsed_js_1 = require("../updates/parsed.js");
11
- // @copy
12
- const storage_js_1 = require("../utils/platform/storage.js");
13
- // // @initialize=super
14
- // /** @internal */
15
- // function _initializeClientSuper(this: TelegramClient, opts: TelegramClientOptions) {
16
- // if (typeof opts.storage === 'string') {
17
- // opts.storage = _defaultStorageFactory(opts.storage)
18
- // } else if (!opts.storage) {
19
- // opts.storage = new MemoryStorage()
20
- // }
21
- // /* eslint-disable @typescript-eslint/no-unsafe-call */
22
- // // @ts-expect-error codegen
23
- // super(opts)
24
- // /* eslint-enable @typescript-eslint/no-unsafe-call */
25
- // }
26
11
  // @initialize
27
12
  /** @internal */
28
13
  function _initializeClient(opts) {
@@ -30,20 +15,10 @@ function _initializeClient(opts) {
30
15
  this._client = opts.client;
31
16
  }
32
17
  else {
33
- let storage;
34
- if (typeof opts.storage === 'string') {
35
- storage = (0, storage_js_1._defaultStorageFactory)(opts.storage);
36
- }
37
- else if (!opts.storage) {
38
- storage = new index_js_1.MemoryStorage();
39
- }
40
- else {
41
- storage = opts.storage;
18
+ if (!opts.storage || typeof opts.storage === 'string' || !opts.transport || !opts.crypto) {
19
+ throw new index_js_1.MtUnsupportedError('You need to explicitly provide storage, transport and crypto for @mtcute/core');
42
20
  }
43
- this._client = new base_js_1.BaseTelegramClient({
44
- ...opts,
45
- storage,
46
- });
21
+ this._client = new base_js_1.BaseTelegramClient(opts);
47
22
  }
48
23
  // @ts-expect-error codegen
49
24
  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,sEAAuE;AACvE,wCAA0E;AAK1E,QAAQ;AACR,8DAAuD;AACvD,QAAQ;AACR,oDAAyF;AACzF,QAAQ;AACR,6DAAqE;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,IAAA,mCAAsB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACjD;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACtB,OAAO,GAAG,IAAI,wBAAa,EAAE,CAAA;SAChC;aAAM;YACH,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;SACzB;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAkB,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,IAAA,mCAAuB,EAAC;QAC1C,uBAAuB;QACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,8BAAY,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,mDAAsE;AACtE,wCAA0E;AAK1E,QAAQ;AACR,8DAAuD;AACvD,QAAQ;AACR,oDAAyF;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,6BAAkB,CAAC,+EAA+E,CAAC,CAAA;SAChH;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAkB,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,IAAA,mCAAuB,EAAC;QAC1C,uBAAuB;QACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,8BAAY,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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCallbackAnswer = void 0;
4
- const tl_runtime_1 = require("@mtcute/tl-runtime");
4
+ const platform_js_1 = require("../../../platform.js");
5
5
  const index_js_1 = require("../../types/index.js");
6
6
  const resolve_peer_js_1 = require("../users/resolve-peer.js");
7
7
  /**
@@ -22,7 +22,7 @@ async function getCallbackAnswer(client, params) {
22
22
  _: 'messages.getBotCallbackAnswer',
23
23
  peer: await (0, resolve_peer_js_1.resolvePeer)(client, chatId),
24
24
  msgId: message,
25
- data: typeof data === 'string' ? (0, tl_runtime_1.utf8EncodeToBuffer)(data) : data,
25
+ data: typeof data === 'string' ? (0, platform_js_1.getPlatform)().utf8Encode(data) : data,
26
26
  password,
27
27
  game: game,
28
28
  }, { 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,mDAAuD;AAGvD,mDAA8E;AAC9E,8DAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CACnC,MAAuB,EACvB,MAuBC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,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,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC;QACvC,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,+BAAkB,EAAC,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;AAhDD,8CAgDC","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,sDAAkD;AAElD,mDAA8E;AAC9E,8DAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CACnC,MAAuB,EACvB,MAuBC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,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,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC;QACvC,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,yBAAW,GAAE,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;AAhDD,8CAgDC","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"]}
@@ -19,7 +19,7 @@ async function createFolder(client, folder) {
19
19
  // determine next id by finding max id
20
20
  // thanks durov for awesome api
21
21
  let max = 1;
22
- old.forEach((it) => {
22
+ old.filters.forEach((it) => {
23
23
  if (it._ === 'dialogFilter' && it.id > max)
24
24
  max = it.id;
25
25
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/create-folder.ts"],"names":[],"mappings":";;;AAGA,0EAA8D;AAE9D,qDAA6C;AAE7C;;;;;;;;GAQG;AACI,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,IAAA,2BAAU,EAAC,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,IAAA,+BAAU,EAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC;AApCD,oCAoCC","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,0EAA8D;AAE9D,qDAA6C;AAE7C;;;;;;;;GAQG;AACI,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,IAAA,2BAAU,EAAC,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,IAAA,+BAAU,EAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC;AApCD,oCAoCC","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"]}
@@ -17,7 +17,7 @@ async function editFolder(client, params) {
17
17
  }
18
18
  if (typeof folder === 'number' || typeof folder === 'string') {
19
19
  const old = await (0, get_folders_js_1.getFolders)(client);
20
- const found = old.find((it) => it._ === 'dialogFilter' && (it.id === folder || it.title === folder));
20
+ const found = old.filters.find((it) => it._ === 'dialogFilter' && (it.id === folder || it.title === folder));
21
21
  if (!found) {
22
22
  throw new errors_js_1.MtArgumentError(`Could not find a folder ${folder}`);
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"edit-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/edit-folder.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,0EAA8D;AAE9D,qDAA6C;AAE7C;;;;GAIG;AACI,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,2BAAe,CAAC,8BAA8B,CAAC,CAAA;KAC5D;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,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,2BAAe,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,IAAA,+BAAU,EAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC;AA9CD,gCA8CC","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,wDAA0D;AAC1D,0EAA8D;AAE9D,qDAA6C;AAE7C;;;;GAIG;AACI,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,2BAAe,CAAC,8BAA8B,CAAC,CAAA;KAC5D;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,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,2BAAe,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,IAAA,+BAAU,EAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC;AA9CD,gCA8CC","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"]}
@@ -17,7 +17,7 @@ async function findFolder(client, params) {
17
17
  throw new errors_js_1.MtArgumentError('One of search parameters must be passed');
18
18
  }
19
19
  const folders = await (0, get_folders_js_1.getFolders)(client);
20
- return (folders.find((it) => {
20
+ return (folders.filters.find((it) => {
21
21
  if (it._ === 'dialogFilterDefault')
22
22
  return false;
23
23
  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,wDAA0D;AAE1D,qDAA6C;AAE7C;;;;;;;;GAQG;AACI,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,2BAAe,CAAC,yCAAyC,CAAC,CAAA;KACvE;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAU,EAAC,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;AA3BD,gCA2BC","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,wDAA0D;AAE1D,qDAA6C;AAE7C;;;;;;;;GAQG;AACI,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,2BAAe,CAAC,yCAAyC,CAAC,CAAA;KACvE;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAU,EAAC,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;AA3BD,gCA2BC","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>;
@@ -15,7 +15,7 @@ exports.getFolders = getFolders;
15
15
  async function _normalizeInputFolder(client, folder) {
16
16
  if (typeof folder === 'string' || typeof folder === 'number') {
17
17
  const folders = await getFolders(client);
18
- const found = folders.find((it) => {
18
+ const found = folders.filters.find((it) => {
19
19
  if (it._ === 'dialogFilterDefault') {
20
20
  return folder === 0;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-folders.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/get-folders.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAI1D;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,MAAuB;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC;QACf,CAAC,EAAE,2BAA2B;KACjC,CAAC,CAAA;AACN,CAAC;AAJD,gCAIC;AAED,gBAAgB;AACT,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,2BAAe,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;SAC/D;QAED,OAAO,KAAK,CAAA;KACf;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAtBD,sDAsBC","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,wDAA0D;AAI1D;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,MAAuB;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC;QACf,CAAC,EAAE,2BAA2B;KACjC,CAAC,CAAA;AACN,CAAC;AAJD,gCAIC;AAED,gBAAgB;AACT,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,2BAAe,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;SAC/D;QAED,OAAO,KAAK,CAAA;KACf;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAtBD,sDAsBC","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,35 +1,4 @@
1
1
  "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.downloadToFile = void 0;
4
- // eslint-disable-next-line no-restricted-imports
5
- const fs_1 = require("fs");
6
- const promises_1 = require("fs/promises");
7
- const index_js_1 = require("../../types/index.js");
8
- const download_iterable_js_1 = require("./download-iterable.js");
9
- /**
10
- * Download a remote file to a local file (only for NodeJS).
11
- * Promise will resolve once the download is complete.
12
- *
13
- * @param filename Local file name to which the remote file will be downloaded
14
- * @param params File download parameters
15
- */
16
- async function downloadToFile(client, filename, location, params) {
17
- if (location instanceof index_js_1.FileLocation && ArrayBuffer.isView(location.location)) {
18
- // early return for inline files
19
- await (0, promises_1.writeFile)(filename, location.location);
20
- }
21
- const output = (0, fs_1.createWriteStream)(filename);
22
- if (params?.abortSignal) {
23
- params.abortSignal.addEventListener('abort', () => {
24
- client.log.debug('aborting file download %s - cleaning up', filename);
25
- output.destroy();
26
- (0, fs_1.rmSync)(filename);
27
- });
28
- }
29
- for await (const chunk of (0, download_iterable_js_1.downloadAsIterable)(client, location, params)) {
30
- output.write(chunk);
31
- }
32
- output.end();
33
- }
34
- exports.downloadToFile = downloadToFile;
35
4
  //# 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,2BAA8C;AAC9C,0CAAuC;AAGvC,mDAAiG;AACjG,iEAA2D;AAE3D;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAChC,MAAuB,EACvB,QAAgB,EAChB,QAA8B,EAC9B,MAA+B;IAE/B,IAAI,QAAQ,YAAY,uBAAY,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC3E,gCAAgC;QAChC,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAC/C;IAED,MAAM,MAAM,GAAG,IAAA,sBAAiB,EAAC,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,IAAA,WAAM,EAAC,QAAQ,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;KACL;IAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAA,yCAAkB,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;QACpE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KACtB;IAED,MAAM,CAAC,GAAG,EAAE,CAAA;AAChB,CAAC;AA1BD,wCA0BC","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"]}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.downloadAsIterable = void 0;
4
4
  const file_id_1 = require("@mtcute/file-id");
5
5
  const tl_1 = require("@mtcute/tl");
6
+ const platform_js_1 = require("../../../platform.js");
6
7
  const errors_js_1 = require("../../../types/errors.js");
7
8
  const condition_variable_js_1 = require("../../../utils/condition-variable.js");
8
9
  const index_js_1 = require("../../types/index.js");
@@ -46,7 +47,7 @@ async function* downloadAsIterable(client, input, params) {
46
47
  location = locationInner;
47
48
  }
48
49
  else if (typeof input === 'string') {
49
- const parsed = (0, file_id_1.parseFileId)(input);
50
+ const parsed = (0, file_id_1.parseFileId)((0, platform_js_1.getPlatform)(), input);
50
51
  if (parsed.location._ === 'web') {
51
52
  location = (0, convert_file_id_js_1.fileIdToInputWebFileLocation)(parsed);
52
53
  }
@@ -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,4 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# 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.
@@ -7,6 +7,7 @@ exports._normalizeInputMedia = void 0;
7
7
  const long_1 = __importDefault(require("long"));
8
8
  const file_id_1 = require("@mtcute/file-id");
9
9
  const tl_1 = require("@mtcute/tl");
10
+ const platform_js_1 = require("../../../platform.js");
10
11
  const type_assertions_js_1 = require("../../../utils/type-assertions.js");
11
12
  const uploaded_file_js_1 = require("../../types/files/uploaded-file.js");
12
13
  const convert_file_id_js_1 = require("../../utils/convert-file-id.js");
@@ -264,7 +265,7 @@ async function _normalizeInputMedia(client, media, params = {}, uploadMedia = fa
264
265
  await upload(input.substring(5));
265
266
  }
266
267
  else {
267
- const parsed = typeof input === 'string' ? (0, file_id_1.parseFileId)(input) : input;
268
+ const parsed = typeof input === 'string' ? (0, file_id_1.parseFileId)((0, platform_js_1.getPlatform)(), input) : input;
268
269
  if (parsed.location._ === 'photo') {
269
270
  return {
270
271
  _: 'inputMediaPhoto',