Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@nuclearplayer/plugin-sdk

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nuclearplayer/plugin-sdk - npm Package Compare versions

Comparing version
1.2.0
to
2.0.0
+670
-15
dist/index.d.ts

@@ -0,1 +1,3 @@

import { z } from 'zod';
export declare type Album = {

@@ -23,3 +25,3 @@ title: string;

export declare type Artist = {
export declare type ArtistBio = {
name: string;

@@ -40,3 +42,3 @@ disambiguation?: string;

export declare type ArtistMetadataCapability = 'artistDetails' | 'artistAlbums' | 'artistTopTracks' | 'artistRelatedArtists';
export declare type ArtistMetadataCapability = 'artistBio' | 'artistSocialStats' | 'artistTopTracks' | 'artistAlbums' | 'artistPlaylists' | 'artistRelatedArtists';

@@ -50,2 +52,14 @@ export declare type ArtistRef = {

export declare type ArtistSocialStats = {
name: string;
artwork?: ArtworkSet;
city?: string;
country?: string;
followersCount?: number;
followingsCount?: number;
trackCount?: number;
playlistCount?: number;
source: ProviderRef;
};
export declare type Artwork = {

@@ -213,5 +227,7 @@ url: string;

search(params: SearchParams, providerId?: string): Promise<SearchResults>;
fetchArtistDetails(artistId: string, providerId?: string): Promise<Artist>;
fetchArtistBio(artistId: string, providerId?: string): Promise<ArtistBio>;
fetchArtistSocialStats(artistId: string, providerId?: string): Promise<ArtistSocialStats>;
fetchArtistAlbums(artistId: string, providerId?: string): Promise<AlbumRef[]>;
fetchArtistTopTracks(artistId: string, providerId?: string): Promise<TrackRef[]>;
fetchArtistPlaylists(artistId: string, providerId?: string): Promise<PlaylistRef[]>;
fetchArtistRelatedArtists(artistId: string, providerId?: string): Promise<ArtistRef[]>;

@@ -223,5 +239,7 @@ fetchAlbumDetails(albumId: string, providerId?: string): Promise<Album>;

search: (params: SearchParams, providerId?: string) => Promise<SearchResults>;
fetchArtistDetails: (artistId: string, providerId?: string) => Promise<Artist>;
fetchArtistBio: (artistId: string, providerId?: string) => Promise<ArtistBio>;
fetchArtistSocialStats: (artistId: string, providerId?: string) => Promise<ArtistSocialStats>;
fetchArtistAlbums: (artistId: string, providerId?: string) => Promise<AlbumRef[]>;
fetchArtistTopTracks: (artistId: string, providerId?: string) => Promise<TrackRef[]>;
fetchArtistPlaylists: (artistId: string, providerId?: string) => Promise<PlaylistRef[]>;
fetchArtistRelatedArtists: (artistId: string, providerId?: string) => Promise<ArtistRef[]>;

@@ -240,6 +258,8 @@ fetchAlbumDetails: (albumId: string, providerId?: string) => Promise<Album>;

searchPlaylists?: (params: Omit<SearchParams, 'types'>) => Promise<PlaylistRef[]>;
fetchArtistDetails?: (query: string) => Promise<Artist>;
fetchArtistBio?: (artistId: string) => Promise<ArtistBio>;
fetchArtistSocialStats?: (artistId: string) => Promise<ArtistSocialStats>;
fetchAlbumDetails?: (query: string) => Promise<Album>;
fetchArtistTopTracks?: (artistId: string) => Promise<TrackRef[]>;
fetchArtistAlbums?: (artistId: string) => Promise<AlbumRef[]>;
fetchArtistTopTracks?: (artistId: string) => Promise<TrackRef[]>;
fetchArtistPlaylists?: (artistId: string) => Promise<PlaylistRef[]>;
fetchArtistRelatedArtists?: (artistId: string) => Promise<ArtistRef[]>;

@@ -320,16 +340,257 @@ };

name: string;
lastModifiedIso?: string;
description?: string;
artwork?: ArtworkSet;
tags?: string[];
createdAtIso: string;
lastModifiedIso: string;
origin?: ProviderRef;
isReadOnly: boolean;
parentId?: string;
items: PlaylistItem[];
};
export declare type PlaylistItem = {
export declare type PlaylistIndexEntry = Pick<Playlist, 'id' | 'name' | 'createdAtIso' | 'lastModifiedIso' | 'isReadOnly' | 'artwork'> & {
itemCount: number;
totalDurationMs: number;
};
export declare const playlistIndexEntrySchema: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
createdAtIso: z.ZodString;
lastModifiedIso: z.ZodString;
isReadOnly: z.ZodBoolean;
artwork: z.ZodOptional<z.ZodObject<{
items: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodOptional<z.ZodNumber>;
height: z.ZodOptional<z.ZodNumber>;
purpose: z.ZodOptional<z.ZodEnum<["avatar", "cover", "background", "thumbnail"]>>;
source: z.ZodOptional<z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}, {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
}, {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
}>>;
itemCount: z.ZodNumber;
totalDurationMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
id: string;
title: string;
artists: ArtistCredit[];
album?: string;
durationMs?: number;
artwork?: ArtworkSet;
name: string;
createdAtIso: string;
lastModifiedIso: string;
isReadOnly: boolean;
itemCount: number;
totalDurationMs: number;
artwork?: {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
} | undefined;
}, {
id: string;
name: string;
createdAtIso: string;
lastModifiedIso: string;
isReadOnly: boolean;
itemCount: number;
totalDurationMs: number;
artwork?: {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
} | undefined;
}>;
export declare const playlistIndexSchema: z.ZodArray<z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
createdAtIso: z.ZodString;
lastModifiedIso: z.ZodString;
isReadOnly: z.ZodBoolean;
artwork: z.ZodOptional<z.ZodObject<{
items: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodOptional<z.ZodNumber>;
height: z.ZodOptional<z.ZodNumber>;
purpose: z.ZodOptional<z.ZodEnum<["avatar", "cover", "background", "thumbnail"]>>;
source: z.ZodOptional<z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}, {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
}, {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
}>>;
itemCount: z.ZodNumber;
totalDurationMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
id: string;
name: string;
createdAtIso: string;
lastModifiedIso: string;
isReadOnly: boolean;
itemCount: number;
totalDurationMs: number;
artwork?: {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
} | undefined;
}, {
id: string;
name: string;
createdAtIso: string;
lastModifiedIso: string;
isReadOnly: boolean;
itemCount: number;
totalDurationMs: number;
artwork?: {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
} | undefined;
}>, "many">;
export declare type PlaylistItem<T extends Track = Track> = {
id: string;
track: T;
note?: string;
addedAtIso?: string;
source: ProviderRef;
addedAtIso: string;
};

@@ -344,2 +605,396 @@

export declare const playlistSchema: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
description: z.ZodOptional<z.ZodString>;
artwork: z.ZodOptional<z.ZodObject<{
items: z.ZodArray<z.ZodObject<{
url: z.ZodString;
width: z.ZodOptional<z.ZodNumber>;
height: z.ZodOptional<z.ZodNumber>;
purpose: z.ZodOptional<z.ZodEnum<["avatar", "cover", "background", "thumbnail"]>>;
source: z.ZodOptional<z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}, {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
}, {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
}>>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
createdAtIso: z.ZodString;
lastModifiedIso: z.ZodString;
origin: z.ZodOptional<z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>>;
isReadOnly: z.ZodBoolean;
parentId: z.ZodOptional<z.ZodString>;
items: z.ZodArray<z.ZodObject<{
id: z.ZodString;
track: z.ZodObject<{
title: z.ZodString;
artists: z.ZodArray<z.ZodObject<{
name: z.ZodString;
roles: z.ZodArray<z.ZodString, "many">;
source: z.ZodOptional<z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}, {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}>, "many">;
durationMs: z.ZodOptional<z.ZodNumber>;
source: z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
title: z.ZodString;
artists: z.ZodArray<z.ZodObject<{
name: z.ZodString;
roles: z.ZodArray<z.ZodString, "many">;
source: z.ZodOptional<z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}, {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}>, "many">;
durationMs: z.ZodOptional<z.ZodNumber>;
source: z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
title: z.ZodString;
artists: z.ZodArray<z.ZodObject<{
name: z.ZodString;
roles: z.ZodArray<z.ZodString, "many">;
source: z.ZodOptional<z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}, {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}>, "many">;
durationMs: z.ZodOptional<z.ZodNumber>;
source: z.ZodObject<{
provider: z.ZodString;
id: z.ZodString;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id: string;
provider: string;
url?: string | undefined;
}, {
id: string;
provider: string;
url?: string | undefined;
}>;
}, z.ZodTypeAny, "passthrough">>;
note: z.ZodOptional<z.ZodString>;
addedAtIso: z.ZodString;
}, "strip", z.ZodTypeAny, {
id: string;
track: {
artists: {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
source: {
id: string;
provider: string;
url?: string | undefined;
};
title: string;
durationMs?: number | undefined;
} & {
[k: string]: unknown;
};
addedAtIso: string;
note?: string | undefined;
}, {
id: string;
track: {
artists: {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
source: {
id: string;
provider: string;
url?: string | undefined;
};
title: string;
durationMs?: number | undefined;
} & {
[k: string]: unknown;
};
addedAtIso: string;
note?: string | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
items: {
id: string;
track: {
artists: {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
source: {
id: string;
provider: string;
url?: string | undefined;
};
title: string;
durationMs?: number | undefined;
} & {
[k: string]: unknown;
};
addedAtIso: string;
note?: string | undefined;
}[];
id: string;
name: string;
createdAtIso: string;
lastModifiedIso: string;
isReadOnly: boolean;
artwork?: {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
} | undefined;
description?: string | undefined;
tags?: string[] | undefined;
origin?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
parentId?: string | undefined;
}, {
items: {
id: string;
track: {
artists: {
name: string;
roles: string[];
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
source: {
id: string;
provider: string;
url?: string | undefined;
};
title: string;
durationMs?: number | undefined;
} & {
[k: string]: unknown;
};
addedAtIso: string;
note?: string | undefined;
}[];
id: string;
name: string;
createdAtIso: string;
lastModifiedIso: string;
isReadOnly: boolean;
artwork?: {
items: {
url: string;
width?: number | undefined;
height?: number | undefined;
purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
source?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
}[];
} | undefined;
description?: string | undefined;
tags?: string[] | undefined;
origin?: {
id: string;
provider: string;
url?: string | undefined;
} | undefined;
parentId?: string | undefined;
}>;
export declare type PluginIcon = {

@@ -346,0 +1001,0 @@ type: 'link';

+1
-1
{
"name": "@nuclearplayer/plugin-sdk",
"version": "1.2.0",
"version": "2.0.0",
"description": "Plugin SDK for Nuclear music player",

@@ -5,0 +5,0 @@ "type": "module",

Sorry, the diff of this file is too big to display