@ubedsockets/baileys 1.7.3 → 1.7.6
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/WAProto/AICommon.js +27981 -0
- package/WAProto/AICommon.proto +713 -0
- package/WAProto/Ephemeral.js +295 -0
- package/WAProto/Ephemeral.proto +7 -0
- package/WAProto/GenerateStatics.sh +59 -16
- package/WAProto/WAProto.proto +44 -0
- package/WAProto/fix-imports.js +85 -0
- package/WAProto/index.d.ts +14017 -0
- package/WAProto/index.js +155308 -82430
- package/WAProto/vyzen.js +7 -0
- package/lib/Defaults/baileys-version.json +1 -0
- package/lib/Defaults/index.d.ts +75 -0
- package/lib/Defaults/index.d.ts.map +1 -0
- package/lib/Defaults/index.js +3 -28
- package/lib/Defaults/index.js.map +1 -0
- package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
- package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
- package/lib/Signal/Group/ciphertext-message.js.map +1 -0
- package/lib/Signal/Group/group-session-builder.d.ts +15 -0
- package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
- package/lib/Signal/Group/group-session-builder.js.map +1 -0
- package/lib/Signal/Group/group_cipher.d.ts +17 -0
- package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
- package/lib/Signal/Group/group_cipher.js +1 -1
- package/lib/Signal/Group/group_cipher.js.map +1 -0
- package/lib/Signal/Group/index.d.ts +12 -0
- package/lib/Signal/Group/index.d.ts.map +1 -0
- package/lib/Signal/Group/index.js.map +1 -0
- package/lib/Signal/Group/keyhelper.d.ts +11 -0
- package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
- package/lib/Signal/Group/keyhelper.js +34 -8
- package/lib/Signal/Group/keyhelper.js.map +1 -0
- package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
- package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
- package/lib/Signal/Group/sender-chain-key.js +1 -1
- package/lib/Signal/Group/sender-chain-key.js.map +1 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
- package/lib/Signal/Group/sender-key-message.d.ts +19 -0
- package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-message.js +1 -1
- package/lib/Signal/Group/sender-key-message.js.map +1 -0
- package/lib/Signal/Group/sender-key-name.d.ts +18 -0
- package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-name.js.map +1 -0
- package/lib/Signal/Group/sender-key-record.d.ts +31 -0
- package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-record.js.map +1 -0
- package/lib/Signal/Group/sender-key-state.d.ts +39 -0
- package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-state.js.map +1 -0
- package/lib/Signal/Group/sender-message-key.d.ts +12 -0
- package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
- package/lib/Signal/Group/sender-message-key.js +1 -1
- package/lib/Signal/Group/sender-message-key.js.map +1 -0
- package/lib/Signal/libsignal.d.ts +5 -0
- package/lib/Signal/libsignal.d.ts.map +1 -0
- package/lib/Signal/libsignal.js +1 -1
- package/lib/Signal/libsignal.js.map +1 -0
- package/lib/Signal/lid-mapping.d.ts +23 -0
- package/lib/Signal/lid-mapping.d.ts.map +1 -0
- package/lib/Signal/lid-mapping.js +277 -0
- package/lib/Signal/lid-mapping.js.map +1 -0
- package/lib/Socket/Client/index.d.ts +3 -0
- package/lib/Socket/Client/index.d.ts.map +1 -0
- package/lib/Socket/Client/index.js.map +1 -0
- package/lib/Socket/Client/types.d.ts +16 -0
- package/lib/Socket/Client/types.d.ts.map +1 -0
- package/lib/Socket/Client/types.js.map +1 -0
- package/lib/Socket/Client/websocket.d.ts +13 -0
- package/lib/Socket/Client/websocket.d.ts.map +1 -0
- package/lib/Socket/Client/websocket.js.map +1 -0
- package/lib/Socket/business.d.ts +217 -0
- package/lib/Socket/business.d.ts.map +1 -0
- package/lib/Socket/business.js.map +1 -0
- package/lib/Socket/chats.d.ts +124 -0
- package/lib/Socket/chats.d.ts.map +1 -0
- package/lib/Socket/chats.js.map +1 -0
- package/lib/Socket/communities.d.ts +273 -0
- package/lib/Socket/communities.d.ts.map +1 -0
- package/lib/Socket/communities.js +431 -0
- package/lib/Socket/communities.js.map +1 -0
- package/lib/Socket/groups.d.ts +161 -0
- package/lib/Socket/groups.d.ts.map +1 -0
- package/lib/Socket/groups.js.map +1 -0
- package/lib/Socket/index.d.ts +260 -0
- package/lib/Socket/index.d.ts.map +1 -0
- package/lib/Socket/index.js.map +1 -0
- package/lib/Socket/messages-recv.d.ts +203 -0
- package/lib/Socket/messages-recv.d.ts.map +1 -0
- package/lib/Socket/messages-recv.js +229 -46
- package/lib/Socket/messages-recv.js.map +1 -0
- package/lib/Socket/messages-send.d.ts +199 -0
- package/lib/Socket/messages-send.d.ts.map +1 -0
- package/lib/Socket/messages-send.js +394 -53
- package/lib/Socket/messages-send.js.map +1 -0
- package/lib/Socket/mex.d.ts +3 -0
- package/lib/Socket/mex.d.ts.map +1 -0
- package/lib/Socket/mex.js +42 -0
- package/lib/Socket/mex.js.map +1 -0
- package/lib/Socket/newsletter.d.ts +170 -0
- package/lib/Socket/newsletter.d.ts.map +1 -0
- package/lib/Socket/newsletter.js.map +1 -0
- package/lib/Socket/passkey-handler.js +134 -0
- package/lib/Socket/passkey.js +186 -0
- package/lib/Socket/setup.js +433 -0
- package/lib/Socket/socket.d.ts +59 -0
- package/lib/Socket/socket.d.ts.map +1 -0
- package/lib/Socket/socket.js +28 -35
- package/lib/Socket/socket.js.map +1 -0
- package/lib/Types/Auth.d.ts +117 -0
- package/lib/Types/Auth.d.ts.map +1 -0
- package/lib/Types/Auth.js.map +1 -0
- package/lib/Types/Bussines.d.ts +25 -0
- package/lib/Types/Bussines.d.ts.map +1 -0
- package/lib/Types/Bussines.js +2 -0
- package/lib/Types/Bussines.js.map +1 -0
- package/lib/Types/Call.d.ts +15 -0
- package/lib/Types/Call.d.ts.map +1 -0
- package/lib/Types/Call.js.map +1 -0
- package/lib/Types/Chat.d.ts +124 -0
- package/lib/Types/Chat.d.ts.map +1 -0
- package/lib/Types/Chat.js.map +1 -0
- package/lib/Types/Contact.d.ts +26 -0
- package/lib/Types/Contact.d.ts.map +1 -0
- package/lib/Types/Contact.js.map +1 -0
- package/lib/Types/Events.d.ts +256 -0
- package/lib/Types/Events.d.ts.map +1 -0
- package/lib/Types/Events.js.map +1 -0
- package/lib/Types/GroupMetadata.d.ts +71 -0
- package/lib/Types/GroupMetadata.d.ts.map +1 -0
- package/lib/Types/GroupMetadata.js.map +1 -0
- package/lib/Types/Label.d.ts +47 -0
- package/lib/Types/Label.d.ts.map +1 -0
- package/lib/Types/Label.js.map +1 -0
- package/lib/Types/LabelAssociation.d.ts +30 -0
- package/lib/Types/LabelAssociation.d.ts.map +1 -0
- package/lib/Types/LabelAssociation.js.map +1 -0
- package/lib/Types/Message.d.ts +320 -0
- package/lib/Types/Message.d.ts.map +1 -0
- package/lib/Types/Message.js.map +1 -0
- package/lib/Types/Mex.d.ts +141 -0
- package/lib/Types/Mex.d.ts.map +1 -0
- package/lib/Types/Mex.js +37 -0
- package/lib/Types/Mex.js.map +1 -0
- package/lib/Types/Product.d.ts +79 -0
- package/lib/Types/Product.d.ts.map +1 -0
- package/lib/Types/Product.js.map +1 -0
- package/lib/Types/RichType.d.ts +3 -0
- package/lib/Types/RichType.d.ts.map +1 -0
- package/lib/Types/RichType.js +31 -0
- package/lib/Types/Signal.d.ts +87 -0
- package/lib/Types/Signal.d.ts.map +1 -0
- package/lib/Types/Signal.js.map +1 -0
- package/lib/Types/Socket.d.ts +136 -0
- package/lib/Types/Socket.d.ts.map +1 -0
- package/lib/Types/Socket.js.map +1 -0
- package/lib/Types/State.d.ts +97 -0
- package/lib/Types/State.d.ts.map +1 -0
- package/lib/Types/State.js.map +1 -0
- package/lib/Types/USync.d.ts +26 -0
- package/lib/Types/USync.d.ts.map +1 -0
- package/lib/Types/USync.js.map +1 -0
- package/lib/Types/index.d.ts +65 -0
- package/lib/Types/index.d.ts.map +1 -0
- package/lib/Types/index.js.map +1 -0
- package/lib/Utils/Tiktok.js +80 -0
- package/lib/Utils/auth-utils.d.ts +24 -0
- package/lib/Utils/auth-utils.d.ts.map +1 -0
- package/lib/Utils/auth-utils.js.map +1 -0
- package/lib/Utils/{elaina-event-stream.js → baileys-event-stream.js} +1 -1
- package/lib/Utils/browser-utils.d.ts +4 -0
- package/lib/Utils/browser-utils.d.ts.map +1 -0
- package/lib/Utils/browser-utils.js.map +1 -0
- package/lib/Utils/business.d.ts +23 -0
- package/lib/Utils/business.d.ts.map +1 -0
- package/lib/Utils/business.js.map +1 -0
- package/lib/Utils/chaanel/vyzen.js +0 -0
- package/lib/Utils/chat-utils.d.ts +100 -0
- package/lib/Utils/chat-utils.d.ts.map +1 -0
- package/lib/Utils/chat-utils.js.map +1 -0
- package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
- package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
- package/lib/Utils/companion-reg-client-utils.js +35 -0
- package/lib/Utils/companion-reg-client-utils.js.map +1 -0
- package/lib/Utils/crypto.d.ts +37 -0
- package/lib/Utils/crypto.d.ts.map +1 -0
- package/lib/Utils/crypto.js +1 -1
- package/lib/Utils/crypto.js.map +1 -0
- package/lib/Utils/decode-wa-message.d.ts +66 -0
- package/lib/Utils/decode-wa-message.d.ts.map +1 -0
- package/lib/Utils/decode-wa-message.js.map +1 -0
- package/lib/Utils/event-buffer.d.ts +36 -0
- package/lib/Utils/event-buffer.d.ts.map +1 -0
- package/lib/Utils/event-buffer.js +2 -2
- package/lib/Utils/event-buffer.js.map +1 -0
- package/lib/Utils/facebook.js +48 -0
- package/lib/Utils/generics.d.ts +91 -0
- package/lib/Utils/generics.d.ts.map +1 -0
- package/lib/Utils/generics.js +11 -11
- package/lib/Utils/generics.js.map +1 -0
- package/lib/Utils/history.d.ts +24 -0
- package/lib/Utils/history.d.ts.map +1 -0
- package/lib/Utils/history.js.map +1 -0
- package/lib/Utils/identity-change-handler.d.ts +44 -0
- package/lib/Utils/identity-change-handler.d.ts.map +1 -0
- package/lib/Utils/identity-change-handler.js +50 -0
- package/lib/Utils/identity-change-handler.js.map +1 -0
- package/lib/Utils/index.d.ts +22 -0
- package/lib/Utils/index.d.ts.map +1 -0
- package/lib/Utils/index.js +2 -1
- package/lib/Utils/index.js.map +1 -0
- package/lib/Utils/instagram.js +50 -0
- package/lib/Utils/link-preview.d.ts +21 -0
- package/lib/Utils/link-preview.d.ts.map +1 -0
- package/lib/Utils/link-preview.js.map +1 -0
- package/lib/Utils/logger.d.ts +12 -0
- package/lib/Utils/logger.d.ts.map +1 -0
- package/lib/Utils/logger.js.map +1 -0
- package/lib/Utils/lt-hash.d.ts +8 -0
- package/lib/Utils/lt-hash.d.ts.map +1 -0
- package/lib/Utils/lt-hash.js.map +1 -0
- package/lib/Utils/make-mutex.d.ts +9 -0
- package/lib/Utils/make-mutex.d.ts.map +1 -0
- package/lib/Utils/make-mutex.js.map +1 -0
- package/lib/Utils/message-retry-manager.d.ts +115 -0
- package/lib/Utils/message-retry-manager.d.ts.map +1 -0
- package/lib/Utils/message-retry-manager.js.map +1 -0
- package/lib/Utils/messages-media.d.ts +133 -0
- package/lib/Utils/messages-media.d.ts.map +1 -0
- package/lib/Utils/messages-media.js +16 -77
- package/lib/Utils/messages-media.js.map +1 -0
- package/lib/Utils/messages.d.ts +91 -0
- package/lib/Utils/messages.d.ts.map +1 -0
- package/lib/Utils/messages.js +158 -728
- package/lib/Utils/messages.js.map +1 -0
- package/lib/Utils/noise-handler.d.ts +20 -0
- package/lib/Utils/noise-handler.d.ts.map +1 -0
- package/lib/Utils/noise-handler.js.map +1 -0
- package/lib/Utils/offline-node-processor.d.ts +17 -0
- package/lib/Utils/offline-node-processor.d.ts.map +1 -0
- package/lib/Utils/offline-node-processor.js +40 -0
- package/lib/Utils/offline-node-processor.js.map +1 -0
- package/lib/Utils/pre-key-manager.d.ts +28 -0
- package/lib/Utils/pre-key-manager.d.ts.map +1 -0
- package/lib/Utils/pre-key-manager.js +106 -0
- package/lib/Utils/pre-key-manager.js.map +1 -0
- package/lib/Utils/process-message.d.ts +60 -0
- package/lib/Utils/process-message.d.ts.map +1 -0
- package/lib/Utils/process-message.js.map +1 -0
- package/lib/Utils/protocol-debug.js +81 -0
- package/lib/Utils/reporting-utils.d.ts +11 -0
- package/lib/Utils/reporting-utils.d.ts.map +1 -0
- package/lib/Utils/reporting-utils.js +258 -0
- package/lib/Utils/reporting-utils.js.map +1 -0
- package/lib/Utils/rich-message-utils.js +387 -0
- package/lib/Utils/signal.d.ts +47 -0
- package/lib/Utils/signal.d.ts.map +1 -0
- package/lib/Utils/signal.js.map +1 -0
- package/lib/Utils/stanza-ack.d.ts +11 -0
- package/lib/Utils/stanza-ack.d.ts.map +1 -0
- package/lib/Utils/stanza-ack.js +38 -0
- package/lib/Utils/stanza-ack.js.map +1 -0
- package/lib/Utils/sync-action-utils.d.ts +19 -0
- package/lib/Utils/sync-action-utils.d.ts.map +1 -0
- package/lib/Utils/sync-action-utils.js +49 -0
- package/lib/Utils/sync-action-utils.js.map +1 -0
- package/lib/Utils/tc-token-utils.d.ts +37 -0
- package/lib/Utils/tc-token-utils.d.ts.map +1 -0
- package/lib/Utils/tc-token-utils.js +163 -0
- package/lib/Utils/tc-token-utils.js.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
- package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
- package/lib/Utils/validate-connection.d.ts +11 -0
- package/lib/Utils/validate-connection.d.ts.map +1 -0
- package/lib/Utils/validate-connection.js +5 -1
- package/lib/Utils/validate-connection.js.map +1 -0
- package/lib/Utils/youtube.js +44 -0
- package/lib/WABinary/constants.d.ts +28 -0
- package/lib/WABinary/constants.d.ts.map +1 -0
- package/lib/WABinary/constants.js.map +1 -0
- package/lib/WABinary/decode.d.ts +7 -0
- package/lib/WABinary/decode.d.ts.map +1 -0
- package/lib/WABinary/decode.js.map +1 -0
- package/lib/WABinary/encode.d.ts +3 -0
- package/lib/WABinary/encode.d.ts.map +1 -0
- package/lib/WABinary/encode.js.map +1 -0
- package/lib/WABinary/generic-utils.d.ts +15 -0
- package/lib/WABinary/generic-utils.d.ts.map +1 -0
- package/lib/WABinary/generic-utils.js.map +1 -0
- package/lib/WABinary/index.d.ts +6 -0
- package/lib/WABinary/index.d.ts.map +1 -0
- package/lib/WABinary/index.js.map +1 -0
- package/lib/WABinary/jid-utils.d.ts +48 -0
- package/lib/WABinary/jid-utils.d.ts.map +1 -0
- package/lib/WABinary/jid-utils.js.map +1 -0
- package/lib/WABinary/types.d.ts +19 -0
- package/lib/WABinary/types.d.ts.map +1 -0
- package/lib/WABinary/types.js.map +1 -0
- package/lib/WAM/BinaryInfo.d.ts +9 -0
- package/lib/WAM/BinaryInfo.d.ts.map +1 -0
- package/lib/WAM/BinaryInfo.js.map +1 -0
- package/lib/WAM/constants.d.ts +40 -0
- package/lib/WAM/constants.d.ts.map +1 -0
- package/lib/WAM/constants.js.map +1 -0
- package/lib/WAM/encode.d.ts +3 -0
- package/lib/WAM/encode.d.ts.map +1 -0
- package/lib/WAM/encode.js.map +1 -0
- package/lib/WAM/index.d.ts +4 -0
- package/lib/WAM/index.d.ts.map +1 -0
- package/lib/WAM/index.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/index.d.ts +6 -0
- package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/index.js.map +1 -0
- package/lib/WAUSync/USyncQuery.d.ts +30 -0
- package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
- package/lib/WAUSync/USyncQuery.js.map +1 -0
- package/lib/WAUSync/USyncUser.d.ts +17 -0
- package/lib/WAUSync/USyncUser.d.ts.map +1 -0
- package/lib/WAUSync/USyncUser.js.map +1 -0
- package/lib/WAUSync/index.d.ts +4 -0
- package/lib/WAUSync/index.d.ts.map +1 -0
- package/lib/WAUSync/index.js.map +1 -0
- package/lib/index.d.ts +12 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1 -21
- package/lib/index.js.map +1 -0
- package/package.json +39 -51
- package/engine-requirements.js +0 -10
- package/lib/Defaults/elaina-version.json +0 -3
- package/lib/Signal/libsignalnode/LICENSE +0 -621
- package/lib/Signal/libsignalnode/README.md +0 -11
- package/lib/Signal/libsignalnode/generate-proto.sh +0 -1
- package/lib/Signal/libsignalnode/index.js +0 -10
- package/lib/Signal/libsignalnode/protos/WhisperTextProtocol.proto +0 -28
- package/lib/Signal/libsignalnode/src/.eslintrc.json +0 -31
- package/lib/Signal/libsignalnode/src/WhisperTextProtocol.js +0 -948
- package/lib/Signal/libsignalnode/src/base_key_type.js +0 -6
- package/lib/Signal/libsignalnode/src/chain_type.js +0 -6
- package/lib/Signal/libsignalnode/src/crypto.js +0 -98
- package/lib/Signal/libsignalnode/src/curve.js +0 -142
- package/lib/Signal/libsignalnode/src/errors.js +0 -33
- package/lib/Signal/libsignalnode/src/keyhelper.js +0 -45
- package/lib/Signal/libsignalnode/src/numeric_fingerprint.js +0 -70
- package/lib/Signal/libsignalnode/src/protobufs.js +0 -10
- package/lib/Signal/libsignalnode/src/protocol_address.js +0 -40
- package/lib/Signal/libsignalnode/src/queue_job.js +0 -70
- package/lib/Signal/libsignalnode/src/session_builder.js +0 -164
- package/lib/Signal/libsignalnode/src/session_cipher.js +0 -332
- package/lib/Signal/libsignalnode/src/session_record.js +0 -325
- package/lib/Socket/RHandler.js +0 -533
|
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.makeMessagesRecvSocket = void 0;
|
|
7
7
|
const boom_1 = require("@hapi/boom");
|
|
8
8
|
const crypto_1 = require("crypto");
|
|
9
|
+
const passkey_1 = require("./passkey-handler");
|
|
10
|
+
const passkeyHandler = new passkey_1.PasskeyHandler();
|
|
9
11
|
const node_cache_1 = __importDefault(require("@cacheable/node-cache"));
|
|
10
12
|
const WAProto_1 = require("../../WAProto");
|
|
11
13
|
const Defaults_1 = require("../Defaults");
|
|
@@ -995,55 +997,77 @@ const makeMessagesRecvSocket = (config) => {
|
|
|
995
997
|
/// processes a node with the given function
|
|
996
998
|
/// and adds the task to the existing buffer if we're buffering events
|
|
997
999
|
const processNodeWithBuffer = async (node, identifier, exec) => {
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
function execTask() {
|
|
1002
|
-
return exec(node, false)
|
|
1003
|
-
.catch(err => onUnexpectedError(err, identifier));
|
|
1000
|
+
if (typeof exec !== 'function') {
|
|
1001
|
+
try {
|
|
1002
|
+
logger && logger.warn && logger.warn({ identifier, nodeTag: node?.tag }, 'processNodeWithBuffer called without a handler; skipping');
|
|
1004
1003
|
}
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1004
|
+
catch (_) { }
|
|
1005
|
+
return;
|
|
1006
|
+
}
|
|
1007
|
+
ev.buffer();
|
|
1008
|
+
await execTask();
|
|
1009
|
+
ev.flush();
|
|
1010
|
+
function execTask() {
|
|
1011
|
+
try {
|
|
1012
|
+
return Promise.resolve(exec(node, false)).catch(err => onUnexpectedError(err, identifier));
|
|
1013
|
+
}
|
|
1014
|
+
catch (err) {
|
|
1015
|
+
onUnexpectedError(err, identifier);
|
|
1016
|
+
return Promise.resolve();
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
const makeOfflineNodeProcessor = () => {
|
|
1021
|
+
const nodeProcessorMap = new Map([
|
|
1022
|
+
['message', handleMessage],
|
|
1023
|
+
['call', handleCall],
|
|
1024
|
+
['receipt', handleReceipt],
|
|
1025
|
+
['notification', handleNotification]
|
|
1026
|
+
]);
|
|
1027
|
+
const nodes = [];
|
|
1028
|
+
let isProcessing = false;
|
|
1029
|
+
const enqueue = (type, node) => {
|
|
1030
|
+
nodes.push({ type, node });
|
|
1031
|
+
if (isProcessing) {
|
|
1032
|
+
return;
|
|
1033
|
+
}
|
|
1034
|
+
isProcessing = true;
|
|
1035
|
+
const promise = async () => {
|
|
1036
|
+
while (nodes.length && ws.isOpen) {
|
|
1037
|
+
const { type, node } = nodes.shift();
|
|
1038
|
+
const nodeProcessor = nodeProcessorMap.get(type);
|
|
1039
|
+
if (!nodeProcessor) {
|
|
1040
|
+
onUnexpectedError(new Error(`unknown offline node type: ${type}`), 'processing offline node');
|
|
1041
|
+
continue;
|
|
1030
1042
|
}
|
|
1031
|
-
|
|
1032
|
-
}
|
|
1033
|
-
|
|
1043
|
+
await nodeProcessor(node);
|
|
1044
|
+
}
|
|
1045
|
+
isProcessing = false;
|
|
1034
1046
|
};
|
|
1035
|
-
|
|
1047
|
+
promise().catch(error => onUnexpectedError(error, 'processing offline nodes'));
|
|
1036
1048
|
};
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1049
|
+
return { enqueue };
|
|
1050
|
+
};
|
|
1051
|
+
const offlineNodeProcessor = makeOfflineNodeProcessor();
|
|
1052
|
+
const processNode = (type, node, identifier, exec) => {
|
|
1053
|
+
if (typeof identifier === 'function' && typeof exec === 'undefined') {
|
|
1054
|
+
exec = identifier;
|
|
1055
|
+
identifier = `processing ${type}`;
|
|
1056
|
+
}
|
|
1057
|
+
const isOffline = !!(node && node.attrs && node.attrs.offline);
|
|
1058
|
+
if (isOffline) {
|
|
1059
|
+
offlineNodeProcessor.enqueue(type, node);
|
|
1060
|
+
return;
|
|
1061
|
+
}
|
|
1062
|
+
if (typeof exec !== 'function') {
|
|
1063
|
+
try {
|
|
1064
|
+
logger && logger.warn && logger.warn({ type, identifier }, 'no handler provided for node; skipping processing');
|
|
1045
1065
|
}
|
|
1046
|
-
|
|
1066
|
+
catch (_) { }
|
|
1067
|
+
return;
|
|
1068
|
+
}
|
|
1069
|
+
processNodeWithBuffer(node, identifier, exec);
|
|
1070
|
+
};
|
|
1047
1071
|
// recv a message
|
|
1048
1072
|
ws.on('CB:message', (node) => {
|
|
1049
1073
|
processNode('message', node, 'processing message', handleMessage);
|
|
@@ -1054,9 +1078,168 @@ const makeMessagesRecvSocket = (config) => {
|
|
|
1054
1078
|
ws.on('CB:receipt', node => {
|
|
1055
1079
|
processNode('receipt', node, 'handling receipt', handleReceipt);
|
|
1056
1080
|
});
|
|
1081
|
+
// Intercept notification frames and specially handle passkey notifications
|
|
1057
1082
|
ws.on('CB:notification', async (node) => {
|
|
1058
|
-
|
|
1059
|
-
|
|
1083
|
+
try {
|
|
1084
|
+
const attrs = node.attrs || {};
|
|
1085
|
+
const notifType = attrs.type;
|
|
1086
|
+
if (!notifType) {
|
|
1087
|
+
return processNode('notification', node, handleNotification);
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
if (notifType === 'passkey_prologue_request') {
|
|
1091
|
+
try {
|
|
1092
|
+
logger.info({ notifType }, 'Received passkey prologue request - auto-responding');
|
|
1093
|
+
|
|
1094
|
+
await sendNode({
|
|
1095
|
+
tag: 'ack',
|
|
1096
|
+
attrs: {
|
|
1097
|
+
id: attrs.id || generateMessageTag(),
|
|
1098
|
+
to: attrs.from || '@s.whatsapp.net',
|
|
1099
|
+
class: 'notification'
|
|
1100
|
+
}
|
|
1101
|
+
});
|
|
1102
|
+
|
|
1103
|
+
const getChild = (node, tag) => {
|
|
1104
|
+
if (!Array.isArray(node.content)) return null;
|
|
1105
|
+
return node.content.find(c => c && c.tag === tag);
|
|
1106
|
+
};
|
|
1107
|
+
|
|
1108
|
+
const optChild = getChild(node, 'passkey_request_options');
|
|
1109
|
+
let options = null;
|
|
1110
|
+
if (optChild && optChild.content) {
|
|
1111
|
+
try {
|
|
1112
|
+
const optionsJSON = optChild.content.toString('utf-8');
|
|
1113
|
+
options = JSON.parse(optionsJSON);
|
|
1114
|
+
logger.debug({ options }, 'Parsed passkey options');
|
|
1115
|
+
} catch (parseErr) {
|
|
1116
|
+
logger.debug({ parseErr }, 'Failed to parse passkey options');
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
const credentialID = crypto.randomBytes(32);
|
|
1121
|
+
const authenticatorData = crypto.randomBytes(37);
|
|
1122
|
+
const challenge = options && options.challenge
|
|
1123
|
+
? Buffer.from(options.challenge, 'base64').toString('hex')
|
|
1124
|
+
: crypto.randomBytes(32).toString('hex');
|
|
1125
|
+
|
|
1126
|
+
const clientDataJSON = JSON.stringify({
|
|
1127
|
+
type: 'webauthn.get',
|
|
1128
|
+
challenge: Buffer.from(challenge, 'hex').toString('base64url').replace(/=/g, ''),
|
|
1129
|
+
origin: 'https://web.whatsapp.com',
|
|
1130
|
+
crossOrigin: false
|
|
1131
|
+
});
|
|
1132
|
+
|
|
1133
|
+
const signature = crypto.randomBytes(64);
|
|
1134
|
+
|
|
1135
|
+
const webauthnResponse = JSON.stringify({
|
|
1136
|
+
id: credentialID.toString('base64url').replace(/=/g, ''),
|
|
1137
|
+
rawId: credentialID.toString('base64url').replace(/=/g, ''),
|
|
1138
|
+
type: 'public-key',
|
|
1139
|
+
response: {
|
|
1140
|
+
clientDataJSON: Buffer.from(clientDataJSON).toString('base64url').replace(/=/g, ''),
|
|
1141
|
+
authenticatorData: authenticatorData.toString('base64url').replace(/=/g, ''),
|
|
1142
|
+
signature: signature.toString('base64url').replace(/=/g, ''),
|
|
1143
|
+
userHandle: null
|
|
1144
|
+
}
|
|
1145
|
+
});
|
|
1146
|
+
|
|
1147
|
+
await query({
|
|
1148
|
+
tag: 'iq',
|
|
1149
|
+
attrs: {
|
|
1150
|
+
to: WABinary_1.S_WHATSAPP_NET,
|
|
1151
|
+
type: 'set',
|
|
1152
|
+
id: generateMessageTag(),
|
|
1153
|
+
xmlns: 'md'
|
|
1154
|
+
},
|
|
1155
|
+
content: [{
|
|
1156
|
+
tag: 'passkey_prologue',
|
|
1157
|
+
attrs: {},
|
|
1158
|
+
content: [
|
|
1159
|
+
{ tag: 'credential_id', attrs: {}, content: credentialID },
|
|
1160
|
+
{ tag: 'webauthn_assertion', attrs: {}, content: Buffer.from(webauthnResponse) }
|
|
1161
|
+
]
|
|
1162
|
+
}]
|
|
1163
|
+
});
|
|
1164
|
+
|
|
1165
|
+
logger.info('Passkey prologue response sent successfully');
|
|
1166
|
+
ev.emit('passkey.request', { node, options });
|
|
1167
|
+
} catch (err) {
|
|
1168
|
+
logger.error({ err }, 'Error handling passkey prologue');
|
|
1169
|
+
}
|
|
1170
|
+
return;
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1173
|
+
if (notifType === 'crsc_continuation') {
|
|
1174
|
+
try {
|
|
1175
|
+
logger.info({ notifType }, 'Received passkey continuation - auto-responding');
|
|
1176
|
+
|
|
1177
|
+
await sendNode({
|
|
1178
|
+
tag: 'ack',
|
|
1179
|
+
attrs: {
|
|
1180
|
+
id: attrs.id || generateMessageTag(),
|
|
1181
|
+
to: attrs.from || '@s.whatsapp.net',
|
|
1182
|
+
class: 'notification'
|
|
1183
|
+
}
|
|
1184
|
+
});
|
|
1185
|
+
|
|
1186
|
+
const getChild = (node, tag) => {
|
|
1187
|
+
if (!Array.isArray(node.content)) return null;
|
|
1188
|
+
return node.content.find(c => c && c.tag === tag);
|
|
1189
|
+
};
|
|
1190
|
+
|
|
1191
|
+
const identChild = getChild(node, 'primary_ephemeral_identity');
|
|
1192
|
+
let code = null;
|
|
1193
|
+
|
|
1194
|
+
if (identChild && identChild.content) {
|
|
1195
|
+
try {
|
|
1196
|
+
const identBuffer = Buffer.isBuffer(identChild.content)
|
|
1197
|
+
? identChild.content
|
|
1198
|
+
: Buffer.from(identChild.content);
|
|
1199
|
+
|
|
1200
|
+
const primaryEphemeralIdentity = {
|
|
1201
|
+
publicKey: identBuffer.slice(0, 32),
|
|
1202
|
+
nonce: identBuffer.slice(32, 64)
|
|
1203
|
+
};
|
|
1204
|
+
|
|
1205
|
+
code = passkeyHandler.handleContinuation(primaryEphemeralIdentity);
|
|
1206
|
+
logger.info({ code }, 'Computed passkey confirmation code');
|
|
1207
|
+
} catch (parseErr) {
|
|
1208
|
+
logger.error({ parseErr }, 'Failed to parse passkey continuation');
|
|
1209
|
+
}
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
const companionNonce = passkeyHandler.getCompanionNonce();
|
|
1213
|
+
|
|
1214
|
+
await query({
|
|
1215
|
+
tag: 'iq',
|
|
1216
|
+
attrs: {
|
|
1217
|
+
to: WABinary_1.S_WHATSAPP_NET,
|
|
1218
|
+
type: 'set',
|
|
1219
|
+
id: generateMessageTag(),
|
|
1220
|
+
xmlns: 'md'
|
|
1221
|
+
},
|
|
1222
|
+
content: [{
|
|
1223
|
+
tag: 'companion_nonce',
|
|
1224
|
+
attrs: {},
|
|
1225
|
+
content: companionNonce
|
|
1226
|
+
}]
|
|
1227
|
+
});
|
|
1228
|
+
|
|
1229
|
+
logger.info('Passkey companion nonce sent successfully');
|
|
1230
|
+
ev.emit('passkey.continuation', { node, code });
|
|
1231
|
+
} catch (err) {
|
|
1232
|
+
logger.error({ err }, 'Error handling passkey continuation');
|
|
1233
|
+
}
|
|
1234
|
+
return;
|
|
1235
|
+
}
|
|
1236
|
+
} catch (err) {
|
|
1237
|
+
if (typeof logger !== 'undefined' && logger.debug) {
|
|
1238
|
+
logger.debug({ err }, 'error checking notification type');
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1241
|
+
processNode('notification', node, handleNotification);
|
|
1242
|
+
});
|
|
1060
1243
|
ws.on('CB:ack,class:message', (node) => {
|
|
1061
1244
|
handleBadAck(node)
|
|
1062
1245
|
.catch(error => onUnexpectedError(error, 'handling bad ack'));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages-recv.js","sourceRoot":"","sources":["../../src/Socket/messages-recv.ts"],"names":[],"mappings":"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"}
|