@badzz88/baileys 8.4.7 → 8.4.9

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 (240) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1055 -337
  3. package/WAProto/WAProto.proto +347 -6
  4. package/WAProto/fix-import.js +38 -0
  5. package/WAProto/fix-imports.js +86 -85
  6. package/WAProto/index.d.ts +4913 -25
  7. package/WAProto/index.js +14074 -98
  8. package/package.json +50 -90
  9. package/src/Defaults/index.js +201 -0
  10. package/src/Defaults/phonenumber-mcc.json +223 -0
  11. package/src/Signal/Group/ciphertext-message.js +15 -0
  12. package/src/Signal/Group/group-session-builder.js +92 -0
  13. package/src/Signal/Group/group_cipher.js +89 -0
  14. package/src/Signal/Group/index.js +136 -0
  15. package/src/Signal/Group/keyhelper.js +73 -0
  16. package/src/Signal/Group/sender-chain-key.js +32 -0
  17. package/src/Signal/Group/sender-key-distribution-message.js +66 -0
  18. package/src/Signal/Group/sender-key-message.js +69 -0
  19. package/src/Signal/Group/sender-key-name.js +50 -0
  20. package/src/Signal/Group/sender-key-record.js +44 -0
  21. package/src/Signal/Group/sender-key-state.js +97 -0
  22. package/src/Signal/Group/sender-message-key.js +30 -0
  23. package/src/Signal/libsignal.js +470 -0
  24. package/src/Signal/lid-mapping.js +262 -0
  25. package/src/Socket/Client/index.js +30 -0
  26. package/src/Socket/Client/types.js +13 -0
  27. package/src/Socket/Client/websocket.js +62 -0
  28. package/src/Socket/aigroups.js +240 -0
  29. package/src/Socket/business.js +422 -0
  30. package/src/Socket/chats.js +2374 -0
  31. package/src/Socket/communities.js +580 -0
  32. package/src/Socket/graphql.js +915 -0
  33. package/src/Socket/groups.js +812 -0
  34. package/src/Socket/index.js +37 -0
  35. package/src/Socket/interactive-handler.js +579 -0
  36. package/src/Socket/interop.js +566 -0
  37. package/src/Socket/managed-account.js +214 -0
  38. package/src/Socket/messages-recv.js +3012 -0
  39. package/src/Socket/messages-send.js +2163 -0
  40. package/{lib → src}/Socket/mex.js +11 -5
  41. package/src/Socket/newsletter.js +1057 -0
  42. package/src/Socket/privacy.js +452 -0
  43. package/src/Socket/registration.js +434 -0
  44. package/src/Socket/socket.js +1079 -0
  45. package/src/Socket/text-router.js +67 -0
  46. package/src/Socket/username.js +234 -0
  47. package/src/Store/index.js +36 -0
  48. package/src/Store/make-cache-manager-store.js +90 -0
  49. package/src/Store/make-in-memory-store.js +506 -0
  50. package/src/Store/make-ordered-dictionary.js +81 -0
  51. package/src/Store/object-repository.js +29 -0
  52. package/src/Types/Auth.js +38 -0
  53. package/src/Types/Bussines.js +2 -0
  54. package/src/Types/Call.js +2 -0
  55. package/src/Types/Chat.js +4 -0
  56. package/src/Types/Contact.js +2 -0
  57. package/src/Types/Events.js +2 -0
  58. package/src/Types/GroupMetadata.js +2 -0
  59. package/src/Types/Label.js +27 -0
  60. package/src/Types/LabelAssociation.js +9 -0
  61. package/src/Types/Message.js +95 -0
  62. package/src/Types/Newsletter.js +152 -0
  63. package/src/Types/Product.js +2 -0
  64. package/src/Types/Signal.js +2 -0
  65. package/src/Types/Socket.js +2 -0
  66. package/src/Types/State.js +70 -0
  67. package/src/Types/USync.js +2 -0
  68. package/src/Types/index.js +54 -0
  69. package/src/Utils/auth-utils.js +306 -0
  70. package/src/Utils/browser-utils.js +114 -0
  71. package/src/Utils/business.js +247 -0
  72. package/src/Utils/chat-utils.js +1272 -0
  73. package/src/Utils/consumer-application.js +107 -0
  74. package/src/Utils/crypto.js +125 -0
  75. package/src/Utils/decode-wa-message.js +808 -0
  76. package/src/Utils/event-buffer.js +586 -0
  77. package/src/Utils/generics.js +640 -0
  78. package/src/Utils/group-history.js +60 -0
  79. package/src/Utils/history.js +244 -0
  80. package/src/Utils/identity-change-handler.js +52 -0
  81. package/src/Utils/index.js +53 -0
  82. package/src/Utils/jid-display-normalization.js +218 -0
  83. package/src/Utils/link-preview.js +143 -0
  84. package/src/Utils/logger.js +9 -0
  85. package/src/Utils/lt-hash.js +10 -0
  86. package/src/Utils/make-mutex.js +36 -0
  87. package/src/Utils/message-composer.js +479 -0
  88. package/src/Utils/message-inspect.js +400 -0
  89. package/src/Utils/message-retry-manager.js +231 -0
  90. package/src/Utils/messages-media.js +943 -0
  91. package/src/Utils/messages.js +2490 -0
  92. package/src/Utils/meta-ai-msmsg.js +133 -0
  93. package/src/Utils/noise-handler.js +194 -0
  94. package/src/Utils/offline-node-processor.js +42 -0
  95. package/src/Utils/pre-key-manager.js +107 -0
  96. package/src/Utils/process-message.js +1047 -0
  97. package/src/Utils/reporting-utils.js +262 -0
  98. package/src/Utils/signal.js +192 -0
  99. package/src/Utils/stanza-ack.js +74 -0
  100. package/src/Utils/sync-action-utils.js +54 -0
  101. package/src/Utils/tc-token-utils.js +161 -0
  102. package/src/Utils/use-multi-file-auth-state.js +121 -0
  103. package/src/Utils/validate-connection.js +248 -0
  104. package/src/Utils/voip-rekey.js +22 -0
  105. package/src/WABinary/constants.js +1304 -0
  106. package/src/WABinary/decode.js +377 -0
  107. package/src/WABinary/encode.js +58 -0
  108. package/src/WABinary/generic-utils.js +148 -0
  109. package/src/WABinary/index.js +33 -0
  110. package/src/WABinary/jid-utils.js +374 -0
  111. package/src/WABinary/types.js +2 -0
  112. package/src/WAM/BinaryInfo.js +13 -0
  113. package/src/WAM/constants.js +39486 -0
  114. package/src/WAM/encode.js +142 -0
  115. package/src/WAM/index.js +31 -0
  116. package/src/WAUSync/Protocols/USyncBotProfileProtocol.js +55 -0
  117. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +100 -0
  118. package/src/WAUSync/Protocols/USyncContactProtocol.js +60 -0
  119. package/src/WAUSync/Protocols/USyncDeviceProtocol.js +65 -0
  120. package/src/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  121. package/src/WAUSync/Protocols/USyncFeatureProtocol.js +74 -0
  122. package/src/WAUSync/Protocols/USyncLIDProtocol.js +31 -0
  123. package/src/WAUSync/Protocols/USyncPictureProtocol.js +32 -0
  124. package/src/WAUSync/Protocols/USyncSidelistProtocol.js +29 -0
  125. package/src/WAUSync/Protocols/USyncStatusProtocol.js +44 -0
  126. package/src/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
  127. package/src/WAUSync/Protocols/USyncUsernameProtocol.js +28 -0
  128. package/src/WAUSync/Protocols/index.js +40 -0
  129. package/src/WAUSync/USyncBackoff.js +31 -0
  130. package/src/WAUSync/USyncQuery.js +204 -0
  131. package/src/WAUSync/USyncUser.js +58 -0
  132. package/src/WAUSync/index.js +32 -0
  133. package/src/antiban.js +4726 -0
  134. package/{lib → src}/index.js +48 -15
  135. package/lib/Defaults/index.js +0 -130
  136. package/lib/Signal/Group/ciphertext-message.js +0 -12
  137. package/lib/Signal/Group/group-session-builder.js +0 -30
  138. package/lib/Signal/Group/group_cipher.js +0 -82
  139. package/lib/Signal/Group/index.js +0 -12
  140. package/lib/Signal/Group/keyhelper.js +0 -18
  141. package/lib/Signal/Group/sender-chain-key.js +0 -26
  142. package/lib/Signal/Group/sender-key-distribution-message.js +0 -63
  143. package/lib/Signal/Group/sender-key-message.js +0 -66
  144. package/lib/Signal/Group/sender-key-name.js +0 -48
  145. package/lib/Signal/Group/sender-key-record.js +0 -41
  146. package/lib/Signal/Group/sender-key-state.js +0 -84
  147. package/lib/Signal/Group/sender-message-key.js +0 -26
  148. package/lib/Signal/libsignal.js +0 -431
  149. package/lib/Signal/lid-mapping.js +0 -277
  150. package/lib/Socket/Client/index.js +0 -3
  151. package/lib/Socket/Client/types.js +0 -11
  152. package/lib/Socket/Client/websocket.js +0 -54
  153. package/lib/Socket/business.js +0 -379
  154. package/lib/Socket/chats.js +0 -1193
  155. package/lib/Socket/communities.js +0 -431
  156. package/lib/Socket/groups.js +0 -374
  157. package/lib/Socket/index.js +0 -12
  158. package/lib/Socket/luxu.js +0 -386
  159. package/lib/Socket/messages-recv.js +0 -1916
  160. package/lib/Socket/messages-send.js +0 -1453
  161. package/lib/Socket/newsletter.js +0 -251
  162. package/lib/Socket/socket.js +0 -980
  163. package/lib/Socket/username.js +0 -146
  164. package/lib/Store/index.js +0 -10
  165. package/lib/Store/keyed-db.js +0 -108
  166. package/lib/Store/make-cache-manager-store.js +0 -85
  167. package/lib/Store/make-in-memory-store.js +0 -198
  168. package/lib/Store/make-ordered-dictionary.js +0 -75
  169. package/lib/Store/object-repository.js +0 -32
  170. package/lib/Types/Auth.js +0 -2
  171. package/lib/Types/Bussines.js +0 -2
  172. package/lib/Types/Call.js +0 -2
  173. package/lib/Types/Chat.js +0 -8
  174. package/lib/Types/Contact.js +0 -2
  175. package/lib/Types/Events.js +0 -2
  176. package/lib/Types/GroupMetadata.js +0 -2
  177. package/lib/Types/Label.js +0 -25
  178. package/lib/Types/LabelAssociation.js +0 -7
  179. package/lib/Types/Message.js +0 -11
  180. package/lib/Types/Mex.js +0 -37
  181. package/lib/Types/Product.js +0 -2
  182. package/lib/Types/Signal.js +0 -2
  183. package/lib/Types/Socket.js +0 -3
  184. package/lib/Types/State.js +0 -56
  185. package/lib/Types/USync.js +0 -2
  186. package/lib/Types/index.js +0 -26
  187. package/lib/Utils/auth-utils.js +0 -302
  188. package/lib/Utils/browser-utils.js +0 -49
  189. package/lib/Utils/business.js +0 -231
  190. package/lib/Utils/chat-utils.js +0 -872
  191. package/lib/Utils/companion-reg-client-utils.js +0 -35
  192. package/lib/Utils/crypto.js +0 -118
  193. package/lib/Utils/decode-wa-message.js +0 -350
  194. package/lib/Utils/event-buffer.js +0 -622
  195. package/lib/Utils/generics.js +0 -403
  196. package/lib/Utils/history.js +0 -134
  197. package/lib/Utils/identity-change-handler.js +0 -50
  198. package/lib/Utils/index.js +0 -23
  199. package/lib/Utils/link-preview.js +0 -85
  200. package/lib/Utils/logger.js +0 -3
  201. package/lib/Utils/lt-hash.js +0 -8
  202. package/lib/Utils/make-mutex.js +0 -33
  203. package/lib/Utils/message-composer.js +0 -273
  204. package/lib/Utils/message-retry-manager.js +0 -265
  205. package/lib/Utils/messages-media.js +0 -788
  206. package/lib/Utils/messages.js +0 -1260
  207. package/lib/Utils/noise-handler.js +0 -201
  208. package/lib/Utils/offline-node-processor.js +0 -40
  209. package/lib/Utils/pre-key-manager.js +0 -106
  210. package/lib/Utils/process-message.js +0 -630
  211. package/lib/Utils/reporting-utils.js +0 -258
  212. package/lib/Utils/signal.js +0 -201
  213. package/lib/Utils/stanza-ack.js +0 -38
  214. package/lib/Utils/sync-action-utils.js +0 -49
  215. package/lib/Utils/tc-token-utils.js +0 -163
  216. package/lib/Utils/use-multi-file-auth-state.js +0 -121
  217. package/lib/Utils/validate-connection.js +0 -203
  218. package/lib/WABinary/constants.js +0 -1301
  219. package/lib/WABinary/decode.js +0 -262
  220. package/lib/WABinary/encode.js +0 -220
  221. package/lib/WABinary/generic-utils.js +0 -204
  222. package/lib/WABinary/index.js +0 -6
  223. package/lib/WABinary/jid-utils.js +0 -98
  224. package/lib/WABinary/types.js +0 -2
  225. package/lib/WAM/BinaryInfo.js +0 -10
  226. package/lib/WAM/constants.js +0 -22853
  227. package/lib/WAM/encode.js +0 -150
  228. package/lib/WAM/index.js +0 -4
  229. package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -52
  230. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -54
  231. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -27
  232. package/lib/WAUSync/Protocols/USyncNewsletterProtocol.js +0 -263
  233. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -38
  234. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  235. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -51
  236. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -29
  237. package/lib/WAUSync/Protocols/index.js +0 -6
  238. package/lib/WAUSync/USyncQuery.js +0 -98
  239. package/lib/WAUSync/USyncUser.js +0 -31
  240. package/lib/WAUSync/index.js +0 -4
@@ -1,7 +1,7 @@
1
1
  syntax = "proto3";
2
2
  package proto;
3
3
 
4
- /// WhatsApp Version: 2.3000.1041467552
4
+ /// WhatsApp Version: 2.3000.1043616636
5
5
 
6
6
  message ADVDeviceIdentity {
7
7
  optional uint32 rawId = 1;
@@ -83,6 +83,16 @@ message AIMetadataOperation {
83
83
  optional HatchMetadataSync hatchMetadataSync = 1;
84
84
  }
85
85
 
86
+ message AIProvenance {
87
+ optional Metadata c2PaMetadata = 1;
88
+ optional Metadata iptcMetadata = 2;
89
+ message Metadata {
90
+ optional bool createdWithGenAi = 1;
91
+ optional bool editedWithGenAi = 2;
92
+ }
93
+
94
+ }
95
+
86
96
  message AIQueryFanout {
87
97
  optional MessageKey messageKey = 1;
88
98
  optional Message message = 2;
@@ -370,6 +380,7 @@ message BotAgeCollectionMetadata {
370
380
 
371
381
  message BotAgentDeepLinkMetadata {
372
382
  optional string token = 1;
383
+ optional bytes clientPublicKey = 2;
373
384
  }
374
385
 
375
386
  message BotAgentMetadata {
@@ -445,6 +456,7 @@ message BotCapabilityMetadata {
445
456
  UNIFIED_RESPONSE_MARKDOWN_LINKS_ENABLED = 63;
446
457
  AI_RICH_RESPONSE_MAPS_V2_ENABLED = 64;
447
458
  AI_SUBSCRIPTION_METERING_ENABLED = 65;
459
+ RICH_RESPONSE_SPORTS_WIDGET_ENABLED = 66;
448
460
  }
449
461
  }
450
462
 
@@ -566,6 +578,10 @@ message BotGroupParticipantMetadata {
566
578
  optional string botFbid = 1;
567
579
  }
568
580
 
581
+ message BotHistoryShareMetadata {
582
+ repeated BotGroupParticipantMetadata participantsMetadata = 1;
583
+ }
584
+
569
585
  message BotImagineMetadata {
570
586
  optional ImagineType imagineType = 1;
571
587
  optional string shortPrompt = 2;
@@ -689,6 +705,7 @@ message BotMetadata {
689
705
  optional BotResolvedToolCallMetadata resolvedToolCallMetadata = 40;
690
706
  optional AISubscriptionUpsellMetadata subscriptionUpsellMetadata = 41;
691
707
  optional BotPttPromptMetadata pttPromptMetadata = 42;
708
+ optional BotHistoryShareMetadata botHistoryShareMetadata = 43;
692
709
  optional bytes internalMetadata = 999;
693
710
  }
694
711
 
@@ -741,6 +758,7 @@ enum BotMetricsEntryPoint {
741
758
  GROUP_MEMBER = 54;
742
759
  CHATLIST_SEARCH = 55;
743
760
  NEW_CHAT_LIST = 56;
761
+ CONTACTS_TAB = 57;
744
762
  }
745
763
  message BotMetricsMetadata {
746
764
  optional string destinationId = 1;
@@ -1394,6 +1412,22 @@ message ClientPayload {
1394
1412
 
1395
1413
  }
1396
1414
 
1415
+ message CoexStateSync {
1416
+ repeated CollectionMutations collectionMutations = 1;
1417
+ message CollectionMutations {
1418
+ optional string collection = 1;
1419
+ repeated CoexStateSync.Mutation mutations = 2;
1420
+ }
1421
+
1422
+ message Mutation {
1423
+ optional SyncdIndex index = 1;
1424
+ optional SyncdValue value = 2;
1425
+ optional uint64 dirtyVersion = 3;
1426
+ optional SyncdMutation.SyncdOperation operation = 4;
1427
+ }
1428
+
1429
+ }
1430
+
1397
1431
  enum CollectionName {
1398
1432
  COLLECTION_NAME_UNKNOWN = 0;
1399
1433
  REGULAR = 1;
@@ -1705,6 +1739,8 @@ message ContextInfo {
1705
1739
  optional CrossAppSource crossAppSource = 77;
1706
1740
  optional BusinessInteractionPills businessInteractionPills = 78;
1707
1741
  optional string posterStatusId = 79;
1742
+ optional InstagramThreadLink instagramThreadLink = 80;
1743
+ optional AIProvenance aiProvenance = 81;
1708
1744
  message AdReplyInfo {
1709
1745
  optional string advertiserName = 1;
1710
1746
  optional MediaType mediaType = 2;
@@ -1723,6 +1759,7 @@ message ContextInfo {
1723
1759
  optional EntryPoint entryPoint = 3;
1724
1760
  optional bytes signedPayload = 4;
1725
1761
  optional BotSignatureVerificationMetadata signatureEnvelope = 5;
1762
+ optional UnauthenticatedBusinessMetadata unauthenticatedBusinessMetadata = 6;
1726
1763
  enum EntryPoint {
1727
1764
  ENTRY_POINT_UNKNOWN = 0;
1728
1765
  P2P_LINK_SHARE = 1;
@@ -1756,6 +1793,13 @@ message ContextInfo {
1756
1793
  repeated ContextInfo.BusinessInteractionPills.Pill pills = 2;
1757
1794
  }
1758
1795
 
1796
+ message UnauthenticatedBusinessMetadata {
1797
+ optional string businessName = 1;
1798
+ optional string businessCategory = 2;
1799
+ optional bool businessIsOpen = 3;
1800
+ optional int64 businessIsOpenSnapshotMs = 4;
1801
+ }
1802
+
1759
1803
  }
1760
1804
 
1761
1805
  message BusinessMessageForwardInfo {
@@ -1860,6 +1904,10 @@ message ContextInfo {
1860
1904
  }
1861
1905
  }
1862
1906
 
1907
+ message InstagramThreadLink {
1908
+ optional string url = 1;
1909
+ }
1910
+
1863
1911
  enum PairedMediaType {
1864
1912
  NOT_PAIRED_MEDIA = 0;
1865
1913
  SD_VIDEO_PARENT = 1;
@@ -1980,6 +2028,7 @@ message Conversation {
1980
2028
  optional uint64 appealUpdateTime = 60;
1981
2029
  optional string authAgentParentCompanyName = 61;
1982
2030
  optional string authAgentObaPhoneNumber = 62;
2031
+ optional IdentityVerificationState identityVerification = 63;
1983
2032
  enum EndOfHistoryTransferType {
1984
2033
  COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0;
1985
2034
  COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1;
@@ -1994,6 +2043,43 @@ message Conversation {
1994
2043
  }
1995
2044
  }
1996
2045
 
2046
+ message CreateBackupInput {
2047
+ optional string recoveryCode = 1;
2048
+ optional uint64 userId = 2;
2049
+ }
2050
+
2051
+ message CreateBackupOutput {
2052
+ optional DeviceOutput device = 1;
2053
+ optional VirtualDeviceOutput virtualDevice = 2;
2054
+ optional Epoch0Output epoch0 = 3;
2055
+ optional bytes mailboxRootKey = 4;
2056
+ optional string error = 5;
2057
+ }
2058
+
2059
+ message DecryptMessageInput {
2060
+ optional bytes epochRootKey = 1;
2061
+ optional bytes epochAnonId = 2;
2062
+ optional string threadId = 3;
2063
+ optional int32 encryptionVersion = 4;
2064
+ optional bytes ciphertext = 5;
2065
+ }
2066
+
2067
+ message DecryptMessageOutput {
2068
+ optional bytes plaintextPayload = 1;
2069
+ optional string error = 2;
2070
+ }
2071
+
2072
+ message DeriveMessageKeyInput {
2073
+ optional bytes epochRootKey = 1;
2074
+ optional bytes epochAnonId = 2;
2075
+ optional string threadId = 3;
2076
+ }
2077
+
2078
+ message DeriveMessageKeyOutput {
2079
+ optional bytes messageKey = 1;
2080
+ optional string error = 2;
2081
+ }
2082
+
1997
2083
  message DeviceCapabilities {
1998
2084
  optional ChatLockSupportLevel chatLockSupportLevel = 1;
1999
2085
  optional LIDMigration lidMigration = 2;
@@ -2001,6 +2087,11 @@ message DeviceCapabilities {
2001
2087
  optional UserHasAvatar userHasAvatar = 4;
2002
2088
  optional MemberNameTagPrimarySupport memberNameTagPrimarySupport = 5;
2003
2089
  optional AiThread aiThread = 6;
2090
+ optional AiFbidMigration aiFbidMigration = 7;
2091
+ message AiFbidMigration {
2092
+ optional uint64 chatDbMigrationTimestamp = 1;
2093
+ }
2094
+
2004
2095
  message AiThread {
2005
2096
  optional SupportLevel supportLevel = 1;
2006
2097
  enum SupportLevel {
@@ -2054,6 +2145,18 @@ message DeviceListMetadata {
2054
2145
  repeated uint32 recipientKeyIndexes = 10 [packed=true];
2055
2146
  }
2056
2147
 
2148
+ message DeviceOutput {
2149
+ optional bytes publicKey = 1;
2150
+ optional bytes epochAuthPublicKey = 2;
2151
+ optional bytes epochAuthPublicKeySig = 3;
2152
+ optional bytes epochStoragePublicKey = 4;
2153
+ optional bytes epochStoragePublicKeySig = 5;
2154
+ repeated int32 supportedEncryptionVersions = 6;
2155
+ optional bytes encryptionVersionSignature = 7;
2156
+ optional int32 clientVersion = 8;
2157
+ optional bytes ocmfClientState = 9;
2158
+ }
2159
+
2057
2160
  message DeviceProps {
2058
2161
  optional string os = 1;
2059
2162
  optional AppVersion version = 2;
@@ -2174,16 +2277,61 @@ message EmbeddedMusic {
2174
2277
  optional int64 overlapDurationInMs = 14;
2175
2278
  }
2176
2279
 
2280
+ message EncryptMessageInput {
2281
+ optional bytes epochRootKey = 1;
2282
+ optional bytes mailboxRootKey = 2;
2283
+ optional bytes orfClientState = 3;
2284
+ optional bytes epochAnonId = 4;
2285
+ optional uint64 epochId = 5;
2286
+ optional string threadId = 6;
2287
+ optional uint64 waCanonicalUserFbid = 7;
2288
+ optional uint64 timestampMs = 8;
2289
+ optional uint64 backupId = 9;
2290
+ optional bytes plaintextPayload = 10;
2291
+ optional string stanzaId = 11;
2292
+ }
2293
+
2294
+ message EncryptMessageOutput {
2295
+ optional bytes encryptedProtobuf = 1;
2296
+ optional bytes orfThreadId = 2;
2297
+ optional string valueSecretRef = 3;
2298
+ optional uint64 offlineThreadingId = 4;
2299
+ optional uint64 timestampMs = 5;
2300
+ optional bytes messageKey = 6;
2301
+ optional string error = 7;
2302
+ }
2303
+
2177
2304
  message EncryptedPairingRequest {
2178
2305
  optional bytes encryptedPayload = 1;
2179
2306
  optional bytes iv = 2;
2180
2307
  }
2181
2308
 
2309
+ message EncryptedSecretValuesOutput {
2310
+ optional bytes encryptedDevicePrivateKey = 1;
2311
+ optional bytes encryptedObliviousValidationTokenBlob = 2;
2312
+ optional bytes encryptedEpochStoragePrivateKey = 3;
2313
+ optional bytes encryptedOcmfClientState = 4;
2314
+ optional bytes encryptedOrfClientStateV2 = 5;
2315
+ optional bytes encryptedMailboxRootKeyBlob = 6;
2316
+ optional bytes encryptedEpochAnonId = 7;
2317
+ optional bytes encryptedEpochRootKey = 8;
2318
+ }
2319
+
2182
2320
  message EphemeralSetting {
2183
2321
  optional sfixed32 duration = 1;
2184
2322
  optional sfixed64 timestamp = 2;
2185
2323
  }
2186
2324
 
2325
+ message Epoch0Output {
2326
+ optional uint64 epochFbid = 1;
2327
+ optional bytes epochAnonId = 2;
2328
+ optional bytes epochData = 3;
2329
+ optional bytes wrappedRootKeyForSelf = 4;
2330
+ optional bytes epochSignature = 5;
2331
+ optional bytes epochRootKeyFingerprint = 6;
2332
+ optional bytes epochRootKey = 7;
2333
+ }
2334
+
2187
2335
  message EventAdditionalMetadata {
2188
2336
  optional bool isStale = 1;
2189
2337
  }
@@ -2453,6 +2601,11 @@ message IdentityKeyPairStructure {
2453
2601
  optional bytes privateKey = 2;
2454
2602
  }
2455
2603
 
2604
+ message IdentityVerificationState {
2605
+ optional bool verified = 1;
2606
+ optional uint64 actionSeq = 2;
2607
+ }
2608
+
2456
2609
  message InThreadSurveyMetadata {
2457
2610
  optional string tessaSessionId = 1;
2458
2611
  optional string simonSessionId = 2;
@@ -2562,6 +2715,16 @@ message LIDMigrationMappingSyncPayload {
2562
2715
  optional uint64 chatDbMigrationTimestamp = 2;
2563
2716
  }
2564
2717
 
2718
+ message LabyrinthWaCommand {
2719
+ oneof commandInput {
2720
+ CreateBackupInput createBackupInput = 1;
2721
+ EncryptMessageInput encryptMessageInput = 2;
2722
+ DecryptMessageInput decryptMessageInput = 3;
2723
+ OrfThreadIdInput orfThreadIdInput = 4;
2724
+ DeriveMessageKeyInput deriveMessageKeyInput = 5;
2725
+ }
2726
+ }
2727
+
2565
2728
  message LegacyMessage {
2566
2729
  optional Message.EventResponseMessage eventResponseMessage = 1;
2567
2730
  optional Message.PollVoteMessage pollVote = 2;
@@ -2787,6 +2950,7 @@ message Message {
2787
2950
  optional SplitPaymentMessage splitPaymentMessage = 125;
2788
2951
  optional FutureProofMessage newsletterAdminProfileStatusMessage = 126;
2789
2952
  optional RootSecretDistributeMessage rootSecretDistributeMessage = 127;
2953
+ optional SplitPaymentUpdateMessage splitPaymentUpdateMessage = 128;
2790
2954
  message AlbumMessage {
2791
2955
  optional uint32 expectedImageCount = 2;
2792
2956
  optional uint32 expectedVideoCount = 3;
@@ -2858,6 +3022,12 @@ message Message {
2858
3022
  }
2859
3023
  }
2860
3024
 
3025
+ message BotHistoryShareSyncMetadata {
3026
+ optional string botJid = 1;
3027
+ optional int64 historyShareCutoffTimestamp = 2;
3028
+ repeated Message.HistoryShareMessageEntry historyShareMessages = 3;
3029
+ }
3030
+
2861
3031
  message ButtonsMessage {
2862
3032
  optional string contentText = 6;
2863
3033
  optional string footerText = 7;
@@ -2928,6 +3098,7 @@ message Message {
2928
3098
  optional string deeplinkPayload = 9;
2929
3099
  optional MessageContextInfo messageContextInfo = 10;
2930
3100
  optional uint32 callEntryPoint = 11;
3101
+ optional string callReason = 12;
2931
3102
  }
2932
3103
 
2933
3104
  message CallLogMessage {
@@ -3168,7 +3339,7 @@ message Message {
3168
3339
  optional bool viewOnce = 30;
3169
3340
  optional uint32 videoHeight = 31;
3170
3341
  optional uint32 videoWidth = 32;
3171
- optional Message.MMSThumbnailMetadata faviconMMSMetadata = 33;
3342
+ optional Message.MMSThumbnailMetadata faviconMmsMetadata = 33;
3172
3343
  optional Message.LinkPreviewMetadata linkPreviewMetadata = 34;
3173
3344
  optional Message.PaymentLinkMetadata paymentLinkMetadata = 35;
3174
3345
  repeated Message.VideoEndCard endCardTiles = 36;
@@ -3290,6 +3461,11 @@ message Message {
3290
3461
 
3291
3462
  }
3292
3463
 
3464
+ message HistoryShareMessageEntry {
3465
+ optional string stanzaId = 1;
3466
+ optional bytes messageSecretProof = 2;
3467
+ }
3468
+
3293
3469
  message HistorySyncMessageAccessStatus {
3294
3470
  optional bool completeAccessGranted = 1;
3295
3471
  }
@@ -3629,6 +3805,13 @@ message Message {
3629
3805
  optional uint32 thumbnailWidth = 7;
3630
3806
  }
3631
3807
 
3808
+ message MarkAsVerifiedAction {
3809
+ optional string userJidString = 1;
3810
+ optional bool verified = 2;
3811
+ optional bytes verifiedIdentityKey = 3;
3812
+ optional uint64 actionSeq = 4;
3813
+ }
3814
+
3632
3815
  message MessageHistoryBundle {
3633
3816
  optional string mimetype = 1;
3634
3817
  optional bytes fileSha256 = 2;
@@ -3651,6 +3834,7 @@ message Message {
3651
3834
  message MessageHistoryNotice {
3652
3835
  optional ContextInfo contextInfo = 1;
3653
3836
  optional Message.MessageHistoryMetadata messageHistoryMetadata = 2;
3837
+ optional Message.BotHistoryShareSyncMetadata botHistoryShareSyncMetadata = 3;
3654
3838
  }
3655
3839
 
3656
3840
  message NewsletterAdminInviteMessage {
@@ -3699,6 +3883,7 @@ message Message {
3699
3883
  message PaymentExtendedMetadata {
3700
3884
  optional uint32 type = 1;
3701
3885
  optional string platform = 2;
3886
+ optional string messageParamsJson = 3;
3702
3887
  }
3703
3888
 
3704
3889
  message PaymentInviteMessage {
@@ -3992,6 +4177,7 @@ message Message {
3992
4177
  GALAXY_FLOW_ACTION = 11;
3993
4178
  BUSINESS_BROADCAST_INSIGHTS_DELIVERED_TO = 12;
3994
4179
  BUSINESS_BROADCAST_INSIGHTS_REFRESH = 13;
4180
+ CONTACT_REFRESH_REQUEST = 14;
3995
4181
  }
3996
4182
  message PinInChatMessage {
3997
4183
  optional MessageKey key = 1;
@@ -4137,6 +4323,9 @@ message Message {
4137
4323
  optional uint32 afterReadDuration = 29;
4138
4324
  optional Message.ChatThemeSetting chatThemeSetting = 30;
4139
4325
  optional AIMetadataOperation aiMetadataOperation = 31;
4326
+ optional Message.MarkAsVerifiedAction markAsVerifiedAction = 32;
4327
+ optional CoexStateSync coexStateSync = 33;
4328
+ optional Message.SyncRequestMutationRetry syncRequestMutationRetry = 34;
4140
4329
  enum Type {
4141
4330
  REVOKE = 0;
4142
4331
  EPHEMERAL_SETTING = 3;
@@ -4168,6 +4357,9 @@ message Message {
4168
4357
  MESSAGE_UNSCHEDULE = 32;
4169
4358
  CHAT_THEME_SETTING = 34;
4170
4359
  AI_METADATA_OPERATION = 35;
4360
+ MARK_AS_VERIFIED_ACTION = 36;
4361
+ COEX_STATE_SYNC = 37;
4362
+ SYNC_REQUEST_MUTATION_RETRY = 38;
4171
4363
  }
4172
4364
  }
4173
4365
 
@@ -4283,6 +4475,11 @@ message Message {
4283
4475
  }
4284
4476
  }
4285
4477
 
4478
+ message SplitPaymentUpdateMessage {
4479
+ optional string splitId = 1;
4480
+ optional string participantJid = 2;
4481
+ }
4482
+
4286
4483
  message StatusNotificationMessage {
4287
4484
  optional MessageKey responseMessageKey = 1;
4288
4485
  optional MessageKey originalMessageKey = 2;
@@ -4391,6 +4588,16 @@ message Message {
4391
4588
  optional int64 requestTimestamp = 3;
4392
4589
  }
4393
4590
 
4591
+ message SyncRequestMutationRetry {
4592
+ repeated Collection collections = 1;
4593
+ optional uint32 count = 2;
4594
+ message Collection {
4595
+ optional string name = 1;
4596
+ optional uint64 storedSyncdVersion = 2;
4597
+ }
4598
+
4599
+ }
4600
+
4394
4601
  message TemplateButtonReplyMessage {
4395
4602
  optional string selectedId = 1;
4396
4603
  optional string selectedDisplayText = 2;
@@ -4564,6 +4771,8 @@ message MessageContextInfo {
4564
4771
  repeated ThreadID threadId = 15;
4565
4772
  optional WebLinkRenderConfig weblinkRenderConfig = 16;
4566
4773
  optional bytes teeBotMetadata = 17;
4774
+ optional NonE2EEAttestation accountEncryptionAttestation = 18;
4775
+ optional bytes associatedPrimaryIdentityKey = 19;
4567
4776
  enum MessageAddonExpiryType {
4568
4777
  STATIC = 1;
4569
4778
  DEPENDENT_ON_PARENT = 2;
@@ -4773,6 +4982,10 @@ enum MutationProps {
4773
4982
  THREAD_PIN_ACTION = 85;
4774
4983
  AUTO_ORGANIZE_BUSINESS_CHAT_SETTING = 86;
4775
4984
  BIZ_AI_SETTINGS_NUDGE_ACTION = 87;
4985
+ COEX_V2_VERSION_ACTION = 88;
4986
+ WASA_ROOT_SECRET_ACTION = 89;
4987
+ BUBBLE_LOCK_MESSAGE_ACTION = 90;
4988
+ LABEL_SUBLIST_ACTION = 91;
4776
4989
  SHARE_OWN_PN = 10001;
4777
4990
  BUSINESS_BROADCAST_ACTION = 10002;
4778
4991
  AI_THREAD_DELETE_ACTION = 10003;
@@ -4790,6 +5003,15 @@ message NoiseCertificate {
4790
5003
 
4791
5004
  }
4792
5005
 
5006
+ message NonE2EEAttestation {
5007
+ optional AccountType accountType = 1;
5008
+ enum AccountType {
5009
+ E2EE = 0;
5010
+ HYBRID_E2EE = 1;
5011
+ NON_E2EE = 2;
5012
+ }
5013
+ }
5014
+
4793
5015
  message NotificationMessageInfo {
4794
5016
  optional MessageKey key = 1;
4795
5017
  optional Message message = 2;
@@ -4806,6 +5028,16 @@ message NotificationSettings {
4806
5028
  optional string callVibrate = 6;
4807
5029
  }
4808
5030
 
5031
+ message OrfThreadIdInput {
5032
+ optional bytes orfClientState = 1;
5033
+ optional string threadId = 2;
5034
+ }
5035
+
5036
+ message OrfThreadIdOutput {
5037
+ optional bytes orfThreadId = 1;
5038
+ optional string error = 2;
5039
+ }
5040
+
4809
5041
  message PairingRequest {
4810
5042
  optional bytes companionPublicKey = 1;
4811
5043
  optional bytes companionIdentityKey = 2;
@@ -5016,6 +5248,8 @@ message PreKeySignalMessage {
5016
5248
  optional bytes baseKey = 2;
5017
5249
  optional bytes identityKey = 3;
5018
5250
  optional bytes message = 4;
5251
+ optional uint32 kyberPreKeyId = 7;
5252
+ optional bytes kyberCiphertext = 8;
5019
5253
  }
5020
5254
 
5021
5255
  message PremiumMessageInfo {
@@ -5233,6 +5467,8 @@ message SessionStructure {
5233
5467
  optional uint32 preKeyId = 1;
5234
5468
  optional int32 signedPreKeyId = 3;
5235
5469
  optional bytes baseKey = 2;
5470
+ optional uint32 kyberPreKeyId = 4;
5471
+ optional bytes kyberCiphertext = 5;
5236
5472
  }
5237
5473
 
5238
5474
  }
@@ -5478,9 +5714,13 @@ message SyncActionValue {
5478
5714
  optional ThreadPinAction threadPinAction = 85;
5479
5715
  optional AutoOrganizeBusinessChatSetting autoOrganizeBusinessChatSetting = 86;
5480
5716
  optional BizAISettingsNudgeAction bizAiSettingsNudgeAction = 87;
5717
+ optional CoexV2VersionAction coexV2VersionAction = 88;
5718
+ optional WASARootSecretAction wasaRootSecretAction = 89;
5719
+ optional BubbleLockMessageAction bubbleLockMessageAction = 90;
5720
+ optional LabelSublistAction labelSublistAction = 91;
5481
5721
  message AgentAction {
5482
5722
  optional string name = 1;
5483
- optional int32 deviceID = 2;
5723
+ optional int32 deviceId = 2;
5484
5724
  optional bool isDeleted = 3;
5485
5725
  }
5486
5726
 
@@ -5534,6 +5774,10 @@ message SyncActionValue {
5534
5774
  optional string pnJid = 2;
5535
5775
  }
5536
5776
 
5777
+ message BubbleLockMessageAction {
5778
+ optional bool locked = 1;
5779
+ }
5780
+
5537
5781
  message BusinessBroadcastAssociationAction {
5538
5782
  optional bool deleted = 1;
5539
5783
  }
@@ -5571,6 +5815,7 @@ message SyncActionValue {
5571
5815
  optional string listName = 3;
5572
5816
  repeated string labelIds = 4;
5573
5817
  optional string audienceExpression = 5;
5818
+ optional string customAudienceFbid = 6;
5574
5819
  }
5575
5820
 
5576
5821
  message CallLogAction {
@@ -5578,7 +5823,7 @@ message SyncActionValue {
5578
5823
  }
5579
5824
 
5580
5825
  message ChatAssignmentAction {
5581
- optional string deviceAgentID = 1;
5826
+ optional string deviceAgentId = 1;
5582
5827
  }
5583
5828
 
5584
5829
  message ChatAssignmentOpenedStatusAction {
@@ -5589,6 +5834,10 @@ message SyncActionValue {
5589
5834
  optional SyncActionValue.SyncActionMessageRange messageRange = 1;
5590
5835
  }
5591
5836
 
5837
+ message CoexV2VersionAction {
5838
+ optional uint64 version = 1;
5839
+ }
5840
+
5592
5841
  message ContactAction {
5593
5842
  optional string fullName = 1;
5594
5843
  optional string firstName = 2;
@@ -5713,6 +5962,10 @@ message SyncActionValue {
5713
5962
  repeated int32 sortedLabelIds = 1;
5714
5963
  }
5715
5964
 
5965
+ message LabelSublistAction {
5966
+ optional int32 subListId = 1;
5967
+ }
5968
+
5716
5969
  message LidContactAction {
5717
5970
  optional string fullName = 1;
5718
5971
  optional string firstName = 2;
@@ -5997,8 +6250,8 @@ message SyncActionValue {
5997
6250
  message StatusPrivacyAction {
5998
6251
  optional StatusDistributionMode mode = 1;
5999
6252
  repeated string userJid = 2;
6000
- optional bool shareToFB = 3;
6001
- optional bool shareToIG = 4;
6253
+ optional bool shareToFb = 3;
6254
+ optional bool shareToIg = 4;
6002
6255
  repeated CustomList customLists = 5;
6003
6256
  repeated StatusDistributionMode modes = 6;
6004
6257
  message CustomList {
@@ -6102,6 +6355,21 @@ message SyncActionValue {
6102
6355
  }
6103
6356
  }
6104
6357
 
6358
+ message WASARootSecretAction {
6359
+ repeated RootSecretEntry secrets = 1;
6360
+ message RootSecretEntry {
6361
+ optional string id = 1;
6362
+ optional bytes rootSecret = 2;
6363
+ optional int64 epoch = 3;
6364
+ optional Status status = 4;
6365
+ enum Status {
6366
+ INACTIVE = 0;
6367
+ ACTIVE = 1;
6368
+ }
6369
+ }
6370
+
6371
+ }
6372
+
6105
6373
  message WaffleAccountLinkStateAction {
6106
6374
  optional AccountLinkState linkState = 2;
6107
6375
  enum AccountLinkState {
@@ -6292,6 +6560,16 @@ message VerifiedNameCertificate {
6292
6560
 
6293
6561
  }
6294
6562
 
6563
+ message VirtualDeviceOutput {
6564
+ optional bytes vdId = 1;
6565
+ optional bytes vdPublicKey = 2;
6566
+ optional bytes vdEpochStoragePublicKey = 3;
6567
+ optional bytes vdEpochStoragePublicKeySig = 4;
6568
+ optional bytes ocmfRotationToken = 5;
6569
+ optional bytes deviceEpochHmac = 6;
6570
+ optional EncryptedSecretValuesOutput encryptedSecretValues = 7;
6571
+ }
6572
+
6295
6573
  message WallpaperSettings {
6296
6574
  optional string filename = 1;
6297
6575
  optional uint32 opacity = 2;
@@ -6670,6 +6948,10 @@ message WebMessageInfo {
6670
6948
  GROUP_TEE_BOT_ADDED = 223;
6671
6949
  CONTACT_INFO = 224;
6672
6950
  SCHEDULED_MESSAGE_CREATED = 225;
6951
+ IDENTITY_TRUST_MARKED = 226;
6952
+ IDENTITY_TRUST_UNMARKED = 227;
6953
+ IDENTITY_TRUST_REVOKED = 228;
6954
+ CTWA_CONSUMER_DISCLOSURE = 230;
6673
6955
  }
6674
6956
  }
6675
6957
 
@@ -6686,6 +6968,25 @@ message WebNotificationsInfo {
6686
6968
  }
6687
6969
 
6688
6970
  // >>> wa.voip (VoIP engine, generated by decode-voip-wasm.js) >>>
6971
+ enum DataChannelMessage_MessageScope {
6972
+ MESSAGE_SCOPE_UNSPECIFIED = 0;
6973
+ MESSAGE_SCOPE_RELAY_READABLE = 1;
6974
+ MESSAGE_SCOPE_END_TO_END = 2;
6975
+ }
6976
+
6977
+ enum DataChannelMessage_MessageType {
6978
+ MESSAGE_TYPE_UNSPECIFIED = 0;
6979
+ MESSAGE_TYPE_DATA = 1;
6980
+ MESSAGE_TYPE_CONTROL = 2;
6981
+ }
6982
+
6983
+ enum DataChannelMessage_RoutingMode {
6984
+ ROUTING_MODE_UNSPECIFIED = 0;
6985
+ ROUTING_MODE_RELAY_ONLY = 1;
6986
+ ROUTING_MODE_SELECTIVE_FORWARD = 2;
6987
+ ROUTING_MODE_BROADCAST = 3;
6988
+ }
6989
+
6689
6990
  enum RekeyKeyType {
6690
6991
  REKEY_KEY_AUDIO = 0;
6691
6992
  REKEY_KEY_VIDEO = 1;
@@ -6730,6 +7031,7 @@ enum StreamDescriptor_StreamLayer {
6730
7031
  message appDataMessage {
6731
7032
  reactionInfo reaction_info = 1;
6732
7033
  liveTranscriptionInfo transcription_info = 2;
7034
+ arEffectInfo ar_effect_info = 3;
6733
7035
  }
6734
7036
 
6735
7037
  // original: wa.voip.appDataPayloads
@@ -6742,6 +7044,17 @@ message AQSStats {
6742
7044
  optional int32 aqs = 1;
6743
7045
  }
6744
7046
 
7047
+ // original: wa.voip.arEffectInfo
7048
+ message arEffectInfo {
7049
+ uint64 transaction_id = 1;
7050
+ string ar_effect_id = 2;
7051
+ }
7052
+
7053
+ // original: wa.voip.BackupMute
7054
+ message BackupMute {
7055
+ bool is_muted = 1;
7056
+ }
7057
+
6745
7058
  // original: wa.voip.BackupRelayLatency
6746
7059
  message BackupRelayLatency {
6747
7060
  uint32 ipv4 = 1;
@@ -6765,6 +7078,23 @@ message BackupRelayLatencyReport {
6765
7078
  // original: wa.voip.BackupSignalEnvelope
6766
7079
  message BackupSignalEnvelope {
6767
7080
  BackupRelayLatencyReport relay_latency = 1;
7081
+ BackupMute mute = 2;
7082
+ BackupVideoState video_state = 3;
7083
+ BackupTerminate terminate = 4;
7084
+ }
7085
+
7086
+ // original: wa.voip.BackupTerminate
7087
+ message BackupTerminate {
7088
+ string reason = 1;
7089
+ }
7090
+
7091
+ // original: wa.voip.BackupVideoState
7092
+ message BackupVideoState {
7093
+ int32 video_state = 1;
7094
+ int32 transaction_id = 2;
7095
+ int32 device_orientation = 3;
7096
+ int32 codec_scheme = 4;
7097
+ string vid_dec_capability = 5;
6768
7098
  }
6769
7099
 
6770
7100
  // original: wa.voip.BwaInfo
@@ -6780,6 +7110,17 @@ message BwaStream {
6780
7110
  uint64 subscribed_pids_bitmap_64_127 = 3;
6781
7111
  }
6782
7112
 
7113
+ // original: wa.voip.DataChannelMessage
7114
+ message DataChannelMessage {
7115
+ uint32 from_pid = 1;
7116
+ repeated uint32 recipient_pids = 2;
7117
+ DataChannelMessage_RoutingMode routing_mode = 3;
7118
+ DataChannelMessage_MessageScope scope = 4;
7119
+ DataChannelMessage_MessageType message_type = 5;
7120
+ bytes payload = 6;
7121
+ uint32 transaction_id = 7;
7122
+ }
7123
+
6783
7124
  // original: wa.voip.E2eRekeyPayload
6784
7125
  message E2eRekeyPayload {
6785
7126
  repeated RekeyKeyEntry keys = 1;