@mtcute/core 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -3
- package/cjs/highlevel/base.d.ts +3 -1
- package/cjs/highlevel/base.js +18 -0
- package/cjs/highlevel/base.js.map +1 -1
- package/cjs/highlevel/client.d.ts +23 -10
- package/cjs/highlevel/client.js +26 -19
- package/cjs/highlevel/client.js.map +1 -1
- package/cjs/highlevel/client.types.d.ts +14 -0
- package/cjs/highlevel/client.types.js.map +1 -1
- package/cjs/highlevel/index.d.ts +0 -2
- package/cjs/highlevel/index.js +0 -2
- package/cjs/highlevel/index.js.map +1 -1
- package/cjs/highlevel/methods/_imports.js.map +1 -1
- package/cjs/highlevel/methods/_init.js +4 -29
- package/cjs/highlevel/methods/_init.js.map +1 -1
- package/cjs/highlevel/methods/bots/get-callback-answer.js +2 -2
- package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/create-folder.js +1 -1
- package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/edit-folder.js +1 -1
- package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/find-folder.js +1 -1
- package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/get-folders.d.ts +1 -1
- package/cjs/highlevel/methods/dialogs/get-folders.js +1 -1
- package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
- package/cjs/highlevel/methods/files/download-file.d.ts +1 -10
- package/cjs/highlevel/methods/files/download-file.js +1 -32
- package/cjs/highlevel/methods/files/download-file.js.map +1 -1
- package/cjs/highlevel/methods/files/download-iterable.js +2 -1
- package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
- package/cjs/highlevel/methods/files/download-node-stream.js +4 -0
- package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -0
- package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -1
- package/cjs/highlevel/methods/files/normalize-input-media.js +2 -1
- package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
- package/cjs/highlevel/methods/files/upload-file.d.ts +0 -3
- package/cjs/highlevel/methods/files/upload-file.js +17 -13
- package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
- package/cjs/highlevel/methods/messages/find-in-update.js +23 -8
- package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media-group.d.ts +1 -1
- package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media.d.ts +2 -2
- package/cjs/highlevel/methods/messages/send-media.js +5 -4
- package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-text.d.ts +1 -1
- package/cjs/highlevel/methods/messages/send-text.js +7 -6
- package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
- package/cjs/highlevel/methods/misc/with-params.d.ts +10 -0
- package/cjs/highlevel/methods/misc/with-params.js +32 -0
- package/cjs/highlevel/methods/misc/with-params.js.map +1 -0
- package/cjs/highlevel/methods.d.ts +13 -1
- package/cjs/highlevel/methods.js +4 -6
- package/cjs/highlevel/methods.js.map +1 -1
- package/cjs/highlevel/types/bots/command-scope/index.d.ts +10 -0
- package/cjs/highlevel/types/bots/command-scope/index.js +29 -0
- package/cjs/highlevel/types/bots/command-scope/index.js.map +1 -0
- package/cjs/highlevel/types/bots/command-scope/inner.d.ts +54 -0
- package/cjs/highlevel/types/bots/command-scope/inner.js +76 -0
- package/cjs/highlevel/types/bots/command-scope/inner.js.map +1 -0
- package/cjs/highlevel/types/bots/index.d.ts +4 -4
- package/cjs/highlevel/types/bots/index.js +4 -4
- package/cjs/highlevel/types/bots/index.js.map +1 -1
- package/cjs/highlevel/types/bots/inline-message/factories.d.ts +43 -0
- package/cjs/highlevel/types/bots/inline-message/factories.js +175 -0
- package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -0
- package/cjs/highlevel/types/bots/inline-message/index.d.ts +3 -0
- package/cjs/highlevel/types/bots/inline-message/index.js +33 -0
- package/cjs/highlevel/types/bots/inline-message/index.js.map +1 -0
- package/{esm/highlevel/types/bots/input/input-inline-message.d.ts → cjs/highlevel/types/bots/inline-message/types.d.ts} +2 -45
- package/cjs/highlevel/types/bots/inline-message/types.js +3 -0
- package/cjs/highlevel/types/bots/inline-message/types.js.map +1 -0
- package/cjs/highlevel/types/bots/inline-result/factories.d.ts +94 -0
- package/cjs/highlevel/types/bots/inline-result/factories.js +486 -0
- package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -0
- package/cjs/highlevel/types/bots/inline-result/index.d.ts +3 -0
- package/cjs/highlevel/types/bots/inline-result/index.js +33 -0
- package/cjs/highlevel/types/bots/inline-result/index.js.map +1 -0
- package/{esm/highlevel/types/bots/input/input-inline-result.d.ts → cjs/highlevel/types/bots/inline-result/types.d.ts} +1 -95
- package/cjs/highlevel/types/bots/inline-result/types.js +3 -0
- package/cjs/highlevel/types/bots/inline-result/types.js.map +1 -0
- package/cjs/highlevel/types/bots/{keyboard-builder.d.ts → keyboards/builder.d.ts} +1 -1
- package/cjs/highlevel/types/bots/{keyboard-builder.js → keyboards/builder.js} +1 -1
- package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -0
- package/cjs/highlevel/types/bots/keyboards/factories.d.ts +195 -0
- package/cjs/highlevel/types/bots/keyboards/factories.js +366 -0
- package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -0
- package/cjs/highlevel/types/bots/keyboards/index.d.ts +14 -0
- package/cjs/highlevel/types/bots/keyboards/index.js +33 -0
- package/cjs/highlevel/types/bots/keyboards/index.js.map +1 -0
- package/cjs/highlevel/types/bots/keyboards/types.d.ts +34 -0
- package/cjs/highlevel/types/bots/keyboards/types.js +3 -0
- package/cjs/highlevel/types/bots/keyboards/types.js.map +1 -0
- package/cjs/highlevel/types/media/document.js +3 -2
- package/cjs/highlevel/types/media/document.js.map +1 -1
- package/cjs/highlevel/types/media/index.d.ts +1 -1
- package/cjs/highlevel/types/media/index.js +1 -1
- package/cjs/highlevel/types/media/index.js.map +1 -1
- package/cjs/highlevel/types/media/input-media/factories.d.ts +141 -0
- package/cjs/highlevel/types/media/input-media/factories.js +250 -0
- package/cjs/highlevel/types/media/input-media/factories.js.map +1 -0
- package/cjs/highlevel/types/media/input-media/index.d.ts +3 -0
- package/cjs/highlevel/types/media/input-media/index.js +33 -0
- package/cjs/highlevel/types/media/input-media/index.js.map +1 -0
- package/cjs/highlevel/types/media/{input-media.d.ts → input-media/types.d.ts} +5 -145
- package/cjs/highlevel/types/media/input-media/types.js +3 -0
- package/cjs/highlevel/types/media/input-media/types.js.map +1 -0
- package/cjs/highlevel/types/media/thumbnail.js +5 -4
- package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
- package/cjs/highlevel/types/messages/message.d.ts +1 -1
- package/cjs/highlevel/types/messages/message.js +3 -3
- package/cjs/highlevel/types/messages/message.js.map +1 -1
- package/cjs/highlevel/types/misc/index.d.ts +1 -1
- package/cjs/highlevel/types/misc/index.js +1 -1
- package/cjs/highlevel/types/misc/index.js.map +1 -1
- package/cjs/highlevel/types/misc/input-privacy-rule/allow.d.ts +22 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/allow.js +36 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/bundle.d.ts +3 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/bundle.js +31 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/bundle.js.map +1 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/disallow.d.ts +20 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/disallow.js +32 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/index.d.ts +3 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/index.js +33 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/index.js.map +1 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/types.d.ts +11 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/types.js +3 -0
- package/cjs/highlevel/types/misc/input-privacy-rule/types.js.map +1 -0
- package/cjs/highlevel/types/peers/chat-photo.js +3 -2
- package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
- package/cjs/highlevel/types/updates/callback-query.js +2 -2
- package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
- package/cjs/highlevel/types/updates/user-status-update.js +1 -1
- package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
- package/cjs/highlevel/updates/manager.d.ts +5 -3
- package/cjs/highlevel/updates/manager.js +81 -67
- package/cjs/highlevel/updates/manager.js.map +1 -1
- package/cjs/highlevel/utils/convert-file-id.js +7 -6
- package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
- package/cjs/highlevel/utils/file-utils.js +8 -4
- package/cjs/highlevel/utils/file-utils.js.map +1 -1
- package/cjs/highlevel/utils/inline-utils.js +3 -2
- package/cjs/highlevel/utils/inline-utils.js.map +1 -1
- package/cjs/highlevel/utils/inspectable.d.ts +1 -1
- package/cjs/highlevel/utils/inspectable.js +3 -2
- package/cjs/highlevel/utils/inspectable.js.map +1 -1
- package/cjs/highlevel/utils/memoize.d.ts +1 -1
- package/cjs/highlevel/utils/memoize.js +1 -0
- package/cjs/highlevel/utils/memoize.js.map +1 -1
- package/cjs/highlevel/utils/stream-utils.d.ts +0 -2
- package/cjs/highlevel/utils/stream-utils.js +1 -28
- package/cjs/highlevel/utils/stream-utils.js.map +1 -1
- package/cjs/highlevel/utils/string-session.js +3 -2
- package/cjs/highlevel/utils/string-session.js.map +1 -1
- package/cjs/highlevel/worker/index.d.ts +3 -0
- package/cjs/highlevel/{types/bots/input → worker}/index.js +3 -2
- package/cjs/highlevel/worker/index.js.map +1 -0
- package/cjs/highlevel/worker/port.d.ts +6 -3
- package/cjs/highlevel/worker/port.js +8 -2
- package/cjs/highlevel/worker/port.js.map +1 -1
- package/cjs/highlevel/worker/protocol.d.ts +5 -1
- package/cjs/highlevel/worker/protocol.js.map +1 -1
- package/cjs/highlevel/worker/worker.d.ts +11 -4
- package/cjs/highlevel/worker/worker.js +53 -49
- package/cjs/highlevel/worker/worker.js.map +1 -1
- package/cjs/network/authorization.js +1 -0
- package/cjs/network/authorization.js.map +1 -1
- package/cjs/network/client.d.ts +4 -4
- package/cjs/network/client.js +3 -1
- package/cjs/network/client.js.map +1 -1
- package/cjs/network/mtproto-session.d.ts +1 -0
- package/cjs/network/mtproto-session.js +7 -1
- package/cjs/network/mtproto-session.js.map +1 -1
- package/cjs/network/multi-session-connection.d.ts +1 -0
- package/cjs/network/multi-session-connection.js +6 -0
- package/cjs/network/multi-session-connection.js.map +1 -1
- package/cjs/network/network-manager.d.ts +5 -1
- package/cjs/network/network-manager.js +24 -15
- package/cjs/network/network-manager.js.map +1 -1
- package/cjs/network/persistent-connection.d.ts +3 -0
- package/cjs/network/persistent-connection.js +23 -1
- package/cjs/network/persistent-connection.js.map +1 -1
- package/cjs/network/session-connection.d.ts +2 -0
- package/cjs/network/session-connection.js +21 -7
- package/cjs/network/session-connection.js.map +1 -1
- package/cjs/network/transports/index.d.ts +0 -3
- package/cjs/network/transports/index.js +0 -4
- package/cjs/network/transports/index.js.map +1 -1
- package/cjs/platform.d.ts +18 -0
- package/cjs/platform.js +36 -0
- package/cjs/platform.js.map +1 -0
- package/cjs/storage/index.d.ts +1 -2
- package/cjs/storage/index.js +1 -2
- package/cjs/storage/index.js.map +1 -1
- package/{esm/storage/providers → cjs/storage}/memory/driver.d.ts +1 -1
- package/cjs/storage/memory/driver.js.map +1 -0
- package/{esm/storage/providers → cjs/storage}/memory/index.d.ts +2 -2
- package/cjs/storage/memory/index.js.map +1 -0
- package/cjs/storage/{providers/memory → memory}/repository/auth-keys.d.ts +1 -1
- package/cjs/storage/memory/repository/auth-keys.js.map +1 -0
- package/{esm/storage/providers → cjs/storage}/memory/repository/kv.d.ts +1 -1
- package/cjs/storage/memory/repository/kv.js.map +1 -0
- package/{esm/storage/providers → cjs/storage}/memory/repository/peers.d.ts +1 -1
- package/cjs/storage/memory/repository/peers.js.map +1 -0
- package/{esm/storage/providers → cjs/storage}/memory/repository/ref-messages.d.ts +1 -1
- package/cjs/storage/memory/repository/ref-messages.js.map +1 -0
- package/cjs/storage/storage.js +2 -1
- package/cjs/storage/storage.js.map +1 -1
- package/cjs/utils/binary/asn1-parser.js +3 -3
- package/cjs/utils/binary/asn1-parser.js.map +1 -1
- package/cjs/utils/crypto/abstract.d.ts +0 -1
- package/cjs/utils/crypto/abstract.js.map +1 -1
- package/cjs/utils/crypto/index.d.ts +0 -2
- package/cjs/utils/crypto/index.js +0 -3
- package/cjs/utils/crypto/index.js.map +1 -1
- package/cjs/utils/crypto/keys.js +5 -3
- package/cjs/utils/crypto/keys.js.map +1 -1
- package/cjs/utils/crypto/password.js +3 -3
- package/cjs/utils/crypto/password.js.map +1 -1
- package/cjs/utils/dcs.d.ts +4 -0
- package/cjs/utils/dcs.js +0 -4
- package/cjs/utils/dcs.js.map +1 -1
- package/cjs/utils/{platform/error-reporting.d.ts → error-reporting.d.ts} +1 -1
- package/cjs/utils/error-reporting.js.map +1 -0
- package/cjs/utils/index.d.ts +4 -1
- package/cjs/utils/index.js +6 -1
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/links/common.js +1 -1
- package/cjs/utils/links/common.js.map +1 -1
- package/cjs/utils/logger.d.ts +1 -0
- package/cjs/utils/logger.js +9 -22
- package/cjs/utils/logger.js.map +1 -1
- package/esm/highlevel/base.d.ts +3 -1
- package/esm/highlevel/base.js +18 -0
- package/esm/highlevel/base.js.map +1 -1
- package/esm/highlevel/client.d.ts +23 -10
- package/esm/highlevel/client.js +12 -19
- package/esm/highlevel/client.js.map +1 -1
- package/esm/highlevel/client.types.d.ts +14 -0
- package/esm/highlevel/client.types.js.map +1 -1
- package/esm/highlevel/index.d.ts +0 -2
- package/esm/highlevel/index.js +0 -2
- package/esm/highlevel/index.js.map +1 -1
- package/esm/highlevel/methods/_imports.js.map +1 -1
- package/esm/highlevel/methods/_init.js +4 -29
- package/esm/highlevel/methods/_init.js.map +1 -1
- package/esm/highlevel/methods/bots/get-callback-answer.js +2 -2
- package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
- package/esm/highlevel/methods/dialogs/create-folder.js +1 -1
- package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/edit-folder.js +1 -1
- package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/find-folder.js +1 -1
- package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/get-folders.d.ts +1 -1
- package/esm/highlevel/methods/dialogs/get-folders.js +1 -1
- package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
- package/esm/highlevel/methods/files/download-file.d.ts +1 -10
- package/esm/highlevel/methods/files/download-file.js +2 -30
- package/esm/highlevel/methods/files/download-file.js.map +1 -1
- package/esm/highlevel/methods/files/download-iterable.js +2 -1
- package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
- package/esm/highlevel/methods/files/download-node-stream.js +3 -0
- package/esm/highlevel/methods/files/download-node-stream.js.map +1 -0
- package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -1
- package/esm/highlevel/methods/files/normalize-input-media.js +2 -1
- package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
- package/esm/highlevel/methods/files/upload-file.d.ts +0 -3
- package/esm/highlevel/methods/files/upload-file.js +17 -13
- package/esm/highlevel/methods/files/upload-file.js.map +1 -1
- package/esm/highlevel/methods/messages/find-in-update.js +23 -8
- package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media-group.d.ts +1 -1
- package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media.d.ts +2 -2
- package/esm/highlevel/methods/messages/send-media.js +4 -3
- package/esm/highlevel/methods/messages/send-media.js.map +1 -1
- package/esm/highlevel/methods/messages/send-text.d.ts +1 -1
- package/esm/highlevel/methods/messages/send-text.js +4 -3
- package/esm/highlevel/methods/messages/send-text.js.map +1 -1
- package/esm/highlevel/methods/misc/with-params.d.ts +10 -0
- package/esm/highlevel/methods/misc/with-params.js +28 -0
- package/esm/highlevel/methods/misc/with-params.js.map +1 -0
- package/esm/highlevel/methods.d.ts +13 -1
- package/esm/highlevel/methods.js +0 -1
- package/esm/highlevel/methods.js.map +1 -1
- package/esm/highlevel/types/auth/sent-code.js +4 -3
- package/esm/highlevel/types/bots/command-scope/index.d.ts +10 -0
- package/esm/highlevel/types/bots/command-scope/index.js +11 -0
- package/esm/highlevel/types/bots/command-scope/index.js.map +1 -0
- package/esm/highlevel/types/bots/command-scope/inner.d.ts +54 -0
- package/esm/highlevel/types/bots/command-scope/inner.js +69 -0
- package/esm/highlevel/types/bots/command-scope/inner.js.map +1 -0
- package/esm/highlevel/types/bots/game-high-score.js +5 -4
- package/esm/highlevel/types/bots/index.d.ts +4 -4
- package/esm/highlevel/types/bots/index.js +4 -4
- package/esm/highlevel/types/bots/index.js.map +1 -1
- package/esm/highlevel/types/bots/inline-message/factories.d.ts +43 -0
- package/esm/highlevel/types/bots/inline-message/factories.js +163 -0
- package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -0
- package/esm/highlevel/types/bots/inline-message/index.d.ts +3 -0
- package/esm/highlevel/types/bots/inline-message/index.js +4 -0
- package/esm/highlevel/types/bots/inline-message/index.js.map +1 -0
- package/{cjs/highlevel/types/bots/input/input-inline-message.d.ts → esm/highlevel/types/bots/inline-message/types.d.ts} +2 -45
- package/esm/highlevel/types/bots/inline-message/types.js +2 -0
- package/esm/highlevel/types/bots/inline-message/types.js.map +1 -0
- package/esm/highlevel/types/bots/inline-result/factories.d.ts +94 -0
- package/esm/highlevel/types/bots/inline-result/factories.js +470 -0
- package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -0
- package/esm/highlevel/types/bots/inline-result/index.d.ts +3 -0
- package/esm/highlevel/types/bots/inline-result/index.js +4 -0
- package/esm/highlevel/types/bots/inline-result/index.js.map +1 -0
- package/{cjs/highlevel/types/bots/input/input-inline-result.d.ts → esm/highlevel/types/bots/inline-result/types.d.ts} +1 -95
- package/esm/highlevel/types/bots/inline-result/types.js +2 -0
- package/esm/highlevel/types/bots/inline-result/types.js.map +1 -0
- package/esm/highlevel/types/bots/{keyboard-builder.d.ts → keyboards/builder.d.ts} +1 -1
- package/esm/highlevel/types/bots/{keyboard-builder.js → keyboards/builder.js} +1 -1
- package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -0
- package/esm/highlevel/types/bots/keyboards/factories.d.ts +195 -0
- package/esm/highlevel/types/bots/keyboards/factories.js +341 -0
- package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -0
- package/esm/highlevel/types/bots/keyboards/index.d.ts +14 -0
- package/esm/highlevel/types/bots/keyboards/index.js +15 -0
- package/esm/highlevel/types/bots/keyboards/index.js.map +1 -0
- package/esm/highlevel/types/bots/keyboards/types.d.ts +34 -0
- package/esm/highlevel/types/bots/keyboards/types.js +2 -0
- package/esm/highlevel/types/bots/keyboards/types.js.map +1 -0
- package/esm/highlevel/types/files/file-location.js +4 -3
- package/esm/highlevel/types/files/web-document.js +4 -3
- package/esm/highlevel/types/media/audio.js +5 -4
- package/esm/highlevel/types/media/contact.js +4 -3
- package/esm/highlevel/types/media/dice.js +4 -3
- package/esm/highlevel/types/media/document.js +8 -6
- package/esm/highlevel/types/media/document.js.map +1 -1
- package/esm/highlevel/types/media/game.js +5 -4
- package/esm/highlevel/types/media/index.d.ts +1 -1
- package/esm/highlevel/types/media/index.js +1 -1
- package/esm/highlevel/types/media/index.js.map +1 -1
- package/esm/highlevel/types/media/input-media/factories.d.ts +141 -0
- package/esm/highlevel/types/media/input-media/factories.js +228 -0
- package/esm/highlevel/types/media/input-media/factories.js.map +1 -0
- package/esm/highlevel/types/media/input-media/index.d.ts +3 -0
- package/esm/highlevel/types/media/input-media/index.js +4 -0
- package/esm/highlevel/types/media/input-media/index.js.map +1 -0
- package/esm/highlevel/types/media/{input-media.d.ts → input-media/types.d.ts} +5 -145
- package/esm/highlevel/types/media/input-media/types.js +2 -0
- package/esm/highlevel/types/media/input-media/types.js.map +1 -0
- package/esm/highlevel/types/media/invoice.js +9 -7
- package/esm/highlevel/types/media/location.js +7 -5
- package/esm/highlevel/types/media/photo.js +5 -4
- package/esm/highlevel/types/media/poll.js +5 -4
- package/esm/highlevel/types/media/sticker.js +5 -4
- package/esm/highlevel/types/media/story.js +4 -3
- package/esm/highlevel/types/media/thumbnail.js +10 -8
- package/esm/highlevel/types/media/thumbnail.js.map +1 -1
- package/esm/highlevel/types/media/venue.js +5 -4
- package/esm/highlevel/types/media/video.js +5 -4
- package/esm/highlevel/types/media/voice.js +5 -4
- package/esm/highlevel/types/media/web-page.js +5 -4
- package/esm/highlevel/types/messages/dialog.js +5 -4
- package/esm/highlevel/types/messages/draft-message.js +5 -4
- package/esm/highlevel/types/messages/message-entity.js +5 -4
- package/esm/highlevel/types/messages/message-forward.js +5 -4
- package/esm/highlevel/types/messages/message-reactions.js +5 -4
- package/esm/highlevel/types/messages/message-replies.js +5 -4
- package/esm/highlevel/types/messages/message.d.ts +1 -1
- package/esm/highlevel/types/messages/message.js +6 -5
- package/esm/highlevel/types/messages/message.js.map +1 -1
- package/esm/highlevel/types/messages/replied-message.js +5 -4
- package/esm/highlevel/types/misc/index.d.ts +1 -1
- package/esm/highlevel/types/misc/index.js +1 -1
- package/esm/highlevel/types/misc/index.js.map +1 -1
- package/esm/highlevel/types/misc/input-privacy-rule/allow.d.ts +22 -0
- package/esm/highlevel/types/misc/input-privacy-rule/allow.js +31 -0
- package/esm/highlevel/types/misc/input-privacy-rule/allow.js.map +1 -0
- package/esm/highlevel/types/misc/input-privacy-rule/bundle.d.ts +3 -0
- package/esm/highlevel/types/misc/input-privacy-rule/bundle.js +4 -0
- package/esm/highlevel/types/misc/input-privacy-rule/bundle.js.map +1 -0
- package/esm/highlevel/types/misc/input-privacy-rule/disallow.d.ts +20 -0
- package/esm/highlevel/types/misc/input-privacy-rule/disallow.js +27 -0
- package/esm/highlevel/types/misc/input-privacy-rule/disallow.js.map +1 -0
- package/esm/highlevel/types/misc/input-privacy-rule/index.d.ts +3 -0
- package/esm/highlevel/types/misc/input-privacy-rule/index.js +4 -0
- package/esm/highlevel/types/misc/input-privacy-rule/index.js.map +1 -0
- package/esm/highlevel/types/misc/input-privacy-rule/types.d.ts +11 -0
- package/esm/highlevel/types/misc/input-privacy-rule/types.js +2 -0
- package/esm/highlevel/types/misc/input-privacy-rule/types.js.map +1 -0
- package/esm/highlevel/types/misc/sticker-set.js +5 -4
- package/esm/highlevel/types/misc/takeout-session.js +4 -3
- package/esm/highlevel/types/peers/chat-colors.js +4 -3
- package/esm/highlevel/types/peers/chat-event/index.js +5 -4
- package/esm/highlevel/types/peers/chat-invite-link-member.js +5 -4
- package/esm/highlevel/types/peers/chat-invite-link.js +5 -4
- package/esm/highlevel/types/peers/chat-location.js +5 -4
- package/esm/highlevel/types/peers/chat-member.js +5 -4
- package/esm/highlevel/types/peers/chat-permissions.js +4 -3
- package/esm/highlevel/types/peers/chat-photo.js +12 -9
- package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
- package/esm/highlevel/types/peers/chat-preview.js +5 -4
- package/esm/highlevel/types/peers/chat.js +5 -4
- package/esm/highlevel/types/peers/forum-topic.js +5 -4
- package/esm/highlevel/types/peers/user.js +5 -4
- package/esm/highlevel/types/premium/boost-slot.js +5 -4
- package/esm/highlevel/types/premium/boost-stats.js +4 -3
- package/esm/highlevel/types/premium/boost.js +5 -4
- package/esm/highlevel/types/reactions/emoji-status.js +4 -3
- package/esm/highlevel/types/reactions/peer-reaction.js +5 -4
- package/esm/highlevel/types/reactions/reaction-count.js +4 -3
- package/esm/highlevel/types/stories/all-stories.js +5 -4
- package/esm/highlevel/types/stories/interactive/channel-post.js +5 -4
- package/esm/highlevel/types/stories/interactive/location.js +5 -4
- package/esm/highlevel/types/stories/interactive/reaction.js +4 -3
- package/esm/highlevel/types/stories/interactive/venue.js +5 -4
- package/esm/highlevel/types/stories/peer-stories.js +5 -4
- package/esm/highlevel/types/stories/stealth-mode.js +4 -3
- package/esm/highlevel/types/stories/story-interactions.js +5 -4
- package/esm/highlevel/types/stories/story-viewer.js +9 -7
- package/esm/highlevel/types/stories/story.js +5 -4
- package/esm/highlevel/types/updates/bot-chat-join-request.js +5 -4
- package/esm/highlevel/types/updates/bot-reaction.js +9 -7
- package/esm/highlevel/types/updates/bot-stopped.js +5 -4
- package/esm/highlevel/types/updates/callback-query.js +11 -9
- package/esm/highlevel/types/updates/callback-query.js.map +1 -1
- package/esm/highlevel/types/updates/chat-join-request.js +5 -4
- package/esm/highlevel/types/updates/chat-member-update.js +5 -4
- package/esm/highlevel/types/updates/chosen-inline-result.js +5 -4
- package/esm/highlevel/types/updates/delete-message-update.js +4 -3
- package/esm/highlevel/types/updates/delete-story-update.js +5 -4
- package/esm/highlevel/types/updates/history-read-update.js +4 -3
- package/esm/highlevel/types/updates/inline-query.js +5 -4
- package/esm/highlevel/types/updates/poll-update.js +5 -4
- package/esm/highlevel/types/updates/poll-vote.js +5 -4
- package/esm/highlevel/types/updates/pre-checkout-query.js +5 -4
- package/esm/highlevel/types/updates/story-update.js +5 -4
- package/esm/highlevel/types/updates/user-status-update.js +5 -4
- package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
- package/esm/highlevel/types/updates/user-typing-update.js +4 -3
- package/esm/highlevel/updates/manager.d.ts +5 -3
- package/esm/highlevel/updates/manager.js +81 -67
- package/esm/highlevel/updates/manager.js.map +1 -1
- package/esm/highlevel/utils/convert-file-id.js +7 -6
- package/esm/highlevel/utils/convert-file-id.js.map +1 -1
- package/esm/highlevel/utils/file-utils.js +8 -4
- package/esm/highlevel/utils/file-utils.js.map +1 -1
- package/esm/highlevel/utils/inline-utils.js +4 -3
- package/esm/highlevel/utils/inline-utils.js.map +1 -1
- package/esm/highlevel/utils/inspectable.d.ts +1 -1
- package/esm/highlevel/utils/inspectable.js +3 -2
- package/esm/highlevel/utils/inspectable.js.map +1 -1
- package/esm/highlevel/utils/memoize.d.ts +1 -1
- package/esm/highlevel/utils/memoize.js +1 -0
- package/esm/highlevel/utils/memoize.js.map +1 -1
- package/esm/highlevel/utils/stream-utils.d.ts +0 -2
- package/esm/highlevel/utils/stream-utils.js +0 -26
- package/esm/highlevel/utils/stream-utils.js.map +1 -1
- package/esm/highlevel/utils/string-session.js +4 -3
- package/esm/highlevel/utils/string-session.js.map +1 -1
- package/esm/highlevel/worker/index.d.ts +3 -0
- package/esm/highlevel/worker/index.js +4 -0
- package/esm/highlevel/worker/index.js.map +1 -0
- package/esm/highlevel/worker/port.d.ts +6 -3
- package/esm/highlevel/worker/port.js +8 -2
- package/esm/highlevel/worker/port.js.map +1 -1
- package/esm/highlevel/worker/protocol.d.ts +5 -1
- package/esm/highlevel/worker/protocol.js.map +1 -1
- package/esm/highlevel/worker/worker.d.ts +11 -4
- package/esm/highlevel/worker/worker.js +51 -47
- package/esm/highlevel/worker/worker.js.map +1 -1
- package/esm/network/authorization.js +1 -0
- package/esm/network/authorization.js.map +1 -1
- package/esm/network/client.d.ts +4 -4
- package/esm/network/client.js +4 -2
- package/esm/network/client.js.map +1 -1
- package/esm/network/mtproto-session.d.ts +1 -0
- package/esm/network/mtproto-session.js +7 -1
- package/esm/network/mtproto-session.js.map +1 -1
- package/esm/network/multi-session-connection.d.ts +1 -0
- package/esm/network/multi-session-connection.js +6 -0
- package/esm/network/multi-session-connection.js.map +1 -1
- package/esm/network/network-manager.d.ts +5 -1
- package/esm/network/network-manager.js +24 -15
- package/esm/network/network-manager.js.map +1 -1
- package/esm/network/persistent-connection.d.ts +3 -0
- package/esm/network/persistent-connection.js +23 -1
- package/esm/network/persistent-connection.js.map +1 -1
- package/esm/network/session-connection.d.ts +2 -0
- package/esm/network/session-connection.js +21 -7
- package/esm/network/session-connection.js.map +1 -1
- package/esm/network/transports/index.d.ts +0 -3
- package/esm/network/transports/index.js +0 -3
- package/esm/network/transports/index.js.map +1 -1
- package/esm/platform.d.ts +18 -0
- package/esm/platform.js +31 -0
- package/esm/platform.js.map +1 -0
- package/esm/storage/index.d.ts +1 -2
- package/esm/storage/index.js +1 -2
- package/esm/storage/index.js.map +1 -1
- package/{cjs/storage/providers → esm/storage}/memory/driver.d.ts +1 -1
- package/esm/storage/memory/driver.js.map +1 -0
- package/{cjs/storage/providers → esm/storage}/memory/index.d.ts +2 -2
- package/esm/storage/memory/index.js.map +1 -0
- package/esm/storage/{providers/memory → memory}/repository/auth-keys.d.ts +1 -1
- package/esm/storage/memory/repository/auth-keys.js.map +1 -0
- package/{cjs/storage/providers → esm/storage}/memory/repository/kv.d.ts +1 -1
- package/esm/storage/memory/repository/kv.js.map +1 -0
- package/{cjs/storage/providers → esm/storage}/memory/repository/peers.d.ts +1 -1
- package/esm/storage/memory/repository/peers.js.map +1 -0
- package/{cjs/storage/providers → esm/storage}/memory/repository/ref-messages.d.ts +1 -1
- package/esm/storage/memory/repository/ref-messages.js.map +1 -0
- package/esm/storage/storage.js +3 -2
- package/esm/storage/storage.js.map +1 -1
- package/esm/utils/binary/asn1-parser.js +3 -3
- package/esm/utils/binary/asn1-parser.js.map +1 -1
- package/esm/utils/crypto/abstract.d.ts +0 -1
- package/esm/utils/crypto/abstract.js.map +1 -1
- package/esm/utils/crypto/index.d.ts +0 -2
- package/esm/utils/crypto/index.js +0 -2
- package/esm/utils/crypto/index.js.map +1 -1
- package/esm/utils/crypto/keys.js +6 -4
- package/esm/utils/crypto/keys.js.map +1 -1
- package/esm/utils/crypto/password.js +3 -3
- package/esm/utils/crypto/password.js.map +1 -1
- package/esm/utils/dcs.d.ts +4 -0
- package/esm/utils/dcs.js +0 -4
- package/esm/utils/dcs.js.map +1 -1
- package/esm/utils/{platform/error-reporting.d.ts → error-reporting.d.ts} +1 -1
- package/esm/utils/error-reporting.js.map +1 -0
- package/esm/utils/index.d.ts +4 -1
- package/esm/utils/index.js +6 -1
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/links/common.js +1 -1
- package/esm/utils/links/common.js.map +1 -1
- package/esm/utils/logger.d.ts +1 -0
- package/esm/utils/logger.js +9 -22
- package/esm/utils/logger.js.map +1 -1
- package/package.json +24 -52
- package/cjs/highlevel/base.test.js +0 -14
- package/cjs/highlevel/base.test.js.map +0 -1
- package/cjs/highlevel/methods/files/_platform.js +0 -33
- package/cjs/highlevel/methods/files/_platform.js.map +0 -1
- package/cjs/highlevel/methods/files/_platform.web.d.ts +0 -1
- package/cjs/highlevel/methods/files/_platform.web.js +0 -26
- package/cjs/highlevel/methods/files/_platform.web.js.map +0 -1
- package/cjs/highlevel/methods/files/download-file.web.d.ts +0 -1
- package/cjs/highlevel/methods/files/download-file.web.js +0 -9
- package/cjs/highlevel/methods/files/download-file.web.js.map +0 -1
- package/cjs/highlevel/methods/messages/send-text.test.d.ts +0 -1
- package/cjs/highlevel/methods/messages/send-text.test.js +0 -140
- package/cjs/highlevel/methods/messages/send-text.test.js.map +0 -1
- package/cjs/highlevel/methods/users/get-users.test.d.ts +0 -1
- package/cjs/highlevel/methods/users/get-users.test.js +0 -33
- package/cjs/highlevel/methods/users/get-users.test.js.map +0 -1
- package/cjs/highlevel/methods/users/resolve-peer.test.d.ts +0 -1
- package/cjs/highlevel/methods/users/resolve-peer.test.js +0 -307
- package/cjs/highlevel/methods/users/resolve-peer.test.js.map +0 -1
- package/cjs/highlevel/types/bots/command-scope.d.ts +0 -63
- package/cjs/highlevel/types/bots/command-scope.js +0 -87
- package/cjs/highlevel/types/bots/command-scope.js.map +0 -1
- package/cjs/highlevel/types/bots/input/index.d.ts +0 -2
- package/cjs/highlevel/types/bots/input/index.js.map +0 -1
- package/cjs/highlevel/types/bots/input/input-inline-message.js +0 -179
- package/cjs/highlevel/types/bots/input/input-inline-message.js.map +0 -1
- package/cjs/highlevel/types/bots/input/input-inline-result.js +0 -490
- package/cjs/highlevel/types/bots/input/input-inline-result.js.map +0 -1
- package/cjs/highlevel/types/bots/keyboard-builder.js.map +0 -1
- package/cjs/highlevel/types/bots/keyboard-builder.test.d.ts +0 -1
- package/cjs/highlevel/types/bots/keyboard-builder.test.js +0 -162
- package/cjs/highlevel/types/bots/keyboard-builder.test.js.map +0 -1
- package/cjs/highlevel/types/bots/keyboards.d.ts +0 -239
- package/cjs/highlevel/types/bots/keyboards.js +0 -380
- package/cjs/highlevel/types/bots/keyboards.js.map +0 -1
- package/cjs/highlevel/types/bots/keyboards.test.d.ts +0 -1
- package/cjs/highlevel/types/bots/keyboards.test.js +0 -146
- package/cjs/highlevel/types/bots/keyboards.test.js.map +0 -1
- package/cjs/highlevel/types/media/input-media.js +0 -254
- package/cjs/highlevel/types/media/input-media.js.map +0 -1
- package/cjs/highlevel/types/misc/input-privacy-rule.d.ts +0 -63
- package/cjs/highlevel/types/misc/input-privacy-rule.js +0 -85
- package/cjs/highlevel/types/misc/input-privacy-rule.js.map +0 -1
- package/cjs/highlevel/types/peers/peers-index.test.d.ts +0 -1
- package/cjs/highlevel/types/peers/peers-index.test.js +0 -71
- package/cjs/highlevel/types/peers/peers-index.test.js.map +0 -1
- package/cjs/highlevel/types/peers/user.test.d.ts +0 -1
- package/cjs/highlevel/types/peers/user.test.js +0 -176
- package/cjs/highlevel/types/peers/user.test.js.map +0 -1
- package/cjs/highlevel/utils/file-type.test.d.ts +0 -1
- package/cjs/highlevel/utils/file-type.test.js +0 -64
- package/cjs/highlevel/utils/file-type.test.js.map +0 -1
- package/cjs/highlevel/utils/file-utils.test.d.ts +0 -1
- package/cjs/highlevel/utils/file-utils.test.js +0 -126
- package/cjs/highlevel/utils/file-utils.test.js.map +0 -1
- package/cjs/highlevel/utils/inline-utils.test.d.ts +0 -1
- package/cjs/highlevel/utils/inline-utils.test.js +0 -47
- package/cjs/highlevel/utils/inline-utils.test.js.map +0 -1
- package/cjs/highlevel/utils/inspectable.test.d.ts +0 -1
- package/cjs/highlevel/utils/inspectable.test.js +0 -97
- package/cjs/highlevel/utils/inspectable.test.js.map +0 -1
- package/cjs/highlevel/utils/memoize.test.d.ts +0 -1
- package/cjs/highlevel/utils/memoize.test.js +0 -60
- package/cjs/highlevel/utils/memoize.test.js.map +0 -1
- package/cjs/highlevel/utils/peer-utils.test.d.ts +0 -1
- package/cjs/highlevel/utils/peer-utils.test.js +0 -109
- package/cjs/highlevel/utils/peer-utils.test.js.map +0 -1
- package/cjs/highlevel/utils/platform/storage.d.ts +0 -1
- package/cjs/highlevel/utils/platform/storage.js +0 -10
- package/cjs/highlevel/utils/platform/storage.js.map +0 -1
- package/cjs/highlevel/utils/platform/storage.web.d.ts +0 -1
- package/cjs/highlevel/utils/platform/storage.web.js +0 -14
- package/cjs/highlevel/utils/platform/storage.web.js.map +0 -1
- package/cjs/highlevel/utils/query-batcher.test.d.ts +0 -1
- package/cjs/highlevel/utils/query-batcher.test.js +0 -502
- package/cjs/highlevel/utils/query-batcher.test.js.map +0 -1
- package/cjs/highlevel/utils/stream-utils.test.d.ts +0 -1
- package/cjs/highlevel/utils/stream-utils.test.js +0 -98
- package/cjs/highlevel/utils/stream-utils.test.js.map +0 -1
- package/cjs/highlevel/utils/string-session.test.d.ts +0 -1
- package/cjs/highlevel/utils/string-session.test.js +0 -198
- package/cjs/highlevel/utils/string-session.test.js.map +0 -1
- package/cjs/highlevel/utils/voice-utils.test.d.ts +0 -1
- package/cjs/highlevel/utils/voice-utils.test.js +0 -28
- package/cjs/highlevel/utils/voice-utils.test.js.map +0 -1
- package/cjs/highlevel/worker/platform/connect.d.ts +0 -2
- package/cjs/highlevel/worker/platform/connect.js +0 -19
- package/cjs/highlevel/worker/platform/connect.js.map +0 -1
- package/cjs/highlevel/worker/platform/connect.web.d.ts +0 -2
- package/cjs/highlevel/worker/platform/connect.web.js +0 -51
- package/cjs/highlevel/worker/platform/connect.web.js.map +0 -1
- package/cjs/highlevel/worker/platform/register.d.ts +0 -2
- package/cjs/highlevel/worker/platform/register.js +0 -20
- package/cjs/highlevel/worker/platform/register.js.map +0 -1
- package/cjs/highlevel/worker/platform/register.web.d.ts +0 -2
- package/cjs/highlevel/worker/platform/register.web.js +0 -64
- package/cjs/highlevel/worker/platform/register.web.js.map +0 -1
- package/cjs/network/auth-key.test.d.ts +0 -1
- package/cjs/network/auth-key.test.js +0 -111
- package/cjs/network/auth-key.test.js.map +0 -1
- package/cjs/network/config-manager.test.d.ts +0 -1
- package/cjs/network/config-manager.test.js +0 -174
- package/cjs/network/config-manager.test.js.map +0 -1
- package/cjs/network/persistent-connection.test.d.ts +0 -1
- package/cjs/network/persistent-connection.test.js +0 -157
- package/cjs/network/persistent-connection.test.js.map +0 -1
- package/cjs/network/transports/intermediate.test.d.ts +0 -1
- package/cjs/network/transports/intermediate.test.js +0 -84
- package/cjs/network/transports/intermediate.test.js.map +0 -1
- package/cjs/network/transports/obfuscated.test.d.ts +0 -1
- package/cjs/network/transports/obfuscated.test.js +0 -131
- package/cjs/network/transports/obfuscated.test.js.map +0 -1
- package/cjs/network/transports/tcp.d.ts +0 -32
- package/cjs/network/transports/tcp.js +0 -130
- package/cjs/network/transports/tcp.js.map +0 -1
- package/cjs/network/transports/tcp.test.d.ts +0 -1
- package/cjs/network/transports/tcp.test.js +0 -103
- package/cjs/network/transports/tcp.test.js.map +0 -1
- package/cjs/network/transports/websocket.d.ts +0 -46
- package/cjs/network/transports/websocket.js +0 -124
- package/cjs/network/transports/websocket.js.map +0 -1
- package/cjs/network/transports/websocket.test.d.ts +0 -1
- package/cjs/network/transports/websocket.test.js +0 -91
- package/cjs/network/transports/websocket.test.js.map +0 -1
- package/cjs/storage/providers/idb/driver.d.ts +0 -18
- package/cjs/storage/providers/idb/driver.js +0 -138
- package/cjs/storage/providers/idb/driver.js.map +0 -1
- package/cjs/storage/providers/idb/idb.test.d.ts +0 -1
- package/cjs/storage/providers/idb/idb.test.js +0 -29
- package/cjs/storage/providers/idb/idb.test.js.map +0 -1
- package/cjs/storage/providers/idb/index.d.ts +0 -22
- package/cjs/storage/providers/idb/index.js +0 -28
- package/cjs/storage/providers/idb/index.js.map +0 -1
- package/cjs/storage/providers/idb/repository/auth-keys.d.ts +0 -14
- package/cjs/storage/providers/idb/repository/auth-keys.js +0 -70
- package/cjs/storage/providers/idb/repository/auth-keys.js.map +0 -1
- package/cjs/storage/providers/idb/repository/kv.d.ts +0 -11
- package/cjs/storage/providers/idb/repository/kv.js +0 -34
- package/cjs/storage/providers/idb/repository/kv.js.map +0 -1
- package/cjs/storage/providers/idb/repository/peers.d.ts +0 -12
- package/cjs/storage/providers/idb/repository/peers.js +0 -38
- package/cjs/storage/providers/idb/repository/peers.js.map +0 -1
- package/cjs/storage/providers/idb/repository/ref-messages.d.ts +0 -12
- package/cjs/storage/providers/idb/repository/ref-messages.js +0 -57
- package/cjs/storage/providers/idb/repository/ref-messages.js.map +0 -1
- package/cjs/storage/providers/idb/utils.d.ts +0 -3
- package/cjs/storage/providers/idb/utils.js +0 -27
- package/cjs/storage/providers/idb/utils.js.map +0 -1
- package/cjs/storage/providers/memory/driver.js.map +0 -1
- package/cjs/storage/providers/memory/index.js.map +0 -1
- package/cjs/storage/providers/memory/memory.test.d.ts +0 -1
- package/cjs/storage/providers/memory/memory.test.js +0 -13
- package/cjs/storage/providers/memory/memory.test.js.map +0 -1
- package/cjs/storage/providers/memory/repository/auth-keys.js.map +0 -1
- package/cjs/storage/providers/memory/repository/kv.js.map +0 -1
- package/cjs/storage/providers/memory/repository/peers.js.map +0 -1
- package/cjs/storage/providers/memory/repository/ref-messages.js.map +0 -1
- package/cjs/storage/service/auth-keys.test.d.ts +0 -1
- package/cjs/storage/service/auth-keys.test.js +0 -22
- package/cjs/storage/service/auth-keys.test.js.map +0 -1
- package/cjs/storage/service/updates.test.d.ts +0 -1
- package/cjs/storage/service/updates.test.js +0 -60
- package/cjs/storage/service/updates.test.js.map +0 -1
- package/cjs/storage/service/utils.test-utils.d.ts +0 -2
- package/cjs/storage/service/utils.test-utils.js +0 -19
- package/cjs/storage/service/utils.test-utils.js.map +0 -1
- package/cjs/utils/async-lock.test.d.ts +0 -1
- package/cjs/utils/async-lock.test.js +0 -25
- package/cjs/utils/async-lock.test.js.map +0 -1
- package/cjs/utils/bigint-utils.test.d.ts +0 -1
- package/cjs/utils/bigint-utils.test.js +0 -150
- package/cjs/utils/bigint-utils.test.js.map +0 -1
- package/cjs/utils/buffer-utils.test.d.ts +0 -1
- package/cjs/utils/buffer-utils.test.js +0 -69
- package/cjs/utils/buffer-utils.test.js.map +0 -1
- package/cjs/utils/condition-variable.test.d.ts +0 -1
- package/cjs/utils/condition-variable.test.js +0 -27
- package/cjs/utils/condition-variable.test.js.map +0 -1
- package/cjs/utils/controllable-promise.test.d.ts +0 -1
- package/cjs/utils/controllable-promise.test.js +0 -17
- package/cjs/utils/controllable-promise.test.js.map +0 -1
- package/cjs/utils/crypto/factorization.test.d.ts +0 -1
- package/cjs/utils/crypto/factorization.test.js +0 -19
- package/cjs/utils/crypto/factorization.test.js.map +0 -1
- package/cjs/utils/crypto/keys.test.d.ts +0 -1
- package/cjs/utils/crypto/keys.test.js +0 -40
- package/cjs/utils/crypto/keys.test.js.map +0 -1
- package/cjs/utils/crypto/miller-rabin.test.d.ts +0 -1
- package/cjs/utils/crypto/miller-rabin.test.js +0 -60
- package/cjs/utils/crypto/miller-rabin.test.js.map +0 -1
- package/cjs/utils/crypto/mtproto.test.d.ts +0 -1
- package/cjs/utils/crypto/mtproto.test.js +0 -50
- package/cjs/utils/crypto/mtproto.test.js.map +0 -1
- package/cjs/utils/crypto/node.d.ts +0 -21
- package/cjs/utils/crypto/node.js +0 -74
- package/cjs/utils/crypto/node.js.map +0 -1
- package/cjs/utils/crypto/node.test.d.ts +0 -1
- package/cjs/utils/crypto/node.test.js +0 -14
- package/cjs/utils/crypto/node.test.js.map +0 -1
- package/cjs/utils/crypto/password.test.d.ts +0 -1
- package/cjs/utils/crypto/password.test.js +0 -95
- package/cjs/utils/crypto/password.test.js.map +0 -1
- package/cjs/utils/crypto/utils.test.d.ts +0 -1
- package/cjs/utils/crypto/utils.test.js +0 -49
- package/cjs/utils/crypto/utils.test.js.map +0 -1
- package/cjs/utils/crypto/wasm.d.ts +0 -22
- package/cjs/utils/crypto/wasm.js +0 -41
- package/cjs/utils/crypto/wasm.js.map +0 -1
- package/cjs/utils/crypto/web.d.ts +0 -11
- package/cjs/utils/crypto/web.js +0 -40
- package/cjs/utils/crypto/web.js.map +0 -1
- package/cjs/utils/crypto/web.test.d.ts +0 -1
- package/cjs/utils/crypto/web.test.js +0 -17
- package/cjs/utils/crypto/web.test.js.map +0 -1
- package/cjs/utils/deque.test.d.ts +0 -1
- package/cjs/utils/deque.test.js +0 -128
- package/cjs/utils/deque.test.js.map +0 -1
- package/cjs/utils/function-utils.test.d.ts +0 -1
- package/cjs/utils/function-utils.test.js +0 -23
- package/cjs/utils/function-utils.test.js.map +0 -1
- package/cjs/utils/linked-list.test.d.ts +0 -1
- package/cjs/utils/linked-list.test.js +0 -36
- package/cjs/utils/linked-list.test.js.map +0 -1
- package/cjs/utils/links/bots.test.d.ts +0 -1
- package/cjs/utils/links/bots.test.js +0 -152
- package/cjs/utils/links/bots.test.js.map +0 -1
- package/cjs/utils/links/chat.test.d.ts +0 -1
- package/cjs/utils/links/chat.test.js +0 -84
- package/cjs/utils/links/chat.test.js.map +0 -1
- package/cjs/utils/links/misc.test.d.ts +0 -1
- package/cjs/utils/links/misc.test.js +0 -153
- package/cjs/utils/links/misc.test.js.map +0 -1
- package/cjs/utils/links/proxy.test.d.ts +0 -1
- package/cjs/utils/links/proxy.test.js +0 -74
- package/cjs/utils/links/proxy.test.js.map +0 -1
- package/cjs/utils/links/user.test.d.ts +0 -1
- package/cjs/utils/links/user.test.js +0 -63
- package/cjs/utils/links/user.test.js.map +0 -1
- package/cjs/utils/logger.test.d.ts +0 -1
- package/cjs/utils/logger.test.js +0 -139
- package/cjs/utils/logger.test.js.map +0 -1
- package/cjs/utils/long-utils.test.d.ts +0 -1
- package/cjs/utils/long-utils.test.js +0 -158
- package/cjs/utils/long-utils.test.js.map +0 -1
- package/cjs/utils/lru-map.test.d.ts +0 -1
- package/cjs/utils/lru-map.test.js +0 -96
- package/cjs/utils/lru-map.test.js.map +0 -1
- package/cjs/utils/lru-set.test.d.ts +0 -1
- package/cjs/utils/lru-set.test.js +0 -77
- package/cjs/utils/lru-set.test.js.map +0 -1
- package/cjs/utils/peer-utils.test.d.ts +0 -1
- package/cjs/utils/peer-utils.test.js +0 -110
- package/cjs/utils/peer-utils.test.js.map +0 -1
- package/cjs/utils/platform/crypto.d.ts +0 -1
- package/cjs/utils/platform/crypto.js +0 -8
- package/cjs/utils/platform/crypto.js.map +0 -1
- package/cjs/utils/platform/crypto.web.d.ts +0 -1
- package/cjs/utils/platform/crypto.web.js +0 -14
- package/cjs/utils/platform/crypto.web.js.map +0 -1
- package/cjs/utils/platform/error-reporting.js.map +0 -1
- package/cjs/utils/platform/exit-hook.d.ts +0 -1
- package/cjs/utils/platform/exit-hook.js +0 -45
- package/cjs/utils/platform/exit-hook.js.map +0 -1
- package/cjs/utils/platform/exit-hook.web.d.ts +0 -1
- package/cjs/utils/platform/exit-hook.web.js +0 -21
- package/cjs/utils/platform/exit-hook.web.js.map +0 -1
- package/cjs/utils/platform/logging.d.ts +0 -1
- package/cjs/utils/platform/logging.js +0 -34
- package/cjs/utils/platform/logging.js.map +0 -1
- package/cjs/utils/platform/logging.web.d.ts +0 -1
- package/cjs/utils/platform/logging.web.js +0 -35
- package/cjs/utils/platform/logging.web.js.map +0 -1
- package/cjs/utils/platform/transport.d.ts +0 -1
- package/cjs/utils/platform/transport.js +0 -8
- package/cjs/utils/platform/transport.js.map +0 -1
- package/cjs/utils/platform/transport.web.d.ts +0 -1
- package/cjs/utils/platform/transport.web.js +0 -15
- package/cjs/utils/platform/transport.web.js.map +0 -1
- package/cjs/utils/sorted-array.test.d.ts +0 -1
- package/cjs/utils/sorted-array.test.js +0 -66
- package/cjs/utils/sorted-array.test.js.map +0 -1
- package/cjs/utils/tl-json.test.d.ts +0 -1
- package/cjs/utils/tl-json.test.js +0 -83
- package/cjs/utils/tl-json.test.js.map +0 -1
- package/cjs/utils/type-assertions.test.d.ts +0 -1
- package/cjs/utils/type-assertions.test.js +0 -67
- package/cjs/utils/type-assertions.test.js.map +0 -1
- package/esm/highlevel/base.test.d.ts +0 -1
- package/esm/highlevel/base.test.js +0 -12
- package/esm/highlevel/base.test.js.map +0 -1
- package/esm/highlevel/methods/files/_platform.d.ts +0 -1
- package/esm/highlevel/methods/files/_platform.js +0 -26
- package/esm/highlevel/methods/files/_platform.js.map +0 -1
- package/esm/highlevel/methods/files/_platform.web.d.ts +0 -1
- package/esm/highlevel/methods/files/_platform.web.js +0 -19
- package/esm/highlevel/methods/files/_platform.web.js.map +0 -1
- package/esm/highlevel/methods/files/download-file.web.d.ts +0 -1
- package/esm/highlevel/methods/files/download-file.web.js +0 -5
- package/esm/highlevel/methods/files/download-file.web.js.map +0 -1
- package/esm/highlevel/methods/messages/send-text.test.d.ts +0 -1
- package/esm/highlevel/methods/messages/send-text.test.js +0 -135
- package/esm/highlevel/methods/messages/send-text.test.js.map +0 -1
- package/esm/highlevel/methods/users/get-users.test.d.ts +0 -1
- package/esm/highlevel/methods/users/get-users.test.js +0 -28
- package/esm/highlevel/methods/users/get-users.test.js.map +0 -1
- package/esm/highlevel/methods/users/resolve-peer.test.d.ts +0 -1
- package/esm/highlevel/methods/users/resolve-peer.test.js +0 -302
- package/esm/highlevel/methods/users/resolve-peer.test.js.map +0 -1
- package/esm/highlevel/types/bots/command-scope.d.ts +0 -63
- package/esm/highlevel/types/bots/command-scope.js +0 -84
- package/esm/highlevel/types/bots/command-scope.js.map +0 -1
- package/esm/highlevel/types/bots/input/index.d.ts +0 -2
- package/esm/highlevel/types/bots/input/index.js +0 -3
- package/esm/highlevel/types/bots/input/index.js.map +0 -1
- package/esm/highlevel/types/bots/input/input-inline-message.js +0 -176
- package/esm/highlevel/types/bots/input/input-inline-message.js.map +0 -1
- package/esm/highlevel/types/bots/input/input-inline-result.js +0 -487
- package/esm/highlevel/types/bots/input/input-inline-result.js.map +0 -1
- package/esm/highlevel/types/bots/keyboard-builder.js.map +0 -1
- package/esm/highlevel/types/bots/keyboard-builder.test.d.ts +0 -1
- package/esm/highlevel/types/bots/keyboard-builder.test.js +0 -160
- package/esm/highlevel/types/bots/keyboard-builder.test.js.map +0 -1
- package/esm/highlevel/types/bots/keyboards.d.ts +0 -239
- package/esm/highlevel/types/bots/keyboards.js +0 -377
- package/esm/highlevel/types/bots/keyboards.js.map +0 -1
- package/esm/highlevel/types/bots/keyboards.test.d.ts +0 -1
- package/esm/highlevel/types/bots/keyboards.test.js +0 -144
- package/esm/highlevel/types/bots/keyboards.test.js.map +0 -1
- package/esm/highlevel/types/media/input-media.js +0 -251
- package/esm/highlevel/types/media/input-media.js.map +0 -1
- package/esm/highlevel/types/misc/input-privacy-rule.d.ts +0 -63
- package/esm/highlevel/types/misc/input-privacy-rule.js +0 -82
- package/esm/highlevel/types/misc/input-privacy-rule.js.map +0 -1
- package/esm/highlevel/types/peers/peers-index.test.d.ts +0 -1
- package/esm/highlevel/types/peers/peers-index.test.js +0 -69
- package/esm/highlevel/types/peers/peers-index.test.js.map +0 -1
- package/esm/highlevel/types/peers/user.test.d.ts +0 -1
- package/esm/highlevel/types/peers/user.test.js +0 -171
- package/esm/highlevel/types/peers/user.test.js.map +0 -1
- package/esm/highlevel/utils/file-type.test.d.ts +0 -1
- package/esm/highlevel/utils/file-type.test.js +0 -62
- package/esm/highlevel/utils/file-type.test.js.map +0 -1
- package/esm/highlevel/utils/file-utils.test.d.ts +0 -1
- package/esm/highlevel/utils/file-utils.test.js +0 -124
- package/esm/highlevel/utils/file-utils.test.js.map +0 -1
- package/esm/highlevel/utils/inline-utils.test.d.ts +0 -1
- package/esm/highlevel/utils/inline-utils.test.js +0 -42
- package/esm/highlevel/utils/inline-utils.test.js.map +0 -1
- package/esm/highlevel/utils/inspectable.test.d.ts +0 -1
- package/esm/highlevel/utils/inspectable.test.js +0 -95
- package/esm/highlevel/utils/inspectable.test.js.map +0 -1
- package/esm/highlevel/utils/memoize.test.d.ts +0 -1
- package/esm/highlevel/utils/memoize.test.js +0 -58
- package/esm/highlevel/utils/memoize.test.js.map +0 -1
- package/esm/highlevel/utils/peer-utils.test.d.ts +0 -1
- package/esm/highlevel/utils/peer-utils.test.js +0 -107
- package/esm/highlevel/utils/peer-utils.test.js.map +0 -1
- package/esm/highlevel/utils/platform/storage.d.ts +0 -1
- package/esm/highlevel/utils/platform/storage.js +0 -6
- package/esm/highlevel/utils/platform/storage.js.map +0 -1
- package/esm/highlevel/utils/platform/storage.web.d.ts +0 -1
- package/esm/highlevel/utils/platform/storage.web.js +0 -10
- package/esm/highlevel/utils/platform/storage.web.js.map +0 -1
- package/esm/highlevel/utils/query-batcher.test.d.ts +0 -1
- package/esm/highlevel/utils/query-batcher.test.js +0 -500
- package/esm/highlevel/utils/query-batcher.test.js.map +0 -1
- package/esm/highlevel/utils/stream-utils.test.d.ts +0 -1
- package/esm/highlevel/utils/stream-utils.test.js +0 -96
- package/esm/highlevel/utils/stream-utils.test.js.map +0 -1
- package/esm/highlevel/utils/string-session.test.d.ts +0 -1
- package/esm/highlevel/utils/string-session.test.js +0 -196
- package/esm/highlevel/utils/string-session.test.js.map +0 -1
- package/esm/highlevel/utils/voice-utils.test.d.ts +0 -1
- package/esm/highlevel/utils/voice-utils.test.js +0 -26
- package/esm/highlevel/utils/voice-utils.test.js.map +0 -1
- package/esm/highlevel/worker/platform/connect.d.ts +0 -2
- package/esm/highlevel/worker/platform/connect.js +0 -15
- package/esm/highlevel/worker/platform/connect.js.map +0 -1
- package/esm/highlevel/worker/platform/connect.web.d.ts +0 -2
- package/esm/highlevel/worker/platform/connect.web.js +0 -47
- package/esm/highlevel/worker/platform/connect.web.js.map +0 -1
- package/esm/highlevel/worker/platform/register.d.ts +0 -2
- package/esm/highlevel/worker/platform/register.js +0 -16
- package/esm/highlevel/worker/platform/register.js.map +0 -1
- package/esm/highlevel/worker/platform/register.web.d.ts +0 -2
- package/esm/highlevel/worker/platform/register.web.js +0 -60
- package/esm/highlevel/worker/platform/register.web.js.map +0 -1
- package/esm/network/auth-key.test.d.ts +0 -1
- package/esm/network/auth-key.test.js +0 -106
- package/esm/network/auth-key.test.js.map +0 -1
- package/esm/network/config-manager.test.d.ts +0 -1
- package/esm/network/config-manager.test.js +0 -172
- package/esm/network/config-manager.test.js.map +0 -1
- package/esm/network/persistent-connection.test.d.ts +0 -1
- package/esm/network/persistent-connection.test.js +0 -155
- package/esm/network/persistent-connection.test.js.map +0 -1
- package/esm/network/transports/intermediate.test.d.ts +0 -1
- package/esm/network/transports/intermediate.test.js +0 -82
- package/esm/network/transports/intermediate.test.js.map +0 -1
- package/esm/network/transports/obfuscated.test.d.ts +0 -1
- package/esm/network/transports/obfuscated.test.js +0 -129
- package/esm/network/transports/obfuscated.test.js.map +0 -1
- package/esm/network/transports/tcp.d.ts +0 -32
- package/esm/network/transports/tcp.js +0 -122
- package/esm/network/transports/tcp.js.map +0 -1
- package/esm/network/transports/tcp.test.d.ts +0 -1
- package/esm/network/transports/tcp.test.js +0 -101
- package/esm/network/transports/tcp.test.js.map +0 -1
- package/esm/network/transports/websocket.d.ts +0 -46
- package/esm/network/transports/websocket.js +0 -116
- package/esm/network/transports/websocket.js.map +0 -1
- package/esm/network/transports/websocket.test.d.ts +0 -1
- package/esm/network/transports/websocket.test.js +0 -89
- package/esm/network/transports/websocket.test.js.map +0 -1
- package/esm/storage/providers/idb/driver.d.ts +0 -18
- package/esm/storage/providers/idb/driver.js +0 -134
- package/esm/storage/providers/idb/driver.js.map +0 -1
- package/esm/storage/providers/idb/idb.test.d.ts +0 -1
- package/esm/storage/providers/idb/idb.test.js +0 -27
- package/esm/storage/providers/idb/idb.test.js.map +0 -1
- package/esm/storage/providers/idb/index.d.ts +0 -22
- package/esm/storage/providers/idb/index.js +0 -23
- package/esm/storage/providers/idb/index.js.map +0 -1
- package/esm/storage/providers/idb/repository/auth-keys.d.ts +0 -14
- package/esm/storage/providers/idb/repository/auth-keys.js +0 -66
- package/esm/storage/providers/idb/repository/auth-keys.js.map +0 -1
- package/esm/storage/providers/idb/repository/kv.d.ts +0 -11
- package/esm/storage/providers/idb/repository/kv.js +0 -30
- package/esm/storage/providers/idb/repository/kv.js.map +0 -1
- package/esm/storage/providers/idb/repository/peers.d.ts +0 -12
- package/esm/storage/providers/idb/repository/peers.js +0 -34
- package/esm/storage/providers/idb/repository/peers.js.map +0 -1
- package/esm/storage/providers/idb/repository/ref-messages.d.ts +0 -12
- package/esm/storage/providers/idb/repository/ref-messages.js +0 -53
- package/esm/storage/providers/idb/repository/ref-messages.js.map +0 -1
- package/esm/storage/providers/idb/utils.d.ts +0 -3
- package/esm/storage/providers/idb/utils.js +0 -21
- package/esm/storage/providers/idb/utils.js.map +0 -1
- package/esm/storage/providers/memory/driver.js.map +0 -1
- package/esm/storage/providers/memory/index.js.map +0 -1
- package/esm/storage/providers/memory/memory.test.d.ts +0 -1
- package/esm/storage/providers/memory/memory.test.js +0 -11
- package/esm/storage/providers/memory/memory.test.js.map +0 -1
- package/esm/storage/providers/memory/repository/auth-keys.js.map +0 -1
- package/esm/storage/providers/memory/repository/kv.js.map +0 -1
- package/esm/storage/providers/memory/repository/peers.js.map +0 -1
- package/esm/storage/providers/memory/repository/ref-messages.js.map +0 -1
- package/esm/storage/service/auth-keys.test.d.ts +0 -1
- package/esm/storage/service/auth-keys.test.js +0 -20
- package/esm/storage/service/auth-keys.test.js.map +0 -1
- package/esm/storage/service/updates.test.d.ts +0 -1
- package/esm/storage/service/updates.test.js +0 -58
- package/esm/storage/service/updates.test.js.map +0 -1
- package/esm/storage/service/utils.test-utils.d.ts +0 -2
- package/esm/storage/service/utils.test-utils.js +0 -15
- package/esm/storage/service/utils.test-utils.js.map +0 -1
- package/esm/utils/async-lock.test.d.ts +0 -1
- package/esm/utils/async-lock.test.js +0 -23
- package/esm/utils/async-lock.test.js.map +0 -1
- package/esm/utils/bigint-utils.test.d.ts +0 -1
- package/esm/utils/bigint-utils.test.js +0 -148
- package/esm/utils/bigint-utils.test.js.map +0 -1
- package/esm/utils/buffer-utils.test.d.ts +0 -1
- package/esm/utils/buffer-utils.test.js +0 -67
- package/esm/utils/buffer-utils.test.js.map +0 -1
- package/esm/utils/condition-variable.test.d.ts +0 -1
- package/esm/utils/condition-variable.test.js +0 -25
- package/esm/utils/condition-variable.test.js.map +0 -1
- package/esm/utils/controllable-promise.test.d.ts +0 -1
- package/esm/utils/controllable-promise.test.js +0 -15
- package/esm/utils/controllable-promise.test.js.map +0 -1
- package/esm/utils/crypto/factorization.test.d.ts +0 -1
- package/esm/utils/crypto/factorization.test.js +0 -17
- package/esm/utils/crypto/factorization.test.js.map +0 -1
- package/esm/utils/crypto/keys.test.d.ts +0 -1
- package/esm/utils/crypto/keys.test.js +0 -38
- package/esm/utils/crypto/keys.test.js.map +0 -1
- package/esm/utils/crypto/miller-rabin.test.d.ts +0 -1
- package/esm/utils/crypto/miller-rabin.test.js +0 -58
- package/esm/utils/crypto/miller-rabin.test.js.map +0 -1
- package/esm/utils/crypto/mtproto.test.d.ts +0 -1
- package/esm/utils/crypto/mtproto.test.js +0 -48
- package/esm/utils/crypto/mtproto.test.js.map +0 -1
- package/esm/utils/crypto/node.d.ts +0 -21
- package/esm/utils/crypto/node.js +0 -69
- package/esm/utils/crypto/node.js.map +0 -1
- package/esm/utils/crypto/node.test.d.ts +0 -1
- package/esm/utils/crypto/node.test.js +0 -12
- package/esm/utils/crypto/node.test.js.map +0 -1
- package/esm/utils/crypto/password.test.d.ts +0 -1
- package/esm/utils/crypto/password.test.js +0 -90
- package/esm/utils/crypto/password.test.js.map +0 -1
- package/esm/utils/crypto/utils.test.d.ts +0 -1
- package/esm/utils/crypto/utils.test.js +0 -47
- package/esm/utils/crypto/utils.test.js.map +0 -1
- package/esm/utils/crypto/wasm.d.ts +0 -22
- package/esm/utils/crypto/wasm.js +0 -37
- package/esm/utils/crypto/wasm.js.map +0 -1
- package/esm/utils/crypto/web.d.ts +0 -11
- package/esm/utils/crypto/web.js +0 -36
- package/esm/utils/crypto/web.js.map +0 -1
- package/esm/utils/crypto/web.test.d.ts +0 -1
- package/esm/utils/crypto/web.test.js +0 -15
- package/esm/utils/crypto/web.test.js.map +0 -1
- package/esm/utils/deque.test.d.ts +0 -1
- package/esm/utils/deque.test.js +0 -126
- package/esm/utils/deque.test.js.map +0 -1
- package/esm/utils/function-utils.test.d.ts +0 -1
- package/esm/utils/function-utils.test.js +0 -21
- package/esm/utils/function-utils.test.js.map +0 -1
- package/esm/utils/linked-list.test.d.ts +0 -1
- package/esm/utils/linked-list.test.js +0 -34
- package/esm/utils/linked-list.test.js.map +0 -1
- package/esm/utils/links/bots.test.d.ts +0 -1
- package/esm/utils/links/bots.test.js +0 -150
- package/esm/utils/links/bots.test.js.map +0 -1
- package/esm/utils/links/chat.test.d.ts +0 -1
- package/esm/utils/links/chat.test.js +0 -82
- package/esm/utils/links/chat.test.js.map +0 -1
- package/esm/utils/links/misc.test.d.ts +0 -1
- package/esm/utils/links/misc.test.js +0 -151
- package/esm/utils/links/misc.test.js.map +0 -1
- package/esm/utils/links/proxy.test.d.ts +0 -1
- package/esm/utils/links/proxy.test.js +0 -72
- package/esm/utils/links/proxy.test.js.map +0 -1
- package/esm/utils/links/user.test.d.ts +0 -1
- package/esm/utils/links/user.test.js +0 -61
- package/esm/utils/links/user.test.js.map +0 -1
- package/esm/utils/logger.test.d.ts +0 -1
- package/esm/utils/logger.test.js +0 -134
- package/esm/utils/logger.test.js.map +0 -1
- package/esm/utils/long-utils.test.d.ts +0 -1
- package/esm/utils/long-utils.test.js +0 -153
- package/esm/utils/long-utils.test.js.map +0 -1
- package/esm/utils/lru-map.test.d.ts +0 -1
- package/esm/utils/lru-map.test.js +0 -94
- package/esm/utils/lru-map.test.js.map +0 -1
- package/esm/utils/lru-set.test.d.ts +0 -1
- package/esm/utils/lru-set.test.js +0 -72
- package/esm/utils/lru-set.test.js.map +0 -1
- package/esm/utils/peer-utils.test.d.ts +0 -1
- package/esm/utils/peer-utils.test.js +0 -105
- package/esm/utils/peer-utils.test.js.map +0 -1
- package/esm/utils/platform/crypto.d.ts +0 -1
- package/esm/utils/platform/crypto.js +0 -4
- package/esm/utils/platform/crypto.js.map +0 -1
- package/esm/utils/platform/crypto.web.d.ts +0 -1
- package/esm/utils/platform/crypto.web.js +0 -10
- package/esm/utils/platform/crypto.web.js.map +0 -1
- package/esm/utils/platform/error-reporting.js.map +0 -1
- package/esm/utils/platform/exit-hook.d.ts +0 -1
- package/esm/utils/platform/exit-hook.js +0 -41
- package/esm/utils/platform/exit-hook.js.map +0 -1
- package/esm/utils/platform/exit-hook.web.d.ts +0 -1
- package/esm/utils/platform/exit-hook.web.js +0 -17
- package/esm/utils/platform/exit-hook.web.js.map +0 -1
- package/esm/utils/platform/logging.d.ts +0 -1
- package/esm/utils/platform/logging.js +0 -31
- package/esm/utils/platform/logging.js.map +0 -1
- package/esm/utils/platform/logging.web.d.ts +0 -1
- package/esm/utils/platform/logging.web.js +0 -31
- package/esm/utils/platform/logging.web.js.map +0 -1
- package/esm/utils/platform/transport.d.ts +0 -1
- package/esm/utils/platform/transport.js +0 -4
- package/esm/utils/platform/transport.js.map +0 -1
- package/esm/utils/platform/transport.web.d.ts +0 -1
- package/esm/utils/platform/transport.web.js +0 -12
- package/esm/utils/platform/transport.web.js.map +0 -1
- package/esm/utils/sorted-array.test.d.ts +0 -1
- package/esm/utils/sorted-array.test.js +0 -64
- package/esm/utils/sorted-array.test.js.map +0 -1
- package/esm/utils/tl-json.test.d.ts +0 -1
- package/esm/utils/tl-json.test.js +0 -81
- package/esm/utils/tl-json.test.js.map +0 -1
- package/esm/utils/type-assertions.test.d.ts +0 -1
- package/esm/utils/type-assertions.test.js +0 -65
- package/esm/utils/type-assertions.test.js.map +0 -1
- /package/cjs/highlevel/{base.test.d.ts → methods/files/download-node-stream.d.ts} +0 -0
- /package/cjs/storage/{providers/memory → memory}/driver.js +0 -0
- /package/cjs/storage/{providers/memory → memory}/index.js +0 -0
- /package/cjs/storage/{providers/memory → memory}/repository/auth-keys.js +0 -0
- /package/cjs/storage/{providers/memory → memory}/repository/kv.js +0 -0
- /package/cjs/storage/{providers/memory → memory}/repository/peers.js +0 -0
- /package/cjs/storage/{providers/memory → memory}/repository/ref-messages.js +0 -0
- /package/cjs/utils/{platform/error-reporting.js → error-reporting.js} +0 -0
- /package/{cjs/highlevel/methods/files/_platform.d.ts → esm/highlevel/methods/files/download-node-stream.d.ts} +0 -0
- /package/esm/storage/{providers/memory → memory}/driver.js +0 -0
- /package/esm/storage/{providers/memory → memory}/index.js +0 -0
- /package/esm/storage/{providers/memory → memory}/repository/auth-keys.js +0 -0
- /package/esm/storage/{providers/memory → memory}/repository/kv.js +0 -0
- /package/esm/storage/{providers/memory → memory}/repository/peers.js +0 -0
- /package/esm/storage/{providers/memory → memory}/repository/ref-messages.js +0 -0
- /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;
|
|
@@ -14,13 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.defaultTransportFactory = void 0;
|
|
18
17
|
__exportStar(require("./abstract.js"), exports);
|
|
19
18
|
__exportStar(require("./intermediate.js"), exports);
|
|
20
19
|
__exportStar(require("./obfuscated.js"), exports);
|
|
21
20
|
__exportStar(require("./streamed.js"), exports);
|
|
22
21
|
__exportStar(require("./wrapped.js"), exports);
|
|
23
|
-
const transport_js_1 = require("../../utils/platform/transport.js");
|
|
24
|
-
/** Platform-defined default transport factory */
|
|
25
|
-
exports.defaultTransportFactory = transport_js_1._defaultTransportFactory;
|
|
26
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/transports/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/transports/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,oDAAiC;AACjC,kDAA+B;AAC/B,gDAA6B;AAC7B,+CAA4B","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;
|
package/cjs/platform.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPlatform = exports.setPlatform = void 0;
|
|
4
|
+
const tl_runtime_1 = require("@mtcute/tl-runtime");
|
|
5
|
+
const errors_js_1 = require("./types/errors.js");
|
|
6
|
+
// eslint-disable-next-line
|
|
7
|
+
const globalObject = (0, eval)('this');
|
|
8
|
+
// NB: when using with some bundlers (e.g. vite) re-importing this module will not return the same object
|
|
9
|
+
// so we need to store the platform in a global object to be able to survive hot-reloads etc.
|
|
10
|
+
// try to use Symbol if available, otherwise fallback to a string
|
|
11
|
+
const platformKey = typeof Symbol !== 'undefined' ? Symbol.for('mtcute.platform') : '__MTCUTE_PLATFORM__';
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
13
|
+
let _platform = globalObject?.[platformKey] ?? null;
|
|
14
|
+
function setPlatform(platform) {
|
|
15
|
+
if (_platform) {
|
|
16
|
+
if (_platform.constructor !== platform.constructor) {
|
|
17
|
+
throw new errors_js_1.MtUnsupportedError('Platform may not be changed at runtime!');
|
|
18
|
+
}
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
_platform = platform;
|
|
22
|
+
tl_runtime_1.TlBinaryReader.platform = platform;
|
|
23
|
+
tl_runtime_1.TlBinaryWriter.platform = platform;
|
|
24
|
+
if (globalObject) {
|
|
25
|
+
globalObject[platformKey] = platform;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.setPlatform = setPlatform;
|
|
29
|
+
function getPlatform() {
|
|
30
|
+
if (!_platform) {
|
|
31
|
+
throw new errors_js_1.MtUnsupportedError('Platform is not set! Have you instantiated the client?');
|
|
32
|
+
}
|
|
33
|
+
return _platform;
|
|
34
|
+
}
|
|
35
|
+
exports.getPlatform = getPlatform;
|
|
36
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":";;;AAAA,mDAAgF;AAGhF,iDAAsD;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,SAAgB,WAAW,CAAC,QAAuB;IAC/C,IAAI,SAAS,EAAE;QACX,IAAI,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE;YAChD,MAAM,IAAI,8BAAkB,CAAC,yCAAyC,CAAC,CAAA;SAC1E;QAED,OAAM;KACT;IAED,SAAS,GAAG,QAAQ,CAAA;IACpB,2BAAc,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAClC,2BAAc,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAElC,IAAI,YAAY,EAAE;QACd,YAAY,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAA;KACvC;AACL,CAAC;AAhBD,kCAgBC;AAED,SAAgB,WAAW;IACvB,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,8BAAkB,CAAC,wDAAwD,CAAC,CAAA;KACzF;IAED,OAAO,SAAS,CAAA;AACpB,CAAC;AAND,kCAMC","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"]}
|
package/cjs/storage/index.d.ts
CHANGED
package/cjs/storage/index.js
CHANGED
|
@@ -15,9 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./driver.js"), exports);
|
|
18
|
+
__exportStar(require("./memory/index.js"), exports);
|
|
18
19
|
__exportStar(require("./provider.js"), exports);
|
|
19
|
-
__exportStar(require("./providers/idb/index.js"), exports);
|
|
20
|
-
__exportStar(require("./providers/memory/index.js"), exports);
|
|
21
20
|
__exportStar(require("./repository/index.js"), exports);
|
|
22
21
|
__exportStar(require("./storage.js"), exports);
|
|
23
22
|
//# sourceMappingURL=index.js.map
|
package/cjs/storage/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,gDAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,oDAAiC;AACjC,gDAA6B;AAC7B,wDAAqC;AACrC,+CAA4B","sourcesContent":["export * from './driver.js'\nexport * from './memory/index.js'\nexport * from './provider.js'\nexport * from './repository/index.js'\nexport * from './storage.js'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/storage/memory/driver.ts"],"names":[],"mappings":";;;AAEA,MAAa,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;AAZD,kDAYC","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 '
|
|
2
|
-
import { IMtStorageProvider } from '
|
|
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,2CAAiD;AACjD,4DAAoE;AACpE,8CAA6D;AAC7D,oDAA6D;AAC7D,kEAA0E;AAE1E,yCAAiD;AAAxC,gHAAA,mBAAmB,OAAA;AAE5B;;;;;;GAMG;AACH,MAAa,aAAa;IAA1B;QACa,WAAM,GAAG,IAAI,+BAAmB,EAAE,CAAA;QAClC,OAAE,GAAG,IAAI,gCAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,aAAQ,GAAG,IAAI,uCAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpD,UAAK,GAAG,IAAI,gCAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,gBAAW,GAAG,IAAI,6CAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvE,CAAC;CAAA;AAND,sCAMC","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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-keys.js","sourceRoot":"","sources":["../../../../../src/storage/memory/repository/auth-keys.ts"],"names":[],"mappings":";;;AASA,MAAa,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;AA3DD,4DA2DC","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 '
|
|
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,MAAa,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;AApBD,4DAoBC","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 '
|
|
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,MAAa,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;AAzDD,sDAyDC","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 '
|
|
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,MAAa,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;AAzCD,kEAyCC","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"]}
|
package/cjs/storage/storage.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StorageManager = void 0;
|
|
4
|
+
const platform_js_1 = require("../platform.js");
|
|
4
5
|
const index_js_1 = require("../utils/index.js");
|
|
5
6
|
const auth_keys_js_1 = require("./service/auth-keys.js");
|
|
6
7
|
const default_dcs_js_1 = require("./service/default-dcs.js");
|
|
@@ -23,7 +24,7 @@ class StorageManager {
|
|
|
23
24
|
this._load = (0, index_js_1.asyncResettable)(async () => {
|
|
24
25
|
this.driver.setup?.(this.log);
|
|
25
26
|
if (this.options.cleanup ?? true) {
|
|
26
|
-
this._cleanupRestore = (0,
|
|
27
|
+
this._cleanupRestore = (0, platform_js_1.getPlatform)().beforeExit(() => {
|
|
27
28
|
this._destroy().catch((err) => this.log.error('cleanup error: %s', err));
|
|
28
29
|
});
|
|
29
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"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","sourcesContent":["import { TlReaderMap, TlWriterMap } from '@mtcute/tl-runtime'\n\nimport { getPlatform } from '../platform.js'\nimport { asyncResettable } from '../utils/index.js'\nimport { Logger } from '../utils/logger.js'\nimport { IMtStorageProvider } from './provider.js'\nimport { AuthKeysService } from './service/auth-keys.js'\nimport { ServiceOptions } from './service/base.js'\nimport { DefaultDcsService } from './service/default-dcs.js'\nimport { FutureSaltsService } from './service/future-salts.js'\n\ninterface StorageManagerOptions {\n provider: IMtStorageProvider\n log: Logger\n readerMap: TlReaderMap\n writerMap: TlWriterMap\n}\n\n/**\n * Additional options for {@link StorageManager}, that\n * can be customized by the user.\n *\n * @internal\n */\nexport interface StorageManagerExtraOptions {\n /**\n * Interval in milliseconds for saving the storage.\n *\n * When saving, the storage is expected to persist\n * all changes to disk, so that they are not lost.\n */\n saveInterval?: number\n\n /**\n * Whether to finalize database before exiting.\n *\n * @default `true`\n */\n cleanup?: boolean\n}\n\nexport class StorageManager {\n constructor(readonly options: StorageManagerOptions & StorageManagerExtraOptions) {}\n\n readonly provider = this.options.provider\n readonly driver = this.provider.driver\n readonly log = this.options.log.create('storage')\n\n readonly _serviceOptions: ServiceOptions = {\n driver: this.driver,\n readerMap: this.options.readerMap,\n writerMap: this.options.writerMap,\n log: this.log,\n }\n\n readonly dcs = new DefaultDcsService(this.provider.kv, this._serviceOptions)\n readonly salts = new FutureSaltsService(this.provider.kv, this._serviceOptions)\n readonly keys = new AuthKeysService(this.provider.authKeys, this.salts, this._serviceOptions)\n\n private _cleanupRestore?: () => void\n\n private _load = asyncResettable(async () => {\n this.driver.setup?.(this.log)\n\n if (this.options.cleanup ?? true) {\n this._cleanupRestore = getPlatform().beforeExit(() => {\n this._destroy().catch((err) => this.log.error('cleanup error: %s', err))\n })\n }\n\n await this.driver.load?.()\n })\n load(): Promise<void> {\n return this._load.run()\n }\n\n async save(): Promise<void> {\n await this.driver.save?.()\n }\n\n async clear(withAuthKeys = false) {\n if (withAuthKeys) {\n await this.provider.authKeys.deleteAll()\n }\n await this.provider.kv.deleteAll()\n await this.save()\n }\n\n private async _destroy(): Promise<void> {\n if (!this._load.finished()) return\n await this._load.wait()\n\n await this.driver.destroy?.()\n this._load.reset()\n }\n\n async destroy(): Promise<void> {\n if (this._cleanupRestore) {\n this._cleanupRestore()\n this._cleanupRestore = undefined\n }\n\n await this._destroy()\n }\n}\n"]}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// all available libraries either suck or are extremely large for the use case, so i made my own~
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.parseAsn1 = exports.parsePemContents = void 0;
|
|
5
|
-
const
|
|
5
|
+
const platform_js_1 = require("../../platform.js");
|
|
6
6
|
/**
|
|
7
7
|
* Parses a single PEM block to buffer.
|
|
8
8
|
* In fact just strips begin/end tags and parses the rest as Base64
|
|
9
9
|
*/
|
|
10
10
|
function parsePemContents(pem) {
|
|
11
|
-
return (0,
|
|
11
|
+
return (0, platform_js_1.getPlatform)().base64Decode(pem.replace(/^-----(BEGIN|END)( RSA)? PUBLIC KEY-----$|\n/gm, ''));
|
|
12
12
|
}
|
|
13
13
|
exports.parsePemContents = parsePemContents;
|
|
14
14
|
const ELOOPN = 102;
|
|
@@ -52,7 +52,7 @@ function parseAsn1(data) {
|
|
|
52
52
|
if (0x80 & asn1.length) {
|
|
53
53
|
asn1.lengthSize = 0x7f & asn1.length;
|
|
54
54
|
// I think that buf->hex->int solves the problem of Endianness... not sure
|
|
55
|
-
asn1.length = parseInt((0,
|
|
55
|
+
asn1.length = parseInt((0, platform_js_1.getPlatform)().hexEncode(buf.subarray(index, index + asn1.lengthSize)), 16);
|
|
56
56
|
index += asn1.lengthSize;
|
|
57
57
|
}
|
|
58
58
|
// High-order bit Integers have a leading 0x00 to signify that they are positive.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asn1-parser.js","sourceRoot":"","sources":["../../../../src/utils/binary/asn1-parser.ts"],"names":[],"mappings":";AAAA,iGAAiG;;;AAEjG,
|
|
1
|
+
{"version":3,"file":"asn1-parser.js","sourceRoot":"","sources":["../../../../src/utils/binary/asn1-parser.ts"],"names":[],"mappings":"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","sourcesContent":["// all available libraries either suck or are extremely large for the use case, so i made my own~\n\nimport { getPlatform } from '../../platform.js'\n\n/**\n * Parses a single PEM block to buffer.\n * In fact just strips begin/end tags and parses the rest as Base64\n */\nexport function parsePemContents(pem: string): Uint8Array {\n return getPlatform().base64Decode(pem.replace(/^-----(BEGIN|END)( RSA)? PUBLIC KEY-----$|\\n/gm, ''))\n}\n\n// based on https://git.coolaj86.com/coolaj86/asn1-parser.js/src/branch/master/asn1-parser.js\n// but modified for typescript and node buffers\n\ninterface Asn1Object {\n type: number\n lengthSize: number\n length: number\n children?: Asn1Object[]\n value?: Uint8Array\n}\n\nconst ELOOPN = 102\nconst ELOOP = `iterated over ${ELOOPN} elements (probably a malformed file)`\nconst EDEEPN = 60\nconst EDEEP = `element nested over ${EDEEPN} layers deep (probably a malformed file)`\n\n// Container Types are Sequence 0x30, Container Array? (0xA0, 0xA1)\n// Value Types are Boolean 0x01, Integer 0x02, Null 0x05, Object ID 0x06, String 0x0C, 0x16, 0x13, 0x1e\n// Value Array? (0x82)\n// Bit String (0x03) and Octet String (0x04) may be values or containers\n// Sometimes Bit String is used as a container (RSA Pub Spki)\nconst CTYPES: Record<number, true> = {\n '48': true,\n '49': true,\n '160': true,\n '161': true,\n}\nconst VTYPES: Record<number, true> = {\n '1': true,\n '2': true,\n '5': true,\n '6': true,\n '12': true,\n '130': true,\n}\n\n/**\n * Parses ASN.1 data to an object\n */\nexport function parseAsn1(data: Uint8Array): Asn1Object {\n function parseAsn1Inner(buf: Uint8Array, depth: number[], eager = false) {\n if (depth.length >= EDEEPN) {\n throw new Error(EDEEP)\n }\n\n let index = 2 // we know, at minimum, data starts after type (0) and lengthSize (1)\n const asn1: Asn1Object = { type: buf[0], lengthSize: 0, length: buf[1] }\n let child\n let iters = 0\n let adjust = 0\n let adjustedLen = 0\n\n // Determine how many bytes the length uses, and what it is\n if (0x80 & asn1.length) {\n asn1.lengthSize = 0x7f & asn1.length\n // I think that buf->hex->int solves the problem of Endianness... not sure\n asn1.length = parseInt(getPlatform().hexEncode(buf.subarray(index, index + asn1.lengthSize)), 16)\n index += asn1.lengthSize\n }\n\n // High-order bit Integers have a leading 0x00 to signify that they are positive.\n // Bit Streams use the first byte to signify padding, which x.509 doesn't use.\n if (buf[index] === 0x00 && (asn1.type === 0x02 || asn1.type === 0x03)) {\n // However, 0x00 on its own is a valid number\n if (asn1.length > 1) {\n index += 1\n adjust = -1\n }\n }\n adjustedLen = asn1.length + adjust\n\n function parseChildren(eager = false) {\n asn1.children = []\n\n while (iters < ELOOPN && index < 2 + asn1.length + asn1.lengthSize) {\n iters += 1\n depth.length += 1\n child = parseAsn1Inner(buf.subarray(index, index + adjustedLen), depth, eager)\n depth.length -= 1\n // The numbers don't match up exactly and I don't remember why...\n // probably something with adjustedLen or some such, but the tests pass\n index += 2 + child.lengthSize + child.length\n\n if (index > 2 + asn1.lengthSize + asn1.length) {\n throw new Error(\n `Parse error: child value length (${child.length}) is ` +\n `greater than remaining parent length (${asn1.length - index} = ${asn1.length} - ${index})`,\n )\n }\n asn1.children.push(child)\n }\n if (index !== 2 + asn1.lengthSize + asn1.length) {\n throw new Error('Unexpected EOF')\n }\n if (iters >= ELOOPN) {\n throw new Error(ELOOP)\n }\n\n delete asn1.value\n\n return asn1\n }\n\n // Recurse into types that are _always_ containers\n if (CTYPES[asn1.type]) {\n return parseChildren(eager)\n }\n\n // Return types that are _always_ values\n asn1.value = buf.subarray(index, index + adjustedLen)\n\n if (VTYPES[asn1.type]) {\n return asn1\n }\n\n // For ambiguous / unknown types, recurse and return on failure\n // (and return child array size to zero)\n try {\n return parseChildren(true)\n } catch (e) {\n if (asn1.children) asn1.children.length = 0\n\n return asn1\n }\n }\n\n const asn1 = parseAsn1Inner(data, [])\n const len = data.length\n\n if (len !== 2 + asn1.lengthSize + asn1.length) {\n throw new Error('Length of buffer does not match length of ASN.1 sequence.')\n }\n\n return asn1\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/utils/crypto/abstract.ts"],"names":[],"mappings":";;;AACA,yDAAoD;AA0CpD,MAAsB,kBAAkB;IAGpC,WAAW,CAAC,EAAc;QACtB,OAAO,IAAA,kCAAe,EAAC,IAAkC,EAAE,EAAE,CAAC,CAAA;IAClE,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAEpB,OAAO,GAAG,CAAA;IACd,CAAC;CACJ;AAbD,gDAaC","sourcesContent":["import { MaybePromise } from '../../types/index.js'\nimport { factorizePQSync } from './factorization.js'\n\nexport interface IEncryptionScheme {\n encrypt(data: Uint8Array): Uint8Array\n decrypt(data: Uint8Array): Uint8Array\n}\n\nexport interface IAesCtr {\n process(data: Uint8Array): Uint8Array\n close?(): void\n}\n\nexport interface ICryptoProvider {\n initialize?(): MaybePromise<void>\n\n sha1(data: Uint8Array): Uint8Array\n\n sha256(data: Uint8Array): Uint8Array\n\n pbkdf2(\n password: Uint8Array,\n salt: Uint8Array,\n iterations: number,\n keylen?: number, // = 64\n algo?: string, // sha1 or sha512 (default sha512)\n ): MaybePromise<Uint8Array>\n\n hmacSha256(data: Uint8Array, key: Uint8Array): MaybePromise<Uint8Array>\n\n createAesCtr(key: Uint8Array, iv: Uint8Array, encrypt: boolean): IAesCtr\n\n createAesIge(key: Uint8Array, iv: Uint8Array): IEncryptionScheme\n\n factorizePQ(pq: Uint8Array): MaybePromise<[Uint8Array, Uint8Array]>\n\n gzip(data: Uint8Array, maxSize: number): Uint8Array | null\n gunzip(data: Uint8Array): Uint8Array\n\n randomFill(buf: Uint8Array): void\n randomBytes(size: number): Uint8Array\n}\n\nexport abstract class BaseCryptoProvider {\n abstract randomFill(buf: Uint8Array): void\n\n factorizePQ(pq: Uint8Array) {\n return factorizePQSync(this as unknown as ICryptoProvider, pq)\n }\n\n randomBytes(size: number) {\n const buf = new Uint8Array(size)\n this.randomFill(buf)\n\n return buf\n }\n}\n
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/utils/crypto/abstract.ts"],"names":[],"mappings":";;;AACA,yDAAoD;AA0CpD,MAAsB,kBAAkB;IAGpC,WAAW,CAAC,EAAc;QACtB,OAAO,IAAA,kCAAe,EAAC,IAAkC,EAAE,EAAE,CAAC,CAAA;IAClE,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAEpB,OAAO,GAAG,CAAA;IACd,CAAC;CACJ;AAbD,gDAaC","sourcesContent":["import { MaybePromise } from '../../types/index.js'\nimport { factorizePQSync } from './factorization.js'\n\nexport interface IEncryptionScheme {\n encrypt(data: Uint8Array): Uint8Array\n decrypt(data: Uint8Array): Uint8Array\n}\n\nexport interface IAesCtr {\n process(data: Uint8Array): Uint8Array\n close?(): void\n}\n\nexport interface ICryptoProvider {\n initialize?(): MaybePromise<void>\n\n sha1(data: Uint8Array): Uint8Array\n\n sha256(data: Uint8Array): Uint8Array\n\n pbkdf2(\n password: Uint8Array,\n salt: Uint8Array,\n iterations: number,\n keylen?: number, // = 64\n algo?: string, // sha1 or sha512 (default sha512)\n ): MaybePromise<Uint8Array>\n\n hmacSha256(data: Uint8Array, key: Uint8Array): MaybePromise<Uint8Array>\n\n createAesCtr(key: Uint8Array, iv: Uint8Array, encrypt: boolean): IAesCtr\n\n createAesIge(key: Uint8Array, iv: Uint8Array): IEncryptionScheme\n\n factorizePQ(pq: Uint8Array): MaybePromise<[Uint8Array, Uint8Array]>\n\n gzip(data: Uint8Array, maxSize: number): Uint8Array | null\n gunzip(data: Uint8Array): Uint8Array\n\n randomFill(buf: Uint8Array): void\n randomBytes(size: number): Uint8Array\n}\n\nexport abstract class BaseCryptoProvider {\n abstract randomFill(buf: Uint8Array): void\n\n factorizePQ(pq: Uint8Array) {\n return factorizePQSync(this as unknown as ICryptoProvider, pq)\n }\n\n randomBytes(size: number) {\n const buf = new Uint8Array(size)\n this.randomFill(buf)\n\n return buf\n }\n}\n"]}
|
|
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.defaultCryptoProviderFactory = void 0;
|
|
18
17
|
__exportStar(require("./abstract.js"), exports);
|
|
19
18
|
__exportStar(require("./factorization.js"), exports);
|
|
20
19
|
__exportStar(require("./keys.js"), exports);
|
|
@@ -22,6 +21,4 @@ __exportStar(require("./miller-rabin.js"), exports);
|
|
|
22
21
|
__exportStar(require("./mtproto.js"), exports);
|
|
23
22
|
__exportStar(require("./password.js"), exports);
|
|
24
23
|
__exportStar(require("./utils.js"), exports);
|
|
25
|
-
const crypto_js_1 = require("../platform/crypto.js");
|
|
26
|
-
exports.defaultCryptoProviderFactory = crypto_js_1._defaultCryptoProviderFactory;
|
|
27
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/crypto/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/crypto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,qDAAkC;AAClC,4CAAyB;AACzB,oDAAiC;AACjC,+CAA4B;AAC5B,gDAA6B;AAC7B,6CAA0B","sourcesContent":["export * from './abstract.js'\nexport * from './factorization.js'\nexport * from './keys.js'\nexport * from './miller-rabin.js'\nexport * from './mtproto.js'\nexport * from './password.js'\nexport * from './utils.js'\n"]}
|
package/cjs/utils/crypto/keys.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.findKeyByFingerprints = exports.addPublicKey = exports.parsePublicKey = void 0;
|
|
4
4
|
const rsa_keys_js_1 = require("@mtcute/tl/binary/rsa-keys.js");
|
|
5
5
|
const tl_runtime_1 = require("@mtcute/tl-runtime");
|
|
6
|
+
const platform_js_1 = require("../../platform.js");
|
|
6
7
|
const asn1_parser_js_1 = require("../binary/asn1-parser.js");
|
|
7
8
|
/**
|
|
8
9
|
* Parse PEM-encoded RSA public key information into modulus and exponent
|
|
@@ -22,12 +23,13 @@ function parsePublicKey(crypto, key, old = false) {
|
|
|
22
23
|
// they are actually smaller, about 270 bytes, but idc :D
|
|
23
24
|
writer.bytes(modulus);
|
|
24
25
|
writer.bytes(exponent);
|
|
26
|
+
const platform = (0, platform_js_1.getPlatform)();
|
|
25
27
|
const data = writer.result();
|
|
26
28
|
const sha = crypto.sha1(data);
|
|
27
|
-
const fp =
|
|
29
|
+
const fp = platform.hexEncode(sha.slice(-8).reverse());
|
|
28
30
|
return {
|
|
29
|
-
modulus:
|
|
30
|
-
exponent:
|
|
31
|
+
modulus: platform.hexEncode(modulus),
|
|
32
|
+
exponent: platform.hexEncode(exponent),
|
|
31
33
|
fingerprint: fp,
|
|
32
34
|
old,
|
|
33
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/utils/crypto/keys.ts"],"names":[],"mappings":";;;AAEA,+DAA0F;AAC1F,
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/utils/crypto/keys.ts"],"names":[],"mappings":";;;AAEA,+DAA0F;AAC1F,mDAAmD;AAEnD,mDAA+C;AAC/C,6DAAsE;AAGtE;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,MAAuB,EAAE,GAAW,EAAE,GAAG,GAAG,KAAK;IAC5E,MAAM,IAAI,GAAG,IAAA,0BAAS,EAAC,IAAA,iCAAgB,EAAC,GAAG,CAAC,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACzC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAEhE,MAAM,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACzC,yDAAyD;IACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACrB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEtB,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAE9B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAEtD,OAAO;QACH,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;QACpC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;QACtC,WAAW,EAAE,EAAE;QACf,GAAG;KACN,CAAA;AACL,CAAC;AAvBD,wCAuBC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,MAAuB,EAAE,GAAW,EAAE,GAAG,GAAG,KAAK;IAC1E,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAC/C,8BAAS,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;AAC1C,CAAC;AAHD,oCAGC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,YAA+B,EAAE,QAAQ,GAAG,KAAK;IACnF,KAAK,IAAI,EAAE,IAAI,YAAY,EAAE;QACzB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YACxB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;SACpC;QACD,IAAI,EAAE,IAAI,8BAAS,EAAE;YACjB,IAAI,8BAAS,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;gBAAE,SAAQ;YAE5C,OAAO,8BAAS,CAAC,EAAE,CAAC,CAAA;SACvB;KACJ;IACD,IAAI,CAAC,QAAQ;QAAE,OAAO,qBAAqB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO,IAAI,CAAA;AACf,CAAC;AAdD,sDAcC","sourcesContent":["import Long from 'long'\n\nimport { __publicKeyIndex as keysIndex, TlPublicKey } from '@mtcute/tl/binary/rsa-keys.js'\nimport { TlBinaryWriter } from '@mtcute/tl-runtime'\n\nimport { getPlatform } from '../../platform.js'\nimport { parseAsn1, parsePemContents } from '../binary/asn1-parser.js'\nimport { ICryptoProvider } from './abstract.js'\n\n/**\n * Parse PEM-encoded RSA public key information into modulus and exponent\n * and compute its fingerprint as defined by MTProto.\n *\n * @param crypto Crypto provider\n * @param key PEM-encoded RSA public key\n * @param old Whether this is an \"old\" key\n */\nexport function parsePublicKey(crypto: ICryptoProvider, key: string, old = false): TlPublicKey {\n const asn1 = parseAsn1(parsePemContents(key))\n const modulus = asn1.children?.[0].value\n const exponent = asn1.children?.[1].value\n if (!modulus || !exponent) throw new Error('Invalid public key')\n\n const writer = TlBinaryWriter.manual(512)\n // they are actually smaller, about 270 bytes, but idc :D\n writer.bytes(modulus)\n writer.bytes(exponent)\n\n const platform = getPlatform()\n\n const data = writer.result()\n const sha = crypto.sha1(data)\n const fp = platform.hexEncode(sha.slice(-8).reverse())\n\n return {\n modulus: platform.hexEncode(modulus),\n exponent: platform.hexEncode(exponent),\n fingerprint: fp,\n old,\n }\n}\n\n/**\n * Add public key to the global index.\n *\n * @param crypto Crypto provider\n * @param key PEM-encoded RSA public key\n * @param old Whether this is an \"old\" key\n */\nexport function addPublicKey(crypto: ICryptoProvider, key: string, old = false): void {\n const parsed = parsePublicKey(crypto, key, old)\n keysIndex[parsed.fingerprint] = parsed\n}\n\n/**\n * Get public key by its fingerprint.\n *\n * @param fingerprints Fingerprints to match. The first one to match is returned.\n * @param allowOld Whether to allow \"old\" keys\n */\nexport function findKeyByFingerprints(fingerprints: (string | Long)[], allowOld = false): TlPublicKey | null {\n for (let fp of fingerprints) {\n if (typeof fp !== 'string') {\n fp = fp.toUnsigned().toString(16)\n }\n if (fp in keysIndex) {\n if (keysIndex[fp].old && !allowOld) continue\n\n return keysIndex[fp]\n }\n }\n if (!allowOld) return findKeyByFingerprints(fingerprints, true)\n\n return null\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.computeSrpParams = exports.computeNewPasswordHash = exports.computePasswordHash = void 0;
|
|
4
|
-
const
|
|
4
|
+
const platform_js_1 = require("../../platform.js");
|
|
5
5
|
const errors_js_1 = require("../../types/errors.js");
|
|
6
6
|
const bigint_utils_js_1 = require("../bigint-utils.js");
|
|
7
7
|
const buffer_utils_js_1 = require("../buffer-utils.js");
|
|
@@ -36,7 +36,7 @@ async function computeNewPasswordHash(crypto, algo, password) {
|
|
|
36
36
|
salt1.set(algo.salt1);
|
|
37
37
|
crypto.randomFill(salt1.subarray(algo.salt1.length));
|
|
38
38
|
algo.salt1 = salt1;
|
|
39
|
-
const _x = await computePasswordHash(crypto, (0,
|
|
39
|
+
const _x = await computePasswordHash(crypto, (0, platform_js_1.getPlatform)().utf8Encode(password), algo.salt1, algo.salt2);
|
|
40
40
|
const g = BigInt(algo.g);
|
|
41
41
|
const p = (0, bigint_utils_js_1.bufferToBigInt)(algo.p);
|
|
42
42
|
const x = (0, bigint_utils_js_1.bufferToBigInt)(_x);
|
|
@@ -74,7 +74,7 @@ async function computeSrpParams(crypto, request, password) {
|
|
|
74
74
|
const H = (data) => crypto.sha256(data);
|
|
75
75
|
const _k = crypto.sha256((0, buffer_utils_js_1.concatBuffers)([algo.p, _g]));
|
|
76
76
|
const _u = crypto.sha256((0, buffer_utils_js_1.concatBuffers)([_gA, request.srpB]));
|
|
77
|
-
const _x = await computePasswordHash(crypto, (0,
|
|
77
|
+
const _x = await computePasswordHash(crypto, (0, platform_js_1.getPlatform)().utf8Encode(password), algo.salt1, algo.salt2);
|
|
78
78
|
const k = (0, bigint_utils_js_1.bufferToBigInt)(_k);
|
|
79
79
|
const u = (0, bigint_utils_js_1.bufferToBigInt)(_u);
|
|
80
80
|
const x = (0, bigint_utils_js_1.bufferToBigInt)(_x);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../../../src/utils/crypto/password.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../../../src/utils/crypto/password.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getPlatform } from '../../platform.js'\nimport { MtSecurityError, MtUnsupportedError } from '../../types/errors.js'\nimport { bigIntModPow, bigIntToBuffer, bufferToBigInt } from '../bigint-utils.js'\nimport { concatBuffers } from '../buffer-utils.js'\nimport { assertTypeIs } from '../type-assertions.js'\nimport { ICryptoProvider } from './abstract.js'\nimport { xorBuffer } from './utils.js'\n\n/**\n * Compute password hash as defined by MTProto.\n *\n * See https://core.telegram.org/api/srp#checking-the-password-with-srp\n *\n * @param crypto Crypto provider\n * @param password Password\n * @param salt1 Salt 1\n * @param salt2 Salt 2\n */\nexport async function computePasswordHash(\n crypto: ICryptoProvider,\n password: Uint8Array,\n salt1: Uint8Array,\n salt2: Uint8Array,\n): Promise<Uint8Array> {\n const SH = (data: Uint8Array, salt: Uint8Array) => crypto.sha256(concatBuffers([salt, data, salt]))\n const PH1 = (pwd: Uint8Array, salt1: Uint8Array, salt2: Uint8Array) => SH(SH(pwd, salt1), salt2)\n\n return SH(await crypto.pbkdf2(PH1(password, salt1, salt2), salt1, 100000), salt2)\n}\n\n/**\n * Compute new password SRP hash as defined by MTProto.\n *\n * @param crypto Crypto provider\n * @param algo KDF algorithm\n * @param password Password\n */\nexport async function computeNewPasswordHash(\n crypto: ICryptoProvider,\n algo: tl.TypePasswordKdfAlgo,\n password: string,\n): Promise<Uint8Array> {\n assertTypeIs('account.getPassword', algo, 'passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow')\n\n const salt1 = new Uint8Array(algo.salt1.length + 32)\n salt1.set(algo.salt1)\n crypto.randomFill(salt1.subarray(algo.salt1.length))\n ;(algo as tl.Mutable<typeof algo>).salt1 = salt1\n\n const _x = await computePasswordHash(crypto, getPlatform().utf8Encode(password), algo.salt1, algo.salt2)\n\n const g = BigInt(algo.g)\n const p = bufferToBigInt(algo.p)\n const x = bufferToBigInt(_x)\n\n return bigIntToBuffer(bigIntModPow(g, x, p), 256)\n}\n\n/**\n * Compute SRP check parameters for 2fa password as defined by MTProto.\n *\n * @param crypto Crypto provider\n * @param request SRP request\n * @param password 2fa password\n */\nexport async function computeSrpParams(\n crypto: ICryptoProvider,\n request: tl.account.RawPassword,\n password: string,\n): Promise<tl.RawInputCheckPasswordSRP> {\n // nice naming thx durov\n if (\n !request.currentAlgo ||\n request.currentAlgo._ !== 'passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow'\n ) {\n throw new MtUnsupportedError(`Unknown algo ${request.currentAlgo?._}`)\n }\n\n const algo = request.currentAlgo\n\n // here and after: underscored variables are buffers, non-underscored are bigInts\n\n if (!request.srpB) {\n throw new MtSecurityError('SRP_B is not present in the request')\n }\n\n if (!request.srpId) {\n throw new MtSecurityError('SRP_ID is not present in the request')\n }\n\n const g = BigInt(algo.g)\n const _g = bigIntToBuffer(g, 256)\n const p = bufferToBigInt(algo.p)\n const gB = bufferToBigInt(request.srpB)\n\n const a = bufferToBigInt(crypto.randomBytes(256))\n const gA = bigIntModPow(g, a, p)\n const _gA = bigIntToBuffer(gA, 256)\n\n const H = (data: Uint8Array) => crypto.sha256(data)\n\n const _k = crypto.sha256(concatBuffers([algo.p, _g]))\n const _u = crypto.sha256(concatBuffers([_gA, request.srpB]))\n const _x = await computePasswordHash(crypto, getPlatform().utf8Encode(password), algo.salt1, algo.salt2)\n const k = bufferToBigInt(_k)\n const u = bufferToBigInt(_u)\n const x = bufferToBigInt(_x)\n\n const v = bigIntModPow(g, x, p)\n const kV = (k * v) % p\n\n let t = gB - kV\n if (t < 0n) t += p\n const sA = bigIntModPow(t, a + u * x, p)\n const _kA = H(bigIntToBuffer(sA, 256))\n\n const _M1 = H(concatBuffers([xorBuffer(H(algo.p), H(_g)), H(algo.salt1), H(algo.salt2), _gA, request.srpB, _kA]))\n\n return {\n _: 'inputCheckPasswordSRP',\n srpId: request.srpId,\n A: _gA,\n M1: _M1,\n }\n}\n"]}
|
package/cjs/utils/dcs.d.ts
CHANGED
|
@@ -11,3 +11,7 @@ export interface DcOptions {
|
|
|
11
11
|
main: BasicDcOption;
|
|
12
12
|
media: BasicDcOption;
|
|
13
13
|
}
|
|
14
|
+
export declare const defaultProductionDc: DcOptions;
|
|
15
|
+
export declare const defaultProductionIpv6Dc: DcOptions;
|
|
16
|
+
export declare const defaultTestDc: DcOptions;
|
|
17
|
+
export declare const defaultTestIpv6Dc: DcOptions;
|
package/cjs/utils/dcs.js
CHANGED
|
@@ -31,7 +31,6 @@ function parseBasicDcOption(data) {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
exports.parseBasicDcOption = parseBasicDcOption;
|
|
34
|
-
/** @internal */
|
|
35
34
|
exports.defaultProductionDc = {
|
|
36
35
|
main: {
|
|
37
36
|
ipAddress: '149.154.167.50',
|
|
@@ -45,7 +44,6 @@ exports.defaultProductionDc = {
|
|
|
45
44
|
mediaOnly: true,
|
|
46
45
|
},
|
|
47
46
|
};
|
|
48
|
-
/** @internal */
|
|
49
47
|
exports.defaultProductionIpv6Dc = {
|
|
50
48
|
main: {
|
|
51
49
|
ipAddress: '2001:067c:04e8:f002:0000:0000:0000:000a',
|
|
@@ -61,7 +59,6 @@ exports.defaultProductionIpv6Dc = {
|
|
|
61
59
|
mediaOnly: true,
|
|
62
60
|
},
|
|
63
61
|
};
|
|
64
|
-
/** @internal */
|
|
65
62
|
exports.defaultTestDc = {
|
|
66
63
|
main: {
|
|
67
64
|
ipAddress: '149.154.167.40',
|
|
@@ -75,7 +72,6 @@ exports.defaultTestDc = {
|
|
|
75
72
|
mediaOnly: true,
|
|
76
73
|
},
|
|
77
74
|
};
|
|
78
|
-
/** @internal */
|
|
79
75
|
exports.defaultTestIpv6Dc = {
|
|
80
76
|
main: {
|
|
81
77
|
ipAddress: '2001:67c:4e8:f002::e',
|
package/cjs/utils/dcs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dcs.js","sourceRoot":"","sources":["../../../src/utils/dcs.ts"],"names":[],"mappings":";;;AAAA,mDAAmE;AAUnE,SAAgB,sBAAsB,CAAC,EAAiB;IACpD,MAAM,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAExC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,CAAC,GAAG,CACN,IAAI,UAAU,CAAC;QACX,CAAC;QACD,EAAE,CAAC,EAAE;QACL,KAAK;KACR,CAAC,CACL,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IAEnB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAA;AAC1B,CAAC;AAhBD,wDAgBC;AAED,SAAgB,kBAAkB,CAAC,IAAgB;IAC/C,MAAM,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE1C,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;IAEzB,OAAO;QACH,EAAE;QACF,SAAS;QACT,IAAI;QACJ,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACvB,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;KAC/B,CAAA;AACL,CAAC;AAhBD,gDAgBC;
|
|
1
|
+
{"version":3,"file":"dcs.js","sourceRoot":"","sources":["../../../src/utils/dcs.ts"],"names":[],"mappings":";;;AAAA,mDAAmE;AAUnE,SAAgB,sBAAsB,CAAC,EAAiB;IACpD,MAAM,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAExC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,CAAC,GAAG,CACN,IAAI,UAAU,CAAC;QACX,CAAC;QACD,EAAE,CAAC,EAAE;QACL,KAAK;KACR,CAAC,CACL,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IAEnB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAA;AAC1B,CAAC;AAhBD,wDAgBC;AAED,SAAgB,kBAAkB,CAAC,IAAgB;IAC/C,MAAM,MAAM,GAAG,2BAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE1C,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;IAEzB,OAAO;QACH,EAAE;QACF,SAAS;QACT,IAAI;QACJ,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACvB,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;KAC/B,CAAA;AACL,CAAC;AAhBD,gDAgBC;AAOY,QAAA,mBAAmB,GAAc;IAC1C,IAAI,EAAE;QACF,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,CAAC;KACR;IACD,KAAK,EAAE;QACH,SAAS,EAAE,iBAAiB;QAC5B,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,CAAC;QACL,SAAS,EAAE,IAAI;KAClB;CACJ,CAAA;AAEY,QAAA,uBAAuB,GAAc;IAC9C,IAAI,EAAE;QACF,SAAS,EAAE,yCAAyC;QACpD,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,CAAC;KACR;IACD,KAAK,EAAE;QACH,SAAS,EAAE,yCAAyC;QACpD,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,CAAC;QACL,SAAS,EAAE,IAAI;KAClB;CACJ,CAAA;AAEY,QAAA,aAAa,GAAc;IACpC,IAAI,EAAE;QACF,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,CAAC;KACR;IACD,KAAK,EAAE;QACH,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,CAAC;QACL,SAAS,EAAE,IAAI;KAClB;CACJ,CAAA;AAEY,QAAA,iBAAiB,GAAc;IACxC,IAAI,EAAE;QACF,SAAS,EAAE,sBAAsB;QACjC,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,CAAC;KACR;IACD,KAAK,EAAE;QACH,SAAS,EAAE,sBAAsB;QACjC,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,CAAC;QACL,SAAS,EAAE,IAAI;KAClB;CACJ,CAAA","sourcesContent":["import { TlBinaryReader, TlBinaryWriter } from '@mtcute/tl-runtime'\n\nexport interface BasicDcOption {\n ipAddress: string\n port: number\n id: number\n ipv6?: boolean\n mediaOnly?: boolean\n}\n\nexport function serializeBasicDcOption(dc: BasicDcOption): Uint8Array {\n const writer = TlBinaryWriter.manual(64)\n\n const flags = (dc.ipv6 ? 1 : 0) | (dc.mediaOnly ? 2 : 0)\n writer.raw(\n new Uint8Array([\n 1, // version\n dc.id,\n flags,\n ]),\n )\n\n writer.string(dc.ipAddress)\n writer.int(dc.port)\n\n return writer.result()\n}\n\nexport function parseBasicDcOption(data: Uint8Array): BasicDcOption | null {\n const reader = TlBinaryReader.manual(data)\n\n const [version, id, flags] = reader.raw(3)\n if (version !== 1) return null\n\n const ipAddress = reader.string()\n const port = reader.int()\n\n return {\n id,\n ipAddress,\n port,\n ipv6: (flags & 1) !== 0,\n mediaOnly: (flags & 2) !== 0,\n }\n}\n\nexport interface DcOptions {\n main: BasicDcOption\n media: BasicDcOption\n}\n\nexport const defaultProductionDc: DcOptions = {\n main: {\n ipAddress: '149.154.167.50',\n port: 443,\n id: 2,\n },\n media: {\n ipAddress: '149.154.167.222',\n port: 443,\n id: 2,\n mediaOnly: true,\n },\n}\n\nexport const defaultProductionIpv6Dc: DcOptions = {\n main: {\n ipAddress: '2001:067c:04e8:f002:0000:0000:0000:000a',\n ipv6: true,\n port: 443,\n id: 2,\n },\n media: {\n ipAddress: '2001:067c:04e8:f002:0000:0000:0000:000b',\n ipv6: true,\n port: 443,\n id: 2,\n mediaOnly: true,\n },\n}\n\nexport const defaultTestDc: DcOptions = {\n main: {\n ipAddress: '149.154.167.40',\n port: 443,\n id: 2,\n },\n media: {\n ipAddress: '149.154.167.40',\n port: 443,\n id: 2,\n mediaOnly: true,\n },\n}\n\nexport const defaultTestIpv6Dc: DcOptions = {\n main: {\n ipAddress: '2001:67c:4e8:f002::e',\n port: 443,\n ipv6: true,\n id: 2,\n },\n media: {\n ipAddress: '2001:67c:4e8:f002::e',\n port: 443,\n ipv6: true,\n id: 2,\n mediaOnly: true,\n },\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-reporting.js","sourceRoot":"","sources":["../../../src/utils/error-reporting.ts"],"names":[],"mappings":";;;AAIA,SAAgB,kBAAkB,CAAC,GAAW,EAAE,KAAkB,EAAE,MAAc;IAC9E,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAM;IAEvC,KAAK,CAAC,qCAAqC,KAAK,CAAC,IAAI,WAAW,MAAM,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC;SACxF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACrB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACR,IAAI,CAAC,CAAC,EAAE,EAAE;YACN,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;SACjF;aAAM;YACH,GAAG,CAAC,IAAI,CACJ,wFAAwF,EACxF,KAAK,CAAC,IAAI,CACb,CAAA;SACJ;IACL,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;AACV,CAAC;AAlBD,gDAkBC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { Logger } from './logger.js'\n\nexport function reportUnknownError(log: Logger, error: tl.RpcError, method: string): void {\n if (typeof fetch !== 'function') return\n\n fetch(`https://rpc.pwrtelegram.xyz/?code=${error.code}&method=${method}&error=${error.text}`)\n .then((r) => r.json())\n .then((r) => {\n if (r.ok) {\n log.info('telerpc responded with error info for %s: %s', error.text, r.result)\n } else {\n log.info(\n 'Reported error %s to telerpc. You can disable this using `enableErrorReporting: false`',\n error.text,\n )\n }\n })\n .catch((e) => {\n log.debug('failed to report error %s to telerpc: %s', error.text, e)\n })\n}\n"]}
|