@natsuneko-laboratory/catalyst-sdk 0.7.3 → 1.0.0-alpha.2

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/dist/index.d.mts CHANGED
@@ -34,11 +34,41 @@ interface EgeriaUserProfile {
34
34
  website: string;
35
35
  additionalWebsites: string[];
36
36
  }
37
+ /** The `profileEmoji` shown alongside a "standard" (unicode) emoji value. */
38
+ interface ProfileEmojiStandard {
39
+ type: "standard";
40
+ value: string;
41
+ imageUrl: string;
42
+ }
43
+ /** The `profileEmoji` shown when the user selected one of their custom reactions. */
44
+ interface ProfileEmojiCustom {
45
+ type: "custom";
46
+ id: string;
47
+ shortcode: string;
48
+ displayName: string;
49
+ imageUrl: string;
50
+ width: number;
51
+ height: number;
52
+ }
53
+ /** Discriminated union (on `type`) modeling the response's `profileEmoji` field. */
54
+ type ProfileEmoji = ProfileEmojiStandard | ProfileEmojiCustom;
55
+ /** Request-shaped `profileEmoji` variant for `PATCH /egeria/v1/me` (fewer fields than the response). */
56
+ interface ProfileEmojiStandardRequest {
57
+ type: "standard";
58
+ value: string;
59
+ }
60
+ /** Request-shaped `profileEmoji` variant referencing an existing custom reaction by id. */
61
+ interface ProfileEmojiCustomRequest {
62
+ type: "custom";
63
+ customReactionId: string;
64
+ }
65
+ type ProfileEmojiRequest = ProfileEmojiStandardRequest | ProfileEmojiCustomRequest;
37
66
  interface EgeriaUser {
38
67
  id: string;
39
68
  screenName: string;
40
69
  displayName: string;
41
- profile?: EgeriaUserProfile;
70
+ profile?: EgeriaUserProfile | null;
71
+ profileEmoji?: ProfileEmoji | null;
42
72
  }
43
73
  interface EgeriaUserWrapper {
44
74
  user: EgeriaUser;
@@ -50,6 +80,7 @@ interface EgeriaUpdateProfileRequest {
50
80
  screenName?: string;
51
81
  displayName?: string;
52
82
  profile?: EgeriaUserProfile;
83
+ profileEmoji?: ProfileEmojiRequest | null;
53
84
  }
54
85
 
55
86
  interface MediaMetadata {
@@ -73,7 +104,7 @@ interface MediaUploadUrls {
73
104
  }
74
105
  interface CatalystMediaWithMetadata {
75
106
  url: string;
76
- alt: string;
107
+ alt?: string;
77
108
  width: number;
78
109
  height: number;
79
110
  bytes: number;
@@ -81,9 +112,6 @@ interface CatalystMediaWithMetadata {
81
112
  interface MediaDeleteRequest {
82
113
  url: string;
83
114
  }
84
- interface MediaDownloadRequest {
85
- url: string;
86
- }
87
115
 
88
116
  interface CatalystReaction {
89
117
  name: string;
@@ -91,6 +119,7 @@ interface CatalystReaction {
91
119
  url: string;
92
120
  count: number;
93
121
  hasSelfReaction?: boolean;
122
+ customReactionId?: string;
94
123
  }
95
124
  interface CatalystReactions {
96
125
  reactions: Record<string, CatalystReaction>;
@@ -102,6 +131,7 @@ interface CatalystCustomReaction {
102
131
  url: string;
103
132
  }
104
133
  type CatalystCustomReactionStatus = "active" | "moderated" | "hidden" | "disabled";
134
+ type CatalystCustomReactionVisibility = "private" | "followers" | "public";
105
135
  type SupporterTier = "none" | "tier_0" | "tier_1" | "tier_2" | "tier_3" | "tier_4" | "tier_5";
106
136
  interface CatalystUserCustomReaction {
107
137
  id: string;
@@ -111,6 +141,7 @@ interface CatalystUserCustomReaction {
111
141
  mimeType: string;
112
142
  sortOrder: number;
113
143
  status: CatalystCustomReactionStatus;
144
+ visibility: CatalystCustomReactionVisibility;
114
145
  createdAt: string;
115
146
  }
116
147
  interface CatalystCustomReactionList {
@@ -124,39 +155,6 @@ interface UpdateCustomReactionRequest {
124
155
  sortOrder?: number;
125
156
  }
126
157
 
127
- interface CatalystCreateContestRequest {
128
- title: string;
129
- description: string;
130
- theme: string;
131
- }
132
- interface CatalystEditContestRequest {
133
- title?: string;
134
- description?: string;
135
- theme?: string;
136
- terms?: string;
137
- headerUrl?: string;
138
- bannerUrl?: string;
139
- winnersOpenAt?: string;
140
- winnersMessageSendAt?: string;
141
- publishedAt?: string;
142
- application?: {
143
- since?: string;
144
- until?: string;
145
- allowSensitive: boolean;
146
- maxMediaPerEntry?: number | null;
147
- };
148
- voting?: {
149
- since?: string;
150
- until?: string;
151
- maxVotes?: number;
152
- isEnableVoting?: boolean;
153
- };
154
- winners?: {
155
- since?: string;
156
- until?: string;
157
- };
158
- ranks?: Omit<CatalystContestRank, "id" | "winners">[];
159
- }
160
158
  interface CatalystContestRank {
161
159
  id: string;
162
160
  name: string;
@@ -192,46 +190,13 @@ interface CatalystContest {
192
190
  };
193
191
  ranks: CatalystContestRank[];
194
192
  }
195
- interface CatalystContestAward {
196
- id: string;
197
- name: string;
198
- winners: (CatalystStatus & {
199
- message?: string | null;
200
- commentary?: string | null;
201
- attachment?: {
202
- name: string;
203
- id: string;
204
- } | null;
205
- })[];
206
- order: number;
207
- count: number;
208
- remaining: number;
209
- }
210
- interface CatalystSetContestAwardRequest {
211
- status: string;
212
- message?: string;
213
- commentary?: string;
193
+ interface CatalystContestWrapper {
194
+ contest: CatalystContest;
214
195
  }
215
- interface CatalystUnsetContestAwardRequest {
216
- status: string;
217
- message?: string;
218
- commentary?: string;
219
- }
220
- interface CatalystContestCollaborator {
221
- user: Omit<EgeriaUser, "profile">;
222
- role: "admin" | "collaborator" | "contributor";
223
- }
224
- interface CatalystContestAddCollaboratorRequest {
225
- userId: string;
226
- role: "collaborator" | "contributor";
227
- }
228
- interface CatalystContestRemoveCollaboratorRequest {
229
- userId: string;
230
- }
231
- interface CatalystContestPolls {
232
- status: CatalystStatus;
233
- count: number;
196
+ interface CatalystContestsWrapper {
197
+ contests: CatalystContest[];
234
198
  }
199
+ /** The current user's remaining vote allowance for a contest. */
235
200
  interface CatalystUserVoteRights {
236
201
  remaining: number;
237
202
  statuses: string[];
@@ -265,12 +230,24 @@ interface CatalystStatusV1_1 {
265
230
  visitor?: CatalystStatusVisitor;
266
231
  privacy: CatalystStatusPrivacy;
267
232
  }
268
- interface CatalystStatusWrapper {
233
+ /** Wrapper for `GET /catalyst/v1/status/{id}` (`{"status": StatusV1_0Response}`). */
234
+ interface CatalystStatusV1Wrapper {
235
+ status: CatalystStatus;
236
+ }
237
+ /** Wrapper for `GET /catalyst/v1.1/status/{id}` (`{"status": StatusV1_1Response}`). */
238
+ interface CatalystStatusV1_1Wrapper {
269
239
  status: CatalystStatusV1_1;
270
240
  }
241
+ /** Wrapper for `GET /catalyst/v1/random` (`{"status": StatusV1_0Response | null}`). */
242
+ interface CatalystRandomStatusWrapper {
243
+ status: CatalystStatus | null;
244
+ }
271
245
  interface CatalystStatuses {
272
246
  statuses: CatalystStatus[];
273
247
  }
248
+ interface CatalystStatusesV1_1 {
249
+ statuses: CatalystStatusV1_1[];
250
+ }
274
251
  interface CatalystCreateStatusRequest {
275
252
  description: string;
276
253
  isNsfw: boolean;
@@ -297,39 +274,69 @@ interface CatalystAlbum {
297
274
  user: EgeriaUser;
298
275
  statuses: CatalystStatus[];
299
276
  }
277
+ /** Wrapper for the `{"albums": [...]}` response shape, e.g. `GET /catalyst/v1/status/{id}/albums`. */
278
+ interface CatalystAlbumsWrapper {
279
+ albums: CatalystAlbum[];
280
+ }
300
281
  interface CatalystSmartAlbum {
301
282
  id: string;
302
283
  name: string;
303
284
  description: string;
304
285
  isAllowNsfw: boolean;
305
286
  isAllowOthers: boolean;
306
- since?: string;
307
- until?: string;
287
+ since?: string | null;
288
+ until?: string | null;
308
289
  isPublic: boolean;
309
290
  mode: CatalystAlbumDisplayMode;
310
291
  user: EgeriaUser | null;
311
- type?: string;
312
292
  statuses: CatalystStatus[];
313
293
  hashtags: string[];
314
294
  }
315
295
  interface CatalystSmartAlbums {
316
296
  albums: CatalystSmartAlbum[];
317
297
  }
318
- interface CatalystCreateAlbumRequest {
319
- title: string;
298
+ /** A "type"-discriminated album, returned by album-by-me/by-user/search endpoints which mix
299
+ * plain albums and smart albums in the same list (`AlbumOrSmartAlbumResponse`). */
300
+ interface CatalystAlbumOrSmartAlbum {
301
+ id: string;
302
+ name: string;
320
303
  description: string;
304
+ hashtags: string[];
305
+ isAllowNsfw: boolean;
306
+ isAllowOthers: boolean;
321
307
  isPublic: boolean;
308
+ since: string | null;
309
+ until: string | null;
322
310
  mode: CatalystAlbumDisplayMode;
311
+ user: EgeriaUser;
312
+ statuses: CatalystStatus[];
313
+ type: "album" | "smart-album";
314
+ }
315
+ interface CatalystAlbumOrSmartAlbums {
316
+ albums: CatalystAlbumOrSmartAlbum[];
317
+ }
318
+ interface CatalystCreateAlbumRequest {
319
+ title: string;
320
+ description?: string;
321
+ isPublic?: boolean;
322
+ mode?: CatalystAlbumDisplayMode;
323
323
  }
324
324
  interface CatalystEditAlbumRequest {
325
325
  title: string;
326
- description: string;
327
- isPublic: boolean;
328
- mode: CatalystAlbumDisplayMode;
326
+ description?: string;
327
+ isPublic?: boolean;
328
+ mode?: CatalystAlbumDisplayMode;
329
+ }
330
+ /** Shared request body for `PUT /catalyst/v1/album/by/id/{id}` (both insert and remove). */
331
+ interface CatalystInsertOrRemoveStatusAlbumRequest {
332
+ insert?: string;
333
+ remove?: string;
329
334
  }
335
+ /** @deprecated use {@link CatalystInsertOrRemoveStatusAlbumRequest} */
330
336
  interface CatalystInsertToAlbumRequest {
331
337
  insert: string;
332
338
  }
339
+ /** @deprecated use {@link CatalystInsertOrRemoveStatusAlbumRequest} */
333
340
  interface CatalystRemoveFromAlbumRequest {
334
341
  remove: string;
335
342
  }
@@ -341,7 +348,7 @@ interface CatalystCreateSmartAlbumRequest {
341
348
  until?: string;
342
349
  isAllowNsfw?: boolean;
343
350
  isAllowOthers?: boolean;
344
- isPublic: boolean;
351
+ isPublic?: boolean;
345
352
  mode?: CatalystAlbumDisplayMode;
346
353
  }
347
354
  interface CatalystEditSmartAlbumRequest {
@@ -352,9 +359,75 @@ interface CatalystEditSmartAlbumRequest {
352
359
  until?: string;
353
360
  isAllowNsfw?: boolean;
354
361
  isAllowOthers?: boolean;
355
- isPublic: boolean;
362
+ isPublic?: boolean;
356
363
  mode?: CatalystAlbumDisplayMode;
357
364
  }
365
+ type CatalystAlbumBookTemplate = "photo-book" | "record-book";
366
+ type CatalystAlbumBookQuality = "web" | "print";
367
+ type CatalystAlbumBookTocType = "per-post" | "page-only";
368
+ type CatalystAlbumBookStatus = "pending" | "processing" | "completed" | "failed";
369
+ /** `AlbumBookResponse` — a generated photo/record book for an album or smart album. */
370
+ interface CatalystAlbumBook {
371
+ id: string;
372
+ albumId: string | null;
373
+ smartAlbumId: string | null;
374
+ template: CatalystAlbumBookTemplate;
375
+ quality: CatalystAlbumBookQuality;
376
+ coverImageUrl: string | null;
377
+ subtitle: string | null;
378
+ customText: string | null;
379
+ showBody: boolean;
380
+ showDate: boolean;
381
+ showUrl: boolean;
382
+ tocType: CatalystAlbumBookTocType | null;
383
+ colophonText: string | null;
384
+ status: CatalystAlbumBookStatus;
385
+ errorMessage: string | null;
386
+ downloadUrl: string | null;
387
+ expiresAt: string | null;
388
+ createdAt: string | null;
389
+ updatedAt: string | null;
390
+ }
391
+ /** Request body for `POST /catalyst/v1/{album,smart-album}/by/id/{id}/book` (`CreateAlbumBook`). */
392
+ interface CatalystCreateAlbumBookRequest {
393
+ template: CatalystAlbumBookTemplate;
394
+ quality: CatalystAlbumBookQuality;
395
+ coverImageUrl?: string;
396
+ subtitle?: string;
397
+ customText?: string;
398
+ showBody?: boolean;
399
+ showDate?: boolean;
400
+ showUrl?: boolean;
401
+ showQrCode?: boolean;
402
+ tocType?: CatalystAlbumBookTocType;
403
+ colophonText?: string;
404
+ }
405
+
406
+ /** Generic `{"result": boolean}` response shape used by many mutation endpoints. */
407
+ interface CatalystResult {
408
+ result: boolean;
409
+ }
410
+ /** Generic `{"value": number}` response shape used by reaction toggle endpoints. */
411
+ interface CatalystReactionValue {
412
+ value: number;
413
+ }
414
+ /** Generic `{"message": string}` response shape. */
415
+ interface CatalystMessage {
416
+ message: string;
417
+ }
418
+ /** Total/offset counters used by several list endpoints. */
419
+ interface CountInfo {
420
+ total: number;
421
+ offset: number;
422
+ }
423
+ /** Page cursor metadata used by several list endpoints. */
424
+ interface PageInfo {
425
+ min: number;
426
+ max: number;
427
+ current: number;
428
+ next: number | null;
429
+ prev: number | null;
430
+ }
358
431
 
359
432
  interface CatalystRelationships {
360
433
  isMyself: boolean;
@@ -365,43 +438,55 @@ interface CatalystRelationships {
365
438
  interface CatalystRelationshipRequest {
366
439
  userId: string;
367
440
  }
441
+ /** Following/follower counts for a user. */
442
+ interface CatalystRelationshipsCount {
443
+ followings: number | null;
444
+ followers: number | null;
445
+ }
446
+ /** Paginated list of a user's followers or followings. */
447
+ interface CatalystFollowingOrFollowersList {
448
+ items: EgeriaUser[];
449
+ count: CountInfo;
450
+ page: PageInfo;
451
+ }
368
452
 
453
+ interface CatalystCreateFleetMediaPlacement {
454
+ posX: number;
455
+ posY: number;
456
+ scale?: number;
457
+ rotation?: number;
458
+ }
369
459
  interface CatalystCreateFleetMedia {
370
460
  url: string;
461
+ alt?: string;
371
462
  width: number;
372
463
  height: number;
373
464
  bytes: number;
374
- placement: {
375
- posX: number;
376
- posY: number;
377
- scale: number;
378
- rotation: number;
379
- };
380
- alt?: string | undefined;
465
+ placement: CatalystCreateFleetMediaPlacement;
381
466
  }
382
467
  interface CatalystCreateFleetText {
383
- backgroundColor: string;
384
468
  body: string;
385
- textStyle: "default" | "bold" | "serif" | "handwriting";
386
- textAlignment: "left" | "center" | "right";
387
- color: string;
469
+ backgroundColor?: string;
470
+ textStyle?: "default" | "bold" | "serif" | "handwriting";
471
+ textAlignment?: "left" | "center" | "right";
472
+ color?: string;
388
473
  posX: number;
389
474
  posY: number;
390
- scale: number;
391
- rotation: number;
475
+ scale?: number;
476
+ rotation?: number;
392
477
  }
393
478
  interface CatalystCreateFleetSticker {
394
479
  posX: number;
395
480
  posY: number;
396
- scale: number;
397
- rotation: number;
481
+ scale?: number;
482
+ rotation?: number;
398
483
  emoji: string;
399
484
  }
400
485
  interface CatalystCreateFleetRequest {
401
- backgroundColor: string;
402
- texts: CatalystCreateFleetText[];
486
+ backgroundColor?: string;
487
+ texts?: CatalystCreateFleetText[];
403
488
  media: CatalystCreateFleetMedia;
404
- stickers: CatalystCreateFleetSticker[];
489
+ stickers?: CatalystCreateFleetSticker[];
405
490
  }
406
491
  interface CatalystFleetText {
407
492
  id: string;
@@ -480,242 +565,221 @@ interface CatalystAnnouncement {
480
565
  until: string;
481
566
  url: string | null;
482
567
  }
568
+ /** Wrapper for the `{"announcements": [...]}` response shape. */
569
+ interface CatalystAnnouncementsWrapper {
570
+ announcements: CatalystAnnouncement[];
571
+ }
483
572
 
484
573
  interface ProfileTag {
485
574
  id: string;
486
575
  name: string;
487
576
  normalizedName: string;
488
577
  }
578
+ /** Wrapper for the `{"tags": [...]}` response shape. */
579
+ interface ProfileTagsWrapper {
580
+ tags: ProfileTag[];
581
+ }
489
582
  interface ProfileTagSuggestion {
490
583
  id: string;
491
584
  name: string;
492
585
  usageCount: number;
493
586
  }
587
+ /** Wrapper for the `{"tags": [...]}` response shape (profile tag suggestions). */
588
+ interface ProfileTagSuggestionsWrapper {
589
+ tags: ProfileTagSuggestion[];
590
+ }
494
591
  interface ProfileTagUser extends EgeriaUser {
495
592
  matchedTags: string[];
496
593
  }
594
+ /** Summary information for a profile tag (used within {@link ProfileTagUsersResult}). */
595
+ interface ProfileTagSummary {
596
+ name: string;
597
+ usageCount: number;
598
+ }
599
+ /** Result of listing users by profile tag, including cursor-based pagination. */
600
+ interface ProfileTagUsersResult {
601
+ tag: ProfileTagSummary;
602
+ users: ProfileTagUser[];
603
+ nextCursor: string | null;
604
+ }
497
605
  interface UpdateProfileTagsRequest {
498
606
  tags: string[];
499
607
  }
500
608
 
609
+ /** A single month bucket in the status archive. */
610
+ interface CatalystArchiveMonth {
611
+ year: number;
612
+ month: number;
613
+ count: number;
614
+ }
615
+ /** Wrapper for the `{"months": [...]}` response shape. */
616
+ interface CatalystArchiveMonths {
617
+ months: CatalystArchiveMonth[];
618
+ }
619
+
620
+ /** A single entry in the "rich" trending list (`GET /catalyst/v1/trend?format=rich`). */
621
+ interface CatalystRichTrendingItem {
622
+ tag: string;
623
+ rank: number;
624
+ previousRank: number | null;
625
+ movement: "up" | "down" | "same" | "new";
626
+ }
627
+
501
628
  declare class CatalystClient {
502
629
  private readonly http;
503
630
  constructor(http: HttpClient);
504
631
  createAlbum(data: CatalystCreateAlbumRequest): Promise<Identity>;
505
632
  getAlbum(id: string, opts?: {
633
+ limit?: number;
506
634
  since?: string;
507
635
  until?: string;
508
636
  }): Promise<CatalystAlbum>;
509
- editAlbum(id: string, data: CatalystEditAlbumRequest): Promise<void>;
510
- insertToAlbum(id: string, data: CatalystInsertToAlbumRequest): Promise<void>;
511
- removeFromAlbum(id: string, data: CatalystRemoveFromAlbumRequest): Promise<void>;
512
- deleteAlbum(id: string): Promise<void>;
513
- listAlbums(username: string, includeSmartAlbums?: boolean): Promise<CatalystSmartAlbums>;
514
- searchAlbums(q: string, includeSmartAlbums?: boolean): Promise<CatalystSmartAlbums>;
637
+ insertToAlbum(id: string, statusId: string): Promise<CatalystResult>;
638
+ removeFromAlbum(id: string, statusId: string): Promise<CatalystResult>;
639
+ editAlbum(id: string, data: CatalystEditAlbumRequest): Promise<CatalystResult>;
640
+ deleteAlbum(id: string): Promise<CatalystResult>;
641
+ getAlbumBooks(id: string): Promise<CatalystAlbumBook[]>;
642
+ createAlbumBook(id: string, data: CatalystCreateAlbumBookRequest): Promise<CatalystAlbumBook>;
643
+ getAlbumBook(id: string, bookId: string): Promise<CatalystAlbumBook>;
644
+ regenerateAlbumBook(id: string, bookId: string): Promise<CatalystAlbumBook>;
645
+ getAlbumsByMe(includeSmartAlbums?: boolean): Promise<CatalystAlbumOrSmartAlbum[]>;
646
+ listAlbums(username: string, includeSmartAlbum?: boolean): Promise<CatalystAlbumOrSmartAlbum[]>;
647
+ searchAlbums(q?: string, includeSmartAlbum?: boolean, until?: string): Promise<CatalystAlbumOrSmartAlbum[]>;
648
+ announcements(): Promise<CatalystAnnouncement[]>;
649
+ block(userId: string): Promise<CatalystResult>;
650
+ unblock(userId: string): Promise<CatalystResult>;
651
+ getContestsByMe(): Promise<CatalystContest[]>;
652
+ getContestBySlug(slug: string): Promise<CatalystContest>;
653
+ contestTimeline(slug: string): Promise<CatalystStatus[]>;
654
+ getContestVotes(slug: string): Promise<CatalystUserVoteRights>;
655
+ addContestVote(slug: string, status: string): Promise<CatalystResult>;
656
+ removeContestVote(slug: string, status: string): Promise<CatalystResult>;
657
+ getContestsByUser(userId: string): Promise<CatalystContest[]>;
658
+ currentContests(): Promise<CatalystContest[]>;
659
+ searchContests(q?: string, state?: string, id?: string): Promise<CatalystContest[]>;
515
660
  customReactions(): Promise<CatalystCustomReaction[]>;
516
- customUserReactions(): Promise<CatalystCustomReactionList>;
661
+ getCustomUserReactions(): Promise<CatalystCustomReactionList>;
662
+ /**
663
+ * Creates a custom reaction. `data` must include the `image`, `shortcode`, `displayName` and
664
+ * `visibility` ("private" | "followers" | "public") fields as multipart form fields.
665
+ */
517
666
  createCustomReaction(data: FormData): Promise<CatalystUserCustomReaction>;
518
- updateCustomReaction(id: string, data: UpdateCustomReactionRequest): Promise<void>;
667
+ updateCustomReaction(id: string, data: UpdateCustomReactionRequest): Promise<CatalystUserCustomReaction>;
519
668
  deleteCustomReaction(id: string): Promise<void>;
520
- block(data: CatalystRelationshipRequest): Promise<void>;
521
- unblock(data: CatalystRelationshipRequest): Promise<void>;
522
- relationships(id: string): Promise<CatalystRelationships>;
523
- follow(data: CatalystRelationshipRequest): Promise<void>;
524
- remove(data: CatalystRelationshipRequest): Promise<void>;
525
- followings(id: string, opts?: {
669
+ createFleet(data: CatalystCreateFleetRequest): Promise<Identity>;
670
+ fleetByUsername(username: string): Promise<CatalystFleet[]>;
671
+ fleets(): Promise<CatalystFleetRing[]>;
672
+ fleetById(id: string): Promise<CatalystFleet>;
673
+ deleteFleet(id: string): Promise<CatalystResult>;
674
+ reactFleet(id: string, symbol: string): Promise<CatalystReactionValue>;
675
+ unreactFleet(id: string, symbol: string): Promise<CatalystReactionValue>;
676
+ viewFleet(id: string): Promise<CatalystResult>;
677
+ fleetViewers(id: string): Promise<CatalystFleetViewer[]>;
678
+ getPrivacySettings(): Promise<CatalystPrivacySettings>;
679
+ updatePrivacySettings(data: CatalystPrivacySettingsRequest): Promise<CatalystPrivacySettings>;
680
+ updateProfileTags(data: UpdateProfileTagsRequest): Promise<ProfileTag[]>;
681
+ profileTagSuggestions(q: string): Promise<ProfileTagSuggestion[]>;
682
+ getUsersByProfileTag(name: string, cursor?: string): Promise<ProfileTagUsersResult>;
683
+ getProfileTagsByUser(id: string): Promise<ProfileTag[]>;
684
+ randomStatus(): Promise<CatalystStatus | null>;
685
+ randomStatusV1_1(): Promise<CatalystStatusV1_1>;
686
+ onThisDay(): Promise<CatalystStatusV1_1>;
687
+ createStatus(data: CatalystCreateStatusRequest): Promise<Identity>;
688
+ getStatus(id: string): Promise<CatalystStatus>;
689
+ getStatusV1_1(id: string): Promise<CatalystStatusV1_1>;
690
+ editStatus(id: string, description: string): Promise<Identity>;
691
+ deleteStatus(id: string): Promise<CatalystMessage>;
692
+ albumsInStatus(id: string): Promise<CatalystAlbum[]>;
693
+ isFavorited(id: string): Promise<boolean>;
694
+ favorite(id: string): Promise<CatalystResult>;
695
+ unfavorite(id: string): Promise<CatalystResult>;
696
+ reactions(id: string): Promise<Record<string, CatalystReaction>>;
697
+ reactWithCustomReaction(id: string, customReactionId: string): Promise<void>;
698
+ unreactWithCustomReaction(id: string, customReactionId: string): Promise<void>;
699
+ react(id: string, symbol: string): Promise<CatalystReactionValue>;
700
+ unreact(id: string, symbol: string): Promise<CatalystReactionValue>;
701
+ reportStatus(id: string, data: ReportRequest): Promise<Identity>;
702
+ bulkStatusReactions(ids: string[]): Promise<Record<string, Record<string, CatalystReaction>>>;
703
+ follow(userId: string): Promise<CatalystResult>;
704
+ remove(userId: string): Promise<CatalystResult>;
705
+ relationshipCounts(username: string): Promise<CatalystRelationshipsCount>;
706
+ followers(username: string, opts?: {
526
707
  page?: number;
527
- }): Promise<{
528
- items: EgeriaUser[];
529
- count: {
530
- total: number;
531
- offset: number;
532
- };
533
- page: {
534
- min: number;
535
- max: number;
536
- current: number;
537
- next: number | null;
538
- prev: number | null;
539
- };
540
- }>;
541
- followers(id: string, opts?: {
708
+ }): Promise<CatalystFollowingOrFollowersList>;
709
+ followings(username: string, opts?: {
542
710
  page?: number;
543
- }): Promise<{
544
- items: EgeriaUser[];
545
- count: {
546
- total: number;
547
- offset: number;
548
- };
549
- page: {
550
- min: number;
551
- max: number;
552
- current: number;
553
- next: number | null;
554
- prev: number | null;
555
- };
556
- }>;
557
- relationshipCounts(id: string): Promise<{
558
- followers: number | null;
559
- followings: number | null;
560
- }>;
711
+ }): Promise<CatalystFollowingOrFollowersList>;
712
+ relationships(id: string): Promise<CatalystRelationships>;
561
713
  createSmartAlbum(data: CatalystCreateSmartAlbumRequest): Promise<Identity>;
562
714
  getSmartAlbum(id: string, opts?: {
715
+ limit?: number;
563
716
  since?: string;
564
717
  until?: string;
565
718
  }): Promise<CatalystSmartAlbum>;
566
- editSmartAlbum(id: string, data: CatalystEditSmartAlbumRequest): Promise<void>;
567
- deleteSmartAlbum(id: string): Promise<void>;
568
- searchSmartAlbum(q: string): Promise<CatalystSmartAlbums>;
569
- createStatus(data: CatalystCreateStatusRequest): Promise<Identity>;
570
- getStatus(id: string): Promise<CatalystStatusWrapper>;
571
- editStatus(id: string, data: CatalystEditStatusRequest): Promise<void>;
572
- deleteStatus(id: string): Promise<void>;
573
- isFavorited(id: string): Promise<boolean>;
574
- favorite(id: string): Promise<void>;
575
- unfavorite(id: string): Promise<void>;
576
- reactions(id: string): Promise<CatalystReactions>;
577
- albumsInStatus(id: string): Promise<CatalystSmartAlbums>;
578
- react(id: string, symbol: string): Promise<void>;
579
- unreact(id: string, symbol: string): Promise<void>;
580
- contestTimeline(slug: string, opts?: {
719
+ editSmartAlbum(id: string, data: CatalystEditSmartAlbumRequest): Promise<CatalystSmartAlbum>;
720
+ deleteSmartAlbum(id: string): Promise<CatalystResult>;
721
+ getSmartAlbumBooks(id: string): Promise<CatalystAlbumBook[]>;
722
+ createSmartAlbumBook(id: string, data: CatalystCreateAlbumBookRequest): Promise<CatalystAlbumBook>;
723
+ getSmartAlbumBook(id: string, bookId: string): Promise<CatalystAlbumBook>;
724
+ regenerateSmartAlbumBook(id: string, bookId: string): Promise<CatalystAlbumBook>;
725
+ listSmartAlbumsByUser(userId: string): Promise<CatalystSmartAlbum[]>;
726
+ searchSmartAlbums(q?: string): Promise<CatalystSmartAlbum[]>;
727
+ archiveTimeline(opts: {
728
+ year: number;
729
+ month: number;
730
+ day?: number;
581
731
  since?: string;
582
732
  until?: string;
583
- }): Promise<CatalystStatuses>;
584
- favoriteTimeline(opts?: {
733
+ userId?: string;
734
+ limit?: number;
735
+ excludeSensitive?: boolean;
736
+ }): Promise<CatalystStatus[]>;
737
+ archiveMonths(): Promise<CatalystArchiveMonth[]>;
738
+ timelineByContestSlug(slug: string, opts?: {
585
739
  since?: string;
586
740
  until?: string;
587
- }): Promise<CatalystStatuses>;
588
- firehoseTimeline(opts?: {
741
+ }): Promise<CatalystStatus[]>;
742
+ favoriteTimeline(opts?: {
589
743
  since?: string;
590
744
  until?: string;
591
745
  }): Promise<CatalystStatusV1_1[]>;
592
- galleryTimeline(opts?: {
746
+ firehoseTimelineV1(opts?: {
593
747
  since?: string;
594
748
  until?: string;
595
- }): Promise<CatalystStatuses>;
596
- homeTimeline(opts?: {
749
+ }): Promise<CatalystStatus[]>;
750
+ galleryTimeline(opts?: {
597
751
  since?: string;
598
752
  until?: string;
599
- }): Promise<CatalystStatusV1_1[]>;
753
+ }): Promise<CatalystStatus[]>;
754
+ homeTimelineV1(): Promise<CatalystStatus[]>;
600
755
  searchTimeline(opts?: {
601
756
  q?: string;
602
757
  exact?: boolean;
603
758
  since?: string;
604
759
  until?: string;
605
- }): Promise<CatalystStatuses>;
760
+ }): Promise<CatalystStatus[]>;
606
761
  userTimeline(username: string, opts?: {
607
- trimUser?: boolean;
608
- excludeSensitive?: boolean;
609
762
  since?: string;
610
763
  until?: string;
611
- }): Promise<CatalystStatuses>;
764
+ limit?: number;
765
+ excludeSensitive?: boolean;
766
+ }): Promise<CatalystStatus[]>;
612
767
  userGalleryTimeline(username: string, opts?: {
613
768
  since?: string;
614
769
  until?: string;
615
- }): Promise<CatalystStatuses>;
616
- trend(): Promise<string[]>;
617
- createFleet(data: CatalystCreateFleetRequest): Promise<void>;
618
- fleetById(id: string): Promise<CatalystFleet>;
619
- deleteFleet(id: string): Promise<void>;
620
- viewFleet(id: string): Promise<void>;
621
- fleetViewers(id: string): Promise<CatalystFleetViewer[]>;
622
- reactFleet(id: string, symbol: string): Promise<void>;
623
- unreactFleet(id: string, symbol: string): Promise<void>;
624
- fleets(): Promise<CatalystFleetRing[]>;
625
- fleetByUsername(username: string): Promise<CatalystFleet[]>;
626
- createContest(data: CatalystCreateContestRequest): Promise<Identity>;
627
- getContestsByMe(): Promise<CatalystContest[]>;
628
- getContestBySlug(slug: string): Promise<{
629
- contest: CatalystContest;
630
- }>;
631
- editContest(slug: string, data: CatalystEditContestRequest): Promise<void>;
632
- getContestAwards(slug: string): Promise<{
633
- awards: CatalystContestAward[];
634
- }>;
635
- setContestAward(slug: string, id: string, data: CatalystSetContestAwardRequest): Promise<void>;
636
- unsetContestAward(slug: string, id: string, data: CatalystUnsetContestAwardRequest): Promise<void>;
637
- getContestCollaborators(slug: string): Promise<{
638
- collaborators: CatalystContestCollaborator[];
639
- }>;
640
- addContestCollaborator(slug: string, data: CatalystContestAddCollaboratorRequest): Promise<void>;
641
- removeContestCollaborator(slug: string, data: CatalystContestRemoveCollaboratorRequest): Promise<void>;
642
- copyContest(slug: string): Promise<Identity>;
643
- getAccessPermissionOfContest(slug: string): Promise<{
644
- result: "admin" | "collaborator" | "contributor" | "guest";
645
- }>;
646
- publishContest(slug: string): Promise<Identity>;
647
- addContestVoteToStatus(slug: string, id: string): Promise<void>;
648
- removeContestVoteFromStatus(slug: string, id: string): Promise<void>;
649
- getContestVotes(slug: string): Promise<CatalystUserVoteRights>;
650
- searchContest(state: string, q?: string): Promise<{
651
- contests: CatalystContest[];
652
- }>;
653
- reportStatus(id: string, data: ReportRequest): Promise<void>;
654
- getPrivacySettings(): Promise<CatalystPrivacySettings>;
655
- updatePrivacySettings(data: CatalystPrivacySettingsRequest): Promise<CatalystPrivacySettings>;
656
- announcements(): Promise<{
657
- announcements: CatalystAnnouncement[];
658
- }>;
659
- updateProfileTags(data: UpdateProfileTagsRequest): Promise<{
660
- tags: ProfileTag[];
661
- }>;
662
- profileTagSuggestions(q: string): Promise<{
663
- tags: ProfileTagSuggestion[];
664
- }>;
665
- getUsersByProfileTag(name: string, cursor?: string): Promise<{
666
- items: ProfileTagUser[];
667
- cursor: string | null;
668
- }>;
669
- getProfileTagsByUser(id: string): Promise<{
670
- tags: ProfileTag[];
671
- }>;
672
- randomStatus(): Promise<{
673
- status: CatalystStatus | null;
674
- }>;
675
- randomStatusByHashtag(q: string): Promise<{
676
- status: CatalystStatus | null;
677
- }>;
678
- bulkStatusReactions(ids: string[]): Promise<{
679
- reactions: Record<string, CatalystReactions>;
680
- }>;
681
- archiveTimeline(opts: {
682
- year: number;
683
- month: number;
684
- day?: number;
770
+ }): Promise<CatalystStatus[]>;
771
+ firehoseTimeline(opts?: {
685
772
  since?: string;
686
773
  until?: string;
687
- userId?: string;
688
- limit?: number;
689
- trimUser?: boolean;
690
- excludeSensitive?: boolean;
691
- }): Promise<{
692
- statuses: CatalystStatus[];
693
- }>;
694
- archiveMonths(): Promise<{
695
- months: {
696
- year: number;
697
- month: number;
698
- count: number;
699
- }[];
700
- }>;
701
- currentContests(): Promise<{
702
- contests: CatalystContest[];
703
- }>;
704
- getContestsByUser(username: string): Promise<{
705
- contests: CatalystContest[];
706
- }>;
707
- getContestPolls(slug: string): Promise<{
708
- polls: {
709
- status: CatalystStatus;
710
- count: number;
711
- }[];
712
- }>;
713
- getAlbumsByMe(includeSmartAlbums?: boolean): Promise<{
714
- albums: CatalystAlbum[];
715
- }>;
716
- listSmartAlbumsByUser(username: string): Promise<{
717
- albums: CatalystSmartAlbum[];
718
- }>;
774
+ trimVisitor?: boolean;
775
+ }): Promise<CatalystStatusV1_1[]>;
776
+ homeTimeline(opts?: {
777
+ since?: string;
778
+ until?: string;
779
+ trimVisitor?: boolean;
780
+ }): Promise<CatalystStatusV1_1[]>;
781
+ trend(): Promise<string[] | null>;
782
+ richTrend(): Promise<CatalystRichTrendingItem[] | null>;
719
783
  }
720
784
 
721
785
  declare class EgeriaClient {
@@ -728,11 +792,137 @@ declare class EgeriaClient {
728
792
  userByUsername(username: string): Promise<EgeriaUserWrapper | undefined>;
729
793
  }
730
794
 
795
+ interface EpiclesePlatform {
796
+ id: string;
797
+ name: string;
798
+ description: string;
799
+ url: string | null;
800
+ startAt: string | null;
801
+ }
802
+ interface EpiclesePlatformsWrapper {
803
+ platforms: EpiclesePlatform[];
804
+ }
805
+ interface EpiclesePlatformWrapper {
806
+ platform: EpiclesePlatform;
807
+ }
808
+ interface EpicleseAuthor {
809
+ id: string;
810
+ platformIdentifier: string;
811
+ platform: EpiclesePlatform | null;
812
+ name: string;
813
+ }
814
+ interface EpicleseAuthorWrapper {
815
+ author: EpicleseAuthor;
816
+ }
817
+ /** Paginated result of `GET /epiclese/v1/authors`. */
818
+ interface EpicleseAuthorsResult {
819
+ items: EpicleseAuthor[];
820
+ count: CountInfo;
821
+ page: PageInfo;
822
+ }
823
+ interface EpicleseWorld {
824
+ id: string;
825
+ platformIdentifier: string;
826
+ platform: EpiclesePlatform | null;
827
+ name: string;
828
+ author: EpicleseAuthor | null;
829
+ }
830
+ interface EpicleseWorldWrapper {
831
+ world: EpicleseWorld | null;
832
+ }
833
+ /** Internal wrapper for `GET /epiclese/v1/worlds` (`{"items": [...]}`, unwrapped by the client). */
834
+ interface EpicleseWorldsWrapper {
835
+ items: EpicleseWorld[];
836
+ }
837
+ interface EpicleseCreateAuthorRequest {
838
+ id?: string;
839
+ platformIdentifier: string;
840
+ platform: string;
841
+ name: string;
842
+ }
843
+ interface EpicleseCreateWorldRequest {
844
+ id?: string;
845
+ platformIdentifier: string;
846
+ platform: string;
847
+ name: string;
848
+ author: EpicleseCreateAuthorRequest | null;
849
+ }
850
+ interface EpicleseCreateStatusMetadataReferenceRequest {
851
+ x: number;
852
+ y: number;
853
+ /** UUID referencing another tag entry within the same batch request. */
854
+ reference?: string;
855
+ type: string;
856
+ name: string;
857
+ description?: string;
858
+ externalUrl?: string;
859
+ author?: EpicleseCreateAuthorRequest;
860
+ }
861
+ interface EpicleseCreateStatusMetadataTagRequest {
862
+ id: string;
863
+ platform?: string;
864
+ world?: EpicleseCreateWorldRequest;
865
+ users?: {
866
+ id: string;
867
+ }[];
868
+ reference: EpicleseCreateStatusMetadataReferenceRequest[];
869
+ privacyMetadata?: boolean;
870
+ }
871
+ interface EpicleseStatusMetadataReference {
872
+ type: string;
873
+ name: string;
874
+ description: string;
875
+ externalUrl: string | null;
876
+ author: EpicleseAuthor;
877
+ x: number;
878
+ y: number;
879
+ reference: string;
880
+ }
881
+ interface EpicleseStatusMetadataTag {
882
+ platform: string | null;
883
+ world: EpicleseWorld | null;
884
+ users: EgeriaUser[];
885
+ reference: EpicleseStatusMetadataReference[];
886
+ additionalData?: Record<string, string>;
887
+ additionalData2?: Record<string, {
888
+ value: string;
889
+ ref: string | null;
890
+ }>;
891
+ }
892
+ /** `EpicleseStatusMetadataResponse` — a map keyed by tag id. */
893
+ type EpicleseStatusMetadata = Record<string, EpicleseStatusMetadataTag>;
894
+
895
+ /** Client for Epiclese (world/author metadata) API endpoints. */
896
+ declare class EpicleseClient {
897
+ private readonly http;
898
+ constructor(http: HttpClient);
899
+ getAuthors(q?: string, platform?: string): Promise<EpicleseAuthorsResult>;
900
+ createAuthor(data: EpicleseCreateAuthorRequest): Promise<EpicleseAuthor>;
901
+ getPlatforms(): Promise<EpiclesePlatform[]>;
902
+ getPlatform(id: string): Promise<EpiclesePlatform>;
903
+ getStatusMetadata(statusId: string): Promise<EpicleseStatusMetadata>;
904
+ createStatusMetadata(statusId: string, tags: EpicleseCreateStatusMetadataTagRequest[]): Promise<EpicleseStatusMetadata>;
905
+ getWorlds(q?: string, platform?: string, offset?: number): Promise<EpicleseWorld[]>;
906
+ createWorld(data: EpicleseCreateWorldRequest): Promise<EpicleseWorld | null>;
907
+ resolveWorld(platform: string, name: string): Promise<EpicleseWorld | null>;
908
+ }
909
+
910
+ /** Client for Feature Flags API endpoints. */
911
+ declare class FeatureFlagsClient {
912
+ private readonly http;
913
+ constructor(http: HttpClient);
914
+ /** Gets the feature flags enabled for the current user. */
915
+ me(): Promise<string[]>;
916
+ }
917
+
731
918
  declare class MediaClient {
732
919
  private readonly http;
733
920
  constructor(http: HttpClient);
734
- download(data: MediaDownloadRequest): Promise<ArrayBuffer>;
735
- delete(data: MediaDeleteRequest): Promise<void>;
921
+ /** Gets a signed URL for uploading media (v1). */
922
+ uploadV1(): Promise<MediaUploadUrls>;
923
+ /** Deletes media by URL. */
924
+ delete(url: string): Promise<boolean>;
925
+ /** Gets a signed URL for uploading media (v2). */
736
926
  upload(): Promise<MediaUploadUrls>;
737
927
  }
738
928
 
@@ -753,7 +943,7 @@ interface Notification {
753
943
  id: string;
754
944
  title: string;
755
945
  isGrouped: boolean;
756
- belongsTo: Record<string, unknown>;
946
+ belongsTo?: Record<string, unknown>;
757
947
  entities: NotificationGroup[];
758
948
  hasMore: boolean;
759
949
  read: boolean;
@@ -774,19 +964,26 @@ declare class SteambirdClient {
774
964
  readonly ISSUER_CATALYST_USER_MESSAGE = "natsuneko-laboratory:catalyst-message";
775
965
  readonly ISSUER_EGERIA_SYSTEM_MESSAGE = "natsuneko-laboratory:egeria";
776
966
  constructor(http: HttpClient);
777
- notifications(issuer: string, opts?: {
967
+ /** Gets notifications for a specific issuer, or all issuers if omitted. */
968
+ notifications(issuer?: string, opts?: {
778
969
  since?: string;
779
970
  until?: string;
780
- }): Promise<Notifications>;
781
- read(id: string): Promise<void>;
782
- readAll(issuer?: string): Promise<void>;
783
- unreads(issuers?: string[]): Promise<NotificationUnreadCount>;
971
+ }): Promise<Notification[]>;
972
+ read(id: string): Promise<CatalystResult>;
973
+ readAll(issuer?: string): Promise<CatalystResult>;
974
+ unreads(issuer?: string, issuers?: string[]): Promise<NotificationUnreadCount>;
784
975
  }
785
976
 
786
977
  interface Token {
787
978
  accessToken: string;
788
979
  refreshToken: string;
789
980
  tokenType: string;
981
+ /** Present on responses from the real token-exchange endpoint (e.g. "read write"). */
982
+ scope?: string;
983
+ /** ISO8601 timestamp string for when the access token expires. */
984
+ expiresAt?: string;
985
+ /** Seconds until the access token expires. */
986
+ expiresIn?: number;
790
987
  }
791
988
 
792
989
  declare class PKCE {
@@ -848,6 +1045,8 @@ declare class CatalystTS {
848
1045
  get egeria(): EgeriaClient;
849
1046
  get media(): MediaClient;
850
1047
  get steambird(): SteambirdClient;
1048
+ get epiclese(): EpicleseClient;
1049
+ get featureFlags(): FeatureFlagsClient;
851
1050
  }
852
1051
 
853
1052
  declare class ApiError extends Error {
@@ -868,74 +1067,132 @@ declare const PUBLIC_API_ENDPOINT = "https://api.natsuneko.com";
868
1067
  declare const PUBLIC_GRAPHQL_ENDPOINT = "https://graphql.natsuneko.com";
869
1068
  declare const PUBLIC_AUTHORIZE_ENDPOINT = "https://accounts.natsuneko.com/authorize";
870
1069
 
1070
+ /** Wrapper for the `{"flags": [...]}` response shape of `GET /feature-flags/v1/me`. */
1071
+ interface FeatureFlagsResponse {
1072
+ flags: string[];
1073
+ }
1074
+
871
1075
  declare const CatalystEndpoint: {
872
1076
  readonly createAlbum: (data: CatalystCreateAlbumRequest) => Endpoint;
873
1077
  readonly getAlbum: (id: string, opts?: {
1078
+ limit?: number;
874
1079
  since?: string;
875
1080
  until?: string;
876
1081
  }) => Endpoint;
1082
+ readonly insertToAlbum: (id: string, statusId: string) => Endpoint;
1083
+ readonly removeFromAlbum: (id: string, statusId: string) => Endpoint;
877
1084
  readonly editAlbum: (id: string, data: CatalystEditAlbumRequest) => Endpoint;
878
- readonly insertToAlbum: (id: string, data: CatalystInsertToAlbumRequest) => Endpoint;
879
- readonly removeFromAlbum: (id: string, data: CatalystRemoveFromAlbumRequest) => Endpoint;
880
1085
  readonly deleteAlbum: (id: string) => Endpoint;
881
- readonly listAlbums: (username: string, includeSmartAlbums?: boolean) => Endpoint;
882
- readonly searchAlbum: (q: string, includeSmartAlbums?: boolean) => Endpoint;
1086
+ readonly getAlbumBooks: (id: string) => Endpoint;
1087
+ readonly createAlbumBook: (id: string, data: CatalystCreateAlbumBookRequest) => Endpoint;
1088
+ readonly getAlbumBook: (id: string, bookId: string) => Endpoint;
1089
+ readonly regenerateAlbumBook: (id: string, bookId: string) => Endpoint;
1090
+ readonly getAlbumsByMe: (includeSmartAlbums?: boolean) => Endpoint;
1091
+ readonly listAlbums: (username: string, includeSmartAlbum?: boolean) => Endpoint;
1092
+ readonly searchAlbums: (q?: string, includeSmartAlbum?: boolean, until?: string) => Endpoint;
1093
+ readonly announcements: () => Endpoint;
1094
+ readonly block: (userId: string) => Endpoint;
1095
+ readonly unblock: (userId: string) => Endpoint;
1096
+ readonly getContestsByMe: () => Endpoint;
1097
+ readonly getContestBySlug: (slug: string) => Endpoint;
1098
+ readonly contestTimeline: (slug: string) => Endpoint;
1099
+ readonly getContestVotes: (slug: string) => Endpoint;
1100
+ readonly addContestVote: (slug: string, status: string) => Endpoint;
1101
+ readonly removeContestVote: (slug: string, status: string) => Endpoint;
1102
+ readonly getContestsByUser: (userId: string) => Endpoint;
1103
+ readonly currentContests: () => Endpoint;
1104
+ readonly searchContests: (q?: string, state?: string, id?: string) => Endpoint;
883
1105
  readonly customReactions: () => Endpoint;
884
- readonly customUserReactions: () => Endpoint;
1106
+ readonly getCustomUserReactions: () => Endpoint;
885
1107
  readonly createCustomReaction: (data: FormData) => Endpoint;
886
1108
  readonly updateCustomReaction: (id: string, data: UpdateCustomReactionRequest) => Endpoint;
887
1109
  readonly deleteCustomReaction: (id: string) => Endpoint;
888
- readonly block: (data: CatalystRelationshipRequest) => Endpoint;
889
- readonly unblock: (data: CatalystRelationshipRequest) => Endpoint;
890
- readonly relationships: (id: string) => Endpoint;
891
- readonly follow: (data: CatalystRelationshipRequest) => Endpoint;
892
- readonly remove: (data: CatalystRelationshipRequest) => Endpoint;
893
- readonly followings: (username: string, opts?: {
1110
+ readonly createFleet: (data: CatalystCreateFleetRequest) => Endpoint;
1111
+ readonly fleetByUsername: (username: string) => Endpoint;
1112
+ readonly fleets: () => Endpoint;
1113
+ readonly fleetById: (id: string) => Endpoint;
1114
+ readonly deleteFleet: (id: string) => Endpoint;
1115
+ readonly reactFleet: (id: string, symbol: string) => Endpoint;
1116
+ readonly unreactFleet: (id: string, symbol: string) => Endpoint;
1117
+ readonly viewFleet: (id: string) => Endpoint;
1118
+ readonly fleetViewers: (id: string) => Endpoint;
1119
+ readonly getPrivacySettings: () => Endpoint;
1120
+ readonly updatePrivacySettings: (data: CatalystPrivacySettingsRequest) => Endpoint;
1121
+ readonly updateProfileTags: (data: UpdateProfileTagsRequest) => Endpoint;
1122
+ readonly profileTagSuggestions: (q: string) => Endpoint;
1123
+ readonly getUsersByProfileTag: (name: string, cursor?: string) => Endpoint;
1124
+ readonly getProfileTagsByUser: (id: string) => Endpoint;
1125
+ readonly randomStatus: () => Endpoint;
1126
+ readonly randomStatusV1_1: () => Endpoint;
1127
+ readonly onThisDay: () => Endpoint;
1128
+ readonly createStatus: (data: CatalystCreateStatusRequest) => Endpoint;
1129
+ readonly getStatus: (id: string) => Endpoint;
1130
+ readonly getStatusV1_1: (id: string) => Endpoint;
1131
+ readonly editStatus: (id: string, data: CatalystEditStatusRequest) => Endpoint;
1132
+ readonly deleteStatus: (id: string) => Endpoint;
1133
+ readonly albumsInStatus: (id: string) => Endpoint;
1134
+ readonly isFavorited: (id: string) => Endpoint;
1135
+ readonly favorite: (id: string) => Endpoint;
1136
+ readonly unfavorite: (id: string) => Endpoint;
1137
+ readonly reactions: (id: string) => Endpoint;
1138
+ readonly reactWithCustomReaction: (id: string, customReactionId: string) => Endpoint;
1139
+ readonly unreactWithCustomReaction: (id: string, customReactionId: string) => Endpoint;
1140
+ readonly react: (id: string, symbol: string) => Endpoint;
1141
+ readonly unreact: (id: string, symbol: string) => Endpoint;
1142
+ readonly reportStatus: (id: string, data: ReportRequest) => Endpoint;
1143
+ readonly bulkStatusReactions: (ids: string[]) => Endpoint;
1144
+ readonly follow: (userId: string) => Endpoint;
1145
+ readonly remove: (userId: string) => Endpoint;
1146
+ readonly relationshipCounts: (username: string) => Endpoint;
1147
+ readonly followers: (username: string, opts?: {
894
1148
  page?: number;
895
1149
  }) => Endpoint;
896
- readonly followers: (username: string, opts?: {
1150
+ readonly followings: (username: string, opts?: {
897
1151
  page?: number;
898
1152
  }) => Endpoint;
899
- readonly relationshipCounts: (username: string) => Endpoint;
1153
+ readonly relationships: (id: string) => Endpoint;
900
1154
  readonly createSmartAlbum: (data: CatalystCreateSmartAlbumRequest) => Endpoint;
901
1155
  readonly getSmartAlbum: (id: string, opts?: {
1156
+ limit?: number;
902
1157
  since?: string;
903
1158
  until?: string;
904
1159
  }) => Endpoint;
905
1160
  readonly editSmartAlbum: (id: string, data: CatalystEditSmartAlbumRequest) => Endpoint;
906
1161
  readonly deleteSmartAlbum: (id: string) => Endpoint;
907
- readonly searchSmartAlbum: (q: string) => Endpoint;
908
- readonly createStatus: (data: CatalystCreateStatusRequest) => Endpoint;
909
- readonly getStatus: (id: string) => Endpoint;
910
- readonly editStatus: (id: string, data: CatalystEditStatusRequest) => Endpoint;
911
- readonly deleteStatus: (id: string) => Endpoint;
912
- readonly isFavorited: (id: string) => Endpoint;
913
- readonly favorite: (id: string) => Endpoint;
914
- readonly unfavorite: (id: string) => Endpoint;
915
- readonly reactions: (id: string) => Endpoint;
916
- readonly albumsInStatus: (id: string) => Endpoint;
917
- readonly react: (id: string, symbol: string) => Endpoint;
918
- readonly unreact: (id: string, symbol: string) => Endpoint;
919
- readonly contestTimeline: (slug: string, opts?: {
1162
+ readonly getSmartAlbumBooks: (id: string) => Endpoint;
1163
+ readonly createSmartAlbumBook: (id: string, data: CatalystCreateAlbumBookRequest) => Endpoint;
1164
+ readonly getSmartAlbumBook: (id: string, bookId: string) => Endpoint;
1165
+ readonly regenerateSmartAlbumBook: (id: string, bookId: string) => Endpoint;
1166
+ readonly listSmartAlbumsByUser: (userId: string) => Endpoint;
1167
+ readonly searchSmartAlbums: (q?: string) => Endpoint;
1168
+ readonly archiveTimeline: (opts: {
1169
+ year: number;
1170
+ month: number;
1171
+ day?: number;
920
1172
  since?: string;
921
1173
  until?: string;
1174
+ userId?: string;
1175
+ limit?: number;
1176
+ excludeSensitive?: boolean;
922
1177
  }) => Endpoint;
923
- readonly favoriteTimeline: (opts?: {
1178
+ readonly archiveMonths: () => Endpoint;
1179
+ readonly timelineByContestSlug: (slug: string, opts?: {
924
1180
  since?: string;
925
1181
  until?: string;
926
1182
  }) => Endpoint;
927
- readonly firehoseTimeline: (opts?: {
1183
+ readonly favoriteTimeline: (opts?: {
928
1184
  since?: string;
929
1185
  until?: string;
930
1186
  }) => Endpoint;
931
- readonly galleryTimeline: (opts?: {
1187
+ readonly firehoseTimelineV1: (opts?: {
932
1188
  since?: string;
933
1189
  until?: string;
934
1190
  }) => Endpoint;
935
- readonly homeTimeline: (opts?: {
1191
+ readonly galleryTimeline: (opts?: {
936
1192
  since?: string;
937
1193
  until?: string;
938
1194
  }) => Endpoint;
1195
+ readonly homeTimelineV1: () => Endpoint;
939
1196
  readonly searchTimeline: (opts?: {
940
1197
  q?: string;
941
1198
  exact?: boolean;
@@ -943,70 +1200,27 @@ declare const CatalystEndpoint: {
943
1200
  until?: string;
944
1201
  }) => Endpoint;
945
1202
  readonly userTimeline: (username: string, opts?: {
946
- trimUser?: boolean;
947
- excludeSensitive?: boolean;
948
1203
  since?: string;
949
1204
  until?: string;
1205
+ limit?: number;
1206
+ excludeSensitive?: boolean;
950
1207
  }) => Endpoint;
951
1208
  readonly userGalleryTimeline: (username: string, opts?: {
952
1209
  since?: string;
953
1210
  until?: string;
954
1211
  }) => Endpoint;
955
- readonly trend: () => Endpoint;
956
- readonly createFleet: (data: CatalystCreateFleetRequest) => Endpoint;
957
- readonly fleetById: (id: string) => Endpoint;
958
- readonly deleteFleet: (id: string) => Endpoint;
959
- readonly viewFleet: (id: string) => Endpoint;
960
- readonly fleetViewers: (id: string) => Endpoint;
961
- readonly reactFleet: (id: string, symbol: string) => Endpoint;
962
- readonly unreactFleet: (id: string, symbol: string) => Endpoint;
963
- readonly fleets: () => Endpoint;
964
- readonly fleetByUsername: (username: string) => Endpoint;
965
- readonly createContest: (data: CatalystCreateContestRequest) => Endpoint;
966
- readonly getContestsByMe: () => Endpoint;
967
- readonly getContestBySlug: (slug: string) => Endpoint;
968
- readonly editContest: (slug: string, data: CatalystEditContestRequest) => Endpoint;
969
- readonly getContestAwards: (slug: string) => Endpoint;
970
- readonly setContestAward: (slug: string, id: string, data: CatalystSetContestAwardRequest) => Endpoint;
971
- readonly unsetContestAward: (slug: string, id: string, data: CatalystUnsetContestAwardRequest) => Endpoint;
972
- readonly getContestCollaborators: (slug: string) => Endpoint;
973
- readonly addContestCollaborator: (slug: string, data: CatalystContestAddCollaboratorRequest) => Endpoint;
974
- readonly removeContestCollaborator: (slug: string, data: CatalystContestRemoveCollaboratorRequest) => Endpoint;
975
- readonly copyContest: (slug: string) => Endpoint;
976
- readonly getAccessPermissionOfContest: (slug: string) => Endpoint;
977
- readonly getContestPolls: (slug: string) => Endpoint;
978
- readonly publishContest: (slug: string) => Endpoint;
979
- readonly addContestVoteToStatus: (slug: string, id: string) => Endpoint;
980
- readonly removeContestVoteFromStatus: (slug: string, id: string) => Endpoint;
981
- readonly getContestVotes: (slug: string) => Endpoint;
982
- readonly searchContest: (state: string, q?: string) => Endpoint;
983
- readonly reportStatus: (id: string, data: ReportRequest) => Endpoint;
984
- readonly getPrivacySettings: () => Endpoint;
985
- readonly updatePrivacySettings: (data: CatalystPrivacySettingsRequest) => Endpoint;
986
- readonly announcements: () => Endpoint;
987
- readonly updateProfileTags: (data: UpdateProfileTagsRequest) => Endpoint;
988
- readonly profileTagSuggestions: (q: string) => Endpoint;
989
- readonly getUsersByProfileTag: (name: string, cursor?: string) => Endpoint;
990
- readonly getProfileTagsByUser: (id: string) => Endpoint;
991
- readonly randomStatus: () => Endpoint;
992
- readonly randomStatusByHashtag: (q: string) => Endpoint;
993
- readonly bulkStatusReactions: (ids: string[]) => Endpoint;
994
- readonly archiveTimeline: (opts: {
995
- year: number;
996
- month: number;
997
- day?: number;
1212
+ readonly firehoseTimeline: (opts?: {
998
1213
  since?: string;
999
1214
  until?: string;
1000
- userId?: string;
1001
- limit?: number;
1002
- trimUser?: boolean;
1003
- excludeSensitive?: boolean;
1215
+ trimVisitor?: boolean;
1004
1216
  }) => Endpoint;
1005
- readonly archiveMonths: () => Endpoint;
1006
- readonly currentContests: () => Endpoint;
1007
- readonly getContestsByUser: (username: string) => Endpoint;
1008
- readonly getAlbumsByMe: (includeSmartAlbums?: boolean) => Endpoint;
1009
- readonly listSmartAlbumsByUser: (username: string) => Endpoint;
1217
+ readonly homeTimeline: (opts?: {
1218
+ since?: string;
1219
+ until?: string;
1220
+ trimVisitor?: boolean;
1221
+ }) => Endpoint;
1222
+ readonly trend: () => Endpoint;
1223
+ readonly richTrend: () => Endpoint;
1010
1224
  };
1011
1225
 
1012
1226
  declare const EgeriaEndpoint: {
@@ -1017,20 +1231,38 @@ declare const EgeriaEndpoint: {
1017
1231
  readonly userByUsername: (username: string) => Endpoint;
1018
1232
  };
1019
1233
 
1234
+ declare const EpicleseEndpoint: {
1235
+ readonly getAuthors: (q?: string, platform?: string) => Endpoint;
1236
+ readonly createAuthor: (data: EpicleseCreateAuthorRequest) => Endpoint;
1237
+ readonly getPlatforms: () => Endpoint;
1238
+ readonly getPlatform: (id: string) => Endpoint;
1239
+ readonly getStatusMetadata: (statusId: string) => Endpoint;
1240
+ readonly createStatusMetadata: (statusId: string, data: EpicleseCreateStatusMetadataTagRequest[]) => Endpoint;
1241
+ readonly getWorlds: (q?: string, platform?: string, offset?: number) => Endpoint;
1242
+ readonly createWorld: (data: EpicleseCreateWorldRequest) => Endpoint;
1243
+ readonly resolveWorld: (platform: string, name: string) => Endpoint;
1244
+ };
1245
+
1246
+ declare const FeatureFlagsEndpoint: {
1247
+ readonly me: () => Endpoint;
1248
+ };
1249
+
1020
1250
  declare const MediaEndpoint: {
1021
- readonly download: (data: MediaDownloadRequest) => Endpoint;
1251
+ /** Gets a signed URL for uploading media (v1). */
1252
+ readonly uploadV1: () => Endpoint;
1022
1253
  readonly delete: (data: MediaDeleteRequest) => Endpoint;
1254
+ /** Gets a signed URL for uploading media (v2). */
1023
1255
  readonly upload: () => Endpoint;
1024
1256
  };
1025
1257
 
1026
1258
  declare const SteambirdEndpoint: {
1027
- readonly notifications: (issuer: string, opts?: {
1259
+ readonly notifications: (issuer?: string, opts?: {
1028
1260
  since?: string;
1029
1261
  until?: string;
1030
1262
  }) => Endpoint;
1031
1263
  readonly read: (id: string) => Endpoint;
1032
1264
  readonly readAll: (issuer?: string) => Endpoint;
1033
- readonly unreads: (issuers?: string[]) => Endpoint;
1265
+ readonly unreads: (issuer?: string, issuers?: string[]) => Endpoint;
1034
1266
  };
1035
1267
 
1036
1268
  declare class AuthInterceptor implements RequestInterceptor {
@@ -1055,4 +1287,4 @@ declare class LoggingInterceptor implements RequestInterceptor {
1055
1287
  retry(request: Request, error: unknown): Promise<boolean>;
1056
1288
  }
1057
1289
 
1058
- export { ApiError, AuthInterceptor, type CatalystAlbum, type CatalystAlbumDisplayMode, type CatalystAnnouncement, CatalystClient, type CatalystContest, type CatalystContestAddCollaboratorRequest, type CatalystContestAward, type CatalystContestCollaborator, type CatalystContestPolls, type CatalystContestRank, type CatalystContestRemoveCollaboratorRequest, type CatalystContestState, type CatalystCreateAlbumRequest, type CatalystCreateContestRequest, type CatalystCreateFleetMedia, type CatalystCreateFleetRequest, type CatalystCreateFleetSticker, type CatalystCreateFleetText, type CatalystCreateSmartAlbumRequest, type CatalystCreateStatusRequest, type CatalystCustomReaction, type CatalystCustomReactionList, type CatalystCustomReactionStatus, type CatalystEditAlbumRequest, type CatalystEditContestRequest, type CatalystEditSmartAlbumRequest, type CatalystEditStatusRequest, CatalystEndpoint, CatalystError, type CatalystFleet, type CatalystFleetMedia, type CatalystFleetRing, type CatalystFleetSticker, type CatalystFleetText, type CatalystFleetViewer, type CatalystInsertToAlbumRequest, type CatalystMediaWithMetadata, type CatalystPrivacySettings, type CatalystPrivacySettingsRequest, type CatalystReaction, type CatalystReactions, type CatalystRelationshipRequest, type CatalystRelationships, type CatalystRemoveFromAlbumRequest, type CatalystSetContestAwardRequest, type CatalystSmartAlbum, type CatalystSmartAlbums, type CatalystStatus, type CatalystStatusContest, type CatalystStatusPrivacy, type CatalystStatusV1_1, type CatalystStatusVisitor, type CatalystStatusWrapper, type CatalystStatuses, CatalystTS, type CatalystTSOptions, type CatalystUnsetContestAwardRequest, type CatalystUserCustomReaction, type CatalystUserVoteRights, EgeriaClient, EgeriaEndpoint, type EgeriaUpdateProfileRequest, type EgeriaUser, type EgeriaUserProfile, type EgeriaUserWrapper, type EgeriaUsers, type Endpoint, HttpClient, type HttpMethod, ISSUER_CATALYST_SYSTEM_MESSAGE, ISSUER_CATALYST_USER_MESSAGE, ISSUER_EGERIA_SYSTEM_MESSAGE, type Identity, LoggingInterceptor, type Media, MediaClient, type MediaDeleteRequest, type MediaDownloadRequest, MediaEndpoint, type MediaMetadata, type MediaUploadUrls, type Notification, type NotificationAdditionalContext, type NotificationGroup, type NotificationUnreadCount, type Notifications, OAuth, OAuthError, PKCE, PUBLIC_API_ENDPOINT, PUBLIC_AUTHORIZE_ENDPOINT, PUBLIC_GRAPHQL_ENDPOINT, type ProfileTag, type ProfileTagSuggestion, type ProfileTagUser, type ReportRequest, type RequestInterceptor, SteambirdClient, SteambirdEndpoint, type SupporterTier, type Token, type UpdateCustomReactionRequest, type UpdateProfileTagsRequest, UserAgentInterceptor };
1290
+ export { ApiError, AuthInterceptor, type CatalystAlbum, type CatalystAlbumBook, type CatalystAlbumBookQuality, type CatalystAlbumBookStatus, type CatalystAlbumBookTemplate, type CatalystAlbumBookTocType, type CatalystAlbumDisplayMode, type CatalystAlbumOrSmartAlbum, type CatalystAlbumOrSmartAlbums, type CatalystAlbumsWrapper, type CatalystAnnouncement, type CatalystAnnouncementsWrapper, type CatalystArchiveMonth, type CatalystArchiveMonths, CatalystClient, type CatalystContest, type CatalystContestRank, type CatalystContestState, type CatalystContestWrapper, type CatalystContestsWrapper, type CatalystCreateAlbumBookRequest, type CatalystCreateAlbumRequest, type CatalystCreateFleetMedia, type CatalystCreateFleetMediaPlacement, type CatalystCreateFleetRequest, type CatalystCreateFleetSticker, type CatalystCreateFleetText, type CatalystCreateSmartAlbumRequest, type CatalystCreateStatusRequest, type CatalystCustomReaction, type CatalystCustomReactionList, type CatalystCustomReactionStatus, type CatalystCustomReactionVisibility, type CatalystEditAlbumRequest, type CatalystEditSmartAlbumRequest, type CatalystEditStatusRequest, CatalystEndpoint, CatalystError, type CatalystFleet, type CatalystFleetMedia, type CatalystFleetRing, type CatalystFleetSticker, type CatalystFleetText, type CatalystFleetViewer, type CatalystFollowingOrFollowersList, type CatalystInsertOrRemoveStatusAlbumRequest, type CatalystInsertToAlbumRequest, type CatalystMediaWithMetadata, type CatalystMessage, type CatalystPrivacySettings, type CatalystPrivacySettingsRequest, type CatalystRandomStatusWrapper, type CatalystReaction, type CatalystReactionValue, type CatalystReactions, type CatalystRelationshipRequest, type CatalystRelationships, type CatalystRelationshipsCount, type CatalystRemoveFromAlbumRequest, type CatalystResult, type CatalystRichTrendingItem, type CatalystSmartAlbum, type CatalystSmartAlbums, type CatalystStatus, type CatalystStatusContest, type CatalystStatusPrivacy, type CatalystStatusV1Wrapper, type CatalystStatusV1_1, type CatalystStatusV1_1Wrapper, type CatalystStatusVisitor, type CatalystStatuses, type CatalystStatusesV1_1, CatalystTS, type CatalystTSOptions, type CatalystUserCustomReaction, type CatalystUserVoteRights, type CountInfo, EgeriaClient, EgeriaEndpoint, type EgeriaUpdateProfileRequest, type EgeriaUser, type EgeriaUserProfile, type EgeriaUserWrapper, type EgeriaUsers, type Endpoint, type EpicleseAuthor, type EpicleseAuthorWrapper, type EpicleseAuthorsResult, EpicleseClient, type EpicleseCreateAuthorRequest, type EpicleseCreateStatusMetadataReferenceRequest, type EpicleseCreateStatusMetadataTagRequest, type EpicleseCreateWorldRequest, EpicleseEndpoint, type EpiclesePlatform, type EpiclesePlatformWrapper, type EpiclesePlatformsWrapper, type EpicleseStatusMetadata, type EpicleseStatusMetadataReference, type EpicleseStatusMetadataTag, type EpicleseWorld, type EpicleseWorldWrapper, type EpicleseWorldsWrapper, FeatureFlagsClient, FeatureFlagsEndpoint, type FeatureFlagsResponse, HttpClient, type HttpMethod, ISSUER_CATALYST_SYSTEM_MESSAGE, ISSUER_CATALYST_USER_MESSAGE, ISSUER_EGERIA_SYSTEM_MESSAGE, type Identity, LoggingInterceptor, type Media, MediaClient, type MediaDeleteRequest, MediaEndpoint, type MediaMetadata, type MediaUploadUrls, type Notification, type NotificationAdditionalContext, type NotificationGroup, type NotificationUnreadCount, type Notifications, OAuth, OAuthError, PKCE, PUBLIC_API_ENDPOINT, PUBLIC_AUTHORIZE_ENDPOINT, PUBLIC_GRAPHQL_ENDPOINT, type PageInfo, type ProfileEmoji, type ProfileEmojiCustom, type ProfileEmojiCustomRequest, type ProfileEmojiRequest, type ProfileEmojiStandard, type ProfileEmojiStandardRequest, type ProfileTag, type ProfileTagSuggestion, type ProfileTagSuggestionsWrapper, type ProfileTagSummary, type ProfileTagUser, type ProfileTagUsersResult, type ProfileTagsWrapper, type ReportRequest, type RequestInterceptor, SteambirdClient, SteambirdEndpoint, type SupporterTier, type Token, type UpdateCustomReactionRequest, type UpdateProfileTagsRequest, UserAgentInterceptor };