@brigadasos/nadeshiko-sdk 1.4.0-dev.6f733b8 → 1.4.0-dev.9621982

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.
@@ -145,9 +145,9 @@ export type SearchResultSegment = {
145
145
  * Episode number where the segment appears
146
146
  */
147
147
  episodeNumber: number;
148
- ja: JapaneseSearchContent;
149
- en: TranslationSearchContent;
150
- es: TranslationSearchContent;
148
+ textJa: JapaneseSearchContent;
149
+ textEn: TranslationSearchContent;
150
+ textEs: TranslationSearchContent;
151
151
  /**
152
152
  * Whether the segment contains NSFW content
153
153
  */
@@ -221,13 +221,13 @@ export type SearchHealthCheckResponse = {
221
221
  cursor?: Array<number>;
222
222
  };
223
223
  /**
224
- * Error Response schema for all cases
224
+ * Unauthorized error response
225
225
  */
226
- export type Error = {
226
+ export type Error401 = {
227
227
  /**
228
228
  * Specific error code for programmatic handling
229
229
  */
230
- code: string;
230
+ code: 'AUTH_CREDENTIALS_REQUIRED' | 'AUTH_CREDENTIALS_INVALID' | 'AUTH_CREDENTIALS_EXPIRED' | 'EMAIL_NOT_VERIFIED';
231
231
  /**
232
232
  * A short, human-readable summary of the problem
233
233
  */
@@ -247,7 +247,112 @@ export type Error = {
247
247
  /**
248
248
  * The HTTP status code
249
249
  */
250
- status: number;
250
+ status: 401;
251
+ /**
252
+ * Optional map of field names to their error messages (for validation errors)
253
+ */
254
+ errors?: {
255
+ [key: string]: string;
256
+ };
257
+ };
258
+ /**
259
+ * Forbidden error response
260
+ */
261
+ export type Error403 = {
262
+ /**
263
+ * Specific error code for programmatic handling
264
+ */
265
+ code: 'ACCESS_DENIED' | 'INSUFFICIENT_PERMISSIONS';
266
+ /**
267
+ * A short, human-readable summary of the problem
268
+ */
269
+ title: string;
270
+ /**
271
+ * A human-readable explanation specific to this occurrence
272
+ */
273
+ detail: string;
274
+ /**
275
+ * A URI reference that identifies the problem type (e.g., GitHub issues link)
276
+ */
277
+ type?: string;
278
+ /**
279
+ * A URI reference that identifies the specific occurrence (e.g., trace ID)
280
+ */
281
+ instance?: string;
282
+ /**
283
+ * The HTTP status code
284
+ */
285
+ status: 403;
286
+ /**
287
+ * Optional map of field names to their error messages (for validation errors)
288
+ */
289
+ errors?: {
290
+ [key: string]: string;
291
+ };
292
+ };
293
+ /**
294
+ * Too Many Requests error response
295
+ */
296
+ export type Error429 = {
297
+ /**
298
+ * Specific error code for programmatic handling
299
+ */
300
+ code: 'RATE_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED';
301
+ /**
302
+ * A short, human-readable summary of the problem
303
+ */
304
+ title: string;
305
+ /**
306
+ * A human-readable explanation specific to this occurrence
307
+ */
308
+ detail: string;
309
+ /**
310
+ * A URI reference that identifies the problem type (e.g., GitHub issues link)
311
+ */
312
+ type?: string;
313
+ /**
314
+ * A URI reference that identifies the specific occurrence (e.g., trace ID)
315
+ */
316
+ instance?: string;
317
+ /**
318
+ * The HTTP status code
319
+ */
320
+ status: 429;
321
+ /**
322
+ * Optional map of field names to their error messages (for validation errors)
323
+ */
324
+ errors?: {
325
+ [key: string]: string;
326
+ };
327
+ };
328
+ /**
329
+ * Internal Server Error response
330
+ */
331
+ export type Error500 = {
332
+ /**
333
+ * Specific error code for programmatic handling
334
+ */
335
+ code: 'INTERNAL_SERVER_EXCEPTION';
336
+ /**
337
+ * A short, human-readable summary of the problem
338
+ */
339
+ title: string;
340
+ /**
341
+ * A human-readable explanation specific to this occurrence
342
+ */
343
+ detail: string;
344
+ /**
345
+ * A URI reference that identifies the problem type (e.g., GitHub issues link)
346
+ */
347
+ type?: string;
348
+ /**
349
+ * A URI reference that identifies the specific occurrence (e.g., trace ID)
350
+ */
351
+ instance?: string;
352
+ /**
353
+ * The HTTP status code
354
+ */
355
+ status: 500;
251
356
  /**
252
357
  * Optional map of field names to their error messages (for validation errors)
253
358
  */
@@ -331,6 +436,41 @@ export type SearchResponse = {
331
436
  */
332
437
  cursor?: Array<number>;
333
438
  };
439
+ /**
440
+ * Bad Request error response
441
+ */
442
+ export type Error400 = {
443
+ /**
444
+ * Specific error code for programmatic handling
445
+ */
446
+ code: 'VALIDATION_FAILED' | 'INVALID_JSON' | 'INVALID_REQUEST';
447
+ /**
448
+ * A short, human-readable summary of the problem
449
+ */
450
+ title: string;
451
+ /**
452
+ * A human-readable explanation specific to this occurrence
453
+ */
454
+ detail: string;
455
+ /**
456
+ * A URI reference that identifies the problem type (e.g., GitHub issues link)
457
+ */
458
+ type?: string;
459
+ /**
460
+ * A URI reference that identifies the specific occurrence (e.g., trace ID)
461
+ */
462
+ instance?: string;
463
+ /**
464
+ * The HTTP status code
465
+ */
466
+ status: 400;
467
+ /**
468
+ * Optional map of field names to their error messages (for validation errors)
469
+ */
470
+ errors?: {
471
+ [key: string]: string;
472
+ };
473
+ };
334
474
  export type SearchStatsRequest = {
335
475
  /**
336
476
  * Text or sentence to search
@@ -470,141 +610,22 @@ export type WordMatch = {
470
610
  export type SearchMultipleResponse = {
471
611
  results?: Array<WordMatch>;
472
612
  };
473
- export type SegmentContextRequest = {
474
- /**
475
- * Media ID
476
- */
477
- mediaId: number;
478
- /**
479
- * Episode number
480
- */
481
- episodeNumber: number;
482
- /**
483
- * Segment position in the episode
484
- */
485
- segmentPosition: number;
486
- /**
487
- * Number of surrounding segments to retrieve
488
- */
489
- limit?: number;
490
- };
491
- export type SegmentContextResponse = {
492
- segments: Array<SearchResult>;
493
- };
494
613
  /**
495
- * Statistics about media and segments for browse view
614
+ * Map of external IDs keyed by source. Only sources with values are included.
496
615
  */
497
- export type MediaBrowseStats = {
498
- /**
499
- * Number of media entries matching current search/filter
500
- */
501
- filteredMediaCount?: number;
502
- /**
503
- * Number of segments in the filtered media
504
- */
505
- filteredSegmentCount?: number;
616
+ export type ExternalId = {
506
617
  /**
507
- * Total number of media entries in the entire database
618
+ * AniList ID
508
619
  */
509
- totalMediaCount?: number;
620
+ anilist?: string;
510
621
  /**
511
- * Total number of segments in the entire database
512
- */
513
- totalSegmentCount?: number;
514
- };
515
- /**
516
- * Summary information about a media entry for browse/list views
517
- */
518
- export type MediaSummary = {
519
- /**
520
- * Unique identifier for the media
622
+ * IMDB ID
521
623
  */
522
- id: number;
523
- /**
524
- * AniList database ID for the media
525
- */
526
- anilistId?: number;
527
- /**
528
- * TMDB (The Movie Database) ID for the media
529
- */
530
- tmdbId?: number;
531
- category?: Category;
532
- /**
533
- * Timestamp when the media entry was created in the database
534
- */
535
- createdAt?: string;
536
- /**
537
- * Timestamp when the media entry was last updated
538
- */
539
- updatedAt?: number;
540
- /**
541
- * Romaji transliteration of the media name
542
- */
543
- nameRomaji?: string;
544
- /**
545
- * English name of the media
546
- */
547
- nameEn?: string;
548
- /**
549
- * Original Japanese name of the media
550
- */
551
- nameJa?: string;
552
- /**
553
- * Format of the media release (e.g., TV, OVA, Movie)
554
- */
555
- airingFormat?: string;
556
- /**
557
- * Current airing status (FINISHED, RELEASING)
558
- */
559
- airingStatus?: string;
560
- /**
561
- * Start date of the media (YYYY-MM-DD)
562
- */
563
- startDate?: string;
564
- /**
565
- * End date of the media (null if unknown) (YYYY-MM-DD)
566
- */
567
- endDate?: string;
568
- /**
569
- * Folder name used for storing media files
570
- */
571
- folderMediaName?: string;
572
- /**
573
- * List of genres associated with the media
574
- */
575
- genres?: Array<string>;
576
- /**
577
- * URL to the cover image
578
- */
579
- coverUrl?: string;
580
- /**
581
- * URL to the banner image
582
- */
583
- bannerUrl?: string;
584
- /**
585
- * Version identifier for the media entry
586
- */
587
- version?: string;
588
- /**
589
- * Total number of subtitle segments available
590
- */
591
- segmentCount?: number;
592
- /**
593
- * Total number of episodes available
594
- */
595
- episodeCount?: number;
596
- };
597
- export type MediaBrowseResponse = {
598
- stats?: MediaBrowseStats;
599
- results?: Array<MediaSummary>;
600
- /**
601
- * Next cursor for pagination
602
- */
603
- cursor?: number;
624
+ imdb?: string;
604
625
  /**
605
- * Whether more results are available
626
+ * TVDB ID
606
627
  */
607
- hasMore?: boolean;
628
+ tvdb?: string;
608
629
  };
609
630
  /**
610
631
  * Japanese voice actor (seiyuu)
@@ -692,10 +713,7 @@ export type Media = {
692
713
  * Unique identifier for the media
693
714
  */
694
715
  id: number;
695
- /**
696
- * AniList database ID for the media
697
- */
698
- anilistId: number;
716
+ externalIds?: ExternalId;
699
717
  /**
700
718
  * Original Japanese name of the media
701
719
  */
@@ -761,6 +779,10 @@ export type Media = {
761
779
  * Airing year for the media
762
780
  */
763
781
  seasonYear: number;
782
+ /**
783
+ * Base path for R2/CDN storage (e.g. "media/21459")
784
+ */
785
+ storageBasePath?: string;
764
786
  /**
765
787
  * Characters appearing in the media with their voice actors
766
788
  */
@@ -851,10 +873,7 @@ export type ListInput = {
851
873
  * Request body for creating a new media entry
852
874
  */
853
875
  export type MediaCreateRequest = {
854
- /**
855
- * AniList database ID for the media
856
- */
857
- anilistId: number;
876
+ externalIds?: ExternalId;
858
877
  /**
859
878
  * Original Japanese name of the media
860
879
  */
@@ -915,6 +934,10 @@ export type MediaCreateRequest = {
915
934
  * Airing year for the media
916
935
  */
917
936
  seasonYear: number;
937
+ /**
938
+ * Base path for R2/CDN storage (e.g. "media/21459")
939
+ */
940
+ storageBasePath?: string;
918
941
  /**
919
942
  * List of characters appearing in the media with their voice actors
920
943
  */
@@ -925,13 +948,80 @@ export type MediaCreateRequest = {
925
948
  lists?: Array<ListInput>;
926
949
  };
927
950
  /**
928
- * Request body for updating an existing media entry (all fields optional)
951
+ * Conflict error response
929
952
  */
930
- export type MediaUpdateRequest = {
953
+ export type Error409 = {
954
+ /**
955
+ * Specific error code for programmatic handling
956
+ */
957
+ code: 'ACCOUNT_CONFLICT' | 'DUPLICATE_KEY';
958
+ /**
959
+ * A short, human-readable summary of the problem
960
+ */
961
+ title: string;
962
+ /**
963
+ * A human-readable explanation specific to this occurrence
964
+ */
965
+ detail: string;
966
+ /**
967
+ * A URI reference that identifies the problem type (e.g., GitHub issues link)
968
+ */
969
+ type?: string;
970
+ /**
971
+ * A URI reference that identifies the specific occurrence (e.g., trace ID)
972
+ */
973
+ instance?: string;
974
+ /**
975
+ * The HTTP status code
976
+ */
977
+ status: 409;
978
+ /**
979
+ * Optional map of field names to their error messages (for validation errors)
980
+ */
981
+ errors?: {
982
+ [key: string]: string;
983
+ };
984
+ };
985
+ /**
986
+ * Not Found error response
987
+ */
988
+ export type Error404 = {
989
+ /**
990
+ * Specific error code for programmatic handling
991
+ */
992
+ code: 'NOT_FOUND';
993
+ /**
994
+ * A short, human-readable summary of the problem
995
+ */
996
+ title: string;
997
+ /**
998
+ * A human-readable explanation specific to this occurrence
999
+ */
1000
+ detail: string;
931
1001
  /**
932
- * AniList database ID for the media
1002
+ * A URI reference that identifies the problem type (e.g., GitHub issues link)
1003
+ */
1004
+ type?: string;
1005
+ /**
1006
+ * A URI reference that identifies the specific occurrence (e.g., trace ID)
1007
+ */
1008
+ instance?: string;
1009
+ /**
1010
+ * The HTTP status code
933
1011
  */
934
- anilistId?: number;
1012
+ status: 404;
1013
+ /**
1014
+ * Optional map of field names to their error messages (for validation errors)
1015
+ */
1016
+ errors?: {
1017
+ [key: string]: string;
1018
+ };
1019
+ };
1020
+ /**
1021
+ * Request body for updating an existing media entry (all fields optional)
1022
+ */
1023
+ export type MediaUpdateRequest = {
1024
+ externalIds?: ExternalId;
935
1025
  /**
936
1026
  * Original Japanese name of the media
937
1027
  */
@@ -992,6 +1082,10 @@ export type MediaUpdateRequest = {
992
1082
  * Airing year for the media
993
1083
  */
994
1084
  seasonYear?: number;
1085
+ /**
1086
+ * Base path for R2/CDN storage (e.g. "media/21459")
1087
+ */
1088
+ storageBasePath?: string;
995
1089
  /**
996
1090
  * List of characters appearing in the media with their voice actors
997
1091
  */
@@ -1014,10 +1108,6 @@ export type Episode = {
1014
1108
  * Episode number within the media
1015
1109
  */
1016
1110
  episodeNumber: number;
1017
- /**
1018
- * AniList episode ID for external reference
1019
- */
1020
- anilistEpisodeId?: number;
1021
1111
  /**
1022
1112
  * English title of the episode
1023
1113
  */
@@ -1066,10 +1156,6 @@ export type EpisodeListResponse = {
1066
1156
  hasMore: boolean;
1067
1157
  };
1068
1158
  export type EpisodeCreateRequest = {
1069
- /**
1070
- * AniList episode ID for external reference
1071
- */
1072
- anilistEpisodeId?: number;
1073
1159
  /**
1074
1160
  * English title of the episode
1075
1161
  */
@@ -1107,10 +1193,6 @@ export type EpisodeCreateRequest = {
1107
1193
  * All fields are optional for partial updates
1108
1194
  */
1109
1195
  export type EpisodeUpdateRequest = {
1110
- /**
1111
- * AniList episode ID for external reference
1112
- */
1113
- anilistEpisodeId?: number;
1114
1196
  /**
1115
1197
  * English title of the episode
1116
1198
  */
@@ -1191,9 +1273,9 @@ export type Segment = {
1191
1273
  * Timestamp in H:MM:SS.ffffff format indicating when the segment ends
1192
1274
  */
1193
1275
  endTime: string;
1194
- ja: JapaneseContent;
1195
- en: TranslationContent;
1196
- es: TranslationContent;
1276
+ textJa: JapaneseContent;
1277
+ textEn: TranslationContent;
1278
+ textEs: TranslationContent;
1197
1279
  /**
1198
1280
  * Whether the segment contains NSFW content
1199
1281
  */
@@ -1262,13 +1344,13 @@ export type SegmentCreateRequest = {
1262
1344
  * Timestamp in H:MM:SS.ffffff format indicating when the segment ends
1263
1345
  */
1264
1346
  endTime: string;
1265
- ja: {
1347
+ textJa: {
1266
1348
  /**
1267
1349
  * Original Japanese content of the segment
1268
1350
  */
1269
1351
  content?: string;
1270
1352
  };
1271
- es?: {
1353
+ textEs?: {
1272
1354
  /**
1273
1355
  * Spanish translation of the segment content
1274
1356
  */
@@ -1278,7 +1360,7 @@ export type SegmentCreateRequest = {
1278
1360
  */
1279
1361
  isMachineTranslated?: boolean;
1280
1362
  };
1281
- en?: {
1363
+ textEn?: {
1282
1364
  /**
1283
1365
  * English translation of the segment content
1284
1366
  */
@@ -1321,13 +1403,13 @@ export type SegmentUpdateRequest = {
1321
1403
  * Timestamp in H:MM:SS.ffffff format indicating when the segment ends
1322
1404
  */
1323
1405
  endTime?: string;
1324
- ja?: {
1406
+ textJa?: {
1325
1407
  /**
1326
1408
  * Original Japanese content of the segment
1327
1409
  */
1328
1410
  content?: string;
1329
1411
  };
1330
- es?: {
1412
+ textEs?: {
1331
1413
  /**
1332
1414
  * Spanish translation of the segment content
1333
1415
  */
@@ -1337,7 +1419,7 @@ export type SegmentUpdateRequest = {
1337
1419
  */
1338
1420
  isMachineTranslated?: boolean;
1339
1421
  };
1340
- en?: {
1422
+ textEn?: {
1341
1423
  /**
1342
1424
  * English translation of the segment content
1343
1425
  */
@@ -1360,6 +1442,9 @@ export type SegmentUpdateRequest = {
1360
1442
  */
1361
1443
  hashedId?: string;
1362
1444
  };
1445
+ export type SegmentContextResponse = {
1446
+ segments: Array<SearchResult>;
1447
+ };
1363
1448
  /**
1364
1449
  * Character with all media appearances
1365
1450
  */
@@ -1456,41 +1541,55 @@ export type Report = {
1456
1541
  */
1457
1542
  id: number;
1458
1543
  /**
1459
- * Type of the reported entity
1544
+ * Who created this report
1545
+ */
1546
+ source: 'USER' | 'AUTO';
1547
+ /**
1548
+ * What level the report targets
1549
+ */
1550
+ targetType: 'SEGMENT' | 'EPISODE' | 'MEDIA';
1551
+ /**
1552
+ * Media ID this report targets
1553
+ */
1554
+ targetMediaId: number;
1555
+ /**
1556
+ * Episode number (for EPISODE/SEGMENT targets)
1460
1557
  */
1461
- reportType: 'SEGMENT' | 'MEDIA';
1558
+ targetEpisodeNumber?: number;
1462
1559
  /**
1463
- * ID of the reported entity (segment UUID or media ID)
1560
+ * Segment UUID (for SEGMENT targets)
1464
1561
  */
1465
- targetId: string;
1562
+ targetSegmentUuid?: string;
1563
+ /**
1564
+ * ID of the auto-check run that created this report (AUTO only)
1565
+ */
1566
+ reviewCheckRunId?: number;
1466
1567
  /**
1467
1568
  * Reason for the report
1468
1569
  */
1469
- reason: 'WRONG_TRANSLATION' | 'WRONG_TIMING' | 'WRONG_AUDIO' | 'NSFW_NOT_TAGGED' | 'DUPLICATE_SEGMENT' | 'WRONG_METADATA' | 'MISSING_EPISODES' | 'WRONG_COVER_IMAGE' | 'INAPPROPRIATE_CONTENT' | 'OTHER';
1570
+ reason: 'WRONG_TRANSLATION' | 'WRONG_TIMING' | 'WRONG_AUDIO' | 'NSFW_NOT_TAGGED' | 'DUPLICATE_SEGMENT' | 'WRONG_METADATA' | 'MISSING_EPISODES' | 'WRONG_COVER_IMAGE' | 'INAPPROPRIATE_CONTENT' | 'OTHER' | 'LOW_SEGMENT_MEDIA' | 'EMPTY_EPISODES' | 'MISSING_EPISODES_AUTO' | 'BAD_SEGMENT_RATIO' | 'MEDIA_WITH_NO_EPISODES' | 'MISSING_TRANSLATIONS' | 'DB_ES_SYNC_ISSUES' | 'HIGH_REPORT_DENSITY';
1470
1571
  /**
1471
1572
  * Optional description with additional details
1472
1573
  */
1473
1574
  description?: string;
1575
+ /**
1576
+ * Check-specific metrics (AUTO reports) or null (USER reports)
1577
+ */
1578
+ data?: {
1579
+ [key: string]: unknown;
1580
+ };
1474
1581
  /**
1475
1582
  * Current status of the report
1476
1583
  */
1477
- status: 'PENDING' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED';
1584
+ status: 'PENDING' | 'CONCERN' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED' | 'IGNORED';
1478
1585
  /**
1479
1586
  * Notes from the admin who reviewed the report
1480
1587
  */
1481
1588
  adminNotes?: string;
1482
1589
  /**
1483
- * When the report was resolved
1484
- */
1485
- resolvedAt?: string;
1486
- /**
1487
- * ID of the user who submitted the report
1488
- */
1489
- userId: number;
1490
- /**
1491
- * ID of the admin who resolved the report
1590
+ * ID of the user who submitted the report (USER reports only)
1492
1591
  */
1493
- resolvedById?: number;
1592
+ userId?: number;
1494
1593
  /**
1495
1594
  * When the report was created
1496
1595
  */
@@ -1515,11 +1614,15 @@ export type CreateReportRequest = {
1515
1614
  /**
1516
1615
  * Type of the entity being reported
1517
1616
  */
1518
- reportType: 'SEGMENT' | 'MEDIA';
1617
+ targetType: 'SEGMENT' | 'MEDIA';
1618
+ /**
1619
+ * Media ID of the reported entity
1620
+ */
1621
+ targetMediaId: number;
1519
1622
  /**
1520
- * ID of the entity being reported (segment UUID or media ID as string)
1623
+ * Segment UUID (required when targetType is SEGMENT)
1521
1624
  */
1522
- targetId: string;
1625
+ targetSegmentUuid?: string;
1523
1626
  /**
1524
1627
  * Reason for the report
1525
1628
  */
@@ -1529,6 +1632,54 @@ export type CreateReportRequest = {
1529
1632
  */
1530
1633
  description?: string;
1531
1634
  };
1635
+ export type UserPreferences = {
1636
+ /**
1637
+ * Lab feature opt-in flags keyed by feature key
1638
+ */
1639
+ labs?: {
1640
+ [key: string]: boolean;
1641
+ };
1642
+ /**
1643
+ * Preferred language for media names display
1644
+ */
1645
+ mediaNameLanguage?: 'english' | 'japanese' | 'romaji';
1646
+ searchHistory?: {
1647
+ /**
1648
+ * Whether activity tracking is enabled (default true)
1649
+ */
1650
+ enabled?: boolean;
1651
+ };
1652
+ };
1653
+ /**
1654
+ * Type of user activity
1655
+ */
1656
+ export type ActivityType = 'SEARCH' | 'ANKI_EXPORT' | 'SEGMENT_PLAY' | 'LIST_ADD_SEGMENT';
1657
+ export type UserActivity = {
1658
+ id: number;
1659
+ activityType: ActivityType;
1660
+ segmentUuid?: string;
1661
+ mediaId?: number;
1662
+ searchQuery?: string;
1663
+ createdAt: string;
1664
+ };
1665
+ export type LabFeature = {
1666
+ /**
1667
+ * Unique identifier for the lab feature
1668
+ */
1669
+ key: string;
1670
+ /**
1671
+ * Human-readable feature name
1672
+ */
1673
+ name: string;
1674
+ /**
1675
+ * Description of what the feature does
1676
+ */
1677
+ description: string;
1678
+ /**
1679
+ * Whether the feature is globally available
1680
+ */
1681
+ enabled: boolean;
1682
+ };
1532
1683
  /**
1533
1684
  * Request body for creating a new standalone list
1534
1685
  */
@@ -1700,32 +1851,167 @@ export type AdminReport = Report & {
1700
1851
  /**
1701
1852
  * Number of reports for the same target
1702
1853
  */
1703
- reportCount: number;
1854
+ reportCount: number;
1855
+ /**
1856
+ * Name of the user who submitted this report
1857
+ */
1858
+ reporterName: string;
1859
+ };
1860
+ export type AdminReportListResponse = {
1861
+ data: Array<AdminReport>;
1862
+ /**
1863
+ * Whether more results are available
1864
+ */
1865
+ hasMore: boolean;
1866
+ /**
1867
+ * Cursor for next page
1868
+ */
1869
+ cursor?: number;
1870
+ };
1871
+ export type UpdateReportRequest = {
1872
+ /**
1873
+ * New status for the report
1874
+ */
1875
+ status?: 'PENDING' | 'CONCERN' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED' | 'IGNORED';
1876
+ /**
1877
+ * Admin notes about the report
1878
+ */
1879
+ adminNotes?: string;
1880
+ };
1881
+ export type RunReviewResponse = {
1882
+ /**
1883
+ * Category filter used
1884
+ */
1885
+ category: string;
1886
+ checksRun: Array<{
1887
+ /**
1888
+ * Check identifier
1889
+ */
1890
+ checkName: string;
1891
+ /**
1892
+ * Human-readable check name
1893
+ */
1894
+ label: string;
1895
+ /**
1896
+ * Number of reports created
1897
+ */
1898
+ resultCount: number;
1899
+ /**
1900
+ * ID of the created run record
1901
+ */
1902
+ runId: number;
1903
+ }>;
1904
+ /**
1905
+ * Total reports created across all checks
1906
+ */
1907
+ totalReports: number;
1908
+ };
1909
+ export type ReviewCheck = {
1910
+ /**
1911
+ * Check ID
1912
+ */
1913
+ id: number;
1914
+ /**
1915
+ * Unique check identifier
1916
+ */
1917
+ name: string;
1918
+ /**
1919
+ * Human-readable label
1920
+ */
1921
+ label: string;
1922
+ /**
1923
+ * What this check does
1924
+ */
1925
+ description: string;
1926
+ /**
1927
+ * What level this check operates on
1928
+ */
1929
+ targetType: 'MEDIA' | 'EPISODE';
1930
+ /**
1931
+ * Current threshold configuration
1932
+ */
1933
+ threshold: {
1934
+ [key: string]: unknown;
1935
+ };
1936
+ /**
1937
+ * Whether this check is active
1938
+ */
1939
+ enabled: boolean;
1940
+ /**
1941
+ * Schema for threshold fields (from registry)
1942
+ */
1943
+ thresholdSchema?: Array<{
1944
+ key?: string;
1945
+ label?: string;
1946
+ type?: 'number' | 'boolean';
1947
+ default?: number | boolean;
1948
+ min?: number;
1949
+ max?: number;
1950
+ }>;
1951
+ /**
1952
+ * Latest run info for this check
1953
+ */
1954
+ latestRun?: {
1955
+ id?: number;
1956
+ resultCount?: number;
1957
+ createdAt?: string;
1958
+ };
1959
+ createdAt?: string;
1960
+ updatedAt?: string;
1961
+ };
1962
+ export type ReviewCheckRun = {
1963
+ /**
1964
+ * Run ID
1965
+ */
1966
+ id: number;
1967
+ /**
1968
+ * Name of the check that was run
1969
+ */
1970
+ checkName: string;
1971
+ /**
1972
+ * Category filter used (ANIME/JDRAMA) or null for all
1973
+ */
1974
+ category?: string;
1975
+ /**
1976
+ * Number of reports created in this run
1977
+ */
1978
+ resultCount: number;
1979
+ /**
1980
+ * Snapshot of threshold at run time
1981
+ */
1982
+ thresholdUsed: {
1983
+ [key: string]: unknown;
1984
+ };
1985
+ /**
1986
+ * When this run was executed
1987
+ */
1988
+ createdAt: string;
1989
+ };
1990
+ export type ReviewAllowlist = {
1991
+ /**
1992
+ * Allowlist entry ID
1993
+ */
1994
+ id: number;
1704
1995
  /**
1705
- * Name of the user who submitted this report
1996
+ * Name of the check this entry applies to
1706
1997
  */
1707
- reporterName: string;
1708
- };
1709
- export type AdminReportListResponse = {
1710
- data: Array<AdminReport>;
1998
+ checkName: string;
1711
1999
  /**
1712
- * Whether more results are available
2000
+ * Media ID to exclude
1713
2001
  */
1714
- hasMore: boolean;
2002
+ mediaId: number;
1715
2003
  /**
1716
- * Cursor for next page
2004
+ * Episode number to exclude (null for media-level checks)
1717
2005
  */
1718
- cursor?: number;
1719
- };
1720
- export type UpdateReportRequest = {
2006
+ episodeNumber?: number;
1721
2007
  /**
1722
- * New status for the report
2008
+ * Why this was allowlisted
1723
2009
  */
1724
- status?: 'PENDING' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED';
2010
+ reason?: string;
1725
2011
  /**
1726
- * Admin notes about the report
2012
+ * When this entry was created
1727
2013
  */
1728
- adminNotes?: string;
2014
+ createdAt: string;
1729
2015
  };
1730
2016
  export type HealthCheckData = {
1731
2017
  body?: never;
@@ -1737,19 +2023,19 @@ export type HealthCheckErrors = {
1737
2023
  /**
1738
2024
  * Unauthorized
1739
2025
  */
1740
- 401: Error;
2026
+ 401: Error401;
1741
2027
  /**
1742
2028
  * Forbidden
1743
2029
  */
1744
- 403: Error;
2030
+ 403: Error403;
1745
2031
  /**
1746
2032
  * Too Many Requests
1747
2033
  */
1748
- 429: Error;
2034
+ 429: Error429;
1749
2035
  /**
1750
2036
  * Internal Server Error
1751
2037
  */
1752
- 500: Error;
2038
+ 500: Error500;
1753
2039
  };
1754
2040
  export type HealthCheckError = HealthCheckErrors[keyof HealthCheckErrors];
1755
2041
  export type HealthCheckResponses = {
@@ -1759,78 +2045,78 @@ export type HealthCheckResponses = {
1759
2045
  200: SearchHealthCheckResponse;
1760
2046
  };
1761
2047
  export type HealthCheckResponse = HealthCheckResponses[keyof HealthCheckResponses];
1762
- export type SearchSegmentsData = {
2048
+ export type SearchIndexData = {
1763
2049
  body?: SearchRequest;
1764
2050
  path?: never;
1765
2051
  query?: never;
1766
- url: '/v1/search/segments';
2052
+ url: '/v1/search';
1767
2053
  };
1768
- export type SearchSegmentsErrors = {
2054
+ export type SearchIndexErrors = {
1769
2055
  /**
1770
2056
  * Bad Request
1771
2057
  */
1772
- 400: Error;
2058
+ 400: Error400;
1773
2059
  /**
1774
2060
  * Unauthorized
1775
2061
  */
1776
- 401: Error;
2062
+ 401: Error401;
1777
2063
  /**
1778
2064
  * Forbidden
1779
2065
  */
1780
- 403: Error;
2066
+ 403: Error403;
1781
2067
  /**
1782
2068
  * Too Many Requests
1783
2069
  */
1784
- 429: Error;
2070
+ 429: Error429;
1785
2071
  /**
1786
2072
  * Internal Server Error
1787
2073
  */
1788
- 500: Error;
2074
+ 500: Error500;
1789
2075
  };
1790
- export type SearchSegmentsError = SearchSegmentsErrors[keyof SearchSegmentsErrors];
1791
- export type SearchSegmentsResponses = {
2076
+ export type SearchIndexError = SearchIndexErrors[keyof SearchIndexErrors];
2077
+ export type SearchIndexResponses = {
1792
2078
  /**
1793
2079
  * OK
1794
2080
  */
1795
2081
  200: SearchResponse;
1796
2082
  };
1797
- export type SearchSegmentsResponse = SearchSegmentsResponses[keyof SearchSegmentsResponses];
1798
- export type GetSearchStatsData = {
2083
+ export type SearchIndexResponse = SearchIndexResponses[keyof SearchIndexResponses];
2084
+ export type SearchStatsData = {
1799
2085
  body?: SearchStatsRequest;
1800
2086
  path?: never;
1801
2087
  query?: never;
1802
2088
  url: '/v1/search/stats';
1803
2089
  };
1804
- export type GetSearchStatsErrors = {
2090
+ export type SearchStatsErrors = {
1805
2091
  /**
1806
2092
  * Bad Request
1807
2093
  */
1808
- 400: Error;
2094
+ 400: Error400;
1809
2095
  /**
1810
2096
  * Unauthorized
1811
2097
  */
1812
- 401: Error;
2098
+ 401: Error401;
1813
2099
  /**
1814
2100
  * Forbidden
1815
2101
  */
1816
- 403: Error;
2102
+ 403: Error403;
1817
2103
  /**
1818
2104
  * Too Many Requests
1819
2105
  */
1820
- 429: Error;
2106
+ 429: Error429;
1821
2107
  /**
1822
2108
  * Internal Server Error
1823
2109
  */
1824
- 500: Error;
2110
+ 500: Error500;
1825
2111
  };
1826
- export type GetSearchStatsError = GetSearchStatsErrors[keyof GetSearchStatsErrors];
1827
- export type GetSearchStatsResponses = {
2112
+ export type SearchStatsError = SearchStatsErrors[keyof SearchStatsErrors];
2113
+ export type SearchStatsResponses = {
1828
2114
  /**
1829
2115
  * OK
1830
2116
  */
1831
2117
  200: SearchStatsResponse;
1832
2118
  };
1833
- export type GetSearchStatsResponse = GetSearchStatsResponses[keyof GetSearchStatsResponses];
2119
+ export type SearchStatsResponse2 = SearchStatsResponses[keyof SearchStatsResponses];
1834
2120
  export type SearchWordsData = {
1835
2121
  body: SearchMultipleRequest;
1836
2122
  path?: never;
@@ -1841,23 +2127,23 @@ export type SearchWordsErrors = {
1841
2127
  /**
1842
2128
  * Bad Request
1843
2129
  */
1844
- 400: Error;
2130
+ 400: Error400;
1845
2131
  /**
1846
2132
  * Unauthorized
1847
2133
  */
1848
- 401: Error;
2134
+ 401: Error401;
1849
2135
  /**
1850
2136
  * Forbidden
1851
2137
  */
1852
- 403: Error;
2138
+ 403: Error403;
1853
2139
  /**
1854
2140
  * Too Many Requests
1855
2141
  */
1856
- 429: Error;
2142
+ 429: Error429;
1857
2143
  /**
1858
2144
  * Internal Server Error
1859
2145
  */
1860
- 500: Error;
2146
+ 500: Error500;
1861
2147
  };
1862
2148
  export type SearchWordsError = SearchWordsErrors[keyof SearchWordsErrors];
1863
2149
  export type SearchWordsResponses = {
@@ -1867,95 +2153,6 @@ export type SearchWordsResponses = {
1867
2153
  200: SearchMultipleResponse;
1868
2154
  };
1869
2155
  export type SearchWordsResponse = SearchWordsResponses[keyof SearchWordsResponses];
1870
- export type GetSegmentContextData = {
1871
- body: SegmentContextRequest;
1872
- path?: never;
1873
- query?: never;
1874
- url: '/v1/search/context';
1875
- };
1876
- export type GetSegmentContextErrors = {
1877
- /**
1878
- * Bad Request
1879
- */
1880
- 400: Error;
1881
- /**
1882
- * Unauthorized
1883
- */
1884
- 401: Error;
1885
- /**
1886
- * Forbidden
1887
- */
1888
- 403: Error;
1889
- /**
1890
- * Not Found
1891
- */
1892
- 404: Error;
1893
- /**
1894
- * Too Many Requests
1895
- */
1896
- 429: Error;
1897
- /**
1898
- * Internal Server Error
1899
- */
1900
- 500: Error;
1901
- };
1902
- export type GetSegmentContextError = GetSegmentContextErrors[keyof GetSegmentContextErrors];
1903
- export type GetSegmentContextResponses = {
1904
- /**
1905
- * OK
1906
- */
1907
- 200: SegmentContextResponse;
1908
- };
1909
- export type GetSegmentContextResponse = GetSegmentContextResponses[keyof GetSegmentContextResponses];
1910
- export type BrowseMediaData = {
1911
- body?: never;
1912
- path?: never;
1913
- query?: {
1914
- /**
1915
- * Number of results per page
1916
- */
1917
- size?: number;
1918
- /**
1919
- * Pagination cursor offset
1920
- */
1921
- cursor?: number;
1922
- /**
1923
- * Search query for filtering media
1924
- */
1925
- query?: string;
1926
- /**
1927
- * Filter by media category
1928
- */
1929
- type?: 'anime' | 'liveaction' | 'audiobook';
1930
- };
1931
- url: '/v1/media/browse';
1932
- };
1933
- export type BrowseMediaErrors = {
1934
- /**
1935
- * Unauthorized
1936
- */
1937
- 401: Error;
1938
- /**
1939
- * Forbidden
1940
- */
1941
- 403: Error;
1942
- /**
1943
- * Too Many Requests
1944
- */
1945
- 429: Error;
1946
- /**
1947
- * Internal Server Error
1948
- */
1949
- 500: Error;
1950
- };
1951
- export type BrowseMediaError = BrowseMediaErrors[keyof BrowseMediaErrors];
1952
- export type BrowseMediaResponses = {
1953
- /**
1954
- * OK
1955
- */
1956
- 200: MediaBrowseResponse;
1957
- };
1958
- export type BrowseMediaResponse = BrowseMediaResponses[keyof BrowseMediaResponses];
1959
2156
  export type MediaIndexData = {
1960
2157
  body?: never;
1961
2158
  path?: never;
@@ -1972,6 +2169,10 @@ export type MediaIndexData = {
1972
2169
  * Filter by media category
1973
2170
  */
1974
2171
  category?: 'ANIME' | 'JDRAMA';
2172
+ /**
2173
+ * Search query for filtering media by name
2174
+ */
2175
+ query?: string;
1975
2176
  };
1976
2177
  url: '/v1/media';
1977
2178
  };
@@ -1979,23 +2180,23 @@ export type MediaIndexErrors = {
1979
2180
  /**
1980
2181
  * Bad Request
1981
2182
  */
1982
- 400: Error;
2183
+ 400: Error400;
1983
2184
  /**
1984
2185
  * Unauthorized
1985
2186
  */
1986
- 401: Error;
2187
+ 401: Error401;
1987
2188
  /**
1988
2189
  * Forbidden
1989
2190
  */
1990
- 403: Error;
2191
+ 403: Error403;
1991
2192
  /**
1992
2193
  * Too Many Requests
1993
2194
  */
1994
- 429: Error;
2195
+ 429: Error429;
1995
2196
  /**
1996
2197
  * Internal Server Error
1997
2198
  */
1998
- 500: Error;
2199
+ 500: Error500;
1999
2200
  };
2000
2201
  export type MediaIndexError = MediaIndexErrors[keyof MediaIndexErrors];
2001
2202
  export type MediaIndexResponses = {
@@ -2015,27 +2216,27 @@ export type MediaCreateErrors = {
2015
2216
  /**
2016
2217
  * Bad Request
2017
2218
  */
2018
- 400: Error;
2219
+ 400: Error400;
2019
2220
  /**
2020
2221
  * Unauthorized
2021
2222
  */
2022
- 401: Error;
2223
+ 401: Error401;
2023
2224
  /**
2024
2225
  * Forbidden
2025
2226
  */
2026
- 403: Error;
2227
+ 403: Error403;
2027
2228
  /**
2028
2229
  * Conflict
2029
2230
  */
2030
- 409: Error;
2231
+ 409: Error409;
2031
2232
  /**
2032
2233
  * Too Many Requests
2033
2234
  */
2034
- 429: Error;
2235
+ 429: Error429;
2035
2236
  /**
2036
2237
  * Internal Server Error
2037
2238
  */
2038
- 500: Error;
2239
+ 500: Error500;
2039
2240
  };
2040
2241
  export type MediaCreateError = MediaCreateErrors[keyof MediaCreateErrors];
2041
2242
  export type MediaCreateResponses = {
@@ -2060,27 +2261,27 @@ export type MediaDestroyErrors = {
2060
2261
  /**
2061
2262
  * Bad Request
2062
2263
  */
2063
- 400: Error;
2264
+ 400: Error400;
2064
2265
  /**
2065
2266
  * Unauthorized
2066
2267
  */
2067
- 401: Error;
2268
+ 401: Error401;
2068
2269
  /**
2069
2270
  * Forbidden
2070
2271
  */
2071
- 403: Error;
2272
+ 403: Error403;
2072
2273
  /**
2073
2274
  * Not Found
2074
2275
  */
2075
- 404: Error;
2276
+ 404: Error404;
2076
2277
  /**
2077
2278
  * Too Many Requests
2078
2279
  */
2079
- 429: Error;
2280
+ 429: Error429;
2080
2281
  /**
2081
2282
  * Internal Server Error
2082
2283
  */
2083
- 500: Error;
2284
+ 500: Error500;
2084
2285
  };
2085
2286
  export type MediaDestroyError = MediaDestroyErrors[keyof MediaDestroyErrors];
2086
2287
  export type MediaDestroyResponses = {
@@ -2108,27 +2309,27 @@ export type MediaShowErrors = {
2108
2309
  /**
2109
2310
  * Bad Request
2110
2311
  */
2111
- 400: Error;
2312
+ 400: Error400;
2112
2313
  /**
2113
2314
  * Unauthorized
2114
2315
  */
2115
- 401: Error;
2316
+ 401: Error401;
2116
2317
  /**
2117
2318
  * Forbidden
2118
2319
  */
2119
- 403: Error;
2320
+ 403: Error403;
2120
2321
  /**
2121
2322
  * Not Found
2122
2323
  */
2123
- 404: Error;
2324
+ 404: Error404;
2124
2325
  /**
2125
2326
  * Too Many Requests
2126
2327
  */
2127
- 429: Error;
2328
+ 429: Error429;
2128
2329
  /**
2129
2330
  * Internal Server Error
2130
2331
  */
2131
- 500: Error;
2332
+ 500: Error500;
2132
2333
  };
2133
2334
  export type MediaShowError = MediaShowErrors[keyof MediaShowErrors];
2134
2335
  export type MediaShowResponses = {
@@ -2153,27 +2354,27 @@ export type MediaUpdateErrors = {
2153
2354
  /**
2154
2355
  * Bad Request
2155
2356
  */
2156
- 400: Error;
2357
+ 400: Error400;
2157
2358
  /**
2158
2359
  * Unauthorized
2159
2360
  */
2160
- 401: Error;
2361
+ 401: Error401;
2161
2362
  /**
2162
2363
  * Forbidden
2163
2364
  */
2164
- 403: Error;
2365
+ 403: Error403;
2165
2366
  /**
2166
2367
  * Not Found
2167
2368
  */
2168
- 404: Error;
2369
+ 404: Error404;
2169
2370
  /**
2170
2371
  * Too Many Requests
2171
2372
  */
2172
- 429: Error;
2373
+ 429: Error429;
2173
2374
  /**
2174
2375
  * Internal Server Error
2175
2376
  */
2176
- 500: Error;
2377
+ 500: Error500;
2177
2378
  };
2178
2379
  export type MediaUpdateError = MediaUpdateErrors[keyof MediaUpdateErrors];
2179
2380
  export type MediaUpdateResponses = {
@@ -2207,27 +2408,27 @@ export type EpisodeIndexErrors = {
2207
2408
  /**
2208
2409
  * Bad Request
2209
2410
  */
2210
- 400: Error;
2411
+ 400: Error400;
2211
2412
  /**
2212
2413
  * Unauthorized
2213
2414
  */
2214
- 401: Error;
2415
+ 401: Error401;
2215
2416
  /**
2216
2417
  * Forbidden
2217
2418
  */
2218
- 403: Error;
2419
+ 403: Error403;
2219
2420
  /**
2220
2421
  * Not Found
2221
2422
  */
2222
- 404: Error;
2423
+ 404: Error404;
2223
2424
  /**
2224
2425
  * Too Many Requests
2225
2426
  */
2226
- 429: Error;
2427
+ 429: Error429;
2227
2428
  /**
2228
2429
  * Internal Server Error
2229
2430
  */
2230
- 500: Error;
2431
+ 500: Error500;
2231
2432
  };
2232
2433
  export type EpisodeIndexError = EpisodeIndexErrors[keyof EpisodeIndexErrors];
2233
2434
  export type EpisodeIndexResponses = {
@@ -2252,31 +2453,31 @@ export type EpisodeCreateErrors = {
2252
2453
  /**
2253
2454
  * Bad Request
2254
2455
  */
2255
- 400: Error;
2456
+ 400: Error400;
2256
2457
  /**
2257
2458
  * Unauthorized
2258
2459
  */
2259
- 401: Error;
2460
+ 401: Error401;
2260
2461
  /**
2261
2462
  * Forbidden
2262
2463
  */
2263
- 403: Error;
2464
+ 403: Error403;
2264
2465
  /**
2265
2466
  * Not Found
2266
2467
  */
2267
- 404: Error;
2468
+ 404: Error404;
2268
2469
  /**
2269
2470
  * Conflict
2270
2471
  */
2271
- 409: Error;
2472
+ 409: Error409;
2272
2473
  /**
2273
2474
  * Too Many Requests
2274
2475
  */
2275
- 429: Error;
2476
+ 429: Error429;
2276
2477
  /**
2277
2478
  * Internal Server Error
2278
2479
  */
2279
- 500: Error;
2480
+ 500: Error500;
2280
2481
  };
2281
2482
  export type EpisodeCreateError = EpisodeCreateErrors[keyof EpisodeCreateErrors];
2282
2483
  export type EpisodeCreateResponses = {
@@ -2305,27 +2506,27 @@ export type EpisodeDestroyErrors = {
2305
2506
  /**
2306
2507
  * Bad Request
2307
2508
  */
2308
- 400: Error;
2509
+ 400: Error400;
2309
2510
  /**
2310
2511
  * Unauthorized
2311
2512
  */
2312
- 401: Error;
2513
+ 401: Error401;
2313
2514
  /**
2314
2515
  * Forbidden
2315
2516
  */
2316
- 403: Error;
2517
+ 403: Error403;
2317
2518
  /**
2318
2519
  * Not Found
2319
2520
  */
2320
- 404: Error;
2521
+ 404: Error404;
2321
2522
  /**
2322
2523
  * Too Many Requests
2323
2524
  */
2324
- 429: Error;
2525
+ 429: Error429;
2325
2526
  /**
2326
2527
  * Internal Server Error
2327
2528
  */
2328
- 500: Error;
2529
+ 500: Error500;
2329
2530
  };
2330
2531
  export type EpisodeDestroyError = EpisodeDestroyErrors[keyof EpisodeDestroyErrors];
2331
2532
  export type EpisodeDestroyResponses = {
@@ -2354,27 +2555,27 @@ export type EpisodeShowErrors = {
2354
2555
  /**
2355
2556
  * Bad Request
2356
2557
  */
2357
- 400: Error;
2558
+ 400: Error400;
2358
2559
  /**
2359
2560
  * Unauthorized
2360
2561
  */
2361
- 401: Error;
2562
+ 401: Error401;
2362
2563
  /**
2363
2564
  * Forbidden
2364
2565
  */
2365
- 403: Error;
2566
+ 403: Error403;
2366
2567
  /**
2367
2568
  * Not Found
2368
2569
  */
2369
- 404: Error;
2570
+ 404: Error404;
2370
2571
  /**
2371
2572
  * Too Many Requests
2372
2573
  */
2373
- 429: Error;
2574
+ 429: Error429;
2374
2575
  /**
2375
2576
  * Internal Server Error
2376
2577
  */
2377
- 500: Error;
2578
+ 500: Error500;
2378
2579
  };
2379
2580
  export type EpisodeShowError = EpisodeShowErrors[keyof EpisodeShowErrors];
2380
2581
  export type EpisodeShowResponses = {
@@ -2403,27 +2604,27 @@ export type EpisodeUpdateErrors = {
2403
2604
  /**
2404
2605
  * Bad Request
2405
2606
  */
2406
- 400: Error;
2607
+ 400: Error400;
2407
2608
  /**
2408
2609
  * Unauthorized
2409
2610
  */
2410
- 401: Error;
2611
+ 401: Error401;
2411
2612
  /**
2412
2613
  * Forbidden
2413
2614
  */
2414
- 403: Error;
2615
+ 403: Error403;
2415
2616
  /**
2416
2617
  * Not Found
2417
2618
  */
2418
- 404: Error;
2619
+ 404: Error404;
2419
2620
  /**
2420
2621
  * Too Many Requests
2421
2622
  */
2422
- 429: Error;
2623
+ 429: Error429;
2423
2624
  /**
2424
2625
  * Internal Server Error
2425
2626
  */
2426
- 500: Error;
2627
+ 500: Error500;
2427
2628
  };
2428
2629
  export type EpisodeUpdateError = EpisodeUpdateErrors[keyof EpisodeUpdateErrors];
2429
2630
  export type EpisodeUpdateResponses = {
@@ -2461,27 +2662,27 @@ export type SegmentIndexErrors = {
2461
2662
  /**
2462
2663
  * Bad Request
2463
2664
  */
2464
- 400: Error;
2665
+ 400: Error400;
2465
2666
  /**
2466
2667
  * Unauthorized
2467
2668
  */
2468
- 401: Error;
2669
+ 401: Error401;
2469
2670
  /**
2470
2671
  * Forbidden
2471
2672
  */
2472
- 403: Error;
2673
+ 403: Error403;
2473
2674
  /**
2474
2675
  * Not Found
2475
2676
  */
2476
- 404: Error;
2677
+ 404: Error404;
2477
2678
  /**
2478
2679
  * Too Many Requests
2479
2680
  */
2480
- 429: Error;
2681
+ 429: Error429;
2481
2682
  /**
2482
2683
  * Internal Server Error
2483
2684
  */
2484
- 500: Error;
2685
+ 500: Error500;
2485
2686
  };
2486
2687
  export type SegmentIndexError = SegmentIndexErrors[keyof SegmentIndexErrors];
2487
2688
  export type SegmentIndexResponses = {
@@ -2510,31 +2711,31 @@ export type SegmentCreateErrors = {
2510
2711
  /**
2511
2712
  * Bad Request
2512
2713
  */
2513
- 400: Error;
2714
+ 400: Error400;
2514
2715
  /**
2515
2716
  * Unauthorized
2516
2717
  */
2517
- 401: Error;
2718
+ 401: Error401;
2518
2719
  /**
2519
2720
  * Forbidden
2520
2721
  */
2521
- 403: Error;
2722
+ 403: Error403;
2522
2723
  /**
2523
2724
  * Not Found
2524
2725
  */
2525
- 404: Error;
2726
+ 404: Error404;
2526
2727
  /**
2527
2728
  * Conflict
2528
2729
  */
2529
- 409: Error;
2730
+ 409: Error409;
2530
2731
  /**
2531
2732
  * Too Many Requests
2532
2733
  */
2533
- 429: Error;
2734
+ 429: Error429;
2534
2735
  /**
2535
2736
  * Internal Server Error
2536
2737
  */
2537
- 500: Error;
2738
+ 500: Error500;
2538
2739
  };
2539
2740
  export type SegmentCreateError = SegmentCreateErrors[keyof SegmentCreateErrors];
2540
2741
  export type SegmentCreateResponses = {
@@ -2567,27 +2768,27 @@ export type SegmentDestroyErrors = {
2567
2768
  /**
2568
2769
  * Bad Request
2569
2770
  */
2570
- 400: Error;
2771
+ 400: Error400;
2571
2772
  /**
2572
2773
  * Unauthorized
2573
2774
  */
2574
- 401: Error;
2775
+ 401: Error401;
2575
2776
  /**
2576
2777
  * Forbidden
2577
2778
  */
2578
- 403: Error;
2779
+ 403: Error403;
2579
2780
  /**
2580
2781
  * Not Found
2581
2782
  */
2582
- 404: Error;
2783
+ 404: Error404;
2583
2784
  /**
2584
2785
  * Too Many Requests
2585
2786
  */
2586
- 429: Error;
2787
+ 429: Error429;
2587
2788
  /**
2588
2789
  * Internal Server Error
2589
2790
  */
2590
- 500: Error;
2791
+ 500: Error500;
2591
2792
  };
2592
2793
  export type SegmentDestroyError = SegmentDestroyErrors[keyof SegmentDestroyErrors];
2593
2794
  export type SegmentDestroyResponses = {
@@ -2620,27 +2821,27 @@ export type SegmentShowErrors = {
2620
2821
  /**
2621
2822
  * Bad Request
2622
2823
  */
2623
- 400: Error;
2824
+ 400: Error400;
2624
2825
  /**
2625
2826
  * Unauthorized
2626
2827
  */
2627
- 401: Error;
2828
+ 401: Error401;
2628
2829
  /**
2629
2830
  * Forbidden
2630
2831
  */
2631
- 403: Error;
2832
+ 403: Error403;
2632
2833
  /**
2633
2834
  * Not Found
2634
2835
  */
2635
- 404: Error;
2836
+ 404: Error404;
2636
2837
  /**
2637
2838
  * Too Many Requests
2638
2839
  */
2639
- 429: Error;
2840
+ 429: Error429;
2640
2841
  /**
2641
2842
  * Internal Server Error
2642
2843
  */
2643
- 500: Error;
2844
+ 500: Error500;
2644
2845
  };
2645
2846
  export type SegmentShowError = SegmentShowErrors[keyof SegmentShowErrors];
2646
2847
  export type SegmentShowResponses = {
@@ -2673,27 +2874,27 @@ export type SegmentUpdateErrors = {
2673
2874
  /**
2674
2875
  * Bad Request
2675
2876
  */
2676
- 400: Error;
2877
+ 400: Error400;
2677
2878
  /**
2678
2879
  * Unauthorized
2679
2880
  */
2680
- 401: Error;
2881
+ 401: Error401;
2681
2882
  /**
2682
2883
  * Forbidden
2683
2884
  */
2684
- 403: Error;
2885
+ 403: Error403;
2685
2886
  /**
2686
2887
  * Not Found
2687
2888
  */
2688
- 404: Error;
2889
+ 404: Error404;
2689
2890
  /**
2690
2891
  * Too Many Requests
2691
2892
  */
2692
- 429: Error;
2893
+ 429: Error429;
2693
2894
  /**
2694
2895
  * Internal Server Error
2695
2896
  */
2696
- 500: Error;
2897
+ 500: Error500;
2697
2898
  };
2698
2899
  export type SegmentUpdateError = SegmentUpdateErrors[keyof SegmentUpdateErrors];
2699
2900
  export type SegmentUpdateResponses = {
@@ -2718,33 +2919,83 @@ export type SegmentShowByUuidErrors = {
2718
2919
  /**
2719
2920
  * Bad Request
2720
2921
  */
2721
- 400: Error;
2922
+ 400: Error400;
2722
2923
  /**
2723
2924
  * Unauthorized
2724
2925
  */
2725
- 401: Error;
2926
+ 401: Error401;
2726
2927
  /**
2727
2928
  * Forbidden
2728
2929
  */
2729
- 403: Error;
2930
+ 403: Error403;
2730
2931
  /**
2731
2932
  * Not Found
2732
2933
  */
2733
- 404: Error;
2934
+ 404: Error404;
2734
2935
  /**
2735
2936
  * Too Many Requests
2736
2937
  */
2737
- 429: Error;
2938
+ 429: Error429;
2738
2939
  /**
2739
2940
  * Internal Server Error
2740
2941
  */
2741
- 500: Error;
2942
+ 500: Error500;
2742
2943
  };
2743
2944
  export type SegmentShowByUuidError = SegmentShowByUuidErrors[keyof SegmentShowByUuidErrors];
2744
2945
  export type SegmentShowByUuidResponses = {
2745
2946
  200: Segment;
2746
2947
  };
2747
2948
  export type SegmentShowByUuidResponse = SegmentShowByUuidResponses[keyof SegmentShowByUuidResponses];
2949
+ export type SegmentContextShowData = {
2950
+ body?: never;
2951
+ path: {
2952
+ /**
2953
+ * Segment UUID
2954
+ */
2955
+ uuid: string;
2956
+ };
2957
+ query?: {
2958
+ /**
2959
+ * Number of segments to return before and after the target
2960
+ */
2961
+ limit?: number;
2962
+ };
2963
+ url: '/v1/media/segments/{uuid}/context';
2964
+ };
2965
+ export type SegmentContextShowErrors = {
2966
+ /**
2967
+ * Bad Request
2968
+ */
2969
+ 400: Error400;
2970
+ /**
2971
+ * Unauthorized
2972
+ */
2973
+ 401: Error401;
2974
+ /**
2975
+ * Forbidden
2976
+ */
2977
+ 403: Error403;
2978
+ /**
2979
+ * Not Found
2980
+ */
2981
+ 404: Error404;
2982
+ /**
2983
+ * Too Many Requests
2984
+ */
2985
+ 429: Error429;
2986
+ /**
2987
+ * Internal Server Error
2988
+ */
2989
+ 500: Error500;
2990
+ };
2991
+ export type SegmentContextShowError = SegmentContextShowErrors[keyof SegmentContextShowErrors];
2992
+ export type SegmentContextShowResponses = {
2993
+ /**
2994
+ * OK
2995
+ */
2996
+ 200: SegmentContextResponse;
2997
+ };
2998
+ export type SegmentContextShowResponse = SegmentContextShowResponses[keyof SegmentContextShowResponses];
2748
2999
  export type CharacterShowData = {
2749
3000
  body?: never;
2750
3001
  path: {
@@ -2760,27 +3011,27 @@ export type CharacterShowErrors = {
2760
3011
  /**
2761
3012
  * Bad Request
2762
3013
  */
2763
- 400: Error;
3014
+ 400: Error400;
2764
3015
  /**
2765
3016
  * Unauthorized
2766
3017
  */
2767
- 401: Error;
3018
+ 401: Error401;
2768
3019
  /**
2769
3020
  * Forbidden
2770
3021
  */
2771
- 403: Error;
3022
+ 403: Error403;
2772
3023
  /**
2773
3024
  * Not Found
2774
3025
  */
2775
- 404: Error;
3026
+ 404: Error404;
2776
3027
  /**
2777
3028
  * Too Many Requests
2778
3029
  */
2779
- 429: Error;
3030
+ 429: Error429;
2780
3031
  /**
2781
3032
  * Internal Server Error
2782
3033
  */
2783
- 500: Error;
3034
+ 500: Error500;
2784
3035
  };
2785
3036
  export type CharacterShowError = CharacterShowErrors[keyof CharacterShowErrors];
2786
3037
  export type CharacterShowResponses = {
@@ -2805,27 +3056,27 @@ export type SeiyuuShowErrors = {
2805
3056
  /**
2806
3057
  * Bad Request
2807
3058
  */
2808
- 400: Error;
3059
+ 400: Error400;
2809
3060
  /**
2810
3061
  * Unauthorized
2811
3062
  */
2812
- 401: Error;
3063
+ 401: Error401;
2813
3064
  /**
2814
3065
  * Forbidden
2815
3066
  */
2816
- 403: Error;
3067
+ 403: Error403;
2817
3068
  /**
2818
3069
  * Not Found
2819
3070
  */
2820
- 404: Error;
3071
+ 404: Error404;
2821
3072
  /**
2822
3073
  * Too Many Requests
2823
3074
  */
2824
- 429: Error;
3075
+ 429: Error429;
2825
3076
  /**
2826
3077
  * Internal Server Error
2827
3078
  */
2828
- 500: Error;
3079
+ 500: Error500;
2829
3080
  };
2830
3081
  export type SeiyuuShowError = SeiyuuShowErrors[keyof SeiyuuShowErrors];
2831
3082
  export type SeiyuuShowResponses = {
@@ -2835,31 +3086,31 @@ export type SeiyuuShowResponses = {
2835
3086
  200: SeiyuuWithRoles;
2836
3087
  };
2837
3088
  export type SeiyuuShowResponse = SeiyuuShowResponses[keyof SeiyuuShowResponses];
2838
- export type GetUserQuotaData = {
3089
+ export type UserQuotaShowData = {
2839
3090
  body?: never;
2840
3091
  path?: never;
2841
3092
  query?: never;
2842
3093
  url: '/v1/user/quota';
2843
3094
  };
2844
- export type GetUserQuotaErrors = {
3095
+ export type UserQuotaShowErrors = {
2845
3096
  /**
2846
3097
  * Unauthorized
2847
3098
  */
2848
- 401: Error;
3099
+ 401: Error401;
2849
3100
  /**
2850
3101
  * Internal Server Error
2851
3102
  */
2852
- 500: Error;
3103
+ 500: Error500;
2853
3104
  };
2854
- export type GetUserQuotaError = GetUserQuotaErrors[keyof GetUserQuotaErrors];
2855
- export type GetUserQuotaResponses = {
3105
+ export type UserQuotaShowError = UserQuotaShowErrors[keyof UserQuotaShowErrors];
3106
+ export type UserQuotaShowResponses = {
2856
3107
  /**
2857
3108
  * OK
2858
3109
  */
2859
3110
  200: UserQuotaResponse;
2860
3111
  };
2861
- export type GetUserQuotaResponse = GetUserQuotaResponses[keyof GetUserQuotaResponses];
2862
- export type GetUserReportsData = {
3112
+ export type UserQuotaShowResponse = UserQuotaShowResponses[keyof UserQuotaShowResponses];
3113
+ export type UserReportIndexData = {
2863
3114
  body?: never;
2864
3115
  path?: never;
2865
3116
  query?: {
@@ -2874,60 +3125,277 @@ export type GetUserReportsData = {
2874
3125
  /**
2875
3126
  * Filter by report status
2876
3127
  */
2877
- status?: 'PENDING' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED';
3128
+ status?: 'PENDING' | 'CONCERN' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED' | 'IGNORED';
2878
3129
  };
2879
3130
  url: '/v1/user/reports';
2880
3131
  };
2881
- export type GetUserReportsErrors = {
3132
+ export type UserReportIndexErrors = {
3133
+ /**
3134
+ * Unauthorized
3135
+ */
3136
+ 401: Error401;
3137
+ /**
3138
+ * Internal Server Error
3139
+ */
3140
+ 500: Error500;
3141
+ };
3142
+ export type UserReportIndexError = UserReportIndexErrors[keyof UserReportIndexErrors];
3143
+ export type UserReportIndexResponses = {
3144
+ /**
3145
+ * OK
3146
+ */
3147
+ 200: ReportListResponse;
3148
+ };
3149
+ export type UserReportIndexResponse = UserReportIndexResponses[keyof UserReportIndexResponses];
3150
+ export type UserReportCreateData = {
3151
+ body: CreateReportRequest;
3152
+ path?: never;
3153
+ query?: never;
3154
+ url: '/v1/user/reports';
3155
+ };
3156
+ export type UserReportCreateErrors = {
3157
+ /**
3158
+ * Bad Request
3159
+ */
3160
+ 400: Error400;
3161
+ /**
3162
+ * Unauthorized
3163
+ */
3164
+ 401: Error401;
3165
+ /**
3166
+ * Not Found
3167
+ */
3168
+ 404: Error404;
3169
+ /**
3170
+ * Internal Server Error
3171
+ */
3172
+ 500: Error500;
3173
+ };
3174
+ export type UserReportCreateError = UserReportCreateErrors[keyof UserReportCreateErrors];
3175
+ export type UserReportCreateResponses = {
3176
+ /**
3177
+ * Report created successfully
3178
+ */
3179
+ 201: Report;
3180
+ };
3181
+ export type UserReportCreateResponse = UserReportCreateResponses[keyof UserReportCreateResponses];
3182
+ export type UserPreferencesShowData = {
3183
+ body?: never;
3184
+ path?: never;
3185
+ query?: never;
3186
+ url: '/v1/user/preferences';
3187
+ };
3188
+ export type UserPreferencesShowErrors = {
3189
+ /**
3190
+ * Unauthorized
3191
+ */
3192
+ 401: Error401;
3193
+ /**
3194
+ * Internal Server Error
3195
+ */
3196
+ 500: Error500;
3197
+ };
3198
+ export type UserPreferencesShowError = UserPreferencesShowErrors[keyof UserPreferencesShowErrors];
3199
+ export type UserPreferencesShowResponses = {
3200
+ /**
3201
+ * OK
3202
+ */
3203
+ 200: UserPreferences;
3204
+ };
3205
+ export type UserPreferencesShowResponse = UserPreferencesShowResponses[keyof UserPreferencesShowResponses];
3206
+ export type UserPreferencesUpdateData = {
3207
+ body: UserPreferences;
3208
+ path?: never;
3209
+ query?: never;
3210
+ url: '/v1/user/preferences';
3211
+ };
3212
+ export type UserPreferencesUpdateErrors = {
3213
+ /**
3214
+ * Unauthorized
3215
+ */
3216
+ 401: Error401;
3217
+ /**
3218
+ * Internal Server Error
3219
+ */
3220
+ 500: Error500;
3221
+ };
3222
+ export type UserPreferencesUpdateError = UserPreferencesUpdateErrors[keyof UserPreferencesUpdateErrors];
3223
+ export type UserPreferencesUpdateResponses = {
3224
+ /**
3225
+ * OK
3226
+ */
3227
+ 200: UserPreferences;
3228
+ };
3229
+ export type UserPreferencesUpdateResponse = UserPreferencesUpdateResponses[keyof UserPreferencesUpdateResponses];
3230
+ export type UserActivityDestroyData = {
3231
+ body?: never;
3232
+ path?: never;
3233
+ query?: {
3234
+ /**
3235
+ * Only clear activities of this type
3236
+ */
3237
+ activityType?: ActivityType;
3238
+ };
3239
+ url: '/v1/user/activity';
3240
+ };
3241
+ export type UserActivityDestroyErrors = {
3242
+ /**
3243
+ * Unauthorized
3244
+ */
3245
+ 401: Error401;
3246
+ /**
3247
+ * Internal Server Error
3248
+ */
3249
+ 500: Error500;
3250
+ };
3251
+ export type UserActivityDestroyError = UserActivityDestroyErrors[keyof UserActivityDestroyErrors];
3252
+ export type UserActivityDestroyResponses = {
3253
+ /**
3254
+ * OK
3255
+ */
3256
+ 200: {
3257
+ message: string;
3258
+ deletedCount: number;
3259
+ };
3260
+ };
3261
+ export type UserActivityDestroyResponse = UserActivityDestroyResponses[keyof UserActivityDestroyResponses];
3262
+ export type UserActivityIndexData = {
3263
+ body?: never;
3264
+ path?: never;
3265
+ query?: {
3266
+ /**
3267
+ * Cursor for pagination (activity ID to start after)
3268
+ */
3269
+ cursor?: number;
3270
+ /**
3271
+ * Number of results per page
3272
+ */
3273
+ size?: number;
3274
+ /**
3275
+ * Filter by activity type
3276
+ */
3277
+ activityType?: ActivityType;
3278
+ };
3279
+ url: '/v1/user/activity';
3280
+ };
3281
+ export type UserActivityIndexErrors = {
3282
+ /**
3283
+ * Unauthorized
3284
+ */
3285
+ 401: Error401;
3286
+ /**
3287
+ * Internal Server Error
3288
+ */
3289
+ 500: Error500;
3290
+ };
3291
+ export type UserActivityIndexError = UserActivityIndexErrors[keyof UserActivityIndexErrors];
3292
+ export type UserActivityIndexResponses = {
3293
+ /**
3294
+ * OK
3295
+ */
3296
+ 200: {
3297
+ data: Array<UserActivity>;
3298
+ hasMore: boolean;
3299
+ cursor?: number;
3300
+ };
3301
+ };
3302
+ export type UserActivityIndexResponse = UserActivityIndexResponses[keyof UserActivityIndexResponses];
3303
+ export type UserActivityStatsShowData = {
3304
+ body?: never;
3305
+ path?: never;
3306
+ query?: never;
3307
+ url: '/v1/user/activity/stats';
3308
+ };
3309
+ export type UserActivityStatsShowErrors = {
3310
+ /**
3311
+ * Unauthorized
3312
+ */
3313
+ 401: Error401;
3314
+ /**
3315
+ * Internal Server Error
3316
+ */
3317
+ 500: Error500;
3318
+ };
3319
+ export type UserActivityStatsShowError = UserActivityStatsShowErrors[keyof UserActivityStatsShowErrors];
3320
+ export type UserActivityStatsShowResponses = {
3321
+ /**
3322
+ * OK
3323
+ */
3324
+ 200: {
3325
+ totalSearches: number;
3326
+ totalExports: number;
3327
+ totalPlays: number;
3328
+ totalListAdds: number;
3329
+ /**
3330
+ * Consecutive days with at least one activity
3331
+ */
3332
+ streakDays: number;
3333
+ topMedia: Array<{
3334
+ mediaId: number;
3335
+ count: number;
3336
+ }>;
3337
+ };
3338
+ };
3339
+ export type UserActivityStatsShowResponse = UserActivityStatsShowResponses[keyof UserActivityStatsShowResponses];
3340
+ export type UserExportShowData = {
3341
+ body?: never;
3342
+ path?: never;
3343
+ query?: never;
3344
+ url: '/v1/user/export';
3345
+ };
3346
+ export type UserExportShowErrors = {
2882
3347
  /**
2883
3348
  * Unauthorized
2884
3349
  */
2885
- 401: Error;
3350
+ 401: Error401;
2886
3351
  /**
2887
3352
  * Internal Server Error
2888
3353
  */
2889
- 500: Error;
3354
+ 500: Error500;
2890
3355
  };
2891
- export type GetUserReportsError = GetUserReportsErrors[keyof GetUserReportsErrors];
2892
- export type GetUserReportsResponses = {
3356
+ export type UserExportShowError = UserExportShowErrors[keyof UserExportShowErrors];
3357
+ export type UserExportShowResponses = {
2893
3358
  /**
2894
3359
  * OK
2895
3360
  */
2896
- 200: ReportListResponse;
3361
+ 200: {
3362
+ profile: {
3363
+ id?: number;
3364
+ username?: string;
3365
+ email?: string;
3366
+ createdAt?: string;
3367
+ };
3368
+ preferences: UserPreferences;
3369
+ activity: Array<UserActivity>;
3370
+ lists: Array<{
3371
+ [key: string]: unknown;
3372
+ }>;
3373
+ reports: Array<{
3374
+ [key: string]: unknown;
3375
+ }>;
3376
+ };
2897
3377
  };
2898
- export type GetUserReportsResponse = GetUserReportsResponses[keyof GetUserReportsResponses];
2899
- export type CreateReportData = {
2900
- body: CreateReportRequest;
3378
+ export type UserExportShowResponse = UserExportShowResponses[keyof UserExportShowResponses];
3379
+ export type LabIndexData = {
3380
+ body?: never;
2901
3381
  path?: never;
2902
3382
  query?: never;
2903
- url: '/v1/user/reports';
3383
+ url: '/v1/labs';
2904
3384
  };
2905
- export type CreateReportErrors = {
2906
- /**
2907
- * Bad Request
2908
- */
2909
- 400: Error;
2910
- /**
2911
- * Unauthorized
2912
- */
2913
- 401: Error;
2914
- /**
2915
- * Not Found
2916
- */
2917
- 404: Error;
3385
+ export type LabIndexErrors = {
2918
3386
  /**
2919
3387
  * Internal Server Error
2920
3388
  */
2921
- 500: Error;
3389
+ 500: Error500;
2922
3390
  };
2923
- export type CreateReportError = CreateReportErrors[keyof CreateReportErrors];
2924
- export type CreateReportResponses = {
3391
+ export type LabIndexError = LabIndexErrors[keyof LabIndexErrors];
3392
+ export type LabIndexResponses = {
2925
3393
  /**
2926
- * Report created successfully
3394
+ * OK
2927
3395
  */
2928
- 201: Report;
3396
+ 200: Array<LabFeature>;
2929
3397
  };
2930
- export type CreateReportResponse = CreateReportResponses[keyof CreateReportResponses];
3398
+ export type LabIndexResponse = LabIndexResponses[keyof LabIndexResponses];
2931
3399
  export type ListIndexData = {
2932
3400
  body?: never;
2933
3401
  path?: never;
@@ -2955,23 +3423,23 @@ export type ListIndexErrors = {
2955
3423
  /**
2956
3424
  * Bad Request
2957
3425
  */
2958
- 400: Error;
3426
+ 400: Error400;
2959
3427
  /**
2960
3428
  * Unauthorized
2961
3429
  */
2962
- 401: Error;
3430
+ 401: Error401;
2963
3431
  /**
2964
3432
  * Forbidden
2965
3433
  */
2966
- 403: Error;
3434
+ 403: Error403;
2967
3435
  /**
2968
3436
  * Too Many Requests
2969
3437
  */
2970
- 429: Error;
3438
+ 429: Error429;
2971
3439
  /**
2972
3440
  * Internal Server Error
2973
3441
  */
2974
- 500: Error;
3442
+ 500: Error500;
2975
3443
  };
2976
3444
  export type ListIndexError = ListIndexErrors[keyof ListIndexErrors];
2977
3445
  export type ListIndexResponses = {
@@ -2991,23 +3459,23 @@ export type ListCreateErrors = {
2991
3459
  /**
2992
3460
  * Bad Request
2993
3461
  */
2994
- 400: Error;
3462
+ 400: Error400;
2995
3463
  /**
2996
3464
  * Unauthorized
2997
3465
  */
2998
- 401: Error;
3466
+ 401: Error401;
2999
3467
  /**
3000
3468
  * Forbidden
3001
3469
  */
3002
- 403: Error;
3470
+ 403: Error403;
3003
3471
  /**
3004
3472
  * Too Many Requests
3005
3473
  */
3006
- 429: Error;
3474
+ 429: Error429;
3007
3475
  /**
3008
3476
  * Internal Server Error
3009
3477
  */
3010
- 500: Error;
3478
+ 500: Error500;
3011
3479
  };
3012
3480
  export type ListCreateError = ListCreateErrors[keyof ListCreateErrors];
3013
3481
  export type ListCreateResponses = {
@@ -3032,27 +3500,27 @@ export type ListDestroyErrors = {
3032
3500
  /**
3033
3501
  * Bad Request
3034
3502
  */
3035
- 400: Error;
3503
+ 400: Error400;
3036
3504
  /**
3037
3505
  * Unauthorized
3038
3506
  */
3039
- 401: Error;
3507
+ 401: Error401;
3040
3508
  /**
3041
3509
  * Forbidden
3042
3510
  */
3043
- 403: Error;
3511
+ 403: Error403;
3044
3512
  /**
3045
3513
  * Not Found
3046
3514
  */
3047
- 404: Error;
3515
+ 404: Error404;
3048
3516
  /**
3049
3517
  * Too Many Requests
3050
3518
  */
3051
- 429: Error;
3519
+ 429: Error429;
3052
3520
  /**
3053
3521
  * Internal Server Error
3054
3522
  */
3055
- 500: Error;
3523
+ 500: Error500;
3056
3524
  };
3057
3525
  export type ListDestroyError = ListDestroyErrors[keyof ListDestroyErrors];
3058
3526
  export type ListDestroyResponses = {
@@ -3080,27 +3548,27 @@ export type ListShowErrors = {
3080
3548
  /**
3081
3549
  * Bad Request
3082
3550
  */
3083
- 400: Error;
3551
+ 400: Error400;
3084
3552
  /**
3085
3553
  * Unauthorized
3086
3554
  */
3087
- 401: Error;
3555
+ 401: Error401;
3088
3556
  /**
3089
3557
  * Forbidden
3090
3558
  */
3091
- 403: Error;
3559
+ 403: Error403;
3092
3560
  /**
3093
3561
  * Not Found
3094
3562
  */
3095
- 404: Error;
3563
+ 404: Error404;
3096
3564
  /**
3097
3565
  * Too Many Requests
3098
3566
  */
3099
- 429: Error;
3567
+ 429: Error429;
3100
3568
  /**
3101
3569
  * Internal Server Error
3102
3570
  */
3103
- 500: Error;
3571
+ 500: Error500;
3104
3572
  };
3105
3573
  export type ListShowError = ListShowErrors[keyof ListShowErrors];
3106
3574
  export type ListShowResponses = {
@@ -3128,27 +3596,27 @@ export type ListUpdateErrors = {
3128
3596
  /**
3129
3597
  * Bad Request
3130
3598
  */
3131
- 400: Error;
3599
+ 400: Error400;
3132
3600
  /**
3133
3601
  * Unauthorized
3134
3602
  */
3135
- 401: Error;
3603
+ 401: Error401;
3136
3604
  /**
3137
3605
  * Forbidden
3138
3606
  */
3139
- 403: Error;
3607
+ 403: Error403;
3140
3608
  /**
3141
3609
  * Not Found
3142
3610
  */
3143
- 404: Error;
3611
+ 404: Error404;
3144
3612
  /**
3145
3613
  * Too Many Requests
3146
3614
  */
3147
- 429: Error;
3615
+ 429: Error429;
3148
3616
  /**
3149
3617
  * Internal Server Error
3150
3618
  */
3151
- 500: Error;
3619
+ 500: Error500;
3152
3620
  };
3153
3621
  export type ListUpdateError = ListUpdateErrors[keyof ListUpdateErrors];
3154
3622
  export type ListUpdateResponses = {
@@ -3179,31 +3647,31 @@ export type ListAddItemErrors = {
3179
3647
  /**
3180
3648
  * Bad Request
3181
3649
  */
3182
- 400: Error;
3650
+ 400: Error400;
3183
3651
  /**
3184
3652
  * Unauthorized
3185
3653
  */
3186
- 401: Error;
3654
+ 401: Error401;
3187
3655
  /**
3188
3656
  * Forbidden
3189
3657
  */
3190
- 403: Error;
3658
+ 403: Error403;
3191
3659
  /**
3192
3660
  * Not Found
3193
3661
  */
3194
- 404: Error;
3662
+ 404: Error404;
3195
3663
  /**
3196
3664
  * Conflict
3197
3665
  */
3198
- 409: Error;
3666
+ 409: Error409;
3199
3667
  /**
3200
3668
  * Too Many Requests
3201
3669
  */
3202
- 429: Error;
3670
+ 429: Error429;
3203
3671
  /**
3204
3672
  * Internal Server Error
3205
3673
  */
3206
- 500: Error;
3674
+ 500: Error500;
3207
3675
  };
3208
3676
  export type ListAddItemError = ListAddItemErrors[keyof ListAddItemErrors];
3209
3677
  export type ListAddItemResponses = {
@@ -3234,27 +3702,27 @@ export type ListRemoveItemErrors = {
3234
3702
  /**
3235
3703
  * Bad Request
3236
3704
  */
3237
- 400: Error;
3705
+ 400: Error400;
3238
3706
  /**
3239
3707
  * Unauthorized
3240
3708
  */
3241
- 401: Error;
3709
+ 401: Error401;
3242
3710
  /**
3243
3711
  * Forbidden
3244
3712
  */
3245
- 403: Error;
3713
+ 403: Error403;
3246
3714
  /**
3247
3715
  * Not Found
3248
3716
  */
3249
- 404: Error;
3717
+ 404: Error404;
3250
3718
  /**
3251
3719
  * Too Many Requests
3252
3720
  */
3253
- 429: Error;
3721
+ 429: Error429;
3254
3722
  /**
3255
3723
  * Internal Server Error
3256
3724
  */
3257
- 500: Error;
3725
+ 500: Error500;
3258
3726
  };
3259
3727
  export type ListRemoveItemError = ListRemoveItemErrors[keyof ListRemoveItemErrors];
3260
3728
  export type ListRemoveItemResponses = {
@@ -3290,27 +3758,27 @@ export type ListUpdateItemErrors = {
3290
3758
  /**
3291
3759
  * Bad Request
3292
3760
  */
3293
- 400: Error;
3761
+ 400: Error400;
3294
3762
  /**
3295
3763
  * Unauthorized
3296
3764
  */
3297
- 401: Error;
3765
+ 401: Error401;
3298
3766
  /**
3299
3767
  * Forbidden
3300
3768
  */
3301
- 403: Error;
3769
+ 403: Error403;
3302
3770
  /**
3303
3771
  * Not Found
3304
3772
  */
3305
- 404: Error;
3773
+ 404: Error404;
3306
3774
  /**
3307
3775
  * Too Many Requests
3308
3776
  */
3309
- 429: Error;
3777
+ 429: Error429;
3310
3778
  /**
3311
3779
  * Internal Server Error
3312
3780
  */
3313
- 500: Error;
3781
+ 500: Error500;
3314
3782
  };
3315
3783
  export type ListUpdateItemError = ListUpdateItemErrors[keyof ListUpdateItemErrors];
3316
3784
  export type ListUpdateItemResponses = {
@@ -3346,27 +3814,27 @@ export type ListGetSegmentsErrors = {
3346
3814
  /**
3347
3815
  * Bad Request
3348
3816
  */
3349
- 400: Error;
3817
+ 400: Error400;
3350
3818
  /**
3351
3819
  * Unauthorized
3352
3820
  */
3353
- 401: Error;
3821
+ 401: Error401;
3354
3822
  /**
3355
3823
  * Forbidden
3356
3824
  */
3357
- 403: Error;
3825
+ 403: Error403;
3358
3826
  /**
3359
3827
  * Not Found
3360
3828
  */
3361
- 404: Error;
3829
+ 404: Error404;
3362
3830
  /**
3363
3831
  * Too Many Requests
3364
3832
  */
3365
- 429: Error;
3833
+ 429: Error429;
3366
3834
  /**
3367
3835
  * Internal Server Error
3368
3836
  */
3369
- 500: Error;
3837
+ 500: Error500;
3370
3838
  };
3371
3839
  export type ListGetSegmentsError = ListGetSegmentsErrors[keyof ListGetSegmentsErrors];
3372
3840
  export type ListGetSegmentsResponses = {
@@ -3400,31 +3868,31 @@ export type ListAddSegmentErrors = {
3400
3868
  /**
3401
3869
  * Bad Request
3402
3870
  */
3403
- 400: Error;
3871
+ 400: Error400;
3404
3872
  /**
3405
3873
  * Unauthorized
3406
3874
  */
3407
- 401: Error;
3875
+ 401: Error401;
3408
3876
  /**
3409
3877
  * Forbidden
3410
3878
  */
3411
- 403: Error;
3879
+ 403: Error403;
3412
3880
  /**
3413
3881
  * Not Found
3414
3882
  */
3415
- 404: Error;
3883
+ 404: Error404;
3416
3884
  /**
3417
3885
  * Conflict
3418
3886
  */
3419
- 409: Error;
3887
+ 409: Error409;
3420
3888
  /**
3421
3889
  * Too Many Requests
3422
3890
  */
3423
- 429: Error;
3891
+ 429: Error429;
3424
3892
  /**
3425
3893
  * Internal Server Error
3426
3894
  */
3427
- 500: Error;
3895
+ 500: Error500;
3428
3896
  };
3429
3897
  export type ListAddSegmentError = ListAddSegmentErrors[keyof ListAddSegmentErrors];
3430
3898
  export type ListAddSegmentResponses = {
@@ -3455,27 +3923,27 @@ export type ListRemoveSegmentErrors = {
3455
3923
  /**
3456
3924
  * Bad Request
3457
3925
  */
3458
- 400: Error;
3926
+ 400: Error400;
3459
3927
  /**
3460
3928
  * Unauthorized
3461
3929
  */
3462
- 401: Error;
3930
+ 401: Error401;
3463
3931
  /**
3464
3932
  * Forbidden
3465
3933
  */
3466
- 403: Error;
3934
+ 403: Error403;
3467
3935
  /**
3468
3936
  * Not Found
3469
3937
  */
3470
- 404: Error;
3938
+ 404: Error404;
3471
3939
  /**
3472
3940
  * Too Many Requests
3473
3941
  */
3474
- 429: Error;
3942
+ 429: Error429;
3475
3943
  /**
3476
3944
  * Internal Server Error
3477
3945
  */
3478
- 500: Error;
3946
+ 500: Error500;
3479
3947
  };
3480
3948
  export type ListRemoveSegmentError = ListRemoveSegmentErrors[keyof ListRemoveSegmentErrors];
3481
3949
  export type ListRemoveSegmentResponses = {
@@ -3515,27 +3983,27 @@ export type ListUpdateSegmentErrors = {
3515
3983
  /**
3516
3984
  * Bad Request
3517
3985
  */
3518
- 400: Error;
3986
+ 400: Error400;
3519
3987
  /**
3520
3988
  * Unauthorized
3521
3989
  */
3522
- 401: Error;
3990
+ 401: Error401;
3523
3991
  /**
3524
3992
  * Forbidden
3525
3993
  */
3526
- 403: Error;
3994
+ 403: Error403;
3527
3995
  /**
3528
3996
  * Not Found
3529
3997
  */
3530
- 404: Error;
3998
+ 404: Error404;
3531
3999
  /**
3532
4000
  * Too Many Requests
3533
4001
  */
3534
- 429: Error;
4002
+ 429: Error429;
3535
4003
  /**
3536
4004
  * Internal Server Error
3537
4005
  */
3538
- 500: Error;
4006
+ 500: Error500;
3539
4007
  };
3540
4008
  export type ListUpdateSegmentError = ListUpdateSegmentErrors[keyof ListUpdateSegmentErrors];
3541
4009
  export type ListUpdateSegmentResponses = {
@@ -3547,72 +4015,72 @@ export type ListUpdateSegmentResponses = {
3547
4015
  };
3548
4016
  };
3549
4017
  export type ListUpdateSegmentResponse = ListUpdateSegmentResponses[keyof ListUpdateSegmentResponses];
3550
- export type ReindexElasticsearchData = {
4018
+ export type AdminReindexCreateData = {
3551
4019
  body?: ReindexRequest;
3552
4020
  path?: never;
3553
4021
  query?: never;
3554
4022
  url: '/v1/admin/reindex';
3555
4023
  };
3556
- export type ReindexElasticsearchErrors = {
4024
+ export type AdminReindexCreateErrors = {
3557
4025
  /**
3558
4026
  * Bad Request
3559
4027
  */
3560
- 400: Error;
4028
+ 400: Error400;
3561
4029
  /**
3562
4030
  * Unauthorized
3563
4031
  */
3564
- 401: Error;
4032
+ 401: Error401;
3565
4033
  /**
3566
4034
  * Forbidden
3567
4035
  */
3568
- 403: Error;
4036
+ 403: Error403;
3569
4037
  /**
3570
4038
  * Too Many Requests
3571
4039
  */
3572
- 429: Error;
4040
+ 429: Error429;
3573
4041
  /**
3574
4042
  * Internal Server Error
3575
4043
  */
3576
- 500: Error;
4044
+ 500: Error500;
3577
4045
  };
3578
- export type ReindexElasticsearchError = ReindexElasticsearchErrors[keyof ReindexElasticsearchErrors];
3579
- export type ReindexElasticsearchResponses = {
4046
+ export type AdminReindexCreateError = AdminReindexCreateErrors[keyof AdminReindexCreateErrors];
4047
+ export type AdminReindexCreateResponses = {
3580
4048
  /**
3581
4049
  * Reindex operation completed
3582
4050
  */
3583
4051
  200: ReindexResponse;
3584
4052
  };
3585
- export type ReindexElasticsearchResponse = ReindexElasticsearchResponses[keyof ReindexElasticsearchResponses];
3586
- export type GetQueueStatsData = {
4053
+ export type AdminReindexCreateResponse = AdminReindexCreateResponses[keyof AdminReindexCreateResponses];
4054
+ export type AdminQueueStatsIndexData = {
3587
4055
  body?: never;
3588
4056
  path?: never;
3589
4057
  query?: never;
3590
4058
  url: '/v1/admin/queues/stats';
3591
4059
  };
3592
- export type GetQueueStatsErrors = {
4060
+ export type AdminQueueStatsIndexErrors = {
3593
4061
  /**
3594
4062
  * Bad Request
3595
4063
  */
3596
- 400: Error;
4064
+ 400: Error400;
3597
4065
  /**
3598
4066
  * Unauthorized
3599
4067
  */
3600
- 401: Error;
4068
+ 401: Error401;
3601
4069
  /**
3602
4070
  * Forbidden
3603
4071
  */
3604
- 403: Error;
4072
+ 403: Error403;
3605
4073
  /**
3606
4074
  * Too Many Requests
3607
4075
  */
3608
- 429: Error;
4076
+ 429: Error429;
3609
4077
  /**
3610
4078
  * Internal Server Error
3611
4079
  */
3612
- 500: Error;
4080
+ 500: Error500;
3613
4081
  };
3614
- export type GetQueueStatsError = GetQueueStatsErrors[keyof GetQueueStatsErrors];
3615
- export type GetQueueStatsResponses = {
4082
+ export type AdminQueueStatsIndexError = AdminQueueStatsIndexErrors[keyof AdminQueueStatsIndexErrors];
4083
+ export type AdminQueueStatsIndexResponses = {
3616
4084
  /**
3617
4085
  * Queue statistics retrieved successfully
3618
4086
  */
@@ -3628,8 +4096,8 @@ export type GetQueueStatsResponses = {
3628
4096
  failedCount?: number;
3629
4097
  }>;
3630
4098
  };
3631
- export type GetQueueStatsResponse = GetQueueStatsResponses[keyof GetQueueStatsResponses];
3632
- export type GetQueueDetailsData = {
4099
+ export type AdminQueueStatsIndexResponse = AdminQueueStatsIndexResponses[keyof AdminQueueStatsIndexResponses];
4100
+ export type AdminQueueShowData = {
3633
4101
  body?: never;
3634
4102
  path: {
3635
4103
  /**
@@ -3640,34 +4108,34 @@ export type GetQueueDetailsData = {
3640
4108
  query?: never;
3641
4109
  url: '/v1/admin/queues/{queueName}';
3642
4110
  };
3643
- export type GetQueueDetailsErrors = {
4111
+ export type AdminQueueShowErrors = {
3644
4112
  /**
3645
4113
  * Bad Request
3646
4114
  */
3647
- 400: Error;
4115
+ 400: Error400;
3648
4116
  /**
3649
4117
  * Unauthorized
3650
4118
  */
3651
- 401: Error;
4119
+ 401: Error401;
3652
4120
  /**
3653
4121
  * Forbidden
3654
4122
  */
3655
- 403: Error;
4123
+ 403: Error403;
3656
4124
  /**
3657
4125
  * Not Found
3658
4126
  */
3659
- 404: Error;
4127
+ 404: Error404;
3660
4128
  /**
3661
4129
  * Too Many Requests
3662
4130
  */
3663
- 429: Error;
4131
+ 429: Error429;
3664
4132
  /**
3665
4133
  * Internal Server Error
3666
4134
  */
3667
- 500: Error;
4135
+ 500: Error500;
3668
4136
  };
3669
- export type GetQueueDetailsError = GetQueueDetailsErrors[keyof GetQueueDetailsErrors];
3670
- export type GetQueueDetailsResponses = {
4137
+ export type AdminQueueShowError = AdminQueueShowErrors[keyof AdminQueueShowErrors];
4138
+ export type AdminQueueShowResponses = {
3671
4139
  /**
3672
4140
  * Queue details retrieved successfully
3673
4141
  */
@@ -3699,8 +4167,8 @@ export type GetQueueDetailsResponses = {
3699
4167
  cancelled?: number;
3700
4168
  };
3701
4169
  };
3702
- export type GetQueueDetailsResponse = GetQueueDetailsResponses[keyof GetQueueDetailsResponses];
3703
- export type GetFailedJobsData = {
4170
+ export type AdminQueueShowResponse = AdminQueueShowResponses[keyof AdminQueueShowResponses];
4171
+ export type AdminQueueFailedIndexData = {
3704
4172
  body?: never;
3705
4173
  path: {
3706
4174
  /**
@@ -3711,30 +4179,30 @@ export type GetFailedJobsData = {
3711
4179
  query?: never;
3712
4180
  url: '/v1/admin/queues/{queueName}/failed';
3713
4181
  };
3714
- export type GetFailedJobsErrors = {
4182
+ export type AdminQueueFailedIndexErrors = {
3715
4183
  /**
3716
4184
  * Bad Request
3717
4185
  */
3718
- 400: Error;
4186
+ 400: Error400;
3719
4187
  /**
3720
4188
  * Unauthorized
3721
4189
  */
3722
- 401: Error;
4190
+ 401: Error401;
3723
4191
  /**
3724
4192
  * Forbidden
3725
4193
  */
3726
- 403: Error;
4194
+ 403: Error403;
3727
4195
  /**
3728
4196
  * Too Many Requests
3729
4197
  */
3730
- 429: Error;
4198
+ 429: Error429;
3731
4199
  /**
3732
4200
  * Internal Server Error
3733
4201
  */
3734
- 500: Error;
4202
+ 500: Error500;
3735
4203
  };
3736
- export type GetFailedJobsError = GetFailedJobsErrors[keyof GetFailedJobsErrors];
3737
- export type GetFailedJobsResponses = {
4204
+ export type AdminQueueFailedIndexError = AdminQueueFailedIndexErrors[keyof AdminQueueFailedIndexErrors];
4205
+ export type AdminQueueFailedIndexResponses = {
3738
4206
  /**
3739
4207
  * Failed jobs retrieved successfully
3740
4208
  */
@@ -3757,8 +4225,8 @@ export type GetFailedJobsResponses = {
3757
4225
  createdOn?: string;
3758
4226
  }>;
3759
4227
  };
3760
- export type GetFailedJobsResponse = GetFailedJobsResponses[keyof GetFailedJobsResponses];
3761
- export type RetryQueueJobsData = {
4228
+ export type AdminQueueFailedIndexResponse = AdminQueueFailedIndexResponses[keyof AdminQueueFailedIndexResponses];
4229
+ export type AdminQueueRetryCreateData = {
3762
4230
  body?: never;
3763
4231
  path: {
3764
4232
  /**
@@ -3769,30 +4237,30 @@ export type RetryQueueJobsData = {
3769
4237
  query?: never;
3770
4238
  url: '/v1/admin/queues/{queueName}/retry';
3771
4239
  };
3772
- export type RetryQueueJobsErrors = {
4240
+ export type AdminQueueRetryCreateErrors = {
3773
4241
  /**
3774
4242
  * Bad Request
3775
4243
  */
3776
- 400: Error;
4244
+ 400: Error400;
3777
4245
  /**
3778
4246
  * Unauthorized
3779
4247
  */
3780
- 401: Error;
4248
+ 401: Error401;
3781
4249
  /**
3782
4250
  * Forbidden
3783
4251
  */
3784
- 403: Error;
4252
+ 403: Error403;
3785
4253
  /**
3786
4254
  * Too Many Requests
3787
4255
  */
3788
- 429: Error;
4256
+ 429: Error429;
3789
4257
  /**
3790
4258
  * Internal Server Error
3791
4259
  */
3792
- 500: Error;
4260
+ 500: Error500;
3793
4261
  };
3794
- export type RetryQueueJobsError = RetryQueueJobsErrors[keyof RetryQueueJobsErrors];
3795
- export type RetryQueueJobsResponses = {
4262
+ export type AdminQueueRetryCreateError = AdminQueueRetryCreateErrors[keyof AdminQueueRetryCreateErrors];
4263
+ export type AdminQueueRetryCreateResponses = {
3796
4264
  /**
3797
4265
  * Jobs queued for retry
3798
4266
  */
@@ -3805,8 +4273,8 @@ export type RetryQueueJobsResponses = {
3805
4273
  message?: string;
3806
4274
  };
3807
4275
  };
3808
- export type RetryQueueJobsResponse = RetryQueueJobsResponses[keyof RetryQueueJobsResponses];
3809
- export type PurgeFailedJobsData = {
4276
+ export type AdminQueueRetryCreateResponse = AdminQueueRetryCreateResponses[keyof AdminQueueRetryCreateResponses];
4277
+ export type AdminQueueFailedDestroyData = {
3810
4278
  body?: never;
3811
4279
  path: {
3812
4280
  /**
@@ -3817,30 +4285,30 @@ export type PurgeFailedJobsData = {
3817
4285
  query?: never;
3818
4286
  url: '/v1/admin/queues/{queueName}/purge';
3819
4287
  };
3820
- export type PurgeFailedJobsErrors = {
4288
+ export type AdminQueueFailedDestroyErrors = {
3821
4289
  /**
3822
4290
  * Bad Request
3823
4291
  */
3824
- 400: Error;
4292
+ 400: Error400;
3825
4293
  /**
3826
4294
  * Unauthorized
3827
4295
  */
3828
- 401: Error;
4296
+ 401: Error401;
3829
4297
  /**
3830
4298
  * Forbidden
3831
4299
  */
3832
- 403: Error;
4300
+ 403: Error403;
3833
4301
  /**
3834
4302
  * Too Many Requests
3835
4303
  */
3836
- 429: Error;
4304
+ 429: Error429;
3837
4305
  /**
3838
4306
  * Internal Server Error
3839
4307
  */
3840
- 500: Error;
4308
+ 500: Error500;
3841
4309
  };
3842
- export type PurgeFailedJobsError = PurgeFailedJobsErrors[keyof PurgeFailedJobsErrors];
3843
- export type PurgeFailedJobsResponses = {
4310
+ export type AdminQueueFailedDestroyError = AdminQueueFailedDestroyErrors[keyof AdminQueueFailedDestroyErrors];
4311
+ export type AdminQueueFailedDestroyResponses = {
3844
4312
  /**
3845
4313
  * Failed jobs purged successfully
3846
4314
  */
@@ -3853,14 +4321,14 @@ export type PurgeFailedJobsResponses = {
3853
4321
  message?: string;
3854
4322
  };
3855
4323
  };
3856
- export type PurgeFailedJobsResponse = PurgeFailedJobsResponses[keyof PurgeFailedJobsResponses];
3857
- export type MorphemeBackfillData = {
4324
+ export type AdminQueueFailedDestroyResponse = AdminQueueFailedDestroyResponses[keyof AdminQueueFailedDestroyResponses];
4325
+ export type AdminMorphemeBackfillCreateData = {
3858
4326
  body?: never;
3859
4327
  path?: never;
3860
4328
  query?: never;
3861
4329
  url: '/v1/admin/morpheme-backfill';
3862
4330
  };
3863
- export type MorphemeBackfillResponses = {
4331
+ export type AdminMorphemeBackfillCreateResponses = {
3864
4332
  /**
3865
4333
  * Backfill completed
3866
4334
  */
@@ -3874,8 +4342,8 @@ export type MorphemeBackfillResponses = {
3874
4342
  };
3875
4343
  };
3876
4344
  };
3877
- export type MorphemeBackfillResponse = MorphemeBackfillResponses[keyof MorphemeBackfillResponses];
3878
- export type GetAdminReportsData = {
4345
+ export type AdminMorphemeBackfillCreateResponse = AdminMorphemeBackfillCreateResponses[keyof AdminMorphemeBackfillCreateResponses];
4346
+ export type AdminReportIndexData = {
3879
4347
  body?: never;
3880
4348
  path?: never;
3881
4349
  query?: {
@@ -3890,45 +4358,53 @@ export type GetAdminReportsData = {
3890
4358
  /**
3891
4359
  * Filter by report status
3892
4360
  */
3893
- status?: 'PENDING' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED';
4361
+ status?: 'PENDING' | 'CONCERN' | 'ACCEPTED' | 'REJECTED' | 'RESOLVED' | 'IGNORED';
4362
+ /**
4363
+ * Filter by report source
4364
+ */
4365
+ source?: 'USER' | 'AUTO';
4366
+ /**
4367
+ * Filter by target type
4368
+ */
4369
+ targetType?: 'SEGMENT' | 'EPISODE' | 'MEDIA';
3894
4370
  /**
3895
- * Filter by report type
4371
+ * Filter by target media ID
3896
4372
  */
3897
- reportType?: 'SEGMENT' | 'MEDIA';
4373
+ targetMediaId?: number;
3898
4374
  /**
3899
- * Filter by target ID
4375
+ * Filter by review check run ID
3900
4376
  */
3901
- targetId?: string;
4377
+ reviewCheckRunId?: number;
3902
4378
  };
3903
4379
  url: '/v1/admin/reports';
3904
4380
  };
3905
- export type GetAdminReportsErrors = {
4381
+ export type AdminReportIndexErrors = {
3906
4382
  /**
3907
4383
  * Unauthorized
3908
4384
  */
3909
- 401: Error;
4385
+ 401: Error401;
3910
4386
  /**
3911
4387
  * Forbidden
3912
4388
  */
3913
- 403: Error;
4389
+ 403: Error403;
3914
4390
  /**
3915
4391
  * Too Many Requests
3916
4392
  */
3917
- 429: Error;
4393
+ 429: Error429;
3918
4394
  /**
3919
4395
  * Internal Server Error
3920
4396
  */
3921
- 500: Error;
4397
+ 500: Error500;
3922
4398
  };
3923
- export type GetAdminReportsError = GetAdminReportsErrors[keyof GetAdminReportsErrors];
3924
- export type GetAdminReportsResponses = {
4399
+ export type AdminReportIndexError = AdminReportIndexErrors[keyof AdminReportIndexErrors];
4400
+ export type AdminReportIndexResponses = {
3925
4401
  /**
3926
4402
  * OK
3927
4403
  */
3928
4404
  200: AdminReportListResponse;
3929
4405
  };
3930
- export type GetAdminReportsResponse = GetAdminReportsResponses[keyof GetAdminReportsResponses];
3931
- export type UpdateReportData = {
4406
+ export type AdminReportIndexResponse = AdminReportIndexResponses[keyof AdminReportIndexResponses];
4407
+ export type AdminReportUpdateData = {
3932
4408
  body: UpdateReportRequest;
3933
4409
  path: {
3934
4410
  /**
@@ -3939,38 +4415,391 @@ export type UpdateReportData = {
3939
4415
  query?: never;
3940
4416
  url: '/v1/admin/reports/{id}';
3941
4417
  };
3942
- export type UpdateReportErrors = {
4418
+ export type AdminReportUpdateErrors = {
3943
4419
  /**
3944
4420
  * Bad Request
3945
4421
  */
3946
- 400: Error;
4422
+ 400: Error400;
3947
4423
  /**
3948
4424
  * Unauthorized
3949
4425
  */
3950
- 401: Error;
4426
+ 401: Error401;
3951
4427
  /**
3952
4428
  * Forbidden
3953
4429
  */
3954
- 403: Error;
4430
+ 403: Error403;
3955
4431
  /**
3956
4432
  * Not Found
3957
4433
  */
3958
- 404: Error;
4434
+ 404: Error404;
3959
4435
  /**
3960
4436
  * Too Many Requests
3961
4437
  */
3962
- 429: Error;
4438
+ 429: Error429;
3963
4439
  /**
3964
4440
  * Internal Server Error
3965
4441
  */
3966
- 500: Error;
4442
+ 500: Error500;
3967
4443
  };
3968
- export type UpdateReportError = UpdateReportErrors[keyof UpdateReportErrors];
3969
- export type UpdateReportResponses = {
4444
+ export type AdminReportUpdateError = AdminReportUpdateErrors[keyof AdminReportUpdateErrors];
4445
+ export type AdminReportUpdateResponses = {
3970
4446
  /**
3971
4447
  * Report updated successfully
3972
4448
  */
3973
4449
  200: Report;
3974
4450
  };
3975
- export type UpdateReportResponse = UpdateReportResponses[keyof UpdateReportResponses];
4451
+ export type AdminReportUpdateResponse = AdminReportUpdateResponses[keyof AdminReportUpdateResponses];
4452
+ export type AdminReviewRunCreateData = {
4453
+ body?: never;
4454
+ path?: never;
4455
+ query?: {
4456
+ /**
4457
+ * Optional category filter
4458
+ */
4459
+ category?: 'ANIME' | 'JDRAMA';
4460
+ };
4461
+ url: '/v1/admin/review/run';
4462
+ };
4463
+ export type AdminReviewRunCreateErrors = {
4464
+ /**
4465
+ * Unauthorized
4466
+ */
4467
+ 401: Error401;
4468
+ /**
4469
+ * Forbidden
4470
+ */
4471
+ 403: Error403;
4472
+ /**
4473
+ * Too Many Requests
4474
+ */
4475
+ 429: Error429;
4476
+ /**
4477
+ * Internal Server Error
4478
+ */
4479
+ 500: Error500;
4480
+ };
4481
+ export type AdminReviewRunCreateError = AdminReviewRunCreateErrors[keyof AdminReviewRunCreateErrors];
4482
+ export type AdminReviewRunCreateResponses = {
4483
+ /**
4484
+ * Check run completed
4485
+ */
4486
+ 200: RunReviewResponse;
4487
+ };
4488
+ export type AdminReviewRunCreateResponse = AdminReviewRunCreateResponses[keyof AdminReviewRunCreateResponses];
4489
+ export type AdminReviewCheckIndexData = {
4490
+ body?: never;
4491
+ path?: never;
4492
+ query?: never;
4493
+ url: '/v1/admin/review/checks';
4494
+ };
4495
+ export type AdminReviewCheckIndexErrors = {
4496
+ /**
4497
+ * Unauthorized
4498
+ */
4499
+ 401: Error401;
4500
+ /**
4501
+ * Forbidden
4502
+ */
4503
+ 403: Error403;
4504
+ /**
4505
+ * Too Many Requests
4506
+ */
4507
+ 429: Error429;
4508
+ /**
4509
+ * Internal Server Error
4510
+ */
4511
+ 500: Error500;
4512
+ };
4513
+ export type AdminReviewCheckIndexError = AdminReviewCheckIndexErrors[keyof AdminReviewCheckIndexErrors];
4514
+ export type AdminReviewCheckIndexResponses = {
4515
+ /**
4516
+ * OK
4517
+ */
4518
+ 200: Array<ReviewCheck>;
4519
+ };
4520
+ export type AdminReviewCheckIndexResponse = AdminReviewCheckIndexResponses[keyof AdminReviewCheckIndexResponses];
4521
+ export type AdminReviewCheckUpdateData = {
4522
+ body: {
4523
+ /**
4524
+ * New threshold values
4525
+ */
4526
+ threshold?: {
4527
+ [key: string]: unknown;
4528
+ };
4529
+ /**
4530
+ * Enable or disable this check
4531
+ */
4532
+ enabled?: boolean;
4533
+ };
4534
+ path: {
4535
+ /**
4536
+ * Check name identifier
4537
+ */
4538
+ name: string;
4539
+ };
4540
+ query?: never;
4541
+ url: '/v1/admin/review/checks/{name}';
4542
+ };
4543
+ export type AdminReviewCheckUpdateErrors = {
4544
+ /**
4545
+ * Bad Request
4546
+ */
4547
+ 400: Error400;
4548
+ /**
4549
+ * Unauthorized
4550
+ */
4551
+ 401: Error401;
4552
+ /**
4553
+ * Forbidden
4554
+ */
4555
+ 403: Error403;
4556
+ /**
4557
+ * Not Found
4558
+ */
4559
+ 404: Error404;
4560
+ /**
4561
+ * Too Many Requests
4562
+ */
4563
+ 429: Error429;
4564
+ /**
4565
+ * Internal Server Error
4566
+ */
4567
+ 500: Error500;
4568
+ };
4569
+ export type AdminReviewCheckUpdateError = AdminReviewCheckUpdateErrors[keyof AdminReviewCheckUpdateErrors];
4570
+ export type AdminReviewCheckUpdateResponses = {
4571
+ /**
4572
+ * Check updated successfully
4573
+ */
4574
+ 200: ReviewCheck;
4575
+ };
4576
+ export type AdminReviewCheckUpdateResponse = AdminReviewCheckUpdateResponses[keyof AdminReviewCheckUpdateResponses];
4577
+ export type AdminReviewRunIndexData = {
4578
+ body?: never;
4579
+ path?: never;
4580
+ query?: {
4581
+ /**
4582
+ * Filter by check name
4583
+ */
4584
+ checkName?: string;
4585
+ /**
4586
+ * Cursor for pagination
4587
+ */
4588
+ cursor?: number;
4589
+ /**
4590
+ * Number of results per page
4591
+ */
4592
+ size?: number;
4593
+ };
4594
+ url: '/v1/admin/review/runs';
4595
+ };
4596
+ export type AdminReviewRunIndexErrors = {
4597
+ /**
4598
+ * Unauthorized
4599
+ */
4600
+ 401: Error401;
4601
+ /**
4602
+ * Forbidden
4603
+ */
4604
+ 403: Error403;
4605
+ /**
4606
+ * Too Many Requests
4607
+ */
4608
+ 429: Error429;
4609
+ /**
4610
+ * Internal Server Error
4611
+ */
4612
+ 500: Error500;
4613
+ };
4614
+ export type AdminReviewRunIndexError = AdminReviewRunIndexErrors[keyof AdminReviewRunIndexErrors];
4615
+ export type AdminReviewRunIndexResponses = {
4616
+ /**
4617
+ * OK
4618
+ */
4619
+ 200: {
4620
+ data: Array<ReviewCheckRun>;
4621
+ hasMore: boolean;
4622
+ cursor?: number;
4623
+ };
4624
+ };
4625
+ export type AdminReviewRunIndexResponse = AdminReviewRunIndexResponses[keyof AdminReviewRunIndexResponses];
4626
+ export type AdminReviewRunShowData = {
4627
+ body?: never;
4628
+ path: {
4629
+ /**
4630
+ * Run ID
4631
+ */
4632
+ id: number;
4633
+ };
4634
+ query?: never;
4635
+ url: '/v1/admin/review/runs/{id}';
4636
+ };
4637
+ export type AdminReviewRunShowErrors = {
4638
+ /**
4639
+ * Unauthorized
4640
+ */
4641
+ 401: Error401;
4642
+ /**
4643
+ * Forbidden
4644
+ */
4645
+ 403: Error403;
4646
+ /**
4647
+ * Not Found
4648
+ */
4649
+ 404: Error404;
4650
+ /**
4651
+ * Too Many Requests
4652
+ */
4653
+ 429: Error429;
4654
+ /**
4655
+ * Internal Server Error
4656
+ */
4657
+ 500: Error500;
4658
+ };
4659
+ export type AdminReviewRunShowError = AdminReviewRunShowErrors[keyof AdminReviewRunShowErrors];
4660
+ export type AdminReviewRunShowResponses = {
4661
+ /**
4662
+ * OK
4663
+ */
4664
+ 200: {
4665
+ run: ReviewCheckRun;
4666
+ reports: Array<Report>;
4667
+ };
4668
+ };
4669
+ export type AdminReviewRunShowResponse = AdminReviewRunShowResponses[keyof AdminReviewRunShowResponses];
4670
+ export type AdminReviewAllowlistIndexData = {
4671
+ body?: never;
4672
+ path?: never;
4673
+ query?: {
4674
+ /**
4675
+ * Filter by check name
4676
+ */
4677
+ checkName?: string;
4678
+ };
4679
+ url: '/v1/admin/review/allowlist';
4680
+ };
4681
+ export type AdminReviewAllowlistIndexErrors = {
4682
+ /**
4683
+ * Unauthorized
4684
+ */
4685
+ 401: Error401;
4686
+ /**
4687
+ * Forbidden
4688
+ */
4689
+ 403: Error403;
4690
+ /**
4691
+ * Too Many Requests
4692
+ */
4693
+ 429: Error429;
4694
+ /**
4695
+ * Internal Server Error
4696
+ */
4697
+ 500: Error500;
4698
+ };
4699
+ export type AdminReviewAllowlistIndexError = AdminReviewAllowlistIndexErrors[keyof AdminReviewAllowlistIndexErrors];
4700
+ export type AdminReviewAllowlistIndexResponses = {
4701
+ /**
4702
+ * OK
4703
+ */
4704
+ 200: Array<ReviewAllowlist>;
4705
+ };
4706
+ export type AdminReviewAllowlistIndexResponse = AdminReviewAllowlistIndexResponses[keyof AdminReviewAllowlistIndexResponses];
4707
+ export type AdminReviewAllowlistCreateData = {
4708
+ body: {
4709
+ /**
4710
+ * Check name to allowlist for
4711
+ */
4712
+ checkName: string;
4713
+ /**
4714
+ * Media ID to allowlist
4715
+ */
4716
+ mediaId: number;
4717
+ /**
4718
+ * Episode number (for episode-level checks)
4719
+ */
4720
+ episodeNumber?: number;
4721
+ /**
4722
+ * Reason for allowlisting
4723
+ */
4724
+ reason?: string;
4725
+ };
4726
+ path?: never;
4727
+ query?: never;
4728
+ url: '/v1/admin/review/allowlist';
4729
+ };
4730
+ export type AdminReviewAllowlistCreateErrors = {
4731
+ /**
4732
+ * Bad Request
4733
+ */
4734
+ 400: Error400;
4735
+ /**
4736
+ * Unauthorized
4737
+ */
4738
+ 401: Error401;
4739
+ /**
4740
+ * Forbidden
4741
+ */
4742
+ 403: Error403;
4743
+ /**
4744
+ * Conflict
4745
+ */
4746
+ 409: Error409;
4747
+ /**
4748
+ * Too Many Requests
4749
+ */
4750
+ 429: Error429;
4751
+ /**
4752
+ * Internal Server Error
4753
+ */
4754
+ 500: Error500;
4755
+ };
4756
+ export type AdminReviewAllowlistCreateError = AdminReviewAllowlistCreateErrors[keyof AdminReviewAllowlistCreateErrors];
4757
+ export type AdminReviewAllowlistCreateResponses = {
4758
+ /**
4759
+ * Added to allowlist
4760
+ */
4761
+ 201: ReviewAllowlist;
4762
+ };
4763
+ export type AdminReviewAllowlistCreateResponse = AdminReviewAllowlistCreateResponses[keyof AdminReviewAllowlistCreateResponses];
4764
+ export type AdminReviewAllowlistDestroyData = {
4765
+ body?: never;
4766
+ path: {
4767
+ /**
4768
+ * Allowlist entry ID
4769
+ */
4770
+ id: number;
4771
+ };
4772
+ query?: never;
4773
+ url: '/v1/admin/review/allowlist/{id}';
4774
+ };
4775
+ export type AdminReviewAllowlistDestroyErrors = {
4776
+ /**
4777
+ * Unauthorized
4778
+ */
4779
+ 401: Error401;
4780
+ /**
4781
+ * Forbidden
4782
+ */
4783
+ 403: Error403;
4784
+ /**
4785
+ * Not Found
4786
+ */
4787
+ 404: Error404;
4788
+ /**
4789
+ * Too Many Requests
4790
+ */
4791
+ 429: Error429;
4792
+ /**
4793
+ * Internal Server Error
4794
+ */
4795
+ 500: Error500;
4796
+ };
4797
+ export type AdminReviewAllowlistDestroyError = AdminReviewAllowlistDestroyErrors[keyof AdminReviewAllowlistDestroyErrors];
4798
+ export type AdminReviewAllowlistDestroyResponses = {
4799
+ /**
4800
+ * Removed from allowlist
4801
+ */
4802
+ 204: void;
4803
+ };
4804
+ export type AdminReviewAllowlistDestroyResponse = AdminReviewAllowlistDestroyResponses[keyof AdminReviewAllowlistDestroyResponses];
3976
4805
  //# sourceMappingURL=types.gen.d.ts.map