@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
@@ -1,8 +1,5 @@
1
- import { TransportFactory } from './abstract.js';
2
1
  export * from './abstract.js';
3
2
  export * from './intermediate.js';
4
3
  export * from './obfuscated.js';
5
4
  export * from './streamed.js';
6
5
  export * from './wrapped.js';
7
- /** Platform-defined default transport factory */
8
- export declare const defaultTransportFactory: TransportFactory;
@@ -3,7 +3,4 @@ export * from './intermediate.js';
3
3
  export * from './obfuscated.js';
4
4
  export * from './streamed.js';
5
5
  export * from './wrapped.js';
6
- import { _defaultTransportFactory } from '../../utils/platform/transport.js';
7
- /** Platform-defined default transport factory */
8
- export const defaultTransportFactory = _defaultTransportFactory;
9
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/transports/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAE5E,iDAAiD;AACjD,MAAM,CAAC,MAAM,uBAAuB,GAAqB,wBAAwB,CAAA","sourcesContent":["import { TransportFactory } from './abstract.js'\n\nexport * from './abstract.js'\nexport * from './intermediate.js'\nexport * from './obfuscated.js'\nexport * from './streamed.js'\nexport * from './wrapped.js'\n\nimport { _defaultTransportFactory } from '../../utils/platform/transport.js'\n\n/** Platform-defined default transport factory */\nexport const defaultTransportFactory: TransportFactory = _defaultTransportFactory\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/transports/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA","sourcesContent":["export * from './abstract.js'\nexport * from './intermediate.js'\nexport * from './obfuscated.js'\nexport * from './streamed.js'\nexport * from './wrapped.js'\n"]}
@@ -0,0 +1,18 @@
1
+ import { ITlPlatform } from '@mtcute/tl-runtime';
2
+ import { UploadFileLike } from './highlevel/types/files/utils.js';
3
+ import { MaybePromise } from './types/index.js';
4
+ export interface ICorePlatform extends ITlPlatform {
5
+ beforeExit(fn: () => void): () => void;
6
+ log(color: number, level: number, tag: string, fmt: string, args: unknown[]): void;
7
+ getDefaultLogLevel(): number | null;
8
+ getDeviceModel(): string;
9
+ normalizeFile?(file: UploadFileLike): MaybePromise<{
10
+ file?: UploadFileLike;
11
+ fileSize?: number;
12
+ fileName?: string;
13
+ } | null>;
14
+ onNetworkChanged?(fn: (connected: boolean) => void): () => void;
15
+ isOnline?(): boolean;
16
+ }
17
+ export declare function setPlatform(platform: ICorePlatform): void;
18
+ export declare function getPlatform(): ICorePlatform;
@@ -0,0 +1,31 @@
1
+ import { TlBinaryReader, TlBinaryWriter } from '@mtcute/tl-runtime';
2
+ import { MtUnsupportedError } from './types/errors.js';
3
+ // eslint-disable-next-line
4
+ const globalObject = (0, eval)('this');
5
+ // NB: when using with some bundlers (e.g. vite) re-importing this module will not return the same object
6
+ // so we need to store the platform in a global object to be able to survive hot-reloads etc.
7
+ // try to use Symbol if available, otherwise fallback to a string
8
+ const platformKey = typeof Symbol !== 'undefined' ? Symbol.for('mtcute.platform') : '__MTCUTE_PLATFORM__';
9
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
10
+ let _platform = globalObject?.[platformKey] ?? null;
11
+ export function setPlatform(platform) {
12
+ if (_platform) {
13
+ if (_platform.constructor !== platform.constructor) {
14
+ throw new MtUnsupportedError('Platform may not be changed at runtime!');
15
+ }
16
+ return;
17
+ }
18
+ _platform = platform;
19
+ TlBinaryReader.platform = platform;
20
+ TlBinaryWriter.platform = platform;
21
+ if (globalObject) {
22
+ globalObject[platformKey] = platform;
23
+ }
24
+ }
25
+ export function getPlatform() {
26
+ if (!_platform) {
27
+ throw new MtUnsupportedError('Platform is not set! Have you instantiated the client?');
28
+ }
29
+ return _platform;
30
+ }
31
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAiBtD,2BAA2B;AAC3B,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtC,yGAAyG;AACzG,6FAA6F;AAC7F,iEAAiE;AACjE,MAAM,WAAW,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAA;AAEzG,mEAAmE;AACnE,IAAI,SAAS,GAAyB,YAAY,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAA;AAEzE,MAAM,UAAU,WAAW,CAAC,QAAuB;IAC/C,IAAI,SAAS,EAAE;QACX,IAAI,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE;YAChD,MAAM,IAAI,kBAAkB,CAAC,yCAAyC,CAAC,CAAA;SAC1E;QAED,OAAM;KACT;IAED,SAAS,GAAG,QAAQ,CAAA;IACpB,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAClC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAElC,IAAI,YAAY,EAAE;QACd,YAAY,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAA;KACvC;AACL,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,kBAAkB,CAAC,wDAAwD,CAAC,CAAA;KACzF;IAED,OAAO,SAAS,CAAA;AACpB,CAAC","sourcesContent":["import { ITlPlatform, TlBinaryReader, TlBinaryWriter } from '@mtcute/tl-runtime'\n\nimport { UploadFileLike } from './highlevel/types/files/utils.js'\nimport { MtUnsupportedError } from './types/errors.js'\nimport { MaybePromise } from './types/index.js'\n\nexport interface ICorePlatform extends ITlPlatform {\n beforeExit(fn: () => void): () => void\n log(color: number, level: number, tag: string, fmt: string, args: unknown[]): void\n getDefaultLogLevel(): number | null\n getDeviceModel(): string\n normalizeFile?(file: UploadFileLike): MaybePromise<{\n file?: UploadFileLike\n fileSize?: number\n fileName?: string\n } | null>\n onNetworkChanged?(fn: (connected: boolean) => void): () => void\n isOnline?(): boolean\n}\n\n// eslint-disable-next-line\nconst globalObject = (0, eval)('this')\n\n// NB: when using with some bundlers (e.g. vite) re-importing this module will not return the same object\n// so we need to store the platform in a global object to be able to survive hot-reloads etc.\n// try to use Symbol if available, otherwise fallback to a string\nconst platformKey = typeof Symbol !== 'undefined' ? Symbol.for('mtcute.platform') : '__MTCUTE_PLATFORM__'\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\nlet _platform: ICorePlatform | null = globalObject?.[platformKey] ?? null\n\nexport function setPlatform(platform: ICorePlatform): void {\n if (_platform) {\n if (_platform.constructor !== platform.constructor) {\n throw new MtUnsupportedError('Platform may not be changed at runtime!')\n }\n\n return\n }\n\n _platform = platform\n TlBinaryReader.platform = platform\n TlBinaryWriter.platform = platform\n\n if (globalObject) {\n globalObject[platformKey] = platform\n }\n}\n\nexport function getPlatform(): ICorePlatform {\n if (!_platform) {\n throw new MtUnsupportedError('Platform is not set! Have you instantiated the client?')\n }\n\n return _platform\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  export * from './driver.js';
2
+ export * from './memory/index.js';
2
3
  export * from './provider.js';
3
- export * from './providers/idb/index.js';
4
- export * from './providers/memory/index.js';
5
4
  export * from './repository/index.js';
5
+ export * from './sqlite/index.js';
6
6
  export * from './storage.js';
@@ -1,7 +1,7 @@
1
1
  export * from './driver.js';
2
+ export * from './memory/index.js';
2
3
  export * from './provider.js';
3
- export * from './providers/idb/index.js';
4
- export * from './providers/memory/index.js';
5
4
  export * from './repository/index.js';
5
+ export * from './sqlite/index.js';
6
6
  export * from './storage.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA","sourcesContent":["export * from './driver.js'\nexport * from './provider.js'\nexport * from './providers/idb/index.js'\nexport * from './providers/memory/index.js'\nexport * from './repository/index.js'\nexport * from './storage.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA","sourcesContent":["export * from './driver.js'\nexport * from './memory/index.js'\nexport * from './provider.js'\nexport * from './repository/index.js'\nexport * from './sqlite/index.js'\nexport * from './storage.js'\n"]}
@@ -1,4 +1,4 @@
1
- import { IStorageDriver } from '../../driver.js';
1
+ import { IStorageDriver } from '../driver.js';
2
2
  export declare class MemoryStorageDriver implements IStorageDriver {
3
3
  readonly states: Map<string, object>;
4
4
  getState<T extends object>(repo: string, def: () => T): T;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/storage/memory/driver.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAAhC;QACa,WAAM,GAAwB,IAAI,GAAG,EAAE,CAAA;IAWpD,CAAC;IATG,QAAQ,CAAmB,IAAY,EAAE,GAAY;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;SAC/B;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAM,CAAA;IACrC,CAAC;IAED,IAAI,KAAI,CAAC;CACZ","sourcesContent":["import { IStorageDriver } from '../driver.js'\n\nexport class MemoryStorageDriver implements IStorageDriver {\n readonly states: Map<string, object> = new Map()\n\n getState<T extends object>(repo: string, def: () => T) {\n if (!this.states.has(repo)) {\n this.states.set(repo, def())\n }\n\n return this.states.get(repo) as T\n }\n\n load() {}\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { ITelegramStorageProvider } from '../../../highlevel/storage/provider.js';
2
- import { IMtStorageProvider } from '../../provider.js';
1
+ import { ITelegramStorageProvider } from '../../highlevel/storage/provider.js';
2
+ import { IMtStorageProvider } from '../provider.js';
3
3
  import { MemoryStorageDriver } from './driver.js';
4
4
  import { MemoryAuthKeysRepository } from './repository/auth-keys.js';
5
5
  import { MemoryKeyValueRepository } from './repository/kv.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/memory/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IAA1B;QACa,WAAM,GAAG,IAAI,mBAAmB,EAAE,CAAA;QAClC,OAAE,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,aAAQ,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpD,UAAK,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,gBAAW,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvE,CAAC;CAAA","sourcesContent":["import { ITelegramStorageProvider } from '../../highlevel/storage/provider.js'\nimport { IMtStorageProvider } from '../provider.js'\nimport { MemoryStorageDriver } from './driver.js'\nimport { MemoryAuthKeysRepository } from './repository/auth-keys.js'\nimport { MemoryKeyValueRepository } from './repository/kv.js'\nimport { MemoryPeersRepository } from './repository/peers.js'\nimport { MemoryRefMessagesRepository } from './repository/ref-messages.js'\n\nexport { MemoryStorageDriver } from './driver.js'\n\n/**\n * In-memory storage driver implementation for mtcute.\n *\n * This storage is **not persistent**, meaning that all data\n * **will** be lost on restart. Only use this storage for testing,\n * or if you know exactly what you're doing.\n */\nexport class MemoryStorage implements IMtStorageProvider, ITelegramStorageProvider {\n readonly driver = new MemoryStorageDriver()\n readonly kv = new MemoryKeyValueRepository(this.driver)\n readonly authKeys = new MemoryAuthKeysRepository(this.driver)\n readonly peers = new MemoryPeersRepository(this.driver)\n readonly refMessages = new MemoryRefMessagesRepository(this.driver)\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IAuthKeysRepository } from '../../../repository/auth-keys.js';
1
+ import { IAuthKeysRepository } from '../../repository/auth-keys.js';
2
2
  import { MemoryStorageDriver } from '../driver.js';
3
3
  interface AuthKeysState {
4
4
  authKeys: Map<number, Uint8Array>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-keys.js","sourceRoot":"","sources":["../../../../../src/storage/memory/repository/auth-keys.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,wBAAwB;IACjC,YAAqB,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QAExC,UAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAgB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,YAAY,EAAE,IAAI,GAAG,EAAE;YACvB,kBAAkB,EAAE,IAAI,GAAG,EAAE;SAChC,CAAC,CAAC,CAAA;IANiD,CAAC;IAQrD,GAAG,CAAC,EAAU,EAAE,GAAsB;QAClC,IAAI,GAAG,EAAE;YACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;SACnC;aAAM;YACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;SACjC;IACL,CAAC;IAED,GAAG,CAAC,EAAU;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;IAC9C,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,GAAW,EAAE,GAAsB,EAAE,OAAe;QACpE,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,CAAA;QAExB,IAAI,GAAG,EAAE;YACL,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACnC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;SAChD;aAAM;YACH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACjC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;SAC1C;IACL,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,GAAW,EAAE,GAAW;QACxC,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,CAAA;QAExB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;YACnD,OAAO,IAAI,CAAA;SACd;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IACjD,CAAC;IAED,UAAU,CAAC,EAAU;QACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAE9B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACnC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aAC5C;SACJ;IACL,CAAC;IAED,SAAS;QACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAA;IACzC,CAAC;CACJ","sourcesContent":["import { IAuthKeysRepository } from '../../repository/auth-keys.js'\nimport { MemoryStorageDriver } from '../driver.js'\n\ninterface AuthKeysState {\n authKeys: Map<number, Uint8Array>\n authKeysTemp: Map<string, Uint8Array>\n authKeysTempExpiry: Map<string, number>\n}\n\nexport class MemoryAuthKeysRepository implements IAuthKeysRepository {\n constructor(readonly _driver: MemoryStorageDriver) {}\n\n readonly state = this._driver.getState<AuthKeysState>('authKeys', () => ({\n authKeys: new Map(),\n authKeysTemp: new Map(),\n authKeysTempExpiry: new Map(),\n }))\n\n set(dc: number, key: Uint8Array | null): void {\n if (key) {\n this.state.authKeys.set(dc, key)\n } else {\n this.state.authKeys.delete(dc)\n }\n }\n\n get(dc: number): Uint8Array | null {\n return this.state.authKeys.get(dc) ?? null\n }\n\n setTemp(dc: number, idx: number, key: Uint8Array | null, expires: number): void {\n const k = `${dc}:${idx}`\n\n if (key) {\n this.state.authKeysTemp.set(k, key)\n this.state.authKeysTempExpiry.set(k, expires)\n } else {\n this.state.authKeysTemp.delete(k)\n this.state.authKeysTempExpiry.delete(k)\n }\n }\n\n getTemp(dc: number, idx: number, now: number): Uint8Array | null {\n const k = `${dc}:${idx}`\n\n if (now > (this.state.authKeysTempExpiry.get(k) ?? 0)) {\n return null\n }\n\n return this.state.authKeysTemp.get(k) ?? null\n }\n\n deleteByDc(dc: number): void {\n this.state.authKeys.delete(dc)\n\n for (const key of this.state.authKeysTemp.keys()) {\n if (key.startsWith(`${dc}:`)) {\n this.state.authKeysTemp.delete(key)\n this.state.authKeysTempExpiry.delete(key)\n }\n }\n }\n\n deleteAll(): void {\n this.state.authKeys.clear()\n this.state.authKeysTemp.clear()\n this.state.authKeysTempExpiry.clear()\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IKeyValueRepository } from '../../../repository/key-value.js';
1
+ import { IKeyValueRepository } from '../../repository/key-value.js';
2
2
  import { MemoryStorageDriver } from '../driver.js';
3
3
  export declare class MemoryKeyValueRepository implements IKeyValueRepository {
4
4
  readonly _driver: MemoryStorageDriver;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kv.js","sourceRoot":"","sources":["../../../../../src/storage/memory/repository/kv.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,wBAAwB;IACjC,YAAqB,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QAExC,UAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAA0B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;IAFlC,CAAC;IAIrD,GAAG,CAAC,GAAW,EAAE,KAAiB;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,GAAW;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,SAAS;QACL,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACJ","sourcesContent":["import { IKeyValueRepository } from '../../repository/key-value.js'\nimport { MemoryStorageDriver } from '../driver.js'\n\nexport class MemoryKeyValueRepository implements IKeyValueRepository {\n constructor(readonly _driver: MemoryStorageDriver) {}\n\n readonly state = this._driver.getState<Map<string, Uint8Array>>('kv', () => new Map())\n\n set(key: string, value: Uint8Array): void {\n this.state.set(key, value)\n }\n\n get(key: string): Uint8Array | null {\n return this.state.get(key) ?? null\n }\n\n delete(key: string): void {\n this.state.delete(key)\n }\n\n deleteAll(): void {\n this.state.clear()\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IPeersRepository } from '../../../../highlevel/storage/repository/peers.js';
1
+ import { IPeersRepository } from '../../../highlevel/storage/repository/peers.js';
2
2
  import { MemoryStorageDriver } from '../driver.js';
3
3
  interface PeersState {
4
4
  entities: Map<number, IPeersRepository.PeerInfo>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peers.js","sourceRoot":"","sources":["../../../../../src/storage/memory/repository/peers.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,qBAAqB;IAC9B,YAAqB,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QAExC,UAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAa,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,UAAU,EAAE,IAAI,GAAG,EAAE;SACxB,CAAC,CAAC,CAAA;IANiD,CAAC;IAQrD,KAAK,CAAC,IAA+B;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAE5C,IAAI,GAAG,EAAE;YACL,qCAAqC;YACrC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC/B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC7C,CAAC,CAAC,CAAA;YAEF,IAAI,GAAG,CAAC,KAAK,EAAE;gBACX,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;aAC1C;SACJ;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;gBACnC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;aAClD;SACJ;QAED,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAE9D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,CAAC,EAAU;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;IAC9C,CAAC;IAED,aAAa,CAAC,QAAgB;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;QAC/D,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QAEpB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;IAC9C,CAAC;IAED,UAAU,CAAC,KAAa;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QAEpB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;IAC9C,CAAC;IAED,SAAS;QACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;IACpC,CAAC;CACJ","sourcesContent":["import { IPeersRepository } from '../../../highlevel/storage/repository/peers.js'\nimport { MemoryStorageDriver } from '../driver.js'\n\ninterface PeersState {\n entities: Map<number, IPeersRepository.PeerInfo>\n usernameIndex: Map<string, number>\n phoneIndex: Map<string, number>\n}\n\nexport class MemoryPeersRepository implements IPeersRepository {\n constructor(readonly _driver: MemoryStorageDriver) {}\n\n readonly state = this._driver.getState<PeersState>('peers', () => ({\n entities: new Map(),\n usernameIndex: new Map(),\n phoneIndex: new Map(),\n }))\n\n store(peer: IPeersRepository.PeerInfo): void {\n const old = this.state.entities.get(peer.id)\n\n if (old) {\n // delete old index entries if needed\n old.usernames.forEach((username) => {\n this.state.usernameIndex.delete(username)\n })\n\n if (old.phone) {\n this.state.phoneIndex.delete(old.phone)\n }\n }\n\n if (peer.usernames) {\n for (const username of peer.usernames) {\n this.state.usernameIndex.set(username, peer.id)\n }\n }\n\n if (peer.phone) this.state.phoneIndex.set(peer.phone, peer.id)\n\n this.state.entities.set(peer.id, peer)\n }\n\n getById(id: number): IPeersRepository.PeerInfo | null {\n return this.state.entities.get(id) ?? null\n }\n\n getByUsername(username: string): IPeersRepository.PeerInfo | null {\n const id = this.state.usernameIndex.get(username.toLowerCase())\n if (!id) return null\n\n return this.state.entities.get(id) ?? null\n }\n\n getByPhone(phone: string): IPeersRepository.PeerInfo | null {\n const id = this.state.phoneIndex.get(phone)\n if (!id) return null\n\n return this.state.entities.get(id) ?? null\n }\n\n deleteAll(): void {\n this.state.entities.clear()\n this.state.phoneIndex.clear()\n this.state.usernameIndex.clear()\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { IReferenceMessagesRepository } from '../../../../highlevel/storage/repository/ref-messages.js';
1
+ import { IReferenceMessagesRepository } from '../../../highlevel/storage/repository/ref-messages.js';
2
2
  import { MemoryStorageDriver } from '../driver.js';
3
3
  interface RefMessagesState {
4
4
  refs: Map<number, Set<string>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref-messages.js","sourceRoot":"","sources":["../../../../../src/storage/memory/repository/ref-messages.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,2BAA2B;IACpC,YAAqB,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QAExC,UAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAmB,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3E,IAAI,EAAE,IAAI,GAAG,EAAE;SAClB,CAAC,CAAC,CAAA;IAJiD,CAAC;IAMrD,KAAK,CAAC,MAAc,EAAE,MAAc,EAAE,KAAa;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;SACzC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,EAAE,IAAI;YAAE,OAAO,IAAI,CAAA;QAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QAElB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEtC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAAgB;QACnC,4CAA4C;QAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YACzC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAA;aAClC;SACJ;IACL,CAAC;IAED,YAAY,CAAC,MAAc;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;CACJ","sourcesContent":["import { IReferenceMessagesRepository } from '../../../highlevel/storage/repository/ref-messages.js'\nimport { MemoryStorageDriver } from '../driver.js'\n\ninterface RefMessagesState {\n refs: Map<number, Set<string>>\n}\n\nexport class MemoryRefMessagesRepository implements IReferenceMessagesRepository {\n constructor(readonly _driver: MemoryStorageDriver) {}\n\n readonly state = this._driver.getState<RefMessagesState>('refMessages', () => ({\n refs: new Map(),\n }))\n\n store(peerId: number, chatId: number, msgId: number): void {\n if (!this.state.refs.has(peerId)) {\n this.state.refs.set(peerId, new Set())\n }\n\n this.state.refs.get(peerId)!.add(`${chatId}:${msgId}`)\n }\n\n getByPeer(peerId: number): [number, number] | null {\n const refs = this.state.refs.get(peerId)\n if (!refs?.size) return null\n const [ref] = refs\n\n const [chatId, msgId] = ref.split(':')\n\n return [Number(chatId), Number(msgId)]\n }\n\n delete(chatId: number, msgIds: number[]): void {\n // not the most efficient way, but it's fine\n for (const refs of this.state.refs.values()) {\n for (const msg of msgIds) {\n refs.delete(`${chatId}:${msg}`)\n }\n }\n }\n\n deleteByPeer(peerId: number): void {\n this.state.refs.delete(peerId)\n }\n\n deleteAll(): void {\n this.state.refs.clear()\n }\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { BaseStorageDriver } from '../driver.js';
2
+ import { ISqliteDatabase, ISqliteStatement } from './types.js';
3
+ type MigrationFunction = (db: ISqliteDatabase) => void;
4
+ export declare abstract class BaseSqliteStorageDriver extends BaseStorageDriver {
5
+ db: ISqliteDatabase;
6
+ private _pending;
7
+ private _runMany;
8
+ private _cleanup?;
9
+ private _migrations;
10
+ private _maxVersion;
11
+ private _legacyMigrations;
12
+ registerLegacyMigration(repo: string, migration: MigrationFunction): void;
13
+ registerMigration(repo: string, version: number, migration: MigrationFunction): void;
14
+ private _onLoad;
15
+ onLoad(cb: (db: ISqliteDatabase) => void): void;
16
+ _writeLater(stmt: ISqliteStatement, params: unknown[]): void;
17
+ private _runLegacyMigrations;
18
+ _initialize(): void;
19
+ abstract _createDatabase(): ISqliteDatabase;
20
+ _load(): void;
21
+ _save(): void;
22
+ _destroy(): void;
23
+ }
24
+ export {};
@@ -0,0 +1,125 @@
1
+ import { getPlatform } from '../../platform.js';
2
+ import { BaseStorageDriver } from '../driver.js';
3
+ const MIGRATIONS_TABLE_NAME = 'mtcute_migrations';
4
+ const MIGRATIONS_TABLE_SQL = `
5
+ create table if not exists ${MIGRATIONS_TABLE_NAME} (
6
+ repo text not null primary key,
7
+ version integer not null
8
+ );
9
+ `.trim();
10
+ export class BaseSqliteStorageDriver extends BaseStorageDriver {
11
+ constructor() {
12
+ super(...arguments);
13
+ this._pending = [];
14
+ this._migrations = new Map();
15
+ this._maxVersion = new Map();
16
+ // todo: remove in 1.0.0
17
+ this._legacyMigrations = new Map();
18
+ this._onLoad = new Set();
19
+ this._runLegacyMigrations = false;
20
+ }
21
+ registerLegacyMigration(repo, migration) {
22
+ if (this.loaded) {
23
+ throw new Error('Cannot register migrations after loading');
24
+ }
25
+ this._legacyMigrations.set(repo, migration);
26
+ }
27
+ registerMigration(repo, version, migration) {
28
+ if (this.loaded) {
29
+ throw new Error('Cannot register migrations after loading');
30
+ }
31
+ let map = this._migrations.get(repo);
32
+ if (!map) {
33
+ map = new Map();
34
+ this._migrations.set(repo, map);
35
+ }
36
+ if (map.has(version)) {
37
+ throw new Error(`Migration for ${repo} version ${version} is already registered`);
38
+ }
39
+ map.set(version, migration);
40
+ const prevMax = this._maxVersion.get(repo) ?? 0;
41
+ if (version > prevMax) {
42
+ this._maxVersion.set(repo, version);
43
+ }
44
+ }
45
+ onLoad(cb) {
46
+ if (this.loaded) {
47
+ cb(this.db);
48
+ }
49
+ else {
50
+ this._onLoad.add(cb);
51
+ }
52
+ }
53
+ _writeLater(stmt, params) {
54
+ this._pending.push([stmt, params]);
55
+ }
56
+ _initialize() {
57
+ const hasLegacyTables = this.db
58
+ .prepare("select name from sqlite_master where type = 'table' and name = 'kv'")
59
+ .get();
60
+ if (hasLegacyTables) {
61
+ this._log.info('legacy tables detected, will run migrations');
62
+ this._runLegacyMigrations = true;
63
+ }
64
+ this.db.exec(MIGRATIONS_TABLE_SQL);
65
+ const writeVersion = this.db.prepare(`insert or replace into ${MIGRATIONS_TABLE_NAME} (repo, version) values (?, ?)`);
66
+ const getVersion = this.db.prepare(`select version from ${MIGRATIONS_TABLE_NAME} where repo = ?`);
67
+ const didUpgrade = new Set();
68
+ for (const repo of this._migrations.keys()) {
69
+ const res = getVersion.get(repo);
70
+ const startVersion = res?.version ?? 0;
71
+ let fromVersion = startVersion;
72
+ const migrations = this._migrations.get(repo);
73
+ const targetVer = this._maxVersion.get(repo);
74
+ while (fromVersion < targetVer) {
75
+ const nextVersion = fromVersion + 1;
76
+ const migration = migrations.get(nextVersion);
77
+ if (!migration) {
78
+ throw new Error(`No migration for ${repo} to version ${nextVersion}`);
79
+ }
80
+ migration(this.db);
81
+ fromVersion = nextVersion;
82
+ didUpgrade.add(repo);
83
+ }
84
+ if (fromVersion !== startVersion) {
85
+ writeVersion.run(repo, targetVer);
86
+ }
87
+ }
88
+ }
89
+ _load() {
90
+ this.db = this._createDatabase();
91
+ this._runMany = this.db.transaction((stmts) => {
92
+ stmts.forEach((stmt) => {
93
+ stmt[0].run(stmt[1]);
94
+ });
95
+ });
96
+ this.db.transaction(() => this._initialize())();
97
+ this._cleanup = getPlatform().beforeExit(() => {
98
+ this._save();
99
+ this._destroy();
100
+ });
101
+ for (const cb of this._onLoad)
102
+ cb(this.db);
103
+ if (this._runLegacyMigrations) {
104
+ this.db.transaction(() => {
105
+ for (const migration of this._legacyMigrations.values()) {
106
+ migration(this.db);
107
+ }
108
+ // in case _writeLater was used
109
+ this._runMany(this._pending);
110
+ })();
111
+ }
112
+ }
113
+ _save() {
114
+ if (!this._pending.length)
115
+ return;
116
+ this._runMany(this._pending);
117
+ this._pending = [];
118
+ }
119
+ _destroy() {
120
+ this.db.close();
121
+ this._cleanup?.();
122
+ this._cleanup = undefined;
123
+ }
124
+ }
125
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAGhD,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AACjD,MAAM,oBAAoB,GAAG;6BACA,qBAAqB;;;;CAIjD,CAAC,IAAI,EAAE,CAAA;AAIR,MAAM,OAAgB,uBAAwB,SAAQ,iBAAiB;IAAvE;;QAGY,aAAQ,GAAoC,EAAE,CAAA;QAI9C,gBAAW,GAAgD,IAAI,GAAG,EAAE,CAAA;QACpE,gBAAW,GAAwB,IAAI,GAAG,EAAE,CAAA;QAEpD,wBAAwB;QAChB,sBAAiB,GAAmC,IAAI,GAAG,EAAE,CAAA;QAmC7D,YAAO,GAAG,IAAI,GAAG,EAAiC,CAAA;QAclD,yBAAoB,GAAG,KAAK,CAAA;IA6FxC,CAAC;IA5IG,uBAAuB,CAAC,IAAY,EAAE,SAA4B;QAC9D,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;SAC9D;QAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,OAAe,EAAE,SAA4B;QACzE,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;SAC9D;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,CAAC,GAAG,EAAE;YACN,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;YACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAClC;QAED,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,YAAY,OAAO,wBAAwB,CAAC,CAAA;SACpF;QAED,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE/C,IAAI,OAAO,GAAG,OAAO,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACtC;IACL,CAAC;IAID,MAAM,CAAC,EAAiC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACd;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SACvB;IACL,CAAC;IAED,WAAW,CAAC,IAAsB,EAAE,MAAiB;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IACtC,CAAC;IAID,WAAW;QACP,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE;aAC1B,OAAO,CAAC,qEAAqE,CAAC;aAC9E,GAAG,EAAE,CAAA;QAEV,IAAI,eAAe,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;YAC7D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAA;SACnC;QAED,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAChC,0BAA0B,qBAAqB,gCAAgC,CAClF,CAAA;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,qBAAqB,iBAAiB,CAAC,CAAA;QAEjG,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;QAEpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAoC,CAAA;YAEnE,MAAM,YAAY,GAAG,GAAG,EAAE,OAAO,IAAI,CAAC,CAAA;YACtC,IAAI,WAAW,GAAG,YAAY,CAAA;YAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;YAE7C,OAAO,WAAW,GAAG,SAAS,EAAE;gBAC5B,MAAM,WAAW,GAAG,WAAW,GAAG,CAAC,CAAA;gBACnC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;gBAE7C,IAAI,CAAC,SAAS,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,eAAe,WAAW,EAAE,CAAC,CAAA;iBACxE;gBAED,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAElB,WAAW,GAAG,WAAW,CAAA;gBACzB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;aACvB;YAED,IAAI,WAAW,KAAK,YAAY,EAAE;gBAC9B,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;aACpC;SACJ;IACL,CAAC;IAID,KAAK;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAEhC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,KAAsC,EAAE,EAAE;YAC3E,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAA;QAE/C,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO;YAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAE1C,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;gBACrB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE;oBACrD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;iBACrB;gBAED,+BAA+B;gBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChC,CAAC,CAAC,EAAE,CAAA;SACP;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAM;QAEjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACf,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAA;QACjB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;IAC7B,CAAC;CACJ","sourcesContent":["import { getPlatform } from '../../platform.js'\nimport { BaseStorageDriver } from '../driver.js'\nimport { ISqliteDatabase, ISqliteStatement } from './types.js'\n\nconst MIGRATIONS_TABLE_NAME = 'mtcute_migrations'\nconst MIGRATIONS_TABLE_SQL = `\ncreate table if not exists ${MIGRATIONS_TABLE_NAME} (\n repo text not null primary key,\n version integer not null\n);\n`.trim()\n\ntype MigrationFunction = (db: ISqliteDatabase) => void\n\nexport abstract class BaseSqliteStorageDriver extends BaseStorageDriver {\n db!: ISqliteDatabase\n\n private _pending: [ISqliteStatement, unknown[]][] = []\n private _runMany!: (stmts: [ISqliteStatement, unknown[]][]) => void\n private _cleanup?: () => void\n\n private _migrations: Map<string, Map<number, MigrationFunction>> = new Map()\n private _maxVersion: Map<string, number> = new Map()\n\n // todo: remove in 1.0.0\n private _legacyMigrations: Map<string, MigrationFunction> = new Map()\n\n registerLegacyMigration(repo: string, migration: MigrationFunction): void {\n if (this.loaded) {\n throw new Error('Cannot register migrations after loading')\n }\n\n this._legacyMigrations.set(repo, migration)\n }\n\n registerMigration(repo: string, version: number, migration: MigrationFunction): void {\n if (this.loaded) {\n throw new Error('Cannot register migrations after loading')\n }\n\n let map = this._migrations.get(repo)\n\n if (!map) {\n map = new Map()\n this._migrations.set(repo, map)\n }\n\n if (map.has(version)) {\n throw new Error(`Migration for ${repo} version ${version} is already registered`)\n }\n\n map.set(version, migration)\n\n const prevMax = this._maxVersion.get(repo) ?? 0\n\n if (version > prevMax) {\n this._maxVersion.set(repo, version)\n }\n }\n\n private _onLoad = new Set<(db: ISqliteDatabase) => void>()\n\n onLoad(cb: (db: ISqliteDatabase) => void): void {\n if (this.loaded) {\n cb(this.db)\n } else {\n this._onLoad.add(cb)\n }\n }\n\n _writeLater(stmt: ISqliteStatement, params: unknown[]): void {\n this._pending.push([stmt, params])\n }\n\n private _runLegacyMigrations = false\n\n _initialize(): void {\n const hasLegacyTables = this.db\n .prepare(\"select name from sqlite_master where type = 'table' and name = 'kv'\")\n .get()\n\n if (hasLegacyTables) {\n this._log.info('legacy tables detected, will run migrations')\n this._runLegacyMigrations = true\n }\n\n this.db.exec(MIGRATIONS_TABLE_SQL)\n\n const writeVersion = this.db.prepare(\n `insert or replace into ${MIGRATIONS_TABLE_NAME} (repo, version) values (?, ?)`,\n )\n const getVersion = this.db.prepare(`select version from ${MIGRATIONS_TABLE_NAME} where repo = ?`)\n\n const didUpgrade = new Set<string>()\n\n for (const repo of this._migrations.keys()) {\n const res = getVersion.get(repo) as { version: number } | undefined\n\n const startVersion = res?.version ?? 0\n let fromVersion = startVersion\n\n const migrations = this._migrations.get(repo)!\n const targetVer = this._maxVersion.get(repo)!\n\n while (fromVersion < targetVer) {\n const nextVersion = fromVersion + 1\n const migration = migrations.get(nextVersion)\n\n if (!migration) {\n throw new Error(`No migration for ${repo} to version ${nextVersion}`)\n }\n\n migration(this.db)\n\n fromVersion = nextVersion\n didUpgrade.add(repo)\n }\n\n if (fromVersion !== startVersion) {\n writeVersion.run(repo, targetVer)\n }\n }\n }\n\n abstract _createDatabase(): ISqliteDatabase\n\n _load(): void {\n this.db = this._createDatabase()\n\n this._runMany = this.db.transaction((stmts: [ISqliteStatement, unknown[]][]) => {\n stmts.forEach((stmt) => {\n stmt[0].run(stmt[1])\n })\n })\n\n this.db.transaction(() => this._initialize())()\n\n this._cleanup = getPlatform().beforeExit(() => {\n this._save()\n this._destroy()\n })\n for (const cb of this._onLoad) cb(this.db)\n\n if (this._runLegacyMigrations) {\n this.db.transaction(() => {\n for (const migration of this._legacyMigrations.values()) {\n migration(this.db)\n }\n\n // in case _writeLater was used\n this._runMany(this._pending)\n })()\n }\n }\n\n _save(): void {\n if (!this._pending.length) return\n\n this._runMany(this._pending)\n this._pending = []\n }\n\n _destroy(): void {\n this.db.close()\n this._cleanup?.()\n this._cleanup = undefined\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import { ITelegramStorageProvider } from '../../highlevel/storage/provider.js';
2
+ import { IMtStorageProvider } from '../provider.js';
3
+ import { BaseSqliteStorageDriver } from './driver.js';
4
+ import { SqliteAuthKeysRepository } from './repository/auth-keys.js';
5
+ import { SqliteKeyValueRepository } from './repository/kv.js';
6
+ import { SqlitePeersRepository } from './repository/peers.js';
7
+ import { SqliteRefMessagesRepository } from './repository/ref-messages.js';
8
+ export { BaseSqliteStorageDriver };
9
+ export * from './types.js';
10
+ export declare class BaseSqliteStorage implements IMtStorageProvider, ITelegramStorageProvider {
11
+ readonly driver: BaseSqliteStorageDriver;
12
+ constructor(driver: BaseSqliteStorageDriver);
13
+ readonly authKeys: SqliteAuthKeysRepository;
14
+ readonly kv: SqliteKeyValueRepository;
15
+ readonly refMessages: SqliteRefMessagesRepository;
16
+ readonly peers: SqlitePeersRepository;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { BaseSqliteStorageDriver } from './driver.js';
2
+ import { SqliteAuthKeysRepository } from './repository/auth-keys.js';
3
+ import { SqliteKeyValueRepository } from './repository/kv.js';
4
+ import { SqlitePeersRepository } from './repository/peers.js';
5
+ import { SqliteRefMessagesRepository } from './repository/ref-messages.js';
6
+ export { BaseSqliteStorageDriver };
7
+ export * from './types.js';
8
+ export class BaseSqliteStorage {
9
+ constructor(driver) {
10
+ this.driver = driver;
11
+ this.authKeys = new SqliteAuthKeysRepository(this.driver);
12
+ this.kv = new SqliteKeyValueRepository(this.driver);
13
+ this.refMessages = new SqliteRefMessagesRepository(this.driver);
14
+ this.peers = new SqlitePeersRepository(this.driver);
15
+ }
16
+ }
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;AAE1E,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,cAAc,YAAY,CAAA;AAE1B,MAAM,OAAO,iBAAiB;IAC1B,YAAqB,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;QAE3C,aAAQ,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpD,OAAE,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,gBAAW,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1D,UAAK,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IALA,CAAC;CAM3D","sourcesContent":["import { ITelegramStorageProvider } from '../../highlevel/storage/provider.js'\nimport { IMtStorageProvider } from '../provider.js'\nimport { BaseSqliteStorageDriver } from './driver.js'\nimport { SqliteAuthKeysRepository } from './repository/auth-keys.js'\nimport { SqliteKeyValueRepository } from './repository/kv.js'\nimport { SqlitePeersRepository } from './repository/peers.js'\nimport { SqliteRefMessagesRepository } from './repository/ref-messages.js'\n\nexport { BaseSqliteStorageDriver }\nexport * from './types.js'\n\nexport class BaseSqliteStorage implements IMtStorageProvider, ITelegramStorageProvider {\n constructor(readonly driver: BaseSqliteStorageDriver) {}\n\n readonly authKeys = new SqliteAuthKeysRepository(this.driver)\n readonly kv = new SqliteKeyValueRepository(this.driver)\n readonly refMessages = new SqliteRefMessagesRepository(this.driver)\n readonly peers = new SqlitePeersRepository(this.driver)\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import { IAuthKeysRepository } from '../../repository/auth-keys.js';
2
+ import { BaseSqliteStorageDriver } from '../driver.js';
3
+ export declare class SqliteAuthKeysRepository implements IAuthKeysRepository {
4
+ readonly _driver: BaseSqliteStorageDriver;
5
+ constructor(_driver: BaseSqliteStorageDriver);
6
+ private _set;
7
+ private _del;
8
+ set(dc: number, key: Uint8Array | null): void;
9
+ private _get;
10
+ get(dc: number): Uint8Array | null;
11
+ private _setTemp;
12
+ private _delTemp;
13
+ setTemp(dc: number, idx: number, key: Uint8Array | null, expires: number): void;
14
+ private _getTemp;
15
+ getTemp(dc: number, idx: number, now: number): Uint8Array | null;
16
+ private _delTempAll;
17
+ deleteByDc(dc: number): void;
18
+ private _delAll;
19
+ deleteAll(): void;
20
+ }
@@ -0,0 +1,64 @@
1
+ export class SqliteAuthKeysRepository {
2
+ constructor(_driver) {
3
+ this._driver = _driver;
4
+ _driver.registerMigration('auth_keys', 1, (db) => {
5
+ db.exec(`
6
+ create table if not exists auth_keys (
7
+ dc integer primary key,
8
+ key blob not null
9
+ );
10
+ create table if not exists temp_auth_keys (
11
+ dc integer not null,
12
+ idx integer not null,
13
+ key blob not null,
14
+ expires integer not null,
15
+ primary key (dc, idx)
16
+ );
17
+ `);
18
+ });
19
+ _driver.onLoad((db) => {
20
+ this._get = db.prepare('select key from auth_keys where dc = ?');
21
+ this._getTemp = db.prepare('select key from temp_auth_keys where dc = ? and idx = ? and expires > ?');
22
+ this._set = db.prepare('insert or replace into auth_keys (dc, key) values (?, ?)');
23
+ this._setTemp = this._driver.db.prepare('insert or replace into temp_auth_keys (dc, idx, key, expires) values (?, ?, ?, ?)');
24
+ this._del = db.prepare('delete from auth_keys where dc = ?');
25
+ this._delTemp = db.prepare('delete from temp_auth_keys where dc = ? and idx = ?');
26
+ this._delTempAll = db.prepare('delete from temp_auth_keys where dc = ?');
27
+ this._delAll = db.prepare('delete from auth_keys');
28
+ });
29
+ }
30
+ set(dc, key) {
31
+ if (!key) {
32
+ this._del.run(dc);
33
+ return;
34
+ }
35
+ this._set.run(dc, key);
36
+ }
37
+ get(dc) {
38
+ const row = this._get.get(dc);
39
+ if (!row)
40
+ return null;
41
+ return row.key;
42
+ }
43
+ setTemp(dc, idx, key, expires) {
44
+ if (!key) {
45
+ this._delTemp.run(dc, idx);
46
+ return;
47
+ }
48
+ this._setTemp.run(dc, idx, key, expires);
49
+ }
50
+ getTemp(dc, idx, now) {
51
+ const row = this._getTemp.get(dc, idx, now);
52
+ if (!row)
53
+ return null;
54
+ return row.key;
55
+ }
56
+ deleteByDc(dc) {
57
+ this._del.run(dc);
58
+ this._delTempAll.run(dc);
59
+ }
60
+ deleteAll() {
61
+ this._delAll.run();
62
+ }
63
+ }
64
+ //# sourceMappingURL=auth-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-keys.js","sourceRoot":"","sources":["../../../../../src/storage/sqlite/repository/auth-keys.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,wBAAwB;IACjC,YAAqB,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;QACjD,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;YAC7C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;aAYP,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;YAChE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,yEAAyE,CAAC,CAAA;YAErG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAA;YAClF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CACnC,mFAAmF,CACtF,CAAA;YAED,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAA;YAC5D,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAA;YACjF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAA;YACxE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;IACN,CAAC;IAID,GAAG,CAAC,EAAU,EAAE,GAAsB;QAClC,IAAI,CAAC,GAAG,EAAE;YACN,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAEjB,OAAM;SACT;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC;IAGD,GAAG,CAAC,EAAU;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QAErB,OAAQ,GAAkB,CAAC,GAAG,CAAA;IAClC,CAAC;IAID,OAAO,CAAC,EAAU,EAAE,GAAW,EAAE,GAAsB,EAAE,OAAe;QACpE,IAAI,CAAC,GAAG,EAAE;YACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YAE1B,OAAM;SACT;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAGD,OAAO,CAAC,EAAU,EAAE,GAAW,EAAE,GAAW;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QAErB,OAAQ,GAAsB,CAAC,GAAG,CAAA;IACtC,CAAC;IAGD,UAAU,CAAC,EAAU;QACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAGD,SAAS;QACL,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IACtB,CAAC;CACJ","sourcesContent":["import { IAuthKeysRepository } from '../../repository/auth-keys.js'\nimport { BaseSqliteStorageDriver } from '../driver.js'\nimport { ISqliteStatement } from '../types.js'\n\ninterface AuthKeyDto {\n dc: number\n key: Uint8Array\n}\n\ninterface TempAuthKeyDto extends AuthKeyDto {\n expires?: number\n idx?: number\n}\n\nexport class SqliteAuthKeysRepository implements IAuthKeysRepository {\n constructor(readonly _driver: BaseSqliteStorageDriver) {\n _driver.registerMigration('auth_keys', 1, (db) => {\n db.exec(`\n create table if not exists auth_keys (\n dc integer primary key,\n key blob not null\n );\n create table if not exists temp_auth_keys (\n dc integer not null,\n idx integer not null,\n key blob not null,\n expires integer not null,\n primary key (dc, idx)\n );\n `)\n })\n _driver.onLoad((db) => {\n this._get = db.prepare('select key from auth_keys where dc = ?')\n this._getTemp = db.prepare('select key from temp_auth_keys where dc = ? and idx = ? and expires > ?')\n\n this._set = db.prepare('insert or replace into auth_keys (dc, key) values (?, ?)')\n this._setTemp = this._driver.db.prepare(\n 'insert or replace into temp_auth_keys (dc, idx, key, expires) values (?, ?, ?, ?)',\n )\n\n this._del = db.prepare('delete from auth_keys where dc = ?')\n this._delTemp = db.prepare('delete from temp_auth_keys where dc = ? and idx = ?')\n this._delTempAll = db.prepare('delete from temp_auth_keys where dc = ?')\n this._delAll = db.prepare('delete from auth_keys')\n })\n }\n\n private _set!: ISqliteStatement\n private _del!: ISqliteStatement\n set(dc: number, key: Uint8Array | null): void {\n if (!key) {\n this._del.run(dc)\n\n return\n }\n\n this._set.run(dc, key)\n }\n\n private _get!: ISqliteStatement\n get(dc: number): Uint8Array | null {\n const row = this._get.get(dc)\n if (!row) return null\n\n return (row as AuthKeyDto).key\n }\n\n private _setTemp!: ISqliteStatement\n private _delTemp!: ISqliteStatement\n setTemp(dc: number, idx: number, key: Uint8Array | null, expires: number): void {\n if (!key) {\n this._delTemp.run(dc, idx)\n\n return\n }\n\n this._setTemp.run(dc, idx, key, expires)\n }\n\n private _getTemp!: ISqliteStatement\n getTemp(dc: number, idx: number, now: number): Uint8Array | null {\n const row = this._getTemp.get(dc, idx, now)\n if (!row) return null\n\n return (row as TempAuthKeyDto).key\n }\n\n private _delTempAll!: ISqliteStatement\n deleteByDc(dc: number): void {\n this._del.run(dc)\n this._delTempAll.run(dc)\n }\n\n private _delAll!: ISqliteStatement\n deleteAll(): void {\n this._delAll.run()\n }\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import { IKeyValueRepository } from '../../repository/key-value.js';
2
+ import { BaseSqliteStorageDriver } from '../driver.js';
3
+ export declare class SqliteKeyValueRepository implements IKeyValueRepository {
4
+ readonly _driver: BaseSqliteStorageDriver;
5
+ constructor(_driver: BaseSqliteStorageDriver);
6
+ private _set;
7
+ set(key: string, value: Uint8Array): void;
8
+ private _get;
9
+ get(key: string): Uint8Array | null;
10
+ private _del;
11
+ delete(key: string): void;
12
+ private _delAll;
13
+ deleteAll(): void;
14
+ }