1
+ package Message ;
2
+ syntax = "proto2" ;
3
+
4
+
5
+ message SenderKeyMessage {
6
+ optional uint32 id = 1 ;
7
+ optional uint32 iteration = 2 ;
8
+ optional bytes ciphertext = 3 ;
9
+ }
10
+
11
+ message SenderChainKey {
12
+ optional uint32 iteration = 1 ;
13
+ optional bytes seed = 2 ;
14
+ }
15
+
16
+ message SenderMessageKey {
17
+ optional uint32 iteration = 1 ;
18
+ optional bytes seed = 2 ;
19
+ }
20
+
21
+ message SenderSigningKey {
22
+ optional bytes public = 1 ;
23
+ optional bytes private = 2 ;
24
+ }
25
+
26
+ message SenderKeyStateStructure {
27
+ optional uint32 senderKeyId = 1 ;
28
+ optional SenderChainKey senderChainKey = 2 ;
29
+ optional SenderSigningKey senderSigningKey = 3 ;
30
+ repeated SenderMessageKey senderMessageKeys = 4 ;
31
+ }
32
+
33
+ message SenderKeyRecordStructure {
34
+ repeated SenderKeyStateStructure senderKeyStates = 1 ;
35
+ }
36
+
37
+ message SenderKeyDistributionMessage {
38
+ optional int32 id = 1 ;
39
+ optional int32 iteration = 2 ;
40
+ optional bytes chainKey = 3 ;
41
+ optional bytes signingKey = 4 ;
42
+ }
43
+
44
+ message WhisperSenderKeyDistributionMessage {
45
+ optional string groupId = 1 ;
46
+ optional bytes axolotl_sender_key_distribution_message = 2 ;
47
+ }
48
+
49
+ message ImageMessage {
50
+ optional string url = 1 ;
51
+ optional string mimetype = 2 ;
52
+ optional string caption = 3 ;
53
+ optional bytes file_sha256 = 4 ;
54
+ optional int64 file_length = 5 ;
55
+ optional int32 height = 6 ;
56
+ optional int32 width = 7 ;
57
+ optional bytes media_key = 8 ;
58
+ optional bytes jpeg_thumbnail = 16 ;
59
+ optional string context_info = 17 ;
60
+ }
61
+
62
+ message ContactMessage {
63
+ optional string display_name = 1 ;
64
+ optional string vcard = 2 ;
65
+ optional string context_info = 3 ;
66
+ }
67
+
68
+ message LocationMessage {
69
+ optional string degrees_latitude = 1 ;
70
+ optional string degrees_longitude = 2 ;
71
+ optional string name = 3 ;
72
+ optional string address = 4 ;
73
+ optional string url = 5 ;
74
+ optional string duration = 6 ;
75
+ optional string accuracy_in_meters = 7 ;
76
+ optional string speed_in_mps = 8 ;
77
+ optional string degrees_clockwise_from_magnetic_north = 9 ;
78
+ optional string axolotl_sender_key_distribution_message = 10 ;
79
+ optional string jpeg_thumbnail = 16 ;
80
+ optional string context_info = 17 ;
81
+ }
82
+
83
+ message ExtendedTextMessage {
84
+ optional string text = 1 ;
85
+ optional string matched_text = 2 ;
86
+ optional string canonical_url = 4 ;
87
+ optional string description = 5 ;
88
+ optional string title = 6 ;
89
+ optional string jpeg_thumbnail = 16 ;
90
+ optional string context_info = 17 ;
91
+ }
92
+
93
+ message DocumentMessage {
94
+ optional string url = 1 ;
95
+ optional string mimetype = 2 ;
96
+ optional string title = 3 ;
97
+ optional string file_sha256 = 4 ;
98
+ optional string file_length = 5 ;
99
+ optional string page_count = 6 ;
100
+ optional string media_key = 7 ;
101
+ optional string file_name = 8 ;
102
+ optional string jpeg_thumbnail = 16 ;
103
+ optional string context_info = 17 ;
104
+ }
105
+
106
+ message AudioMessage {
107
+ optional string url = 1 ;
108
+ optional string mimetype = 2 ;
109
+ optional string file_sha256 = 3 ;
110
+ optional string file_length = 4 ;
111
+ optional string seconds = 5 ;
112
+ optional string ptt = 6 ;
113
+ optional string media_key = 7 ;
114
+ optional string context_info = 17 ;
115
+ optional string streaming_sidecar = 18 ;
116
+ }
117
+
118
+ message VideoMessage {
119
+ optional string url = 1 ;
120
+ optional string mimetype = 2 ;
121
+ optional string file_sha256 = 3 ;
122
+ optional string file_length = 4 ;
123
+ optional string seconds = 5 ;
124
+ optional string media_key = 6 ;
125
+ optional string caption = 7 ;
126
+ optional string gif_playback = 8 ;
127
+ optional string height = 9 ;
128
+ optional string width = 10 ;
129
+ optional string jpeg_thumbnail = 16 ;
130
+ optional string context_info = 17 ;
131
+ optional string streaming_sidecar = 18 ;
132
+ optional string gif_attribution = 19 ;
133
+ }
134
+
135
+ message Call {
136
+ optional string call_key = 1 ;
137
+ }
138
+
139
+ message Chat {
140
+ optional string display_name = 1 ;
141
+ optional string id = 2 ;
142
+ }
143
+
144
+ message ProtocolMessage {
145
+ optional string key = 1 ;
146
+ optional string type = 2 ;
147
+ }
148
+
149
+ message ContactsArrayMessage {
150
+ optional string display_name = 1 ;
151
+ optional string contacts = 2 ;
152
+ optional string context_info = 3 ;
153
+ }
154
+
155
+ message HighlyStructuredMessage {
156
+ optional string namespace = 1 ;
157
+ optional string element_name = 2 ;
158
+ optional string params = 3 ;
159
+ optional string fallback_lg = 4 ;
160
+ optional string fallback_lc = 5 ;
161
+ }
162
+
163
+ message Message {
164
+ optional string conversation = 1 ;
165
+ optional WhisperSenderKeyDistributionMessage sender_key_distribution_message = 2 ;
166
+ optional ImageMessage image_message = 3 ;
167
+ optional ContactMessage contact_message = 4 ;
168
+ optional LocationMessage location_message = 5 ;
169
+ optional ExtendedTextMessage extended_text_message = 6 ;
170
+ optional DocumentMessage document_message = 7 ;
171
+ optional AudioMessage audio_message = 8 ;
172
+ optional VideoMessage video_message = 9 ;
173
+ optional Call call = 10 ;
174
+ optional Chat chat = 11 ;
175
+ optional ProtocolMessage protocol_message = 12 ;
176
+ optional ContactsArrayMessage contacts_array_message = 13 ;
177
+ optional HighlyStructuredMessage highly_structured_message = 14 ;
178
+ }
0 commit comments