@rocksky/sdk 0.14.0 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +49 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.test.d.ts +2 -0
- package/dist/client.test.d.ts.map +1 -0
- package/dist/filter.d.ts +19 -0
- package/dist/filter.d.ts.map +1 -1
- package/dist/generated/types.d.ts +157 -27
- package/dist/generated/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -11
- package/dist/library.d.ts +101 -11
- package/dist/library.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agent.ts +1 -1
- package/src/client.test.ts +83 -0
- package/src/client.ts +125 -15
- package/src/filter.ts +20 -0
- package/src/generated/types.ts +172 -31
- package/src/index.ts +9 -1
- package/src/library.ts +115 -19
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Filter } from "./filter.js";
|
|
2
2
|
import { RockskyLibrary } from "./library.js";
|
|
3
|
-
import type { ActorProfileViewBasic, ActorProfileViewDetailed, AlbumViewBasic, AlbumViewDetailed, ArtistViewBasic, ArtistViewDetailed, ChartsView, CreateScrobbleInput, FollowAccountOutput, FeedGeneratorsView, FeedRecommendationsView, FeedRecommendedAlbumsView, FeedRecommendedArtistsView, FeedSearchResultsView, FeedStoriesView, FeedView, GetActorCompatibilityOutput, GetActorNeighboursOutput, GetActorPlaylistsOutput, GetAlbumShoutsOutput, GetApikeysOutput, GetArtistListenersOutput, GetArtistRecentListenersOutput, GetArtistShoutsOutput, GetFeedGeneratorOutput, GetMirrorSourcesOutput, GetProfileShoutsOutput, GetShoutRepliesOutput, GetSongRecentListenersOutput, GetTrackShoutsOutput, GetUnreadCountOutput, ListNotificationsOutput, MirrorSourceView, PlayerCurrentlyPlayingViewDetailed, PlayerPlaybackQueueViewDetailed, PlaylistGetPlaylistsOutput, PlaylistViewDetailed, PutAudioSettingsInput, PutMirrorSourceInput, RockboxSettingsView, ScrobbleViewBasic, SongViewBasic, SongViewDetailed, StatsGlobalStatsView, StatsView, StatsWrappedView, UnfollowAccountOutput, UpdateSeenOutput } from "./generated/types.js";
|
|
3
|
+
import type { ActorProfileViewBasic, ActorProfileViewDetailed, AlbumViewBasic, AlbumViewDetailed, ArtistViewBasic, ArtistViewDetailed, ChartsDecadeViewBasic, ChartsScrobblerViewBasic, ChartsView, CreateScrobbleInput, FollowAccountOutput, FeedGeneratorsView, FeedRecommendationsView, FeedRecommendedAlbumsView, FeedRecommendedArtistsView, FeedSearchResultsView, FeedStoriesView, FeedView, GetActorCompatibilityOutput, GetActorNeighboursOutput, GetActorPlaylistsOutput, GetAlbumShoutsOutput, GetApikeysOutput, GetArtistListenersOutput, GetArtistRecentListenersOutput, GetArtistShoutsOutput, GetFeedGeneratorOutput, GetMirrorSourcesOutput, GetProfileShoutsOutput, GetShoutRepliesOutput, GetSongRecentListenersOutput, GetTrackShoutsOutput, GetUnreadCountOutput, ListNotificationsOutput, MirrorSourceView, PlayerCurrentlyPlayingViewDetailed, PlayerPlaybackQueueViewDetailed, PlaylistGetPlaylistsOutput, PlaylistViewDetailed, PutAudioSettingsInput, PutMirrorSourceInput, RockboxSettingsView, ScrobbleViewBasic, SongViewBasic, SongViewDetailed, StatsGlobalStatsView, StatsView, StatsWrappedView, PlaylistCreatePlaylistOutput, PlaylistUpdatePlaylistOutput, AddSongsOutput, UnfollowAccountOutput, UpdateSeenOutput } from "./generated/types.js";
|
|
4
4
|
/**
|
|
5
5
|
* A typed date window for the `top*` charts. Build one with the {@link Interval}
|
|
6
6
|
* factories; `range` bounds are RFC-3339 datetimes.
|
|
@@ -70,10 +70,18 @@ export declare class RockskyClient {
|
|
|
70
70
|
topTracks(limit?: number, offset?: number): Promise<SongViewBasic[]>;
|
|
71
71
|
/** The platform-wide top artists chart (all-time). */
|
|
72
72
|
topArtists(limit?: number, offset?: number): Promise<ArtistViewBasic[]>;
|
|
73
|
-
/** The top tracks chart over a typed {@link DateInterval}.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
/** The top tracks chart over a typed {@link DateInterval}. Pass `did` to scope
|
|
74
|
+
* it to one actor instead of the platform-wide ranking. */
|
|
75
|
+
topTracksInterval(limit: number, offset: number, interval: DateInterval, did?: string): Promise<SongViewBasic[]>;
|
|
76
|
+
/** The top artists chart over a typed {@link DateInterval}. Pass `did` to scope
|
|
77
|
+
* it to one actor instead of the platform-wide ranking. */
|
|
78
|
+
topArtistsInterval(limit: number, offset: number, interval: DateInterval, did?: string): Promise<ArtistViewBasic[]>;
|
|
79
|
+
/** Scrobbles grouped by the release decade of the music, over a typed
|
|
80
|
+
* {@link DateInterval}. Pass `did` to scope it to one actor. */
|
|
81
|
+
decades(interval?: DateInterval, did?: string): Promise<ChartsDecadeViewBasic[]>;
|
|
82
|
+
/** The listeners who scrobbled the most, over a typed {@link DateInterval}.
|
|
83
|
+
* Pass `Interval.allTime()` for the all-time leaderboard. */
|
|
84
|
+
topScrobblers(limit?: number, offset?: number, interval?: DateInterval): Promise<ChartsScrobblerViewBasic[]>;
|
|
77
85
|
/** The album catalog, optionally filtered by `genre` and/or an RSQL
|
|
78
86
|
* {@link Filter} expression (see {@link AlbumFields}). */
|
|
79
87
|
catalogAlbums(limit?: number, offset?: number, genre?: string, filter?: string | Filter): Promise<AlbumViewBasic[]>;
|
|
@@ -112,8 +120,10 @@ export declare class RockskyClient {
|
|
|
112
120
|
/** A single artist with detail. */
|
|
113
121
|
artist(uri: string): Promise<ArtistViewDetailed>;
|
|
114
122
|
/** Resolve full canonical metadata for a bare title + artist
|
|
115
|
-
* (`app.rocksky.song.matchSong`); optionally anchor with `mbId` / `isrc`.
|
|
116
|
-
|
|
123
|
+
* (`app.rocksky.song.matchSong`); optionally anchor with `mbId` / `isrc`.
|
|
124
|
+
* `album` steers the match toward that release (case-insensitive) so a
|
|
125
|
+
* remaster/live/single edition doesn't shadow the intended album. */
|
|
126
|
+
matchSong(title: string, artist: string, mbId?: string, isrc?: string, album?: string): Promise<SongViewDetailed>;
|
|
117
127
|
/** A single song by at:// `uri` (or by `mbid` / `isrc` / `spotifyId`). */
|
|
118
128
|
song(opts: {
|
|
119
129
|
uri?: string;
|
|
@@ -168,10 +178,40 @@ export declare class RockskyClient {
|
|
|
168
178
|
playbackQueue(playerId: string): Promise<PlayerPlaybackQueueViewDetailed>;
|
|
169
179
|
/** What `actor` is playing now on Spotify. */
|
|
170
180
|
spotifyCurrentlyPlaying(actor: string): Promise<PlayerCurrentlyPlayingViewDetailed>;
|
|
171
|
-
/** The playlist catalog
|
|
172
|
-
|
|
181
|
+
/** The playlist catalog, optionally filtered by an RSQL {@link Filter}
|
|
182
|
+
* expression (see {@link PlaylistFields}). */
|
|
183
|
+
playlists(limit?: number, offset?: number, filter?: string | Filter): Promise<PlaylistGetPlaylistsOutput>;
|
|
173
184
|
/** A single playlist with its items. */
|
|
174
185
|
playlist(uri: string): Promise<PlaylistViewDetailed>;
|
|
186
|
+
/**
|
|
187
|
+
* Create a playlist (`app.rocksky.playlist.createPlaylist`). Auth required.
|
|
188
|
+
* Publishes an app.rocksky.playlist record to the caller's repo; the AppView
|
|
189
|
+
* only lists it once the commit has been ingested.
|
|
190
|
+
*/
|
|
191
|
+
createPlaylist(input: {
|
|
192
|
+
name: string;
|
|
193
|
+
description?: string;
|
|
194
|
+
pictureUrl?: string;
|
|
195
|
+
}): Promise<PlaylistCreatePlaylistOutput>;
|
|
196
|
+
/** Rename or re-describe a playlist (`app.rocksky.playlist.updatePlaylist`). Owner only. */
|
|
197
|
+
updatePlaylist(input: {
|
|
198
|
+
uri: string;
|
|
199
|
+
name?: string;
|
|
200
|
+
description?: string;
|
|
201
|
+
pictureUrl?: string;
|
|
202
|
+
}): Promise<PlaylistUpdatePlaylistOutput>;
|
|
203
|
+
/**
|
|
204
|
+
* Add songs to a playlist (`app.rocksky.playlist.addSongs`). Owner only.
|
|
205
|
+
* `songs` are app.rocksky.song AT-URIs; returns the created entry URIs.
|
|
206
|
+
*/
|
|
207
|
+
addSongs(uri: string, songs: string[]): Promise<AddSongsOutput>;
|
|
208
|
+
/** Delete a playlist and the caller's own entries (`app.rocksky.playlist.removePlaylist`). Owner only. */
|
|
209
|
+
removePlaylist(uri: string): Promise<void>;
|
|
210
|
+
/**
|
|
211
|
+
* Remove a song from a playlist (`app.rocksky.playlist.removeTrack`). An
|
|
212
|
+
* entry can only be retracted by the repo that published it.
|
|
213
|
+
*/
|
|
214
|
+
removeTrack(uri: string, songUri: string): Promise<void>;
|
|
175
215
|
/** Shouts on an album. */
|
|
176
216
|
albumShouts(uri: string, limit?: number, offset?: number): Promise<GetAlbumShoutsOutput>;
|
|
177
217
|
/** Shouts on an artist. */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,QAAQ,EAGR,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EAEvB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,kCAAkC,EAClC,+BAA+B,EAC/B,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD,oFAAoF;AACpF,eAAO,MAAM,QAAQ;IACnB,sCAAsC;mBACzB,YAAY;IACzB,oCAAoC;kBACtB,MAAM,KAAG,YAAY;IACnC,qCAAqC;mBACtB,MAAM,KAAG,YAAY;IACpC,sCAAsC;oBACtB,MAAM,KAAG,YAAY;IACrC,qCAAqC;mBACtB,MAAM,KAAG,YAAY;IACpC,gDAAgD;mBACjC,IAAI,OAAO,IAAI,KAAG,YAAY;CAI9C,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,eAAe,4BAA4B,CAAC;AAEzD,wEAAwE;AACxE,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAC,CAAS;IAEvB;;;;;OAKG;gBACS,OAAO,GAAE,MAAwB,EAAE,KAAK,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":""}
|
package/dist/filter.d.ts
CHANGED
|
@@ -97,6 +97,25 @@ export declare const ArtistFields: {
|
|
|
97
97
|
readonly uri: "uri";
|
|
98
98
|
readonly createdAt: "createdAt";
|
|
99
99
|
};
|
|
100
|
+
/** Filterable fields of app.rocksky.playlist.getPlaylists (`track.*` selectors match the playlist's contents). */
|
|
101
|
+
export declare const PlaylistFields: {
|
|
102
|
+
readonly name: "name";
|
|
103
|
+
readonly title: "title";
|
|
104
|
+
readonly description: "description";
|
|
105
|
+
readonly uri: "uri";
|
|
106
|
+
readonly spotifyLink: "spotifyLink";
|
|
107
|
+
readonly tidalLink: "tidalLink";
|
|
108
|
+
readonly appleMusicLink: "appleMusicLink";
|
|
109
|
+
readonly createdAt: "createdAt";
|
|
110
|
+
readonly updatedAt: "updatedAt";
|
|
111
|
+
readonly curatorDid: "curatorDid";
|
|
112
|
+
readonly curatorHandle: "curatorHandle";
|
|
113
|
+
readonly curatorName: "curatorName";
|
|
114
|
+
readonly trackTitle: "track.title";
|
|
115
|
+
readonly trackArtist: "track.artist";
|
|
116
|
+
readonly trackAlbum: "track.album";
|
|
117
|
+
readonly trackAlbumArtist: "track.albumArtist";
|
|
118
|
+
};
|
|
100
119
|
/** Filterable fields of app.rocksky.scrobble.getScrobbles (dotted selectors reach the joined track/user/artist). */
|
|
101
120
|
export declare const ScrobbleFields: {
|
|
102
121
|
readonly uri: "uri";
|
package/dist/filter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAapD,qBAAa,MAAM;IAEf,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,OAAO;IAKP,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,OAAO,CAAC,MAAM,CAAC,IAAI;IAOnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,mCAAmC;IACnC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,uCAAuC;IACvC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,gDAAgD;IAChD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,6CAA6C;IAC7C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,oDAAoD;IACpD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM;IAIvD,sDAAsD;IACtD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM;IAIxD,yCAAyC;IACzC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,6CAA6C;IAC7C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC,6FAA6F;IAC7F,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI1B,mCAAmC;IACnC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIzB,OAAO,CAAC,QAAQ;IAIhB,sEAAsE;IACtE,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,MAAM;CAGnB;AAED,sDAAsD;AACtD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAkBb,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,WAAW;;;;;;;;;CASd,CAAC;AAEX,0DAA0D;AAC1D,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX,oHAAoH;AACpH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAoBjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAapD,qBAAa,MAAM;IAEf,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,OAAO;IAKP,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,OAAO,CAAC,MAAM,CAAC,IAAI;IAOnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,mCAAmC;IACnC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,uCAAuC;IACvC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,gDAAgD;IAChD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,oCAAoC;IACpC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,6CAA6C;IAC7C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM;IAIpD,oDAAoD;IACpD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM;IAIvD,sDAAsD;IACtD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM;IAIxD,yCAAyC;IACzC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,6CAA6C;IAC7C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC,6FAA6F;IAC7F,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI1B,mCAAmC;IACnC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIzB,OAAO,CAAC,QAAQ;IAIhB,sEAAsE;IACtE,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,MAAM;CAGnB;AAED,sDAAsD;AACtD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAkBb,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,WAAW;;;;;;;;;CASd,CAAC;AAEX,0DAA0D;AAC1D,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX,kHAAkH;AAClH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;CAiBjB,CAAC;AAEX,oHAAoH;AACpH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAoBjB,CAAC"}
|
|
@@ -114,6 +114,16 @@ export interface AddItemsToQueueParams {
|
|
|
114
114
|
/** Whether to shuffle the added items in the queue */
|
|
115
115
|
shuffle?: boolean;
|
|
116
116
|
}
|
|
117
|
+
export interface AddSongsOutput {
|
|
118
|
+
/** AT-URIs of the created app.rocksky.playlist.song records */
|
|
119
|
+
uris: AtUri[];
|
|
120
|
+
}
|
|
121
|
+
export interface AddSongsParams {
|
|
122
|
+
/** The URI of the playlist to add the songs to */
|
|
123
|
+
uri: AtUri;
|
|
124
|
+
/** AT-URIs of the app.rocksky.song records to add */
|
|
125
|
+
songs: AtUri[];
|
|
126
|
+
}
|
|
117
127
|
export interface AlbumGetAlbumParams {
|
|
118
128
|
/** The URI of the album to retrieve. */
|
|
119
129
|
uri: AtUri;
|
|
@@ -328,6 +338,32 @@ export interface ArtistViewDetailed {
|
|
|
328
338
|
uniqueListeners?: number;
|
|
329
339
|
tags?: string[];
|
|
330
340
|
}
|
|
341
|
+
export interface ChartsDecadeViewBasic {
|
|
342
|
+
/** The first year of the decade, e.g. 1990. */
|
|
343
|
+
decade?: number;
|
|
344
|
+
/** The number of scrobbles of music released in this decade. */
|
|
345
|
+
scrobbles?: number;
|
|
346
|
+
/** The number of distinct albums scrobbled from this decade. */
|
|
347
|
+
uniqueAlbums?: number;
|
|
348
|
+
}
|
|
349
|
+
export interface ChartsScrobblerViewBasic {
|
|
350
|
+
/** The unique identifier of the actor. */
|
|
351
|
+
id?: string;
|
|
352
|
+
/** The DID of the actor. */
|
|
353
|
+
did?: string;
|
|
354
|
+
/** The handle of the actor. */
|
|
355
|
+
handle?: string;
|
|
356
|
+
/** The display name of the actor. */
|
|
357
|
+
displayName?: string;
|
|
358
|
+
/** The URL of the actor's avatar image. */
|
|
359
|
+
avatar?: Uri;
|
|
360
|
+
/** The number of scrobbles in the requested window. */
|
|
361
|
+
scrobbles?: number;
|
|
362
|
+
/** The number of distinct artists scrobbled in the window. */
|
|
363
|
+
uniqueArtists?: number;
|
|
364
|
+
/** The number of distinct tracks scrobbled in the window. */
|
|
365
|
+
uniqueTracks?: number;
|
|
366
|
+
}
|
|
331
367
|
export interface ChartsScrobbleViewBasic {
|
|
332
368
|
/** The date of the scrobble. */
|
|
333
369
|
date?: DateTime;
|
|
@@ -677,10 +713,12 @@ export interface GetActorPlaylistsOutput {
|
|
|
677
713
|
export interface GetActorPlaylistsParams {
|
|
678
714
|
/** The DID or handle of the actor */
|
|
679
715
|
did: AtIdentifier;
|
|
680
|
-
/** The maximum number of
|
|
716
|
+
/** The maximum number of playlists to return */
|
|
681
717
|
limit?: number;
|
|
682
718
|
/** The offset for pagination */
|
|
683
719
|
offset?: number;
|
|
720
|
+
/** RSQL filter expression, e.g. `name=="Road trip*";track.artist=="Daft Punk"`. Supports ==, !=, <, <=, >, >=, =in=, =out=, and `;`/`and`, `,`/`or` combinators, `*` wildcards in string values. Filterable fields: name, title, description, uri, spotifyLink, tidalLink, appleMusicLink, createdAt, updatedAt. The `track.title`, `track.artist`, `track.album` and `track.albumArtist` selectors match the playlist's contents, returning playlists that contain a matching track; several `track.*` terms joined with `;` must all be satisfied by the same track. */
|
|
721
|
+
filter?: string;
|
|
684
722
|
}
|
|
685
723
|
export interface GetActorScrobblesOutput {
|
|
686
724
|
scrobbles?: ScrobbleViewBasic[];
|
|
@@ -851,6 +889,17 @@ export interface GetCoverArtUrlParams {
|
|
|
851
889
|
/** Requested square size in pixels. */
|
|
852
890
|
size?: number;
|
|
853
891
|
}
|
|
892
|
+
export interface GetDecadesOutput {
|
|
893
|
+
decades?: ChartsDecadeViewBasic[];
|
|
894
|
+
}
|
|
895
|
+
export interface GetDecadesParams {
|
|
896
|
+
/** The DID or handle of the actor to scope the chart to */
|
|
897
|
+
did?: AtIdentifier;
|
|
898
|
+
/** The start date to count scrobbles from (ISO 8601 format) */
|
|
899
|
+
startDate?: DateTime;
|
|
900
|
+
/** The end date to count scrobbles to (ISO 8601 format) */
|
|
901
|
+
endDate?: DateTime;
|
|
902
|
+
}
|
|
854
903
|
export interface GetDownloadUrlOutput {
|
|
855
904
|
/** The resolved media or cover-art URL. */
|
|
856
905
|
url: Uri;
|
|
@@ -1160,6 +1209,8 @@ export interface GetTopArtistsOutput {
|
|
|
1160
1209
|
artists?: ArtistViewBasic[];
|
|
1161
1210
|
}
|
|
1162
1211
|
export interface GetTopArtistsParams {
|
|
1212
|
+
/** The DID or handle of the actor to scope the chart to */
|
|
1213
|
+
did?: AtIdentifier;
|
|
1163
1214
|
/** The maximum number of artists to return */
|
|
1164
1215
|
limit?: number;
|
|
1165
1216
|
/** The offset for pagination */
|
|
@@ -1169,6 +1220,19 @@ export interface GetTopArtistsParams {
|
|
|
1169
1220
|
/** The end date to filter artists to (ISO 8601 format) */
|
|
1170
1221
|
endDate?: DateTime;
|
|
1171
1222
|
}
|
|
1223
|
+
export interface GetTopScrobblersOutput {
|
|
1224
|
+
scrobblers?: ChartsScrobblerViewBasic[];
|
|
1225
|
+
}
|
|
1226
|
+
export interface GetTopScrobblersParams {
|
|
1227
|
+
/** The maximum number of scrobblers to return */
|
|
1228
|
+
limit?: number;
|
|
1229
|
+
/** The offset for pagination */
|
|
1230
|
+
offset?: number;
|
|
1231
|
+
/** The start date to count scrobbles from (ISO 8601 format) */
|
|
1232
|
+
startDate?: DateTime;
|
|
1233
|
+
/** The end date to count scrobbles to (ISO 8601 format) */
|
|
1234
|
+
endDate?: DateTime;
|
|
1235
|
+
}
|
|
1172
1236
|
export interface GetTopSongsOutput {
|
|
1173
1237
|
}
|
|
1174
1238
|
export interface GetTopSongsParams {
|
|
@@ -1181,6 +1245,8 @@ export interface GetTopTracksOutput {
|
|
|
1181
1245
|
tracks?: SongViewBasic[];
|
|
1182
1246
|
}
|
|
1183
1247
|
export interface GetTopTracksParams {
|
|
1248
|
+
/** The DID or handle of the actor to scope the chart to */
|
|
1249
|
+
did?: AtIdentifier;
|
|
1184
1250
|
/** The maximum number of tracks to return */
|
|
1185
1251
|
limit?: number;
|
|
1186
1252
|
/** The offset for pagination */
|
|
@@ -1309,6 +1375,20 @@ export interface LibrarySearchParams {
|
|
|
1309
1375
|
/** Song result offset. */
|
|
1310
1376
|
songOffset?: number;
|
|
1311
1377
|
}
|
|
1378
|
+
export interface LibraryUpdatePlaylistInput {
|
|
1379
|
+
/** The playlist id to update. */
|
|
1380
|
+
playlistId: string;
|
|
1381
|
+
/** New playlist name. */
|
|
1382
|
+
name?: string;
|
|
1383
|
+
/** New playlist comment. */
|
|
1384
|
+
comment?: string;
|
|
1385
|
+
/** A song id to add to the playlist. */
|
|
1386
|
+
songIdToAdd?: string;
|
|
1387
|
+
/** A track index to remove from the playlist. */
|
|
1388
|
+
songIndexToRemove?: number;
|
|
1389
|
+
}
|
|
1390
|
+
export interface LibraryUpdatePlaylistOutput {
|
|
1391
|
+
}
|
|
1312
1392
|
export interface LikeRecord {
|
|
1313
1393
|
/** The date when the like was created. */
|
|
1314
1394
|
createdAt: DateTime;
|
|
@@ -1338,6 +1418,8 @@ export interface MatchSongParams {
|
|
|
1338
1418
|
title: string;
|
|
1339
1419
|
/** The artist of the song to retrieve */
|
|
1340
1420
|
artist: string;
|
|
1421
|
+
/** Optional album title — candidates whose album matches it (case-insensitive) are preferred, so remaster/live/single editions don't shadow the intended release */
|
|
1422
|
+
album?: string;
|
|
1341
1423
|
/** Optional MusicBrainz recording ID to anchor the match */
|
|
1342
1424
|
mbId?: string;
|
|
1343
1425
|
/** Optional International Standard Recording Code (ISRC) to anchor the match */
|
|
@@ -1348,6 +1430,8 @@ export interface MirrorSourceView {
|
|
|
1348
1430
|
provider: string;
|
|
1349
1431
|
/** Whether scrobbles from this source are being mirrored into Rocksky. */
|
|
1350
1432
|
enabled: boolean;
|
|
1433
|
+
/** Whether Rocksky scrobbles are mirrored out to this source. Enabled unless the user turned it off. teal.fm only. */
|
|
1434
|
+
pushEnabled?: boolean;
|
|
1351
1435
|
/** Username on the external service (Last.fm / ListenBrainz). Null for Teal.fm. */
|
|
1352
1436
|
externalUsername?: string;
|
|
1353
1437
|
/** True when an API key is stored. Last.fm/ListenBrainz only; always false for Teal.fm. */
|
|
@@ -1443,15 +1527,25 @@ export interface PlayFileParams {
|
|
|
1443
1527
|
playerId?: string;
|
|
1444
1528
|
fileId: string;
|
|
1445
1529
|
}
|
|
1530
|
+
export interface PlaylistCreatePlaylistOutput {
|
|
1531
|
+
/** The AT-URI of the created app.rocksky.playlist record. */
|
|
1532
|
+
uri: AtUri;
|
|
1533
|
+
/** The CID of the created app.rocksky.playlist record. */
|
|
1534
|
+
cid: string;
|
|
1535
|
+
}
|
|
1446
1536
|
export interface PlaylistCreatePlaylistParams {
|
|
1447
1537
|
/** The name of the playlist */
|
|
1448
1538
|
name: string;
|
|
1449
1539
|
/** A brief description of the playlist */
|
|
1450
1540
|
description?: string;
|
|
1541
|
+
/** The URL of the cover image for the playlist */
|
|
1542
|
+
pictureUrl?: Uri;
|
|
1451
1543
|
}
|
|
1452
1544
|
export interface PlaylistGetPlaylistParams {
|
|
1453
1545
|
/** The URI of the playlist to retrieve. */
|
|
1454
1546
|
uri: AtUri;
|
|
1547
|
+
/** RSQL filter expression applied to the playlist's tracks, e.g. `artist=="Daft Punk";duration=gt=200000`. Supports ==, !=, <, <=, >, >=, =in=, =out=, and `;`/`and`, `,`/`or` combinators, `*` wildcards in string values. Filterable fields: title, artist, album, albumArtist, genre, composer, label, duration, trackNumber, discNumber, mbId, isrc, sha256, uri, albumUri, artistUri, addedAt */
|
|
1548
|
+
filter?: string;
|
|
1455
1549
|
}
|
|
1456
1550
|
export interface PlaylistGetPlaylistsOutput {
|
|
1457
1551
|
playlists?: PlaylistViewBasic[];
|
|
@@ -1461,14 +1555,8 @@ export interface PlaylistGetPlaylistsParams {
|
|
|
1461
1555
|
limit?: number;
|
|
1462
1556
|
/** The offset for pagination, used to skip a number of playlists. */
|
|
1463
1557
|
offset?: number;
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
subject: StrongRef;
|
|
1467
|
-
/** The date the playlist was created. */
|
|
1468
|
-
createdAt: DateTime;
|
|
1469
|
-
track: SongViewBasic;
|
|
1470
|
-
/** The order of the item in the playlist. */
|
|
1471
|
-
order: number;
|
|
1558
|
+
/** RSQL filter expression, e.g. `name=="Road trip*";track.artist=="Daft Punk"`. Supports ==, !=, <, <=, >, >=, =in=, =out=, and `;`/`and`, `,`/`or` combinators, `*` wildcards in string values. Filterable fields: name, title, description, uri, spotifyLink, tidalLink, appleMusicLink, createdAt, updatedAt, curatorDid, curatorHandle, curatorName. The `track.title`, `track.artist`, `track.album` and `track.albumArtist` selectors match the playlist's contents, returning playlists that contain a matching track; several `track.*` terms joined with `;` must all be satisfied by the same track. */
|
|
1559
|
+
filter?: string;
|
|
1472
1560
|
}
|
|
1473
1561
|
export interface PlaylistRecord {
|
|
1474
1562
|
/** The name of the playlist. */
|
|
@@ -1490,6 +1578,42 @@ export interface PlaylistRecord {
|
|
|
1490
1578
|
/** The Apple Music link of the playlist. */
|
|
1491
1579
|
appleMusicLink?: string;
|
|
1492
1580
|
}
|
|
1581
|
+
export interface PlaylistSongRecord {
|
|
1582
|
+
/** Strong reference (AT-URI + CID) to the parent app.rocksky.playlist record. */
|
|
1583
|
+
playlist: StrongRef;
|
|
1584
|
+
/** Strong reference (AT-URI + CID) to the app.rocksky.song record this entry points at. */
|
|
1585
|
+
song: StrongRef;
|
|
1586
|
+
/** The title of the song. */
|
|
1587
|
+
title: string;
|
|
1588
|
+
/** The artist of the song. */
|
|
1589
|
+
artist: string;
|
|
1590
|
+
/** The album the song belongs to. */
|
|
1591
|
+
album: string;
|
|
1592
|
+
/** The album artist of the song. */
|
|
1593
|
+
albumArtist: string;
|
|
1594
|
+
/** The duration of the song in milliseconds. */
|
|
1595
|
+
duration: number;
|
|
1596
|
+
/** The URL of the album art of the song. */
|
|
1597
|
+
albumArtUrl?: Uri;
|
|
1598
|
+
/** The date and time the song was added to the playlist. */
|
|
1599
|
+
addedAt: DateTime;
|
|
1600
|
+
}
|
|
1601
|
+
export interface PlaylistUpdatePlaylistOutput {
|
|
1602
|
+
/** The AT-URI of the updated app.rocksky.playlist record. */
|
|
1603
|
+
uri: AtUri;
|
|
1604
|
+
/** The CID of the updated app.rocksky.playlist record. */
|
|
1605
|
+
cid: string;
|
|
1606
|
+
}
|
|
1607
|
+
export interface PlaylistUpdatePlaylistParams {
|
|
1608
|
+
/** The URI of the playlist to update */
|
|
1609
|
+
uri: AtUri;
|
|
1610
|
+
/** The new name of the playlist */
|
|
1611
|
+
name?: string;
|
|
1612
|
+
/** The new description of the playlist */
|
|
1613
|
+
description?: string;
|
|
1614
|
+
/** The new cover image URL for the playlist */
|
|
1615
|
+
pictureUrl?: Uri;
|
|
1616
|
+
}
|
|
1493
1617
|
/** Basic view of a playlist, including its metadata */
|
|
1494
1618
|
export interface PlaylistViewBasic {
|
|
1495
1619
|
/** The unique identifier of the playlist. */
|
|
@@ -1514,6 +1638,8 @@ export interface PlaylistViewBasic {
|
|
|
1514
1638
|
createdAt?: DateTime;
|
|
1515
1639
|
/** The number of tracks in the playlist. */
|
|
1516
1640
|
trackCount?: number;
|
|
1641
|
+
/** Album-art URLs of up to four of the playlist's tracks, for rendering a cover mosaic when the playlist has no picture of its own. */
|
|
1642
|
+
trackArts?: Uri[];
|
|
1517
1643
|
}
|
|
1518
1644
|
/** Detailed view of a playlist, including its tracks and metadata */
|
|
1519
1645
|
export interface PlaylistViewDetailed {
|
|
@@ -1568,6 +1694,8 @@ export interface PutMirrorSourceInput {
|
|
|
1568
1694
|
provider: string;
|
|
1569
1695
|
/** Enable or disable mirroring for this provider. */
|
|
1570
1696
|
enabled?: boolean;
|
|
1697
|
+
/** Enable or disable mirroring Rocksky scrobbles out to this provider. teal.fm only. */
|
|
1698
|
+
pushEnabled?: boolean;
|
|
1571
1699
|
/** External username (Last.fm / ListenBrainz). Required when enabling those providers. Ignored for Teal.fm. */
|
|
1572
1700
|
externalUsername?: string;
|
|
1573
1701
|
/** API key / token to be encrypted at rest. Omit to leave the existing key unchanged. Pass an empty string to clear it. */
|
|
@@ -1632,8 +1760,10 @@ export interface RemoveShoutParams {
|
|
|
1632
1760
|
export interface RemoveTrackParams {
|
|
1633
1761
|
/** The URI of the playlist to remove the track from */
|
|
1634
1762
|
uri: AtUri;
|
|
1635
|
-
/** The
|
|
1636
|
-
|
|
1763
|
+
/** The URI of the app.rocksky.song record to remove. Removes every copy of it; pass `index` instead to remove one. */
|
|
1764
|
+
songUri?: AtUri;
|
|
1765
|
+
/** 0-based position of the entry to remove, in the order getPlaylist returns. */
|
|
1766
|
+
index?: number;
|
|
1637
1767
|
}
|
|
1638
1768
|
export interface ReplyShoutInput {
|
|
1639
1769
|
/** The unique identifier of the shout to reply to */
|
|
@@ -1851,6 +1981,8 @@ export interface ScrobbleViewDetailed {
|
|
|
1851
1981
|
/** The SHA256 hash of the scrobble data. */
|
|
1852
1982
|
sha256?: string;
|
|
1853
1983
|
liked?: boolean;
|
|
1984
|
+
/** The URI of the track (song) this scrobble is of. */
|
|
1985
|
+
trackUri?: string;
|
|
1854
1986
|
likesCount?: number;
|
|
1855
1987
|
/** The number of listeners */
|
|
1856
1988
|
listeners?: number;
|
|
@@ -2078,6 +2210,10 @@ export interface SongViewBasic {
|
|
|
2078
2210
|
discNumber?: number;
|
|
2079
2211
|
/** The number of times the song has been played. */
|
|
2080
2212
|
playCount?: number;
|
|
2213
|
+
/** The number of users who have loved this song. */
|
|
2214
|
+
likesCount?: number;
|
|
2215
|
+
/** Whether the authenticated user has loved this song. False when unauthenticated. */
|
|
2216
|
+
liked?: boolean;
|
|
2081
2217
|
/** The number of unique listeners who have played the song. */
|
|
2082
2218
|
uniqueListeners?: number;
|
|
2083
2219
|
/** The URI of the album the song belongs to. */
|
|
@@ -2117,6 +2253,10 @@ export interface SongViewDetailed {
|
|
|
2117
2253
|
discNumber?: number;
|
|
2118
2254
|
/** The number of times the song has been played. */
|
|
2119
2255
|
playCount?: number;
|
|
2256
|
+
/** The number of users who have loved this song. */
|
|
2257
|
+
likesCount?: number;
|
|
2258
|
+
/** Whether the authenticated user has loved this song. False when unauthenticated. */
|
|
2259
|
+
liked?: boolean;
|
|
2120
2260
|
/** The number of unique listeners who have played the song. */
|
|
2121
2261
|
uniqueListeners?: number;
|
|
2122
2262
|
/** The URI of the album the song belongs to. */
|
|
@@ -2353,20 +2493,6 @@ export interface UpdateNowPlayingInput {
|
|
|
2353
2493
|
}
|
|
2354
2494
|
export interface UpdateNowPlayingOutput {
|
|
2355
2495
|
}
|
|
2356
|
-
export interface UpdatePlaylistInput {
|
|
2357
|
-
/** The playlist id to update. */
|
|
2358
|
-
playlistId: string;
|
|
2359
|
-
/** New playlist name. */
|
|
2360
|
-
name?: string;
|
|
2361
|
-
/** New playlist comment. */
|
|
2362
|
-
comment?: string;
|
|
2363
|
-
/** A song id to add to the playlist. */
|
|
2364
|
-
songIdToAdd?: string;
|
|
2365
|
-
/** A track index to remove from the playlist. */
|
|
2366
|
-
songIndexToRemove?: number;
|
|
2367
|
-
}
|
|
2368
|
-
export interface UpdatePlaylistOutput {
|
|
2369
|
-
}
|
|
2370
2496
|
export interface UpdateSeenInput {
|
|
2371
2497
|
/** The ids of the notifications to mark as viewed. Omit to mark all. */
|
|
2372
2498
|
ids?: string[];
|
|
@@ -2404,8 +2530,10 @@ export interface Endpoints {
|
|
|
2404
2530
|
"app.rocksky.artist.getArtistRecentListeners": GetArtistRecentListenersOutput;
|
|
2405
2531
|
"app.rocksky.artist.getArtists": ArtistGetArtistsOutput;
|
|
2406
2532
|
"app.rocksky.artist.getArtistTracks": GetArtistTracksOutput;
|
|
2533
|
+
"app.rocksky.charts.getDecades": GetDecadesOutput;
|
|
2407
2534
|
"app.rocksky.charts.getScrobblesChart": ChartsView;
|
|
2408
2535
|
"app.rocksky.charts.getTopArtists": GetTopArtistsOutput;
|
|
2536
|
+
"app.rocksky.charts.getTopScrobblers": GetTopScrobblersOutput;
|
|
2409
2537
|
"app.rocksky.charts.getTopTracks": GetTopTracksOutput;
|
|
2410
2538
|
"app.rocksky.dropbox.downloadFile": void;
|
|
2411
2539
|
"app.rocksky.dropbox.getFiles": DropboxFileListView;
|
|
@@ -2469,7 +2597,7 @@ export interface Endpoints {
|
|
|
2469
2597
|
"app.rocksky.library.startScan": StartScanOutput;
|
|
2470
2598
|
"app.rocksky.library.unstar": UnstarOutput;
|
|
2471
2599
|
"app.rocksky.library.updateNowPlaying": UpdateNowPlayingOutput;
|
|
2472
|
-
"app.rocksky.library.updatePlaylist":
|
|
2600
|
+
"app.rocksky.library.updatePlaylist": LibraryUpdatePlaylistOutput;
|
|
2473
2601
|
"app.rocksky.like.dislikeShout": ShoutView;
|
|
2474
2602
|
"app.rocksky.like.dislikeSong": SongViewDetailed;
|
|
2475
2603
|
"app.rocksky.like.likeShout": ShoutView;
|
|
@@ -2490,7 +2618,8 @@ export interface Endpoints {
|
|
|
2490
2618
|
"app.rocksky.player.playFile": void;
|
|
2491
2619
|
"app.rocksky.player.previous": void;
|
|
2492
2620
|
"app.rocksky.player.seek": void;
|
|
2493
|
-
"app.rocksky.playlist.
|
|
2621
|
+
"app.rocksky.playlist.addSongs": AddSongsOutput;
|
|
2622
|
+
"app.rocksky.playlist.createPlaylist": PlaylistCreatePlaylistOutput;
|
|
2494
2623
|
"app.rocksky.playlist.getPlaylist": PlaylistViewDetailed;
|
|
2495
2624
|
"app.rocksky.playlist.getPlaylists": PlaylistGetPlaylistsOutput;
|
|
2496
2625
|
"app.rocksky.playlist.insertDirectory": void;
|
|
@@ -2498,6 +2627,7 @@ export interface Endpoints {
|
|
|
2498
2627
|
"app.rocksky.playlist.removePlaylist": void;
|
|
2499
2628
|
"app.rocksky.playlist.removeTrack": void;
|
|
2500
2629
|
"app.rocksky.playlist.startPlaylist": void;
|
|
2630
|
+
"app.rocksky.playlist.updatePlaylist": PlaylistUpdatePlaylistOutput;
|
|
2501
2631
|
"app.rocksky.rockbox.getAudioSettings": RockboxSettingsView;
|
|
2502
2632
|
"app.rocksky.rockbox.putAudioSettings": RockboxSettingsView;
|
|
2503
2633
|
"app.rocksky.scrobble.createScrobble": ScrobbleViewBasic;
|