@ubedsockets/baileys 1.7.3 → 1.7.5
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
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var $protobuf = require("protobufjs/minimal");
|
|
5
|
+
|
|
6
|
+
// Common aliases
|
|
7
|
+
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
|
|
8
|
+
|
|
9
|
+
// Exported root namespace
|
|
10
|
+
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});
|
|
11
|
+
|
|
12
|
+
$root.Ephemeral = (function() {
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Namespace Ephemeral.
|
|
16
|
+
* @exports Ephemeral
|
|
17
|
+
* @namespace
|
|
18
|
+
*/
|
|
19
|
+
var Ephemeral = {};
|
|
20
|
+
|
|
21
|
+
Ephemeral.EphemeralSetting = (function() {
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Properties of an EphemeralSetting.
|
|
25
|
+
* @memberof Ephemeral
|
|
26
|
+
* @interface IEphemeralSetting
|
|
27
|
+
* @property {number|null} [duration] EphemeralSetting duration
|
|
28
|
+
* @property {number|Long|null} [timestamp] EphemeralSetting timestamp
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Constructs a new EphemeralSetting.
|
|
33
|
+
* @memberof Ephemeral
|
|
34
|
+
* @classdesc Represents an EphemeralSetting.
|
|
35
|
+
* @implements IEphemeralSetting
|
|
36
|
+
* @constructor
|
|
37
|
+
* @param {Ephemeral.IEphemeralSetting=} [properties] Properties to set
|
|
38
|
+
*/
|
|
39
|
+
function EphemeralSetting(properties) {
|
|
40
|
+
if (properties)
|
|
41
|
+
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
|
|
42
|
+
if (properties[keys[i]] != null)
|
|
43
|
+
this[keys[i]] = properties[keys[i]];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* EphemeralSetting duration.
|
|
48
|
+
* @member {number|null|undefined} duration
|
|
49
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
50
|
+
* @instance
|
|
51
|
+
*/
|
|
52
|
+
EphemeralSetting.prototype.duration = null;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* EphemeralSetting timestamp.
|
|
56
|
+
* @member {number|Long|null|undefined} timestamp
|
|
57
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
58
|
+
* @instance
|
|
59
|
+
*/
|
|
60
|
+
EphemeralSetting.prototype.timestamp = null;
|
|
61
|
+
|
|
62
|
+
// OneOf field names bound to virtual getters and setters
|
|
63
|
+
var $oneOfFields;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* EphemeralSetting _duration.
|
|
67
|
+
* @member {"duration"|undefined} _duration
|
|
68
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
69
|
+
* @instance
|
|
70
|
+
*/
|
|
71
|
+
Object.defineProperty(EphemeralSetting.prototype, "_duration", {
|
|
72
|
+
get: $util.oneOfGetter($oneOfFields = ["duration"]),
|
|
73
|
+
set: $util.oneOfSetter($oneOfFields)
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* EphemeralSetting _timestamp.
|
|
78
|
+
* @member {"timestamp"|undefined} _timestamp
|
|
79
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
80
|
+
* @instance
|
|
81
|
+
*/
|
|
82
|
+
Object.defineProperty(EphemeralSetting.prototype, "_timestamp", {
|
|
83
|
+
get: $util.oneOfGetter($oneOfFields = ["timestamp"]),
|
|
84
|
+
set: $util.oneOfSetter($oneOfFields)
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Creates a new EphemeralSetting instance using the specified properties.
|
|
89
|
+
* @function create
|
|
90
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
91
|
+
* @static
|
|
92
|
+
* @param {Ephemeral.IEphemeralSetting=} [properties] Properties to set
|
|
93
|
+
* @returns {Ephemeral.EphemeralSetting} EphemeralSetting instance
|
|
94
|
+
*/
|
|
95
|
+
EphemeralSetting.create = function create(properties) {
|
|
96
|
+
return new EphemeralSetting(properties);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Encodes the specified EphemeralSetting message. Does not implicitly {@link Ephemeral.EphemeralSetting.verify|verify} messages.
|
|
101
|
+
* @function encode
|
|
102
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
103
|
+
* @static
|
|
104
|
+
* @param {Ephemeral.IEphemeralSetting} message EphemeralSetting message or plain object to encode
|
|
105
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
|
106
|
+
* @returns {$protobuf.Writer} Writer
|
|
107
|
+
*/
|
|
108
|
+
EphemeralSetting.encode = function encode(message, writer) {
|
|
109
|
+
if (!writer)
|
|
110
|
+
writer = $Writer.create();
|
|
111
|
+
if (message.duration != null && Object.hasOwnProperty.call(message, "duration"))
|
|
112
|
+
writer.uint32(/* id 1, wireType 5 =*/13).sfixed32(message.duration);
|
|
113
|
+
if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp"))
|
|
114
|
+
writer.uint32(/* id 2, wireType 1 =*/17).sfixed64(message.timestamp);
|
|
115
|
+
return writer;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Encodes the specified EphemeralSetting message, length delimited. Does not implicitly {@link Ephemeral.EphemeralSetting.verify|verify} messages.
|
|
120
|
+
* @function encodeDelimited
|
|
121
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
122
|
+
* @static
|
|
123
|
+
* @param {Ephemeral.IEphemeralSetting} message EphemeralSetting message or plain object to encode
|
|
124
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
|
125
|
+
* @returns {$protobuf.Writer} Writer
|
|
126
|
+
*/
|
|
127
|
+
EphemeralSetting.encodeDelimited = function encodeDelimited(message, writer) {
|
|
128
|
+
return this.encode(message, writer).ldelim();
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Decodes an EphemeralSetting message from the specified reader or buffer.
|
|
133
|
+
* @function decode
|
|
134
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
135
|
+
* @static
|
|
136
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
|
137
|
+
* @param {number} [length] Message length if known beforehand
|
|
138
|
+
* @returns {Ephemeral.EphemeralSetting} EphemeralSetting
|
|
139
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
140
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
141
|
+
*/
|
|
142
|
+
EphemeralSetting.decode = function decode(reader, length, error) {
|
|
143
|
+
if (!(reader instanceof $Reader))
|
|
144
|
+
reader = $Reader.create(reader);
|
|
145
|
+
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.Ephemeral.EphemeralSetting();
|
|
146
|
+
while (reader.pos < end) {
|
|
147
|
+
var tag = reader.uint32();
|
|
148
|
+
if (tag === error)
|
|
149
|
+
break;
|
|
150
|
+
switch (tag >>> 3) {
|
|
151
|
+
case 1: {
|
|
152
|
+
message.duration = reader.sfixed32();
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
case 2: {
|
|
156
|
+
message.timestamp = reader.sfixed64();
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
default:
|
|
160
|
+
reader.skipType(tag & 7);
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return message;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Decodes an EphemeralSetting message from the specified reader or buffer, length delimited.
|
|
169
|
+
* @function decodeDelimited
|
|
170
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
171
|
+
* @static
|
|
172
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
|
173
|
+
* @returns {Ephemeral.EphemeralSetting} EphemeralSetting
|
|
174
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
175
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
176
|
+
*/
|
|
177
|
+
EphemeralSetting.decodeDelimited = function decodeDelimited(reader) {
|
|
178
|
+
if (!(reader instanceof $Reader))
|
|
179
|
+
reader = new $Reader(reader);
|
|
180
|
+
return this.decode(reader, reader.uint32());
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Verifies an EphemeralSetting message.
|
|
185
|
+
* @function verify
|
|
186
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
187
|
+
* @static
|
|
188
|
+
* @param {Object.<string,*>} message Plain object to verify
|
|
189
|
+
* @returns {string|null} `null` if valid, otherwise the reason why it is not
|
|
190
|
+
*/
|
|
191
|
+
EphemeralSetting.verify = function verify(message) {
|
|
192
|
+
if (typeof message !== "object" || message === null)
|
|
193
|
+
return "object expected";
|
|
194
|
+
var properties = {};
|
|
195
|
+
if (message.duration != null && message.hasOwnProperty("duration")) {
|
|
196
|
+
properties._duration = 1;
|
|
197
|
+
if (!$util.isInteger(message.duration))
|
|
198
|
+
return "duration: integer expected";
|
|
199
|
+
}
|
|
200
|
+
if (message.timestamp != null && message.hasOwnProperty("timestamp")) {
|
|
201
|
+
properties._timestamp = 1;
|
|
202
|
+
if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high)))
|
|
203
|
+
return "timestamp: integer|Long expected";
|
|
204
|
+
}
|
|
205
|
+
return null;
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Creates an EphemeralSetting message from a plain object. Also converts values to their respective internal types.
|
|
210
|
+
* @function fromObject
|
|
211
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
212
|
+
* @static
|
|
213
|
+
* @param {Object.<string,*>} object Plain object
|
|
214
|
+
* @returns {Ephemeral.EphemeralSetting} EphemeralSetting
|
|
215
|
+
*/
|
|
216
|
+
EphemeralSetting.fromObject = function fromObject(object) {
|
|
217
|
+
if (object instanceof $root.Ephemeral.EphemeralSetting)
|
|
218
|
+
return object;
|
|
219
|
+
var message = new $root.Ephemeral.EphemeralSetting();
|
|
220
|
+
if (object.duration != null)
|
|
221
|
+
message.duration = object.duration | 0;
|
|
222
|
+
if (object.timestamp != null)
|
|
223
|
+
if ($util.Long)
|
|
224
|
+
(message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = false;
|
|
225
|
+
else if (typeof object.timestamp === "string")
|
|
226
|
+
message.timestamp = parseInt(object.timestamp, 10);
|
|
227
|
+
else if (typeof object.timestamp === "number")
|
|
228
|
+
message.timestamp = object.timestamp;
|
|
229
|
+
else if (typeof object.timestamp === "object")
|
|
230
|
+
message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber();
|
|
231
|
+
return message;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Creates a plain object from an EphemeralSetting message. Also converts values to other types if specified.
|
|
236
|
+
* @function toObject
|
|
237
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
238
|
+
* @static
|
|
239
|
+
* @param {Ephemeral.EphemeralSetting} message EphemeralSetting
|
|
240
|
+
* @param {$protobuf.IConversionOptions} [options] Conversion options
|
|
241
|
+
* @returns {Object.<string,*>} Plain object
|
|
242
|
+
*/
|
|
243
|
+
EphemeralSetting.toObject = function toObject(message, options) {
|
|
244
|
+
if (!options)
|
|
245
|
+
options = {};
|
|
246
|
+
var object = {};
|
|
247
|
+
if (message.duration != null && message.hasOwnProperty("duration")) {
|
|
248
|
+
object.duration = message.duration;
|
|
249
|
+
if (options.oneofs)
|
|
250
|
+
object._duration = "duration";
|
|
251
|
+
}
|
|
252
|
+
if (message.timestamp != null && message.hasOwnProperty("timestamp")) {
|
|
253
|
+
if (typeof message.timestamp === "number")
|
|
254
|
+
object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp;
|
|
255
|
+
else
|
|
256
|
+
object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber() : message.timestamp;
|
|
257
|
+
if (options.oneofs)
|
|
258
|
+
object._timestamp = "timestamp";
|
|
259
|
+
}
|
|
260
|
+
return object;
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Converts this EphemeralSetting to JSON.
|
|
265
|
+
* @function toJSON
|
|
266
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
267
|
+
* @instance
|
|
268
|
+
* @returns {Object.<string,*>} JSON object
|
|
269
|
+
*/
|
|
270
|
+
EphemeralSetting.prototype.toJSON = function toJSON() {
|
|
271
|
+
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Gets the default type url for EphemeralSetting
|
|
276
|
+
* @function getTypeUrl
|
|
277
|
+
* @memberof Ephemeral.EphemeralSetting
|
|
278
|
+
* @static
|
|
279
|
+
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
|
280
|
+
* @returns {string} The default type url
|
|
281
|
+
*/
|
|
282
|
+
EphemeralSetting.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
|
283
|
+
if (typeUrlPrefix === undefined) {
|
|
284
|
+
typeUrlPrefix = "type.googleapis.com";
|
|
285
|
+
}
|
|
286
|
+
return typeUrlPrefix + "/Ephemeral.EphemeralSetting";
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
return EphemeralSetting;
|
|
290
|
+
})();
|
|
291
|
+
|
|
292
|
+
return Ephemeral;
|
|
293
|
+
})();
|
|
294
|
+
|
|
295
|
+
module.exports = $root;
|
|
@@ -1,27 +1,70 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
set -euo pipefail
|
|
3
3
|
|
|
4
|
-
cd "$(dirname "$0")"
|
|
4
|
+
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
5
|
+
PROTO_DIR="$ROOT_DIR/WAProto"
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
echo "
|
|
7
|
+
PBJS="$ROOT_DIR/node_modules/protobufjs/cli/bin/pbjs"
|
|
8
|
+
|
|
9
|
+
if [ ! -f "$PBJS" ]; then
|
|
10
|
+
echo "pbjs tidak ditemukan: $PBJS"
|
|
11
|
+
echo "Jalankan dari root project:"
|
|
12
|
+
echo "npm i protobufjs@6.11.6 --save"
|
|
10
13
|
exit 1
|
|
11
14
|
fi
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
echo "[1/3] Generate WAProto/index.js pakai protobufjs v6..."
|
|
17
|
+
node "$PBJS" \
|
|
14
18
|
-t static-module \
|
|
15
|
-
--no-beautify \
|
|
16
19
|
-w commonjs \
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
-o "$PROTO_DIR/index.js" \
|
|
21
|
+
"$PROTO_DIR/WAProto.proto"
|
|
22
|
+
|
|
23
|
+
echo "[2/3] Validasi hasil generate..."
|
|
24
|
+
cd "$ROOT_DIR"
|
|
25
|
+
|
|
26
|
+
node - <<'NODE'
|
|
27
|
+
const fs = require('fs')
|
|
28
|
+
const pb = require('protobufjs/minimal')
|
|
29
|
+
const wa = fs.readFileSync('./WAProto/index.js', 'utf8')
|
|
30
|
+
|
|
31
|
+
const hasTag = /\.tag\(\)/.test(wa)
|
|
32
|
+
const hasBadSkipType = /skipType\([^)]*,[^)]*\)/.test(wa)
|
|
33
|
+
const hasUint32 = /uint32\(\)/.test(wa)
|
|
34
|
+
|
|
35
|
+
console.log('protobufjs version:', require('protobufjs/package.json').version)
|
|
36
|
+
console.log('Reader.prototype.tag:', typeof pb.Reader.prototype.tag)
|
|
37
|
+
console.log('WAProto contains ".tag()":', hasTag)
|
|
38
|
+
console.log('WAProto contains "skipType(.*,":', hasBadSkipType)
|
|
39
|
+
console.log('WAProto contains "reader.uint32":', hasUint32)
|
|
40
|
+
|
|
41
|
+
if (hasTag || hasBadSkipType || !hasUint32) {
|
|
42
|
+
console.error('WAProto generate gagal: output masih tidak cocok dengan protobufjs v6')
|
|
43
|
+
process.exit(1)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const { proto } = require('./WAProto')
|
|
47
|
+
|
|
48
|
+
const msg = proto.HandshakeMessage.fromObject({
|
|
49
|
+
clientHello: {
|
|
50
|
+
ephemeral: Buffer.alloc(32)
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
const encoded = proto.HandshakeMessage.encode(msg).finish()
|
|
55
|
+
const decoded = proto.HandshakeMessage.decode(encoded)
|
|
56
|
+
|
|
57
|
+
if (!decoded.clientHello?.ephemeral?.length) {
|
|
58
|
+
console.error('HandshakeMessage decode gagal')
|
|
59
|
+
process.exit(1)
|
|
60
|
+
}
|
|
23
61
|
|
|
24
|
-
|
|
25
|
-
|
|
62
|
+
console.log('OK HandshakeMessage encode/decode')
|
|
63
|
+
console.log('encoded:', encoded.length)
|
|
64
|
+
console.log('decoded ephemeral:', decoded.clientHello.ephemeral.length)
|
|
65
|
+
console.log('AIRichResponseMessage root:', !!proto.AIRichResponseMessage)
|
|
66
|
+
console.log('BotMetadata:', !!proto.BotMetadata)
|
|
67
|
+
console.log('AIThreadInfo:', !!proto.AIThreadInfo)
|
|
68
|
+
NODE
|
|
26
69
|
|
|
27
|
-
echo "
|
|
70
|
+
echo "[3/3] Selesai. WAProto/index.js aman untuk protobufjs v6."
|
package/WAProto/WAProto.proto
CHANGED
|
@@ -955,6 +955,13 @@ message ContextInfo {
|
|
|
955
955
|
optional bool isQuestion = 63;
|
|
956
956
|
optional StatusSourceType statusSourceType = 64;
|
|
957
957
|
repeated StatusAttribution statusAttributions = 65;
|
|
958
|
+
optional bool isGroupStatus = 66;
|
|
959
|
+
optional ForwardOrigin forwardOrigin = 67;
|
|
960
|
+
optional QuestionReplyQuotedMessage questionReplyQuotedMessage = 68;
|
|
961
|
+
optional StatusAudienceMetadata statusAudienceMetadata = 69;
|
|
962
|
+
optional uint32 nonJidMentions = 70;
|
|
963
|
+
optional QuotedType quotedType = 71;
|
|
964
|
+
optional BotMessageSharingInfo botMessageSharingInfo = 72;
|
|
958
965
|
message AdReplyInfo {
|
|
959
966
|
optional string advertiserName = 1;
|
|
960
967
|
optional MediaType mediaType = 2;
|
|
@@ -1027,6 +1034,7 @@ message ContextInfo {
|
|
|
1027
1034
|
optional bool cannotBeRanked = 2;
|
|
1028
1035
|
optional bool canRequestFeedback = 3;
|
|
1029
1036
|
optional bool canBeReshared = 4;
|
|
1037
|
+
optional bool canReceiveMultiReact = 5;
|
|
1030
1038
|
}
|
|
1031
1039
|
|
|
1032
1040
|
message ForwardedAIBotMessageInfo {
|
|
@@ -1035,6 +1043,31 @@ message ContextInfo {
|
|
|
1035
1043
|
optional string creatorName = 3;
|
|
1036
1044
|
}
|
|
1037
1045
|
|
|
1046
|
+
enum ForwardOrigin {
|
|
1047
|
+
UNKNOWN = 0;
|
|
1048
|
+
CHAT = 1;
|
|
1049
|
+
STATUS = 2;
|
|
1050
|
+
CHANNELS = 3;
|
|
1051
|
+
META_AI = 4;
|
|
1052
|
+
UGC = 5;
|
|
1053
|
+
}
|
|
1054
|
+
message QuestionReplyQuotedMessage {
|
|
1055
|
+
optional int32 serverQuestionId = 1;
|
|
1056
|
+
optional Message quotedQuestion = 2;
|
|
1057
|
+
optional Message quotedResponse = 3;
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
enum QuotedType {
|
|
1061
|
+
EXPLICIT = 0;
|
|
1062
|
+
AUTO = 1;
|
|
1063
|
+
}
|
|
1064
|
+
message StatusAudienceMetadata {
|
|
1065
|
+
optional AudienceType audienceType = 1;
|
|
1066
|
+
enum AudienceType {
|
|
1067
|
+
UNKNOWN = 0;
|
|
1068
|
+
CLOSE_FRIENDS = 1;
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1038
1071
|
message ForwardedNewsletterMessageInfo {
|
|
1039
1072
|
optional string newsletterJid = 1;
|
|
1040
1073
|
optional int32 serverMessageId = 2;
|
|
@@ -1061,6 +1094,8 @@ message ContextInfo {
|
|
|
1061
1094
|
NONE = 0;
|
|
1062
1095
|
RESHARED_FROM_MENTION = 1;
|
|
1063
1096
|
RESHARED_FROM_POST = 2;
|
|
1097
|
+
RESHARED_FROM_POST_MANY_TIMES = 3;
|
|
1098
|
+
FORWARDED_FROM_STATUS = 4;
|
|
1064
1099
|
}
|
|
1065
1100
|
enum StatusSourceType {
|
|
1066
1101
|
IMAGE = 0;
|
|
@@ -3120,12 +3155,21 @@ message MessageContextInfo {
|
|
|
3120
3155
|
optional LimitSharing limitSharing = 13;
|
|
3121
3156
|
optional LimitSharing limitSharingV2 = 14;
|
|
3122
3157
|
repeated ThreadID threadId = 15;
|
|
3158
|
+
optional WebLinkRenderConfig weblinkRenderConfig = 16;
|
|
3123
3159
|
enum MessageAddonExpiryType {
|
|
3124
3160
|
STATIC = 1;
|
|
3125
3161
|
DEPENDENT_ON_PARENT = 2;
|
|
3126
3162
|
}
|
|
3127
3163
|
}
|
|
3128
3164
|
|
|
3165
|
+
|
|
3166
|
+
message WebLinkRenderConfig {
|
|
3167
|
+
optional bool showSmallThumbnail = 1;
|
|
3168
|
+
optional bool showLargeThumbnail = 2;
|
|
3169
|
+
optional bool showPlainText = 3;
|
|
3170
|
+
optional bool showContextPreview = 4;
|
|
3171
|
+
}
|
|
3172
|
+
|
|
3129
3173
|
message MessageKey {
|
|
3130
3174
|
optional string remoteJid = 1;
|
|
3131
3175
|
optional bool fromMe = 2;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync } from 'fs';
|
|
2
|
+
import { exit } from 'process';
|
|
3
|
+
|
|
4
|
+
const filePath = './index.js'
|
|
5
|
+
|
|
6
|
+
try {
|
|
7
|
+
let content = readFileSync(filePath, 'utf8')
|
|
8
|
+
|
|
9
|
+
content = content.replace(/import \* as (\$protobuf) from/g, 'import $1 from')
|
|
10
|
+
content = content.replace(/(['"])protobufjs\/minimal(['"])/g, '$1protobufjs/minimal.js$2')
|
|
11
|
+
|
|
12
|
+
const marker = 'const $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});\n\n'
|
|
13
|
+
const longToStringHelper =
|
|
14
|
+
'function longToString(value, unsigned) {\n' +
|
|
15
|
+
'\tif (typeof value === "string") {\n' +
|
|
16
|
+
'\t\treturn value;\n' +
|
|
17
|
+
'\t}\n' +
|
|
18
|
+
'\tif (typeof value === "number") {\n' +
|
|
19
|
+
'\t\treturn String(value);\n' +
|
|
20
|
+
'\t}\n' +
|
|
21
|
+
'\t// Fast path: convert Long {low, high} directly via native BigInt\n' +
|
|
22
|
+
'\t// BigInt.toString() is a native C++ operation, much faster than Long\'s pure JS division loops\n' +
|
|
23
|
+
'\tif (value && typeof value.low === "number" && typeof value.high === "number") {\n' +
|
|
24
|
+
'\t\tconst lo = BigInt(value.low >>> 0);\n' +
|
|
25
|
+
'\t\tconst hi = BigInt(value.high >>> 0);\n' +
|
|
26
|
+
'\t\tconst combined = (hi << 32n) | lo;\n' +
|
|
27
|
+
'\t\tif (!unsigned && value.high < 0) {\n' +
|
|
28
|
+
'\t\t\treturn (combined - (1n << 64n)).toString();\n' +
|
|
29
|
+
'\t\t}\n' +
|
|
30
|
+
'\t\treturn combined.toString();\n' +
|
|
31
|
+
'\t}\n' +
|
|
32
|
+
'\treturn String(value);\n' +
|
|
33
|
+
'}\n\n'
|
|
34
|
+
const longToNumberHelper =
|
|
35
|
+
'function longToNumber(value, unsigned) {\n' +
|
|
36
|
+
'\tif (typeof value === "number") {\n' +
|
|
37
|
+
'\t\treturn value;\n' +
|
|
38
|
+
'\t}\n' +
|
|
39
|
+
'\tif (typeof value === "string") {\n' +
|
|
40
|
+
'\t\treturn Number(value);\n' +
|
|
41
|
+
'\t}\n' +
|
|
42
|
+
'\t// Fast path: convert Long {low, high} directly via native BigInt\n' +
|
|
43
|
+
'\tif (value && typeof value.low === "number" && typeof value.high === "number") {\n' +
|
|
44
|
+
'\t\tconst lo = BigInt(value.low >>> 0);\n' +
|
|
45
|
+
'\t\tconst hi = BigInt(value.high >>> 0);\n' +
|
|
46
|
+
'\t\tconst combined = (hi << 32n) | lo;\n' +
|
|
47
|
+
'\t\tif (!unsigned && value.high < 0) {\n' +
|
|
48
|
+
'\t\t\treturn Number(combined - (1n << 64n));\n' +
|
|
49
|
+
'\t\t}\n' +
|
|
50
|
+
'\t\treturn Number(combined);\n' +
|
|
51
|
+
'\t}\n' +
|
|
52
|
+
'\treturn Number(value);\n' +
|
|
53
|
+
'}\n\n'
|
|
54
|
+
|
|
55
|
+
if (!content.includes('function longToString(')) {
|
|
56
|
+
const markerIndex = content.indexOf(marker)
|
|
57
|
+
if (markerIndex === -1) {
|
|
58
|
+
throw new Error('Unable to inject Long helpers: marker not found in WAProto index output')
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
content = content.replace(marker, `${marker}${longToStringHelper}${longToNumberHelper}`)
|
|
62
|
+
} else {
|
|
63
|
+
const longToStringRegex = /function longToString\(value, unsigned\) {\n[\s\S]*?\n}\n\n/
|
|
64
|
+
const longToNumberRegex = /function longToNumber\(value, unsigned\) {\n[\s\S]*?\n}\n\n/
|
|
65
|
+
|
|
66
|
+
if (!longToStringRegex.test(content) || !longToNumberRegex.test(content)) {
|
|
67
|
+
throw new Error('Unable to update Long helpers: existing definitions not found')
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
content = content.replace(longToStringRegex, longToStringHelper)
|
|
71
|
+
content = content.replace(longToNumberRegex, longToNumberHelper)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const longPattern = /([ \t]+d\.(\w+) = )o\.longs === String \? \$util\.Long\.prototype\.toString\.call\(m\.\2\) : o\.longs === Number \? new \$util\.LongBits\(m\.\2\.low >>> 0, m\.\2\.high >>> 0\)\.toNumber\((true)?\) : m\.\2;/g
|
|
75
|
+
content = content.replace(longPattern, (_match, prefix, field, unsignedFlag) => {
|
|
76
|
+
const unsignedArg = unsignedFlag ? ', true' : ''
|
|
77
|
+
return `${prefix}o.longs === String ? longToString(m.${field}${unsignedArg}) : o.longs === Number ? longToNumber(m.${field}${unsignedArg}) : m.${field};`
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
writeFileSync(filePath, content, 'utf8')
|
|
81
|
+
console.log(`✅ Fixed imports in ${filePath}`)
|
|
82
|
+
} catch (error) {
|
|
83
|
+
console.error(`❌ Error fixing imports: ${error.message}`)
|
|
84
|
+
exit(1)
|
|
85
|
+
}
|