lordceaser-baileys 2.0.38 → 2.0.39
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/LICENSE +1 -1
- package/README.md +660 -1073
- package/WAProto/GenerateStatics.sh +4 -3
- package/WAProto/WAProto.proto +359 -2494
- package/WAProto/index.d.ts +31460 -8461
- package/WAProto/index.js +96236 -92883
- package/WASignalGroup/GroupProtocol.js +1697 -0
- package/WASignalGroup/ciphertext_message.js +16 -0
- package/WASignalGroup/group_cipher.js +120 -0
- package/WASignalGroup/group_session_builder.js +46 -0
- package/WASignalGroup/index.js +5 -0
- package/WASignalGroup/keyhelper.js +21 -0
- package/WASignalGroup/protobufs.js +3 -0
- package/WASignalGroup/queue_job.js +69 -0
- package/WASignalGroup/sender_chain_key.js +50 -0
- package/WASignalGroup/sender_key_distribution_message.js +78 -0
- package/WASignalGroup/sender_key_message.js +92 -0
- package/WASignalGroup/sender_key_name.js +70 -0
- package/WASignalGroup/sender_key_record.js +56 -0
- package/WASignalGroup/sender_key_state.js +129 -0
- package/{lib/Signal/Group/sender-message-key.js → WASignalGroup/sender_message_key.js} +16 -3
- package/index.js +417 -18
- package/lib/Defaults/baileys-version.json +3 -0
- package/lib/Defaults/index.d.ts +245 -37
- package/lib/Defaults/index.js +74 -82
- package/lib/Defaults/phonenumber-mcc.json +223 -0
- package/lib/Signal/libsignal.d.ts +3 -5
- package/lib/Signal/libsignal.js +80 -359
- package/lib/Socket/Client/{types.d.ts → abstract-socket-client.d.ts} +5 -4
- package/lib/Socket/Client/abstract-socket-client.js +13 -0
- package/lib/Socket/Client/index.d.ts +3 -3
- package/lib/Socket/Client/index.js +19 -3
- package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
- package/lib/Socket/Client/mobile-socket-client.js +65 -0
- package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +2 -3
- package/lib/Socket/Client/web-socket-client.js +62 -0
- package/lib/Socket/business.d.ts +87 -156
- package/lib/Socket/business.js +43 -162
- package/lib/Socket/chats.d.ts +40 -82
- package/lib/Socket/chats.js +284 -603
- package/lib/Socket/groups.d.ts +58 -96
- package/lib/Socket/groups.js +82 -115
- package/lib/Socket/index.d.ts +94 -204
- package/lib/Socket/index.js +9 -11
- package/lib/Socket/messages-recv.d.ts +77 -145
- package/lib/Socket/messages-recv.js +400 -1305
- package/lib/Socket/messages-send.d.ts +70 -141
- package/lib/Socket/messages-send.js +249 -717
- package/lib/Socket/registration.d.ts +242 -0
- package/lib/Socket/registration.js +166 -0
- package/lib/Socket/socket.d.ts +18 -34
- package/lib/Socket/socket.js +206 -557
- package/lib/Store/index.d.ts +3 -0
- package/lib/Store/index.js +10 -0
- package/lib/Store/make-cache-manager-store.d.ts +14 -0
- package/lib/Store/make-cache-manager-store.js +83 -0
- package/lib/Store/make-in-memory-store.d.ts +118 -0
- package/lib/Store/make-in-memory-store.js +422 -0
- package/lib/Store/make-ordered-dictionary.d.ts +13 -0
- package/lib/Store/make-ordered-dictionary.js +81 -0
- package/lib/Store/object-repository.d.ts +10 -0
- package/lib/Store/object-repository.js +27 -0
- package/lib/Types/Auth.d.ts +12 -19
- package/lib/Types/Auth.js +2 -2
- package/lib/Types/Call.d.ts +1 -3
- package/lib/Types/Call.js +2 -2
- package/lib/Types/Chat.d.ts +14 -31
- package/lib/Types/Chat.js +4 -8
- package/lib/Types/Contact.d.ts +1 -8
- package/lib/Types/Contact.js +2 -2
- package/lib/Types/Events.d.ts +17 -101
- package/lib/Types/Events.js +2 -2
- package/lib/Types/GroupMetadata.d.ts +3 -18
- package/lib/Types/GroupMetadata.js +2 -2
- package/lib/Types/Label.d.ts +0 -1
- package/lib/Types/Label.js +5 -3
- package/lib/Types/LabelAssociation.d.ts +0 -1
- package/lib/Types/LabelAssociation.js +5 -3
- package/lib/Types/Message.d.ts +29 -81
- package/lib/Types/Message.js +9 -11
- package/lib/Types/Product.d.ts +1 -2
- package/lib/Types/Product.js +2 -2
- package/lib/Types/Signal.d.ts +2 -32
- package/lib/Types/Signal.js +2 -2
- package/lib/Types/Socket.d.ts +26 -46
- package/lib/Types/Socket.js +2 -3
- package/lib/Types/State.d.ts +2 -72
- package/lib/Types/State.js +2 -56
- package/lib/Types/index.d.ts +13 -16
- package/lib/Types/index.js +30 -15
- package/lib/Utils/auth-utils.d.ts +6 -12
- package/lib/Utils/auth-utils.js +143 -239
- package/lib/Utils/baileys-event-stream.d.ts +16 -0
- package/lib/Utils/baileys-event-stream.js +63 -0
- package/lib/Utils/business.d.ts +2 -3
- package/lib/Utils/business.js +69 -66
- package/lib/Utils/chat-utils.d.ts +23 -52
- package/lib/Utils/chat-utils.js +248 -380
- package/lib/Utils/crypto.d.ts +21 -17
- package/lib/Utils/crypto.js +92 -57
- package/lib/Utils/decode-wa-message.d.ts +8 -54
- package/lib/Utils/decode-wa-message.js +57 -186
- package/lib/Utils/event-buffer.d.ts +8 -9
- package/lib/Utils/event-buffer.js +76 -178
- package/lib/Utils/generics.d.ts +23 -26
- package/lib/Utils/generics.js +166 -165
- package/lib/Utils/history.d.ts +11 -16
- package/lib/Utils/history.js +53 -93
- package/lib/Utils/index.d.ts +17 -22
- package/lib/Utils/index.js +33 -22
- package/lib/Utils/link-preview.d.ts +5 -5
- package/lib/Utils/link-preview.js +24 -16
- package/lib/Utils/logger.d.ts +3 -11
- package/lib/Utils/logger.js +7 -3
- package/lib/Utils/lt-hash.d.ts +12 -8
- package/lib/Utils/lt-hash.js +46 -3
- package/lib/Utils/make-mutex.d.ts +2 -4
- package/lib/Utils/make-mutex.js +34 -24
- package/lib/Utils/messages-media.d.ts +35 -61
- package/lib/Utils/messages-media.js +301 -415
- package/lib/Utils/messages.d.ts +18 -32
- package/lib/Utils/messages.js +261 -396
- package/lib/Utils/noise-handler.d.ts +13 -12
- package/lib/Utils/noise-handler.js +98 -144
- package/lib/Utils/process-message.d.ts +12 -30
- package/lib/Utils/process-message.js +163 -439
- package/lib/Utils/signal.d.ts +5 -20
- package/lib/Utils/signal.js +74 -114
- package/lib/Utils/use-multi-file-auth-state.d.ts +1 -2
- package/lib/Utils/use-multi-file-auth-state.js +33 -61
- package/lib/Utils/validate-connection.d.ts +6 -6
- package/lib/Utils/validate-connection.js +114 -119
- package/lib/WABinary/constants.d.ts +4 -5
- package/lib/WABinary/constants.js +20 -1281
- package/lib/WABinary/decode.d.ts +4 -4
- package/lib/WABinary/decode.js +43 -51
- package/lib/WABinary/encode.d.ts +3 -3
- package/lib/WABinary/encode.js +44 -32
- package/lib/WABinary/generic-utils.d.ts +6 -6
- package/lib/WABinary/generic-utils.js +43 -46
- package/lib/WABinary/index.d.ts +5 -6
- package/lib/WABinary/index.js +21 -6
- package/lib/WABinary/jid-utils.d.ts +6 -23
- package/lib/WABinary/jid-utils.js +39 -73
- package/lib/WABinary/types.d.ts +1 -2
- package/lib/WABinary/types.js +2 -2
- package/lib/WAM/BinaryInfo.d.ts +11 -3
- package/lib/WAM/BinaryInfo.js +5 -2
- package/lib/WAM/constants.d.ts +3 -5
- package/lib/WAM/constants.js +11958 -19461
- package/lib/WAM/encode.d.ts +3 -3
- package/lib/WAM/encode.js +22 -17
- package/lib/WAM/index.d.ts +3 -4
- package/lib/WAM/index.js +19 -4
- package/lib/index.d.ts +8 -9
- package/lib/index.js +30 -11
- package/package.json +2 -2
- package/WAProto/WAProto/GenerateStatics.sh +0 -3
- package/WAProto/WAProto/WAProto.proto +0 -5479
- package/WAProto/WAProto/fix-imports.js +0 -85
- package/WAProto/WAProto/index.d.ts +0 -14017
- package/WAProto/WAProto/index.js +0 -97691
- package/WAProto/fix-imports.js +0 -85
- 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 -277
- 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 +0 -11
- 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 +0 -54
- 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 +0 -273
- package/lib/Socket/communities.d.ts.map +0 -1
- package/lib/Socket/communities.js +0 -431
- 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 +0 -3
- package/lib/Socket/mex.d.ts.map +0 -1
- package/lib/Socket/mex.js +0 -42
- package/lib/Socket/mex.js.map +0 -1
- package/lib/Socket/newsletter.d.ts +0 -170
- package/lib/Socket/newsletter.d.ts.map +0 -1
- package/lib/Socket/newsletter.js +0 -181
- 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/Mex.d.ts +0 -141
- package/lib/Types/Mex.d.ts.map +0 -1
- package/lib/Types/Mex.js +0 -37
- package/lib/Types/Mex.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 +0 -26
- package/lib/Types/USync.d.ts.map +0 -1
- package/lib/Types/USync.js +0 -2
- 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/browser-utils.d.ts +0 -4
- package/lib/Utils/browser-utils.d.ts.map +0 -1
- package/lib/Utils/browser-utils.js +0 -29
- 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/companion-reg-client-utils.d.ts +0 -17
- package/lib/Utils/companion-reg-client-utils.d.ts.map +0 -1
- package/lib/Utils/companion-reg-client-utils.js +0 -35
- package/lib/Utils/companion-reg-client-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/identity-change-handler.d.ts +0 -44
- package/lib/Utils/identity-change-handler.d.ts.map +0 -1
- package/lib/Utils/identity-change-handler.js +0 -50
- package/lib/Utils/identity-change-handler.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 +0 -115
- package/lib/Utils/message-retry-manager.d.ts.map +0 -1
- package/lib/Utils/message-retry-manager.js +0 -265
- 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/offline-node-processor.d.ts +0 -17
- package/lib/Utils/offline-node-processor.d.ts.map +0 -1
- package/lib/Utils/offline-node-processor.js +0 -40
- package/lib/Utils/offline-node-processor.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/reporting-utils.d.ts +0 -11
- package/lib/Utils/reporting-utils.d.ts.map +0 -1
- package/lib/Utils/reporting-utils.js +0 -258
- package/lib/Utils/reporting-utils.js.map +0 -1
- package/lib/Utils/signal.d.ts.map +0 -1
- package/lib/Utils/signal.js.map +0 -1
- package/lib/Utils/stanza-ack.d.ts +0 -11
- package/lib/Utils/stanza-ack.d.ts.map +0 -1
- package/lib/Utils/stanza-ack.js +0 -38
- package/lib/Utils/stanza-ack.js.map +0 -1
- package/lib/Utils/sync-action-utils.d.ts +0 -19
- package/lib/Utils/sync-action-utils.d.ts.map +0 -1
- package/lib/Utils/sync-action-utils.js +0 -49
- package/lib/Utils/sync-action-utils.js.map +0 -1
- package/lib/Utils/tc-token-utils.d.ts +0 -37
- package/lib/Utils/tc-token-utils.d.ts.map +0 -1
- package/lib/Utils/tc-token-utils.js +0 -164
- package/lib/Utils/tc-token-utils.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 +0 -10
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -52
- package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -23
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -54
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -13
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -27
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -13
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -38
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +0 -1
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +0 -10
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.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 +0 -6
- package/lib/WAUSync/Protocols/index.d.ts.map +0 -1
- package/lib/WAUSync/Protocols/index.js +0 -6
- package/lib/WAUSync/Protocols/index.js.map +0 -1
- package/lib/WAUSync/USyncQuery.d.ts +0 -30
- package/lib/WAUSync/USyncQuery.d.ts.map +0 -1
- package/lib/WAUSync/USyncQuery.js +0 -98
- package/lib/WAUSync/USyncQuery.js.map +0 -1
- package/lib/WAUSync/USyncUser.d.ts +0 -17
- package/lib/WAUSync/USyncUser.d.ts.map +0 -1
- package/lib/WAUSync/USyncUser.js +0 -31
- package/lib/WAUSync/USyncUser.js.map +0 -1
- package/lib/WAUSync/index.d.ts +0 -4
- package/lib/WAUSync/index.d.ts.map +0 -1
- package/lib/WAUSync/index.js +0 -4
- package/lib/WAUSync/index.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
package/lib/Utils/generics.js
CHANGED
|
@@ -1,45 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.bytesToCrockford = exports.trimUndefined = exports.isWABusinessPlatform = exports.getCodeFromWSError = exports.getCallStatusFromNode = exports.getErrorCodeFromStreamError = exports.getStatusFromReceiptType = exports.generateMdTagPrefix = exports.fetchLatestWaWebVersion = exports.fetchLatestBaileysVersion = exports.printQRIfNecessaryListener = exports.bindWaitForConnectionUpdate = exports.bindWaitForEvent = exports.generateMessageID = exports.generateMessageIDV2 = exports.promiseTimeout = exports.delayCancellable = exports.delay = exports.debouncedTimeout = exports.unixTimestampSeconds = exports.toNumber = exports.encodeBigEndian = exports.generateRegistrationId = exports.encodeWAMessage = exports.unpadRandomMax16 = exports.writeRandomPadMax16 = exports.getKeyAuthor = exports.BufferJSON = exports.getPlatformId = exports.Browsers = void 0;
|
|
7
|
+
const boom_1 = require("@hapi/boom");
|
|
8
|
+
const axios_1 = __importDefault(require("axios"));
|
|
9
|
+
const crypto_1 = require("crypto");
|
|
10
|
+
const os_1 = require("os");
|
|
11
|
+
const WAProto_1 = require("../../WAProto");
|
|
12
|
+
const baileys_version_json_1 = require("../Defaults/baileys-version.json");
|
|
13
|
+
const Types_1 = require("../Types");
|
|
14
|
+
const WABinary_1 = require("../WABinary");
|
|
15
|
+
const PLATFORM_MAP = {
|
|
16
|
+
'aix': 'AIX',
|
|
17
|
+
'darwin': 'Mac OS',
|
|
18
|
+
'win32': 'Windows',
|
|
19
|
+
'android': 'Android',
|
|
20
|
+
'freebsd': 'FreeBSD',
|
|
21
|
+
'openbsd': 'OpenBSD',
|
|
22
|
+
'sunos': 'Solaris'
|
|
23
|
+
};
|
|
24
|
+
exports.Browsers = {
|
|
25
|
+
ubuntu: (browser) => ['Ubuntu', browser, '22.04.4'],
|
|
26
|
+
macOS: (browser) => ['Mac OS', browser, '14.4.1'],
|
|
27
|
+
baileys: (browser) => ['Baileys', browser, '6.5.0'],
|
|
28
|
+
windows: (browser) => ['Windows', browser, '10.0.22631'],
|
|
29
|
+
/** The appropriate browser based on your OS & release */
|
|
30
|
+
appropriate: (browser) => [PLATFORM_MAP[(0, os_1.platform)()] || 'Ubuntu', browser, (0, os_1.release)()]
|
|
31
|
+
};
|
|
32
|
+
const getPlatformId = (browser) => {
|
|
33
|
+
const platformType = WAProto_1.proto.DeviceProps.PlatformType[browser.toUpperCase()];
|
|
34
|
+
return platformType ? platformType.toString().charCodeAt(0).toString() : '49'; //chrome
|
|
35
|
+
};
|
|
36
|
+
exports.getPlatformId = getPlatformId;
|
|
37
|
+
exports.BufferJSON = {
|
|
10
38
|
replacer: (k, value) => {
|
|
11
|
-
if (Buffer.isBuffer(value) || value instanceof Uint8Array || value
|
|
12
|
-
return { type: 'Buffer', data: Buffer.from(value
|
|
39
|
+
if (Buffer.isBuffer(value) || value instanceof Uint8Array || (value === null || value === void 0 ? void 0 : value.type) === 'Buffer') {
|
|
40
|
+
return { type: 'Buffer', data: Buffer.from((value === null || value === void 0 ? void 0 : value.data) || value).toString('base64') };
|
|
13
41
|
}
|
|
14
42
|
return value;
|
|
15
43
|
},
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
44
|
reviver: (_, value) => {
|
|
18
|
-
if (typeof value === 'object' && value
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
22
|
-
const keys = Object.keys(value);
|
|
23
|
-
if (keys.length > 0 && keys.every(k => !isNaN(parseInt(k, 10)))) {
|
|
24
|
-
const values = Object.values(value);
|
|
25
|
-
if (values.every(v => typeof v === 'number')) {
|
|
26
|
-
return Buffer.from(values);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
45
|
+
if (typeof value === 'object' && !!value && (value.buffer === true || value.type === 'Buffer')) {
|
|
46
|
+
const val = value.data || value.value;
|
|
47
|
+
return typeof val === 'string' ? Buffer.from(val, 'base64') : Buffer.from(val || []);
|
|
29
48
|
}
|
|
30
49
|
return value;
|
|
31
50
|
}
|
|
32
51
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
52
|
+
const getKeyAuthor = (key, meId = 'me') => (((key === null || key === void 0 ? void 0 : key.fromMe) ? meId : (key === null || key === void 0 ? void 0 : key.participant) || (key === null || key === void 0 ? void 0 : key.remoteJid)) || '');
|
|
53
|
+
exports.getKeyAuthor = getKeyAuthor;
|
|
54
|
+
const writeRandomPadMax16 = (msg) => {
|
|
55
|
+
const pad = (0, crypto_1.randomBytes)(1);
|
|
56
|
+
pad[0] &= 0xf;
|
|
57
|
+
if (!pad[0]) {
|
|
58
|
+
pad[0] = 0xf;
|
|
59
|
+
}
|
|
60
|
+
return Buffer.concat([msg, Buffer.alloc(pad[0], pad[0])]);
|
|
41
61
|
};
|
|
42
|
-
|
|
62
|
+
exports.writeRandomPadMax16 = writeRandomPadMax16;
|
|
63
|
+
const unpadRandomMax16 = (e) => {
|
|
43
64
|
const t = new Uint8Array(e);
|
|
44
65
|
if (0 === t.length) {
|
|
45
66
|
throw new Error('unpadPkcs7 given empty bytes');
|
|
@@ -50,17 +71,14 @@ export const unpadRandomMax16 = (e) => {
|
|
|
50
71
|
}
|
|
51
72
|
return new Uint8Array(t.buffer, t.byteOffset, t.length - r);
|
|
52
73
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return
|
|
74
|
+
exports.unpadRandomMax16 = unpadRandomMax16;
|
|
75
|
+
const encodeWAMessage = (message) => ((0, exports.writeRandomPadMax16)(WAProto_1.proto.Message.encode(message).finish()));
|
|
76
|
+
exports.encodeWAMessage = encodeWAMessage;
|
|
77
|
+
const generateRegistrationId = () => {
|
|
78
|
+
return Uint16Array.from((0, crypto_1.randomBytes)(2))[0] & 16383;
|
|
58
79
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return Uint16Array.from(randomBytes(2))[0] & 16383;
|
|
62
|
-
};
|
|
63
|
-
export const encodeBigEndian = (e, t = 4) => {
|
|
80
|
+
exports.generateRegistrationId = generateRegistrationId;
|
|
81
|
+
const encodeBigEndian = (e, t = 4) => {
|
|
64
82
|
let r = e;
|
|
65
83
|
const a = new Uint8Array(t);
|
|
66
84
|
for (let i = t - 1; i >= 0; i--) {
|
|
@@ -69,28 +87,33 @@ export const encodeBigEndian = (e, t = 4) => {
|
|
|
69
87
|
}
|
|
70
88
|
return a;
|
|
71
89
|
};
|
|
72
|
-
|
|
90
|
+
exports.encodeBigEndian = encodeBigEndian;
|
|
91
|
+
const toNumber = (t) => ((typeof t === 'object' && t) ? ('toNumber' in t ? t.toNumber() : t.low) : t);
|
|
92
|
+
exports.toNumber = toNumber;
|
|
73
93
|
/** unix timestamp of a date in seconds */
|
|
74
|
-
|
|
75
|
-
|
|
94
|
+
const unixTimestampSeconds = (date = new Date()) => Math.floor(date.getTime() / 1000);
|
|
95
|
+
exports.unixTimestampSeconds = unixTimestampSeconds;
|
|
96
|
+
const debouncedTimeout = (intervalMs = 1000, task) => {
|
|
76
97
|
let timeout;
|
|
77
98
|
return {
|
|
78
99
|
start: (newIntervalMs, newTask) => {
|
|
79
100
|
task = newTask || task;
|
|
80
101
|
intervalMs = newIntervalMs || intervalMs;
|
|
81
102
|
timeout && clearTimeout(timeout);
|
|
82
|
-
timeout = setTimeout(() => task
|
|
103
|
+
timeout = setTimeout(() => task === null || task === void 0 ? void 0 : task(), intervalMs);
|
|
83
104
|
},
|
|
84
105
|
cancel: () => {
|
|
85
106
|
timeout && clearTimeout(timeout);
|
|
86
107
|
timeout = undefined;
|
|
87
108
|
},
|
|
88
|
-
setTask: (newTask) =>
|
|
89
|
-
setInterval: (newInterval) =>
|
|
109
|
+
setTask: (newTask) => task = newTask,
|
|
110
|
+
setInterval: (newInterval) => intervalMs = newInterval
|
|
90
111
|
};
|
|
91
112
|
};
|
|
92
|
-
|
|
93
|
-
|
|
113
|
+
exports.debouncedTimeout = debouncedTimeout;
|
|
114
|
+
const delay = (ms) => (0, exports.delayCancellable)(ms).delay;
|
|
115
|
+
exports.delay = delay;
|
|
116
|
+
const delayCancellable = (ms) => {
|
|
94
117
|
const stack = new Error().stack;
|
|
95
118
|
let timeout;
|
|
96
119
|
let reject;
|
|
@@ -100,7 +123,7 @@ export const delayCancellable = (ms) => {
|
|
|
100
123
|
});
|
|
101
124
|
const cancel = () => {
|
|
102
125
|
clearTimeout(timeout);
|
|
103
|
-
reject(new Boom('Cancelled', {
|
|
126
|
+
reject(new boom_1.Boom('Cancelled', {
|
|
104
127
|
statusCode: 500,
|
|
105
128
|
data: {
|
|
106
129
|
stack
|
|
@@ -109,188 +132,176 @@ export const delayCancellable = (ms) => {
|
|
|
109
132
|
};
|
|
110
133
|
return { delay, cancel };
|
|
111
134
|
};
|
|
112
|
-
|
|
135
|
+
exports.delayCancellable = delayCancellable;
|
|
136
|
+
async function promiseTimeout(ms, promise) {
|
|
113
137
|
if (!ms) {
|
|
114
138
|
return new Promise(promise);
|
|
115
139
|
}
|
|
116
140
|
const stack = new Error().stack;
|
|
117
141
|
// Create a promise that rejects in <ms> milliseconds
|
|
118
|
-
const { delay, cancel } = delayCancellable(ms);
|
|
142
|
+
const { delay, cancel } = (0, exports.delayCancellable)(ms);
|
|
119
143
|
const p = new Promise((resolve, reject) => {
|
|
120
144
|
delay
|
|
121
|
-
.then(() => reject(new Boom('Timed Out', {
|
|
122
|
-
statusCode: DisconnectReason.timedOut,
|
|
145
|
+
.then(() => reject(new boom_1.Boom('Timed Out', {
|
|
146
|
+
statusCode: Types_1.DisconnectReason.timedOut,
|
|
123
147
|
data: {
|
|
124
148
|
stack
|
|
125
149
|
}
|
|
126
150
|
})))
|
|
127
151
|
.catch(err => reject(err));
|
|
128
152
|
promise(resolve, reject);
|
|
129
|
-
})
|
|
153
|
+
})
|
|
154
|
+
.finally(cancel);
|
|
130
155
|
return p;
|
|
131
156
|
}
|
|
157
|
+
exports.promiseTimeout = promiseTimeout;
|
|
132
158
|
// inspired from whatsmeow code
|
|
133
159
|
// https://github.com/tulir/whatsmeow/blob/64bc969fbe78d31ae0dd443b8d4c80a5d026d07a/send.go#L42
|
|
134
|
-
|
|
160
|
+
const generateMessageIDV2 = (userId) => {
|
|
135
161
|
const data = Buffer.alloc(8 + 20 + 16);
|
|
136
162
|
data.writeBigUInt64BE(BigInt(Math.floor(Date.now() / 1000)));
|
|
137
163
|
if (userId) {
|
|
138
|
-
const id = jidDecode(userId);
|
|
139
|
-
if (id
|
|
164
|
+
const id = (0, WABinary_1.jidDecode)(userId);
|
|
165
|
+
if (id === null || id === void 0 ? void 0 : id.user) {
|
|
140
166
|
data.write(id.user, 8);
|
|
141
167
|
data.write('@c.us', 8 + id.user.length);
|
|
142
168
|
}
|
|
143
169
|
}
|
|
144
|
-
const random = randomBytes(16);
|
|
170
|
+
const random = (0, crypto_1.randomBytes)(16);
|
|
145
171
|
random.copy(data, 28);
|
|
146
|
-
const hash = createHash('sha256').update(data).digest();
|
|
172
|
+
const hash = (0, crypto_1.createHash)('sha256').update(data).digest();
|
|
147
173
|
return '3EB0' + hash.toString('hex').toUpperCase().substring(0, 18);
|
|
148
174
|
};
|
|
175
|
+
exports.generateMessageIDV2 = generateMessageIDV2;
|
|
149
176
|
// generate a random ID to attach to a message
|
|
150
|
-
|
|
151
|
-
|
|
177
|
+
const generateMessageID = () => '3EB0' + (0, crypto_1.randomBytes)(18).toString('hex').toUpperCase();
|
|
178
|
+
exports.generateMessageID = generateMessageID;
|
|
179
|
+
function bindWaitForEvent(ev, event) {
|
|
152
180
|
return async (check, timeoutMs) => {
|
|
153
181
|
let listener;
|
|
154
182
|
let closeListener;
|
|
155
|
-
await promiseTimeout(timeoutMs, (resolve, reject) => {
|
|
183
|
+
await (promiseTimeout(timeoutMs, (resolve, reject) => {
|
|
156
184
|
closeListener = ({ connection, lastDisconnect }) => {
|
|
157
185
|
if (connection === 'close') {
|
|
158
|
-
reject(lastDisconnect
|
|
186
|
+
reject((lastDisconnect === null || lastDisconnect === void 0 ? void 0 : lastDisconnect.error)
|
|
187
|
+
|| new boom_1.Boom('Connection Closed', { statusCode: Types_1.DisconnectReason.connectionClosed }));
|
|
159
188
|
}
|
|
160
189
|
};
|
|
161
190
|
ev.on('connection.update', closeListener);
|
|
162
|
-
listener =
|
|
163
|
-
if (
|
|
191
|
+
listener = (update) => {
|
|
192
|
+
if (check(update)) {
|
|
164
193
|
resolve();
|
|
165
194
|
}
|
|
166
195
|
};
|
|
167
196
|
ev.on(event, listener);
|
|
168
|
-
})
|
|
197
|
+
})
|
|
198
|
+
.finally(() => {
|
|
169
199
|
ev.off(event, listener);
|
|
170
200
|
ev.off('connection.update', closeListener);
|
|
171
|
-
});
|
|
201
|
+
}));
|
|
172
202
|
};
|
|
173
203
|
}
|
|
174
|
-
|
|
204
|
+
exports.bindWaitForEvent = bindWaitForEvent;
|
|
205
|
+
const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
|
|
206
|
+
exports.bindWaitForConnectionUpdate = bindWaitForConnectionUpdate;
|
|
207
|
+
const printQRIfNecessaryListener = (ev, logger) => {
|
|
208
|
+
ev.on('connection.update', async ({ qr }) => {
|
|
209
|
+
if (qr) {
|
|
210
|
+
const QR = await import('qrcode-terminal')
|
|
211
|
+
.then(m => m.default || m)
|
|
212
|
+
.catch(() => {
|
|
213
|
+
logger.error('QR code terminal not added as dependency');
|
|
214
|
+
});
|
|
215
|
+
QR === null || QR === void 0 ? void 0 : QR.generate(qr, { small: true });
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
exports.printQRIfNecessaryListener = printQRIfNecessaryListener;
|
|
175
220
|
/**
|
|
176
221
|
* utility that fetches latest baileys version from the master branch.
|
|
177
222
|
* Use to ensure your WA connection is always on the latest version
|
|
178
223
|
*/
|
|
179
|
-
|
|
180
|
-
const URL = 'https://raw.githubusercontent.com/WhiskeySockets/Baileys/master/src/Defaults/
|
|
224
|
+
const fetchLatestBaileysVersion = async (options = {}) => {
|
|
225
|
+
const URL = 'https://raw.githubusercontent.com/WhiskeySockets/Baileys/master/src/Defaults/baileys-version.json';
|
|
181
226
|
try {
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
headers: options.headers
|
|
227
|
+
const result = await axios_1.default.get(URL, {
|
|
228
|
+
...options,
|
|
229
|
+
responseType: 'json'
|
|
186
230
|
});
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
// Extract version from line 7 (const version = [...])
|
|
192
|
-
const lines = text.split('\n');
|
|
193
|
-
const versionLine = lines[6]; // Line 7 (0-indexed)
|
|
194
|
-
const versionMatch = versionLine.match(/const version = \[(\d+),\s*(\d+),\s*(\d+)\]/);
|
|
195
|
-
if (versionMatch) {
|
|
196
|
-
const version = [parseInt(versionMatch[1]), parseInt(versionMatch[2]), parseInt(versionMatch[3])];
|
|
197
|
-
return {
|
|
198
|
-
version,
|
|
199
|
-
isLatest: true
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
throw new Error('Could not parse version from Defaults/index.ts');
|
|
204
|
-
}
|
|
231
|
+
return {
|
|
232
|
+
version: result.data.version,
|
|
233
|
+
isLatest: true
|
|
234
|
+
};
|
|
205
235
|
}
|
|
206
236
|
catch (error) {
|
|
207
237
|
return {
|
|
208
|
-
version:
|
|
238
|
+
version: baileys_version_json_1.version,
|
|
209
239
|
isLatest: false,
|
|
210
240
|
error
|
|
211
241
|
};
|
|
212
242
|
}
|
|
213
243
|
};
|
|
244
|
+
exports.fetchLatestBaileysVersion = fetchLatestBaileysVersion;
|
|
214
245
|
/**
|
|
215
246
|
* A utility that fetches the latest web version of whatsapp.
|
|
216
247
|
* Use to ensure your WA connection is always on the latest version
|
|
217
248
|
*/
|
|
218
|
-
|
|
249
|
+
const fetchLatestWaWebVersion = async (options) => {
|
|
219
250
|
try {
|
|
220
|
-
|
|
221
|
-
const defaultHeaders = {
|
|
222
|
-
'sec-fetch-site': 'none',
|
|
223
|
-
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
|
|
224
|
-
};
|
|
225
|
-
const headers = { ...defaultHeaders, ...options.headers };
|
|
226
|
-
const response = await fetch('https://web.whatsapp.com/sw.js', {
|
|
251
|
+
const result = await axios_1.default.get('https://web.whatsapp.com/check-update?version=1&platform=web', {
|
|
227
252
|
...options,
|
|
228
|
-
|
|
229
|
-
headers
|
|
253
|
+
responseType: 'json'
|
|
230
254
|
});
|
|
231
|
-
|
|
232
|
-
throw new Boom(`Failed to fetch sw.js: ${response.statusText}`, { statusCode: response.status });
|
|
233
|
-
}
|
|
234
|
-
const data = await response.text();
|
|
235
|
-
const regex = /\\?"client_revision\\?":\s*(\d+)/;
|
|
236
|
-
const match = data.match(regex);
|
|
237
|
-
if (!match?.[1]) {
|
|
238
|
-
return {
|
|
239
|
-
version: baileysVersion,
|
|
240
|
-
isLatest: false,
|
|
241
|
-
error: {
|
|
242
|
-
message: 'Could not find client revision in the fetched content'
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
const clientRevision = match[1];
|
|
255
|
+
const version = result.data.currentVersion.split('.');
|
|
247
256
|
return {
|
|
248
|
-
version: [
|
|
257
|
+
version: [+version[0], +version[1], +version[2]],
|
|
249
258
|
isLatest: true
|
|
250
259
|
};
|
|
251
260
|
}
|
|
252
261
|
catch (error) {
|
|
253
262
|
return {
|
|
254
|
-
version:
|
|
263
|
+
version: baileys_version_json_1.version,
|
|
255
264
|
isLatest: false,
|
|
256
265
|
error
|
|
257
266
|
};
|
|
258
267
|
}
|
|
259
268
|
};
|
|
269
|
+
exports.fetchLatestWaWebVersion = fetchLatestWaWebVersion;
|
|
260
270
|
/** unique message tag prefix for MD clients */
|
|
261
|
-
|
|
262
|
-
const bytes = randomBytes(4);
|
|
271
|
+
const generateMdTagPrefix = () => {
|
|
272
|
+
const bytes = (0, crypto_1.randomBytes)(4);
|
|
263
273
|
return `${bytes.readUInt16BE()}.${bytes.readUInt16BE(2)}-`;
|
|
264
274
|
};
|
|
275
|
+
exports.generateMdTagPrefix = generateMdTagPrefix;
|
|
265
276
|
const STATUS_MAP = {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
read: proto.WebMessageInfo.Status.READ
|
|
269
|
-
'read-self': proto.WebMessageInfo.Status.READ
|
|
277
|
+
'played': WAProto_1.proto.WebMessageInfo.Status.PLAYED,
|
|
278
|
+
'read': WAProto_1.proto.WebMessageInfo.Status.READ,
|
|
279
|
+
'read-self': WAProto_1.proto.WebMessageInfo.Status.READ
|
|
270
280
|
};
|
|
271
281
|
/**
|
|
272
282
|
* Given a type of receipt, returns what the new status of the message should be
|
|
273
283
|
* @param type type from receipt
|
|
274
284
|
*/
|
|
275
|
-
|
|
285
|
+
const getStatusFromReceiptType = (type) => {
|
|
276
286
|
const status = STATUS_MAP[type];
|
|
277
287
|
if (typeof type === 'undefined') {
|
|
278
|
-
return proto.WebMessageInfo.Status.DELIVERY_ACK;
|
|
288
|
+
return WAProto_1.proto.WebMessageInfo.Status.DELIVERY_ACK;
|
|
279
289
|
}
|
|
280
290
|
return status;
|
|
281
291
|
};
|
|
292
|
+
exports.getStatusFromReceiptType = getStatusFromReceiptType;
|
|
282
293
|
const CODE_MAP = {
|
|
283
|
-
conflict: DisconnectReason.connectionReplaced
|
|
294
|
+
conflict: Types_1.DisconnectReason.connectionReplaced
|
|
284
295
|
};
|
|
285
296
|
/**
|
|
286
297
|
* Stream errors generally provide a reason, map that to a baileys DisconnectReason
|
|
287
298
|
* @param reason the string reason given, eg. "conflict"
|
|
288
299
|
*/
|
|
289
|
-
|
|
290
|
-
const [reasonNode] = getAllBinaryNodeChildren(node);
|
|
291
|
-
let reason = reasonNode
|
|
292
|
-
const statusCode = +(node.attrs.code || CODE_MAP[reason] || DisconnectReason.badSession);
|
|
293
|
-
if (statusCode === DisconnectReason.restartRequired) {
|
|
300
|
+
const getErrorCodeFromStreamError = (node) => {
|
|
301
|
+
const [reasonNode] = (0, WABinary_1.getAllBinaryNodeChildren)(node);
|
|
302
|
+
let reason = (reasonNode === null || reasonNode === void 0 ? void 0 : reasonNode.tag) || 'unknown';
|
|
303
|
+
const statusCode = +(node.attrs.code || CODE_MAP[reason] || Types_1.DisconnectReason.badSession);
|
|
304
|
+
if (statusCode === Types_1.DisconnectReason.restartRequired) {
|
|
294
305
|
reason = 'restart required';
|
|
295
306
|
}
|
|
296
307
|
return {
|
|
@@ -298,7 +309,8 @@ export const getErrorCodeFromStreamError = (node) => {
|
|
|
298
309
|
statusCode
|
|
299
310
|
};
|
|
300
311
|
};
|
|
301
|
-
|
|
312
|
+
exports.getErrorCodeFromStreamError = getErrorCodeFromStreamError;
|
|
313
|
+
const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
302
314
|
let status;
|
|
303
315
|
switch (tag) {
|
|
304
316
|
case 'offer':
|
|
@@ -314,15 +326,6 @@ export const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
|
314
326
|
status = 'terminate';
|
|
315
327
|
}
|
|
316
328
|
break;
|
|
317
|
-
case 'preaccept':
|
|
318
|
-
status = 'preaccept';
|
|
319
|
-
break;
|
|
320
|
-
case 'transport':
|
|
321
|
-
status = 'transport';
|
|
322
|
-
break;
|
|
323
|
-
case 'relaylatency':
|
|
324
|
-
status = 'relaylatency';
|
|
325
|
-
break;
|
|
326
329
|
case 'reject':
|
|
327
330
|
status = 'reject';
|
|
328
331
|
break;
|
|
@@ -335,33 +338,33 @@ export const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
|
335
338
|
}
|
|
336
339
|
return status;
|
|
337
340
|
};
|
|
341
|
+
exports.getCallStatusFromNode = getCallStatusFromNode;
|
|
338
342
|
const UNEXPECTED_SERVER_CODE_TEXT = 'Unexpected server response: ';
|
|
339
|
-
|
|
343
|
+
const getCodeFromWSError = (error) => {
|
|
344
|
+
var _a, _b, _c;
|
|
340
345
|
let statusCode = 500;
|
|
341
|
-
if (error
|
|
342
|
-
const code = +error
|
|
346
|
+
if ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
|
|
347
|
+
const code = +(error === null || error === void 0 ? void 0 : error.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length));
|
|
343
348
|
if (!Number.isNaN(code) && code >= 400) {
|
|
344
349
|
statusCode = code;
|
|
345
350
|
}
|
|
346
351
|
}
|
|
347
|
-
else if (
|
|
348
|
-
|
|
349
|
-
error?.code?.startsWith('E') ||
|
|
350
|
-
error?.message?.includes('timed out')) {
|
|
351
|
-
// handle ETIMEOUT, ENOTFOUND etc
|
|
352
|
+
else if (((_b = error === null || error === void 0 ? void 0 : error.code) === null || _b === void 0 ? void 0 : _b.startsWith('E'))
|
|
353
|
+
|| ((_c = error === null || error === void 0 ? void 0 : error.message) === null || _c === void 0 ? void 0 : _c.includes('timed out'))) { // handle ETIMEOUT, ENOTFOUND etc
|
|
352
354
|
statusCode = 408;
|
|
353
355
|
}
|
|
354
356
|
return statusCode;
|
|
355
357
|
};
|
|
358
|
+
exports.getCodeFromWSError = getCodeFromWSError;
|
|
356
359
|
/**
|
|
357
360
|
* Is the given platform WA business
|
|
358
361
|
* @param platform AuthenticationCreds.platform
|
|
359
362
|
*/
|
|
360
|
-
|
|
363
|
+
const isWABusinessPlatform = (platform) => {
|
|
361
364
|
return platform === 'smbi' || platform === 'smba';
|
|
362
365
|
};
|
|
363
|
-
|
|
364
|
-
|
|
366
|
+
exports.isWABusinessPlatform = isWABusinessPlatform;
|
|
367
|
+
function trimUndefined(obj) {
|
|
365
368
|
for (const key in obj) {
|
|
366
369
|
if (typeof obj[key] === 'undefined') {
|
|
367
370
|
delete obj[key];
|
|
@@ -369,13 +372,14 @@ export function trimUndefined(obj) {
|
|
|
369
372
|
}
|
|
370
373
|
return obj;
|
|
371
374
|
}
|
|
375
|
+
exports.trimUndefined = trimUndefined;
|
|
372
376
|
const CROCKFORD_CHARACTERS = '123456789ABCDEFGHJKLMNPQRSTVWXYZ';
|
|
373
|
-
|
|
377
|
+
function bytesToCrockford(buffer) {
|
|
374
378
|
let value = 0;
|
|
375
379
|
let bitCount = 0;
|
|
376
380
|
const crockford = [];
|
|
377
|
-
for (
|
|
378
|
-
value = (value << 8) | (
|
|
381
|
+
for (let i = 0; i < buffer.length; i++) {
|
|
382
|
+
value = (value << 8) | (buffer[i] & 0xff);
|
|
379
383
|
bitCount += 8;
|
|
380
384
|
while (bitCount >= 5) {
|
|
381
385
|
crockford.push(CROCKFORD_CHARACTERS.charAt((value >>> (bitCount - 5)) & 31));
|
|
@@ -387,7 +391,4 @@ export function bytesToCrockford(buffer) {
|
|
|
387
391
|
}
|
|
388
392
|
return crockford.join('');
|
|
389
393
|
}
|
|
390
|
-
|
|
391
|
-
return proto.Message.encode(message).finish();
|
|
392
|
-
}
|
|
393
|
-
//# sourceMappingURL=generics.js.map
|
|
394
|
+
exports.bytesToCrockford = bytesToCrockford;
|
package/lib/Utils/history.d.ts
CHANGED
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
export declare const downloadHistory: (msg: proto.Message.IHistorySyncNotification, options:
|
|
5
|
-
export declare const processHistoryMessage: (item: proto.IHistorySync
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { proto } from '../../WAProto';
|
|
3
|
+
import { Chat, Contact } from '../Types';
|
|
4
|
+
export declare const downloadHistory: (msg: proto.Message.IHistorySyncNotification, options: AxiosRequestConfig<any>) => Promise<proto.HistorySync>;
|
|
5
|
+
export declare const processHistoryMessage: (item: proto.IHistorySync) => {
|
|
6
6
|
chats: Chat[];
|
|
7
7
|
contacts: Contact[];
|
|
8
|
-
messages:
|
|
9
|
-
|
|
10
|
-
pastParticipants: proto.IPastParticipants[] | null | undefined;
|
|
11
|
-
syncType: proto.HistorySync.HistorySyncType | null | undefined;
|
|
8
|
+
messages: proto.IWebMessageInfo[];
|
|
9
|
+
syncType: proto.HistorySync.HistorySyncType;
|
|
12
10
|
progress: number | null | undefined;
|
|
13
11
|
};
|
|
14
|
-
export declare const downloadAndProcessHistorySyncNotification: (msg: proto.Message.IHistorySyncNotification, options:
|
|
12
|
+
export declare const downloadAndProcessHistorySyncNotification: (msg: proto.Message.IHistorySyncNotification, options: AxiosRequestConfig<any>) => Promise<{
|
|
15
13
|
chats: Chat[];
|
|
16
14
|
contacts: Contact[];
|
|
17
|
-
messages:
|
|
18
|
-
|
|
19
|
-
pastParticipants: proto.IPastParticipants[] | null | undefined;
|
|
20
|
-
syncType: proto.HistorySync.HistorySyncType | null | undefined;
|
|
15
|
+
messages: proto.IWebMessageInfo[];
|
|
16
|
+
syncType: proto.HistorySync.HistorySyncType;
|
|
21
17
|
progress: number | null | undefined;
|
|
22
18
|
}>;
|
|
23
|
-
export declare const getHistoryMsg: (message: proto.IMessage) => proto.Message.IHistorySyncNotification;
|
|
24
|
-
//# sourceMappingURL=history.d.ts.map
|
|
19
|
+
export declare const getHistoryMsg: (message: proto.IMessage) => proto.Message.IHistorySyncNotification | null | undefined;
|