simplex-chat 6.5.1__py3-none-any.whl

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.
@@ -0,0 +1,3506 @@
1
+ # API Types
2
+ # This file is generated automatically.
3
+ from __future__ import annotations
4
+ from typing import Literal, NotRequired, TypedDict
5
+
6
+ class ACIReaction(TypedDict):
7
+ chatInfo: "ChatInfo"
8
+ chatReaction: "CIReaction"
9
+
10
+ class AChat(TypedDict):
11
+ chatInfo: "ChatInfo"
12
+ chatItems: list["ChatItem"]
13
+ chatStats: "ChatStats"
14
+
15
+ class AChatItem(TypedDict):
16
+ chatInfo: "ChatInfo"
17
+ chatItem: "ChatItem"
18
+
19
+ class AddRelayResult(TypedDict):
20
+ relay: "UserChatRelay"
21
+ relayError: NotRequired["ChatError"]
22
+
23
+ class AddressSettings(TypedDict):
24
+ businessAddress: bool
25
+ autoAccept: NotRequired["AutoAccept"]
26
+ autoReply: NotRequired["MsgContent"]
27
+
28
+ class AgentCryptoError_DECRYPT_AES(TypedDict):
29
+ type: Literal["DECRYPT_AES"]
30
+
31
+ class AgentCryptoError_DECRYPT_CB(TypedDict):
32
+ type: Literal["DECRYPT_CB"]
33
+
34
+ class AgentCryptoError_RATCHET_HEADER(TypedDict):
35
+ type: Literal["RATCHET_HEADER"]
36
+
37
+ class AgentCryptoError_RATCHET_SYNC(TypedDict):
38
+ type: Literal["RATCHET_SYNC"]
39
+
40
+ AgentCryptoError = (
41
+ AgentCryptoError_DECRYPT_AES
42
+ | AgentCryptoError_DECRYPT_CB
43
+ | AgentCryptoError_RATCHET_HEADER
44
+ | AgentCryptoError_RATCHET_SYNC
45
+ )
46
+
47
+ AgentCryptoError_Tag = Literal["DECRYPT_AES", "DECRYPT_CB", "RATCHET_HEADER", "RATCHET_SYNC"]
48
+
49
+ class AgentErrorType_CMD(TypedDict):
50
+ type: Literal["CMD"]
51
+ cmdErr: "CommandErrorType"
52
+ errContext: str
53
+
54
+ class AgentErrorType_CONN(TypedDict):
55
+ type: Literal["CONN"]
56
+ connErr: "ConnectionErrorType"
57
+ errContext: str
58
+
59
+ class AgentErrorType_NO_USER(TypedDict):
60
+ type: Literal["NO_USER"]
61
+
62
+ class AgentErrorType_SMP(TypedDict):
63
+ type: Literal["SMP"]
64
+ serverAddress: str
65
+ smpErr: "ErrorType"
66
+
67
+ class AgentErrorType_NTF(TypedDict):
68
+ type: Literal["NTF"]
69
+ serverAddress: str
70
+ ntfErr: "ErrorType"
71
+
72
+ class AgentErrorType_XFTP(TypedDict):
73
+ type: Literal["XFTP"]
74
+ serverAddress: str
75
+ xftpErr: "XFTPErrorType"
76
+
77
+ class AgentErrorType_FILE(TypedDict):
78
+ type: Literal["FILE"]
79
+ fileErr: "FileErrorType"
80
+
81
+ class AgentErrorType_PROXY(TypedDict):
82
+ type: Literal["PROXY"]
83
+ proxyServer: str
84
+ relayServer: str
85
+ proxyErr: "ProxyClientError"
86
+
87
+ class AgentErrorType_RCP(TypedDict):
88
+ type: Literal["RCP"]
89
+ rcpErr: "RCErrorType"
90
+
91
+ class AgentErrorType_BROKER(TypedDict):
92
+ type: Literal["BROKER"]
93
+ brokerAddress: str
94
+ brokerErr: "BrokerErrorType"
95
+
96
+ class AgentErrorType_AGENT(TypedDict):
97
+ type: Literal["AGENT"]
98
+ agentErr: "SMPAgentError"
99
+
100
+ class AgentErrorType_NOTICE(TypedDict):
101
+ type: Literal["NOTICE"]
102
+ server: str
103
+ preset: bool
104
+ expiresAt: NotRequired[str] # ISO-8601 timestamp
105
+
106
+ class AgentErrorType_INTERNAL(TypedDict):
107
+ type: Literal["INTERNAL"]
108
+ internalErr: str
109
+
110
+ class AgentErrorType_CRITICAL(TypedDict):
111
+ type: Literal["CRITICAL"]
112
+ offerRestart: bool
113
+ criticalErr: str
114
+
115
+ class AgentErrorType_INACTIVE(TypedDict):
116
+ type: Literal["INACTIVE"]
117
+
118
+ AgentErrorType = (
119
+ AgentErrorType_CMD
120
+ | AgentErrorType_CONN
121
+ | AgentErrorType_NO_USER
122
+ | AgentErrorType_SMP
123
+ | AgentErrorType_NTF
124
+ | AgentErrorType_XFTP
125
+ | AgentErrorType_FILE
126
+ | AgentErrorType_PROXY
127
+ | AgentErrorType_RCP
128
+ | AgentErrorType_BROKER
129
+ | AgentErrorType_AGENT
130
+ | AgentErrorType_NOTICE
131
+ | AgentErrorType_INTERNAL
132
+ | AgentErrorType_CRITICAL
133
+ | AgentErrorType_INACTIVE
134
+ )
135
+
136
+ AgentErrorType_Tag = Literal["CMD", "CONN", "NO_USER", "SMP", "NTF", "XFTP", "FILE", "PROXY", "RCP", "BROKER", "AGENT", "NOTICE", "INTERNAL", "CRITICAL", "INACTIVE"]
137
+
138
+ class AutoAccept(TypedDict):
139
+ acceptIncognito: bool
140
+
141
+ class BlockingInfo(TypedDict):
142
+ reason: "BlockingReason"
143
+ notice: NotRequired["ClientNotice"]
144
+
145
+ BlockingReason = Literal["spam", "content"]
146
+
147
+ class BrokerErrorType_RESPONSE(TypedDict):
148
+ type: Literal["RESPONSE"]
149
+ respErr: str
150
+
151
+ class BrokerErrorType_UNEXPECTED(TypedDict):
152
+ type: Literal["UNEXPECTED"]
153
+ respErr: str
154
+
155
+ class BrokerErrorType_NETWORK(TypedDict):
156
+ type: Literal["NETWORK"]
157
+ networkError: "NetworkError"
158
+
159
+ class BrokerErrorType_HOST(TypedDict):
160
+ type: Literal["HOST"]
161
+
162
+ class BrokerErrorType_NO_SERVICE(TypedDict):
163
+ type: Literal["NO_SERVICE"]
164
+
165
+ class BrokerErrorType_TRANSPORT(TypedDict):
166
+ type: Literal["TRANSPORT"]
167
+ transportErr: "TransportError"
168
+
169
+ class BrokerErrorType_TIMEOUT(TypedDict):
170
+ type: Literal["TIMEOUT"]
171
+
172
+ BrokerErrorType = (
173
+ BrokerErrorType_RESPONSE
174
+ | BrokerErrorType_UNEXPECTED
175
+ | BrokerErrorType_NETWORK
176
+ | BrokerErrorType_HOST
177
+ | BrokerErrorType_NO_SERVICE
178
+ | BrokerErrorType_TRANSPORT
179
+ | BrokerErrorType_TIMEOUT
180
+ )
181
+
182
+ BrokerErrorType_Tag = Literal["RESPONSE", "UNEXPECTED", "NETWORK", "HOST", "NO_SERVICE", "TRANSPORT", "TIMEOUT"]
183
+
184
+ class BusinessChatInfo(TypedDict):
185
+ chatType: "BusinessChatType"
186
+ businessId: str
187
+ customerId: str
188
+
189
+ BusinessChatType = Literal["business", "customer"]
190
+
191
+ CICallStatus = Literal["pending", "missed", "rejected", "accepted", "negotiated", "progress", "ended", "error"]
192
+
193
+ class CIContent_sndMsgContent(TypedDict):
194
+ type: Literal["sndMsgContent"]
195
+ msgContent: "MsgContent"
196
+
197
+ class CIContent_rcvMsgContent(TypedDict):
198
+ type: Literal["rcvMsgContent"]
199
+ msgContent: "MsgContent"
200
+
201
+ class CIContent_sndDeleted(TypedDict):
202
+ type: Literal["sndDeleted"]
203
+ deleteMode: "CIDeleteMode"
204
+
205
+ class CIContent_rcvDeleted(TypedDict):
206
+ type: Literal["rcvDeleted"]
207
+ deleteMode: "CIDeleteMode"
208
+
209
+ class CIContent_sndCall(TypedDict):
210
+ type: Literal["sndCall"]
211
+ status: "CICallStatus"
212
+ duration: int # int
213
+
214
+ class CIContent_rcvCall(TypedDict):
215
+ type: Literal["rcvCall"]
216
+ status: "CICallStatus"
217
+ duration: int # int
218
+
219
+ class CIContent_rcvIntegrityError(TypedDict):
220
+ type: Literal["rcvIntegrityError"]
221
+ msgError: "MsgErrorType"
222
+
223
+ class CIContent_rcvDecryptionError(TypedDict):
224
+ type: Literal["rcvDecryptionError"]
225
+ msgDecryptError: "MsgDecryptError"
226
+ msgCount: int # word32
227
+
228
+ class CIContent_rcvMsgError(TypedDict):
229
+ type: Literal["rcvMsgError"]
230
+ rcvMsgError: "RcvMsgError"
231
+
232
+ class CIContent_rcvGroupInvitation(TypedDict):
233
+ type: Literal["rcvGroupInvitation"]
234
+ groupInvitation: "CIGroupInvitation"
235
+ memberRole: "GroupMemberRole"
236
+
237
+ class CIContent_sndGroupInvitation(TypedDict):
238
+ type: Literal["sndGroupInvitation"]
239
+ groupInvitation: "CIGroupInvitation"
240
+ memberRole: "GroupMemberRole"
241
+
242
+ class CIContent_rcvDirectEvent(TypedDict):
243
+ type: Literal["rcvDirectEvent"]
244
+ rcvDirectEvent: "RcvDirectEvent"
245
+
246
+ class CIContent_rcvGroupEvent(TypedDict):
247
+ type: Literal["rcvGroupEvent"]
248
+ rcvGroupEvent: "RcvGroupEvent"
249
+
250
+ class CIContent_sndGroupEvent(TypedDict):
251
+ type: Literal["sndGroupEvent"]
252
+ sndGroupEvent: "SndGroupEvent"
253
+
254
+ class CIContent_rcvConnEvent(TypedDict):
255
+ type: Literal["rcvConnEvent"]
256
+ rcvConnEvent: "RcvConnEvent"
257
+
258
+ class CIContent_sndConnEvent(TypedDict):
259
+ type: Literal["sndConnEvent"]
260
+ sndConnEvent: "SndConnEvent"
261
+
262
+ class CIContent_rcvChatFeature(TypedDict):
263
+ type: Literal["rcvChatFeature"]
264
+ feature: "ChatFeature"
265
+ enabled: "PrefEnabled"
266
+ param: NotRequired[int] # int
267
+
268
+ class CIContent_sndChatFeature(TypedDict):
269
+ type: Literal["sndChatFeature"]
270
+ feature: "ChatFeature"
271
+ enabled: "PrefEnabled"
272
+ param: NotRequired[int] # int
273
+
274
+ class CIContent_rcvChatPreference(TypedDict):
275
+ type: Literal["rcvChatPreference"]
276
+ feature: "ChatFeature"
277
+ allowed: "FeatureAllowed"
278
+ param: NotRequired[int] # int
279
+
280
+ class CIContent_sndChatPreference(TypedDict):
281
+ type: Literal["sndChatPreference"]
282
+ feature: "ChatFeature"
283
+ allowed: "FeatureAllowed"
284
+ param: NotRequired[int] # int
285
+
286
+ class CIContent_rcvGroupFeature(TypedDict):
287
+ type: Literal["rcvGroupFeature"]
288
+ groupFeature: "GroupFeature"
289
+ preference: "GroupPreference"
290
+ param: NotRequired[int] # int
291
+ memberRole_: NotRequired["GroupMemberRole"]
292
+
293
+ class CIContent_sndGroupFeature(TypedDict):
294
+ type: Literal["sndGroupFeature"]
295
+ groupFeature: "GroupFeature"
296
+ preference: "GroupPreference"
297
+ param: NotRequired[int] # int
298
+ memberRole_: NotRequired["GroupMemberRole"]
299
+
300
+ class CIContent_rcvChatFeatureRejected(TypedDict):
301
+ type: Literal["rcvChatFeatureRejected"]
302
+ feature: "ChatFeature"
303
+
304
+ class CIContent_rcvGroupFeatureRejected(TypedDict):
305
+ type: Literal["rcvGroupFeatureRejected"]
306
+ groupFeature: "GroupFeature"
307
+
308
+ class CIContent_sndModerated(TypedDict):
309
+ type: Literal["sndModerated"]
310
+
311
+ class CIContent_rcvModerated(TypedDict):
312
+ type: Literal["rcvModerated"]
313
+
314
+ class CIContent_rcvBlocked(TypedDict):
315
+ type: Literal["rcvBlocked"]
316
+
317
+ class CIContent_sndDirectE2EEInfo(TypedDict):
318
+ type: Literal["sndDirectE2EEInfo"]
319
+ e2eeInfo: "E2EInfo"
320
+
321
+ class CIContent_rcvDirectE2EEInfo(TypedDict):
322
+ type: Literal["rcvDirectE2EEInfo"]
323
+ e2eeInfo: "E2EInfo"
324
+
325
+ class CIContent_sndGroupE2EEInfo(TypedDict):
326
+ type: Literal["sndGroupE2EEInfo"]
327
+ e2eeInfo: "E2EInfo"
328
+
329
+ class CIContent_rcvGroupE2EEInfo(TypedDict):
330
+ type: Literal["rcvGroupE2EEInfo"]
331
+ e2eeInfo: "E2EInfo"
332
+
333
+ class CIContent_chatBanner(TypedDict):
334
+ type: Literal["chatBanner"]
335
+
336
+ CIContent = (
337
+ CIContent_sndMsgContent
338
+ | CIContent_rcvMsgContent
339
+ | CIContent_sndDeleted
340
+ | CIContent_rcvDeleted
341
+ | CIContent_sndCall
342
+ | CIContent_rcvCall
343
+ | CIContent_rcvIntegrityError
344
+ | CIContent_rcvDecryptionError
345
+ | CIContent_rcvMsgError
346
+ | CIContent_rcvGroupInvitation
347
+ | CIContent_sndGroupInvitation
348
+ | CIContent_rcvDirectEvent
349
+ | CIContent_rcvGroupEvent
350
+ | CIContent_sndGroupEvent
351
+ | CIContent_rcvConnEvent
352
+ | CIContent_sndConnEvent
353
+ | CIContent_rcvChatFeature
354
+ | CIContent_sndChatFeature
355
+ | CIContent_rcvChatPreference
356
+ | CIContent_sndChatPreference
357
+ | CIContent_rcvGroupFeature
358
+ | CIContent_sndGroupFeature
359
+ | CIContent_rcvChatFeatureRejected
360
+ | CIContent_rcvGroupFeatureRejected
361
+ | CIContent_sndModerated
362
+ | CIContent_rcvModerated
363
+ | CIContent_rcvBlocked
364
+ | CIContent_sndDirectE2EEInfo
365
+ | CIContent_rcvDirectE2EEInfo
366
+ | CIContent_sndGroupE2EEInfo
367
+ | CIContent_rcvGroupE2EEInfo
368
+ | CIContent_chatBanner
369
+ )
370
+
371
+ CIContent_Tag = Literal["sndMsgContent", "rcvMsgContent", "sndDeleted", "rcvDeleted", "sndCall", "rcvCall", "rcvIntegrityError", "rcvDecryptionError", "rcvMsgError", "rcvGroupInvitation", "sndGroupInvitation", "rcvDirectEvent", "rcvGroupEvent", "sndGroupEvent", "rcvConnEvent", "sndConnEvent", "rcvChatFeature", "sndChatFeature", "rcvChatPreference", "sndChatPreference", "rcvGroupFeature", "sndGroupFeature", "rcvChatFeatureRejected", "rcvGroupFeatureRejected", "sndModerated", "rcvModerated", "rcvBlocked", "sndDirectE2EEInfo", "rcvDirectE2EEInfo", "sndGroupE2EEInfo", "rcvGroupE2EEInfo", "chatBanner"]
372
+
373
+ CIDeleteMode = Literal["broadcast", "internal", "internalMark"]
374
+
375
+ class CIDeleted_deleted(TypedDict):
376
+ type: Literal["deleted"]
377
+ deletedTs: NotRequired[str] # ISO-8601 timestamp
378
+ chatType: "ChatType"
379
+
380
+ class CIDeleted_blocked(TypedDict):
381
+ type: Literal["blocked"]
382
+ deletedTs: NotRequired[str] # ISO-8601 timestamp
383
+
384
+ class CIDeleted_blockedByAdmin(TypedDict):
385
+ type: Literal["blockedByAdmin"]
386
+ deletedTs: NotRequired[str] # ISO-8601 timestamp
387
+
388
+ class CIDeleted_moderated(TypedDict):
389
+ type: Literal["moderated"]
390
+ deletedTs: NotRequired[str] # ISO-8601 timestamp
391
+ byGroupMember: "GroupMember"
392
+
393
+ CIDeleted = CIDeleted_deleted | CIDeleted_blocked | CIDeleted_blockedByAdmin | CIDeleted_moderated
394
+
395
+ CIDeleted_Tag = Literal["deleted", "blocked", "blockedByAdmin", "moderated"]
396
+
397
+ class CIDirection_directSnd(TypedDict):
398
+ type: Literal["directSnd"]
399
+
400
+ class CIDirection_directRcv(TypedDict):
401
+ type: Literal["directRcv"]
402
+
403
+ class CIDirection_groupSnd(TypedDict):
404
+ type: Literal["groupSnd"]
405
+
406
+ class CIDirection_groupRcv(TypedDict):
407
+ type: Literal["groupRcv"]
408
+ groupMember: "GroupMember"
409
+
410
+ class CIDirection_channelRcv(TypedDict):
411
+ type: Literal["channelRcv"]
412
+
413
+ class CIDirection_localSnd(TypedDict):
414
+ type: Literal["localSnd"]
415
+
416
+ class CIDirection_localRcv(TypedDict):
417
+ type: Literal["localRcv"]
418
+
419
+ CIDirection = (
420
+ CIDirection_directSnd
421
+ | CIDirection_directRcv
422
+ | CIDirection_groupSnd
423
+ | CIDirection_groupRcv
424
+ | CIDirection_channelRcv
425
+ | CIDirection_localSnd
426
+ | CIDirection_localRcv
427
+ )
428
+
429
+ CIDirection_Tag = Literal["directSnd", "directRcv", "groupSnd", "groupRcv", "channelRcv", "localSnd", "localRcv"]
430
+
431
+ class CIFile(TypedDict):
432
+ fileId: int # int64
433
+ fileName: str
434
+ fileSize: int # int64
435
+ fileSource: NotRequired["CryptoFile"]
436
+ fileStatus: "CIFileStatus"
437
+ fileProtocol: "FileProtocol"
438
+
439
+ class CIFileStatus_sndStored(TypedDict):
440
+ type: Literal["sndStored"]
441
+
442
+ class CIFileStatus_sndTransfer(TypedDict):
443
+ type: Literal["sndTransfer"]
444
+ sndProgress: int # int64
445
+ sndTotal: int # int64
446
+
447
+ class CIFileStatus_sndCancelled(TypedDict):
448
+ type: Literal["sndCancelled"]
449
+
450
+ class CIFileStatus_sndComplete(TypedDict):
451
+ type: Literal["sndComplete"]
452
+
453
+ class CIFileStatus_sndError(TypedDict):
454
+ type: Literal["sndError"]
455
+ sndFileError: "FileError"
456
+
457
+ class CIFileStatus_sndWarning(TypedDict):
458
+ type: Literal["sndWarning"]
459
+ sndFileError: "FileError"
460
+
461
+ class CIFileStatus_rcvInvitation(TypedDict):
462
+ type: Literal["rcvInvitation"]
463
+
464
+ class CIFileStatus_rcvAccepted(TypedDict):
465
+ type: Literal["rcvAccepted"]
466
+
467
+ class CIFileStatus_rcvTransfer(TypedDict):
468
+ type: Literal["rcvTransfer"]
469
+ rcvProgress: int # int64
470
+ rcvTotal: int # int64
471
+
472
+ class CIFileStatus_rcvAborted(TypedDict):
473
+ type: Literal["rcvAborted"]
474
+
475
+ class CIFileStatus_rcvComplete(TypedDict):
476
+ type: Literal["rcvComplete"]
477
+
478
+ class CIFileStatus_rcvCancelled(TypedDict):
479
+ type: Literal["rcvCancelled"]
480
+
481
+ class CIFileStatus_rcvError(TypedDict):
482
+ type: Literal["rcvError"]
483
+ rcvFileError: "FileError"
484
+
485
+ class CIFileStatus_rcvWarning(TypedDict):
486
+ type: Literal["rcvWarning"]
487
+ rcvFileError: "FileError"
488
+
489
+ class CIFileStatus_invalid(TypedDict):
490
+ type: Literal["invalid"]
491
+ text: str
492
+
493
+ CIFileStatus = (
494
+ CIFileStatus_sndStored
495
+ | CIFileStatus_sndTransfer
496
+ | CIFileStatus_sndCancelled
497
+ | CIFileStatus_sndComplete
498
+ | CIFileStatus_sndError
499
+ | CIFileStatus_sndWarning
500
+ | CIFileStatus_rcvInvitation
501
+ | CIFileStatus_rcvAccepted
502
+ | CIFileStatus_rcvTransfer
503
+ | CIFileStatus_rcvAborted
504
+ | CIFileStatus_rcvComplete
505
+ | CIFileStatus_rcvCancelled
506
+ | CIFileStatus_rcvError
507
+ | CIFileStatus_rcvWarning
508
+ | CIFileStatus_invalid
509
+ )
510
+
511
+ CIFileStatus_Tag = Literal["sndStored", "sndTransfer", "sndCancelled", "sndComplete", "sndError", "sndWarning", "rcvInvitation", "rcvAccepted", "rcvTransfer", "rcvAborted", "rcvComplete", "rcvCancelled", "rcvError", "rcvWarning", "invalid"]
512
+
513
+ class CIForwardedFrom_unknown(TypedDict):
514
+ type: Literal["unknown"]
515
+
516
+ class CIForwardedFrom_contact(TypedDict):
517
+ type: Literal["contact"]
518
+ chatName: str
519
+ msgDir: "MsgDirection"
520
+ contactId: NotRequired[int] # int64
521
+ chatItemId: NotRequired[int] # int64
522
+
523
+ class CIForwardedFrom_group(TypedDict):
524
+ type: Literal["group"]
525
+ chatName: str
526
+ msgDir: "MsgDirection"
527
+ groupId: NotRequired[int] # int64
528
+ chatItemId: NotRequired[int] # int64
529
+
530
+ CIForwardedFrom = CIForwardedFrom_unknown | CIForwardedFrom_contact | CIForwardedFrom_group
531
+
532
+ CIForwardedFrom_Tag = Literal["unknown", "contact", "group"]
533
+
534
+ class CIGroupInvitation(TypedDict):
535
+ groupId: int # int64
536
+ groupMemberId: int # int64
537
+ localDisplayName: str
538
+ groupProfile: "GroupProfile"
539
+ status: "CIGroupInvitationStatus"
540
+
541
+ CIGroupInvitationStatus = Literal["pending", "accepted", "rejected", "expired"]
542
+
543
+ class CIMention(TypedDict):
544
+ memberId: str
545
+ memberRef: NotRequired["CIMentionMember"]
546
+
547
+ class CIMentionMember(TypedDict):
548
+ groupMemberId: int # int64
549
+ displayName: str
550
+ localAlias: NotRequired[str]
551
+ memberRole: "GroupMemberRole"
552
+
553
+ class CIMeta(TypedDict):
554
+ itemId: int # int64
555
+ itemTs: str # ISO-8601 timestamp
556
+ itemText: str
557
+ itemStatus: "CIStatus"
558
+ sentViaProxy: NotRequired[bool]
559
+ itemSharedMsgId: NotRequired[str]
560
+ itemForwarded: NotRequired["CIForwardedFrom"]
561
+ itemDeleted: NotRequired["CIDeleted"]
562
+ itemEdited: bool
563
+ itemTimed: NotRequired["CITimed"]
564
+ itemLive: NotRequired[bool]
565
+ userMention: bool
566
+ hasLink: bool
567
+ deletable: bool
568
+ editable: bool
569
+ forwardedByMember: NotRequired[int] # int64
570
+ showGroupAsSender: bool
571
+ msgSigned: NotRequired["MsgSigStatus"]
572
+ createdAt: str # ISO-8601 timestamp
573
+ updatedAt: str # ISO-8601 timestamp
574
+
575
+ class CIQuote(TypedDict):
576
+ chatDir: NotRequired["CIDirection"]
577
+ itemId: NotRequired[int] # int64
578
+ sharedMsgId: NotRequired[str]
579
+ sentAt: str # ISO-8601 timestamp
580
+ content: "MsgContent"
581
+ formattedText: NotRequired[list["FormattedText"]]
582
+
583
+ class CIReaction(TypedDict):
584
+ chatDir: "CIDirection"
585
+ chatItem: "ChatItem"
586
+ sentAt: str # ISO-8601 timestamp
587
+ reaction: "MsgReaction"
588
+
589
+ class CIReactionCount(TypedDict):
590
+ reaction: "MsgReaction"
591
+ userReacted: bool
592
+ totalReacted: int # int
593
+
594
+ class CIStatus_sndNew(TypedDict):
595
+ type: Literal["sndNew"]
596
+
597
+ class CIStatus_sndSent(TypedDict):
598
+ type: Literal["sndSent"]
599
+ sndProgress: "SndCIStatusProgress"
600
+
601
+ class CIStatus_sndRcvd(TypedDict):
602
+ type: Literal["sndRcvd"]
603
+ msgRcptStatus: "MsgReceiptStatus"
604
+ sndProgress: "SndCIStatusProgress"
605
+
606
+ class CIStatus_sndErrorAuth(TypedDict):
607
+ type: Literal["sndErrorAuth"]
608
+
609
+ class CIStatus_sndError(TypedDict):
610
+ type: Literal["sndError"]
611
+ agentError: "SndError"
612
+
613
+ class CIStatus_sndWarning(TypedDict):
614
+ type: Literal["sndWarning"]
615
+ agentError: "SndError"
616
+
617
+ class CIStatus_rcvNew(TypedDict):
618
+ type: Literal["rcvNew"]
619
+
620
+ class CIStatus_rcvRead(TypedDict):
621
+ type: Literal["rcvRead"]
622
+
623
+ class CIStatus_invalid(TypedDict):
624
+ type: Literal["invalid"]
625
+ text: str
626
+
627
+ CIStatus = (
628
+ CIStatus_sndNew
629
+ | CIStatus_sndSent
630
+ | CIStatus_sndRcvd
631
+ | CIStatus_sndErrorAuth
632
+ | CIStatus_sndError
633
+ | CIStatus_sndWarning
634
+ | CIStatus_rcvNew
635
+ | CIStatus_rcvRead
636
+ | CIStatus_invalid
637
+ )
638
+
639
+ CIStatus_Tag = Literal["sndNew", "sndSent", "sndRcvd", "sndErrorAuth", "sndError", "sndWarning", "rcvNew", "rcvRead", "invalid"]
640
+
641
+ class CITimed(TypedDict):
642
+ ttl: int # int
643
+ deleteAt: NotRequired[str] # ISO-8601 timestamp
644
+
645
+ class ChatBotCommand_command(TypedDict):
646
+ type: Literal["command"]
647
+ keyword: str
648
+ label: str
649
+ params: NotRequired[str]
650
+
651
+ class ChatBotCommand_menu(TypedDict):
652
+ type: Literal["menu"]
653
+ label: str
654
+ commands: list["ChatBotCommand"]
655
+
656
+ ChatBotCommand = ChatBotCommand_command | ChatBotCommand_menu
657
+
658
+ ChatBotCommand_Tag = Literal["command", "menu"]
659
+
660
+ class ChatDeleteMode_full(TypedDict):
661
+ type: Literal["full"]
662
+ notify: bool
663
+
664
+ class ChatDeleteMode_entity(TypedDict):
665
+ type: Literal["entity"]
666
+ notify: bool
667
+
668
+ class ChatDeleteMode_messages(TypedDict):
669
+ type: Literal["messages"]
670
+
671
+ ChatDeleteMode = ChatDeleteMode_full | ChatDeleteMode_entity | ChatDeleteMode_messages
672
+
673
+ ChatDeleteMode_Tag = Literal["full", "entity", "messages"]
674
+
675
+
676
+ def ChatDeleteMode_cmd_string(self: ChatDeleteMode) -> str:
677
+ return str(self['type']) + ('' if str(self['type']) == 'messages' else (' notify=off' if not self['notify'] else '')) # type: ignore[typeddict-item]
678
+
679
+ class ChatError_error(TypedDict):
680
+ type: Literal["error"]
681
+ errorType: "ChatErrorType"
682
+
683
+ class ChatError_errorAgent(TypedDict):
684
+ type: Literal["errorAgent"]
685
+ agentError: "AgentErrorType"
686
+ agentConnId: str
687
+ connectionEntity_: NotRequired["ConnectionEntity"]
688
+
689
+ class ChatError_errorStore(TypedDict):
690
+ type: Literal["errorStore"]
691
+ storeError: "StoreError"
692
+
693
+ ChatError = ChatError_error | ChatError_errorAgent | ChatError_errorStore
694
+
695
+ ChatError_Tag = Literal["error", "errorAgent", "errorStore"]
696
+
697
+ class ChatErrorType_noActiveUser(TypedDict):
698
+ type: Literal["noActiveUser"]
699
+
700
+ class ChatErrorType_noConnectionUser(TypedDict):
701
+ type: Literal["noConnectionUser"]
702
+ agentConnId: str
703
+
704
+ class ChatErrorType_noSndFileUser(TypedDict):
705
+ type: Literal["noSndFileUser"]
706
+ agentSndFileId: str
707
+
708
+ class ChatErrorType_noRcvFileUser(TypedDict):
709
+ type: Literal["noRcvFileUser"]
710
+ agentRcvFileId: str
711
+
712
+ class ChatErrorType_userUnknown(TypedDict):
713
+ type: Literal["userUnknown"]
714
+
715
+ class ChatErrorType_activeUserExists(TypedDict):
716
+ type: Literal["activeUserExists"]
717
+
718
+ class ChatErrorType_userExists(TypedDict):
719
+ type: Literal["userExists"]
720
+ contactName: str
721
+
722
+ class ChatErrorType_chatRelayExists(TypedDict):
723
+ type: Literal["chatRelayExists"]
724
+
725
+ class ChatErrorType_differentActiveUser(TypedDict):
726
+ type: Literal["differentActiveUser"]
727
+ commandUserId: int # int64
728
+ activeUserId: int # int64
729
+
730
+ class ChatErrorType_cantDeleteActiveUser(TypedDict):
731
+ type: Literal["cantDeleteActiveUser"]
732
+ userId: int # int64
733
+
734
+ class ChatErrorType_cantDeleteLastUser(TypedDict):
735
+ type: Literal["cantDeleteLastUser"]
736
+ userId: int # int64
737
+
738
+ class ChatErrorType_cantHideLastUser(TypedDict):
739
+ type: Literal["cantHideLastUser"]
740
+ userId: int # int64
741
+
742
+ class ChatErrorType_hiddenUserAlwaysMuted(TypedDict):
743
+ type: Literal["hiddenUserAlwaysMuted"]
744
+ userId: int # int64
745
+
746
+ class ChatErrorType_emptyUserPassword(TypedDict):
747
+ type: Literal["emptyUserPassword"]
748
+ userId: int # int64
749
+
750
+ class ChatErrorType_userAlreadyHidden(TypedDict):
751
+ type: Literal["userAlreadyHidden"]
752
+ userId: int # int64
753
+
754
+ class ChatErrorType_userNotHidden(TypedDict):
755
+ type: Literal["userNotHidden"]
756
+ userId: int # int64
757
+
758
+ class ChatErrorType_invalidDisplayName(TypedDict):
759
+ type: Literal["invalidDisplayName"]
760
+ displayName: str
761
+ validName: str
762
+
763
+ class ChatErrorType_chatNotStarted(TypedDict):
764
+ type: Literal["chatNotStarted"]
765
+
766
+ class ChatErrorType_chatNotStopped(TypedDict):
767
+ type: Literal["chatNotStopped"]
768
+
769
+ class ChatErrorType_chatStoreChanged(TypedDict):
770
+ type: Literal["chatStoreChanged"]
771
+
772
+ class ChatErrorType_invalidConnReq(TypedDict):
773
+ type: Literal["invalidConnReq"]
774
+
775
+ class ChatErrorType_unsupportedConnReq(TypedDict):
776
+ type: Literal["unsupportedConnReq"]
777
+
778
+ class ChatErrorType_connReqMessageProhibited(TypedDict):
779
+ type: Literal["connReqMessageProhibited"]
780
+
781
+ class ChatErrorType_contactNotReady(TypedDict):
782
+ type: Literal["contactNotReady"]
783
+ contact: "Contact"
784
+
785
+ class ChatErrorType_contactNotActive(TypedDict):
786
+ type: Literal["contactNotActive"]
787
+ contact: "Contact"
788
+
789
+ class ChatErrorType_contactDisabled(TypedDict):
790
+ type: Literal["contactDisabled"]
791
+ contact: "Contact"
792
+
793
+ class ChatErrorType_connectionDisabled(TypedDict):
794
+ type: Literal["connectionDisabled"]
795
+ connection: "Connection"
796
+
797
+ class ChatErrorType_groupUserRole(TypedDict):
798
+ type: Literal["groupUserRole"]
799
+ groupInfo: "GroupInfo"
800
+ requiredRole: "GroupMemberRole"
801
+
802
+ class ChatErrorType_groupMemberInitialRole(TypedDict):
803
+ type: Literal["groupMemberInitialRole"]
804
+ groupInfo: "GroupInfo"
805
+ initialRole: "GroupMemberRole"
806
+
807
+ class ChatErrorType_contactIncognitoCantInvite(TypedDict):
808
+ type: Literal["contactIncognitoCantInvite"]
809
+
810
+ class ChatErrorType_groupIncognitoCantInvite(TypedDict):
811
+ type: Literal["groupIncognitoCantInvite"]
812
+
813
+ class ChatErrorType_groupContactRole(TypedDict):
814
+ type: Literal["groupContactRole"]
815
+ contactName: str
816
+
817
+ class ChatErrorType_groupDuplicateMember(TypedDict):
818
+ type: Literal["groupDuplicateMember"]
819
+ contactName: str
820
+
821
+ class ChatErrorType_groupDuplicateMemberId(TypedDict):
822
+ type: Literal["groupDuplicateMemberId"]
823
+
824
+ class ChatErrorType_groupNotJoined(TypedDict):
825
+ type: Literal["groupNotJoined"]
826
+ groupInfo: "GroupInfo"
827
+
828
+ class ChatErrorType_groupMemberNotActive(TypedDict):
829
+ type: Literal["groupMemberNotActive"]
830
+
831
+ class ChatErrorType_cantBlockMemberForSelf(TypedDict):
832
+ type: Literal["cantBlockMemberForSelf"]
833
+ groupInfo: "GroupInfo"
834
+ member: "GroupMember"
835
+ setShowMessages: bool
836
+
837
+ class ChatErrorType_groupMemberUserRemoved(TypedDict):
838
+ type: Literal["groupMemberUserRemoved"]
839
+
840
+ class ChatErrorType_groupMemberNotFound(TypedDict):
841
+ type: Literal["groupMemberNotFound"]
842
+
843
+ class ChatErrorType_groupCantResendInvitation(TypedDict):
844
+ type: Literal["groupCantResendInvitation"]
845
+ groupInfo: "GroupInfo"
846
+ contactName: str
847
+
848
+ class ChatErrorType_groupInternal(TypedDict):
849
+ type: Literal["groupInternal"]
850
+ message: str
851
+
852
+ class ChatErrorType_fileNotFound(TypedDict):
853
+ type: Literal["fileNotFound"]
854
+ message: str
855
+
856
+ class ChatErrorType_fileSize(TypedDict):
857
+ type: Literal["fileSize"]
858
+ filePath: str
859
+
860
+ class ChatErrorType_fileAlreadyReceiving(TypedDict):
861
+ type: Literal["fileAlreadyReceiving"]
862
+ message: str
863
+
864
+ class ChatErrorType_fileCancelled(TypedDict):
865
+ type: Literal["fileCancelled"]
866
+ message: str
867
+
868
+ class ChatErrorType_fileCancel(TypedDict):
869
+ type: Literal["fileCancel"]
870
+ fileId: int # int64
871
+ message: str
872
+
873
+ class ChatErrorType_fileAlreadyExists(TypedDict):
874
+ type: Literal["fileAlreadyExists"]
875
+ filePath: str
876
+
877
+ class ChatErrorType_fileWrite(TypedDict):
878
+ type: Literal["fileWrite"]
879
+ filePath: str
880
+ message: str
881
+
882
+ class ChatErrorType_fileSend(TypedDict):
883
+ type: Literal["fileSend"]
884
+ fileId: int # int64
885
+ agentError: "AgentErrorType"
886
+
887
+ class ChatErrorType_fileRcvChunk(TypedDict):
888
+ type: Literal["fileRcvChunk"]
889
+ message: str
890
+
891
+ class ChatErrorType_fileInternal(TypedDict):
892
+ type: Literal["fileInternal"]
893
+ message: str
894
+
895
+ class ChatErrorType_fileImageType(TypedDict):
896
+ type: Literal["fileImageType"]
897
+ filePath: str
898
+
899
+ class ChatErrorType_fileImageSize(TypedDict):
900
+ type: Literal["fileImageSize"]
901
+ filePath: str
902
+
903
+ class ChatErrorType_fileNotReceived(TypedDict):
904
+ type: Literal["fileNotReceived"]
905
+ fileId: int # int64
906
+
907
+ class ChatErrorType_fileNotApproved(TypedDict):
908
+ type: Literal["fileNotApproved"]
909
+ fileId: int # int64
910
+ unknownServers: list[str]
911
+
912
+ class ChatErrorType_fallbackToSMPProhibited(TypedDict):
913
+ type: Literal["fallbackToSMPProhibited"]
914
+ fileId: int # int64
915
+
916
+ class ChatErrorType_inlineFileProhibited(TypedDict):
917
+ type: Literal["inlineFileProhibited"]
918
+ fileId: int # int64
919
+
920
+ class ChatErrorType_invalidForward(TypedDict):
921
+ type: Literal["invalidForward"]
922
+
923
+ class ChatErrorType_invalidChatItemUpdate(TypedDict):
924
+ type: Literal["invalidChatItemUpdate"]
925
+
926
+ class ChatErrorType_invalidChatItemDelete(TypedDict):
927
+ type: Literal["invalidChatItemDelete"]
928
+
929
+ class ChatErrorType_hasCurrentCall(TypedDict):
930
+ type: Literal["hasCurrentCall"]
931
+
932
+ class ChatErrorType_noCurrentCall(TypedDict):
933
+ type: Literal["noCurrentCall"]
934
+
935
+ class ChatErrorType_callContact(TypedDict):
936
+ type: Literal["callContact"]
937
+ contactId: int # int64
938
+
939
+ class ChatErrorType_directMessagesProhibited(TypedDict):
940
+ type: Literal["directMessagesProhibited"]
941
+ direction: "MsgDirection"
942
+ contact: "Contact"
943
+
944
+ class ChatErrorType_agentVersion(TypedDict):
945
+ type: Literal["agentVersion"]
946
+
947
+ class ChatErrorType_agentNoSubResult(TypedDict):
948
+ type: Literal["agentNoSubResult"]
949
+ agentConnId: str
950
+
951
+ class ChatErrorType_commandError(TypedDict):
952
+ type: Literal["commandError"]
953
+ message: str
954
+
955
+ class ChatErrorType_agentCommandError(TypedDict):
956
+ type: Literal["agentCommandError"]
957
+ message: str
958
+
959
+ class ChatErrorType_invalidFileDescription(TypedDict):
960
+ type: Literal["invalidFileDescription"]
961
+ message: str
962
+
963
+ class ChatErrorType_connectionIncognitoChangeProhibited(TypedDict):
964
+ type: Literal["connectionIncognitoChangeProhibited"]
965
+
966
+ class ChatErrorType_connectionUserChangeProhibited(TypedDict):
967
+ type: Literal["connectionUserChangeProhibited"]
968
+
969
+ class ChatErrorType_peerChatVRangeIncompatible(TypedDict):
970
+ type: Literal["peerChatVRangeIncompatible"]
971
+
972
+ class ChatErrorType_relayTestError(TypedDict):
973
+ type: Literal["relayTestError"]
974
+ message: str
975
+
976
+ class ChatErrorType_internalError(TypedDict):
977
+ type: Literal["internalError"]
978
+ message: str
979
+
980
+ class ChatErrorType_exception(TypedDict):
981
+ type: Literal["exception"]
982
+ message: str
983
+
984
+ ChatErrorType = (
985
+ ChatErrorType_noActiveUser
986
+ | ChatErrorType_noConnectionUser
987
+ | ChatErrorType_noSndFileUser
988
+ | ChatErrorType_noRcvFileUser
989
+ | ChatErrorType_userUnknown
990
+ | ChatErrorType_activeUserExists
991
+ | ChatErrorType_userExists
992
+ | ChatErrorType_chatRelayExists
993
+ | ChatErrorType_differentActiveUser
994
+ | ChatErrorType_cantDeleteActiveUser
995
+ | ChatErrorType_cantDeleteLastUser
996
+ | ChatErrorType_cantHideLastUser
997
+ | ChatErrorType_hiddenUserAlwaysMuted
998
+ | ChatErrorType_emptyUserPassword
999
+ | ChatErrorType_userAlreadyHidden
1000
+ | ChatErrorType_userNotHidden
1001
+ | ChatErrorType_invalidDisplayName
1002
+ | ChatErrorType_chatNotStarted
1003
+ | ChatErrorType_chatNotStopped
1004
+ | ChatErrorType_chatStoreChanged
1005
+ | ChatErrorType_invalidConnReq
1006
+ | ChatErrorType_unsupportedConnReq
1007
+ | ChatErrorType_connReqMessageProhibited
1008
+ | ChatErrorType_contactNotReady
1009
+ | ChatErrorType_contactNotActive
1010
+ | ChatErrorType_contactDisabled
1011
+ | ChatErrorType_connectionDisabled
1012
+ | ChatErrorType_groupUserRole
1013
+ | ChatErrorType_groupMemberInitialRole
1014
+ | ChatErrorType_contactIncognitoCantInvite
1015
+ | ChatErrorType_groupIncognitoCantInvite
1016
+ | ChatErrorType_groupContactRole
1017
+ | ChatErrorType_groupDuplicateMember
1018
+ | ChatErrorType_groupDuplicateMemberId
1019
+ | ChatErrorType_groupNotJoined
1020
+ | ChatErrorType_groupMemberNotActive
1021
+ | ChatErrorType_cantBlockMemberForSelf
1022
+ | ChatErrorType_groupMemberUserRemoved
1023
+ | ChatErrorType_groupMemberNotFound
1024
+ | ChatErrorType_groupCantResendInvitation
1025
+ | ChatErrorType_groupInternal
1026
+ | ChatErrorType_fileNotFound
1027
+ | ChatErrorType_fileSize
1028
+ | ChatErrorType_fileAlreadyReceiving
1029
+ | ChatErrorType_fileCancelled
1030
+ | ChatErrorType_fileCancel
1031
+ | ChatErrorType_fileAlreadyExists
1032
+ | ChatErrorType_fileWrite
1033
+ | ChatErrorType_fileSend
1034
+ | ChatErrorType_fileRcvChunk
1035
+ | ChatErrorType_fileInternal
1036
+ | ChatErrorType_fileImageType
1037
+ | ChatErrorType_fileImageSize
1038
+ | ChatErrorType_fileNotReceived
1039
+ | ChatErrorType_fileNotApproved
1040
+ | ChatErrorType_fallbackToSMPProhibited
1041
+ | ChatErrorType_inlineFileProhibited
1042
+ | ChatErrorType_invalidForward
1043
+ | ChatErrorType_invalidChatItemUpdate
1044
+ | ChatErrorType_invalidChatItemDelete
1045
+ | ChatErrorType_hasCurrentCall
1046
+ | ChatErrorType_noCurrentCall
1047
+ | ChatErrorType_callContact
1048
+ | ChatErrorType_directMessagesProhibited
1049
+ | ChatErrorType_agentVersion
1050
+ | ChatErrorType_agentNoSubResult
1051
+ | ChatErrorType_commandError
1052
+ | ChatErrorType_agentCommandError
1053
+ | ChatErrorType_invalidFileDescription
1054
+ | ChatErrorType_connectionIncognitoChangeProhibited
1055
+ | ChatErrorType_connectionUserChangeProhibited
1056
+ | ChatErrorType_peerChatVRangeIncompatible
1057
+ | ChatErrorType_relayTestError
1058
+ | ChatErrorType_internalError
1059
+ | ChatErrorType_exception
1060
+ )
1061
+
1062
+ ChatErrorType_Tag = Literal["noActiveUser", "noConnectionUser", "noSndFileUser", "noRcvFileUser", "userUnknown", "activeUserExists", "userExists", "chatRelayExists", "differentActiveUser", "cantDeleteActiveUser", "cantDeleteLastUser", "cantHideLastUser", "hiddenUserAlwaysMuted", "emptyUserPassword", "userAlreadyHidden", "userNotHidden", "invalidDisplayName", "chatNotStarted", "chatNotStopped", "chatStoreChanged", "invalidConnReq", "unsupportedConnReq", "connReqMessageProhibited", "contactNotReady", "contactNotActive", "contactDisabled", "connectionDisabled", "groupUserRole", "groupMemberInitialRole", "contactIncognitoCantInvite", "groupIncognitoCantInvite", "groupContactRole", "groupDuplicateMember", "groupDuplicateMemberId", "groupNotJoined", "groupMemberNotActive", "cantBlockMemberForSelf", "groupMemberUserRemoved", "groupMemberNotFound", "groupCantResendInvitation", "groupInternal", "fileNotFound", "fileSize", "fileAlreadyReceiving", "fileCancelled", "fileCancel", "fileAlreadyExists", "fileWrite", "fileSend", "fileRcvChunk", "fileInternal", "fileImageType", "fileImageSize", "fileNotReceived", "fileNotApproved", "fallbackToSMPProhibited", "inlineFileProhibited", "invalidForward", "invalidChatItemUpdate", "invalidChatItemDelete", "hasCurrentCall", "noCurrentCall", "callContact", "directMessagesProhibited", "agentVersion", "agentNoSubResult", "commandError", "agentCommandError", "invalidFileDescription", "connectionIncognitoChangeProhibited", "connectionUserChangeProhibited", "peerChatVRangeIncompatible", "relayTestError", "internalError", "exception"]
1063
+
1064
+ ChatFeature = Literal["timedMessages", "fullDelete", "reactions", "voice", "files", "calls", "sessions"]
1065
+
1066
+ class ChatInfo_direct(TypedDict):
1067
+ type: Literal["direct"]
1068
+ contact: "Contact"
1069
+
1070
+ class ChatInfo_group(TypedDict):
1071
+ type: Literal["group"]
1072
+ groupInfo: "GroupInfo"
1073
+ groupChatScope: NotRequired["GroupChatScopeInfo"]
1074
+
1075
+ class ChatInfo_local(TypedDict):
1076
+ type: Literal["local"]
1077
+ noteFolder: "NoteFolder"
1078
+
1079
+ class ChatInfo_contactRequest(TypedDict):
1080
+ type: Literal["contactRequest"]
1081
+ contactRequest: "UserContactRequest"
1082
+
1083
+ class ChatInfo_contactConnection(TypedDict):
1084
+ type: Literal["contactConnection"]
1085
+ contactConnection: "PendingContactConnection"
1086
+
1087
+ ChatInfo = (
1088
+ ChatInfo_direct
1089
+ | ChatInfo_group
1090
+ | ChatInfo_local
1091
+ | ChatInfo_contactRequest
1092
+ | ChatInfo_contactConnection
1093
+ )
1094
+
1095
+ ChatInfo_Tag = Literal["direct", "group", "local", "contactRequest", "contactConnection"]
1096
+
1097
+ class ChatItem(TypedDict):
1098
+ chatDir: "CIDirection"
1099
+ meta: "CIMeta"
1100
+ content: "CIContent"
1101
+ mentions: dict[str, "CIMention"]
1102
+ formattedText: NotRequired[list["FormattedText"]]
1103
+ quotedItem: NotRequired["CIQuote"]
1104
+ reactions: list["CIReactionCount"]
1105
+ file: NotRequired["CIFile"]
1106
+
1107
+ # Message deletion result.
1108
+
1109
+ class ChatItemDeletion(TypedDict):
1110
+ deletedChatItem: "AChatItem"
1111
+ toChatItem: NotRequired["AChatItem"]
1112
+
1113
+ class ChatListQuery_filters(TypedDict):
1114
+ type: Literal["filters"]
1115
+ favorite: bool
1116
+ unread: bool
1117
+
1118
+ class ChatListQuery_search(TypedDict):
1119
+ type: Literal["search"]
1120
+ search: str
1121
+
1122
+ ChatListQuery = ChatListQuery_filters | ChatListQuery_search
1123
+
1124
+ ChatListQuery_Tag = Literal["filters", "search"]
1125
+
1126
+ ChatPeerType = Literal["human", "bot"]
1127
+
1128
+ # Used in API commands. Chat scope can only be passed with groups.
1129
+
1130
+ class ChatRef(TypedDict):
1131
+ chatType: "ChatType"
1132
+ chatId: int # int64
1133
+ chatScope: NotRequired["GroupChatScope"]
1134
+
1135
+
1136
+ def ChatRef_cmd_string(self: ChatRef) -> str:
1137
+ return ChatType_cmd_string(self['chatType']) + str(self['chatId']) + ((GroupChatScope_cmd_string(self.get('chatScope'))) if self.get('chatScope') is not None else '')
1138
+
1139
+ class ChatSettings(TypedDict):
1140
+ enableNtfs: "MsgFilter"
1141
+ sendRcpts: NotRequired[bool]
1142
+ favorite: bool
1143
+
1144
+ class ChatStats(TypedDict):
1145
+ unreadCount: int # int
1146
+ unreadMentions: int # int
1147
+ reportsCount: int # int
1148
+ minUnreadItemId: int # int64
1149
+ unreadChat: bool
1150
+
1151
+ ChatType = Literal["direct", "group", "local"]
1152
+
1153
+
1154
+ def ChatType_cmd_string(self: ChatType) -> str:
1155
+ return '@' if str(self) == 'direct' else '#' if str(self) == 'group' else '*' if str(self) == 'local' else ''
1156
+
1157
+ class ChatWallpaper(TypedDict):
1158
+ preset: NotRequired[str]
1159
+ imageFile: NotRequired[str]
1160
+ background: NotRequired[str]
1161
+ tint: NotRequired[str]
1162
+ scaleType: NotRequired["ChatWallpaperScale"]
1163
+ scale: NotRequired[float] # double
1164
+
1165
+ ChatWallpaperScale = Literal["fill", "fit", "repeat"]
1166
+
1167
+ class ClientNotice(TypedDict):
1168
+ ttl: NotRequired[int] # int64
1169
+
1170
+ Color = Literal["black", "red", "green", "yellow", "blue", "magenta", "cyan", "white"]
1171
+
1172
+ class CommandError_UNKNOWN(TypedDict):
1173
+ type: Literal["UNKNOWN"]
1174
+
1175
+ class CommandError_SYNTAX(TypedDict):
1176
+ type: Literal["SYNTAX"]
1177
+
1178
+ class CommandError_PROHIBITED(TypedDict):
1179
+ type: Literal["PROHIBITED"]
1180
+
1181
+ class CommandError_NO_AUTH(TypedDict):
1182
+ type: Literal["NO_AUTH"]
1183
+
1184
+ class CommandError_HAS_AUTH(TypedDict):
1185
+ type: Literal["HAS_AUTH"]
1186
+
1187
+ class CommandError_NO_ENTITY(TypedDict):
1188
+ type: Literal["NO_ENTITY"]
1189
+
1190
+ CommandError = (
1191
+ CommandError_UNKNOWN
1192
+ | CommandError_SYNTAX
1193
+ | CommandError_PROHIBITED
1194
+ | CommandError_NO_AUTH
1195
+ | CommandError_HAS_AUTH
1196
+ | CommandError_NO_ENTITY
1197
+ )
1198
+
1199
+ CommandError_Tag = Literal["UNKNOWN", "SYNTAX", "PROHIBITED", "NO_AUTH", "HAS_AUTH", "NO_ENTITY"]
1200
+
1201
+ class CommandErrorType_PROHIBITED(TypedDict):
1202
+ type: Literal["PROHIBITED"]
1203
+
1204
+ class CommandErrorType_SYNTAX(TypedDict):
1205
+ type: Literal["SYNTAX"]
1206
+
1207
+ class CommandErrorType_NO_CONN(TypedDict):
1208
+ type: Literal["NO_CONN"]
1209
+
1210
+ class CommandErrorType_SIZE(TypedDict):
1211
+ type: Literal["SIZE"]
1212
+
1213
+ class CommandErrorType_LARGE(TypedDict):
1214
+ type: Literal["LARGE"]
1215
+
1216
+ CommandErrorType = (
1217
+ CommandErrorType_PROHIBITED
1218
+ | CommandErrorType_SYNTAX
1219
+ | CommandErrorType_NO_CONN
1220
+ | CommandErrorType_SIZE
1221
+ | CommandErrorType_LARGE
1222
+ )
1223
+
1224
+ CommandErrorType_Tag = Literal["PROHIBITED", "SYNTAX", "NO_CONN", "SIZE", "LARGE"]
1225
+
1226
+ class CommentsGroupPreference(TypedDict):
1227
+ enable: "GroupFeatureEnabled"
1228
+ duration: NotRequired[int] # int
1229
+
1230
+ class ComposedMessage(TypedDict):
1231
+ fileSource: NotRequired["CryptoFile"]
1232
+ quotedItemId: NotRequired[int] # int64
1233
+ msgContent: "MsgContent"
1234
+ mentions: dict[str, int] # str : int64
1235
+
1236
+ class ConnStatus_new(TypedDict):
1237
+ type: Literal["new"]
1238
+
1239
+ class ConnStatus_prepared(TypedDict):
1240
+ type: Literal["prepared"]
1241
+
1242
+ class ConnStatus_joined(TypedDict):
1243
+ type: Literal["joined"]
1244
+
1245
+ class ConnStatus_requested(TypedDict):
1246
+ type: Literal["requested"]
1247
+
1248
+ class ConnStatus_accepted(TypedDict):
1249
+ type: Literal["accepted"]
1250
+
1251
+ class ConnStatus_sndReady(TypedDict):
1252
+ type: Literal["sndReady"]
1253
+
1254
+ class ConnStatus_ready(TypedDict):
1255
+ type: Literal["ready"]
1256
+
1257
+ class ConnStatus_deleted(TypedDict):
1258
+ type: Literal["deleted"]
1259
+
1260
+ class ConnStatus_failed(TypedDict):
1261
+ type: Literal["failed"]
1262
+ connError: str
1263
+
1264
+ ConnStatus = (
1265
+ ConnStatus_new
1266
+ | ConnStatus_prepared
1267
+ | ConnStatus_joined
1268
+ | ConnStatus_requested
1269
+ | ConnStatus_accepted
1270
+ | ConnStatus_sndReady
1271
+ | ConnStatus_ready
1272
+ | ConnStatus_deleted
1273
+ | ConnStatus_failed
1274
+ )
1275
+
1276
+ ConnStatus_Tag = Literal["new", "prepared", "joined", "requested", "accepted", "sndReady", "ready", "deleted", "failed"]
1277
+
1278
+ ConnType = Literal["contact", "member", "user_contact"]
1279
+
1280
+ class Connection(TypedDict):
1281
+ connId: int # int64
1282
+ agentConnId: str
1283
+ connChatVersion: int # int
1284
+ peerChatVRange: "VersionRange"
1285
+ connLevel: int # int
1286
+ viaContact: NotRequired[int] # int64
1287
+ viaUserContactLink: NotRequired[int] # int64
1288
+ viaGroupLink: bool
1289
+ groupLinkId: NotRequired[str]
1290
+ xContactId: NotRequired[str]
1291
+ customUserProfileId: NotRequired[int] # int64
1292
+ connType: "ConnType"
1293
+ connStatus: "ConnStatus"
1294
+ contactConnInitiated: bool
1295
+ localAlias: str
1296
+ entityId: NotRequired[int] # int64
1297
+ connectionCode: NotRequired["SecurityCode"]
1298
+ pqSupport: bool
1299
+ pqEncryption: bool
1300
+ pqSndEnabled: NotRequired[bool]
1301
+ pqRcvEnabled: NotRequired[bool]
1302
+ authErrCounter: int # int
1303
+ quotaErrCounter: int # int
1304
+ createdAt: str # ISO-8601 timestamp
1305
+
1306
+ class ConnectionEntity_rcvDirectMsgConnection(TypedDict):
1307
+ type: Literal["rcvDirectMsgConnection"]
1308
+ entityConnection: "Connection"
1309
+ contact: NotRequired["Contact"]
1310
+
1311
+ class ConnectionEntity_rcvGroupMsgConnection(TypedDict):
1312
+ type: Literal["rcvGroupMsgConnection"]
1313
+ entityConnection: "Connection"
1314
+ groupInfo: "GroupInfo"
1315
+ groupMember: "GroupMember"
1316
+
1317
+ class ConnectionEntity_userContactConnection(TypedDict):
1318
+ type: Literal["userContactConnection"]
1319
+ entityConnection: "Connection"
1320
+ userContact: "UserContact"
1321
+
1322
+ ConnectionEntity = (
1323
+ ConnectionEntity_rcvDirectMsgConnection
1324
+ | ConnectionEntity_rcvGroupMsgConnection
1325
+ | ConnectionEntity_userContactConnection
1326
+ )
1327
+
1328
+ ConnectionEntity_Tag = Literal["rcvDirectMsgConnection", "rcvGroupMsgConnection", "userContactConnection"]
1329
+
1330
+ class ConnectionErrorType_NOT_FOUND(TypedDict):
1331
+ type: Literal["NOT_FOUND"]
1332
+
1333
+ class ConnectionErrorType_DUPLICATE(TypedDict):
1334
+ type: Literal["DUPLICATE"]
1335
+
1336
+ class ConnectionErrorType_SIMPLEX(TypedDict):
1337
+ type: Literal["SIMPLEX"]
1338
+
1339
+ class ConnectionErrorType_NOT_ACCEPTED(TypedDict):
1340
+ type: Literal["NOT_ACCEPTED"]
1341
+
1342
+ class ConnectionErrorType_NOT_AVAILABLE(TypedDict):
1343
+ type: Literal["NOT_AVAILABLE"]
1344
+
1345
+ ConnectionErrorType = (
1346
+ ConnectionErrorType_NOT_FOUND
1347
+ | ConnectionErrorType_DUPLICATE
1348
+ | ConnectionErrorType_SIMPLEX
1349
+ | ConnectionErrorType_NOT_ACCEPTED
1350
+ | ConnectionErrorType_NOT_AVAILABLE
1351
+ )
1352
+
1353
+ ConnectionErrorType_Tag = Literal["NOT_FOUND", "DUPLICATE", "SIMPLEX", "NOT_ACCEPTED", "NOT_AVAILABLE"]
1354
+
1355
+ ConnectionMode = Literal["INV", "CON"]
1356
+
1357
+ class ConnectionPlan_invitationLink(TypedDict):
1358
+ type: Literal["invitationLink"]
1359
+ invitationLinkPlan: "InvitationLinkPlan"
1360
+
1361
+ class ConnectionPlan_contactAddress(TypedDict):
1362
+ type: Literal["contactAddress"]
1363
+ contactAddressPlan: "ContactAddressPlan"
1364
+
1365
+ class ConnectionPlan_groupLink(TypedDict):
1366
+ type: Literal["groupLink"]
1367
+ groupLinkPlan: "GroupLinkPlan"
1368
+
1369
+ class ConnectionPlan_error(TypedDict):
1370
+ type: Literal["error"]
1371
+ chatError: "ChatError"
1372
+
1373
+ ConnectionPlan = (
1374
+ ConnectionPlan_invitationLink
1375
+ | ConnectionPlan_contactAddress
1376
+ | ConnectionPlan_groupLink
1377
+ | ConnectionPlan_error
1378
+ )
1379
+
1380
+ ConnectionPlan_Tag = Literal["invitationLink", "contactAddress", "groupLink", "error"]
1381
+
1382
+ class Contact(TypedDict):
1383
+ contactId: int # int64
1384
+ localDisplayName: str
1385
+ profile: "LocalProfile"
1386
+ activeConn: NotRequired["Connection"]
1387
+ contactUsed: bool
1388
+ contactStatus: "ContactStatus"
1389
+ chatSettings: "ChatSettings"
1390
+ userPreferences: "Preferences"
1391
+ mergedPreferences: "ContactUserPreferences"
1392
+ createdAt: str # ISO-8601 timestamp
1393
+ updatedAt: str # ISO-8601 timestamp
1394
+ chatTs: NotRequired[str] # ISO-8601 timestamp
1395
+ preparedContact: NotRequired["PreparedContact"]
1396
+ contactRequestId: NotRequired[int] # int64
1397
+ contactGroupMemberId: NotRequired[int] # int64
1398
+ contactGrpInvSent: bool
1399
+ groupDirectInv: NotRequired["GroupDirectInvitation"]
1400
+ chatTags: list[int] # int64
1401
+ chatItemTTL: NotRequired[int] # int64
1402
+ uiThemes: NotRequired["UIThemeEntityOverrides"]
1403
+ chatDeleted: bool
1404
+ customData: NotRequired[dict[str, object]]
1405
+
1406
+ class ContactAddressPlan_ok(TypedDict):
1407
+ type: Literal["ok"]
1408
+ contactSLinkData_: NotRequired["ContactShortLinkData"]
1409
+ ownerVerification: NotRequired["OwnerVerification"]
1410
+
1411
+ class ContactAddressPlan_ownLink(TypedDict):
1412
+ type: Literal["ownLink"]
1413
+
1414
+ class ContactAddressPlan_connectingConfirmReconnect(TypedDict):
1415
+ type: Literal["connectingConfirmReconnect"]
1416
+
1417
+ class ContactAddressPlan_connectingProhibit(TypedDict):
1418
+ type: Literal["connectingProhibit"]
1419
+ contact: "Contact"
1420
+
1421
+ class ContactAddressPlan_known(TypedDict):
1422
+ type: Literal["known"]
1423
+ contact: "Contact"
1424
+
1425
+ class ContactAddressPlan_contactViaAddress(TypedDict):
1426
+ type: Literal["contactViaAddress"]
1427
+ contact: "Contact"
1428
+
1429
+ ContactAddressPlan = (
1430
+ ContactAddressPlan_ok
1431
+ | ContactAddressPlan_ownLink
1432
+ | ContactAddressPlan_connectingConfirmReconnect
1433
+ | ContactAddressPlan_connectingProhibit
1434
+ | ContactAddressPlan_known
1435
+ | ContactAddressPlan_contactViaAddress
1436
+ )
1437
+
1438
+ ContactAddressPlan_Tag = Literal["ok", "ownLink", "connectingConfirmReconnect", "connectingProhibit", "known", "contactViaAddress"]
1439
+
1440
+ class ContactShortLinkData(TypedDict):
1441
+ profile: "Profile"
1442
+ message: NotRequired["MsgContent"]
1443
+ business: bool
1444
+
1445
+ ContactStatus = Literal["active", "deleted", "deletedByUser"]
1446
+
1447
+ class ContactUserPref_contact(TypedDict):
1448
+ type: Literal["contact"]
1449
+ preference: "SimplePreference"
1450
+
1451
+ class ContactUserPref_user(TypedDict):
1452
+ type: Literal["user"]
1453
+ preference: "SimplePreference"
1454
+
1455
+ ContactUserPref = ContactUserPref_contact | ContactUserPref_user
1456
+
1457
+ ContactUserPref_Tag = Literal["contact", "user"]
1458
+
1459
+ class ContactUserPreference(TypedDict):
1460
+ enabled: "PrefEnabled"
1461
+ userPreference: "ContactUserPref"
1462
+ contactPreference: "SimplePreference"
1463
+
1464
+ class ContactUserPreferences(TypedDict):
1465
+ timedMessages: "ContactUserPreference"
1466
+ fullDelete: "ContactUserPreference"
1467
+ reactions: "ContactUserPreference"
1468
+ voice: "ContactUserPreference"
1469
+ files: "ContactUserPreference"
1470
+ calls: "ContactUserPreference"
1471
+ sessions: "ContactUserPreference"
1472
+ commands: NotRequired[list["ChatBotCommand"]]
1473
+
1474
+ class CreatedConnLink(TypedDict):
1475
+ connFullLink: str
1476
+ connShortLink: NotRequired[str]
1477
+
1478
+
1479
+ def CreatedConnLink_cmd_string(self: CreatedConnLink) -> str:
1480
+ return self['connFullLink'] + ((' ' + self.get('connShortLink')) if self.get('connShortLink') is not None else '')
1481
+
1482
+ class CryptoFile(TypedDict):
1483
+ filePath: str
1484
+ cryptoArgs: NotRequired["CryptoFileArgs"]
1485
+
1486
+ class CryptoFileArgs(TypedDict):
1487
+ fileKey: str
1488
+ fileNonce: str
1489
+
1490
+ class DroppedMsg(TypedDict):
1491
+ brokerTs: str # ISO-8601 timestamp
1492
+ attempts: int # int
1493
+
1494
+ class E2EInfo(TypedDict):
1495
+ public: NotRequired[bool]
1496
+ pqEnabled: NotRequired[bool]
1497
+
1498
+ class ErrorType_BLOCK(TypedDict):
1499
+ type: Literal["BLOCK"]
1500
+
1501
+ class ErrorType_SESSION(TypedDict):
1502
+ type: Literal["SESSION"]
1503
+
1504
+ class ErrorType_CMD(TypedDict):
1505
+ type: Literal["CMD"]
1506
+ cmdErr: "CommandError"
1507
+
1508
+ class ErrorType_PROXY(TypedDict):
1509
+ type: Literal["PROXY"]
1510
+ proxyErr: "ProxyError"
1511
+
1512
+ class ErrorType_AUTH(TypedDict):
1513
+ type: Literal["AUTH"]
1514
+
1515
+ class ErrorType_BLOCKED(TypedDict):
1516
+ type: Literal["BLOCKED"]
1517
+ blockInfo: "BlockingInfo"
1518
+
1519
+ class ErrorType_SERVICE(TypedDict):
1520
+ type: Literal["SERVICE"]
1521
+
1522
+ class ErrorType_CRYPTO(TypedDict):
1523
+ type: Literal["CRYPTO"]
1524
+
1525
+ class ErrorType_QUOTA(TypedDict):
1526
+ type: Literal["QUOTA"]
1527
+
1528
+ class ErrorType_STORE(TypedDict):
1529
+ type: Literal["STORE"]
1530
+ storeErr: str
1531
+
1532
+ class ErrorType_NO_MSG(TypedDict):
1533
+ type: Literal["NO_MSG"]
1534
+
1535
+ class ErrorType_LARGE_MSG(TypedDict):
1536
+ type: Literal["LARGE_MSG"]
1537
+
1538
+ class ErrorType_EXPIRED(TypedDict):
1539
+ type: Literal["EXPIRED"]
1540
+
1541
+ class ErrorType_INTERNAL(TypedDict):
1542
+ type: Literal["INTERNAL"]
1543
+
1544
+ class ErrorType_DUPLICATE_(TypedDict):
1545
+ type: Literal["DUPLICATE_"]
1546
+
1547
+ ErrorType = (
1548
+ ErrorType_BLOCK
1549
+ | ErrorType_SESSION
1550
+ | ErrorType_CMD
1551
+ | ErrorType_PROXY
1552
+ | ErrorType_AUTH
1553
+ | ErrorType_BLOCKED
1554
+ | ErrorType_SERVICE
1555
+ | ErrorType_CRYPTO
1556
+ | ErrorType_QUOTA
1557
+ | ErrorType_STORE
1558
+ | ErrorType_NO_MSG
1559
+ | ErrorType_LARGE_MSG
1560
+ | ErrorType_EXPIRED
1561
+ | ErrorType_INTERNAL
1562
+ | ErrorType_DUPLICATE_
1563
+ )
1564
+
1565
+ ErrorType_Tag = Literal["BLOCK", "SESSION", "CMD", "PROXY", "AUTH", "BLOCKED", "SERVICE", "CRYPTO", "QUOTA", "STORE", "NO_MSG", "LARGE_MSG", "EXPIRED", "INTERNAL", "DUPLICATE_"]
1566
+
1567
+ FeatureAllowed = Literal["always", "yes", "no"]
1568
+
1569
+ class FileDescr(TypedDict):
1570
+ fileDescrText: str
1571
+ fileDescrPartNo: int # int
1572
+ fileDescrComplete: bool
1573
+
1574
+ class FileError_auth(TypedDict):
1575
+ type: Literal["auth"]
1576
+
1577
+ class FileError_blocked(TypedDict):
1578
+ type: Literal["blocked"]
1579
+ server: str
1580
+ blockInfo: "BlockingInfo"
1581
+
1582
+ class FileError_noFile(TypedDict):
1583
+ type: Literal["noFile"]
1584
+
1585
+ class FileError_relay(TypedDict):
1586
+ type: Literal["relay"]
1587
+ srvError: "SrvError"
1588
+
1589
+ class FileError_other(TypedDict):
1590
+ type: Literal["other"]
1591
+ fileError: str
1592
+
1593
+ FileError = (
1594
+ FileError_auth
1595
+ | FileError_blocked
1596
+ | FileError_noFile
1597
+ | FileError_relay
1598
+ | FileError_other
1599
+ )
1600
+
1601
+ FileError_Tag = Literal["auth", "blocked", "noFile", "relay", "other"]
1602
+
1603
+ class FileErrorType_NOT_APPROVED(TypedDict):
1604
+ type: Literal["NOT_APPROVED"]
1605
+
1606
+ class FileErrorType_SIZE(TypedDict):
1607
+ type: Literal["SIZE"]
1608
+
1609
+ class FileErrorType_REDIRECT(TypedDict):
1610
+ type: Literal["REDIRECT"]
1611
+ redirectError: str
1612
+
1613
+ class FileErrorType_FILE_IO(TypedDict):
1614
+ type: Literal["FILE_IO"]
1615
+ fileIOError: str
1616
+
1617
+ class FileErrorType_NO_FILE(TypedDict):
1618
+ type: Literal["NO_FILE"]
1619
+
1620
+ FileErrorType = (
1621
+ FileErrorType_NOT_APPROVED
1622
+ | FileErrorType_SIZE
1623
+ | FileErrorType_REDIRECT
1624
+ | FileErrorType_FILE_IO
1625
+ | FileErrorType_NO_FILE
1626
+ )
1627
+
1628
+ FileErrorType_Tag = Literal["NOT_APPROVED", "SIZE", "REDIRECT", "FILE_IO", "NO_FILE"]
1629
+
1630
+ class FileInvitation(TypedDict):
1631
+ fileName: str
1632
+ fileSize: int # int64
1633
+ fileDigest: NotRequired[str]
1634
+ fileConnReq: NotRequired[str]
1635
+ fileInline: NotRequired["InlineFileMode"]
1636
+ fileDescr: NotRequired["FileDescr"]
1637
+
1638
+ FileProtocol = Literal["SMP", "XFTP", "LOCAL"]
1639
+
1640
+ FileStatus = Literal["new", "accepted", "connected", "complete", "cancelled"]
1641
+
1642
+ class FileTransferMeta(TypedDict):
1643
+ fileId: int # int64
1644
+ xftpSndFile: NotRequired["XFTPSndFile"]
1645
+ xftpRedirectFor: NotRequired[int] # int64
1646
+ fileName: str
1647
+ filePath: str
1648
+ fileSize: int # int64
1649
+ fileInline: NotRequired["InlineFileMode"]
1650
+ chunkSize: int # int64
1651
+ cancelled: bool
1652
+
1653
+ class Format_bold(TypedDict):
1654
+ type: Literal["bold"]
1655
+
1656
+ class Format_italic(TypedDict):
1657
+ type: Literal["italic"]
1658
+
1659
+ class Format_strikeThrough(TypedDict):
1660
+ type: Literal["strikeThrough"]
1661
+
1662
+ class Format_snippet(TypedDict):
1663
+ type: Literal["snippet"]
1664
+
1665
+ class Format_secret(TypedDict):
1666
+ type: Literal["secret"]
1667
+
1668
+ class Format_small(TypedDict):
1669
+ type: Literal["small"]
1670
+
1671
+ class Format_colored(TypedDict):
1672
+ type: Literal["colored"]
1673
+ color: "Color"
1674
+
1675
+ class Format_uri(TypedDict):
1676
+ type: Literal["uri"]
1677
+
1678
+ class Format_hyperLink(TypedDict):
1679
+ type: Literal["hyperLink"]
1680
+ showText: NotRequired[str]
1681
+ linkUri: str
1682
+
1683
+ class Format_simplexLink(TypedDict):
1684
+ type: Literal["simplexLink"]
1685
+ showText: NotRequired[str]
1686
+ linkType: "SimplexLinkType"
1687
+ simplexUri: str
1688
+ smpHosts: list[str] # non-empty
1689
+
1690
+ class Format_command(TypedDict):
1691
+ type: Literal["command"]
1692
+ commandStr: str
1693
+
1694
+ class Format_mention(TypedDict):
1695
+ type: Literal["mention"]
1696
+ memberName: str
1697
+
1698
+ class Format_email(TypedDict):
1699
+ type: Literal["email"]
1700
+
1701
+ class Format_phone(TypedDict):
1702
+ type: Literal["phone"]
1703
+
1704
+ Format = (
1705
+ Format_bold
1706
+ | Format_italic
1707
+ | Format_strikeThrough
1708
+ | Format_snippet
1709
+ | Format_secret
1710
+ | Format_small
1711
+ | Format_colored
1712
+ | Format_uri
1713
+ | Format_hyperLink
1714
+ | Format_simplexLink
1715
+ | Format_command
1716
+ | Format_mention
1717
+ | Format_email
1718
+ | Format_phone
1719
+ )
1720
+
1721
+ Format_Tag = Literal["bold", "italic", "strikeThrough", "snippet", "secret", "small", "colored", "uri", "hyperLink", "simplexLink", "command", "mention", "email", "phone"]
1722
+
1723
+ class FormattedText(TypedDict):
1724
+ format: NotRequired["Format"]
1725
+ text: str
1726
+
1727
+ class FullGroupPreferences(TypedDict):
1728
+ timedMessages: "TimedMessagesGroupPreference"
1729
+ directMessages: "RoleGroupPreference"
1730
+ fullDelete: "GroupPreference"
1731
+ reactions: "GroupPreference"
1732
+ voice: "RoleGroupPreference"
1733
+ files: "RoleGroupPreference"
1734
+ simplexLinks: "RoleGroupPreference"
1735
+ reports: "GroupPreference"
1736
+ history: "GroupPreference"
1737
+ support: "SupportGroupPreference"
1738
+ sessions: "RoleGroupPreference"
1739
+ comments: "CommentsGroupPreference"
1740
+ commands: list["ChatBotCommand"]
1741
+
1742
+ class FullPreferences(TypedDict):
1743
+ timedMessages: "TimedMessagesPreference"
1744
+ fullDelete: "SimplePreference"
1745
+ reactions: "SimplePreference"
1746
+ voice: "SimplePreference"
1747
+ files: "SimplePreference"
1748
+ calls: "SimplePreference"
1749
+ sessions: "SimplePreference"
1750
+ commands: list["ChatBotCommand"]
1751
+
1752
+ class Group(TypedDict):
1753
+ groupInfo: "GroupInfo"
1754
+ members: list["GroupMember"]
1755
+
1756
+ class GroupChatScope_memberSupport(TypedDict):
1757
+ type: Literal["memberSupport"]
1758
+ groupMemberId_: NotRequired[int] # int64
1759
+
1760
+ GroupChatScope = GroupChatScope_memberSupport
1761
+
1762
+ GroupChatScope_Tag = Literal["memberSupport"]
1763
+
1764
+
1765
+ def GroupChatScope_cmd_string(self: GroupChatScope) -> str:
1766
+ return '(_support' + ((':' + str(self.get('groupMemberId_'))) if self.get('groupMemberId_') is not None else '') + ')' # type: ignore[typeddict-item]
1767
+
1768
+ class GroupChatScopeInfo_memberSupport(TypedDict):
1769
+ type: Literal["memberSupport"]
1770
+ groupMember_: NotRequired["GroupMember"]
1771
+
1772
+ GroupChatScopeInfo = GroupChatScopeInfo_memberSupport
1773
+
1774
+ GroupChatScopeInfo_Tag = Literal["memberSupport"]
1775
+
1776
+ class GroupDirectInvitation(TypedDict):
1777
+ groupDirectInvLink: str
1778
+ fromGroupId_: NotRequired[int] # int64
1779
+ fromGroupMemberId_: NotRequired[int] # int64
1780
+ fromGroupMemberConnId_: NotRequired[int] # int64
1781
+ groupDirectInvStartedConnection: bool
1782
+
1783
+ GroupFeature = Literal["timedMessages", "directMessages", "fullDelete", "reactions", "voice", "files", "simplexLinks", "reports", "history", "support", "sessions", "comments"]
1784
+
1785
+ GroupFeatureEnabled = Literal["on", "off"]
1786
+
1787
+ class GroupInfo(TypedDict):
1788
+ groupId: int # int64
1789
+ useRelays: bool
1790
+ relayOwnStatus: NotRequired["RelayStatus"]
1791
+ localDisplayName: str
1792
+ groupProfile: "GroupProfile"
1793
+ localAlias: str
1794
+ businessChat: NotRequired["BusinessChatInfo"]
1795
+ fullGroupPreferences: "FullGroupPreferences"
1796
+ membership: "GroupMember"
1797
+ chatSettings: "ChatSettings"
1798
+ createdAt: str # ISO-8601 timestamp
1799
+ updatedAt: str # ISO-8601 timestamp
1800
+ chatTs: NotRequired[str] # ISO-8601 timestamp
1801
+ userMemberProfileSentAt: NotRequired[str] # ISO-8601 timestamp
1802
+ preparedGroup: NotRequired["PreparedGroup"]
1803
+ chatTags: list[int] # int64
1804
+ chatItemTTL: NotRequired[int] # int64
1805
+ uiThemes: NotRequired["UIThemeEntityOverrides"]
1806
+ customData: NotRequired[dict[str, object]]
1807
+ groupSummary: "GroupSummary"
1808
+ membersRequireAttention: int # int
1809
+ viaGroupLinkUri: NotRequired[str]
1810
+ groupKeys: NotRequired["GroupKeys"]
1811
+
1812
+ class GroupKeys(TypedDict):
1813
+ publicGroupId: str
1814
+ groupRootKey: "GroupRootKey"
1815
+ memberPrivKey: str
1816
+
1817
+ class GroupLink(TypedDict):
1818
+ userContactLinkId: int # int64
1819
+ connLinkContact: "CreatedConnLink"
1820
+ shortLinkDataSet: bool
1821
+ shortLinkLargeDataSet: bool
1822
+ groupLinkId: str
1823
+ acceptMemberRole: "GroupMemberRole"
1824
+
1825
+ class GroupLinkOwner(TypedDict):
1826
+ memberId: str
1827
+ memberKey: str
1828
+
1829
+ class GroupLinkPlan_ok(TypedDict):
1830
+ type: Literal["ok"]
1831
+ groupSLinkInfo_: NotRequired["GroupShortLinkInfo"]
1832
+ groupSLinkData_: NotRequired["GroupShortLinkData"]
1833
+ ownerVerification: NotRequired["OwnerVerification"]
1834
+
1835
+ class GroupLinkPlan_ownLink(TypedDict):
1836
+ type: Literal["ownLink"]
1837
+ groupInfo: "GroupInfo"
1838
+
1839
+ class GroupLinkPlan_connectingConfirmReconnect(TypedDict):
1840
+ type: Literal["connectingConfirmReconnect"]
1841
+
1842
+ class GroupLinkPlan_connectingProhibit(TypedDict):
1843
+ type: Literal["connectingProhibit"]
1844
+ groupInfo_: NotRequired["GroupInfo"]
1845
+
1846
+ class GroupLinkPlan_known(TypedDict):
1847
+ type: Literal["known"]
1848
+ groupInfo: "GroupInfo"
1849
+ groupUpdated: bool
1850
+ ownerVerification: NotRequired["OwnerVerification"]
1851
+ linkOwners: list["GroupLinkOwner"]
1852
+
1853
+ class GroupLinkPlan_noRelays(TypedDict):
1854
+ type: Literal["noRelays"]
1855
+ groupSLinkData_: NotRequired["GroupShortLinkData"]
1856
+
1857
+ GroupLinkPlan = (
1858
+ GroupLinkPlan_ok
1859
+ | GroupLinkPlan_ownLink
1860
+ | GroupLinkPlan_connectingConfirmReconnect
1861
+ | GroupLinkPlan_connectingProhibit
1862
+ | GroupLinkPlan_known
1863
+ | GroupLinkPlan_noRelays
1864
+ )
1865
+
1866
+ GroupLinkPlan_Tag = Literal["ok", "ownLink", "connectingConfirmReconnect", "connectingProhibit", "known", "noRelays"]
1867
+
1868
+ class GroupMember(TypedDict):
1869
+ groupMemberId: int # int64
1870
+ groupId: int # int64
1871
+ indexInGroup: int # int64
1872
+ memberId: str
1873
+ memberRole: "GroupMemberRole"
1874
+ memberCategory: "GroupMemberCategory"
1875
+ memberStatus: "GroupMemberStatus"
1876
+ memberSettings: "GroupMemberSettings"
1877
+ blockedByAdmin: bool
1878
+ invitedBy: "InvitedBy"
1879
+ invitedByGroupMemberId: NotRequired[int] # int64
1880
+ localDisplayName: str
1881
+ memberProfile: "LocalProfile"
1882
+ memberContactId: NotRequired[int] # int64
1883
+ memberContactProfileId: int # int64
1884
+ activeConn: NotRequired["Connection"]
1885
+ memberChatVRange: "VersionRange"
1886
+ createdAt: str # ISO-8601 timestamp
1887
+ updatedAt: str # ISO-8601 timestamp
1888
+ supportChat: NotRequired["GroupSupportChat"]
1889
+ memberPubKey: NotRequired[str]
1890
+ relayLink: NotRequired[str]
1891
+
1892
+ class GroupMemberAdmission(TypedDict):
1893
+ review: NotRequired["MemberCriteria"]
1894
+
1895
+ GroupMemberCategory = Literal["user", "invitee", "host", "pre", "post"]
1896
+
1897
+ class GroupMemberRef(TypedDict):
1898
+ groupMemberId: int # int64
1899
+ profile: "Profile"
1900
+
1901
+ GroupMemberRole = Literal["relay", "observer", "author", "member", "moderator", "admin", "owner"]
1902
+
1903
+ class GroupMemberSettings(TypedDict):
1904
+ showMessages: bool
1905
+
1906
+ GroupMemberStatus = Literal["rejected", "removed", "left", "deleted", "unknown", "invited", "pending_approval", "pending_review", "introduced", "intro-inv", "accepted", "announced", "connected", "complete", "creator"]
1907
+
1908
+ class GroupPreference(TypedDict):
1909
+ enable: "GroupFeatureEnabled"
1910
+
1911
+ class GroupPreferences(TypedDict):
1912
+ timedMessages: NotRequired["TimedMessagesGroupPreference"]
1913
+ directMessages: NotRequired["RoleGroupPreference"]
1914
+ fullDelete: NotRequired["GroupPreference"]
1915
+ reactions: NotRequired["GroupPreference"]
1916
+ voice: NotRequired["RoleGroupPreference"]
1917
+ files: NotRequired["RoleGroupPreference"]
1918
+ simplexLinks: NotRequired["RoleGroupPreference"]
1919
+ reports: NotRequired["GroupPreference"]
1920
+ history: NotRequired["GroupPreference"]
1921
+ support: NotRequired["SupportGroupPreference"]
1922
+ sessions: NotRequired["RoleGroupPreference"]
1923
+ comments: NotRequired["CommentsGroupPreference"]
1924
+ commands: NotRequired[list["ChatBotCommand"]]
1925
+
1926
+ class GroupProfile(TypedDict):
1927
+ displayName: str
1928
+ fullName: str
1929
+ shortDescr: NotRequired[str]
1930
+ description: NotRequired[str]
1931
+ image: NotRequired[str]
1932
+ publicGroup: NotRequired["PublicGroupProfile"]
1933
+ groupPreferences: NotRequired["GroupPreferences"]
1934
+ memberAdmission: NotRequired["GroupMemberAdmission"]
1935
+
1936
+ class GroupRelay(TypedDict):
1937
+ groupRelayId: int # int64
1938
+ groupMemberId: int # int64
1939
+ userChatRelay: "UserChatRelay"
1940
+ relayStatus: "RelayStatus"
1941
+ relayLink: NotRequired[str]
1942
+
1943
+ class GroupRootKey_private(TypedDict):
1944
+ type: Literal["private"]
1945
+ rootPrivKey: str
1946
+
1947
+ class GroupRootKey_public(TypedDict):
1948
+ type: Literal["public"]
1949
+ rootPubKey: str
1950
+
1951
+ GroupRootKey = GroupRootKey_private | GroupRootKey_public
1952
+
1953
+ GroupRootKey_Tag = Literal["private", "public"]
1954
+
1955
+ class GroupShortLinkData(TypedDict):
1956
+ groupProfile: "GroupProfile"
1957
+ publicGroupData: NotRequired["PublicGroupData"]
1958
+
1959
+ class GroupShortLinkInfo(TypedDict):
1960
+ direct: bool
1961
+ groupRelays: list[str]
1962
+ publicGroupId: NotRequired[str]
1963
+
1964
+ class GroupSummary(TypedDict):
1965
+ currentMembers: int # int64
1966
+ publicMemberCount: NotRequired[int] # int64
1967
+
1968
+ class GroupSupportChat(TypedDict):
1969
+ chatTs: str # ISO-8601 timestamp
1970
+ unread: int # int64
1971
+ memberAttention: int # int64
1972
+ mentions: int # int64
1973
+ lastMsgFromMemberTs: NotRequired[str] # ISO-8601 timestamp
1974
+
1975
+ GroupType = Literal["channel", "group"]
1976
+
1977
+ HandshakeError = Literal["PARSE", "IDENTITY", "BAD_AUTH", "BAD_SERVICE"]
1978
+
1979
+ InlineFileMode = Literal["offer", "sent"]
1980
+
1981
+ class InvitationLinkPlan_ok(TypedDict):
1982
+ type: Literal["ok"]
1983
+ contactSLinkData_: NotRequired["ContactShortLinkData"]
1984
+ ownerVerification: NotRequired["OwnerVerification"]
1985
+
1986
+ class InvitationLinkPlan_ownLink(TypedDict):
1987
+ type: Literal["ownLink"]
1988
+
1989
+ class InvitationLinkPlan_connecting(TypedDict):
1990
+ type: Literal["connecting"]
1991
+ contact_: NotRequired["Contact"]
1992
+
1993
+ class InvitationLinkPlan_known(TypedDict):
1994
+ type: Literal["known"]
1995
+ contact: "Contact"
1996
+
1997
+ InvitationLinkPlan = (
1998
+ InvitationLinkPlan_ok
1999
+ | InvitationLinkPlan_ownLink
2000
+ | InvitationLinkPlan_connecting
2001
+ | InvitationLinkPlan_known
2002
+ )
2003
+
2004
+ InvitationLinkPlan_Tag = Literal["ok", "ownLink", "connecting", "known"]
2005
+
2006
+ class InvitedBy_contact(TypedDict):
2007
+ type: Literal["contact"]
2008
+ byContactId: int # int64
2009
+
2010
+ class InvitedBy_user(TypedDict):
2011
+ type: Literal["user"]
2012
+
2013
+ class InvitedBy_unknown(TypedDict):
2014
+ type: Literal["unknown"]
2015
+
2016
+ InvitedBy = InvitedBy_contact | InvitedBy_user | InvitedBy_unknown
2017
+
2018
+ InvitedBy_Tag = Literal["contact", "user", "unknown"]
2019
+
2020
+ class LinkContent_page(TypedDict):
2021
+ type: Literal["page"]
2022
+
2023
+ class LinkContent_image(TypedDict):
2024
+ type: Literal["image"]
2025
+
2026
+ class LinkContent_video(TypedDict):
2027
+ type: Literal["video"]
2028
+ duration: NotRequired[int] # int
2029
+
2030
+ class LinkContent_unknown(TypedDict):
2031
+ type: Literal["unknown"]
2032
+ tag: str
2033
+ json: dict[str, object]
2034
+
2035
+ LinkContent = LinkContent_page | LinkContent_image | LinkContent_video | LinkContent_unknown
2036
+
2037
+ LinkContent_Tag = Literal["page", "image", "video", "unknown"]
2038
+
2039
+ class LinkOwnerSig(TypedDict):
2040
+ ownerId: NotRequired[str]
2041
+ chatBinding: str
2042
+ ownerSig: str
2043
+
2044
+ class LinkPreview(TypedDict):
2045
+ uri: str
2046
+ title: str
2047
+ description: str
2048
+ image: str
2049
+ content: NotRequired["LinkContent"]
2050
+
2051
+ class LocalProfile(TypedDict):
2052
+ profileId: int # int64
2053
+ displayName: str
2054
+ fullName: str
2055
+ shortDescr: NotRequired[str]
2056
+ image: NotRequired[str]
2057
+ contactLink: NotRequired[str]
2058
+ preferences: NotRequired["Preferences"]
2059
+ peerType: NotRequired["ChatPeerType"]
2060
+ localAlias: str
2061
+
2062
+ MemberCriteria = Literal["all"]
2063
+
2064
+ # Connection link sent in a message - only short links are allowed.
2065
+
2066
+ class MsgChatLink_contact(TypedDict):
2067
+ type: Literal["contact"]
2068
+ connLink: str
2069
+ profile: "Profile"
2070
+ business: bool
2071
+
2072
+ class MsgChatLink_invitation(TypedDict):
2073
+ type: Literal["invitation"]
2074
+ invLink: str
2075
+ profile: "Profile"
2076
+
2077
+ class MsgChatLink_group(TypedDict):
2078
+ type: Literal["group"]
2079
+ connLink: str
2080
+ groupProfile: "GroupProfile"
2081
+
2082
+ MsgChatLink = MsgChatLink_contact | MsgChatLink_invitation | MsgChatLink_group
2083
+
2084
+ MsgChatLink_Tag = Literal["contact", "invitation", "group"]
2085
+
2086
+ class MsgContent_text(TypedDict):
2087
+ type: Literal["text"]
2088
+ text: str
2089
+
2090
+ class MsgContent_link(TypedDict):
2091
+ type: Literal["link"]
2092
+ text: str
2093
+ preview: "LinkPreview"
2094
+
2095
+ class MsgContent_image(TypedDict):
2096
+ type: Literal["image"]
2097
+ text: str
2098
+ image: str
2099
+
2100
+ class MsgContent_video(TypedDict):
2101
+ type: Literal["video"]
2102
+ text: str
2103
+ image: str
2104
+ duration: int # int
2105
+
2106
+ class MsgContent_voice(TypedDict):
2107
+ type: Literal["voice"]
2108
+ text: str
2109
+ duration: int # int
2110
+
2111
+ class MsgContent_file(TypedDict):
2112
+ type: Literal["file"]
2113
+ text: str
2114
+
2115
+ class MsgContent_report(TypedDict):
2116
+ type: Literal["report"]
2117
+ text: str
2118
+ reason: "ReportReason"
2119
+
2120
+ class MsgContent_chat(TypedDict):
2121
+ type: Literal["chat"]
2122
+ text: str
2123
+ chatLink: "MsgChatLink"
2124
+ ownerSig: NotRequired["LinkOwnerSig"]
2125
+
2126
+ class MsgContent_unknown(TypedDict):
2127
+ type: Literal["unknown"]
2128
+ tag: str
2129
+ text: str
2130
+ json: dict[str, object]
2131
+
2132
+ MsgContent = (
2133
+ MsgContent_text
2134
+ | MsgContent_link
2135
+ | MsgContent_image
2136
+ | MsgContent_video
2137
+ | MsgContent_voice
2138
+ | MsgContent_file
2139
+ | MsgContent_report
2140
+ | MsgContent_chat
2141
+ | MsgContent_unknown
2142
+ )
2143
+
2144
+ MsgContent_Tag = Literal["text", "link", "image", "video", "voice", "file", "report", "chat", "unknown"]
2145
+
2146
+ MsgDecryptError = Literal["ratchetHeader", "tooManySkipped", "ratchetEarlier", "other", "ratchetSync"]
2147
+
2148
+ MsgDirection = Literal["rcv", "snd"]
2149
+
2150
+ class MsgErrorType_msgSkipped(TypedDict):
2151
+ type: Literal["msgSkipped"]
2152
+ fromMsgId: int # int64
2153
+ toMsgId: int # int64
2154
+
2155
+ class MsgErrorType_msgBadId(TypedDict):
2156
+ type: Literal["msgBadId"]
2157
+ msgId: int # int64
2158
+
2159
+ class MsgErrorType_msgBadHash(TypedDict):
2160
+ type: Literal["msgBadHash"]
2161
+
2162
+ class MsgErrorType_msgDuplicate(TypedDict):
2163
+ type: Literal["msgDuplicate"]
2164
+
2165
+ MsgErrorType = (
2166
+ MsgErrorType_msgSkipped
2167
+ | MsgErrorType_msgBadId
2168
+ | MsgErrorType_msgBadHash
2169
+ | MsgErrorType_msgDuplicate
2170
+ )
2171
+
2172
+ MsgErrorType_Tag = Literal["msgSkipped", "msgBadId", "msgBadHash", "msgDuplicate"]
2173
+
2174
+ MsgFilter = Literal["none", "all", "mentions"]
2175
+
2176
+ class MsgReaction_emoji(TypedDict):
2177
+ type: Literal["emoji"]
2178
+ emoji: str
2179
+
2180
+ class MsgReaction_unknown(TypedDict):
2181
+ type: Literal["unknown"]
2182
+ tag: str
2183
+ json: dict[str, object]
2184
+
2185
+ MsgReaction = MsgReaction_emoji | MsgReaction_unknown
2186
+
2187
+ MsgReaction_Tag = Literal["emoji", "unknown"]
2188
+
2189
+ MsgReceiptStatus = Literal["ok", "badMsgHash"]
2190
+
2191
+ MsgSigStatus = Literal["verified", "signedNoKey"]
2192
+
2193
+ class NetworkError_connectError(TypedDict):
2194
+ type: Literal["connectError"]
2195
+ connectError: str
2196
+
2197
+ class NetworkError_tLSError(TypedDict):
2198
+ type: Literal["tLSError"]
2199
+ tlsError: str
2200
+
2201
+ class NetworkError_unknownCAError(TypedDict):
2202
+ type: Literal["unknownCAError"]
2203
+
2204
+ class NetworkError_failedError(TypedDict):
2205
+ type: Literal["failedError"]
2206
+
2207
+ class NetworkError_timeoutError(TypedDict):
2208
+ type: Literal["timeoutError"]
2209
+
2210
+ class NetworkError_subscribeError(TypedDict):
2211
+ type: Literal["subscribeError"]
2212
+ subscribeError: str
2213
+
2214
+ NetworkError = (
2215
+ NetworkError_connectError
2216
+ | NetworkError_tLSError
2217
+ | NetworkError_unknownCAError
2218
+ | NetworkError_failedError
2219
+ | NetworkError_timeoutError
2220
+ | NetworkError_subscribeError
2221
+ )
2222
+
2223
+ NetworkError_Tag = Literal["connectError", "tLSError", "unknownCAError", "failedError", "timeoutError", "subscribeError"]
2224
+
2225
+ class NewUser(TypedDict):
2226
+ profile: NotRequired["Profile"]
2227
+ pastTimestamp: bool
2228
+ userChatRelay: bool
2229
+
2230
+ class NoteFolder(TypedDict):
2231
+ noteFolderId: int # int64
2232
+ userId: int # int64
2233
+ createdAt: str # ISO-8601 timestamp
2234
+ updatedAt: str # ISO-8601 timestamp
2235
+ chatTs: str # ISO-8601 timestamp
2236
+ favorite: bool
2237
+ unread: bool
2238
+
2239
+ class OwnerVerification_verified(TypedDict):
2240
+ type: Literal["verified"]
2241
+
2242
+ class OwnerVerification_failed(TypedDict):
2243
+ type: Literal["failed"]
2244
+ reason: str
2245
+
2246
+ OwnerVerification = OwnerVerification_verified | OwnerVerification_failed
2247
+
2248
+ OwnerVerification_Tag = Literal["verified", "failed"]
2249
+
2250
+ class PaginationByTime_last(TypedDict):
2251
+ type: Literal["last"]
2252
+ count: int # int
2253
+
2254
+ PaginationByTime = PaginationByTime_last
2255
+
2256
+ PaginationByTime_Tag = Literal["last"]
2257
+
2258
+
2259
+ def PaginationByTime_cmd_string(self: PaginationByTime) -> str:
2260
+ return 'count=' + str(self['count']) # type: ignore[typeddict-item]
2261
+
2262
+ class PendingContactConnection(TypedDict):
2263
+ pccConnId: int # int64
2264
+ pccAgentConnId: str
2265
+ pccConnStatus: "ConnStatus"
2266
+ viaContactUri: bool
2267
+ viaUserContactLink: NotRequired[int] # int64
2268
+ groupLinkId: NotRequired[str]
2269
+ customUserProfileId: NotRequired[int] # int64
2270
+ connLinkInv: NotRequired["CreatedConnLink"]
2271
+ localAlias: str
2272
+ createdAt: str # ISO-8601 timestamp
2273
+ updatedAt: str # ISO-8601 timestamp
2274
+
2275
+ class PrefEnabled(TypedDict):
2276
+ forUser: bool
2277
+ forContact: bool
2278
+
2279
+ class Preferences(TypedDict):
2280
+ timedMessages: NotRequired["TimedMessagesPreference"]
2281
+ fullDelete: NotRequired["SimplePreference"]
2282
+ reactions: NotRequired["SimplePreference"]
2283
+ voice: NotRequired["SimplePreference"]
2284
+ files: NotRequired["SimplePreference"]
2285
+ calls: NotRequired["SimplePreference"]
2286
+ sessions: NotRequired["SimplePreference"]
2287
+ commands: NotRequired[list["ChatBotCommand"]]
2288
+
2289
+ class PreparedContact(TypedDict):
2290
+ connLinkToConnect: "CreatedConnLink"
2291
+ uiConnLinkType: "ConnectionMode"
2292
+ welcomeSharedMsgId: NotRequired[str]
2293
+ requestSharedMsgId: NotRequired[str]
2294
+
2295
+ class PreparedGroup(TypedDict):
2296
+ connLinkToConnect: "CreatedConnLink"
2297
+ connLinkPreparedConnection: bool
2298
+ connLinkStartedConnection: bool
2299
+ welcomeSharedMsgId: NotRequired[str]
2300
+ requestSharedMsgId: NotRequired[str]
2301
+
2302
+ class Profile(TypedDict):
2303
+ displayName: str
2304
+ fullName: str
2305
+ shortDescr: NotRequired[str]
2306
+ image: NotRequired[str]
2307
+ contactLink: NotRequired[str]
2308
+ preferences: NotRequired["Preferences"]
2309
+ peerType: NotRequired["ChatPeerType"]
2310
+
2311
+ class ProxyClientError_protocolError(TypedDict):
2312
+ type: Literal["protocolError"]
2313
+ protocolErr: "ErrorType"
2314
+
2315
+ class ProxyClientError_unexpectedResponse(TypedDict):
2316
+ type: Literal["unexpectedResponse"]
2317
+ responseStr: str
2318
+
2319
+ class ProxyClientError_responseError(TypedDict):
2320
+ type: Literal["responseError"]
2321
+ responseErr: "ErrorType"
2322
+
2323
+ ProxyClientError = (
2324
+ ProxyClientError_protocolError
2325
+ | ProxyClientError_unexpectedResponse
2326
+ | ProxyClientError_responseError
2327
+ )
2328
+
2329
+ ProxyClientError_Tag = Literal["protocolError", "unexpectedResponse", "responseError"]
2330
+
2331
+ class ProxyError_PROTOCOL(TypedDict):
2332
+ type: Literal["PROTOCOL"]
2333
+ protocolErr: "ErrorType"
2334
+
2335
+ class ProxyError_BROKER(TypedDict):
2336
+ type: Literal["BROKER"]
2337
+ brokerErr: "BrokerErrorType"
2338
+
2339
+ class ProxyError_BASIC_AUTH(TypedDict):
2340
+ type: Literal["BASIC_AUTH"]
2341
+
2342
+ class ProxyError_NO_SESSION(TypedDict):
2343
+ type: Literal["NO_SESSION"]
2344
+
2345
+ ProxyError = ProxyError_PROTOCOL | ProxyError_BROKER | ProxyError_BASIC_AUTH | ProxyError_NO_SESSION
2346
+
2347
+ ProxyError_Tag = Literal["PROTOCOL", "BROKER", "BASIC_AUTH", "NO_SESSION"]
2348
+
2349
+ class PublicGroupData(TypedDict):
2350
+ publicMemberCount: int # int64
2351
+
2352
+ class PublicGroupProfile(TypedDict):
2353
+ groupType: "GroupType"
2354
+ groupLink: str
2355
+ publicGroupId: str
2356
+
2357
+ class RCErrorType_internal(TypedDict):
2358
+ type: Literal["internal"]
2359
+ internalErr: str
2360
+
2361
+ class RCErrorType_identity(TypedDict):
2362
+ type: Literal["identity"]
2363
+
2364
+ class RCErrorType_noLocalAddress(TypedDict):
2365
+ type: Literal["noLocalAddress"]
2366
+
2367
+ class RCErrorType_newController(TypedDict):
2368
+ type: Literal["newController"]
2369
+
2370
+ class RCErrorType_notDiscovered(TypedDict):
2371
+ type: Literal["notDiscovered"]
2372
+
2373
+ class RCErrorType_tLSStartFailed(TypedDict):
2374
+ type: Literal["tLSStartFailed"]
2375
+
2376
+ class RCErrorType_exception(TypedDict):
2377
+ type: Literal["exception"]
2378
+ exception: str
2379
+
2380
+ class RCErrorType_ctrlAuth(TypedDict):
2381
+ type: Literal["ctrlAuth"]
2382
+
2383
+ class RCErrorType_ctrlNotFound(TypedDict):
2384
+ type: Literal["ctrlNotFound"]
2385
+
2386
+ class RCErrorType_ctrlError(TypedDict):
2387
+ type: Literal["ctrlError"]
2388
+ ctrlErr: str
2389
+
2390
+ class RCErrorType_invitation(TypedDict):
2391
+ type: Literal["invitation"]
2392
+
2393
+ class RCErrorType_version(TypedDict):
2394
+ type: Literal["version"]
2395
+
2396
+ class RCErrorType_encrypt(TypedDict):
2397
+ type: Literal["encrypt"]
2398
+
2399
+ class RCErrorType_decrypt(TypedDict):
2400
+ type: Literal["decrypt"]
2401
+
2402
+ class RCErrorType_blockSize(TypedDict):
2403
+ type: Literal["blockSize"]
2404
+
2405
+ class RCErrorType_syntax(TypedDict):
2406
+ type: Literal["syntax"]
2407
+ syntaxErr: str
2408
+
2409
+ RCErrorType = (
2410
+ RCErrorType_internal
2411
+ | RCErrorType_identity
2412
+ | RCErrorType_noLocalAddress
2413
+ | RCErrorType_newController
2414
+ | RCErrorType_notDiscovered
2415
+ | RCErrorType_tLSStartFailed
2416
+ | RCErrorType_exception
2417
+ | RCErrorType_ctrlAuth
2418
+ | RCErrorType_ctrlNotFound
2419
+ | RCErrorType_ctrlError
2420
+ | RCErrorType_invitation
2421
+ | RCErrorType_version
2422
+ | RCErrorType_encrypt
2423
+ | RCErrorType_decrypt
2424
+ | RCErrorType_blockSize
2425
+ | RCErrorType_syntax
2426
+ )
2427
+
2428
+ RCErrorType_Tag = Literal["internal", "identity", "noLocalAddress", "newController", "notDiscovered", "tLSStartFailed", "exception", "ctrlAuth", "ctrlNotFound", "ctrlError", "invitation", "version", "encrypt", "decrypt", "blockSize", "syntax"]
2429
+
2430
+ RatchetSyncState = Literal["ok", "allowed", "required", "started", "agreed"]
2431
+
2432
+ class RcvConnEvent_switchQueue(TypedDict):
2433
+ type: Literal["switchQueue"]
2434
+ phase: "SwitchPhase"
2435
+
2436
+ class RcvConnEvent_ratchetSync(TypedDict):
2437
+ type: Literal["ratchetSync"]
2438
+ syncStatus: "RatchetSyncState"
2439
+
2440
+ class RcvConnEvent_verificationCodeReset(TypedDict):
2441
+ type: Literal["verificationCodeReset"]
2442
+
2443
+ class RcvConnEvent_pqEnabled(TypedDict):
2444
+ type: Literal["pqEnabled"]
2445
+ enabled: bool
2446
+
2447
+ RcvConnEvent = (
2448
+ RcvConnEvent_switchQueue
2449
+ | RcvConnEvent_ratchetSync
2450
+ | RcvConnEvent_verificationCodeReset
2451
+ | RcvConnEvent_pqEnabled
2452
+ )
2453
+
2454
+ RcvConnEvent_Tag = Literal["switchQueue", "ratchetSync", "verificationCodeReset", "pqEnabled"]
2455
+
2456
+ class RcvDirectEvent_contactDeleted(TypedDict):
2457
+ type: Literal["contactDeleted"]
2458
+
2459
+ class RcvDirectEvent_profileUpdated(TypedDict):
2460
+ type: Literal["profileUpdated"]
2461
+ fromProfile: "Profile"
2462
+ toProfile: "Profile"
2463
+
2464
+ class RcvDirectEvent_groupInvLinkReceived(TypedDict):
2465
+ type: Literal["groupInvLinkReceived"]
2466
+ groupProfile: "GroupProfile"
2467
+
2468
+ RcvDirectEvent = (
2469
+ RcvDirectEvent_contactDeleted
2470
+ | RcvDirectEvent_profileUpdated
2471
+ | RcvDirectEvent_groupInvLinkReceived
2472
+ )
2473
+
2474
+ RcvDirectEvent_Tag = Literal["contactDeleted", "profileUpdated", "groupInvLinkReceived"]
2475
+
2476
+ class RcvFileDescr(TypedDict):
2477
+ fileDescrId: int # int64
2478
+ fileDescrText: str
2479
+ fileDescrPartNo: int # int
2480
+ fileDescrComplete: bool
2481
+
2482
+ class RcvFileStatus_new(TypedDict):
2483
+ type: Literal["new"]
2484
+
2485
+ class RcvFileStatus_accepted(TypedDict):
2486
+ type: Literal["accepted"]
2487
+ filePath: str
2488
+
2489
+ class RcvFileStatus_connected(TypedDict):
2490
+ type: Literal["connected"]
2491
+ filePath: str
2492
+
2493
+ class RcvFileStatus_complete(TypedDict):
2494
+ type: Literal["complete"]
2495
+ filePath: str
2496
+
2497
+ class RcvFileStatus_cancelled(TypedDict):
2498
+ type: Literal["cancelled"]
2499
+ filePath_: NotRequired[str]
2500
+
2501
+ RcvFileStatus = (
2502
+ RcvFileStatus_new
2503
+ | RcvFileStatus_accepted
2504
+ | RcvFileStatus_connected
2505
+ | RcvFileStatus_complete
2506
+ | RcvFileStatus_cancelled
2507
+ )
2508
+
2509
+ RcvFileStatus_Tag = Literal["new", "accepted", "connected", "complete", "cancelled"]
2510
+
2511
+ class RcvFileTransfer(TypedDict):
2512
+ fileId: int # int64
2513
+ xftpRcvFile: NotRequired["XFTPRcvFile"]
2514
+ fileInvitation: "FileInvitation"
2515
+ fileStatus: "RcvFileStatus"
2516
+ rcvFileInline: NotRequired["InlineFileMode"]
2517
+ senderDisplayName: str
2518
+ chunkSize: int # int64
2519
+ cancelled: bool
2520
+ grpMemberId: NotRequired[int] # int64
2521
+ cryptoArgs: NotRequired["CryptoFileArgs"]
2522
+
2523
+ class RcvGroupEvent_memberAdded(TypedDict):
2524
+ type: Literal["memberAdded"]
2525
+ groupMemberId: int # int64
2526
+ profile: "Profile"
2527
+
2528
+ class RcvGroupEvent_memberConnected(TypedDict):
2529
+ type: Literal["memberConnected"]
2530
+
2531
+ class RcvGroupEvent_memberAccepted(TypedDict):
2532
+ type: Literal["memberAccepted"]
2533
+ groupMemberId: int # int64
2534
+ profile: "Profile"
2535
+
2536
+ class RcvGroupEvent_userAccepted(TypedDict):
2537
+ type: Literal["userAccepted"]
2538
+
2539
+ class RcvGroupEvent_memberLeft(TypedDict):
2540
+ type: Literal["memberLeft"]
2541
+
2542
+ class RcvGroupEvent_memberRole(TypedDict):
2543
+ type: Literal["memberRole"]
2544
+ groupMemberId: int # int64
2545
+ profile: "Profile"
2546
+ role: "GroupMemberRole"
2547
+
2548
+ class RcvGroupEvent_memberBlocked(TypedDict):
2549
+ type: Literal["memberBlocked"]
2550
+ groupMemberId: int # int64
2551
+ profile: "Profile"
2552
+ blocked: bool
2553
+
2554
+ class RcvGroupEvent_userRole(TypedDict):
2555
+ type: Literal["userRole"]
2556
+ role: "GroupMemberRole"
2557
+
2558
+ class RcvGroupEvent_memberDeleted(TypedDict):
2559
+ type: Literal["memberDeleted"]
2560
+ groupMemberId: int # int64
2561
+ profile: "Profile"
2562
+
2563
+ class RcvGroupEvent_userDeleted(TypedDict):
2564
+ type: Literal["userDeleted"]
2565
+
2566
+ class RcvGroupEvent_groupDeleted(TypedDict):
2567
+ type: Literal["groupDeleted"]
2568
+
2569
+ class RcvGroupEvent_groupUpdated(TypedDict):
2570
+ type: Literal["groupUpdated"]
2571
+ groupProfile: "GroupProfile"
2572
+
2573
+ class RcvGroupEvent_invitedViaGroupLink(TypedDict):
2574
+ type: Literal["invitedViaGroupLink"]
2575
+
2576
+ class RcvGroupEvent_memberCreatedContact(TypedDict):
2577
+ type: Literal["memberCreatedContact"]
2578
+
2579
+ class RcvGroupEvent_memberProfileUpdated(TypedDict):
2580
+ type: Literal["memberProfileUpdated"]
2581
+ fromProfile: "Profile"
2582
+ toProfile: "Profile"
2583
+
2584
+ class RcvGroupEvent_newMemberPendingReview(TypedDict):
2585
+ type: Literal["newMemberPendingReview"]
2586
+
2587
+ class RcvGroupEvent_msgBadSignature(TypedDict):
2588
+ type: Literal["msgBadSignature"]
2589
+
2590
+ RcvGroupEvent = (
2591
+ RcvGroupEvent_memberAdded
2592
+ | RcvGroupEvent_memberConnected
2593
+ | RcvGroupEvent_memberAccepted
2594
+ | RcvGroupEvent_userAccepted
2595
+ | RcvGroupEvent_memberLeft
2596
+ | RcvGroupEvent_memberRole
2597
+ | RcvGroupEvent_memberBlocked
2598
+ | RcvGroupEvent_userRole
2599
+ | RcvGroupEvent_memberDeleted
2600
+ | RcvGroupEvent_userDeleted
2601
+ | RcvGroupEvent_groupDeleted
2602
+ | RcvGroupEvent_groupUpdated
2603
+ | RcvGroupEvent_invitedViaGroupLink
2604
+ | RcvGroupEvent_memberCreatedContact
2605
+ | RcvGroupEvent_memberProfileUpdated
2606
+ | RcvGroupEvent_newMemberPendingReview
2607
+ | RcvGroupEvent_msgBadSignature
2608
+ )
2609
+
2610
+ RcvGroupEvent_Tag = Literal["memberAdded", "memberConnected", "memberAccepted", "userAccepted", "memberLeft", "memberRole", "memberBlocked", "userRole", "memberDeleted", "userDeleted", "groupDeleted", "groupUpdated", "invitedViaGroupLink", "memberCreatedContact", "memberProfileUpdated", "newMemberPendingReview", "msgBadSignature"]
2611
+
2612
+ class RcvMsgError_dropped(TypedDict):
2613
+ type: Literal["dropped"]
2614
+ attempts: int # int
2615
+
2616
+ class RcvMsgError_parseError(TypedDict):
2617
+ type: Literal["parseError"]
2618
+ parseError: str
2619
+
2620
+ RcvMsgError = RcvMsgError_dropped | RcvMsgError_parseError
2621
+
2622
+ RcvMsgError_Tag = Literal["dropped", "parseError"]
2623
+
2624
+ class RelayProfile(TypedDict):
2625
+ displayName: str
2626
+ fullName: str
2627
+ shortDescr: NotRequired[str]
2628
+ image: NotRequired[str]
2629
+
2630
+ RelayStatus = Literal["new", "invited", "accepted", "active", "inactive"]
2631
+
2632
+ ReportReason = Literal["spam", "content", "community", "profile", "other"]
2633
+
2634
+ class RoleGroupPreference(TypedDict):
2635
+ enable: "GroupFeatureEnabled"
2636
+ role: NotRequired["GroupMemberRole"]
2637
+
2638
+ class SMPAgentError_A_MESSAGE(TypedDict):
2639
+ type: Literal["A_MESSAGE"]
2640
+
2641
+ class SMPAgentError_A_PROHIBITED(TypedDict):
2642
+ type: Literal["A_PROHIBITED"]
2643
+ prohibitedErr: str
2644
+
2645
+ class SMPAgentError_A_VERSION(TypedDict):
2646
+ type: Literal["A_VERSION"]
2647
+
2648
+ class SMPAgentError_A_LINK(TypedDict):
2649
+ type: Literal["A_LINK"]
2650
+ linkErr: str
2651
+
2652
+ class SMPAgentError_A_CRYPTO(TypedDict):
2653
+ type: Literal["A_CRYPTO"]
2654
+ cryptoErr: "AgentCryptoError"
2655
+
2656
+ class SMPAgentError_A_DUPLICATE(TypedDict):
2657
+ type: Literal["A_DUPLICATE"]
2658
+ droppedMsg_: NotRequired["DroppedMsg"]
2659
+
2660
+ class SMPAgentError_A_QUEUE(TypedDict):
2661
+ type: Literal["A_QUEUE"]
2662
+ queueErr: str
2663
+
2664
+ SMPAgentError = (
2665
+ SMPAgentError_A_MESSAGE
2666
+ | SMPAgentError_A_PROHIBITED
2667
+ | SMPAgentError_A_VERSION
2668
+ | SMPAgentError_A_LINK
2669
+ | SMPAgentError_A_CRYPTO
2670
+ | SMPAgentError_A_DUPLICATE
2671
+ | SMPAgentError_A_QUEUE
2672
+ )
2673
+
2674
+ SMPAgentError_Tag = Literal["A_MESSAGE", "A_PROHIBITED", "A_VERSION", "A_LINK", "A_CRYPTO", "A_DUPLICATE", "A_QUEUE"]
2675
+
2676
+ class SecurityCode(TypedDict):
2677
+ securityCode: str
2678
+ verifiedAt: str # ISO-8601 timestamp
2679
+
2680
+ class SimplePreference(TypedDict):
2681
+ allow: "FeatureAllowed"
2682
+
2683
+ SimplexLinkType = Literal["contact", "invitation", "group", "channel", "relay"]
2684
+
2685
+ SndCIStatusProgress = Literal["partial", "complete"]
2686
+
2687
+ class SndConnEvent_switchQueue(TypedDict):
2688
+ type: Literal["switchQueue"]
2689
+ phase: "SwitchPhase"
2690
+ member: NotRequired["GroupMemberRef"]
2691
+
2692
+ class SndConnEvent_ratchetSync(TypedDict):
2693
+ type: Literal["ratchetSync"]
2694
+ syncStatus: "RatchetSyncState"
2695
+ member: NotRequired["GroupMemberRef"]
2696
+
2697
+ class SndConnEvent_pqEnabled(TypedDict):
2698
+ type: Literal["pqEnabled"]
2699
+ enabled: bool
2700
+
2701
+ SndConnEvent = SndConnEvent_switchQueue | SndConnEvent_ratchetSync | SndConnEvent_pqEnabled
2702
+
2703
+ SndConnEvent_Tag = Literal["switchQueue", "ratchetSync", "pqEnabled"]
2704
+
2705
+ class SndError_auth(TypedDict):
2706
+ type: Literal["auth"]
2707
+
2708
+ class SndError_quota(TypedDict):
2709
+ type: Literal["quota"]
2710
+
2711
+ class SndError_expired(TypedDict):
2712
+ type: Literal["expired"]
2713
+
2714
+ class SndError_relay(TypedDict):
2715
+ type: Literal["relay"]
2716
+ srvError: "SrvError"
2717
+
2718
+ class SndError_proxy(TypedDict):
2719
+ type: Literal["proxy"]
2720
+ proxyServer: str
2721
+ srvError: "SrvError"
2722
+
2723
+ class SndError_proxyRelay(TypedDict):
2724
+ type: Literal["proxyRelay"]
2725
+ proxyServer: str
2726
+ srvError: "SrvError"
2727
+
2728
+ class SndError_other(TypedDict):
2729
+ type: Literal["other"]
2730
+ sndError: str
2731
+
2732
+ SndError = (
2733
+ SndError_auth
2734
+ | SndError_quota
2735
+ | SndError_expired
2736
+ | SndError_relay
2737
+ | SndError_proxy
2738
+ | SndError_proxyRelay
2739
+ | SndError_other
2740
+ )
2741
+
2742
+ SndError_Tag = Literal["auth", "quota", "expired", "relay", "proxy", "proxyRelay", "other"]
2743
+
2744
+ class SndFileTransfer(TypedDict):
2745
+ fileId: int # int64
2746
+ fileName: str
2747
+ filePath: str
2748
+ fileSize: int # int64
2749
+ chunkSize: int # int64
2750
+ recipientDisplayName: str
2751
+ connId: int # int64
2752
+ agentConnId: str
2753
+ groupMemberId: NotRequired[int] # int64
2754
+ fileStatus: "FileStatus"
2755
+ fileDescrId: NotRequired[int] # int64
2756
+ fileInline: NotRequired["InlineFileMode"]
2757
+
2758
+ class SndGroupEvent_memberRole(TypedDict):
2759
+ type: Literal["memberRole"]
2760
+ groupMemberId: int # int64
2761
+ profile: "Profile"
2762
+ role: "GroupMemberRole"
2763
+
2764
+ class SndGroupEvent_memberBlocked(TypedDict):
2765
+ type: Literal["memberBlocked"]
2766
+ groupMemberId: int # int64
2767
+ profile: "Profile"
2768
+ blocked: bool
2769
+
2770
+ class SndGroupEvent_userRole(TypedDict):
2771
+ type: Literal["userRole"]
2772
+ role: "GroupMemberRole"
2773
+
2774
+ class SndGroupEvent_memberDeleted(TypedDict):
2775
+ type: Literal["memberDeleted"]
2776
+ groupMemberId: int # int64
2777
+ profile: "Profile"
2778
+
2779
+ class SndGroupEvent_userLeft(TypedDict):
2780
+ type: Literal["userLeft"]
2781
+
2782
+ class SndGroupEvent_groupUpdated(TypedDict):
2783
+ type: Literal["groupUpdated"]
2784
+ groupProfile: "GroupProfile"
2785
+
2786
+ class SndGroupEvent_memberAccepted(TypedDict):
2787
+ type: Literal["memberAccepted"]
2788
+ groupMemberId: int # int64
2789
+ profile: "Profile"
2790
+
2791
+ class SndGroupEvent_userPendingReview(TypedDict):
2792
+ type: Literal["userPendingReview"]
2793
+
2794
+ SndGroupEvent = (
2795
+ SndGroupEvent_memberRole
2796
+ | SndGroupEvent_memberBlocked
2797
+ | SndGroupEvent_userRole
2798
+ | SndGroupEvent_memberDeleted
2799
+ | SndGroupEvent_userLeft
2800
+ | SndGroupEvent_groupUpdated
2801
+ | SndGroupEvent_memberAccepted
2802
+ | SndGroupEvent_userPendingReview
2803
+ )
2804
+
2805
+ SndGroupEvent_Tag = Literal["memberRole", "memberBlocked", "userRole", "memberDeleted", "userLeft", "groupUpdated", "memberAccepted", "userPendingReview"]
2806
+
2807
+ class SrvError_host(TypedDict):
2808
+ type: Literal["host"]
2809
+
2810
+ class SrvError_version(TypedDict):
2811
+ type: Literal["version"]
2812
+
2813
+ class SrvError_other(TypedDict):
2814
+ type: Literal["other"]
2815
+ srvError: str
2816
+
2817
+ SrvError = SrvError_host | SrvError_version | SrvError_other
2818
+
2819
+ SrvError_Tag = Literal["host", "version", "other"]
2820
+
2821
+ class StoreError_duplicateName(TypedDict):
2822
+ type: Literal["duplicateName"]
2823
+
2824
+ class StoreError_userNotFound(TypedDict):
2825
+ type: Literal["userNotFound"]
2826
+ userId: int # int64
2827
+
2828
+ class StoreError_relayUserNotFound(TypedDict):
2829
+ type: Literal["relayUserNotFound"]
2830
+
2831
+ class StoreError_userNotFoundByName(TypedDict):
2832
+ type: Literal["userNotFoundByName"]
2833
+ contactName: str
2834
+
2835
+ class StoreError_userNotFoundByContactId(TypedDict):
2836
+ type: Literal["userNotFoundByContactId"]
2837
+ contactId: int # int64
2838
+
2839
+ class StoreError_userNotFoundByGroupId(TypedDict):
2840
+ type: Literal["userNotFoundByGroupId"]
2841
+ groupId: int # int64
2842
+
2843
+ class StoreError_userNotFoundByFileId(TypedDict):
2844
+ type: Literal["userNotFoundByFileId"]
2845
+ fileId: int # int64
2846
+
2847
+ class StoreError_userNotFoundByContactRequestId(TypedDict):
2848
+ type: Literal["userNotFoundByContactRequestId"]
2849
+ contactRequestId: int # int64
2850
+
2851
+ class StoreError_contactNotFound(TypedDict):
2852
+ type: Literal["contactNotFound"]
2853
+ contactId: int # int64
2854
+
2855
+ class StoreError_contactNotFoundByName(TypedDict):
2856
+ type: Literal["contactNotFoundByName"]
2857
+ contactName: str
2858
+
2859
+ class StoreError_contactNotFoundByMemberId(TypedDict):
2860
+ type: Literal["contactNotFoundByMemberId"]
2861
+ groupMemberId: int # int64
2862
+
2863
+ class StoreError_contactNotReady(TypedDict):
2864
+ type: Literal["contactNotReady"]
2865
+ contactName: str
2866
+
2867
+ class StoreError_duplicateContactLink(TypedDict):
2868
+ type: Literal["duplicateContactLink"]
2869
+
2870
+ class StoreError_userContactLinkNotFound(TypedDict):
2871
+ type: Literal["userContactLinkNotFound"]
2872
+
2873
+ class StoreError_contactRequestNotFound(TypedDict):
2874
+ type: Literal["contactRequestNotFound"]
2875
+ contactRequestId: int # int64
2876
+
2877
+ class StoreError_contactRequestNotFoundByName(TypedDict):
2878
+ type: Literal["contactRequestNotFoundByName"]
2879
+ contactName: str
2880
+
2881
+ class StoreError_invalidContactRequestEntity(TypedDict):
2882
+ type: Literal["invalidContactRequestEntity"]
2883
+ contactRequestId: int # int64
2884
+
2885
+ class StoreError_invalidBusinessChatContactRequest(TypedDict):
2886
+ type: Literal["invalidBusinessChatContactRequest"]
2887
+
2888
+ class StoreError_groupNotFound(TypedDict):
2889
+ type: Literal["groupNotFound"]
2890
+ groupId: int # int64
2891
+
2892
+ class StoreError_groupNotFoundByName(TypedDict):
2893
+ type: Literal["groupNotFoundByName"]
2894
+ groupName: str
2895
+
2896
+ class StoreError_groupMemberNameNotFound(TypedDict):
2897
+ type: Literal["groupMemberNameNotFound"]
2898
+ groupId: int # int64
2899
+ groupMemberName: str
2900
+
2901
+ class StoreError_groupMemberNotFound(TypedDict):
2902
+ type: Literal["groupMemberNotFound"]
2903
+ groupMemberId: int # int64
2904
+
2905
+ class StoreError_groupMemberNotFoundByIndex(TypedDict):
2906
+ type: Literal["groupMemberNotFoundByIndex"]
2907
+ groupMemberIndex: int # int64
2908
+
2909
+ class StoreError_memberRelationsVectorNotFound(TypedDict):
2910
+ type: Literal["memberRelationsVectorNotFound"]
2911
+ groupMemberId: int # int64
2912
+
2913
+ class StoreError_groupHostMemberNotFound(TypedDict):
2914
+ type: Literal["groupHostMemberNotFound"]
2915
+ groupId: int # int64
2916
+
2917
+ class StoreError_groupMemberNotFoundByMemberId(TypedDict):
2918
+ type: Literal["groupMemberNotFoundByMemberId"]
2919
+ memberId: str
2920
+
2921
+ class StoreError_memberContactGroupMemberNotFound(TypedDict):
2922
+ type: Literal["memberContactGroupMemberNotFound"]
2923
+ contactId: int # int64
2924
+
2925
+ class StoreError_invalidMemberRelationUpdate(TypedDict):
2926
+ type: Literal["invalidMemberRelationUpdate"]
2927
+
2928
+ class StoreError_groupWithoutUser(TypedDict):
2929
+ type: Literal["groupWithoutUser"]
2930
+
2931
+ class StoreError_duplicateGroupMember(TypedDict):
2932
+ type: Literal["duplicateGroupMember"]
2933
+
2934
+ class StoreError_duplicateMemberId(TypedDict):
2935
+ type: Literal["duplicateMemberId"]
2936
+
2937
+ class StoreError_groupAlreadyJoined(TypedDict):
2938
+ type: Literal["groupAlreadyJoined"]
2939
+
2940
+ class StoreError_groupInvitationNotFound(TypedDict):
2941
+ type: Literal["groupInvitationNotFound"]
2942
+
2943
+ class StoreError_noteFolderAlreadyExists(TypedDict):
2944
+ type: Literal["noteFolderAlreadyExists"]
2945
+ noteFolderId: int # int64
2946
+
2947
+ class StoreError_noteFolderNotFound(TypedDict):
2948
+ type: Literal["noteFolderNotFound"]
2949
+ noteFolderId: int # int64
2950
+
2951
+ class StoreError_userNoteFolderNotFound(TypedDict):
2952
+ type: Literal["userNoteFolderNotFound"]
2953
+
2954
+ class StoreError_sndFileNotFound(TypedDict):
2955
+ type: Literal["sndFileNotFound"]
2956
+ fileId: int # int64
2957
+
2958
+ class StoreError_sndFileInvalid(TypedDict):
2959
+ type: Literal["sndFileInvalid"]
2960
+ fileId: int # int64
2961
+
2962
+ class StoreError_rcvFileNotFound(TypedDict):
2963
+ type: Literal["rcvFileNotFound"]
2964
+ fileId: int # int64
2965
+
2966
+ class StoreError_rcvFileDescrNotFound(TypedDict):
2967
+ type: Literal["rcvFileDescrNotFound"]
2968
+ fileId: int # int64
2969
+
2970
+ class StoreError_fileNotFound(TypedDict):
2971
+ type: Literal["fileNotFound"]
2972
+ fileId: int # int64
2973
+
2974
+ class StoreError_rcvFileInvalid(TypedDict):
2975
+ type: Literal["rcvFileInvalid"]
2976
+ fileId: int # int64
2977
+
2978
+ class StoreError_rcvFileInvalidDescrPart(TypedDict):
2979
+ type: Literal["rcvFileInvalidDescrPart"]
2980
+
2981
+ class StoreError_localFileNoTransfer(TypedDict):
2982
+ type: Literal["localFileNoTransfer"]
2983
+ fileId: int # int64
2984
+
2985
+ class StoreError_sharedMsgIdNotFoundByFileId(TypedDict):
2986
+ type: Literal["sharedMsgIdNotFoundByFileId"]
2987
+ fileId: int # int64
2988
+
2989
+ class StoreError_fileIdNotFoundBySharedMsgId(TypedDict):
2990
+ type: Literal["fileIdNotFoundBySharedMsgId"]
2991
+ sharedMsgId: str
2992
+
2993
+ class StoreError_sndFileNotFoundXFTP(TypedDict):
2994
+ type: Literal["sndFileNotFoundXFTP"]
2995
+ agentSndFileId: str
2996
+
2997
+ class StoreError_rcvFileNotFoundXFTP(TypedDict):
2998
+ type: Literal["rcvFileNotFoundXFTP"]
2999
+ agentRcvFileId: str
3000
+
3001
+ class StoreError_connectionNotFound(TypedDict):
3002
+ type: Literal["connectionNotFound"]
3003
+ agentConnId: str
3004
+
3005
+ class StoreError_connectionNotFoundById(TypedDict):
3006
+ type: Literal["connectionNotFoundById"]
3007
+ connId: int # int64
3008
+
3009
+ class StoreError_connectionNotFoundByMemberId(TypedDict):
3010
+ type: Literal["connectionNotFoundByMemberId"]
3011
+ groupMemberId: int # int64
3012
+
3013
+ class StoreError_pendingConnectionNotFound(TypedDict):
3014
+ type: Literal["pendingConnectionNotFound"]
3015
+ connId: int # int64
3016
+
3017
+ class StoreError_uniqueID(TypedDict):
3018
+ type: Literal["uniqueID"]
3019
+
3020
+ class StoreError_largeMsg(TypedDict):
3021
+ type: Literal["largeMsg"]
3022
+
3023
+ class StoreError_internalError(TypedDict):
3024
+ type: Literal["internalError"]
3025
+ message: str
3026
+
3027
+ class StoreError_dBException(TypedDict):
3028
+ type: Literal["dBException"]
3029
+ message: str
3030
+
3031
+ class StoreError_dBBusyError(TypedDict):
3032
+ type: Literal["dBBusyError"]
3033
+ message: str
3034
+
3035
+ class StoreError_badChatItem(TypedDict):
3036
+ type: Literal["badChatItem"]
3037
+ itemId: int # int64
3038
+ itemTs: NotRequired[str] # ISO-8601 timestamp
3039
+
3040
+ class StoreError_chatItemNotFound(TypedDict):
3041
+ type: Literal["chatItemNotFound"]
3042
+ itemId: int # int64
3043
+
3044
+ class StoreError_chatItemNotFoundByText(TypedDict):
3045
+ type: Literal["chatItemNotFoundByText"]
3046
+ text: str
3047
+
3048
+ class StoreError_chatItemSharedMsgIdNotFound(TypedDict):
3049
+ type: Literal["chatItemSharedMsgIdNotFound"]
3050
+ sharedMsgId: str
3051
+
3052
+ class StoreError_chatItemNotFoundByFileId(TypedDict):
3053
+ type: Literal["chatItemNotFoundByFileId"]
3054
+ fileId: int # int64
3055
+
3056
+ class StoreError_chatItemNotFoundByContactId(TypedDict):
3057
+ type: Literal["chatItemNotFoundByContactId"]
3058
+ contactId: int # int64
3059
+
3060
+ class StoreError_chatItemNotFoundByGroupId(TypedDict):
3061
+ type: Literal["chatItemNotFoundByGroupId"]
3062
+ groupId: int # int64
3063
+
3064
+ class StoreError_profileNotFound(TypedDict):
3065
+ type: Literal["profileNotFound"]
3066
+ profileId: int # int64
3067
+
3068
+ class StoreError_duplicateGroupLink(TypedDict):
3069
+ type: Literal["duplicateGroupLink"]
3070
+ groupInfo: "GroupInfo"
3071
+
3072
+ class StoreError_groupLinkNotFound(TypedDict):
3073
+ type: Literal["groupLinkNotFound"]
3074
+ groupInfo: "GroupInfo"
3075
+
3076
+ class StoreError_hostMemberIdNotFound(TypedDict):
3077
+ type: Literal["hostMemberIdNotFound"]
3078
+ groupId: int # int64
3079
+
3080
+ class StoreError_contactNotFoundByFileId(TypedDict):
3081
+ type: Literal["contactNotFoundByFileId"]
3082
+ fileId: int # int64
3083
+
3084
+ class StoreError_noGroupSndStatus(TypedDict):
3085
+ type: Literal["noGroupSndStatus"]
3086
+ itemId: int # int64
3087
+ groupMemberId: int # int64
3088
+
3089
+ class StoreError_duplicateGroupMessage(TypedDict):
3090
+ type: Literal["duplicateGroupMessage"]
3091
+ groupId: int # int64
3092
+ sharedMsgId: str
3093
+ authorGroupMemberId: NotRequired[int] # int64
3094
+ forwardedByGroupMemberId: NotRequired[int] # int64
3095
+
3096
+ class StoreError_remoteHostNotFound(TypedDict):
3097
+ type: Literal["remoteHostNotFound"]
3098
+ remoteHostId: int # int64
3099
+
3100
+ class StoreError_remoteHostUnknown(TypedDict):
3101
+ type: Literal["remoteHostUnknown"]
3102
+
3103
+ class StoreError_remoteHostDuplicateCA(TypedDict):
3104
+ type: Literal["remoteHostDuplicateCA"]
3105
+
3106
+ class StoreError_remoteCtrlNotFound(TypedDict):
3107
+ type: Literal["remoteCtrlNotFound"]
3108
+ remoteCtrlId: int # int64
3109
+
3110
+ class StoreError_remoteCtrlDuplicateCA(TypedDict):
3111
+ type: Literal["remoteCtrlDuplicateCA"]
3112
+
3113
+ class StoreError_prohibitedDeleteUser(TypedDict):
3114
+ type: Literal["prohibitedDeleteUser"]
3115
+ userId: int # int64
3116
+ contactId: int # int64
3117
+
3118
+ class StoreError_operatorNotFound(TypedDict):
3119
+ type: Literal["operatorNotFound"]
3120
+ serverOperatorId: int # int64
3121
+
3122
+ class StoreError_usageConditionsNotFound(TypedDict):
3123
+ type: Literal["usageConditionsNotFound"]
3124
+
3125
+ class StoreError_userChatRelayNotFound(TypedDict):
3126
+ type: Literal["userChatRelayNotFound"]
3127
+ chatRelayId: int # int64
3128
+
3129
+ class StoreError_groupRelayNotFound(TypedDict):
3130
+ type: Literal["groupRelayNotFound"]
3131
+ groupRelayId: int # int64
3132
+
3133
+ class StoreError_groupRelayNotFoundByMemberId(TypedDict):
3134
+ type: Literal["groupRelayNotFoundByMemberId"]
3135
+ groupMemberId: int # int64
3136
+
3137
+ class StoreError_invalidQuote(TypedDict):
3138
+ type: Literal["invalidQuote"]
3139
+
3140
+ class StoreError_invalidMention(TypedDict):
3141
+ type: Literal["invalidMention"]
3142
+
3143
+ class StoreError_invalidDeliveryTask(TypedDict):
3144
+ type: Literal["invalidDeliveryTask"]
3145
+ taskId: int # int64
3146
+
3147
+ class StoreError_deliveryTaskNotFound(TypedDict):
3148
+ type: Literal["deliveryTaskNotFound"]
3149
+ taskId: int # int64
3150
+
3151
+ class StoreError_invalidDeliveryJob(TypedDict):
3152
+ type: Literal["invalidDeliveryJob"]
3153
+ jobId: int # int64
3154
+
3155
+ class StoreError_deliveryJobNotFound(TypedDict):
3156
+ type: Literal["deliveryJobNotFound"]
3157
+ jobId: int # int64
3158
+
3159
+ class StoreError_workItemError(TypedDict):
3160
+ type: Literal["workItemError"]
3161
+ errContext: str
3162
+
3163
+ StoreError = (
3164
+ StoreError_duplicateName
3165
+ | StoreError_userNotFound
3166
+ | StoreError_relayUserNotFound
3167
+ | StoreError_userNotFoundByName
3168
+ | StoreError_userNotFoundByContactId
3169
+ | StoreError_userNotFoundByGroupId
3170
+ | StoreError_userNotFoundByFileId
3171
+ | StoreError_userNotFoundByContactRequestId
3172
+ | StoreError_contactNotFound
3173
+ | StoreError_contactNotFoundByName
3174
+ | StoreError_contactNotFoundByMemberId
3175
+ | StoreError_contactNotReady
3176
+ | StoreError_duplicateContactLink
3177
+ | StoreError_userContactLinkNotFound
3178
+ | StoreError_contactRequestNotFound
3179
+ | StoreError_contactRequestNotFoundByName
3180
+ | StoreError_invalidContactRequestEntity
3181
+ | StoreError_invalidBusinessChatContactRequest
3182
+ | StoreError_groupNotFound
3183
+ | StoreError_groupNotFoundByName
3184
+ | StoreError_groupMemberNameNotFound
3185
+ | StoreError_groupMemberNotFound
3186
+ | StoreError_groupMemberNotFoundByIndex
3187
+ | StoreError_memberRelationsVectorNotFound
3188
+ | StoreError_groupHostMemberNotFound
3189
+ | StoreError_groupMemberNotFoundByMemberId
3190
+ | StoreError_memberContactGroupMemberNotFound
3191
+ | StoreError_invalidMemberRelationUpdate
3192
+ | StoreError_groupWithoutUser
3193
+ | StoreError_duplicateGroupMember
3194
+ | StoreError_duplicateMemberId
3195
+ | StoreError_groupAlreadyJoined
3196
+ | StoreError_groupInvitationNotFound
3197
+ | StoreError_noteFolderAlreadyExists
3198
+ | StoreError_noteFolderNotFound
3199
+ | StoreError_userNoteFolderNotFound
3200
+ | StoreError_sndFileNotFound
3201
+ | StoreError_sndFileInvalid
3202
+ | StoreError_rcvFileNotFound
3203
+ | StoreError_rcvFileDescrNotFound
3204
+ | StoreError_fileNotFound
3205
+ | StoreError_rcvFileInvalid
3206
+ | StoreError_rcvFileInvalidDescrPart
3207
+ | StoreError_localFileNoTransfer
3208
+ | StoreError_sharedMsgIdNotFoundByFileId
3209
+ | StoreError_fileIdNotFoundBySharedMsgId
3210
+ | StoreError_sndFileNotFoundXFTP
3211
+ | StoreError_rcvFileNotFoundXFTP
3212
+ | StoreError_connectionNotFound
3213
+ | StoreError_connectionNotFoundById
3214
+ | StoreError_connectionNotFoundByMemberId
3215
+ | StoreError_pendingConnectionNotFound
3216
+ | StoreError_uniqueID
3217
+ | StoreError_largeMsg
3218
+ | StoreError_internalError
3219
+ | StoreError_dBException
3220
+ | StoreError_dBBusyError
3221
+ | StoreError_badChatItem
3222
+ | StoreError_chatItemNotFound
3223
+ | StoreError_chatItemNotFoundByText
3224
+ | StoreError_chatItemSharedMsgIdNotFound
3225
+ | StoreError_chatItemNotFoundByFileId
3226
+ | StoreError_chatItemNotFoundByContactId
3227
+ | StoreError_chatItemNotFoundByGroupId
3228
+ | StoreError_profileNotFound
3229
+ | StoreError_duplicateGroupLink
3230
+ | StoreError_groupLinkNotFound
3231
+ | StoreError_hostMemberIdNotFound
3232
+ | StoreError_contactNotFoundByFileId
3233
+ | StoreError_noGroupSndStatus
3234
+ | StoreError_duplicateGroupMessage
3235
+ | StoreError_remoteHostNotFound
3236
+ | StoreError_remoteHostUnknown
3237
+ | StoreError_remoteHostDuplicateCA
3238
+ | StoreError_remoteCtrlNotFound
3239
+ | StoreError_remoteCtrlDuplicateCA
3240
+ | StoreError_prohibitedDeleteUser
3241
+ | StoreError_operatorNotFound
3242
+ | StoreError_usageConditionsNotFound
3243
+ | StoreError_userChatRelayNotFound
3244
+ | StoreError_groupRelayNotFound
3245
+ | StoreError_groupRelayNotFoundByMemberId
3246
+ | StoreError_invalidQuote
3247
+ | StoreError_invalidMention
3248
+ | StoreError_invalidDeliveryTask
3249
+ | StoreError_deliveryTaskNotFound
3250
+ | StoreError_invalidDeliveryJob
3251
+ | StoreError_deliveryJobNotFound
3252
+ | StoreError_workItemError
3253
+ )
3254
+
3255
+ StoreError_Tag = Literal["duplicateName", "userNotFound", "relayUserNotFound", "userNotFoundByName", "userNotFoundByContactId", "userNotFoundByGroupId", "userNotFoundByFileId", "userNotFoundByContactRequestId", "contactNotFound", "contactNotFoundByName", "contactNotFoundByMemberId", "contactNotReady", "duplicateContactLink", "userContactLinkNotFound", "contactRequestNotFound", "contactRequestNotFoundByName", "invalidContactRequestEntity", "invalidBusinessChatContactRequest", "groupNotFound", "groupNotFoundByName", "groupMemberNameNotFound", "groupMemberNotFound", "groupMemberNotFoundByIndex", "memberRelationsVectorNotFound", "groupHostMemberNotFound", "groupMemberNotFoundByMemberId", "memberContactGroupMemberNotFound", "invalidMemberRelationUpdate", "groupWithoutUser", "duplicateGroupMember", "duplicateMemberId", "groupAlreadyJoined", "groupInvitationNotFound", "noteFolderAlreadyExists", "noteFolderNotFound", "userNoteFolderNotFound", "sndFileNotFound", "sndFileInvalid", "rcvFileNotFound", "rcvFileDescrNotFound", "fileNotFound", "rcvFileInvalid", "rcvFileInvalidDescrPart", "localFileNoTransfer", "sharedMsgIdNotFoundByFileId", "fileIdNotFoundBySharedMsgId", "sndFileNotFoundXFTP", "rcvFileNotFoundXFTP", "connectionNotFound", "connectionNotFoundById", "connectionNotFoundByMemberId", "pendingConnectionNotFound", "uniqueID", "largeMsg", "internalError", "dBException", "dBBusyError", "badChatItem", "chatItemNotFound", "chatItemNotFoundByText", "chatItemSharedMsgIdNotFound", "chatItemNotFoundByFileId", "chatItemNotFoundByContactId", "chatItemNotFoundByGroupId", "profileNotFound", "duplicateGroupLink", "groupLinkNotFound", "hostMemberIdNotFound", "contactNotFoundByFileId", "noGroupSndStatus", "duplicateGroupMessage", "remoteHostNotFound", "remoteHostUnknown", "remoteHostDuplicateCA", "remoteCtrlNotFound", "remoteCtrlDuplicateCA", "prohibitedDeleteUser", "operatorNotFound", "usageConditionsNotFound", "userChatRelayNotFound", "groupRelayNotFound", "groupRelayNotFoundByMemberId", "invalidQuote", "invalidMention", "invalidDeliveryTask", "deliveryTaskNotFound", "invalidDeliveryJob", "deliveryJobNotFound", "workItemError"]
3256
+
3257
+ class SubscriptionStatus_active(TypedDict):
3258
+ type: Literal["active"]
3259
+
3260
+ class SubscriptionStatus_pending(TypedDict):
3261
+ type: Literal["pending"]
3262
+
3263
+ class SubscriptionStatus_removed(TypedDict):
3264
+ type: Literal["removed"]
3265
+ subError: str
3266
+
3267
+ class SubscriptionStatus_noSub(TypedDict):
3268
+ type: Literal["noSub"]
3269
+
3270
+ SubscriptionStatus = (
3271
+ SubscriptionStatus_active
3272
+ | SubscriptionStatus_pending
3273
+ | SubscriptionStatus_removed
3274
+ | SubscriptionStatus_noSub
3275
+ )
3276
+
3277
+ SubscriptionStatus_Tag = Literal["active", "pending", "removed", "noSub"]
3278
+
3279
+ class SupportGroupPreference(TypedDict):
3280
+ enable: "GroupFeatureEnabled"
3281
+
3282
+ SwitchPhase = Literal["started", "confirmed", "secured", "completed"]
3283
+
3284
+ class TimedMessagesGroupPreference(TypedDict):
3285
+ enable: "GroupFeatureEnabled"
3286
+ ttl: NotRequired[int] # int
3287
+
3288
+ class TimedMessagesPreference(TypedDict):
3289
+ allow: "FeatureAllowed"
3290
+ ttl: NotRequired[int] # int
3291
+
3292
+ class TransportError_badBlock(TypedDict):
3293
+ type: Literal["badBlock"]
3294
+
3295
+ class TransportError_version(TypedDict):
3296
+ type: Literal["version"]
3297
+
3298
+ class TransportError_largeMsg(TypedDict):
3299
+ type: Literal["largeMsg"]
3300
+
3301
+ class TransportError_badSession(TypedDict):
3302
+ type: Literal["badSession"]
3303
+
3304
+ class TransportError_noServerAuth(TypedDict):
3305
+ type: Literal["noServerAuth"]
3306
+
3307
+ class TransportError_handshake(TypedDict):
3308
+ type: Literal["handshake"]
3309
+ handshakeErr: "HandshakeError"
3310
+
3311
+ TransportError = (
3312
+ TransportError_badBlock
3313
+ | TransportError_version
3314
+ | TransportError_largeMsg
3315
+ | TransportError_badSession
3316
+ | TransportError_noServerAuth
3317
+ | TransportError_handshake
3318
+ )
3319
+
3320
+ TransportError_Tag = Literal["badBlock", "version", "largeMsg", "badSession", "noServerAuth", "handshake"]
3321
+
3322
+ UIColorMode = Literal["light", "dark"]
3323
+
3324
+ class UIColors(TypedDict):
3325
+ accent: NotRequired[str]
3326
+ accentVariant: NotRequired[str]
3327
+ secondary: NotRequired[str]
3328
+ secondaryVariant: NotRequired[str]
3329
+ background: NotRequired[str]
3330
+ menus: NotRequired[str]
3331
+ title: NotRequired[str]
3332
+ accentVariant2: NotRequired[str]
3333
+ sentMessage: NotRequired[str]
3334
+ sentReply: NotRequired[str]
3335
+ receivedMessage: NotRequired[str]
3336
+ receivedReply: NotRequired[str]
3337
+
3338
+ class UIThemeEntityOverride(TypedDict):
3339
+ mode: "UIColorMode"
3340
+ wallpaper: NotRequired["ChatWallpaper"]
3341
+ colors: "UIColors"
3342
+
3343
+ class UIThemeEntityOverrides(TypedDict):
3344
+ light: NotRequired["UIThemeEntityOverride"]
3345
+ dark: NotRequired["UIThemeEntityOverride"]
3346
+
3347
+ class UpdatedMessage(TypedDict):
3348
+ msgContent: "MsgContent"
3349
+ mentions: dict[str, int] # str : int64
3350
+
3351
+ class User(TypedDict):
3352
+ userId: int # int64
3353
+ agentUserId: int # int64
3354
+ userContactId: int # int64
3355
+ localDisplayName: str
3356
+ profile: "LocalProfile"
3357
+ fullPreferences: "FullPreferences"
3358
+ activeUser: bool
3359
+ activeOrder: int # int64
3360
+ viewPwdHash: NotRequired["UserPwdHash"]
3361
+ showNtfs: bool
3362
+ sendRcptsContacts: bool
3363
+ sendRcptsSmallGroups: bool
3364
+ autoAcceptMemberContacts: bool
3365
+ userMemberProfileUpdatedAt: NotRequired[str] # ISO-8601 timestamp
3366
+ uiThemes: NotRequired["UIThemeEntityOverrides"]
3367
+ userChatRelay: bool
3368
+
3369
+ class UserChatRelay(TypedDict):
3370
+ chatRelayId: int # int64
3371
+ address: str
3372
+ relayProfile: "RelayProfile"
3373
+ domains: list[str]
3374
+ preset: bool
3375
+ tested: NotRequired[bool]
3376
+ enabled: bool
3377
+ deleted: bool
3378
+
3379
+ class UserContact(TypedDict):
3380
+ userContactLinkId: int # int64
3381
+ connReqContact: str
3382
+ groupId: NotRequired[int] # int64
3383
+
3384
+ class UserContactLink(TypedDict):
3385
+ userContactLinkId: int # int64
3386
+ connLinkContact: "CreatedConnLink"
3387
+ shortLinkDataSet: bool
3388
+ shortLinkLargeDataSet: bool
3389
+ addressSettings: "AddressSettings"
3390
+
3391
+ class UserContactRequest(TypedDict):
3392
+ contactRequestId: int # int64
3393
+ agentInvitationId: str
3394
+ contactId_: NotRequired[int] # int64
3395
+ businessGroupId_: NotRequired[int] # int64
3396
+ userContactLinkId_: NotRequired[int] # int64
3397
+ cReqChatVRange: "VersionRange"
3398
+ localDisplayName: str
3399
+ profileId: int # int64
3400
+ profile: "Profile"
3401
+ createdAt: str # ISO-8601 timestamp
3402
+ updatedAt: str # ISO-8601 timestamp
3403
+ xContactId: NotRequired[str]
3404
+ pqSupport: bool
3405
+ welcomeSharedMsgId: NotRequired[str]
3406
+ requestSharedMsgId: NotRequired[str]
3407
+
3408
+ class UserInfo(TypedDict):
3409
+ user: "User"
3410
+ unreadCount: int # int
3411
+
3412
+ class UserProfileUpdateSummary(TypedDict):
3413
+ updateSuccesses: int # int
3414
+ updateFailures: int # int
3415
+ changedContacts: list["Contact"]
3416
+
3417
+ class UserPwdHash(TypedDict):
3418
+ hash: str
3419
+ salt: str
3420
+
3421
+ class VersionRange(TypedDict):
3422
+ minVersion: int # int
3423
+ maxVersion: int # int
3424
+
3425
+ class XFTPErrorType_BLOCK(TypedDict):
3426
+ type: Literal["BLOCK"]
3427
+
3428
+ class XFTPErrorType_SESSION(TypedDict):
3429
+ type: Literal["SESSION"]
3430
+
3431
+ class XFTPErrorType_HANDSHAKE(TypedDict):
3432
+ type: Literal["HANDSHAKE"]
3433
+
3434
+ class XFTPErrorType_CMD(TypedDict):
3435
+ type: Literal["CMD"]
3436
+ cmdErr: "CommandError"
3437
+
3438
+ class XFTPErrorType_AUTH(TypedDict):
3439
+ type: Literal["AUTH"]
3440
+
3441
+ class XFTPErrorType_BLOCKED(TypedDict):
3442
+ type: Literal["BLOCKED"]
3443
+ blockInfo: "BlockingInfo"
3444
+
3445
+ class XFTPErrorType_SIZE(TypedDict):
3446
+ type: Literal["SIZE"]
3447
+
3448
+ class XFTPErrorType_QUOTA(TypedDict):
3449
+ type: Literal["QUOTA"]
3450
+
3451
+ class XFTPErrorType_DIGEST(TypedDict):
3452
+ type: Literal["DIGEST"]
3453
+
3454
+ class XFTPErrorType_CRYPTO(TypedDict):
3455
+ type: Literal["CRYPTO"]
3456
+
3457
+ class XFTPErrorType_NO_FILE(TypedDict):
3458
+ type: Literal["NO_FILE"]
3459
+
3460
+ class XFTPErrorType_HAS_FILE(TypedDict):
3461
+ type: Literal["HAS_FILE"]
3462
+
3463
+ class XFTPErrorType_FILE_IO(TypedDict):
3464
+ type: Literal["FILE_IO"]
3465
+
3466
+ class XFTPErrorType_TIMEOUT(TypedDict):
3467
+ type: Literal["TIMEOUT"]
3468
+
3469
+ class XFTPErrorType_INTERNAL(TypedDict):
3470
+ type: Literal["INTERNAL"]
3471
+
3472
+ class XFTPErrorType_DUPLICATE_(TypedDict):
3473
+ type: Literal["DUPLICATE_"]
3474
+
3475
+ XFTPErrorType = (
3476
+ XFTPErrorType_BLOCK
3477
+ | XFTPErrorType_SESSION
3478
+ | XFTPErrorType_HANDSHAKE
3479
+ | XFTPErrorType_CMD
3480
+ | XFTPErrorType_AUTH
3481
+ | XFTPErrorType_BLOCKED
3482
+ | XFTPErrorType_SIZE
3483
+ | XFTPErrorType_QUOTA
3484
+ | XFTPErrorType_DIGEST
3485
+ | XFTPErrorType_CRYPTO
3486
+ | XFTPErrorType_NO_FILE
3487
+ | XFTPErrorType_HAS_FILE
3488
+ | XFTPErrorType_FILE_IO
3489
+ | XFTPErrorType_TIMEOUT
3490
+ | XFTPErrorType_INTERNAL
3491
+ | XFTPErrorType_DUPLICATE_
3492
+ )
3493
+
3494
+ XFTPErrorType_Tag = Literal["BLOCK", "SESSION", "HANDSHAKE", "CMD", "AUTH", "BLOCKED", "SIZE", "QUOTA", "DIGEST", "CRYPTO", "NO_FILE", "HAS_FILE", "FILE_IO", "TIMEOUT", "INTERNAL", "DUPLICATE_"]
3495
+
3496
+ class XFTPRcvFile(TypedDict):
3497
+ rcvFileDescription: "RcvFileDescr"
3498
+ agentRcvFileId: NotRequired[str]
3499
+ agentRcvFileDeleted: bool
3500
+ userApprovedRelays: bool
3501
+
3502
+ class XFTPSndFile(TypedDict):
3503
+ agentSndFileId: str
3504
+ privateSndFileDescr: NotRequired[str]
3505
+ agentSndFileDeleted: bool
3506
+ cryptoArgs: NotRequired["CryptoFileArgs"]