moeralib 0.18.3 → 0.18.6

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.
@@ -9,9 +9,9 @@ export type OperationStatus = "waiting" | "added" | "started" | "succeeded" | "f
9
9
  export type PrincipalFlag = "none" | "private" | "admin" | "owner" | "secret" | "senior" | "enigma" | "major" | "signed" | "subscribed" | "public" | "friends" | "unset";
10
10
  export type PushContentType = "story-added" | "story-deleted" | "feed-updated";
11
11
  export type PushRelayType = "fcm";
12
- export type Scope = "none" | "identify" | "other" | "view-media" | "view-content" | "add-post" | "update-post" | "add-comment" | "update-comment" | "react" | "delete-own-content" | "delete-others-content" | "view-people" | "block" | "friend" | "remote-identify" | "drafts" | "view-feeds" | "update-feeds" | "name" | "plugins" | "view-profile" | "update-profile" | "sheriff" | "view-settings" | "update-settings" | "subscribe" | "tokens" | "user-lists" | "grant" | "upload-public-media" | "upload-private-media" | "view-all" | "all";
12
+ export type Scope = "none" | "identify" | "other" | "view-content" | "add-post" | "update-post" | "add-comment" | "update-comment" | "react" | "delete-own-content" | "delete-others-content" | "view-people" | "block" | "friend" | "remote-identify" | "drafts" | "view-feeds" | "update-feeds" | "name" | "plugins" | "view-profile" | "update-profile" | "sheriff" | "view-settings" | "update-settings" | "subscribe" | "tokens" | "user-lists" | "grant" | "upload-public-media" | "upload-private-media" | "lease-media" | "view-all" | "all";
13
13
  export declare const SCOPE_VALUES: Record<Scope, number>;
14
- export type SearchContentUpdateType = "block" | "comment-add" | "comment-update" | "comment-update-heading" | "comment-update-media-text" | "comment-delete" | "friend" | "profile" | "posting-add" | "posting-update" | "posting-update-heading" | "posting-update-media-text" | "posting-delete" | "reaction-add" | "reaction-delete" | "reactions-delete-all" | "subscribe" | "unblock" | "unfriend" | "unsubscribe";
14
+ export type SearchContentUpdateType = "block" | "comment-add" | "comment-update" | "comment-update-heading" | "comment-update-media" | "comment-update-media-text" | "comment-delete" | "friend" | "profile" | "posting-add" | "posting-update" | "posting-update-heading" | "posting-update-media" | "posting-update-media-text" | "posting-delete" | "reaction-add" | "reaction-delete" | "reactions-delete-all" | "subscribe" | "unblock" | "unfriend" | "unsubscribe";
15
15
  export type SearchEngine = "google" | "bing" | "yandex";
16
16
  export type SearchEntryType = "all" | "posting" | "comment";
17
17
  export type SettingType = "bool" | "int" | "string" | "json" | "Duration" | "PrivateKey" | "PublicKey" | "Timestamp" | "UUID" | "Principal";
@@ -1122,6 +1122,10 @@ export interface LinkPreview {
1122
1122
  * hash of the image presenting the page
1123
1123
  */
1124
1124
  imageHash?: string | null;
1125
+ /**
1126
+ * timestamp of the page publication time
1127
+ */
1128
+ publishedAt?: number | null;
1125
1129
  }
1126
1130
  export interface LinkPreviewInfo {
1127
1131
  /**
@@ -1144,6 +1148,16 @@ export interface LinkPreviewInfo {
1144
1148
  * URL of the image presenting the page
1145
1149
  */
1146
1150
  imageUrl?: string | null;
1151
+ /**
1152
+ * timestamp of the page publication time
1153
+ */
1154
+ publishedAt?: number | null;
1155
+ }
1156
+ export interface MediaDownloadAttributes {
1157
+ /**
1158
+ * media grant allowing access to the media
1159
+ */
1160
+ grant: string;
1147
1161
  }
1148
1162
  export interface MediaFilePreviewInfo {
1149
1163
  /**
@@ -1154,6 +1168,10 @@ export interface MediaFilePreviewInfo {
1154
1168
  * SHA-1 hash of the preview
1155
1169
  */
1156
1170
  hash: string;
1171
+ /**
1172
+ * virtual location of the preview, relative to the ``/media`` virtual page
1173
+ */
1174
+ path: string;
1157
1175
  /**
1158
1176
  * location of the preview, relative to the ``/media``; points to a static image served directly from a filesystem
1159
1177
  * or CDN
@@ -1180,15 +1198,23 @@ export interface MediaFilePreviewInfo {
1180
1198
  */
1181
1199
  original?: boolean | null;
1182
1200
  }
1183
- export interface MediaWithDigest {
1201
+ export interface MediaLeaseAttributes {
1202
+ /**
1203
+ * name of the node that receives the lease
1204
+ */
1205
+ nodeName: string;
1184
1206
  /**
1185
1207
  * ID of the media file
1186
1208
  */
1187
- id: string;
1209
+ mediaId: string;
1188
1210
  /**
1189
- * cryptographic digest of the media file
1211
+ * ID of the posting used to verify access to the media file
1190
1212
  */
1191
- digest?: string | null;
1213
+ postingId?: string | null;
1214
+ /**
1215
+ * ID of the comment used to verify access to the media file
1216
+ */
1217
+ commentId?: string | null;
1192
1218
  }
1193
1219
  export interface NameToRegister {
1194
1220
  name: string;
@@ -1262,6 +1288,27 @@ export interface NodeNameInfo {
1262
1288
  */
1263
1289
  operations?: NodeNameOperations | null;
1264
1290
  }
1291
+ export interface ParentMediaInfo {
1292
+ /**
1293
+ * name of the node containing the media the posting is linked to; if ``null``, the media is located on the same
1294
+ * node as the posting
1295
+ */
1296
+ nodeName?: string | null;
1297
+ /**
1298
+ * ID of the media the posting is linked to; the media is located on the ``nodeName`` node
1299
+ */
1300
+ mediaId: string;
1301
+ /**
1302
+ * ID of the posting that owns the attachment the posting is linked to; the posting is located at the same node as
1303
+ * the posting
1304
+ */
1305
+ postingId: string;
1306
+ /**
1307
+ * ID of the comment that owns the attachment the posting is linked to; if set, ``postingId`` contains ID of the
1308
+ * parent posting of the comment; the comment is located at the same node as the posting
1309
+ */
1310
+ commentId?: string | null;
1311
+ }
1265
1312
  export interface PeopleGeneralInfo {
1266
1313
  /**
1267
1314
  * total number of subscribers of the node
@@ -1352,10 +1399,6 @@ export interface PostingFeatures {
1352
1399
  * list of source text formats the node understands
1353
1400
  */
1354
1401
  sourceFormats: SourceFormat[];
1355
- /**
1356
- * maximal size of a media attachment in a post
1357
- */
1358
- mediaMaxSize: number;
1359
1402
  /**
1360
1403
  * maximal size of a compressed image in a post
1361
1404
  */
@@ -1410,6 +1453,10 @@ export interface PrivateMediaFileInfo {
1410
1453
  * SHA-1 hash of the media file
1411
1454
  */
1412
1455
  hash: string;
1456
+ /**
1457
+ * cryptographic digest of the media file
1458
+ */
1459
+ digest: string;
1413
1460
  /**
1414
1461
  * virtual location of the media file, relative to the ``/media`` virtual page
1415
1462
  */
@@ -1452,10 +1499,6 @@ export interface PrivateMediaFileInfo {
1452
1499
  * the text contained in the image, if any
1453
1500
  */
1454
1501
  textContent?: string | null;
1455
- /**
1456
- * ID of the posting linked to the media
1457
- */
1458
- postingId?: string | null;
1459
1502
  /**
1460
1503
  * list of media previews - downscaled versions of the media
1461
1504
  */
@@ -1469,6 +1512,14 @@ export interface PrivateMediaFileInfo {
1469
1512
  * ``true`` if the media file is considered to be malware, ``false`` (default) otherwise
1470
1513
  */
1471
1514
  malware?: boolean | null;
1515
+ /**
1516
+ * media grant allowing access to the media
1517
+ */
1518
+ grant?: string | null;
1519
+ /**
1520
+ * grant expiration timestamp - the real time when the grant will not be valid anymore
1521
+ */
1522
+ grantExpiresAt?: number | null;
1472
1523
  /**
1473
1524
  * the supported operations and the corresponding principals
1474
1525
  */
@@ -1921,33 +1972,65 @@ export interface RemoteFeed {
1921
1972
  feedName: string;
1922
1973
  }
1923
1974
  export interface RemoteMedia {
1975
+ /**
1976
+ * name of the node the media file is located on
1977
+ */
1978
+ nodeName: string;
1924
1979
  /**
1925
1980
  * ID of the media file
1926
1981
  */
1927
- id: string;
1982
+ mediaId: string;
1928
1983
  /**
1929
1984
  * SHA-1 hash of the media file
1930
1985
  */
1931
- hash?: string | null;
1986
+ hash: string;
1932
1987
  /**
1933
1988
  * cryptographic digest of the media file
1934
1989
  */
1935
- digest?: string | null;
1990
+ digest: string;
1936
1991
  /**
1937
1992
  * MIME type of the media
1938
1993
  */
1939
1994
  mimeType: string;
1995
+ /**
1996
+ * width of the media in pixels (``null``, if the media file is not an image or video)
1997
+ */
1998
+ width?: number | null;
1999
+ /**
2000
+ * height of the media in pixels (``null``, if the media file is not an image or video)
2001
+ */
2002
+ height?: number | null;
2003
+ /**
2004
+ * size of the media file in bytes
2005
+ */
2006
+ size: number;
2007
+ /**
2008
+ * title of the media file, may be used as an alternative to the file name
2009
+ */
2010
+ title?: string | null;
1940
2011
  /**
1941
2012
  * ``true`` if the media cannot be displayed as an image or video and should be displayed as an attachment instead,
1942
2013
  * ``false`` (default) otherwise
1943
2014
  */
1944
2015
  attachment?: boolean | null;
2016
+ /**
2017
+ * ID of the lease
2018
+ */
2019
+ leaseId?: string | null;
1945
2020
  }
1946
2021
  export interface RemoteMediaInfo {
1947
2022
  /**
1948
- * ID of the media file
2023
+ * ID of the remote media file object
1949
2024
  */
1950
2025
  id: string;
2026
+ /**
2027
+ * name of the node the media file is located on
2028
+ */
2029
+ nodeName: string;
2030
+ /**
2031
+ * ID of the media file on the node it is located on
2032
+ */
2033
+ mediaId: string;
1951
2034
  /**
1952
2035
  * SHA-1 hash of the media file
1953
2036
  */
@@ -1960,11 +2043,31 @@ export interface RemoteMediaInfo {
1960
2043
  * MIME type of the media
1961
2044
  */
1962
2045
  mimeType?: string | null;
2046
+ /**
2047
+ * width of the media in pixels (``null``, if the media file is not an image or video)
2048
+ */
2049
+ width?: number | null;
2050
+ /**
2051
+ * height of the media in pixels (``null``, if the media file is not an image or video)
2052
+ */
2053
+ height?: number | null;
2054
+ /**
2055
+ * size of the media file in bytes
2056
+ */
2057
+ size?: number | null;
2058
+ /**
2059
+ * title of the media file, may be used as an alternative to the file name
2060
+ */
2061
+ title?: string | null;
1963
2062
  /**
1964
2063
  * ``true`` if the media cannot be displayed as an image or video and should be displayed as an attachment instead,
1965
2064
  * ``false`` (default) otherwise
1966
2065
  */
1967
2066
  attachment?: boolean | null;
2067
+ /**
2068
+ * media grant allowing access to the media
2069
+ */
2070
+ grant?: string | null;
1968
2071
  }
1969
2072
  export interface RemotePosting {
1970
2073
  /**
@@ -2105,6 +2208,36 @@ export interface SearchCommentHeadingUpdate {
2105
2208
  */
2106
2209
  heading: string;
2107
2210
  }
2211
+ export interface SearchCommentMediaUpdate {
2212
+ /**
2213
+ * ID of the posting
2214
+ */
2215
+ postingId: string;
2216
+ /**
2217
+ * ID of the comment
2218
+ */
2219
+ commentId: string;
2220
+ /**
2221
+ * ID of the media
2222
+ */
2223
+ mediaId: string;
2224
+ /**
2225
+ * name of the node where the media is originated from
2226
+ */
2227
+ remoteMediaNodeName: string;
2228
+ /**
2229
+ * ID of the media on the original node
2230
+ */
2231
+ remoteMediaId: string;
2232
+ /**
2233
+ * title of the media file, may be used as an alternative to the file name
2234
+ */
2235
+ title?: string | null;
2236
+ /**
2237
+ * text content of the media
2238
+ */
2239
+ textContent?: string | null;
2240
+ }
2108
2241
  export interface SearchCommentMediaTextUpdate {
2109
2242
  /**
2110
2243
  * ID of the posting
@@ -2276,6 +2409,32 @@ export interface SearchPostingHeadingUpdate {
2276
2409
  */
2277
2410
  heading: string;
2278
2411
  }
2412
+ export interface SearchPostingMediaUpdate {
2413
+ /**
2414
+ * ID of the posting
2415
+ */
2416
+ postingId: string;
2417
+ /**
2418
+ * ID of the media
2419
+ */
2420
+ mediaId: string;
2421
+ /**
2422
+ * name of the node where the media is originated from
2423
+ */
2424
+ remoteMediaNodeName: string;
2425
+ /**
2426
+ * ID of the media on the original node
2427
+ */
2428
+ remoteMediaId: string;
2429
+ /**
2430
+ * title of the media file, may be used as an alternative to the file name
2431
+ */
2432
+ title?: string | null;
2433
+ /**
2434
+ * text content of the media
2435
+ */
2436
+ textContent?: string | null;
2437
+ }
2279
2438
  export interface SearchPostingMediaTextUpdate {
2280
2439
  /**
2281
2440
  * ID of the posting
@@ -3370,6 +3529,24 @@ export interface VerificationInfo {
3370
3529
  */
3371
3530
  errorMessage?: string | null;
3372
3531
  }
3532
+ export interface VisitDetails {
3533
+ /**
3534
+ * ID of the visited posting
3535
+ */
3536
+ postingId: string;
3537
+ /**
3538
+ * ID of the visited comment
3539
+ */
3540
+ commentId?: string | null;
3541
+ /**
3542
+ * ID of the visited media
3543
+ */
3544
+ mediaId?: string | null;
3545
+ /**
3546
+ * page referrer
3547
+ */
3548
+ referrer?: string | null;
3549
+ }
3373
3550
  export interface WhoAmI {
3374
3551
  nodeName?: string | null;
3375
3552
  /**
@@ -3557,388 +3734,181 @@ export interface CommentMassAttributes {
3557
3734
  */
3558
3735
  seniorRejectedReactions?: RejectedReactions | null;
3559
3736
  }
3560
- export interface CommentRevisionInfoBase<B> {
3561
- id: string;
3737
+ export interface ContactWithRelationships {
3562
3738
  /**
3563
- * ID of the posting revision that was actual at the moment of creation of this comment revision
3739
+ * contact's details
3564
3740
  */
3565
- postingRevisionId: string;
3741
+ contact: ContactInfo;
3566
3742
  /**
3567
- * preview of the revision's body, a string representation of a JSON structure
3743
+ * information about the contact's subscription to the node's feeds
3568
3744
  */
3569
- bodyPreview?: B | null;
3745
+ subscriber?: SubscriberInfo | null;
3570
3746
  /**
3571
- * hash of the source text of the revision
3747
+ * information about the node's subscription to the contact's feeds
3572
3748
  */
3573
- bodySrcHash: string;
3749
+ subscription?: SubscriptionInfo | null;
3574
3750
  /**
3575
- * format of the source text of the revision, the list of available formats is returned in ``PostingFeatures``
3751
+ * information about the node's friendship with the contact
3576
3752
  */
3577
- bodySrcFormat?: SourceFormat | null;
3753
+ friend?: FriendInfo | null;
3578
3754
  /**
3579
- * body of the revision, a string representation of a JSON structure
3755
+ * information about the contact's friendship with the node
3580
3756
  */
3581
- body: B;
3757
+ friendOf?: FriendOfInfo | null;
3582
3758
  /**
3583
- * format of the body of the revision, may have any value meaningful for the client
3759
+ * information about blocking the contact by the node
3584
3760
  */
3585
- bodyFormat?: BodyFormat | null;
3761
+ blocked?: BlockedUserInfo[] | null;
3586
3762
  /**
3587
- * heading of the revision
3763
+ * information about blocking the node by the contact
3588
3764
  */
3589
- heading: string;
3765
+ blockedBy?: BlockedByUserInfo[] | null;
3766
+ }
3767
+ export interface Features {
3590
3768
  /**
3591
- * in addition to ``heading``, gives a more detailed description of the revision that can be used for search
3592
- * engines and link previews
3769
+ * features of a posting
3593
3770
  */
3594
- description?: string | null;
3771
+ posting: PostingFeatures;
3595
3772
  /**
3596
- * revision creation timestamp - the real time when the revision was created
3773
+ * list of names of plugins enabled for the node
3597
3774
  */
3598
- createdAt: number;
3775
+ plugins?: string[] | null;
3599
3776
  /**
3600
- * revision deletion timestamp - the time when the revision was deleted
3777
+ * width of the feed in pixels
3601
3778
  */
3602
- deletedAt?: number | null;
3779
+ feedWidth: number;
3603
3780
  /**
3604
- * revision deletion timestamp - the time when the revision will be deleted and the previous revision will take its
3605
- * place
3781
+ * features of groups of friends
3606
3782
  */
3607
- deadline?: number | null;
3783
+ friendGroups?: FriendGroupsFeatures | null;
3608
3784
  /**
3609
- * cryptographic digest of the revision (use ``Comment`` fingerprint)
3785
+ * list of requests to the node owner that are accepted by the node
3610
3786
  */
3611
- digest?: string | null;
3787
+ ask?: AskSubject[] | null;
3612
3788
  /**
3613
- * the comment's owner signature (use ``Comment`` fingerprint)
3789
+ * ``true``, if the node is subscribed to the client, ``false`` otherwise
3614
3790
  */
3615
- signature?: string | null;
3791
+ subscribed?: boolean | null;
3792
+ }
3793
+ export interface FeedInfo {
3616
3794
  /**
3617
- * signature version (i.e. fingerprint version)
3795
+ * name of the feed
3618
3796
  */
3619
- signatureVersion?: number | null;
3797
+ feedName: string;
3620
3798
  /**
3621
- * details of the existing reaction (if any) of the client's owner
3799
+ * title of the feed
3622
3800
  */
3623
- clientReaction?: ClientReactionInfo | null;
3801
+ title?: string | null;
3624
3802
  /**
3625
- * summary of reactions to the revision
3803
+ * total number of stories in the feed
3626
3804
  */
3627
- reactions?: ReactionTotalsInfo | null;
3628
- }
3629
- export type EncodedCommentRevisionInfo = CommentRevisionInfoBase<string>;
3630
- export type CommentRevisionInfo = CommentRevisionInfoBase<Body>;
3631
- export interface CommentSourceText {
3805
+ total: number;
3632
3806
  /**
3633
- * avatar of the comment's owner
3807
+ * creation timestamp of the earliest story in the feed
3634
3808
  */
3635
- ownerAvatar?: AvatarDescription | null;
3809
+ firstCreatedAt?: number | null;
3636
3810
  /**
3637
- * the source text of the comment, a string representation of a JSON structure
3811
+ * creation timestamp of the latest story in the feed
3638
3812
  */
3639
- bodySrc?: Body | string | null;
3813
+ lastCreatedAt?: number | null;
3640
3814
  /**
3641
- * format of the source text of the comment, ``plain-text`` by default; the list of available formats is returned
3642
- * in ``PostingFeatures``
3815
+ * the supported operations and the corresponding principals
3643
3816
  */
3644
- bodySrcFormat?: SourceFormat | null;
3817
+ operations?: FeedOperations | null;
3645
3818
  /**
3646
- * array of IDs and digests of private media to be attached to the comment
3819
+ * list of sheriffs supervising the feed
3647
3820
  */
3648
- media?: MediaWithDigest[] | null;
3821
+ sheriffs?: string[] | null;
3649
3822
  /**
3650
- * types of reactions that the comment rejects
3823
+ * list of sheriff marks on the feed
3651
3824
  */
3652
- rejectedReactions?: RejectedReactions | null;
3825
+ sheriffMarks?: SheriffMark[] | null;
3826
+ }
3827
+ export interface FriendDescription {
3653
3828
  /**
3654
- * types of reactions that the comment rejects, as defined by the posting's owner ("senior"); only the senior may
3655
- * set this
3829
+ * name of the node
3656
3830
  */
3657
- seniorRejectedReactions?: RejectedReactions | null;
3658
- /**
3659
- * ID of the comment this comment is replying to
3660
- */
3661
- repliedToId?: string | null;
3662
- /**
3663
- * the operations and the corresponding principals
3664
- */
3665
- operations?: CommentOperations | null;
3666
- /**
3667
- * the operations and the corresponding principals that are overridden in reactions to the comment
3668
- */
3669
- reactionOperations?: ReactionOperations | null;
3670
- /**
3671
- * the operations and the corresponding principals that are overridden by the posting's owner ("senior"); only the
3672
- * senior may set this
3673
- */
3674
- seniorOperations?: CommentOperations | null;
3675
- }
3676
- export interface CommentText {
3677
- /**
3678
- * node name of the comment's owner
3679
- */
3680
- ownerName?: string | null;
3681
- /**
3682
- * full name of the comment's owner
3683
- */
3684
- ownerFullName?: string | null;
3685
- /**
3686
- * gender of the comment's owner
3687
- */
3688
- ownerGender?: string | null;
3689
- /**
3690
- * avatar of the comment's owner
3691
- */
3692
- ownerAvatar?: AvatarDescription | null;
3693
- /**
3694
- * preview of the comment's body, a string representation of a JSON structure
3695
- */
3696
- bodyPreview?: Body | string | null;
3697
- /**
3698
- * the source text of the comment, a string representation of a JSON structure
3699
- */
3700
- bodySrc?: Body | string | null;
3701
- /**
3702
- * format of the source text of the comment, ``plain-text`` by default; the list of available formats is returned
3703
- * in ``PostingFeatures``
3704
- */
3705
- bodySrcFormat?: SourceFormat | null;
3706
- /**
3707
- * body of the comment, a string representation of a JSON structure
3708
- */
3709
- body?: Body | string | null;
3710
- /**
3711
- * format of the body of the comment, may have any value meaningful for the client
3712
- */
3713
- bodyFormat?: BodyFormat | null;
3714
- /**
3715
- * array of IDs of private media to be attached to the comment
3716
- */
3717
- media?: string[] | null;
3718
- /**
3719
- * comment creation timestamp - the real time when the comment was created
3720
- */
3721
- createdAt?: number | null;
3722
- /**
3723
- * types of reactions that the comment rejects
3724
- */
3725
- rejectedReactions?: RejectedReactions | null;
3726
- /**
3727
- * types of reactions that the comment rejects, as defined by the posting's owner ("senior"); only the senior may
3728
- * set this
3729
- */
3730
- seniorRejectedReactions?: RejectedReactions | null;
3731
- /**
3732
- * ID of the comment this comment is replying to
3733
- */
3734
- repliedToId?: string | null;
3735
- /**
3736
- * the comment's owner signature (use ``Comment`` fingerprint)
3737
- */
3738
- signature?: string | null;
3739
- /**
3740
- * signature version (i.e. fingerprint version)
3741
- */
3742
- signatureVersion?: number | null;
3743
- /**
3744
- * ``true``, if the comment is being be checked by the post's author before publication, ``false`` (default)
3745
- * otherwise; only the senior may set this
3746
- */
3747
- premoderating?: boolean | null;
3748
- /**
3749
- * the operations and the corresponding principals
3750
- */
3751
- operations?: CommentOperations | null;
3752
- /**
3753
- * the operations and the corresponding principals that are overridden in reactions to the comment
3754
- */
3755
- reactionOperations?: ReactionOperations | null;
3756
- /**
3757
- * the operations and the corresponding principals that are overridden by the posting's owner ("senior"); only the
3758
- * senior may set this
3759
- */
3760
- seniorOperations?: CommentOperations | null;
3761
- }
3762
- export interface ContactWithRelationships {
3763
- /**
3764
- * contact's details
3765
- */
3766
- contact: ContactInfo;
3767
- /**
3768
- * information about the contact's subscription to the node's feeds
3769
- */
3770
- subscriber?: SubscriberInfo | null;
3771
- /**
3772
- * information about the node's subscription to the contact's feeds
3773
- */
3774
- subscription?: SubscriptionInfo | null;
3775
- /**
3776
- * information about the node's friendship with the contact
3777
- */
3778
- friend?: FriendInfo | null;
3779
- /**
3780
- * information about the contact's friendship with the node
3781
- */
3782
- friendOf?: FriendOfInfo | null;
3783
- /**
3784
- * information about blocking the contact by the node
3785
- */
3786
- blocked?: BlockedUserInfo[] | null;
3831
+ nodeName: string;
3787
3832
  /**
3788
- * information about blocking the node by the contact
3833
+ * groups of friends the node is to be included into
3789
3834
  */
3790
- blockedBy?: BlockedByUserInfo[] | null;
3835
+ groups?: FriendGroupAssignment[] | null;
3791
3836
  }
3792
- export interface DraftText {
3793
- /**
3794
- * type of the draft
3795
- */
3796
- draftType: DraftType;
3797
- /**
3798
- * name of the node the draft is related to
3799
- */
3800
- receiverName: string;
3801
- /**
3802
- * ID of the posting, mandatory for all types, except ``new-posting``
3803
- */
3804
- receiverPostingId?: string | null;
3805
- /**
3806
- * ID of the comment, mandatory for ``comment-update`` type
3807
- */
3808
- receiverCommentId?: string | null;
3809
- /**
3810
- * ID of the comment replied to
3811
- */
3812
- repliedToId?: string | null;
3813
- /**
3814
- * full name of the posting's/comment's owner
3815
- */
3816
- ownerFullName?: string | null;
3817
- /**
3818
- * avatar of the posting's/comment's owner
3819
- */
3820
- ownerAvatar?: AvatarDescription | null;
3821
- /**
3822
- * types of reactions that the posting rejects
3823
- */
3824
- rejectedReactions?: RejectedReactions | null;
3825
- /**
3826
- * types of reactions that the posting's comments should reject
3827
- */
3828
- commentRejectedReactions?: RejectedReactions | null;
3829
- /**
3830
- * the source text of the draft, a string representation of a JSON structure
3831
- */
3832
- bodySrc?: Body | string | null;
3837
+ export interface MediaAttachment {
3833
3838
  /**
3834
- * format of the source text of the draft, ``plain-text`` by default; the list of available formats is returned in
3835
- * ``PostingFeatures``
3839
+ * details of the attached media, may be absent if the media is not located on the node
3836
3840
  */
3837
- bodySrcFormat?: SourceFormat | null;
3841
+ media?: PrivateMediaFileInfo | null;
3838
3842
  /**
3839
- * list of the media attached to the draft, the media may be located on another node
3843
+ * (drafts only) ID of the lease of the local media to the target node
3840
3844
  */
3841
- media?: RemoteMedia[] | null;
3845
+ mediaLeaseId?: string | null;
3842
3846
  /**
3843
- * story publication timestamp - the time the story must be published under in the feed
3844
- */
3845
- publishAt?: number | null;
3846
- /**
3847
- * description of the update
3847
+ * details of the media, if it is located on another node
3848
3848
  */
3849
- updateInfo?: UpdateInfo | null;
3849
+ remoteMedia?: RemoteMediaInfo | null;
3850
3850
  /**
3851
- * draft of the list of operations and the corresponding principals
3851
+ * ID of the child posting linked to the attachment, if any
3852
3852
  */
3853
- operations?: PostingOperations | null;
3853
+ postingId?: string | null;
3854
3854
  /**
3855
- * draft of the list of operations and the corresponding principals that are overridden in the posting's comments
3855
+ * ``true`` if the media is used in the body of the posting/comment, ``false`` otherwise
3856
3856
  */
3857
- commentOperations?: CommentOperations | null;
3857
+ embedded: boolean;
3858
3858
  }
3859
- export interface Features {
3860
- /**
3861
- * features of a posting
3862
- */
3863
- posting: PostingFeatures;
3864
- /**
3865
- * list of names of plugins enabled for the node
3866
- */
3867
- plugins?: string[] | null;
3859
+ export interface MediaCaptionBase<B> {
3868
3860
  /**
3869
- * width of the feed in pixels
3861
+ * ID of the media file the caption belongs to
3870
3862
  */
3871
- feedWidth: number;
3863
+ mediaId: string;
3872
3864
  /**
3873
- * features of groups of friends
3865
+ * caption source text, a string representation of a JSON structure
3874
3866
  */
3875
- friendGroups?: FriendGroupsFeatures | null;
3867
+ captionSrc?: B | null;
3876
3868
  /**
3877
- * list of requests to the node owner that are accepted by the node
3869
+ * format of the caption source text
3878
3870
  */
3879
- ask?: AskSubject[] | null;
3880
- /**
3881
- * ``true``, if the node is subscribed to the client, ``false`` otherwise
3882
- */
3883
- subscribed?: boolean | null;
3871
+ captionSrcFormat?: SourceFormat | null;
3884
3872
  }
3885
- export interface FeedInfo {
3873
+ export type EncodedMediaCaption = MediaCaptionBase<string>;
3874
+ export type MediaCaption = MediaCaptionBase<Body>;
3875
+ export interface MediaCaptionText {
3886
3876
  /**
3887
- * name of the feed
3877
+ * ID of the media file the caption belongs to
3888
3878
  */
3889
- feedName: string;
3890
- /**
3891
- * title of the feed
3892
- */
3893
- title?: string | null;
3894
- /**
3895
- * total number of stories in the feed
3896
- */
3897
- total: number;
3898
- /**
3899
- * creation timestamp of the earliest story in the feed
3900
- */
3901
- firstCreatedAt?: number | null;
3902
- /**
3903
- * creation timestamp of the latest story in the feed
3904
- */
3905
- lastCreatedAt?: number | null;
3879
+ mediaId: string;
3906
3880
  /**
3907
- * the supported operations and the corresponding principals
3881
+ * caption source text, a string representation of a JSON structure
3908
3882
  */
3909
- operations?: FeedOperations | null;
3883
+ captionSrc?: Body | string | null;
3910
3884
  /**
3911
- * list of sheriffs supervising the feed
3885
+ * format of the caption source text
3912
3886
  */
3913
- sheriffs?: string[] | null;
3914
- /**
3915
- * list of sheriff marks on the feed
3916
- */
3917
- sheriffMarks?: SheriffMark[] | null;
3887
+ captionSrcFormat?: SourceFormat | null;
3918
3888
  }
3919
- export interface FriendDescription {
3889
+ export interface MediaLeaseInfo {
3920
3890
  /**
3921
- * name of the node
3891
+ * ID of the lease
3922
3892
  */
3923
- nodeName: string;
3893
+ id: string;
3924
3894
  /**
3925
- * groups of friends the node is to be included into
3895
+ * details of the media
3926
3896
  */
3927
- groups?: FriendGroupAssignment[] | null;
3897
+ media: PrivateMediaFileInfo;
3928
3898
  }
3929
- export interface MediaAttachment {
3899
+ export interface MediaToAttach {
3930
3900
  /**
3931
- * details of the attached media, may be absent if the media is not located on the node
3901
+ * ID of the local media to attach
3932
3902
  */
3933
- media?: PrivateMediaFileInfo | null;
3903
+ localMediaId?: string | null;
3934
3904
  /**
3935
- * details of the media, if it is located on another node
3905
+ * (drafts only) ID of the lease of the local media to the target node
3936
3906
  */
3937
- remoteMedia?: RemoteMediaInfo | null;
3907
+ localMediaLeaseId?: string | null;
3938
3908
  /**
3939
- * ``true`` if the media is used in the body of the posting/comment, ``false`` otherwise
3909
+ * remote media to attach
3940
3910
  */
3941
- embedded: boolean;
3911
+ remoteMedia?: RemoteMedia | null;
3942
3912
  }
3943
3913
  export interface PostingInfoBase<B> {
3944
3914
  id: string;
@@ -3975,9 +3945,9 @@ export interface PostingInfoBase<B> {
3975
3945
  */
3976
3946
  receiverPostingId?: string | null;
3977
3947
  /**
3978
- * ID of the media the posting is linked to, if any
3948
+ * information about the media the posting is linked to, if any
3979
3949
  */
3980
- parentMediaId?: string | null;
3950
+ parentMedia?: ParentMediaInfo | null;
3981
3951
  /**
3982
3952
  * node name of the posting's owner
3983
3953
  */
@@ -4152,6 +4122,10 @@ export interface PostingInfoBase<B> {
4152
4122
  * total number of comments to the posting
4153
4123
  */
4154
4124
  totalComments?: number | null;
4125
+ /**
4126
+ * number of posting views (for admin only)
4127
+ */
4128
+ viewCount?: number | null;
4155
4129
  /**
4156
4130
  * ``true``, if the posting was recommended by a recommendation service (for cached copies of remote postings
4157
4131
  * only), ``false`` otherwise
@@ -4262,9 +4236,13 @@ export interface PostingSourceText {
4262
4236
  */
4263
4237
  bodySrcFormat?: SourceFormat | null;
4264
4238
  /**
4265
- * array of IDs and digests of private media to be attached to the posting
4239
+ * array of media to be attached to the posting
4266
4240
  */
4267
- media?: MediaWithDigest[] | null;
4241
+ media?: MediaToAttach[] | null;
4242
+ /**
4243
+ * captions of the media to be attached to the posting
4244
+ */
4245
+ mediaCaptions?: MediaCaptionText[] | null;
4268
4246
  /**
4269
4247
  * types of reactions that the posting rejects
4270
4248
  */
@@ -4329,9 +4307,9 @@ export interface PostingText {
4329
4307
  */
4330
4308
  bodyFormat?: BodyFormat | null;
4331
4309
  /**
4332
- * array of IDs of private media to be attached to the posting
4310
+ * array of media to be attached to the posting
4333
4311
  */
4334
- media?: string[] | null;
4312
+ media?: MediaToAttach[] | null;
4335
4313
  /**
4336
4314
  * posting creation timestamp - the real time when the posting was created
4337
4315
  */
@@ -4445,6 +4423,11 @@ export interface SearchEntryInfoBase<B> {
4445
4423
  * preview of the media attached to the entry, if any
4446
4424
  */
4447
4425
  mediaPreview?: PublicMediaFileInfo | null;
4426
+ /**
4427
+ * Source node of the media attached to the entry that was chosen for the preview (``null``, if the media is
4428
+ * located on the same node as the entry)
4429
+ */
4430
+ mediaPreviewNodeName?: string | null;
4448
4431
  /**
4449
4432
  * ID of the media attached to the entry that was chosen for the preview
4450
4433
  */
@@ -4623,183 +4606,393 @@ export interface CommentInfoBase<B> {
4623
4606
  */
4624
4607
  ownerGender?: string | null;
4625
4608
  /**
4626
- * avatar of the comment's owner
4609
+ * avatar of the comment's owner
4610
+ */
4611
+ ownerAvatar?: AvatarImage | null;
4612
+ /**
4613
+ * ID of the parent posting of the comment
4614
+ */
4615
+ postingId: string;
4616
+ /**
4617
+ * ID of the revision of parent posting that was current when the comment was created
4618
+ */
4619
+ postingRevisionId: string;
4620
+ /**
4621
+ * ID of the current revision of the comment
4622
+ */
4623
+ revisionId: string;
4624
+ /**
4625
+ * total number of revisions the comment has
4626
+ */
4627
+ totalRevisions: number;
4628
+ /**
4629
+ * preview of the comment's body, a string representation of a JSON structure
4630
+ */
4631
+ bodyPreview?: B | null;
4632
+ /**
4633
+ * the source text of the comment, a string representation of a JSON structure, may be absent if not requested
4634
+ */
4635
+ bodySrc?: B | null;
4636
+ /**
4637
+ * hash of the source text of the comment
4638
+ */
4639
+ bodySrcHash: string;
4640
+ /**
4641
+ * format of the source text of the comment, the list of available formats is returned in ``PostingFeatures``
4642
+ */
4643
+ bodySrcFormat?: SourceFormat | null;
4644
+ /**
4645
+ * body of the comment, a string representation of a JSON structure
4646
+ */
4647
+ body: B;
4648
+ /**
4649
+ * format of the body of the comment, may have any value meaningful for the client
4650
+ */
4651
+ bodyFormat?: BodyFormat | null;
4652
+ /**
4653
+ * list of the media attached to the comment
4654
+ */
4655
+ media?: MediaAttachment[] | null;
4656
+ /**
4657
+ * heading of the comment
4658
+ */
4659
+ heading: string;
4660
+ /**
4661
+ * in addition to ``heading``, gives a more detailed description of the comment that can be used for search engines
4662
+ * and link previews
4663
+ */
4664
+ description?: string | null;
4665
+ /**
4666
+ * information about the comment this comment is replying to
4667
+ */
4668
+ repliedTo?: RepliedTo | null;
4669
+ moment: number;
4670
+ /**
4671
+ * comment creation timestamp - the real time when the comment was created
4672
+ */
4673
+ createdAt: number;
4674
+ /**
4675
+ * comment editing timestamp - the last time the comment was updated
4676
+ */
4677
+ editedAt?: number | null;
4678
+ /**
4679
+ * comment deletion timestamp - the time when the comment was deleted
4680
+ */
4681
+ deletedAt?: number | null;
4682
+ /**
4683
+ * creation timestamp of the current revision of the comment
4684
+ */
4685
+ revisionCreatedAt: number;
4686
+ /**
4687
+ * comment purging timestamp - the time when the deleted comment will be purged from the database
4688
+ */
4689
+ deadline?: number | null;
4690
+ /**
4691
+ * cryptographic digest of the comment (use ``Comment`` fingerprint)
4692
+ */
4693
+ digest?: string | null;
4694
+ /**
4695
+ * the comment's owner signature (use ``Comment`` fingerprint)
4696
+ */
4697
+ signature?: string | null;
4698
+ /**
4699
+ * signature version (i.e. fingerprint version)
4700
+ */
4701
+ signatureVersion?: number | null;
4702
+ /**
4703
+ * ``true``, if the comment is being be checked by the post's author before publication, ``false`` (default)
4704
+ * otherwise
4705
+ */
4706
+ premoderating?: boolean | null;
4707
+ /**
4708
+ * the supported operations and the corresponding principals
4709
+ */
4710
+ operations?: CommentOperations | null;
4711
+ /**
4712
+ * the operations and the corresponding principals that are overridden in reactions to the comment
4713
+ */
4714
+ reactionOperations?: ReactionOperations | null;
4715
+ /**
4716
+ * the supported operations and the corresponding principals as defined by the comment's owner
4717
+ */
4718
+ ownerOperations?: CommentOperations | null;
4719
+ /**
4720
+ * the operations and the corresponding principals that are overridden by the posting's owner ("senior")
4721
+ */
4722
+ seniorOperations?: CommentOperations | null;
4723
+ /**
4724
+ * operations on the comment that are blocked for the client
4725
+ */
4726
+ blockedOperations?: BlockedEntryOperation[] | null;
4727
+ /**
4728
+ * list of sheriff marks on the comment
4729
+ */
4730
+ sheriffMarks?: SheriffMark[] | null;
4731
+ /**
4732
+ * types of reactions that the comment rejects
4733
+ */
4734
+ rejectedReactions?: RejectedReactions | null;
4735
+ /**
4736
+ * types of reactions that the comment rejects, as defined by the comments' owner
4737
+ */
4738
+ ownerRejectedReactions?: RejectedReactions | null;
4739
+ /**
4740
+ * types of reactions that the comment rejects, as defined by the posting's owner ("senior")
4741
+ */
4742
+ seniorRejectedReactions?: RejectedReactions | null;
4743
+ /**
4744
+ * details of the existing reaction (if any) of the client's owner
4745
+ */
4746
+ clientReaction?: ClientReactionInfo | null;
4747
+ /**
4748
+ * details of the existing reaction (if any) of the posting's owner ("senior") to the comment
4749
+ */
4750
+ seniorReaction?: ClientReactionInfo | null;
4751
+ /**
4752
+ * summary of reactions to the comment
4753
+ */
4754
+ reactions?: ReactionTotalsInfo | null;
4755
+ }
4756
+ export type EncodedCommentInfo = CommentInfoBase<string>;
4757
+ export type CommentInfo = CommentInfoBase<Body>;
4758
+ export interface CommentRevisionInfoBase<B> {
4759
+ id: string;
4760
+ /**
4761
+ * ID of the posting revision that was actual at the moment of creation of this comment revision
4762
+ */
4763
+ postingRevisionId: string;
4764
+ /**
4765
+ * preview of the revision's body, a string representation of a JSON structure
4766
+ */
4767
+ bodyPreview?: B | null;
4768
+ /**
4769
+ * hash of the source text of the revision
4770
+ */
4771
+ bodySrcHash: string;
4772
+ /**
4773
+ * format of the source text of the revision, the list of available formats is returned in ``PostingFeatures``
4774
+ */
4775
+ bodySrcFormat?: SourceFormat | null;
4776
+ /**
4777
+ * body of the revision, a string representation of a JSON structure
4778
+ */
4779
+ body: B;
4780
+ /**
4781
+ * format of the body of the revision, may have any value meaningful for the client
4782
+ */
4783
+ bodyFormat?: BodyFormat | null;
4784
+ /**
4785
+ * list of the media attached to the revision
4786
+ */
4787
+ media?: MediaAttachment[] | null;
4788
+ /**
4789
+ * heading of the revision
4790
+ */
4791
+ heading: string;
4792
+ /**
4793
+ * in addition to ``heading``, gives a more detailed description of the revision that can be used for search
4794
+ * engines and link previews
4795
+ */
4796
+ description?: string | null;
4797
+ /**
4798
+ * revision creation timestamp - the real time when the revision was created
4799
+ */
4800
+ createdAt: number;
4801
+ /**
4802
+ * revision deletion timestamp - the time when the revision was deleted
4803
+ */
4804
+ deletedAt?: number | null;
4805
+ /**
4806
+ * revision deletion timestamp - the time when the revision will be deleted and the previous revision will take its
4807
+ * place
4808
+ */
4809
+ deadline?: number | null;
4810
+ /**
4811
+ * cryptographic digest of the revision (use ``Comment`` fingerprint)
4627
4812
  */
4628
- ownerAvatar?: AvatarImage | null;
4813
+ digest?: string | null;
4629
4814
  /**
4630
- * ID of the parent posting of the comment
4815
+ * the comment's owner signature (use ``Comment`` fingerprint)
4631
4816
  */
4632
- postingId: string;
4817
+ signature?: string | null;
4633
4818
  /**
4634
- * ID of the revision of parent posting that was current when the comment was created
4819
+ * signature version (i.e. fingerprint version)
4635
4820
  */
4636
- postingRevisionId: string;
4821
+ signatureVersion?: number | null;
4637
4822
  /**
4638
- * ID of the current revision of the comment
4823
+ * details of the existing reaction (if any) of the client's owner
4639
4824
  */
4640
- revisionId: string;
4825
+ clientReaction?: ClientReactionInfo | null;
4641
4826
  /**
4642
- * total number of revisions the comment has
4827
+ * summary of reactions to the revision
4643
4828
  */
4644
- totalRevisions: number;
4829
+ reactions?: ReactionTotalsInfo | null;
4830
+ }
4831
+ export type EncodedCommentRevisionInfo = CommentRevisionInfoBase<string>;
4832
+ export type CommentRevisionInfo = CommentRevisionInfoBase<Body>;
4833
+ export interface CommentsSliceInfoBase<B> {
4645
4834
  /**
4646
- * preview of the comment's body, a string representation of a JSON structure
4835
+ * the slice contains all comments before this moment, inclusive. May be the far future.
4647
4836
  */
4648
- bodyPreview?: B | null;
4837
+ before: number;
4649
4838
  /**
4650
- * the source text of the comment, a string representation of a JSON structure, may be absent if not requested
4839
+ * the slice contains all comments after this moment, exclusive. May be the far past.
4651
4840
  */
4652
- bodySrc?: B | null;
4841
+ after: number;
4653
4842
  /**
4654
- * hash of the source text of the comment
4843
+ * the comments
4655
4844
  */
4656
- bodySrcHash: string;
4845
+ comments: CommentInfoBase<B>[];
4657
4846
  /**
4658
- * format of the source text of the comment, the list of available formats is returned in ``PostingFeatures``
4847
+ * total number of comments
4659
4848
  */
4660
- bodySrcFormat?: SourceFormat | null;
4849
+ total: number;
4661
4850
  /**
4662
- * body of the comment, a string representation of a JSON structure
4851
+ * number of comments before this slice till the far past
4663
4852
  */
4664
- body: B;
4853
+ totalInPast: number;
4665
4854
  /**
4666
- * format of the body of the comment, may have any value meaningful for the client
4855
+ * number of comments after this slice till the far future
4667
4856
  */
4668
- bodyFormat?: BodyFormat | null;
4857
+ totalInFuture: number;
4858
+ }
4859
+ export type EncodedCommentsSliceInfo = CommentsSliceInfoBase<string>;
4860
+ export type CommentsSliceInfo = CommentsSliceInfoBase<Body>;
4861
+ export interface CommentSourceText {
4669
4862
  /**
4670
- * list of the media attached to the comment
4863
+ * avatar of the comment's owner
4671
4864
  */
4672
- media?: MediaAttachment[] | null;
4865
+ ownerAvatar?: AvatarDescription | null;
4673
4866
  /**
4674
- * heading of the comment
4867
+ * the source text of the comment, a string representation of a JSON structure
4675
4868
  */
4676
- heading: string;
4869
+ bodySrc?: Body | string | null;
4677
4870
  /**
4678
- * in addition to ``heading``, gives a more detailed description of the comment that can be used for search engines
4679
- * and link previews
4871
+ * format of the source text of the comment, ``plain-text`` by default; the list of available formats is returned
4872
+ * in ``PostingFeatures``
4680
4873
  */
4681
- description?: string | null;
4874
+ bodySrcFormat?: SourceFormat | null;
4682
4875
  /**
4683
- * information about the comment this comment is replying to
4876
+ * array of media to be attached to the comment
4684
4877
  */
4685
- repliedTo?: RepliedTo | null;
4686
- moment: number;
4878
+ media?: MediaToAttach[] | null;
4687
4879
  /**
4688
- * comment creation timestamp - the real time when the comment was created
4880
+ * captions of the media to be attached to the comment
4689
4881
  */
4690
- createdAt: number;
4882
+ mediaCaptions?: MediaCaptionText[] | null;
4691
4883
  /**
4692
- * comment editing timestamp - the last time the comment was updated
4884
+ * types of reactions that the comment rejects
4693
4885
  */
4694
- editedAt?: number | null;
4886
+ rejectedReactions?: RejectedReactions | null;
4695
4887
  /**
4696
- * comment deletion timestamp - the time when the comment was deleted
4888
+ * types of reactions that the comment rejects, as defined by the posting's owner ("senior"); only the senior may
4889
+ * set this
4697
4890
  */
4698
- deletedAt?: number | null;
4891
+ seniorRejectedReactions?: RejectedReactions | null;
4699
4892
  /**
4700
- * creation timestamp of the current revision of the comment
4893
+ * ID of the comment this comment is replying to
4701
4894
  */
4702
- revisionCreatedAt: number;
4895
+ repliedToId?: string | null;
4703
4896
  /**
4704
- * comment purging timestamp - the time when the deleted comment will be purged from the database
4897
+ * the operations and the corresponding principals
4705
4898
  */
4706
- deadline?: number | null;
4899
+ operations?: CommentOperations | null;
4707
4900
  /**
4708
- * cryptographic digest of the comment (use ``Comment`` fingerprint)
4901
+ * the operations and the corresponding principals that are overridden in reactions to the comment
4709
4902
  */
4710
- digest?: string | null;
4903
+ reactionOperations?: ReactionOperations | null;
4711
4904
  /**
4712
- * the comment's owner signature (use ``Comment`` fingerprint)
4905
+ * the operations and the corresponding principals that are overridden by the posting's owner ("senior"); only the
4906
+ * senior may set this
4713
4907
  */
4714
- signature?: string | null;
4908
+ seniorOperations?: CommentOperations | null;
4909
+ }
4910
+ export interface CommentText {
4715
4911
  /**
4716
- * signature version (i.e. fingerprint version)
4912
+ * node name of the comment's owner
4717
4913
  */
4718
- signatureVersion?: number | null;
4914
+ ownerName?: string | null;
4719
4915
  /**
4720
- * ``true``, if the comment is being be checked by the post's author before publication, ``false`` (default)
4721
- * otherwise
4916
+ * full name of the comment's owner
4722
4917
  */
4723
- premoderating?: boolean | null;
4918
+ ownerFullName?: string | null;
4724
4919
  /**
4725
- * the supported operations and the corresponding principals
4920
+ * gender of the comment's owner
4726
4921
  */
4727
- operations?: CommentOperations | null;
4922
+ ownerGender?: string | null;
4728
4923
  /**
4729
- * the operations and the corresponding principals that are overridden in reactions to the comment
4924
+ * avatar of the comment's owner
4730
4925
  */
4731
- reactionOperations?: ReactionOperations | null;
4926
+ ownerAvatar?: AvatarDescription | null;
4732
4927
  /**
4733
- * the supported operations and the corresponding principals as defined by the comment's owner
4928
+ * preview of the comment's body, a string representation of a JSON structure
4734
4929
  */
4735
- ownerOperations?: CommentOperations | null;
4930
+ bodyPreview?: Body | string | null;
4736
4931
  /**
4737
- * the operations and the corresponding principals that are overridden by the posting's owner ("senior")
4932
+ * the source text of the comment, a string representation of a JSON structure
4738
4933
  */
4739
- seniorOperations?: CommentOperations | null;
4934
+ bodySrc?: Body | string | null;
4740
4935
  /**
4741
- * operations on the comment that are blocked for the client
4936
+ * format of the source text of the comment, ``plain-text`` by default; the list of available formats is returned
4937
+ * in ``PostingFeatures``
4742
4938
  */
4743
- blockedOperations?: BlockedEntryOperation[] | null;
4939
+ bodySrcFormat?: SourceFormat | null;
4744
4940
  /**
4745
- * list of sheriff marks on the comment
4941
+ * body of the comment, a string representation of a JSON structure
4746
4942
  */
4747
- sheriffMarks?: SheriffMark[] | null;
4943
+ body?: Body | string | null;
4748
4944
  /**
4749
- * types of reactions that the comment rejects
4945
+ * format of the body of the comment, may have any value meaningful for the client
4750
4946
  */
4751
- rejectedReactions?: RejectedReactions | null;
4947
+ bodyFormat?: BodyFormat | null;
4752
4948
  /**
4753
- * types of reactions that the comment rejects, as defined by the comments' owner
4949
+ * array of IDs of private media to be attached to the comment
4754
4950
  */
4755
- ownerRejectedReactions?: RejectedReactions | null;
4951
+ media?: MediaToAttach[] | null;
4756
4952
  /**
4757
- * types of reactions that the comment rejects, as defined by the posting's owner ("senior")
4953
+ * comment creation timestamp - the real time when the comment was created
4758
4954
  */
4759
- seniorRejectedReactions?: RejectedReactions | null;
4955
+ createdAt?: number | null;
4760
4956
  /**
4761
- * details of the existing reaction (if any) of the client's owner
4957
+ * types of reactions that the comment rejects
4762
4958
  */
4763
- clientReaction?: ClientReactionInfo | null;
4959
+ rejectedReactions?: RejectedReactions | null;
4764
4960
  /**
4765
- * details of the existing reaction (if any) of the posting's owner ("senior") to the comment
4961
+ * types of reactions that the comment rejects, as defined by the posting's owner ("senior"); only the senior may
4962
+ * set this
4766
4963
  */
4767
- seniorReaction?: ClientReactionInfo | null;
4964
+ seniorRejectedReactions?: RejectedReactions | null;
4768
4965
  /**
4769
- * summary of reactions to the comment
4966
+ * ID of the comment this comment is replying to
4770
4967
  */
4771
- reactions?: ReactionTotalsInfo | null;
4772
- }
4773
- export type EncodedCommentInfo = CommentInfoBase<string>;
4774
- export type CommentInfo = CommentInfoBase<Body>;
4775
- export interface CommentsSliceInfoBase<B> {
4968
+ repliedToId?: string | null;
4776
4969
  /**
4777
- * the slice contains all comments before this moment, inclusive. May be the far future.
4970
+ * the comment's owner signature (use ``Comment`` fingerprint)
4778
4971
  */
4779
- before: number;
4972
+ signature?: string | null;
4780
4973
  /**
4781
- * the slice contains all comments after this moment, exclusive. May be the far past.
4974
+ * signature version (i.e. fingerprint version)
4782
4975
  */
4783
- after: number;
4976
+ signatureVersion?: number | null;
4784
4977
  /**
4785
- * the comments
4978
+ * ``true``, if the comment is being be checked by the post's author before publication, ``false`` (default)
4979
+ * otherwise; only the senior may set this
4786
4980
  */
4787
- comments: CommentInfoBase<B>[];
4981
+ premoderating?: boolean | null;
4788
4982
  /**
4789
- * total number of comments
4983
+ * the operations and the corresponding principals
4790
4984
  */
4791
- total: number;
4985
+ operations?: CommentOperations | null;
4792
4986
  /**
4793
- * number of comments before this slice till the far past
4987
+ * the operations and the corresponding principals that are overridden in reactions to the comment
4794
4988
  */
4795
- totalInPast: number;
4989
+ reactionOperations?: ReactionOperations | null;
4796
4990
  /**
4797
- * number of comments after this slice till the far future
4991
+ * the operations and the corresponding principals that are overridden by the posting's owner ("senior"); only the
4992
+ * senior may set this
4798
4993
  */
4799
- totalInFuture: number;
4994
+ seniorOperations?: CommentOperations | null;
4800
4995
  }
4801
- export type EncodedCommentsSliceInfo = CommentsSliceInfoBase<string>;
4802
- export type CommentsSliceInfo = CommentsSliceInfoBase<Body>;
4803
4996
  export interface DraftInfoBase<B> {
4804
4997
  id: string;
4805
4998
  /**
@@ -4871,6 +5064,10 @@ export interface DraftInfoBase<B> {
4871
5064
  * list of the media attached to the draft
4872
5065
  */
4873
5066
  media?: MediaAttachment[] | null;
5067
+ /**
5068
+ * captions of the media attached to the draft
5069
+ */
5070
+ mediaCaptions?: MediaCaptionBase<B>[] | null;
4874
5071
  /**
4875
5072
  * heading of the draft
4876
5073
  */
@@ -4895,18 +5092,77 @@ export interface DraftInfoBase<B> {
4895
5092
  }
4896
5093
  export type EncodedDraftInfo = DraftInfoBase<string>;
4897
5094
  export type DraftInfo = DraftInfoBase<Body>;
4898
- export interface EntryInfoBase<B> {
5095
+ export interface DraftText {
4899
5096
  /**
4900
- * posting details, set if the entry is a posting
5097
+ * type of the draft
4901
5098
  */
4902
- posting?: PostingInfoBase<B> | null;
5099
+ draftType: DraftType;
4903
5100
  /**
4904
- * comment details, set if the entry is a comment
5101
+ * name of the node the draft is related to
4905
5102
  */
4906
- comment?: CommentInfoBase<B> | null;
5103
+ receiverName: string;
5104
+ /**
5105
+ * ID of the posting, mandatory for all types, except ``new-posting``
5106
+ */
5107
+ receiverPostingId?: string | null;
5108
+ /**
5109
+ * ID of the comment, mandatory for ``comment-update`` type
5110
+ */
5111
+ receiverCommentId?: string | null;
5112
+ /**
5113
+ * ID of the comment replied to
5114
+ */
5115
+ repliedToId?: string | null;
5116
+ /**
5117
+ * full name of the posting's/comment's owner
5118
+ */
5119
+ ownerFullName?: string | null;
5120
+ /**
5121
+ * avatar of the posting's/comment's owner
5122
+ */
5123
+ ownerAvatar?: AvatarDescription | null;
5124
+ /**
5125
+ * types of reactions that the posting rejects
5126
+ */
5127
+ rejectedReactions?: RejectedReactions | null;
5128
+ /**
5129
+ * types of reactions that the posting's comments should reject
5130
+ */
5131
+ commentRejectedReactions?: RejectedReactions | null;
5132
+ /**
5133
+ * the source text of the draft, a string representation of a JSON structure
5134
+ */
5135
+ bodySrc?: Body | string | null;
5136
+ /**
5137
+ * format of the source text of the draft, ``plain-text`` by default; the list of available formats is returned in
5138
+ * ``PostingFeatures``
5139
+ */
5140
+ bodySrcFormat?: SourceFormat | null;
5141
+ /**
5142
+ * list of the media attached to the draft
5143
+ */
5144
+ media?: MediaToAttach[] | null;
5145
+ /**
5146
+ * captions of the media attached to the draft
5147
+ */
5148
+ mediaCaptions?: MediaCaptionText[] | null;
5149
+ /**
5150
+ * story publication timestamp - the time the story must be published under in the feed
5151
+ */
5152
+ publishAt?: number | null;
5153
+ /**
5154
+ * description of the update
5155
+ */
5156
+ updateInfo?: UpdateInfo | null;
5157
+ /**
5158
+ * draft of the list of operations and the corresponding principals
5159
+ */
5160
+ operations?: PostingOperations | null;
5161
+ /**
5162
+ * draft of the list of operations and the corresponding principals that are overridden in the posting's comments
5163
+ */
5164
+ commentOperations?: CommentOperations | null;
4907
5165
  }
4908
- export type EncodedEntryInfo = EntryInfoBase<string>;
4909
- export type EntryInfo = EntryInfoBase<Body>;
4910
5166
  export interface SettingDescriptor {
4911
5167
  /**
4912
5168
  * name of the setting