WAArmadilloApplication.proto 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. syntax = "proto2";
  2. package WAArmadilloApplication;
  3. option go_package = "go.mau.fi/whatsmeow/proto/waArmadilloApplication";
  4. import "waArmadilloXMA/WAArmadilloXMA.proto";
  5. import "waCommon/WACommon.proto";
  6. message Armadillo {
  7. message Metadata {
  8. }
  9. message Payload {
  10. oneof payload {
  11. Content content = 1;
  12. ApplicationData applicationData = 2;
  13. Signal signal = 3;
  14. SubProtocolPayload subProtocol = 4;
  15. }
  16. }
  17. message SubProtocolPayload {
  18. optional WACommon.FutureProofBehavior futureProof = 1;
  19. }
  20. message Signal {
  21. message EncryptedBackupsSecrets {
  22. message Epoch {
  23. enum EpochStatus {
  24. ES_OPEN = 1;
  25. ES_CLOSE = 2;
  26. }
  27. optional uint64 ID = 1;
  28. optional bytes anonID = 2;
  29. optional bytes rootKey = 3;
  30. optional EpochStatus status = 4;
  31. }
  32. optional uint64 backupID = 1;
  33. optional uint64 serverDataID = 2;
  34. repeated Epoch epoch = 3;
  35. optional bytes tempOcmfClientState = 4;
  36. optional bytes mailboxRootKey = 5;
  37. optional bytes obliviousValidationToken = 6;
  38. }
  39. oneof signal {
  40. EncryptedBackupsSecrets encryptedBackupsSecrets = 1;
  41. }
  42. }
  43. message ApplicationData {
  44. message MessageHistoryDocumentMessage {
  45. optional WACommon.SubProtocol document = 1;
  46. }
  47. message AIBotResponseMessage {
  48. optional string summonToken = 1;
  49. optional string messageText = 2;
  50. optional string serializedExtras = 3;
  51. }
  52. message MetadataSyncAction {
  53. message SyncAttachmentInterventionAction {
  54. enum InterventionType {
  55. UNKNOWN = 0;
  56. NUDE = 1;
  57. NOT_NUDE = 2;
  58. }
  59. optional WACommon.MessageKey messageKey = 1;
  60. optional InterventionType interventionType = 2;
  61. }
  62. message SyncSpectraAction {
  63. enum SpectraActionType {
  64. TAKEDOWN = 0;
  65. RESTORE = 1;
  66. }
  67. optional WACommon.MessageKey key = 1;
  68. optional SpectraActionType actionType = 2;
  69. optional int64 takedownActionID = 3;
  70. optional string config = 4;
  71. }
  72. message SyncMessageAction {
  73. message ActionMessageDelete {
  74. }
  75. oneof action {
  76. ActionMessageDelete messageDelete = 101;
  77. }
  78. optional WACommon.MessageKey key = 1;
  79. }
  80. message SyncChatAction {
  81. message ActionChatRead {
  82. optional SyncActionMessageRange messageRange = 1;
  83. optional bool read = 2;
  84. }
  85. message ActionChatDelete {
  86. optional SyncActionMessageRange messageRange = 1;
  87. }
  88. message ActionChatArchive {
  89. optional SyncActionMessageRange messageRange = 1;
  90. optional bool archived = 2;
  91. }
  92. oneof action {
  93. ActionChatArchive chatArchive = 101;
  94. ActionChatDelete chatDelete = 102;
  95. ActionChatRead chatRead = 103;
  96. }
  97. optional string chatID = 1;
  98. }
  99. message SyncActionMessage {
  100. optional WACommon.MessageKey key = 1;
  101. optional int64 timestamp = 2;
  102. }
  103. message SyncActionMessageRange {
  104. optional int64 lastMessageTimestamp = 1;
  105. optional int64 lastSystemMessageTimestamp = 2;
  106. repeated SyncActionMessage messages = 3;
  107. }
  108. oneof actionType {
  109. SyncChatAction chatAction = 101;
  110. SyncMessageAction messageAction = 102;
  111. SyncSpectraAction spectraAction = 103;
  112. SyncAttachmentInterventionAction attachmentInterventionAction = 104;
  113. }
  114. optional int64 actionTimestamp = 1;
  115. }
  116. message MetadataSyncNotification {
  117. repeated MetadataSyncAction actions = 2;
  118. }
  119. oneof applicationData {
  120. MetadataSyncNotification metadataSync = 1;
  121. AIBotResponseMessage aiBotResponse = 2;
  122. MessageHistoryDocumentMessage messageHistoryDocumentMessage = 3;
  123. }
  124. }
  125. message Content {
  126. message PaymentsTransactionMessage {
  127. enum PaymentStatus {
  128. PAYMENT_UNKNOWN = 0;
  129. REQUEST_INITED = 4;
  130. REQUEST_DECLINED = 5;
  131. REQUEST_TRANSFER_INITED = 6;
  132. REQUEST_TRANSFER_COMPLETED = 7;
  133. REQUEST_TRANSFER_FAILED = 8;
  134. REQUEST_CANCELED = 9;
  135. REQUEST_EXPIRED = 10;
  136. TRANSFER_INITED = 11;
  137. TRANSFER_PENDING = 12;
  138. TRANSFER_PENDING_RECIPIENT_VERIFICATION = 13;
  139. TRANSFER_CANCELED = 14;
  140. TRANSFER_COMPLETED = 15;
  141. TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_CANCELED = 16;
  142. TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_OTHER = 17;
  143. TRANSFER_REFUNDED = 18;
  144. TRANSFER_PARTIAL_REFUND = 19;
  145. TRANSFER_CHARGED_BACK = 20;
  146. TRANSFER_EXPIRED = 21;
  147. TRANSFER_DECLINED = 22;
  148. TRANSFER_UNAVAILABLE = 23;
  149. }
  150. optional uint64 transactionID = 1;
  151. optional string amount = 2;
  152. optional string currency = 3;
  153. optional PaymentStatus paymentStatus = 4;
  154. optional WAArmadilloXMA.ExtendedContentMessage extendedContentMessage = 5;
  155. }
  156. message NetworkVerificationMessage {
  157. optional string codeText = 1;
  158. }
  159. message NoteReplyMessage {
  160. oneof noteReplyContent {
  161. WACommon.MessageText textContent = 4;
  162. WACommon.SubProtocol stickerContent = 5;
  163. WACommon.SubProtocol videoContent = 6;
  164. }
  165. optional string noteID = 1;
  166. optional WACommon.MessageText noteText = 2;
  167. optional int64 noteTimestampMS = 3;
  168. }
  169. message BumpExistingMessage {
  170. optional WACommon.MessageKey key = 1;
  171. }
  172. message ImageGalleryMessage {
  173. repeated WACommon.SubProtocol images = 1;
  174. }
  175. message ScreenshotAction {
  176. enum ScreenshotType {
  177. SCREENSHOT_IMAGE = 1;
  178. SCREEN_RECORDING = 2;
  179. }
  180. optional ScreenshotType screenshotType = 1;
  181. }
  182. message ExtendedContentMessageWithSear {
  183. optional string searID = 1;
  184. optional bytes payload = 2;
  185. optional string nativeURL = 3;
  186. optional WACommon.SubProtocol searAssociatedMessage = 4;
  187. optional string searSentWithMessageID = 5;
  188. }
  189. message RavenActionNotifMessage {
  190. enum ActionType {
  191. PLAYED = 0;
  192. SCREENSHOT = 1;
  193. FORCE_DISABLE = 2;
  194. }
  195. optional WACommon.MessageKey key = 1;
  196. optional int64 actionTimestamp = 2;
  197. optional ActionType actionType = 3;
  198. }
  199. message RavenMessage {
  200. enum EphemeralType {
  201. VIEW_ONCE = 0;
  202. ALLOW_REPLAY = 1;
  203. KEEP_IN_CHAT = 2;
  204. }
  205. oneof mediaContent {
  206. WACommon.SubProtocol imageMessage = 2;
  207. WACommon.SubProtocol videoMessage = 3;
  208. }
  209. optional EphemeralType ephemeralType = 1;
  210. }
  211. message CommonSticker {
  212. enum StickerType {
  213. SMALL_LIKE = 1;
  214. MEDIUM_LIKE = 2;
  215. LARGE_LIKE = 3;
  216. }
  217. optional StickerType stickerType = 1;
  218. }
  219. oneof content {
  220. CommonSticker commonSticker = 1;
  221. ScreenshotAction screenshotAction = 3;
  222. WAArmadilloXMA.ExtendedContentMessage extendedContentMessage = 4;
  223. RavenMessage ravenMessage = 5;
  224. RavenActionNotifMessage ravenActionNotifMessage = 6;
  225. ExtendedContentMessageWithSear extendedMessageContentWithSear = 7;
  226. ImageGalleryMessage imageGalleryMessage = 8;
  227. PaymentsTransactionMessage paymentsTransactionMessage = 10;
  228. BumpExistingMessage bumpExistingMessage = 11;
  229. NoteReplyMessage noteReplyMessage = 13;
  230. RavenMessage ravenMessageMsgr = 14;
  231. NetworkVerificationMessage networkVerificationMessage = 15;
  232. }
  233. }
  234. optional Payload payload = 1;
  235. optional Metadata metadata = 2;
  236. }