@simplex-chat/types 0.2.0 → 0.2.1

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.
package/src/types.ts ADDED
@@ -0,0 +1,4587 @@
1
+ // API Types
2
+ // This file is generated automatically.
3
+
4
+ export interface ACIReaction {
5
+ chatInfo: ChatInfo
6
+ chatReaction: CIReaction
7
+ }
8
+
9
+ export interface AChat {
10
+ chatInfo: ChatInfo
11
+ chatItems: ChatItem[]
12
+ chatStats: ChatStats
13
+ }
14
+
15
+ export interface AChatItem {
16
+ chatInfo: ChatInfo
17
+ chatItem: ChatItem
18
+ }
19
+
20
+ export interface AddressSettings {
21
+ businessAddress: boolean
22
+ autoAccept?: AutoAccept
23
+ autoReply?: MsgContent
24
+ }
25
+
26
+ export type AgentCryptoError =
27
+ | AgentCryptoError.DECRYPT_AES
28
+ | AgentCryptoError.DECRYPT_CB
29
+ | AgentCryptoError.RATCHET_HEADER
30
+ | AgentCryptoError.RATCHET_SYNC
31
+
32
+ export namespace AgentCryptoError {
33
+ export type Tag = "DECRYPT_AES" | "DECRYPT_CB" | "RATCHET_HEADER" | "RATCHET_SYNC"
34
+
35
+ interface Interface {
36
+ type: Tag
37
+ }
38
+
39
+ export interface DECRYPT_AES extends Interface {
40
+ type: "DECRYPT_AES"
41
+ }
42
+
43
+ export interface DECRYPT_CB extends Interface {
44
+ type: "DECRYPT_CB"
45
+ }
46
+
47
+ export interface RATCHET_HEADER extends Interface {
48
+ type: "RATCHET_HEADER"
49
+ }
50
+
51
+ export interface RATCHET_SYNC extends Interface {
52
+ type: "RATCHET_SYNC"
53
+ }
54
+ }
55
+
56
+ export type AgentErrorType =
57
+ | AgentErrorType.CMD
58
+ | AgentErrorType.CONN
59
+ | AgentErrorType.NO_USER
60
+ | AgentErrorType.SMP
61
+ | AgentErrorType.NTF
62
+ | AgentErrorType.XFTP
63
+ | AgentErrorType.FILE
64
+ | AgentErrorType.PROXY
65
+ | AgentErrorType.RCP
66
+ | AgentErrorType.BROKER
67
+ | AgentErrorType.AGENT
68
+ | AgentErrorType.NOTICE
69
+ | AgentErrorType.INTERNAL
70
+ | AgentErrorType.CRITICAL
71
+ | AgentErrorType.INACTIVE
72
+
73
+ export namespace AgentErrorType {
74
+ export type Tag =
75
+ | "CMD"
76
+ | "CONN"
77
+ | "NO_USER"
78
+ | "SMP"
79
+ | "NTF"
80
+ | "XFTP"
81
+ | "FILE"
82
+ | "PROXY"
83
+ | "RCP"
84
+ | "BROKER"
85
+ | "AGENT"
86
+ | "NOTICE"
87
+ | "INTERNAL"
88
+ | "CRITICAL"
89
+ | "INACTIVE"
90
+
91
+ interface Interface {
92
+ type: Tag
93
+ }
94
+
95
+ export interface CMD extends Interface {
96
+ type: "CMD"
97
+ cmdErr: CommandErrorType
98
+ errContext: string
99
+ }
100
+
101
+ export interface CONN extends Interface {
102
+ type: "CONN"
103
+ connErr: ConnectionErrorType
104
+ errContext: string
105
+ }
106
+
107
+ export interface NO_USER extends Interface {
108
+ type: "NO_USER"
109
+ }
110
+
111
+ export interface SMP extends Interface {
112
+ type: "SMP"
113
+ serverAddress: string
114
+ smpErr: ErrorType
115
+ }
116
+
117
+ export interface NTF extends Interface {
118
+ type: "NTF"
119
+ serverAddress: string
120
+ ntfErr: ErrorType
121
+ }
122
+
123
+ export interface XFTP extends Interface {
124
+ type: "XFTP"
125
+ serverAddress: string
126
+ xftpErr: XFTPErrorType
127
+ }
128
+
129
+ export interface FILE extends Interface {
130
+ type: "FILE"
131
+ fileErr: FileErrorType
132
+ }
133
+
134
+ export interface PROXY extends Interface {
135
+ type: "PROXY"
136
+ proxyServer: string
137
+ relayServer: string
138
+ proxyErr: ProxyClientError
139
+ }
140
+
141
+ export interface RCP extends Interface {
142
+ type: "RCP"
143
+ rcpErr: RCErrorType
144
+ }
145
+
146
+ export interface BROKER extends Interface {
147
+ type: "BROKER"
148
+ brokerAddress: string
149
+ brokerErr: BrokerErrorType
150
+ }
151
+
152
+ export interface AGENT extends Interface {
153
+ type: "AGENT"
154
+ agentErr: SMPAgentError
155
+ }
156
+
157
+ export interface NOTICE extends Interface {
158
+ type: "NOTICE"
159
+ server: string
160
+ preset: boolean
161
+ expiresAt?: string // ISO-8601 timestamp
162
+ }
163
+
164
+ export interface INTERNAL extends Interface {
165
+ type: "INTERNAL"
166
+ internalErr: string
167
+ }
168
+
169
+ export interface CRITICAL extends Interface {
170
+ type: "CRITICAL"
171
+ offerRestart: boolean
172
+ criticalErr: string
173
+ }
174
+
175
+ export interface INACTIVE extends Interface {
176
+ type: "INACTIVE"
177
+ }
178
+ }
179
+
180
+ export interface AutoAccept {
181
+ acceptIncognito: boolean
182
+ }
183
+
184
+ export interface BlockingInfo {
185
+ reason: BlockingReason
186
+ notice?: ClientNotice
187
+ }
188
+
189
+ export enum BlockingReason {
190
+ Spam = "spam",
191
+ Content = "content",
192
+ }
193
+
194
+ export type BrokerErrorType =
195
+ | BrokerErrorType.RESPONSE
196
+ | BrokerErrorType.UNEXPECTED
197
+ | BrokerErrorType.NETWORK
198
+ | BrokerErrorType.HOST
199
+ | BrokerErrorType.NO_SERVICE
200
+ | BrokerErrorType.TRANSPORT
201
+ | BrokerErrorType.TIMEOUT
202
+
203
+ export namespace BrokerErrorType {
204
+ export type Tag =
205
+ | "RESPONSE"
206
+ | "UNEXPECTED"
207
+ | "NETWORK"
208
+ | "HOST"
209
+ | "NO_SERVICE"
210
+ | "TRANSPORT"
211
+ | "TIMEOUT"
212
+
213
+ interface Interface {
214
+ type: Tag
215
+ }
216
+
217
+ export interface RESPONSE extends Interface {
218
+ type: "RESPONSE"
219
+ respErr: string
220
+ }
221
+
222
+ export interface UNEXPECTED extends Interface {
223
+ type: "UNEXPECTED"
224
+ respErr: string
225
+ }
226
+
227
+ export interface NETWORK extends Interface {
228
+ type: "NETWORK"
229
+ networkError: NetworkError
230
+ }
231
+
232
+ export interface HOST extends Interface {
233
+ type: "HOST"
234
+ }
235
+
236
+ export interface NO_SERVICE extends Interface {
237
+ type: "NO_SERVICE"
238
+ }
239
+
240
+ export interface TRANSPORT extends Interface {
241
+ type: "TRANSPORT"
242
+ transportErr: TransportError
243
+ }
244
+
245
+ export interface TIMEOUT extends Interface {
246
+ type: "TIMEOUT"
247
+ }
248
+ }
249
+
250
+ export interface BusinessChatInfo {
251
+ chatType: BusinessChatType
252
+ businessId: string
253
+ customerId: string
254
+ }
255
+
256
+ export enum BusinessChatType {
257
+ Business = "business",
258
+ Customer = "customer",
259
+ }
260
+
261
+ export enum CICallStatus {
262
+ Pending = "pending",
263
+ Missed = "missed",
264
+ Rejected = "rejected",
265
+ Accepted = "accepted",
266
+ Negotiated = "negotiated",
267
+ Progress = "progress",
268
+ Ended = "ended",
269
+ Error = "error",
270
+ }
271
+
272
+ export type CIContent =
273
+ | CIContent.SndMsgContent
274
+ | CIContent.RcvMsgContent
275
+ | CIContent.SndDeleted
276
+ | CIContent.RcvDeleted
277
+ | CIContent.SndCall
278
+ | CIContent.RcvCall
279
+ | CIContent.RcvIntegrityError
280
+ | CIContent.RcvDecryptionError
281
+ | CIContent.RcvGroupInvitation
282
+ | CIContent.SndGroupInvitation
283
+ | CIContent.RcvDirectEvent
284
+ | CIContent.RcvGroupEvent
285
+ | CIContent.SndGroupEvent
286
+ | CIContent.RcvConnEvent
287
+ | CIContent.SndConnEvent
288
+ | CIContent.RcvChatFeature
289
+ | CIContent.SndChatFeature
290
+ | CIContent.RcvChatPreference
291
+ | CIContent.SndChatPreference
292
+ | CIContent.RcvGroupFeature
293
+ | CIContent.SndGroupFeature
294
+ | CIContent.RcvChatFeatureRejected
295
+ | CIContent.RcvGroupFeatureRejected
296
+ | CIContent.SndModerated
297
+ | CIContent.RcvModerated
298
+ | CIContent.RcvBlocked
299
+ | CIContent.SndDirectE2EEInfo
300
+ | CIContent.RcvDirectE2EEInfo
301
+ | CIContent.SndGroupE2EEInfo
302
+ | CIContent.RcvGroupE2EEInfo
303
+ | CIContent.ChatBanner
304
+
305
+ export namespace CIContent {
306
+ export type Tag =
307
+ | "sndMsgContent"
308
+ | "rcvMsgContent"
309
+ | "sndDeleted"
310
+ | "rcvDeleted"
311
+ | "sndCall"
312
+ | "rcvCall"
313
+ | "rcvIntegrityError"
314
+ | "rcvDecryptionError"
315
+ | "rcvGroupInvitation"
316
+ | "sndGroupInvitation"
317
+ | "rcvDirectEvent"
318
+ | "rcvGroupEvent"
319
+ | "sndGroupEvent"
320
+ | "rcvConnEvent"
321
+ | "sndConnEvent"
322
+ | "rcvChatFeature"
323
+ | "sndChatFeature"
324
+ | "rcvChatPreference"
325
+ | "sndChatPreference"
326
+ | "rcvGroupFeature"
327
+ | "sndGroupFeature"
328
+ | "rcvChatFeatureRejected"
329
+ | "rcvGroupFeatureRejected"
330
+ | "sndModerated"
331
+ | "rcvModerated"
332
+ | "rcvBlocked"
333
+ | "sndDirectE2EEInfo"
334
+ | "rcvDirectE2EEInfo"
335
+ | "sndGroupE2EEInfo"
336
+ | "rcvGroupE2EEInfo"
337
+ | "chatBanner"
338
+
339
+ interface Interface {
340
+ type: Tag
341
+ }
342
+
343
+ export interface SndMsgContent extends Interface {
344
+ type: "sndMsgContent"
345
+ msgContent: MsgContent
346
+ }
347
+
348
+ export interface RcvMsgContent extends Interface {
349
+ type: "rcvMsgContent"
350
+ msgContent: MsgContent
351
+ }
352
+
353
+ export interface SndDeleted extends Interface {
354
+ type: "sndDeleted"
355
+ deleteMode: CIDeleteMode
356
+ }
357
+
358
+ export interface RcvDeleted extends Interface {
359
+ type: "rcvDeleted"
360
+ deleteMode: CIDeleteMode
361
+ }
362
+
363
+ export interface SndCall extends Interface {
364
+ type: "sndCall"
365
+ status: CICallStatus
366
+ duration: number // int
367
+ }
368
+
369
+ export interface RcvCall extends Interface {
370
+ type: "rcvCall"
371
+ status: CICallStatus
372
+ duration: number // int
373
+ }
374
+
375
+ export interface RcvIntegrityError extends Interface {
376
+ type: "rcvIntegrityError"
377
+ msgError: MsgErrorType
378
+ }
379
+
380
+ export interface RcvDecryptionError extends Interface {
381
+ type: "rcvDecryptionError"
382
+ msgDecryptError: MsgDecryptError
383
+ msgCount: number // word32
384
+ }
385
+
386
+ export interface RcvGroupInvitation extends Interface {
387
+ type: "rcvGroupInvitation"
388
+ groupInvitation: CIGroupInvitation
389
+ memberRole: GroupMemberRole
390
+ }
391
+
392
+ export interface SndGroupInvitation extends Interface {
393
+ type: "sndGroupInvitation"
394
+ groupInvitation: CIGroupInvitation
395
+ memberRole: GroupMemberRole
396
+ }
397
+
398
+ export interface RcvDirectEvent extends Interface {
399
+ type: "rcvDirectEvent"
400
+ rcvDirectEvent: RcvDirectEvent
401
+ }
402
+
403
+ export interface RcvGroupEvent extends Interface {
404
+ type: "rcvGroupEvent"
405
+ rcvGroupEvent: RcvGroupEvent
406
+ }
407
+
408
+ export interface SndGroupEvent extends Interface {
409
+ type: "sndGroupEvent"
410
+ sndGroupEvent: SndGroupEvent
411
+ }
412
+
413
+ export interface RcvConnEvent extends Interface {
414
+ type: "rcvConnEvent"
415
+ rcvConnEvent: RcvConnEvent
416
+ }
417
+
418
+ export interface SndConnEvent extends Interface {
419
+ type: "sndConnEvent"
420
+ sndConnEvent: SndConnEvent
421
+ }
422
+
423
+ export interface RcvChatFeature extends Interface {
424
+ type: "rcvChatFeature"
425
+ feature: ChatFeature
426
+ enabled: PrefEnabled
427
+ param?: number // int
428
+ }
429
+
430
+ export interface SndChatFeature extends Interface {
431
+ type: "sndChatFeature"
432
+ feature: ChatFeature
433
+ enabled: PrefEnabled
434
+ param?: number // int
435
+ }
436
+
437
+ export interface RcvChatPreference extends Interface {
438
+ type: "rcvChatPreference"
439
+ feature: ChatFeature
440
+ allowed: FeatureAllowed
441
+ param?: number // int
442
+ }
443
+
444
+ export interface SndChatPreference extends Interface {
445
+ type: "sndChatPreference"
446
+ feature: ChatFeature
447
+ allowed: FeatureAllowed
448
+ param?: number // int
449
+ }
450
+
451
+ export interface RcvGroupFeature extends Interface {
452
+ type: "rcvGroupFeature"
453
+ groupFeature: GroupFeature
454
+ preference: GroupPreference
455
+ param?: number // int
456
+ memberRole_?: GroupMemberRole
457
+ }
458
+
459
+ export interface SndGroupFeature extends Interface {
460
+ type: "sndGroupFeature"
461
+ groupFeature: GroupFeature
462
+ preference: GroupPreference
463
+ param?: number // int
464
+ memberRole_?: GroupMemberRole
465
+ }
466
+
467
+ export interface RcvChatFeatureRejected extends Interface {
468
+ type: "rcvChatFeatureRejected"
469
+ feature: ChatFeature
470
+ }
471
+
472
+ export interface RcvGroupFeatureRejected extends Interface {
473
+ type: "rcvGroupFeatureRejected"
474
+ groupFeature: GroupFeature
475
+ }
476
+
477
+ export interface SndModerated extends Interface {
478
+ type: "sndModerated"
479
+ }
480
+
481
+ export interface RcvModerated extends Interface {
482
+ type: "rcvModerated"
483
+ }
484
+
485
+ export interface RcvBlocked extends Interface {
486
+ type: "rcvBlocked"
487
+ }
488
+
489
+ export interface SndDirectE2EEInfo extends Interface {
490
+ type: "sndDirectE2EEInfo"
491
+ e2eeInfo: E2EInfo
492
+ }
493
+
494
+ export interface RcvDirectE2EEInfo extends Interface {
495
+ type: "rcvDirectE2EEInfo"
496
+ e2eeInfo: E2EInfo
497
+ }
498
+
499
+ export interface SndGroupE2EEInfo extends Interface {
500
+ type: "sndGroupE2EEInfo"
501
+ e2eeInfo: E2EInfo
502
+ }
503
+
504
+ export interface RcvGroupE2EEInfo extends Interface {
505
+ type: "rcvGroupE2EEInfo"
506
+ e2eeInfo: E2EInfo
507
+ }
508
+
509
+ export interface ChatBanner extends Interface {
510
+ type: "chatBanner"
511
+ }
512
+ }
513
+
514
+ export enum CIDeleteMode {
515
+ Broadcast = "broadcast",
516
+ Internal = "internal",
517
+ InternalMark = "internalMark",
518
+ }
519
+
520
+ export type CIDeleted = CIDeleted.Deleted | CIDeleted.Blocked | CIDeleted.BlockedByAdmin | CIDeleted.Moderated
521
+
522
+ export namespace CIDeleted {
523
+ export type Tag = "deleted" | "blocked" | "blockedByAdmin" | "moderated"
524
+
525
+ interface Interface {
526
+ type: Tag
527
+ }
528
+
529
+ export interface Deleted extends Interface {
530
+ type: "deleted"
531
+ deletedTs?: string // ISO-8601 timestamp
532
+ chatType: ChatType
533
+ }
534
+
535
+ export interface Blocked extends Interface {
536
+ type: "blocked"
537
+ deletedTs?: string // ISO-8601 timestamp
538
+ }
539
+
540
+ export interface BlockedByAdmin extends Interface {
541
+ type: "blockedByAdmin"
542
+ deletedTs?: string // ISO-8601 timestamp
543
+ }
544
+
545
+ export interface Moderated extends Interface {
546
+ type: "moderated"
547
+ deletedTs?: string // ISO-8601 timestamp
548
+ byGroupMember: GroupMember
549
+ }
550
+ }
551
+
552
+ export type CIDirection =
553
+ | CIDirection.DirectSnd
554
+ | CIDirection.DirectRcv
555
+ | CIDirection.GroupSnd
556
+ | CIDirection.GroupRcv
557
+ | CIDirection.LocalSnd
558
+ | CIDirection.LocalRcv
559
+
560
+ export namespace CIDirection {
561
+ export type Tag = "directSnd" | "directRcv" | "groupSnd" | "groupRcv" | "localSnd" | "localRcv"
562
+
563
+ interface Interface {
564
+ type: Tag
565
+ }
566
+
567
+ export interface DirectSnd extends Interface {
568
+ type: "directSnd"
569
+ }
570
+
571
+ export interface DirectRcv extends Interface {
572
+ type: "directRcv"
573
+ }
574
+
575
+ export interface GroupSnd extends Interface {
576
+ type: "groupSnd"
577
+ }
578
+
579
+ export interface GroupRcv extends Interface {
580
+ type: "groupRcv"
581
+ groupMember: GroupMember
582
+ }
583
+
584
+ export interface LocalSnd extends Interface {
585
+ type: "localSnd"
586
+ }
587
+
588
+ export interface LocalRcv extends Interface {
589
+ type: "localRcv"
590
+ }
591
+ }
592
+
593
+ export interface CIFile {
594
+ fileId: number // int64
595
+ fileName: string
596
+ fileSize: number // int64
597
+ fileSource?: CryptoFile
598
+ fileStatus: CIFileStatus
599
+ fileProtocol: FileProtocol
600
+ }
601
+
602
+ export type CIFileStatus =
603
+ | CIFileStatus.SndStored
604
+ | CIFileStatus.SndTransfer
605
+ | CIFileStatus.SndCancelled
606
+ | CIFileStatus.SndComplete
607
+ | CIFileStatus.SndError
608
+ | CIFileStatus.SndWarning
609
+ | CIFileStatus.RcvInvitation
610
+ | CIFileStatus.RcvAccepted
611
+ | CIFileStatus.RcvTransfer
612
+ | CIFileStatus.RcvAborted
613
+ | CIFileStatus.RcvComplete
614
+ | CIFileStatus.RcvCancelled
615
+ | CIFileStatus.RcvError
616
+ | CIFileStatus.RcvWarning
617
+ | CIFileStatus.Invalid
618
+
619
+ export namespace CIFileStatus {
620
+ export type Tag =
621
+ | "sndStored"
622
+ | "sndTransfer"
623
+ | "sndCancelled"
624
+ | "sndComplete"
625
+ | "sndError"
626
+ | "sndWarning"
627
+ | "rcvInvitation"
628
+ | "rcvAccepted"
629
+ | "rcvTransfer"
630
+ | "rcvAborted"
631
+ | "rcvComplete"
632
+ | "rcvCancelled"
633
+ | "rcvError"
634
+ | "rcvWarning"
635
+ | "invalid"
636
+
637
+ interface Interface {
638
+ type: Tag
639
+ }
640
+
641
+ export interface SndStored extends Interface {
642
+ type: "sndStored"
643
+ }
644
+
645
+ export interface SndTransfer extends Interface {
646
+ type: "sndTransfer"
647
+ sndProgress: number // int64
648
+ sndTotal: number // int64
649
+ }
650
+
651
+ export interface SndCancelled extends Interface {
652
+ type: "sndCancelled"
653
+ }
654
+
655
+ export interface SndComplete extends Interface {
656
+ type: "sndComplete"
657
+ }
658
+
659
+ export interface SndError extends Interface {
660
+ type: "sndError"
661
+ sndFileError: FileError
662
+ }
663
+
664
+ export interface SndWarning extends Interface {
665
+ type: "sndWarning"
666
+ sndFileError: FileError
667
+ }
668
+
669
+ export interface RcvInvitation extends Interface {
670
+ type: "rcvInvitation"
671
+ }
672
+
673
+ export interface RcvAccepted extends Interface {
674
+ type: "rcvAccepted"
675
+ }
676
+
677
+ export interface RcvTransfer extends Interface {
678
+ type: "rcvTransfer"
679
+ rcvProgress: number // int64
680
+ rcvTotal: number // int64
681
+ }
682
+
683
+ export interface RcvAborted extends Interface {
684
+ type: "rcvAborted"
685
+ }
686
+
687
+ export interface RcvComplete extends Interface {
688
+ type: "rcvComplete"
689
+ }
690
+
691
+ export interface RcvCancelled extends Interface {
692
+ type: "rcvCancelled"
693
+ }
694
+
695
+ export interface RcvError extends Interface {
696
+ type: "rcvError"
697
+ rcvFileError: FileError
698
+ }
699
+
700
+ export interface RcvWarning extends Interface {
701
+ type: "rcvWarning"
702
+ rcvFileError: FileError
703
+ }
704
+
705
+ export interface Invalid extends Interface {
706
+ type: "invalid"
707
+ text: string
708
+ }
709
+ }
710
+
711
+ export type CIForwardedFrom = CIForwardedFrom.Unknown | CIForwardedFrom.Contact | CIForwardedFrom.Group
712
+
713
+ export namespace CIForwardedFrom {
714
+ export type Tag = "unknown" | "contact" | "group"
715
+
716
+ interface Interface {
717
+ type: Tag
718
+ }
719
+
720
+ export interface Unknown extends Interface {
721
+ type: "unknown"
722
+ }
723
+
724
+ export interface Contact extends Interface {
725
+ type: "contact"
726
+ chatName: string
727
+ msgDir: MsgDirection
728
+ contactId?: number // int64
729
+ chatItemId?: number // int64
730
+ }
731
+
732
+ export interface Group extends Interface {
733
+ type: "group"
734
+ chatName: string
735
+ msgDir: MsgDirection
736
+ groupId?: number // int64
737
+ chatItemId?: number // int64
738
+ }
739
+ }
740
+
741
+ export interface CIGroupInvitation {
742
+ groupId: number // int64
743
+ groupMemberId: number // int64
744
+ localDisplayName: string
745
+ groupProfile: GroupProfile
746
+ status: CIGroupInvitationStatus
747
+ }
748
+
749
+ export enum CIGroupInvitationStatus {
750
+ Pending = "pending",
751
+ Accepted = "accepted",
752
+ Rejected = "rejected",
753
+ Expired = "expired",
754
+ }
755
+
756
+ export interface CIMention {
757
+ memberId: string
758
+ memberRef?: CIMentionMember
759
+ }
760
+
761
+ export interface CIMentionMember {
762
+ groupMemberId: number // int64
763
+ displayName: string
764
+ localAlias?: string
765
+ memberRole: GroupMemberRole
766
+ }
767
+
768
+ export interface CIMeta {
769
+ itemId: number // int64
770
+ itemTs: string // ISO-8601 timestamp
771
+ itemText: string
772
+ itemStatus: CIStatus
773
+ sentViaProxy?: boolean
774
+ itemSharedMsgId?: string
775
+ itemForwarded?: CIForwardedFrom
776
+ itemDeleted?: CIDeleted
777
+ itemEdited: boolean
778
+ itemTimed?: CITimed
779
+ itemLive?: boolean
780
+ userMention: boolean
781
+ deletable: boolean
782
+ editable: boolean
783
+ forwardedByMember?: number // int64
784
+ showGroupAsSender: boolean
785
+ createdAt: string // ISO-8601 timestamp
786
+ updatedAt: string // ISO-8601 timestamp
787
+ }
788
+
789
+ export interface CIQuote {
790
+ chatDir?: CIDirection
791
+ itemId?: number // int64
792
+ sharedMsgId?: string
793
+ sentAt: string // ISO-8601 timestamp
794
+ content: MsgContent
795
+ formattedText?: FormattedText[]
796
+ }
797
+
798
+ export interface CIReaction {
799
+ chatDir: CIDirection
800
+ chatItem: ChatItem
801
+ sentAt: string // ISO-8601 timestamp
802
+ reaction: MsgReaction
803
+ }
804
+
805
+ export interface CIReactionCount {
806
+ reaction: MsgReaction
807
+ userReacted: boolean
808
+ totalReacted: number // int
809
+ }
810
+
811
+ export type CIStatus =
812
+ | CIStatus.SndNew
813
+ | CIStatus.SndSent
814
+ | CIStatus.SndRcvd
815
+ | CIStatus.SndErrorAuth
816
+ | CIStatus.SndError
817
+ | CIStatus.SndWarning
818
+ | CIStatus.RcvNew
819
+ | CIStatus.RcvRead
820
+ | CIStatus.Invalid
821
+
822
+ export namespace CIStatus {
823
+ export type Tag =
824
+ | "sndNew"
825
+ | "sndSent"
826
+ | "sndRcvd"
827
+ | "sndErrorAuth"
828
+ | "sndError"
829
+ | "sndWarning"
830
+ | "rcvNew"
831
+ | "rcvRead"
832
+ | "invalid"
833
+
834
+ interface Interface {
835
+ type: Tag
836
+ }
837
+
838
+ export interface SndNew extends Interface {
839
+ type: "sndNew"
840
+ }
841
+
842
+ export interface SndSent extends Interface {
843
+ type: "sndSent"
844
+ sndProgress: SndCIStatusProgress
845
+ }
846
+
847
+ export interface SndRcvd extends Interface {
848
+ type: "sndRcvd"
849
+ msgRcptStatus: MsgReceiptStatus
850
+ sndProgress: SndCIStatusProgress
851
+ }
852
+
853
+ export interface SndErrorAuth extends Interface {
854
+ type: "sndErrorAuth"
855
+ }
856
+
857
+ export interface SndError extends Interface {
858
+ type: "sndError"
859
+ agentError: SndError
860
+ }
861
+
862
+ export interface SndWarning extends Interface {
863
+ type: "sndWarning"
864
+ agentError: SndError
865
+ }
866
+
867
+ export interface RcvNew extends Interface {
868
+ type: "rcvNew"
869
+ }
870
+
871
+ export interface RcvRead extends Interface {
872
+ type: "rcvRead"
873
+ }
874
+
875
+ export interface Invalid extends Interface {
876
+ type: "invalid"
877
+ text: string
878
+ }
879
+ }
880
+
881
+ export interface CITimed {
882
+ ttl: number // int
883
+ deleteAt?: string // ISO-8601 timestamp
884
+ }
885
+
886
+ export type ChatBotCommand = ChatBotCommand.Command | ChatBotCommand.Menu
887
+
888
+ export namespace ChatBotCommand {
889
+ export type Tag = "command" | "menu"
890
+
891
+ interface Interface {
892
+ type: Tag
893
+ }
894
+
895
+ export interface Command extends Interface {
896
+ type: "command"
897
+ keyword: string
898
+ label: string
899
+ params?: string
900
+ }
901
+
902
+ export interface Menu extends Interface {
903
+ type: "menu"
904
+ label: string
905
+ commands: ChatBotCommand[]
906
+ }
907
+ }
908
+
909
+ export type ChatDeleteMode = ChatDeleteMode.Full | ChatDeleteMode.Entity | ChatDeleteMode.Messages
910
+
911
+ export namespace ChatDeleteMode {
912
+ export type Tag = "full" | "entity" | "messages"
913
+
914
+ interface Interface {
915
+ type: Tag
916
+ }
917
+
918
+ export interface Full extends Interface {
919
+ type: "full"
920
+ notify: boolean
921
+ }
922
+
923
+ export interface Entity extends Interface {
924
+ type: "entity"
925
+ notify: boolean
926
+ }
927
+
928
+ export interface Messages extends Interface {
929
+ type: "messages"
930
+ }
931
+
932
+ export function cmdString(self: ChatDeleteMode): string {
933
+ return self.type + (self.type == 'messages' ? '' : (!self.notify ? ' notify=off' : ''))
934
+ }
935
+ }
936
+
937
+ export type ChatError = ChatError.Error | ChatError.ErrorAgent | ChatError.ErrorStore
938
+
939
+ export namespace ChatError {
940
+ export type Tag = "error" | "errorAgent" | "errorStore"
941
+
942
+ interface Interface {
943
+ type: Tag
944
+ }
945
+
946
+ export interface Error extends Interface {
947
+ type: "error"
948
+ errorType: ChatErrorType
949
+ }
950
+
951
+ export interface ErrorAgent extends Interface {
952
+ type: "errorAgent"
953
+ agentError: AgentErrorType
954
+ agentConnId: string
955
+ connectionEntity_?: ConnectionEntity
956
+ }
957
+
958
+ export interface ErrorStore extends Interface {
959
+ type: "errorStore"
960
+ storeError: StoreError
961
+ }
962
+ }
963
+
964
+ export type ChatErrorType =
965
+ | ChatErrorType.NoActiveUser
966
+ | ChatErrorType.NoConnectionUser
967
+ | ChatErrorType.NoSndFileUser
968
+ | ChatErrorType.NoRcvFileUser
969
+ | ChatErrorType.UserUnknown
970
+ | ChatErrorType.ActiveUserExists
971
+ | ChatErrorType.UserExists
972
+ | ChatErrorType.DifferentActiveUser
973
+ | ChatErrorType.CantDeleteActiveUser
974
+ | ChatErrorType.CantDeleteLastUser
975
+ | ChatErrorType.CantHideLastUser
976
+ | ChatErrorType.HiddenUserAlwaysMuted
977
+ | ChatErrorType.EmptyUserPassword
978
+ | ChatErrorType.UserAlreadyHidden
979
+ | ChatErrorType.UserNotHidden
980
+ | ChatErrorType.InvalidDisplayName
981
+ | ChatErrorType.ChatNotStarted
982
+ | ChatErrorType.ChatNotStopped
983
+ | ChatErrorType.ChatStoreChanged
984
+ | ChatErrorType.InvalidConnReq
985
+ | ChatErrorType.UnsupportedConnReq
986
+ | ChatErrorType.ConnReqMessageProhibited
987
+ | ChatErrorType.ContactNotReady
988
+ | ChatErrorType.ContactNotActive
989
+ | ChatErrorType.ContactDisabled
990
+ | ChatErrorType.ConnectionDisabled
991
+ | ChatErrorType.GroupUserRole
992
+ | ChatErrorType.GroupMemberInitialRole
993
+ | ChatErrorType.ContactIncognitoCantInvite
994
+ | ChatErrorType.GroupIncognitoCantInvite
995
+ | ChatErrorType.GroupContactRole
996
+ | ChatErrorType.GroupDuplicateMember
997
+ | ChatErrorType.GroupDuplicateMemberId
998
+ | ChatErrorType.GroupNotJoined
999
+ | ChatErrorType.GroupMemberNotActive
1000
+ | ChatErrorType.CantBlockMemberForSelf
1001
+ | ChatErrorType.GroupMemberUserRemoved
1002
+ | ChatErrorType.GroupMemberNotFound
1003
+ | ChatErrorType.GroupCantResendInvitation
1004
+ | ChatErrorType.GroupInternal
1005
+ | ChatErrorType.FileNotFound
1006
+ | ChatErrorType.FileSize
1007
+ | ChatErrorType.FileAlreadyReceiving
1008
+ | ChatErrorType.FileCancelled
1009
+ | ChatErrorType.FileCancel
1010
+ | ChatErrorType.FileAlreadyExists
1011
+ | ChatErrorType.FileWrite
1012
+ | ChatErrorType.FileSend
1013
+ | ChatErrorType.FileRcvChunk
1014
+ | ChatErrorType.FileInternal
1015
+ | ChatErrorType.FileImageType
1016
+ | ChatErrorType.FileImageSize
1017
+ | ChatErrorType.FileNotReceived
1018
+ | ChatErrorType.FileNotApproved
1019
+ | ChatErrorType.FallbackToSMPProhibited
1020
+ | ChatErrorType.InlineFileProhibited
1021
+ | ChatErrorType.InvalidForward
1022
+ | ChatErrorType.InvalidChatItemUpdate
1023
+ | ChatErrorType.InvalidChatItemDelete
1024
+ | ChatErrorType.HasCurrentCall
1025
+ | ChatErrorType.NoCurrentCall
1026
+ | ChatErrorType.CallContact
1027
+ | ChatErrorType.DirectMessagesProhibited
1028
+ | ChatErrorType.AgentVersion
1029
+ | ChatErrorType.AgentNoSubResult
1030
+ | ChatErrorType.CommandError
1031
+ | ChatErrorType.AgentCommandError
1032
+ | ChatErrorType.InvalidFileDescription
1033
+ | ChatErrorType.ConnectionIncognitoChangeProhibited
1034
+ | ChatErrorType.ConnectionUserChangeProhibited
1035
+ | ChatErrorType.PeerChatVRangeIncompatible
1036
+ | ChatErrorType.InternalError
1037
+ | ChatErrorType.Exception
1038
+
1039
+ export namespace ChatErrorType {
1040
+ export type Tag =
1041
+ | "noActiveUser"
1042
+ | "noConnectionUser"
1043
+ | "noSndFileUser"
1044
+ | "noRcvFileUser"
1045
+ | "userUnknown"
1046
+ | "activeUserExists"
1047
+ | "userExists"
1048
+ | "differentActiveUser"
1049
+ | "cantDeleteActiveUser"
1050
+ | "cantDeleteLastUser"
1051
+ | "cantHideLastUser"
1052
+ | "hiddenUserAlwaysMuted"
1053
+ | "emptyUserPassword"
1054
+ | "userAlreadyHidden"
1055
+ | "userNotHidden"
1056
+ | "invalidDisplayName"
1057
+ | "chatNotStarted"
1058
+ | "chatNotStopped"
1059
+ | "chatStoreChanged"
1060
+ | "invalidConnReq"
1061
+ | "unsupportedConnReq"
1062
+ | "connReqMessageProhibited"
1063
+ | "contactNotReady"
1064
+ | "contactNotActive"
1065
+ | "contactDisabled"
1066
+ | "connectionDisabled"
1067
+ | "groupUserRole"
1068
+ | "groupMemberInitialRole"
1069
+ | "contactIncognitoCantInvite"
1070
+ | "groupIncognitoCantInvite"
1071
+ | "groupContactRole"
1072
+ | "groupDuplicateMember"
1073
+ | "groupDuplicateMemberId"
1074
+ | "groupNotJoined"
1075
+ | "groupMemberNotActive"
1076
+ | "cantBlockMemberForSelf"
1077
+ | "groupMemberUserRemoved"
1078
+ | "groupMemberNotFound"
1079
+ | "groupCantResendInvitation"
1080
+ | "groupInternal"
1081
+ | "fileNotFound"
1082
+ | "fileSize"
1083
+ | "fileAlreadyReceiving"
1084
+ | "fileCancelled"
1085
+ | "fileCancel"
1086
+ | "fileAlreadyExists"
1087
+ | "fileWrite"
1088
+ | "fileSend"
1089
+ | "fileRcvChunk"
1090
+ | "fileInternal"
1091
+ | "fileImageType"
1092
+ | "fileImageSize"
1093
+ | "fileNotReceived"
1094
+ | "fileNotApproved"
1095
+ | "fallbackToSMPProhibited"
1096
+ | "inlineFileProhibited"
1097
+ | "invalidForward"
1098
+ | "invalidChatItemUpdate"
1099
+ | "invalidChatItemDelete"
1100
+ | "hasCurrentCall"
1101
+ | "noCurrentCall"
1102
+ | "callContact"
1103
+ | "directMessagesProhibited"
1104
+ | "agentVersion"
1105
+ | "agentNoSubResult"
1106
+ | "commandError"
1107
+ | "agentCommandError"
1108
+ | "invalidFileDescription"
1109
+ | "connectionIncognitoChangeProhibited"
1110
+ | "connectionUserChangeProhibited"
1111
+ | "peerChatVRangeIncompatible"
1112
+ | "internalError"
1113
+ | "exception"
1114
+
1115
+ interface Interface {
1116
+ type: Tag
1117
+ }
1118
+
1119
+ export interface NoActiveUser extends Interface {
1120
+ type: "noActiveUser"
1121
+ }
1122
+
1123
+ export interface NoConnectionUser extends Interface {
1124
+ type: "noConnectionUser"
1125
+ agentConnId: string
1126
+ }
1127
+
1128
+ export interface NoSndFileUser extends Interface {
1129
+ type: "noSndFileUser"
1130
+ agentSndFileId: string
1131
+ }
1132
+
1133
+ export interface NoRcvFileUser extends Interface {
1134
+ type: "noRcvFileUser"
1135
+ agentRcvFileId: string
1136
+ }
1137
+
1138
+ export interface UserUnknown extends Interface {
1139
+ type: "userUnknown"
1140
+ }
1141
+
1142
+ export interface ActiveUserExists extends Interface {
1143
+ type: "activeUserExists"
1144
+ }
1145
+
1146
+ export interface UserExists extends Interface {
1147
+ type: "userExists"
1148
+ contactName: string
1149
+ }
1150
+
1151
+ export interface DifferentActiveUser extends Interface {
1152
+ type: "differentActiveUser"
1153
+ commandUserId: number // int64
1154
+ activeUserId: number // int64
1155
+ }
1156
+
1157
+ export interface CantDeleteActiveUser extends Interface {
1158
+ type: "cantDeleteActiveUser"
1159
+ userId: number // int64
1160
+ }
1161
+
1162
+ export interface CantDeleteLastUser extends Interface {
1163
+ type: "cantDeleteLastUser"
1164
+ userId: number // int64
1165
+ }
1166
+
1167
+ export interface CantHideLastUser extends Interface {
1168
+ type: "cantHideLastUser"
1169
+ userId: number // int64
1170
+ }
1171
+
1172
+ export interface HiddenUserAlwaysMuted extends Interface {
1173
+ type: "hiddenUserAlwaysMuted"
1174
+ userId: number // int64
1175
+ }
1176
+
1177
+ export interface EmptyUserPassword extends Interface {
1178
+ type: "emptyUserPassword"
1179
+ userId: number // int64
1180
+ }
1181
+
1182
+ export interface UserAlreadyHidden extends Interface {
1183
+ type: "userAlreadyHidden"
1184
+ userId: number // int64
1185
+ }
1186
+
1187
+ export interface UserNotHidden extends Interface {
1188
+ type: "userNotHidden"
1189
+ userId: number // int64
1190
+ }
1191
+
1192
+ export interface InvalidDisplayName extends Interface {
1193
+ type: "invalidDisplayName"
1194
+ displayName: string
1195
+ validName: string
1196
+ }
1197
+
1198
+ export interface ChatNotStarted extends Interface {
1199
+ type: "chatNotStarted"
1200
+ }
1201
+
1202
+ export interface ChatNotStopped extends Interface {
1203
+ type: "chatNotStopped"
1204
+ }
1205
+
1206
+ export interface ChatStoreChanged extends Interface {
1207
+ type: "chatStoreChanged"
1208
+ }
1209
+
1210
+ export interface InvalidConnReq extends Interface {
1211
+ type: "invalidConnReq"
1212
+ }
1213
+
1214
+ export interface UnsupportedConnReq extends Interface {
1215
+ type: "unsupportedConnReq"
1216
+ }
1217
+
1218
+ export interface ConnReqMessageProhibited extends Interface {
1219
+ type: "connReqMessageProhibited"
1220
+ }
1221
+
1222
+ export interface ContactNotReady extends Interface {
1223
+ type: "contactNotReady"
1224
+ contact: Contact
1225
+ }
1226
+
1227
+ export interface ContactNotActive extends Interface {
1228
+ type: "contactNotActive"
1229
+ contact: Contact
1230
+ }
1231
+
1232
+ export interface ContactDisabled extends Interface {
1233
+ type: "contactDisabled"
1234
+ contact: Contact
1235
+ }
1236
+
1237
+ export interface ConnectionDisabled extends Interface {
1238
+ type: "connectionDisabled"
1239
+ connection: Connection
1240
+ }
1241
+
1242
+ export interface GroupUserRole extends Interface {
1243
+ type: "groupUserRole"
1244
+ groupInfo: GroupInfo
1245
+ requiredRole: GroupMemberRole
1246
+ }
1247
+
1248
+ export interface GroupMemberInitialRole extends Interface {
1249
+ type: "groupMemberInitialRole"
1250
+ groupInfo: GroupInfo
1251
+ initialRole: GroupMemberRole
1252
+ }
1253
+
1254
+ export interface ContactIncognitoCantInvite extends Interface {
1255
+ type: "contactIncognitoCantInvite"
1256
+ }
1257
+
1258
+ export interface GroupIncognitoCantInvite extends Interface {
1259
+ type: "groupIncognitoCantInvite"
1260
+ }
1261
+
1262
+ export interface GroupContactRole extends Interface {
1263
+ type: "groupContactRole"
1264
+ contactName: string
1265
+ }
1266
+
1267
+ export interface GroupDuplicateMember extends Interface {
1268
+ type: "groupDuplicateMember"
1269
+ contactName: string
1270
+ }
1271
+
1272
+ export interface GroupDuplicateMemberId extends Interface {
1273
+ type: "groupDuplicateMemberId"
1274
+ }
1275
+
1276
+ export interface GroupNotJoined extends Interface {
1277
+ type: "groupNotJoined"
1278
+ groupInfo: GroupInfo
1279
+ }
1280
+
1281
+ export interface GroupMemberNotActive extends Interface {
1282
+ type: "groupMemberNotActive"
1283
+ }
1284
+
1285
+ export interface CantBlockMemberForSelf extends Interface {
1286
+ type: "cantBlockMemberForSelf"
1287
+ groupInfo: GroupInfo
1288
+ member: GroupMember
1289
+ setShowMessages: boolean
1290
+ }
1291
+
1292
+ export interface GroupMemberUserRemoved extends Interface {
1293
+ type: "groupMemberUserRemoved"
1294
+ }
1295
+
1296
+ export interface GroupMemberNotFound extends Interface {
1297
+ type: "groupMemberNotFound"
1298
+ }
1299
+
1300
+ export interface GroupCantResendInvitation extends Interface {
1301
+ type: "groupCantResendInvitation"
1302
+ groupInfo: GroupInfo
1303
+ contactName: string
1304
+ }
1305
+
1306
+ export interface GroupInternal extends Interface {
1307
+ type: "groupInternal"
1308
+ message: string
1309
+ }
1310
+
1311
+ export interface FileNotFound extends Interface {
1312
+ type: "fileNotFound"
1313
+ message: string
1314
+ }
1315
+
1316
+ export interface FileSize extends Interface {
1317
+ type: "fileSize"
1318
+ filePath: string
1319
+ }
1320
+
1321
+ export interface FileAlreadyReceiving extends Interface {
1322
+ type: "fileAlreadyReceiving"
1323
+ message: string
1324
+ }
1325
+
1326
+ export interface FileCancelled extends Interface {
1327
+ type: "fileCancelled"
1328
+ message: string
1329
+ }
1330
+
1331
+ export interface FileCancel extends Interface {
1332
+ type: "fileCancel"
1333
+ fileId: number // int64
1334
+ message: string
1335
+ }
1336
+
1337
+ export interface FileAlreadyExists extends Interface {
1338
+ type: "fileAlreadyExists"
1339
+ filePath: string
1340
+ }
1341
+
1342
+ export interface FileWrite extends Interface {
1343
+ type: "fileWrite"
1344
+ filePath: string
1345
+ message: string
1346
+ }
1347
+
1348
+ export interface FileSend extends Interface {
1349
+ type: "fileSend"
1350
+ fileId: number // int64
1351
+ agentError: AgentErrorType
1352
+ }
1353
+
1354
+ export interface FileRcvChunk extends Interface {
1355
+ type: "fileRcvChunk"
1356
+ message: string
1357
+ }
1358
+
1359
+ export interface FileInternal extends Interface {
1360
+ type: "fileInternal"
1361
+ message: string
1362
+ }
1363
+
1364
+ export interface FileImageType extends Interface {
1365
+ type: "fileImageType"
1366
+ filePath: string
1367
+ }
1368
+
1369
+ export interface FileImageSize extends Interface {
1370
+ type: "fileImageSize"
1371
+ filePath: string
1372
+ }
1373
+
1374
+ export interface FileNotReceived extends Interface {
1375
+ type: "fileNotReceived"
1376
+ fileId: number // int64
1377
+ }
1378
+
1379
+ export interface FileNotApproved extends Interface {
1380
+ type: "fileNotApproved"
1381
+ fileId: number // int64
1382
+ unknownServers: string[]
1383
+ }
1384
+
1385
+ export interface FallbackToSMPProhibited extends Interface {
1386
+ type: "fallbackToSMPProhibited"
1387
+ fileId: number // int64
1388
+ }
1389
+
1390
+ export interface InlineFileProhibited extends Interface {
1391
+ type: "inlineFileProhibited"
1392
+ fileId: number // int64
1393
+ }
1394
+
1395
+ export interface InvalidForward extends Interface {
1396
+ type: "invalidForward"
1397
+ }
1398
+
1399
+ export interface InvalidChatItemUpdate extends Interface {
1400
+ type: "invalidChatItemUpdate"
1401
+ }
1402
+
1403
+ export interface InvalidChatItemDelete extends Interface {
1404
+ type: "invalidChatItemDelete"
1405
+ }
1406
+
1407
+ export interface HasCurrentCall extends Interface {
1408
+ type: "hasCurrentCall"
1409
+ }
1410
+
1411
+ export interface NoCurrentCall extends Interface {
1412
+ type: "noCurrentCall"
1413
+ }
1414
+
1415
+ export interface CallContact extends Interface {
1416
+ type: "callContact"
1417
+ contactId: number // int64
1418
+ }
1419
+
1420
+ export interface DirectMessagesProhibited extends Interface {
1421
+ type: "directMessagesProhibited"
1422
+ direction: MsgDirection
1423
+ contact: Contact
1424
+ }
1425
+
1426
+ export interface AgentVersion extends Interface {
1427
+ type: "agentVersion"
1428
+ }
1429
+
1430
+ export interface AgentNoSubResult extends Interface {
1431
+ type: "agentNoSubResult"
1432
+ agentConnId: string
1433
+ }
1434
+
1435
+ export interface CommandError extends Interface {
1436
+ type: "commandError"
1437
+ message: string
1438
+ }
1439
+
1440
+ export interface AgentCommandError extends Interface {
1441
+ type: "agentCommandError"
1442
+ message: string
1443
+ }
1444
+
1445
+ export interface InvalidFileDescription extends Interface {
1446
+ type: "invalidFileDescription"
1447
+ message: string
1448
+ }
1449
+
1450
+ export interface ConnectionIncognitoChangeProhibited extends Interface {
1451
+ type: "connectionIncognitoChangeProhibited"
1452
+ }
1453
+
1454
+ export interface ConnectionUserChangeProhibited extends Interface {
1455
+ type: "connectionUserChangeProhibited"
1456
+ }
1457
+
1458
+ export interface PeerChatVRangeIncompatible extends Interface {
1459
+ type: "peerChatVRangeIncompatible"
1460
+ }
1461
+
1462
+ export interface InternalError extends Interface {
1463
+ type: "internalError"
1464
+ message: string
1465
+ }
1466
+
1467
+ export interface Exception extends Interface {
1468
+ type: "exception"
1469
+ message: string
1470
+ }
1471
+ }
1472
+
1473
+ export enum ChatFeature {
1474
+ TimedMessages = "timedMessages",
1475
+ FullDelete = "fullDelete",
1476
+ Reactions = "reactions",
1477
+ Voice = "voice",
1478
+ Files = "files",
1479
+ Calls = "calls",
1480
+ Sessions = "sessions",
1481
+ }
1482
+
1483
+ export type ChatInfo =
1484
+ | ChatInfo.Direct
1485
+ | ChatInfo.Group
1486
+ | ChatInfo.Local
1487
+ | ChatInfo.ContactRequest
1488
+ | ChatInfo.ContactConnection
1489
+
1490
+ export namespace ChatInfo {
1491
+ export type Tag = "direct" | "group" | "local" | "contactRequest" | "contactConnection"
1492
+
1493
+ interface Interface {
1494
+ type: Tag
1495
+ }
1496
+
1497
+ export interface Direct extends Interface {
1498
+ type: "direct"
1499
+ contact: Contact
1500
+ }
1501
+
1502
+ export interface Group extends Interface {
1503
+ type: "group"
1504
+ groupInfo: GroupInfo
1505
+ groupChatScope?: GroupChatScopeInfo
1506
+ }
1507
+
1508
+ export interface Local extends Interface {
1509
+ type: "local"
1510
+ noteFolder: NoteFolder
1511
+ }
1512
+
1513
+ export interface ContactRequest extends Interface {
1514
+ type: "contactRequest"
1515
+ contactRequest: UserContactRequest
1516
+ }
1517
+
1518
+ export interface ContactConnection extends Interface {
1519
+ type: "contactConnection"
1520
+ contactConnection: PendingContactConnection
1521
+ }
1522
+ }
1523
+
1524
+ export interface ChatItem {
1525
+ chatDir: CIDirection
1526
+ meta: CIMeta
1527
+ content: CIContent
1528
+ mentions: {[key: string]: CIMention}
1529
+ formattedText?: FormattedText[]
1530
+ quotedItem?: CIQuote
1531
+ reactions: CIReactionCount[]
1532
+ file?: CIFile
1533
+ }
1534
+ // Message deletion result.
1535
+
1536
+ export interface ChatItemDeletion {
1537
+ deletedChatItem: AChatItem
1538
+ toChatItem?: AChatItem
1539
+ }
1540
+
1541
+ export enum ChatPeerType {
1542
+ Human = "human",
1543
+ Bot = "bot",
1544
+ }
1545
+ // Used in API commands. Chat scope can only be passed with groups.
1546
+
1547
+ export interface ChatRef {
1548
+ chatType: ChatType
1549
+ chatId: number // int64
1550
+ chatScope?: GroupChatScope
1551
+ }
1552
+
1553
+ export namespace ChatRef {
1554
+ export function cmdString(self: ChatRef): string {
1555
+ return ChatType.cmdString(self.chatType) + self.chatId + (self.chatScope ? GroupChatScope.cmdString(self.chatScope) : '')
1556
+ }
1557
+ }
1558
+
1559
+ export interface ChatSettings {
1560
+ enableNtfs: MsgFilter
1561
+ sendRcpts?: boolean
1562
+ favorite: boolean
1563
+ }
1564
+
1565
+ export interface ChatStats {
1566
+ unreadCount: number // int
1567
+ unreadMentions: number // int
1568
+ reportsCount: number // int
1569
+ minUnreadItemId: number // int64
1570
+ unreadChat: boolean
1571
+ }
1572
+
1573
+ export enum ChatType {
1574
+ Direct = "direct",
1575
+ Group = "group",
1576
+ Local = "local",
1577
+ }
1578
+
1579
+ export namespace ChatType {
1580
+ export function cmdString(self: ChatType): string {
1581
+ return self == 'direct' ? '@' : self == 'group' ? '#' : self == 'local' ? '*' : ''
1582
+ }
1583
+ }
1584
+
1585
+ export interface ChatWallpaper {
1586
+ preset?: string
1587
+ imageFile?: string
1588
+ background?: string
1589
+ tint?: string
1590
+ scaleType?: ChatWallpaperScale
1591
+ scale?: number // double
1592
+ }
1593
+
1594
+ export enum ChatWallpaperScale {
1595
+ Fill = "fill",
1596
+ Fit = "fit",
1597
+ Repeat = "repeat",
1598
+ }
1599
+
1600
+ export interface ClientNotice {
1601
+ ttl?: number // int64
1602
+ }
1603
+
1604
+ export enum Color {
1605
+ Black = "black",
1606
+ Red = "red",
1607
+ Green = "green",
1608
+ Yellow = "yellow",
1609
+ Blue = "blue",
1610
+ Magenta = "magenta",
1611
+ Cyan = "cyan",
1612
+ White = "white",
1613
+ }
1614
+
1615
+ export type CommandError =
1616
+ | CommandError.UNKNOWN
1617
+ | CommandError.SYNTAX
1618
+ | CommandError.PROHIBITED
1619
+ | CommandError.NO_AUTH
1620
+ | CommandError.HAS_AUTH
1621
+ | CommandError.NO_ENTITY
1622
+
1623
+ export namespace CommandError {
1624
+ export type Tag = "UNKNOWN" | "SYNTAX" | "PROHIBITED" | "NO_AUTH" | "HAS_AUTH" | "NO_ENTITY"
1625
+
1626
+ interface Interface {
1627
+ type: Tag
1628
+ }
1629
+
1630
+ export interface UNKNOWN extends Interface {
1631
+ type: "UNKNOWN"
1632
+ }
1633
+
1634
+ export interface SYNTAX extends Interface {
1635
+ type: "SYNTAX"
1636
+ }
1637
+
1638
+ export interface PROHIBITED extends Interface {
1639
+ type: "PROHIBITED"
1640
+ }
1641
+
1642
+ export interface NO_AUTH extends Interface {
1643
+ type: "NO_AUTH"
1644
+ }
1645
+
1646
+ export interface HAS_AUTH extends Interface {
1647
+ type: "HAS_AUTH"
1648
+ }
1649
+
1650
+ export interface NO_ENTITY extends Interface {
1651
+ type: "NO_ENTITY"
1652
+ }
1653
+ }
1654
+
1655
+ export type CommandErrorType =
1656
+ | CommandErrorType.PROHIBITED
1657
+ | CommandErrorType.SYNTAX
1658
+ | CommandErrorType.NO_CONN
1659
+ | CommandErrorType.SIZE
1660
+ | CommandErrorType.LARGE
1661
+
1662
+ export namespace CommandErrorType {
1663
+ export type Tag = "PROHIBITED" | "SYNTAX" | "NO_CONN" | "SIZE" | "LARGE"
1664
+
1665
+ interface Interface {
1666
+ type: Tag
1667
+ }
1668
+
1669
+ export interface PROHIBITED extends Interface {
1670
+ type: "PROHIBITED"
1671
+ }
1672
+
1673
+ export interface SYNTAX extends Interface {
1674
+ type: "SYNTAX"
1675
+ }
1676
+
1677
+ export interface NO_CONN extends Interface {
1678
+ type: "NO_CONN"
1679
+ }
1680
+
1681
+ export interface SIZE extends Interface {
1682
+ type: "SIZE"
1683
+ }
1684
+
1685
+ export interface LARGE extends Interface {
1686
+ type: "LARGE"
1687
+ }
1688
+ }
1689
+
1690
+ export interface ComposedMessage {
1691
+ fileSource?: CryptoFile
1692
+ quotedItemId?: number // int64
1693
+ msgContent: MsgContent
1694
+ mentions: {[key: string]: number} // string : int64
1695
+ }
1696
+
1697
+ export enum ConnStatus {
1698
+ New = "new",
1699
+ Prepared = "prepared",
1700
+ Joined = "joined",
1701
+ Requested = "requested",
1702
+ Accepted = "accepted",
1703
+ Snd_ready = "snd-ready",
1704
+ Ready = "ready",
1705
+ Deleted = "deleted",
1706
+ }
1707
+
1708
+ export enum ConnType {
1709
+ Contact = "contact",
1710
+ Member = "member",
1711
+ User_contact = "user_contact",
1712
+ }
1713
+
1714
+ export interface Connection {
1715
+ connId: number // int64
1716
+ agentConnId: string
1717
+ connChatVersion: number // int
1718
+ peerChatVRange: VersionRange
1719
+ connLevel: number // int
1720
+ viaContact?: number // int64
1721
+ viaUserContactLink?: number // int64
1722
+ viaGroupLink: boolean
1723
+ groupLinkId?: string
1724
+ xContactId?: string
1725
+ customUserProfileId?: number // int64
1726
+ connType: ConnType
1727
+ connStatus: ConnStatus
1728
+ contactConnInitiated: boolean
1729
+ localAlias: string
1730
+ entityId?: number // int64
1731
+ connectionCode?: SecurityCode
1732
+ pqSupport: boolean
1733
+ pqEncryption: boolean
1734
+ pqSndEnabled?: boolean
1735
+ pqRcvEnabled?: boolean
1736
+ authErrCounter: number // int
1737
+ quotaErrCounter: number // int
1738
+ createdAt: string // ISO-8601 timestamp
1739
+ }
1740
+
1741
+ export type ConnectionEntity =
1742
+ | ConnectionEntity.RcvDirectMsgConnection
1743
+ | ConnectionEntity.RcvGroupMsgConnection
1744
+ | ConnectionEntity.UserContactConnection
1745
+
1746
+ export namespace ConnectionEntity {
1747
+ export type Tag = "rcvDirectMsgConnection" | "rcvGroupMsgConnection" | "userContactConnection"
1748
+
1749
+ interface Interface {
1750
+ type: Tag
1751
+ }
1752
+
1753
+ export interface RcvDirectMsgConnection extends Interface {
1754
+ type: "rcvDirectMsgConnection"
1755
+ entityConnection: Connection
1756
+ contact?: Contact
1757
+ }
1758
+
1759
+ export interface RcvGroupMsgConnection extends Interface {
1760
+ type: "rcvGroupMsgConnection"
1761
+ entityConnection: Connection
1762
+ groupInfo: GroupInfo
1763
+ groupMember: GroupMember
1764
+ }
1765
+
1766
+ export interface UserContactConnection extends Interface {
1767
+ type: "userContactConnection"
1768
+ entityConnection: Connection
1769
+ userContact: UserContact
1770
+ }
1771
+ }
1772
+
1773
+ export type ConnectionErrorType =
1774
+ | ConnectionErrorType.NOT_FOUND
1775
+ | ConnectionErrorType.DUPLICATE
1776
+ | ConnectionErrorType.SIMPLEX
1777
+ | ConnectionErrorType.NOT_ACCEPTED
1778
+ | ConnectionErrorType.NOT_AVAILABLE
1779
+
1780
+ export namespace ConnectionErrorType {
1781
+ export type Tag = "NOT_FOUND" | "DUPLICATE" | "SIMPLEX" | "NOT_ACCEPTED" | "NOT_AVAILABLE"
1782
+
1783
+ interface Interface {
1784
+ type: Tag
1785
+ }
1786
+
1787
+ export interface NOT_FOUND extends Interface {
1788
+ type: "NOT_FOUND"
1789
+ }
1790
+
1791
+ export interface DUPLICATE extends Interface {
1792
+ type: "DUPLICATE"
1793
+ }
1794
+
1795
+ export interface SIMPLEX extends Interface {
1796
+ type: "SIMPLEX"
1797
+ }
1798
+
1799
+ export interface NOT_ACCEPTED extends Interface {
1800
+ type: "NOT_ACCEPTED"
1801
+ }
1802
+
1803
+ export interface NOT_AVAILABLE extends Interface {
1804
+ type: "NOT_AVAILABLE"
1805
+ }
1806
+ }
1807
+
1808
+ export enum ConnectionMode {
1809
+ INV = "inv",
1810
+ CON = "con",
1811
+ }
1812
+
1813
+ export type ConnectionPlan =
1814
+ | ConnectionPlan.InvitationLink
1815
+ | ConnectionPlan.ContactAddress
1816
+ | ConnectionPlan.GroupLink
1817
+ | ConnectionPlan.Error
1818
+
1819
+ export namespace ConnectionPlan {
1820
+ export type Tag = "invitationLink" | "contactAddress" | "groupLink" | "error"
1821
+
1822
+ interface Interface {
1823
+ type: Tag
1824
+ }
1825
+
1826
+ export interface InvitationLink extends Interface {
1827
+ type: "invitationLink"
1828
+ invitationLinkPlan: InvitationLinkPlan
1829
+ }
1830
+
1831
+ export interface ContactAddress extends Interface {
1832
+ type: "contactAddress"
1833
+ contactAddressPlan: ContactAddressPlan
1834
+ }
1835
+
1836
+ export interface GroupLink extends Interface {
1837
+ type: "groupLink"
1838
+ groupLinkPlan: GroupLinkPlan
1839
+ }
1840
+
1841
+ export interface Error extends Interface {
1842
+ type: "error"
1843
+ chatError: ChatError
1844
+ }
1845
+ }
1846
+
1847
+ export interface Contact {
1848
+ contactId: number // int64
1849
+ localDisplayName: string
1850
+ profile: LocalProfile
1851
+ activeConn?: Connection
1852
+ contactUsed: boolean
1853
+ contactStatus: ContactStatus
1854
+ chatSettings: ChatSettings
1855
+ userPreferences: Preferences
1856
+ mergedPreferences: ContactUserPreferences
1857
+ createdAt: string // ISO-8601 timestamp
1858
+ updatedAt: string // ISO-8601 timestamp
1859
+ chatTs?: string // ISO-8601 timestamp
1860
+ preparedContact?: PreparedContact
1861
+ contactRequestId?: number // int64
1862
+ contactGroupMemberId?: number // int64
1863
+ contactGrpInvSent: boolean
1864
+ groupDirectInv?: GroupDirectInvitation
1865
+ chatTags: number[] // int64
1866
+ chatItemTTL?: number // int64
1867
+ uiThemes?: UIThemeEntityOverrides
1868
+ chatDeleted: boolean
1869
+ customData?: object
1870
+ }
1871
+
1872
+ export type ContactAddressPlan =
1873
+ | ContactAddressPlan.Ok
1874
+ | ContactAddressPlan.OwnLink
1875
+ | ContactAddressPlan.ConnectingConfirmReconnect
1876
+ | ContactAddressPlan.ConnectingProhibit
1877
+ | ContactAddressPlan.Known
1878
+ | ContactAddressPlan.ContactViaAddress
1879
+
1880
+ export namespace ContactAddressPlan {
1881
+ export type Tag =
1882
+ | "ok"
1883
+ | "ownLink"
1884
+ | "connectingConfirmReconnect"
1885
+ | "connectingProhibit"
1886
+ | "known"
1887
+ | "contactViaAddress"
1888
+
1889
+ interface Interface {
1890
+ type: Tag
1891
+ }
1892
+
1893
+ export interface Ok extends Interface {
1894
+ type: "ok"
1895
+ contactSLinkData_?: ContactShortLinkData
1896
+ }
1897
+
1898
+ export interface OwnLink extends Interface {
1899
+ type: "ownLink"
1900
+ }
1901
+
1902
+ export interface ConnectingConfirmReconnect extends Interface {
1903
+ type: "connectingConfirmReconnect"
1904
+ }
1905
+
1906
+ export interface ConnectingProhibit extends Interface {
1907
+ type: "connectingProhibit"
1908
+ contact: Contact
1909
+ }
1910
+
1911
+ export interface Known extends Interface {
1912
+ type: "known"
1913
+ contact: Contact
1914
+ }
1915
+
1916
+ export interface ContactViaAddress extends Interface {
1917
+ type: "contactViaAddress"
1918
+ contact: Contact
1919
+ }
1920
+ }
1921
+
1922
+ export interface ContactShortLinkData {
1923
+ profile: Profile
1924
+ message?: MsgContent
1925
+ business: boolean
1926
+ }
1927
+
1928
+ export enum ContactStatus {
1929
+ Active = "active",
1930
+ Deleted = "deleted",
1931
+ DeletedByUser = "deletedByUser",
1932
+ }
1933
+
1934
+ export type ContactUserPref = ContactUserPref.Contact | ContactUserPref.User
1935
+
1936
+ export namespace ContactUserPref {
1937
+ export type Tag = "contact" | "user"
1938
+
1939
+ interface Interface {
1940
+ type: Tag
1941
+ }
1942
+
1943
+ export interface Contact extends Interface {
1944
+ type: "contact"
1945
+ preference: SimplePreference
1946
+ }
1947
+
1948
+ export interface User extends Interface {
1949
+ type: "user"
1950
+ preference: SimplePreference
1951
+ }
1952
+ }
1953
+
1954
+ export interface ContactUserPreference {
1955
+ enabled: PrefEnabled
1956
+ userPreference: ContactUserPref
1957
+ contactPreference: SimplePreference
1958
+ }
1959
+
1960
+ export interface ContactUserPreferences {
1961
+ timedMessages: ContactUserPreference
1962
+ fullDelete: ContactUserPreference
1963
+ reactions: ContactUserPreference
1964
+ voice: ContactUserPreference
1965
+ files: ContactUserPreference
1966
+ calls: ContactUserPreference
1967
+ sessions: ContactUserPreference
1968
+ commands?: ChatBotCommand[]
1969
+ }
1970
+
1971
+ export interface CreatedConnLink {
1972
+ connFullLink: string
1973
+ connShortLink?: string
1974
+ }
1975
+
1976
+ export namespace CreatedConnLink {
1977
+ export function cmdString(self: CreatedConnLink): string {
1978
+ return self.connFullLink + (self.connShortLink ? ' ' + self.connShortLink : '')
1979
+ }
1980
+ }
1981
+
1982
+ export interface CryptoFile {
1983
+ filePath: string
1984
+ cryptoArgs?: CryptoFileArgs
1985
+ }
1986
+
1987
+ export interface CryptoFileArgs {
1988
+ fileKey: string
1989
+ fileNonce: string
1990
+ }
1991
+
1992
+ export interface E2EInfo {
1993
+ pqEnabled?: boolean
1994
+ }
1995
+
1996
+ export type ErrorType =
1997
+ | ErrorType.BLOCK
1998
+ | ErrorType.SESSION
1999
+ | ErrorType.CMD
2000
+ | ErrorType.PROXY
2001
+ | ErrorType.AUTH
2002
+ | ErrorType.BLOCKED
2003
+ | ErrorType.SERVICE
2004
+ | ErrorType.CRYPTO
2005
+ | ErrorType.QUOTA
2006
+ | ErrorType.STORE
2007
+ | ErrorType.NO_MSG
2008
+ | ErrorType.LARGE_MSG
2009
+ | ErrorType.EXPIRED
2010
+ | ErrorType.INTERNAL
2011
+ | ErrorType.DUPLICATE_
2012
+
2013
+ export namespace ErrorType {
2014
+ export type Tag =
2015
+ | "BLOCK"
2016
+ | "SESSION"
2017
+ | "CMD"
2018
+ | "PROXY"
2019
+ | "AUTH"
2020
+ | "BLOCKED"
2021
+ | "SERVICE"
2022
+ | "CRYPTO"
2023
+ | "QUOTA"
2024
+ | "STORE"
2025
+ | "NO_MSG"
2026
+ | "LARGE_MSG"
2027
+ | "EXPIRED"
2028
+ | "INTERNAL"
2029
+ | "DUPLICATE_"
2030
+
2031
+ interface Interface {
2032
+ type: Tag
2033
+ }
2034
+
2035
+ export interface BLOCK extends Interface {
2036
+ type: "BLOCK"
2037
+ }
2038
+
2039
+ export interface SESSION extends Interface {
2040
+ type: "SESSION"
2041
+ }
2042
+
2043
+ export interface CMD extends Interface {
2044
+ type: "CMD"
2045
+ cmdErr: CommandError
2046
+ }
2047
+
2048
+ export interface PROXY extends Interface {
2049
+ type: "PROXY"
2050
+ proxyErr: ProxyError
2051
+ }
2052
+
2053
+ export interface AUTH extends Interface {
2054
+ type: "AUTH"
2055
+ }
2056
+
2057
+ export interface BLOCKED extends Interface {
2058
+ type: "BLOCKED"
2059
+ blockInfo: BlockingInfo
2060
+ }
2061
+
2062
+ export interface SERVICE extends Interface {
2063
+ type: "SERVICE"
2064
+ }
2065
+
2066
+ export interface CRYPTO extends Interface {
2067
+ type: "CRYPTO"
2068
+ }
2069
+
2070
+ export interface QUOTA extends Interface {
2071
+ type: "QUOTA"
2072
+ }
2073
+
2074
+ export interface STORE extends Interface {
2075
+ type: "STORE"
2076
+ storeErr: string
2077
+ }
2078
+
2079
+ export interface NO_MSG extends Interface {
2080
+ type: "NO_MSG"
2081
+ }
2082
+
2083
+ export interface LARGE_MSG extends Interface {
2084
+ type: "LARGE_MSG"
2085
+ }
2086
+
2087
+ export interface EXPIRED extends Interface {
2088
+ type: "EXPIRED"
2089
+ }
2090
+
2091
+ export interface INTERNAL extends Interface {
2092
+ type: "INTERNAL"
2093
+ }
2094
+
2095
+ export interface DUPLICATE_ extends Interface {
2096
+ type: "DUPLICATE_"
2097
+ }
2098
+ }
2099
+
2100
+ export enum FeatureAllowed {
2101
+ Always = "always",
2102
+ Yes = "yes",
2103
+ No = "no",
2104
+ }
2105
+
2106
+ export interface FileDescr {
2107
+ fileDescrText: string
2108
+ fileDescrPartNo: number // int
2109
+ fileDescrComplete: boolean
2110
+ }
2111
+
2112
+ export type FileError =
2113
+ | FileError.Auth
2114
+ | FileError.Blocked
2115
+ | FileError.NoFile
2116
+ | FileError.Relay
2117
+ | FileError.Other
2118
+
2119
+ export namespace FileError {
2120
+ export type Tag = "auth" | "blocked" | "noFile" | "relay" | "other"
2121
+
2122
+ interface Interface {
2123
+ type: Tag
2124
+ }
2125
+
2126
+ export interface Auth extends Interface {
2127
+ type: "auth"
2128
+ }
2129
+
2130
+ export interface Blocked extends Interface {
2131
+ type: "blocked"
2132
+ server: string
2133
+ blockInfo: BlockingInfo
2134
+ }
2135
+
2136
+ export interface NoFile extends Interface {
2137
+ type: "noFile"
2138
+ }
2139
+
2140
+ export interface Relay extends Interface {
2141
+ type: "relay"
2142
+ srvError: SrvError
2143
+ }
2144
+
2145
+ export interface Other extends Interface {
2146
+ type: "other"
2147
+ fileError: string
2148
+ }
2149
+ }
2150
+
2151
+ export type FileErrorType =
2152
+ | FileErrorType.NOT_APPROVED
2153
+ | FileErrorType.SIZE
2154
+ | FileErrorType.REDIRECT
2155
+ | FileErrorType.FILE_IO
2156
+ | FileErrorType.NO_FILE
2157
+
2158
+ export namespace FileErrorType {
2159
+ export type Tag = "NOT_APPROVED" | "SIZE" | "REDIRECT" | "FILE_IO" | "NO_FILE"
2160
+
2161
+ interface Interface {
2162
+ type: Tag
2163
+ }
2164
+
2165
+ export interface NOT_APPROVED extends Interface {
2166
+ type: "NOT_APPROVED"
2167
+ }
2168
+
2169
+ export interface SIZE extends Interface {
2170
+ type: "SIZE"
2171
+ }
2172
+
2173
+ export interface REDIRECT extends Interface {
2174
+ type: "REDIRECT"
2175
+ redirectError: string
2176
+ }
2177
+
2178
+ export interface FILE_IO extends Interface {
2179
+ type: "FILE_IO"
2180
+ fileIOError: string
2181
+ }
2182
+
2183
+ export interface NO_FILE extends Interface {
2184
+ type: "NO_FILE"
2185
+ }
2186
+ }
2187
+
2188
+ export interface FileInvitation {
2189
+ fileName: string
2190
+ fileSize: number // int64
2191
+ fileDigest?: string
2192
+ fileConnReq?: string
2193
+ fileInline?: InlineFileMode
2194
+ fileDescr?: FileDescr
2195
+ }
2196
+
2197
+ export enum FileProtocol {
2198
+ SMP = "smp",
2199
+ XFTP = "xftp",
2200
+ LOCAL = "local",
2201
+ }
2202
+
2203
+ export enum FileStatus {
2204
+ New = "new",
2205
+ Accepted = "accepted",
2206
+ Connected = "connected",
2207
+ Complete = "complete",
2208
+ Cancelled = "cancelled",
2209
+ }
2210
+
2211
+ export interface FileTransferMeta {
2212
+ fileId: number // int64
2213
+ xftpSndFile?: XFTPSndFile
2214
+ xftpRedirectFor?: number // int64
2215
+ fileName: string
2216
+ filePath: string
2217
+ fileSize: number // int64
2218
+ fileInline?: InlineFileMode
2219
+ chunkSize: number // int64
2220
+ cancelled: boolean
2221
+ }
2222
+
2223
+ export type Format =
2224
+ | Format.Bold
2225
+ | Format.Italic
2226
+ | Format.StrikeThrough
2227
+ | Format.Snippet
2228
+ | Format.Secret
2229
+ | Format.Colored
2230
+ | Format.Uri
2231
+ | Format.HyperLink
2232
+ | Format.SimplexLink
2233
+ | Format.Command
2234
+ | Format.Mention
2235
+ | Format.Email
2236
+ | Format.Phone
2237
+
2238
+ export namespace Format {
2239
+ export type Tag =
2240
+ | "bold"
2241
+ | "italic"
2242
+ | "strikeThrough"
2243
+ | "snippet"
2244
+ | "secret"
2245
+ | "colored"
2246
+ | "uri"
2247
+ | "hyperLink"
2248
+ | "simplexLink"
2249
+ | "command"
2250
+ | "mention"
2251
+ | "email"
2252
+ | "phone"
2253
+
2254
+ interface Interface {
2255
+ type: Tag
2256
+ }
2257
+
2258
+ export interface Bold extends Interface {
2259
+ type: "bold"
2260
+ }
2261
+
2262
+ export interface Italic extends Interface {
2263
+ type: "italic"
2264
+ }
2265
+
2266
+ export interface StrikeThrough extends Interface {
2267
+ type: "strikeThrough"
2268
+ }
2269
+
2270
+ export interface Snippet extends Interface {
2271
+ type: "snippet"
2272
+ }
2273
+
2274
+ export interface Secret extends Interface {
2275
+ type: "secret"
2276
+ }
2277
+
2278
+ export interface Colored extends Interface {
2279
+ type: "colored"
2280
+ color: Color
2281
+ }
2282
+
2283
+ export interface Uri extends Interface {
2284
+ type: "uri"
2285
+ }
2286
+
2287
+ export interface HyperLink extends Interface {
2288
+ type: "hyperLink"
2289
+ showText?: string
2290
+ linkUri: string
2291
+ }
2292
+
2293
+ export interface SimplexLink extends Interface {
2294
+ type: "simplexLink"
2295
+ showText?: string
2296
+ linkType: SimplexLinkType
2297
+ simplexUri: string
2298
+ smpHosts: string[] // non-empty
2299
+ }
2300
+
2301
+ export interface Command extends Interface {
2302
+ type: "command"
2303
+ commandStr: string
2304
+ }
2305
+
2306
+ export interface Mention extends Interface {
2307
+ type: "mention"
2308
+ memberName: string
2309
+ }
2310
+
2311
+ export interface Email extends Interface {
2312
+ type: "email"
2313
+ }
2314
+
2315
+ export interface Phone extends Interface {
2316
+ type: "phone"
2317
+ }
2318
+ }
2319
+
2320
+ export interface FormattedText {
2321
+ format?: Format
2322
+ text: string
2323
+ }
2324
+
2325
+ export interface FullGroupPreferences {
2326
+ timedMessages: TimedMessagesGroupPreference
2327
+ directMessages: RoleGroupPreference
2328
+ fullDelete: GroupPreference
2329
+ reactions: GroupPreference
2330
+ voice: RoleGroupPreference
2331
+ files: RoleGroupPreference
2332
+ simplexLinks: RoleGroupPreference
2333
+ reports: GroupPreference
2334
+ history: GroupPreference
2335
+ sessions: RoleGroupPreference
2336
+ commands: ChatBotCommand[]
2337
+ }
2338
+
2339
+ export interface FullPreferences {
2340
+ timedMessages: TimedMessagesPreference
2341
+ fullDelete: SimplePreference
2342
+ reactions: SimplePreference
2343
+ voice: SimplePreference
2344
+ files: SimplePreference
2345
+ calls: SimplePreference
2346
+ sessions: SimplePreference
2347
+ commands: ChatBotCommand[]
2348
+ }
2349
+
2350
+ export interface Group {
2351
+ groupInfo: GroupInfo
2352
+ members: GroupMember[]
2353
+ }
2354
+
2355
+ export type GroupChatScope = GroupChatScope.MemberSupport
2356
+
2357
+ export namespace GroupChatScope {
2358
+ export type Tag = "memberSupport"
2359
+
2360
+ interface Interface {
2361
+ type: Tag
2362
+ }
2363
+
2364
+ export interface MemberSupport extends Interface {
2365
+ type: "memberSupport"
2366
+ groupMemberId_?: number // int64
2367
+ }
2368
+
2369
+ export function cmdString(self: GroupChatScope): string {
2370
+ return '(_support' + (self.groupMemberId_ ? ':' + self.groupMemberId_ : '') + ')'
2371
+ }
2372
+ }
2373
+
2374
+ export type GroupChatScopeInfo = GroupChatScopeInfo.MemberSupport
2375
+
2376
+ export namespace GroupChatScopeInfo {
2377
+ export type Tag = "memberSupport"
2378
+
2379
+ interface Interface {
2380
+ type: Tag
2381
+ }
2382
+
2383
+ export interface MemberSupport extends Interface {
2384
+ type: "memberSupport"
2385
+ groupMember_?: GroupMember
2386
+ }
2387
+ }
2388
+
2389
+ export interface GroupDirectInvitation {
2390
+ groupDirectInvLink: string
2391
+ fromGroupId_?: number // int64
2392
+ fromGroupMemberId_?: number // int64
2393
+ fromGroupMemberConnId_?: number // int64
2394
+ groupDirectInvStartedConnection: boolean
2395
+ }
2396
+
2397
+ export enum GroupFeature {
2398
+ TimedMessages = "timedMessages",
2399
+ DirectMessages = "directMessages",
2400
+ FullDelete = "fullDelete",
2401
+ Reactions = "reactions",
2402
+ Voice = "voice",
2403
+ Files = "files",
2404
+ SimplexLinks = "simplexLinks",
2405
+ Reports = "reports",
2406
+ History = "history",
2407
+ Sessions = "sessions",
2408
+ }
2409
+
2410
+ export enum GroupFeatureEnabled {
2411
+ On = "on",
2412
+ Off = "off",
2413
+ }
2414
+
2415
+ export interface GroupInfo {
2416
+ groupId: number // int64
2417
+ useRelays: boolean
2418
+ localDisplayName: string
2419
+ groupProfile: GroupProfile
2420
+ localAlias: string
2421
+ businessChat?: BusinessChatInfo
2422
+ fullGroupPreferences: FullGroupPreferences
2423
+ membership: GroupMember
2424
+ chatSettings: ChatSettings
2425
+ createdAt: string // ISO-8601 timestamp
2426
+ updatedAt: string // ISO-8601 timestamp
2427
+ chatTs?: string // ISO-8601 timestamp
2428
+ userMemberProfileSentAt?: string // ISO-8601 timestamp
2429
+ preparedGroup?: PreparedGroup
2430
+ chatTags: number[] // int64
2431
+ chatItemTTL?: number // int64
2432
+ uiThemes?: UIThemeEntityOverrides
2433
+ customData?: object
2434
+ groupSummary: GroupSummary
2435
+ membersRequireAttention: number // int
2436
+ viaGroupLinkUri?: string
2437
+ }
2438
+
2439
+ export interface GroupLink {
2440
+ userContactLinkId: number // int64
2441
+ connLinkContact: CreatedConnLink
2442
+ shortLinkDataSet: boolean
2443
+ shortLinkLargeDataSet: boolean
2444
+ groupLinkId: string
2445
+ acceptMemberRole: GroupMemberRole
2446
+ }
2447
+
2448
+ export type GroupLinkPlan =
2449
+ | GroupLinkPlan.Ok
2450
+ | GroupLinkPlan.OwnLink
2451
+ | GroupLinkPlan.ConnectingConfirmReconnect
2452
+ | GroupLinkPlan.ConnectingProhibit
2453
+ | GroupLinkPlan.Known
2454
+
2455
+ export namespace GroupLinkPlan {
2456
+ export type Tag = "ok" | "ownLink" | "connectingConfirmReconnect" | "connectingProhibit" | "known"
2457
+
2458
+ interface Interface {
2459
+ type: Tag
2460
+ }
2461
+
2462
+ export interface Ok extends Interface {
2463
+ type: "ok"
2464
+ groupSLinkData_?: GroupShortLinkData
2465
+ }
2466
+
2467
+ export interface OwnLink extends Interface {
2468
+ type: "ownLink"
2469
+ groupInfo: GroupInfo
2470
+ }
2471
+
2472
+ export interface ConnectingConfirmReconnect extends Interface {
2473
+ type: "connectingConfirmReconnect"
2474
+ }
2475
+
2476
+ export interface ConnectingProhibit extends Interface {
2477
+ type: "connectingProhibit"
2478
+ groupInfo_?: GroupInfo
2479
+ }
2480
+
2481
+ export interface Known extends Interface {
2482
+ type: "known"
2483
+ groupInfo: GroupInfo
2484
+ }
2485
+ }
2486
+
2487
+ export interface GroupMember {
2488
+ groupMemberId: number // int64
2489
+ groupId: number // int64
2490
+ indexInGroup: number // int64
2491
+ memberId: string
2492
+ memberRole: GroupMemberRole
2493
+ memberCategory: GroupMemberCategory
2494
+ memberStatus: GroupMemberStatus
2495
+ memberSettings: GroupMemberSettings
2496
+ blockedByAdmin: boolean
2497
+ invitedBy: InvitedBy
2498
+ invitedByGroupMemberId?: number // int64
2499
+ localDisplayName: string
2500
+ memberProfile: LocalProfile
2501
+ memberContactId?: number // int64
2502
+ memberContactProfileId: number // int64
2503
+ activeConn?: Connection
2504
+ memberChatVRange: VersionRange
2505
+ createdAt: string // ISO-8601 timestamp
2506
+ updatedAt: string // ISO-8601 timestamp
2507
+ supportChat?: GroupSupportChat
2508
+ }
2509
+
2510
+ export interface GroupMemberAdmission {
2511
+ review?: MemberCriteria
2512
+ }
2513
+
2514
+ export enum GroupMemberCategory {
2515
+ User = "user",
2516
+ Invitee = "invitee",
2517
+ Host = "host",
2518
+ Pre = "pre",
2519
+ Post = "post",
2520
+ }
2521
+
2522
+ export interface GroupMemberRef {
2523
+ groupMemberId: number // int64
2524
+ profile: Profile
2525
+ }
2526
+
2527
+ export enum GroupMemberRole {
2528
+ Observer = "observer",
2529
+ Author = "author",
2530
+ Member = "member",
2531
+ Moderator = "moderator",
2532
+ Admin = "admin",
2533
+ Owner = "owner",
2534
+ }
2535
+
2536
+ export interface GroupMemberSettings {
2537
+ showMessages: boolean
2538
+ }
2539
+
2540
+ export enum GroupMemberStatus {
2541
+ Rejected = "rejected",
2542
+ Removed = "removed",
2543
+ Left = "left",
2544
+ Deleted = "deleted",
2545
+ Unknown = "unknown",
2546
+ Invited = "invited",
2547
+ Pending_approval = "pending_approval",
2548
+ Pending_review = "pending_review",
2549
+ Introduced = "introduced",
2550
+ Intro_inv = "intro-inv",
2551
+ Accepted = "accepted",
2552
+ Announced = "announced",
2553
+ Connected = "connected",
2554
+ Complete = "complete",
2555
+ Creator = "creator",
2556
+ }
2557
+
2558
+ export interface GroupPreference {
2559
+ enable: GroupFeatureEnabled
2560
+ }
2561
+
2562
+ export interface GroupPreferences {
2563
+ timedMessages?: TimedMessagesGroupPreference
2564
+ directMessages?: RoleGroupPreference
2565
+ fullDelete?: GroupPreference
2566
+ reactions?: GroupPreference
2567
+ voice?: RoleGroupPreference
2568
+ files?: RoleGroupPreference
2569
+ simplexLinks?: RoleGroupPreference
2570
+ reports?: GroupPreference
2571
+ history?: GroupPreference
2572
+ sessions?: RoleGroupPreference
2573
+ commands?: ChatBotCommand[]
2574
+ }
2575
+
2576
+ export interface GroupProfile {
2577
+ displayName: string
2578
+ fullName: string
2579
+ shortDescr?: string
2580
+ description?: string
2581
+ image?: string
2582
+ groupPreferences?: GroupPreferences
2583
+ memberAdmission?: GroupMemberAdmission
2584
+ }
2585
+
2586
+ export interface GroupShortLinkData {
2587
+ groupProfile: GroupProfile
2588
+ }
2589
+
2590
+ export interface GroupSummary {
2591
+ currentMembers: number // int64
2592
+ }
2593
+
2594
+ export interface GroupSupportChat {
2595
+ chatTs: string // ISO-8601 timestamp
2596
+ unread: number // int64
2597
+ memberAttention: number // int64
2598
+ mentions: number // int64
2599
+ lastMsgFromMemberTs?: string // ISO-8601 timestamp
2600
+ }
2601
+
2602
+ export enum HandshakeError {
2603
+ PARSE = "PARSE",
2604
+ IDENTITY = "IDENTITY",
2605
+ BAD_AUTH = "BAD_AUTH",
2606
+ BAD_SERVICE = "BAD_SERVICE",
2607
+ }
2608
+
2609
+ export enum InlineFileMode {
2610
+ Offer = "offer",
2611
+ Sent = "sent",
2612
+ }
2613
+
2614
+ export type InvitationLinkPlan =
2615
+ | InvitationLinkPlan.Ok
2616
+ | InvitationLinkPlan.OwnLink
2617
+ | InvitationLinkPlan.Connecting
2618
+ | InvitationLinkPlan.Known
2619
+
2620
+ export namespace InvitationLinkPlan {
2621
+ export type Tag = "ok" | "ownLink" | "connecting" | "known"
2622
+
2623
+ interface Interface {
2624
+ type: Tag
2625
+ }
2626
+
2627
+ export interface Ok extends Interface {
2628
+ type: "ok"
2629
+ contactSLinkData_?: ContactShortLinkData
2630
+ }
2631
+
2632
+ export interface OwnLink extends Interface {
2633
+ type: "ownLink"
2634
+ }
2635
+
2636
+ export interface Connecting extends Interface {
2637
+ type: "connecting"
2638
+ contact_?: Contact
2639
+ }
2640
+
2641
+ export interface Known extends Interface {
2642
+ type: "known"
2643
+ contact: Contact
2644
+ }
2645
+ }
2646
+
2647
+ export type InvitedBy = InvitedBy.Contact | InvitedBy.User | InvitedBy.Unknown
2648
+
2649
+ export namespace InvitedBy {
2650
+ export type Tag = "contact" | "user" | "unknown"
2651
+
2652
+ interface Interface {
2653
+ type: Tag
2654
+ }
2655
+
2656
+ export interface Contact extends Interface {
2657
+ type: "contact"
2658
+ byContactId: number // int64
2659
+ }
2660
+
2661
+ export interface User extends Interface {
2662
+ type: "user"
2663
+ }
2664
+
2665
+ export interface Unknown extends Interface {
2666
+ type: "unknown"
2667
+ }
2668
+ }
2669
+
2670
+ export type LinkContent = LinkContent.Page | LinkContent.Image | LinkContent.Video | LinkContent.Unknown
2671
+
2672
+ export namespace LinkContent {
2673
+ export type Tag = "page" | "image" | "video" | "unknown"
2674
+
2675
+ interface Interface {
2676
+ type: Tag
2677
+ }
2678
+
2679
+ export interface Page extends Interface {
2680
+ type: "page"
2681
+ }
2682
+
2683
+ export interface Image extends Interface {
2684
+ type: "image"
2685
+ }
2686
+
2687
+ export interface Video extends Interface {
2688
+ type: "video"
2689
+ duration?: number // int
2690
+ }
2691
+
2692
+ export interface Unknown extends Interface {
2693
+ type: "unknown"
2694
+ tag: string
2695
+ json: object
2696
+ }
2697
+ }
2698
+
2699
+ export interface LinkPreview {
2700
+ uri: string
2701
+ title: string
2702
+ description: string
2703
+ image: string
2704
+ content?: LinkContent
2705
+ }
2706
+
2707
+ export interface LocalProfile {
2708
+ profileId: number // int64
2709
+ displayName: string
2710
+ fullName: string
2711
+ shortDescr?: string
2712
+ image?: string
2713
+ contactLink?: string
2714
+ preferences?: Preferences
2715
+ peerType?: ChatPeerType
2716
+ localAlias: string
2717
+ }
2718
+
2719
+ export enum MemberCriteria {
2720
+ All = "all",
2721
+ }
2722
+ // Connection link sent in a message - only short links are allowed.
2723
+
2724
+ export type MsgChatLink = MsgChatLink.Contact | MsgChatLink.Invitation | MsgChatLink.Group
2725
+
2726
+ export namespace MsgChatLink {
2727
+ export type Tag = "contact" | "invitation" | "group"
2728
+
2729
+ interface Interface {
2730
+ type: Tag
2731
+ }
2732
+
2733
+ export interface Contact extends Interface {
2734
+ type: "contact"
2735
+ connLink: string
2736
+ profile: Profile
2737
+ business: boolean
2738
+ }
2739
+
2740
+ export interface Invitation extends Interface {
2741
+ type: "invitation"
2742
+ invLink: string
2743
+ profile: Profile
2744
+ }
2745
+
2746
+ export interface Group extends Interface {
2747
+ type: "group"
2748
+ connLink: string
2749
+ groupProfile: GroupProfile
2750
+ }
2751
+ }
2752
+
2753
+ export type MsgContent =
2754
+ | MsgContent.Text
2755
+ | MsgContent.Link
2756
+ | MsgContent.Image
2757
+ | MsgContent.Video
2758
+ | MsgContent.Voice
2759
+ | MsgContent.File
2760
+ | MsgContent.Report
2761
+ | MsgContent.Chat
2762
+ | MsgContent.Unknown
2763
+
2764
+ export namespace MsgContent {
2765
+ export type Tag = "text" | "link" | "image" | "video" | "voice" | "file" | "report" | "chat" | "unknown"
2766
+
2767
+ interface Interface {
2768
+ type: Tag
2769
+ }
2770
+
2771
+ export interface Text extends Interface {
2772
+ type: "text"
2773
+ text: string
2774
+ }
2775
+
2776
+ export interface Link extends Interface {
2777
+ type: "link"
2778
+ text: string
2779
+ preview: LinkPreview
2780
+ }
2781
+
2782
+ export interface Image extends Interface {
2783
+ type: "image"
2784
+ text: string
2785
+ image: string
2786
+ }
2787
+
2788
+ export interface Video extends Interface {
2789
+ type: "video"
2790
+ text: string
2791
+ image: string
2792
+ duration: number // int
2793
+ }
2794
+
2795
+ export interface Voice extends Interface {
2796
+ type: "voice"
2797
+ text: string
2798
+ duration: number // int
2799
+ }
2800
+
2801
+ export interface File extends Interface {
2802
+ type: "file"
2803
+ text: string
2804
+ }
2805
+
2806
+ export interface Report extends Interface {
2807
+ type: "report"
2808
+ text: string
2809
+ reason: ReportReason
2810
+ }
2811
+
2812
+ export interface Chat extends Interface {
2813
+ type: "chat"
2814
+ text: string
2815
+ chatLink: MsgChatLink
2816
+ }
2817
+
2818
+ export interface Unknown extends Interface {
2819
+ type: "unknown"
2820
+ tag: string
2821
+ text: string
2822
+ json: object
2823
+ }
2824
+ }
2825
+
2826
+ export enum MsgDecryptError {
2827
+ RatchetHeader = "ratchetHeader",
2828
+ TooManySkipped = "tooManySkipped",
2829
+ RatchetEarlier = "ratchetEarlier",
2830
+ Other = "other",
2831
+ RatchetSync = "ratchetSync",
2832
+ }
2833
+
2834
+ export enum MsgDirection {
2835
+ Rcv = "rcv",
2836
+ Snd = "snd",
2837
+ }
2838
+
2839
+ export type MsgErrorType =
2840
+ | MsgErrorType.MsgSkipped
2841
+ | MsgErrorType.MsgBadId
2842
+ | MsgErrorType.MsgBadHash
2843
+ | MsgErrorType.MsgDuplicate
2844
+
2845
+ export namespace MsgErrorType {
2846
+ export type Tag = "msgSkipped" | "msgBadId" | "msgBadHash" | "msgDuplicate"
2847
+
2848
+ interface Interface {
2849
+ type: Tag
2850
+ }
2851
+
2852
+ export interface MsgSkipped extends Interface {
2853
+ type: "msgSkipped"
2854
+ fromMsgId: number // int64
2855
+ toMsgId: number // int64
2856
+ }
2857
+
2858
+ export interface MsgBadId extends Interface {
2859
+ type: "msgBadId"
2860
+ msgId: number // int64
2861
+ }
2862
+
2863
+ export interface MsgBadHash extends Interface {
2864
+ type: "msgBadHash"
2865
+ }
2866
+
2867
+ export interface MsgDuplicate extends Interface {
2868
+ type: "msgDuplicate"
2869
+ }
2870
+ }
2871
+
2872
+ export enum MsgFilter {
2873
+ None = "none",
2874
+ All = "all",
2875
+ Mentions = "mentions",
2876
+ }
2877
+
2878
+ export type MsgReaction = MsgReaction.Emoji | MsgReaction.Unknown
2879
+
2880
+ export namespace MsgReaction {
2881
+ export type Tag = "emoji" | "unknown"
2882
+
2883
+ interface Interface {
2884
+ type: Tag
2885
+ }
2886
+
2887
+ export interface Emoji extends Interface {
2888
+ type: "emoji"
2889
+ emoji: string
2890
+ }
2891
+
2892
+ export interface Unknown extends Interface {
2893
+ type: "unknown"
2894
+ tag: string
2895
+ json: object
2896
+ }
2897
+ }
2898
+
2899
+ export enum MsgReceiptStatus {
2900
+ Ok = "ok",
2901
+ BadMsgHash = "badMsgHash",
2902
+ }
2903
+
2904
+ export type NetworkError =
2905
+ | NetworkError.ConnectError
2906
+ | NetworkError.TLSError
2907
+ | NetworkError.UnknownCAError
2908
+ | NetworkError.FailedError
2909
+ | NetworkError.TimeoutError
2910
+ | NetworkError.SubscribeError
2911
+
2912
+ export namespace NetworkError {
2913
+ export type Tag =
2914
+ | "connectError"
2915
+ | "tLSError"
2916
+ | "unknownCAError"
2917
+ | "failedError"
2918
+ | "timeoutError"
2919
+ | "subscribeError"
2920
+
2921
+ interface Interface {
2922
+ type: Tag
2923
+ }
2924
+
2925
+ export interface ConnectError extends Interface {
2926
+ type: "connectError"
2927
+ connectError: string
2928
+ }
2929
+
2930
+ export interface TLSError extends Interface {
2931
+ type: "tLSError"
2932
+ tlsError: string
2933
+ }
2934
+
2935
+ export interface UnknownCAError extends Interface {
2936
+ type: "unknownCAError"
2937
+ }
2938
+
2939
+ export interface FailedError extends Interface {
2940
+ type: "failedError"
2941
+ }
2942
+
2943
+ export interface TimeoutError extends Interface {
2944
+ type: "timeoutError"
2945
+ }
2946
+
2947
+ export interface SubscribeError extends Interface {
2948
+ type: "subscribeError"
2949
+ subscribeError: string
2950
+ }
2951
+ }
2952
+
2953
+ export interface NewUser {
2954
+ profile?: Profile
2955
+ pastTimestamp: boolean
2956
+ }
2957
+
2958
+ export interface NoteFolder {
2959
+ noteFolderId: number // int64
2960
+ userId: number // int64
2961
+ createdAt: string // ISO-8601 timestamp
2962
+ updatedAt: string // ISO-8601 timestamp
2963
+ chatTs: string // ISO-8601 timestamp
2964
+ favorite: boolean
2965
+ unread: boolean
2966
+ }
2967
+
2968
+ export interface PendingContactConnection {
2969
+ pccConnId: number // int64
2970
+ pccAgentConnId: string
2971
+ pccConnStatus: ConnStatus
2972
+ viaContactUri: boolean
2973
+ viaUserContactLink?: number // int64
2974
+ groupLinkId?: string
2975
+ customUserProfileId?: number // int64
2976
+ connLinkInv?: CreatedConnLink
2977
+ localAlias: string
2978
+ createdAt: string // ISO-8601 timestamp
2979
+ updatedAt: string // ISO-8601 timestamp
2980
+ }
2981
+
2982
+ export interface PrefEnabled {
2983
+ forUser: boolean
2984
+ forContact: boolean
2985
+ }
2986
+
2987
+ export interface Preferences {
2988
+ timedMessages?: TimedMessagesPreference
2989
+ fullDelete?: SimplePreference
2990
+ reactions?: SimplePreference
2991
+ voice?: SimplePreference
2992
+ files?: SimplePreference
2993
+ calls?: SimplePreference
2994
+ sessions?: SimplePreference
2995
+ commands?: ChatBotCommand[]
2996
+ }
2997
+
2998
+ export interface PreparedContact {
2999
+ connLinkToConnect: CreatedConnLink
3000
+ uiConnLinkType: ConnectionMode
3001
+ welcomeSharedMsgId?: string
3002
+ requestSharedMsgId?: string
3003
+ }
3004
+
3005
+ export interface PreparedGroup {
3006
+ connLinkToConnect: CreatedConnLink
3007
+ connLinkPreparedConnection: boolean
3008
+ connLinkStartedConnection: boolean
3009
+ welcomeSharedMsgId?: string
3010
+ requestSharedMsgId?: string
3011
+ }
3012
+
3013
+ export interface Profile {
3014
+ displayName: string
3015
+ fullName: string
3016
+ shortDescr?: string
3017
+ image?: string
3018
+ contactLink?: string
3019
+ preferences?: Preferences
3020
+ peerType?: ChatPeerType
3021
+ }
3022
+
3023
+ export type ProxyClientError =
3024
+ | ProxyClientError.ProtocolError
3025
+ | ProxyClientError.UnexpectedResponse
3026
+ | ProxyClientError.ResponseError
3027
+
3028
+ export namespace ProxyClientError {
3029
+ export type Tag = "protocolError" | "unexpectedResponse" | "responseError"
3030
+
3031
+ interface Interface {
3032
+ type: Tag
3033
+ }
3034
+
3035
+ export interface ProtocolError extends Interface {
3036
+ type: "protocolError"
3037
+ protocolErr: ErrorType
3038
+ }
3039
+
3040
+ export interface UnexpectedResponse extends Interface {
3041
+ type: "unexpectedResponse"
3042
+ responseStr: string
3043
+ }
3044
+
3045
+ export interface ResponseError extends Interface {
3046
+ type: "responseError"
3047
+ responseErr: ErrorType
3048
+ }
3049
+ }
3050
+
3051
+ export type ProxyError = ProxyError.PROTOCOL | ProxyError.BROKER | ProxyError.BASIC_AUTH | ProxyError.NO_SESSION
3052
+
3053
+ export namespace ProxyError {
3054
+ export type Tag = "PROTOCOL" | "BROKER" | "BASIC_AUTH" | "NO_SESSION"
3055
+
3056
+ interface Interface {
3057
+ type: Tag
3058
+ }
3059
+
3060
+ export interface PROTOCOL extends Interface {
3061
+ type: "PROTOCOL"
3062
+ protocolErr: ErrorType
3063
+ }
3064
+
3065
+ export interface BROKER extends Interface {
3066
+ type: "BROKER"
3067
+ brokerErr: BrokerErrorType
3068
+ }
3069
+
3070
+ export interface BASIC_AUTH extends Interface {
3071
+ type: "BASIC_AUTH"
3072
+ }
3073
+
3074
+ export interface NO_SESSION extends Interface {
3075
+ type: "NO_SESSION"
3076
+ }
3077
+ }
3078
+
3079
+ export type RCErrorType =
3080
+ | RCErrorType.Internal
3081
+ | RCErrorType.Identity
3082
+ | RCErrorType.NoLocalAddress
3083
+ | RCErrorType.NewController
3084
+ | RCErrorType.NotDiscovered
3085
+ | RCErrorType.TLSStartFailed
3086
+ | RCErrorType.Exception
3087
+ | RCErrorType.CtrlAuth
3088
+ | RCErrorType.CtrlNotFound
3089
+ | RCErrorType.CtrlError
3090
+ | RCErrorType.Invitation
3091
+ | RCErrorType.Version
3092
+ | RCErrorType.Encrypt
3093
+ | RCErrorType.Decrypt
3094
+ | RCErrorType.BlockSize
3095
+ | RCErrorType.Syntax
3096
+
3097
+ export namespace RCErrorType {
3098
+ export type Tag =
3099
+ | "internal"
3100
+ | "identity"
3101
+ | "noLocalAddress"
3102
+ | "newController"
3103
+ | "notDiscovered"
3104
+ | "tLSStartFailed"
3105
+ | "exception"
3106
+ | "ctrlAuth"
3107
+ | "ctrlNotFound"
3108
+ | "ctrlError"
3109
+ | "invitation"
3110
+ | "version"
3111
+ | "encrypt"
3112
+ | "decrypt"
3113
+ | "blockSize"
3114
+ | "syntax"
3115
+
3116
+ interface Interface {
3117
+ type: Tag
3118
+ }
3119
+
3120
+ export interface Internal extends Interface {
3121
+ type: "internal"
3122
+ internalErr: string
3123
+ }
3124
+
3125
+ export interface Identity extends Interface {
3126
+ type: "identity"
3127
+ }
3128
+
3129
+ export interface NoLocalAddress extends Interface {
3130
+ type: "noLocalAddress"
3131
+ }
3132
+
3133
+ export interface NewController extends Interface {
3134
+ type: "newController"
3135
+ }
3136
+
3137
+ export interface NotDiscovered extends Interface {
3138
+ type: "notDiscovered"
3139
+ }
3140
+
3141
+ export interface TLSStartFailed extends Interface {
3142
+ type: "tLSStartFailed"
3143
+ }
3144
+
3145
+ export interface Exception extends Interface {
3146
+ type: "exception"
3147
+ exception: string
3148
+ }
3149
+
3150
+ export interface CtrlAuth extends Interface {
3151
+ type: "ctrlAuth"
3152
+ }
3153
+
3154
+ export interface CtrlNotFound extends Interface {
3155
+ type: "ctrlNotFound"
3156
+ }
3157
+
3158
+ export interface CtrlError extends Interface {
3159
+ type: "ctrlError"
3160
+ ctrlErr: string
3161
+ }
3162
+
3163
+ export interface Invitation extends Interface {
3164
+ type: "invitation"
3165
+ }
3166
+
3167
+ export interface Version extends Interface {
3168
+ type: "version"
3169
+ }
3170
+
3171
+ export interface Encrypt extends Interface {
3172
+ type: "encrypt"
3173
+ }
3174
+
3175
+ export interface Decrypt extends Interface {
3176
+ type: "decrypt"
3177
+ }
3178
+
3179
+ export interface BlockSize extends Interface {
3180
+ type: "blockSize"
3181
+ }
3182
+
3183
+ export interface Syntax extends Interface {
3184
+ type: "syntax"
3185
+ syntaxErr: string
3186
+ }
3187
+ }
3188
+
3189
+ export enum RatchetSyncState {
3190
+ Ok = "ok",
3191
+ Allowed = "allowed",
3192
+ Required = "required",
3193
+ Started = "started",
3194
+ Agreed = "agreed",
3195
+ }
3196
+
3197
+ export type RcvConnEvent =
3198
+ | RcvConnEvent.SwitchQueue
3199
+ | RcvConnEvent.RatchetSync
3200
+ | RcvConnEvent.VerificationCodeReset
3201
+ | RcvConnEvent.PqEnabled
3202
+
3203
+ export namespace RcvConnEvent {
3204
+ export type Tag = "switchQueue" | "ratchetSync" | "verificationCodeReset" | "pqEnabled"
3205
+
3206
+ interface Interface {
3207
+ type: Tag
3208
+ }
3209
+
3210
+ export interface SwitchQueue extends Interface {
3211
+ type: "switchQueue"
3212
+ phase: SwitchPhase
3213
+ }
3214
+
3215
+ export interface RatchetSync extends Interface {
3216
+ type: "ratchetSync"
3217
+ syncStatus: RatchetSyncState
3218
+ }
3219
+
3220
+ export interface VerificationCodeReset extends Interface {
3221
+ type: "verificationCodeReset"
3222
+ }
3223
+
3224
+ export interface PqEnabled extends Interface {
3225
+ type: "pqEnabled"
3226
+ enabled: boolean
3227
+ }
3228
+ }
3229
+
3230
+ export type RcvDirectEvent =
3231
+ | RcvDirectEvent.ContactDeleted
3232
+ | RcvDirectEvent.ProfileUpdated
3233
+ | RcvDirectEvent.GroupInvLinkReceived
3234
+
3235
+ export namespace RcvDirectEvent {
3236
+ export type Tag = "contactDeleted" | "profileUpdated" | "groupInvLinkReceived"
3237
+
3238
+ interface Interface {
3239
+ type: Tag
3240
+ }
3241
+
3242
+ export interface ContactDeleted extends Interface {
3243
+ type: "contactDeleted"
3244
+ }
3245
+
3246
+ export interface ProfileUpdated extends Interface {
3247
+ type: "profileUpdated"
3248
+ fromProfile: Profile
3249
+ toProfile: Profile
3250
+ }
3251
+
3252
+ export interface GroupInvLinkReceived extends Interface {
3253
+ type: "groupInvLinkReceived"
3254
+ groupProfile: GroupProfile
3255
+ }
3256
+ }
3257
+
3258
+ export interface RcvFileDescr {
3259
+ fileDescrId: number // int64
3260
+ fileDescrText: string
3261
+ fileDescrPartNo: number // int
3262
+ fileDescrComplete: boolean
3263
+ }
3264
+
3265
+ export type RcvFileStatus =
3266
+ | RcvFileStatus.New
3267
+ | RcvFileStatus.Accepted
3268
+ | RcvFileStatus.Connected
3269
+ | RcvFileStatus.Complete
3270
+ | RcvFileStatus.Cancelled
3271
+
3272
+ export namespace RcvFileStatus {
3273
+ export type Tag = "new" | "accepted" | "connected" | "complete" | "cancelled"
3274
+
3275
+ interface Interface {
3276
+ type: Tag
3277
+ }
3278
+
3279
+ export interface New extends Interface {
3280
+ type: "new"
3281
+ }
3282
+
3283
+ export interface Accepted extends Interface {
3284
+ type: "accepted"
3285
+ filePath: string
3286
+ }
3287
+
3288
+ export interface Connected extends Interface {
3289
+ type: "connected"
3290
+ filePath: string
3291
+ }
3292
+
3293
+ export interface Complete extends Interface {
3294
+ type: "complete"
3295
+ filePath: string
3296
+ }
3297
+
3298
+ export interface Cancelled extends Interface {
3299
+ type: "cancelled"
3300
+ filePath_?: string
3301
+ }
3302
+ }
3303
+
3304
+ export interface RcvFileTransfer {
3305
+ fileId: number // int64
3306
+ xftpRcvFile?: XFTPRcvFile
3307
+ fileInvitation: FileInvitation
3308
+ fileStatus: RcvFileStatus
3309
+ rcvFileInline?: InlineFileMode
3310
+ senderDisplayName: string
3311
+ chunkSize: number // int64
3312
+ cancelled: boolean
3313
+ grpMemberId?: number // int64
3314
+ cryptoArgs?: CryptoFileArgs
3315
+ }
3316
+
3317
+ export type RcvGroupEvent =
3318
+ | RcvGroupEvent.MemberAdded
3319
+ | RcvGroupEvent.MemberConnected
3320
+ | RcvGroupEvent.MemberAccepted
3321
+ | RcvGroupEvent.UserAccepted
3322
+ | RcvGroupEvent.MemberLeft
3323
+ | RcvGroupEvent.MemberRole
3324
+ | RcvGroupEvent.MemberBlocked
3325
+ | RcvGroupEvent.UserRole
3326
+ | RcvGroupEvent.MemberDeleted
3327
+ | RcvGroupEvent.UserDeleted
3328
+ | RcvGroupEvent.GroupDeleted
3329
+ | RcvGroupEvent.GroupUpdated
3330
+ | RcvGroupEvent.InvitedViaGroupLink
3331
+ | RcvGroupEvent.MemberCreatedContact
3332
+ | RcvGroupEvent.MemberProfileUpdated
3333
+ | RcvGroupEvent.NewMemberPendingReview
3334
+
3335
+ export namespace RcvGroupEvent {
3336
+ export type Tag =
3337
+ | "memberAdded"
3338
+ | "memberConnected"
3339
+ | "memberAccepted"
3340
+ | "userAccepted"
3341
+ | "memberLeft"
3342
+ | "memberRole"
3343
+ | "memberBlocked"
3344
+ | "userRole"
3345
+ | "memberDeleted"
3346
+ | "userDeleted"
3347
+ | "groupDeleted"
3348
+ | "groupUpdated"
3349
+ | "invitedViaGroupLink"
3350
+ | "memberCreatedContact"
3351
+ | "memberProfileUpdated"
3352
+ | "newMemberPendingReview"
3353
+
3354
+ interface Interface {
3355
+ type: Tag
3356
+ }
3357
+
3358
+ export interface MemberAdded extends Interface {
3359
+ type: "memberAdded"
3360
+ groupMemberId: number // int64
3361
+ profile: Profile
3362
+ }
3363
+
3364
+ export interface MemberConnected extends Interface {
3365
+ type: "memberConnected"
3366
+ }
3367
+
3368
+ export interface MemberAccepted extends Interface {
3369
+ type: "memberAccepted"
3370
+ groupMemberId: number // int64
3371
+ profile: Profile
3372
+ }
3373
+
3374
+ export interface UserAccepted extends Interface {
3375
+ type: "userAccepted"
3376
+ }
3377
+
3378
+ export interface MemberLeft extends Interface {
3379
+ type: "memberLeft"
3380
+ }
3381
+
3382
+ export interface MemberRole extends Interface {
3383
+ type: "memberRole"
3384
+ groupMemberId: number // int64
3385
+ profile: Profile
3386
+ role: GroupMemberRole
3387
+ }
3388
+
3389
+ export interface MemberBlocked extends Interface {
3390
+ type: "memberBlocked"
3391
+ groupMemberId: number // int64
3392
+ profile: Profile
3393
+ blocked: boolean
3394
+ }
3395
+
3396
+ export interface UserRole extends Interface {
3397
+ type: "userRole"
3398
+ role: GroupMemberRole
3399
+ }
3400
+
3401
+ export interface MemberDeleted extends Interface {
3402
+ type: "memberDeleted"
3403
+ groupMemberId: number // int64
3404
+ profile: Profile
3405
+ }
3406
+
3407
+ export interface UserDeleted extends Interface {
3408
+ type: "userDeleted"
3409
+ }
3410
+
3411
+ export interface GroupDeleted extends Interface {
3412
+ type: "groupDeleted"
3413
+ }
3414
+
3415
+ export interface GroupUpdated extends Interface {
3416
+ type: "groupUpdated"
3417
+ groupProfile: GroupProfile
3418
+ }
3419
+
3420
+ export interface InvitedViaGroupLink extends Interface {
3421
+ type: "invitedViaGroupLink"
3422
+ }
3423
+
3424
+ export interface MemberCreatedContact extends Interface {
3425
+ type: "memberCreatedContact"
3426
+ }
3427
+
3428
+ export interface MemberProfileUpdated extends Interface {
3429
+ type: "memberProfileUpdated"
3430
+ fromProfile: Profile
3431
+ toProfile: Profile
3432
+ }
3433
+
3434
+ export interface NewMemberPendingReview extends Interface {
3435
+ type: "newMemberPendingReview"
3436
+ }
3437
+ }
3438
+
3439
+ export enum ReportReason {
3440
+ Spam = "spam",
3441
+ Content = "content",
3442
+ Community = "community",
3443
+ Profile = "profile",
3444
+ Other = "other",
3445
+ }
3446
+
3447
+ export interface RoleGroupPreference {
3448
+ enable: GroupFeatureEnabled
3449
+ role?: GroupMemberRole
3450
+ }
3451
+
3452
+ export type SMPAgentError =
3453
+ | SMPAgentError.A_MESSAGE
3454
+ | SMPAgentError.A_PROHIBITED
3455
+ | SMPAgentError.A_VERSION
3456
+ | SMPAgentError.A_LINK
3457
+ | SMPAgentError.A_CRYPTO
3458
+ | SMPAgentError.A_DUPLICATE
3459
+ | SMPAgentError.A_QUEUE
3460
+
3461
+ export namespace SMPAgentError {
3462
+ export type Tag =
3463
+ | "A_MESSAGE"
3464
+ | "A_PROHIBITED"
3465
+ | "A_VERSION"
3466
+ | "A_LINK"
3467
+ | "A_CRYPTO"
3468
+ | "A_DUPLICATE"
3469
+ | "A_QUEUE"
3470
+
3471
+ interface Interface {
3472
+ type: Tag
3473
+ }
3474
+
3475
+ export interface A_MESSAGE extends Interface {
3476
+ type: "A_MESSAGE"
3477
+ }
3478
+
3479
+ export interface A_PROHIBITED extends Interface {
3480
+ type: "A_PROHIBITED"
3481
+ prohibitedErr: string
3482
+ }
3483
+
3484
+ export interface A_VERSION extends Interface {
3485
+ type: "A_VERSION"
3486
+ }
3487
+
3488
+ export interface A_LINK extends Interface {
3489
+ type: "A_LINK"
3490
+ linkErr: string
3491
+ }
3492
+
3493
+ export interface A_CRYPTO extends Interface {
3494
+ type: "A_CRYPTO"
3495
+ cryptoErr: AgentCryptoError
3496
+ }
3497
+
3498
+ export interface A_DUPLICATE extends Interface {
3499
+ type: "A_DUPLICATE"
3500
+ }
3501
+
3502
+ export interface A_QUEUE extends Interface {
3503
+ type: "A_QUEUE"
3504
+ queueErr: string
3505
+ }
3506
+ }
3507
+
3508
+ export interface SecurityCode {
3509
+ securityCode: string
3510
+ verifiedAt: string // ISO-8601 timestamp
3511
+ }
3512
+
3513
+ export interface SimplePreference {
3514
+ allow: FeatureAllowed
3515
+ }
3516
+
3517
+ export enum SimplexLinkType {
3518
+ Contact = "contact",
3519
+ Invitation = "invitation",
3520
+ Group = "group",
3521
+ Channel = "channel",
3522
+ Relay = "relay",
3523
+ }
3524
+
3525
+ export enum SndCIStatusProgress {
3526
+ Partial = "partial",
3527
+ Complete = "complete",
3528
+ }
3529
+
3530
+ export type SndConnEvent = SndConnEvent.SwitchQueue | SndConnEvent.RatchetSync | SndConnEvent.PqEnabled
3531
+
3532
+ export namespace SndConnEvent {
3533
+ export type Tag = "switchQueue" | "ratchetSync" | "pqEnabled"
3534
+
3535
+ interface Interface {
3536
+ type: Tag
3537
+ }
3538
+
3539
+ export interface SwitchQueue extends Interface {
3540
+ type: "switchQueue"
3541
+ phase: SwitchPhase
3542
+ member?: GroupMemberRef
3543
+ }
3544
+
3545
+ export interface RatchetSync extends Interface {
3546
+ type: "ratchetSync"
3547
+ syncStatus: RatchetSyncState
3548
+ member?: GroupMemberRef
3549
+ }
3550
+
3551
+ export interface PqEnabled extends Interface {
3552
+ type: "pqEnabled"
3553
+ enabled: boolean
3554
+ }
3555
+ }
3556
+
3557
+ export type SndError =
3558
+ | SndError.Auth
3559
+ | SndError.Quota
3560
+ | SndError.Expired
3561
+ | SndError.Relay
3562
+ | SndError.Proxy
3563
+ | SndError.ProxyRelay
3564
+ | SndError.Other
3565
+
3566
+ export namespace SndError {
3567
+ export type Tag = "auth" | "quota" | "expired" | "relay" | "proxy" | "proxyRelay" | "other"
3568
+
3569
+ interface Interface {
3570
+ type: Tag
3571
+ }
3572
+
3573
+ export interface Auth extends Interface {
3574
+ type: "auth"
3575
+ }
3576
+
3577
+ export interface Quota extends Interface {
3578
+ type: "quota"
3579
+ }
3580
+
3581
+ export interface Expired extends Interface {
3582
+ type: "expired"
3583
+ }
3584
+
3585
+ export interface Relay extends Interface {
3586
+ type: "relay"
3587
+ srvError: SrvError
3588
+ }
3589
+
3590
+ export interface Proxy extends Interface {
3591
+ type: "proxy"
3592
+ proxyServer: string
3593
+ srvError: SrvError
3594
+ }
3595
+
3596
+ export interface ProxyRelay extends Interface {
3597
+ type: "proxyRelay"
3598
+ proxyServer: string
3599
+ srvError: SrvError
3600
+ }
3601
+
3602
+ export interface Other extends Interface {
3603
+ type: "other"
3604
+ sndError: string
3605
+ }
3606
+ }
3607
+
3608
+ export interface SndFileTransfer {
3609
+ fileId: number // int64
3610
+ fileName: string
3611
+ filePath: string
3612
+ fileSize: number // int64
3613
+ chunkSize: number // int64
3614
+ recipientDisplayName: string
3615
+ connId: number // int64
3616
+ agentConnId: string
3617
+ groupMemberId?: number // int64
3618
+ fileStatus: FileStatus
3619
+ fileDescrId?: number // int64
3620
+ fileInline?: InlineFileMode
3621
+ }
3622
+
3623
+ export type SndGroupEvent =
3624
+ | SndGroupEvent.MemberRole
3625
+ | SndGroupEvent.MemberBlocked
3626
+ | SndGroupEvent.UserRole
3627
+ | SndGroupEvent.MemberDeleted
3628
+ | SndGroupEvent.UserLeft
3629
+ | SndGroupEvent.GroupUpdated
3630
+ | SndGroupEvent.MemberAccepted
3631
+ | SndGroupEvent.UserPendingReview
3632
+
3633
+ export namespace SndGroupEvent {
3634
+ export type Tag =
3635
+ | "memberRole"
3636
+ | "memberBlocked"
3637
+ | "userRole"
3638
+ | "memberDeleted"
3639
+ | "userLeft"
3640
+ | "groupUpdated"
3641
+ | "memberAccepted"
3642
+ | "userPendingReview"
3643
+
3644
+ interface Interface {
3645
+ type: Tag
3646
+ }
3647
+
3648
+ export interface MemberRole extends Interface {
3649
+ type: "memberRole"
3650
+ groupMemberId: number // int64
3651
+ profile: Profile
3652
+ role: GroupMemberRole
3653
+ }
3654
+
3655
+ export interface MemberBlocked extends Interface {
3656
+ type: "memberBlocked"
3657
+ groupMemberId: number // int64
3658
+ profile: Profile
3659
+ blocked: boolean
3660
+ }
3661
+
3662
+ export interface UserRole extends Interface {
3663
+ type: "userRole"
3664
+ role: GroupMemberRole
3665
+ }
3666
+
3667
+ export interface MemberDeleted extends Interface {
3668
+ type: "memberDeleted"
3669
+ groupMemberId: number // int64
3670
+ profile: Profile
3671
+ }
3672
+
3673
+ export interface UserLeft extends Interface {
3674
+ type: "userLeft"
3675
+ }
3676
+
3677
+ export interface GroupUpdated extends Interface {
3678
+ type: "groupUpdated"
3679
+ groupProfile: GroupProfile
3680
+ }
3681
+
3682
+ export interface MemberAccepted extends Interface {
3683
+ type: "memberAccepted"
3684
+ groupMemberId: number // int64
3685
+ profile: Profile
3686
+ }
3687
+
3688
+ export interface UserPendingReview extends Interface {
3689
+ type: "userPendingReview"
3690
+ }
3691
+ }
3692
+
3693
+ export type SrvError = SrvError.Host | SrvError.Version | SrvError.Other
3694
+
3695
+ export namespace SrvError {
3696
+ export type Tag = "host" | "version" | "other"
3697
+
3698
+ interface Interface {
3699
+ type: Tag
3700
+ }
3701
+
3702
+ export interface Host extends Interface {
3703
+ type: "host"
3704
+ }
3705
+
3706
+ export interface Version extends Interface {
3707
+ type: "version"
3708
+ }
3709
+
3710
+ export interface Other extends Interface {
3711
+ type: "other"
3712
+ srvError: string
3713
+ }
3714
+ }
3715
+
3716
+ export type StoreError =
3717
+ | StoreError.DuplicateName
3718
+ | StoreError.UserNotFound
3719
+ | StoreError.UserNotFoundByName
3720
+ | StoreError.UserNotFoundByContactId
3721
+ | StoreError.UserNotFoundByGroupId
3722
+ | StoreError.UserNotFoundByFileId
3723
+ | StoreError.UserNotFoundByContactRequestId
3724
+ | StoreError.ContactNotFound
3725
+ | StoreError.ContactNotFoundByName
3726
+ | StoreError.ContactNotFoundByMemberId
3727
+ | StoreError.ContactNotReady
3728
+ | StoreError.DuplicateContactLink
3729
+ | StoreError.UserContactLinkNotFound
3730
+ | StoreError.ContactRequestNotFound
3731
+ | StoreError.ContactRequestNotFoundByName
3732
+ | StoreError.InvalidContactRequestEntity
3733
+ | StoreError.InvalidBusinessChatContactRequest
3734
+ | StoreError.GroupNotFound
3735
+ | StoreError.GroupNotFoundByName
3736
+ | StoreError.GroupMemberNameNotFound
3737
+ | StoreError.GroupMemberNotFound
3738
+ | StoreError.GroupMemberNotFoundByIndex
3739
+ | StoreError.MemberRelationsVectorNotFound
3740
+ | StoreError.GroupHostMemberNotFound
3741
+ | StoreError.GroupMemberNotFoundByMemberId
3742
+ | StoreError.MemberContactGroupMemberNotFound
3743
+ | StoreError.InvalidMemberRelationUpdate
3744
+ | StoreError.GroupWithoutUser
3745
+ | StoreError.DuplicateGroupMember
3746
+ | StoreError.GroupAlreadyJoined
3747
+ | StoreError.GroupInvitationNotFound
3748
+ | StoreError.NoteFolderAlreadyExists
3749
+ | StoreError.NoteFolderNotFound
3750
+ | StoreError.UserNoteFolderNotFound
3751
+ | StoreError.SndFileNotFound
3752
+ | StoreError.SndFileInvalid
3753
+ | StoreError.RcvFileNotFound
3754
+ | StoreError.RcvFileDescrNotFound
3755
+ | StoreError.FileNotFound
3756
+ | StoreError.RcvFileInvalid
3757
+ | StoreError.RcvFileInvalidDescrPart
3758
+ | StoreError.LocalFileNoTransfer
3759
+ | StoreError.SharedMsgIdNotFoundByFileId
3760
+ | StoreError.FileIdNotFoundBySharedMsgId
3761
+ | StoreError.SndFileNotFoundXFTP
3762
+ | StoreError.RcvFileNotFoundXFTP
3763
+ | StoreError.ConnectionNotFound
3764
+ | StoreError.ConnectionNotFoundById
3765
+ | StoreError.ConnectionNotFoundByMemberId
3766
+ | StoreError.PendingConnectionNotFound
3767
+ | StoreError.UniqueID
3768
+ | StoreError.LargeMsg
3769
+ | StoreError.InternalError
3770
+ | StoreError.DBException
3771
+ | StoreError.DBBusyError
3772
+ | StoreError.BadChatItem
3773
+ | StoreError.ChatItemNotFound
3774
+ | StoreError.ChatItemNotFoundByText
3775
+ | StoreError.ChatItemSharedMsgIdNotFound
3776
+ | StoreError.ChatItemNotFoundByFileId
3777
+ | StoreError.ChatItemNotFoundByContactId
3778
+ | StoreError.ChatItemNotFoundByGroupId
3779
+ | StoreError.ProfileNotFound
3780
+ | StoreError.DuplicateGroupLink
3781
+ | StoreError.GroupLinkNotFound
3782
+ | StoreError.HostMemberIdNotFound
3783
+ | StoreError.ContactNotFoundByFileId
3784
+ | StoreError.NoGroupSndStatus
3785
+ | StoreError.DuplicateGroupMessage
3786
+ | StoreError.RemoteHostNotFound
3787
+ | StoreError.RemoteHostUnknown
3788
+ | StoreError.RemoteHostDuplicateCA
3789
+ | StoreError.RemoteCtrlNotFound
3790
+ | StoreError.RemoteCtrlDuplicateCA
3791
+ | StoreError.ProhibitedDeleteUser
3792
+ | StoreError.OperatorNotFound
3793
+ | StoreError.UsageConditionsNotFound
3794
+ | StoreError.InvalidQuote
3795
+ | StoreError.InvalidMention
3796
+ | StoreError.InvalidDeliveryTask
3797
+ | StoreError.DeliveryTaskNotFound
3798
+ | StoreError.InvalidDeliveryJob
3799
+ | StoreError.DeliveryJobNotFound
3800
+ | StoreError.WorkItemError
3801
+
3802
+ export namespace StoreError {
3803
+ export type Tag =
3804
+ | "duplicateName"
3805
+ | "userNotFound"
3806
+ | "userNotFoundByName"
3807
+ | "userNotFoundByContactId"
3808
+ | "userNotFoundByGroupId"
3809
+ | "userNotFoundByFileId"
3810
+ | "userNotFoundByContactRequestId"
3811
+ | "contactNotFound"
3812
+ | "contactNotFoundByName"
3813
+ | "contactNotFoundByMemberId"
3814
+ | "contactNotReady"
3815
+ | "duplicateContactLink"
3816
+ | "userContactLinkNotFound"
3817
+ | "contactRequestNotFound"
3818
+ | "contactRequestNotFoundByName"
3819
+ | "invalidContactRequestEntity"
3820
+ | "invalidBusinessChatContactRequest"
3821
+ | "groupNotFound"
3822
+ | "groupNotFoundByName"
3823
+ | "groupMemberNameNotFound"
3824
+ | "groupMemberNotFound"
3825
+ | "groupMemberNotFoundByIndex"
3826
+ | "memberRelationsVectorNotFound"
3827
+ | "groupHostMemberNotFound"
3828
+ | "groupMemberNotFoundByMemberId"
3829
+ | "memberContactGroupMemberNotFound"
3830
+ | "invalidMemberRelationUpdate"
3831
+ | "groupWithoutUser"
3832
+ | "duplicateGroupMember"
3833
+ | "groupAlreadyJoined"
3834
+ | "groupInvitationNotFound"
3835
+ | "noteFolderAlreadyExists"
3836
+ | "noteFolderNotFound"
3837
+ | "userNoteFolderNotFound"
3838
+ | "sndFileNotFound"
3839
+ | "sndFileInvalid"
3840
+ | "rcvFileNotFound"
3841
+ | "rcvFileDescrNotFound"
3842
+ | "fileNotFound"
3843
+ | "rcvFileInvalid"
3844
+ | "rcvFileInvalidDescrPart"
3845
+ | "localFileNoTransfer"
3846
+ | "sharedMsgIdNotFoundByFileId"
3847
+ | "fileIdNotFoundBySharedMsgId"
3848
+ | "sndFileNotFoundXFTP"
3849
+ | "rcvFileNotFoundXFTP"
3850
+ | "connectionNotFound"
3851
+ | "connectionNotFoundById"
3852
+ | "connectionNotFoundByMemberId"
3853
+ | "pendingConnectionNotFound"
3854
+ | "uniqueID"
3855
+ | "largeMsg"
3856
+ | "internalError"
3857
+ | "dBException"
3858
+ | "dBBusyError"
3859
+ | "badChatItem"
3860
+ | "chatItemNotFound"
3861
+ | "chatItemNotFoundByText"
3862
+ | "chatItemSharedMsgIdNotFound"
3863
+ | "chatItemNotFoundByFileId"
3864
+ | "chatItemNotFoundByContactId"
3865
+ | "chatItemNotFoundByGroupId"
3866
+ | "profileNotFound"
3867
+ | "duplicateGroupLink"
3868
+ | "groupLinkNotFound"
3869
+ | "hostMemberIdNotFound"
3870
+ | "contactNotFoundByFileId"
3871
+ | "noGroupSndStatus"
3872
+ | "duplicateGroupMessage"
3873
+ | "remoteHostNotFound"
3874
+ | "remoteHostUnknown"
3875
+ | "remoteHostDuplicateCA"
3876
+ | "remoteCtrlNotFound"
3877
+ | "remoteCtrlDuplicateCA"
3878
+ | "prohibitedDeleteUser"
3879
+ | "operatorNotFound"
3880
+ | "usageConditionsNotFound"
3881
+ | "invalidQuote"
3882
+ | "invalidMention"
3883
+ | "invalidDeliveryTask"
3884
+ | "deliveryTaskNotFound"
3885
+ | "invalidDeliveryJob"
3886
+ | "deliveryJobNotFound"
3887
+ | "workItemError"
3888
+
3889
+ interface Interface {
3890
+ type: Tag
3891
+ }
3892
+
3893
+ export interface DuplicateName extends Interface {
3894
+ type: "duplicateName"
3895
+ }
3896
+
3897
+ export interface UserNotFound extends Interface {
3898
+ type: "userNotFound"
3899
+ userId: number // int64
3900
+ }
3901
+
3902
+ export interface UserNotFoundByName extends Interface {
3903
+ type: "userNotFoundByName"
3904
+ contactName: string
3905
+ }
3906
+
3907
+ export interface UserNotFoundByContactId extends Interface {
3908
+ type: "userNotFoundByContactId"
3909
+ contactId: number // int64
3910
+ }
3911
+
3912
+ export interface UserNotFoundByGroupId extends Interface {
3913
+ type: "userNotFoundByGroupId"
3914
+ groupId: number // int64
3915
+ }
3916
+
3917
+ export interface UserNotFoundByFileId extends Interface {
3918
+ type: "userNotFoundByFileId"
3919
+ fileId: number // int64
3920
+ }
3921
+
3922
+ export interface UserNotFoundByContactRequestId extends Interface {
3923
+ type: "userNotFoundByContactRequestId"
3924
+ contactRequestId: number // int64
3925
+ }
3926
+
3927
+ export interface ContactNotFound extends Interface {
3928
+ type: "contactNotFound"
3929
+ contactId: number // int64
3930
+ }
3931
+
3932
+ export interface ContactNotFoundByName extends Interface {
3933
+ type: "contactNotFoundByName"
3934
+ contactName: string
3935
+ }
3936
+
3937
+ export interface ContactNotFoundByMemberId extends Interface {
3938
+ type: "contactNotFoundByMemberId"
3939
+ groupMemberId: number // int64
3940
+ }
3941
+
3942
+ export interface ContactNotReady extends Interface {
3943
+ type: "contactNotReady"
3944
+ contactName: string
3945
+ }
3946
+
3947
+ export interface DuplicateContactLink extends Interface {
3948
+ type: "duplicateContactLink"
3949
+ }
3950
+
3951
+ export interface UserContactLinkNotFound extends Interface {
3952
+ type: "userContactLinkNotFound"
3953
+ }
3954
+
3955
+ export interface ContactRequestNotFound extends Interface {
3956
+ type: "contactRequestNotFound"
3957
+ contactRequestId: number // int64
3958
+ }
3959
+
3960
+ export interface ContactRequestNotFoundByName extends Interface {
3961
+ type: "contactRequestNotFoundByName"
3962
+ contactName: string
3963
+ }
3964
+
3965
+ export interface InvalidContactRequestEntity extends Interface {
3966
+ type: "invalidContactRequestEntity"
3967
+ contactRequestId: number // int64
3968
+ }
3969
+
3970
+ export interface InvalidBusinessChatContactRequest extends Interface {
3971
+ type: "invalidBusinessChatContactRequest"
3972
+ }
3973
+
3974
+ export interface GroupNotFound extends Interface {
3975
+ type: "groupNotFound"
3976
+ groupId: number // int64
3977
+ }
3978
+
3979
+ export interface GroupNotFoundByName extends Interface {
3980
+ type: "groupNotFoundByName"
3981
+ groupName: string
3982
+ }
3983
+
3984
+ export interface GroupMemberNameNotFound extends Interface {
3985
+ type: "groupMemberNameNotFound"
3986
+ groupId: number // int64
3987
+ groupMemberName: string
3988
+ }
3989
+
3990
+ export interface GroupMemberNotFound extends Interface {
3991
+ type: "groupMemberNotFound"
3992
+ groupMemberId: number // int64
3993
+ }
3994
+
3995
+ export interface GroupMemberNotFoundByIndex extends Interface {
3996
+ type: "groupMemberNotFoundByIndex"
3997
+ groupMemberIndex: number // int64
3998
+ }
3999
+
4000
+ export interface MemberRelationsVectorNotFound extends Interface {
4001
+ type: "memberRelationsVectorNotFound"
4002
+ groupMemberId: number // int64
4003
+ }
4004
+
4005
+ export interface GroupHostMemberNotFound extends Interface {
4006
+ type: "groupHostMemberNotFound"
4007
+ groupId: number // int64
4008
+ }
4009
+
4010
+ export interface GroupMemberNotFoundByMemberId extends Interface {
4011
+ type: "groupMemberNotFoundByMemberId"
4012
+ memberId: string
4013
+ }
4014
+
4015
+ export interface MemberContactGroupMemberNotFound extends Interface {
4016
+ type: "memberContactGroupMemberNotFound"
4017
+ contactId: number // int64
4018
+ }
4019
+
4020
+ export interface InvalidMemberRelationUpdate extends Interface {
4021
+ type: "invalidMemberRelationUpdate"
4022
+ }
4023
+
4024
+ export interface GroupWithoutUser extends Interface {
4025
+ type: "groupWithoutUser"
4026
+ }
4027
+
4028
+ export interface DuplicateGroupMember extends Interface {
4029
+ type: "duplicateGroupMember"
4030
+ }
4031
+
4032
+ export interface GroupAlreadyJoined extends Interface {
4033
+ type: "groupAlreadyJoined"
4034
+ }
4035
+
4036
+ export interface GroupInvitationNotFound extends Interface {
4037
+ type: "groupInvitationNotFound"
4038
+ }
4039
+
4040
+ export interface NoteFolderAlreadyExists extends Interface {
4041
+ type: "noteFolderAlreadyExists"
4042
+ noteFolderId: number // int64
4043
+ }
4044
+
4045
+ export interface NoteFolderNotFound extends Interface {
4046
+ type: "noteFolderNotFound"
4047
+ noteFolderId: number // int64
4048
+ }
4049
+
4050
+ export interface UserNoteFolderNotFound extends Interface {
4051
+ type: "userNoteFolderNotFound"
4052
+ }
4053
+
4054
+ export interface SndFileNotFound extends Interface {
4055
+ type: "sndFileNotFound"
4056
+ fileId: number // int64
4057
+ }
4058
+
4059
+ export interface SndFileInvalid extends Interface {
4060
+ type: "sndFileInvalid"
4061
+ fileId: number // int64
4062
+ }
4063
+
4064
+ export interface RcvFileNotFound extends Interface {
4065
+ type: "rcvFileNotFound"
4066
+ fileId: number // int64
4067
+ }
4068
+
4069
+ export interface RcvFileDescrNotFound extends Interface {
4070
+ type: "rcvFileDescrNotFound"
4071
+ fileId: number // int64
4072
+ }
4073
+
4074
+ export interface FileNotFound extends Interface {
4075
+ type: "fileNotFound"
4076
+ fileId: number // int64
4077
+ }
4078
+
4079
+ export interface RcvFileInvalid extends Interface {
4080
+ type: "rcvFileInvalid"
4081
+ fileId: number // int64
4082
+ }
4083
+
4084
+ export interface RcvFileInvalidDescrPart extends Interface {
4085
+ type: "rcvFileInvalidDescrPart"
4086
+ }
4087
+
4088
+ export interface LocalFileNoTransfer extends Interface {
4089
+ type: "localFileNoTransfer"
4090
+ fileId: number // int64
4091
+ }
4092
+
4093
+ export interface SharedMsgIdNotFoundByFileId extends Interface {
4094
+ type: "sharedMsgIdNotFoundByFileId"
4095
+ fileId: number // int64
4096
+ }
4097
+
4098
+ export interface FileIdNotFoundBySharedMsgId extends Interface {
4099
+ type: "fileIdNotFoundBySharedMsgId"
4100
+ sharedMsgId: string
4101
+ }
4102
+
4103
+ export interface SndFileNotFoundXFTP extends Interface {
4104
+ type: "sndFileNotFoundXFTP"
4105
+ agentSndFileId: string
4106
+ }
4107
+
4108
+ export interface RcvFileNotFoundXFTP extends Interface {
4109
+ type: "rcvFileNotFoundXFTP"
4110
+ agentRcvFileId: string
4111
+ }
4112
+
4113
+ export interface ConnectionNotFound extends Interface {
4114
+ type: "connectionNotFound"
4115
+ agentConnId: string
4116
+ }
4117
+
4118
+ export interface ConnectionNotFoundById extends Interface {
4119
+ type: "connectionNotFoundById"
4120
+ connId: number // int64
4121
+ }
4122
+
4123
+ export interface ConnectionNotFoundByMemberId extends Interface {
4124
+ type: "connectionNotFoundByMemberId"
4125
+ groupMemberId: number // int64
4126
+ }
4127
+
4128
+ export interface PendingConnectionNotFound extends Interface {
4129
+ type: "pendingConnectionNotFound"
4130
+ connId: number // int64
4131
+ }
4132
+
4133
+ export interface UniqueID extends Interface {
4134
+ type: "uniqueID"
4135
+ }
4136
+
4137
+ export interface LargeMsg extends Interface {
4138
+ type: "largeMsg"
4139
+ }
4140
+
4141
+ export interface InternalError extends Interface {
4142
+ type: "internalError"
4143
+ message: string
4144
+ }
4145
+
4146
+ export interface DBException extends Interface {
4147
+ type: "dBException"
4148
+ message: string
4149
+ }
4150
+
4151
+ export interface DBBusyError extends Interface {
4152
+ type: "dBBusyError"
4153
+ message: string
4154
+ }
4155
+
4156
+ export interface BadChatItem extends Interface {
4157
+ type: "badChatItem"
4158
+ itemId: number // int64
4159
+ itemTs?: string // ISO-8601 timestamp
4160
+ }
4161
+
4162
+ export interface ChatItemNotFound extends Interface {
4163
+ type: "chatItemNotFound"
4164
+ itemId: number // int64
4165
+ }
4166
+
4167
+ export interface ChatItemNotFoundByText extends Interface {
4168
+ type: "chatItemNotFoundByText"
4169
+ text: string
4170
+ }
4171
+
4172
+ export interface ChatItemSharedMsgIdNotFound extends Interface {
4173
+ type: "chatItemSharedMsgIdNotFound"
4174
+ sharedMsgId: string
4175
+ }
4176
+
4177
+ export interface ChatItemNotFoundByFileId extends Interface {
4178
+ type: "chatItemNotFoundByFileId"
4179
+ fileId: number // int64
4180
+ }
4181
+
4182
+ export interface ChatItemNotFoundByContactId extends Interface {
4183
+ type: "chatItemNotFoundByContactId"
4184
+ contactId: number // int64
4185
+ }
4186
+
4187
+ export interface ChatItemNotFoundByGroupId extends Interface {
4188
+ type: "chatItemNotFoundByGroupId"
4189
+ groupId: number // int64
4190
+ }
4191
+
4192
+ export interface ProfileNotFound extends Interface {
4193
+ type: "profileNotFound"
4194
+ profileId: number // int64
4195
+ }
4196
+
4197
+ export interface DuplicateGroupLink extends Interface {
4198
+ type: "duplicateGroupLink"
4199
+ groupInfo: GroupInfo
4200
+ }
4201
+
4202
+ export interface GroupLinkNotFound extends Interface {
4203
+ type: "groupLinkNotFound"
4204
+ groupInfo: GroupInfo
4205
+ }
4206
+
4207
+ export interface HostMemberIdNotFound extends Interface {
4208
+ type: "hostMemberIdNotFound"
4209
+ groupId: number // int64
4210
+ }
4211
+
4212
+ export interface ContactNotFoundByFileId extends Interface {
4213
+ type: "contactNotFoundByFileId"
4214
+ fileId: number // int64
4215
+ }
4216
+
4217
+ export interface NoGroupSndStatus extends Interface {
4218
+ type: "noGroupSndStatus"
4219
+ itemId: number // int64
4220
+ groupMemberId: number // int64
4221
+ }
4222
+
4223
+ export interface DuplicateGroupMessage extends Interface {
4224
+ type: "duplicateGroupMessage"
4225
+ groupId: number // int64
4226
+ sharedMsgId: string
4227
+ authorGroupMemberId?: number // int64
4228
+ forwardedByGroupMemberId?: number // int64
4229
+ }
4230
+
4231
+ export interface RemoteHostNotFound extends Interface {
4232
+ type: "remoteHostNotFound"
4233
+ remoteHostId: number // int64
4234
+ }
4235
+
4236
+ export interface RemoteHostUnknown extends Interface {
4237
+ type: "remoteHostUnknown"
4238
+ }
4239
+
4240
+ export interface RemoteHostDuplicateCA extends Interface {
4241
+ type: "remoteHostDuplicateCA"
4242
+ }
4243
+
4244
+ export interface RemoteCtrlNotFound extends Interface {
4245
+ type: "remoteCtrlNotFound"
4246
+ remoteCtrlId: number // int64
4247
+ }
4248
+
4249
+ export interface RemoteCtrlDuplicateCA extends Interface {
4250
+ type: "remoteCtrlDuplicateCA"
4251
+ }
4252
+
4253
+ export interface ProhibitedDeleteUser extends Interface {
4254
+ type: "prohibitedDeleteUser"
4255
+ userId: number // int64
4256
+ contactId: number // int64
4257
+ }
4258
+
4259
+ export interface OperatorNotFound extends Interface {
4260
+ type: "operatorNotFound"
4261
+ serverOperatorId: number // int64
4262
+ }
4263
+
4264
+ export interface UsageConditionsNotFound extends Interface {
4265
+ type: "usageConditionsNotFound"
4266
+ }
4267
+
4268
+ export interface InvalidQuote extends Interface {
4269
+ type: "invalidQuote"
4270
+ }
4271
+
4272
+ export interface InvalidMention extends Interface {
4273
+ type: "invalidMention"
4274
+ }
4275
+
4276
+ export interface InvalidDeliveryTask extends Interface {
4277
+ type: "invalidDeliveryTask"
4278
+ taskId: number // int64
4279
+ }
4280
+
4281
+ export interface DeliveryTaskNotFound extends Interface {
4282
+ type: "deliveryTaskNotFound"
4283
+ taskId: number // int64
4284
+ }
4285
+
4286
+ export interface InvalidDeliveryJob extends Interface {
4287
+ type: "invalidDeliveryJob"
4288
+ jobId: number // int64
4289
+ }
4290
+
4291
+ export interface DeliveryJobNotFound extends Interface {
4292
+ type: "deliveryJobNotFound"
4293
+ jobId: number // int64
4294
+ }
4295
+
4296
+ export interface WorkItemError extends Interface {
4297
+ type: "workItemError"
4298
+ errContext: string
4299
+ }
4300
+ }
4301
+
4302
+ export enum SwitchPhase {
4303
+ Started = "started",
4304
+ Confirmed = "confirmed",
4305
+ Secured = "secured",
4306
+ Completed = "completed",
4307
+ }
4308
+
4309
+ export interface TimedMessagesGroupPreference {
4310
+ enable: GroupFeatureEnabled
4311
+ ttl?: number // int
4312
+ }
4313
+
4314
+ export interface TimedMessagesPreference {
4315
+ allow: FeatureAllowed
4316
+ ttl?: number // int
4317
+ }
4318
+
4319
+ export type TransportError =
4320
+ | TransportError.BadBlock
4321
+ | TransportError.Version
4322
+ | TransportError.LargeMsg
4323
+ | TransportError.BadSession
4324
+ | TransportError.NoServerAuth
4325
+ | TransportError.Handshake
4326
+
4327
+ export namespace TransportError {
4328
+ export type Tag = "badBlock" | "version" | "largeMsg" | "badSession" | "noServerAuth" | "handshake"
4329
+
4330
+ interface Interface {
4331
+ type: Tag
4332
+ }
4333
+
4334
+ export interface BadBlock extends Interface {
4335
+ type: "badBlock"
4336
+ }
4337
+
4338
+ export interface Version extends Interface {
4339
+ type: "version"
4340
+ }
4341
+
4342
+ export interface LargeMsg extends Interface {
4343
+ type: "largeMsg"
4344
+ }
4345
+
4346
+ export interface BadSession extends Interface {
4347
+ type: "badSession"
4348
+ }
4349
+
4350
+ export interface NoServerAuth extends Interface {
4351
+ type: "noServerAuth"
4352
+ }
4353
+
4354
+ export interface Handshake extends Interface {
4355
+ type: "handshake"
4356
+ handshakeErr: HandshakeError
4357
+ }
4358
+ }
4359
+
4360
+ export enum UIColorMode {
4361
+ Light = "light",
4362
+ Dark = "dark",
4363
+ }
4364
+
4365
+ export interface UIColors {
4366
+ accent?: string
4367
+ accentVariant?: string
4368
+ secondary?: string
4369
+ secondaryVariant?: string
4370
+ background?: string
4371
+ menus?: string
4372
+ title?: string
4373
+ accentVariant2?: string
4374
+ sentMessage?: string
4375
+ sentReply?: string
4376
+ receivedMessage?: string
4377
+ receivedReply?: string
4378
+ }
4379
+
4380
+ export interface UIThemeEntityOverride {
4381
+ mode: UIColorMode
4382
+ wallpaper?: ChatWallpaper
4383
+ colors: UIColors
4384
+ }
4385
+
4386
+ export interface UIThemeEntityOverrides {
4387
+ light?: UIThemeEntityOverride
4388
+ dark?: UIThemeEntityOverride
4389
+ }
4390
+
4391
+ export interface UpdatedMessage {
4392
+ msgContent: MsgContent
4393
+ mentions: {[key: string]: number} // string : int64
4394
+ }
4395
+
4396
+ export interface User {
4397
+ userId: number // int64
4398
+ agentUserId: number // int64
4399
+ userContactId: number // int64
4400
+ localDisplayName: string
4401
+ profile: LocalProfile
4402
+ fullPreferences: FullPreferences
4403
+ activeUser: boolean
4404
+ activeOrder: number // int64
4405
+ viewPwdHash?: UserPwdHash
4406
+ showNtfs: boolean
4407
+ sendRcptsContacts: boolean
4408
+ sendRcptsSmallGroups: boolean
4409
+ autoAcceptMemberContacts: boolean
4410
+ userMemberProfileUpdatedAt?: string // ISO-8601 timestamp
4411
+ uiThemes?: UIThemeEntityOverrides
4412
+ }
4413
+
4414
+ export interface UserContact {
4415
+ userContactLinkId: number // int64
4416
+ connReqContact: string
4417
+ groupId?: number // int64
4418
+ }
4419
+
4420
+ export interface UserContactLink {
4421
+ userContactLinkId: number // int64
4422
+ connLinkContact: CreatedConnLink
4423
+ shortLinkDataSet: boolean
4424
+ shortLinkLargeDataSet: boolean
4425
+ addressSettings: AddressSettings
4426
+ }
4427
+
4428
+ export interface UserContactRequest {
4429
+ contactRequestId: number // int64
4430
+ agentInvitationId: string
4431
+ contactId_?: number // int64
4432
+ businessGroupId_?: number // int64
4433
+ userContactLinkId_?: number // int64
4434
+ cReqChatVRange: VersionRange
4435
+ localDisplayName: string
4436
+ profileId: number // int64
4437
+ profile: Profile
4438
+ createdAt: string // ISO-8601 timestamp
4439
+ updatedAt: string // ISO-8601 timestamp
4440
+ xContactId?: string
4441
+ pqSupport: boolean
4442
+ welcomeSharedMsgId?: string
4443
+ requestSharedMsgId?: string
4444
+ }
4445
+
4446
+ export interface UserInfo {
4447
+ user: User
4448
+ unreadCount: number // int
4449
+ }
4450
+
4451
+ export interface UserProfileUpdateSummary {
4452
+ updateSuccesses: number // int
4453
+ updateFailures: number // int
4454
+ changedContacts: Contact[]
4455
+ }
4456
+
4457
+ export interface UserPwdHash {
4458
+ hash: string
4459
+ salt: string
4460
+ }
4461
+
4462
+ export interface VersionRange {
4463
+ minVersion: number // int
4464
+ maxVersion: number // int
4465
+ }
4466
+
4467
+ export type XFTPErrorType =
4468
+ | XFTPErrorType.BLOCK
4469
+ | XFTPErrorType.SESSION
4470
+ | XFTPErrorType.HANDSHAKE
4471
+ | XFTPErrorType.CMD
4472
+ | XFTPErrorType.AUTH
4473
+ | XFTPErrorType.BLOCKED
4474
+ | XFTPErrorType.SIZE
4475
+ | XFTPErrorType.QUOTA
4476
+ | XFTPErrorType.DIGEST
4477
+ | XFTPErrorType.CRYPTO
4478
+ | XFTPErrorType.NO_FILE
4479
+ | XFTPErrorType.HAS_FILE
4480
+ | XFTPErrorType.FILE_IO
4481
+ | XFTPErrorType.TIMEOUT
4482
+ | XFTPErrorType.INTERNAL
4483
+ | XFTPErrorType.DUPLICATE_
4484
+
4485
+ export namespace XFTPErrorType {
4486
+ export type Tag =
4487
+ | "BLOCK"
4488
+ | "SESSION"
4489
+ | "HANDSHAKE"
4490
+ | "CMD"
4491
+ | "AUTH"
4492
+ | "BLOCKED"
4493
+ | "SIZE"
4494
+ | "QUOTA"
4495
+ | "DIGEST"
4496
+ | "CRYPTO"
4497
+ | "NO_FILE"
4498
+ | "HAS_FILE"
4499
+ | "FILE_IO"
4500
+ | "TIMEOUT"
4501
+ | "INTERNAL"
4502
+ | "DUPLICATE_"
4503
+
4504
+ interface Interface {
4505
+ type: Tag
4506
+ }
4507
+
4508
+ export interface BLOCK extends Interface {
4509
+ type: "BLOCK"
4510
+ }
4511
+
4512
+ export interface SESSION extends Interface {
4513
+ type: "SESSION"
4514
+ }
4515
+
4516
+ export interface HANDSHAKE extends Interface {
4517
+ type: "HANDSHAKE"
4518
+ }
4519
+
4520
+ export interface CMD extends Interface {
4521
+ type: "CMD"
4522
+ cmdErr: CommandError
4523
+ }
4524
+
4525
+ export interface AUTH extends Interface {
4526
+ type: "AUTH"
4527
+ }
4528
+
4529
+ export interface BLOCKED extends Interface {
4530
+ type: "BLOCKED"
4531
+ blockInfo: BlockingInfo
4532
+ }
4533
+
4534
+ export interface SIZE extends Interface {
4535
+ type: "SIZE"
4536
+ }
4537
+
4538
+ export interface QUOTA extends Interface {
4539
+ type: "QUOTA"
4540
+ }
4541
+
4542
+ export interface DIGEST extends Interface {
4543
+ type: "DIGEST"
4544
+ }
4545
+
4546
+ export interface CRYPTO extends Interface {
4547
+ type: "CRYPTO"
4548
+ }
4549
+
4550
+ export interface NO_FILE extends Interface {
4551
+ type: "NO_FILE"
4552
+ }
4553
+
4554
+ export interface HAS_FILE extends Interface {
4555
+ type: "HAS_FILE"
4556
+ }
4557
+
4558
+ export interface FILE_IO extends Interface {
4559
+ type: "FILE_IO"
4560
+ }
4561
+
4562
+ export interface TIMEOUT extends Interface {
4563
+ type: "TIMEOUT"
4564
+ }
4565
+
4566
+ export interface INTERNAL extends Interface {
4567
+ type: "INTERNAL"
4568
+ }
4569
+
4570
+ export interface DUPLICATE_ extends Interface {
4571
+ type: "DUPLICATE_"
4572
+ }
4573
+ }
4574
+
4575
+ export interface XFTPRcvFile {
4576
+ rcvFileDescription: RcvFileDescr
4577
+ agentRcvFileId?: string
4578
+ agentRcvFileDeleted: boolean
4579
+ userApprovedRelays: boolean
4580
+ }
4581
+
4582
+ export interface XFTPSndFile {
4583
+ agentSndFileId: string
4584
+ privateSndFileDescr?: string
4585
+ agentSndFileDeleted: boolean
4586
+ cryptoArgs?: CryptoFileArgs
4587
+ }