spotted-ts-mcp 0.1.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.
- package/LICENSE +201 -0
- package/README.md +440 -0
- package/code-tool-paths.cjs +6 -0
- package/code-tool-paths.cjs.map +1 -0
- package/code-tool-paths.d.cts +2 -0
- package/code-tool-paths.d.cts.map +1 -0
- package/code-tool-types.d.mts +14 -0
- package/code-tool-types.d.mts.map +1 -0
- package/code-tool-types.d.ts +14 -0
- package/code-tool-types.d.ts.map +1 -0
- package/code-tool-types.js +4 -0
- package/code-tool-types.js.map +1 -0
- package/code-tool-types.mjs +3 -0
- package/code-tool-types.mjs.map +1 -0
- package/code-tool-worker.d.mts +5 -0
- package/code-tool-worker.d.mts.map +1 -0
- package/code-tool-worker.d.ts +5 -0
- package/code-tool-worker.d.ts.map +1 -0
- package/code-tool-worker.js +237 -0
- package/code-tool-worker.js.map +1 -0
- package/code-tool-worker.mjs +232 -0
- package/code-tool-worker.mjs.map +1 -0
- package/code-tool.d.mts +12 -0
- package/code-tool.d.mts.map +1 -0
- package/code-tool.d.ts +12 -0
- package/code-tool.d.ts.map +1 -0
- package/code-tool.js +156 -0
- package/code-tool.js.map +1 -0
- package/code-tool.mjs +120 -0
- package/code-tool.mjs.map +1 -0
- package/compat.d.mts +58 -0
- package/compat.d.mts.map +1 -0
- package/compat.d.ts +58 -0
- package/compat.d.ts.map +1 -0
- package/compat.js +387 -0
- package/compat.js.map +1 -0
- package/compat.mjs +378 -0
- package/compat.mjs.map +1 -0
- package/docs-search-tool.d.mts +44 -0
- package/docs-search-tool.d.mts.map +1 -0
- package/docs-search-tool.d.ts +44 -0
- package/docs-search-tool.d.ts.map +1 -0
- package/docs-search-tool.js +43 -0
- package/docs-search-tool.js.map +1 -0
- package/docs-search-tool.mjs +39 -0
- package/docs-search-tool.mjs.map +1 -0
- package/dynamic-tools.d.mts +12 -0
- package/dynamic-tools.d.mts.map +1 -0
- package/dynamic-tools.d.ts +12 -0
- package/dynamic-tools.d.ts.map +1 -0
- package/dynamic-tools.js +135 -0
- package/dynamic-tools.js.map +1 -0
- package/dynamic-tools.mjs +132 -0
- package/dynamic-tools.mjs.map +1 -0
- package/filtering.d.mts +2 -0
- package/filtering.d.mts.map +1 -0
- package/filtering.d.ts +2 -0
- package/filtering.d.ts.map +1 -0
- package/filtering.js +20 -0
- package/filtering.js.map +1 -0
- package/filtering.mjs +13 -0
- package/filtering.mjs.map +1 -0
- package/headers.d.mts +4 -0
- package/headers.d.mts.map +1 -0
- package/headers.d.ts +4 -0
- package/headers.d.ts.map +1 -0
- package/headers.js +9 -0
- package/headers.js.map +1 -0
- package/headers.mjs +5 -0
- package/headers.mjs.map +1 -0
- package/http.d.mts +9 -0
- package/http.d.mts.map +1 -0
- package/http.d.ts +9 -0
- package/http.d.ts.map +1 -0
- package/http.js +108 -0
- package/http.js.map +1 -0
- package/http.mjs +100 -0
- package/http.mjs.map +1 -0
- package/index.d.mts +3 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -0
- package/index.js +91 -0
- package/index.js.map +1 -0
- package/index.mjs +89 -0
- package/index.mjs.map +1 -0
- package/options.d.mts +20 -0
- package/options.d.mts.map +1 -0
- package/options.d.ts +20 -0
- package/options.d.ts.map +1 -0
- package/options.js +427 -0
- package/options.js.map +1 -0
- package/options.mjs +420 -0
- package/options.mjs.map +1 -0
- package/package.json +218 -0
- package/server.d.mts +35 -0
- package/server.d.mts.map +1 -0
- package/server.d.ts +35 -0
- package/server.d.ts.map +1 -0
- package/server.js +174 -0
- package/server.js.map +1 -0
- package/server.mjs +160 -0
- package/server.mjs.map +1 -0
- package/src/code-tool-paths.cts +3 -0
- package/src/code-tool-types.ts +14 -0
- package/src/code-tool-worker.ts +283 -0
- package/src/code-tool.ts +148 -0
- package/src/compat.ts +483 -0
- package/src/docs-search-tool.ts +48 -0
- package/src/dynamic-tools.ts +153 -0
- package/src/filtering.ts +14 -0
- package/src/headers.ts +8 -0
- package/src/http.ts +127 -0
- package/src/index.ts +108 -0
- package/src/options.ts +473 -0
- package/src/server.ts +207 -0
- package/src/stdio.ts +13 -0
- package/src/tools/albums/bulk-retrieve-albums.ts +48 -0
- package/src/tools/albums/list-tracks-albums.ts +67 -0
- package/src/tools/albums/retrieve-albums.ts +47 -0
- package/src/tools/artists/list-albums-artists.ts +73 -0
- package/src/tools/artists/list-artists.ts +50 -0
- package/src/tools/artists/list-related-artists-artists.ts +49 -0
- package/src/tools/artists/list-top-tracks-artists.ts +47 -0
- package/src/tools/artists/retrieve-artists.ts +49 -0
- package/src/tools/audio-analysis/retrieve-audio-analysis.ts +42 -0
- package/src/tools/audio-features/list-audio-features.ts +50 -0
- package/src/tools/audio-features/retrieve-audio-features.ts +49 -0
- package/src/tools/audiobooks/list-audiobooks.ts +56 -0
- package/src/tools/audiobooks/list-chapters-audiobooks.ts +68 -0
- package/src/tools/audiobooks/retrieve-audiobooks.ts +56 -0
- package/src/tools/browse/categories/get-playlists-browse-categories.ts +63 -0
- package/src/tools/browse/categories/list-browse-categories.ts +61 -0
- package/src/tools/browse/categories/retrieve-browse-categories.ts +58 -0
- package/src/tools/browse/get-featured-playlists-browse.ts +61 -0
- package/src/tools/browse/get-new-releases-browse.ts +55 -0
- package/src/tools/chapters/list-chapters.ts +49 -0
- package/src/tools/chapters/retrieve-chapters.ts +48 -0
- package/src/tools/episodes/list-episodes.ts +48 -0
- package/src/tools/episodes/retrieve-episodes.ts +47 -0
- package/src/tools/index.ts +247 -0
- package/src/tools/markets/list-markets.ts +44 -0
- package/src/tools/me/albums/check-me-albums.ts +50 -0
- package/src/tools/me/albums/list-me-albums.ts +54 -0
- package/src/tools/me/albums/remove-me-albums.ts +45 -0
- package/src/tools/me/albums/save-me-albums.ts +45 -0
- package/src/tools/me/audiobooks/check-me-audiobooks.ts +50 -0
- package/src/tools/me/audiobooks/list-me-audiobooks.ts +56 -0
- package/src/tools/me/audiobooks/remove-me-audiobooks.ts +43 -0
- package/src/tools/me/audiobooks/save-me-audiobooks.ts +43 -0
- package/src/tools/me/episodes/check-me-episodes.ts +50 -0
- package/src/tools/me/episodes/list-me-episodes.ts +55 -0
- package/src/tools/me/episodes/remove-me-episodes.ts +46 -0
- package/src/tools/me/episodes/save-me-episodes.ts +46 -0
- package/src/tools/me/following/check-me-following.ts +56 -0
- package/src/tools/me/following/follow-me-following.ts +45 -0
- package/src/tools/me/following/list-me-following.ts +60 -0
- package/src/tools/me/following/unfollow-me-following.ts +45 -0
- package/src/tools/me/player/get-currently-playing-me-player.ts +48 -0
- package/src/tools/me/player/get-devices-me-player.ts +44 -0
- package/src/tools/me/player/get-state-me-player.ts +49 -0
- package/src/tools/me/player/list-recently-played-me-player.ts +55 -0
- package/src/tools/me/player/pause-playback-me-player.ts +44 -0
- package/src/tools/me/player/queue/add-player-me-queue.ts +47 -0
- package/src/tools/me/player/queue/get-player-me-queue.ts +34 -0
- package/src/tools/me/player/seek-to-position-me-player.ts +50 -0
- package/src/tools/me/player/set-repeat-mode-me-player.ts +50 -0
- package/src/tools/me/player/set-volume-me-player.ts +49 -0
- package/src/tools/me/player/skip-next-me-player.ts +42 -0
- package/src/tools/me/player/skip-previous-me-player.ts +42 -0
- package/src/tools/me/player/start-playback-me-player.ts +68 -0
- package/src/tools/me/player/toggle-shuffle-me-player.ts +50 -0
- package/src/tools/me/player/transfer-me-player.ts +51 -0
- package/src/tools/me/playlists/list-me-playlists.ts +56 -0
- package/src/tools/me/retrieve-me.ts +44 -0
- package/src/tools/me/shows/check-me-shows.ts +50 -0
- package/src/tools/me/shows/list-me-shows.ts +56 -0
- package/src/tools/me/shows/remove-me-shows.ts +45 -0
- package/src/tools/me/shows/save-me-shows.ts +45 -0
- package/src/tools/me/top/list-top-artists-me-top.ts +62 -0
- package/src/tools/me/top/list-top-tracks-me-top.ts +54 -0
- package/src/tools/me/tracks/check-me-tracks.ts +50 -0
- package/src/tools/me/tracks/list-me-tracks.ts +54 -0
- package/src/tools/me/tracks/remove-me-tracks.ts +45 -0
- package/src/tools/me/tracks/save-me-tracks.ts +67 -0
- package/src/tools/playlists/followers/check-playlists-followers.ts +57 -0
- package/src/tools/playlists/followers/follow-playlists-followers.ts +47 -0
- package/src/tools/playlists/followers/unfollow-playlists-followers.ts +42 -0
- package/src/tools/playlists/images/list-playlists-images.ts +49 -0
- package/src/tools/playlists/images/update-playlists-images.ts +46 -0
- package/src/tools/playlists/retrieve-playlists.ts +59 -0
- package/src/tools/playlists/tracks/add-playlists-tracks.ts +62 -0
- package/src/tools/playlists/tracks/list-playlists-tracks.ts +71 -0
- package/src/tools/playlists/tracks/remove-playlists-tracks.ts +70 -0
- package/src/tools/playlists/tracks/update-playlists-tracks.ts +75 -0
- package/src/tools/playlists/update-playlists.ts +61 -0
- package/src/tools/recommendations/get-recommendations.ts +317 -0
- package/src/tools/recommendations/list-available-genre-seeds-recommendations.ts +46 -0
- package/src/tools/search/retrieve-search.ts +77 -0
- package/src/tools/shows/list-episodes-shows.ts +67 -0
- package/src/tools/shows/list-shows.ts +56 -0
- package/src/tools/shows/retrieve-shows.ts +55 -0
- package/src/tools/tracks/list-tracks.ts +48 -0
- package/src/tools/tracks/retrieve-tracks.ts +47 -0
- package/src/tools/types.ts +103 -0
- package/src/tools/users/playlists/create-users-playlists.ts +59 -0
- package/src/tools/users/playlists/list-users-playlists.ts +61 -0
- package/src/tools/users/retrieve-profile-users.ts +49 -0
- package/src/tools.ts +1 -0
- package/src/tsconfig.json +11 -0
- package/stdio.d.mts +3 -0
- package/stdio.d.mts.map +1 -0
- package/stdio.d.ts +3 -0
- package/stdio.d.ts.map +1 -0
- package/stdio.js +14 -0
- package/stdio.js.map +1 -0
- package/stdio.mjs +10 -0
- package/stdio.mjs.map +1 -0
- package/tools/albums/bulk-retrieve-albums.d.mts +45 -0
- package/tools/albums/bulk-retrieve-albums.d.mts.map +1 -0
- package/tools/albums/bulk-retrieve-albums.d.ts +45 -0
- package/tools/albums/bulk-retrieve-albums.d.ts.map +1 -0
- package/tools/albums/bulk-retrieve-albums.js +43 -0
- package/tools/albums/bulk-retrieve-albums.js.map +1 -0
- package/tools/albums/bulk-retrieve-albums.mjs +39 -0
- package/tools/albums/bulk-retrieve-albums.mjs.map +1 -0
- package/tools/albums/list-tracks-albums.d.mts +45 -0
- package/tools/albums/list-tracks-albums.d.mts.map +1 -0
- package/tools/albums/list-tracks-albums.d.ts +45 -0
- package/tools/albums/list-tracks-albums.d.ts.map +1 -0
- package/tools/albums/list-tracks-albums.js +60 -0
- package/tools/albums/list-tracks-albums.js.map +1 -0
- package/tools/albums/list-tracks-albums.mjs +56 -0
- package/tools/albums/list-tracks-albums.mjs.map +1 -0
- package/tools/albums/retrieve-albums.d.mts +45 -0
- package/tools/albums/retrieve-albums.d.mts.map +1 -0
- package/tools/albums/retrieve-albums.d.ts +45 -0
- package/tools/albums/retrieve-albums.d.ts.map +1 -0
- package/tools/albums/retrieve-albums.js +43 -0
- package/tools/albums/retrieve-albums.js.map +1 -0
- package/tools/albums/retrieve-albums.mjs +39 -0
- package/tools/albums/retrieve-albums.mjs.map +1 -0
- package/tools/artists/list-albums-artists.d.mts +45 -0
- package/tools/artists/list-albums-artists.d.mts.map +1 -0
- package/tools/artists/list-albums-artists.d.ts +45 -0
- package/tools/artists/list-albums-artists.d.ts.map +1 -0
- package/tools/artists/list-albums-artists.js +65 -0
- package/tools/artists/list-albums-artists.js.map +1 -0
- package/tools/artists/list-albums-artists.mjs +61 -0
- package/tools/artists/list-albums-artists.mjs.map +1 -0
- package/tools/artists/list-artists.d.mts +45 -0
- package/tools/artists/list-artists.d.mts.map +1 -0
- package/tools/artists/list-artists.d.ts +45 -0
- package/tools/artists/list-artists.d.ts.map +1 -0
- package/tools/artists/list-artists.js +44 -0
- package/tools/artists/list-artists.js.map +1 -0
- package/tools/artists/list-artists.mjs +40 -0
- package/tools/artists/list-artists.mjs.map +1 -0
- package/tools/artists/list-related-artists-artists.d.mts +45 -0
- package/tools/artists/list-related-artists-artists.d.mts.map +1 -0
- package/tools/artists/list-related-artists-artists.d.ts +45 -0
- package/tools/artists/list-related-artists-artists.d.ts.map +1 -0
- package/tools/artists/list-related-artists-artists.js +44 -0
- package/tools/artists/list-related-artists-artists.js.map +1 -0
- package/tools/artists/list-related-artists-artists.mjs +40 -0
- package/tools/artists/list-related-artists-artists.mjs.map +1 -0
- package/tools/artists/list-top-tracks-artists.d.mts +45 -0
- package/tools/artists/list-top-tracks-artists.d.mts.map +1 -0
- package/tools/artists/list-top-tracks-artists.d.ts +45 -0
- package/tools/artists/list-top-tracks-artists.d.ts.map +1 -0
- package/tools/artists/list-top-tracks-artists.js +43 -0
- package/tools/artists/list-top-tracks-artists.js.map +1 -0
- package/tools/artists/list-top-tracks-artists.mjs +39 -0
- package/tools/artists/list-top-tracks-artists.mjs.map +1 -0
- package/tools/artists/retrieve-artists.d.mts +45 -0
- package/tools/artists/retrieve-artists.d.mts.map +1 -0
- package/tools/artists/retrieve-artists.d.ts +45 -0
- package/tools/artists/retrieve-artists.d.ts.map +1 -0
- package/tools/artists/retrieve-artists.js +44 -0
- package/tools/artists/retrieve-artists.js.map +1 -0
- package/tools/artists/retrieve-artists.mjs +40 -0
- package/tools/artists/retrieve-artists.mjs.map +1 -0
- package/tools/audio-analysis/retrieve-audio-analysis.d.mts +45 -0
- package/tools/audio-analysis/retrieve-audio-analysis.d.mts.map +1 -0
- package/tools/audio-analysis/retrieve-audio-analysis.d.ts +45 -0
- package/tools/audio-analysis/retrieve-audio-analysis.d.ts.map +1 -0
- package/tools/audio-analysis/retrieve-audio-analysis.js +38 -0
- package/tools/audio-analysis/retrieve-audio-analysis.js.map +1 -0
- package/tools/audio-analysis/retrieve-audio-analysis.mjs +34 -0
- package/tools/audio-analysis/retrieve-audio-analysis.mjs.map +1 -0
- package/tools/audio-features/list-audio-features.d.mts +45 -0
- package/tools/audio-features/list-audio-features.d.mts.map +1 -0
- package/tools/audio-features/list-audio-features.d.ts +45 -0
- package/tools/audio-features/list-audio-features.d.ts.map +1 -0
- package/tools/audio-features/list-audio-features.js +44 -0
- package/tools/audio-features/list-audio-features.js.map +1 -0
- package/tools/audio-features/list-audio-features.mjs +40 -0
- package/tools/audio-features/list-audio-features.mjs.map +1 -0
- package/tools/audio-features/retrieve-audio-features.d.mts +45 -0
- package/tools/audio-features/retrieve-audio-features.d.mts.map +1 -0
- package/tools/audio-features/retrieve-audio-features.d.ts +45 -0
- package/tools/audio-features/retrieve-audio-features.d.ts.map +1 -0
- package/tools/audio-features/retrieve-audio-features.js +44 -0
- package/tools/audio-features/retrieve-audio-features.js.map +1 -0
- package/tools/audio-features/retrieve-audio-features.mjs +40 -0
- package/tools/audio-features/retrieve-audio-features.mjs.map +1 -0
- package/tools/audiobooks/list-audiobooks.d.mts +45 -0
- package/tools/audiobooks/list-audiobooks.d.mts.map +1 -0
- package/tools/audiobooks/list-audiobooks.d.ts +45 -0
- package/tools/audiobooks/list-audiobooks.d.ts.map +1 -0
- package/tools/audiobooks/list-audiobooks.js +49 -0
- package/tools/audiobooks/list-audiobooks.js.map +1 -0
- package/tools/audiobooks/list-audiobooks.mjs +45 -0
- package/tools/audiobooks/list-audiobooks.mjs.map +1 -0
- package/tools/audiobooks/list-chapters-audiobooks.d.mts +45 -0
- package/tools/audiobooks/list-chapters-audiobooks.d.mts.map +1 -0
- package/tools/audiobooks/list-chapters-audiobooks.d.ts +45 -0
- package/tools/audiobooks/list-chapters-audiobooks.d.ts.map +1 -0
- package/tools/audiobooks/list-chapters-audiobooks.js +60 -0
- package/tools/audiobooks/list-chapters-audiobooks.js.map +1 -0
- package/tools/audiobooks/list-chapters-audiobooks.mjs +56 -0
- package/tools/audiobooks/list-chapters-audiobooks.mjs.map +1 -0
- package/tools/audiobooks/retrieve-audiobooks.d.mts +45 -0
- package/tools/audiobooks/retrieve-audiobooks.d.mts.map +1 -0
- package/tools/audiobooks/retrieve-audiobooks.d.ts +45 -0
- package/tools/audiobooks/retrieve-audiobooks.d.ts.map +1 -0
- package/tools/audiobooks/retrieve-audiobooks.js +49 -0
- package/tools/audiobooks/retrieve-audiobooks.js.map +1 -0
- package/tools/audiobooks/retrieve-audiobooks.mjs +45 -0
- package/tools/audiobooks/retrieve-audiobooks.mjs.map +1 -0
- package/tools/browse/categories/get-playlists-browse-categories.d.mts +45 -0
- package/tools/browse/categories/get-playlists-browse-categories.d.mts.map +1 -0
- package/tools/browse/categories/get-playlists-browse-categories.d.ts +45 -0
- package/tools/browse/categories/get-playlists-browse-categories.d.ts.map +1 -0
- package/tools/browse/categories/get-playlists-browse-categories.js +54 -0
- package/tools/browse/categories/get-playlists-browse-categories.js.map +1 -0
- package/tools/browse/categories/get-playlists-browse-categories.mjs +50 -0
- package/tools/browse/categories/get-playlists-browse-categories.mjs.map +1 -0
- package/tools/browse/categories/list-browse-categories.d.mts +45 -0
- package/tools/browse/categories/list-browse-categories.d.mts.map +1 -0
- package/tools/browse/categories/list-browse-categories.d.ts +45 -0
- package/tools/browse/categories/list-browse-categories.d.ts.map +1 -0
- package/tools/browse/categories/list-browse-categories.js +54 -0
- package/tools/browse/categories/list-browse-categories.js.map +1 -0
- package/tools/browse/categories/list-browse-categories.mjs +50 -0
- package/tools/browse/categories/list-browse-categories.mjs.map +1 -0
- package/tools/browse/categories/retrieve-browse-categories.d.mts +45 -0
- package/tools/browse/categories/retrieve-browse-categories.d.mts.map +1 -0
- package/tools/browse/categories/retrieve-browse-categories.d.ts +45 -0
- package/tools/browse/categories/retrieve-browse-categories.d.ts.map +1 -0
- package/tools/browse/categories/retrieve-browse-categories.js +49 -0
- package/tools/browse/categories/retrieve-browse-categories.js.map +1 -0
- package/tools/browse/categories/retrieve-browse-categories.mjs +45 -0
- package/tools/browse/categories/retrieve-browse-categories.mjs.map +1 -0
- package/tools/browse/get-featured-playlists-browse.d.mts +45 -0
- package/tools/browse/get-featured-playlists-browse.d.mts.map +1 -0
- package/tools/browse/get-featured-playlists-browse.d.ts +45 -0
- package/tools/browse/get-featured-playlists-browse.d.ts.map +1 -0
- package/tools/browse/get-featured-playlists-browse.js +54 -0
- package/tools/browse/get-featured-playlists-browse.js.map +1 -0
- package/tools/browse/get-featured-playlists-browse.mjs +50 -0
- package/tools/browse/get-featured-playlists-browse.mjs.map +1 -0
- package/tools/browse/get-new-releases-browse.d.mts +45 -0
- package/tools/browse/get-new-releases-browse.d.mts.map +1 -0
- package/tools/browse/get-new-releases-browse.d.ts +45 -0
- package/tools/browse/get-new-releases-browse.d.ts.map +1 -0
- package/tools/browse/get-new-releases-browse.js +49 -0
- package/tools/browse/get-new-releases-browse.js.map +1 -0
- package/tools/browse/get-new-releases-browse.mjs +45 -0
- package/tools/browse/get-new-releases-browse.mjs.map +1 -0
- package/tools/chapters/list-chapters.d.mts +45 -0
- package/tools/chapters/list-chapters.d.mts.map +1 -0
- package/tools/chapters/list-chapters.d.ts +45 -0
- package/tools/chapters/list-chapters.d.ts.map +1 -0
- package/tools/chapters/list-chapters.js +43 -0
- package/tools/chapters/list-chapters.js.map +1 -0
- package/tools/chapters/list-chapters.mjs +39 -0
- package/tools/chapters/list-chapters.mjs.map +1 -0
- package/tools/chapters/retrieve-chapters.d.mts +45 -0
- package/tools/chapters/retrieve-chapters.d.mts.map +1 -0
- package/tools/chapters/retrieve-chapters.d.ts +45 -0
- package/tools/chapters/retrieve-chapters.d.ts.map +1 -0
- package/tools/chapters/retrieve-chapters.js +43 -0
- package/tools/chapters/retrieve-chapters.js.map +1 -0
- package/tools/chapters/retrieve-chapters.mjs +39 -0
- package/tools/chapters/retrieve-chapters.mjs.map +1 -0
- package/tools/episodes/list-episodes.d.mts +45 -0
- package/tools/episodes/list-episodes.d.mts.map +1 -0
- package/tools/episodes/list-episodes.d.ts +45 -0
- package/tools/episodes/list-episodes.d.ts.map +1 -0
- package/tools/episodes/list-episodes.js +43 -0
- package/tools/episodes/list-episodes.js.map +1 -0
- package/tools/episodes/list-episodes.mjs +39 -0
- package/tools/episodes/list-episodes.mjs.map +1 -0
- package/tools/episodes/retrieve-episodes.d.mts +45 -0
- package/tools/episodes/retrieve-episodes.d.mts.map +1 -0
- package/tools/episodes/retrieve-episodes.d.ts +45 -0
- package/tools/episodes/retrieve-episodes.d.ts.map +1 -0
- package/tools/episodes/retrieve-episodes.js +43 -0
- package/tools/episodes/retrieve-episodes.js.map +1 -0
- package/tools/episodes/retrieve-episodes.mjs +39 -0
- package/tools/episodes/retrieve-episodes.mjs.map +1 -0
- package/tools/index.d.mts +10 -0
- package/tools/index.d.mts.map +1 -0
- package/tools/index.d.ts +10 -0
- package/tools/index.d.ts.map +1 -0
- package/tools/index.js +231 -0
- package/tools/index.js.map +1 -0
- package/tools/index.mjs +224 -0
- package/tools/index.mjs.map +1 -0
- package/tools/markets/list-markets.d.mts +45 -0
- package/tools/markets/list-markets.d.mts.map +1 -0
- package/tools/markets/list-markets.d.ts +45 -0
- package/tools/markets/list-markets.d.ts.map +1 -0
- package/tools/markets/list-markets.js +39 -0
- package/tools/markets/list-markets.js.map +1 -0
- package/tools/markets/list-markets.mjs +35 -0
- package/tools/markets/list-markets.mjs.map +1 -0
- package/tools/me/albums/check-me-albums.d.mts +45 -0
- package/tools/me/albums/check-me-albums.d.mts.map +1 -0
- package/tools/me/albums/check-me-albums.d.ts +45 -0
- package/tools/me/albums/check-me-albums.d.ts.map +1 -0
- package/tools/me/albums/check-me-albums.js +44 -0
- package/tools/me/albums/check-me-albums.js.map +1 -0
- package/tools/me/albums/check-me-albums.mjs +40 -0
- package/tools/me/albums/check-me-albums.mjs.map +1 -0
- package/tools/me/albums/list-me-albums.d.mts +45 -0
- package/tools/me/albums/list-me-albums.d.mts.map +1 -0
- package/tools/me/albums/list-me-albums.d.ts +45 -0
- package/tools/me/albums/list-me-albums.d.ts.map +1 -0
- package/tools/me/albums/list-me-albums.js +49 -0
- package/tools/me/albums/list-me-albums.js.map +1 -0
- package/tools/me/albums/list-me-albums.mjs +45 -0
- package/tools/me/albums/list-me-albums.mjs.map +1 -0
- package/tools/me/albums/remove-me-albums.d.mts +45 -0
- package/tools/me/albums/remove-me-albums.d.mts.map +1 -0
- package/tools/me/albums/remove-me-albums.d.ts +45 -0
- package/tools/me/albums/remove-me-albums.d.ts.map +1 -0
- package/tools/me/albums/remove-me-albums.js +41 -0
- package/tools/me/albums/remove-me-albums.js.map +1 -0
- package/tools/me/albums/remove-me-albums.mjs +37 -0
- package/tools/me/albums/remove-me-albums.mjs.map +1 -0
- package/tools/me/albums/save-me-albums.d.mts +45 -0
- package/tools/me/albums/save-me-albums.d.mts.map +1 -0
- package/tools/me/albums/save-me-albums.d.ts +45 -0
- package/tools/me/albums/save-me-albums.d.ts.map +1 -0
- package/tools/me/albums/save-me-albums.js +41 -0
- package/tools/me/albums/save-me-albums.js.map +1 -0
- package/tools/me/albums/save-me-albums.mjs +37 -0
- package/tools/me/albums/save-me-albums.mjs.map +1 -0
- package/tools/me/audiobooks/check-me-audiobooks.d.mts +45 -0
- package/tools/me/audiobooks/check-me-audiobooks.d.mts.map +1 -0
- package/tools/me/audiobooks/check-me-audiobooks.d.ts +45 -0
- package/tools/me/audiobooks/check-me-audiobooks.d.ts.map +1 -0
- package/tools/me/audiobooks/check-me-audiobooks.js +44 -0
- package/tools/me/audiobooks/check-me-audiobooks.js.map +1 -0
- package/tools/me/audiobooks/check-me-audiobooks.mjs +40 -0
- package/tools/me/audiobooks/check-me-audiobooks.mjs.map +1 -0
- package/tools/me/audiobooks/list-me-audiobooks.d.mts +45 -0
- package/tools/me/audiobooks/list-me-audiobooks.d.mts.map +1 -0
- package/tools/me/audiobooks/list-me-audiobooks.d.ts +45 -0
- package/tools/me/audiobooks/list-me-audiobooks.d.ts.map +1 -0
- package/tools/me/audiobooks/list-me-audiobooks.js +50 -0
- package/tools/me/audiobooks/list-me-audiobooks.js.map +1 -0
- package/tools/me/audiobooks/list-me-audiobooks.mjs +46 -0
- package/tools/me/audiobooks/list-me-audiobooks.mjs.map +1 -0
- package/tools/me/audiobooks/remove-me-audiobooks.d.mts +45 -0
- package/tools/me/audiobooks/remove-me-audiobooks.d.mts.map +1 -0
- package/tools/me/audiobooks/remove-me-audiobooks.d.ts +45 -0
- package/tools/me/audiobooks/remove-me-audiobooks.d.ts.map +1 -0
- package/tools/me/audiobooks/remove-me-audiobooks.js +39 -0
- package/tools/me/audiobooks/remove-me-audiobooks.js.map +1 -0
- package/tools/me/audiobooks/remove-me-audiobooks.mjs +35 -0
- package/tools/me/audiobooks/remove-me-audiobooks.mjs.map +1 -0
- package/tools/me/audiobooks/save-me-audiobooks.d.mts +45 -0
- package/tools/me/audiobooks/save-me-audiobooks.d.mts.map +1 -0
- package/tools/me/audiobooks/save-me-audiobooks.d.ts +45 -0
- package/tools/me/audiobooks/save-me-audiobooks.d.ts.map +1 -0
- package/tools/me/audiobooks/save-me-audiobooks.js +39 -0
- package/tools/me/audiobooks/save-me-audiobooks.js.map +1 -0
- package/tools/me/audiobooks/save-me-audiobooks.mjs +35 -0
- package/tools/me/audiobooks/save-me-audiobooks.mjs.map +1 -0
- package/tools/me/episodes/check-me-episodes.d.mts +45 -0
- package/tools/me/episodes/check-me-episodes.d.mts.map +1 -0
- package/tools/me/episodes/check-me-episodes.d.ts +45 -0
- package/tools/me/episodes/check-me-episodes.d.ts.map +1 -0
- package/tools/me/episodes/check-me-episodes.js +44 -0
- package/tools/me/episodes/check-me-episodes.js.map +1 -0
- package/tools/me/episodes/check-me-episodes.mjs +40 -0
- package/tools/me/episodes/check-me-episodes.mjs.map +1 -0
- package/tools/me/episodes/list-me-episodes.d.mts +45 -0
- package/tools/me/episodes/list-me-episodes.d.mts.map +1 -0
- package/tools/me/episodes/list-me-episodes.d.ts +45 -0
- package/tools/me/episodes/list-me-episodes.d.ts.map +1 -0
- package/tools/me/episodes/list-me-episodes.js +49 -0
- package/tools/me/episodes/list-me-episodes.js.map +1 -0
- package/tools/me/episodes/list-me-episodes.mjs +45 -0
- package/tools/me/episodes/list-me-episodes.mjs.map +1 -0
- package/tools/me/episodes/remove-me-episodes.d.mts +45 -0
- package/tools/me/episodes/remove-me-episodes.d.mts.map +1 -0
- package/tools/me/episodes/remove-me-episodes.d.ts +45 -0
- package/tools/me/episodes/remove-me-episodes.d.ts.map +1 -0
- package/tools/me/episodes/remove-me-episodes.js +41 -0
- package/tools/me/episodes/remove-me-episodes.js.map +1 -0
- package/tools/me/episodes/remove-me-episodes.mjs +37 -0
- package/tools/me/episodes/remove-me-episodes.mjs.map +1 -0
- package/tools/me/episodes/save-me-episodes.d.mts +45 -0
- package/tools/me/episodes/save-me-episodes.d.mts.map +1 -0
- package/tools/me/episodes/save-me-episodes.d.ts +45 -0
- package/tools/me/episodes/save-me-episodes.d.ts.map +1 -0
- package/tools/me/episodes/save-me-episodes.js +41 -0
- package/tools/me/episodes/save-me-episodes.js.map +1 -0
- package/tools/me/episodes/save-me-episodes.mjs +37 -0
- package/tools/me/episodes/save-me-episodes.mjs.map +1 -0
- package/tools/me/following/check-me-following.d.mts +45 -0
- package/tools/me/following/check-me-following.d.mts.map +1 -0
- package/tools/me/following/check-me-following.d.ts +45 -0
- package/tools/me/following/check-me-following.d.ts.map +1 -0
- package/tools/me/following/check-me-following.js +50 -0
- package/tools/me/following/check-me-following.js.map +1 -0
- package/tools/me/following/check-me-following.mjs +46 -0
- package/tools/me/following/check-me-following.mjs.map +1 -0
- package/tools/me/following/follow-me-following.d.mts +45 -0
- package/tools/me/following/follow-me-following.d.mts.map +1 -0
- package/tools/me/following/follow-me-following.d.ts +45 -0
- package/tools/me/following/follow-me-following.d.ts.map +1 -0
- package/tools/me/following/follow-me-following.js +41 -0
- package/tools/me/following/follow-me-following.js.map +1 -0
- package/tools/me/following/follow-me-following.mjs +37 -0
- package/tools/me/following/follow-me-following.mjs.map +1 -0
- package/tools/me/following/list-me-following.d.mts +45 -0
- package/tools/me/following/list-me-following.d.mts.map +1 -0
- package/tools/me/following/list-me-following.d.ts +45 -0
- package/tools/me/following/list-me-following.d.ts.map +1 -0
- package/tools/me/following/list-me-following.js +55 -0
- package/tools/me/following/list-me-following.js.map +1 -0
- package/tools/me/following/list-me-following.mjs +51 -0
- package/tools/me/following/list-me-following.mjs.map +1 -0
- package/tools/me/following/unfollow-me-following.d.mts +45 -0
- package/tools/me/following/unfollow-me-following.d.mts.map +1 -0
- package/tools/me/following/unfollow-me-following.d.ts +45 -0
- package/tools/me/following/unfollow-me-following.d.ts.map +1 -0
- package/tools/me/following/unfollow-me-following.js +41 -0
- package/tools/me/following/unfollow-me-following.js.map +1 -0
- package/tools/me/following/unfollow-me-following.mjs +37 -0
- package/tools/me/following/unfollow-me-following.mjs.map +1 -0
- package/tools/me/player/get-currently-playing-me-player.d.mts +45 -0
- package/tools/me/player/get-currently-playing-me-player.d.mts.map +1 -0
- package/tools/me/player/get-currently-playing-me-player.d.ts +45 -0
- package/tools/me/player/get-currently-playing-me-player.d.ts.map +1 -0
- package/tools/me/player/get-currently-playing-me-player.js +43 -0
- package/tools/me/player/get-currently-playing-me-player.js.map +1 -0
- package/tools/me/player/get-currently-playing-me-player.mjs +39 -0
- package/tools/me/player/get-currently-playing-me-player.mjs.map +1 -0
- package/tools/me/player/get-devices-me-player.d.mts +45 -0
- package/tools/me/player/get-devices-me-player.d.mts.map +1 -0
- package/tools/me/player/get-devices-me-player.d.ts +45 -0
- package/tools/me/player/get-devices-me-player.d.ts.map +1 -0
- package/tools/me/player/get-devices-me-player.js +39 -0
- package/tools/me/player/get-devices-me-player.js.map +1 -0
- package/tools/me/player/get-devices-me-player.mjs +35 -0
- package/tools/me/player/get-devices-me-player.mjs.map +1 -0
- package/tools/me/player/get-state-me-player.d.mts +45 -0
- package/tools/me/player/get-state-me-player.d.mts.map +1 -0
- package/tools/me/player/get-state-me-player.d.ts +45 -0
- package/tools/me/player/get-state-me-player.d.ts.map +1 -0
- package/tools/me/player/get-state-me-player.js +43 -0
- package/tools/me/player/get-state-me-player.js.map +1 -0
- package/tools/me/player/get-state-me-player.mjs +39 -0
- package/tools/me/player/get-state-me-player.mjs.map +1 -0
- package/tools/me/player/list-recently-played-me-player.d.mts +45 -0
- package/tools/me/player/list-recently-played-me-player.d.mts.map +1 -0
- package/tools/me/player/list-recently-played-me-player.d.ts +45 -0
- package/tools/me/player/list-recently-played-me-player.d.ts.map +1 -0
- package/tools/me/player/list-recently-played-me-player.js +49 -0
- package/tools/me/player/list-recently-played-me-player.js.map +1 -0
- package/tools/me/player/list-recently-played-me-player.mjs +45 -0
- package/tools/me/player/list-recently-played-me-player.mjs.map +1 -0
- package/tools/me/player/pause-playback-me-player.d.mts +45 -0
- package/tools/me/player/pause-playback-me-player.d.mts.map +1 -0
- package/tools/me/player/pause-playback-me-player.d.ts +45 -0
- package/tools/me/player/pause-playback-me-player.d.ts.map +1 -0
- package/tools/me/player/pause-playback-me-player.js +39 -0
- package/tools/me/player/pause-playback-me-player.js.map +1 -0
- package/tools/me/player/pause-playback-me-player.mjs +35 -0
- package/tools/me/player/pause-playback-me-player.mjs.map +1 -0
- package/tools/me/player/queue/add-player-me-queue.d.mts +45 -0
- package/tools/me/player/queue/add-player-me-queue.d.mts.map +1 -0
- package/tools/me/player/queue/add-player-me-queue.d.ts +45 -0
- package/tools/me/player/queue/add-player-me-queue.d.ts.map +1 -0
- package/tools/me/player/queue/add-player-me-queue.js +42 -0
- package/tools/me/player/queue/add-player-me-queue.js.map +1 -0
- package/tools/me/player/queue/add-player-me-queue.mjs +38 -0
- package/tools/me/player/queue/add-player-me-queue.mjs.map +1 -0
- package/tools/me/player/queue/get-player-me-queue.d.mts +45 -0
- package/tools/me/player/queue/get-player-me-queue.d.mts.map +1 -0
- package/tools/me/player/queue/get-player-me-queue.d.ts +45 -0
- package/tools/me/player/queue/get-player-me-queue.d.ts.map +1 -0
- package/tools/me/player/queue/get-player-me-queue.js +31 -0
- package/tools/me/player/queue/get-player-me-queue.js.map +1 -0
- package/tools/me/player/queue/get-player-me-queue.mjs +27 -0
- package/tools/me/player/queue/get-player-me-queue.mjs.map +1 -0
- package/tools/me/player/seek-to-position-me-player.d.mts +45 -0
- package/tools/me/player/seek-to-position-me-player.d.mts.map +1 -0
- package/tools/me/player/seek-to-position-me-player.d.ts +45 -0
- package/tools/me/player/seek-to-position-me-player.d.ts.map +1 -0
- package/tools/me/player/seek-to-position-me-player.js +44 -0
- package/tools/me/player/seek-to-position-me-player.js.map +1 -0
- package/tools/me/player/seek-to-position-me-player.mjs +40 -0
- package/tools/me/player/seek-to-position-me-player.mjs.map +1 -0
- package/tools/me/player/set-repeat-mode-me-player.d.mts +45 -0
- package/tools/me/player/set-repeat-mode-me-player.d.mts.map +1 -0
- package/tools/me/player/set-repeat-mode-me-player.d.ts +45 -0
- package/tools/me/player/set-repeat-mode-me-player.d.ts.map +1 -0
- package/tools/me/player/set-repeat-mode-me-player.js +44 -0
- package/tools/me/player/set-repeat-mode-me-player.js.map +1 -0
- package/tools/me/player/set-repeat-mode-me-player.mjs +40 -0
- package/tools/me/player/set-repeat-mode-me-player.mjs.map +1 -0
- package/tools/me/player/set-volume-me-player.d.mts +45 -0
- package/tools/me/player/set-volume-me-player.d.mts.map +1 -0
- package/tools/me/player/set-volume-me-player.d.ts +45 -0
- package/tools/me/player/set-volume-me-player.d.ts.map +1 -0
- package/tools/me/player/set-volume-me-player.js +44 -0
- package/tools/me/player/set-volume-me-player.js.map +1 -0
- package/tools/me/player/set-volume-me-player.mjs +40 -0
- package/tools/me/player/set-volume-me-player.mjs.map +1 -0
- package/tools/me/player/skip-next-me-player.d.mts +45 -0
- package/tools/me/player/skip-next-me-player.d.mts.map +1 -0
- package/tools/me/player/skip-next-me-player.d.ts +45 -0
- package/tools/me/player/skip-next-me-player.d.ts.map +1 -0
- package/tools/me/player/skip-next-me-player.js +37 -0
- package/tools/me/player/skip-next-me-player.js.map +1 -0
- package/tools/me/player/skip-next-me-player.mjs +33 -0
- package/tools/me/player/skip-next-me-player.mjs.map +1 -0
- package/tools/me/player/skip-previous-me-player.d.mts +45 -0
- package/tools/me/player/skip-previous-me-player.d.mts.map +1 -0
- package/tools/me/player/skip-previous-me-player.d.ts +45 -0
- package/tools/me/player/skip-previous-me-player.d.ts.map +1 -0
- package/tools/me/player/skip-previous-me-player.js +37 -0
- package/tools/me/player/skip-previous-me-player.js.map +1 -0
- package/tools/me/player/skip-previous-me-player.mjs +33 -0
- package/tools/me/player/skip-previous-me-player.mjs.map +1 -0
- package/tools/me/player/start-playback-me-player.d.mts +45 -0
- package/tools/me/player/start-playback-me-player.d.mts.map +1 -0
- package/tools/me/player/start-playback-me-player.d.ts +45 -0
- package/tools/me/player/start-playback-me-player.d.ts.map +1 -0
- package/tools/me/player/start-playback-me-player.js +59 -0
- package/tools/me/player/start-playback-me-player.js.map +1 -0
- package/tools/me/player/start-playback-me-player.mjs +55 -0
- package/tools/me/player/start-playback-me-player.mjs.map +1 -0
- package/tools/me/player/toggle-shuffle-me-player.d.mts +45 -0
- package/tools/me/player/toggle-shuffle-me-player.d.mts.map +1 -0
- package/tools/me/player/toggle-shuffle-me-player.d.ts +45 -0
- package/tools/me/player/toggle-shuffle-me-player.d.ts.map +1 -0
- package/tools/me/player/toggle-shuffle-me-player.js +44 -0
- package/tools/me/player/toggle-shuffle-me-player.js.map +1 -0
- package/tools/me/player/toggle-shuffle-me-player.mjs +40 -0
- package/tools/me/player/toggle-shuffle-me-player.mjs.map +1 -0
- package/tools/me/player/transfer-me-player.d.mts +45 -0
- package/tools/me/player/transfer-me-player.d.mts.map +1 -0
- package/tools/me/player/transfer-me-player.d.ts +45 -0
- package/tools/me/player/transfer-me-player.d.ts.map +1 -0
- package/tools/me/player/transfer-me-player.js +45 -0
- package/tools/me/player/transfer-me-player.js.map +1 -0
- package/tools/me/player/transfer-me-player.mjs +41 -0
- package/tools/me/player/transfer-me-player.mjs.map +1 -0
- package/tools/me/playlists/list-me-playlists.d.mts +45 -0
- package/tools/me/playlists/list-me-playlists.d.mts.map +1 -0
- package/tools/me/playlists/list-me-playlists.d.ts +45 -0
- package/tools/me/playlists/list-me-playlists.d.ts.map +1 -0
- package/tools/me/playlists/list-me-playlists.js +50 -0
- package/tools/me/playlists/list-me-playlists.js.map +1 -0
- package/tools/me/playlists/list-me-playlists.mjs +46 -0
- package/tools/me/playlists/list-me-playlists.mjs.map +1 -0
- package/tools/me/retrieve-me.d.mts +45 -0
- package/tools/me/retrieve-me.d.mts.map +1 -0
- package/tools/me/retrieve-me.d.ts +45 -0
- package/tools/me/retrieve-me.d.ts.map +1 -0
- package/tools/me/retrieve-me.js +39 -0
- package/tools/me/retrieve-me.js.map +1 -0
- package/tools/me/retrieve-me.mjs +35 -0
- package/tools/me/retrieve-me.mjs.map +1 -0
- package/tools/me/shows/check-me-shows.d.mts +45 -0
- package/tools/me/shows/check-me-shows.d.mts.map +1 -0
- package/tools/me/shows/check-me-shows.d.ts +45 -0
- package/tools/me/shows/check-me-shows.d.ts.map +1 -0
- package/tools/me/shows/check-me-shows.js +44 -0
- package/tools/me/shows/check-me-shows.js.map +1 -0
- package/tools/me/shows/check-me-shows.mjs +40 -0
- package/tools/me/shows/check-me-shows.mjs.map +1 -0
- package/tools/me/shows/list-me-shows.d.mts +45 -0
- package/tools/me/shows/list-me-shows.d.mts.map +1 -0
- package/tools/me/shows/list-me-shows.d.ts +45 -0
- package/tools/me/shows/list-me-shows.d.ts.map +1 -0
- package/tools/me/shows/list-me-shows.js +50 -0
- package/tools/me/shows/list-me-shows.js.map +1 -0
- package/tools/me/shows/list-me-shows.mjs +46 -0
- package/tools/me/shows/list-me-shows.mjs.map +1 -0
- package/tools/me/shows/remove-me-shows.d.mts +45 -0
- package/tools/me/shows/remove-me-shows.d.mts.map +1 -0
- package/tools/me/shows/remove-me-shows.d.ts +45 -0
- package/tools/me/shows/remove-me-shows.d.ts.map +1 -0
- package/tools/me/shows/remove-me-shows.js +41 -0
- package/tools/me/shows/remove-me-shows.js.map +1 -0
- package/tools/me/shows/remove-me-shows.mjs +37 -0
- package/tools/me/shows/remove-me-shows.mjs.map +1 -0
- package/tools/me/shows/save-me-shows.d.mts +45 -0
- package/tools/me/shows/save-me-shows.d.mts.map +1 -0
- package/tools/me/shows/save-me-shows.d.ts +45 -0
- package/tools/me/shows/save-me-shows.d.ts.map +1 -0
- package/tools/me/shows/save-me-shows.js +41 -0
- package/tools/me/shows/save-me-shows.js.map +1 -0
- package/tools/me/shows/save-me-shows.mjs +37 -0
- package/tools/me/shows/save-me-shows.mjs.map +1 -0
- package/tools/me/top/list-top-artists-me-top.d.mts +45 -0
- package/tools/me/top/list-top-artists-me-top.d.mts.map +1 -0
- package/tools/me/top/list-top-artists-me-top.d.ts +45 -0
- package/tools/me/top/list-top-artists-me-top.d.ts.map +1 -0
- package/tools/me/top/list-top-artists-me-top.js +55 -0
- package/tools/me/top/list-top-artists-me-top.js.map +1 -0
- package/tools/me/top/list-top-artists-me-top.mjs +51 -0
- package/tools/me/top/list-top-artists-me-top.mjs.map +1 -0
- package/tools/me/top/list-top-tracks-me-top.d.mts +45 -0
- package/tools/me/top/list-top-tracks-me-top.d.mts.map +1 -0
- package/tools/me/top/list-top-tracks-me-top.d.ts +45 -0
- package/tools/me/top/list-top-tracks-me-top.d.ts.map +1 -0
- package/tools/me/top/list-top-tracks-me-top.js +49 -0
- package/tools/me/top/list-top-tracks-me-top.js.map +1 -0
- package/tools/me/top/list-top-tracks-me-top.mjs +45 -0
- package/tools/me/top/list-top-tracks-me-top.mjs.map +1 -0
- package/tools/me/tracks/check-me-tracks.d.mts +45 -0
- package/tools/me/tracks/check-me-tracks.d.mts.map +1 -0
- package/tools/me/tracks/check-me-tracks.d.ts +45 -0
- package/tools/me/tracks/check-me-tracks.d.ts.map +1 -0
- package/tools/me/tracks/check-me-tracks.js +44 -0
- package/tools/me/tracks/check-me-tracks.js.map +1 -0
- package/tools/me/tracks/check-me-tracks.mjs +40 -0
- package/tools/me/tracks/check-me-tracks.mjs.map +1 -0
- package/tools/me/tracks/list-me-tracks.d.mts +45 -0
- package/tools/me/tracks/list-me-tracks.d.mts.map +1 -0
- package/tools/me/tracks/list-me-tracks.d.ts +45 -0
- package/tools/me/tracks/list-me-tracks.d.ts.map +1 -0
- package/tools/me/tracks/list-me-tracks.js +49 -0
- package/tools/me/tracks/list-me-tracks.js.map +1 -0
- package/tools/me/tracks/list-me-tracks.mjs +45 -0
- package/tools/me/tracks/list-me-tracks.mjs.map +1 -0
- package/tools/me/tracks/remove-me-tracks.d.mts +45 -0
- package/tools/me/tracks/remove-me-tracks.d.mts.map +1 -0
- package/tools/me/tracks/remove-me-tracks.d.ts +45 -0
- package/tools/me/tracks/remove-me-tracks.d.ts.map +1 -0
- package/tools/me/tracks/remove-me-tracks.js +41 -0
- package/tools/me/tracks/remove-me-tracks.js.map +1 -0
- package/tools/me/tracks/remove-me-tracks.mjs +37 -0
- package/tools/me/tracks/remove-me-tracks.mjs.map +1 -0
- package/tools/me/tracks/save-me-tracks.d.mts +45 -0
- package/tools/me/tracks/save-me-tracks.d.mts.map +1 -0
- package/tools/me/tracks/save-me-tracks.d.ts +45 -0
- package/tools/me/tracks/save-me-tracks.d.ts.map +1 -0
- package/tools/me/tracks/save-me-tracks.js +60 -0
- package/tools/me/tracks/save-me-tracks.js.map +1 -0
- package/tools/me/tracks/save-me-tracks.mjs +56 -0
- package/tools/me/tracks/save-me-tracks.mjs.map +1 -0
- package/tools/playlists/followers/check-playlists-followers.d.mts +45 -0
- package/tools/playlists/followers/check-playlists-followers.d.mts.map +1 -0
- package/tools/playlists/followers/check-playlists-followers.d.ts +45 -0
- package/tools/playlists/followers/check-playlists-followers.d.ts.map +1 -0
- package/tools/playlists/followers/check-playlists-followers.js +49 -0
- package/tools/playlists/followers/check-playlists-followers.js.map +1 -0
- package/tools/playlists/followers/check-playlists-followers.mjs +45 -0
- package/tools/playlists/followers/check-playlists-followers.mjs.map +1 -0
- package/tools/playlists/followers/follow-playlists-followers.d.mts +45 -0
- package/tools/playlists/followers/follow-playlists-followers.d.mts.map +1 -0
- package/tools/playlists/followers/follow-playlists-followers.d.ts +45 -0
- package/tools/playlists/followers/follow-playlists-followers.d.ts.map +1 -0
- package/tools/playlists/followers/follow-playlists-followers.js +43 -0
- package/tools/playlists/followers/follow-playlists-followers.js.map +1 -0
- package/tools/playlists/followers/follow-playlists-followers.mjs +39 -0
- package/tools/playlists/followers/follow-playlists-followers.mjs.map +1 -0
- package/tools/playlists/followers/unfollow-playlists-followers.d.mts +45 -0
- package/tools/playlists/followers/unfollow-playlists-followers.d.mts.map +1 -0
- package/tools/playlists/followers/unfollow-playlists-followers.d.ts +45 -0
- package/tools/playlists/followers/unfollow-playlists-followers.d.ts.map +1 -0
- package/tools/playlists/followers/unfollow-playlists-followers.js +39 -0
- package/tools/playlists/followers/unfollow-playlists-followers.js.map +1 -0
- package/tools/playlists/followers/unfollow-playlists-followers.mjs +35 -0
- package/tools/playlists/followers/unfollow-playlists-followers.mjs.map +1 -0
- package/tools/playlists/images/list-playlists-images.d.mts +45 -0
- package/tools/playlists/images/list-playlists-images.d.mts.map +1 -0
- package/tools/playlists/images/list-playlists-images.d.ts +45 -0
- package/tools/playlists/images/list-playlists-images.d.ts.map +1 -0
- package/tools/playlists/images/list-playlists-images.js +44 -0
- package/tools/playlists/images/list-playlists-images.js.map +1 -0
- package/tools/playlists/images/list-playlists-images.mjs +40 -0
- package/tools/playlists/images/list-playlists-images.mjs.map +1 -0
- package/tools/playlists/images/update-playlists-images.d.mts +45 -0
- package/tools/playlists/images/update-playlists-images.d.mts.map +1 -0
- package/tools/playlists/images/update-playlists-images.d.ts +45 -0
- package/tools/playlists/images/update-playlists-images.d.ts.map +1 -0
- package/tools/playlists/images/update-playlists-images.js +43 -0
- package/tools/playlists/images/update-playlists-images.js.map +1 -0
- package/tools/playlists/images/update-playlists-images.mjs +39 -0
- package/tools/playlists/images/update-playlists-images.mjs.map +1 -0
- package/tools/playlists/retrieve-playlists.d.mts +45 -0
- package/tools/playlists/retrieve-playlists.d.mts.map +1 -0
- package/tools/playlists/retrieve-playlists.d.ts +45 -0
- package/tools/playlists/retrieve-playlists.d.ts.map +1 -0
- package/tools/playlists/retrieve-playlists.js +53 -0
- package/tools/playlists/retrieve-playlists.js.map +1 -0
- package/tools/playlists/retrieve-playlists.mjs +49 -0
- package/tools/playlists/retrieve-playlists.mjs.map +1 -0
- package/tools/playlists/tracks/add-playlists-tracks.d.mts +45 -0
- package/tools/playlists/tracks/add-playlists-tracks.d.mts.map +1 -0
- package/tools/playlists/tracks/add-playlists-tracks.d.ts +45 -0
- package/tools/playlists/tracks/add-playlists-tracks.d.ts.map +1 -0
- package/tools/playlists/tracks/add-playlists-tracks.js +53 -0
- package/tools/playlists/tracks/add-playlists-tracks.js.map +1 -0
- package/tools/playlists/tracks/add-playlists-tracks.mjs +49 -0
- package/tools/playlists/tracks/add-playlists-tracks.mjs.map +1 -0
- package/tools/playlists/tracks/list-playlists-tracks.d.mts +45 -0
- package/tools/playlists/tracks/list-playlists-tracks.d.mts.map +1 -0
- package/tools/playlists/tracks/list-playlists-tracks.d.ts +45 -0
- package/tools/playlists/tracks/list-playlists-tracks.d.ts.map +1 -0
- package/tools/playlists/tracks/list-playlists-tracks.js +64 -0
- package/tools/playlists/tracks/list-playlists-tracks.js.map +1 -0
- package/tools/playlists/tracks/list-playlists-tracks.mjs +60 -0
- package/tools/playlists/tracks/list-playlists-tracks.mjs.map +1 -0
- package/tools/playlists/tracks/remove-playlists-tracks.d.mts +45 -0
- package/tools/playlists/tracks/remove-playlists-tracks.d.mts.map +1 -0
- package/tools/playlists/tracks/remove-playlists-tracks.d.ts +45 -0
- package/tools/playlists/tracks/remove-playlists-tracks.d.ts.map +1 -0
- package/tools/playlists/tracks/remove-playlists-tracks.js +61 -0
- package/tools/playlists/tracks/remove-playlists-tracks.js.map +1 -0
- package/tools/playlists/tracks/remove-playlists-tracks.mjs +57 -0
- package/tools/playlists/tracks/remove-playlists-tracks.mjs.map +1 -0
- package/tools/playlists/tracks/update-playlists-tracks.d.mts +45 -0
- package/tools/playlists/tracks/update-playlists-tracks.d.mts.map +1 -0
- package/tools/playlists/tracks/update-playlists-tracks.d.ts +45 -0
- package/tools/playlists/tracks/update-playlists-tracks.d.ts.map +1 -0
- package/tools/playlists/tracks/update-playlists-tracks.js +66 -0
- package/tools/playlists/tracks/update-playlists-tracks.js.map +1 -0
- package/tools/playlists/tracks/update-playlists-tracks.mjs +62 -0
- package/tools/playlists/tracks/update-playlists-tracks.mjs.map +1 -0
- package/tools/playlists/update-playlists.d.mts +45 -0
- package/tools/playlists/update-playlists.d.mts.map +1 -0
- package/tools/playlists/update-playlists.d.ts +45 -0
- package/tools/playlists/update-playlists.d.ts.map +1 -0
- package/tools/playlists/update-playlists.js +55 -0
- package/tools/playlists/update-playlists.js.map +1 -0
- package/tools/playlists/update-playlists.mjs +51 -0
- package/tools/playlists/update-playlists.mjs.map +1 -0
- package/tools/recommendations/get-recommendations.d.mts +45 -0
- package/tools/recommendations/get-recommendations.d.mts.map +1 -0
- package/tools/recommendations/get-recommendations.d.ts +45 -0
- package/tools/recommendations/get-recommendations.d.ts.map +1 -0
- package/tools/recommendations/get-recommendations.js +268 -0
- package/tools/recommendations/get-recommendations.js.map +1 -0
- package/tools/recommendations/get-recommendations.mjs +264 -0
- package/tools/recommendations/get-recommendations.mjs.map +1 -0
- package/tools/recommendations/list-available-genre-seeds-recommendations.d.mts +45 -0
- package/tools/recommendations/list-available-genre-seeds-recommendations.d.mts.map +1 -0
- package/tools/recommendations/list-available-genre-seeds-recommendations.d.ts +45 -0
- package/tools/recommendations/list-available-genre-seeds-recommendations.d.ts.map +1 -0
- package/tools/recommendations/list-available-genre-seeds-recommendations.js +39 -0
- package/tools/recommendations/list-available-genre-seeds-recommendations.js.map +1 -0
- package/tools/recommendations/list-available-genre-seeds-recommendations.mjs +35 -0
- package/tools/recommendations/list-available-genre-seeds-recommendations.mjs.map +1 -0
- package/tools/search/retrieve-search.d.mts +45 -0
- package/tools/search/retrieve-search.d.mts.map +1 -0
- package/tools/search/retrieve-search.d.ts +45 -0
- package/tools/search/retrieve-search.d.ts.map +1 -0
- package/tools/search/retrieve-search.js +68 -0
- package/tools/search/retrieve-search.js.map +1 -0
- package/tools/search/retrieve-search.mjs +64 -0
- package/tools/search/retrieve-search.mjs.map +1 -0
- package/tools/shows/list-episodes-shows.d.mts +45 -0
- package/tools/shows/list-episodes-shows.d.mts.map +1 -0
- package/tools/shows/list-episodes-shows.d.ts +45 -0
- package/tools/shows/list-episodes-shows.d.ts.map +1 -0
- package/tools/shows/list-episodes-shows.js +60 -0
- package/tools/shows/list-episodes-shows.js.map +1 -0
- package/tools/shows/list-episodes-shows.mjs +56 -0
- package/tools/shows/list-episodes-shows.mjs.map +1 -0
- package/tools/shows/list-shows.d.mts +45 -0
- package/tools/shows/list-shows.d.mts.map +1 -0
- package/tools/shows/list-shows.d.ts +45 -0
- package/tools/shows/list-shows.d.ts.map +1 -0
- package/tools/shows/list-shows.js +49 -0
- package/tools/shows/list-shows.js.map +1 -0
- package/tools/shows/list-shows.mjs +45 -0
- package/tools/shows/list-shows.mjs.map +1 -0
- package/tools/shows/retrieve-shows.d.mts +45 -0
- package/tools/shows/retrieve-shows.d.mts.map +1 -0
- package/tools/shows/retrieve-shows.d.ts +45 -0
- package/tools/shows/retrieve-shows.d.ts.map +1 -0
- package/tools/shows/retrieve-shows.js +49 -0
- package/tools/shows/retrieve-shows.js.map +1 -0
- package/tools/shows/retrieve-shows.mjs +45 -0
- package/tools/shows/retrieve-shows.mjs.map +1 -0
- package/tools/tracks/list-tracks.d.mts +45 -0
- package/tools/tracks/list-tracks.d.mts.map +1 -0
- package/tools/tracks/list-tracks.d.ts +45 -0
- package/tools/tracks/list-tracks.d.ts.map +1 -0
- package/tools/tracks/list-tracks.js +43 -0
- package/tools/tracks/list-tracks.js.map +1 -0
- package/tools/tracks/list-tracks.mjs +39 -0
- package/tools/tracks/list-tracks.mjs.map +1 -0
- package/tools/tracks/retrieve-tracks.d.mts +45 -0
- package/tools/tracks/retrieve-tracks.d.mts.map +1 -0
- package/tools/tracks/retrieve-tracks.d.ts +45 -0
- package/tools/tracks/retrieve-tracks.d.ts.map +1 -0
- package/tools/tracks/retrieve-tracks.js +43 -0
- package/tools/tracks/retrieve-tracks.js.map +1 -0
- package/tools/tracks/retrieve-tracks.mjs +39 -0
- package/tools/tracks/retrieve-tracks.mjs.map +1 -0
- package/tools/types.d.mts +51 -0
- package/tools/types.d.mts.map +1 -0
- package/tools/types.d.ts +51 -0
- package/tools/types.d.ts.map +1 -0
- package/tools/types.js +46 -0
- package/tools/types.js.map +1 -0
- package/tools/types.mjs +42 -0
- package/tools/types.mjs.map +1 -0
- package/tools/users/playlists/create-users-playlists.d.mts +45 -0
- package/tools/users/playlists/create-users-playlists.d.mts.map +1 -0
- package/tools/users/playlists/create-users-playlists.d.ts +45 -0
- package/tools/users/playlists/create-users-playlists.d.ts.map +1 -0
- package/tools/users/playlists/create-users-playlists.js +52 -0
- package/tools/users/playlists/create-users-playlists.js.map +1 -0
- package/tools/users/playlists/create-users-playlists.mjs +48 -0
- package/tools/users/playlists/create-users-playlists.mjs.map +1 -0
- package/tools/users/playlists/list-users-playlists.d.mts +45 -0
- package/tools/users/playlists/list-users-playlists.d.mts.map +1 -0
- package/tools/users/playlists/list-users-playlists.d.ts +45 -0
- package/tools/users/playlists/list-users-playlists.d.ts.map +1 -0
- package/tools/users/playlists/list-users-playlists.js +55 -0
- package/tools/users/playlists/list-users-playlists.js.map +1 -0
- package/tools/users/playlists/list-users-playlists.mjs +51 -0
- package/tools/users/playlists/list-users-playlists.mjs.map +1 -0
- package/tools/users/retrieve-profile-users.d.mts +45 -0
- package/tools/users/retrieve-profile-users.d.mts.map +1 -0
- package/tools/users/retrieve-profile-users.d.ts +45 -0
- package/tools/users/retrieve-profile-users.d.ts.map +1 -0
- package/tools/users/retrieve-profile-users.js +44 -0
- package/tools/users/retrieve-profile-users.js.map +1 -0
- package/tools/users/retrieve-profile-users.mjs +40 -0
- package/tools/users/retrieve-profile-users.mjs.map +1 -0
- package/tools.d.mts +2 -0
- package/tools.d.mts.map +1 -0
- package/tools.d.ts +2 -0
- package/tools.d.ts.map +1 -0
- package/tools.js +18 -0
- package/tools.js.map +1 -0
- package/tools.mjs +2 -0
- package/tools.mjs.map +1 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Metadata } from 'spotted-ts-mcp/tools/types';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import Spotted from 'spotted-ts';
|
|
4
|
+
export declare const metadata: Metadata;
|
|
5
|
+
export declare const tool: Tool;
|
|
6
|
+
export declare const handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
7
|
+
declare const _default: {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
tool: {
|
|
10
|
+
[x: string]: unknown;
|
|
11
|
+
name: string;
|
|
12
|
+
inputSchema: {
|
|
13
|
+
[x: string]: unknown;
|
|
14
|
+
type: "object";
|
|
15
|
+
properties?: {
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
} | undefined;
|
|
18
|
+
required?: string[] | undefined;
|
|
19
|
+
};
|
|
20
|
+
title?: string | undefined;
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
outputSchema?: {
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
type: "object";
|
|
25
|
+
properties?: {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
} | undefined;
|
|
28
|
+
required?: string[] | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
annotations?: {
|
|
31
|
+
[x: string]: unknown;
|
|
32
|
+
title?: string | undefined;
|
|
33
|
+
readOnlyHint?: boolean | undefined;
|
|
34
|
+
destructiveHint?: boolean | undefined;
|
|
35
|
+
idempotentHint?: boolean | undefined;
|
|
36
|
+
openWorldHint?: boolean | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
};
|
|
42
|
+
handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=list-audio-features.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audio-features.d.mts","sourceRoot":"","sources":["../../src/tools/audio-features/list-audio-features.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B;OAEnE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,OAAO,MAAM,YAAY;AAEhC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAyBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAGvF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHoC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAKxF,wBAA2C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Metadata } from 'spotted-ts-mcp/tools/types';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import Spotted from 'spotted-ts';
|
|
4
|
+
export declare const metadata: Metadata;
|
|
5
|
+
export declare const tool: Tool;
|
|
6
|
+
export declare const handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
7
|
+
declare const _default: {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
tool: {
|
|
10
|
+
[x: string]: unknown;
|
|
11
|
+
name: string;
|
|
12
|
+
inputSchema: {
|
|
13
|
+
[x: string]: unknown;
|
|
14
|
+
type: "object";
|
|
15
|
+
properties?: {
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
} | undefined;
|
|
18
|
+
required?: string[] | undefined;
|
|
19
|
+
};
|
|
20
|
+
title?: string | undefined;
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
outputSchema?: {
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
type: "object";
|
|
25
|
+
properties?: {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
} | undefined;
|
|
28
|
+
required?: string[] | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
annotations?: {
|
|
31
|
+
[x: string]: unknown;
|
|
32
|
+
title?: string | undefined;
|
|
33
|
+
readOnlyHint?: boolean | undefined;
|
|
34
|
+
destructiveHint?: boolean | undefined;
|
|
35
|
+
idempotentHint?: boolean | undefined;
|
|
36
|
+
openWorldHint?: boolean | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
};
|
|
42
|
+
handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=list-audio-features.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audio-features.d.ts","sourceRoot":"","sources":["../../src/tools/audio-features/list-audio-features.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B;OAEnE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,OAAO,MAAM,YAAY;AAEhC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAyBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAGvF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHoC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAKxF,wBAA2C"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.handler = exports.tool = exports.metadata = void 0;
|
|
5
|
+
const filtering_1 = require("spotted-ts-mcp/filtering");
|
|
6
|
+
const types_1 = require("spotted-ts-mcp/tools/types");
|
|
7
|
+
exports.metadata = {
|
|
8
|
+
resource: 'audio_features',
|
|
9
|
+
operation: 'read',
|
|
10
|
+
tags: [],
|
|
11
|
+
httpMethod: 'get',
|
|
12
|
+
httpPath: '/audio-features',
|
|
13
|
+
operationId: 'get-several-audio-features',
|
|
14
|
+
};
|
|
15
|
+
exports.tool = {
|
|
16
|
+
name: 'list_audio_features',
|
|
17
|
+
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet audio features for multiple tracks based on their Spotify IDs.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/audio_feature_list_response',\n $defs: {\n audio_feature_list_response: {\n type: 'object',\n properties: {\n audio_features: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The Spotify ID for the track.\\n'\n },\n acousticness: {\n type: 'number',\n description: 'A confidence measure from 0.0 to 1.0 of whether the track is acoustic. 1.0 represents high confidence the track is acoustic.\\n'\n },\n analysis_url: {\n type: 'string',\n description: 'A URL to access the full audio analysis of this track. An access token is required to access this data.\\n'\n },\n danceability: {\n type: 'number',\n description: 'Danceability describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity. A value of 0.0 is least danceable and 1.0 is most danceable.\\n'\n },\n duration_ms: {\n type: 'integer',\n description: 'The duration of the track in milliseconds.\\n'\n },\n energy: {\n type: 'number',\n description: 'Energy is a measure from 0.0 to 1.0 and represents a perceptual measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale. Perceptual features contributing to this attribute include dynamic range, perceived loudness, timbre, onset rate, and general entropy.\\n'\n },\n instrumentalness: {\n type: 'number',\n description: 'Predicts whether a track contains no vocals. \"Ooh\" and \"aah\" sounds are treated as instrumental in this context. Rap or spoken word tracks are clearly \"vocal\". The closer the instrumentalness value is to 1.0, the greater likelihood the track contains no vocal content. Values above 0.5 are intended to represent instrumental tracks, but confidence is higher as the value approaches 1.0.\\n'\n },\n key: {\n type: 'integer',\n description: 'The key the track is in. Integers map to pitches using standard [Pitch Class notation](https://en.wikipedia.org/wiki/Pitch_class). E.g. 0 = C, 1 = C♯/D♭, 2 = D, and so on. If no key was detected, the value is -1.\\n'\n },\n liveness: {\n type: 'number',\n description: 'Detects the presence of an audience in the recording. Higher liveness values represent an increased probability that the track was performed live. A value above 0.8 provides strong likelihood that the track is live.\\n'\n },\n loudness: {\n type: 'number',\n description: 'The overall loudness of a track in decibels (dB). Loudness values are averaged across the entire track and are useful for comparing relative loudness of tracks. Loudness is the quality of a sound that is the primary psychological correlate of physical strength (amplitude). Values typically range between -60 and 0 db.\\n'\n },\n mode: {\n type: 'integer',\n description: 'Mode indicates the modality (major or minor) of a track, the type of scale from which its melodic content is derived. Major is represented by 1 and minor is 0.\\n'\n },\n speechiness: {\n type: 'number',\n description: 'Speechiness detects the presence of spoken words in a track. The more exclusively speech-like the recording (e.g. talk show, audio book, poetry), the closer to 1.0 the attribute value. Values above 0.66 describe tracks that are probably made entirely of spoken words. Values between 0.33 and 0.66 describe tracks that may contain both music and speech, either in sections or layered, including such cases as rap music. Values below 0.33 most likely represent music and other non-speech-like tracks.\\n'\n },\n tempo: {\n type: 'number',\n description: 'The overall estimated tempo of a track in beats per minute (BPM). In musical terminology, tempo is the speed or pace of a given piece and derives directly from the average beat duration.\\n'\n },\n time_signature: {\n type: 'integer',\n description: 'An estimated time signature. The time signature (meter) is a notational convention to specify how many beats are in each bar (or measure). The time signature ranges from 3 to 7 indicating time signatures of \"3/4\", to \"7/4\".'\n },\n track_href: {\n type: 'string',\n description: 'A link to the Web API endpoint providing full details of the track.\\n'\n },\n type: {\n type: 'string',\n description: 'The object type.',\n enum: [ 'audio_features'\n ]\n },\n uri: {\n type: 'string',\n description: 'The Spotify URI for the track.\\n'\n },\n valence: {\n type: 'number',\n description: 'A measure from 0.0 to 1.0 describing the musical positiveness conveyed by a track. Tracks with high valence sound more positive (e.g. happy, cheerful, euphoric), while tracks with low valence sound more negative (e.g. sad, depressed, angry).\\n'\n }\n }\n }\n }\n },\n required: [ 'audio_features'\n ]\n }\n }\n}\n```",
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
ids: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
title: 'Spotify Track IDs',
|
|
24
|
+
description: 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids)\nfor the tracks. Maximum: 100 IDs.\n',
|
|
25
|
+
},
|
|
26
|
+
jq_filter: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
title: 'jq Filter',
|
|
29
|
+
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
required: ['ids'],
|
|
33
|
+
},
|
|
34
|
+
annotations: {
|
|
35
|
+
readOnlyHint: true,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const handler = async (client, args) => {
|
|
39
|
+
const { jq_filter, ...body } = args;
|
|
40
|
+
return (0, types_1.asTextContentResult)(await (0, filtering_1.maybeFilter)(jq_filter, await client.audioFeatures.list(body)));
|
|
41
|
+
};
|
|
42
|
+
exports.handler = handler;
|
|
43
|
+
exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
|
|
44
|
+
//# sourceMappingURL=list-audio-features.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audio-features.js","sourceRoot":"","sources":["../../src/tools/audio-features/list-audio-features.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,wDAAuD;AACvD,sDAA2E;AAK9D,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,iBAAiB;IAC3B,WAAW,EAAE,4BAA4B;CAC1C,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,ynMAAynM;IAC3nM,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EACT,oIAAoI;aACvI;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAe,EAAE,IAAyC,EAAE,EAAE;IAC1F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC3C,OAAO,IAAA,2BAAmB,EAAC,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
import { maybeFilter } from 'spotted-ts-mcp/filtering';
|
|
3
|
+
import { asTextContentResult } from 'spotted-ts-mcp/tools/types';
|
|
4
|
+
export const metadata = {
|
|
5
|
+
resource: 'audio_features',
|
|
6
|
+
operation: 'read',
|
|
7
|
+
tags: [],
|
|
8
|
+
httpMethod: 'get',
|
|
9
|
+
httpPath: '/audio-features',
|
|
10
|
+
operationId: 'get-several-audio-features',
|
|
11
|
+
};
|
|
12
|
+
export const tool = {
|
|
13
|
+
name: 'list_audio_features',
|
|
14
|
+
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet audio features for multiple tracks based on their Spotify IDs.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/audio_feature_list_response',\n $defs: {\n audio_feature_list_response: {\n type: 'object',\n properties: {\n audio_features: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The Spotify ID for the track.\\n'\n },\n acousticness: {\n type: 'number',\n description: 'A confidence measure from 0.0 to 1.0 of whether the track is acoustic. 1.0 represents high confidence the track is acoustic.\\n'\n },\n analysis_url: {\n type: 'string',\n description: 'A URL to access the full audio analysis of this track. An access token is required to access this data.\\n'\n },\n danceability: {\n type: 'number',\n description: 'Danceability describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity. A value of 0.0 is least danceable and 1.0 is most danceable.\\n'\n },\n duration_ms: {\n type: 'integer',\n description: 'The duration of the track in milliseconds.\\n'\n },\n energy: {\n type: 'number',\n description: 'Energy is a measure from 0.0 to 1.0 and represents a perceptual measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale. Perceptual features contributing to this attribute include dynamic range, perceived loudness, timbre, onset rate, and general entropy.\\n'\n },\n instrumentalness: {\n type: 'number',\n description: 'Predicts whether a track contains no vocals. \"Ooh\" and \"aah\" sounds are treated as instrumental in this context. Rap or spoken word tracks are clearly \"vocal\". The closer the instrumentalness value is to 1.0, the greater likelihood the track contains no vocal content. Values above 0.5 are intended to represent instrumental tracks, but confidence is higher as the value approaches 1.0.\\n'\n },\n key: {\n type: 'integer',\n description: 'The key the track is in. Integers map to pitches using standard [Pitch Class notation](https://en.wikipedia.org/wiki/Pitch_class). E.g. 0 = C, 1 = C♯/D♭, 2 = D, and so on. If no key was detected, the value is -1.\\n'\n },\n liveness: {\n type: 'number',\n description: 'Detects the presence of an audience in the recording. Higher liveness values represent an increased probability that the track was performed live. A value above 0.8 provides strong likelihood that the track is live.\\n'\n },\n loudness: {\n type: 'number',\n description: 'The overall loudness of a track in decibels (dB). Loudness values are averaged across the entire track and are useful for comparing relative loudness of tracks. Loudness is the quality of a sound that is the primary psychological correlate of physical strength (amplitude). Values typically range between -60 and 0 db.\\n'\n },\n mode: {\n type: 'integer',\n description: 'Mode indicates the modality (major or minor) of a track, the type of scale from which its melodic content is derived. Major is represented by 1 and minor is 0.\\n'\n },\n speechiness: {\n type: 'number',\n description: 'Speechiness detects the presence of spoken words in a track. The more exclusively speech-like the recording (e.g. talk show, audio book, poetry), the closer to 1.0 the attribute value. Values above 0.66 describe tracks that are probably made entirely of spoken words. Values between 0.33 and 0.66 describe tracks that may contain both music and speech, either in sections or layered, including such cases as rap music. Values below 0.33 most likely represent music and other non-speech-like tracks.\\n'\n },\n tempo: {\n type: 'number',\n description: 'The overall estimated tempo of a track in beats per minute (BPM). In musical terminology, tempo is the speed or pace of a given piece and derives directly from the average beat duration.\\n'\n },\n time_signature: {\n type: 'integer',\n description: 'An estimated time signature. The time signature (meter) is a notational convention to specify how many beats are in each bar (or measure). The time signature ranges from 3 to 7 indicating time signatures of \"3/4\", to \"7/4\".'\n },\n track_href: {\n type: 'string',\n description: 'A link to the Web API endpoint providing full details of the track.\\n'\n },\n type: {\n type: 'string',\n description: 'The object type.',\n enum: [ 'audio_features'\n ]\n },\n uri: {\n type: 'string',\n description: 'The Spotify URI for the track.\\n'\n },\n valence: {\n type: 'number',\n description: 'A measure from 0.0 to 1.0 describing the musical positiveness conveyed by a track. Tracks with high valence sound more positive (e.g. happy, cheerful, euphoric), while tracks with low valence sound more negative (e.g. sad, depressed, angry).\\n'\n }\n }\n }\n }\n },\n required: [ 'audio_features'\n ]\n }\n }\n}\n```",
|
|
15
|
+
inputSchema: {
|
|
16
|
+
type: 'object',
|
|
17
|
+
properties: {
|
|
18
|
+
ids: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
title: 'Spotify Track IDs',
|
|
21
|
+
description: 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids)\nfor the tracks. Maximum: 100 IDs.\n',
|
|
22
|
+
},
|
|
23
|
+
jq_filter: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
title: 'jq Filter',
|
|
26
|
+
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
required: ['ids'],
|
|
30
|
+
},
|
|
31
|
+
annotations: {
|
|
32
|
+
readOnlyHint: true,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
export const handler = async (client, args) => {
|
|
36
|
+
const { jq_filter, ...body } = args;
|
|
37
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.audioFeatures.list(body)));
|
|
38
|
+
};
|
|
39
|
+
export default { metadata, tool, handler };
|
|
40
|
+
//# sourceMappingURL=list-audio-features.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audio-features.mjs","sourceRoot":"","sources":["../../src/tools/audio-features/list-audio-features.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC/C,EAAY,mBAAmB,EAAE,MAAM,4BAA4B;AAK1E,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,iBAAiB;IAC3B,WAAW,EAAE,4BAA4B;CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,ynMAAynM;IAC3nM,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EACT,oIAAoI;aACvI;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAe,EAAE,IAAyC,EAAE,EAAE;IAC1F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC3C,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Metadata } from 'spotted-ts-mcp/tools/types';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import Spotted from 'spotted-ts';
|
|
4
|
+
export declare const metadata: Metadata;
|
|
5
|
+
export declare const tool: Tool;
|
|
6
|
+
export declare const handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
7
|
+
declare const _default: {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
tool: {
|
|
10
|
+
[x: string]: unknown;
|
|
11
|
+
name: string;
|
|
12
|
+
inputSchema: {
|
|
13
|
+
[x: string]: unknown;
|
|
14
|
+
type: "object";
|
|
15
|
+
properties?: {
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
} | undefined;
|
|
18
|
+
required?: string[] | undefined;
|
|
19
|
+
};
|
|
20
|
+
title?: string | undefined;
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
outputSchema?: {
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
type: "object";
|
|
25
|
+
properties?: {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
} | undefined;
|
|
28
|
+
required?: string[] | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
annotations?: {
|
|
31
|
+
[x: string]: unknown;
|
|
32
|
+
title?: string | undefined;
|
|
33
|
+
readOnlyHint?: boolean | undefined;
|
|
34
|
+
destructiveHint?: boolean | undefined;
|
|
35
|
+
idempotentHint?: boolean | undefined;
|
|
36
|
+
openWorldHint?: boolean | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
};
|
|
42
|
+
handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=retrieve-audio-features.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieve-audio-features.d.mts","sourceRoot":"","sources":["../../src/tools/audio-features/retrieve-audio-features.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B;OAEnE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,OAAO,MAAM,YAAY;AAEhC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAwBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAGvF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHoC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAKxF,wBAA2C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Metadata } from 'spotted-ts-mcp/tools/types';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import Spotted from 'spotted-ts';
|
|
4
|
+
export declare const metadata: Metadata;
|
|
5
|
+
export declare const tool: Tool;
|
|
6
|
+
export declare const handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
7
|
+
declare const _default: {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
tool: {
|
|
10
|
+
[x: string]: unknown;
|
|
11
|
+
name: string;
|
|
12
|
+
inputSchema: {
|
|
13
|
+
[x: string]: unknown;
|
|
14
|
+
type: "object";
|
|
15
|
+
properties?: {
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
} | undefined;
|
|
18
|
+
required?: string[] | undefined;
|
|
19
|
+
};
|
|
20
|
+
title?: string | undefined;
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
outputSchema?: {
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
type: "object";
|
|
25
|
+
properties?: {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
} | undefined;
|
|
28
|
+
required?: string[] | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
annotations?: {
|
|
31
|
+
[x: string]: unknown;
|
|
32
|
+
title?: string | undefined;
|
|
33
|
+
readOnlyHint?: boolean | undefined;
|
|
34
|
+
destructiveHint?: boolean | undefined;
|
|
35
|
+
idempotentHint?: boolean | undefined;
|
|
36
|
+
openWorldHint?: boolean | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
};
|
|
42
|
+
handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=retrieve-audio-features.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieve-audio-features.d.ts","sourceRoot":"","sources":["../../src/tools/audio-features/retrieve-audio-features.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B;OAEnE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,OAAO,MAAM,YAAY;AAEhC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAwBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAGvF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHoC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAKxF,wBAA2C"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.handler = exports.tool = exports.metadata = void 0;
|
|
5
|
+
const filtering_1 = require("spotted-ts-mcp/filtering");
|
|
6
|
+
const types_1 = require("spotted-ts-mcp/tools/types");
|
|
7
|
+
exports.metadata = {
|
|
8
|
+
resource: 'audio_features',
|
|
9
|
+
operation: 'read',
|
|
10
|
+
tags: [],
|
|
11
|
+
httpMethod: 'get',
|
|
12
|
+
httpPath: '/audio-features/{id}',
|
|
13
|
+
operationId: 'get-audio-features',
|
|
14
|
+
};
|
|
15
|
+
exports.tool = {
|
|
16
|
+
name: 'retrieve_audio_features',
|
|
17
|
+
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet audio feature information for a single track identified by its unique\nSpotify ID.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/audio_feature_retrieve_response',\n $defs: {\n audio_feature_retrieve_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The Spotify ID for the track.\\n'\n },\n acousticness: {\n type: 'number',\n description: 'A confidence measure from 0.0 to 1.0 of whether the track is acoustic. 1.0 represents high confidence the track is acoustic.\\n'\n },\n analysis_url: {\n type: 'string',\n description: 'A URL to access the full audio analysis of this track. An access token is required to access this data.\\n'\n },\n danceability: {\n type: 'number',\n description: 'Danceability describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity. A value of 0.0 is least danceable and 1.0 is most danceable.\\n'\n },\n duration_ms: {\n type: 'integer',\n description: 'The duration of the track in milliseconds.\\n'\n },\n energy: {\n type: 'number',\n description: 'Energy is a measure from 0.0 to 1.0 and represents a perceptual measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale. Perceptual features contributing to this attribute include dynamic range, perceived loudness, timbre, onset rate, and general entropy.\\n'\n },\n instrumentalness: {\n type: 'number',\n description: 'Predicts whether a track contains no vocals. \"Ooh\" and \"aah\" sounds are treated as instrumental in this context. Rap or spoken word tracks are clearly \"vocal\". The closer the instrumentalness value is to 1.0, the greater likelihood the track contains no vocal content. Values above 0.5 are intended to represent instrumental tracks, but confidence is higher as the value approaches 1.0.\\n'\n },\n key: {\n type: 'integer',\n description: 'The key the track is in. Integers map to pitches using standard [Pitch Class notation](https://en.wikipedia.org/wiki/Pitch_class). E.g. 0 = C, 1 = C♯/D♭, 2 = D, and so on. If no key was detected, the value is -1.\\n'\n },\n liveness: {\n type: 'number',\n description: 'Detects the presence of an audience in the recording. Higher liveness values represent an increased probability that the track was performed live. A value above 0.8 provides strong likelihood that the track is live.\\n'\n },\n loudness: {\n type: 'number',\n description: 'The overall loudness of a track in decibels (dB). Loudness values are averaged across the entire track and are useful for comparing relative loudness of tracks. Loudness is the quality of a sound that is the primary psychological correlate of physical strength (amplitude). Values typically range between -60 and 0 db.\\n'\n },\n mode: {\n type: 'integer',\n description: 'Mode indicates the modality (major or minor) of a track, the type of scale from which its melodic content is derived. Major is represented by 1 and minor is 0.\\n'\n },\n speechiness: {\n type: 'number',\n description: 'Speechiness detects the presence of spoken words in a track. The more exclusively speech-like the recording (e.g. talk show, audio book, poetry), the closer to 1.0 the attribute value. Values above 0.66 describe tracks that are probably made entirely of spoken words. Values between 0.33 and 0.66 describe tracks that may contain both music and speech, either in sections or layered, including such cases as rap music. Values below 0.33 most likely represent music and other non-speech-like tracks.\\n'\n },\n tempo: {\n type: 'number',\n description: 'The overall estimated tempo of a track in beats per minute (BPM). In musical terminology, tempo is the speed or pace of a given piece and derives directly from the average beat duration.\\n'\n },\n time_signature: {\n type: 'integer',\n description: 'An estimated time signature. The time signature (meter) is a notational convention to specify how many beats are in each bar (or measure). The time signature ranges from 3 to 7 indicating time signatures of \"3/4\", to \"7/4\".'\n },\n track_href: {\n type: 'string',\n description: 'A link to the Web API endpoint providing full details of the track.\\n'\n },\n type: {\n type: 'string',\n description: 'The object type.',\n enum: [ 'audio_features'\n ]\n },\n uri: {\n type: 'string',\n description: 'The Spotify URI for the track.\\n'\n },\n valence: {\n type: 'number',\n description: 'A measure from 0.0 to 1.0 describing the musical positiveness conveyed by a track. Tracks with high valence sound more positive (e.g. happy, cheerful, euphoric), while tracks with low valence sound more negative (e.g. sad, depressed, angry).\\n'\n }\n }\n }\n }\n}\n```",
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
id: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
title: 'Spotify Track ID',
|
|
24
|
+
description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the track.\n',
|
|
25
|
+
},
|
|
26
|
+
jq_filter: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
title: 'jq Filter',
|
|
29
|
+
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
required: ['id'],
|
|
33
|
+
},
|
|
34
|
+
annotations: {
|
|
35
|
+
readOnlyHint: true,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const handler = async (client, args) => {
|
|
39
|
+
const { id, jq_filter, ...body } = args;
|
|
40
|
+
return (0, types_1.asTextContentResult)(await (0, filtering_1.maybeFilter)(jq_filter, await client.audioFeatures.retrieve(id)));
|
|
41
|
+
};
|
|
42
|
+
exports.handler = handler;
|
|
43
|
+
exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
|
|
44
|
+
//# sourceMappingURL=retrieve-audio-features.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieve-audio-features.js","sourceRoot":"","sources":["../../src/tools/audio-features/retrieve-audio-features.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,wDAAuD;AACvD,sDAA2E;AAK9D,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,s/KAAs/K;IACx/K,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,qFAAqF;aACnG;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAe,EAAE,IAAyC,EAAE,EAAE;IAC1F,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC/C,OAAO,IAAA,2BAAmB,EAAC,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
import { maybeFilter } from 'spotted-ts-mcp/filtering';
|
|
3
|
+
import { asTextContentResult } from 'spotted-ts-mcp/tools/types';
|
|
4
|
+
export const metadata = {
|
|
5
|
+
resource: 'audio_features',
|
|
6
|
+
operation: 'read',
|
|
7
|
+
tags: [],
|
|
8
|
+
httpMethod: 'get',
|
|
9
|
+
httpPath: '/audio-features/{id}',
|
|
10
|
+
operationId: 'get-audio-features',
|
|
11
|
+
};
|
|
12
|
+
export const tool = {
|
|
13
|
+
name: 'retrieve_audio_features',
|
|
14
|
+
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet audio feature information for a single track identified by its unique\nSpotify ID.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/audio_feature_retrieve_response',\n $defs: {\n audio_feature_retrieve_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The Spotify ID for the track.\\n'\n },\n acousticness: {\n type: 'number',\n description: 'A confidence measure from 0.0 to 1.0 of whether the track is acoustic. 1.0 represents high confidence the track is acoustic.\\n'\n },\n analysis_url: {\n type: 'string',\n description: 'A URL to access the full audio analysis of this track. An access token is required to access this data.\\n'\n },\n danceability: {\n type: 'number',\n description: 'Danceability describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity. A value of 0.0 is least danceable and 1.0 is most danceable.\\n'\n },\n duration_ms: {\n type: 'integer',\n description: 'The duration of the track in milliseconds.\\n'\n },\n energy: {\n type: 'number',\n description: 'Energy is a measure from 0.0 to 1.0 and represents a perceptual measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale. Perceptual features contributing to this attribute include dynamic range, perceived loudness, timbre, onset rate, and general entropy.\\n'\n },\n instrumentalness: {\n type: 'number',\n description: 'Predicts whether a track contains no vocals. \"Ooh\" and \"aah\" sounds are treated as instrumental in this context. Rap or spoken word tracks are clearly \"vocal\". The closer the instrumentalness value is to 1.0, the greater likelihood the track contains no vocal content. Values above 0.5 are intended to represent instrumental tracks, but confidence is higher as the value approaches 1.0.\\n'\n },\n key: {\n type: 'integer',\n description: 'The key the track is in. Integers map to pitches using standard [Pitch Class notation](https://en.wikipedia.org/wiki/Pitch_class). E.g. 0 = C, 1 = C♯/D♭, 2 = D, and so on. If no key was detected, the value is -1.\\n'\n },\n liveness: {\n type: 'number',\n description: 'Detects the presence of an audience in the recording. Higher liveness values represent an increased probability that the track was performed live. A value above 0.8 provides strong likelihood that the track is live.\\n'\n },\n loudness: {\n type: 'number',\n description: 'The overall loudness of a track in decibels (dB). Loudness values are averaged across the entire track and are useful for comparing relative loudness of tracks. Loudness is the quality of a sound that is the primary psychological correlate of physical strength (amplitude). Values typically range between -60 and 0 db.\\n'\n },\n mode: {\n type: 'integer',\n description: 'Mode indicates the modality (major or minor) of a track, the type of scale from which its melodic content is derived. Major is represented by 1 and minor is 0.\\n'\n },\n speechiness: {\n type: 'number',\n description: 'Speechiness detects the presence of spoken words in a track. The more exclusively speech-like the recording (e.g. talk show, audio book, poetry), the closer to 1.0 the attribute value. Values above 0.66 describe tracks that are probably made entirely of spoken words. Values between 0.33 and 0.66 describe tracks that may contain both music and speech, either in sections or layered, including such cases as rap music. Values below 0.33 most likely represent music and other non-speech-like tracks.\\n'\n },\n tempo: {\n type: 'number',\n description: 'The overall estimated tempo of a track in beats per minute (BPM). In musical terminology, tempo is the speed or pace of a given piece and derives directly from the average beat duration.\\n'\n },\n time_signature: {\n type: 'integer',\n description: 'An estimated time signature. The time signature (meter) is a notational convention to specify how many beats are in each bar (or measure). The time signature ranges from 3 to 7 indicating time signatures of \"3/4\", to \"7/4\".'\n },\n track_href: {\n type: 'string',\n description: 'A link to the Web API endpoint providing full details of the track.\\n'\n },\n type: {\n type: 'string',\n description: 'The object type.',\n enum: [ 'audio_features'\n ]\n },\n uri: {\n type: 'string',\n description: 'The Spotify URI for the track.\\n'\n },\n valence: {\n type: 'number',\n description: 'A measure from 0.0 to 1.0 describing the musical positiveness conveyed by a track. Tracks with high valence sound more positive (e.g. happy, cheerful, euphoric), while tracks with low valence sound more negative (e.g. sad, depressed, angry).\\n'\n }\n }\n }\n }\n}\n```",
|
|
15
|
+
inputSchema: {
|
|
16
|
+
type: 'object',
|
|
17
|
+
properties: {
|
|
18
|
+
id: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
title: 'Spotify Track ID',
|
|
21
|
+
description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the track.\n',
|
|
22
|
+
},
|
|
23
|
+
jq_filter: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
title: 'jq Filter',
|
|
26
|
+
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
required: ['id'],
|
|
30
|
+
},
|
|
31
|
+
annotations: {
|
|
32
|
+
readOnlyHint: true,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
export const handler = async (client, args) => {
|
|
36
|
+
const { id, jq_filter, ...body } = args;
|
|
37
|
+
return asTextContentResult(await maybeFilter(jq_filter, await client.audioFeatures.retrieve(id)));
|
|
38
|
+
};
|
|
39
|
+
export default { metadata, tool, handler };
|
|
40
|
+
//# sourceMappingURL=retrieve-audio-features.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieve-audio-features.mjs","sourceRoot":"","sources":["../../src/tools/audio-features/retrieve-audio-features.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC/C,EAAY,mBAAmB,EAAE,MAAM,4BAA4B;AAK1E,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,s/KAAs/K;IACx/K,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,qFAAqF;aACnG;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAe,EAAE,IAAyC,EAAE,EAAE;IAC1F,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC/C,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Metadata } from 'spotted-ts-mcp/tools/types';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import Spotted from 'spotted-ts';
|
|
4
|
+
export declare const metadata: Metadata;
|
|
5
|
+
export declare const tool: Tool;
|
|
6
|
+
export declare const handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
7
|
+
declare const _default: {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
tool: {
|
|
10
|
+
[x: string]: unknown;
|
|
11
|
+
name: string;
|
|
12
|
+
inputSchema: {
|
|
13
|
+
[x: string]: unknown;
|
|
14
|
+
type: "object";
|
|
15
|
+
properties?: {
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
} | undefined;
|
|
18
|
+
required?: string[] | undefined;
|
|
19
|
+
};
|
|
20
|
+
title?: string | undefined;
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
outputSchema?: {
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
type: "object";
|
|
25
|
+
properties?: {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
} | undefined;
|
|
28
|
+
required?: string[] | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
annotations?: {
|
|
31
|
+
[x: string]: unknown;
|
|
32
|
+
title?: string | undefined;
|
|
33
|
+
readOnlyHint?: boolean | undefined;
|
|
34
|
+
destructiveHint?: boolean | undefined;
|
|
35
|
+
idempotentHint?: boolean | undefined;
|
|
36
|
+
openWorldHint?: boolean | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
};
|
|
42
|
+
handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=list-audiobooks.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audiobooks.d.mts","sourceRoot":"","sources":["../../src/tools/audiobooks/list-audiobooks.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B;OAEnE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,OAAO,MAAM,YAAY;AAEhC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IA+BlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAGvF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHoC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAKxF,wBAA2C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Metadata } from 'spotted-ts-mcp/tools/types';
|
|
2
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import Spotted from 'spotted-ts';
|
|
4
|
+
export declare const metadata: Metadata;
|
|
5
|
+
export declare const tool: Tool;
|
|
6
|
+
export declare const handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
7
|
+
declare const _default: {
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
tool: {
|
|
10
|
+
[x: string]: unknown;
|
|
11
|
+
name: string;
|
|
12
|
+
inputSchema: {
|
|
13
|
+
[x: string]: unknown;
|
|
14
|
+
type: "object";
|
|
15
|
+
properties?: {
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
} | undefined;
|
|
18
|
+
required?: string[] | undefined;
|
|
19
|
+
};
|
|
20
|
+
title?: string | undefined;
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
outputSchema?: {
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
type: "object";
|
|
25
|
+
properties?: {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
} | undefined;
|
|
28
|
+
required?: string[] | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
annotations?: {
|
|
31
|
+
[x: string]: unknown;
|
|
32
|
+
title?: string | undefined;
|
|
33
|
+
readOnlyHint?: boolean | undefined;
|
|
34
|
+
destructiveHint?: boolean | undefined;
|
|
35
|
+
idempotentHint?: boolean | undefined;
|
|
36
|
+
openWorldHint?: boolean | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
_meta?: {
|
|
39
|
+
[x: string]: unknown;
|
|
40
|
+
} | undefined;
|
|
41
|
+
};
|
|
42
|
+
handler: (client: Spotted, args: Record<string, unknown> | undefined) => Promise<import("spotted-ts-mcp/tools/types").ToolCallResult>;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=list-audiobooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audiobooks.d.ts","sourceRoot":"","sources":["../../src/tools/audiobooks/list-audiobooks.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B;OAEnE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,OAAO,MAAM,YAAY;AAEhC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IA+BlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAGvF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHoC,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAKxF,wBAA2C"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.handler = exports.tool = exports.metadata = void 0;
|
|
5
|
+
const filtering_1 = require("spotted-ts-mcp/filtering");
|
|
6
|
+
const types_1 = require("spotted-ts-mcp/tools/types");
|
|
7
|
+
exports.metadata = {
|
|
8
|
+
resource: 'audiobooks',
|
|
9
|
+
operation: 'read',
|
|
10
|
+
tags: [],
|
|
11
|
+
httpMethod: 'get',
|
|
12
|
+
httpPath: '/audiobooks',
|
|
13
|
+
operationId: 'get-multiple-audiobooks',
|
|
14
|
+
};
|
|
15
|
+
exports.tool = {
|
|
16
|
+
name: 'list_audiobooks',
|
|
17
|
+
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet Spotify catalog information for several audiobooks identified by their Spotify IDs. Audiobooks are only available within the US, UK, Canada, Ireland, New Zealand and Australia markets.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/audiobook_list_response',\n $defs: {\n audiobook_list_response: {\n type: 'object',\n properties: {\n audiobooks: {\n type: 'array',\n items: {\n allOf: [ {\n $ref: '#/$defs/audiobook_base'\n }\n ]\n }\n }\n },\n required: [ 'audiobooks'\n ]\n },\n audiobook_base: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the audiobook.\\n'\n },\n authors: {\n type: 'array',\n description: 'The author(s) for the audiobook.\\n',\n items: {\n $ref: '#/$defs/author_object'\n }\n },\n available_markets: {\n type: 'array',\n description: 'A list of the countries in which the audiobook can be played, identified by their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.\\n',\n items: {\n type: 'string'\n }\n },\n copyrights: {\n type: 'array',\n description: 'The copyright statements of the audiobook.\\n',\n items: {\n $ref: '#/$defs/copyright_object'\n }\n },\n description: {\n type: 'string',\n description: 'A description of the audiobook. HTML tags are stripped away from this field, use `html_description` field in case HTML tags are needed.\\n'\n },\n explicit: {\n type: 'boolean',\n description: 'Whether or not the audiobook has explicit content (true = yes it does; false = no it does not OR unknown).\\n'\n },\n external_urls: {\n $ref: '#/$defs/external_url_object'\n },\n href: {\n type: 'string',\n description: 'A link to the Web API endpoint providing full details of the audiobook.\\n'\n },\n html_description: {\n type: 'string',\n description: 'A description of the audiobook. This field may contain HTML tags.\\n'\n },\n images: {\n type: 'array',\n description: 'The cover art for the audiobook in various sizes, widest first.\\n',\n items: {\n $ref: '#/$defs/image_object'\n }\n },\n languages: {\n type: 'array',\n description: 'A list of the languages used in the audiobook, identified by their [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.\\n',\n items: {\n type: 'string'\n }\n },\n media_type: {\n type: 'string',\n description: 'The media type of the audiobook.\\n'\n },\n name: {\n type: 'string',\n description: 'The name of the audiobook.\\n'\n },\n narrators: {\n type: 'array',\n description: 'The narrator(s) for the audiobook.\\n',\n items: {\n $ref: '#/$defs/narrator_object'\n }\n },\n publisher: {\n type: 'string',\n description: 'The publisher of the audiobook.\\n'\n },\n total_chapters: {\n type: 'integer',\n description: 'The number of chapters in this audiobook.\\n'\n },\n type: {\n type: 'string',\n description: 'The object type.',\n enum: [ 'audiobook'\n ]\n },\n uri: {\n type: 'string',\n description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the audiobook.\\n'\n },\n edition: {\n type: 'string',\n description: 'The edition of the audiobook.\\n'\n }\n },\n required: [ 'id',\n 'authors',\n 'available_markets',\n 'copyrights',\n 'description',\n 'explicit',\n 'external_urls',\n 'href',\n 'html_description',\n 'images',\n 'languages',\n 'media_type',\n 'name',\n 'narrators',\n 'publisher',\n 'total_chapters',\n 'type',\n 'uri'\n ]\n },\n author_object: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the author.\\n'\n }\n }\n },\n copyright_object: {\n type: 'object',\n properties: {\n text: {\n type: 'string',\n description: 'The copyright text for this content.\\n'\n },\n type: {\n type: 'string',\n description: 'The type of copyright: `C` = the copyright, `P` = the sound recording (performance) copyright.\\n'\n }\n }\n },\n external_url_object: {\n type: 'object',\n properties: {\n spotify: {\n type: 'string',\n description: 'The [Spotify URL](/documentation/web-api/concepts/spotify-uris-ids) for the object.\\n'\n }\n }\n },\n image_object: {\n type: 'object',\n properties: {\n height: {\n type: 'integer',\n description: 'The image height in pixels.\\n'\n },\n url: {\n type: 'string',\n description: 'The source URL of the image.\\n'\n },\n width: {\n type: 'integer',\n description: 'The image width in pixels.\\n'\n }\n },\n required: [ 'height',\n 'url',\n 'width'\n ]\n },\n narrator_object: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the Narrator.\\n'\n }\n }\n }\n }\n}\n```",
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
ids: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
title: 'Spotify Audiobook IDs',
|
|
24
|
+
description: 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `ids=18yVqkdbdRvS24c0Ilj2ci,1HGw3J3NxZO1TP1BTtVhpZ`. Maximum: 50 IDs.\n',
|
|
25
|
+
},
|
|
26
|
+
market: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
title: 'Market',
|
|
29
|
+
description: 'An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).\n If a country code is specified, only content that is available in that market will be returned.<br/>\n If a valid user access token is specified in the request header, the country associated with\n the user account will take priority over this parameter.<br/>\n _**Note**: If neither market or user country are provided, the content is considered unavailable for the client._<br/>\n Users can view the country that is associated with their account in the [account settings](https://www.spotify.com/account/overview/).\n',
|
|
30
|
+
},
|
|
31
|
+
jq_filter: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
title: 'jq Filter',
|
|
34
|
+
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
required: ['ids'],
|
|
38
|
+
},
|
|
39
|
+
annotations: {
|
|
40
|
+
readOnlyHint: true,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
const handler = async (client, args) => {
|
|
44
|
+
const { jq_filter, ...body } = args;
|
|
45
|
+
return (0, types_1.asTextContentResult)(await (0, filtering_1.maybeFilter)(jq_filter, await client.audiobooks.list(body)));
|
|
46
|
+
};
|
|
47
|
+
exports.handler = handler;
|
|
48
|
+
exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
|
|
49
|
+
//# sourceMappingURL=list-audiobooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audiobooks.js","sourceRoot":"","sources":["../../src/tools/audiobooks/list-audiobooks.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,wDAAuD;AACvD,sDAA2E;AAK9D,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,yBAAyB;CACvC,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,wkMAAwkM;IAC1kM,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EACT,qLAAqL;aACxL;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EACT,wmBAAwmB;aAC3mB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAe,EAAE,IAAyC,EAAE,EAAE;IAC1F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC3C,OAAO,IAAA,2BAAmB,EAAC,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
|