@keystrokehq/spotify 0.0.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.
Files changed (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +113 -0
  3. package/dist/_official/index.d.mts +32 -0
  4. package/dist/_official/index.mjs +3 -0
  5. package/dist/_runtime/index.d.mts +1 -0
  6. package/dist/_runtime/index.mjs +1 -0
  7. package/dist/albums.d.mts +265 -0
  8. package/dist/albums.mjs +72 -0
  9. package/dist/artists.d.mts +237 -0
  10. package/dist/artists.mjs +84 -0
  11. package/dist/audio-analysis.d.mts +91 -0
  12. package/dist/audio-analysis.mjs +19 -0
  13. package/dist/audio-features.d.mts +61 -0
  14. package/dist/audio-features.mjs +31 -0
  15. package/dist/audiobooks.d.mts +176 -0
  16. package/dist/audiobooks.mjs +59 -0
  17. package/dist/browse.d.mts +74 -0
  18. package/dist/browse.mjs +31 -0
  19. package/dist/categories.d.mts +118 -0
  20. package/dist/categories.mjs +66 -0
  21. package/dist/chapters.d.mts +163 -0
  22. package/dist/chapters.mjs +39 -0
  23. package/dist/client.d.mts +3486 -0
  24. package/dist/client.mjs +758 -0
  25. package/dist/connection.d.mts +2 -0
  26. package/dist/connection.mjs +3 -0
  27. package/dist/episodes.d.mts +149 -0
  28. package/dist/episodes.mjs +39 -0
  29. package/dist/errors.d.mts +34 -0
  30. package/dist/errors.mjs +89 -0
  31. package/dist/events.d.mts +613 -0
  32. package/dist/events.mjs +55 -0
  33. package/dist/factory-tZba6Hij.mjs +8 -0
  34. package/dist/follow.d.mts +83 -0
  35. package/dist/follow.mjs +65 -0
  36. package/dist/genres.d.mts +14 -0
  37. package/dist/genres.mjs +19 -0
  38. package/dist/index.d.mts +1 -0
  39. package/dist/index.mjs +1 -0
  40. package/dist/integration-DQ5Egd4f.d.mts +41 -0
  41. package/dist/integration-ykoImsCq.mjs +78 -0
  42. package/dist/library.d.mts +472 -0
  43. package/dist/library.mjs +225 -0
  44. package/dist/markets.d.mts +14 -0
  45. package/dist/markets.mjs +20 -0
  46. package/dist/me.d.mts +169 -0
  47. package/dist/me.mjs +58 -0
  48. package/dist/messaging.d.mts +1 -0
  49. package/dist/messaging.mjs +1 -0
  50. package/dist/operations.d.mts +6 -0
  51. package/dist/operations.mjs +237 -0
  52. package/dist/player.d.mts +877 -0
  53. package/dist/player.mjs +220 -0
  54. package/dist/playlists.d.mts +546 -0
  55. package/dist/playlists.mjs +243 -0
  56. package/dist/recommendations.d.mts +144 -0
  57. package/dist/recommendations.mjs +137 -0
  58. package/dist/schemas.d.mts +3312 -0
  59. package/dist/schemas.mjs +460 -0
  60. package/dist/search.d.mts +389 -0
  61. package/dist/search.mjs +42 -0
  62. package/dist/shows.d.mts +159 -0
  63. package/dist/shows.mjs +59 -0
  64. package/dist/tracks.d.mts +173 -0
  65. package/dist/tracks.mjs +37 -0
  66. package/dist/triggers.d.mts +45 -0
  67. package/dist/triggers.mjs +201 -0
  68. package/dist/users.d.mts +35 -0
  69. package/dist/users.mjs +20 -0
  70. package/dist/verification.d.mts +1 -0
  71. package/dist/verification.mjs +1 -0
  72. package/package.json +187 -0
@@ -0,0 +1,389 @@
1
+ import { z } from "zod";
2
+ import * as _keystrokehq_core0 from "@keystrokehq/core";
3
+ import * as _keystrokehq_core_credential_set0 from "@keystrokehq/core/credential-set";
4
+
5
+ //#region src/search.d.ts
6
+ declare const search: _keystrokehq_core0.Operation<z.ZodObject<{
7
+ query: z.ZodString;
8
+ types: z.ZodArray<z.ZodEnum<{
9
+ show: "show";
10
+ artist: "artist";
11
+ track: "track";
12
+ episode: "episode";
13
+ album: "album";
14
+ playlist: "playlist";
15
+ audiobook: "audiobook";
16
+ }>>;
17
+ market: z.ZodOptional<z.ZodString>;
18
+ limit: z.ZodOptional<z.ZodNumber>;
19
+ offset: z.ZodOptional<z.ZodNumber>;
20
+ includeExternalAudio: z.ZodOptional<z.ZodBoolean>;
21
+ }, z.core.$strip>, z.ZodObject<{
22
+ albums: z.ZodOptional<z.ZodObject<{
23
+ href: z.ZodOptional<z.ZodURL>;
24
+ items: z.ZodArray<z.ZodObject<{
25
+ albumType: z.ZodOptional<z.ZodEnum<{
26
+ album: "album";
27
+ single: "single";
28
+ compilation: "compilation";
29
+ }>>;
30
+ artists: z.ZodArray<z.ZodObject<{
31
+ externalUrls: z.ZodOptional<z.ZodObject<{
32
+ spotify: z.ZodOptional<z.ZodURL>;
33
+ }, z.core.$strip>>;
34
+ href: z.ZodOptional<z.ZodURL>;
35
+ id: z.ZodString;
36
+ name: z.ZodString;
37
+ type: z.ZodLiteral<"artist">;
38
+ uri: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>>;
40
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ externalUrls: z.ZodOptional<z.ZodObject<{
42
+ spotify: z.ZodOptional<z.ZodURL>;
43
+ }, z.core.$strip>>;
44
+ href: z.ZodOptional<z.ZodURL>;
45
+ id: z.ZodString;
46
+ images: z.ZodArray<z.ZodObject<{
47
+ url: z.ZodURL;
48
+ height: z.ZodNullable<z.ZodNumber>;
49
+ width: z.ZodNullable<z.ZodNumber>;
50
+ }, z.core.$strip>>;
51
+ name: z.ZodString;
52
+ releaseDate: z.ZodOptional<z.ZodString>;
53
+ releaseDatePrecision: z.ZodOptional<z.ZodEnum<{
54
+ year: "year";
55
+ month: "month";
56
+ day: "day";
57
+ }>>;
58
+ totalTracks: z.ZodOptional<z.ZodNumber>;
59
+ type: z.ZodLiteral<"album">;
60
+ uri: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>>;
62
+ limit: z.ZodNumber;
63
+ nextPageToken: z.ZodOptional<z.ZodString>;
64
+ offset: z.ZodNumber;
65
+ previousPageToken: z.ZodOptional<z.ZodString>;
66
+ total: z.ZodOptional<z.ZodNumber>;
67
+ }, z.core.$strip>>;
68
+ artists: z.ZodOptional<z.ZodObject<{
69
+ href: z.ZodOptional<z.ZodURL>;
70
+ items: z.ZodArray<z.ZodObject<{
71
+ externalUrls: z.ZodOptional<z.ZodObject<{
72
+ spotify: z.ZodOptional<z.ZodURL>;
73
+ }, z.core.$strip>>;
74
+ href: z.ZodOptional<z.ZodURL>;
75
+ id: z.ZodString;
76
+ name: z.ZodString;
77
+ type: z.ZodLiteral<"artist">;
78
+ uri: z.ZodOptional<z.ZodString>;
79
+ followers: z.ZodOptional<z.ZodObject<{
80
+ href: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
81
+ total: z.ZodNumber;
82
+ }, z.core.$strip>>;
83
+ genres: z.ZodOptional<z.ZodArray<z.ZodString>>;
84
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
85
+ url: z.ZodURL;
86
+ height: z.ZodNullable<z.ZodNumber>;
87
+ width: z.ZodNullable<z.ZodNumber>;
88
+ }, z.core.$strip>>>;
89
+ popularity: z.ZodOptional<z.ZodNumber>;
90
+ }, z.core.$strip>>;
91
+ limit: z.ZodNumber;
92
+ nextPageToken: z.ZodOptional<z.ZodString>;
93
+ offset: z.ZodNumber;
94
+ previousPageToken: z.ZodOptional<z.ZodString>;
95
+ total: z.ZodOptional<z.ZodNumber>;
96
+ }, z.core.$strip>>;
97
+ playlists: z.ZodOptional<z.ZodObject<{
98
+ href: z.ZodOptional<z.ZodURL>;
99
+ items: z.ZodArray<z.ZodObject<{
100
+ collaborative: z.ZodBoolean;
101
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
102
+ externalUrls: z.ZodOptional<z.ZodObject<{
103
+ spotify: z.ZodOptional<z.ZodURL>;
104
+ }, z.core.$strip>>;
105
+ followers: z.ZodOptional<z.ZodObject<{
106
+ href: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
107
+ total: z.ZodNumber;
108
+ }, z.core.$strip>>;
109
+ href: z.ZodOptional<z.ZodURL>;
110
+ id: z.ZodString;
111
+ images: z.ZodArray<z.ZodObject<{
112
+ url: z.ZodURL;
113
+ height: z.ZodNullable<z.ZodNumber>;
114
+ width: z.ZodNullable<z.ZodNumber>;
115
+ }, z.core.$strip>>;
116
+ name: z.ZodString;
117
+ owner: z.ZodObject<{
118
+ displayName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
119
+ externalUrls: z.ZodOptional<z.ZodObject<{
120
+ spotify: z.ZodOptional<z.ZodURL>;
121
+ }, z.core.$strip>>;
122
+ followers: z.ZodOptional<z.ZodObject<{
123
+ href: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
124
+ total: z.ZodNumber;
125
+ }, z.core.$strip>>;
126
+ href: z.ZodOptional<z.ZodURL>;
127
+ id: z.ZodString;
128
+ type: z.ZodLiteral<"user">;
129
+ uri: z.ZodOptional<z.ZodString>;
130
+ email: z.ZodOptional<z.ZodEmail>;
131
+ country: z.ZodOptional<z.ZodString>;
132
+ product: z.ZodOptional<z.ZodString>;
133
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
134
+ url: z.ZodURL;
135
+ height: z.ZodNullable<z.ZodNumber>;
136
+ width: z.ZodNullable<z.ZodNumber>;
137
+ }, z.core.$strip>>>;
138
+ }, z.core.$strip>;
139
+ public: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
140
+ snapshotId: z.ZodOptional<z.ZodString>;
141
+ tracks: z.ZodOptional<z.ZodObject<{
142
+ href: z.ZodOptional<z.ZodURL>;
143
+ total: z.ZodOptional<z.ZodNumber>;
144
+ }, z.core.$strip>>;
145
+ type: z.ZodLiteral<"playlist">;
146
+ uri: z.ZodOptional<z.ZodString>;
147
+ }, z.core.$strip>>;
148
+ limit: z.ZodNumber;
149
+ nextPageToken: z.ZodOptional<z.ZodString>;
150
+ offset: z.ZodNumber;
151
+ previousPageToken: z.ZodOptional<z.ZodString>;
152
+ total: z.ZodOptional<z.ZodNumber>;
153
+ }, z.core.$strip>>;
154
+ tracks: z.ZodOptional<z.ZodObject<{
155
+ href: z.ZodOptional<z.ZodURL>;
156
+ items: z.ZodArray<z.ZodObject<{
157
+ album: z.ZodOptional<z.ZodObject<{
158
+ albumType: z.ZodOptional<z.ZodEnum<{
159
+ album: "album";
160
+ single: "single";
161
+ compilation: "compilation";
162
+ }>>;
163
+ artists: z.ZodArray<z.ZodObject<{
164
+ externalUrls: z.ZodOptional<z.ZodObject<{
165
+ spotify: z.ZodOptional<z.ZodURL>;
166
+ }, z.core.$strip>>;
167
+ href: z.ZodOptional<z.ZodURL>;
168
+ id: z.ZodString;
169
+ name: z.ZodString;
170
+ type: z.ZodLiteral<"artist">;
171
+ uri: z.ZodOptional<z.ZodString>;
172
+ }, z.core.$strip>>;
173
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
174
+ externalUrls: z.ZodOptional<z.ZodObject<{
175
+ spotify: z.ZodOptional<z.ZodURL>;
176
+ }, z.core.$strip>>;
177
+ href: z.ZodOptional<z.ZodURL>;
178
+ id: z.ZodString;
179
+ images: z.ZodArray<z.ZodObject<{
180
+ url: z.ZodURL;
181
+ height: z.ZodNullable<z.ZodNumber>;
182
+ width: z.ZodNullable<z.ZodNumber>;
183
+ }, z.core.$strip>>;
184
+ name: z.ZodString;
185
+ releaseDate: z.ZodOptional<z.ZodString>;
186
+ releaseDatePrecision: z.ZodOptional<z.ZodEnum<{
187
+ year: "year";
188
+ month: "month";
189
+ day: "day";
190
+ }>>;
191
+ totalTracks: z.ZodOptional<z.ZodNumber>;
192
+ type: z.ZodLiteral<"album">;
193
+ uri: z.ZodOptional<z.ZodString>;
194
+ }, z.core.$strip>>;
195
+ artists: z.ZodArray<z.ZodObject<{
196
+ externalUrls: z.ZodOptional<z.ZodObject<{
197
+ spotify: z.ZodOptional<z.ZodURL>;
198
+ }, z.core.$strip>>;
199
+ href: z.ZodOptional<z.ZodURL>;
200
+ id: z.ZodString;
201
+ name: z.ZodString;
202
+ type: z.ZodLiteral<"artist">;
203
+ uri: z.ZodOptional<z.ZodString>;
204
+ }, z.core.$strip>>;
205
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
206
+ discNumber: z.ZodOptional<z.ZodNumber>;
207
+ durationMs: z.ZodNumber;
208
+ explicit: z.ZodBoolean;
209
+ externalIds: z.ZodOptional<z.ZodObject<{
210
+ isrc: z.ZodOptional<z.ZodString>;
211
+ ean: z.ZodOptional<z.ZodString>;
212
+ upc: z.ZodOptional<z.ZodString>;
213
+ }, z.core.$strip>>;
214
+ externalUrls: z.ZodOptional<z.ZodObject<{
215
+ spotify: z.ZodOptional<z.ZodURL>;
216
+ }, z.core.$strip>>;
217
+ href: z.ZodOptional<z.ZodURL>;
218
+ id: z.ZodString;
219
+ isLocal: z.ZodOptional<z.ZodBoolean>;
220
+ isPlayable: z.ZodOptional<z.ZodBoolean>;
221
+ name: z.ZodString;
222
+ popularity: z.ZodOptional<z.ZodNumber>;
223
+ previewUrl: z.ZodOptional<z.ZodUnion<readonly [z.ZodURL, z.ZodNull]>>;
224
+ restrictions: z.ZodOptional<z.ZodObject<{
225
+ reason: z.ZodString;
226
+ }, z.core.$strip>>;
227
+ trackNumber: z.ZodOptional<z.ZodNumber>;
228
+ type: z.ZodLiteral<"track">;
229
+ uri: z.ZodOptional<z.ZodString>;
230
+ }, z.core.$strip>>;
231
+ limit: z.ZodNumber;
232
+ nextPageToken: z.ZodOptional<z.ZodString>;
233
+ offset: z.ZodNumber;
234
+ previousPageToken: z.ZodOptional<z.ZodString>;
235
+ total: z.ZodOptional<z.ZodNumber>;
236
+ }, z.core.$strip>>;
237
+ shows: z.ZodOptional<z.ZodObject<{
238
+ href: z.ZodOptional<z.ZodURL>;
239
+ items: z.ZodArray<z.ZodObject<{
240
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
241
+ copyrights: z.ZodOptional<z.ZodArray<z.ZodObject<{
242
+ text: z.ZodString;
243
+ type: z.ZodString;
244
+ }, z.core.$strip>>>;
245
+ description: z.ZodOptional<z.ZodString>;
246
+ explicit: z.ZodOptional<z.ZodBoolean>;
247
+ externalUrls: z.ZodOptional<z.ZodObject<{
248
+ spotify: z.ZodOptional<z.ZodURL>;
249
+ }, z.core.$strip>>;
250
+ href: z.ZodOptional<z.ZodURL>;
251
+ id: z.ZodString;
252
+ images: z.ZodArray<z.ZodObject<{
253
+ url: z.ZodURL;
254
+ height: z.ZodNullable<z.ZodNumber>;
255
+ width: z.ZodNullable<z.ZodNumber>;
256
+ }, z.core.$strip>>;
257
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
258
+ mediaType: z.ZodOptional<z.ZodString>;
259
+ name: z.ZodString;
260
+ publisher: z.ZodOptional<z.ZodString>;
261
+ totalEpisodes: z.ZodOptional<z.ZodNumber>;
262
+ type: z.ZodLiteral<"show">;
263
+ uri: z.ZodOptional<z.ZodString>;
264
+ }, z.core.$strip>>;
265
+ limit: z.ZodNumber;
266
+ nextPageToken: z.ZodOptional<z.ZodString>;
267
+ offset: z.ZodNumber;
268
+ previousPageToken: z.ZodOptional<z.ZodString>;
269
+ total: z.ZodOptional<z.ZodNumber>;
270
+ }, z.core.$strip>>;
271
+ episodes: z.ZodOptional<z.ZodObject<{
272
+ href: z.ZodOptional<z.ZodURL>;
273
+ items: z.ZodArray<z.ZodObject<{
274
+ audioPreviewUrl: z.ZodOptional<z.ZodUnion<readonly [z.ZodURL, z.ZodNull]>>;
275
+ description: z.ZodOptional<z.ZodString>;
276
+ durationMs: z.ZodNumber;
277
+ explicit: z.ZodBoolean;
278
+ externalUrls: z.ZodOptional<z.ZodObject<{
279
+ spotify: z.ZodOptional<z.ZodURL>;
280
+ }, z.core.$strip>>;
281
+ href: z.ZodOptional<z.ZodURL>;
282
+ htmlDescription: z.ZodOptional<z.ZodString>;
283
+ id: z.ZodString;
284
+ images: z.ZodArray<z.ZodObject<{
285
+ url: z.ZodURL;
286
+ height: z.ZodNullable<z.ZodNumber>;
287
+ width: z.ZodNullable<z.ZodNumber>;
288
+ }, z.core.$strip>>;
289
+ isExternallyHosted: z.ZodOptional<z.ZodBoolean>;
290
+ isPlayable: z.ZodOptional<z.ZodBoolean>;
291
+ language: z.ZodOptional<z.ZodString>;
292
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
293
+ name: z.ZodString;
294
+ releaseDate: z.ZodOptional<z.ZodString>;
295
+ releaseDatePrecision: z.ZodOptional<z.ZodEnum<{
296
+ year: "year";
297
+ month: "month";
298
+ day: "day";
299
+ }>>;
300
+ resumePoint: z.ZodOptional<z.ZodObject<{
301
+ fullyPlayed: z.ZodBoolean;
302
+ resumePositionMs: z.ZodNumber;
303
+ }, z.core.$strip>>;
304
+ restrictions: z.ZodOptional<z.ZodObject<{
305
+ reason: z.ZodString;
306
+ }, z.core.$strip>>;
307
+ show: z.ZodOptional<z.ZodObject<{
308
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
309
+ copyrights: z.ZodOptional<z.ZodArray<z.ZodObject<{
310
+ text: z.ZodString;
311
+ type: z.ZodString;
312
+ }, z.core.$strip>>>;
313
+ description: z.ZodOptional<z.ZodString>;
314
+ explicit: z.ZodOptional<z.ZodBoolean>;
315
+ externalUrls: z.ZodOptional<z.ZodObject<{
316
+ spotify: z.ZodOptional<z.ZodURL>;
317
+ }, z.core.$strip>>;
318
+ href: z.ZodOptional<z.ZodURL>;
319
+ id: z.ZodString;
320
+ images: z.ZodArray<z.ZodObject<{
321
+ url: z.ZodURL;
322
+ height: z.ZodNullable<z.ZodNumber>;
323
+ width: z.ZodNullable<z.ZodNumber>;
324
+ }, z.core.$strip>>;
325
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
326
+ mediaType: z.ZodOptional<z.ZodString>;
327
+ name: z.ZodString;
328
+ publisher: z.ZodOptional<z.ZodString>;
329
+ totalEpisodes: z.ZodOptional<z.ZodNumber>;
330
+ type: z.ZodLiteral<"show">;
331
+ uri: z.ZodOptional<z.ZodString>;
332
+ }, z.core.$strip>>;
333
+ type: z.ZodLiteral<"episode">;
334
+ uri: z.ZodOptional<z.ZodString>;
335
+ }, z.core.$strip>>;
336
+ limit: z.ZodNumber;
337
+ nextPageToken: z.ZodOptional<z.ZodString>;
338
+ offset: z.ZodNumber;
339
+ previousPageToken: z.ZodOptional<z.ZodString>;
340
+ total: z.ZodOptional<z.ZodNumber>;
341
+ }, z.core.$strip>>;
342
+ audiobooks: z.ZodOptional<z.ZodObject<{
343
+ href: z.ZodOptional<z.ZodURL>;
344
+ items: z.ZodArray<z.ZodObject<{
345
+ authors: z.ZodOptional<z.ZodArray<z.ZodObject<{
346
+ name: z.ZodString;
347
+ }, z.core.$strip>>>;
348
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
349
+ copyrights: z.ZodOptional<z.ZodArray<z.ZodObject<{
350
+ text: z.ZodString;
351
+ type: z.ZodString;
352
+ }, z.core.$strip>>>;
353
+ description: z.ZodOptional<z.ZodString>;
354
+ explicit: z.ZodOptional<z.ZodBoolean>;
355
+ externalUrls: z.ZodOptional<z.ZodObject<{
356
+ spotify: z.ZodOptional<z.ZodURL>;
357
+ }, z.core.$strip>>;
358
+ href: z.ZodOptional<z.ZodURL>;
359
+ htmlDescription: z.ZodOptional<z.ZodString>;
360
+ id: z.ZodString;
361
+ images: z.ZodArray<z.ZodObject<{
362
+ url: z.ZodURL;
363
+ height: z.ZodNullable<z.ZodNumber>;
364
+ width: z.ZodNullable<z.ZodNumber>;
365
+ }, z.core.$strip>>;
366
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
367
+ mediaType: z.ZodOptional<z.ZodString>;
368
+ name: z.ZodString;
369
+ narrators: z.ZodOptional<z.ZodArray<z.ZodObject<{
370
+ name: z.ZodString;
371
+ }, z.core.$strip>>>;
372
+ publisher: z.ZodOptional<z.ZodString>;
373
+ totalChapters: z.ZodOptional<z.ZodNumber>;
374
+ type: z.ZodLiteral<"audiobook">;
375
+ uri: z.ZodOptional<z.ZodString>;
376
+ }, z.core.$strip>>;
377
+ limit: z.ZodNumber;
378
+ nextPageToken: z.ZodOptional<z.ZodString>;
379
+ offset: z.ZodNumber;
380
+ previousPageToken: z.ZodOptional<z.ZodString>;
381
+ total: z.ZodOptional<z.ZodNumber>;
382
+ }, z.core.$strip>>;
383
+ }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"spotify", z.ZodObject<{
384
+ SPOTIFY_ACCESS_TOKEN: z.ZodString;
385
+ }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
386
+ SPOTIFY_ACCESS_TOKEN: z.ZodString;
387
+ }, z.core.$strip>>[] | undefined>], undefined>;
388
+ //#endregion
389
+ export { search };
@@ -0,0 +1,42 @@
1
+ import { spotifyMarketSchema, spotifySearchResultSchema } from "./schemas.mjs";
2
+ import { createSpotifyClient } from "./client.mjs";
3
+ import { t as spotifyOperation } from "./factory-tZba6Hij.mjs";
4
+ import { z } from "zod";
5
+
6
+ //#region src/search.ts
7
+ const spotifySearchTypeSchema = z.enum([
8
+ "album",
9
+ "artist",
10
+ "playlist",
11
+ "track",
12
+ "show",
13
+ "episode",
14
+ "audiobook"
15
+ ]);
16
+ const search = spotifyOperation({
17
+ id: "search_spotify_catalog",
18
+ name: "Search Spotify Catalog",
19
+ description: "Search the Spotify catalog across one or more resource types.",
20
+ input: z.object({
21
+ query: z.string().min(1),
22
+ types: z.array(spotifySearchTypeSchema).min(1),
23
+ market: spotifyMarketSchema.optional(),
24
+ limit: z.number().int().positive().max(50).optional(),
25
+ offset: z.number().int().nonnegative().optional(),
26
+ includeExternalAudio: z.boolean().optional()
27
+ }),
28
+ output: spotifySearchResultSchema,
29
+ run: async (input, credentials) => {
30
+ return createSpotifyClient(credentials).discovery.search({
31
+ q: input.query,
32
+ type: input.types,
33
+ market: input.market,
34
+ limit: input.limit,
35
+ offset: input.offset,
36
+ include_external: input.includeExternalAudio ? "audio" : void 0
37
+ });
38
+ }
39
+ });
40
+
41
+ //#endregion
42
+ export { search };
@@ -0,0 +1,159 @@
1
+ import { z } from "zod";
2
+ import * as _keystrokehq_core0 from "@keystrokehq/core";
3
+ import * as _keystrokehq_core_credential_set0 from "@keystrokehq/core/credential-set";
4
+
5
+ //#region src/shows.d.ts
6
+ declare const getShow: _keystrokehq_core0.Operation<z.ZodObject<{
7
+ id: z.ZodString;
8
+ market: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>, z.ZodObject<{
10
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ copyrights: z.ZodOptional<z.ZodArray<z.ZodObject<{
12
+ text: z.ZodString;
13
+ type: z.ZodString;
14
+ }, z.core.$strip>>>;
15
+ description: z.ZodOptional<z.ZodString>;
16
+ explicit: z.ZodOptional<z.ZodBoolean>;
17
+ externalUrls: z.ZodOptional<z.ZodObject<{
18
+ spotify: z.ZodOptional<z.ZodURL>;
19
+ }, z.core.$strip>>;
20
+ href: z.ZodOptional<z.ZodURL>;
21
+ id: z.ZodString;
22
+ images: z.ZodArray<z.ZodObject<{
23
+ url: z.ZodURL;
24
+ height: z.ZodNullable<z.ZodNumber>;
25
+ width: z.ZodNullable<z.ZodNumber>;
26
+ }, z.core.$strip>>;
27
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
+ mediaType: z.ZodOptional<z.ZodString>;
29
+ name: z.ZodString;
30
+ publisher: z.ZodOptional<z.ZodString>;
31
+ totalEpisodes: z.ZodOptional<z.ZodNumber>;
32
+ type: z.ZodLiteral<"show">;
33
+ uri: z.ZodOptional<z.ZodString>;
34
+ htmlDescription: z.ZodOptional<z.ZodString>;
35
+ isExternallyHosted: z.ZodOptional<z.ZodBoolean>;
36
+ }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"spotify", z.ZodObject<{
37
+ SPOTIFY_ACCESS_TOKEN: z.ZodString;
38
+ }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
39
+ SPOTIFY_ACCESS_TOKEN: z.ZodString;
40
+ }, z.core.$strip>>[] | undefined>], undefined>;
41
+ declare const getSeveralShows: _keystrokehq_core0.Operation<z.ZodObject<{
42
+ ids: z.ZodArray<z.ZodString>;
43
+ market: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strip>, z.ZodObject<{
45
+ shows: z.ZodArray<z.ZodObject<{
46
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
47
+ copyrights: z.ZodOptional<z.ZodArray<z.ZodObject<{
48
+ text: z.ZodString;
49
+ type: z.ZodString;
50
+ }, z.core.$strip>>>;
51
+ description: z.ZodOptional<z.ZodString>;
52
+ explicit: z.ZodOptional<z.ZodBoolean>;
53
+ externalUrls: z.ZodOptional<z.ZodObject<{
54
+ spotify: z.ZodOptional<z.ZodURL>;
55
+ }, z.core.$strip>>;
56
+ href: z.ZodOptional<z.ZodURL>;
57
+ id: z.ZodString;
58
+ images: z.ZodArray<z.ZodObject<{
59
+ url: z.ZodURL;
60
+ height: z.ZodNullable<z.ZodNumber>;
61
+ width: z.ZodNullable<z.ZodNumber>;
62
+ }, z.core.$strip>>;
63
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
+ mediaType: z.ZodOptional<z.ZodString>;
65
+ name: z.ZodString;
66
+ publisher: z.ZodOptional<z.ZodString>;
67
+ totalEpisodes: z.ZodOptional<z.ZodNumber>;
68
+ type: z.ZodLiteral<"show">;
69
+ uri: z.ZodOptional<z.ZodString>;
70
+ htmlDescription: z.ZodOptional<z.ZodString>;
71
+ isExternallyHosted: z.ZodOptional<z.ZodBoolean>;
72
+ }, z.core.$strip>>;
73
+ }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"spotify", z.ZodObject<{
74
+ SPOTIFY_ACCESS_TOKEN: z.ZodString;
75
+ }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
76
+ SPOTIFY_ACCESS_TOKEN: z.ZodString;
77
+ }, z.core.$strip>>[] | undefined>], undefined>;
78
+ declare const getShowEpisodes: _keystrokehq_core0.Operation<z.ZodObject<{
79
+ id: z.ZodString;
80
+ market: z.ZodOptional<z.ZodString>;
81
+ limit: z.ZodOptional<z.ZodNumber>;
82
+ offset: z.ZodOptional<z.ZodNumber>;
83
+ }, z.core.$strip>, z.ZodObject<{
84
+ href: z.ZodOptional<z.ZodURL>;
85
+ items: z.ZodArray<z.ZodObject<{
86
+ audioPreviewUrl: z.ZodOptional<z.ZodUnion<readonly [z.ZodURL, z.ZodNull]>>;
87
+ description: z.ZodOptional<z.ZodString>;
88
+ durationMs: z.ZodNumber;
89
+ explicit: z.ZodBoolean;
90
+ externalUrls: z.ZodOptional<z.ZodObject<{
91
+ spotify: z.ZodOptional<z.ZodURL>;
92
+ }, z.core.$strip>>;
93
+ href: z.ZodOptional<z.ZodURL>;
94
+ htmlDescription: z.ZodOptional<z.ZodString>;
95
+ id: z.ZodString;
96
+ images: z.ZodArray<z.ZodObject<{
97
+ url: z.ZodURL;
98
+ height: z.ZodNullable<z.ZodNumber>;
99
+ width: z.ZodNullable<z.ZodNumber>;
100
+ }, z.core.$strip>>;
101
+ isExternallyHosted: z.ZodOptional<z.ZodBoolean>;
102
+ isPlayable: z.ZodOptional<z.ZodBoolean>;
103
+ language: z.ZodOptional<z.ZodString>;
104
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
+ name: z.ZodString;
106
+ releaseDate: z.ZodOptional<z.ZodString>;
107
+ releaseDatePrecision: z.ZodOptional<z.ZodEnum<{
108
+ year: "year";
109
+ month: "month";
110
+ day: "day";
111
+ }>>;
112
+ resumePoint: z.ZodOptional<z.ZodObject<{
113
+ fullyPlayed: z.ZodBoolean;
114
+ resumePositionMs: z.ZodNumber;
115
+ }, z.core.$strip>>;
116
+ restrictions: z.ZodOptional<z.ZodObject<{
117
+ reason: z.ZodString;
118
+ }, z.core.$strip>>;
119
+ show: z.ZodOptional<z.ZodObject<{
120
+ availableMarkets: z.ZodOptional<z.ZodArray<z.ZodString>>;
121
+ copyrights: z.ZodOptional<z.ZodArray<z.ZodObject<{
122
+ text: z.ZodString;
123
+ type: z.ZodString;
124
+ }, z.core.$strip>>>;
125
+ description: z.ZodOptional<z.ZodString>;
126
+ explicit: z.ZodOptional<z.ZodBoolean>;
127
+ externalUrls: z.ZodOptional<z.ZodObject<{
128
+ spotify: z.ZodOptional<z.ZodURL>;
129
+ }, z.core.$strip>>;
130
+ href: z.ZodOptional<z.ZodURL>;
131
+ id: z.ZodString;
132
+ images: z.ZodArray<z.ZodObject<{
133
+ url: z.ZodURL;
134
+ height: z.ZodNullable<z.ZodNumber>;
135
+ width: z.ZodNullable<z.ZodNumber>;
136
+ }, z.core.$strip>>;
137
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
138
+ mediaType: z.ZodOptional<z.ZodString>;
139
+ name: z.ZodString;
140
+ publisher: z.ZodOptional<z.ZodString>;
141
+ totalEpisodes: z.ZodOptional<z.ZodNumber>;
142
+ type: z.ZodLiteral<"show">;
143
+ uri: z.ZodOptional<z.ZodString>;
144
+ }, z.core.$strip>>;
145
+ type: z.ZodLiteral<"episode">;
146
+ uri: z.ZodOptional<z.ZodString>;
147
+ }, z.core.$strip>>;
148
+ limit: z.ZodNumber;
149
+ nextPageToken: z.ZodOptional<z.ZodString>;
150
+ offset: z.ZodNumber;
151
+ previousPageToken: z.ZodOptional<z.ZodString>;
152
+ total: z.ZodOptional<z.ZodNumber>;
153
+ }, z.core.$strip>, readonly [_keystrokehq_core0.CredentialSet<"spotify", z.ZodObject<{
154
+ SPOTIFY_ACCESS_TOKEN: z.ZodString;
155
+ }, z.core.$strip>, readonly _keystrokehq_core_credential_set0.CredentialConnection<z.ZodObject<{
156
+ SPOTIFY_ACCESS_TOKEN: z.ZodString;
157
+ }, z.core.$strip>>[] | undefined>], undefined>;
158
+ //#endregion
159
+ export { getSeveralShows, getShow, getShowEpisodes };
package/dist/shows.mjs ADDED
@@ -0,0 +1,59 @@
1
+ import { spotifyEpisodePageSchema, spotifyIdSchema, spotifyMarketSchema, spotifyShowSchema } from "./schemas.mjs";
2
+ import { createSpotifyClient } from "./client.mjs";
3
+ import { t as spotifyOperation } from "./factory-tZba6Hij.mjs";
4
+ import { z } from "zod";
5
+
6
+ //#region src/shows.ts
7
+ const spotifyManyIdsSchema = z.array(spotifyIdSchema).min(1).max(50);
8
+ const showLookupInputSchema = z.object({
9
+ id: spotifyIdSchema,
10
+ market: spotifyMarketSchema.optional()
11
+ });
12
+ const severalShowsInputSchema = z.object({
13
+ ids: spotifyManyIdsSchema,
14
+ market: spotifyMarketSchema.optional()
15
+ });
16
+ const severalShowsOutputSchema = z.object({ shows: z.array(spotifyShowSchema) });
17
+ const showEpisodesInputSchema = z.object({
18
+ id: spotifyIdSchema,
19
+ market: spotifyMarketSchema.optional(),
20
+ limit: z.number().int().min(1).max(50).optional(),
21
+ offset: z.number().int().nonnegative().optional()
22
+ });
23
+ const getShow = spotifyOperation({
24
+ id: "get_spotify_show",
25
+ name: "Get Spotify Show",
26
+ description: "Fetch a single Spotify show by ID.",
27
+ input: showLookupInputSchema,
28
+ output: spotifyShowSchema,
29
+ run: async (input, credentials) => {
30
+ return createSpotifyClient(credentials).shows.getShow(input.id, input.market);
31
+ }
32
+ });
33
+ const getSeveralShows = spotifyOperation({
34
+ id: "get_spotify_several_shows",
35
+ name: "Get Several Spotify Shows",
36
+ description: "Fetch multiple Spotify shows in a single request.",
37
+ input: severalShowsInputSchema,
38
+ output: severalShowsOutputSchema,
39
+ run: async (input, credentials) => {
40
+ return createSpotifyClient(credentials).shows.getSeveralShows(input.ids, input.market);
41
+ }
42
+ });
43
+ const getShowEpisodes = spotifyOperation({
44
+ id: "get_spotify_show_episodes",
45
+ name: "Get Spotify Show Episodes",
46
+ description: "List episodes for a Spotify show.",
47
+ input: showEpisodesInputSchema,
48
+ output: spotifyEpisodePageSchema,
49
+ run: async (input, credentials) => {
50
+ return createSpotifyClient(credentials).shows.getShowEpisodes(input.id, {
51
+ market: input.market,
52
+ limit: input.limit,
53
+ offset: input.offset
54
+ });
55
+ }
56
+ });
57
+
58
+ //#endregion
59
+ export { getSeveralShows, getShow, getShowEpisodes };