@sanzoffc/baileys 3.0.1 → 3.0.2

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 (114) hide show
  1. package/LICENSE +1 -1
  2. package/WAProto/WAProto.proto +769 -233
  3. package/WAProto/index.js +65801 -141371
  4. package/lib/Defaults/index.js +117 -114
  5. package/lib/Defaults/index.js.bak +123 -0
  6. package/lib/KeyDB/BinarySearch.js +20 -0
  7. package/lib/KeyDB/KeyedDB.js +167 -0
  8. package/lib/KeyDB/index.js +4 -0
  9. package/lib/Signal/Group/ciphertext-message.js +12 -14
  10. package/lib/Signal/Group/group-session-builder.js +10 -42
  11. package/lib/Signal/Group/group_cipher.js +75 -87
  12. package/lib/Signal/Group/index.js +13 -57
  13. package/lib/Signal/Group/keyhelper.js +17 -52
  14. package/lib/Signal/Group/sender-chain-key.js +27 -33
  15. package/lib/Signal/Group/sender-key-distribution-message.js +62 -63
  16. package/lib/Signal/Group/sender-key-message.js +65 -66
  17. package/lib/Signal/Group/sender-key-name.js +45 -44
  18. package/lib/Signal/Group/sender-key-record.js +39 -49
  19. package/lib/Signal/Group/sender-key-state.js +80 -93
  20. package/lib/Signal/Group/sender-message-key.js +27 -28
  21. package/lib/Signal/libsignal.js +313 -163
  22. package/lib/Signal/lid-mapping.js +155 -0
  23. package/lib/Socket/Client/index.js +4 -18
  24. package/lib/Socket/Client/types.js +12 -12
  25. package/lib/Socket/Client/websocket.js +51 -71
  26. package/lib/Socket/Client/websocket.js.bak +53 -0
  27. package/lib/Socket/business.js +359 -242
  28. package/lib/Socket/chats.js +858 -945
  29. package/lib/Socket/communities.js +413 -0
  30. package/lib/Socket/groups.js +304 -324
  31. package/lib/Socket/index.js +15 -9
  32. package/lib/Socket/messages-recv.js +1105 -1046
  33. package/lib/Socket/messages-send.js +615 -389
  34. package/lib/Socket/mex.js +45 -0
  35. package/lib/Socket/newsletter.js +224 -227
  36. package/lib/Socket/socket.js +795 -621
  37. package/lib/Store/index.js +6 -8
  38. package/lib/Store/make-cache-manager-store.js +75 -0
  39. package/lib/Store/make-in-memory-store.js +286 -435
  40. package/lib/Store/make-ordered-dictionary.js +77 -79
  41. package/lib/Store/object-repository.js +24 -26
  42. package/lib/Types/Auth.js +3 -2
  43. package/lib/Types/Bussines.js +3 -0
  44. package/lib/Types/Call.js +3 -2
  45. package/lib/Types/Chat.js +9 -4
  46. package/lib/Types/Contact.js +3 -2
  47. package/lib/Types/Events.js +3 -2
  48. package/lib/Types/GroupMetadata.js +3 -2
  49. package/lib/Types/Label.js +24 -26
  50. package/lib/Types/LabelAssociation.js +6 -8
  51. package/lib/Types/Message.js +12 -7
  52. package/lib/Types/Newsletter.js +32 -17
  53. package/lib/Types/Newsletter.js.bak +33 -0
  54. package/lib/Types/Product.js +3 -2
  55. package/lib/Types/Signal.js +3 -2
  56. package/lib/Types/Socket.js +4 -2
  57. package/lib/Types/State.js +11 -2
  58. package/lib/Types/USync.js +3 -2
  59. package/lib/Types/index.js +27 -41
  60. package/lib/Utils/auth-utils.js +211 -191
  61. package/lib/Utils/baileys-event-stream.js +44 -0
  62. package/lib/Utils/browser-utils.js +21 -31
  63. package/lib/Utils/business.js +213 -214
  64. package/lib/Utils/chat-utils.js +711 -689
  65. package/lib/Utils/crypto.js +112 -175
  66. package/lib/Utils/decode-wa-message.js +254 -194
  67. package/lib/Utils/event-buffer.js +510 -500
  68. package/lib/Utils/generics.js +318 -430
  69. package/lib/Utils/history.js +83 -90
  70. package/lib/Utils/index.js +21 -35
  71. package/lib/Utils/link-preview.js +71 -116
  72. package/lib/Utils/logger.js +5 -7
  73. package/lib/Utils/lt-hash.js +40 -46
  74. package/lib/Utils/make-mutex.js +34 -41
  75. package/lib/Utils/message-retry-manager.js +33 -48
  76. package/lib/Utils/messages-media.js +573 -825
  77. package/lib/Utils/messages.js +349 -489
  78. package/lib/Utils/noise-handler.js +138 -144
  79. package/lib/Utils/pre-key-manager.js +85 -0
  80. package/lib/Utils/process-message.js +321 -384
  81. package/lib/Utils/signal.js +147 -139
  82. package/lib/Utils/use-multi-file-auth-state.js +95 -109
  83. package/lib/Utils/validate-connection.js +183 -212
  84. package/lib/WABinary/constants.js +1298 -1298
  85. package/lib/WABinary/decode.js +231 -256
  86. package/lib/WABinary/encode.js +207 -239
  87. package/lib/WABinary/generic-utils.js +119 -40
  88. package/lib/WABinary/index.js +7 -21
  89. package/lib/WABinary/jid-utils.js +87 -79
  90. package/lib/WABinary/types.js +3 -2
  91. package/lib/WAM/BinaryInfo.js +10 -12
  92. package/lib/WAM/constants.js +22851 -15348
  93. package/lib/WAM/encode.js +135 -136
  94. package/lib/WAM/index.js +5 -19
  95. package/lib/WAUSync/Protocols/USyncContactProtocol.js +28 -30
  96. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +49 -53
  97. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -28
  98. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +36 -39
  99. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +50 -50
  100. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +26 -20
  101. package/lib/WAUSync/Protocols/index.js +6 -20
  102. package/lib/WAUSync/USyncQuery.js +86 -85
  103. package/lib/WAUSync/USyncUser.js +23 -25
  104. package/lib/WAUSync/index.js +5 -19
  105. package/lib/index.js +18 -49
  106. package/package.json +65 -78
  107. package/README.MD +0 -1295
  108. package/WAProto/GenerateStatics.sh +0 -4
  109. package/WAProto/p.html +0 -1
  110. package/engine-requirements.js +0 -10
  111. package/lib/Defaults/wileys-version.json +0 -3
  112. package/lib/Signal/Group/queue-job.js +0 -57
  113. package/lib/Socket/usync.js +0 -70
  114. package/lib/Utils/wileys-event-stream.js +0 -63
@@ -1,7 +1,7 @@
1
1
  syntax = "proto3";
2
2
  package proto;
3
3
 
4
- /// WhatsApp Version: 2.3000.1023888953
4
+ /// WhatsApp Version: 2.3000.1028742310
5
5
 
6
6
  message ADVDeviceIdentity {
7
7
  optional uint32 rawId = 1;
@@ -48,161 +48,179 @@ message AIQueryFanout {
48
48
  optional int64 timestamp = 3;
49
49
  }
50
50
 
51
- message AIRichResponseMessage {
52
- optional AIRichResponseMessageType messageType = 1;
53
- repeated AIRichResponseSubMessage submessages = 2;
54
- optional AIRichResponseUnifiedResponse unifiedResponse = 3;
55
- optional ContextInfo contextInfo = 4;
56
- message AIRichResponseCodeMetadata {
57
- optional string codeLanguage = 1;
58
- repeated AIRichResponseCodeBlock codeBlocks = 2;
59
- message AIRichResponseCodeBlock {
60
- optional AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType highlightType = 1;
61
- optional string codeContent = 2;
62
- }
63
-
64
- enum AIRichResponseCodeHighlightType {
65
- AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT = 0;
66
- AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD = 1;
67
- AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD = 2;
68
- AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING = 3;
69
- AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER = 4;
70
- AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT = 5;
71
- }
51
+ message AIRichResponseCodeMetadata {
52
+ optional string codeLanguage = 1;
53
+ repeated AIRichResponseCodeBlock codeBlocks = 2;
54
+ message AIRichResponseCodeBlock {
55
+ optional AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType highlightType = 1;
56
+ optional string codeContent = 2;
72
57
  }
73
58
 
74
- message AIRichResponseContentItemsMetadata {
75
- repeated AIRichResponseContentItemMetadata itemsMetadata = 1;
76
- optional ContentType contentType = 2;
77
- message AIRichResponseContentItemMetadata {
78
- oneof aIRichResponseContentItem {
79
- AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseReelItem reelItem = 1;
80
- }
81
- }
82
-
83
- message AIRichResponseReelItem {
84
- optional string title = 1;
85
- optional string profileIconUrl = 2;
86
- optional string thumbnailUrl = 3;
87
- optional string videoUrl = 4;
88
- }
89
-
90
- enum ContentType {
91
- DEFAULT = 0;
92
- CAROUSEL = 1;
93
- }
59
+ enum AIRichResponseCodeHighlightType {
60
+ AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT = 0;
61
+ AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD = 1;
62
+ AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD = 2;
63
+ AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING = 3;
64
+ AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER = 4;
65
+ AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT = 5;
94
66
  }
95
-
96
- message AIRichResponseDynamicMetadata {
97
- optional AIRichResponseDynamicMetadataType type = 1;
98
- optional uint64 version = 2;
99
- optional string url = 3;
100
- optional uint32 loopCount = 4;
101
- enum AIRichResponseDynamicMetadataType {
102
- AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN = 0;
103
- AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE = 1;
104
- AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF = 2;
67
+ }
68
+
69
+ message AIRichResponseContentItemsMetadata {
70
+ repeated AIRichResponseContentItemMetadata itemsMetadata = 1;
71
+ optional ContentType contentType = 2;
72
+ message AIRichResponseContentItemMetadata {
73
+ oneof aIRichResponseContentItem {
74
+ AIRichResponseContentItemsMetadata.AIRichResponseReelItem reelItem = 1;
105
75
  }
106
76
  }
107
77
 
108
- message AIRichResponseGridImageMetadata {
109
- optional AIRichResponseMessage.AIRichResponseImageURL gridImageUrl = 1;
110
- repeated AIRichResponseMessage.AIRichResponseImageURL imageUrls = 2;
78
+ message AIRichResponseReelItem {
79
+ optional string title = 1;
80
+ optional string profileIconUrl = 2;
81
+ optional string thumbnailUrl = 3;
82
+ optional string videoUrl = 4;
111
83
  }
112
84
 
113
- message AIRichResponseImageURL {
114
- optional string imagePreviewUrl = 1;
115
- optional string imageHighResUrl = 2;
116
- optional string sourceUrl = 3;
85
+ enum ContentType {
86
+ DEFAULT = 0;
87
+ CAROUSEL = 1;
117
88
  }
118
-
119
- message AIRichResponseInlineImageMetadata {
120
- optional AIRichResponseMessage.AIRichResponseImageURL imageUrl = 1;
121
- optional string imageText = 2;
122
- optional AIRichResponseImageAlignment alignment = 3;
123
- optional string tapLinkUrl = 4;
124
- enum AIRichResponseImageAlignment {
125
- AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED = 0;
126
- AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED = 1;
127
- AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED = 2;
128
- }
89
+ }
90
+
91
+ message AIRichResponseDynamicMetadata {
92
+ optional AIRichResponseDynamicMetadataType type = 1;
93
+ optional uint64 version = 2;
94
+ optional string url = 3;
95
+ optional uint32 loopCount = 4;
96
+ enum AIRichResponseDynamicMetadataType {
97
+ AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN = 0;
98
+ AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE = 1;
99
+ AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF = 2;
129
100
  }
130
-
131
- message AIRichResponseLatexMetadata {
132
- optional string text = 1;
133
- repeated AIRichResponseLatexExpression expressions = 2;
134
- message AIRichResponseLatexExpression {
135
- optional string latexExpression = 1;
136
- optional string url = 2;
137
- optional double width = 3;
138
- optional double height = 4;
139
- optional double fontHeight = 5;
140
- optional double imageTopPadding = 6;
141
- optional double imageLeadingPadding = 7;
142
- optional double imageBottomPadding = 8;
143
- optional double imageTrailingPadding = 9;
144
- }
145
-
101
+ }
102
+
103
+ message AIRichResponseGridImageMetadata {
104
+ optional AIRichResponseImageURL gridImageUrl = 1;
105
+ repeated AIRichResponseImageURL imageUrls = 2;
106
+ }
107
+
108
+ message AIRichResponseImageURL {
109
+ optional string imagePreviewUrl = 1;
110
+ optional string imageHighResUrl = 2;
111
+ optional string sourceUrl = 3;
112
+ }
113
+
114
+ message AIRichResponseInlineImageMetadata {
115
+ optional AIRichResponseImageURL imageUrl = 1;
116
+ optional string imageText = 2;
117
+ optional AIRichResponseImageAlignment alignment = 3;
118
+ optional string tapLinkUrl = 4;
119
+ enum AIRichResponseImageAlignment {
120
+ AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED = 0;
121
+ AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED = 1;
122
+ AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED = 2;
123
+ }
124
+ }
125
+
126
+ message AIRichResponseLatexMetadata {
127
+ optional string text = 1;
128
+ repeated AIRichResponseLatexExpression expressions = 2;
129
+ message AIRichResponseLatexExpression {
130
+ optional string latexExpression = 1;
131
+ optional string url = 2;
132
+ optional double width = 3;
133
+ optional double height = 4;
134
+ optional double fontHeight = 5;
135
+ optional double imageTopPadding = 6;
136
+ optional double imageLeadingPadding = 7;
137
+ optional double imageBottomPadding = 8;
138
+ optional double imageTrailingPadding = 9;
139
+ }
140
+
141
+ }
142
+
143
+ message AIRichResponseMapMetadata {
144
+ optional double centerLatitude = 1;
145
+ optional double centerLongitude = 2;
146
+ optional double latitudeDelta = 3;
147
+ optional double longitudeDelta = 4;
148
+ repeated AIRichResponseMapAnnotation annotations = 5;
149
+ optional bool showInfoList = 6;
150
+ message AIRichResponseMapAnnotation {
151
+ optional uint32 annotationNumber = 1;
152
+ optional double latitude = 2;
153
+ optional double longitude = 3;
154
+ optional string title = 4;
155
+ optional string body = 5;
146
156
  }
147
157
 
148
- message AIRichResponseMapMetadata {
149
- optional double centerLatitude = 1;
150
- optional double centerLongitude = 2;
151
- optional double latitudeDelta = 3;
152
- optional double longitudeDelta = 4;
153
- repeated AIRichResponseMapAnnotation annotations = 5;
154
- optional bool showInfoList = 6;
155
- message AIRichResponseMapAnnotation {
156
- optional uint32 annotationNumber = 1;
157
- optional double latitude = 2;
158
- optional double longitude = 3;
159
- optional string title = 4;
160
- optional string body = 5;
161
- }
162
-
158
+ }
159
+
160
+ message AIRichResponseMessage {
161
+ optional AIRichResponseMessageType messageType = 1;
162
+ repeated AIRichResponseSubMessage submessages = 2;
163
+ optional AIRichResponseUnifiedResponse unifiedResponse = 3;
164
+ optional ContextInfo contextInfo = 4;
165
+ }
166
+
167
+ enum AIRichResponseMessageType {
168
+ AI_RICH_RESPONSE_TYPE_UNKNOWN = 0;
169
+ AI_RICH_RESPONSE_TYPE_STANDARD = 1;
170
+ }
171
+ message AIRichResponseSubMessage {
172
+ optional AIRichResponseSubMessageType messageType = 1;
173
+ optional AIRichResponseGridImageMetadata gridImageMetadata = 2;
174
+ optional string messageText = 3;
175
+ optional AIRichResponseInlineImageMetadata imageMetadata = 4;
176
+ optional AIRichResponseCodeMetadata codeMetadata = 5;
177
+ optional AIRichResponseTableMetadata tableMetadata = 6;
178
+ optional AIRichResponseDynamicMetadata dynamicMetadata = 7;
179
+ optional AIRichResponseLatexMetadata latexMetadata = 8;
180
+ optional AIRichResponseMapMetadata mapMetadata = 9;
181
+ optional AIRichResponseContentItemsMetadata contentItemsMetadata = 10;
182
+ }
183
+
184
+ enum AIRichResponseSubMessageType {
185
+ AI_RICH_RESPONSE_UNKNOWN = 0;
186
+ AI_RICH_RESPONSE_GRID_IMAGE = 1;
187
+ AI_RICH_RESPONSE_TEXT = 2;
188
+ AI_RICH_RESPONSE_INLINE_IMAGE = 3;
189
+ AI_RICH_RESPONSE_TABLE = 4;
190
+ AI_RICH_RESPONSE_CODE = 5;
191
+ AI_RICH_RESPONSE_DYNAMIC = 6;
192
+ AI_RICH_RESPONSE_MAP = 7;
193
+ AI_RICH_RESPONSE_LATEX = 8;
194
+ AI_RICH_RESPONSE_CONTENT_ITEMS = 9;
195
+ }
196
+ message AIRichResponseTableMetadata {
197
+ repeated AIRichResponseTableRow rows = 1;
198
+ optional string title = 2;
199
+ message AIRichResponseTableRow {
200
+ repeated string items = 1;
201
+ optional bool isHeading = 2;
163
202
  }
164
203
 
165
- enum AIRichResponseMessageType {
166
- AI_RICH_RESPONSE_TYPE_UNKNOWN = 0;
167
- AI_RICH_RESPONSE_TYPE_STANDARD = 1;
168
- }
169
- message AIRichResponseSubMessage {
170
- optional AIRichResponseMessage.AIRichResponseSubMessageType messageType = 1;
171
- optional AIRichResponseMessage.AIRichResponseGridImageMetadata gridImageMetadata = 2;
172
- optional string messageText = 3;
173
- optional AIRichResponseMessage.AIRichResponseInlineImageMetadata imageMetadata = 4;
174
- optional AIRichResponseMessage.AIRichResponseCodeMetadata codeMetadata = 5;
175
- optional AIRichResponseMessage.AIRichResponseTableMetadata tableMetadata = 6;
176
- optional AIRichResponseMessage.AIRichResponseDynamicMetadata dynamicMetadata = 7;
177
- optional AIRichResponseMessage.AIRichResponseLatexMetadata latexMetadata = 8;
178
- optional AIRichResponseMessage.AIRichResponseMapMetadata mapMetadata = 9;
179
- optional AIRichResponseMessage.AIRichResponseContentItemsMetadata contentItemsMetadata = 10;
180
- }
181
-
182
- enum AIRichResponseSubMessageType {
183
- AI_RICH_RESPONSE_UNKNOWN = 0;
184
- AI_RICH_RESPONSE_GRID_IMAGE = 1;
185
- AI_RICH_RESPONSE_TEXT = 2;
186
- AI_RICH_RESPONSE_INLINE_IMAGE = 3;
187
- AI_RICH_RESPONSE_TABLE = 4;
188
- AI_RICH_RESPONSE_CODE = 5;
189
- AI_RICH_RESPONSE_DYNAMIC = 6;
190
- AI_RICH_RESPONSE_MAP = 7;
191
- AI_RICH_RESPONSE_LATEX = 8;
192
- AI_RICH_RESPONSE_CONTENT_ITEMS = 9;
193
- }
194
- message AIRichResponseTableMetadata {
195
- repeated AIRichResponseTableRow rows = 1;
196
- optional string title = 2;
197
- message AIRichResponseTableRow {
198
- repeated string items = 1;
199
- optional bool isHeading = 2;
204
+ }
205
+
206
+ message AIRichResponseUnifiedResponse {
207
+ optional bytes data = 1;
208
+ }
209
+
210
+ message AIThreadInfo {
211
+ optional AIThreadServerInfo serverInfo = 1;
212
+ optional AIThreadClientInfo clientInfo = 2;
213
+ message AIThreadClientInfo {
214
+ optional AIThreadType type = 1;
215
+ enum AIThreadType {
216
+ UNKNOWN = 0;
217
+ DEFAULT = 1;
218
+ INCOGNITO = 2;
200
219
  }
201
-
202
220
  }
203
221
 
204
- message AIRichResponseUnifiedResponse {
205
- optional bytes data = 1;
222
+ message AIThreadServerInfo {
223
+ optional string title = 1;
206
224
  }
207
225
 
208
226
  }
@@ -278,6 +296,11 @@ message BizIdentityInfo {
278
296
  message BotAgeCollectionMetadata {
279
297
  optional bool ageCollectionEligible = 1;
280
298
  optional bool shouldTriggerAgeCollectionOnClient = 2;
299
+ optional AgeCollectionType ageCollectionType = 3;
300
+ enum AgeCollectionType {
301
+ O18_BINARY = 0;
302
+ WAFFLE = 1;
303
+ }
281
304
  }
282
305
 
283
306
  message BotAvatarMetadata {
@@ -328,7 +351,112 @@ message BotCapabilityMetadata {
328
351
  RICH_RESPONSE_UNIFIED_RESPONSE = 34;
329
352
  PROMOTION_MESSAGE = 35;
330
353
  SIMPLIFIED_PROFILE_PAGE = 36;
354
+ RICH_RESPONSE_SOURCES_IN_MESSAGE = 37;
355
+ RICH_RESPONSE_SIDE_BY_SIDE_SURVEY = 38;
356
+ RICH_RESPONSE_UNIFIED_TEXT_COMPONENT = 39;
357
+ AI_SHARED_MEMORY = 40;
358
+ RICH_RESPONSE_UNIFIED_SOURCES = 41;
359
+ RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS = 42;
360
+ RICH_RESPONSE_UR_INLINE_REELS_ENABLED = 43;
361
+ RICH_RESPONSE_UR_MEDIA_GRID_ENABLED = 44;
362
+ RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER = 45;
363
+ RICH_RESPONSE_IN_APP_SURVEY = 46;
364
+ AI_RESPONSE_MODEL_BRANDING = 47;
365
+ }
366
+ }
367
+
368
+ message BotFeedbackMessage {
369
+ optional MessageKey messageKey = 1;
370
+ optional BotFeedbackKind kind = 2;
371
+ optional string text = 3;
372
+ optional uint64 kindNegative = 4;
373
+ optional uint64 kindPositive = 5;
374
+ optional ReportKind kindReport = 6;
375
+ optional SideBySideSurveyMetadata sideBySideSurveyMetadata = 7;
376
+ enum BotFeedbackKind {
377
+ BOT_FEEDBACK_POSITIVE = 0;
378
+ BOT_FEEDBACK_NEGATIVE_GENERIC = 1;
379
+ BOT_FEEDBACK_NEGATIVE_HELPFUL = 2;
380
+ BOT_FEEDBACK_NEGATIVE_INTERESTING = 3;
381
+ BOT_FEEDBACK_NEGATIVE_ACCURATE = 4;
382
+ BOT_FEEDBACK_NEGATIVE_SAFE = 5;
383
+ BOT_FEEDBACK_NEGATIVE_OTHER = 6;
384
+ BOT_FEEDBACK_NEGATIVE_REFUSED = 7;
385
+ BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING = 8;
386
+ BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT = 9;
387
+ BOT_FEEDBACK_NEGATIVE_PERSONALIZED = 10;
388
+ BOT_FEEDBACK_NEGATIVE_CLARITY = 11;
389
+ BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON = 12;
390
+ BOT_FEEDBACK_NEGATIVE_HALLUCINATION_INTERNAL_ONLY = 13;
391
+ BOT_FEEDBACK_NEGATIVE = 14;
392
+ }
393
+ enum BotFeedbackKindMultipleNegative {
394
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC = 1;
395
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL = 2;
396
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING = 4;
397
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE = 8;
398
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE = 16;
399
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER = 32;
400
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED = 64;
401
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING = 128;
402
+ BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT = 256;
403
+ }
404
+ enum BotFeedbackKindMultiplePositive {
405
+ BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC = 1;
406
+ }
407
+ enum ReportKind {
408
+ NONE = 0;
409
+ GENERIC = 1;
410
+ }
411
+ message SideBySideSurveyMetadata {
412
+ optional string selectedRequestId = 1;
413
+ optional uint32 surveyId = 2;
414
+ optional string simonSessionFbid = 3;
415
+ optional string responseOtid = 4;
416
+ optional string responseTimestampMsString = 5;
417
+ optional bool isSelectedResponsePrimary = 6;
418
+ optional string messageIdToEdit = 7;
419
+ optional SideBySideSurveyAnalyticsData analyticsData = 8;
420
+ optional SidebySideSurveyMetaAiAnalyticsData metaAiAnalyticsData = 9;
421
+ message SideBySideSurveyAnalyticsData {
422
+ optional string tessaEvent = 1;
423
+ optional string tessaSessionFbid = 2;
424
+ }
425
+
426
+ message SidebySideSurveyMetaAiAnalyticsData {
427
+ optional uint32 surveyId = 1;
428
+ optional string primaryResponseId = 2;
429
+ optional string testArmName = 3;
430
+ optional string timestampMsString = 4;
431
+ optional SideBySideSurveyCTAImpressionEventData ctaImpressionEvent = 5;
432
+ optional SideBySideSurveyCTAClickEventData ctaClickEvent = 6;
433
+ optional SideBySideSurveyCardImpressionEventData cardImpressionEvent = 7;
434
+ optional SideBySideSurveyResponseEventData responseEvent = 8;
435
+ optional SideBySideSurveyAbandonEventData abandonEvent = 9;
436
+ message SideBySideSurveyAbandonEventData {
437
+ optional string abandonDwellTimeMsString = 1;
438
+ }
439
+
440
+ message SideBySideSurveyCTAClickEventData {
441
+ optional bool isSurveyExpired = 1;
442
+ optional string clickDwellTimeMsString = 2;
443
+ }
444
+
445
+ message SideBySideSurveyCTAImpressionEventData {
446
+ optional bool isSurveyExpired = 1;
447
+ }
448
+
449
+ message SideBySideSurveyCardImpressionEventData {
450
+ }
451
+
452
+ message SideBySideSurveyResponseEventData {
453
+ optional string responseDwellTimeMsString = 1;
454
+ }
455
+
456
+ }
457
+
331
458
  }
459
+
332
460
  }
333
461
 
334
462
  message BotImagineMetadata {
@@ -385,6 +513,22 @@ message BotMemuMetadata {
385
513
  repeated BotMediaMetadata faceImages = 1;
386
514
  }
387
515
 
516
+ message BotMessageOrigin {
517
+ optional BotMessageOriginType type = 1;
518
+ enum BotMessageOriginType {
519
+ BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED = 0;
520
+ }
521
+ }
522
+
523
+ message BotMessageOriginMetadata {
524
+ repeated BotMessageOrigin origins = 1;
525
+ }
526
+
527
+ message BotMessageSharingInfo {
528
+ optional BotMetricsEntryPoint botEntryPointOrigin = 1;
529
+ optional uint32 forwardScore = 2;
530
+ }
531
+
388
532
  message BotMetadata {
389
533
  optional BotAvatarMetadata avatarMetadata = 1;
390
534
  optional string personaId = 2;
@@ -413,9 +557,15 @@ message BotMetadata {
413
557
  optional string conversationStarterPromptId = 25;
414
558
  optional string botResponseId = 26;
415
559
  optional BotSignatureVerificationMetadata verificationMetadata = 27;
560
+ optional BotUnifiedResponseMutation unifiedResponseMutation = 28;
561
+ optional BotMessageOriginMetadata botMessageOriginMetadata = 29;
562
+ optional InThreadSurveyMetadata inThreadSurveyMetadata = 30;
563
+ optional AIThreadInfo botThreadInfo = 31;
564
+ optional bytes internalMetadata = 999;
416
565
  }
417
566
 
418
567
  enum BotMetricsEntryPoint {
568
+ UNDEFINED_ENTRY_POINT = 0;
419
569
  FAVICON = 1;
420
570
  CHATLIST = 2;
421
571
  AISEARCH_NULL_STATE_PAPER_PLANE = 3;
@@ -441,6 +591,17 @@ enum BotMetricsEntryPoint {
441
591
  UGC_CHAT_SHORTCUT_AI_STUDIO = 23;
442
592
  NEW_CHAT_AI_STUDIO = 24;
443
593
  AIVOICE_FAVICON_CALL_HISTORY = 25;
594
+ ASK_META_AI_CONTEXT_MENU = 26;
595
+ ASK_META_AI_CONTEXT_MENU_1ON1 = 27;
596
+ ASK_META_AI_CONTEXT_MENU_GROUP = 28;
597
+ INVOKE_META_AI_1ON1 = 29;
598
+ INVOKE_META_AI_GROUP = 30;
599
+ META_AI_FORWARD = 31;
600
+ NEW_CHAT_AI_CONTACT = 32;
601
+ MESSAGE_QUICK_ACTION_1_ON_1_CHAT = 33;
602
+ MESSAGE_QUICK_ACTION_GROUP_CHAT = 34;
603
+ ATTACHMENT_TRAY_1_ON_1_CHAT = 35;
604
+ ATTACHMENT_TRAY_GROUP_CHAT = 36;
444
605
  }
445
606
  message BotMetricsMetadata {
446
607
  optional string destinationId = 1;
@@ -453,6 +614,7 @@ enum BotMetricsThreadEntryPoint {
453
614
  AI_HOME_THREAD = 2;
454
615
  AI_DEEPLINK_IMMERSIVE_THREAD = 3;
455
616
  AI_DEEPLINK_THREAD = 4;
617
+ ASK_META_AI_CONTEXT_MENU_THREAD = 5;
456
618
  }
457
619
  message BotModeSelectionMetadata {
458
620
  repeated BotUserSelectionMode mode = 1;
@@ -465,6 +627,7 @@ message BotModeSelectionMetadata {
465
627
  message BotModelMetadata {
466
628
  optional ModelType modelType = 1;
467
629
  optional PremiumModelStatus premiumModelStatus = 2;
630
+ optional string modelNameOverride = 3;
468
631
  enum ModelType {
469
632
  UNKNOWN_TYPE = 0;
470
633
  LLAMA_PROD = 1;
@@ -561,6 +724,7 @@ message BotPromotionMessageMetadata {
561
724
  enum BotPromotionType {
562
725
  UNKNOWN_TYPE = 0;
563
726
  C50 = 1;
727
+ SURVEY_PLATFORM = 2;
564
728
  }
565
729
  }
566
730
 
@@ -639,9 +803,10 @@ message BotSignatureVerificationUseCaseProof {
639
803
  optional int32 version = 1;
640
804
  optional BotSignatureUseCase useCase = 2;
641
805
  optional bytes signature = 3;
642
- optional bytes certificateChain = 4;
806
+ repeated bytes certificateChain = 4;
643
807
  enum BotSignatureUseCase {
644
- WA_BOT_MSG = 0;
808
+ UNSPECIFIED = 0;
809
+ WA_BOT_MSG = 1;
645
810
  }
646
811
  }
647
812
 
@@ -654,11 +819,13 @@ message BotSourcesMetadata {
654
819
  optional string sourceQuery = 4;
655
820
  optional string faviconCdnUrl = 5;
656
821
  optional uint32 citationNumber = 6;
822
+ optional string sourceTitle = 7;
657
823
  enum SourceProvider {
658
824
  UNKNOWN = 0;
659
825
  BING = 1;
660
826
  GOOGLE = 2;
661
827
  SUPPORT = 3;
828
+ OTHER = 4;
662
829
  }
663
830
  }
664
831
 
@@ -671,6 +838,21 @@ message BotSuggestedPromptMetadata {
671
838
  optional string selectedPromptId = 4;
672
839
  }
673
840
 
841
+ message BotUnifiedResponseMutation {
842
+ optional SideBySideMetadata sbsMetadata = 1;
843
+ repeated MediaDetailsMetadata mediaDetailsMetadataList = 2;
844
+ message MediaDetailsMetadata {
845
+ optional string id = 1;
846
+ optional BotMediaMetadata highResMedia = 2;
847
+ optional BotMediaMetadata previewMedia = 3;
848
+ }
849
+
850
+ message SideBySideMetadata {
851
+ optional string primaryResponseId = 1;
852
+ }
853
+
854
+ }
855
+
674
856
  message CallLogRecord {
675
857
  optional CallResult callResult = 1;
676
858
  optional bool isDndMode = 2;
@@ -781,10 +963,10 @@ message ChatRowOpaqueData {
781
963
  }
782
964
 
783
965
  message Citation {
784
- required string title = 1;
785
- required string subtitle = 2;
786
- required string cmsId = 3;
787
- required string imageUrl = 4;
966
+ optional string title = 1;
967
+ optional string subtitle = 2;
968
+ optional string cmsId = 3;
969
+ optional string imageUrl = 4;
788
970
  }
789
971
 
790
972
  message ClientPairingProps {
@@ -824,6 +1006,10 @@ message ClientPayload {
824
1006
  optional TrafficAnonymization trafficAnonymization = 40;
825
1007
  optional bool lidDbMigrated = 41;
826
1008
  optional AccountType accountType = 42;
1009
+ optional sfixed32 connectionSequenceInfo = 43;
1010
+ optional bool paaLink = 44;
1011
+ optional int32 preacksCount = 45;
1012
+ optional int32 processingQueueSize = 46;
827
1013
  enum AccountType {
828
1014
  DEFAULT = 0;
829
1015
  GUEST = 1;
@@ -969,6 +1155,7 @@ message ClientPayload {
969
1155
  IPAD = 33;
970
1156
  TEST = 34;
971
1157
  SMART_GLASSES = 35;
1158
+ BLUE_VR = 36;
972
1159
  }
973
1160
  enum ReleaseChannel {
974
1161
  RELEASE = 0;
@@ -1078,6 +1265,13 @@ message ContextInfo {
1078
1265
  optional bool isQuestion = 63;
1079
1266
  optional StatusSourceType statusSourceType = 64;
1080
1267
  repeated StatusAttribution statusAttributions = 65;
1268
+ optional bool isGroupStatus = 66;
1269
+ optional ForwardOrigin forwardOrigin = 67;
1270
+ optional QuestionReplyQuotedMessage questionReplyQuotedMessage = 68;
1271
+ optional StatusAudienceMetadata statusAudienceMetadata = 69;
1272
+ optional uint32 nonJidMentions = 70;
1273
+ optional QuotedType quotedType = 71;
1274
+ optional BotMessageSharingInfo botMessageSharingInfo = 72;
1081
1275
  message AdReplyInfo {
1082
1276
  optional string advertiserName = 1;
1083
1277
  optional MediaType mediaType = 2;
@@ -1098,6 +1292,11 @@ message ContextInfo {
1098
1292
  optional bool showMmDisclosure = 1;
1099
1293
  optional string encryptedSignalTokenConsented = 2;
1100
1294
  repeated Parameters parameters = 3;
1295
+ optional int32 dataSharingFlags = 4;
1296
+ enum DataSharingFlags {
1297
+ SHOW_MM_DISCLOSURE_ON_CLICK = 1;
1298
+ SHOW_MM_DISCLOSURE_ON_READ = 2;
1299
+ }
1101
1300
  message Parameters {
1102
1301
  optional string key = 1;
1103
1302
  optional string stringData = 2;
@@ -1134,6 +1333,8 @@ message ContextInfo {
1134
1333
  optional string automatedGreetingMessageCtaType = 23;
1135
1334
  optional bool wtwaAdFormat = 24;
1136
1335
  optional AdType adType = 25;
1336
+ optional string wtwaWebsiteUrl = 26;
1337
+ optional string adPreviewUrl = 27;
1137
1338
  enum AdType {
1138
1339
  CTWA = 0;
1139
1340
  CAWC = 1;
@@ -1150,14 +1351,17 @@ message ContextInfo {
1150
1351
  optional bool cannotBeRanked = 2;
1151
1352
  optional bool canRequestFeedback = 3;
1152
1353
  optional bool canBeReshared = 4;
1354
+ optional bool canReceiveMultiReact = 5;
1153
1355
  }
1154
1356
 
1155
- message ForwardedAIBotMessageInfo {
1156
- optional string botName = 1;
1157
- optional string botJid = 2;
1158
- optional string creatorName = 3;
1357
+ enum ForwardOrigin {
1358
+ UNKNOWN = 0;
1359
+ CHAT = 1;
1360
+ STATUS = 2;
1361
+ CHANNELS = 3;
1362
+ META_AI = 4;
1363
+ UGC = 5;
1159
1364
  }
1160
-
1161
1365
  message ForwardedNewsletterMessageInfo {
1162
1366
  optional string newsletterJid = 1;
1163
1367
  optional int32 serverMessageId = 2;
@@ -1179,12 +1383,34 @@ message ContextInfo {
1179
1383
  HD_IMAGE_CHILD = 4;
1180
1384
  MOTION_PHOTO_PARENT = 5;
1181
1385
  MOTION_PHOTO_CHILD = 6;
1386
+ HEVC_VIDEO_PARENT = 7;
1387
+ HEVC_VIDEO_CHILD = 8;
1388
+ }
1389
+ message QuestionReplyQuotedMessage {
1390
+ optional int32 serverQuestionId = 1;
1391
+ optional Message quotedQuestion = 2;
1392
+ optional Message quotedResponse = 3;
1393
+ }
1394
+
1395
+ enum QuotedType {
1396
+ EXPLICIT = 0;
1397
+ AUTO = 1;
1182
1398
  }
1183
1399
  enum StatusAttributionType {
1184
1400
  NONE = 0;
1185
1401
  RESHARED_FROM_MENTION = 1;
1186
1402
  RESHARED_FROM_POST = 2;
1403
+ RESHARED_FROM_POST_MANY_TIMES = 3;
1404
+ FORWARDED_FROM_STATUS = 4;
1187
1405
  }
1406
+ message StatusAudienceMetadata {
1407
+ optional AudienceType audienceType = 1;
1408
+ enum AudienceType {
1409
+ UNKNOWN = 0;
1410
+ CLOSE_FRIENDS = 1;
1411
+ }
1412
+ }
1413
+
1188
1414
  enum StatusSourceType {
1189
1415
  IMAGE = 0;
1190
1416
  VIDEO = 1;
@@ -1201,7 +1427,7 @@ message ContextInfo {
1201
1427
  }
1202
1428
 
1203
1429
  message Conversation {
1204
- required string id = 1;
1430
+ optional string id = 1;
1205
1431
  repeated HistorySyncMsg messages = 2;
1206
1432
  optional string newJid = 3;
1207
1433
  optional string oldJid = 4;
@@ -1254,6 +1480,7 @@ message Conversation {
1254
1480
  optional int64 limitSharingSettingTimestamp = 51;
1255
1481
  optional LimitSharing.TriggerType limitSharingTrigger = 52;
1256
1482
  optional bool limitSharingInitiatedByMe = 53;
1483
+ optional bool maibaAiThreadEnabled = 54;
1257
1484
  enum EndOfHistoryTransferType {
1258
1485
  COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0;
1259
1486
  COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1;
@@ -1264,6 +1491,12 @@ message Conversation {
1264
1491
  message DeviceCapabilities {
1265
1492
  optional ChatLockSupportLevel chatLockSupportLevel = 1;
1266
1493
  optional LIDMigration lidMigration = 2;
1494
+ optional BusinessBroadcast businessBroadcast = 3;
1495
+ optional UserHasAvatar userHasAvatar = 4;
1496
+ message BusinessBroadcast {
1497
+ optional bool importListEnabled = 1;
1498
+ }
1499
+
1267
1500
  enum ChatLockSupportLevel {
1268
1501
  NONE = 0;
1269
1502
  MINIMAL = 1;
@@ -1273,6 +1506,10 @@ message DeviceCapabilities {
1273
1506
  optional uint64 chatDbMigrationTimestamp = 1;
1274
1507
  }
1275
1508
 
1509
+ message UserHasAvatar {
1510
+ optional bool userHasAvatar = 1;
1511
+ }
1512
+
1276
1513
  }
1277
1514
 
1278
1515
  message DeviceConsistencyCodeMessage {
@@ -1320,6 +1557,9 @@ message DeviceProps {
1320
1557
  optional bool supportFbidBotChatHistory = 12;
1321
1558
  optional bool supportAddOnHistorySyncMigration = 13;
1322
1559
  optional bool supportMessageAssociation = 14;
1560
+ optional bool supportGroupHistory = 15;
1561
+ optional bool onDemandReady = 16;
1562
+ optional bool supportGuestChat = 17;
1323
1563
  }
1324
1564
 
1325
1565
  enum PlatformType {
@@ -1392,10 +1632,13 @@ message EmbeddedMusic {
1392
1632
  optional string artworkDirectPath = 5;
1393
1633
  optional bytes artworkSha256 = 6;
1394
1634
  optional bytes artworkEncSha256 = 7;
1395
- optional bytes artworkMediaKey = 11;
1396
1635
  optional string artistAttribution = 8;
1397
1636
  optional bytes countryBlocklist = 9;
1398
1637
  optional bool isExplicit = 10;
1638
+ optional bytes artworkMediaKey = 11;
1639
+ optional int64 musicSongStartTimeInMs = 12;
1640
+ optional int64 derivedContentStartTimeInMs = 13;
1641
+ optional int64 overlapDurationInMs = 14;
1399
1642
  }
1400
1643
 
1401
1644
  message EncryptedPairingRequest {
@@ -1441,6 +1684,12 @@ message Field {
1441
1684
  map<uint32, Field> subfield = 5;
1442
1685
  }
1443
1686
 
1687
+ message ForwardedAIBotMessageInfo {
1688
+ optional string botName = 1;
1689
+ optional string botJid = 2;
1690
+ optional string creatorName = 3;
1691
+ }
1692
+
1444
1693
  message GlobalSettings {
1445
1694
  optional WallpaperSettings lightThemeWallpaper = 1;
1446
1695
  optional MediaVisibility mediaVisibility = 2;
@@ -1464,14 +1713,31 @@ message GlobalSettings {
1464
1713
  optional int64 chatDbLidMigrationTimestamp = 20;
1465
1714
  }
1466
1715
 
1716
+ message GroupHistoryBundleInfo {
1717
+ optional Message.MessageHistoryBundle deprecatedMessageHistoryBundle = 1;
1718
+ optional ProcessState processState = 2;
1719
+ enum ProcessState {
1720
+ NOT_INJECTED = 0;
1721
+ INJECTED = 1;
1722
+ INJECTED_PARTIAL = 2;
1723
+ INJECTION_FAILED = 3;
1724
+ }
1725
+ }
1726
+
1727
+ message GroupHistoryIndividualMessageInfo {
1728
+ optional MessageKey bundleMessageKey = 1;
1729
+ optional bool editedAfterReceivedAsHistory = 2;
1730
+ }
1731
+
1467
1732
  message GroupMention {
1468
1733
  optional string groupJid = 1;
1469
1734
  optional string groupSubject = 2;
1470
1735
  }
1471
1736
 
1472
1737
  message GroupParticipant {
1473
- required string userJid = 1;
1738
+ optional string userJid = 1;
1474
1739
  optional Rank rank = 2;
1740
+ optional MemberLabel memberLabel = 3;
1475
1741
  enum Rank {
1476
1742
  REGULAR = 0;
1477
1743
  ADMIN = 1;
@@ -1486,24 +1752,28 @@ message HandshakeMessage {
1486
1752
  message ClientFinish {
1487
1753
  optional bytes static = 1;
1488
1754
  optional bytes payload = 2;
1755
+ optional bytes extendedCiphertext = 3;
1489
1756
  }
1490
1757
 
1491
1758
  message ClientHello {
1492
1759
  optional bytes ephemeral = 1;
1493
1760
  optional bytes static = 2;
1494
1761
  optional bytes payload = 3;
1762
+ optional bool useExtended = 4;
1763
+ optional bytes extendedCiphertext = 5;
1495
1764
  }
1496
1765
 
1497
1766
  message ServerHello {
1498
1767
  optional bytes ephemeral = 1;
1499
1768
  optional bytes static = 2;
1500
1769
  optional bytes payload = 3;
1770
+ optional bytes extendedStatic = 4;
1501
1771
  }
1502
1772
 
1503
1773
  }
1504
1774
 
1505
1775
  message HistorySync {
1506
- required HistorySyncType syncType = 1;
1776
+ optional HistorySyncType syncType = 1;
1507
1777
  repeated Conversation conversations = 2;
1508
1778
  repeated WebMessageInfo statusV3Messages = 3;
1509
1779
  optional uint32 chunkOrder = 5;
@@ -1576,6 +1846,43 @@ message IdentityKeyPairStructure {
1576
1846
  optional bytes privateKey = 2;
1577
1847
  }
1578
1848
 
1849
+ message InThreadSurveyMetadata {
1850
+ optional string tessaSessionId = 1;
1851
+ optional string simonSessionId = 2;
1852
+ optional string simonSurveyId = 3;
1853
+ optional string tessaRootId = 4;
1854
+ optional string requestId = 5;
1855
+ optional string tessaEvent = 6;
1856
+ optional string invitationHeaderText = 7;
1857
+ optional string invitationBodyText = 8;
1858
+ optional string invitationCtaText = 9;
1859
+ optional string invitationCtaUrl = 10;
1860
+ optional string surveyTitle = 11;
1861
+ repeated InThreadSurveyQuestion questions = 12;
1862
+ optional string surveyContinueButtonText = 13;
1863
+ optional string surveySubmitButtonText = 14;
1864
+ optional string privacyStatementFull = 15;
1865
+ repeated InThreadSurveyPrivacyStatementPart privacyStatementParts = 16;
1866
+ optional string feedbackToastText = 17;
1867
+ message InThreadSurveyOption {
1868
+ optional string stringValue = 1;
1869
+ optional uint32 numericValue = 2;
1870
+ optional string textTranslated = 3;
1871
+ }
1872
+
1873
+ message InThreadSurveyPrivacyStatementPart {
1874
+ optional string text = 1;
1875
+ optional string url = 2;
1876
+ }
1877
+
1878
+ message InThreadSurveyQuestion {
1879
+ optional string questionText = 1;
1880
+ optional string questionId = 2;
1881
+ repeated InThreadSurveyMetadata.InThreadSurveyOption questionOptions = 3;
1882
+ }
1883
+
1884
+ }
1885
+
1579
1886
  message InteractiveAnnotation {
1580
1887
  repeated Point polygonVertices = 1;
1581
1888
  optional bool shouldSkipConfirmation = 4;
@@ -1594,6 +1901,10 @@ message InteractiveAnnotation {
1594
1901
  }
1595
1902
  }
1596
1903
 
1904
+ message InteractiveMessageAdditionalMetadata {
1905
+ optional bool isGalaxyFlowCompleted = 1;
1906
+ }
1907
+
1597
1908
  message KeepInChat {
1598
1909
  optional KeepType keepType = 1;
1599
1910
  optional int64 serverTimestamp = 2;
@@ -1621,8 +1932,8 @@ message KeyId {
1621
1932
  }
1622
1933
 
1623
1934
  message LIDMigrationMapping {
1624
- required uint64 pn = 1;
1625
- required uint64 assignedLid = 2;
1935
+ optional uint64 pn = 1;
1936
+ optional uint64 assignedLid = 2;
1626
1937
  optional uint64 latestLid = 3;
1627
1938
  }
1628
1939
 
@@ -1776,7 +2087,6 @@ message Message {
1776
2087
  optional FutureProofMessage associatedChildMessage = 91;
1777
2088
  optional FutureProofMessage groupStatusMentionMessage = 92;
1778
2089
  optional FutureProofMessage pollCreationMessageV4 = 93;
1779
- optional FutureProofMessage pollCreationMessageV5 = 94;
1780
2090
  optional FutureProofMessage statusAddYours = 95;
1781
2091
  optional FutureProofMessage groupStatusMessage = 96;
1782
2092
  optional AIRichResponseMessage richResponseMessage = 97;
@@ -1787,6 +2097,15 @@ message Message {
1787
2097
  optional MessageHistoryNotice messageHistoryNotice = 102;
1788
2098
  optional FutureProofMessage groupStatusMessageV2 = 103;
1789
2099
  optional FutureProofMessage botForwardedMessage = 104;
2100
+ optional StatusQuestionAnswerMessage statusQuestionAnswerMessage = 105;
2101
+ optional FutureProofMessage questionReplyMessage = 106;
2102
+ optional QuestionResponseMessage questionResponseMessage = 107;
2103
+ optional StatusQuotedMessage statusQuotedMessage = 109;
2104
+ optional StatusStickerInteractionMessage statusStickerInteractionMessage = 110;
2105
+ optional PollCreationMessage pollCreationMessageV5 = 111;
2106
+ optional PollResultSnapshotMessage pollResultSnapshotMessageV2 = 112;
2107
+ optional NewsletterFollowerInviteMessage newsletterFollowerInviteMessageV2 = 113;
2108
+ optional RequestContactInfoMessage requestContactInfoMessage = 114;
1790
2109
  message AlbumMessage {
1791
2110
  optional uint32 expectedImageCount = 2;
1792
2111
  optional uint32 expectedVideoCount = 3;
@@ -1844,6 +2163,7 @@ message Message {
1844
2163
  optional fixed32 backgroundArgb = 20;
1845
2164
  optional bool viewOnce = 21;
1846
2165
  optional string accessibilityLabel = 22;
2166
+ optional Message.MediaKeyDomain mediaKeyDomain = 23;
1847
2167
  }
1848
2168
 
1849
2169
  message BCallMessage {
@@ -1858,50 +2178,6 @@ message Message {
1858
2178
  }
1859
2179
  }
1860
2180
 
1861
- message BotFeedbackMessage {
1862
- optional MessageKey messageKey = 1;
1863
- optional BotFeedbackKind kind = 2;
1864
- optional string text = 3;
1865
- optional uint64 kindNegative = 4;
1866
- optional uint64 kindPositive = 5;
1867
- optional ReportKind kindReport = 6;
1868
- enum BotFeedbackKind {
1869
- BOT_FEEDBACK_POSITIVE = 0;
1870
- BOT_FEEDBACK_NEGATIVE_GENERIC = 1;
1871
- BOT_FEEDBACK_NEGATIVE_HELPFUL = 2;
1872
- BOT_FEEDBACK_NEGATIVE_INTERESTING = 3;
1873
- BOT_FEEDBACK_NEGATIVE_ACCURATE = 4;
1874
- BOT_FEEDBACK_NEGATIVE_SAFE = 5;
1875
- BOT_FEEDBACK_NEGATIVE_OTHER = 6;
1876
- BOT_FEEDBACK_NEGATIVE_REFUSED = 7;
1877
- BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING = 8;
1878
- BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT = 9;
1879
- BOT_FEEDBACK_NEGATIVE_PERSONALIZED = 10;
1880
- BOT_FEEDBACK_NEGATIVE_CLARITY = 11;
1881
- BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON = 12;
1882
- BOT_FEEDBACK_NEGATIVE_HALLUCINATION_INTERNAL_ONLY = 13;
1883
- BOT_FEEDBACK_NEGATIVE = 14;
1884
- }
1885
- enum BotFeedbackKindMultipleNegative {
1886
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC = 1;
1887
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL = 2;
1888
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING = 4;
1889
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE = 8;
1890
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE = 16;
1891
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER = 32;
1892
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED = 64;
1893
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING = 128;
1894
- BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT = 256;
1895
- }
1896
- enum BotFeedbackKindMultiplePositive {
1897
- BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC = 1;
1898
- }
1899
- enum ReportKind {
1900
- NONE = 0;
1901
- GENERIC = 1;
1902
- }
1903
- }
1904
-
1905
2181
  message ButtonsMessage {
1906
2182
  optional string contentText = 6;
1907
2183
  optional string footerText = 7;
@@ -1968,6 +2244,8 @@ message Message {
1968
2244
  optional string ctwaSignals = 5;
1969
2245
  optional bytes ctwaPayload = 6;
1970
2246
  optional ContextInfo contextInfo = 7;
2247
+ optional string nativeFlowCallButtonPayload = 8;
2248
+ optional string deeplinkPayload = 9;
1971
2249
  }
1972
2250
 
1973
2251
  message CallLogMessage {
@@ -2013,6 +2291,7 @@ message Message {
2013
2291
  optional string consumerLid = 3;
2014
2292
  optional string consumerPhoneNumber = 4;
2015
2293
  optional CloudAPIThreadControlNotificationContent notificationContent = 5;
2294
+ optional bool shouldSuppressNotification = 6;
2016
2295
  enum CloudAPIThreadControl {
2017
2296
  UNKNOWN = 0;
2018
2297
  CONTROL_PASSED = 1;
@@ -2074,6 +2353,7 @@ message Message {
2074
2353
  optional uint32 thumbnailWidth = 19;
2075
2354
  optional string caption = 20;
2076
2355
  optional string accessibilityLabel = 21;
2356
+ optional Message.MediaKeyDomain mediaKeyDomain = 22;
2077
2357
  }
2078
2358
 
2079
2359
  message EncCommentMessage {
@@ -2148,6 +2428,10 @@ message Message {
2148
2428
  optional Message.MMSThumbnailMetadata faviconMMSMetadata = 33;
2149
2429
  optional Message.LinkPreviewMetadata linkPreviewMetadata = 34;
2150
2430
  optional Message.PaymentLinkMetadata paymentLinkMetadata = 35;
2431
+ repeated Message.VideoEndCard endCardTiles = 36;
2432
+ optional string videoContentUrl = 37;
2433
+ optional EmbeddedMusic musicMetadata = 38;
2434
+ optional Message.PaymentExtendedMetadata paymentExtendedMetadata = 39;
2151
2435
  enum FontType {
2152
2436
  SYSTEM = 0;
2153
2437
  SYSTEM_TEXT = 1;
@@ -2262,7 +2546,7 @@ message Message {
2262
2546
  optional bytes mediaKey = 3;
2263
2547
  optional bytes fileEncSha256 = 4;
2264
2548
  optional string directPath = 5;
2265
- optional HistorySyncType syncType = 6;
2549
+ optional Message.HistorySyncType syncType = 6;
2266
2550
  optional uint32 chunkOrder = 7;
2267
2551
  optional string originalMessageId = 8;
2268
2552
  optional uint32 progress = 9;
@@ -2282,7 +2566,7 @@ message Message {
2282
2566
  NO_HISTORY = 7;
2283
2567
  }
2284
2568
  }
2285
-
2569
+
2286
2570
  message ImageMessage {
2287
2571
  optional string url = 1;
2288
2572
  optional string mimetype = 2;
@@ -2313,6 +2597,8 @@ message Message {
2313
2597
  repeated InteractiveAnnotation annotations = 30;
2314
2598
  optional ImageSourceType imageSourceType = 31;
2315
2599
  optional string accessibilityLabel = 32;
2600
+ optional Message.MediaKeyDomain mediaKeyDomain = 33;
2601
+ optional string qrUrl = 34;
2316
2602
  enum ImageSourceType {
2317
2603
  USER_IMAGE = 0;
2318
2604
  AI_GENERATED = 1;
@@ -2344,6 +2630,12 @@ message Message {
2344
2630
  message CarouselMessage {
2345
2631
  repeated Message.InteractiveMessage cards = 1;
2346
2632
  optional int32 messageVersion = 2;
2633
+ optional CarouselCardType carouselCardType = 3;
2634
+ enum CarouselCardType {
2635
+ UNKNOWN = 0;
2636
+ HSCROLL_CARDS = 1;
2637
+ ALBUM_IMAGE = 2;
2638
+ }
2347
2639
  }
2348
2640
 
2349
2641
  message CollectionMessage {
@@ -2354,6 +2646,10 @@ message Message {
2354
2646
 
2355
2647
  message Footer {
2356
2648
  optional string text = 1;
2649
+ optional bool hasMediaAttachment = 3;
2650
+ oneof media {
2651
+ Message.AudioMessage audioMessage = 2;
2652
+ }
2357
2653
  }
2358
2654
 
2359
2655
  message Header {
@@ -2447,6 +2743,10 @@ message Message {
2447
2743
  optional uint32 fbExperimentId = 3;
2448
2744
  optional uint32 linkMediaDuration = 4;
2449
2745
  optional SocialMediaPostType socialMediaPostType = 5;
2746
+ optional bool linkInlineVideoMuted = 6;
2747
+ optional string videoContentUrl = 7;
2748
+ optional EmbeddedMusic musicMetadata = 8;
2749
+ optional string videoContentCaption = 9;
2450
2750
  enum SocialMediaPostType {
2451
2751
  NONE = 0;
2452
2752
  REEL = 1;
@@ -2556,8 +2856,16 @@ message Message {
2556
2856
  optional int64 mediaKeyTimestamp = 5;
2557
2857
  optional uint32 thumbnailHeight = 6;
2558
2858
  optional uint32 thumbnailWidth = 7;
2859
+ optional Message.MediaKeyDomain mediaKeyDomain = 8;
2559
2860
  }
2560
2861
 
2862
+ enum MediaKeyDomain {
2863
+ UNSET = 0;
2864
+ E2EE_CHAT = 1;
2865
+ STATUS = 2;
2866
+ CAPI = 3;
2867
+ BOT = 4;
2868
+ }
2561
2869
  message MessageHistoryBundle {
2562
2870
  optional string mimetype = 1;
2563
2871
  optional bytes fileSha256 = 2;
@@ -2571,7 +2879,7 @@ message Message {
2571
2879
 
2572
2880
  message MessageHistoryMetadata {
2573
2881
  repeated string historyReceivers = 1;
2574
- optional int64 firstMessageTimestamp = 2;
2882
+ optional int64 oldestMessageTimestamp = 2;
2575
2883
  optional int64 messageCount = 3;
2576
2884
  }
2577
2885
 
@@ -2589,6 +2897,14 @@ message Message {
2589
2897
  optional ContextInfo contextInfo = 6;
2590
2898
  }
2591
2899
 
2900
+ message NewsletterFollowerInviteMessage {
2901
+ optional string newsletterJid = 1;
2902
+ optional string newsletterName = 2;
2903
+ optional bytes jpegThumbnail = 3;
2904
+ optional string caption = 4;
2905
+ optional ContextInfo contextInfo = 5;
2906
+ }
2907
+
2592
2908
  message OrderMessage {
2593
2909
  optional string orderId = 1;
2594
2910
  optional bytes thumbnail = 2;
@@ -2615,6 +2931,12 @@ message Message {
2615
2931
  }
2616
2932
  }
2617
2933
 
2934
+ message PaymentExtendedMetadata {
2935
+ optional uint32 type = 1;
2936
+ optional string platform = 2;
2937
+ optional string messageParamsJson = 3;
2938
+ }
2939
+
2618
2940
  message PaymentInviteMessage {
2619
2941
  optional ServiceType serviceType = 1;
2620
2942
  optional int64 expiryTimestamp = 2;
@@ -2656,11 +2978,29 @@ message Message {
2656
2978
  repeated PlaceholderMessageResendRequest placeholderMessageResendRequest = 5;
2657
2979
  optional FullHistorySyncOnDemandRequest fullHistorySyncOnDemandRequest = 6;
2658
2980
  optional SyncDCollectionFatalRecoveryRequest syncdCollectionFatalRecoveryRequest = 7;
2981
+ optional HistorySyncChunkRetryRequest historySyncChunkRetryRequest = 8;
2982
+ optional GalaxyFlowAction galaxyFlowAction = 9;
2659
2983
  message FullHistorySyncOnDemandRequest {
2660
2984
  optional Message.FullHistorySyncOnDemandRequestMetadata requestMetadata = 1;
2661
2985
  optional DeviceProps.HistorySyncConfig historySyncConfig = 2;
2662
2986
  }
2663
2987
 
2988
+ message GalaxyFlowAction {
2989
+ optional GalaxyFlowActionType type = 1;
2990
+ optional string flowId = 2;
2991
+ optional string stanzaId = 3;
2992
+ enum GalaxyFlowActionType {
2993
+ NOTIFY_LAUNCH = 1;
2994
+ }
2995
+ }
2996
+
2997
+ message HistorySyncChunkRetryRequest {
2998
+ optional Message.HistorySyncType syncType = 1;
2999
+ optional uint32 chunkOrder = 2;
3000
+ optional string chunkNotificationId = 3;
3001
+ optional bool regenerateChunk = 4;
3002
+ }
3003
+
2664
3004
  message HistorySyncOnDemandRequest {
2665
3005
  optional string chatJid = 1;
2666
3006
  optional string oldestMsgId = 2;
@@ -2704,8 +3044,11 @@ message Message {
2704
3044
  optional CompanionMetaNonceFetchResponse companionMetaNonceFetchRequestResponse = 7;
2705
3045
  optional SyncDSnapshotFatalRecoveryResponse syncdSnapshotFatalRecoveryResponse = 8;
2706
3046
  optional CompanionCanonicalUserNonceFetchResponse companionCanonicalUserNonceFetchRequestResponse = 9;
3047
+ optional HistorySyncChunkRetryResponse historySyncChunkRetryResponse = 10;
2707
3048
  message CompanionCanonicalUserNonceFetchResponse {
2708
3049
  optional string nonce = 1;
3050
+ optional string waFbid = 2;
3051
+ optional bool forceRefresh = 3;
2709
3052
  }
2710
3053
 
2711
3054
  message CompanionMetaNonceFetchResponse {
@@ -2726,6 +3069,22 @@ message Message {
2726
3069
  ERROR_HOSTED_DEVICE_NOT_CONNECTED = 5;
2727
3070
  ERROR_HOSTED_DEVICE_LOGIN_TIME_NOT_SET = 6;
2728
3071
  }
3072
+ message HistorySyncChunkRetryResponse {
3073
+ optional Message.HistorySyncType syncType = 1;
3074
+ optional uint32 chunkOrder = 2;
3075
+ optional string requestId = 3;
3076
+ optional Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode responseCode = 4;
3077
+ optional bool canRecover = 5;
3078
+ }
3079
+
3080
+ enum HistorySyncChunkRetryResponseCode {
3081
+ GENERATION_ERROR = 1;
3082
+ CHUNK_CONSUMED = 2;
3083
+ TIMEOUT = 3;
3084
+ SESSION_EXHAUSTED = 4;
3085
+ CHUNK_EXHAUSTED = 5;
3086
+ DUPLICATED_REQUEST = 6;
3087
+ }
2729
3088
  message LinkPreviewResponse {
2730
3089
  optional string url = 1;
2731
3090
  optional string title = 2;
@@ -2734,6 +3093,7 @@ message Message {
2734
3093
  optional string matchText = 6;
2735
3094
  optional string previewType = 7;
2736
3095
  optional LinkPreviewHighQualityThumbnail hqThumbnail = 8;
3096
+ optional PaymentLinkPreviewMetadata previewMetadata = 9;
2737
3097
  message LinkPreviewHighQualityThumbnail {
2738
3098
  optional string directPath = 1;
2739
3099
  optional string thumbHash = 2;
@@ -2744,6 +3104,11 @@ message Message {
2744
3104
  optional int32 thumbHeight = 7;
2745
3105
  }
2746
3106
 
3107
+ message PaymentLinkPreviewMetadata {
3108
+ optional bool isBusinessVerified = 1;
3109
+ optional string providerName = 2;
3110
+ }
3111
+
2747
3112
  }
2748
3113
 
2749
3114
  message PlaceholderMessageResendResponse {
@@ -2775,6 +3140,8 @@ message Message {
2775
3140
  COMPANION_META_NONCE_FETCH = 7;
2776
3141
  COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY = 8;
2777
3142
  COMPANION_CANONICAL_USER_NONCE_FETCH = 9;
3143
+ HISTORY_SYNC_CHUNK_RETRY = 10;
3144
+ GALAXY_FLOW_ACTION = 11;
2778
3145
  }
2779
3146
  message PinInChatMessage {
2780
3147
  optional MessageKey key = 1;
@@ -2806,17 +3173,13 @@ message Message {
2806
3173
  optional uint32 selectableOptionsCount = 4;
2807
3174
  optional ContextInfo contextInfo = 5;
2808
3175
  optional Message.PollContentType pollContentType = 6;
2809
- optional PollType pollType = 7;
3176
+ optional Message.PollType pollType = 7;
2810
3177
  optional Option correctAnswer = 8;
2811
3178
  message Option {
2812
3179
  optional string optionName = 1;
2813
3180
  optional string optionHash = 2;
2814
3181
  }
2815
3182
 
2816
- enum PollType {
2817
- POLL = 0;
2818
- QUIZ = 1;
2819
- }
2820
3183
  }
2821
3184
 
2822
3185
  message PollEncValue {
@@ -2828,6 +3191,7 @@ message Message {
2828
3191
  optional string name = 1;
2829
3192
  repeated PollVote pollVotes = 2;
2830
3193
  optional ContextInfo contextInfo = 3;
3194
+ optional Message.PollType pollType = 4;
2831
3195
  message PollVote {
2832
3196
  optional string optionName = 1;
2833
3197
  optional int64 optionVoteCount = 2;
@@ -2835,6 +3199,10 @@ message Message {
2835
3199
 
2836
3200
  }
2837
3201
 
3202
+ enum PollType {
3203
+ POLL = 0;
3204
+ QUIZ = 1;
3205
+ }
2838
3206
  message PollUpdateMessage {
2839
3207
  optional MessageKey pollCreationMessageKey = 1;
2840
3208
  optional Message.PollEncValue vote = 2;
@@ -2894,7 +3262,7 @@ message Message {
2894
3262
  optional int64 timestampMs = 15;
2895
3263
  optional Message.PeerDataOperationRequestMessage peerDataOperationRequestMessage = 16;
2896
3264
  optional Message.PeerDataOperationRequestResponseMessage peerDataOperationRequestResponseMessage = 17;
2897
- optional Message.BotFeedbackMessage botFeedbackMessage = 18;
3265
+ optional BotFeedbackMessage botFeedbackMessage = 18;
2898
3266
  optional string invokerJid = 19;
2899
3267
  optional Message.RequestWelcomeMessageMetadata requestWelcomeMessageMetadata = 20;
2900
3268
  optional MediaNotifyMessage mediaNotifyMessage = 21;
@@ -2934,6 +3302,11 @@ message Message {
2934
3302
  }
2935
3303
  }
2936
3304
 
3305
+ message QuestionResponseMessage {
3306
+ optional MessageKey key = 1;
3307
+ optional string text = 2;
3308
+ }
3309
+
2937
3310
  message ReactionMessage {
2938
3311
  optional MessageKey key = 1;
2939
3312
  optional string text = 2;
@@ -2941,6 +3314,12 @@ message Message {
2941
3314
  optional int64 senderTimestampMs = 4;
2942
3315
  }
2943
3316
 
3317
+ message RequestContactInfoMessage {
3318
+ optional string text = 1;
3319
+ optional string ctaButtonText = 2;
3320
+ optional ContextInfo contextInfo = 3;
3321
+ }
3322
+
2944
3323
  message RequestPaymentMessage {
2945
3324
  optional Message noteMessage = 4;
2946
3325
  optional string currencyCodeIso4217 = 1;
@@ -2999,6 +3378,7 @@ message Message {
2999
3378
  optional Message noteMessage = 2;
3000
3379
  optional MessageKey requestMessageKey = 3;
3001
3380
  optional PaymentBackground background = 4;
3381
+ optional string transactionData = 5;
3002
3382
  }
3003
3383
 
3004
3384
  message SenderKeyDistributionMessage {
@@ -3014,6 +3394,32 @@ message Message {
3014
3394
  UNKNOWN = 0;
3015
3395
  STATUS_ADD_YOURS = 1;
3016
3396
  STATUS_RESHARE = 2;
3397
+ STATUS_QUESTION_ANSWER_RESHARE = 3;
3398
+ }
3399
+ }
3400
+
3401
+ message StatusQuestionAnswerMessage {
3402
+ optional MessageKey key = 1;
3403
+ optional string text = 2;
3404
+ }
3405
+
3406
+ message StatusQuotedMessage {
3407
+ optional StatusQuotedMessageType type = 1;
3408
+ optional string text = 2;
3409
+ optional bytes thumbnail = 3;
3410
+ optional MessageKey originalStatusId = 4;
3411
+ enum StatusQuotedMessageType {
3412
+ QUESTION_ANSWER = 1;
3413
+ }
3414
+ }
3415
+
3416
+ message StatusStickerInteractionMessage {
3417
+ optional MessageKey key = 1;
3418
+ optional string stickerKey = 2;
3419
+ optional StatusStickerType type = 3;
3420
+ enum StatusStickerType {
3421
+ UNKNOWN = 0;
3422
+ REACTION = 1;
3017
3423
  }
3018
3424
  }
3019
3425
 
@@ -3038,6 +3444,7 @@ message Message {
3038
3444
  optional bool isAiSticker = 20;
3039
3445
  optional bool isLottie = 21;
3040
3446
  optional string accessibilityLabel = 22;
3447
+ optional Message.MediaKeyDomain mediaKeyDomain = 23;
3041
3448
  }
3042
3449
 
3043
3450
  message StickerPackMessage {
@@ -3136,6 +3543,13 @@ message Message {
3136
3543
  optional uint32 fbExperimentId = 1;
3137
3544
  }
3138
3545
 
3546
+ message VideoEndCard {
3547
+ optional string username = 1;
3548
+ optional string caption = 2;
3549
+ optional string thumbnailImageUrl = 3;
3550
+ optional string profilePictureUrl = 4;
3551
+ }
3552
+
3139
3553
  message VideoMessage {
3140
3554
  optional string url = 1;
3141
3555
  optional string mimetype = 2;
@@ -3167,10 +3581,12 @@ message Message {
3167
3581
  optional uint64 motionPhotoPresentationOffsetMs = 29;
3168
3582
  optional string metadataUrl = 30;
3169
3583
  optional VideoSourceType videoSourceType = 31;
3584
+ optional Message.MediaKeyDomain mediaKeyDomain = 32;
3170
3585
  enum Attribution {
3171
3586
  NONE = 0;
3172
3587
  GIPHY = 1;
3173
3588
  TENOR = 2;
3589
+ KLIPY = 3;
3174
3590
  }
3175
3591
  enum VideoSourceType {
3176
3592
  USER_VIDEO = 0;
@@ -3224,6 +3640,10 @@ message MessageAssociation {
3224
3640
  STATUS_LINK_ACTION = 13;
3225
3641
  VIEW_ALL_REPLIES = 14;
3226
3642
  STATUS_ADD_YOURS_AI_IMAGINE = 15;
3643
+ STATUS_QUESTION = 16;
3644
+ STATUS_ADD_YOURS_DIWALI = 17;
3645
+ STATUS_REACTION = 18;
3646
+ HEVC_VIDEO_DUAL_UPLOAD = 19;
3227
3647
  }
3228
3648
  }
3229
3649
 
@@ -3292,6 +3712,8 @@ message MsgOpaqueData {
3292
3712
  optional PollEncValue encPollVote = 24;
3293
3713
  optional bool isSentCagPollCreation = 28;
3294
3714
  optional PollContentType pollContentType = 42;
3715
+ optional PollType pollType = 46;
3716
+ optional int32 correctOptionIndex = 47;
3295
3717
  optional PollVotesSnapshot pollVotesSnapshot = 41;
3296
3718
  optional string encReactionTargetMessageKey = 25;
3297
3719
  optional bytes encReactionEncPayload = 26;
@@ -3307,6 +3729,8 @@ message MsgOpaqueData {
3307
3729
  optional int64 eventStartTime = 37;
3308
3730
  optional EventLocation eventLocation = 38;
3309
3731
  optional int64 eventEndTime = 40;
3732
+ optional bool eventIsScheduledCall = 44;
3733
+ optional bool eventExtraGuestsAllowed = 45;
3310
3734
  optional bytes plainProtobufBytes = 43;
3311
3735
  message EventLocation {
3312
3736
  optional double degreesLatitude = 1;
@@ -3327,6 +3751,10 @@ message MsgOpaqueData {
3327
3751
  optional string hash = 2;
3328
3752
  }
3329
3753
 
3754
+ enum PollType {
3755
+ POLL = 0;
3756
+ QUIZ = 1;
3757
+ }
3330
3758
  message PollVoteSnapshot {
3331
3759
  optional MsgOpaqueData.PollOption option = 1;
3332
3760
  optional int32 optionVoteCount = 2;
@@ -3415,6 +3843,9 @@ message PatchDebugData {
3415
3843
  DARWIN = 6;
3416
3844
  IPAD = 7;
3417
3845
  WEAROS = 8;
3846
+ WASG = 9;
3847
+ WEARM = 10;
3848
+ CAPI = 11;
3418
3849
  }
3419
3850
  }
3420
3851
 
@@ -3615,6 +4046,11 @@ message Pushname {
3615
4046
  optional string pushname = 2;
3616
4047
  }
3617
4048
 
4049
+ message QuarantinedMessage {
4050
+ optional bytes originalData = 1;
4051
+ optional string extractedText = 2;
4052
+ }
4053
+
3618
4054
  message Reaction {
3619
4055
  optional MessageKey key = 1;
3620
4056
  optional string text = 2;
@@ -3761,7 +4197,17 @@ message StatusAttribution {
3761
4197
  StatusAttribution.ExternalShare externalShare = 4;
3762
4198
  StatusAttribution.Music music = 5;
3763
4199
  StatusAttribution.GroupStatus groupStatus = 6;
4200
+ StatusAttribution.RLAttribution rlAttribution = 7;
4201
+ StatusAttribution.AiCreatedAttribution aiCreatedAttribution = 8;
4202
+ }
4203
+ message AiCreatedAttribution {
4204
+ optional Source source = 1;
4205
+ enum Source {
4206
+ UNKNOWN = 0;
4207
+ STATUS_MIMICRY = 1;
4208
+ }
3764
4209
  }
4210
+
3765
4211
  message ExternalShare {
3766
4212
  optional string actionUrl = 1;
3767
4213
  optional Source source = 2;
@@ -3775,6 +4221,9 @@ message StatusAttribution {
3775
4221
  SPOTIFY = 4;
3776
4222
  YOUTUBE = 5;
3777
4223
  PINTEREST = 6;
4224
+ THREADS = 7;
4225
+ APPLE_MUSIC = 8;
4226
+ SHARECHAT = 9;
3778
4227
  }
3779
4228
  }
3780
4229
 
@@ -3791,6 +4240,16 @@ message StatusAttribution {
3791
4240
  optional bool isExplicit = 6;
3792
4241
  }
3793
4242
 
4243
+ message RLAttribution {
4244
+ optional Source source = 1;
4245
+ enum Source {
4246
+ UNKNOWN = 0;
4247
+ RAY_BAN_META_GLASSES = 1;
4248
+ OAKLEY_META_GLASSES = 2;
4249
+ HYPERNOVA_GLASSES = 3;
4250
+ }
4251
+ }
4252
+
3794
4253
  message StatusReshare {
3795
4254
  optional Source source = 1;
3796
4255
  optional Metadata metadata = 2;
@@ -3806,15 +4265,20 @@ message StatusAttribution {
3806
4265
  INTERNAL_RESHARE = 1;
3807
4266
  MENTION_RESHARE = 2;
3808
4267
  CHANNEL_RESHARE = 3;
4268
+ FORWARD = 4;
3809
4269
  }
3810
4270
  }
3811
4271
 
3812
4272
  enum Type {
3813
- RESHARE = 0;
3814
- EXTERNAL_SHARE = 1;
3815
- MUSIC = 2;
3816
- STATUS_MENTION = 3;
3817
- GROUP_STATUS = 4;
4273
+ UNKNOWN = 0;
4274
+ RESHARE = 1;
4275
+ EXTERNAL_SHARE = 2;
4276
+ MUSIC = 3;
4277
+ STATUS_MENTION = 4;
4278
+ GROUP_STATUS = 5;
4279
+ RL_ATTRIBUTION = 6;
4280
+ AI_CREATED = 7;
4281
+ LAYOUTS = 8;
3818
4282
  }
3819
4283
  }
3820
4284
 
@@ -3823,7 +4287,7 @@ message StatusMentionMessage {
3823
4287
  }
3824
4288
 
3825
4289
  message StatusPSA {
3826
- required uint64 campaignId = 44;
4290
+ optional uint64 campaignId = 44;
3827
4291
  optional uint64 campaignExpirationTimestamp = 45;
3828
4292
  }
3829
4293
 
@@ -3840,6 +4304,8 @@ message StickerMetadata {
3840
4304
  optional float weight = 10;
3841
4305
  optional int64 lastStickerSentTs = 11;
3842
4306
  optional bool isLottie = 12;
4307
+ optional string imageHash = 13;
4308
+ optional bool isAvatarSticker = 14;
3843
4309
  }
3844
4310
 
3845
4311
  message SyncActionData {
@@ -3855,7 +4321,6 @@ message SyncActionValue {
3855
4321
  optional ContactAction contactAction = 3;
3856
4322
  optional MuteAction muteAction = 4;
3857
4323
  optional PinAction pinAction = 5;
3858
- optional SecurityNotificationSetting securityNotificationSetting = 6;
3859
4324
  optional PushNameSetting pushNameSetting = 7;
3860
4325
  optional QuickReplyAction quickReplyAction = 8;
3861
4326
  optional RecentEmojiWeightsAction recentEmojiWeightsAction = 11;
@@ -3887,6 +4352,7 @@ message SyncActionValue {
3887
4352
  optional ExternalWebBetaAction externalWebBetaAction = 40;
3888
4353
  optional PrivacySettingRelayAllCalls privacySettingRelayAllCalls = 41;
3889
4354
  optional CallLogAction callLogAction = 42;
4355
+ optional UGCBot ugcBot = 43;
3890
4356
  optional StatusPrivacyAction statusPrivacy = 44;
3891
4357
  optional BotWelcomeRequestAction botWelcomeRequestAction = 45;
3892
4358
  optional DeleteIndividualCallLogAction deleteIndividualCallLog = 46;
@@ -3909,6 +4375,13 @@ message SyncActionValue {
3909
4375
  optional PaymentTosAction paymentTosAction = 63;
3910
4376
  optional PrivacySettingChannelsPersonalisedRecommendationAction privacySettingChannelsPersonalisedRecommendationAction = 64;
3911
4377
  optional BusinessBroadcastAssociationAction businessBroadcastAssociationAction = 65;
4378
+ optional DetectedOutcomesStatusAction detectedOutcomesStatusAction = 66;
4379
+ optional MaibaAIFeaturesControlAction maibaAiFeaturesControlAction = 68;
4380
+ optional BusinessBroadcastListAction businessBroadcastListAction = 69;
4381
+ optional MusicUserIdAction musicUserIdAction = 70;
4382
+ optional StatusPostOptInNotificationPreferencesAction statusPostOptInNotificationPreferencesAction = 71;
4383
+ optional AvatarUpdatedAction avatarUpdatedAction = 72;
4384
+ optional PrivateProcessingSettingAction privateProcessingSettingAction = 74;
3912
4385
  message AgentAction {
3913
4386
  optional string name = 1;
3914
4387
  optional int32 deviceID = 2;
@@ -3924,14 +4397,35 @@ message SyncActionValue {
3924
4397
  optional SyncActionValue.SyncActionMessageRange messageRange = 2;
3925
4398
  }
3926
4399
 
4400
+ message AvatarUpdatedAction {
4401
+ optional AvatarEventType eventType = 1;
4402
+ repeated SyncActionValue.StickerAction recentAvatarStickers = 2;
4403
+ enum AvatarEventType {
4404
+ UPDATED = 0;
4405
+ CREATED = 1;
4406
+ DELETED = 2;
4407
+ }
4408
+ }
4409
+
3927
4410
  message BotWelcomeRequestAction {
3928
4411
  optional bool isSent = 1;
3929
4412
  }
3930
4413
 
4414
+ message BroadcastListParticipant {
4415
+ optional string lidJid = 1;
4416
+ optional string pnJid = 2;
4417
+ }
4418
+
3931
4419
  message BusinessBroadcastAssociationAction {
3932
4420
  optional bool deleted = 1;
3933
4421
  }
3934
4422
 
4423
+ message BusinessBroadcastListAction {
4424
+ optional bool deleted = 1;
4425
+ repeated SyncActionValue.BroadcastListParticipant participants = 2;
4426
+ optional string listName = 3;
4427
+ }
4428
+
3935
4429
  message CallLogAction {
3936
4430
  optional CallLogRecord callLogRecord = 1;
3937
4431
  }
@@ -3962,15 +4456,15 @@ message SyncActionValue {
3962
4456
  }
3963
4457
 
3964
4458
  message CustomPaymentMethod {
3965
- required string credentialId = 1;
3966
- required string country = 2;
3967
- required string type = 3;
4459
+ optional string credentialId = 1;
4460
+ optional string country = 2;
4461
+ optional string type = 3;
3968
4462
  repeated SyncActionValue.CustomPaymentMethodMetadata metadata = 4;
3969
4463
  }
3970
4464
 
3971
4465
  message CustomPaymentMethodMetadata {
3972
- required string key = 1;
3973
- required string value = 2;
4466
+ optional string key = 1;
4467
+ optional string value = 2;
3974
4468
  }
3975
4469
 
3976
4470
  message CustomPaymentMethodsAction {
@@ -3991,6 +4485,10 @@ message SyncActionValue {
3991
4485
  optional int64 messageTimestamp = 2;
3992
4486
  }
3993
4487
 
4488
+ message DetectedOutcomesStatusAction {
4489
+ optional bool isEnabled = 1;
4490
+ }
4491
+
3994
4492
  message ExternalWebBetaAction {
3995
4493
  optional bool isOptIn = 1;
3996
4494
  }
@@ -4003,6 +4501,7 @@ message SyncActionValue {
4003
4501
 
4004
4502
  }
4005
4503
 
4504
+ // missing nested entity SyncActionValue$GalaxyFlowAction
4006
4505
  message KeyExpiration {
4007
4506
  optional int32 expiredKeyEpoch = 1;
4008
4507
  }
@@ -4040,7 +4539,6 @@ message SyncActionValue {
4040
4539
  optional string fullName = 1;
4041
4540
  optional string firstName = 2;
4042
4541
  optional string username = 3;
4043
- optional bool saveOnPrimaryAddressbook = 4;
4044
4542
  }
4045
4543
 
4046
4544
  message LocaleSetting {
@@ -4051,6 +4549,15 @@ message SyncActionValue {
4051
4549
  optional bool locked = 1;
4052
4550
  }
4053
4551
 
4552
+ message MaibaAIFeaturesControlAction {
4553
+ optional MaibaAIFeatureStatus aiFeatureStatus = 1;
4554
+ enum MaibaAIFeatureStatus {
4555
+ ENABLED = 0;
4556
+ ENABLED_HAS_LEARNING = 1;
4557
+ DISABLED = 2;
4558
+ }
4559
+ }
4560
+
4054
4561
  message MarkChatAsReadAction {
4055
4562
  optional bool read = 1;
4056
4563
  optional SyncActionValue.SyncActionMessageRange messageRange = 2;
@@ -4074,8 +4581,8 @@ message SyncActionValue {
4074
4581
  }
4075
4582
 
4076
4583
  message MerchantPaymentPartnerAction {
4077
- required Status status = 1;
4078
- required string country = 2;
4584
+ optional Status status = 1;
4585
+ optional string country = 2;
4079
4586
  optional string gatewayName = 3;
4080
4587
  optional string credentialId = 4;
4081
4588
  enum Status {
@@ -4084,6 +4591,10 @@ message SyncActionValue {
4084
4591
  }
4085
4592
  }
4086
4593
 
4594
+ message MusicUserIdAction {
4595
+ optional string musicUserId = 1;
4596
+ }
4597
+
4087
4598
  message MuteAction {
4088
4599
  optional bool muted = 1;
4089
4600
  optional int64 muteEndTimestamp = 2;
@@ -4121,8 +4632,8 @@ message SyncActionValue {
4121
4632
  }
4122
4633
 
4123
4634
  message PaymentTosAction {
4124
- required PaymentNotice paymentNotice = 1;
4125
- required bool accepted = 2;
4635
+ optional PaymentNotice paymentNotice = 1;
4636
+ optional bool accepted = 2;
4126
4637
  enum PaymentNotice {
4127
4638
  BR_PAY_PRIVACY_POLICY = 0;
4128
4639
  }
@@ -4156,6 +4667,14 @@ message SyncActionValue {
4156
4667
  optional bool isEnabled = 1;
4157
4668
  }
4158
4669
 
4670
+ message PrivateProcessingSettingAction {
4671
+ optional PrivateProcessingStatus privateProcessingStatus = 1;
4672
+ enum PrivateProcessingStatus {
4673
+ ENABLED = 0;
4674
+ DISABLED = 1;
4675
+ }
4676
+ }
4677
+
4159
4678
  message PushNameSetting {
4160
4679
  optional string name = 1;
4161
4680
  }
@@ -4176,14 +4695,15 @@ message SyncActionValue {
4176
4695
  optional int64 lastStickerSentTs = 1;
4177
4696
  }
4178
4697
 
4179
- message SecurityNotificationSetting {
4180
- optional bool showNotification = 1;
4181
- }
4182
-
4698
+ // missing nested entity SyncActionValue$SecurityNotificationSetting
4183
4699
  message StarAction {
4184
4700
  optional bool starred = 1;
4185
4701
  }
4186
4702
 
4703
+ message StatusPostOptInNotificationPreferencesAction {
4704
+ optional bool enabled = 1;
4705
+ }
4706
+
4187
4707
  message StatusPrivacyAction {
4188
4708
  optional StatusDistributionMode mode = 1;
4189
4709
  repeated string userJid = 2;
@@ -4191,6 +4711,7 @@ message SyncActionValue {
4191
4711
  ALLOW_LIST = 0;
4192
4712
  DENY_LIST = 1;
4193
4713
  CONTACTS = 2;
4714
+ CLOSE_FRIENDS = 3;
4194
4715
  }
4195
4716
  }
4196
4717
 
@@ -4206,6 +4727,8 @@ message SyncActionValue {
4206
4727
  optional bool isFavorite = 9;
4207
4728
  optional uint32 deviceIdHint = 10;
4208
4729
  optional bool isLottie = 11;
4730
+ optional string imageHash = 12;
4731
+ optional bool isAvatarSticker = 13;
4209
4732
  }
4210
4733
 
4211
4734
  message SubscriptionAction {
@@ -4229,6 +4752,10 @@ message SyncActionValue {
4229
4752
  optional bool isTwentyFourHourFormatEnabled = 1;
4230
4753
  }
4231
4754
 
4755
+ message UGCBot {
4756
+ optional bytes definition = 1;
4757
+ }
4758
+
4232
4759
  message UnarchiveChatsSetting {
4233
4760
  optional bool unarchiveChats = 1;
4234
4761
  }
@@ -4249,6 +4776,8 @@ message SyncActionValue {
4249
4776
  optional AccountLinkState linkState = 2;
4250
4777
  enum AccountLinkState {
4251
4778
  ACTIVE = 0;
4779
+ PAUSED = 1;
4780
+ UNLINKED = 2;
4252
4781
  }
4253
4782
  }
4254
4783
 
@@ -4343,6 +4872,7 @@ message ThreadID {
4343
4872
  enum ThreadType {
4344
4873
  UNKNOWN = 0;
4345
4874
  VIEW_REPLIES = 1;
4875
+ AI_THREAD = 2;
4346
4876
  }
4347
4877
  }
4348
4878
 
@@ -4386,7 +4916,7 @@ message UserPassword {
4386
4916
  }
4387
4917
 
4388
4918
  message UserReceipt {
4389
- required string userJid = 1;
4919
+ optional string userJid = 1;
4390
4920
  optional int64 receiptTimestamp = 2;
4391
4921
  optional int64 readTimestamp = 3;
4392
4922
  optional int64 playedTimestamp = 4;
@@ -4468,7 +4998,7 @@ message WebFeatures {
4468
4998
  }
4469
4999
 
4470
5000
  message WebMessageInfo {
4471
- required MessageKey key = 1;
5001
+ optional MessageKey key = 1;
4472
5002
  optional Message message = 2;
4473
5003
  optional uint64 messageTimestamp = 3;
4474
5004
  optional Status status = 4;
@@ -4530,6 +5060,10 @@ message WebMessageInfo {
4530
5060
  repeated string statusMentionSources = 71;
4531
5061
  repeated Citation supportAiCitations = 72;
4532
5062
  optional string botTargetId = 73;
5063
+ optional GroupHistoryIndividualMessageInfo groupHistoryIndividualMessageInfo = 74;
5064
+ optional GroupHistoryBundleInfo groupHistoryBundleInfo = 75;
5065
+ optional InteractiveMessageAdditionalMetadata interactiveMessageAdditionalMetadata = 76;
5066
+ optional QuarantinedMessage quarantinedMessage = 77;
4533
5067
  enum BizPrivacyStatus {
4534
5068
  E2EE = 0;
4535
5069
  FB = 2;
@@ -4764,6 +5298,8 @@ message WebMessageInfo {
4764
5298
  CHANGE_LIMIT_SHARING = 216;
4765
5299
  GROUP_MEMBER_LINK_MODE = 217;
4766
5300
  BIZ_AUTOMATICALLY_LABELED_CHAT_SYSTEM_MESSAGE = 218;
5301
+ PHONE_NUMBER_HIDING_CHAT_DEPRECATED_MESSAGE = 219;
5302
+ QUARANTINED_MESSAGE = 220;
4767
5303
  }
4768
5304
  }
4769
5305