@mtcute/core 0.10.2 → 0.12.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/cjs/highlevel/base.d.ts +1 -1
- package/cjs/highlevel/base.js +29 -23
- package/cjs/highlevel/base.js.map +1 -1
- package/cjs/highlevel/client.d.ts +199 -18
- package/cjs/highlevel/client.js +54 -0
- package/cjs/highlevel/client.js.map +1 -1
- package/cjs/highlevel/managers/app-config-manager.js +7 -5
- package/cjs/highlevel/managers/app-config-manager.js.map +1 -1
- package/cjs/highlevel/methods/_imports.js.map +1 -1
- package/cjs/highlevel/methods/_init.js.map +1 -1
- package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
- package/cjs/highlevel/methods/auth/start.js.map +1 -1
- package/cjs/highlevel/methods/auth/utils.d.ts +3 -0
- package/cjs/highlevel/methods/auth/utils.js.map +1 -1
- package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
- package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
- package/cjs/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
- package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
- package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
- package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
- package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/batched-queries.d.ts +10 -1
- package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
- package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
- package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-full-chat.d.ts +2 -2
- package/cjs/highlevel/methods/chats/get-full-chat.js +1 -1
- package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
- package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
- package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
- package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
- package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
- package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
- package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
- package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
- package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
- package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
- package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
- package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
- package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/get-folders.d.ts +3 -0
- package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
- package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
- package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
- package/cjs/highlevel/methods/files/download-iterable.js +1 -1
- package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
- package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
- package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
- package/cjs/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
- package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
- package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
- package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -0
- package/cjs/highlevel/methods/files/normalize-input-media.js +12 -12
- package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
- package/cjs/highlevel/methods/files/upload-file.js +7 -6
- package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
- package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
- package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
- package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
- package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
- package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
- package/cjs/highlevel/methods/messages/_business-connection.d.ts +7 -0
- package/cjs/highlevel/methods/messages/_business-connection.js +42 -0
- package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -0
- package/cjs/highlevel/methods/messages/close-poll.js +1 -1
- package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
- package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/edit-message.d.ts +1 -0
- package/cjs/highlevel/methods/messages/edit-message.js +2 -1
- package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/find-in-update.d.ts +13 -1
- package/cjs/highlevel/methods/messages/find-in-update.js +7 -2
- package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/cjs/highlevel/methods/messages/forward-messages.d.ts +5 -0
- package/cjs/highlevel/methods/messages/forward-messages.js +2 -0
- package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
- package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js +32 -0
- package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
- package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
- package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-history.js +5 -1
- package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
- package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
- package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
- package/cjs/highlevel/methods/messages/iter-search-global.js +2 -1
- package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
- package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
- package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
- package/cjs/highlevel/methods/messages/search-global.d.ts +4 -0
- package/cjs/highlevel/methods/messages/search-global.js +2 -1
- package/cjs/highlevel/methods/messages/search-global.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-common.d.ts +28 -0
- package/cjs/highlevel/methods/messages/send-common.js +21 -1
- package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media-group.js +5 -2
- package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-media.js +4 -2
- package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-text.js +4 -2
- package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-typing.d.ts +4 -0
- package/cjs/highlevel/methods/messages/send-typing.js +2 -1
- package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
- package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
- package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
- package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
- package/cjs/highlevel/methods/misc/chain-id.d.ts +4 -1
- package/cjs/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
- package/cjs/highlevel/methods/misc/get-collectible-info.js +26 -0
- package/cjs/highlevel/methods/misc/get-collectible-info.js.map +1 -0
- package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
- package/cjs/highlevel/methods/misc/normalize-text.d.ts +5 -1
- package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
- package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
- package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
- package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
- package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
- package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
- package/cjs/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
- package/cjs/highlevel/methods/premium/create-business-chat-link.js +26 -0
- package/cjs/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
- package/cjs/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
- package/cjs/highlevel/methods/premium/edit-business-chat-link.js +42 -0
- package/cjs/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
- package/cjs/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
- package/cjs/highlevel/methods/premium/get-business-chat-links.js +14 -0
- package/cjs/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
- package/cjs/highlevel/methods/premium/get-business-connection.d.ts +8 -0
- package/cjs/highlevel/methods/premium/get-business-connection.js +25 -0
- package/cjs/highlevel/methods/premium/get-business-connection.js.map +1 -0
- package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
- package/cjs/highlevel/methods/premium/set-business-intro.d.ts +22 -0
- package/cjs/highlevel/methods/premium/set-business-intro.js +42 -0
- package/cjs/highlevel/methods/premium/set-business-intro.js.map +1 -0
- package/cjs/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
- package/cjs/highlevel/methods/premium/set-business-work-hours.js +33 -0
- package/cjs/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
- package/cjs/highlevel/methods/stickers/_utils.d.ts +10 -0
- package/cjs/highlevel/methods/stickers/_utils.js +27 -0
- package/cjs/highlevel/methods/stickers/_utils.js.map +1 -0
- package/cjs/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
- package/cjs/highlevel/methods/stickers/add-sticker-to-set.js +3 -17
- package/cjs/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
- package/cjs/highlevel/methods/stickers/create-sticker-set.js +2 -19
- package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
- package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
- package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
- package/cjs/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
- package/cjs/highlevel/methods/stickers/get-installed-stickers.js +1 -2
- package/cjs/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
- package/cjs/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
- package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js +24 -0
- package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
- package/cjs/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
- package/cjs/highlevel/methods/stickers/get-sticker-set.js +2 -2
- package/cjs/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
- package/cjs/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
- package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
- package/cjs/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
- package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js +32 -0
- package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
- package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
- package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
- package/cjs/highlevel/methods/stories/find-in-update.d.ts +5 -1
- package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
- package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
- package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
- package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
- package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
- package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
- package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
- package/cjs/highlevel/methods/users/get-users.js.map +1 -1
- package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
- package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
- package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
- package/cjs/highlevel/methods/users/set-my-birthday.d.ts +12 -0
- package/cjs/highlevel/methods/users/set-my-birthday.js +22 -0
- package/cjs/highlevel/methods/users/set-my-birthday.js.map +1 -0
- package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
- package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
- package/cjs/highlevel/methods.d.ts +12 -0
- package/cjs/highlevel/methods.js +33 -3
- package/cjs/highlevel/methods.js.map +1 -1
- package/cjs/highlevel/storage/service/current-user.js +2 -0
- package/cjs/highlevel/storage/service/current-user.js.map +1 -1
- package/cjs/highlevel/storage/service/peers.js +5 -1
- package/cjs/highlevel/storage/service/peers.js.map +1 -1
- package/cjs/highlevel/storage/service/ref-messages.js +3 -0
- package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
- package/cjs/highlevel/storage/service/updates.js +1 -0
- package/cjs/highlevel/storage/service/updates.js.map +1 -1
- package/cjs/highlevel/storage/storage.d.ts +8 -3
- package/cjs/highlevel/storage/storage.js +17 -4
- package/cjs/highlevel/storage/storage.js.map +1 -1
- package/cjs/highlevel/types/auth/sent-code.d.ts +7 -2
- package/cjs/highlevel/types/auth/sent-code.js +15 -0
- package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
- package/cjs/highlevel/types/bots/game-high-score.js +2 -0
- package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
- package/cjs/highlevel/types/bots/inline-message/factories.d.ts +5 -1
- package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
- package/cjs/highlevel/types/bots/inline-result/factories.d.ts +4 -1
- package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
- package/cjs/highlevel/types/bots/keyboards/builder.js +2 -1
- package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
- package/cjs/highlevel/types/bots/keyboards/factories.d.ts +7 -1
- package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
- package/cjs/highlevel/types/calls/discard-reason.d.ts +5 -0
- package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
- package/cjs/highlevel/types/conversation.js +13 -7
- package/cjs/highlevel/types/conversation.js.map +1 -1
- package/cjs/highlevel/types/errors.js +3 -0
- package/cjs/highlevel/types/errors.js.map +1 -1
- package/cjs/highlevel/types/files/file-location.js +3 -0
- package/cjs/highlevel/types/files/file-location.js.map +1 -1
- package/cjs/highlevel/types/files/uploaded-file.d.ts +2 -0
- package/cjs/highlevel/types/files/uploaded-file.js +1 -1
- package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
- package/cjs/highlevel/types/files/utils.d.ts +6 -5
- package/cjs/highlevel/types/files/utils.js.map +1 -1
- package/cjs/highlevel/types/files/web-document.js +1 -0
- package/cjs/highlevel/types/files/web-document.js.map +1 -1
- package/cjs/highlevel/types/media/audio.js +3 -2
- package/cjs/highlevel/types/media/audio.js.map +1 -1
- package/cjs/highlevel/types/media/contact.js +2 -1
- package/cjs/highlevel/types/media/contact.js.map +1 -1
- package/cjs/highlevel/types/media/dice.js +125 -124
- package/cjs/highlevel/types/media/dice.js.map +1 -1
- package/cjs/highlevel/types/media/document-utils.d.ts +5 -0
- package/cjs/highlevel/types/media/document-utils.js +9 -2
- package/cjs/highlevel/types/media/document-utils.js.map +1 -1
- package/cjs/highlevel/types/media/document.js +2 -4
- package/cjs/highlevel/types/media/document.js.map +1 -1
- package/cjs/highlevel/types/media/game.js +2 -1
- package/cjs/highlevel/types/media/game.js.map +1 -1
- package/cjs/highlevel/types/media/input-media/types.d.ts +2 -2
- package/cjs/highlevel/types/media/input-media/types.js.map +1 -1
- package/cjs/highlevel/types/media/invoice.js +4 -1
- package/cjs/highlevel/types/media/invoice.js.map +1 -1
- package/cjs/highlevel/types/media/location.js +4 -5
- package/cjs/highlevel/types/media/location.js.map +1 -1
- package/cjs/highlevel/types/media/photo.js +8 -1
- package/cjs/highlevel/types/media/photo.js.map +1 -1
- package/cjs/highlevel/types/media/poll.d.ts +17 -6
- package/cjs/highlevel/types/media/poll.js +69 -19
- package/cjs/highlevel/types/media/poll.js.map +1 -1
- package/cjs/highlevel/types/media/sticker.js +3 -1
- package/cjs/highlevel/types/media/sticker.js.map +1 -1
- package/cjs/highlevel/types/media/story.js +3 -1
- package/cjs/highlevel/types/media/story.js.map +1 -1
- package/cjs/highlevel/types/media/thumbnail.js +35 -22
- package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
- package/cjs/highlevel/types/media/venue.js +2 -1
- package/cjs/highlevel/types/media/venue.js.map +1 -1
- package/cjs/highlevel/types/media/video.js +3 -1
- package/cjs/highlevel/types/media/video.js.map +1 -1
- package/cjs/highlevel/types/media/voice.js +2 -1
- package/cjs/highlevel/types/media/voice.js.map +1 -1
- package/cjs/highlevel/types/media/web-page.js +2 -1
- package/cjs/highlevel/types/media/web-page.js.map +1 -1
- package/cjs/highlevel/types/messages/dialog.js +4 -12
- package/cjs/highlevel/types/messages/dialog.js.map +1 -1
- package/cjs/highlevel/types/messages/draft-message.js +1 -0
- package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
- package/cjs/highlevel/types/messages/input-message-id.d.ts +5 -0
- package/cjs/highlevel/types/messages/message-action.d.ts +19 -2
- package/cjs/highlevel/types/messages/message-action.js +6 -0
- package/cjs/highlevel/types/messages/message-action.js.map +1 -1
- package/cjs/highlevel/types/messages/message-entity.js +2 -0
- package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
- package/cjs/highlevel/types/messages/message-forward.js +2 -0
- package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
- package/cjs/highlevel/types/messages/message-media.d.ts +4 -0
- package/cjs/highlevel/types/messages/message-media.js.map +1 -1
- package/cjs/highlevel/types/messages/message-reactions.js +4 -0
- package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
- package/cjs/highlevel/types/messages/message-replies.js +2 -0
- package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
- package/cjs/highlevel/types/messages/message.d.ts +59 -1
- package/cjs/highlevel/types/messages/message.js +102 -1
- package/cjs/highlevel/types/messages/message.js.map +1 -1
- package/cjs/highlevel/types/messages/replied-message.js +2 -0
- package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
- package/cjs/highlevel/types/misc/collectible-info.d.ts +27 -0
- package/cjs/highlevel/types/misc/collectible-info.js +46 -0
- package/cjs/highlevel/types/misc/collectible-info.js.map +1 -0
- package/cjs/highlevel/types/misc/entities.d.ts +7 -0
- package/cjs/highlevel/types/misc/entities.js +15 -0
- package/cjs/highlevel/types/misc/entities.js.map +1 -1
- package/cjs/highlevel/types/misc/index.d.ts +1 -0
- package/cjs/highlevel/types/misc/index.js +1 -0
- package/cjs/highlevel/types/misc/index.js.map +1 -1
- package/cjs/highlevel/types/misc/sticker-set.d.ts +8 -1
- package/cjs/highlevel/types/misc/sticker-set.js +43 -6
- package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
- package/cjs/highlevel/types/misc/takeout-session.js +5 -0
- package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-colors.js +2 -0
- package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-event/actions.d.ts +3 -0
- package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-event/filters.d.ts +2 -0
- package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-event/index.js +2 -0
- package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-invite-link-member.js +2 -0
- package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-invite-link.js +2 -0
- package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-location.js +1 -0
- package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-member.js +2 -0
- package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-permissions.js +1 -0
- package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-photo.js +5 -0
- package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
- package/cjs/highlevel/types/peers/chat-preview.js +2 -0
- package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
- package/cjs/highlevel/types/peers/chat.d.ts +7 -93
- package/cjs/highlevel/types/peers/chat.js +10 -192
- package/cjs/highlevel/types/peers/chat.js.map +1 -1
- package/cjs/highlevel/types/peers/forum-topic.js +9 -6
- package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
- package/cjs/highlevel/types/peers/full-chat.d.ts +103 -0
- package/cjs/highlevel/types/peers/full-chat.js +237 -0
- package/cjs/highlevel/types/peers/full-chat.js.map +1 -0
- package/cjs/highlevel/types/peers/index.d.ts +1 -0
- package/cjs/highlevel/types/peers/index.js +1 -0
- package/cjs/highlevel/types/peers/index.js.map +1 -1
- package/cjs/highlevel/types/peers/peer.js.map +1 -1
- package/cjs/highlevel/types/peers/peers-index.js +3 -1
- package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
- package/cjs/highlevel/types/peers/user.d.ts +5 -0
- package/cjs/highlevel/types/peers/user.js +12 -1
- package/cjs/highlevel/types/peers/user.js.map +1 -1
- package/cjs/highlevel/types/premium/boost-slot.js +2 -0
- package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
- package/cjs/highlevel/types/premium/boost-stats.js +1 -0
- package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
- package/cjs/highlevel/types/premium/boost.js +2 -0
- package/cjs/highlevel/types/premium/boost.js.map +1 -1
- package/cjs/highlevel/types/premium/business-account.d.ts +19 -0
- package/cjs/highlevel/types/premium/business-account.js +45 -0
- package/cjs/highlevel/types/premium/business-account.js.map +1 -0
- package/cjs/highlevel/types/premium/business-chat-link.d.ts +19 -0
- package/cjs/highlevel/types/premium/business-chat-link.js +39 -0
- package/cjs/highlevel/types/premium/business-chat-link.js.map +1 -0
- package/cjs/highlevel/types/premium/business-connection.d.ts +23 -0
- package/cjs/highlevel/types/premium/business-connection.js +45 -0
- package/cjs/highlevel/types/premium/business-connection.js.map +1 -0
- package/cjs/highlevel/types/premium/business-intro.d.ts +22 -0
- package/cjs/highlevel/types/premium/business-intro.js +43 -0
- package/cjs/highlevel/types/premium/business-intro.js.map +1 -0
- package/cjs/highlevel/types/premium/business-location.d.ts +10 -0
- package/cjs/highlevel/types/premium/business-location.js +26 -0
- package/cjs/highlevel/types/premium/business-location.js.map +1 -0
- package/cjs/highlevel/types/premium/business-work-hours.d.ts +42 -0
- package/cjs/highlevel/types/premium/business-work-hours.js +141 -0
- package/cjs/highlevel/types/premium/business-work-hours.js.map +1 -0
- package/cjs/highlevel/types/premium/index.d.ts +5 -0
- package/cjs/highlevel/types/premium/index.js +5 -0
- package/cjs/highlevel/types/premium/index.js.map +1 -1
- package/cjs/highlevel/types/reactions/emoji-status.js +1 -0
- package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
- package/cjs/highlevel/types/reactions/peer-reaction.js +2 -0
- package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
- package/cjs/highlevel/types/reactions/reaction-count.js +1 -0
- package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
- package/cjs/highlevel/types/reactions/types.js.map +1 -1
- package/cjs/highlevel/types/stories/all-stories.d.ts +2 -2
- package/cjs/highlevel/types/stories/all-stories.js +3 -1
- package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/base.js +1 -0
- package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/channel-post.js +3 -1
- package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/input.js +1 -0
- package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/location.js +2 -1
- package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/reaction.js +2 -1
- package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/venue.js +2 -1
- package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
- package/cjs/highlevel/types/stories/peer-stories.js +2 -0
- package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
- package/cjs/highlevel/types/stories/stealth-mode.js +1 -0
- package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
- package/cjs/highlevel/types/stories/story-interactions.js +2 -0
- package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
- package/cjs/highlevel/types/stories/story-viewer.d.ts +1 -1
- package/cjs/highlevel/types/stories/story-viewer.js +6 -0
- package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
- package/cjs/highlevel/types/stories/story.js +2 -0
- package/cjs/highlevel/types/stories/story.js.map +1 -1
- package/cjs/highlevel/types/updates/bot-chat-join-request.js +2 -0
- package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
- package/cjs/highlevel/types/updates/bot-reaction.js +4 -0
- package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
- package/cjs/highlevel/types/updates/bot-stopped.js +2 -0
- package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
- package/cjs/highlevel/types/updates/business-message.d.ts +18 -0
- package/cjs/highlevel/types/updates/business-message.js +35 -0
- package/cjs/highlevel/types/updates/business-message.js.map +1 -0
- package/cjs/highlevel/types/updates/callback-query.js +4 -0
- package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
- package/cjs/highlevel/types/updates/chat-join-request.js +2 -0
- package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
- package/cjs/highlevel/types/updates/chat-member-update.js +2 -0
- package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
- package/cjs/highlevel/types/updates/chosen-inline-result.js +2 -0
- package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
- package/cjs/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
- package/cjs/highlevel/types/updates/delete-business-message-update.js +37 -0
- package/cjs/highlevel/types/updates/delete-business-message-update.js.map +1 -0
- package/cjs/highlevel/types/updates/delete-message-update.js +1 -0
- package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
- package/cjs/highlevel/types/updates/delete-story-update.js +2 -0
- package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
- package/cjs/highlevel/types/updates/history-read-update.js +1 -0
- package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
- package/cjs/highlevel/types/updates/index.d.ts +19 -2
- package/cjs/highlevel/types/updates/index.js +5 -1
- package/cjs/highlevel/types/updates/index.js.map +1 -1
- package/cjs/highlevel/types/updates/inline-query.js +2 -0
- package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
- package/cjs/highlevel/types/updates/parse-update.d.ts +4 -1
- package/cjs/highlevel/types/updates/parse-update.js +8 -0
- package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
- package/cjs/highlevel/types/updates/poll-update.js +4 -2
- package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
- package/cjs/highlevel/types/updates/poll-vote.js +2 -0
- package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
- package/cjs/highlevel/types/updates/pre-checkout-query.js +2 -0
- package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
- package/cjs/highlevel/types/updates/story-update.js +2 -0
- package/cjs/highlevel/types/updates/story-update.js.map +1 -1
- package/cjs/highlevel/types/updates/user-status-update.js +1 -0
- package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
- package/cjs/highlevel/types/updates/user-typing-update.js +1 -0
- package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
- package/cjs/highlevel/updates/manager.d.ts +0 -1
- package/cjs/highlevel/updates/manager.js +57 -30
- package/cjs/highlevel/updates/manager.js.map +1 -1
- package/cjs/highlevel/updates/parsed.js +8 -2
- package/cjs/highlevel/updates/parsed.js.map +1 -1
- package/cjs/highlevel/updates/types.d.ts +57 -0
- package/cjs/highlevel/updates/utils.d.ts +2 -0
- package/cjs/highlevel/updates/utils.js.map +1 -1
- package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
- package/cjs/highlevel/utils/entities.js.map +1 -1
- package/cjs/highlevel/utils/file-type.d.ts +1 -0
- package/cjs/highlevel/utils/file-type.js +35 -1
- package/cjs/highlevel/utils/file-type.js.map +1 -1
- package/cjs/highlevel/utils/file-utils.js +1 -1
- package/cjs/highlevel/utils/file-utils.js.map +1 -1
- package/cjs/highlevel/utils/inline-utils.js.map +1 -1
- package/cjs/highlevel/utils/inspectable.js +7 -0
- package/cjs/highlevel/utils/inspectable.js.map +1 -1
- package/cjs/highlevel/utils/memoize.js.map +1 -1
- package/cjs/highlevel/utils/peer-utils.js.map +1 -1
- package/cjs/highlevel/utils/query-batcher.js.map +1 -1
- package/cjs/highlevel/utils/rps-meter.js +3 -0
- package/cjs/highlevel/utils/rps-meter.js.map +1 -1
- package/cjs/highlevel/utils/stream-utils.js.map +1 -1
- package/cjs/highlevel/utils/string-session.d.ts +1 -2
- package/cjs/highlevel/utils/string-session.js +27 -7
- package/cjs/highlevel/utils/string-session.js.map +1 -1
- package/cjs/highlevel/utils/voice-utils.js.map +1 -1
- package/cjs/highlevel/worker/app-config.d.ts +2 -3
- package/cjs/highlevel/worker/app-config.js +6 -3
- package/cjs/highlevel/worker/app-config.js.map +1 -1
- package/cjs/highlevel/worker/errors.js.map +1 -1
- package/cjs/highlevel/worker/index.js +6 -0
- package/cjs/highlevel/worker/invoker.js +3 -2
- package/cjs/highlevel/worker/invoker.js.map +1 -1
- package/cjs/highlevel/worker/port.d.ts +16 -17
- package/cjs/highlevel/worker/port.js +74 -49
- package/cjs/highlevel/worker/port.js.map +1 -1
- package/cjs/highlevel/worker/protocol.d.ts +1 -2
- package/cjs/highlevel/worker/protocol.js.map +1 -1
- package/cjs/highlevel/worker/storage.d.ts +9 -13
- package/cjs/highlevel/worker/storage.js +34 -19
- package/cjs/highlevel/worker/storage.js.map +1 -1
- package/cjs/highlevel/worker/worker.js +3 -0
- package/cjs/highlevel/worker/worker.js.map +1 -1
- package/cjs/index.js +6 -0
- package/cjs/network/auth-key.js +8 -1
- package/cjs/network/auth-key.js.map +1 -1
- package/cjs/network/authorization.js.map +1 -1
- package/cjs/network/client.d.ts +0 -1
- package/cjs/network/client.js +39 -14
- package/cjs/network/client.js.map +1 -1
- package/cjs/network/config-manager.js.map +1 -1
- package/cjs/network/mtproto-session.d.ts +0 -1
- package/cjs/network/mtproto-session.js +40 -30
- package/cjs/network/mtproto-session.js.map +1 -1
- package/cjs/network/multi-session-connection.d.ts +1 -2
- package/cjs/network/multi-session-connection.js +13 -7
- package/cjs/network/multi-session-connection.js.map +1 -1
- package/cjs/network/network-manager.d.ts +10 -3
- package/cjs/network/network-manager.js +57 -31
- package/cjs/network/network-manager.js.map +1 -1
- package/cjs/network/persistent-connection.d.ts +2 -3
- package/cjs/network/persistent-connection.js +33 -22
- package/cjs/network/persistent-connection.js.map +1 -1
- package/cjs/network/server-salt.js +4 -5
- package/cjs/network/server-salt.js.map +1 -1
- package/cjs/network/session-connection.d.ts +1 -1
- package/cjs/network/session-connection.js +32 -12
- package/cjs/network/session-connection.js.map +1 -1
- package/cjs/network/transports/abstract.d.ts +1 -2
- package/cjs/network/transports/abstract.js +1 -0
- package/cjs/network/transports/abstract.js.map +1 -1
- package/cjs/network/transports/intermediate.js +1 -0
- package/cjs/network/transports/intermediate.js.map +1 -1
- package/cjs/network/transports/obfuscated.js +3 -0
- package/cjs/network/transports/obfuscated.js.map +1 -1
- package/cjs/network/transports/streamed.d.ts +0 -1
- package/cjs/network/transports/streamed.js +1 -4
- package/cjs/network/transports/streamed.js.map +1 -1
- package/cjs/network/transports/wrapped.d.ts +0 -1
- package/cjs/network/transports/wrapped.js +2 -0
- package/cjs/network/transports/wrapped.js.map +1 -1
- package/cjs/platform.js +6 -0
- package/cjs/platform.js.map +1 -1
- package/cjs/storage/driver.js +3 -4
- package/cjs/storage/driver.js.map +1 -1
- package/cjs/storage/memory/driver.js +1 -3
- package/cjs/storage/memory/driver.js.map +1 -1
- package/cjs/storage/memory/index.js +5 -7
- package/cjs/storage/memory/index.js.map +1 -1
- package/cjs/storage/memory/repository/auth-keys.d.ts +1 -1
- package/cjs/storage/memory/repository/auth-keys.js +2 -0
- package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
- package/cjs/storage/memory/repository/kv.d.ts +1 -1
- package/cjs/storage/memory/repository/kv.js +2 -0
- package/cjs/storage/memory/repository/kv.js.map +1 -1
- package/cjs/storage/memory/repository/peers.d.ts +1 -1
- package/cjs/storage/memory/repository/peers.js +2 -0
- package/cjs/storage/memory/repository/peers.js.map +1 -1
- package/cjs/storage/memory/repository/ref-messages.d.ts +1 -1
- package/cjs/storage/memory/repository/ref-messages.js +2 -0
- package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
- package/cjs/storage/service/auth-keys.js +2 -0
- package/cjs/storage/service/auth-keys.js.map +1 -1
- package/cjs/storage/service/base.js +4 -0
- package/cjs/storage/service/base.js.map +1 -1
- package/cjs/storage/service/default-dcs.js +2 -0
- package/cjs/storage/service/default-dcs.js.map +1 -1
- package/cjs/storage/service/future-salts.js +2 -1
- package/cjs/storage/service/future-salts.js.map +1 -1
- package/cjs/storage/sqlite/driver.js +10 -10
- package/cjs/storage/sqlite/driver.js.map +1 -1
- package/cjs/storage/sqlite/index.d.ts +1 -1
- package/cjs/storage/sqlite/index.js +5 -0
- package/cjs/storage/sqlite/index.js.map +1 -1
- package/cjs/storage/sqlite/repository/auth-keys.js +9 -0
- package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
- package/cjs/storage/sqlite/repository/kv.js +5 -0
- package/cjs/storage/sqlite/repository/kv.js.map +1 -1
- package/cjs/storage/sqlite/repository/peers.js +7 -2
- package/cjs/storage/sqlite/repository/peers.js.map +1 -1
- package/cjs/storage/sqlite/repository/ref-messages.d.ts +1 -1
- package/cjs/storage/sqlite/repository/ref-messages.js +6 -0
- package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
- package/cjs/storage/storage.d.ts +22 -3
- package/cjs/storage/storage.js +21 -13
- package/cjs/storage/storage.js.map +1 -1
- package/cjs/types/errors.js +13 -0
- package/cjs/types/errors.js.map +1 -1
- package/cjs/types/utils.d.ts +1 -0
- package/cjs/types/utils.js.map +1 -1
- package/cjs/utils/async-lock.js +1 -3
- package/cjs/utils/async-lock.js.map +1 -1
- package/cjs/utils/bigint-utils.js.map +1 -1
- package/cjs/utils/binary/asn1-parser.js.map +1 -1
- package/cjs/utils/buffer-utils.js.map +1 -1
- package/cjs/utils/condition-variable.js +2 -0
- package/cjs/utils/condition-variable.js.map +1 -1
- package/cjs/utils/crypto/factorization.js.map +1 -1
- package/cjs/utils/crypto/keys.js.map +1 -1
- package/cjs/utils/crypto/miller-rabin.js.map +1 -1
- package/cjs/utils/crypto/password.js.map +1 -1
- package/cjs/utils/crypto/utils.js.map +1 -1
- package/cjs/utils/dcs.js +1 -1
- package/cjs/utils/dcs.js.map +1 -1
- package/cjs/utils/deque.js +8 -2
- package/cjs/utils/deque.js.map +1 -1
- package/cjs/utils/early-timer.js +4 -1
- package/cjs/utils/early-timer.js.map +1 -1
- package/cjs/utils/error-reporting.js.map +1 -1
- package/cjs/utils/function-utils.js.map +1 -1
- package/cjs/utils/index.js +6 -0
- package/cjs/utils/linked-list.js +4 -1
- package/cjs/utils/linked-list.js.map +1 -1
- package/cjs/utils/links/bots.js.map +1 -1
- package/cjs/utils/links/chat.js.map +1 -1
- package/cjs/utils/links/common.js.map +1 -1
- package/cjs/utils/links/misc.js.map +1 -1
- package/cjs/utils/logger.d.ts +2 -2
- package/cjs/utils/logger.js +21 -14
- package/cjs/utils/logger.js.map +1 -1
- package/cjs/utils/long-utils.js +2 -6
- package/cjs/utils/long-utils.js.map +1 -1
- package/cjs/utils/lru-map.js +5 -1
- package/cjs/utils/lru-map.js.map +1 -1
- package/cjs/utils/lru-set.js +4 -0
- package/cjs/utils/lru-set.js.map +1 -1
- package/cjs/utils/peer-utils.js.map +1 -1
- package/cjs/utils/reloadable.d.ts +0 -1
- package/cjs/utils/reloadable.js +10 -7
- package/cjs/utils/reloadable.js.map +1 -1
- package/cjs/utils/sorted-array.js +2 -0
- package/cjs/utils/sorted-array.js.map +1 -1
- package/cjs/utils/tl-json.js.map +1 -1
- package/cjs/utils/type-assertions.js.map +1 -1
- package/client.d.ts +1 -0
- package/client.js +1 -0
- package/esm/highlevel/base.d.ts +1 -1
- package/esm/highlevel/base.js +29 -23
- package/esm/highlevel/base.js.map +1 -1
- package/esm/highlevel/client.d.ts +199 -18
- package/esm/highlevel/client.js +48 -0
- package/esm/highlevel/client.js.map +1 -1
- package/esm/highlevel/managers/app-config-manager.js +7 -5
- package/esm/highlevel/managers/app-config-manager.js.map +1 -1
- package/esm/highlevel/methods/_imports.js.map +1 -1
- package/esm/highlevel/methods/_init.js.map +1 -1
- package/esm/highlevel/methods/auth/start-test.js.map +1 -1
- package/esm/highlevel/methods/auth/start.js.map +1 -1
- package/esm/highlevel/methods/auth/utils.d.ts +3 -0
- package/esm/highlevel/methods/auth/utils.js.map +1 -1
- package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
- package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
- package/esm/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
- package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
- package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
- package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
- package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/batched-queries.d.ts +10 -1
- package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
- package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
- package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
- package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/get-full-chat.d.ts +2 -2
- package/esm/highlevel/methods/chats/get-full-chat.js +2 -2
- package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
- package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
- package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
- package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
- package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
- package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
- package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
- package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
- package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
- package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
- package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
- package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
- package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
- package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
- package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
- package/esm/highlevel/methods/dialogs/get-folders.d.ts +3 -0
- package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
- package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
- package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
- package/esm/highlevel/methods/files/download-iterable.js +1 -1
- package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
- package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
- package/esm/highlevel/methods/files/download-stream.js.map +1 -1
- package/esm/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
- package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
- package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
- package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -0
- package/esm/highlevel/methods/files/normalize-input-media.js +12 -12
- package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
- package/esm/highlevel/methods/files/upload-file.js +8 -7
- package/esm/highlevel/methods/files/upload-file.js.map +1 -1
- package/esm/highlevel/methods/files/upload-media.js.map +1 -1
- package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
- package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
- package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
- package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
- package/esm/highlevel/methods/messages/_business-connection.d.ts +7 -0
- package/esm/highlevel/methods/messages/_business-connection.js +38 -0
- package/esm/highlevel/methods/messages/_business-connection.js.map +1 -0
- package/esm/highlevel/methods/messages/close-poll.js +1 -1
- package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
- package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
- package/esm/highlevel/methods/messages/edit-message.d.ts +1 -0
- package/esm/highlevel/methods/messages/edit-message.js +2 -1
- package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
- package/esm/highlevel/methods/messages/find-in-update.d.ts +13 -1
- package/esm/highlevel/methods/messages/find-in-update.js +7 -2
- package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/esm/highlevel/methods/messages/forward-messages.d.ts +5 -0
- package/esm/highlevel/methods/messages/forward-messages.js +2 -0
- package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
- package/esm/highlevel/methods/messages/get-all-scheduled-messages.js +25 -0
- package/esm/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
- package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
- package/esm/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
- package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
- package/esm/highlevel/methods/messages/get-history.js +5 -1
- package/esm/highlevel/methods/messages/get-history.js.map +1 -1
- package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
- package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
- package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
- package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
- package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
- package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
- package/esm/highlevel/methods/messages/iter-search-global.js +2 -1
- package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
- package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
- package/esm/highlevel/methods/messages/read-history.js.map +1 -1
- package/esm/highlevel/methods/messages/search-global.d.ts +4 -0
- package/esm/highlevel/methods/messages/search-global.js +2 -1
- package/esm/highlevel/methods/messages/search-global.js.map +1 -1
- package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
- package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
- package/esm/highlevel/methods/messages/send-common.d.ts +28 -0
- package/esm/highlevel/methods/messages/send-common.js +19 -0
- package/esm/highlevel/methods/messages/send-common.js.map +1 -1
- package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
- package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media-group.js +5 -2
- package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
- package/esm/highlevel/methods/messages/send-media.js +4 -2
- package/esm/highlevel/methods/messages/send-media.js.map +1 -1
- package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
- package/esm/highlevel/methods/messages/send-text.js +4 -2
- package/esm/highlevel/methods/messages/send-text.js.map +1 -1
- package/esm/highlevel/methods/messages/send-typing.d.ts +4 -0
- package/esm/highlevel/methods/messages/send-typing.js +2 -1
- package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
- package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
- package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
- package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
- package/esm/highlevel/methods/misc/chain-id.d.ts +4 -1
- package/esm/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
- package/esm/highlevel/methods/misc/get-collectible-info.js +22 -0
- package/esm/highlevel/methods/misc/get-collectible-info.js.map +1 -0
- package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
- package/esm/highlevel/methods/misc/normalize-text.d.ts +5 -1
- package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
- package/esm/highlevel/methods/misc/with-params.js.map +1 -1
- package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
- package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
- package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
- package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
- package/esm/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
- package/esm/highlevel/methods/premium/create-business-chat-link.js +22 -0
- package/esm/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
- package/esm/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
- package/esm/highlevel/methods/premium/edit-business-chat-link.js +37 -0
- package/esm/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
- package/esm/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
- package/esm/highlevel/methods/premium/get-business-chat-links.js +10 -0
- package/esm/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
- package/esm/highlevel/methods/premium/get-business-connection.d.ts +8 -0
- package/esm/highlevel/methods/premium/get-business-connection.js +21 -0
- package/esm/highlevel/methods/premium/get-business-connection.js.map +1 -0
- package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
- package/esm/highlevel/methods/premium/set-business-intro.d.ts +22 -0
- package/esm/highlevel/methods/premium/set-business-intro.js +38 -0
- package/esm/highlevel/methods/premium/set-business-intro.js.map +1 -0
- package/esm/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
- package/esm/highlevel/methods/premium/set-business-work-hours.js +29 -0
- package/esm/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
- package/esm/highlevel/methods/stickers/_utils.d.ts +10 -0
- package/esm/highlevel/methods/stickers/_utils.js +23 -0
- package/esm/highlevel/methods/stickers/_utils.js.map +1 -0
- package/esm/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
- package/esm/highlevel/methods/stickers/add-sticker-to-set.js +4 -18
- package/esm/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
- package/esm/highlevel/methods/stickers/create-sticker-set.js +3 -20
- package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
- package/esm/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
- package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
- package/esm/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
- package/esm/highlevel/methods/stickers/get-installed-stickers.js +1 -2
- package/esm/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
- package/esm/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
- package/esm/highlevel/methods/stickers/get-my-sticker-sets.js +17 -0
- package/esm/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
- package/esm/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
- package/esm/highlevel/methods/stickers/get-sticker-set.js +2 -2
- package/esm/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
- package/esm/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
- package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
- package/esm/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
- package/esm/highlevel/methods/stickers/replace-sticker-in-set.js +28 -0
- package/esm/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
- package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
- package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
- package/esm/highlevel/methods/stories/find-in-update.d.ts +5 -1
- package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
- package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
- package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
- package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
- package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
- package/esm/highlevel/methods/stories/send-story.js.map +1 -1
- package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
- package/esm/highlevel/methods/users/get-users.js.map +1 -1
- package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
- package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
- package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
- package/esm/highlevel/methods/users/set-my-birthday.d.ts +12 -0
- package/esm/highlevel/methods/users/set-my-birthday.js +18 -0
- package/esm/highlevel/methods/users/set-my-birthday.js.map +1 -0
- package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
- package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
- package/esm/highlevel/methods.d.ts +12 -0
- package/esm/highlevel/methods.js +12 -0
- package/esm/highlevel/methods.js.map +1 -1
- package/esm/highlevel/storage/service/current-user.js +2 -0
- package/esm/highlevel/storage/service/current-user.js.map +1 -1
- package/esm/highlevel/storage/service/peers.js +5 -1
- package/esm/highlevel/storage/service/peers.js.map +1 -1
- package/esm/highlevel/storage/service/ref-messages.js +3 -0
- package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
- package/esm/highlevel/storage/service/updates.js +1 -0
- package/esm/highlevel/storage/service/updates.js.map +1 -1
- package/esm/highlevel/storage/storage.d.ts +8 -3
- package/esm/highlevel/storage/storage.js +17 -4
- package/esm/highlevel/storage/storage.js.map +1 -1
- package/esm/highlevel/types/auth/sent-code.d.ts +7 -2
- package/esm/highlevel/types/auth/sent-code.js +15 -0
- package/esm/highlevel/types/auth/sent-code.js.map +1 -1
- package/esm/highlevel/types/bots/game-high-score.js +2 -0
- package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
- package/esm/highlevel/types/bots/inline-message/factories.d.ts +5 -1
- package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
- package/esm/highlevel/types/bots/inline-result/factories.d.ts +4 -1
- package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
- package/esm/highlevel/types/bots/keyboards/builder.js +2 -1
- package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
- package/esm/highlevel/types/bots/keyboards/factories.d.ts +7 -1
- package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
- package/esm/highlevel/types/calls/discard-reason.d.ts +5 -0
- package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
- package/esm/highlevel/types/conversation.js +13 -7
- package/esm/highlevel/types/conversation.js.map +1 -1
- package/esm/highlevel/types/errors.js +3 -0
- package/esm/highlevel/types/errors.js.map +1 -1
- package/esm/highlevel/types/files/file-location.js +3 -0
- package/esm/highlevel/types/files/file-location.js.map +1 -1
- package/esm/highlevel/types/files/uploaded-file.d.ts +2 -0
- package/esm/highlevel/types/files/uploaded-file.js +1 -1
- package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
- package/esm/highlevel/types/files/utils.d.ts +6 -5
- package/esm/highlevel/types/files/utils.js.map +1 -1
- package/esm/highlevel/types/files/web-document.js +1 -0
- package/esm/highlevel/types/files/web-document.js.map +1 -1
- package/esm/highlevel/types/media/audio.js +3 -2
- package/esm/highlevel/types/media/audio.js.map +1 -1
- package/esm/highlevel/types/media/contact.js +2 -1
- package/esm/highlevel/types/media/contact.js.map +1 -1
- package/esm/highlevel/types/media/dice.js +125 -124
- package/esm/highlevel/types/media/dice.js.map +1 -1
- package/esm/highlevel/types/media/document-utils.d.ts +5 -0
- package/esm/highlevel/types/media/document-utils.js +7 -1
- package/esm/highlevel/types/media/document-utils.js.map +1 -1
- package/esm/highlevel/types/media/document.js +2 -4
- package/esm/highlevel/types/media/document.js.map +1 -1
- package/esm/highlevel/types/media/game.js +2 -1
- package/esm/highlevel/types/media/game.js.map +1 -1
- package/esm/highlevel/types/media/input-media/types.d.ts +2 -2
- package/esm/highlevel/types/media/input-media/types.js.map +1 -1
- package/esm/highlevel/types/media/invoice.js +4 -1
- package/esm/highlevel/types/media/invoice.js.map +1 -1
- package/esm/highlevel/types/media/location.js +4 -5
- package/esm/highlevel/types/media/location.js.map +1 -1
- package/esm/highlevel/types/media/photo.js +8 -1
- package/esm/highlevel/types/media/photo.js.map +1 -1
- package/esm/highlevel/types/media/poll.d.ts +17 -6
- package/esm/highlevel/types/media/poll.js +68 -18
- package/esm/highlevel/types/media/poll.js.map +1 -1
- package/esm/highlevel/types/media/sticker.js +3 -1
- package/esm/highlevel/types/media/sticker.js.map +1 -1
- package/esm/highlevel/types/media/story.js +3 -1
- package/esm/highlevel/types/media/story.js.map +1 -1
- package/esm/highlevel/types/media/thumbnail.js +35 -22
- package/esm/highlevel/types/media/thumbnail.js.map +1 -1
- package/esm/highlevel/types/media/venue.js +2 -1
- package/esm/highlevel/types/media/venue.js.map +1 -1
- package/esm/highlevel/types/media/video.js +3 -1
- package/esm/highlevel/types/media/video.js.map +1 -1
- package/esm/highlevel/types/media/voice.js +2 -1
- package/esm/highlevel/types/media/voice.js.map +1 -1
- package/esm/highlevel/types/media/web-page.js +2 -1
- package/esm/highlevel/types/media/web-page.js.map +1 -1
- package/esm/highlevel/types/messages/dialog.js +4 -12
- package/esm/highlevel/types/messages/dialog.js.map +1 -1
- package/esm/highlevel/types/messages/draft-message.js +1 -0
- package/esm/highlevel/types/messages/draft-message.js.map +1 -1
- package/esm/highlevel/types/messages/input-message-id.d.ts +5 -0
- package/esm/highlevel/types/messages/message-action.d.ts +19 -2
- package/esm/highlevel/types/messages/message-action.js +6 -0
- package/esm/highlevel/types/messages/message-action.js.map +1 -1
- package/esm/highlevel/types/messages/message-entity.js +2 -0
- package/esm/highlevel/types/messages/message-entity.js.map +1 -1
- package/esm/highlevel/types/messages/message-forward.js +2 -0
- package/esm/highlevel/types/messages/message-forward.js.map +1 -1
- package/esm/highlevel/types/messages/message-media.d.ts +4 -0
- package/esm/highlevel/types/messages/message-media.js.map +1 -1
- package/esm/highlevel/types/messages/message-reactions.js +4 -0
- package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
- package/esm/highlevel/types/messages/message-replies.js +2 -0
- package/esm/highlevel/types/messages/message-replies.js.map +1 -1
- package/esm/highlevel/types/messages/message.d.ts +59 -1
- package/esm/highlevel/types/messages/message.js +102 -1
- package/esm/highlevel/types/messages/message.js.map +1 -1
- package/esm/highlevel/types/messages/replied-message.js +2 -0
- package/esm/highlevel/types/messages/replied-message.js.map +1 -1
- package/esm/highlevel/types/misc/collectible-info.d.ts +27 -0
- package/esm/highlevel/types/misc/collectible-info.js +43 -0
- package/esm/highlevel/types/misc/collectible-info.js.map +1 -0
- package/esm/highlevel/types/misc/entities.d.ts +7 -0
- package/esm/highlevel/types/misc/entities.js +13 -1
- package/esm/highlevel/types/misc/entities.js.map +1 -1
- package/esm/highlevel/types/misc/index.d.ts +1 -0
- package/esm/highlevel/types/misc/index.js +1 -0
- package/esm/highlevel/types/misc/index.js.map +1 -1
- package/esm/highlevel/types/misc/sticker-set.d.ts +8 -1
- package/esm/highlevel/types/misc/sticker-set.js +45 -8
- package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
- package/esm/highlevel/types/misc/takeout-session.js +5 -0
- package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
- package/esm/highlevel/types/peers/chat-colors.js +2 -0
- package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
- package/esm/highlevel/types/peers/chat-event/actions.d.ts +3 -0
- package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
- package/esm/highlevel/types/peers/chat-event/filters.d.ts +2 -0
- package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
- package/esm/highlevel/types/peers/chat-event/index.js +2 -0
- package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
- package/esm/highlevel/types/peers/chat-invite-link-member.js +2 -0
- package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
- package/esm/highlevel/types/peers/chat-invite-link.js +2 -0
- package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
- package/esm/highlevel/types/peers/chat-location.js +1 -0
- package/esm/highlevel/types/peers/chat-location.js.map +1 -1
- package/esm/highlevel/types/peers/chat-member.js +2 -0
- package/esm/highlevel/types/peers/chat-member.js.map +1 -1
- package/esm/highlevel/types/peers/chat-permissions.js +1 -0
- package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
- package/esm/highlevel/types/peers/chat-photo.js +5 -0
- package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
- package/esm/highlevel/types/peers/chat-preview.js +2 -0
- package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
- package/esm/highlevel/types/peers/chat.d.ts +7 -93
- package/esm/highlevel/types/peers/chat.js +10 -192
- package/esm/highlevel/types/peers/chat.js.map +1 -1
- package/esm/highlevel/types/peers/forum-topic.js +9 -6
- package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
- package/esm/highlevel/types/peers/full-chat.d.ts +103 -0
- package/esm/highlevel/types/peers/full-chat.js +234 -0
- package/esm/highlevel/types/peers/full-chat.js.map +1 -0
- package/esm/highlevel/types/peers/index.d.ts +1 -0
- package/esm/highlevel/types/peers/index.js +1 -0
- package/esm/highlevel/types/peers/index.js.map +1 -1
- package/esm/highlevel/types/peers/peer.js.map +1 -1
- package/esm/highlevel/types/peers/peers-index.js +3 -1
- package/esm/highlevel/types/peers/peers-index.js.map +1 -1
- package/esm/highlevel/types/peers/user.d.ts +5 -0
- package/esm/highlevel/types/peers/user.js +12 -1
- package/esm/highlevel/types/peers/user.js.map +1 -1
- package/esm/highlevel/types/premium/boost-slot.js +2 -0
- package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
- package/esm/highlevel/types/premium/boost-stats.js +1 -0
- package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
- package/esm/highlevel/types/premium/boost.js +2 -0
- package/esm/highlevel/types/premium/boost.js.map +1 -1
- package/esm/highlevel/types/premium/business-account.d.ts +19 -0
- package/esm/highlevel/types/premium/business-account.js +42 -0
- package/esm/highlevel/types/premium/business-account.js.map +1 -0
- package/esm/highlevel/types/premium/business-chat-link.d.ts +19 -0
- package/esm/highlevel/types/premium/business-chat-link.js +36 -0
- package/esm/highlevel/types/premium/business-chat-link.js.map +1 -0
- package/esm/highlevel/types/premium/business-connection.d.ts +23 -0
- package/esm/highlevel/types/premium/business-connection.js +42 -0
- package/esm/highlevel/types/premium/business-connection.js.map +1 -0
- package/esm/highlevel/types/premium/business-intro.d.ts +22 -0
- package/esm/highlevel/types/premium/business-intro.js +40 -0
- package/esm/highlevel/types/premium/business-intro.js.map +1 -0
- package/esm/highlevel/types/premium/business-location.d.ts +10 -0
- package/esm/highlevel/types/premium/business-location.js +23 -0
- package/esm/highlevel/types/premium/business-location.js.map +1 -0
- package/esm/highlevel/types/premium/business-work-hours.d.ts +42 -0
- package/esm/highlevel/types/premium/business-work-hours.js +137 -0
- package/esm/highlevel/types/premium/business-work-hours.js.map +1 -0
- package/esm/highlevel/types/premium/index.d.ts +5 -0
- package/esm/highlevel/types/premium/index.js +5 -0
- package/esm/highlevel/types/premium/index.js.map +1 -1
- package/esm/highlevel/types/reactions/emoji-status.js +1 -0
- package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
- package/esm/highlevel/types/reactions/peer-reaction.js +2 -0
- package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
- package/esm/highlevel/types/reactions/reaction-count.js +1 -0
- package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
- package/esm/highlevel/types/reactions/types.js.map +1 -1
- package/esm/highlevel/types/stories/all-stories.d.ts +2 -2
- package/esm/highlevel/types/stories/all-stories.js +3 -1
- package/esm/highlevel/types/stories/all-stories.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/base.js +1 -0
- package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/channel-post.js +3 -1
- package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/input.js +1 -0
- package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/location.js +2 -1
- package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/reaction.js +2 -1
- package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/venue.js +2 -1
- package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
- package/esm/highlevel/types/stories/peer-stories.js +2 -0
- package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
- package/esm/highlevel/types/stories/stealth-mode.js +1 -0
- package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
- package/esm/highlevel/types/stories/story-interactions.js +2 -0
- package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
- package/esm/highlevel/types/stories/story-viewer.d.ts +1 -1
- package/esm/highlevel/types/stories/story-viewer.js +6 -0
- package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
- package/esm/highlevel/types/stories/story.js +2 -0
- package/esm/highlevel/types/stories/story.js.map +1 -1
- package/esm/highlevel/types/updates/bot-chat-join-request.js +2 -0
- package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
- package/esm/highlevel/types/updates/bot-reaction.js +4 -0
- package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
- package/esm/highlevel/types/updates/bot-stopped.js +2 -0
- package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
- package/esm/highlevel/types/updates/business-message.d.ts +18 -0
- package/esm/highlevel/types/updates/business-message.js +31 -0
- package/esm/highlevel/types/updates/business-message.js.map +1 -0
- package/esm/highlevel/types/updates/callback-query.js +4 -0
- package/esm/highlevel/types/updates/callback-query.js.map +1 -1
- package/esm/highlevel/types/updates/chat-join-request.js +2 -0
- package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
- package/esm/highlevel/types/updates/chat-member-update.js +2 -0
- package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
- package/esm/highlevel/types/updates/chosen-inline-result.js +2 -0
- package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
- package/esm/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
- package/esm/highlevel/types/updates/delete-business-message-update.js +34 -0
- package/esm/highlevel/types/updates/delete-business-message-update.js.map +1 -0
- package/esm/highlevel/types/updates/delete-message-update.js +1 -0
- package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
- package/esm/highlevel/types/updates/delete-story-update.js +2 -0
- package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
- package/esm/highlevel/types/updates/history-read-update.js +1 -0
- package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
- package/esm/highlevel/types/updates/index.d.ts +19 -2
- package/esm/highlevel/types/updates/index.js +3 -1
- package/esm/highlevel/types/updates/index.js.map +1 -1
- package/esm/highlevel/types/updates/inline-query.js +2 -0
- package/esm/highlevel/types/updates/inline-query.js.map +1 -1
- package/esm/highlevel/types/updates/parse-update.d.ts +4 -1
- package/esm/highlevel/types/updates/parse-update.js +9 -1
- package/esm/highlevel/types/updates/parse-update.js.map +1 -1
- package/esm/highlevel/types/updates/poll-update.js +4 -2
- package/esm/highlevel/types/updates/poll-update.js.map +1 -1
- package/esm/highlevel/types/updates/poll-vote.js +2 -0
- package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
- package/esm/highlevel/types/updates/pre-checkout-query.js +2 -0
- package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
- package/esm/highlevel/types/updates/story-update.js +2 -0
- package/esm/highlevel/types/updates/story-update.js.map +1 -1
- package/esm/highlevel/types/updates/user-status-update.js +1 -0
- package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
- package/esm/highlevel/types/updates/user-typing-update.js +1 -0
- package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
- package/esm/highlevel/updates/manager.d.ts +0 -1
- package/esm/highlevel/updates/manager.js +57 -30
- package/esm/highlevel/updates/manager.js.map +1 -1
- package/esm/highlevel/updates/parsed.js +8 -2
- package/esm/highlevel/updates/parsed.js.map +1 -1
- package/esm/highlevel/updates/types.d.ts +57 -0
- package/esm/highlevel/updates/utils.d.ts +2 -0
- package/esm/highlevel/updates/utils.js.map +1 -1
- package/esm/highlevel/utils/convert-file-id.js.map +1 -1
- package/esm/highlevel/utils/entities.js.map +1 -1
- package/esm/highlevel/utils/file-type.d.ts +1 -0
- package/esm/highlevel/utils/file-type.js +34 -0
- package/esm/highlevel/utils/file-type.js.map +1 -1
- package/esm/highlevel/utils/file-utils.js +1 -1
- package/esm/highlevel/utils/file-utils.js.map +1 -1
- package/esm/highlevel/utils/inline-utils.js.map +1 -1
- package/esm/highlevel/utils/inspectable.js +4 -0
- package/esm/highlevel/utils/inspectable.js.map +1 -1
- package/esm/highlevel/utils/memoize.js.map +1 -1
- package/esm/highlevel/utils/peer-utils.js.map +1 -1
- package/esm/highlevel/utils/query-batcher.js.map +1 -1
- package/esm/highlevel/utils/rps-meter.js +3 -0
- package/esm/highlevel/utils/rps-meter.js.map +1 -1
- package/esm/highlevel/utils/stream-utils.js.map +1 -1
- package/esm/highlevel/utils/string-session.d.ts +1 -2
- package/esm/highlevel/utils/string-session.js +27 -7
- package/esm/highlevel/utils/string-session.js.map +1 -1
- package/esm/highlevel/utils/voice-utils.js.map +1 -1
- package/esm/highlevel/worker/app-config.d.ts +2 -3
- package/esm/highlevel/worker/app-config.js +6 -3
- package/esm/highlevel/worker/app-config.js.map +1 -1
- package/esm/highlevel/worker/errors.js.map +1 -1
- package/esm/highlevel/worker/invoker.js +3 -2
- package/esm/highlevel/worker/invoker.js.map +1 -1
- package/esm/highlevel/worker/port.d.ts +16 -17
- package/esm/highlevel/worker/port.js +74 -49
- package/esm/highlevel/worker/port.js.map +1 -1
- package/esm/highlevel/worker/protocol.d.ts +1 -2
- package/esm/highlevel/worker/protocol.js.map +1 -1
- package/esm/highlevel/worker/storage.d.ts +9 -13
- package/esm/highlevel/worker/storage.js +34 -19
- package/esm/highlevel/worker/storage.js.map +1 -1
- package/esm/highlevel/worker/worker.js +3 -0
- package/esm/highlevel/worker/worker.js.map +1 -1
- package/esm/network/auth-key.js +8 -1
- package/esm/network/auth-key.js.map +1 -1
- package/esm/network/authorization.js.map +1 -1
- package/esm/network/client.d.ts +0 -1
- package/esm/network/client.js +39 -14
- package/esm/network/client.js.map +1 -1
- package/esm/network/config-manager.js.map +1 -1
- package/esm/network/mtproto-session.d.ts +0 -1
- package/esm/network/mtproto-session.js +40 -30
- package/esm/network/mtproto-session.js.map +1 -1
- package/esm/network/multi-session-connection.d.ts +1 -2
- package/esm/network/multi-session-connection.js +13 -7
- package/esm/network/multi-session-connection.js.map +1 -1
- package/esm/network/network-manager.d.ts +10 -3
- package/esm/network/network-manager.js +57 -31
- package/esm/network/network-manager.js.map +1 -1
- package/esm/network/persistent-connection.d.ts +2 -3
- package/esm/network/persistent-connection.js +33 -22
- package/esm/network/persistent-connection.js.map +1 -1
- package/esm/network/server-salt.js +4 -5
- package/esm/network/server-salt.js.map +1 -1
- package/esm/network/session-connection.d.ts +1 -1
- package/esm/network/session-connection.js +32 -12
- package/esm/network/session-connection.js.map +1 -1
- package/esm/network/transports/abstract.d.ts +1 -2
- package/esm/network/transports/abstract.js +1 -0
- package/esm/network/transports/abstract.js.map +1 -1
- package/esm/network/transports/intermediate.js +1 -0
- package/esm/network/transports/intermediate.js.map +1 -1
- package/esm/network/transports/obfuscated.js +3 -0
- package/esm/network/transports/obfuscated.js.map +1 -1
- package/esm/network/transports/streamed.d.ts +0 -1
- package/esm/network/transports/streamed.js +1 -4
- package/esm/network/transports/streamed.js.map +1 -1
- package/esm/network/transports/wrapped.d.ts +0 -1
- package/esm/network/transports/wrapped.js +2 -0
- package/esm/network/transports/wrapped.js.map +1 -1
- package/esm/platform.js.map +1 -1
- package/esm/storage/driver.js +3 -4
- package/esm/storage/driver.js.map +1 -1
- package/esm/storage/memory/driver.js +1 -3
- package/esm/storage/memory/driver.js.map +1 -1
- package/esm/storage/memory/index.js +5 -7
- package/esm/storage/memory/index.js.map +1 -1
- package/esm/storage/memory/repository/auth-keys.d.ts +1 -1
- package/esm/storage/memory/repository/auth-keys.js +2 -0
- package/esm/storage/memory/repository/auth-keys.js.map +1 -1
- package/esm/storage/memory/repository/kv.d.ts +1 -1
- package/esm/storage/memory/repository/kv.js +2 -0
- package/esm/storage/memory/repository/kv.js.map +1 -1
- package/esm/storage/memory/repository/peers.d.ts +1 -1
- package/esm/storage/memory/repository/peers.js +2 -0
- package/esm/storage/memory/repository/peers.js.map +1 -1
- package/esm/storage/memory/repository/ref-messages.d.ts +1 -1
- package/esm/storage/memory/repository/ref-messages.js +2 -0
- package/esm/storage/memory/repository/ref-messages.js.map +1 -1
- package/esm/storage/service/auth-keys.js +2 -0
- package/esm/storage/service/auth-keys.js.map +1 -1
- package/esm/storage/service/base.js +4 -0
- package/esm/storage/service/base.js.map +1 -1
- package/esm/storage/service/default-dcs.js +2 -0
- package/esm/storage/service/default-dcs.js.map +1 -1
- package/esm/storage/service/future-salts.js +2 -1
- package/esm/storage/service/future-salts.js.map +1 -1
- package/esm/storage/sqlite/driver.js +10 -10
- package/esm/storage/sqlite/driver.js.map +1 -1
- package/esm/storage/sqlite/index.d.ts +1 -1
- package/esm/storage/sqlite/index.js +5 -0
- package/esm/storage/sqlite/index.js.map +1 -1
- package/esm/storage/sqlite/repository/auth-keys.js +9 -0
- package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
- package/esm/storage/sqlite/repository/kv.js +5 -0
- package/esm/storage/sqlite/repository/kv.js.map +1 -1
- package/esm/storage/sqlite/repository/peers.js +7 -2
- package/esm/storage/sqlite/repository/peers.js.map +1 -1
- package/esm/storage/sqlite/repository/ref-messages.d.ts +1 -1
- package/esm/storage/sqlite/repository/ref-messages.js +6 -0
- package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
- package/esm/storage/storage.d.ts +22 -3
- package/esm/storage/storage.js +21 -13
- package/esm/storage/storage.js.map +1 -1
- package/esm/types/errors.js +13 -0
- package/esm/types/errors.js.map +1 -1
- package/esm/types/utils.d.ts +1 -0
- package/esm/types/utils.js.map +1 -1
- package/esm/utils/async-lock.js +1 -3
- package/esm/utils/async-lock.js.map +1 -1
- package/esm/utils/bigint-utils.js.map +1 -1
- package/esm/utils/binary/asn1-parser.js.map +1 -1
- package/esm/utils/buffer-utils.js.map +1 -1
- package/esm/utils/condition-variable.js +2 -0
- package/esm/utils/condition-variable.js.map +1 -1
- package/esm/utils/crypto/factorization.js.map +1 -1
- package/esm/utils/crypto/keys.js.map +1 -1
- package/esm/utils/crypto/miller-rabin.js.map +1 -1
- package/esm/utils/crypto/password.js.map +1 -1
- package/esm/utils/crypto/utils.js.map +1 -1
- package/esm/utils/dcs.js +1 -1
- package/esm/utils/dcs.js.map +1 -1
- package/esm/utils/deque.js +8 -2
- package/esm/utils/deque.js.map +1 -1
- package/esm/utils/early-timer.js +4 -1
- package/esm/utils/early-timer.js.map +1 -1
- package/esm/utils/error-reporting.js.map +1 -1
- package/esm/utils/function-utils.js.map +1 -1
- package/esm/utils/linked-list.js +4 -1
- package/esm/utils/linked-list.js.map +1 -1
- package/esm/utils/links/bots.js.map +1 -1
- package/esm/utils/links/chat.js.map +1 -1
- package/esm/utils/links/common.js.map +1 -1
- package/esm/utils/links/misc.js.map +1 -1
- package/esm/utils/logger.d.ts +2 -2
- package/esm/utils/logger.js +21 -14
- package/esm/utils/logger.js.map +1 -1
- package/esm/utils/long-utils.js +2 -6
- package/esm/utils/long-utils.js.map +1 -1
- package/esm/utils/lru-map.js +5 -1
- package/esm/utils/lru-map.js.map +1 -1
- package/esm/utils/lru-set.js +4 -0
- package/esm/utils/lru-set.js.map +1 -1
- package/esm/utils/peer-utils.js.map +1 -1
- package/esm/utils/reloadable.d.ts +0 -1
- package/esm/utils/reloadable.js +10 -7
- package/esm/utils/reloadable.js.map +1 -1
- package/esm/utils/sorted-array.js +2 -0
- package/esm/utils/sorted-array.js.map +1 -1
- package/esm/utils/tl-json.js.map +1 -1
- package/esm/utils/type-assertions.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/methods.d.ts +1 -0
- package/methods.js +1 -0
- package/package.json +13 -13
- package/platform.d.ts +1 -0
- package/platform.js +1 -0
- package/utils.d.ts +1 -0
- package/utils.js +1 -0
- package/worker.d.ts +1 -0
- package/worker.js +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-batcher.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/query-batcher.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAc5C,+BAA+B;AAE/B;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAkC,MAyC7D;IACG,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,GAAG,QAAQ,EAAE,aAAa,GAAG,CAAC,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAA;IAE7G,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE1C,SAAS,QAAQ,CAAC,OAAwB;QACtC,MAAM,MAAM,GAAG,OAAgD,CAAA;QAE/D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,GAAG;gBACb,OAAO,EAAE,IAAI,GAAG,EAAE;gBAClB,YAAY,EAAE,IAAI,GAAG,EAAE;gBACvB,UAAU,EAAE,IAAI,gBAAK,EAAE;gBACvB,UAAU,EAAE,CAAC;aAChB,CAAA;SACJ;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,SAAS,SAAS,CAAC,MAAuB,EAAE,OAA4B,EAAE,IAAO;QAC7E,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAElC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE1B,IAAI,CAAC,GAAG,EAAE;YACN,GAAG,GAAG,EAAE,CAAA;YACR,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;SACxB;QAED,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,GAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,SAAS,UAAU,CAAC,OAA4B,EAAE,GAAM;QACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAA;QAEnB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEnB,OAAO,GAAG,CAAA;IACd,CAAC;IAED,SAAS,UAAU,CAAC,MAAuB,EAAE,KAA6B;QACtE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,EAAE;YACpD,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;SAChC;IACL,CAAC;IAED,SAAS,cAAc,CAAC,MAAuB,EAAE,KAA6B;QAC1E,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;QAEnD,IAAI,KAAK,CAAC,UAAU,IAAI,aAAa;YAAE,OAAM;QAE7C,MAAM,OAAO,GAAQ,EAAE,CAAA;QACvB,MAAM,WAAW,GAAQ,EAAE,CAAA;QAC3B,IAAI,cAAc,GAAG,KAAK,CAAA;QAE1B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,iFAAiF;YACjF,cAAc,GAAG,IAAI,CAAA;YAErB,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAG,CAAA;YACjC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAChC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACrB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SACxB;aAAM;YACH,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAQ;gBAElC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAEpB,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY;oBAAE,MAAK;aAC7C;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;SACnC;QAED,KAAK,CAAC,UAAU,IAAI,CAAC,CAAA;QAErB,mEAAmE;QACnE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;aACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,MAAM,YAAY,GAAG,IAAI,GAAG,EAAK,CAAA;YAEjC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;gBAClB,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;gBACjC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAErB,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;oBAC3C,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;iBAChB;gBAED,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aAC3B;YAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;gBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACxB,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;wBAC3C,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;qBAClB;oBAED,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;iBAC3B;aACJ;QACL,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACpB,IAAI,kBAAkB,IAAI,CAAC,cAAc,EAAE;gBACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAE9C,IAAI,KAAK,KAAK,IAAI,EAAE;oBAChB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE;wBACtB,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;qBAC1B;oBAED,OAAM;iBACT;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;wBACrB,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;wBAC3C,IAAI,cAAc,GAAG,CAAC;4BAAE,SAAQ;wBAEhC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;wBACxB,8BAA8B;wBAC9B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;wBACjC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;qBACxC;iBACJ;aACJ;YAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;gBAC3B,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;oBAC3C,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;iBACjB;gBAED,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aAC3B;QACL,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,EAAE;YACP,KAAK,CAAC,UAAU,IAAI,CAAC,CAAA;YAErB,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACV,CAAC;IAED,OAAO,UAAU,MAAM,EAAE,IAAI;QACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAEtD,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAEzB,OAAO,OAAO,CAAA;IAClB,CAAC,CAAA;AACL,CAAC;AAtMD,oCAsMC","sourcesContent":["import { Deque } from '../../utils/deque.js'\nimport { ITelegramClient } from '../client.types.js'\n\ntype Resolve<T> = (value: T | PromiseLike<T>) => void\ntype Reject = (err?: unknown) => void\n\ntype WaitersMap<K, U, T> = Map<K, [T, Resolve<U | null>, Reject][]>\ninterface InternalState<K, U, T> {\n waiters: WaitersMap<K, U, T>\n fetchingKeys: Set<K>\n retryQueue: Deque<T>\n numRunning: number\n}\n\n// todo: should it be MtClient?\n\n/**\n * Helper function for building batched queries.\n *\n * Concepts:\n * - \"input\" - items being passed to the query function\n * - \"output\" - items returned by the query function\n * - \"key\" - unique identifier of the item, which should be deriveable from both input and output.\n * used for matching input and output items and deduplicating them.\n */\nexport function batchedQuery<T, U, K extends string | number>(params: {\n /**\n * Fetcher function, taking an array of input items and returning an array of output items.\n *\n * If some item is not found, it should be omitted from the result array,\n * this way the corresponding request will be resolved with `null`.\n */\n fetch: (client: ITelegramClient, items: T[]) => Promise<U[]>\n\n /** Key derivation function for input items */\n inputKey: (item: T, client: ITelegramClient) => K\n /** Key derivation function for output items */\n outputKey: (item: U, client: ITelegramClient) => K\n\n /**\n * Maximum number of items to be passed to the `fetcher` function at once.\n *\n * It is recommended to pass ~half of the maximum allowed by the server,\n * since in some cases failing on a single item will cause the whole batch to fail.\n *\n * @default Infinity\n */\n maxBatchSize?: number\n\n /**\n * Maximum number of concurrently running queries.\n *\n * @default 1\n */\n maxConcurrent?: number\n\n /**\n * In case of an error, we can try retrying the query for some items one-by-one,\n * to avoid failing the whole batch.\n *\n * @param items Items contained in the batch that failed\n * @param err Error that was thrown by the fetcher\n * @returns `true` if the query should be retried for all items, `false` if it should be retried for none,\n * or an array of items for which the query should be retried (waiters for other items will throw `err`).\n */\n retrySingleOnError?: (items: T[], err: unknown) => boolean | T[]\n}): (client: ITelegramClient, item: T) => Promise<U | null> {\n const { inputKey, outputKey, fetch, maxBatchSize = Infinity, maxConcurrent = 1, retrySingleOnError } = params\n\n const symbol = Symbol('batchedQueryState')\n\n function getState(client_: ITelegramClient) {\n const client = client_ as { [symbol]?: InternalState<K, U, T> }\n\n if (!client[symbol]) {\n client[symbol] = {\n waiters: new Map(),\n fetchingKeys: new Set(),\n retryQueue: new Deque(),\n numRunning: 0,\n }\n }\n\n return client[symbol]\n }\n\n function addWaiter(client: ITelegramClient, waiters: WaitersMap<K, U, T>, item: T) {\n const key = inputKey(item, client)\n\n let arr = waiters.get(key)\n\n if (!arr) {\n arr = []\n waiters.set(key, arr)\n }\n\n return new Promise<U | null>((resolve, reject) => {\n arr!.push([item, resolve, reject])\n })\n }\n\n function popWaiters(waiters: WaitersMap<K, U, T>, key: K) {\n const arr = waiters.get(key)\n if (!arr) return []\n\n waiters.delete(key)\n\n return arr\n }\n\n function startLoops(client: ITelegramClient, state: InternalState<K, U, T>) {\n for (let i = state.numRunning; i <= maxConcurrent; i++) {\n processPending(client, state)\n }\n }\n\n function processPending(client: ITelegramClient, state: InternalState<K, U, T>) {\n const { waiters, fetchingKeys, retryQueue } = state\n\n if (state.numRunning >= maxConcurrent) return\n\n const request: T[] = []\n const requestKeys: K[] = []\n let isRetryRequest = false\n\n if (retryQueue.length > 0) {\n // handle retries in the same loop so we can easily use the same concurrency pool\n isRetryRequest = true\n\n const it = retryQueue.popFront()!\n request.push(it)\n\n const key = inputKey(it, client)\n requestKeys.push(key)\n fetchingKeys.add(key)\n } else {\n for (const it of waiters.keys()) {\n if (fetchingKeys.has(it)) continue\n\n request.push(waiters.get(it)![0][0])\n requestKeys.push(it)\n fetchingKeys.add(it)\n\n if (request.length === maxBatchSize) break\n }\n\n if (request.length === 0) return\n }\n\n state.numRunning += 1\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n fetch(client, request)\n .then((res) => {\n const receivedKeys = new Set<K>()\n\n for (const it of res) {\n const key = outputKey(it, client)\n receivedKeys.add(key)\n\n for (const waiter of popWaiters(waiters, key)) {\n waiter[1](it)\n }\n\n fetchingKeys.delete(key)\n }\n\n for (const key of requestKeys) {\n if (!receivedKeys.has(key)) {\n for (const waiter of popWaiters(waiters, key)) {\n waiter[1](null)\n }\n\n fetchingKeys.delete(key)\n }\n }\n })\n .catch((err: unknown) => {\n if (retrySingleOnError && !isRetryRequest) {\n const retry = retrySingleOnError(request, err)\n\n if (retry === true) {\n for (const it of request) {\n retryQueue.pushBack(it)\n }\n\n return\n } else if (Array.isArray(retry)) {\n for (const req of retry) {\n const requestKeysIdx = request.indexOf(req)\n if (requestKeysIdx < 0) continue\n\n retryQueue.pushBack(req)\n // to avoid rejecting it below\n request.splice(requestKeysIdx, 1)\n requestKeys.splice(requestKeysIdx, 1)\n }\n }\n }\n\n for (const key of requestKeys) {\n for (const waiter of popWaiters(waiters, key)) {\n waiter[2](err)\n }\n\n fetchingKeys.delete(key)\n }\n })\n .then(() => {\n state.numRunning -= 1\n\n if (waiters.size > 0) processPending(client, state)\n })\n }\n\n return function (client, item) {\n const state = getState(client)\n const promise = addWaiter(client, state.waiters, item)\n\n startLoops(client, state)\n\n return promise\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"query-batcher.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/query-batcher.ts"],"names":[],"mappings":"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","sourcesContent":["import { Deque } from '../../utils/deque.js'\nimport { ITelegramClient } from '../client.types.js'\n\ntype Resolve<T> = (value: T | PromiseLike<T>) => void\ntype Reject = (err?: unknown) => void\n\ntype WaitersMap<K, U, T> = Map<K, [T, Resolve<U | null>, Reject][]>\ninterface InternalState<K, U, T> {\n waiters: WaitersMap<K, U, T>\n fetchingKeys: Set<K>\n retryQueue: Deque<T>\n numRunning: number\n}\n\n// todo: should it be MtClient?\n\n/**\n * Helper function for building batched queries.\n *\n * Concepts:\n * - \"input\" - items being passed to the query function\n * - \"output\" - items returned by the query function\n * - \"key\" - unique identifier of the item, which should be deriveable from both input and output.\n * used for matching input and output items and deduplicating them.\n */\nexport function batchedQuery<T, U, K extends string | number>(params: {\n /**\n * Fetcher function, taking an array of input items and returning an array of output items.\n *\n * If some item is not found, it should be omitted from the result array,\n * this way the corresponding request will be resolved with `null`.\n */\n fetch: (client: ITelegramClient, items: T[]) => Promise<U[]>\n\n /** Key derivation function for input items */\n inputKey: (item: T, client: ITelegramClient) => K\n /** Key derivation function for output items */\n outputKey: (item: U, client: ITelegramClient) => K\n\n /**\n * Maximum number of items to be passed to the `fetcher` function at once.\n *\n * It is recommended to pass ~half of the maximum allowed by the server,\n * since in some cases failing on a single item will cause the whole batch to fail.\n *\n * @default Infinity\n */\n maxBatchSize?: number\n\n /**\n * Maximum number of concurrently running queries.\n *\n * @default 1\n */\n maxConcurrent?: number\n\n /**\n * In case of an error, we can try retrying the query for some items one-by-one,\n * to avoid failing the whole batch.\n *\n * @param items Items contained in the batch that failed\n * @param err Error that was thrown by the fetcher\n * @returns `true` if the query should be retried for all items, `false` if it should be retried for none,\n * or an array of items for which the query should be retried (waiters for other items will throw `err`).\n */\n retrySingleOnError?: (items: T[], err: unknown) => boolean | T[]\n}): (client: ITelegramClient, item: T) => Promise<U | null> {\n const { inputKey, outputKey, fetch, maxBatchSize = Infinity, maxConcurrent = 1, retrySingleOnError } = params\n\n const symbol = Symbol('batchedQueryState')\n\n function getState(client_: ITelegramClient) {\n const client = client_ as { [symbol]?: InternalState<K, U, T> }\n\n if (!client[symbol]) {\n client[symbol] = {\n waiters: new Map(),\n fetchingKeys: new Set(),\n retryQueue: new Deque(),\n numRunning: 0,\n }\n }\n\n return client[symbol]\n }\n\n function addWaiter(client: ITelegramClient, waiters: WaitersMap<K, U, T>, item: T) {\n const key = inputKey(item, client)\n\n let arr = waiters.get(key)\n\n if (!arr) {\n arr = []\n waiters.set(key, arr)\n }\n\n return new Promise<U | null>((resolve, reject) => {\n arr.push([item, resolve, reject])\n })\n }\n\n function popWaiters(waiters: WaitersMap<K, U, T>, key: K) {\n const arr = waiters.get(key)\n if (!arr) return []\n\n waiters.delete(key)\n\n return arr\n }\n\n function startLoops(client: ITelegramClient, state: InternalState<K, U, T>) {\n for (let i = state.numRunning; i <= maxConcurrent; i++) {\n processPending(client, state)\n }\n }\n\n function processPending(client: ITelegramClient, state: InternalState<K, U, T>) {\n const { waiters, fetchingKeys, retryQueue } = state\n\n if (state.numRunning >= maxConcurrent) return\n\n const request: T[] = []\n const requestKeys: K[] = []\n let isRetryRequest = false\n\n if (retryQueue.length > 0) {\n // handle retries in the same loop so we can easily use the same concurrency pool\n isRetryRequest = true\n\n const it = retryQueue.popFront()!\n request.push(it)\n\n const key = inputKey(it, client)\n requestKeys.push(key)\n fetchingKeys.add(key)\n } else {\n for (const it of waiters.keys()) {\n if (fetchingKeys.has(it)) continue\n\n request.push(waiters.get(it)![0][0])\n requestKeys.push(it)\n fetchingKeys.add(it)\n\n if (request.length === maxBatchSize) break\n }\n\n if (request.length === 0) return\n }\n\n state.numRunning += 1\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n fetch(client, request)\n .then((res) => {\n const receivedKeys = new Set<K>()\n\n for (const it of res) {\n const key = outputKey(it, client)\n receivedKeys.add(key)\n\n for (const waiter of popWaiters(waiters, key)) {\n waiter[1](it)\n }\n\n fetchingKeys.delete(key)\n }\n\n for (const key of requestKeys) {\n if (!receivedKeys.has(key)) {\n for (const waiter of popWaiters(waiters, key)) {\n waiter[1](null)\n }\n\n fetchingKeys.delete(key)\n }\n }\n })\n .catch((err: unknown) => {\n if (retrySingleOnError && !isRetryRequest) {\n const retry = retrySingleOnError(request, err)\n\n if (retry === true) {\n for (const it of request) {\n retryQueue.pushBack(it)\n }\n\n return\n } else if (Array.isArray(retry)) {\n for (const req of retry) {\n const requestKeysIdx = request.indexOf(req)\n if (requestKeysIdx < 0) continue\n\n retryQueue.pushBack(req)\n // to avoid rejecting it below\n request.splice(requestKeysIdx, 1)\n requestKeys.splice(requestKeysIdx, 1)\n }\n }\n }\n\n for (const key of requestKeys) {\n for (const waiter of popWaiters(waiters, key)) {\n waiter[2](err)\n }\n\n fetchingKeys.delete(key)\n }\n })\n .then(() => {\n state.numRunning -= 1\n\n if (waiters.size > 0) processPending(client, state)\n })\n }\n\n return function (client, item) {\n const state = getState(client)\n const promise = addWaiter(client, state.waiters, item)\n\n startLoops(client, state)\n\n return promise\n }\n}\n"]}
|
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RpsMeter = void 0;
|
|
4
4
|
const deque_js_1 = require("../../utils/deque.js");
|
|
5
5
|
class RpsMeter {
|
|
6
|
+
size;
|
|
7
|
+
_hits;
|
|
8
|
+
time;
|
|
6
9
|
constructor(size = 500, time = 5000) {
|
|
7
10
|
this.size = size;
|
|
8
11
|
if (typeof process === 'undefined' || !process.hrtime.bigint) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rps-meter.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/rps-meter.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAE5C,MAAa,QAAQ;
|
|
1
|
+
{"version":3,"file":"rps-meter.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/rps-meter.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAE5C,MAAa,QAAQ;IAKJ;IAJb,KAAK,CAAe;IACpB,IAAI,CAAQ;IAEZ,YACa,OAAO,GAAG,EACnB,IAAI,GAAG,IAAI;QADF,SAAI,GAAJ,IAAI,CAAM;QAGnB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAK,CAAS,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1C,CAAC;IAED,GAAG;QACC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,MAAM;QACF,yEAAyE;QACzE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,CAAC,CAAA,CAAC,iBAAiB;QAElD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QACnC,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;QAC9B,+CAA+C;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACvB,IAAI,GAAG,GAAG,CAAC,CAAA;QAEX,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;YACzC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YACnB,GAAG,IAAI,CAAC,CAAA;QACZ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,CAAC,CAAA,CAAC,iBAAiB;QAE5C,mCAAmC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAA;QAEpC,0BAA0B;QAC1B,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;CACJ;AA3CD,4BA2CC","sourcesContent":["import { Deque } from '../../utils/deque.js'\n\nexport class RpsMeter {\n _hits: Deque<bigint>\n time: bigint\n\n constructor(\n readonly size = 500,\n time = 5000,\n ) {\n if (typeof process === 'undefined' || !process.hrtime.bigint) {\n throw new Error('RPS meter is not supported on this platform')\n }\n\n this._hits = new Deque<bigint>(size)\n this.time = BigInt(time) * BigInt(1e6)\n }\n\n hit(): void {\n this._hits.pushBack(process.hrtime.bigint())\n }\n\n getRps(): number {\n // calculate average load based on last `size` hits in the last `time` ms\n if (!this._hits.length) return 0 // no hits at all\n\n const now = process.hrtime.bigint()\n const window = now - this.time\n // find the first hit within the last `time` ms\n const iter = this._hits.iter()\n let first = iter.next()\n let idx = 0\n\n while (!first.done && first.value < window) {\n first = iter.next()\n idx += 1\n }\n if (!first.value) return 0 // no recent hits\n\n // number of hits within the window\n const hits = this._hits.length - idx\n\n // average load per second\n return (hits * 1e9) / Number(now - first.value)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/stream-utils.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AACrD,iEAA2D;AAE3D,SAAgB,cAAc,CAAC,GAAe;IAC1C,OAAO,IAAI,cAAc,CAAC;QACtB,KAAK,CAAC,UAAU;YACZ,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACvB,UAAU,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;KACJ,CAAC,CAAA;AACN,CAAC;AAPD,wCAOC;AAEM,KAAK,UAAU,cAAc,CAAC,MAAkC;IACnE,MAAM,MAAM,GAAiB,EAAE,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IAEjC,OAAO,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/stream-utils.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AACrD,iEAA2D;AAE3D,SAAgB,cAAc,CAAC,GAAe;IAC1C,OAAO,IAAI,cAAc,CAAC;QACtB,KAAK,CAAC,UAAU;YACZ,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACvB,UAAU,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;KACJ,CAAC,CAAA;AACN,CAAC;AAPD,wCAOC;AAEM,KAAK,UAAU,cAAc,CAAC,MAAkC;IACnE,MAAM,MAAM,GAAiB,EAAE,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IAEjC,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAC3C,IAAI,IAAI;YAAE,MAAK;QACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,OAAO,IAAA,+BAAa,EAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAZD,wCAYC;AAED,SAAgB,mBAAmB,CAAC,MAAkC,EAAE,SAAiB;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,IAAI,yBAAS,EAAE,CAAA;IAE5B,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,IAAI,IAAI,GAA2B,SAAS,CAAA;IAC5C,IAAI,KAAK,GAAG,IAAI,CAAA;IAEhB,KAAK,UAAU,SAAS;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAErC,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,GAAG,KAAK,CAAA;YACb,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAEhD,IAAI,GAAG,SAAS,CAAA;YAEhB,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAA;QAChB,IAAI,GAAG,KAAK,CAAA;QAEZ,OAAO,GAAG,CAAA;IACd,CAAC;IAED,KAAK,UAAU,IAAI;QACf,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,EAAE,CAAA;YACjB,IAAI,MAAM,GAAG,CAAC,CAAA;YAEd,OAAO,MAAM,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAG,CAAA;gBAC7B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;gBACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;YAED,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAG,CAAA;gBAC/B,MAAM,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;gBAC/B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;gBAC3D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;gBAC3D,MAAM,GAAG,SAAS,CAAA;YACtB,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,YAAY,IAAI,SAAS,CAAA;gBAEzB,OAAO,IAAA,+BAAa,EAAC,MAAM,CAAC,CAAA;YAChC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YAChD,YAAY,GAAG,CAAC,CAAA;YAEhB,OAAO,IAAA,+BAAa,EAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAA;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QAEvB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,YAAY,IAAI,KAAK,CAAC,MAAM,CAAA;YAE5B,4BAA4B;YAC5B,OAAO,IAAI,EAAE,CAAA;QACjB,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjB,YAAY,IAAI,IAAI,CAAC,MAAM,CAAA;YAE3B,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,YAAY,IAAI,KAAK,CAAC,MAAM,CAAA;QAE5B,OAAO,IAAI,EAAE,CAAA;IACjB,CAAC;IAED,KAAK,UAAU,UAAU;QACrB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,IAAI,GAAG,GAAsB,IAAI,CAAA;QACjC,IAAI,GAAG,GAAiB,IAAI,CAAA;QAE5B,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,IAAI,EAAE,CAAA;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,GAAG,CAAU,CAAA;QACpB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAA;QAEd,IAAI,GAAG;YAAE,MAAM,GAAG,CAAA;QAElB,OAAO,GAAG,CAAA;IACd,CAAC;IAED,OAAO;QACH,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS;QACrD,IAAI,EAAE,UAAU;KACnB,CAAA;AACL,CAAC;AA9GD,kDA8GC","sourcesContent":["import { AsyncLock } from '../../utils/async-lock.js'\nimport { concatBuffers } from '../../utils/buffer-utils.js'\n\nexport function bufferToStream(buf: Uint8Array): ReadableStream<Uint8Array> {\n return new ReadableStream({\n start(controller) {\n controller.enqueue(buf)\n controller.close()\n },\n })\n}\n\nexport async function streamToBuffer(stream: ReadableStream<Uint8Array>): Promise<Uint8Array> {\n const chunks: Uint8Array[] = []\n\n const reader = stream.getReader()\n\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n chunks.push(value)\n }\n\n return concatBuffers(chunks)\n}\n\nexport function createChunkedReader(stream: ReadableStream<Uint8Array>, chunkSize: number) {\n const reader = stream.getReader()\n const lock = new AsyncLock()\n\n const buffer: Uint8Array[] = []\n let bufferLength = 0\n\n let next: Uint8Array | undefined = undefined\n let first = true\n\n async function readInner(): Promise<Uint8Array | undefined> {\n const { value } = await reader.read()\n\n if (first) {\n first = false\n const { value: nextValue } = await reader.read()\n\n next = nextValue\n\n return value\n }\n\n const tmp = next\n next = value\n\n return tmp\n }\n\n async function read(): Promise<Uint8Array | null> {\n if (bufferLength > chunkSize) {\n const chunks = []\n let length = 0\n\n while (length < chunkSize && buffer.length) {\n const chunk = buffer.shift()!\n length += chunk.length\n chunks.push(chunk)\n }\n\n if (length > chunkSize) {\n const lastChunk = chunks.pop()!\n const diff = length - chunkSize\n chunks.push(lastChunk.subarray(0, lastChunk.length - diff))\n buffer.unshift(lastChunk.subarray(lastChunk.length - diff))\n length = chunkSize\n }\n\n if (length === chunkSize) {\n bufferLength -= chunkSize\n\n return concatBuffers(chunks)\n }\n } else if (next === undefined && bufferLength > 0) {\n bufferLength = 0\n\n return concatBuffers(buffer)\n }\n\n const value = await readInner()\n if (!value) return null\n\n if (bufferLength > 0) {\n buffer.push(value)\n bufferLength += value.length\n\n // to avoid code duplication\n return read()\n }\n\n if (value.length > chunkSize) {\n const rest = value.subarray(chunkSize)\n buffer.push(rest)\n bufferLength += rest.length\n\n return value.subarray(0, chunkSize)\n }\n\n if (value.length === chunkSize) {\n return value\n }\n\n buffer.push(value)\n bufferLength += value.length\n\n return read()\n }\n\n async function readLocked() {\n await lock.acquire()\n\n let res: Uint8Array | null = null\n let err: Error | null = null\n\n try {\n res = await read()\n } catch (e) {\n err = e as Error\n }\n\n lock.release()\n\n if (err) throw err\n\n return res\n }\n\n return {\n ended: () => bufferLength === 0 && next === undefined,\n read: readLocked,\n }\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TlReaderMap } from '@mtcute/tl-runtime';
|
|
2
1
|
import { DcOptions } from '../../utils/dcs.js';
|
|
3
2
|
import { CurrentUserInfo } from '../storage/service/current-user.js';
|
|
4
3
|
export interface StringSessionData {
|
|
@@ -9,4 +8,4 @@ export interface StringSessionData {
|
|
|
9
8
|
authKey: Uint8Array;
|
|
10
9
|
}
|
|
11
10
|
export declare function writeStringSession(data: StringSessionData): string;
|
|
12
|
-
export declare function readStringSession(
|
|
11
|
+
export declare function readStringSession(data: string): StringSessionData;
|
|
@@ -5,6 +5,26 @@ const tl_runtime_1 = require("@mtcute/tl-runtime");
|
|
|
5
5
|
const platform_js_1 = require("../../platform.js");
|
|
6
6
|
const index_js_1 = require("../../types/index.js");
|
|
7
7
|
const dcs_js_1 = require("../../utils/dcs.js");
|
|
8
|
+
function readTlDcOption(reader) {
|
|
9
|
+
const ctorId = reader.uint();
|
|
10
|
+
if (ctorId !== 414687501) {
|
|
11
|
+
throw new index_js_1.MtArgumentError(`Invalid dcOption constructor id: ${ctorId}`);
|
|
12
|
+
}
|
|
13
|
+
const flags = reader.uint();
|
|
14
|
+
const id = reader.int();
|
|
15
|
+
const ipAddress = reader.string();
|
|
16
|
+
const port = reader.int();
|
|
17
|
+
if (flags & 1024) {
|
|
18
|
+
reader.bytes(); // skip secret
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
id,
|
|
22
|
+
ipAddress,
|
|
23
|
+
port,
|
|
24
|
+
ipv6: Boolean(flags & 1),
|
|
25
|
+
mediaOnly: Boolean(flags & 2),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
8
28
|
function writeStringSession(data) {
|
|
9
29
|
const writer = tl_runtime_1.TlBinaryWriter.manual(512);
|
|
10
30
|
const version = data.version;
|
|
@@ -36,13 +56,16 @@ function writeStringSession(data) {
|
|
|
36
56
|
return (0, platform_js_1.getPlatform)().base64Encode(writer.result(), true);
|
|
37
57
|
}
|
|
38
58
|
exports.writeStringSession = writeStringSession;
|
|
39
|
-
function readStringSession(
|
|
59
|
+
function readStringSession(data) {
|
|
40
60
|
const buf = (0, platform_js_1.getPlatform)().base64Decode(data, true);
|
|
41
61
|
const version = buf[0];
|
|
42
62
|
if (version !== 1 && version !== 2 && version !== 3) {
|
|
43
63
|
throw new Error(`Invalid session string (version = ${version})`);
|
|
44
64
|
}
|
|
45
|
-
|
|
65
|
+
if (version < 3) {
|
|
66
|
+
console.warn(`You are using a deprecated session string (${data.slice(0, 10)}...). Please update your session string, as it will stop working in the future.`);
|
|
67
|
+
}
|
|
68
|
+
const reader = tl_runtime_1.TlBinaryReader.manual(buf, 1);
|
|
46
69
|
const flags = reader.int();
|
|
47
70
|
const hasSelf = flags & 1;
|
|
48
71
|
const testMode = Boolean(flags & 2);
|
|
@@ -50,11 +73,8 @@ function readStringSession(readerMap, data) {
|
|
|
50
73
|
let primaryDc;
|
|
51
74
|
let primaryMediaDc;
|
|
52
75
|
if (version <= 2) {
|
|
53
|
-
const primaryDc_ = reader
|
|
54
|
-
const primaryMediaDc_ = hasMedia ? reader
|
|
55
|
-
if (primaryDc_._ !== 'dcOption') {
|
|
56
|
-
throw new index_js_1.MtArgumentError(`Invalid session string (dc._ = ${primaryDc_._})`);
|
|
57
|
-
}
|
|
76
|
+
const primaryDc_ = readTlDcOption(reader);
|
|
77
|
+
const primaryMediaDc_ = hasMedia ? readTlDcOption(reader) : primaryDc_;
|
|
58
78
|
primaryDc = primaryDc_;
|
|
59
79
|
primaryMediaDc = primaryMediaDc_;
|
|
60
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-session.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/string-session.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"string-session.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/string-session.ts"],"names":[],"mappings":"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","sourcesContent":["import { TlBinaryReader, TlBinaryWriter } from '@mtcute/tl-runtime'\n\nimport { getPlatform } from '../../platform.js'\nimport { MtArgumentError } from '../../types/index.js'\nimport { BasicDcOption, DcOptions, parseBasicDcOption, serializeBasicDcOption } from '../../utils/dcs.js'\nimport { CurrentUserInfo } from '../storage/service/current-user.js'\n\nexport interface StringSessionData {\n version: number\n testMode: boolean\n primaryDcs: DcOptions\n self?: CurrentUserInfo | null\n authKey: Uint8Array\n}\n\nfunction readTlDcOption(reader: TlBinaryReader): BasicDcOption {\n const ctorId = reader.uint()\n\n if (ctorId !== 414687501) {\n throw new MtArgumentError(`Invalid dcOption constructor id: ${ctorId}`)\n }\n\n const flags = reader.uint()\n const id = reader.int()\n const ipAddress = reader.string()\n const port = reader.int()\n\n if (flags & 1024) {\n reader.bytes() // skip secret\n }\n\n return {\n id,\n ipAddress,\n port,\n ipv6: Boolean(flags & 1),\n mediaOnly: Boolean(flags & 2),\n }\n}\n\nexport function writeStringSession(data: StringSessionData): string {\n const writer = TlBinaryWriter.manual(512)\n\n const version = data.version\n\n if (version !== 3) {\n throw new MtArgumentError(`Unsupported string session version: ${version}`)\n }\n\n let flags = 0\n\n if (data.self) {\n flags |= 1\n }\n\n if (data.testMode) {\n flags |= 2\n }\n\n writer.uint8View[0] = version\n writer.pos += 1\n\n if (version >= 2 && data.primaryDcs.media !== data.primaryDcs.main) {\n flags |= 4\n }\n\n writer.int(flags)\n writer.bytes(serializeBasicDcOption(data.primaryDcs.main))\n\n if (version >= 2 && data.primaryDcs.media !== data.primaryDcs.main) {\n writer.bytes(serializeBasicDcOption(data.primaryDcs.media))\n }\n\n if (data.self) {\n writer.int53(data.self.userId)\n writer.boolean(data.self.isBot)\n }\n\n writer.bytes(data.authKey)\n\n return getPlatform().base64Encode(writer.result(), true)\n}\n\nexport function readStringSession(data: string): StringSessionData {\n const buf = getPlatform().base64Decode(data, true)\n\n const version = buf[0]\n\n if (version !== 1 && version !== 2 && version !== 3) {\n throw new Error(`Invalid session string (version = ${version})`)\n }\n\n if (version < 3) {\n console.warn(\n `You are using a deprecated session string (${data.slice(\n 0,\n 10,\n )}...). Please update your session string, as it will stop working in the future.`,\n )\n }\n\n const reader = TlBinaryReader.manual(buf, 1)\n\n const flags = reader.int()\n const hasSelf = flags & 1\n const testMode = Boolean(flags & 2)\n const hasMedia = version >= 2 && Boolean(flags & 4)\n\n let primaryDc: BasicDcOption\n let primaryMediaDc: BasicDcOption\n\n if (version <= 2) {\n const primaryDc_ = readTlDcOption(reader)\n const primaryMediaDc_ = hasMedia ? readTlDcOption(reader) : primaryDc_\n\n primaryDc = primaryDc_\n primaryMediaDc = primaryMediaDc_\n } else if (version === 3) {\n const primaryDc_ = parseBasicDcOption(reader.bytes())\n\n if (primaryDc_ === null) {\n throw new MtArgumentError('Invalid session string (failed to parse primaryDc)')\n }\n\n const primaryMediaDc_ = hasMedia ? parseBasicDcOption(reader.bytes()) : primaryDc_\n\n if (primaryMediaDc_ === null) {\n throw new MtArgumentError('Invalid session string (failed to parse primaryMediaDc)')\n }\n\n primaryDc = primaryDc_\n primaryMediaDc = primaryMediaDc_\n } else {\n throw new Error() // unreachable\n }\n\n let self: CurrentUserInfo | null = null\n\n if (hasSelf) {\n const selfId = reader.int53()\n const selfBot = reader.boolean()\n\n self = {\n userId: selfId,\n isBot: selfBot,\n // todo: we should make sure we fetch this from the server at first start\n isPremium: false,\n usernames: [],\n }\n }\n\n const key = reader.bytes()\n\n return {\n version,\n testMode,\n primaryDcs: {\n main: primaryDc,\n media: primaryMediaDc,\n },\n self,\n authKey: key,\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/voice-utils.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,EAAc;IACzC,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAC/B,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IAErC,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAA;IAE3B,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,CAAA;IAE/B,yDAAyD;IACzD,6EAA6E;IAC7E,6FAA6F;IAC7F,EAAE;IACF,4FAA4F;IAC5F,qFAAqF;IACrF,+FAA+F;IAC/F,mEAAmE;IAEnE,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,EAAE,GAAG,IAAA,oCAAkB,EAAC,EAAE,CAAC,CAAA;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"voice-utils.js","sourceRoot":"","sources":["../../../../src/highlevel/utils/voice-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { dataViewFromBuffer } from '../../utils/buffer-utils.js'\n\n/**\n * Decode 5-bit encoded voice message waveform into\n * an array of waveform values (0-32).\n *\n * @param wf Encoded waveform\n */\nexport function decodeWaveform(wf: Uint8Array): number[] {\n const bitsCount = wf.length * 8\n const valuesCount = ~~(bitsCount / 5)\n\n if (!valuesCount) return []\n\n const lastIdx = valuesCount - 1\n\n // Read each 5 bit of encoded 5bit as 0-31 unsigned char.\n // We count the index of the byte in which the desired 5-bit sequence starts.\n // And then we read a uint16 starting from that byte to guarantee to get all of those 5 bits.\n //\n // BUT! if it is the last byte we have, we're not allowed to read a uint16 starting with it.\n // Because it will be an overflow (we'll access one byte after the available memory).\n // We see, that only the last 5 bits could start in the last available byte and be problematic.\n // So we read in a general way all the entries except the last one.\n\n const result: number[] = []\n const dv = dataViewFromBuffer(wf)\n\n for (let i = 0, j = 0; i < lastIdx; i++, j += 5) {\n const byteIdx = ~~(j / 8)\n const bitShift = j % 8\n result[i] = (dv.getUint16(byteIdx, true) >> bitShift) & 0b11111\n }\n\n const lastByteIdx = ~~((lastIdx * 5) / 8)\n const lastBitShift = (lastIdx * 5) % 8\n const lastValue = lastByteIdx === wf.length - 1 ? wf[lastByteIdx] : dv.getUint16(lastByteIdx, true)\n result[lastIdx] = (lastValue >> lastBitShift) & 0b11111\n\n return result\n}\n\n/**\n * Encode an array of waveform values into\n * 5-bit encoded voice message waveform into\n *\n * @param wf Waveform values\n */\nexport function encodeWaveform(wf: number[]): Uint8Array {\n const bitsCount = wf.length * 5\n const bytesCount = ~~(bitsCount + 7) / 8\n const result = new Uint8Array(bytesCount + 1)\n const dv = dataViewFromBuffer(result)\n\n // Write each 0-31 unsigned char as 5 bit to result.\n // We reserve one extra byte to be able to dereference any of required bytes\n // as a uint16 without overflowing, even the byte with index \"bytesCount - 1\".\n\n for (let i = 0, j = 0; i < wf.length; i++, j += 5) {\n const byteIdx = ~~(j / 8)\n const bitShift = j % 8\n const value = (wf[i] & 0b11111) << bitShift\n\n // const old = result.readUInt16LE(byteIdx)\n // result.writeUInt16LE(old | value, byteIdx)\n dv.setUint16(byteIdx, dv.getUint16(byteIdx, true) | value, true)\n }\n\n return result.slice(0, bytesCount)\n}\n"]}
|
|
@@ -3,11 +3,10 @@ import { AppConfigManager } from '../managers/app-config-manager.js';
|
|
|
3
3
|
import { WorkerInvoker } from './invoker.js';
|
|
4
4
|
export declare class AppConfigManagerProxy implements PublicPart<AppConfigManager> {
|
|
5
5
|
readonly invoker: WorkerInvoker;
|
|
6
|
-
|
|
7
|
-
private _bind;
|
|
8
|
-
readonly get: () => Promise<import("../index.js").AppConfigSchema>;
|
|
6
|
+
readonly get: AppConfigManager['get'];
|
|
9
7
|
readonly getField: {
|
|
10
8
|
<K extends keyof import("../index.js").AppConfigSchema>(field: K): Promise<import("../index.js").AppConfigSchema[K]>;
|
|
11
9
|
<K_1 extends keyof import("../index.js").AppConfigSchema>(field: K_1, fallback: NonNullable<import("../index.js").AppConfigSchema[K_1]>): Promise<NonNullable<import("../index.js").AppConfigSchema[K_1]>>;
|
|
12
10
|
};
|
|
11
|
+
constructor(invoker: WorkerInvoker);
|
|
13
12
|
}
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AppConfigManagerProxy = void 0;
|
|
4
4
|
class AppConfigManagerProxy {
|
|
5
|
+
invoker;
|
|
6
|
+
get;
|
|
7
|
+
getField;
|
|
5
8
|
constructor(invoker) {
|
|
6
9
|
this.invoker = invoker;
|
|
7
|
-
|
|
8
|
-
this.get =
|
|
9
|
-
this.getField =
|
|
10
|
+
const bind = invoker.makeBinder('app-config');
|
|
11
|
+
this.get = bind('get');
|
|
12
|
+
this.getField = bind('getField');
|
|
10
13
|
}
|
|
11
14
|
}
|
|
12
15
|
exports.AppConfigManagerProxy = AppConfigManagerProxy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/app-config.ts"],"names":[],"mappings":";;;AAIA,MAAa,qBAAqB;
|
|
1
|
+
{"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/app-config.ts"],"names":[],"mappings":";;;AAIA,MAAa,qBAAqB;IAIT;IAHZ,GAAG,CAAyB;IAC5B,QAAQ,CAAA;IAEjB,YAAqB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAmB,YAAY,CAAC,CAAA;QAE/D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;IACpC,CAAC;CACJ;AAVD,sDAUC","sourcesContent":["import { PublicPart } from '../../types/utils.js'\nimport { AppConfigManager } from '../managers/app-config-manager.js'\nimport { WorkerInvoker } from './invoker.js'\n\nexport class AppConfigManagerProxy implements PublicPart<AppConfigManager> {\n readonly get: AppConfigManager['get']\n readonly getField\n\n constructor(readonly invoker: WorkerInvoker) {\n const bind = invoker.makeBinder<AppConfigManager>('app-config')\n\n this.get = bind('get')\n this.getField = bind('getField')\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/errors.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAE/B,qDAO8B;AAC9B,kDAAsH;AAStH,SAAgB,cAAc,CAAC,KAAc;IACzC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAE/E,MAAM,GAAG,GAAoB;QACzB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;KACrB,CAAA;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAA;IAE9B,IAAI,IAAI,KAAK,gCAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/errors.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport {\n MtArgumentError,\n MtcuteError,\n MtSecurityError,\n MtTimeoutError,\n MtTypeAssertionError,\n MtUnsupportedError,\n} from '../../types/errors.js'\nimport { MtEmptyError, MtInvalidPeerTypeError, MtMessageNotFoundError, MtPeerNotFoundError } from '../types/errors.js'\n\nexport interface SerializedError {\n name: string\n message: string\n stack?: string\n custom?: Record<string, unknown>\n}\n\nexport function serializeError(error: unknown): SerializedError {\n if (!(error instanceof Error)) return { name: 'Error', message: String(error) }\n\n const res: SerializedError = {\n name: 'Error',\n message: error.message,\n stack: error.stack,\n }\n\n const ctor = error.constructor\n\n if (ctor === MtTypeAssertionError) {\n const _error = error as MtTypeAssertionError\n res.name = 'MtTypeAssertionError'\n res.custom = {\n context: _error.context,\n expected: _error.expected,\n actual: _error.actual,\n }\n } else if (ctor === MtTimeoutError) {\n const _error = error as MtTimeoutError\n res.name = 'MtTimeoutError'\n res.custom = {\n timeout: _error.timeout,\n }\n } else if (ctor === MtMessageNotFoundError) {\n const _error = error as MtMessageNotFoundError\n res.name = 'MtMessageNotFoundError'\n res.custom = {\n peerId: _error.peerId,\n messageId: _error.messageId,\n context: _error.context,\n }\n } else if (ctor === tl.RpcError) {\n res.name = 'RpcError'\n res.custom = { ...error }\n } else if (ctor === MtArgumentError) res.name = 'MtArgumentError'\n else if (ctor === MtSecurityError) res.name = 'MtSecurityError'\n else if (ctor === MtUnsupportedError) res.name = 'MtUnsupportedError'\n else if (ctor === MtPeerNotFoundError) res.name = 'MtPeerNotFoundError'\n else if (ctor === MtInvalidPeerTypeError) res.name = 'MtInvalidPeerTypeError'\n else if (ctor === MtEmptyError) res.name = 'MtEmptyError'\n else if (ctor instanceof MtcuteError) res.name = 'MtcuteError'\n\n return res\n}\n\nexport function deserializeError(error: SerializedError): Error {\n let err2: Error\n\n switch (error.name) {\n case 'MtTypeAssertionError': {\n const custom = error.custom as { context: string; expected: string; actual: string }\n\n err2 = new MtTypeAssertionError(custom.context, custom.expected, custom.actual)\n break\n }\n case 'MtTimeoutError': {\n const custom = error.custom as { timeout?: number }\n\n err2 = new MtTimeoutError(custom.timeout)\n break\n }\n case 'MtMessageNotFoundError': {\n const custom = error.custom as { peerId: number; messageId: number; context?: string }\n\n err2 = new MtMessageNotFoundError(custom.peerId, custom.messageId, custom.context)\n break\n }\n case 'RpcError': {\n const custom = error.custom as unknown as tl.RpcError\n err2 = new tl.RpcError(custom.code, custom.text)\n err2.message = error.message // may have been formatted\n\n for (const key in custom) {\n if (key === 'code' || key === 'text') continue\n // @ts-expect-error lol\n err2[key] = custom[key] // eslint-disable-line\n }\n break\n }\n case 'MtArgumentError':\n err2 = new MtArgumentError()\n break\n case 'MtSecurityError':\n err2 = new MtSecurityError()\n break\n case 'MtUnsupportedError':\n err2 = new MtUnsupportedError()\n break\n case 'MtPeerNotFoundError':\n err2 = new MtPeerNotFoundError()\n break\n case 'MtInvalidPeerTypeError':\n err2 = new MtInvalidPeerTypeError('', '')\n err2.message = error.message // lol\n break\n case 'MtEmptyError':\n err2 = new MtEmptyError()\n break\n case 'MtcuteError':\n err2 = new MtcuteError()\n break\n default:\n err2 = new Error(error.message)\n }\n\n err2.stack = error.stack\n\n return err2\n}\n"]}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
if (typeof globalThis !== 'undefined' && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
3
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true
|
|
4
|
+
console.warn("[@mtcute/core] CommonJS support is deprecated and will be removed soon. Please consider switching to ESM, it's "+(new Date()).getFullYear()+" already.")
|
|
5
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c")
|
|
6
|
+
}
|
|
7
|
+
"use strict";
|
|
2
8
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
9
|
if (k2 === undefined) k2 = k;
|
|
4
10
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -4,11 +4,12 @@ exports.WorkerInvoker = void 0;
|
|
|
4
4
|
const controllable_promise_js_1 = require("../../utils/controllable-promise.js");
|
|
5
5
|
const errors_js_1 = require("./errors.js");
|
|
6
6
|
class WorkerInvoker {
|
|
7
|
+
send;
|
|
7
8
|
constructor(send) {
|
|
8
9
|
this.send = send;
|
|
9
|
-
this._nextId = 0;
|
|
10
|
-
this._pending = new Map();
|
|
11
10
|
}
|
|
11
|
+
_nextId = 0;
|
|
12
|
+
_pending = new Map();
|
|
12
13
|
_invoke(target, method, args, isVoid) {
|
|
13
14
|
const id = this._nextId++;
|
|
14
15
|
this.send({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoker.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/invoker.ts"],"names":[],"mappings":";;;AAAA,iFAAoG;AACpG,2CAA8C;AAK9C,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"invoker.js","sourceRoot":"","sources":["../../../../src/highlevel/worker/invoker.ts"],"names":[],"mappings":";;;AAAA,iFAAoG;AACpG,2CAA8C;AAK9C,MAAa,aAAa;IACF;IAApB,YAAoB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE5B,OAAO,GAAG,CAAC,CAAA;IACX,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;IAEjD,OAAO,CAAC,MAAoB,EAAE,MAAc,EAAE,IAAe,EAAE,MAAe;QAClF,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAEzB,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,QAAQ;YACd,EAAE;YACF,MAAM;YACN,MAAM;YACN,IAAI;YACJ,IAAI,EAAE,MAAM;SACf,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,IAAA,mDAAyB,GAAE,CAAA;YAE3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YAE9B,OAAO,OAAO,CAAA;QAClB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAoB,EAAE,MAAc,EAAE,IAAe;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAqB,CAAA;IACxE,CAAC;IAED,UAAU,CAAC,MAAoB,EAAE,MAAc,EAAE,IAAe;QAC5D,mEAAmE;QACnE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,YAAY,CAAC,GAAuD;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;IACL,CAAC;IAED,UAAU,CAAI,MAAoB;QAC9B,OAAO,CAAoB,MAAS,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE;YACpD,IAAI,EAAE,CAAA;YAEN,IAAI,MAAM,EAAE,CAAC;gBACT,EAAE,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAgB,EAAE,IAAI,CAAC,CAAA;YAChF,CAAC;iBAAM,CAAC;gBACJ,EAAE,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAgB,EAAE,IAAI,CAAC,CAAA;YAC5E,CAAC;YAED,OAAO,EAAU,CAAA;QACrB,CAAC,CAAA;IACL,CAAC;CACJ;AA5DD,sCA4DC","sourcesContent":["import { ControllablePromise, createControllablePromise } from '../../utils/controllable-promise.js'\nimport { deserializeError } from './errors.js'\nimport { SendFn, WorkerInboundMessage, WorkerOutboundMessage } from './protocol.js'\n\nexport type InvokeTarget = Extract<WorkerInboundMessage, { type: 'invoke' }>['target']\n\nexport class WorkerInvoker {\n constructor(private send: SendFn) {}\n\n private _nextId = 0\n private _pending = new Map<number, ControllablePromise>()\n\n private _invoke(target: InvokeTarget, method: string, args: unknown[], isVoid: boolean) {\n const id = this._nextId++\n\n this.send({\n type: 'invoke',\n id,\n target,\n method,\n args,\n void: isVoid,\n })\n\n if (!isVoid) {\n const promise = createControllablePromise()\n\n this._pending.set(id, promise)\n\n return promise\n }\n }\n\n invoke(target: InvokeTarget, method: string, args: unknown[]): Promise<unknown> {\n return this._invoke(target, method, args, false) as Promise<unknown>\n }\n\n invokeVoid(target: InvokeTarget, method: string, args: unknown[]): void {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._invoke(target, method, args, true)\n }\n\n handleResult(msg: Extract<WorkerOutboundMessage, { type: 'result' }>) {\n const promise = this._pending.get(msg.id)\n if (!promise) return\n\n if (msg.error) {\n promise.reject(deserializeError(msg.error))\n } else {\n promise.resolve(msg.result)\n }\n }\n\n makeBinder<T>(target: InvokeTarget) {\n return <K extends keyof T>(method: K, isVoid = false) => {\n let fn\n\n if (isVoid) {\n fn = (...args: unknown[]) => this.invokeVoid(target, method as string, args)\n } else {\n fn = (...args: unknown[]) => this.invoke(target, method as string, args)\n }\n\n return fn as T[K]\n }\n }\n}\n"]}
|
|
@@ -10,30 +10,13 @@ export interface TelegramWorkerPortOptions {
|
|
|
10
10
|
}
|
|
11
11
|
export declare abstract class TelegramWorkerPort<Custom extends WorkerCustomMethods> implements ITelegramClient {
|
|
12
12
|
readonly options: TelegramWorkerPortOptions;
|
|
13
|
-
constructor(options: TelegramWorkerPortOptions);
|
|
14
|
-
abstract connectToWorker(worker: SomeWorker, handler: ClientMessageHandler): [SendFn, () => void];
|
|
15
13
|
readonly log: LogManager;
|
|
16
|
-
private _serverUpdatesHandler;
|
|
17
|
-
onServerUpdate(handler: (updates: tl.TypeUpdates) => void): void;
|
|
18
|
-
private _errorHandler;
|
|
19
|
-
onError(handler: (err: unknown) => void): void;
|
|
20
|
-
emitError(err: unknown): void;
|
|
21
|
-
private _updateHandler;
|
|
22
|
-
onUpdate(handler: RawUpdateHandler): void;
|
|
23
|
-
private _connectionStateHandler;
|
|
24
|
-
onConnectionState(handler: (state: ConnectionState) => void): void;
|
|
25
|
-
private _onMessage;
|
|
26
14
|
private _connection;
|
|
27
15
|
private _invoker;
|
|
28
|
-
private _bind;
|
|
29
16
|
readonly storage: TelegramStorageProxy;
|
|
30
17
|
readonly appConfig: AppConfigManagerProxy;
|
|
31
|
-
private _destroyed;
|
|
32
|
-
destroy(terminate?: boolean): void;
|
|
33
|
-
invokeCustom<T extends keyof Custom>(method: T, ...args: Parameters<Custom[T]>): Promise<ReturnType<Custom[T]>>;
|
|
34
18
|
readonly prepare: () => Promise<void>;
|
|
35
19
|
private _connect;
|
|
36
|
-
connect(): Promise<void>;
|
|
37
20
|
readonly close: () => Promise<void>;
|
|
38
21
|
readonly notifyLoggedIn: (auth: tl.RawUser | tl.auth.TypeAuthorization) => Promise<tl.RawUser>;
|
|
39
22
|
readonly notifyLoggedOut: () => Promise<void>;
|
|
@@ -53,4 +36,20 @@ export declare abstract class TelegramWorkerPort<Custom extends WorkerCustomMeth
|
|
|
53
36
|
readonly computeNewPasswordHash: (algo: tl.TypePasswordKdfAlgo, password: string) => Promise<Uint8Array>;
|
|
54
37
|
readonly startUpdatesLoop: () => Promise<void>;
|
|
55
38
|
readonly stopUpdatesLoop: () => Promise<void>;
|
|
39
|
+
constructor(options: TelegramWorkerPortOptions);
|
|
40
|
+
abstract connectToWorker(worker: SomeWorker, handler: ClientMessageHandler): [SendFn, () => void];
|
|
41
|
+
private _serverUpdatesHandler;
|
|
42
|
+
onServerUpdate(handler: (updates: tl.TypeUpdates) => void): void;
|
|
43
|
+
private _errorHandler;
|
|
44
|
+
onError(handler: (err: unknown) => void): void;
|
|
45
|
+
emitError(err: unknown): void;
|
|
46
|
+
private _updateHandler;
|
|
47
|
+
onUpdate(handler: RawUpdateHandler): void;
|
|
48
|
+
private _connectionStateHandler;
|
|
49
|
+
onConnectionState(handler: (state: ConnectionState) => void): void;
|
|
50
|
+
private _onMessage;
|
|
51
|
+
private _destroyed;
|
|
52
|
+
destroy(terminate?: boolean): void;
|
|
53
|
+
invokeCustom<T extends keyof Custom>(method: T, ...args: Parameters<Custom[T]>): Promise<ReturnType<Custom[T]>>;
|
|
54
|
+
connect(): Promise<void>;
|
|
56
55
|
}
|
|
@@ -7,78 +7,103 @@ const app_config_js_1 = require("./app-config.js");
|
|
|
7
7
|
const invoker_js_1 = require("./invoker.js");
|
|
8
8
|
const storage_js_1 = require("./storage.js");
|
|
9
9
|
class TelegramWorkerPort {
|
|
10
|
+
options;
|
|
11
|
+
log;
|
|
12
|
+
_connection;
|
|
13
|
+
_invoker;
|
|
14
|
+
storage;
|
|
15
|
+
appConfig;
|
|
16
|
+
// bound methods
|
|
17
|
+
prepare;
|
|
18
|
+
_connect;
|
|
19
|
+
close;
|
|
20
|
+
notifyLoggedIn;
|
|
21
|
+
notifyLoggedOut;
|
|
22
|
+
notifyChannelOpened;
|
|
23
|
+
notifyChannelClosed;
|
|
24
|
+
call;
|
|
25
|
+
importSession;
|
|
26
|
+
exportSession;
|
|
27
|
+
handleClientUpdate;
|
|
28
|
+
getApiCrenetials;
|
|
29
|
+
getPoolSize;
|
|
30
|
+
getPrimaryDcId;
|
|
31
|
+
computeSrpParams;
|
|
32
|
+
computeNewPasswordHash;
|
|
33
|
+
startUpdatesLoop;
|
|
34
|
+
stopUpdatesLoop;
|
|
10
35
|
constructor(options) {
|
|
11
36
|
this.options = options;
|
|
12
37
|
this.log = new logger_js_1.LogManager('worker');
|
|
13
|
-
this._serverUpdatesHandler = () => { };
|
|
14
|
-
this._errorHandler = () => { };
|
|
15
|
-
this._updateHandler = () => { };
|
|
16
|
-
this._connectionStateHandler = () => { };
|
|
17
|
-
this._onMessage = (message) => {
|
|
18
|
-
switch (message.type) {
|
|
19
|
-
case 'log':
|
|
20
|
-
this.log.handler(message.color, message.level, message.tag, message.fmt, message.args);
|
|
21
|
-
break;
|
|
22
|
-
case 'server_update':
|
|
23
|
-
this._serverUpdatesHandler(message.update);
|
|
24
|
-
break;
|
|
25
|
-
case 'conn_state':
|
|
26
|
-
this._connectionStateHandler(message.state);
|
|
27
|
-
break;
|
|
28
|
-
case 'update': {
|
|
29
|
-
const peers = new peers_index_js_1.PeersIndex(message.users, message.chats);
|
|
30
|
-
peers.hasMin = message.hasMin;
|
|
31
|
-
this._updateHandler(message.update, peers);
|
|
32
|
-
break;
|
|
33
|
-
}
|
|
34
|
-
case 'result':
|
|
35
|
-
this._invoker.handleResult(message);
|
|
36
|
-
break;
|
|
37
|
-
case 'error':
|
|
38
|
-
this.emitError(message.error);
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
38
|
this._connection = this.connectToWorker(this.options.worker, this._onMessage);
|
|
43
39
|
this._invoker = new invoker_js_1.WorkerInvoker(this._connection[0]);
|
|
44
|
-
this._bind = this._invoker.makeBinder('client');
|
|
45
40
|
this.storage = new storage_js_1.TelegramStorageProxy(this._invoker);
|
|
46
41
|
this.appConfig = new app_config_js_1.AppConfigManagerProxy(this._invoker);
|
|
47
|
-
|
|
48
|
-
this.prepare =
|
|
49
|
-
this._connect =
|
|
50
|
-
this.close =
|
|
51
|
-
this.notifyLoggedIn =
|
|
52
|
-
this.notifyLoggedOut =
|
|
53
|
-
this.notifyChannelOpened =
|
|
54
|
-
this.notifyChannelClosed =
|
|
55
|
-
this.call =
|
|
56
|
-
this.importSession =
|
|
57
|
-
this.exportSession =
|
|
58
|
-
this.handleClientUpdate =
|
|
59
|
-
this.getApiCrenetials =
|
|
60
|
-
this.getPoolSize =
|
|
61
|
-
this.getPrimaryDcId =
|
|
62
|
-
this.computeSrpParams =
|
|
63
|
-
this.computeNewPasswordHash =
|
|
64
|
-
this.startUpdatesLoop =
|
|
65
|
-
this.stopUpdatesLoop =
|
|
42
|
+
const bind = this._invoker.makeBinder('client');
|
|
43
|
+
this.prepare = bind('prepare');
|
|
44
|
+
this._connect = bind('connect');
|
|
45
|
+
this.close = bind('close');
|
|
46
|
+
this.notifyLoggedIn = bind('notifyLoggedIn');
|
|
47
|
+
this.notifyLoggedOut = bind('notifyLoggedOut');
|
|
48
|
+
this.notifyChannelOpened = bind('notifyChannelOpened');
|
|
49
|
+
this.notifyChannelClosed = bind('notifyChannelClosed');
|
|
50
|
+
this.call = bind('call');
|
|
51
|
+
this.importSession = bind('importSession');
|
|
52
|
+
this.exportSession = bind('exportSession');
|
|
53
|
+
this.handleClientUpdate = bind('handleClientUpdate', true);
|
|
54
|
+
this.getApiCrenetials = bind('getApiCrenetials');
|
|
55
|
+
this.getPoolSize = bind('getPoolSize');
|
|
56
|
+
this.getPrimaryDcId = bind('getPrimaryDcId');
|
|
57
|
+
this.computeSrpParams = bind('computeSrpParams');
|
|
58
|
+
this.computeNewPasswordHash = bind('computeNewPasswordHash');
|
|
59
|
+
this.startUpdatesLoop = bind('startUpdatesLoop');
|
|
60
|
+
this.stopUpdatesLoop = bind('stopUpdatesLoop');
|
|
66
61
|
}
|
|
62
|
+
_serverUpdatesHandler = () => { };
|
|
67
63
|
onServerUpdate(handler) {
|
|
68
64
|
this._serverUpdatesHandler = handler;
|
|
69
65
|
}
|
|
66
|
+
_errorHandler = () => { };
|
|
70
67
|
onError(handler) {
|
|
71
68
|
this._errorHandler = handler;
|
|
72
69
|
}
|
|
73
70
|
emitError(err) {
|
|
74
71
|
this._errorHandler(err);
|
|
75
72
|
}
|
|
73
|
+
_updateHandler = () => { };
|
|
76
74
|
onUpdate(handler) {
|
|
77
75
|
this._updateHandler = handler;
|
|
78
76
|
}
|
|
77
|
+
_connectionStateHandler = () => { };
|
|
79
78
|
onConnectionState(handler) {
|
|
80
79
|
this._connectionStateHandler = handler;
|
|
81
80
|
}
|
|
81
|
+
_onMessage = (message) => {
|
|
82
|
+
switch (message.type) {
|
|
83
|
+
case 'log':
|
|
84
|
+
this.log.handler(message.color, message.level, message.tag, message.fmt, message.args);
|
|
85
|
+
break;
|
|
86
|
+
case 'server_update':
|
|
87
|
+
this._serverUpdatesHandler(message.update);
|
|
88
|
+
break;
|
|
89
|
+
case 'conn_state':
|
|
90
|
+
this._connectionStateHandler(message.state);
|
|
91
|
+
break;
|
|
92
|
+
case 'update': {
|
|
93
|
+
const peers = new peers_index_js_1.PeersIndex(message.users, message.chats);
|
|
94
|
+
peers.hasMin = message.hasMin;
|
|
95
|
+
this._updateHandler(message.update, peers);
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
case 'result':
|
|
99
|
+
this._invoker.handleResult(message);
|
|
100
|
+
break;
|
|
101
|
+
case 'error':
|
|
102
|
+
this.emitError(message.error);
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
_destroyed = false;
|
|
82
107
|
destroy(terminate = false) {
|
|
83
108
|
if (this._destroyed)
|
|
84
109
|
return;
|