@groovenet/client 1.0.0

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.
@@ -0,0 +1,388 @@
1
+ export type Track = {
2
+ id: number;
3
+ track_id: string;
4
+ isrc?: string;
5
+ title: string;
6
+ artist: string;
7
+ album: string;
8
+ year: string | number;
9
+ styles?: string[];
10
+ genres?: string[];
11
+ duration: string;
12
+ duration_seconds?: number;
13
+ position: string | number;
14
+ discogs_url: string;
15
+ apple_music_url: string;
16
+ youtube_url?: string;
17
+ spotify_url?: string;
18
+ soundcloud_url?: string;
19
+ album_thumbnail?: string;
20
+ local_tags?: string | undefined;
21
+ composer?: string | undefined | null;
22
+ bpm?: string | undefined | null;
23
+ key?: string | undefined | null;
24
+ danceability?: string | null;
25
+ mood_happy?: number | null;
26
+ mood_sad?: number | null;
27
+ mood_relaxed?: number | null;
28
+ mood_aggressive?: number | null;
29
+ notes?: string | undefined | null;
30
+ local_audio_url?: string;
31
+ audio_file_album_art_url?: string | null;
32
+ star_rating?: number;
33
+ username?: string;
34
+ _semanticScore?: number;
35
+ friend_id: number;
36
+ release_id?: string;
37
+ library_identifier?: string | null;
38
+ embedding?: string | number[] | null;
39
+ _vectors?: {
40
+ default?: number[];
41
+ };
42
+ hasVectors?: boolean;
43
+ };
44
+ export interface Playlist {
45
+ id: number;
46
+ name: string;
47
+ tracks: {
48
+ track_id: string;
49
+ friend_id: number;
50
+ position: number;
51
+ }[];
52
+ created_at: string;
53
+ }
54
+ export interface Friend {
55
+ id: number;
56
+ username: string;
57
+ }
58
+ export interface Album {
59
+ release_id: string;
60
+ friend_id: number;
61
+ username?: string;
62
+ title: string;
63
+ artist: string;
64
+ year?: string;
65
+ genres?: string[];
66
+ styles?: string[];
67
+ album_thumbnail?: string;
68
+ audio_file_album_art_url?: string;
69
+ discogs_url?: string;
70
+ date_added?: string;
71
+ date_changed?: string;
72
+ track_count: number;
73
+ album_rating?: number;
74
+ album_notes?: string;
75
+ purchase_price?: number;
76
+ condition?: string;
77
+ label?: string;
78
+ catalog_number?: string;
79
+ country?: string;
80
+ format?: string;
81
+ created_at?: string;
82
+ updated_at?: string;
83
+ library_identifier?: string | null;
84
+ }
85
+ export interface YoutubeVideo {
86
+ id: string;
87
+ title: string;
88
+ channel: string;
89
+ thumbnail?: string;
90
+ url: string;
91
+ }
92
+ export interface AppleMusicResult {
93
+ id: string;
94
+ title: string;
95
+ artist: string;
96
+ album: string;
97
+ artwork?: string;
98
+ url: string;
99
+ duration?: number;
100
+ }
101
+ export interface TrackSearchQuery {
102
+ query?: string;
103
+ limit?: number;
104
+ offset?: number;
105
+ filters?: {
106
+ bpm_min?: number;
107
+ bpm_max?: number;
108
+ key?: string;
109
+ star_rating?: number;
110
+ friend_id?: number;
111
+ };
112
+ }
113
+ export interface TrackSearchResponse {
114
+ tracks: Track[];
115
+ estimatedTotalHits: number;
116
+ offset: number;
117
+ limit: number;
118
+ processingTimeMs: number;
119
+ }
120
+ export interface TrackUpdate {
121
+ star_rating?: number;
122
+ notes?: string;
123
+ local_tags?: string;
124
+ apple_music_url?: string;
125
+ spotify_url?: string;
126
+ youtube_url?: string;
127
+ soundcloud_url?: string;
128
+ }
129
+ export interface PlaybackStatus {
130
+ enabled: boolean;
131
+ status: unknown;
132
+ }
133
+ export interface AlbumSearchQuery {
134
+ q?: string;
135
+ limit?: number;
136
+ offset?: number;
137
+ friend_id?: number;
138
+ sort?: string;
139
+ }
140
+ export interface AlbumSearchResponse {
141
+ hits: Album[];
142
+ estimatedTotalHits: number;
143
+ offset: number;
144
+ limit: number;
145
+ query: string;
146
+ sort: string;
147
+ }
148
+ export interface AlbumDetail {
149
+ album: Album;
150
+ tracks: Track[];
151
+ }
152
+ export interface AlbumPlayableStructureTrack {
153
+ track_id: string;
154
+ friend_id: number;
155
+ position?: string | number | null;
156
+ title: string;
157
+ artist: string;
158
+ }
159
+ export interface AlbumPlayableStructureSide {
160
+ side_key: string;
161
+ side_label: string;
162
+ ordinal: number;
163
+ track_count: number;
164
+ tracks: AlbumPlayableStructureTrack[];
165
+ }
166
+ export interface AlbumPlayableStructure {
167
+ album: Album;
168
+ sides: AlbumPlayableStructureSide[];
169
+ }
170
+ export interface AlbumUpdate {
171
+ album_rating?: number;
172
+ album_notes?: string;
173
+ purchase_price?: number;
174
+ condition?: string;
175
+ library_identifier?: string | null;
176
+ }
177
+ export interface AlbumDownloadResult {
178
+ success: boolean;
179
+ message: string;
180
+ jobIds: string[];
181
+ tracksQueued: number;
182
+ }
183
+ export interface SpinTrackRef {
184
+ track_id: string;
185
+ friend_id: number;
186
+ }
187
+ export interface SpinSession {
188
+ id: number;
189
+ friend_id: number;
190
+ release_id: string;
191
+ medium: "vinyl";
192
+ selection_mode: "sides" | "tracks";
193
+ played_at: string;
194
+ note?: string | null;
195
+ context_type?: string | null;
196
+ created_at: string;
197
+ updated_at: string;
198
+ }
199
+ export interface SpinSelection {
200
+ id?: number;
201
+ session_id?: number;
202
+ ordinal: number;
203
+ selection_type: "side" | "track";
204
+ side_key?: string | null;
205
+ track_id?: string | null;
206
+ friend_id?: number | null;
207
+ position_snapshot?: string | null;
208
+ created_at?: string;
209
+ }
210
+ export interface TrackSpinEvent {
211
+ id?: number;
212
+ session_id?: number;
213
+ friend_id: number;
214
+ release_id: string;
215
+ track_id: string;
216
+ played_at: string;
217
+ ordinal: number;
218
+ side_key?: string | null;
219
+ position_snapshot?: string | null;
220
+ title_snapshot?: string;
221
+ artist_snapshot?: string;
222
+ album_snapshot?: string;
223
+ created_at?: string;
224
+ }
225
+ export interface SpinDerived {
226
+ is_full_album_spin: boolean;
227
+ selected_side_count: number;
228
+ album_side_count: number;
229
+ track_count: number;
230
+ }
231
+ export interface SpinCreateBodyBase {
232
+ friend_id: number;
233
+ release_id: string;
234
+ played_at: string;
235
+ note?: string | null;
236
+ context_type?: string | null;
237
+ }
238
+ export type SpinCreateInput = (SpinCreateBodyBase & {
239
+ side_keys: string[];
240
+ track_refs?: never;
241
+ }) | (SpinCreateBodyBase & {
242
+ side_keys?: never;
243
+ track_refs: SpinTrackRef[];
244
+ });
245
+ export interface SpinSessionDetail {
246
+ session: SpinSession;
247
+ selections: SpinSelection[];
248
+ track_events: TrackSpinEvent[];
249
+ derived: SpinDerived;
250
+ }
251
+ export interface SpinCreateResponse {
252
+ session: SpinSession;
253
+ selections: SpinSelection[];
254
+ expanded_tracks: TrackSpinEvent[];
255
+ derived: SpinDerived;
256
+ }
257
+ export interface SpinListQuery {
258
+ friend_id: number;
259
+ release_id?: string;
260
+ track_id?: string;
261
+ from?: string;
262
+ to?: string;
263
+ limit?: number;
264
+ offset?: number;
265
+ }
266
+ export interface SpinListResponse {
267
+ items: SpinSessionDetail[];
268
+ limit: number;
269
+ offset: number;
270
+ }
271
+ export interface SpinDeleteResponse {
272
+ success: boolean;
273
+ session: SpinSession;
274
+ }
275
+ export interface SpinTopTracksQuery {
276
+ friend_id: number;
277
+ release_id?: string;
278
+ limit?: number;
279
+ offset?: number;
280
+ }
281
+ export interface SpinTopTrack {
282
+ friend_id: number;
283
+ release_id: string;
284
+ track_id: string;
285
+ play_count: number;
286
+ last_played_at: string;
287
+ title_snapshot: string;
288
+ artist_snapshot: string;
289
+ album_snapshot: string;
290
+ side_key?: string | null;
291
+ position_snapshot?: string | null;
292
+ }
293
+ export interface SpinTopTracksResponse {
294
+ items: SpinTopTrack[];
295
+ limit: number;
296
+ offset: number;
297
+ }
298
+ export interface SimilarTrack extends Record<string, unknown> {
299
+ track_id: string;
300
+ friend_id: number;
301
+ title: string;
302
+ artist: string;
303
+ album: string;
304
+ distance: number;
305
+ identity_text?: string;
306
+ bpm?: string | number | null;
307
+ key?: string | null;
308
+ danceability?: string | number | null;
309
+ mood_happy?: number | null;
310
+ mood_sad?: number | null;
311
+ mood_relaxed?: number | null;
312
+ mood_aggressive?: number | null;
313
+ }
314
+ export interface SimilarIdentityResponse {
315
+ source_track_id: string;
316
+ source_friend_id: number;
317
+ filters: {
318
+ era?: string;
319
+ country?: string;
320
+ tags?: string[];
321
+ };
322
+ count: number;
323
+ tracks: SimilarTrack[];
324
+ }
325
+ export interface SimilarVibeResponse {
326
+ source_track_id: string;
327
+ source_friend_id: number;
328
+ count: number;
329
+ tracks: SimilarTrack[];
330
+ }
331
+ export interface SimilarityQuery {
332
+ limit?: number;
333
+ ivfflat_probes?: number;
334
+ }
335
+ export interface IdentitySimilarityQuery extends SimilarityQuery {
336
+ era?: string;
337
+ country?: string;
338
+ tags?: string;
339
+ }
340
+ export interface RecommendationCandidate {
341
+ trackId: string;
342
+ friendId: number;
343
+ simIdentity: number | null;
344
+ simAudio: number | null;
345
+ metadata: {
346
+ title: string;
347
+ artist: string;
348
+ album: string;
349
+ year?: string | null;
350
+ bpm?: number | null;
351
+ key?: string | null;
352
+ danceability?: number | null;
353
+ energy?: number | null;
354
+ tags: string[];
355
+ styles: string[];
356
+ genres: string[];
357
+ starRating?: number | null;
358
+ moodHappy?: number | null;
359
+ moodSad?: number | null;
360
+ moodRelaxed?: number | null;
361
+ moodAggressive?: number | null;
362
+ };
363
+ }
364
+ export interface RecommendationCandidatesResponse {
365
+ seedTrackId: string;
366
+ seedFriendId: number;
367
+ seedEmbeddings: {
368
+ identity: boolean;
369
+ audio: boolean;
370
+ };
371
+ candidates: RecommendationCandidate[];
372
+ stats: {
373
+ identityCount: number;
374
+ audioCount: number;
375
+ unionCount: number;
376
+ timingMs: {
377
+ identityQuery: number;
378
+ audioQuery: number;
379
+ total: number;
380
+ };
381
+ };
382
+ }
383
+ export interface RecommendationCandidatesQuery {
384
+ limit_identity?: number;
385
+ limit_audio?: number;
386
+ ivfflat_probes?: number;
387
+ }
388
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/build/types.js ADDED
@@ -0,0 +1,4 @@
1
+ // Core domain types for the Groovenet DJ collection system.
2
+ // Copied from my-collection-search/src/types/track.ts — Next.js app is the source of truth.
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,4FAA4F"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@groovenet/client",
3
+ "version": "1.0.0",
4
+ "description": "Typed API client for the Groovenet DJ collection system",
5
+ "type": "module",
6
+ "main": "build/index.js",
7
+ "types": "build/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./build/index.js",
11
+ "types": "./build/index.d.ts"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "dev": "tsc --watch",
17
+ "test": "vitest run",
18
+ "test:watch": "vitest"
19
+ },
20
+ "files": ["build/"],
21
+ "publishConfig": { "access": "public" },
22
+ "keywords": ["groovenet", "dj", "music", "playlist"],
23
+ "license": "MIT",
24
+ "dependencies": {
25
+ "axios": "^1.20.0",
26
+ "zod": "^4.5.4"
27
+ },
28
+ "devDependencies": {
29
+ "@types/node": "^26",
30
+ "typescript": "^7.0",
31
+ "vitest": "^4.1.11"
32
+ }
33
+ }