@freqhole/api-client 0.2.14 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +7 -5
- package/src/CharnelLocalTransport.ts +70 -35
- package/src/CharnelTransport.ts +391 -106
- package/src/FreqholeClient.ts +46 -83
- package/src/WasmTransport.ts +265 -219
- package/src/blobCachePolicy.test.ts +199 -0
- package/src/codegen/routes.ts +75 -13
- package/src/codegen/schema.ts +1436 -225
- package/src/domains/entities.ts +304 -0
- package/src/domains/favorites.types.ts +13 -3
- package/src/domains/music.ts +74 -126
- package/src/domains/upload.ts +54 -53
- package/src/domains/video.ts +463 -0
- package/src/errors.ts +142 -0
- package/src/index.ts +47 -10
- package/src/permissions.ts +18 -36
- package/src/tauriRuntime.ts +22 -0
- package/src/test/fixtures.ts +13 -23
- package/src/test/integration.ts +15 -28
- package/src/test/stateful.ts +11 -29
- package/src/transport.ts +72 -39
package/src/codegen/schema.ts
CHANGED
|
@@ -40,6 +40,47 @@ export const AddAlbumsTagsRequestSchema = z.object({
|
|
|
40
40
|
});
|
|
41
41
|
export type AddAlbumsTagsRequest = z.infer<typeof AddAlbumsTagsRequestSchema>;
|
|
42
42
|
|
|
43
|
+
export const AddEntitiesTagsRequestSchema = z.object({
|
|
44
|
+
entity_type: z.string(),
|
|
45
|
+
entity_ids: z.array(z.string()),
|
|
46
|
+
tag_names: z.array(z.string())
|
|
47
|
+
});
|
|
48
|
+
export type AddEntitiesTagsRequest = z.infer<typeof AddEntitiesTagsRequestSchema>;
|
|
49
|
+
|
|
50
|
+
export const AddEntityTaxonRequestSchema = z.object({
|
|
51
|
+
entity_type: z.string(),
|
|
52
|
+
entity_id: z.string(),
|
|
53
|
+
taxon_id: z.string(),
|
|
54
|
+
origin: z.string(),
|
|
55
|
+
confidence: z.number().nullish()
|
|
56
|
+
});
|
|
57
|
+
export type AddEntityTaxonRequest = z.infer<typeof AddEntityTaxonRequestSchema>;
|
|
58
|
+
|
|
59
|
+
export const AddEntityUrlRequestSchema = z.object({
|
|
60
|
+
entity_type: z.string(),
|
|
61
|
+
entity_id: z.string(),
|
|
62
|
+
name: z.string().nullish(),
|
|
63
|
+
url: z.string()
|
|
64
|
+
});
|
|
65
|
+
export type AddEntityUrlRequest = z.infer<typeof AddEntityUrlRequestSchema>;
|
|
66
|
+
|
|
67
|
+
export const AddPlaylistItemRequestSchema = z.object({
|
|
68
|
+
playlist_id: z.string(),
|
|
69
|
+
entity_type: z.string(),
|
|
70
|
+
entity_id: z.string(),
|
|
71
|
+
position: z.number().nullish()
|
|
72
|
+
});
|
|
73
|
+
export type AddPlaylistItemRequest = z.infer<typeof AddPlaylistItemRequestSchema>;
|
|
74
|
+
|
|
75
|
+
export const AddPlaylistItemsRequestSchema = z.object({
|
|
76
|
+
playlist_id: z.string(),
|
|
77
|
+
items: z.array(z.object({
|
|
78
|
+
entity_type: z.string(),
|
|
79
|
+
entity_id: z.string()
|
|
80
|
+
}))
|
|
81
|
+
});
|
|
82
|
+
export type AddPlaylistItemsRequest = z.infer<typeof AddPlaylistItemsRequestSchema>;
|
|
83
|
+
|
|
43
84
|
export const AddSongsToPlaylistRequestSchema = z.object({
|
|
44
85
|
playlist_id: z.string(),
|
|
45
86
|
song_ids: z.array(z.string())
|
|
@@ -277,7 +318,7 @@ export const AlbumSchema = z.object({
|
|
|
277
318
|
images: z.array(z.object({
|
|
278
319
|
blob_id: z.string(),
|
|
279
320
|
is_primary: z.number(),
|
|
280
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
321
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
281
322
|
})).nullish(),
|
|
282
323
|
urls: z.array(z.object({
|
|
283
324
|
id: z.string().nullish(),
|
|
@@ -554,7 +595,7 @@ export const AlbumQueryResultSchema = z.object({
|
|
|
554
595
|
images: z.array(z.object({
|
|
555
596
|
blob_id: z.string(),
|
|
556
597
|
is_primary: z.number(),
|
|
557
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
598
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
558
599
|
})).nullish(),
|
|
559
600
|
urls: z.array(z.object({
|
|
560
601
|
id: z.string().nullish(),
|
|
@@ -583,7 +624,7 @@ export const AlbumQueryResultSchema = z.object({
|
|
|
583
624
|
images: z.array(z.object({
|
|
584
625
|
blob_id: z.string(),
|
|
585
626
|
is_primary: z.number(),
|
|
586
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
627
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
587
628
|
})).nullish(),
|
|
588
629
|
urls: z.array(z.object({
|
|
589
630
|
id: z.string().nullish(),
|
|
@@ -605,7 +646,7 @@ export const AlbumQueryResultSchema = z.object({
|
|
|
605
646
|
images: z.array(z.object({
|
|
606
647
|
blob_id: z.string(),
|
|
607
648
|
is_primary: z.number(),
|
|
608
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
649
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
609
650
|
})).nullish(),
|
|
610
651
|
album_tags: z.array(z.string()).nullish(),
|
|
611
652
|
is_favorite: z.boolean().nullish(),
|
|
@@ -684,7 +725,7 @@ export const AlbumsByValueResponseSchema = z.object({
|
|
|
684
725
|
images: z.array(z.object({
|
|
685
726
|
blob_id: z.string(),
|
|
686
727
|
is_primary: z.number(),
|
|
687
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
728
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
688
729
|
})).nullish(),
|
|
689
730
|
urls: z.array(z.object({
|
|
690
731
|
id: z.string().nullish(),
|
|
@@ -713,7 +754,7 @@ export const AlbumsByValueResponseSchema = z.object({
|
|
|
713
754
|
images: z.array(z.object({
|
|
714
755
|
blob_id: z.string(),
|
|
715
756
|
is_primary: z.number(),
|
|
716
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
757
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
717
758
|
})).nullish(),
|
|
718
759
|
urls: z.array(z.object({
|
|
719
760
|
id: z.string().nullish(),
|
|
@@ -735,7 +776,7 @@ export const AlbumsByValueResponseSchema = z.object({
|
|
|
735
776
|
images: z.array(z.object({
|
|
736
777
|
blob_id: z.string(),
|
|
737
778
|
is_primary: z.number(),
|
|
738
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
779
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
739
780
|
})).nullish(),
|
|
740
781
|
album_tags: z.array(z.string()).nullish(),
|
|
741
782
|
is_favorite: z.boolean().nullish(),
|
|
@@ -767,7 +808,7 @@ export const AlbumsQueryResultSchema = z.object({
|
|
|
767
808
|
images: z.array(z.object({
|
|
768
809
|
blob_id: z.string(),
|
|
769
810
|
is_primary: z.number(),
|
|
770
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
811
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
771
812
|
})).nullish(),
|
|
772
813
|
urls: z.array(z.object({
|
|
773
814
|
id: z.string().nullish(),
|
|
@@ -796,7 +837,7 @@ export const AlbumsQueryResultSchema = z.object({
|
|
|
796
837
|
images: z.array(z.object({
|
|
797
838
|
blob_id: z.string(),
|
|
798
839
|
is_primary: z.number(),
|
|
799
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
840
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
800
841
|
})).nullish(),
|
|
801
842
|
urls: z.array(z.object({
|
|
802
843
|
id: z.string().nullish(),
|
|
@@ -818,7 +859,7 @@ export const AlbumsQueryResultSchema = z.object({
|
|
|
818
859
|
images: z.array(z.object({
|
|
819
860
|
blob_id: z.string(),
|
|
820
861
|
is_primary: z.number(),
|
|
821
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
862
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
822
863
|
})).nullish(),
|
|
823
864
|
album_tags: z.array(z.string()).nullish(),
|
|
824
865
|
is_favorite: z.boolean().nullish(),
|
|
@@ -916,7 +957,7 @@ export const ArtistSchema = z.object({
|
|
|
916
957
|
images: z.array(z.object({
|
|
917
958
|
blob_id: z.string(),
|
|
918
959
|
is_primary: z.number(),
|
|
919
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
960
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
920
961
|
})).nullish(),
|
|
921
962
|
urls: z.array(z.object({
|
|
922
963
|
id: z.string().nullish(),
|
|
@@ -1105,7 +1146,7 @@ export const ArtistQueryResultSchema = z.object({
|
|
|
1105
1146
|
images: z.array(z.object({
|
|
1106
1147
|
blob_id: z.string(),
|
|
1107
1148
|
is_primary: z.number(),
|
|
1108
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1149
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1109
1150
|
})).nullish(),
|
|
1110
1151
|
urls: z.array(z.object({
|
|
1111
1152
|
id: z.string().nullish(),
|
|
@@ -1122,7 +1163,7 @@ export const ArtistQueryResultSchema = z.object({
|
|
|
1122
1163
|
images: z.array(z.object({
|
|
1123
1164
|
blob_id: z.string(),
|
|
1124
1165
|
is_primary: z.number(),
|
|
1125
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1166
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1126
1167
|
})).nullish(),
|
|
1127
1168
|
song_count: z.number(),
|
|
1128
1169
|
album_count: z.number(),
|
|
@@ -1156,7 +1197,7 @@ export const ArtistsQueryResultSchema = z.object({
|
|
|
1156
1197
|
images: z.array(z.object({
|
|
1157
1198
|
blob_id: z.string(),
|
|
1158
1199
|
is_primary: z.number(),
|
|
1159
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1200
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1160
1201
|
})).nullish(),
|
|
1161
1202
|
urls: z.array(z.object({
|
|
1162
1203
|
id: z.string().nullish(),
|
|
@@ -1173,7 +1214,7 @@ export const ArtistsQueryResultSchema = z.object({
|
|
|
1173
1214
|
images: z.array(z.object({
|
|
1174
1215
|
blob_id: z.string(),
|
|
1175
1216
|
is_primary: z.number(),
|
|
1176
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1217
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1177
1218
|
})).nullish(),
|
|
1178
1219
|
song_count: z.number(),
|
|
1179
1220
|
album_count: z.number(),
|
|
@@ -1195,7 +1236,7 @@ export const AssociationHintSchema = z.object({
|
|
|
1195
1236
|
entity_type: z.string(),
|
|
1196
1237
|
entity_id: z.string(),
|
|
1197
1238
|
is_primary: z.boolean().nullish(),
|
|
1198
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]).nullish()
|
|
1239
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]).nullish()
|
|
1199
1240
|
});
|
|
1200
1241
|
export type AssociationHint = z.infer<typeof AssociationHintSchema>;
|
|
1201
1242
|
|
|
@@ -1293,7 +1334,7 @@ export const BlobMetadataResponseSchema = z.object({
|
|
|
1293
1334
|
size: z.number().nullish(),
|
|
1294
1335
|
mime: z.string().nullish(),
|
|
1295
1336
|
filename: z.string().nullish(),
|
|
1296
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
1337
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
1297
1338
|
blake3: z.string().nullish()
|
|
1298
1339
|
});
|
|
1299
1340
|
export type BlobMetadataResponse = z.infer<typeof BlobMetadataResponseSchema>;
|
|
@@ -1332,6 +1373,19 @@ export const BulkDeleteSongsResponseSchema = z.object({
|
|
|
1332
1373
|
});
|
|
1333
1374
|
export type BulkDeleteSongsResponse = z.infer<typeof BulkDeleteSongsResponseSchema>;
|
|
1334
1375
|
|
|
1376
|
+
export const BulkDeleteVideosRequestSchema = z.object({
|
|
1377
|
+
video_ids: z.array(z.string())
|
|
1378
|
+
});
|
|
1379
|
+
export type BulkDeleteVideosRequest = z.infer<typeof BulkDeleteVideosRequestSchema>;
|
|
1380
|
+
|
|
1381
|
+
export const BulkDeleteVideosResponseSchema = z.object({
|
|
1382
|
+
success: z.boolean(),
|
|
1383
|
+
message: z.string(),
|
|
1384
|
+
deleted_count: z.number(),
|
|
1385
|
+
failed_ids: z.array(z.string())
|
|
1386
|
+
});
|
|
1387
|
+
export type BulkDeleteVideosResponse = z.infer<typeof BulkDeleteVideosResponseSchema>;
|
|
1388
|
+
|
|
1335
1389
|
export const BulkEnrichmentRequestSchema = z.object({
|
|
1336
1390
|
album_ids: z.array(z.string()),
|
|
1337
1391
|
sources: z.array(z.union([z.literal('Mb'), z.literal('Lastfm'), z.literal('Audiodb')])),
|
|
@@ -1402,7 +1456,7 @@ export const CreateArtistRequestSchema = z.object({
|
|
|
1402
1456
|
export type CreateArtistRequest = z.infer<typeof CreateArtistRequestSchema>;
|
|
1403
1457
|
|
|
1404
1458
|
export const CreateJobRequestSchema = z.object({
|
|
1405
|
-
job_type: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
1459
|
+
job_type: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('ImportVideo'), z.literal('TranscodeVideo'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
1406
1460
|
session_id: z.string().nullish(),
|
|
1407
1461
|
parameters: z.any(),
|
|
1408
1462
|
max_retries: z.number().nullish(),
|
|
@@ -1418,15 +1472,18 @@ export const CreateKnockRequestSchema = z.object({
|
|
|
1418
1472
|
});
|
|
1419
1473
|
export type CreateKnockRequest = z.infer<typeof CreateKnockRequestSchema>;
|
|
1420
1474
|
|
|
1421
|
-
export const
|
|
1475
|
+
export const CreatePlaybackSessionRequestSchema = z.object({
|
|
1422
1476
|
session_type: z.string(),
|
|
1423
1477
|
entity_id: z.string().nullish(),
|
|
1424
1478
|
label: z.string(),
|
|
1425
|
-
|
|
1426
|
-
|
|
1479
|
+
items: z.array(z.object({
|
|
1480
|
+
entity_type: z.string(),
|
|
1481
|
+
entity_id: z.string()
|
|
1482
|
+
})),
|
|
1483
|
+
total_items: z.number(),
|
|
1427
1484
|
total_duration_ms: z.number()
|
|
1428
1485
|
});
|
|
1429
|
-
export type
|
|
1486
|
+
export type CreatePlaybackSessionRequest = z.infer<typeof CreatePlaybackSessionRequestSchema>;
|
|
1430
1487
|
|
|
1431
1488
|
export const CreatePlaylistRequestSchema = z.object({
|
|
1432
1489
|
id: z.string().nullish(),
|
|
@@ -1461,7 +1518,8 @@ export const CreateTaxonKindRequestSchema = z.object({
|
|
|
1461
1518
|
color: z.string().nullish(),
|
|
1462
1519
|
value_type: z.string().nullish(),
|
|
1463
1520
|
unit: z.string().nullish(),
|
|
1464
|
-
display_order: z.number().nullish()
|
|
1521
|
+
display_order: z.number().nullish(),
|
|
1522
|
+
domain: z.string().nullish()
|
|
1465
1523
|
});
|
|
1466
1524
|
export type CreateTaxonKindRequest = z.infer<typeof CreateTaxonKindRequestSchema>;
|
|
1467
1525
|
|
|
@@ -1473,6 +1531,38 @@ export const CreateTaxonRequestSchema = z.object({
|
|
|
1473
1531
|
});
|
|
1474
1532
|
export type CreateTaxonRequest = z.infer<typeof CreateTaxonRequestSchema>;
|
|
1475
1533
|
|
|
1534
|
+
export const CreateVideoRequestSchema = z.object({
|
|
1535
|
+
series_id: z.string().nullish(),
|
|
1536
|
+
season_id: z.string().nullish(),
|
|
1537
|
+
episode_number: z.number().nullish(),
|
|
1538
|
+
content_type: z.string().nullish(),
|
|
1539
|
+
title: z.string(),
|
|
1540
|
+
description: z.string().nullish(),
|
|
1541
|
+
media_blob_id: z.string(),
|
|
1542
|
+
poster_blob_id: z.string().nullish(),
|
|
1543
|
+
duration_seconds: z.number().nullish(),
|
|
1544
|
+
release_date: z.string().nullish(),
|
|
1545
|
+
created_by: z.string().nullish()
|
|
1546
|
+
});
|
|
1547
|
+
export type CreateVideoRequest = z.infer<typeof CreateVideoRequestSchema>;
|
|
1548
|
+
|
|
1549
|
+
export const CreateVideoSeasonRequestSchema = z.object({
|
|
1550
|
+
series_id: z.string(),
|
|
1551
|
+
season_number: z.number(),
|
|
1552
|
+
title: z.string().nullish(),
|
|
1553
|
+
description: z.string().nullish(),
|
|
1554
|
+
poster_blob_id: z.string().nullish()
|
|
1555
|
+
});
|
|
1556
|
+
export type CreateVideoSeasonRequest = z.infer<typeof CreateVideoSeasonRequestSchema>;
|
|
1557
|
+
|
|
1558
|
+
export const CreateVideoSeriesRequestSchema = z.object({
|
|
1559
|
+
title: z.string(),
|
|
1560
|
+
description: z.string().nullish(),
|
|
1561
|
+
poster_blob_id: z.string().nullish(),
|
|
1562
|
+
created_by: z.string().nullish()
|
|
1563
|
+
});
|
|
1564
|
+
export type CreateVideoSeriesRequest = z.infer<typeof CreateVideoSeriesRequestSchema>;
|
|
1565
|
+
|
|
1476
1566
|
export const DeleteAlbumRequestSchema = z.object({
|
|
1477
1567
|
id: z.string(),
|
|
1478
1568
|
user_id: z.string().nullish()
|
|
@@ -1514,16 +1604,16 @@ export const DeleteKnockRequestSchema = z.object({
|
|
|
1514
1604
|
});
|
|
1515
1605
|
export type DeleteKnockRequest = z.infer<typeof DeleteKnockRequestSchema>;
|
|
1516
1606
|
|
|
1517
|
-
export const DeleteListenSessionRequestSchema = z.object({
|
|
1518
|
-
id: z.string()
|
|
1519
|
-
});
|
|
1520
|
-
export type DeleteListenSessionRequest = z.infer<typeof DeleteListenSessionRequestSchema>;
|
|
1521
|
-
|
|
1522
1607
|
export const DeletePasskeyRequestSchema = z.object({
|
|
1523
1608
|
credential_id: z.string()
|
|
1524
1609
|
});
|
|
1525
1610
|
export type DeletePasskeyRequest = z.infer<typeof DeletePasskeyRequestSchema>;
|
|
1526
1611
|
|
|
1612
|
+
export const DeletePlaybackSessionRequestSchema = z.object({
|
|
1613
|
+
id: z.string()
|
|
1614
|
+
});
|
|
1615
|
+
export type DeletePlaybackSessionRequest = z.infer<typeof DeletePlaybackSessionRequestSchema>;
|
|
1616
|
+
|
|
1527
1617
|
export const DeletePlaylistRequestSchema = z.object({
|
|
1528
1618
|
playlist_id: z.string()
|
|
1529
1619
|
});
|
|
@@ -1552,6 +1642,26 @@ export const DeleteTaxonRequestSchema = z.object({
|
|
|
1552
1642
|
});
|
|
1553
1643
|
export type DeleteTaxonRequest = z.infer<typeof DeleteTaxonRequestSchema>;
|
|
1554
1644
|
|
|
1645
|
+
export const DeleteVideoRenditionRequestSchema = z.object({
|
|
1646
|
+
blob_id: z.string()
|
|
1647
|
+
});
|
|
1648
|
+
export type DeleteVideoRenditionRequest = z.infer<typeof DeleteVideoRenditionRequestSchema>;
|
|
1649
|
+
|
|
1650
|
+
export const DeleteVideoRequestSchema = z.object({
|
|
1651
|
+
id: z.string()
|
|
1652
|
+
});
|
|
1653
|
+
export type DeleteVideoRequest = z.infer<typeof DeleteVideoRequestSchema>;
|
|
1654
|
+
|
|
1655
|
+
export const DeleteVideoSeasonRequestSchema = z.object({
|
|
1656
|
+
id: z.string()
|
|
1657
|
+
});
|
|
1658
|
+
export type DeleteVideoSeasonRequest = z.infer<typeof DeleteVideoSeasonRequestSchema>;
|
|
1659
|
+
|
|
1660
|
+
export const DeleteVideoSeriesRequestSchema = z.object({
|
|
1661
|
+
id: z.string()
|
|
1662
|
+
});
|
|
1663
|
+
export type DeleteVideoSeriesRequest = z.infer<typeof DeleteVideoSeriesRequestSchema>;
|
|
1664
|
+
|
|
1555
1665
|
export const DeviceLinkedCallbackRequestSchema = z.object({
|
|
1556
1666
|
peer_addr: z.string(),
|
|
1557
1667
|
server_name: z.string()
|
|
@@ -1625,6 +1735,25 @@ export const EntityRefSchema = z.union([z.object({
|
|
|
1625
1735
|
})]);
|
|
1626
1736
|
export type EntityRef = z.infer<typeof EntityRefSchema>;
|
|
1627
1737
|
|
|
1738
|
+
export const EntityTagCountSchema = z.object({
|
|
1739
|
+
tag_id: z.string(),
|
|
1740
|
+
tag_name: z.string(),
|
|
1741
|
+
tag_created_at: z.number(),
|
|
1742
|
+
count: z.number()
|
|
1743
|
+
});
|
|
1744
|
+
export type EntityTagCount = z.infer<typeof EntityTagCountSchema>;
|
|
1745
|
+
|
|
1746
|
+
export const EntityTaxonLinkSchema = z.object({
|
|
1747
|
+
entity_type: z.string(),
|
|
1748
|
+
entity_id: z.string(),
|
|
1749
|
+
taxon_id: z.string(),
|
|
1750
|
+
origin: z.string(),
|
|
1751
|
+
confidence: z.number().nullish(),
|
|
1752
|
+
created_at: z.number(),
|
|
1753
|
+
created_by: z.string().nullish()
|
|
1754
|
+
});
|
|
1755
|
+
export type EntityTaxonLink = z.infer<typeof EntityTaxonLinkSchema>;
|
|
1756
|
+
|
|
1628
1757
|
export const EntityTaxonsBatchRequestSchema = z.object({
|
|
1629
1758
|
entity_kind: z.string(),
|
|
1630
1759
|
entity_ids: z.array(z.string())
|
|
@@ -1654,6 +1783,13 @@ export const EntityTaxonsEntrySchema = z.object({
|
|
|
1654
1783
|
});
|
|
1655
1784
|
export type EntityTaxonsEntry = z.infer<typeof EntityTaxonsEntrySchema>;
|
|
1656
1785
|
|
|
1786
|
+
export const EntityUrlSchema = z.object({
|
|
1787
|
+
id: z.string().nullish(),
|
|
1788
|
+
name: z.string().nullish(),
|
|
1789
|
+
url: z.string()
|
|
1790
|
+
});
|
|
1791
|
+
export type EntityUrl = z.infer<typeof EntityUrlSchema>;
|
|
1792
|
+
|
|
1657
1793
|
export const EraAlbumsRequestSchema = z.object({
|
|
1658
1794
|
min_year: z.number(),
|
|
1659
1795
|
max_year: z.number(),
|
|
@@ -1684,7 +1820,7 @@ export const EraAlbumsResponseSchema = z.object({
|
|
|
1684
1820
|
images: z.array(z.object({
|
|
1685
1821
|
blob_id: z.string(),
|
|
1686
1822
|
is_primary: z.number(),
|
|
1687
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1823
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1688
1824
|
})).nullish(),
|
|
1689
1825
|
urls: z.array(z.object({
|
|
1690
1826
|
id: z.string().nullish(),
|
|
@@ -1713,7 +1849,7 @@ export const EraAlbumsResponseSchema = z.object({
|
|
|
1713
1849
|
images: z.array(z.object({
|
|
1714
1850
|
blob_id: z.string(),
|
|
1715
1851
|
is_primary: z.number(),
|
|
1716
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1852
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1717
1853
|
})).nullish(),
|
|
1718
1854
|
urls: z.array(z.object({
|
|
1719
1855
|
id: z.string().nullish(),
|
|
@@ -1735,7 +1871,7 @@ export const EraAlbumsResponseSchema = z.object({
|
|
|
1735
1871
|
images: z.array(z.object({
|
|
1736
1872
|
blob_id: z.string(),
|
|
1737
1873
|
is_primary: z.number(),
|
|
1738
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1874
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1739
1875
|
})).nullish(),
|
|
1740
1876
|
album_tags: z.array(z.string()).nullish(),
|
|
1741
1877
|
is_favorite: z.boolean().nullish(),
|
|
@@ -1782,7 +1918,7 @@ export const ErrorDetailSchema = z.object({
|
|
|
1782
1918
|
export type ErrorDetail = z.infer<typeof ErrorDetailSchema>;
|
|
1783
1919
|
|
|
1784
1920
|
export const EventFilterSchema = z.object({
|
|
1785
|
-
kinds: z.array(z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')])).nullish(),
|
|
1921
|
+
kinds: z.array(z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('ImportVideo'), z.literal('TranscodeVideo'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')])).nullish(),
|
|
1786
1922
|
job_ids: z.array(z.string()).nullish(),
|
|
1787
1923
|
session_ids: z.array(z.string()).nullish(),
|
|
1788
1924
|
entity_refs: z.array(z.union([z.object({
|
|
@@ -1831,7 +1967,7 @@ export const FavoriteAlbumResultSchema = z.object({
|
|
|
1831
1967
|
images: z.array(z.object({
|
|
1832
1968
|
blob_id: z.string(),
|
|
1833
1969
|
is_primary: z.number(),
|
|
1834
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1970
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1835
1971
|
})).nullish(),
|
|
1836
1972
|
urls: z.array(z.object({
|
|
1837
1973
|
id: z.string().nullish(),
|
|
@@ -1860,7 +1996,7 @@ export const FavoriteAlbumResultSchema = z.object({
|
|
|
1860
1996
|
images: z.array(z.object({
|
|
1861
1997
|
blob_id: z.string(),
|
|
1862
1998
|
is_primary: z.number(),
|
|
1863
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
1999
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1864
2000
|
})).nullish(),
|
|
1865
2001
|
urls: z.array(z.object({
|
|
1866
2002
|
id: z.string().nullish(),
|
|
@@ -1882,7 +2018,7 @@ export const FavoriteAlbumResultSchema = z.object({
|
|
|
1882
2018
|
images: z.array(z.object({
|
|
1883
2019
|
blob_id: z.string(),
|
|
1884
2020
|
is_primary: z.number(),
|
|
1885
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2021
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1886
2022
|
})).nullish(),
|
|
1887
2023
|
album_tags: z.array(z.string()).nullish(),
|
|
1888
2024
|
is_favorite: z.boolean().nullish(),
|
|
@@ -1903,7 +2039,7 @@ export const FavoriteArtistResultSchema = z.object({
|
|
|
1903
2039
|
images: z.array(z.object({
|
|
1904
2040
|
blob_id: z.string(),
|
|
1905
2041
|
is_primary: z.number(),
|
|
1906
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2042
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1907
2043
|
})).nullish(),
|
|
1908
2044
|
urls: z.array(z.object({
|
|
1909
2045
|
id: z.string().nullish(),
|
|
@@ -1920,7 +2056,7 @@ export const FavoriteArtistResultSchema = z.object({
|
|
|
1920
2056
|
images: z.array(z.object({
|
|
1921
2057
|
blob_id: z.string(),
|
|
1922
2058
|
is_primary: z.number(),
|
|
1923
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2059
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1924
2060
|
})).nullish(),
|
|
1925
2061
|
song_count: z.number(),
|
|
1926
2062
|
album_count: z.number(),
|
|
@@ -1944,7 +2080,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
1944
2080
|
images: z.array(z.object({
|
|
1945
2081
|
blob_id: z.string(),
|
|
1946
2082
|
is_primary: z.number(),
|
|
1947
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2083
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1948
2084
|
})).nullish(),
|
|
1949
2085
|
urls: z.array(z.object({
|
|
1950
2086
|
id: z.string().nullish(),
|
|
@@ -1976,7 +2112,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
1976
2112
|
images: z.array(z.object({
|
|
1977
2113
|
blob_id: z.string(),
|
|
1978
2114
|
is_primary: z.number(),
|
|
1979
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2115
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
1980
2116
|
})).nullish(),
|
|
1981
2117
|
urls: z.array(z.object({
|
|
1982
2118
|
id: z.string().nullish(),
|
|
@@ -2008,7 +2144,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2008
2144
|
images: z.array(z.object({
|
|
2009
2145
|
blob_id: z.string(),
|
|
2010
2146
|
is_primary: z.number(),
|
|
2011
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2147
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2012
2148
|
})).nullish(),
|
|
2013
2149
|
urls: z.array(z.object({
|
|
2014
2150
|
id: z.string().nullish(),
|
|
@@ -2043,7 +2179,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2043
2179
|
source_client_id: z.string().nullish(),
|
|
2044
2180
|
filename: z.string().nullish(),
|
|
2045
2181
|
parent_blob_id: z.string().nullish(),
|
|
2046
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
2182
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
2047
2183
|
metadata: z.any(),
|
|
2048
2184
|
created_at: z.number(),
|
|
2049
2185
|
updated_at: z.number(),
|
|
@@ -2058,7 +2194,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2058
2194
|
images: z.array(z.object({
|
|
2059
2195
|
blob_id: z.string(),
|
|
2060
2196
|
is_primary: z.number(),
|
|
2061
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2197
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2062
2198
|
})).nullish(),
|
|
2063
2199
|
relevance_score: z.number().nullish(),
|
|
2064
2200
|
snippet: z.string().nullish(),
|
|
@@ -2096,7 +2232,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2096
2232
|
images: z.array(z.object({
|
|
2097
2233
|
blob_id: z.string(),
|
|
2098
2234
|
is_primary: z.number(),
|
|
2099
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2235
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2100
2236
|
})).nullish(),
|
|
2101
2237
|
urls: z.array(z.object({
|
|
2102
2238
|
id: z.string().nullish(),
|
|
@@ -2125,7 +2261,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2125
2261
|
images: z.array(z.object({
|
|
2126
2262
|
blob_id: z.string(),
|
|
2127
2263
|
is_primary: z.number(),
|
|
2128
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2264
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2129
2265
|
})).nullish(),
|
|
2130
2266
|
urls: z.array(z.object({
|
|
2131
2267
|
id: z.string().nullish(),
|
|
@@ -2147,7 +2283,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2147
2283
|
images: z.array(z.object({
|
|
2148
2284
|
blob_id: z.string(),
|
|
2149
2285
|
is_primary: z.number(),
|
|
2150
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2286
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2151
2287
|
})).nullish(),
|
|
2152
2288
|
album_tags: z.array(z.string()).nullish(),
|
|
2153
2289
|
is_favorite: z.boolean().nullish(),
|
|
@@ -2167,7 +2303,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2167
2303
|
images: z.array(z.object({
|
|
2168
2304
|
blob_id: z.string(),
|
|
2169
2305
|
is_primary: z.number(),
|
|
2170
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2306
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2171
2307
|
})).nullish(),
|
|
2172
2308
|
urls: z.array(z.object({
|
|
2173
2309
|
id: z.string().nullish(),
|
|
@@ -2184,7 +2320,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2184
2320
|
images: z.array(z.object({
|
|
2185
2321
|
blob_id: z.string(),
|
|
2186
2322
|
is_primary: z.number(),
|
|
2187
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2323
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2188
2324
|
})).nullish(),
|
|
2189
2325
|
song_count: z.number(),
|
|
2190
2326
|
album_count: z.number(),
|
|
@@ -2207,7 +2343,7 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2207
2343
|
images: z.array(z.object({
|
|
2208
2344
|
blob_id: z.string(),
|
|
2209
2345
|
is_primary: z.number(),
|
|
2210
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2346
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2211
2347
|
})).nullish(),
|
|
2212
2348
|
urls: z.array(z.object({
|
|
2213
2349
|
id: z.string().nullish(),
|
|
@@ -2228,6 +2364,51 @@ export const FavoriteItemSchema = z.union([z.intersection(z.object({
|
|
|
2228
2364
|
is_favorite: z.boolean().nullish(),
|
|
2229
2365
|
play_count: z.number().nullish()
|
|
2230
2366
|
})
|
|
2367
|
+
})), z.intersection(z.object({
|
|
2368
|
+
type: z.literal('Video')
|
|
2369
|
+
}), z.object({
|
|
2370
|
+
favorited_at: z.number(),
|
|
2371
|
+
video: z.object({
|
|
2372
|
+
id: z.string(),
|
|
2373
|
+
series_id: z.string().nullish(),
|
|
2374
|
+
season_id: z.string().nullish(),
|
|
2375
|
+
episode_number: z.number().nullish(),
|
|
2376
|
+
content_type: z.string(),
|
|
2377
|
+
title: z.string(),
|
|
2378
|
+
description: z.string().nullish(),
|
|
2379
|
+
media_blob_id: z.string(),
|
|
2380
|
+
poster_blob_id: z.string().nullish(),
|
|
2381
|
+
duration_seconds: z.number().nullish(),
|
|
2382
|
+
release_date: z.string().nullish(),
|
|
2383
|
+
created_at: z.number(),
|
|
2384
|
+
updated_at: z.number(),
|
|
2385
|
+
deleted_at: z.number().nullish(),
|
|
2386
|
+
created_by: z.string().nullish(),
|
|
2387
|
+
updated_by: z.string().nullish(),
|
|
2388
|
+
deleted_by: z.string().nullish(),
|
|
2389
|
+
images: z.array(z.object({
|
|
2390
|
+
blob_id: z.string(),
|
|
2391
|
+
is_primary: z.number(),
|
|
2392
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2393
|
+
})).nullish(),
|
|
2394
|
+
play_count: z.number().nullish()
|
|
2395
|
+
})
|
|
2396
|
+
})), z.intersection(z.object({
|
|
2397
|
+
type: z.literal('VideoSeries')
|
|
2398
|
+
}), z.object({
|
|
2399
|
+
favorited_at: z.number(),
|
|
2400
|
+
series: z.object({
|
|
2401
|
+
id: z.string(),
|
|
2402
|
+
title: z.string(),
|
|
2403
|
+
description: z.string().nullish(),
|
|
2404
|
+
poster_blob_id: z.string().nullish(),
|
|
2405
|
+
created_at: z.number(),
|
|
2406
|
+
updated_at: z.number(),
|
|
2407
|
+
deleted_at: z.number().nullish(),
|
|
2408
|
+
created_by: z.string().nullish(),
|
|
2409
|
+
updated_by: z.string().nullish(),
|
|
2410
|
+
deleted_by: z.string().nullish()
|
|
2411
|
+
})
|
|
2231
2412
|
}))]);
|
|
2232
2413
|
export type FavoriteItem = z.infer<typeof FavoriteItemSchema>;
|
|
2233
2414
|
|
|
@@ -2242,7 +2423,7 @@ export const FavoritePlaylistResultSchema = z.object({
|
|
|
2242
2423
|
images: z.array(z.object({
|
|
2243
2424
|
blob_id: z.string(),
|
|
2244
2425
|
is_primary: z.number(),
|
|
2245
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2426
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2246
2427
|
})).nullish(),
|
|
2247
2428
|
urls: z.array(z.object({
|
|
2248
2429
|
id: z.string().nullish(),
|
|
@@ -2275,7 +2456,7 @@ export const FavoriteSongResultSchema = z.object({
|
|
|
2275
2456
|
images: z.array(z.object({
|
|
2276
2457
|
blob_id: z.string(),
|
|
2277
2458
|
is_primary: z.number(),
|
|
2278
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2459
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2279
2460
|
})).nullish(),
|
|
2280
2461
|
urls: z.array(z.object({
|
|
2281
2462
|
id: z.string().nullish(),
|
|
@@ -2307,7 +2488,7 @@ export const FavoriteSongResultSchema = z.object({
|
|
|
2307
2488
|
images: z.array(z.object({
|
|
2308
2489
|
blob_id: z.string(),
|
|
2309
2490
|
is_primary: z.number(),
|
|
2310
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2491
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2311
2492
|
})).nullish(),
|
|
2312
2493
|
urls: z.array(z.object({
|
|
2313
2494
|
id: z.string().nullish(),
|
|
@@ -2339,7 +2520,7 @@ export const FavoriteSongResultSchema = z.object({
|
|
|
2339
2520
|
images: z.array(z.object({
|
|
2340
2521
|
blob_id: z.string(),
|
|
2341
2522
|
is_primary: z.number(),
|
|
2342
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2523
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2343
2524
|
})).nullish(),
|
|
2344
2525
|
urls: z.array(z.object({
|
|
2345
2526
|
id: z.string().nullish(),
|
|
@@ -2374,7 +2555,7 @@ export const FavoriteSongResultSchema = z.object({
|
|
|
2374
2555
|
source_client_id: z.string().nullish(),
|
|
2375
2556
|
filename: z.string().nullish(),
|
|
2376
2557
|
parent_blob_id: z.string().nullish(),
|
|
2377
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
2558
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
2378
2559
|
metadata: z.any(),
|
|
2379
2560
|
created_at: z.number(),
|
|
2380
2561
|
updated_at: z.number(),
|
|
@@ -2389,7 +2570,7 @@ export const FavoriteSongResultSchema = z.object({
|
|
|
2389
2570
|
images: z.array(z.object({
|
|
2390
2571
|
blob_id: z.string(),
|
|
2391
2572
|
is_primary: z.number(),
|
|
2392
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2573
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2393
2574
|
})).nullish(),
|
|
2394
2575
|
relevance_score: z.number().nullish(),
|
|
2395
2576
|
snippet: z.string().nullish(),
|
|
@@ -2407,19 +2588,26 @@ export const FavoriteSongResultSchema = z.object({
|
|
|
2407
2588
|
});
|
|
2408
2589
|
export type FavoriteSongResult = z.infer<typeof FavoriteSongResultSchema>;
|
|
2409
2590
|
|
|
2591
|
+
export const FavoriteStatusItemSchema = z.object({
|
|
2592
|
+
target_id: z.string(),
|
|
2593
|
+
is_favorite: z.boolean()
|
|
2594
|
+
});
|
|
2595
|
+
export type FavoriteStatusItem = z.infer<typeof FavoriteStatusItemSchema>;
|
|
2596
|
+
|
|
2410
2597
|
export const FeedItemSchema = z.object({
|
|
2411
2598
|
id: z.string(),
|
|
2412
|
-
feed_type: z.union([z.literal("recent_listen"), z.literal("recent_favorite"), z.literal("recent_album"), z.literal("recent_rating"), z.literal("recent_playlist"), z.literal("listen_session"), z.literal("new_image")]),
|
|
2599
|
+
feed_type: z.union([z.literal("recent_listen"), z.literal("recent_favorite"), z.literal("recent_album"), z.literal("recent_rating"), z.literal("recent_playlist"), z.literal("listen_session"), z.literal("new_image"), z.literal("recent_video_watch"), z.literal("recent_video_favorite"), z.literal("recent_video")]),
|
|
2413
2600
|
song_id: z.string().nullish(),
|
|
2414
2601
|
album_id: z.string().nullish(),
|
|
2415
2602
|
artist_id: z.string().nullish(),
|
|
2416
2603
|
playlist_id: z.string().nullish(),
|
|
2604
|
+
video_id: z.string().nullish(),
|
|
2417
2605
|
title: z.string(),
|
|
2418
2606
|
subtitle: z.string().nullish(),
|
|
2419
2607
|
images: z.array(z.object({
|
|
2420
2608
|
blob_id: z.string(),
|
|
2421
2609
|
is_primary: z.number(),
|
|
2422
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2610
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2423
2611
|
})).nullish(),
|
|
2424
2612
|
created_at: z.number(),
|
|
2425
2613
|
user_id: z.string().nullish(),
|
|
@@ -2455,19 +2643,19 @@ export const FeedItemSchema = z.object({
|
|
|
2455
2643
|
collage_images: z.array(z.object({
|
|
2456
2644
|
blob_id: z.string(),
|
|
2457
2645
|
is_primary: z.number(),
|
|
2458
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2646
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2459
2647
|
})).nullish(),
|
|
2460
2648
|
entity_created_at: z.number().nullish()
|
|
2461
2649
|
});
|
|
2462
2650
|
export type FeedItem = z.infer<typeof FeedItemSchema>;
|
|
2463
2651
|
|
|
2464
|
-
export const FeedItemTypeSchema = z.union([z.literal("recent_listen"), z.literal("recent_favorite"), z.literal("recent_album"), z.literal("recent_rating"), z.literal("recent_playlist"), z.literal("listen_session"), z.literal("new_image")]);
|
|
2652
|
+
export const FeedItemTypeSchema = z.union([z.literal("recent_listen"), z.literal("recent_favorite"), z.literal("recent_album"), z.literal("recent_rating"), z.literal("recent_playlist"), z.literal("listen_session"), z.literal("new_image"), z.literal("recent_video_watch"), z.literal("recent_video_favorite"), z.literal("recent_video")]);
|
|
2465
2653
|
export type FeedItemType = z.infer<typeof FeedItemTypeSchema>;
|
|
2466
2654
|
|
|
2467
2655
|
export const FeedRequestSchema = z.object({
|
|
2468
2656
|
limit: z.number().nullish(),
|
|
2469
2657
|
offset: z.number().nullish(),
|
|
2470
|
-
feed_types: z.array(z.union([z.literal("recent_listen"), z.literal("recent_favorite"), z.literal("recent_album"), z.literal("recent_rating"), z.literal("recent_playlist"), z.literal("listen_session"), z.literal("new_image")])).nullish(),
|
|
2658
|
+
feed_types: z.array(z.union([z.literal("recent_listen"), z.literal("recent_favorite"), z.literal("recent_album"), z.literal("recent_rating"), z.literal("recent_playlist"), z.literal("listen_session"), z.literal("new_image"), z.literal("recent_video_watch"), z.literal("recent_video_favorite"), z.literal("recent_video")])).nullish(),
|
|
2471
2659
|
user_id: z.string().nullish()
|
|
2472
2660
|
});
|
|
2473
2661
|
export type FeedRequest = z.infer<typeof FeedRequestSchema>;
|
|
@@ -2475,17 +2663,18 @@ export type FeedRequest = z.infer<typeof FeedRequestSchema>;
|
|
|
2475
2663
|
export const FeedResponseSchema = z.object({
|
|
2476
2664
|
items: z.array(z.object({
|
|
2477
2665
|
id: z.string(),
|
|
2478
|
-
feed_type: z.union([z.literal("recent_listen"), z.literal("recent_favorite"), z.literal("recent_album"), z.literal("recent_rating"), z.literal("recent_playlist"), z.literal("listen_session"), z.literal("new_image")]),
|
|
2666
|
+
feed_type: z.union([z.literal("recent_listen"), z.literal("recent_favorite"), z.literal("recent_album"), z.literal("recent_rating"), z.literal("recent_playlist"), z.literal("listen_session"), z.literal("new_image"), z.literal("recent_video_watch"), z.literal("recent_video_favorite"), z.literal("recent_video")]),
|
|
2479
2667
|
song_id: z.string().nullish(),
|
|
2480
2668
|
album_id: z.string().nullish(),
|
|
2481
2669
|
artist_id: z.string().nullish(),
|
|
2482
2670
|
playlist_id: z.string().nullish(),
|
|
2671
|
+
video_id: z.string().nullish(),
|
|
2483
2672
|
title: z.string(),
|
|
2484
2673
|
subtitle: z.string().nullish(),
|
|
2485
2674
|
images: z.array(z.object({
|
|
2486
2675
|
blob_id: z.string(),
|
|
2487
2676
|
is_primary: z.number(),
|
|
2488
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2677
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2489
2678
|
})).nullish(),
|
|
2490
2679
|
created_at: z.number(),
|
|
2491
2680
|
user_id: z.string().nullish(),
|
|
@@ -2521,7 +2710,7 @@ export const FeedResponseSchema = z.object({
|
|
|
2521
2710
|
collage_images: z.array(z.object({
|
|
2522
2711
|
blob_id: z.string(),
|
|
2523
2712
|
is_primary: z.number(),
|
|
2524
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2713
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2525
2714
|
})).nullish(),
|
|
2526
2715
|
entity_created_at: z.number().nullish()
|
|
2527
2716
|
})),
|
|
@@ -2531,7 +2720,8 @@ export type FeedResponse = z.infer<typeof FeedResponseSchema>;
|
|
|
2531
2720
|
|
|
2532
2721
|
export const FetchMediaParamsSchema = z.object({
|
|
2533
2722
|
url: z.string(),
|
|
2534
|
-
user_id: z.string().nullish()
|
|
2723
|
+
user_id: z.string().nullish(),
|
|
2724
|
+
domain: z.union([z.literal("music"), z.literal("video")])
|
|
2535
2725
|
});
|
|
2536
2726
|
export type FetchMediaParams = z.infer<typeof FetchMediaParamsSchema>;
|
|
2537
2727
|
|
|
@@ -2579,7 +2769,7 @@ export const FindByMergedKeyResponseSchema = z.object({
|
|
|
2579
2769
|
images: z.array(z.object({
|
|
2580
2770
|
blob_id: z.string(),
|
|
2581
2771
|
is_primary: z.number(),
|
|
2582
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2772
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2583
2773
|
})).nullish(),
|
|
2584
2774
|
urls: z.array(z.object({
|
|
2585
2775
|
id: z.string().nullish(),
|
|
@@ -2608,7 +2798,7 @@ export const FindByMergedKeyResponseSchema = z.object({
|
|
|
2608
2798
|
images: z.array(z.object({
|
|
2609
2799
|
blob_id: z.string(),
|
|
2610
2800
|
is_primary: z.number(),
|
|
2611
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
2801
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
2612
2802
|
})).nullish(),
|
|
2613
2803
|
urls: z.array(z.object({
|
|
2614
2804
|
id: z.string().nullish(),
|
|
@@ -2727,6 +2917,36 @@ export const GetEnrichmentProgressResponseSchema = z.object({
|
|
|
2727
2917
|
});
|
|
2728
2918
|
export type GetEnrichmentProgressResponse = z.infer<typeof GetEnrichmentProgressResponseSchema>;
|
|
2729
2919
|
|
|
2920
|
+
export const GetEntitiesTagsRequestSchema = z.object({
|
|
2921
|
+
entity_type: z.string(),
|
|
2922
|
+
entity_ids: z.array(z.string())
|
|
2923
|
+
});
|
|
2924
|
+
export type GetEntitiesTagsRequest = z.infer<typeof GetEntitiesTagsRequestSchema>;
|
|
2925
|
+
|
|
2926
|
+
export const GetEntityImagesRequestSchema = z.object({
|
|
2927
|
+
entity_type: z.string(),
|
|
2928
|
+
entity_id: z.string()
|
|
2929
|
+
});
|
|
2930
|
+
export type GetEntityImagesRequest = z.infer<typeof GetEntityImagesRequestSchema>;
|
|
2931
|
+
|
|
2932
|
+
export const GetEntityTaxonsRequestSchema = z.object({
|
|
2933
|
+
entity_type: z.string(),
|
|
2934
|
+
entity_id: z.string()
|
|
2935
|
+
});
|
|
2936
|
+
export type GetEntityTaxonsRequest = z.infer<typeof GetEntityTaxonsRequestSchema>;
|
|
2937
|
+
|
|
2938
|
+
export const GetEntityUrlsRequestSchema = z.object({
|
|
2939
|
+
entity_type: z.string(),
|
|
2940
|
+
entity_id: z.string()
|
|
2941
|
+
});
|
|
2942
|
+
export type GetEntityUrlsRequest = z.infer<typeof GetEntityUrlsRequestSchema>;
|
|
2943
|
+
|
|
2944
|
+
export const GetFavoriteStatusBulkRequestSchema = z.object({
|
|
2945
|
+
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("taxon"), z.literal("playlist"), z.literal("video"), z.literal("video_series")]),
|
|
2946
|
+
target_ids: z.array(z.string())
|
|
2947
|
+
});
|
|
2948
|
+
export type GetFavoriteStatusBulkRequest = z.infer<typeof GetFavoriteStatusBulkRequestSchema>;
|
|
2949
|
+
|
|
2730
2950
|
export const GetJobRequestSchema = z.object({
|
|
2731
2951
|
job_id: z.string()
|
|
2732
2952
|
});
|
|
@@ -2766,10 +2986,16 @@ export const GetKnockRequestSchema = z.object({
|
|
|
2766
2986
|
});
|
|
2767
2987
|
export type GetKnockRequest = z.infer<typeof GetKnockRequestSchema>;
|
|
2768
2988
|
|
|
2769
|
-
export const
|
|
2989
|
+
export const GetPlaybackProgressRequestSchema = z.object({
|
|
2990
|
+
entity_type: z.string(),
|
|
2991
|
+
entity_id: z.string()
|
|
2992
|
+
});
|
|
2993
|
+
export type GetPlaybackProgressRequest = z.infer<typeof GetPlaybackProgressRequestSchema>;
|
|
2994
|
+
|
|
2995
|
+
export const GetPlaybackSessionRequestSchema = z.object({
|
|
2770
2996
|
id: z.string()
|
|
2771
2997
|
});
|
|
2772
|
-
export type
|
|
2998
|
+
export type GetPlaybackSessionRequest = z.infer<typeof GetPlaybackSessionRequestSchema>;
|
|
2773
2999
|
|
|
2774
3000
|
export const GetPlaylistRequestSchema = z.object({
|
|
2775
3001
|
id: z.string()
|
|
@@ -2777,11 +3003,17 @@ export const GetPlaylistRequestSchema = z.object({
|
|
|
2777
3003
|
export type GetPlaylistRequest = z.infer<typeof GetPlaylistRequestSchema>;
|
|
2778
3004
|
|
|
2779
3005
|
export const GetRatingStatsRequestSchema = z.object({
|
|
2780
|
-
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album")]),
|
|
3006
|
+
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("video")]),
|
|
2781
3007
|
target_id: z.string()
|
|
2782
3008
|
});
|
|
2783
3009
|
export type GetRatingStatsRequest = z.infer<typeof GetRatingStatsRequestSchema>;
|
|
2784
3010
|
|
|
3011
|
+
export const GetRatingStatusBulkRequestSchema = z.object({
|
|
3012
|
+
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("video")]),
|
|
3013
|
+
target_ids: z.array(z.string())
|
|
3014
|
+
});
|
|
3015
|
+
export type GetRatingStatusBulkRequest = z.infer<typeof GetRatingStatusBulkRequestSchema>;
|
|
3016
|
+
|
|
2785
3017
|
export const GetRecordingRequestSchema = z.object({
|
|
2786
3018
|
mbid: z.string()
|
|
2787
3019
|
});
|
|
@@ -2802,6 +3034,26 @@ export const GetTaxonRequestSchema = z.object({
|
|
|
2802
3034
|
});
|
|
2803
3035
|
export type GetTaxonRequest = z.infer<typeof GetTaxonRequestSchema>;
|
|
2804
3036
|
|
|
3037
|
+
export const GetVideoRenditionsRequestSchema = z.object({
|
|
3038
|
+
media_blob_id: z.string()
|
|
3039
|
+
});
|
|
3040
|
+
export type GetVideoRenditionsRequest = z.infer<typeof GetVideoRenditionsRequestSchema>;
|
|
3041
|
+
|
|
3042
|
+
export const GetVideoRequestSchema = z.object({
|
|
3043
|
+
id: z.string()
|
|
3044
|
+
});
|
|
3045
|
+
export type GetVideoRequest = z.infer<typeof GetVideoRequestSchema>;
|
|
3046
|
+
|
|
3047
|
+
export const GetVideoSeasonRequestSchema = z.object({
|
|
3048
|
+
id: z.string()
|
|
3049
|
+
});
|
|
3050
|
+
export type GetVideoSeasonRequest = z.infer<typeof GetVideoSeasonRequestSchema>;
|
|
3051
|
+
|
|
3052
|
+
export const GetVideoSeriesRequestSchema = z.object({
|
|
3053
|
+
id: z.string()
|
|
3054
|
+
});
|
|
3055
|
+
export type GetVideoSeriesRequest = z.infer<typeof GetVideoSeriesRequestSchema>;
|
|
3056
|
+
|
|
2805
3057
|
export const HasBlobsRequestSchema = z.object({
|
|
2806
3058
|
blake3s: z.array(z.string()),
|
|
2807
3059
|
sha256s: z.array(z.string())
|
|
@@ -2831,6 +3083,13 @@ export const ImageIngestTargetSchema = z.union([z.object({
|
|
|
2831
3083
|
})]);
|
|
2832
3084
|
export type ImageIngestTarget = z.infer<typeof ImageIngestTargetSchema>;
|
|
2833
3085
|
|
|
3086
|
+
export const ImageMetadataSchema = z.object({
|
|
3087
|
+
blob_id: z.string(),
|
|
3088
|
+
is_primary: z.number(),
|
|
3089
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3090
|
+
});
|
|
3091
|
+
export type ImageMetadata = z.infer<typeof ImageMetadataSchema>;
|
|
3092
|
+
|
|
2834
3093
|
export const ImageUploadResponseSchema = z.object({
|
|
2835
3094
|
blob_id: z.string(),
|
|
2836
3095
|
job_id: z.string(),
|
|
@@ -2879,7 +3138,7 @@ export const JobEventSchema = z.union([z.object({
|
|
|
2879
3138
|
session_id: z.string(),
|
|
2880
3139
|
complete: z.number(),
|
|
2881
3140
|
total: z.number(),
|
|
2882
|
-
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
3141
|
+
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('ImportVideo'), z.literal('TranscodeVideo'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
2883
3142
|
entity_ref: z.union([z.object({
|
|
2884
3143
|
kind: z.literal('album'),
|
|
2885
3144
|
id: z.string()
|
|
@@ -2895,7 +3154,7 @@ export const JobEventSchema = z.union([z.object({
|
|
|
2895
3154
|
job_id: z.string(),
|
|
2896
3155
|
from: z.union([z.literal('pending'), z.literal('running'), z.literal('completed'), z.literal('failed'), z.literal('cancelled')]).nullish(),
|
|
2897
3156
|
to: z.union([z.literal('pending'), z.literal('running'), z.literal('completed'), z.literal('failed'), z.literal('cancelled')]),
|
|
2898
|
-
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
3157
|
+
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('ImportVideo'), z.literal('TranscodeVideo'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
2899
3158
|
entity_ref: z.union([z.object({
|
|
2900
3159
|
kind: z.literal('album'),
|
|
2901
3160
|
id: z.string()
|
|
@@ -2910,7 +3169,7 @@ export const JobEventSchema = z.union([z.object({
|
|
|
2910
3169
|
job_id: z.string(),
|
|
2911
3170
|
error_type: z.string(),
|
|
2912
3171
|
message: z.string(),
|
|
2913
|
-
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
3172
|
+
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('ImportVideo'), z.literal('TranscodeVideo'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
2914
3173
|
entity_ref: z.union([z.object({
|
|
2915
3174
|
kind: z.literal('album'),
|
|
2916
3175
|
id: z.string()
|
|
@@ -2925,7 +3184,7 @@ export const JobEventSchema = z.union([z.object({
|
|
|
2925
3184
|
job_id: z.string(),
|
|
2926
3185
|
stage: z.string(),
|
|
2927
3186
|
message: z.string().nullish(),
|
|
2928
|
-
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
3187
|
+
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('ImportVideo'), z.literal('TranscodeVideo'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
2929
3188
|
entity_ref: z.union([z.object({
|
|
2930
3189
|
kind: z.literal('album'),
|
|
2931
3190
|
id: z.string()
|
|
@@ -2937,7 +3196,7 @@ export const JobEventSchema = z.union([z.object({
|
|
|
2937
3196
|
}), z.object({
|
|
2938
3197
|
kind: z.literal('completed'),
|
|
2939
3198
|
session_id: z.string(),
|
|
2940
|
-
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
3199
|
+
topic: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('ImportVideo'), z.literal('TranscodeVideo'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
2941
3200
|
entity_ref: z.union([z.object({
|
|
2942
3201
|
kind: z.literal('album'),
|
|
2943
3202
|
id: z.string()
|
|
@@ -2975,7 +3234,7 @@ export type JobResponse = z.infer<typeof JobResponseSchema>;
|
|
|
2975
3234
|
export const JobStateSnapshotSchema = z.object({
|
|
2976
3235
|
job_id: z.string(),
|
|
2977
3236
|
session_id: z.string().nullish(),
|
|
2978
|
-
job_type: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
3237
|
+
job_type: z.union([z.literal('ScanDirectory'), z.literal('RescanDirectories'), z.literal('ProcessFile'), z.literal('ProcessDirectory'), z.literal('FetchMedia'), z.literal('PreCheckFetch'), z.literal('ConvertWebp'), z.literal('ImportMusic'), z.literal('ImportVideo'), z.literal('TranscodeVideo'), z.literal('MbAlbumSearch'), z.literal('MbAlbumDetail'), z.literal('LastFmAlbumDetail'), z.literal('LastFmArtistDetail'), z.literal('AudioDbAlbumDetail'), z.literal('AudioDbArtistDetail'), z.literal('AlbumEnrichmentPipeline'), z.literal('AutoApplyAlbumEnrichment')]),
|
|
2979
3238
|
status: z.union([z.literal('pending'), z.literal('running'), z.literal('completed'), z.literal('failed'), z.literal('cancelled')]),
|
|
2980
3239
|
entity_ref: z.union([z.object({
|
|
2981
3240
|
kind: z.literal('album'),
|
|
@@ -3076,13 +3335,19 @@ export type ListBelovedRequest = z.infer<typeof ListBelovedRequestSchema>;
|
|
|
3076
3335
|
|
|
3077
3336
|
export const ListBelovedResponseSchema = z.object({
|
|
3078
3337
|
album_ids: z.array(z.string()),
|
|
3079
|
-
artist_ids: z.array(z.string())
|
|
3338
|
+
artist_ids: z.array(z.string()),
|
|
3339
|
+
video_ids: z.array(z.string())
|
|
3080
3340
|
});
|
|
3081
3341
|
export type ListBelovedResponse = z.infer<typeof ListBelovedResponseSchema>;
|
|
3082
3342
|
|
|
3343
|
+
export const ListEntityTypeTagsRequestSchema = z.object({
|
|
3344
|
+
entity_type: z.string()
|
|
3345
|
+
});
|
|
3346
|
+
export type ListEntityTypeTagsRequest = z.infer<typeof ListEntityTypeTagsRequestSchema>;
|
|
3347
|
+
|
|
3083
3348
|
export const ListFavoritesRequestSchema = z.object({
|
|
3084
3349
|
user_id: z.string().nullish(),
|
|
3085
|
-
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("taxon"), z.literal("playlist")]).nullish(),
|
|
3350
|
+
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("taxon"), z.literal("playlist"), z.literal("video"), z.literal("video_series")]).nullish(),
|
|
3086
3351
|
limit: z.number().nullish(),
|
|
3087
3352
|
offset: z.number().nullish()
|
|
3088
3353
|
});
|
|
@@ -3100,7 +3365,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3100
3365
|
images: z.array(z.object({
|
|
3101
3366
|
blob_id: z.string(),
|
|
3102
3367
|
is_primary: z.number(),
|
|
3103
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3368
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3104
3369
|
})).nullish(),
|
|
3105
3370
|
urls: z.array(z.object({
|
|
3106
3371
|
id: z.string().nullish(),
|
|
@@ -3132,7 +3397,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3132
3397
|
images: z.array(z.object({
|
|
3133
3398
|
blob_id: z.string(),
|
|
3134
3399
|
is_primary: z.number(),
|
|
3135
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3400
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3136
3401
|
})).nullish(),
|
|
3137
3402
|
urls: z.array(z.object({
|
|
3138
3403
|
id: z.string().nullish(),
|
|
@@ -3164,7 +3429,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3164
3429
|
images: z.array(z.object({
|
|
3165
3430
|
blob_id: z.string(),
|
|
3166
3431
|
is_primary: z.number(),
|
|
3167
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3432
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3168
3433
|
})).nullish(),
|
|
3169
3434
|
urls: z.array(z.object({
|
|
3170
3435
|
id: z.string().nullish(),
|
|
@@ -3199,7 +3464,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3199
3464
|
source_client_id: z.string().nullish(),
|
|
3200
3465
|
filename: z.string().nullish(),
|
|
3201
3466
|
parent_blob_id: z.string().nullish(),
|
|
3202
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
3467
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
3203
3468
|
metadata: z.any(),
|
|
3204
3469
|
created_at: z.number(),
|
|
3205
3470
|
updated_at: z.number(),
|
|
@@ -3214,7 +3479,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3214
3479
|
images: z.array(z.object({
|
|
3215
3480
|
blob_id: z.string(),
|
|
3216
3481
|
is_primary: z.number(),
|
|
3217
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3482
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3218
3483
|
})).nullish(),
|
|
3219
3484
|
relevance_score: z.number().nullish(),
|
|
3220
3485
|
snippet: z.string().nullish(),
|
|
@@ -3252,7 +3517,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3252
3517
|
images: z.array(z.object({
|
|
3253
3518
|
blob_id: z.string(),
|
|
3254
3519
|
is_primary: z.number(),
|
|
3255
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3520
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3256
3521
|
})).nullish(),
|
|
3257
3522
|
urls: z.array(z.object({
|
|
3258
3523
|
id: z.string().nullish(),
|
|
@@ -3281,7 +3546,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3281
3546
|
images: z.array(z.object({
|
|
3282
3547
|
blob_id: z.string(),
|
|
3283
3548
|
is_primary: z.number(),
|
|
3284
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3549
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3285
3550
|
})).nullish(),
|
|
3286
3551
|
urls: z.array(z.object({
|
|
3287
3552
|
id: z.string().nullish(),
|
|
@@ -3303,7 +3568,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3303
3568
|
images: z.array(z.object({
|
|
3304
3569
|
blob_id: z.string(),
|
|
3305
3570
|
is_primary: z.number(),
|
|
3306
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3571
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3307
3572
|
})).nullish(),
|
|
3308
3573
|
album_tags: z.array(z.string()).nullish(),
|
|
3309
3574
|
is_favorite: z.boolean().nullish(),
|
|
@@ -3323,7 +3588,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3323
3588
|
images: z.array(z.object({
|
|
3324
3589
|
blob_id: z.string(),
|
|
3325
3590
|
is_primary: z.number(),
|
|
3326
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3591
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3327
3592
|
})).nullish(),
|
|
3328
3593
|
urls: z.array(z.object({
|
|
3329
3594
|
id: z.string().nullish(),
|
|
@@ -3340,7 +3605,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3340
3605
|
images: z.array(z.object({
|
|
3341
3606
|
blob_id: z.string(),
|
|
3342
3607
|
is_primary: z.number(),
|
|
3343
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3608
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3344
3609
|
})).nullish(),
|
|
3345
3610
|
song_count: z.number(),
|
|
3346
3611
|
album_count: z.number(),
|
|
@@ -3363,7 +3628,7 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3363
3628
|
images: z.array(z.object({
|
|
3364
3629
|
blob_id: z.string(),
|
|
3365
3630
|
is_primary: z.number(),
|
|
3366
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
3631
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3367
3632
|
})).nullish(),
|
|
3368
3633
|
urls: z.array(z.object({
|
|
3369
3634
|
id: z.string().nullish(),
|
|
@@ -3384,6 +3649,51 @@ export const ListFavoritesResponseSchema = z.object({
|
|
|
3384
3649
|
is_favorite: z.boolean().nullish(),
|
|
3385
3650
|
play_count: z.number().nullish()
|
|
3386
3651
|
})
|
|
3652
|
+
})), z.intersection(z.object({
|
|
3653
|
+
type: z.literal('Video')
|
|
3654
|
+
}), z.object({
|
|
3655
|
+
favorited_at: z.number(),
|
|
3656
|
+
video: z.object({
|
|
3657
|
+
id: z.string(),
|
|
3658
|
+
series_id: z.string().nullish(),
|
|
3659
|
+
season_id: z.string().nullish(),
|
|
3660
|
+
episode_number: z.number().nullish(),
|
|
3661
|
+
content_type: z.string(),
|
|
3662
|
+
title: z.string(),
|
|
3663
|
+
description: z.string().nullish(),
|
|
3664
|
+
media_blob_id: z.string(),
|
|
3665
|
+
poster_blob_id: z.string().nullish(),
|
|
3666
|
+
duration_seconds: z.number().nullish(),
|
|
3667
|
+
release_date: z.string().nullish(),
|
|
3668
|
+
created_at: z.number(),
|
|
3669
|
+
updated_at: z.number(),
|
|
3670
|
+
deleted_at: z.number().nullish(),
|
|
3671
|
+
created_by: z.string().nullish(),
|
|
3672
|
+
updated_by: z.string().nullish(),
|
|
3673
|
+
deleted_by: z.string().nullish(),
|
|
3674
|
+
images: z.array(z.object({
|
|
3675
|
+
blob_id: z.string(),
|
|
3676
|
+
is_primary: z.number(),
|
|
3677
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3678
|
+
})).nullish(),
|
|
3679
|
+
play_count: z.number().nullish()
|
|
3680
|
+
})
|
|
3681
|
+
})), z.intersection(z.object({
|
|
3682
|
+
type: z.literal('VideoSeries')
|
|
3683
|
+
}), z.object({
|
|
3684
|
+
favorited_at: z.number(),
|
|
3685
|
+
series: z.object({
|
|
3686
|
+
id: z.string(),
|
|
3687
|
+
title: z.string(),
|
|
3688
|
+
description: z.string().nullish(),
|
|
3689
|
+
poster_blob_id: z.string().nullish(),
|
|
3690
|
+
created_at: z.number(),
|
|
3691
|
+
updated_at: z.number(),
|
|
3692
|
+
deleted_at: z.number().nullish(),
|
|
3693
|
+
created_by: z.string().nullish(),
|
|
3694
|
+
updated_by: z.string().nullish(),
|
|
3695
|
+
deleted_by: z.string().nullish()
|
|
3696
|
+
})
|
|
3387
3697
|
}))])),
|
|
3388
3698
|
total_count: z.number(),
|
|
3389
3699
|
has_more: z.boolean(),
|
|
@@ -3400,28 +3710,46 @@ export const ListJobsRequestSchema = z.object({
|
|
|
3400
3710
|
});
|
|
3401
3711
|
export type ListJobsRequest = z.infer<typeof ListJobsRequestSchema>;
|
|
3402
3712
|
|
|
3403
|
-
export const
|
|
3713
|
+
export const ListPendingReviewRequestSchema = z.object({
|
|
3714
|
+
session_id: z.string().nullish()
|
|
3715
|
+
});
|
|
3716
|
+
export type ListPendingReviewRequest = z.infer<typeof ListPendingReviewRequestSchema>;
|
|
3717
|
+
|
|
3718
|
+
export const ListPendingVideoReviewRequestSchema = z.object({
|
|
3719
|
+
session_id: z.string().nullish()
|
|
3720
|
+
});
|
|
3721
|
+
export type ListPendingVideoReviewRequest = z.infer<typeof ListPendingVideoReviewRequestSchema>;
|
|
3722
|
+
|
|
3723
|
+
export const ListPlaybackProgressRequestSchema = z.object({
|
|
3724
|
+
limit: z.number().nullish()
|
|
3725
|
+
});
|
|
3726
|
+
export type ListPlaybackProgressRequest = z.infer<typeof ListPlaybackProgressRequestSchema>;
|
|
3727
|
+
|
|
3728
|
+
export const ListPlaybackSessionsRequestSchema = z.object({
|
|
3404
3729
|
user_id: z.string().nullish(),
|
|
3405
3730
|
status: z.string().nullish(),
|
|
3406
3731
|
limit: z.number().nullish(),
|
|
3407
3732
|
offset: z.number().nullish()
|
|
3408
3733
|
});
|
|
3409
|
-
export type
|
|
3734
|
+
export type ListPlaybackSessionsRequest = z.infer<typeof ListPlaybackSessionsRequestSchema>;
|
|
3410
3735
|
|
|
3411
|
-
export const
|
|
3736
|
+
export const ListPlaybackSessionsResponseSchema = z.object({
|
|
3412
3737
|
items: z.array(z.object({
|
|
3413
3738
|
id: z.string(),
|
|
3414
3739
|
user_id: z.string(),
|
|
3415
|
-
session_type: z.union([z.literal("song"), z.literal("album"), z.literal("artist"), z.literal("taxon"), z.literal("playlist"), z.literal("shuffle"), z.literal("radio")]),
|
|
3740
|
+
session_type: z.union([z.literal("song"), z.literal("album"), z.literal("artist"), z.literal("taxon"), z.literal("playlist"), z.literal("shuffle"), z.literal("radio"), z.literal("video"), z.literal("video_series"), z.literal("video_season"), z.literal("mixed")]),
|
|
3416
3741
|
entity_id: z.string().nullish(),
|
|
3417
3742
|
label: z.string(),
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3743
|
+
items: z.array(z.object({
|
|
3744
|
+
entity_type: z.string(),
|
|
3745
|
+
entity_id: z.string()
|
|
3746
|
+
})),
|
|
3747
|
+
total_items: z.number(),
|
|
3748
|
+
items_completed: z.number(),
|
|
3421
3749
|
total_duration_ms: z.number(),
|
|
3422
|
-
|
|
3423
|
-
|
|
3424
|
-
|
|
3750
|
+
played_duration_ms: z.number(),
|
|
3751
|
+
current_item_index: z.number(),
|
|
3752
|
+
current_item_position_ms: z.number(),
|
|
3425
3753
|
status: z.union([z.literal("active"), z.literal("paused"), z.literal("completed"), z.literal("abandoned")]),
|
|
3426
3754
|
created_at: z.number(),
|
|
3427
3755
|
updated_at: z.number(),
|
|
@@ -3430,12 +3758,12 @@ export const ListListenSessionsResponseSchema = z.object({
|
|
|
3430
3758
|
})),
|
|
3431
3759
|
total: z.number()
|
|
3432
3760
|
});
|
|
3433
|
-
export type
|
|
3761
|
+
export type ListPlaybackSessionsResponse = z.infer<typeof ListPlaybackSessionsResponseSchema>;
|
|
3434
3762
|
|
|
3435
|
-
export const
|
|
3436
|
-
|
|
3763
|
+
export const ListPlaylistItemsRequestSchema = z.object({
|
|
3764
|
+
playlist_id: z.string()
|
|
3437
3765
|
});
|
|
3438
|
-
export type
|
|
3766
|
+
export type ListPlaylistItemsRequest = z.infer<typeof ListPlaylistItemsRequestSchema>;
|
|
3439
3767
|
|
|
3440
3768
|
export const ListRelatedArtistsBatchRequestSchema = z.object({
|
|
3441
3769
|
artist_ids: z.array(z.string()),
|
|
@@ -3514,6 +3842,11 @@ export const ListRelatedArtistsResponseSchema = z.object({
|
|
|
3514
3842
|
});
|
|
3515
3843
|
export type ListRelatedArtistsResponse = z.infer<typeof ListRelatedArtistsResponseSchema>;
|
|
3516
3844
|
|
|
3845
|
+
export const ListTaxonKindsRequestSchema = z.object({
|
|
3846
|
+
domain: z.string().nullish()
|
|
3847
|
+
});
|
|
3848
|
+
export type ListTaxonKindsRequest = z.infer<typeof ListTaxonKindsRequestSchema>;
|
|
3849
|
+
|
|
3517
3850
|
export const ListTaxonParentsForKindRequestSchema = z.object({
|
|
3518
3851
|
kind_slug: z.string()
|
|
3519
3852
|
});
|
|
@@ -3524,37 +3857,37 @@ export const ListTaxonsByKindRequestSchema = z.object({
|
|
|
3524
3857
|
});
|
|
3525
3858
|
export type ListTaxonsByKindRequest = z.infer<typeof ListTaxonsByKindRequestSchema>;
|
|
3526
3859
|
|
|
3527
|
-
export const
|
|
3528
|
-
|
|
3529
|
-
user_id: z.string(),
|
|
3530
|
-
session_type: z.union([z.literal("song"), z.literal("album"), z.literal("artist"), z.literal("taxon"), z.literal("playlist"), z.literal("shuffle"), z.literal("radio")]),
|
|
3531
|
-
entity_id: z.string().nullish(),
|
|
3532
|
-
label: z.string(),
|
|
3533
|
-
song_ids: z.array(z.string()),
|
|
3534
|
-
total_songs: z.number(),
|
|
3535
|
-
songs_completed: z.number(),
|
|
3536
|
-
total_duration_ms: z.number(),
|
|
3537
|
-
listened_duration_ms: z.number(),
|
|
3538
|
-
current_song_index: z.number(),
|
|
3539
|
-
current_song_position_ms: z.number(),
|
|
3540
|
-
status: z.union([z.literal("active"), z.literal("paused"), z.literal("completed"), z.literal("abandoned")]),
|
|
3541
|
-
created_at: z.number(),
|
|
3542
|
-
updated_at: z.number(),
|
|
3543
|
-
username: z.string().nullish(),
|
|
3544
|
-
progress_percent: z.number().nullish()
|
|
3860
|
+
export const ListVideoSeasonsRequestSchema = z.object({
|
|
3861
|
+
series_id: z.string().nullish()
|
|
3545
3862
|
});
|
|
3546
|
-
export type
|
|
3863
|
+
export type ListVideoSeasonsRequest = z.infer<typeof ListVideoSeasonsRequestSchema>;
|
|
3547
3864
|
|
|
3548
|
-
export const
|
|
3549
|
-
|
|
3865
|
+
export const ListVideoSeriesRequestSchema = z.object({
|
|
3866
|
+
limit: z.number().nullish(),
|
|
3867
|
+
offset: z.number().nullish()
|
|
3868
|
+
});
|
|
3869
|
+
export type ListVideoSeriesRequest = z.infer<typeof ListVideoSeriesRequestSchema>;
|
|
3550
3870
|
|
|
3551
|
-
export const
|
|
3552
|
-
|
|
3871
|
+
export const ListVideosBySeasonRequestSchema = z.object({
|
|
3872
|
+
season_id: z.string()
|
|
3873
|
+
});
|
|
3874
|
+
export type ListVideosBySeasonRequest = z.infer<typeof ListVideosBySeasonRequestSchema>;
|
|
3553
3875
|
|
|
3554
|
-
export const
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3876
|
+
export const ListVideosBySeriesRequestSchema = z.object({
|
|
3877
|
+
series_id: z.string()
|
|
3878
|
+
});
|
|
3879
|
+
export type ListVideosBySeriesRequest = z.infer<typeof ListVideosBySeriesRequestSchema>;
|
|
3880
|
+
|
|
3881
|
+
export const ListVideosUnattachedRequestSchema = z.object({
|
|
3882
|
+
limit: z.number().nullish(),
|
|
3883
|
+
offset: z.number().nullish()
|
|
3884
|
+
});
|
|
3885
|
+
export type ListVideosUnattachedRequest = z.infer<typeof ListVideosUnattachedRequestSchema>;
|
|
3886
|
+
|
|
3887
|
+
export const ListeningHistoryItemSchema = z.object({
|
|
3888
|
+
id: z.string(),
|
|
3889
|
+
media_event_id: z.string(),
|
|
3890
|
+
song_id: z.string(),
|
|
3558
3891
|
title: z.string(),
|
|
3559
3892
|
artist: z.string().nullish(),
|
|
3560
3893
|
album: z.string().nullish(),
|
|
@@ -3609,6 +3942,12 @@ export const MarkAlbumReviewedRequestSchema = z.object({
|
|
|
3609
3942
|
});
|
|
3610
3943
|
export type MarkAlbumReviewedRequest = z.infer<typeof MarkAlbumReviewedRequestSchema>;
|
|
3611
3944
|
|
|
3945
|
+
export const MarkVideoGroupReviewedRequestSchema = z.object({
|
|
3946
|
+
group_key: z.string(),
|
|
3947
|
+
session_id: z.string()
|
|
3948
|
+
});
|
|
3949
|
+
export type MarkVideoGroupReviewedRequest = z.infer<typeof MarkVideoGroupReviewedRequestSchema>;
|
|
3950
|
+
|
|
3612
3951
|
export const MbAlbumDetailParamsSchema = z.object({
|
|
3613
3952
|
album_id: z.string(),
|
|
3614
3953
|
release_group_id: z.string(),
|
|
@@ -3906,7 +4245,7 @@ export const MediaBlobSchema = z.object({
|
|
|
3906
4245
|
source_client_id: z.string().nullish(),
|
|
3907
4246
|
filename: z.string().nullish(),
|
|
3908
4247
|
parent_blob_id: z.string().nullish(),
|
|
3909
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
4248
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
3910
4249
|
metadata: z.any(),
|
|
3911
4250
|
created_at: z.number(),
|
|
3912
4251
|
updated_at: z.number(),
|
|
@@ -3947,7 +4286,7 @@ export const MergedKeyMatchSchema = z.object({
|
|
|
3947
4286
|
images: z.array(z.object({
|
|
3948
4287
|
blob_id: z.string(),
|
|
3949
4288
|
is_primary: z.number(),
|
|
3950
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4289
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3951
4290
|
})).nullish(),
|
|
3952
4291
|
urls: z.array(z.object({
|
|
3953
4292
|
id: z.string().nullish(),
|
|
@@ -3976,7 +4315,7 @@ export const MergedKeyMatchSchema = z.object({
|
|
|
3976
4315
|
images: z.array(z.object({
|
|
3977
4316
|
blob_id: z.string(),
|
|
3978
4317
|
is_primary: z.number(),
|
|
3979
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4318
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
3980
4319
|
})).nullish(),
|
|
3981
4320
|
urls: z.array(z.object({
|
|
3982
4321
|
id: z.string().nullish(),
|
|
@@ -3996,10 +4335,25 @@ export type MergedKeyMatch = z.infer<typeof MergedKeyMatchSchema>;
|
|
|
3996
4335
|
export const MoveSongReviewRequestSchema = z.object({
|
|
3997
4336
|
session_id: z.string(),
|
|
3998
4337
|
song_id: z.string(),
|
|
3999
|
-
to_album_id: z.string()
|
|
4338
|
+
to_album_id: z.string().nullish(),
|
|
4339
|
+
new_album_title: z.string().nullish(),
|
|
4340
|
+
new_album_artist_name: z.string().nullish()
|
|
4000
4341
|
});
|
|
4001
4342
|
export type MoveSongReviewRequest = z.infer<typeof MoveSongReviewRequestSchema>;
|
|
4002
4343
|
|
|
4344
|
+
export const MoveVideoReviewRequestSchema = z.object({
|
|
4345
|
+
video_id: z.string(),
|
|
4346
|
+
to_series_id: z.string().nullish(),
|
|
4347
|
+
to_season_id: z.string().nullish(),
|
|
4348
|
+
content_type: z.string().nullish(),
|
|
4349
|
+
new_series_title: z.string().nullish(),
|
|
4350
|
+
new_season: z.object({
|
|
4351
|
+
season_number: z.number(),
|
|
4352
|
+
title: z.string().nullish()
|
|
4353
|
+
}).nullish()
|
|
4354
|
+
});
|
|
4355
|
+
export type MoveVideoReviewRequest = z.infer<typeof MoveVideoReviewRequestSchema>;
|
|
4356
|
+
|
|
4003
4357
|
export const MusicImportResponseSchema = z.object({
|
|
4004
4358
|
session_id: z.string(),
|
|
4005
4359
|
jobs_created: z.number(),
|
|
@@ -4070,6 +4424,25 @@ export const PatchAlbumReviewRequestSchema = z.object({
|
|
|
4070
4424
|
});
|
|
4071
4425
|
export type PatchAlbumReviewRequest = z.infer<typeof PatchAlbumReviewRequestSchema>;
|
|
4072
4426
|
|
|
4427
|
+
export const PatchVideoGroupReviewRequestSchema = z.object({
|
|
4428
|
+
group_key: z.string(),
|
|
4429
|
+
session_id: z.string(),
|
|
4430
|
+
series_title: z.string().nullish(),
|
|
4431
|
+
series_description: z.string().nullish(),
|
|
4432
|
+
videos: z.array(z.object({
|
|
4433
|
+
video_id: z.string(),
|
|
4434
|
+
title: z.string().nullish(),
|
|
4435
|
+
episode_number: z.number().nullish(),
|
|
4436
|
+
season_id: z.string().nullish(),
|
|
4437
|
+
new_season: z.object({
|
|
4438
|
+
season_number: z.number(),
|
|
4439
|
+
title: z.string().nullish()
|
|
4440
|
+
}).nullish(),
|
|
4441
|
+
content_type: z.string().nullish()
|
|
4442
|
+
})).nullish()
|
|
4443
|
+
});
|
|
4444
|
+
export type PatchVideoGroupReviewRequest = z.infer<typeof PatchVideoGroupReviewRequestSchema>;
|
|
4445
|
+
|
|
4073
4446
|
export const PendingReviewAlbumSchema = z.object({
|
|
4074
4447
|
album_id: z.string(),
|
|
4075
4448
|
title: z.string(),
|
|
@@ -4097,6 +4470,58 @@ export const PendingReviewSessionSchema = z.object({
|
|
|
4097
4470
|
});
|
|
4098
4471
|
export type PendingReviewSession = z.infer<typeof PendingReviewSessionSchema>;
|
|
4099
4472
|
|
|
4473
|
+
export const PendingReviewVideoSummarySchema = z.object({
|
|
4474
|
+
video_id: z.string(),
|
|
4475
|
+
title: z.string(),
|
|
4476
|
+
content_type: z.string(),
|
|
4477
|
+
season_id: z.string().nullish(),
|
|
4478
|
+
season_number: z.number().nullish(),
|
|
4479
|
+
season_title: z.string().nullish(),
|
|
4480
|
+
episode_number: z.number().nullish()
|
|
4481
|
+
});
|
|
4482
|
+
export type PendingReviewVideoSummary = z.infer<typeof PendingReviewVideoSummarySchema>;
|
|
4483
|
+
|
|
4484
|
+
export const PendingVideoReviewGroupSchema = z.object({
|
|
4485
|
+
group_key: z.string(),
|
|
4486
|
+
series_id: z.string().nullish(),
|
|
4487
|
+
series_title: z.string().nullish(),
|
|
4488
|
+
poster_blob_id: z.string().nullish(),
|
|
4489
|
+
videos: z.array(z.object({
|
|
4490
|
+
video_id: z.string(),
|
|
4491
|
+
title: z.string(),
|
|
4492
|
+
content_type: z.string(),
|
|
4493
|
+
season_id: z.string().nullish(),
|
|
4494
|
+
season_number: z.number().nullish(),
|
|
4495
|
+
season_title: z.string().nullish(),
|
|
4496
|
+
episode_number: z.number().nullish()
|
|
4497
|
+
})),
|
|
4498
|
+
pending_blob_count: z.number()
|
|
4499
|
+
});
|
|
4500
|
+
export type PendingVideoReviewGroup = z.infer<typeof PendingVideoReviewGroupSchema>;
|
|
4501
|
+
|
|
4502
|
+
export const PendingVideoReviewSessionSchema = z.object({
|
|
4503
|
+
session_id: z.string(),
|
|
4504
|
+
created_at: z.number(),
|
|
4505
|
+
uploader_username: z.string().nullish(),
|
|
4506
|
+
groups: z.array(z.object({
|
|
4507
|
+
group_key: z.string(),
|
|
4508
|
+
series_id: z.string().nullish(),
|
|
4509
|
+
series_title: z.string().nullish(),
|
|
4510
|
+
poster_blob_id: z.string().nullish(),
|
|
4511
|
+
videos: z.array(z.object({
|
|
4512
|
+
video_id: z.string(),
|
|
4513
|
+
title: z.string(),
|
|
4514
|
+
content_type: z.string(),
|
|
4515
|
+
season_id: z.string().nullish(),
|
|
4516
|
+
season_number: z.number().nullish(),
|
|
4517
|
+
season_title: z.string().nullish(),
|
|
4518
|
+
episode_number: z.number().nullish()
|
|
4519
|
+
})),
|
|
4520
|
+
pending_blob_count: z.number()
|
|
4521
|
+
}))
|
|
4522
|
+
});
|
|
4523
|
+
export type PendingVideoReviewSession = z.infer<typeof PendingVideoReviewSessionSchema>;
|
|
4524
|
+
|
|
4100
4525
|
export const PlayAnalyticsSchema = z.object({
|
|
4101
4526
|
song_id: z.string(),
|
|
4102
4527
|
total_plays: z.number(),
|
|
@@ -4112,6 +4537,49 @@ export const PlayAnalyticsSchema = z.object({
|
|
|
4112
4537
|
});
|
|
4113
4538
|
export type PlayAnalytics = z.infer<typeof PlayAnalyticsSchema>;
|
|
4114
4539
|
|
|
4540
|
+
export const PlaybackProgressSchema = z.object({
|
|
4541
|
+
user_id: z.string(),
|
|
4542
|
+
entity_type: z.string(),
|
|
4543
|
+
entity_id: z.string(),
|
|
4544
|
+
position_fraction: z.number(),
|
|
4545
|
+
position_seconds: z.number().nullish(),
|
|
4546
|
+
duration_seconds: z.number().nullish(),
|
|
4547
|
+
position_locator: z.string().nullish(),
|
|
4548
|
+
completed_at: z.number().nullish(),
|
|
4549
|
+
updated_at: z.number()
|
|
4550
|
+
});
|
|
4551
|
+
export type PlaybackProgress = z.infer<typeof PlaybackProgressSchema>;
|
|
4552
|
+
|
|
4553
|
+
export const PlaybackSessionSchema = z.object({
|
|
4554
|
+
id: z.string(),
|
|
4555
|
+
user_id: z.string(),
|
|
4556
|
+
session_type: z.union([z.literal("song"), z.literal("album"), z.literal("artist"), z.literal("taxon"), z.literal("playlist"), z.literal("shuffle"), z.literal("radio"), z.literal("video"), z.literal("video_series"), z.literal("video_season"), z.literal("mixed")]),
|
|
4557
|
+
entity_id: z.string().nullish(),
|
|
4558
|
+
label: z.string(),
|
|
4559
|
+
items: z.array(z.object({
|
|
4560
|
+
entity_type: z.string(),
|
|
4561
|
+
entity_id: z.string()
|
|
4562
|
+
})),
|
|
4563
|
+
total_items: z.number(),
|
|
4564
|
+
items_completed: z.number(),
|
|
4565
|
+
total_duration_ms: z.number(),
|
|
4566
|
+
played_duration_ms: z.number(),
|
|
4567
|
+
current_item_index: z.number(),
|
|
4568
|
+
current_item_position_ms: z.number(),
|
|
4569
|
+
status: z.union([z.literal("active"), z.literal("paused"), z.literal("completed"), z.literal("abandoned")]),
|
|
4570
|
+
created_at: z.number(),
|
|
4571
|
+
updated_at: z.number(),
|
|
4572
|
+
username: z.string().nullish(),
|
|
4573
|
+
progress_percent: z.number().nullish()
|
|
4574
|
+
});
|
|
4575
|
+
export type PlaybackSession = z.infer<typeof PlaybackSessionSchema>;
|
|
4576
|
+
|
|
4577
|
+
export const PlaybackSessionStatusSchema = z.union([z.literal("active"), z.literal("paused"), z.literal("completed"), z.literal("abandoned")]);
|
|
4578
|
+
export type PlaybackSessionStatus = z.infer<typeof PlaybackSessionStatusSchema>;
|
|
4579
|
+
|
|
4580
|
+
export const PlaybackSessionTypeSchema = z.union([z.literal("song"), z.literal("album"), z.literal("artist"), z.literal("taxon"), z.literal("playlist"), z.literal("shuffle"), z.literal("radio"), z.literal("video"), z.literal("video_series"), z.literal("video_season"), z.literal("mixed")]);
|
|
4581
|
+
export type PlaybackSessionType = z.infer<typeof PlaybackSessionTypeSchema>;
|
|
4582
|
+
|
|
4115
4583
|
export const PlayerCommandSchema = z.union([
|
|
4116
4584
|
z.object({ kind: z.literal("load"), paths: z.array(z.string()) }),
|
|
4117
4585
|
z.object({ kind: z.literal("enqueue"), paths: z.array(z.string()) }),
|
|
@@ -4158,7 +4626,7 @@ export const PlaylistSchema = z.object({
|
|
|
4158
4626
|
images: z.array(z.object({
|
|
4159
4627
|
blob_id: z.string(),
|
|
4160
4628
|
is_primary: z.number(),
|
|
4161
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4629
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4162
4630
|
})).nullish(),
|
|
4163
4631
|
urls: z.array(z.object({
|
|
4164
4632
|
id: z.string().nullish(),
|
|
@@ -4176,6 +4644,23 @@ export const PlaylistSchema = z.object({
|
|
|
4176
4644
|
});
|
|
4177
4645
|
export type Playlist = z.infer<typeof PlaylistSchema>;
|
|
4178
4646
|
|
|
4647
|
+
export const PlaylistItemSchema = z.object({
|
|
4648
|
+
id: z.string(),
|
|
4649
|
+
playlist_id: z.string(),
|
|
4650
|
+
entity_type: z.string(),
|
|
4651
|
+
entity_id: z.string(),
|
|
4652
|
+
position: z.number(),
|
|
4653
|
+
added_at: z.number(),
|
|
4654
|
+
added_by: z.string().nullish()
|
|
4655
|
+
});
|
|
4656
|
+
export type PlaylistItem = z.infer<typeof PlaylistItemSchema>;
|
|
4657
|
+
|
|
4658
|
+
export const PlaylistItemRefSchema = z.object({
|
|
4659
|
+
entity_type: z.string(),
|
|
4660
|
+
entity_id: z.string()
|
|
4661
|
+
});
|
|
4662
|
+
export type PlaylistItemRef = z.infer<typeof PlaylistItemRefSchema>;
|
|
4663
|
+
|
|
4179
4664
|
export const PlaylistQueryResultSchema = z.object({
|
|
4180
4665
|
playlist: z.object({
|
|
4181
4666
|
id: z.string(),
|
|
@@ -4185,7 +4670,7 @@ export const PlaylistQueryResultSchema = z.object({
|
|
|
4185
4670
|
images: z.array(z.object({
|
|
4186
4671
|
blob_id: z.string(),
|
|
4187
4672
|
is_primary: z.number(),
|
|
4188
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4673
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4189
4674
|
})).nullish(),
|
|
4190
4675
|
urls: z.array(z.object({
|
|
4191
4676
|
id: z.string().nullish(),
|
|
@@ -4229,7 +4714,7 @@ export const PlaylistSongResultSchema = z.object({
|
|
|
4229
4714
|
images: z.array(z.object({
|
|
4230
4715
|
blob_id: z.string(),
|
|
4231
4716
|
is_primary: z.number(),
|
|
4232
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4717
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4233
4718
|
})).nullish(),
|
|
4234
4719
|
urls: z.array(z.object({
|
|
4235
4720
|
id: z.string().nullish(),
|
|
@@ -4261,7 +4746,7 @@ export const PlaylistSongResultSchema = z.object({
|
|
|
4261
4746
|
images: z.array(z.object({
|
|
4262
4747
|
blob_id: z.string(),
|
|
4263
4748
|
is_primary: z.number(),
|
|
4264
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4749
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4265
4750
|
})).nullish(),
|
|
4266
4751
|
urls: z.array(z.object({
|
|
4267
4752
|
id: z.string().nullish(),
|
|
@@ -4293,7 +4778,7 @@ export const PlaylistSongResultSchema = z.object({
|
|
|
4293
4778
|
images: z.array(z.object({
|
|
4294
4779
|
blob_id: z.string(),
|
|
4295
4780
|
is_primary: z.number(),
|
|
4296
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4781
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4297
4782
|
})).nullish(),
|
|
4298
4783
|
urls: z.array(z.object({
|
|
4299
4784
|
id: z.string().nullish(),
|
|
@@ -4328,7 +4813,7 @@ export const PlaylistSongResultSchema = z.object({
|
|
|
4328
4813
|
source_client_id: z.string().nullish(),
|
|
4329
4814
|
filename: z.string().nullish(),
|
|
4330
4815
|
parent_blob_id: z.string().nullish(),
|
|
4331
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
4816
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
4332
4817
|
metadata: z.any(),
|
|
4333
4818
|
created_at: z.number(),
|
|
4334
4819
|
updated_at: z.number(),
|
|
@@ -4343,7 +4828,7 @@ export const PlaylistSongResultSchema = z.object({
|
|
|
4343
4828
|
images: z.array(z.object({
|
|
4344
4829
|
blob_id: z.string(),
|
|
4345
4830
|
is_primary: z.number(),
|
|
4346
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4831
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4347
4832
|
})).nullish(),
|
|
4348
4833
|
relevance_score: z.number().nullish(),
|
|
4349
4834
|
snippet: z.string().nullish(),
|
|
@@ -4372,7 +4857,7 @@ export const PlaylistSongsQueryResultSchema = z.object({
|
|
|
4372
4857
|
images: z.array(z.object({
|
|
4373
4858
|
blob_id: z.string(),
|
|
4374
4859
|
is_primary: z.number(),
|
|
4375
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4860
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4376
4861
|
})).nullish(),
|
|
4377
4862
|
urls: z.array(z.object({
|
|
4378
4863
|
id: z.string().nullish(),
|
|
@@ -4404,7 +4889,7 @@ export const PlaylistSongsQueryResultSchema = z.object({
|
|
|
4404
4889
|
images: z.array(z.object({
|
|
4405
4890
|
blob_id: z.string(),
|
|
4406
4891
|
is_primary: z.number(),
|
|
4407
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4892
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4408
4893
|
})).nullish(),
|
|
4409
4894
|
urls: z.array(z.object({
|
|
4410
4895
|
id: z.string().nullish(),
|
|
@@ -4436,7 +4921,7 @@ export const PlaylistSongsQueryResultSchema = z.object({
|
|
|
4436
4921
|
images: z.array(z.object({
|
|
4437
4922
|
blob_id: z.string(),
|
|
4438
4923
|
is_primary: z.number(),
|
|
4439
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4924
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4440
4925
|
})).nullish(),
|
|
4441
4926
|
urls: z.array(z.object({
|
|
4442
4927
|
id: z.string().nullish(),
|
|
@@ -4471,7 +4956,7 @@ export const PlaylistSongsQueryResultSchema = z.object({
|
|
|
4471
4956
|
source_client_id: z.string().nullish(),
|
|
4472
4957
|
filename: z.string().nullish(),
|
|
4473
4958
|
parent_blob_id: z.string().nullish(),
|
|
4474
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
4959
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
4475
4960
|
metadata: z.any(),
|
|
4476
4961
|
created_at: z.number(),
|
|
4477
4962
|
updated_at: z.number(),
|
|
@@ -4486,7 +4971,7 @@ export const PlaylistSongsQueryResultSchema = z.object({
|
|
|
4486
4971
|
images: z.array(z.object({
|
|
4487
4972
|
blob_id: z.string(),
|
|
4488
4973
|
is_primary: z.number(),
|
|
4489
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
4974
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4490
4975
|
})).nullish(),
|
|
4491
4976
|
relevance_score: z.number().nullish(),
|
|
4492
4977
|
snippet: z.string().nullish(),
|
|
@@ -4522,7 +5007,7 @@ export const PlaylistsQueryResultSchema = z.object({
|
|
|
4522
5007
|
images: z.array(z.object({
|
|
4523
5008
|
blob_id: z.string(),
|
|
4524
5009
|
is_primary: z.number(),
|
|
4525
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
5010
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
4526
5011
|
})).nullish(),
|
|
4527
5012
|
urls: z.array(z.object({
|
|
4528
5013
|
id: z.string().nullish(),
|
|
@@ -4816,6 +5301,28 @@ export const QueryTaxonsRequestSchema = z.object({
|
|
|
4816
5301
|
});
|
|
4817
5302
|
export type QueryTaxonsRequest = z.infer<typeof QueryTaxonsRequestSchema>;
|
|
4818
5303
|
|
|
5304
|
+
export const QueryVideosRequestSchema = z.object({
|
|
5305
|
+
params: z.object({
|
|
5306
|
+
q: z.string().nullish(),
|
|
5307
|
+
search_fields: z.array(z.string()).nullish(),
|
|
5308
|
+
filters: z.record(z.string(), z.any()),
|
|
5309
|
+
sort_by: z.string().nullish(),
|
|
5310
|
+
sort_direction: z.string().nullish(),
|
|
5311
|
+
limit: z.number().nullish(),
|
|
5312
|
+
offset: z.number().nullish(),
|
|
5313
|
+
user_id: z.string().nullish(),
|
|
5314
|
+
favorites_only: z.boolean().nullish(),
|
|
5315
|
+
min_rating: z.number().nullish(),
|
|
5316
|
+
mb_lookup_status: z.array(z.string()).nullish(),
|
|
5317
|
+
pending_review: z.boolean().nullish(),
|
|
5318
|
+
caller_is_admin: z.boolean().nullish()
|
|
5319
|
+
}),
|
|
5320
|
+
series_id: z.string().nullish(),
|
|
5321
|
+
season_id: z.string().nullish(),
|
|
5322
|
+
unassigned: z.boolean()
|
|
5323
|
+
});
|
|
5324
|
+
export type QueryVideosRequest = z.infer<typeof QueryVideosRequestSchema>;
|
|
5325
|
+
|
|
4819
5326
|
export const RadioBumperSchema = z.object({
|
|
4820
5327
|
id: z.string(),
|
|
4821
5328
|
station_id: z.string(),
|
|
@@ -5001,6 +5508,12 @@ export const RatingStatsSchema = z.object({
|
|
|
5001
5508
|
});
|
|
5002
5509
|
export type RatingStats = z.infer<typeof RatingStatsSchema>;
|
|
5003
5510
|
|
|
5511
|
+
export const RatingStatusItemSchema = z.object({
|
|
5512
|
+
target_id: z.string(),
|
|
5513
|
+
rating: z.number().nullish()
|
|
5514
|
+
});
|
|
5515
|
+
export type RatingStatusItem = z.infer<typeof RatingStatusItemSchema>;
|
|
5516
|
+
|
|
5004
5517
|
export const RecentSongsRequestSchema = z.object({
|
|
5005
5518
|
limit: z.number().nullish()
|
|
5006
5519
|
});
|
|
@@ -5031,7 +5544,7 @@ export const RecentlyAddedAlbumsResponseSchema = z.object({
|
|
|
5031
5544
|
images: z.array(z.object({
|
|
5032
5545
|
blob_id: z.string(),
|
|
5033
5546
|
is_primary: z.number(),
|
|
5034
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
5547
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5035
5548
|
})).nullish(),
|
|
5036
5549
|
urls: z.array(z.object({
|
|
5037
5550
|
id: z.string().nullish(),
|
|
@@ -5060,7 +5573,7 @@ export const RecentlyAddedAlbumsResponseSchema = z.object({
|
|
|
5060
5573
|
images: z.array(z.object({
|
|
5061
5574
|
blob_id: z.string(),
|
|
5062
5575
|
is_primary: z.number(),
|
|
5063
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
5576
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5064
5577
|
})).nullish(),
|
|
5065
5578
|
urls: z.array(z.object({
|
|
5066
5579
|
id: z.string().nullish(),
|
|
@@ -5082,7 +5595,7 @@ export const RecentlyAddedAlbumsResponseSchema = z.object({
|
|
|
5082
5595
|
images: z.array(z.object({
|
|
5083
5596
|
blob_id: z.string(),
|
|
5084
5597
|
is_primary: z.number(),
|
|
5085
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
5598
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5086
5599
|
})).nullish(),
|
|
5087
5600
|
album_tags: z.array(z.string()).nullish(),
|
|
5088
5601
|
is_favorite: z.boolean().nullish(),
|
|
@@ -5094,6 +5607,41 @@ export const RecentlyAddedAlbumsResponseSchema = z.object({
|
|
|
5094
5607
|
});
|
|
5095
5608
|
export type RecentlyAddedAlbumsResponse = z.infer<typeof RecentlyAddedAlbumsResponseSchema>;
|
|
5096
5609
|
|
|
5610
|
+
export const RecentlyAddedVideosRequestSchema = z.object({
|
|
5611
|
+
limit: z.number().nullish()
|
|
5612
|
+
});
|
|
5613
|
+
export type RecentlyAddedVideosRequest = z.infer<typeof RecentlyAddedVideosRequestSchema>;
|
|
5614
|
+
|
|
5615
|
+
export const RecentlyAddedVideosResponseSchema = z.object({
|
|
5616
|
+
videos: z.array(z.object({
|
|
5617
|
+
id: z.string(),
|
|
5618
|
+
series_id: z.string().nullish(),
|
|
5619
|
+
season_id: z.string().nullish(),
|
|
5620
|
+
episode_number: z.number().nullish(),
|
|
5621
|
+
content_type: z.string(),
|
|
5622
|
+
title: z.string(),
|
|
5623
|
+
description: z.string().nullish(),
|
|
5624
|
+
media_blob_id: z.string(),
|
|
5625
|
+
poster_blob_id: z.string().nullish(),
|
|
5626
|
+
duration_seconds: z.number().nullish(),
|
|
5627
|
+
release_date: z.string().nullish(),
|
|
5628
|
+
created_at: z.number(),
|
|
5629
|
+
updated_at: z.number(),
|
|
5630
|
+
deleted_at: z.number().nullish(),
|
|
5631
|
+
created_by: z.string().nullish(),
|
|
5632
|
+
updated_by: z.string().nullish(),
|
|
5633
|
+
deleted_by: z.string().nullish(),
|
|
5634
|
+
images: z.array(z.object({
|
|
5635
|
+
blob_id: z.string(),
|
|
5636
|
+
is_primary: z.number(),
|
|
5637
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5638
|
+
})).nullish(),
|
|
5639
|
+
play_count: z.number().nullish()
|
|
5640
|
+
})),
|
|
5641
|
+
count: z.number()
|
|
5642
|
+
});
|
|
5643
|
+
export type RecentlyAddedVideosResponse = z.infer<typeof RecentlyAddedVideosResponseSchema>;
|
|
5644
|
+
|
|
5097
5645
|
export const RecordPlayRequestSchema = z.object({
|
|
5098
5646
|
media_blob_id: z.string(),
|
|
5099
5647
|
song_id: z.string(),
|
|
@@ -5102,6 +5650,14 @@ export const RecordPlayRequestSchema = z.object({
|
|
|
5102
5650
|
});
|
|
5103
5651
|
export type RecordPlayRequest = z.infer<typeof RecordPlayRequestSchema>;
|
|
5104
5652
|
|
|
5653
|
+
export const RecordVideoPlayRequestSchema = z.object({
|
|
5654
|
+
media_blob_id: z.string(),
|
|
5655
|
+
video_id: z.string(),
|
|
5656
|
+
session_id: z.string().nullish(),
|
|
5657
|
+
event_data: z.any().nullish()
|
|
5658
|
+
});
|
|
5659
|
+
export type RecordVideoPlayRequest = z.infer<typeof RecordVideoPlayRequestSchema>;
|
|
5660
|
+
|
|
5105
5661
|
export const RedeemInviteRequestSchema = z.object({
|
|
5106
5662
|
invite_code: z.string(),
|
|
5107
5663
|
username: z.string().nullish(),
|
|
@@ -5234,6 +5790,44 @@ export const RemoveAlbumsTagsRequestSchema = z.object({
|
|
|
5234
5790
|
});
|
|
5235
5791
|
export type RemoveAlbumsTagsRequest = z.infer<typeof RemoveAlbumsTagsRequestSchema>;
|
|
5236
5792
|
|
|
5793
|
+
export const RemoveEntitiesTagsRequestSchema = z.object({
|
|
5794
|
+
entity_type: z.string(),
|
|
5795
|
+
entity_ids: z.array(z.string()),
|
|
5796
|
+
tag_ids: z.array(z.string())
|
|
5797
|
+
});
|
|
5798
|
+
export type RemoveEntitiesTagsRequest = z.infer<typeof RemoveEntitiesTagsRequestSchema>;
|
|
5799
|
+
|
|
5800
|
+
export const RemoveEntityTaxonRequestSchema = z.object({
|
|
5801
|
+
entity_type: z.string(),
|
|
5802
|
+
entity_id: z.string(),
|
|
5803
|
+
taxon_id: z.string(),
|
|
5804
|
+
origin: z.string()
|
|
5805
|
+
});
|
|
5806
|
+
export type RemoveEntityTaxonRequest = z.infer<typeof RemoveEntityTaxonRequestSchema>;
|
|
5807
|
+
|
|
5808
|
+
export const RemoveEntityUrlRequestSchema = z.object({
|
|
5809
|
+
entity_type: z.string(),
|
|
5810
|
+
entity_id: z.string(),
|
|
5811
|
+
id: z.string()
|
|
5812
|
+
});
|
|
5813
|
+
export type RemoveEntityUrlRequest = z.infer<typeof RemoveEntityUrlRequestSchema>;
|
|
5814
|
+
|
|
5815
|
+
export const RemovePlaylistItemRequestSchema = z.object({
|
|
5816
|
+
playlist_id: z.string(),
|
|
5817
|
+
entity_type: z.string(),
|
|
5818
|
+
entity_id: z.string()
|
|
5819
|
+
});
|
|
5820
|
+
export type RemovePlaylistItemRequest = z.infer<typeof RemovePlaylistItemRequestSchema>;
|
|
5821
|
+
|
|
5822
|
+
export const RemovePlaylistItemsRequestSchema = z.object({
|
|
5823
|
+
playlist_id: z.string(),
|
|
5824
|
+
items: z.array(z.object({
|
|
5825
|
+
entity_type: z.string(),
|
|
5826
|
+
entity_id: z.string()
|
|
5827
|
+
}))
|
|
5828
|
+
});
|
|
5829
|
+
export type RemovePlaylistItemsRequest = z.infer<typeof RemovePlaylistItemsRequestSchema>;
|
|
5830
|
+
|
|
5237
5831
|
export const RemovePlaylistThumbnailRequestSchema = z.object({
|
|
5238
5832
|
playlist_id: z.string(),
|
|
5239
5833
|
cleanup_blob: z.boolean().nullish(),
|
|
@@ -5243,7 +5837,7 @@ export type RemovePlaylistThumbnailRequest = z.infer<typeof RemovePlaylistThumbn
|
|
|
5243
5837
|
|
|
5244
5838
|
export const RemoveRatingRequestSchema = z.object({
|
|
5245
5839
|
user_id: z.string().nullish(),
|
|
5246
|
-
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album")]),
|
|
5840
|
+
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("video")]),
|
|
5247
5841
|
target_id: z.string()
|
|
5248
5842
|
});
|
|
5249
5843
|
export type RemoveRatingRequest = z.infer<typeof RemoveRatingRequestSchema>;
|
|
@@ -5266,6 +5860,15 @@ export const RemoveTaxonParentRequestSchema = z.object({
|
|
|
5266
5860
|
});
|
|
5267
5861
|
export type RemoveTaxonParentRequest = z.infer<typeof RemoveTaxonParentRequestSchema>;
|
|
5268
5862
|
|
|
5863
|
+
export const ReorderPlaylistItemsRequestSchema = z.object({
|
|
5864
|
+
playlist_id: z.string(),
|
|
5865
|
+
ordered_entity_refs: z.array(z.object({
|
|
5866
|
+
entity_type: z.string(),
|
|
5867
|
+
entity_id: z.string()
|
|
5868
|
+
}))
|
|
5869
|
+
});
|
|
5870
|
+
export type ReorderPlaylistItemsRequest = z.infer<typeof ReorderPlaylistItemsRequestSchema>;
|
|
5871
|
+
|
|
5269
5872
|
export const ReorderPlaylistSongsRequestSchema = z.object({
|
|
5270
5873
|
playlist_id: z.string(),
|
|
5271
5874
|
song_ids: z.array(z.string()),
|
|
@@ -5329,7 +5932,7 @@ export const ScalarAttributeSchema = z.object({
|
|
|
5329
5932
|
});
|
|
5330
5933
|
export type ScalarAttribute = z.infer<typeof ScalarAttributeSchema>;
|
|
5331
5934
|
|
|
5332
|
-
export const SearchFieldSchema = z.union([z.literal("all"), z.literal("artists"), z.literal("albums"), z.literal("songs"), z.literal("genres"), z.literal("playlists")]);
|
|
5935
|
+
export const SearchFieldSchema = z.union([z.literal("all"), z.literal("artists"), z.literal("albums"), z.literal("songs"), z.literal("genres"), z.literal("playlists"), z.literal("videos"), z.literal("video_series")]);
|
|
5333
5936
|
export type SearchField = z.infer<typeof SearchFieldSchema>;
|
|
5334
5937
|
|
|
5335
5938
|
export const SearchRecordingsRequestSchema = z.object({
|
|
@@ -5351,7 +5954,7 @@ export type SearchReleasesRequest = z.infer<typeof SearchReleasesRequestSchema>;
|
|
|
5351
5954
|
|
|
5352
5955
|
export const SearchRequestSchema = z.object({
|
|
5353
5956
|
query: z.string(),
|
|
5354
|
-
field: z.union([z.literal("all"), z.literal("artists"), z.literal("albums"), z.literal("songs"), z.literal("genres"), z.literal("playlists")]).nullish(),
|
|
5957
|
+
field: z.union([z.literal("all"), z.literal("artists"), z.literal("albums"), z.literal("songs"), z.literal("genres"), z.literal("playlists"), z.literal("videos"), z.literal("video_series")]).nullish(),
|
|
5355
5958
|
page: z.number().nullish(),
|
|
5356
5959
|
page_size: z.number().nullish(),
|
|
5357
5960
|
context: z.object({
|
|
@@ -5424,6 +6027,30 @@ export const SearchResponseSchema = z.object({
|
|
|
5424
6027
|
thumbnail_url: z.string().nullish(),
|
|
5425
6028
|
search_rank: z.number(),
|
|
5426
6029
|
highlight: z.string().nullish()
|
|
6030
|
+
})).nullish(),
|
|
6031
|
+
videos: z.array(z.object({
|
|
6032
|
+
id: z.string(),
|
|
6033
|
+
title: z.string(),
|
|
6034
|
+
series_id: z.string().nullish(),
|
|
6035
|
+
series_name: z.string().nullish(),
|
|
6036
|
+
episode_number: z.number().nullish(),
|
|
6037
|
+
duration_seconds: z.number().nullish(),
|
|
6038
|
+
thumbnail_url: z.string().nullish(),
|
|
6039
|
+
user_rating: z.number().nullish(),
|
|
6040
|
+
is_favorite: z.boolean(),
|
|
6041
|
+
search_rank: z.number(),
|
|
6042
|
+
match_type: z.string(),
|
|
6043
|
+
highlight: z.string().nullish()
|
|
6044
|
+
})).nullish(),
|
|
6045
|
+
video_series: z.array(z.object({
|
|
6046
|
+
id: z.string(),
|
|
6047
|
+
title: z.string(),
|
|
6048
|
+
description: z.string().nullish(),
|
|
6049
|
+
video_count: z.number(),
|
|
6050
|
+
thumbnail_url: z.string().nullish(),
|
|
6051
|
+
search_rank: z.number(),
|
|
6052
|
+
match_type: z.string(),
|
|
6053
|
+
highlight: z.string().nullish()
|
|
5427
6054
|
})).nullish(),
|
|
5428
6055
|
total_count: z.number(),
|
|
5429
6056
|
page: z.number(),
|
|
@@ -5437,54 +6064,202 @@ export const SearchResponseSchema = z.object({
|
|
|
5437
6064
|
});
|
|
5438
6065
|
export type SearchResponse = z.infer<typeof SearchResponseSchema>;
|
|
5439
6066
|
|
|
6067
|
+
export const SeasonWithVideosSchema = z.object({
|
|
6068
|
+
season: z.object({
|
|
6069
|
+
id: z.string(),
|
|
6070
|
+
series_id: z.string(),
|
|
6071
|
+
season_number: z.number(),
|
|
6072
|
+
title: z.string().nullish(),
|
|
6073
|
+
description: z.string().nullish(),
|
|
6074
|
+
poster_blob_id: z.string().nullish(),
|
|
6075
|
+
created_at: z.number(),
|
|
6076
|
+
updated_at: z.number(),
|
|
6077
|
+
deleted_at: z.number().nullish()
|
|
6078
|
+
}),
|
|
6079
|
+
videos: z.array(z.object({
|
|
6080
|
+
id: z.string(),
|
|
6081
|
+
series_id: z.string().nullish(),
|
|
6082
|
+
season_id: z.string().nullish(),
|
|
6083
|
+
episode_number: z.number().nullish(),
|
|
6084
|
+
content_type: z.string(),
|
|
6085
|
+
title: z.string(),
|
|
6086
|
+
description: z.string().nullish(),
|
|
6087
|
+
media_blob_id: z.string(),
|
|
6088
|
+
poster_blob_id: z.string().nullish(),
|
|
6089
|
+
duration_seconds: z.number().nullish(),
|
|
6090
|
+
release_date: z.string().nullish(),
|
|
6091
|
+
created_at: z.number(),
|
|
6092
|
+
updated_at: z.number(),
|
|
6093
|
+
deleted_at: z.number().nullish(),
|
|
6094
|
+
created_by: z.string().nullish(),
|
|
6095
|
+
updated_by: z.string().nullish(),
|
|
6096
|
+
deleted_by: z.string().nullish(),
|
|
6097
|
+
images: z.array(z.object({
|
|
6098
|
+
blob_id: z.string(),
|
|
6099
|
+
is_primary: z.number(),
|
|
6100
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6101
|
+
})).nullish(),
|
|
6102
|
+
play_count: z.number().nullish()
|
|
6103
|
+
}))
|
|
6104
|
+
});
|
|
6105
|
+
export type SeasonWithVideos = z.infer<typeof SeasonWithVideosSchema>;
|
|
6106
|
+
|
|
5440
6107
|
export const SelfAccountLinkResponseSchema = z.object({
|
|
5441
6108
|
code: z.string(),
|
|
5442
6109
|
expires_at: z.number()
|
|
5443
6110
|
});
|
|
5444
6111
|
export type SelfAccountLinkResponse = z.infer<typeof SelfAccountLinkResponseSchema>;
|
|
5445
6112
|
|
|
5446
|
-
export const
|
|
5447
|
-
|
|
6113
|
+
export const SeriesDetailSchema = z.object({
|
|
6114
|
+
series: z.object({
|
|
6115
|
+
id: z.string(),
|
|
6116
|
+
title: z.string(),
|
|
5448
6117
|
description: z.string().nullish(),
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
6118
|
+
poster_blob_id: z.string().nullish(),
|
|
6119
|
+
created_at: z.number(),
|
|
6120
|
+
updated_at: z.number(),
|
|
6121
|
+
deleted_at: z.number().nullish(),
|
|
6122
|
+
created_by: z.string().nullish(),
|
|
6123
|
+
updated_by: z.string().nullish(),
|
|
6124
|
+
deleted_by: z.string().nullish()
|
|
6125
|
+
}),
|
|
6126
|
+
seasons: z.array(z.object({
|
|
6127
|
+
season: z.object({
|
|
6128
|
+
id: z.string(),
|
|
6129
|
+
series_id: z.string(),
|
|
6130
|
+
season_number: z.number(),
|
|
6131
|
+
title: z.string().nullish(),
|
|
6132
|
+
description: z.string().nullish(),
|
|
6133
|
+
poster_blob_id: z.string().nullish(),
|
|
6134
|
+
created_at: z.number(),
|
|
6135
|
+
updated_at: z.number(),
|
|
6136
|
+
deleted_at: z.number().nullish()
|
|
6137
|
+
}),
|
|
6138
|
+
videos: z.array(z.object({
|
|
6139
|
+
id: z.string(),
|
|
6140
|
+
series_id: z.string().nullish(),
|
|
6141
|
+
season_id: z.string().nullish(),
|
|
6142
|
+
episode_number: z.number().nullish(),
|
|
6143
|
+
content_type: z.string(),
|
|
5463
6144
|
title: z.string(),
|
|
5464
|
-
|
|
5465
|
-
|
|
6145
|
+
description: z.string().nullish(),
|
|
6146
|
+
media_blob_id: z.string(),
|
|
6147
|
+
poster_blob_id: z.string().nullish(),
|
|
6148
|
+
duration_seconds: z.number().nullish(),
|
|
6149
|
+
release_date: z.string().nullish(),
|
|
6150
|
+
created_at: z.number(),
|
|
6151
|
+
updated_at: z.number(),
|
|
6152
|
+
deleted_at: z.number().nullish(),
|
|
6153
|
+
created_by: z.string().nullish(),
|
|
6154
|
+
updated_by: z.string().nullish(),
|
|
6155
|
+
deleted_by: z.string().nullish(),
|
|
5466
6156
|
images: z.array(z.object({
|
|
5467
6157
|
blob_id: z.string(),
|
|
5468
6158
|
is_primary: z.number(),
|
|
5469
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6159
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5470
6160
|
})).nullish(),
|
|
5471
|
-
|
|
5472
|
-
})
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
6161
|
+
play_count: z.number().nullish()
|
|
6162
|
+
}))
|
|
6163
|
+
})),
|
|
6164
|
+
unassigned_videos: z.array(z.object({
|
|
6165
|
+
id: z.string(),
|
|
6166
|
+
series_id: z.string().nullish(),
|
|
6167
|
+
season_id: z.string().nullish(),
|
|
6168
|
+
episode_number: z.number().nullish(),
|
|
6169
|
+
content_type: z.string(),
|
|
6170
|
+
title: z.string(),
|
|
6171
|
+
description: z.string().nullish(),
|
|
6172
|
+
media_blob_id: z.string(),
|
|
6173
|
+
poster_blob_id: z.string().nullish(),
|
|
6174
|
+
duration_seconds: z.number().nullish(),
|
|
6175
|
+
release_date: z.string().nullish(),
|
|
6176
|
+
created_at: z.number(),
|
|
6177
|
+
updated_at: z.number(),
|
|
6178
|
+
deleted_at: z.number().nullish(),
|
|
6179
|
+
created_by: z.string().nullish(),
|
|
6180
|
+
updated_by: z.string().nullish(),
|
|
6181
|
+
deleted_by: z.string().nullish(),
|
|
6182
|
+
images: z.array(z.object({
|
|
6183
|
+
blob_id: z.string(),
|
|
6184
|
+
is_primary: z.number(),
|
|
6185
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6186
|
+
})).nullish(),
|
|
6187
|
+
play_count: z.number().nullish()
|
|
6188
|
+
}))
|
|
6189
|
+
});
|
|
6190
|
+
export type SeriesDetail = z.infer<typeof SeriesDetailSchema>;
|
|
6191
|
+
|
|
6192
|
+
export const SeriesQueryResultSchema = z.object({
|
|
6193
|
+
items: z.array(z.object({
|
|
6194
|
+
id: z.string(),
|
|
6195
|
+
title: z.string(),
|
|
6196
|
+
description: z.string().nullish(),
|
|
6197
|
+
poster_blob_id: z.string().nullish(),
|
|
6198
|
+
created_at: z.number(),
|
|
6199
|
+
updated_at: z.number(),
|
|
6200
|
+
deleted_at: z.number().nullish(),
|
|
6201
|
+
created_by: z.string().nullish(),
|
|
6202
|
+
updated_by: z.string().nullish(),
|
|
6203
|
+
deleted_by: z.string().nullish()
|
|
6204
|
+
})),
|
|
6205
|
+
total_count: z.number(),
|
|
6206
|
+
has_more: z.boolean(),
|
|
6207
|
+
offset: z.number(),
|
|
6208
|
+
limit: z.number(),
|
|
6209
|
+
query_time_ms: z.number().nullish()
|
|
6210
|
+
});
|
|
6211
|
+
export type SeriesQueryResult = z.infer<typeof SeriesQueryResultSchema>;
|
|
6212
|
+
|
|
6213
|
+
export const ServerInfoResponseSchema = z.object({
|
|
6214
|
+
name: z.string(),
|
|
6215
|
+
description: z.string().nullish(),
|
|
6216
|
+
version: z.string(),
|
|
6217
|
+
image_url: z.string().nullish(),
|
|
6218
|
+
image_blob_id: z.string().nullish(),
|
|
6219
|
+
knocking_enabled: z.boolean().nullish(),
|
|
6220
|
+
musicbrainz_enabled: z.boolean().nullish(),
|
|
6221
|
+
lastfm_enabled: z.boolean().nullish(),
|
|
6222
|
+
audiodb_enabled: z.boolean().nullish(),
|
|
6223
|
+
passkey_p2p_enabled: z.boolean().nullish(),
|
|
6224
|
+
fetch_precheck_enabled: z.boolean().nullish(),
|
|
6225
|
+
fetch_video_enabled: z.boolean().nullish(),
|
|
6226
|
+
player_device: z.boolean().nullish()
|
|
6227
|
+
});
|
|
6228
|
+
export type ServerInfoResponse = z.infer<typeof ServerInfoResponseSchema>;
|
|
6229
|
+
|
|
6230
|
+
export const SessionItemSchema = z.object({
|
|
6231
|
+
entity_type: z.string(),
|
|
6232
|
+
entity_id: z.string()
|
|
6233
|
+
});
|
|
6234
|
+
export type SessionItem = z.infer<typeof SessionItemSchema>;
|
|
6235
|
+
|
|
6236
|
+
export const SessionSongSchema = z.object({
|
|
6237
|
+
song_id: z.string(),
|
|
6238
|
+
title: z.string(),
|
|
6239
|
+
artist: z.string().nullish(),
|
|
6240
|
+
album: z.string().nullish(),
|
|
6241
|
+
images: z.array(z.object({
|
|
6242
|
+
blob_id: z.string(),
|
|
6243
|
+
is_primary: z.number(),
|
|
6244
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6245
|
+
})).nullish(),
|
|
6246
|
+
played_at: z.number()
|
|
6247
|
+
});
|
|
6248
|
+
export type SessionSong = z.infer<typeof SessionSongSchema>;
|
|
6249
|
+
|
|
6250
|
+
export const SessionSummarySchema = z.object({
|
|
6251
|
+
session_id: z.string(),
|
|
6252
|
+
user_id: z.string().nullish(),
|
|
6253
|
+
username: z.string().nullish(),
|
|
6254
|
+
songs: z.array(z.object({
|
|
6255
|
+
song_id: z.string(),
|
|
6256
|
+
title: z.string(),
|
|
6257
|
+
artist: z.string().nullish(),
|
|
5483
6258
|
album: z.string().nullish(),
|
|
5484
6259
|
images: z.array(z.object({
|
|
5485
6260
|
blob_id: z.string(),
|
|
5486
6261
|
is_primary: z.number(),
|
|
5487
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6262
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5488
6263
|
})).nullish(),
|
|
5489
6264
|
played_at: z.number()
|
|
5490
6265
|
})),
|
|
@@ -5507,7 +6282,7 @@ export type SetAlbumTaxonsRequest = z.infer<typeof SetAlbumTaxonsRequestSchema>;
|
|
|
5507
6282
|
|
|
5508
6283
|
export const SetFavoriteRequestSchema = z.object({
|
|
5509
6284
|
user_id: z.string().nullish(),
|
|
5510
|
-
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("taxon"), z.literal("playlist")]),
|
|
6285
|
+
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("taxon"), z.literal("playlist"), z.literal("video"), z.literal("video_series")]),
|
|
5511
6286
|
target_id: z.string(),
|
|
5512
6287
|
is_favorite: z.boolean()
|
|
5513
6288
|
});
|
|
@@ -5534,7 +6309,7 @@ export type SetPrimaryImageRequest = z.infer<typeof SetPrimaryImageRequestSchema
|
|
|
5534
6309
|
|
|
5535
6310
|
export const SetRatingRequestSchema = z.object({
|
|
5536
6311
|
user_id: z.string().nullish(),
|
|
5537
|
-
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album")]),
|
|
6312
|
+
target_type: z.union([z.literal("song"), z.literal("artist"), z.literal("album"), z.literal("video")]),
|
|
5538
6313
|
target_id: z.string(),
|
|
5539
6314
|
rating: z.number()
|
|
5540
6315
|
});
|
|
@@ -5595,7 +6370,7 @@ export const SongSchema = z.object({
|
|
|
5595
6370
|
images: z.array(z.object({
|
|
5596
6371
|
blob_id: z.string(),
|
|
5597
6372
|
is_primary: z.number(),
|
|
5598
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6373
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5599
6374
|
})).nullish(),
|
|
5600
6375
|
urls: z.array(z.object({
|
|
5601
6376
|
id: z.string().nullish(),
|
|
@@ -5634,7 +6409,7 @@ export const SongQueryResultSchema = z.object({
|
|
|
5634
6409
|
images: z.array(z.object({
|
|
5635
6410
|
blob_id: z.string(),
|
|
5636
6411
|
is_primary: z.number(),
|
|
5637
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6412
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5638
6413
|
})).nullish(),
|
|
5639
6414
|
urls: z.array(z.object({
|
|
5640
6415
|
id: z.string().nullish(),
|
|
@@ -5666,7 +6441,7 @@ export const SongQueryResultSchema = z.object({
|
|
|
5666
6441
|
images: z.array(z.object({
|
|
5667
6442
|
blob_id: z.string(),
|
|
5668
6443
|
is_primary: z.number(),
|
|
5669
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6444
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5670
6445
|
})).nullish(),
|
|
5671
6446
|
urls: z.array(z.object({
|
|
5672
6447
|
id: z.string().nullish(),
|
|
@@ -5698,7 +6473,7 @@ export const SongQueryResultSchema = z.object({
|
|
|
5698
6473
|
images: z.array(z.object({
|
|
5699
6474
|
blob_id: z.string(),
|
|
5700
6475
|
is_primary: z.number(),
|
|
5701
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6476
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5702
6477
|
})).nullish(),
|
|
5703
6478
|
urls: z.array(z.object({
|
|
5704
6479
|
id: z.string().nullish(),
|
|
@@ -5733,7 +6508,7 @@ export const SongQueryResultSchema = z.object({
|
|
|
5733
6508
|
source_client_id: z.string().nullish(),
|
|
5734
6509
|
filename: z.string().nullish(),
|
|
5735
6510
|
parent_blob_id: z.string().nullish(),
|
|
5736
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
6511
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
5737
6512
|
metadata: z.any(),
|
|
5738
6513
|
created_at: z.number(),
|
|
5739
6514
|
updated_at: z.number(),
|
|
@@ -5748,7 +6523,7 @@ export const SongQueryResultSchema = z.object({
|
|
|
5748
6523
|
images: z.array(z.object({
|
|
5749
6524
|
blob_id: z.string(),
|
|
5750
6525
|
is_primary: z.number(),
|
|
5751
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6526
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5752
6527
|
})).nullish(),
|
|
5753
6528
|
relevance_score: z.number().nullish(),
|
|
5754
6529
|
snippet: z.string().nullish(),
|
|
@@ -5804,7 +6579,7 @@ export const SongsQueryResultSchema = z.object({
|
|
|
5804
6579
|
images: z.array(z.object({
|
|
5805
6580
|
blob_id: z.string(),
|
|
5806
6581
|
is_primary: z.number(),
|
|
5807
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6582
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5808
6583
|
})).nullish(),
|
|
5809
6584
|
urls: z.array(z.object({
|
|
5810
6585
|
id: z.string().nullish(),
|
|
@@ -5836,7 +6611,7 @@ export const SongsQueryResultSchema = z.object({
|
|
|
5836
6611
|
images: z.array(z.object({
|
|
5837
6612
|
blob_id: z.string(),
|
|
5838
6613
|
is_primary: z.number(),
|
|
5839
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6614
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5840
6615
|
})).nullish(),
|
|
5841
6616
|
urls: z.array(z.object({
|
|
5842
6617
|
id: z.string().nullish(),
|
|
@@ -5868,7 +6643,7 @@ export const SongsQueryResultSchema = z.object({
|
|
|
5868
6643
|
images: z.array(z.object({
|
|
5869
6644
|
blob_id: z.string(),
|
|
5870
6645
|
is_primary: z.number(),
|
|
5871
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6646
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5872
6647
|
})).nullish(),
|
|
5873
6648
|
urls: z.array(z.object({
|
|
5874
6649
|
id: z.string().nullish(),
|
|
@@ -5903,7 +6678,7 @@ export const SongsQueryResultSchema = z.object({
|
|
|
5903
6678
|
source_client_id: z.string().nullish(),
|
|
5904
6679
|
filename: z.string().nullish(),
|
|
5905
6680
|
parent_blob_id: z.string().nullish(),
|
|
5906
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")]),
|
|
6681
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")]),
|
|
5907
6682
|
metadata: z.any(),
|
|
5908
6683
|
created_at: z.number(),
|
|
5909
6684
|
updated_at: z.number(),
|
|
@@ -5918,7 +6693,7 @@ export const SongsQueryResultSchema = z.object({
|
|
|
5918
6693
|
images: z.array(z.object({
|
|
5919
6694
|
blob_id: z.string(),
|
|
5920
6695
|
is_primary: z.number(),
|
|
5921
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
6696
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
5922
6697
|
})).nullish(),
|
|
5923
6698
|
relevance_score: z.number().nullish(),
|
|
5924
6699
|
snippet: z.string().nullish(),
|
|
@@ -5963,7 +6738,7 @@ export const SuggestionSchema = z.object({
|
|
|
5963
6738
|
display: z.string(),
|
|
5964
6739
|
highlight: z.string(),
|
|
5965
6740
|
count: z.number(),
|
|
5966
|
-
suggestion_type: z.union([z.literal("artist"), z.literal("album"), z.literal("song"), z.literal("taxon"), z.literal("genre"), z.literal("playlist")]),
|
|
6741
|
+
suggestion_type: z.union([z.literal("artist"), z.literal("album"), z.literal("song"), z.literal("taxon"), z.literal("genre"), z.literal("playlist"), z.literal("video"), z.literal("video_series")]),
|
|
5967
6742
|
confidence: z.number(),
|
|
5968
6743
|
metadata: z.any().nullish(),
|
|
5969
6744
|
entity_id: z.string(),
|
|
@@ -5973,11 +6748,11 @@ export const SuggestionSchema = z.object({
|
|
|
5973
6748
|
});
|
|
5974
6749
|
export type Suggestion = z.infer<typeof SuggestionSchema>;
|
|
5975
6750
|
|
|
5976
|
-
export const SuggestionTypeSchema = z.union([z.literal("artist"), z.literal("album"), z.literal("song"), z.literal("taxon"), z.literal("genre"), z.literal("playlist")]);
|
|
6751
|
+
export const SuggestionTypeSchema = z.union([z.literal("artist"), z.literal("album"), z.literal("song"), z.literal("taxon"), z.literal("genre"), z.literal("playlist"), z.literal("video"), z.literal("video_series")]);
|
|
5977
6752
|
export type SuggestionType = z.infer<typeof SuggestionTypeSchema>;
|
|
5978
6753
|
|
|
5979
6754
|
export const SuggestionsRequestSchema = z.object({
|
|
5980
|
-
field: z.union([z.literal("all"), z.literal("artists"), z.literal("albums"), z.literal("songs"), z.literal("genres"), z.literal("playlists")]),
|
|
6755
|
+
field: z.union([z.literal("all"), z.literal("artists"), z.literal("albums"), z.literal("songs"), z.literal("genres"), z.literal("playlists"), z.literal("videos"), z.literal("video_series")]),
|
|
5981
6756
|
partial: z.string(),
|
|
5982
6757
|
page: z.number().nullish(),
|
|
5983
6758
|
page_size: z.number().nullish(),
|
|
@@ -5999,7 +6774,7 @@ export const SuggestionsResponseSchema = z.object({
|
|
|
5999
6774
|
display: z.string(),
|
|
6000
6775
|
highlight: z.string(),
|
|
6001
6776
|
count: z.number(),
|
|
6002
|
-
suggestion_type: z.union([z.literal("artist"), z.literal("album"), z.literal("song"), z.literal("taxon"), z.literal("genre"), z.literal("playlist")]),
|
|
6777
|
+
suggestion_type: z.union([z.literal("artist"), z.literal("album"), z.literal("song"), z.literal("taxon"), z.literal("genre"), z.literal("playlist"), z.literal("video"), z.literal("video_series")]),
|
|
6003
6778
|
confidence: z.number(),
|
|
6004
6779
|
metadata: z.any().nullish(),
|
|
6005
6780
|
entity_id: z.string(),
|
|
@@ -6138,6 +6913,61 @@ export const SyncSongByBlake3ResponseSchema = z.object({
|
|
|
6138
6913
|
});
|
|
6139
6914
|
export type SyncSongByBlake3Response = z.infer<typeof SyncSongByBlake3ResponseSchema>;
|
|
6140
6915
|
|
|
6916
|
+
export const SyncVideoByBlake3RequestSchema = z.object({
|
|
6917
|
+
blake3: z.string(),
|
|
6918
|
+
sha256: z.string().nullish(),
|
|
6919
|
+
size: z.number().nullish(),
|
|
6920
|
+
filename: z.string(),
|
|
6921
|
+
source_node_id: z.string(),
|
|
6922
|
+
source_remote_id: z.string().nullish(),
|
|
6923
|
+
remote_name: z.string().nullish(),
|
|
6924
|
+
title: z.string(),
|
|
6925
|
+
description: z.string().nullish(),
|
|
6926
|
+
content_type: z.string().nullish(),
|
|
6927
|
+
episode_number: z.number().nullish(),
|
|
6928
|
+
duration_seconds: z.number().nullish(),
|
|
6929
|
+
release_date: z.string().nullish(),
|
|
6930
|
+
series_title: z.string().nullish(),
|
|
6931
|
+
series_description: z.string().nullish(),
|
|
6932
|
+
season_number: z.number().nullish(),
|
|
6933
|
+
season_title: z.string().nullish(),
|
|
6934
|
+
video_images: z.array(z.object({
|
|
6935
|
+
content_sha256: z.string(),
|
|
6936
|
+
data_base64: z.string().nullish(),
|
|
6937
|
+
mime_type: z.string(),
|
|
6938
|
+
is_primary: z.boolean(),
|
|
6939
|
+
blob_type: z.string().nullish()
|
|
6940
|
+
})),
|
|
6941
|
+
series_images: z.array(z.object({
|
|
6942
|
+
content_sha256: z.string(),
|
|
6943
|
+
data_base64: z.string().nullish(),
|
|
6944
|
+
mime_type: z.string(),
|
|
6945
|
+
is_primary: z.boolean(),
|
|
6946
|
+
blob_type: z.string().nullish()
|
|
6947
|
+
})),
|
|
6948
|
+
season_images: z.array(z.object({
|
|
6949
|
+
content_sha256: z.string(),
|
|
6950
|
+
data_base64: z.string().nullish(),
|
|
6951
|
+
mime_type: z.string(),
|
|
6952
|
+
is_primary: z.boolean(),
|
|
6953
|
+
blob_type: z.string().nullish()
|
|
6954
|
+
}))
|
|
6955
|
+
});
|
|
6956
|
+
export type SyncVideoByBlake3Request = z.infer<typeof SyncVideoByBlake3RequestSchema>;
|
|
6957
|
+
|
|
6958
|
+
export const SyncVideoByBlake3ResponseSchema = z.object({
|
|
6959
|
+
video_id: z.string(),
|
|
6960
|
+
media_blob_id: z.string(),
|
|
6961
|
+
file_path: z.string(),
|
|
6962
|
+
blake3: z.string(),
|
|
6963
|
+
series_id: z.string().nullish(),
|
|
6964
|
+
season_id: z.string().nullish(),
|
|
6965
|
+
existing: z.boolean(),
|
|
6966
|
+
images_linked: z.number(),
|
|
6967
|
+
missing_image_sha256s: z.array(z.string())
|
|
6968
|
+
});
|
|
6969
|
+
export type SyncVideoByBlake3Response = z.infer<typeof SyncVideoByBlake3ResponseSchema>;
|
|
6970
|
+
|
|
6141
6971
|
export const TagSchema = z.object({
|
|
6142
6972
|
id: z.string(),
|
|
6143
6973
|
name: z.string(),
|
|
@@ -6170,7 +7000,9 @@ export const TaxonKindSchema = z.object({
|
|
|
6170
7000
|
display_order: z.number(),
|
|
6171
7001
|
is_user_defined: z.boolean(),
|
|
6172
7002
|
created_at: z.number(),
|
|
6173
|
-
album_count: z.number()
|
|
7003
|
+
album_count: z.number(),
|
|
7004
|
+
video_count: z.number(),
|
|
7005
|
+
domain: z.string()
|
|
6174
7006
|
});
|
|
6175
7007
|
export type TaxonKind = z.infer<typeof TaxonKindSchema>;
|
|
6176
7008
|
|
|
@@ -6205,7 +7037,8 @@ export const TaxonWithStatsSchema = z.object({
|
|
|
6205
7037
|
created_at: z.number(),
|
|
6206
7038
|
album_count: z.number(),
|
|
6207
7039
|
song_count: z.number(),
|
|
6208
|
-
total_duration: z.number()
|
|
7040
|
+
total_duration: z.number(),
|
|
7041
|
+
video_count: z.number()
|
|
6209
7042
|
});
|
|
6210
7043
|
export type TaxonWithStats = z.infer<typeof TaxonWithStatsSchema>;
|
|
6211
7044
|
|
|
@@ -6219,7 +7052,8 @@ export const TaxonsQueryResultSchema = z.object({
|
|
|
6219
7052
|
created_at: z.number(),
|
|
6220
7053
|
album_count: z.number(),
|
|
6221
7054
|
song_count: z.number(),
|
|
6222
|
-
total_duration: z.number()
|
|
7055
|
+
total_duration: z.number(),
|
|
7056
|
+
video_count: z.number()
|
|
6223
7057
|
})),
|
|
6224
7058
|
total_count: z.number(),
|
|
6225
7059
|
has_more: z.boolean(),
|
|
@@ -6235,7 +7069,7 @@ export const TopAlbumSchema = z.object({
|
|
|
6235
7069
|
images: z.array(z.object({
|
|
6236
7070
|
blob_id: z.string(),
|
|
6237
7071
|
is_primary: z.number(),
|
|
6238
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
7072
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6239
7073
|
})).nullish(),
|
|
6240
7074
|
total_plays: z.number(),
|
|
6241
7075
|
song_count: z.number(),
|
|
@@ -6273,7 +7107,7 @@ export const TopSongSchema = z.object({
|
|
|
6273
7107
|
images: z.array(z.object({
|
|
6274
7108
|
blob_id: z.string(),
|
|
6275
7109
|
is_primary: z.number(),
|
|
6276
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
7110
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6277
7111
|
})).nullish(),
|
|
6278
7112
|
play_count: z.number(),
|
|
6279
7113
|
unique_users: z.number(),
|
|
@@ -6314,7 +7148,7 @@ export const UnassignedAlbumsResponseSchema = z.object({
|
|
|
6314
7148
|
images: z.array(z.object({
|
|
6315
7149
|
blob_id: z.string(),
|
|
6316
7150
|
is_primary: z.number(),
|
|
6317
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
7151
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6318
7152
|
})).nullish(),
|
|
6319
7153
|
urls: z.array(z.object({
|
|
6320
7154
|
id: z.string().nullish(),
|
|
@@ -6343,7 +7177,7 @@ export const UnassignedAlbumsResponseSchema = z.object({
|
|
|
6343
7177
|
images: z.array(z.object({
|
|
6344
7178
|
blob_id: z.string(),
|
|
6345
7179
|
is_primary: z.number(),
|
|
6346
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
7180
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6347
7181
|
})).nullish(),
|
|
6348
7182
|
urls: z.array(z.object({
|
|
6349
7183
|
id: z.string().nullish(),
|
|
@@ -6365,7 +7199,7 @@ export const UnassignedAlbumsResponseSchema = z.object({
|
|
|
6365
7199
|
images: z.array(z.object({
|
|
6366
7200
|
blob_id: z.string(),
|
|
6367
7201
|
is_primary: z.number(),
|
|
6368
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
7202
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6369
7203
|
})).nullish(),
|
|
6370
7204
|
album_tags: z.array(z.string()).nullish(),
|
|
6371
7205
|
is_favorite: z.boolean().nullish(),
|
|
@@ -6377,6 +7211,42 @@ export const UnassignedAlbumsResponseSchema = z.object({
|
|
|
6377
7211
|
});
|
|
6378
7212
|
export type UnassignedAlbumsResponse = z.infer<typeof UnassignedAlbumsResponseSchema>;
|
|
6379
7213
|
|
|
7214
|
+
export const UnassignedVideosRequestSchema = z.object({
|
|
7215
|
+
limit: z.number().nullish(),
|
|
7216
|
+
offset: z.number().nullish()
|
|
7217
|
+
});
|
|
7218
|
+
export type UnassignedVideosRequest = z.infer<typeof UnassignedVideosRequestSchema>;
|
|
7219
|
+
|
|
7220
|
+
export const UnassignedVideosResponseSchema = z.object({
|
|
7221
|
+
videos: z.array(z.object({
|
|
7222
|
+
id: z.string(),
|
|
7223
|
+
series_id: z.string().nullish(),
|
|
7224
|
+
season_id: z.string().nullish(),
|
|
7225
|
+
episode_number: z.number().nullish(),
|
|
7226
|
+
content_type: z.string(),
|
|
7227
|
+
title: z.string(),
|
|
7228
|
+
description: z.string().nullish(),
|
|
7229
|
+
media_blob_id: z.string(),
|
|
7230
|
+
poster_blob_id: z.string().nullish(),
|
|
7231
|
+
duration_seconds: z.number().nullish(),
|
|
7232
|
+
release_date: z.string().nullish(),
|
|
7233
|
+
created_at: z.number(),
|
|
7234
|
+
updated_at: z.number(),
|
|
7235
|
+
deleted_at: z.number().nullish(),
|
|
7236
|
+
created_by: z.string().nullish(),
|
|
7237
|
+
updated_by: z.string().nullish(),
|
|
7238
|
+
deleted_by: z.string().nullish(),
|
|
7239
|
+
images: z.array(z.object({
|
|
7240
|
+
blob_id: z.string(),
|
|
7241
|
+
is_primary: z.number(),
|
|
7242
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
7243
|
+
})).nullish(),
|
|
7244
|
+
play_count: z.number().nullish()
|
|
7245
|
+
})),
|
|
7246
|
+
count: z.number()
|
|
7247
|
+
});
|
|
7248
|
+
export type UnassignedVideosResponse = z.infer<typeof UnassignedVideosResponseSchema>;
|
|
7249
|
+
|
|
6380
7250
|
export const UpdateAlbumRequestSchema = z.object({
|
|
6381
7251
|
album_id: z.string(),
|
|
6382
7252
|
title: z.string().nullish(),
|
|
@@ -6497,32 +7367,35 @@ export const UpdateArtistRequestSchema = z.object({
|
|
|
6497
7367
|
});
|
|
6498
7368
|
export type UpdateArtistRequest = z.infer<typeof UpdateArtistRequestSchema>;
|
|
6499
7369
|
|
|
6500
|
-
export const
|
|
6501
|
-
|
|
6502
|
-
|
|
7370
|
+
export const UpdatePasskeyNameRequestSchema = z.object({
|
|
7371
|
+
credential_id: z.string(),
|
|
7372
|
+
name: z.string().nullish()
|
|
6503
7373
|
});
|
|
6504
|
-
export type
|
|
7374
|
+
export type UpdatePasskeyNameRequest = z.infer<typeof UpdatePasskeyNameRequestSchema>;
|
|
6505
7375
|
|
|
6506
|
-
export const
|
|
7376
|
+
export const UpdatePlaybackSessionItemsRequestSchema = z.object({
|
|
6507
7377
|
id: z.string(),
|
|
6508
|
-
|
|
7378
|
+
items: z.array(z.object({
|
|
7379
|
+
entity_type: z.string(),
|
|
7380
|
+
entity_id: z.string()
|
|
7381
|
+
})),
|
|
6509
7382
|
label: z.string(),
|
|
6510
|
-
|
|
7383
|
+
total_items: z.number(),
|
|
6511
7384
|
total_duration_ms: z.number()
|
|
6512
7385
|
});
|
|
6513
|
-
export type
|
|
7386
|
+
export type UpdatePlaybackSessionItemsRequest = z.infer<typeof UpdatePlaybackSessionItemsRequestSchema>;
|
|
6514
7387
|
|
|
6515
|
-
export const
|
|
7388
|
+
export const UpdatePlaybackSessionProgressRequestSchema = z.object({
|
|
6516
7389
|
id: z.string(),
|
|
6517
|
-
|
|
7390
|
+
progress: z.number()
|
|
6518
7391
|
});
|
|
6519
|
-
export type
|
|
7392
|
+
export type UpdatePlaybackSessionProgressRequest = z.infer<typeof UpdatePlaybackSessionProgressRequestSchema>;
|
|
6520
7393
|
|
|
6521
|
-
export const
|
|
6522
|
-
|
|
6523
|
-
|
|
7394
|
+
export const UpdatePlaybackSessionStatusRequestSchema = z.object({
|
|
7395
|
+
id: z.string(),
|
|
7396
|
+
status: z.string()
|
|
6524
7397
|
});
|
|
6525
|
-
export type
|
|
7398
|
+
export type UpdatePlaybackSessionStatusRequest = z.infer<typeof UpdatePlaybackSessionStatusRequestSchema>;
|
|
6526
7399
|
|
|
6527
7400
|
export const UpdatePlaylistRequestSchema = z.object({
|
|
6528
7401
|
playlist_id: z.string(),
|
|
@@ -6608,7 +7481,7 @@ export const UpdateSongsResultSchema = z.object({
|
|
|
6608
7481
|
images: z.array(z.object({
|
|
6609
7482
|
blob_id: z.string(),
|
|
6610
7483
|
is_primary: z.number(),
|
|
6611
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
7484
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6612
7485
|
})).nullish(),
|
|
6613
7486
|
urls: z.array(z.object({
|
|
6614
7487
|
id: z.string().nullish(),
|
|
@@ -6640,7 +7513,7 @@ export const UpdateSongsResultSchema = z.object({
|
|
|
6640
7513
|
images: z.array(z.object({
|
|
6641
7514
|
blob_id: z.string(),
|
|
6642
7515
|
is_primary: z.number(),
|
|
6643
|
-
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview")])
|
|
7516
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
6644
7517
|
})).nullish(),
|
|
6645
7518
|
urls: z.array(z.object({
|
|
6646
7519
|
id: z.string().nullish(),
|
|
@@ -6689,6 +7562,67 @@ export const UpdateUsernameRequestSchema = z.object({
|
|
|
6689
7562
|
});
|
|
6690
7563
|
export type UpdateUsernameRequest = z.infer<typeof UpdateUsernameRequestSchema>;
|
|
6691
7564
|
|
|
7565
|
+
export const UpdateVideoRequestSchema = z.object({
|
|
7566
|
+
video_id: z.string(),
|
|
7567
|
+
series_id: z.string().nullish(),
|
|
7568
|
+
season_id: z.string().nullish(),
|
|
7569
|
+
episode_number: z.number().nullish(),
|
|
7570
|
+
content_type: z.string().nullish(),
|
|
7571
|
+
title: z.string().nullish(),
|
|
7572
|
+
description: z.string().nullish(),
|
|
7573
|
+
poster_blob_id: z.string().nullish(),
|
|
7574
|
+
duration_seconds: z.number().nullish(),
|
|
7575
|
+
release_date: z.string().nullish(),
|
|
7576
|
+
updated_by: z.string().nullish(),
|
|
7577
|
+
clear_series_id: z.boolean(),
|
|
7578
|
+
clear_season_id: z.boolean()
|
|
7579
|
+
});
|
|
7580
|
+
export type UpdateVideoRequest = z.infer<typeof UpdateVideoRequestSchema>;
|
|
7581
|
+
|
|
7582
|
+
export const UpdateVideoSeasonRequestSchema = z.object({
|
|
7583
|
+
season_id: z.string(),
|
|
7584
|
+
season_number: z.number().nullish(),
|
|
7585
|
+
title: z.string().nullish(),
|
|
7586
|
+
description: z.string().nullish(),
|
|
7587
|
+
poster_blob_id: z.string().nullish()
|
|
7588
|
+
});
|
|
7589
|
+
export type UpdateVideoSeasonRequest = z.infer<typeof UpdateVideoSeasonRequestSchema>;
|
|
7590
|
+
|
|
7591
|
+
export const UpdateVideoSeriesRequestSchema = z.object({
|
|
7592
|
+
series_id: z.string(),
|
|
7593
|
+
title: z.string().nullish(),
|
|
7594
|
+
description: z.string().nullish(),
|
|
7595
|
+
poster_blob_id: z.string().nullish(),
|
|
7596
|
+
updated_by: z.string().nullish()
|
|
7597
|
+
});
|
|
7598
|
+
export type UpdateVideoSeriesRequest = z.infer<typeof UpdateVideoSeriesRequestSchema>;
|
|
7599
|
+
|
|
7600
|
+
export const UpdateVideosRequestSchema = z.object({
|
|
7601
|
+
video_ids: z.array(z.string()),
|
|
7602
|
+
series_id: z.string().nullish(),
|
|
7603
|
+
season_id: z.string().nullish(),
|
|
7604
|
+
episode_number: z.number().nullish(),
|
|
7605
|
+
content_type: z.string().nullish(),
|
|
7606
|
+
title: z.string().nullish(),
|
|
7607
|
+
description: z.string().nullish(),
|
|
7608
|
+
poster_blob_id: z.string().nullish(),
|
|
7609
|
+
duration_seconds: z.number().nullish(),
|
|
7610
|
+
release_date: z.string().nullish(),
|
|
7611
|
+
updated_by: z.string().nullish(),
|
|
7612
|
+
clear_series_id: z.boolean(),
|
|
7613
|
+
clear_season_id: z.boolean()
|
|
7614
|
+
});
|
|
7615
|
+
export type UpdateVideosRequest = z.infer<typeof UpdateVideosRequestSchema>;
|
|
7616
|
+
|
|
7617
|
+
export const UpdateVideosResultSchema = z.object({
|
|
7618
|
+
videos_updated: z.number(),
|
|
7619
|
+
videos_failed: z.array(z.object({
|
|
7620
|
+
video_id: z.string(),
|
|
7621
|
+
reason: z.string()
|
|
7622
|
+
}))
|
|
7623
|
+
});
|
|
7624
|
+
export type UpdateVideosResult = z.infer<typeof UpdateVideosResultSchema>;
|
|
7625
|
+
|
|
6692
7626
|
export const UploadMusicByBlake3RequestSchema = z.object({
|
|
6693
7627
|
blake3: z.string(),
|
|
6694
7628
|
filename: z.string(),
|
|
@@ -6706,6 +7640,31 @@ export const UploadMusicByBlake3RequestSchema = z.object({
|
|
|
6706
7640
|
});
|
|
6707
7641
|
export type UploadMusicByBlake3Request = z.infer<typeof UploadMusicByBlake3RequestSchema>;
|
|
6708
7642
|
|
|
7643
|
+
export const UploadVideoByBlake3RequestSchema = z.object({
|
|
7644
|
+
blake3: z.string(),
|
|
7645
|
+
filename: z.string(),
|
|
7646
|
+
size: z.number().nullish(),
|
|
7647
|
+
node_id: z.string().nullish(),
|
|
7648
|
+
metadata: z.object({
|
|
7649
|
+
series_id: z.string().nullish(),
|
|
7650
|
+
season_id: z.string().nullish(),
|
|
7651
|
+
episode_number: z.number().nullish(),
|
|
7652
|
+
title: z.string().nullish()
|
|
7653
|
+
}).nullish()
|
|
7654
|
+
});
|
|
7655
|
+
export type UploadVideoByBlake3Request = z.infer<typeof UploadVideoByBlake3RequestSchema>;
|
|
7656
|
+
|
|
7657
|
+
export const UpsertPlaybackProgressRequestSchema = z.object({
|
|
7658
|
+
entity_type: z.string(),
|
|
7659
|
+
entity_id: z.string(),
|
|
7660
|
+
position_fraction: z.number(),
|
|
7661
|
+
position_seconds: z.number().nullish(),
|
|
7662
|
+
duration_seconds: z.number().nullish(),
|
|
7663
|
+
position_locator: z.string().nullish(),
|
|
7664
|
+
completed_at: z.number().nullish()
|
|
7665
|
+
});
|
|
7666
|
+
export type UpsertPlaybackProgressRequest = z.infer<typeof UpsertPlaybackProgressRequestSchema>;
|
|
7667
|
+
|
|
6709
7668
|
export const UserStatsSchema = z.object({
|
|
6710
7669
|
user_id: z.string(),
|
|
6711
7670
|
username: z.string(),
|
|
@@ -6718,6 +7677,258 @@ export const UserStatsSchema = z.object({
|
|
|
6718
7677
|
});
|
|
6719
7678
|
export type UserStats = z.infer<typeof UserStatsSchema>;
|
|
6720
7679
|
|
|
7680
|
+
export const VideoSchema = z.object({
|
|
7681
|
+
id: z.string(),
|
|
7682
|
+
series_id: z.string().nullish(),
|
|
7683
|
+
season_id: z.string().nullish(),
|
|
7684
|
+
episode_number: z.number().nullish(),
|
|
7685
|
+
content_type: z.string(),
|
|
7686
|
+
title: z.string(),
|
|
7687
|
+
description: z.string().nullish(),
|
|
7688
|
+
media_blob_id: z.string(),
|
|
7689
|
+
poster_blob_id: z.string().nullish(),
|
|
7690
|
+
duration_seconds: z.number().nullish(),
|
|
7691
|
+
release_date: z.string().nullish(),
|
|
7692
|
+
created_at: z.number(),
|
|
7693
|
+
updated_at: z.number(),
|
|
7694
|
+
deleted_at: z.number().nullish(),
|
|
7695
|
+
created_by: z.string().nullish(),
|
|
7696
|
+
updated_by: z.string().nullish(),
|
|
7697
|
+
deleted_by: z.string().nullish(),
|
|
7698
|
+
images: z.array(z.object({
|
|
7699
|
+
blob_id: z.string(),
|
|
7700
|
+
is_primary: z.number(),
|
|
7701
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
7702
|
+
})).nullish(),
|
|
7703
|
+
play_count: z.number().nullish()
|
|
7704
|
+
});
|
|
7705
|
+
export type Video = z.infer<typeof VideoSchema>;
|
|
7706
|
+
|
|
7707
|
+
export const VideoImportReviewOkSchema = z.object({
|
|
7708
|
+
ok: z.boolean()
|
|
7709
|
+
});
|
|
7710
|
+
export type VideoImportReviewOk = z.infer<typeof VideoImportReviewOkSchema>;
|
|
7711
|
+
|
|
7712
|
+
export const VideoMetadataHintsSchema = z.object({
|
|
7713
|
+
series_id: z.string().nullish(),
|
|
7714
|
+
season_id: z.string().nullish(),
|
|
7715
|
+
episode_number: z.number().nullish(),
|
|
7716
|
+
title: z.string().nullish()
|
|
7717
|
+
});
|
|
7718
|
+
export type VideoMetadataHints = z.infer<typeof VideoMetadataHintsSchema>;
|
|
7719
|
+
|
|
7720
|
+
export const VideoPendingRequestSchema = z.object({
|
|
7721
|
+
video_id: z.string()
|
|
7722
|
+
});
|
|
7723
|
+
export type VideoPendingRequest = z.infer<typeof VideoPendingRequestSchema>;
|
|
7724
|
+
|
|
7725
|
+
export const VideoPendingResponseSchema = z.object({
|
|
7726
|
+
session_id: z.string().nullish(),
|
|
7727
|
+
pending_count: z.number(),
|
|
7728
|
+
created_at: z.number().nullish()
|
|
7729
|
+
});
|
|
7730
|
+
export type VideoPendingResponse = z.infer<typeof VideoPendingResponseSchema>;
|
|
7731
|
+
|
|
7732
|
+
export const VideoRenditionSchema = z.object({
|
|
7733
|
+
blob_id: z.string(),
|
|
7734
|
+
label: z.string(),
|
|
7735
|
+
extension: z.string(),
|
|
7736
|
+
mime: z.string().nullish(),
|
|
7737
|
+
skipped: z.boolean()
|
|
7738
|
+
});
|
|
7739
|
+
export type VideoRendition = z.infer<typeof VideoRenditionSchema>;
|
|
7740
|
+
|
|
7741
|
+
export const VideoReviewPatchSchema = z.object({
|
|
7742
|
+
video_id: z.string(),
|
|
7743
|
+
title: z.string().nullish(),
|
|
7744
|
+
episode_number: z.number().nullish(),
|
|
7745
|
+
season_id: z.string().nullish(),
|
|
7746
|
+
new_season: z.object({
|
|
7747
|
+
season_number: z.number(),
|
|
7748
|
+
title: z.string().nullish()
|
|
7749
|
+
}).nullish(),
|
|
7750
|
+
content_type: z.string().nullish()
|
|
7751
|
+
});
|
|
7752
|
+
export type VideoReviewPatch = z.infer<typeof VideoReviewPatchSchema>;
|
|
7753
|
+
|
|
7754
|
+
export const VideoSearchResultSchema = z.object({
|
|
7755
|
+
id: z.string(),
|
|
7756
|
+
title: z.string(),
|
|
7757
|
+
series_id: z.string().nullish(),
|
|
7758
|
+
series_name: z.string().nullish(),
|
|
7759
|
+
episode_number: z.number().nullish(),
|
|
7760
|
+
duration_seconds: z.number().nullish(),
|
|
7761
|
+
thumbnail_url: z.string().nullish(),
|
|
7762
|
+
user_rating: z.number().nullish(),
|
|
7763
|
+
is_favorite: z.boolean(),
|
|
7764
|
+
search_rank: z.number(),
|
|
7765
|
+
match_type: z.string(),
|
|
7766
|
+
highlight: z.string().nullish()
|
|
7767
|
+
});
|
|
7768
|
+
export type VideoSearchResult = z.infer<typeof VideoSearchResultSchema>;
|
|
7769
|
+
|
|
7770
|
+
export const VideoSeasonSchema = z.object({
|
|
7771
|
+
id: z.string(),
|
|
7772
|
+
series_id: z.string(),
|
|
7773
|
+
season_number: z.number(),
|
|
7774
|
+
title: z.string().nullish(),
|
|
7775
|
+
description: z.string().nullish(),
|
|
7776
|
+
poster_blob_id: z.string().nullish(),
|
|
7777
|
+
created_at: z.number(),
|
|
7778
|
+
updated_at: z.number(),
|
|
7779
|
+
deleted_at: z.number().nullish()
|
|
7780
|
+
});
|
|
7781
|
+
export type VideoSeason = z.infer<typeof VideoSeasonSchema>;
|
|
7782
|
+
|
|
7783
|
+
export const VideoSeriesSchema = z.object({
|
|
7784
|
+
id: z.string(),
|
|
7785
|
+
title: z.string(),
|
|
7786
|
+
description: z.string().nullish(),
|
|
7787
|
+
poster_blob_id: z.string().nullish(),
|
|
7788
|
+
created_at: z.number(),
|
|
7789
|
+
updated_at: z.number(),
|
|
7790
|
+
deleted_at: z.number().nullish(),
|
|
7791
|
+
created_by: z.string().nullish(),
|
|
7792
|
+
updated_by: z.string().nullish(),
|
|
7793
|
+
deleted_by: z.string().nullish()
|
|
7794
|
+
});
|
|
7795
|
+
export type VideoSeries = z.infer<typeof VideoSeriesSchema>;
|
|
7796
|
+
|
|
7797
|
+
export const VideoSeriesSearchResultSchema = z.object({
|
|
7798
|
+
id: z.string(),
|
|
7799
|
+
title: z.string(),
|
|
7800
|
+
description: z.string().nullish(),
|
|
7801
|
+
video_count: z.number(),
|
|
7802
|
+
thumbnail_url: z.string().nullish(),
|
|
7803
|
+
search_rank: z.number(),
|
|
7804
|
+
match_type: z.string(),
|
|
7805
|
+
highlight: z.string().nullish()
|
|
7806
|
+
});
|
|
7807
|
+
export type VideoSeriesSearchResult = z.infer<typeof VideoSeriesSearchResultSchema>;
|
|
7808
|
+
|
|
7809
|
+
export const VideoUploadResponseSchema = z.object({
|
|
7810
|
+
blob_id: z.string(),
|
|
7811
|
+
job_id: z.string(),
|
|
7812
|
+
sha256: z.string(),
|
|
7813
|
+
size: z.number(),
|
|
7814
|
+
mime: z.string(),
|
|
7815
|
+
existing: z.boolean(),
|
|
7816
|
+
message: z.string()
|
|
7817
|
+
});
|
|
7818
|
+
export type VideoUploadResponse = z.infer<typeof VideoUploadResponseSchema>;
|
|
7819
|
+
|
|
7820
|
+
export const VideoWithMetadataSchema = z.object({
|
|
7821
|
+
video: z.object({
|
|
7822
|
+
id: z.string(),
|
|
7823
|
+
series_id: z.string().nullish(),
|
|
7824
|
+
season_id: z.string().nullish(),
|
|
7825
|
+
episode_number: z.number().nullish(),
|
|
7826
|
+
content_type: z.string(),
|
|
7827
|
+
title: z.string(),
|
|
7828
|
+
description: z.string().nullish(),
|
|
7829
|
+
media_blob_id: z.string(),
|
|
7830
|
+
poster_blob_id: z.string().nullish(),
|
|
7831
|
+
duration_seconds: z.number().nullish(),
|
|
7832
|
+
release_date: z.string().nullish(),
|
|
7833
|
+
created_at: z.number(),
|
|
7834
|
+
updated_at: z.number(),
|
|
7835
|
+
deleted_at: z.number().nullish(),
|
|
7836
|
+
created_by: z.string().nullish(),
|
|
7837
|
+
updated_by: z.string().nullish(),
|
|
7838
|
+
deleted_by: z.string().nullish(),
|
|
7839
|
+
images: z.array(z.object({
|
|
7840
|
+
blob_id: z.string(),
|
|
7841
|
+
is_primary: z.number(),
|
|
7842
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
7843
|
+
})).nullish(),
|
|
7844
|
+
play_count: z.number().nullish()
|
|
7845
|
+
}),
|
|
7846
|
+
created_by_username: z.string().nullish(),
|
|
7847
|
+
updated_by_username: z.string().nullish(),
|
|
7848
|
+
blob_size: z.number().nullish(),
|
|
7849
|
+
blob_width: z.number().nullish(),
|
|
7850
|
+
blob_height: z.number().nullish(),
|
|
7851
|
+
codec: z.string().nullish(),
|
|
7852
|
+
container: z.string().nullish(),
|
|
7853
|
+
bitrate: z.number().nullish(),
|
|
7854
|
+
frame_rate: z.number().nullish()
|
|
7855
|
+
});
|
|
7856
|
+
export type VideoWithMetadata = z.infer<typeof VideoWithMetadataSchema>;
|
|
7857
|
+
|
|
7858
|
+
export const VideosByValueRequestSchema = z.object({
|
|
7859
|
+
kind: z.string(),
|
|
7860
|
+
value_norm: z.string(),
|
|
7861
|
+
limit: z.number().nullish(),
|
|
7862
|
+
offset: z.number().nullish()
|
|
7863
|
+
});
|
|
7864
|
+
export type VideosByValueRequest = z.infer<typeof VideosByValueRequestSchema>;
|
|
7865
|
+
|
|
7866
|
+
export const VideosByValueResponseSchema = z.object({
|
|
7867
|
+
kind: z.string(),
|
|
7868
|
+
value_norm: z.string(),
|
|
7869
|
+
videos: z.array(z.object({
|
|
7870
|
+
id: z.string(),
|
|
7871
|
+
series_id: z.string().nullish(),
|
|
7872
|
+
season_id: z.string().nullish(),
|
|
7873
|
+
episode_number: z.number().nullish(),
|
|
7874
|
+
content_type: z.string(),
|
|
7875
|
+
title: z.string(),
|
|
7876
|
+
description: z.string().nullish(),
|
|
7877
|
+
media_blob_id: z.string(),
|
|
7878
|
+
poster_blob_id: z.string().nullish(),
|
|
7879
|
+
duration_seconds: z.number().nullish(),
|
|
7880
|
+
release_date: z.string().nullish(),
|
|
7881
|
+
created_at: z.number(),
|
|
7882
|
+
updated_at: z.number(),
|
|
7883
|
+
deleted_at: z.number().nullish(),
|
|
7884
|
+
created_by: z.string().nullish(),
|
|
7885
|
+
updated_by: z.string().nullish(),
|
|
7886
|
+
deleted_by: z.string().nullish(),
|
|
7887
|
+
images: z.array(z.object({
|
|
7888
|
+
blob_id: z.string(),
|
|
7889
|
+
is_primary: z.number(),
|
|
7890
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
7891
|
+
})).nullish(),
|
|
7892
|
+
play_count: z.number().nullish()
|
|
7893
|
+
})),
|
|
7894
|
+
count: z.number()
|
|
7895
|
+
});
|
|
7896
|
+
export type VideosByValueResponse = z.infer<typeof VideosByValueResponseSchema>;
|
|
7897
|
+
|
|
7898
|
+
export const VideosQueryResultSchema = z.object({
|
|
7899
|
+
items: z.array(z.object({
|
|
7900
|
+
id: z.string(),
|
|
7901
|
+
series_id: z.string().nullish(),
|
|
7902
|
+
season_id: z.string().nullish(),
|
|
7903
|
+
episode_number: z.number().nullish(),
|
|
7904
|
+
content_type: z.string(),
|
|
7905
|
+
title: z.string(),
|
|
7906
|
+
description: z.string().nullish(),
|
|
7907
|
+
media_blob_id: z.string(),
|
|
7908
|
+
poster_blob_id: z.string().nullish(),
|
|
7909
|
+
duration_seconds: z.number().nullish(),
|
|
7910
|
+
release_date: z.string().nullish(),
|
|
7911
|
+
created_at: z.number(),
|
|
7912
|
+
updated_at: z.number(),
|
|
7913
|
+
deleted_at: z.number().nullish(),
|
|
7914
|
+
created_by: z.string().nullish(),
|
|
7915
|
+
updated_by: z.string().nullish(),
|
|
7916
|
+
deleted_by: z.string().nullish(),
|
|
7917
|
+
images: z.array(z.object({
|
|
7918
|
+
blob_id: z.string(),
|
|
7919
|
+
is_primary: z.number(),
|
|
7920
|
+
blob_type: z.union([z.literal("original"), z.literal("thumbnail"), z.literal("waveform"), z.literal("preview"), z.literal("rendition"), z.literal("subtitle")])
|
|
7921
|
+
})).nullish(),
|
|
7922
|
+
play_count: z.number().nullish()
|
|
7923
|
+
})),
|
|
7924
|
+
total_count: z.number(),
|
|
7925
|
+
has_more: z.boolean(),
|
|
7926
|
+
offset: z.number(),
|
|
7927
|
+
limit: z.number(),
|
|
7928
|
+
query_time_ms: z.number().nullish()
|
|
7929
|
+
});
|
|
7930
|
+
export type VideosQueryResult = z.infer<typeof VideosQueryResultSchema>;
|
|
7931
|
+
|
|
6721
7932
|
export const WhoAmIResponseSchema = z.object({
|
|
6722
7933
|
user_id: z.string(),
|
|
6723
7934
|
username: z.string(),
|