@codexverified/baileys 2.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.
Files changed (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +233 -0
  3. package/WAProto/V +1 -0
  4. package/WAProto/WAProto.proto +8051 -0
  5. package/WAProto/index.js +289292 -0
  6. package/engine-requirements.js +13 -0
  7. package/lib/Defaults/index.js +158 -0
  8. package/lib/Signal/Group/ciphertext-message.js +11 -0
  9. package/lib/Signal/Group/group-session-builder.js +29 -0
  10. package/lib/Signal/Group/group_cipher.js +81 -0
  11. package/lib/Signal/Group/index.js +11 -0
  12. package/lib/Signal/Group/keyhelper.js +17 -0
  13. package/lib/Signal/Group/sender-chain-key.js +25 -0
  14. package/lib/Signal/Group/sender-key-distribution-message.js +62 -0
  15. package/lib/Signal/Group/sender-key-message.js +65 -0
  16. package/lib/Signal/Group/sender-key-name.js +47 -0
  17. package/lib/Signal/Group/sender-key-record.js +40 -0
  18. package/lib/Signal/Group/sender-key-state.js +83 -0
  19. package/lib/Signal/Group/sender-message-key.js +25 -0
  20. package/lib/Signal/libsignal.js +428 -0
  21. package/lib/Signal/lid-mapping.js +280 -0
  22. package/lib/Socket/Client/index.js +2 -0
  23. package/lib/Socket/Client/types.js +10 -0
  24. package/lib/Socket/Client/websocket.js +53 -0
  25. package/lib/Socket/aigroups.js +315 -0
  26. package/lib/Socket/business.js +407 -0
  27. package/lib/Socket/chats.js +1831 -0
  28. package/lib/Socket/communities.js +431 -0
  29. package/lib/Socket/graphql.js +899 -0
  30. package/lib/Socket/groups.js +549 -0
  31. package/lib/Socket/index.js +79 -0
  32. package/lib/Socket/interactive-handler.js +600 -0
  33. package/lib/Socket/interop.js +563 -0
  34. package/lib/Socket/managed-account.js +208 -0
  35. package/lib/Socket/messages-recv.js +2144 -0
  36. package/lib/Socket/messages-send.js +2030 -0
  37. package/lib/Socket/mex.js +41 -0
  38. package/lib/Socket/newsletter.js +226 -0
  39. package/lib/Socket/privacy.js +446 -0
  40. package/lib/Socket/registration.js +428 -0
  41. package/lib/Socket/socket.js +1017 -0
  42. package/lib/Socket/username.js +229 -0
  43. package/lib/Store/index.js +4 -0
  44. package/lib/Store/make-cache-manager-store.js +89 -0
  45. package/lib/Store/make-in-memory-store.js +420 -0
  46. package/lib/Store/make-ordered-dictionary.js +78 -0
  47. package/lib/Store/object-repository.js +23 -0
  48. package/lib/Types/Auth.js +1 -0
  49. package/lib/Types/Bussines.js +1 -0
  50. package/lib/Types/Call.js +1 -0
  51. package/lib/Types/Chat.js +7 -0
  52. package/lib/Types/Contact.js +1 -0
  53. package/lib/Types/Events.js +1 -0
  54. package/lib/Types/GroupMetadata.js +1 -0
  55. package/lib/Types/Label.js +24 -0
  56. package/lib/Types/LabelAssociation.js +6 -0
  57. package/lib/Types/Message.js +17 -0
  58. package/lib/Types/Mex.js +39 -0
  59. package/lib/Types/Product.js +1 -0
  60. package/lib/Types/RichType.js +22 -0
  61. package/lib/Types/Signal.js +1 -0
  62. package/lib/Types/Socket.js +2 -0
  63. package/lib/Types/State.js +48 -0
  64. package/lib/Types/USync.js +1 -0
  65. package/lib/Types/index.js +25 -0
  66. package/lib/Utils/auth-utils.js +301 -0
  67. package/lib/Utils/bot-planning-replay.js +169 -0
  68. package/lib/Utils/browser-utils.js +28 -0
  69. package/lib/Utils/business.js +230 -0
  70. package/lib/Utils/chat-utils.js +885 -0
  71. package/lib/Utils/companion-reg-client-utils.js +32 -0
  72. package/lib/Utils/consumer-application.js +102 -0
  73. package/lib/Utils/crypto.js +117 -0
  74. package/lib/Utils/decode-wa-message.js +484 -0
  75. package/lib/Utils/event-buffer.js +589 -0
  76. package/lib/Utils/generics.js +388 -0
  77. package/lib/Utils/group-history.js +56 -0
  78. package/lib/Utils/history.js +130 -0
  79. package/lib/Utils/identity-change-handler.js +48 -0
  80. package/lib/Utils/index.js +34 -0
  81. package/lib/Utils/jid-display-normalization.js +209 -0
  82. package/lib/Utils/link-preview.js +84 -0
  83. package/lib/Utils/logger.js +2 -0
  84. package/lib/Utils/lt-hash.js +7 -0
  85. package/lib/Utils/make-mutex.js +32 -0
  86. package/lib/Utils/message-composer.js +467 -0
  87. package/lib/Utils/message-inspect.js +67 -0
  88. package/lib/Utils/message-retry-manager.js +241 -0
  89. package/lib/Utils/messages-media.js +1006 -0
  90. package/lib/Utils/messages.js +1851 -0
  91. package/lib/Utils/meta-ai-msmsg.js +130 -0
  92. package/lib/Utils/meta-compositing.js +194 -0
  93. package/lib/Utils/noise-handler.js +200 -0
  94. package/lib/Utils/offline-node-processor.js +39 -0
  95. package/lib/Utils/pre-key-manager.js +105 -0
  96. package/lib/Utils/process-message.js +527 -0
  97. package/lib/Utils/reporting-utils.js +257 -0
  98. package/lib/Utils/rich-message-utils.js +439 -0
  99. package/lib/Utils/signal.js +200 -0
  100. package/lib/Utils/stanza-ack.js +37 -0
  101. package/lib/Utils/sync-action-utils.js +47 -0
  102. package/lib/Utils/tc-token-utils.js +162 -0
  103. package/lib/Utils/use-multi-file-auth-state.js +120 -0
  104. package/lib/Utils/use-single-file-auth-state.js +96 -0
  105. package/lib/Utils/use-sqlite-auth-state.js +108 -0
  106. package/lib/Utils/validate-connection.js +206 -0
  107. package/lib/Utils/voip-rekey.js +20 -0
  108. package/lib/Utils/welcome-flow.js +217 -0
  109. package/lib/WABinary/constants.js +1463 -0
  110. package/lib/WABinary/decode.js +261 -0
  111. package/lib/WABinary/encode.js +219 -0
  112. package/lib/WABinary/generic-utils.js +227 -0
  113. package/lib/WABinary/index.js +5 -0
  114. package/lib/WABinary/jid-utils.js +95 -0
  115. package/lib/WABinary/types.js +1 -0
  116. package/lib/WAM/BinaryInfo.js +9 -0
  117. package/lib/WAM/constants.js +22852 -0
  118. package/lib/WAM/encode.js +149 -0
  119. package/lib/WAM/index.js +3 -0
  120. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +96 -0
  121. package/lib/WAUSync/Protocols/USyncContactProtocol.js +56 -0
  122. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +53 -0
  123. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +26 -0
  124. package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +70 -0
  125. package/lib/WAUSync/Protocols/USyncPictureProtocol.js +28 -0
  126. package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +25 -0
  127. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +37 -0
  128. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +34 -0
  129. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +24 -0
  130. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +50 -0
  131. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +28 -0
  132. package/lib/WAUSync/Protocols/index.js +12 -0
  133. package/lib/WAUSync/USyncQuery.js +201 -0
  134. package/lib/WAUSync/USyncUser.js +54 -0
  135. package/lib/WAUSync/index.js +3 -0
  136. package/lib/antiban.cjs +4726 -0
  137. package/lib/index.d.ts +286 -0
  138. package/lib/index.js +18 -0
  139. package/package.json +121 -0
@@ -0,0 +1,208 @@
1
+ import { executeWMexQuery } from './mex.js';
2
+
3
+ const MANAGED_ACCOUNT_MEX_IDS = {
4
+ // Managed accounts (parental/family)
5
+ QUERY: '27232244463035262', // ManagedAccountQuery
6
+ INITIATE_LINKING: '26671873552498548', // ManagedAccountInitiateLinkingQuery
7
+ VALIDATE_LINKING: '35449808311284430', // ManagedAccountValidateLinkingQuery
8
+ ACCEPT_LINKING: '26708926155457677', // ManagedAccountAcceptLinkingMutation
9
+ COMPLETE_LINKING: '26866501363013203', // ManagedAccountCompleteLinkingMutation
10
+ REVOKE_LINKING: '27435058196100677', // ManagedAccountRevokeLinkingMutation
11
+ SYNC_ACTIVITIES: '26594352680227840', // ManagedAccountSyncActivities
12
+ UPDATE_PIN: '27653949584193082', // ManagedAccountUpdatePinMutation
13
+ GET_SPONSOR_AGE_VERIFICATION: '26433623289634522', // ManagedAccountGetSponsorAgeVerificationInfoQuery
14
+ // Payments passkey
15
+ PAYMENTS_PASSKEY_HAS_CREDENTIAL: '26328228500182426', // PaymentsPasskeyHasCredential
16
+ PAYMENTS_PASSKEY_ENROLL_CHALLENGE: '25233109079721001', // PaymentsPasskeyEnrollChallengeMutation
17
+ PAYMENTS_PASSKEY_ENROLL_VERIFY: '26563835863283058', // PaymentsPasskeyEnrollVerifyMutation
18
+ PAYMENTS_PASSKEY_REGISTER_FINISH: '26658791263822236', // PaymentsPasskeyRegisterFinishMutation
19
+ PAYMENTS_PASSKEY_AUTH_CHALLENGE: '26425370627105628', // PaymentsPasskeyAuthChallengeMutation
20
+ PAYMENTS_PASSKEY_TOGGLE_ON: '25841989828834577', // PaymentsPasskeyToggleOnMutation
21
+ PAYMENTS_PASSKEY_TOGGLE_OFF: '26267673096201391', // PaymentsPasskeyToggleOffMutation
22
+ PAYMENTS_PASSKEY_TOGGLE_CHALLENGE: '26133062322993192', // PaymentsPasskeyToggleChallengeMutation
23
+ PAYMENTS_PASSKEY_TOGGLE_CLEANUP: '26492078607084840', // PaymentsPasskeyToggleCleanupMutation
24
+ PAYMENTS_PASSKEY_CLEANUP: '26538338805859092', // PaymentsPasskeyCleanupMutation
25
+ PAYMENTS_IS_RECOVERABLE: '27351347491148282', // PaymentsIsAccountRecoverable
26
+ // UPI onboarding (India payments)
27
+ UPI_SEND_OTP: '25829794080022469', // UpiOnboardingSendOtpMutation
28
+ UPI_VERIFY_OTP: '34104109149204669', // UpiOnboardingVerifyOtpQuery
29
+ // IPLS (Identity-Preserving Linked Spaces)
30
+ IPLS_HANDSHAKE_INIT: '25523747957257182', // IplsClientHandshakeInitRequest
31
+ IPLS_CLIENT_HELLO: '25376330595367716', // IplsClientHelloPayload
32
+ IPLSD_CLIENT_HELLO_V2: '26561780580105679', // IplsdClientHelloV2
33
+ IPLSD_CLIENT_INIT_V2: '26547193874915344' // IplsdClientInitV2
34
+ };
35
+
36
+ export const makeManagedAccountSocket = (sock) => {
37
+ const { query, generateMessageTag } = sock;
38
+
39
+ const mexQuery = (variables, queryId, dataPath) =>
40
+ executeWMexQuery(variables, queryId, dataPath, query, generateMessageTag);
41
+
42
+ // Managed Accounts
43
+
44
+ const managedAccountQuery = jid => mexQuery({ jid }, MANAGED_ACCOUNT_MEX_IDS.QUERY, 'xwa2_managed_account');
45
+
46
+ const managedAccountInitiateLinking = phoneNumber =>
47
+ mexQuery(
48
+ { phone_number: phoneNumber },
49
+ MANAGED_ACCOUNT_MEX_IDS.INITIATE_LINKING,
50
+ 'xwa2_managed_account_initiate_linking'
51
+ );
52
+
53
+ const managedAccountValidateLinking = (linkingToken, sponsorJid) =>
54
+ mexQuery(
55
+ { linking_token: linkingToken, sponsor_jid: sponsorJid },
56
+ MANAGED_ACCOUNT_MEX_IDS.VALIDATE_LINKING,
57
+ 'xwa2_managed_account_validate_linking'
58
+ );
59
+
60
+ const managedAccountAcceptLinking = linkingToken =>
61
+ mexQuery(
62
+ { linking_token: linkingToken },
63
+ MANAGED_ACCOUNT_MEX_IDS.ACCEPT_LINKING,
64
+ 'xwa2_managed_account_accept_linking'
65
+ );
66
+
67
+ const managedAccountCompleteLinking = linkingToken =>
68
+ mexQuery(
69
+ { linking_token: linkingToken },
70
+ MANAGED_ACCOUNT_MEX_IDS.COMPLETE_LINKING,
71
+ 'xwa2_managed_account_complete_linking'
72
+ );
73
+
74
+ const managedAccountRevokeLinking = sponsoredJid =>
75
+ mexQuery(
76
+ { sponsored_jid: sponsoredJid },
77
+ MANAGED_ACCOUNT_MEX_IDS.REVOKE_LINKING,
78
+ 'xwa2_managed_account_revoke_linking'
79
+ );
80
+
81
+ const managedAccountSyncActivities = (jid, lastSyncTime = null) => {
82
+ const variables = { jid };
83
+ if (lastSyncTime != null) variables.last_sync_time = lastSyncTime;
84
+ return mexQuery(variables, MANAGED_ACCOUNT_MEX_IDS.SYNC_ACTIVITIES, 'xwa2_managed_account_sync_activities');
85
+ };
86
+
87
+ const managedAccountUpdatePin = (oldPin, newPin) =>
88
+ mexQuery(
89
+ { input: { old_pin: oldPin, new_pin: newPin } },
90
+ MANAGED_ACCOUNT_MEX_IDS.UPDATE_PIN,
91
+ 'xwa2_managed_account_update_pin'
92
+ );
93
+
94
+ const managedAccountGetSponsorAgeVerification = sponsorJid =>
95
+ mexQuery(
96
+ { sponsor_jid: sponsorJid },
97
+ MANAGED_ACCOUNT_MEX_IDS.GET_SPONSOR_AGE_VERIFICATION,
98
+ 'xwa2_managed_account_sponsor_age_verification'
99
+ );
100
+
101
+ // Payments Passkey
102
+
103
+ const paymentsPasskeyHasCredential = () =>
104
+ mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_HAS_CREDENTIAL, 'xwa2_payments_passkey_has_credential');
105
+
106
+ const paymentsPasskeyEnrollChallenge = () =>
107
+ mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_ENROLL_CHALLENGE, 'xwa2_payments_passkey_enroll_challenge');
108
+
109
+ const paymentsPasskeyEnrollVerify = (credentialId, attestationObject, clientDataJson) =>
110
+ mexQuery(
111
+ { credential_id: credentialId, attestation_object: attestationObject, client_data_json: clientDataJson },
112
+ MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_ENROLL_VERIFY,
113
+ 'xwa2_payments_passkey_enroll_verify'
114
+ );
115
+
116
+ const paymentsPasskeyRegisterFinish = (credentialId, attestationObject, clientDataJson) =>
117
+ mexQuery(
118
+ { credential_id: credentialId, attestation_object: attestationObject, client_data_json: clientDataJson },
119
+ MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_REGISTER_FINISH,
120
+ 'xwa2_payments_passkey_register_finish'
121
+ );
122
+
123
+ const paymentsPasskeyAuthChallenge = credentialId =>
124
+ mexQuery(
125
+ { credential_id: credentialId },
126
+ MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_AUTH_CHALLENGE,
127
+ 'xwa2_payments_passkey_auth_challenge'
128
+ );
129
+
130
+ const paymentsPasskeyToggleOn = () =>
131
+ mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_ON, 'xwa2_payments_passkey_toggle_on');
132
+
133
+ const paymentsPasskeyToggleOff = () =>
134
+ mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_OFF, 'xwa2_payments_passkey_toggle_off');
135
+
136
+ const paymentsPasskeyToggleChallenge = credentialId =>
137
+ mexQuery(
138
+ { credential_id: credentialId },
139
+ MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_CHALLENGE,
140
+ 'xwa2_payments_passkey_toggle_challenge'
141
+ );
142
+
143
+ const paymentsPasskeyToggleCleanup = () =>
144
+ mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_CLEANUP, 'xwa2_payments_passkey_toggle_cleanup');
145
+
146
+ const paymentsPasskeyCleanup = () =>
147
+ mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_CLEANUP, 'xwa2_payments_passkey_cleanup');
148
+
149
+ const paymentsIsAccountRecoverable = () =>
150
+ mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_IS_RECOVERABLE, 'xwa2_payments_is_account_recoverable');
151
+
152
+ // UPI onboarding
153
+
154
+ const upiSendOtp = phoneNumber =>
155
+ mexQuery({ phone_number: phoneNumber }, MANAGED_ACCOUNT_MEX_IDS.UPI_SEND_OTP, 'xwa2_upi_send_otp');
156
+
157
+ const upiVerifyOtp = (phoneNumber, otp) =>
158
+ mexQuery({ phone_number: phoneNumber, otp }, MANAGED_ACCOUNT_MEX_IDS.UPI_VERIFY_OTP, 'xwa2_upi_verify_otp');
159
+
160
+ // IPLS (Identity-Preserving Linked Spaces)
161
+
162
+ const iplsHandshakeInit = payload =>
163
+ mexQuery({ payload }, MANAGED_ACCOUNT_MEX_IDS.IPLS_HANDSHAKE_INIT, 'xwa2_ipls_handshake_init');
164
+
165
+ const iplsClientHello = payload =>
166
+ mexQuery({ payload }, MANAGED_ACCOUNT_MEX_IDS.IPLS_CLIENT_HELLO, 'xwa2_ipls_client_hello');
167
+
168
+ const iplsdClientHelloV2 = payload =>
169
+ mexQuery({ payload }, MANAGED_ACCOUNT_MEX_IDS.IPLSD_CLIENT_HELLO_V2, 'xwa2_iplsd_client_hello_v2');
170
+
171
+ const iplsdClientInitV2 = payload =>
172
+ mexQuery({ payload }, MANAGED_ACCOUNT_MEX_IDS.IPLSD_CLIENT_INIT_V2, 'xwa2_iplsd_client_init_v2');
173
+
174
+ return {
175
+ ...sock,
176
+ // Managed accounts
177
+ managedAccountQuery,
178
+ managedAccountInitiateLinking,
179
+ managedAccountValidateLinking,
180
+ managedAccountAcceptLinking,
181
+ managedAccountCompleteLinking,
182
+ managedAccountRevokeLinking,
183
+ managedAccountSyncActivities,
184
+ managedAccountUpdatePin,
185
+ managedAccountGetSponsorAgeVerification,
186
+ // Payments passkey
187
+ paymentsPasskeyHasCredential,
188
+ paymentsPasskeyEnrollChallenge,
189
+ paymentsPasskeyEnrollVerify,
190
+ paymentsPasskeyRegisterFinish,
191
+ paymentsPasskeyAuthChallenge,
192
+ paymentsPasskeyToggleOn,
193
+ paymentsPasskeyToggleOff,
194
+ paymentsPasskeyToggleChallenge,
195
+ paymentsPasskeyToggleCleanup,
196
+ paymentsPasskeyCleanup,
197
+ paymentsIsAccountRecoverable,
198
+ // UPI
199
+ upiSendOtp,
200
+ upiVerifyOtp,
201
+ // IPLS
202
+ iplsHandshakeInit,
203
+ iplsClientHello,
204
+ iplsdClientHelloV2,
205
+ iplsdClientInitV2,
206
+ MANAGED_ACCOUNT_MEX_IDS
207
+ };
208
+ };