@neelegirl/baileys 1.5.6 → 1.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -27
- package/WAProto/WAProto.proto +665 -291
- package/WAProto/index.d.ts +48037 -2294
- package/WAProto/index.js +139804 -45203
- package/lib/Defaults/baileys-version.json +3 -0
- package/lib/Defaults/index.d.ts +64 -58
- package/lib/Defaults/index.js +96 -74
- package/lib/Defaults/phonenumber-mcc.json +223 -0
- package/lib/Signal/WASignalGroup/GroupProtocol.js +1909 -0
- package/lib/Signal/WASignalGroup/ciphertext_message.js +16 -0
- package/lib/Signal/WASignalGroup/generate-proto.sh +1 -0
- package/lib/Signal/WASignalGroup/group.proto +42 -0
- package/lib/Signal/WASignalGroup/group_cipher.js +120 -0
- package/lib/Signal/WASignalGroup/group_session_builder.js +46 -0
- package/lib/Signal/WASignalGroup/index.js +6 -0
- package/lib/Signal/WASignalGroup/keyhelper.js +21 -0
- package/lib/Signal/WASignalGroup/protobufs.js +3 -0
- package/lib/Signal/WASignalGroup/queue_job.js +69 -0
- package/lib/Signal/WASignalGroup/readme.md +6 -0
- package/lib/Signal/WASignalGroup/sender_chain_key.js +50 -0
- package/lib/Signal/WASignalGroup/sender_key_distribution_message.js +78 -0
- package/lib/Signal/WASignalGroup/sender_key_message.js +92 -0
- package/lib/Signal/WASignalGroup/sender_key_name.js +70 -0
- package/lib/Signal/WASignalGroup/sender_key_record.js +56 -0
- package/lib/Signal/WASignalGroup/sender_key_state.js +129 -0
- package/lib/Signal/{Group/sender-message-key.js → WASignalGroup/sender_message_key.js} +16 -3
- package/lib/Signal/libsignal.d.ts +4 -5
- package/lib/Signal/libsignal.js +112 -292
- package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
- package/lib/Socket/Client/abstract-socket-client.js +13 -0
- package/lib/Socket/Client/index.d.ts +2 -3
- package/lib/Socket/Client/index.js +22 -3
- package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
- package/lib/Socket/Client/mobile-socket-client.js +65 -0
- package/lib/Socket/Client/types.d.ts +15 -15
- package/lib/Socket/Client/types.js +15 -8
- package/lib/Socket/Client/websocket.d.ts +12 -12
- package/lib/Socket/Client/websocket.js +36 -24
- package/lib/Socket/business.d.ts +177 -178
- package/lib/Socket/business.js +71 -179
- package/lib/Socket/chats.d.ts +93 -93
- package/lib/Socket/chats.js +625 -474
- package/lib/Socket/communities.d.ts +62 -83
- package/lib/Socket/communities.js +414 -412
- package/lib/Socket/groups.d.ts +112 -118
- package/lib/Socket/groups.js +171 -146
- package/lib/Socket/index.d.ts +182 -222
- package/lib/Socket/index.js +17 -12
- package/lib/Socket/messages-recv.d.ts +169 -165
- package/lib/Socket/messages-recv.js +1721 -1185
- package/lib/Socket/messages-send.d.ts +160 -161
- package/lib/Socket/messages-send.js +992 -642
- package/lib/Socket/mex.d.ts +0 -1
- package/lib/Socket/mex.js +9 -4
- package/lib/Socket/newsletter.d.ts +139 -139
- package/lib/Socket/newsletter.js +258 -153
- package/lib/Socket/registration.d.ts +266 -0
- package/lib/Socket/registration.js +166 -0
- package/lib/Socket/socket.d.ts +36 -42
- package/lib/Socket/socket.js +615 -533
- package/lib/Socket/usync.d.ts +37 -0
- package/lib/Socket/usync.js +83 -0
- package/lib/Store/index.d.ts +4 -0
- package/lib/Store/index.js +24 -0
- package/lib/Store/make-cache-manager-store.d.ts +14 -0
- package/lib/Store/make-cache-manager-store.js +90 -0
- package/lib/Store/make-in-memory-store.d.ts +123 -0
- package/lib/Store/make-in-memory-store.js +429 -0
- package/lib/Store/make-ordered-dictionary.d.ts +12 -0
- package/lib/Store/make-ordered-dictionary.js +86 -0
- package/lib/Store/object-repository.d.ts +10 -0
- package/lib/Store/object-repository.js +31 -0
- package/lib/Types/Auth.d.ts +96 -87
- package/lib/Types/Auth.js +3 -2
- package/lib/Types/Call.d.ts +13 -13
- package/lib/Types/Call.js +3 -2
- package/lib/Types/Chat.d.ts +94 -79
- package/lib/Types/Chat.js +9 -8
- package/lib/Types/Contact.d.ts +9 -13
- package/lib/Types/Contact.js +3 -2
- package/lib/Types/Events.d.ts +179 -152
- package/lib/Types/Events.js +3 -2
- package/lib/Types/GroupMetadata.d.ts +48 -49
- package/lib/Types/GroupMetadata.js +3 -2
- package/lib/Types/Label.d.ts +14 -13
- package/lib/Types/Label.js +30 -24
- package/lib/Types/LabelAssociation.d.ts +20 -15
- package/lib/Types/LabelAssociation.js +12 -6
- package/lib/Types/Message.d.ts +404 -234
- package/lib/Types/Message.js +13 -11
- package/lib/Types/MexUpdates.d.ts +9 -0
- package/lib/Types/MexUpdates.js +18 -0
- package/lib/Types/Newsletter.d.ts +104 -130
- package/lib/Types/Newsletter.js +40 -31
- package/lib/Types/Product.d.ts +71 -58
- package/lib/Types/Product.js +3 -2
- package/lib/Types/Signal.d.ts +55 -63
- package/lib/Types/Signal.js +3 -2
- package/lib/Types/Socket.d.ts +66 -77
- package/lib/Types/Socket.js +3 -3
- package/lib/Types/State.d.ts +19 -17
- package/lib/Types/State.js +14 -13
- package/lib/Types/USync.d.ts +8 -8
- package/lib/Types/USync.js +3 -2
- package/lib/Types/index.d.ts +61 -47
- package/lib/Types/index.js +48 -26
- package/lib/Utils/auth-utils.d.ts +10 -8
- package/lib/Utils/auth-utils.js +154 -206
- package/lib/Utils/baileys-event-stream.d.ts +7 -6
- package/lib/Utils/baileys-event-stream.js +43 -29
- package/lib/Utils/business.d.ts +20 -14
- package/lib/Utils/business.js +134 -110
- package/lib/Utils/chat-utils.d.ts +69 -57
- package/lib/Utils/chat-utils.js +380 -362
- package/lib/Utils/check-npm-version.d.ts +15 -0
- package/lib/Utils/check-npm-version.js +52 -0
- package/lib/Utils/crypto.d.ts +45 -30
- package/lib/Utils/crypto.js +178 -141
- package/lib/Utils/decode-wa-message.d.ts +35 -42
- package/lib/Utils/decode-wa-message.js +150 -176
- package/lib/Utils/event-buffer.d.ts +17 -12
- package/lib/Utils/event-buffer.js +286 -269
- package/lib/Utils/generics.d.ts +99 -60
- package/lib/Utils/generics.js +481 -244
- package/lib/Utils/history.d.ts +22 -18
- package/lib/Utils/history.js +80 -54
- package/lib/Utils/index.d.ts +19 -20
- package/lib/Utils/index.js +41 -19
- package/lib/Utils/link-preview.d.ts +14 -12
- package/lib/Utils/link-preview.js +75 -40
- package/lib/Utils/logger.d.ts +11 -10
- package/lib/Utils/logger.js +7 -3
- package/lib/Utils/lt-hash.d.ts +13 -12
- package/lib/Utils/lt-hash.js +37 -27
- package/lib/Utils/make-mutex.d.ts +7 -6
- package/lib/Utils/make-mutex.js +29 -20
- package/lib/Utils/message-retry-manager.d.ts +6 -6
- package/lib/Utils/message-retry-manager.js +36 -8
- package/lib/Utils/messages-media.d.ts +102 -87
- package/lib/Utils/messages-media.js +570 -427
- package/lib/Utils/messages.d.ts +64 -37
- package/lib/Utils/messages.js +1270 -511
- package/lib/Utils/noise-handler.d.ts +18 -18
- package/lib/Utils/noise-handler.js +109 -101
- package/lib/Utils/process-message.d.ts +32 -25
- package/lib/Utils/process-message.js +281 -266
- package/lib/Utils/signal.d.ts +32 -24
- package/lib/Utils/signal.js +105 -98
- package/lib/Utils/use-mongo-file-auth-state.d.ts +6 -0
- package/lib/Utils/use-mongo-file-auth-state.js +84 -0
- package/lib/Utils/use-multi-file-auth-state.d.ts +10 -5
- package/lib/Utils/use-multi-file-auth-state.js +186 -69
- package/lib/Utils/use-single-file-auth-state.d.ts +13 -0
- package/lib/Utils/use-single-file-auth-state.js +80 -0
- package/lib/Utils/validate-connection.d.ts +13 -11
- package/lib/Utils/validate-connection.js +116 -124
- package/lib/WABinary/constants.d.ts +27 -25
- package/lib/WABinary/constants.js +1292 -1277
- package/lib/WABinary/decode.d.ts +9 -7
- package/lib/WABinary/decode.js +189 -139
- package/lib/WABinary/encode.d.ts +3 -3
- package/lib/WABinary/encode.js +154 -105
- package/lib/WABinary/generic-utils.d.ts +27 -14
- package/lib/WABinary/generic-utils.js +102 -62
- package/lib/WABinary/index.d.ts +5 -6
- package/lib/WABinary/index.js +25 -6
- package/lib/WABinary/jid-utils.d.ts +46 -41
- package/lib/WABinary/jid-utils.js +80 -84
- package/lib/WABinary/types.d.ts +13 -10
- package/lib/WABinary/types.js +3 -2
- package/lib/WAM/BinaryInfo.d.ts +15 -8
- package/lib/WAM/BinaryInfo.js +14 -7
- package/lib/WAM/constants.d.ts +37 -30
- package/lib/WAM/constants.js +11983 -19465
- package/lib/WAM/encode.d.ts +3 -3
- package/lib/WAM/encode.js +110 -95
- package/lib/WAM/index.d.ts +3 -4
- package/lib/WAM/index.js +23 -4
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +28 -0
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +69 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -9
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +19 -12
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -19
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +26 -18
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -11
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +20 -12
- package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +9 -0
- package/lib/WAUSync/Protocols/USyncLIDProtocol.js +30 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -11
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +24 -16
- package/lib/WAUSync/Protocols/index.d.ts +6 -5
- package/lib/WAUSync/Protocols/index.js +26 -5
- package/lib/WAUSync/USyncQuery.d.ts +28 -26
- package/lib/WAUSync/USyncQuery.js +62 -64
- package/lib/WAUSync/USyncUser.d.ts +10 -11
- package/lib/WAUSync/USyncUser.js +19 -12
- package/lib/WAUSync/index.d.ts +3 -4
- package/lib/WAUSync/index.js +23 -4
- package/lib/index.d.ts +11 -10
- package/lib/index.js +33 -11
- package/package.json +43 -48
- package/WAProto/GenerateStatics.sh +0 -3
- package/WAProto/fix-imports.js +0 -29
- package/engine-requirements.js +0 -10
- package/lib/Defaults/index.d.ts.map +0 -1
- package/lib/Defaults/index.js.map +0 -1
- package/lib/Signal/Group/ciphertext-message.d.ts +0 -10
- package/lib/Signal/Group/ciphertext-message.d.ts.map +0 -1
- package/lib/Signal/Group/ciphertext-message.js +0 -12
- package/lib/Signal/Group/ciphertext-message.js.map +0 -1
- package/lib/Signal/Group/group-session-builder.d.ts +0 -15
- package/lib/Signal/Group/group-session-builder.d.ts.map +0 -1
- package/lib/Signal/Group/group-session-builder.js +0 -30
- package/lib/Signal/Group/group-session-builder.js.map +0 -1
- package/lib/Signal/Group/group_cipher.d.ts +0 -17
- package/lib/Signal/Group/group_cipher.d.ts.map +0 -1
- package/lib/Signal/Group/group_cipher.js +0 -82
- package/lib/Signal/Group/group_cipher.js.map +0 -1
- package/lib/Signal/Group/index.d.ts +0 -12
- package/lib/Signal/Group/index.d.ts.map +0 -1
- package/lib/Signal/Group/index.js +0 -12
- package/lib/Signal/Group/index.js.map +0 -1
- package/lib/Signal/Group/keyhelper.d.ts +0 -11
- package/lib/Signal/Group/keyhelper.d.ts.map +0 -1
- package/lib/Signal/Group/keyhelper.js +0 -18
- package/lib/Signal/Group/keyhelper.js.map +0 -1
- package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
- package/lib/Signal/Group/sender-chain-key.d.ts.map +0 -1
- package/lib/Signal/Group/sender-chain-key.js +0 -26
- package/lib/Signal/Group/sender-chain-key.js.map +0 -1
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
- package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +0 -1
- package/lib/Signal/Group/sender-key-distribution-message.js +0 -63
- package/lib/Signal/Group/sender-key-distribution-message.js.map +0 -1
- package/lib/Signal/Group/sender-key-message.d.ts +0 -19
- package/lib/Signal/Group/sender-key-message.d.ts.map +0 -1
- package/lib/Signal/Group/sender-key-message.js +0 -66
- package/lib/Signal/Group/sender-key-message.js.map +0 -1
- package/lib/Signal/Group/sender-key-name.d.ts +0 -18
- package/lib/Signal/Group/sender-key-name.d.ts.map +0 -1
- package/lib/Signal/Group/sender-key-name.js +0 -48
- package/lib/Signal/Group/sender-key-name.js.map +0 -1
- package/lib/Signal/Group/sender-key-record.d.ts +0 -31
- package/lib/Signal/Group/sender-key-record.d.ts.map +0 -1
- package/lib/Signal/Group/sender-key-record.js +0 -41
- package/lib/Signal/Group/sender-key-record.js.map +0 -1
- package/lib/Signal/Group/sender-key-state.d.ts +0 -39
- package/lib/Signal/Group/sender-key-state.d.ts.map +0 -1
- package/lib/Signal/Group/sender-key-state.js +0 -84
- package/lib/Signal/Group/sender-key-state.js.map +0 -1
- package/lib/Signal/Group/sender-message-key.d.ts +0 -12
- package/lib/Signal/Group/sender-message-key.d.ts.map +0 -1
- package/lib/Signal/Group/sender-message-key.js.map +0 -1
- package/lib/Signal/libsignal.d.ts.map +0 -1
- package/lib/Signal/libsignal.js.map +0 -1
- package/lib/Signal/lid-mapping.d.ts +0 -23
- package/lib/Signal/lid-mapping.d.ts.map +0 -1
- package/lib/Signal/lid-mapping.js +0 -171
- package/lib/Signal/lid-mapping.js.map +0 -1
- package/lib/Socket/Client/index.d.ts.map +0 -1
- package/lib/Socket/Client/index.js.map +0 -1
- package/lib/Socket/Client/types.d.ts.map +0 -1
- package/lib/Socket/Client/types.js.map +0 -1
- package/lib/Socket/Client/websocket.d.ts.map +0 -1
- package/lib/Socket/Client/websocket.js.map +0 -1
- package/lib/Socket/business.d.ts.map +0 -1
- package/lib/Socket/business.js.map +0 -1
- package/lib/Socket/chats.d.ts.map +0 -1
- package/lib/Socket/chats.js.map +0 -1
- package/lib/Socket/communities.d.ts.map +0 -1
- package/lib/Socket/communities.js.map +0 -1
- package/lib/Socket/groups.d.ts.map +0 -1
- package/lib/Socket/groups.js.map +0 -1
- package/lib/Socket/index.d.ts.map +0 -1
- package/lib/Socket/index.js.map +0 -1
- package/lib/Socket/messages-recv.d.ts.map +0 -1
- package/lib/Socket/messages-recv.js.map +0 -1
- package/lib/Socket/messages-send.d.ts.map +0 -1
- package/lib/Socket/messages-send.js.map +0 -1
- package/lib/Socket/mex.d.ts.map +0 -1
- package/lib/Socket/mex.js.map +0 -1
- package/lib/Socket/newsletter.d.ts.map +0 -1
- package/lib/Socket/newsletter.js.map +0 -1
- package/lib/Socket/socket.d.ts.map +0 -1
- package/lib/Socket/socket.js.map +0 -1
- package/lib/Types/Auth.d.ts.map +0 -1
- package/lib/Types/Auth.js.map +0 -1
- package/lib/Types/Bussines.d.ts +0 -25
- package/lib/Types/Bussines.d.ts.map +0 -1
- package/lib/Types/Bussines.js +0 -2
- package/lib/Types/Bussines.js.map +0 -1
- package/lib/Types/Call.d.ts.map +0 -1
- package/lib/Types/Call.js.map +0 -1
- package/lib/Types/Chat.d.ts.map +0 -1
- package/lib/Types/Chat.js.map +0 -1
- package/lib/Types/Contact.d.ts.map +0 -1
- package/lib/Types/Contact.js.map +0 -1
- package/lib/Types/Events.d.ts.map +0 -1
- package/lib/Types/Events.js.map +0 -1
- package/lib/Types/GroupMetadata.d.ts.map +0 -1
- package/lib/Types/GroupMetadata.js.map +0 -1
- package/lib/Types/Label.d.ts.map +0 -1
- package/lib/Types/Label.js.map +0 -1
- package/lib/Types/LabelAssociation.d.ts.map +0 -1
- package/lib/Types/LabelAssociation.js.map +0 -1
- package/lib/Types/Message.d.ts.map +0 -1
- package/lib/Types/Message.js.map +0 -1
- package/lib/Types/Newsletter.d.ts.map +0 -1
- package/lib/Types/Newsletter.js.map +0 -1
- package/lib/Types/Product.d.ts.map +0 -1
- package/lib/Types/Product.js.map +0 -1
- package/lib/Types/Signal.d.ts.map +0 -1
- package/lib/Types/Signal.js.map +0 -1
- package/lib/Types/Socket.d.ts.map +0 -1
- package/lib/Types/Socket.js.map +0 -1
- package/lib/Types/State.d.ts.map +0 -1
- package/lib/Types/State.js.map +0 -1
- package/lib/Types/USync.d.ts.map +0 -1
- package/lib/Types/USync.js.map +0 -1
- package/lib/Types/index.d.ts.map +0 -1
- package/lib/Types/index.js.map +0 -1
- package/lib/Utils/auth-utils.d.ts.map +0 -1
- package/lib/Utils/auth-utils.js.map +0 -1
- package/lib/Utils/baileys-event-stream.d.ts.map +0 -1
- package/lib/Utils/baileys-event-stream.js.map +0 -1
- package/lib/Utils/browser-utils.d.ts +0 -4
- package/lib/Utils/browser-utils.d.ts.map +0 -1
- package/lib/Utils/browser-utils.js +0 -28
- package/lib/Utils/browser-utils.js.map +0 -1
- package/lib/Utils/business.d.ts.map +0 -1
- package/lib/Utils/business.js.map +0 -1
- package/lib/Utils/chat-utils.d.ts.map +0 -1
- package/lib/Utils/chat-utils.js.map +0 -1
- package/lib/Utils/crypto.d.ts.map +0 -1
- package/lib/Utils/crypto.js.map +0 -1
- package/lib/Utils/decode-wa-message.d.ts.map +0 -1
- package/lib/Utils/decode-wa-message.js.map +0 -1
- package/lib/Utils/event-buffer.d.ts.map +0 -1
- package/lib/Utils/event-buffer.js.map +0 -1
- package/lib/Utils/generics.d.ts.map +0 -1
- package/lib/Utils/generics.js.map +0 -1
- package/lib/Utils/history.d.ts.map +0 -1
- package/lib/Utils/history.js.map +0 -1
- package/lib/Utils/index.d.ts.map +0 -1
- package/lib/Utils/index.js.map +0 -1
- package/lib/Utils/link-preview.d.ts.map +0 -1
- package/lib/Utils/link-preview.js.map +0 -1
- package/lib/Utils/logger.d.ts.map +0 -1
- package/lib/Utils/logger.js.map +0 -1
- package/lib/Utils/lt-hash.d.ts.map +0 -1
- package/lib/Utils/lt-hash.js.map +0 -1
- package/lib/Utils/make-mutex.d.ts.map +0 -1
- package/lib/Utils/make-mutex.js.map +0 -1
- package/lib/Utils/message-retry-manager.d.ts.map +0 -1
- package/lib/Utils/message-retry-manager.js.map +0 -1
- package/lib/Utils/messages-media.d.ts.map +0 -1
- package/lib/Utils/messages-media.js.map +0 -1
- package/lib/Utils/messages.d.ts.map +0 -1
- package/lib/Utils/messages.js.map +0 -1
- package/lib/Utils/noise-handler.d.ts.map +0 -1
- package/lib/Utils/noise-handler.js.map +0 -1
- package/lib/Utils/pre-key-manager.d.ts +0 -28
- package/lib/Utils/pre-key-manager.d.ts.map +0 -1
- package/lib/Utils/pre-key-manager.js +0 -106
- package/lib/Utils/pre-key-manager.js.map +0 -1
- package/lib/Utils/process-message.d.ts.map +0 -1
- package/lib/Utils/process-message.js.map +0 -1
- package/lib/Utils/signal.d.ts.map +0 -1
- package/lib/Utils/signal.js.map +0 -1
- package/lib/Utils/use-multi-file-auth-state.d.ts.map +0 -1
- package/lib/Utils/use-multi-file-auth-state.js.map +0 -1
- package/lib/Utils/validate-connection.d.ts.map +0 -1
- package/lib/Utils/validate-connection.js.map +0 -1
- package/lib/WABinary/constants.d.ts.map +0 -1
- package/lib/WABinary/constants.js.map +0 -1
- package/lib/WABinary/decode.d.ts.map +0 -1
- package/lib/WABinary/decode.js.map +0 -1
- package/lib/WABinary/encode.d.ts.map +0 -1
- package/lib/WABinary/encode.js.map +0 -1
- package/lib/WABinary/generic-utils.d.ts.map +0 -1
- package/lib/WABinary/generic-utils.js.map +0 -1
- package/lib/WABinary/index.d.ts.map +0 -1
- package/lib/WABinary/index.js.map +0 -1
- package/lib/WABinary/jid-utils.d.ts.map +0 -1
- package/lib/WABinary/jid-utils.js.map +0 -1
- package/lib/WABinary/types.d.ts.map +0 -1
- package/lib/WABinary/types.js.map +0 -1
- package/lib/WAM/BinaryInfo.d.ts.map +0 -1
- package/lib/WAM/BinaryInfo.js.map +0 -1
- package/lib/WAM/constants.d.ts.map +0 -1
- package/lib/WAM/constants.js.map +0 -1
- package/lib/WAM/encode.d.ts.map +0 -1
- package/lib/WAM/encode.js.map +0 -1
- package/lib/WAM/index.d.ts.map +0 -1
- package/lib/WAM/index.js.map +0 -1
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -26
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -51
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -10
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -29
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/index.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/index.js.map +0 -1
- package/lib/WAUSync/USyncQuery.d.ts.map +0 -1
- package/lib/WAUSync/USyncQuery.js.map +0 -1
- package/lib/WAUSync/USyncUser.d.ts.map +0 -1
- package/lib/WAUSync/USyncUser.js.map +0 -1
- package/lib/WAUSync/index.d.ts.map +0 -1
- package/lib/WAUSync/index.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
|
@@ -1,39 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const { senderAlt } = extractAddressingContext(stanza);
|
|
17
|
-
if (senderAlt && isLidUser(senderAlt) && isPnUser(sender) && decryptionJid === sender) {
|
|
18
|
-
try {
|
|
19
|
-
await repository.lidMapping.storeLIDPNMappings([{ lid: senderAlt, pn: sender }]);
|
|
20
|
-
await repository.migrateSession(sender, senderAlt);
|
|
21
|
-
logger.debug({ sender, senderAlt }, 'Stored LID mapping from envelope');
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
logger.warn({ sender, senderAlt, error }, 'Failed to store LID mapping');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
export const NO_MESSAGE_FOUND_ERROR_TEXT = 'Message absent from node';
|
|
29
|
-
export const MISSING_KEYS_ERROR_TEXT = 'Key used already or never filled';
|
|
30
|
-
// Retry configuration for failed decryption
|
|
31
|
-
export const DECRYPTION_RETRY_CONFIG = {
|
|
32
|
-
maxRetries: 3,
|
|
33
|
-
baseDelayMs: 100,
|
|
34
|
-
sessionRecordErrors: ['No session record', 'SessionError: No session record']
|
|
35
|
-
};
|
|
36
|
-
export const NACK_REASONS = {
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true })
|
|
4
|
+
|
|
5
|
+
const boom_1 = require("@hapi/boom")
|
|
6
|
+
const WAProto_1 = require("../../WAProto")
|
|
7
|
+
const WABinary_1 = require("../WABinary")
|
|
8
|
+
const generics_1 = require("./generics")
|
|
9
|
+
const messages_1 = require("./messages")
|
|
10
|
+
|
|
11
|
+
const NO_MESSAGE_FOUND_ERROR_TEXT = 'Message absent from node'
|
|
12
|
+
|
|
13
|
+
const MISSING_KEYS_ERROR_TEXT = 'Key used already or never filled'
|
|
14
|
+
|
|
15
|
+
const NACK_REASONS = {
|
|
37
16
|
ParsingError: 487,
|
|
38
17
|
UnrecognizedStanza: 488,
|
|
39
18
|
UnrecognizedStanzaClass: 489,
|
|
@@ -47,233 +26,228 @@ export const NACK_REASONS = {
|
|
|
47
26
|
UnsupportedAdminRevoke: 550,
|
|
48
27
|
UnsupportedLIDGroup: 551,
|
|
49
28
|
DBOperationFailed: 552
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
let senderAlt;
|
|
53
|
-
let recipientAlt;
|
|
54
|
-
const sender = stanza.attrs.participant || stanza.attrs.from;
|
|
55
|
-
const addressingMode = stanza.attrs.addressing_mode || (sender?.endsWith('lid') ? 'lid' : 'pn');
|
|
56
|
-
if (addressingMode === 'lid') {
|
|
57
|
-
// Message is LID-addressed: sender is LID, extract corresponding PN
|
|
58
|
-
// without device data
|
|
59
|
-
senderAlt = stanza.attrs.participant_pn || stanza.attrs.sender_pn || stanza.attrs.peer_recipient_pn;
|
|
60
|
-
recipientAlt = stanza.attrs.recipient_pn;
|
|
61
|
-
// with device data
|
|
62
|
-
//if (sender && senderAlt) senderAlt = transferDevice(sender, senderAlt)
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
// Message is PN-addressed: sender is PN, extract corresponding LID
|
|
66
|
-
// without device data
|
|
67
|
-
senderAlt = stanza.attrs.participant_lid || stanza.attrs.sender_lid || stanza.attrs.peer_recipient_lid;
|
|
68
|
-
recipientAlt = stanza.attrs.recipient_lid;
|
|
69
|
-
//with device data
|
|
70
|
-
//if (sender && senderAlt) senderAlt = transferDevice(sender, senderAlt)
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
addressingMode,
|
|
74
|
-
senderAlt,
|
|
75
|
-
recipientAlt
|
|
76
|
-
};
|
|
77
|
-
};
|
|
29
|
+
}
|
|
30
|
+
|
|
78
31
|
/**
|
|
79
32
|
* Decode the received node as a message.
|
|
80
33
|
* @note this will only parse the message, not decrypt it
|
|
81
34
|
*/
|
|
82
|
-
|
|
83
|
-
let msgType
|
|
84
|
-
let chatId
|
|
85
|
-
let author
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
35
|
+
function decodeMessageNode(stanza, meId, meLid) {
|
|
36
|
+
let msgType
|
|
37
|
+
let chatId
|
|
38
|
+
let author
|
|
39
|
+
const msgId = stanza.attrs.id
|
|
40
|
+
const from = stanza.attrs.from
|
|
41
|
+
let participant = stanza.attrs.participant
|
|
42
|
+
if (participant && participant.endsWith('@lid') && stanza.attrs.participant_pn) {
|
|
43
|
+
participant = stanza.attrs.participant_pn;
|
|
44
|
+
}
|
|
45
|
+
const recipient = stanza.attrs.recipient
|
|
46
|
+
const isMe = (jid) => WABinary_1.areJidsSameUser(jid, meId)
|
|
47
|
+
const isMeLid = (jid) => WABinary_1.areJidsSameUser(jid, meLid)
|
|
48
|
+
if (WABinary_1.isJidUser(from)) {
|
|
49
|
+
if (recipient) {
|
|
50
|
+
if (!isMe(from)) {
|
|
51
|
+
throw new boom_1.Boom('receipient present, but msg not from me', { data: stanza })
|
|
98
52
|
}
|
|
99
|
-
|
|
100
|
-
|
|
53
|
+
chatId = recipient
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
chatId = from
|
|
57
|
+
}
|
|
58
|
+
msgType = 'chat'
|
|
59
|
+
author = from
|
|
60
|
+
}
|
|
61
|
+
else if (WABinary_1.isLidUser(from)) {
|
|
62
|
+
if (recipient) {
|
|
63
|
+
if (!isMeLid(from)) {
|
|
64
|
+
throw new boom_1.Boom('receipient present, but msg not from me', { data: stanza })
|
|
101
65
|
}
|
|
102
|
-
chatId = recipient
|
|
66
|
+
chatId = recipient
|
|
103
67
|
}
|
|
104
68
|
else {
|
|
105
|
-
chatId = from
|
|
69
|
+
chatId = from
|
|
106
70
|
}
|
|
107
|
-
msgType = 'chat'
|
|
108
|
-
author = from
|
|
71
|
+
msgType = 'chat'
|
|
72
|
+
author = from
|
|
109
73
|
}
|
|
110
|
-
else if (isJidGroup(from)) {
|
|
74
|
+
else if (WABinary_1.isJidGroup(from)) {
|
|
111
75
|
if (!participant) {
|
|
112
|
-
throw new Boom('No participant in group message')
|
|
76
|
+
throw new boom_1.Boom('No participant in group message')
|
|
113
77
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
msgType = 'group';
|
|
118
|
-
author = participant;
|
|
119
|
-
chatId = from;
|
|
78
|
+
msgType = 'group'
|
|
79
|
+
author = participant
|
|
80
|
+
chatId = from
|
|
120
81
|
}
|
|
121
|
-
else if (isJidBroadcast(from)) {
|
|
82
|
+
else if (WABinary_1.isJidBroadcast(from)) {
|
|
122
83
|
if (!participant) {
|
|
123
|
-
throw new Boom('No participant in group message')
|
|
84
|
+
throw new boom_1.Boom('No participant in group message')
|
|
124
85
|
}
|
|
125
|
-
const isParticipantMe = isMe(participant)
|
|
126
|
-
if (isJidStatusBroadcast(from)) {
|
|
127
|
-
msgType = isParticipantMe ? 'direct_peer_status' : 'other_status'
|
|
86
|
+
const isParticipantMe = isMe(participant)
|
|
87
|
+
if (WABinary_1.isJidStatusBroadcast(from)) {
|
|
88
|
+
msgType = isParticipantMe ? 'direct_peer_status' : 'other_status'
|
|
128
89
|
}
|
|
129
90
|
else {
|
|
130
|
-
msgType = isParticipantMe ? 'peer_broadcast' : 'other_broadcast'
|
|
91
|
+
msgType = isParticipantMe ? 'peer_broadcast' : 'other_broadcast'
|
|
131
92
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
author = participant;
|
|
93
|
+
chatId = from
|
|
94
|
+
author = participant
|
|
135
95
|
}
|
|
136
|
-
else if (isJidNewsletter(from)) {
|
|
137
|
-
msgType = 'newsletter'
|
|
138
|
-
chatId = from
|
|
139
|
-
author = from
|
|
140
|
-
if (isMe(from) || isMeLid(from)) {
|
|
141
|
-
fromMe = true;
|
|
142
|
-
}
|
|
96
|
+
else if (WABinary_1.isJidNewsletter(from)) {
|
|
97
|
+
msgType = 'newsletter'
|
|
98
|
+
chatId = from
|
|
99
|
+
author = from
|
|
143
100
|
}
|
|
144
101
|
else {
|
|
145
|
-
throw new Boom('Unknown message type', { data: stanza })
|
|
102
|
+
throw new boom_1.Boom('Unknown message type', { data: stanza })
|
|
146
103
|
}
|
|
147
|
-
|
|
104
|
+
const senderJid = stanza.attrs.participant || stanza.attrs.from;
|
|
105
|
+
|
|
106
|
+
const fromMe = WABinary_1.isJidNewsletter(stanza.attrs.from)
|
|
107
|
+
? !!stanza.attrs?.is_sender
|
|
108
|
+
: WABinary_1.isLidUser(senderJid)
|
|
109
|
+
? (0, WABinary_1.areJidsSameUser)(senderJid, meLid)
|
|
110
|
+
: (0, WABinary_1.areJidsSameUser)(senderJid, meId);
|
|
111
|
+
|
|
112
|
+
const pushname = stanza?.attrs?.notify
|
|
148
113
|
const key = {
|
|
149
114
|
remoteJid: chatId,
|
|
150
|
-
remoteJidAlt: !isJidGroup(chatId) ? addressingContext.senderAlt : undefined,
|
|
151
115
|
fromMe,
|
|
152
116
|
id: msgId,
|
|
153
|
-
participant,
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
};
|
|
117
|
+
...(participant !== undefined && { participant: fromMe ? meId : participant }),
|
|
118
|
+
...(stanza.attrs.participant_pn !== undefined && { participant_pn: fromMe ? meId : stanza.attrs.participant_pn }),
|
|
119
|
+
...(stanza.attrs.participant_lid !== undefined && { participant_lid: fromMe ? meLid : stanza.attrs.participant_lid }),
|
|
120
|
+
}
|
|
158
121
|
const fullMessage = {
|
|
159
122
|
key,
|
|
160
123
|
messageTimestamp: +stanza.attrs.t,
|
|
161
124
|
pushName: pushname,
|
|
162
|
-
broadcast: isJidBroadcast(from)
|
|
163
|
-
|
|
125
|
+
broadcast: WABinary_1.isJidBroadcast(from),
|
|
126
|
+
newsletter: WABinary_1.isJidNewsletter(from),
|
|
127
|
+
additionalAttributes: stanza.attrs
|
|
128
|
+
}
|
|
129
|
+
if (msgType === 'newsletter') {
|
|
130
|
+
fullMessage.newsletter_server_id = +stanza.attrs?.server_id
|
|
131
|
+
}
|
|
164
132
|
if (key.fromMe) {
|
|
165
|
-
fullMessage.status = proto.WebMessageInfo.Status.SERVER_ACK
|
|
133
|
+
fullMessage.status = WAProto_1.proto.WebMessageInfo.Status.SERVER_ACK
|
|
134
|
+
}
|
|
135
|
+
if (!key.fromMe) {
|
|
136
|
+
fullMessage.platform = messages_1.getDevice(key.id)
|
|
166
137
|
}
|
|
167
138
|
return {
|
|
168
139
|
fullMessage,
|
|
169
140
|
author,
|
|
170
141
|
sender: msgType === 'chat' ? author : chatId
|
|
171
|
-
}
|
|
142
|
+
}
|
|
172
143
|
}
|
|
173
|
-
|
|
174
|
-
|
|
144
|
+
|
|
145
|
+
const decryptMessageNode = (stanza, meId, meLid, repository, logger) => {
|
|
146
|
+
const { fullMessage, author, sender } = decodeMessageNode(stanza, meId, meLid)
|
|
175
147
|
return {
|
|
176
148
|
fullMessage,
|
|
177
149
|
category: stanza.attrs.category,
|
|
178
150
|
author,
|
|
179
151
|
async decrypt() {
|
|
180
|
-
let decryptables = 0
|
|
152
|
+
let decryptables = 0
|
|
181
153
|
if (Array.isArray(stanza.content)) {
|
|
182
154
|
for (const { tag, attrs, content } of stanza.content) {
|
|
183
155
|
if (tag === 'verified_name' && content instanceof Uint8Array) {
|
|
184
|
-
const cert = proto.VerifiedNameCertificate.decode(content)
|
|
185
|
-
const details = proto.VerifiedNameCertificate.Details.decode(cert.details)
|
|
186
|
-
fullMessage.verifiedBizName = details.verifiedName
|
|
156
|
+
const cert = WAProto_1.proto.VerifiedNameCertificate.decode(content)
|
|
157
|
+
const details = WAProto_1.proto.VerifiedNameCertificate.Details.decode(cert.details)
|
|
158
|
+
fullMessage.verifiedBizName = details.verifiedName
|
|
159
|
+
}
|
|
160
|
+
if (tag === 'multicast' && content instanceof Uint8Array) {
|
|
161
|
+
fullMessage.multicast = true
|
|
187
162
|
}
|
|
188
|
-
if (tag === '
|
|
189
|
-
fullMessage.
|
|
163
|
+
if (tag === 'meta' && content instanceof Uint8Array) {
|
|
164
|
+
fullMessage.metaInfo = {
|
|
165
|
+
targetID: attrs.target_id
|
|
166
|
+
}
|
|
167
|
+
if (attrs.target_sender_jid) {
|
|
168
|
+
fullMessage.metaInfo.targetSender = WABinary_1.jidNormalizedUser(attrs.target_sender_jid)
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (tag === 'bot' && content instanceof Uint8Array) {
|
|
172
|
+
if (attrs.edit) {
|
|
173
|
+
fullMessage.botInfo = {
|
|
174
|
+
editType: attrs.edit,
|
|
175
|
+
editTargetID: attrs.edit_target_id,
|
|
176
|
+
editSenderTimestampMS: attrs.sender_timestamp_ms
|
|
177
|
+
}
|
|
178
|
+
}
|
|
190
179
|
}
|
|
191
180
|
if (tag !== 'enc' && tag !== 'plaintext') {
|
|
192
|
-
continue
|
|
181
|
+
continue
|
|
193
182
|
}
|
|
194
183
|
if (!(content instanceof Uint8Array)) {
|
|
195
|
-
continue
|
|
196
|
-
}
|
|
197
|
-
decryptables += 1;
|
|
198
|
-
let msgBuffer;
|
|
199
|
-
const decryptionJid = await getDecryptionJid(author, repository);
|
|
200
|
-
if (tag !== 'plaintext') {
|
|
201
|
-
// TODO: Handle hosted devices
|
|
202
|
-
await storeMappingFromEnvelope(stanza, author, repository, decryptionJid, logger);
|
|
184
|
+
continue
|
|
203
185
|
}
|
|
186
|
+
decryptables += 1
|
|
187
|
+
let msgBuffer
|
|
204
188
|
try {
|
|
205
|
-
const e2eType = tag === 'plaintext' ? 'plaintext' : attrs.type
|
|
189
|
+
const e2eType = tag === 'plaintext' ? 'plaintext' : attrs.type
|
|
206
190
|
switch (e2eType) {
|
|
207
191
|
case 'skmsg':
|
|
208
192
|
msgBuffer = await repository.decryptGroupMessage({
|
|
209
193
|
group: sender,
|
|
210
194
|
authorJid: author,
|
|
211
195
|
msg: content
|
|
212
|
-
})
|
|
213
|
-
break
|
|
196
|
+
})
|
|
197
|
+
break
|
|
214
198
|
case 'pkmsg':
|
|
215
199
|
case 'msg':
|
|
200
|
+
const user = WABinary_1.isJidUser(sender) ? sender : author
|
|
216
201
|
msgBuffer = await repository.decryptMessage({
|
|
217
|
-
jid:
|
|
202
|
+
jid: user,
|
|
218
203
|
type: e2eType,
|
|
219
204
|
ciphertext: content
|
|
220
|
-
})
|
|
221
|
-
break
|
|
205
|
+
})
|
|
206
|
+
break
|
|
222
207
|
case 'plaintext':
|
|
223
|
-
msgBuffer = content
|
|
224
|
-
break
|
|
208
|
+
msgBuffer = content
|
|
209
|
+
break
|
|
225
210
|
default:
|
|
226
|
-
throw new Error(`Unknown e2e type: ${e2eType}`)
|
|
211
|
+
throw new Error(`Unknown e2e type: ${e2eType}`)
|
|
227
212
|
}
|
|
228
|
-
let msg = proto.Message.decode(e2eType !== 'plaintext' ? unpadRandomMax16(msgBuffer) : msgBuffer)
|
|
229
|
-
msg = msg.deviceSentMessage?.message || msg
|
|
213
|
+
let msg = WAProto_1.proto.Message.decode(e2eType !== 'plaintext' ? generics_1.unpadRandomMax16(msgBuffer) : msgBuffer)
|
|
214
|
+
msg = msg.deviceSentMessage?.message || msg
|
|
230
215
|
if (msg.senderKeyDistributionMessage) {
|
|
231
216
|
//eslint-disable-next-line max-depth
|
|
232
217
|
try {
|
|
233
218
|
await repository.processSenderKeyDistributionMessage({
|
|
234
219
|
authorJid: author,
|
|
235
220
|
item: msg.senderKeyDistributionMessage
|
|
236
|
-
})
|
|
221
|
+
})
|
|
237
222
|
}
|
|
238
223
|
catch (err) {
|
|
239
|
-
logger.error({ key: fullMessage.key, err }, 'failed to
|
|
224
|
+
logger.error({ key: fullMessage.key, err }, 'failed to decrypt message')
|
|
240
225
|
}
|
|
241
226
|
}
|
|
242
227
|
if (fullMessage.message) {
|
|
243
|
-
Object.assign(fullMessage.message, msg)
|
|
228
|
+
Object.assign(fullMessage.message, msg)
|
|
244
229
|
}
|
|
245
230
|
else {
|
|
246
|
-
fullMessage.message = msg
|
|
231
|
+
fullMessage.message = msg
|
|
247
232
|
}
|
|
248
233
|
}
|
|
249
234
|
catch (err) {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
messageType: tag === 'plaintext' ? 'plaintext' : attrs.type,
|
|
254
|
-
sender,
|
|
255
|
-
author,
|
|
256
|
-
isSessionRecordError: isSessionRecordError(err)
|
|
257
|
-
};
|
|
258
|
-
logger.error(errorContext, 'failed to decrypt message');
|
|
259
|
-
fullMessage.messageStubType = proto.WebMessageInfo.StubType.CIPHERTEXT;
|
|
260
|
-
fullMessage.messageStubParameters = [err.message.toString()];
|
|
235
|
+
logger.error({ key: fullMessage.key, err }, 'failed to decrypt message')
|
|
236
|
+
fullMessage.messageStubType = WAProto_1.proto.WebMessageInfo.StubType.CIPHERTEXT
|
|
237
|
+
fullMessage.messageStubParameters = [err.message]
|
|
261
238
|
}
|
|
262
239
|
}
|
|
263
240
|
}
|
|
264
241
|
// if nothing was found to decrypt
|
|
265
242
|
if (!decryptables) {
|
|
266
|
-
fullMessage.messageStubType = proto.WebMessageInfo.StubType.CIPHERTEXT
|
|
267
|
-
fullMessage.messageStubParameters = [NO_MESSAGE_FOUND_ERROR_TEXT]
|
|
243
|
+
fullMessage.messageStubType = WAProto_1.proto.WebMessageInfo.StubType.CIPHERTEXT
|
|
244
|
+
fullMessage.messageStubParameters = [NO_MESSAGE_FOUND_ERROR_TEXT]
|
|
268
245
|
}
|
|
269
246
|
}
|
|
270
|
-
}
|
|
271
|
-
};
|
|
272
|
-
/**
|
|
273
|
-
* Utility function to check if an error is related to missing session record
|
|
274
|
-
*/
|
|
275
|
-
function isSessionRecordError(error) {
|
|
276
|
-
const errorMessage = error?.message || error?.toString() || '';
|
|
277
|
-
return DECRYPTION_RETRY_CONFIG.sessionRecordErrors.some(errorPattern => errorMessage.includes(errorPattern));
|
|
247
|
+
}
|
|
278
248
|
}
|
|
279
|
-
|
|
249
|
+
|
|
250
|
+
module.exports = {
|
|
251
|
+
decodeMessageNode,
|
|
252
|
+
decryptMessageNode
|
|
253
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { BaileysEventEmitter, BaileysEventMap } from '../Types'
|
|
2
|
+
import { ILogger } from './logger'
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
5
|
* A map that contains a list of all events that have been triggered
|
|
5
6
|
*
|
|
@@ -7,28 +8,32 @@ import type { ILogger } from './logger.js';
|
|
|
7
8
|
* this can make processing events extremely efficient -- since everything
|
|
8
9
|
* can be done in a single transaction
|
|
9
10
|
*/
|
|
10
|
-
type BaileysEventData = Partial<BaileysEventMap
|
|
11
|
+
type BaileysEventData = Partial<BaileysEventMap>
|
|
12
|
+
|
|
11
13
|
type BaileysBufferableEventEmitter = BaileysEventEmitter & {
|
|
12
14
|
/** Use to process events in a batch */
|
|
13
|
-
process(handler: (events: BaileysEventData) => void | Promise<void>): () => void
|
|
15
|
+
process(handler: (events: BaileysEventData) => void | Promise<void>): (() => void)
|
|
14
16
|
/**
|
|
15
17
|
* starts buffering events, call flush() to release them
|
|
16
18
|
* */
|
|
17
|
-
buffer(): void
|
|
19
|
+
buffer(): void
|
|
18
20
|
/** buffers all events till the promise completes */
|
|
19
|
-
createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): (...args: A) => Promise<T
|
|
21
|
+
createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): ((...args: A) => Promise<T>)
|
|
20
22
|
/**
|
|
21
23
|
* flushes all buffered events
|
|
24
|
+
* @param force if true, will flush all data regardless of any pending buffers
|
|
22
25
|
* @returns returns true if the flush actually happened, otherwise false
|
|
23
26
|
*/
|
|
24
|
-
flush(): boolean
|
|
27
|
+
flush(force?: boolean): boolean
|
|
25
28
|
/** is there an ongoing buffer */
|
|
26
|
-
isBuffering(): boolean
|
|
27
|
-
}
|
|
29
|
+
isBuffering(): boolean
|
|
30
|
+
}
|
|
31
|
+
|
|
28
32
|
/**
|
|
29
33
|
* The event buffer logically consolidates different events into a single event
|
|
30
34
|
* making the data processing more efficient.
|
|
35
|
+
* @param ev the baileys event emitter
|
|
31
36
|
*/
|
|
32
|
-
export declare const makeEventBuffer: (logger: ILogger) => BaileysBufferableEventEmitter
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
export declare const makeEventBuffer: (logger: ILogger) => BaileysBufferableEventEmitter
|
|
38
|
+
|
|
39
|
+
export {}
|