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