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.
Files changed (954) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +440 -0
  3. package/code-tool-paths.cjs +6 -0
  4. package/code-tool-paths.cjs.map +1 -0
  5. package/code-tool-paths.d.cts +2 -0
  6. package/code-tool-paths.d.cts.map +1 -0
  7. package/code-tool-types.d.mts +14 -0
  8. package/code-tool-types.d.mts.map +1 -0
  9. package/code-tool-types.d.ts +14 -0
  10. package/code-tool-types.d.ts.map +1 -0
  11. package/code-tool-types.js +4 -0
  12. package/code-tool-types.js.map +1 -0
  13. package/code-tool-types.mjs +3 -0
  14. package/code-tool-types.mjs.map +1 -0
  15. package/code-tool-worker.d.mts +5 -0
  16. package/code-tool-worker.d.mts.map +1 -0
  17. package/code-tool-worker.d.ts +5 -0
  18. package/code-tool-worker.d.ts.map +1 -0
  19. package/code-tool-worker.js +237 -0
  20. package/code-tool-worker.js.map +1 -0
  21. package/code-tool-worker.mjs +232 -0
  22. package/code-tool-worker.mjs.map +1 -0
  23. package/code-tool.d.mts +12 -0
  24. package/code-tool.d.mts.map +1 -0
  25. package/code-tool.d.ts +12 -0
  26. package/code-tool.d.ts.map +1 -0
  27. package/code-tool.js +156 -0
  28. package/code-tool.js.map +1 -0
  29. package/code-tool.mjs +120 -0
  30. package/code-tool.mjs.map +1 -0
  31. package/compat.d.mts +58 -0
  32. package/compat.d.mts.map +1 -0
  33. package/compat.d.ts +58 -0
  34. package/compat.d.ts.map +1 -0
  35. package/compat.js +387 -0
  36. package/compat.js.map +1 -0
  37. package/compat.mjs +378 -0
  38. package/compat.mjs.map +1 -0
  39. package/docs-search-tool.d.mts +44 -0
  40. package/docs-search-tool.d.mts.map +1 -0
  41. package/docs-search-tool.d.ts +44 -0
  42. package/docs-search-tool.d.ts.map +1 -0
  43. package/docs-search-tool.js +43 -0
  44. package/docs-search-tool.js.map +1 -0
  45. package/docs-search-tool.mjs +39 -0
  46. package/docs-search-tool.mjs.map +1 -0
  47. package/dynamic-tools.d.mts +12 -0
  48. package/dynamic-tools.d.mts.map +1 -0
  49. package/dynamic-tools.d.ts +12 -0
  50. package/dynamic-tools.d.ts.map +1 -0
  51. package/dynamic-tools.js +135 -0
  52. package/dynamic-tools.js.map +1 -0
  53. package/dynamic-tools.mjs +132 -0
  54. package/dynamic-tools.mjs.map +1 -0
  55. package/filtering.d.mts +2 -0
  56. package/filtering.d.mts.map +1 -0
  57. package/filtering.d.ts +2 -0
  58. package/filtering.d.ts.map +1 -0
  59. package/filtering.js +20 -0
  60. package/filtering.js.map +1 -0
  61. package/filtering.mjs +13 -0
  62. package/filtering.mjs.map +1 -0
  63. package/headers.d.mts +4 -0
  64. package/headers.d.mts.map +1 -0
  65. package/headers.d.ts +4 -0
  66. package/headers.d.ts.map +1 -0
  67. package/headers.js +9 -0
  68. package/headers.js.map +1 -0
  69. package/headers.mjs +5 -0
  70. package/headers.mjs.map +1 -0
  71. package/http.d.mts +9 -0
  72. package/http.d.mts.map +1 -0
  73. package/http.d.ts +9 -0
  74. package/http.d.ts.map +1 -0
  75. package/http.js +108 -0
  76. package/http.js.map +1 -0
  77. package/http.mjs +100 -0
  78. package/http.mjs.map +1 -0
  79. package/index.d.mts +3 -0
  80. package/index.d.mts.map +1 -0
  81. package/index.d.ts +3 -0
  82. package/index.d.ts.map +1 -0
  83. package/index.js +91 -0
  84. package/index.js.map +1 -0
  85. package/index.mjs +89 -0
  86. package/index.mjs.map +1 -0
  87. package/options.d.mts +20 -0
  88. package/options.d.mts.map +1 -0
  89. package/options.d.ts +20 -0
  90. package/options.d.ts.map +1 -0
  91. package/options.js +427 -0
  92. package/options.js.map +1 -0
  93. package/options.mjs +420 -0
  94. package/options.mjs.map +1 -0
  95. package/package.json +218 -0
  96. package/server.d.mts +35 -0
  97. package/server.d.mts.map +1 -0
  98. package/server.d.ts +35 -0
  99. package/server.d.ts.map +1 -0
  100. package/server.js +174 -0
  101. package/server.js.map +1 -0
  102. package/server.mjs +160 -0
  103. package/server.mjs.map +1 -0
  104. package/src/code-tool-paths.cts +3 -0
  105. package/src/code-tool-types.ts +14 -0
  106. package/src/code-tool-worker.ts +283 -0
  107. package/src/code-tool.ts +148 -0
  108. package/src/compat.ts +483 -0
  109. package/src/docs-search-tool.ts +48 -0
  110. package/src/dynamic-tools.ts +153 -0
  111. package/src/filtering.ts +14 -0
  112. package/src/headers.ts +8 -0
  113. package/src/http.ts +127 -0
  114. package/src/index.ts +108 -0
  115. package/src/options.ts +473 -0
  116. package/src/server.ts +207 -0
  117. package/src/stdio.ts +13 -0
  118. package/src/tools/albums/bulk-retrieve-albums.ts +48 -0
  119. package/src/tools/albums/list-tracks-albums.ts +67 -0
  120. package/src/tools/albums/retrieve-albums.ts +47 -0
  121. package/src/tools/artists/list-albums-artists.ts +73 -0
  122. package/src/tools/artists/list-artists.ts +50 -0
  123. package/src/tools/artists/list-related-artists-artists.ts +49 -0
  124. package/src/tools/artists/list-top-tracks-artists.ts +47 -0
  125. package/src/tools/artists/retrieve-artists.ts +49 -0
  126. package/src/tools/audio-analysis/retrieve-audio-analysis.ts +42 -0
  127. package/src/tools/audio-features/list-audio-features.ts +50 -0
  128. package/src/tools/audio-features/retrieve-audio-features.ts +49 -0
  129. package/src/tools/audiobooks/list-audiobooks.ts +56 -0
  130. package/src/tools/audiobooks/list-chapters-audiobooks.ts +68 -0
  131. package/src/tools/audiobooks/retrieve-audiobooks.ts +56 -0
  132. package/src/tools/browse/categories/get-playlists-browse-categories.ts +63 -0
  133. package/src/tools/browse/categories/list-browse-categories.ts +61 -0
  134. package/src/tools/browse/categories/retrieve-browse-categories.ts +58 -0
  135. package/src/tools/browse/get-featured-playlists-browse.ts +61 -0
  136. package/src/tools/browse/get-new-releases-browse.ts +55 -0
  137. package/src/tools/chapters/list-chapters.ts +49 -0
  138. package/src/tools/chapters/retrieve-chapters.ts +48 -0
  139. package/src/tools/episodes/list-episodes.ts +48 -0
  140. package/src/tools/episodes/retrieve-episodes.ts +47 -0
  141. package/src/tools/index.ts +247 -0
  142. package/src/tools/markets/list-markets.ts +44 -0
  143. package/src/tools/me/albums/check-me-albums.ts +50 -0
  144. package/src/tools/me/albums/list-me-albums.ts +54 -0
  145. package/src/tools/me/albums/remove-me-albums.ts +45 -0
  146. package/src/tools/me/albums/save-me-albums.ts +45 -0
  147. package/src/tools/me/audiobooks/check-me-audiobooks.ts +50 -0
  148. package/src/tools/me/audiobooks/list-me-audiobooks.ts +56 -0
  149. package/src/tools/me/audiobooks/remove-me-audiobooks.ts +43 -0
  150. package/src/tools/me/audiobooks/save-me-audiobooks.ts +43 -0
  151. package/src/tools/me/episodes/check-me-episodes.ts +50 -0
  152. package/src/tools/me/episodes/list-me-episodes.ts +55 -0
  153. package/src/tools/me/episodes/remove-me-episodes.ts +46 -0
  154. package/src/tools/me/episodes/save-me-episodes.ts +46 -0
  155. package/src/tools/me/following/check-me-following.ts +56 -0
  156. package/src/tools/me/following/follow-me-following.ts +45 -0
  157. package/src/tools/me/following/list-me-following.ts +60 -0
  158. package/src/tools/me/following/unfollow-me-following.ts +45 -0
  159. package/src/tools/me/player/get-currently-playing-me-player.ts +48 -0
  160. package/src/tools/me/player/get-devices-me-player.ts +44 -0
  161. package/src/tools/me/player/get-state-me-player.ts +49 -0
  162. package/src/tools/me/player/list-recently-played-me-player.ts +55 -0
  163. package/src/tools/me/player/pause-playback-me-player.ts +44 -0
  164. package/src/tools/me/player/queue/add-player-me-queue.ts +47 -0
  165. package/src/tools/me/player/queue/get-player-me-queue.ts +34 -0
  166. package/src/tools/me/player/seek-to-position-me-player.ts +50 -0
  167. package/src/tools/me/player/set-repeat-mode-me-player.ts +50 -0
  168. package/src/tools/me/player/set-volume-me-player.ts +49 -0
  169. package/src/tools/me/player/skip-next-me-player.ts +42 -0
  170. package/src/tools/me/player/skip-previous-me-player.ts +42 -0
  171. package/src/tools/me/player/start-playback-me-player.ts +68 -0
  172. package/src/tools/me/player/toggle-shuffle-me-player.ts +50 -0
  173. package/src/tools/me/player/transfer-me-player.ts +51 -0
  174. package/src/tools/me/playlists/list-me-playlists.ts +56 -0
  175. package/src/tools/me/retrieve-me.ts +44 -0
  176. package/src/tools/me/shows/check-me-shows.ts +50 -0
  177. package/src/tools/me/shows/list-me-shows.ts +56 -0
  178. package/src/tools/me/shows/remove-me-shows.ts +45 -0
  179. package/src/tools/me/shows/save-me-shows.ts +45 -0
  180. package/src/tools/me/top/list-top-artists-me-top.ts +62 -0
  181. package/src/tools/me/top/list-top-tracks-me-top.ts +54 -0
  182. package/src/tools/me/tracks/check-me-tracks.ts +50 -0
  183. package/src/tools/me/tracks/list-me-tracks.ts +54 -0
  184. package/src/tools/me/tracks/remove-me-tracks.ts +45 -0
  185. package/src/tools/me/tracks/save-me-tracks.ts +67 -0
  186. package/src/tools/playlists/followers/check-playlists-followers.ts +57 -0
  187. package/src/tools/playlists/followers/follow-playlists-followers.ts +47 -0
  188. package/src/tools/playlists/followers/unfollow-playlists-followers.ts +42 -0
  189. package/src/tools/playlists/images/list-playlists-images.ts +49 -0
  190. package/src/tools/playlists/images/update-playlists-images.ts +46 -0
  191. package/src/tools/playlists/retrieve-playlists.ts +59 -0
  192. package/src/tools/playlists/tracks/add-playlists-tracks.ts +62 -0
  193. package/src/tools/playlists/tracks/list-playlists-tracks.ts +71 -0
  194. package/src/tools/playlists/tracks/remove-playlists-tracks.ts +70 -0
  195. package/src/tools/playlists/tracks/update-playlists-tracks.ts +75 -0
  196. package/src/tools/playlists/update-playlists.ts +61 -0
  197. package/src/tools/recommendations/get-recommendations.ts +317 -0
  198. package/src/tools/recommendations/list-available-genre-seeds-recommendations.ts +46 -0
  199. package/src/tools/search/retrieve-search.ts +77 -0
  200. package/src/tools/shows/list-episodes-shows.ts +67 -0
  201. package/src/tools/shows/list-shows.ts +56 -0
  202. package/src/tools/shows/retrieve-shows.ts +55 -0
  203. package/src/tools/tracks/list-tracks.ts +48 -0
  204. package/src/tools/tracks/retrieve-tracks.ts +47 -0
  205. package/src/tools/types.ts +103 -0
  206. package/src/tools/users/playlists/create-users-playlists.ts +59 -0
  207. package/src/tools/users/playlists/list-users-playlists.ts +61 -0
  208. package/src/tools/users/retrieve-profile-users.ts +49 -0
  209. package/src/tools.ts +1 -0
  210. package/src/tsconfig.json +11 -0
  211. package/stdio.d.mts +3 -0
  212. package/stdio.d.mts.map +1 -0
  213. package/stdio.d.ts +3 -0
  214. package/stdio.d.ts.map +1 -0
  215. package/stdio.js +14 -0
  216. package/stdio.js.map +1 -0
  217. package/stdio.mjs +10 -0
  218. package/stdio.mjs.map +1 -0
  219. package/tools/albums/bulk-retrieve-albums.d.mts +45 -0
  220. package/tools/albums/bulk-retrieve-albums.d.mts.map +1 -0
  221. package/tools/albums/bulk-retrieve-albums.d.ts +45 -0
  222. package/tools/albums/bulk-retrieve-albums.d.ts.map +1 -0
  223. package/tools/albums/bulk-retrieve-albums.js +43 -0
  224. package/tools/albums/bulk-retrieve-albums.js.map +1 -0
  225. package/tools/albums/bulk-retrieve-albums.mjs +39 -0
  226. package/tools/albums/bulk-retrieve-albums.mjs.map +1 -0
  227. package/tools/albums/list-tracks-albums.d.mts +45 -0
  228. package/tools/albums/list-tracks-albums.d.mts.map +1 -0
  229. package/tools/albums/list-tracks-albums.d.ts +45 -0
  230. package/tools/albums/list-tracks-albums.d.ts.map +1 -0
  231. package/tools/albums/list-tracks-albums.js +60 -0
  232. package/tools/albums/list-tracks-albums.js.map +1 -0
  233. package/tools/albums/list-tracks-albums.mjs +56 -0
  234. package/tools/albums/list-tracks-albums.mjs.map +1 -0
  235. package/tools/albums/retrieve-albums.d.mts +45 -0
  236. package/tools/albums/retrieve-albums.d.mts.map +1 -0
  237. package/tools/albums/retrieve-albums.d.ts +45 -0
  238. package/tools/albums/retrieve-albums.d.ts.map +1 -0
  239. package/tools/albums/retrieve-albums.js +43 -0
  240. package/tools/albums/retrieve-albums.js.map +1 -0
  241. package/tools/albums/retrieve-albums.mjs +39 -0
  242. package/tools/albums/retrieve-albums.mjs.map +1 -0
  243. package/tools/artists/list-albums-artists.d.mts +45 -0
  244. package/tools/artists/list-albums-artists.d.mts.map +1 -0
  245. package/tools/artists/list-albums-artists.d.ts +45 -0
  246. package/tools/artists/list-albums-artists.d.ts.map +1 -0
  247. package/tools/artists/list-albums-artists.js +65 -0
  248. package/tools/artists/list-albums-artists.js.map +1 -0
  249. package/tools/artists/list-albums-artists.mjs +61 -0
  250. package/tools/artists/list-albums-artists.mjs.map +1 -0
  251. package/tools/artists/list-artists.d.mts +45 -0
  252. package/tools/artists/list-artists.d.mts.map +1 -0
  253. package/tools/artists/list-artists.d.ts +45 -0
  254. package/tools/artists/list-artists.d.ts.map +1 -0
  255. package/tools/artists/list-artists.js +44 -0
  256. package/tools/artists/list-artists.js.map +1 -0
  257. package/tools/artists/list-artists.mjs +40 -0
  258. package/tools/artists/list-artists.mjs.map +1 -0
  259. package/tools/artists/list-related-artists-artists.d.mts +45 -0
  260. package/tools/artists/list-related-artists-artists.d.mts.map +1 -0
  261. package/tools/artists/list-related-artists-artists.d.ts +45 -0
  262. package/tools/artists/list-related-artists-artists.d.ts.map +1 -0
  263. package/tools/artists/list-related-artists-artists.js +44 -0
  264. package/tools/artists/list-related-artists-artists.js.map +1 -0
  265. package/tools/artists/list-related-artists-artists.mjs +40 -0
  266. package/tools/artists/list-related-artists-artists.mjs.map +1 -0
  267. package/tools/artists/list-top-tracks-artists.d.mts +45 -0
  268. package/tools/artists/list-top-tracks-artists.d.mts.map +1 -0
  269. package/tools/artists/list-top-tracks-artists.d.ts +45 -0
  270. package/tools/artists/list-top-tracks-artists.d.ts.map +1 -0
  271. package/tools/artists/list-top-tracks-artists.js +43 -0
  272. package/tools/artists/list-top-tracks-artists.js.map +1 -0
  273. package/tools/artists/list-top-tracks-artists.mjs +39 -0
  274. package/tools/artists/list-top-tracks-artists.mjs.map +1 -0
  275. package/tools/artists/retrieve-artists.d.mts +45 -0
  276. package/tools/artists/retrieve-artists.d.mts.map +1 -0
  277. package/tools/artists/retrieve-artists.d.ts +45 -0
  278. package/tools/artists/retrieve-artists.d.ts.map +1 -0
  279. package/tools/artists/retrieve-artists.js +44 -0
  280. package/tools/artists/retrieve-artists.js.map +1 -0
  281. package/tools/artists/retrieve-artists.mjs +40 -0
  282. package/tools/artists/retrieve-artists.mjs.map +1 -0
  283. package/tools/audio-analysis/retrieve-audio-analysis.d.mts +45 -0
  284. package/tools/audio-analysis/retrieve-audio-analysis.d.mts.map +1 -0
  285. package/tools/audio-analysis/retrieve-audio-analysis.d.ts +45 -0
  286. package/tools/audio-analysis/retrieve-audio-analysis.d.ts.map +1 -0
  287. package/tools/audio-analysis/retrieve-audio-analysis.js +38 -0
  288. package/tools/audio-analysis/retrieve-audio-analysis.js.map +1 -0
  289. package/tools/audio-analysis/retrieve-audio-analysis.mjs +34 -0
  290. package/tools/audio-analysis/retrieve-audio-analysis.mjs.map +1 -0
  291. package/tools/audio-features/list-audio-features.d.mts +45 -0
  292. package/tools/audio-features/list-audio-features.d.mts.map +1 -0
  293. package/tools/audio-features/list-audio-features.d.ts +45 -0
  294. package/tools/audio-features/list-audio-features.d.ts.map +1 -0
  295. package/tools/audio-features/list-audio-features.js +44 -0
  296. package/tools/audio-features/list-audio-features.js.map +1 -0
  297. package/tools/audio-features/list-audio-features.mjs +40 -0
  298. package/tools/audio-features/list-audio-features.mjs.map +1 -0
  299. package/tools/audio-features/retrieve-audio-features.d.mts +45 -0
  300. package/tools/audio-features/retrieve-audio-features.d.mts.map +1 -0
  301. package/tools/audio-features/retrieve-audio-features.d.ts +45 -0
  302. package/tools/audio-features/retrieve-audio-features.d.ts.map +1 -0
  303. package/tools/audio-features/retrieve-audio-features.js +44 -0
  304. package/tools/audio-features/retrieve-audio-features.js.map +1 -0
  305. package/tools/audio-features/retrieve-audio-features.mjs +40 -0
  306. package/tools/audio-features/retrieve-audio-features.mjs.map +1 -0
  307. package/tools/audiobooks/list-audiobooks.d.mts +45 -0
  308. package/tools/audiobooks/list-audiobooks.d.mts.map +1 -0
  309. package/tools/audiobooks/list-audiobooks.d.ts +45 -0
  310. package/tools/audiobooks/list-audiobooks.d.ts.map +1 -0
  311. package/tools/audiobooks/list-audiobooks.js +49 -0
  312. package/tools/audiobooks/list-audiobooks.js.map +1 -0
  313. package/tools/audiobooks/list-audiobooks.mjs +45 -0
  314. package/tools/audiobooks/list-audiobooks.mjs.map +1 -0
  315. package/tools/audiobooks/list-chapters-audiobooks.d.mts +45 -0
  316. package/tools/audiobooks/list-chapters-audiobooks.d.mts.map +1 -0
  317. package/tools/audiobooks/list-chapters-audiobooks.d.ts +45 -0
  318. package/tools/audiobooks/list-chapters-audiobooks.d.ts.map +1 -0
  319. package/tools/audiobooks/list-chapters-audiobooks.js +60 -0
  320. package/tools/audiobooks/list-chapters-audiobooks.js.map +1 -0
  321. package/tools/audiobooks/list-chapters-audiobooks.mjs +56 -0
  322. package/tools/audiobooks/list-chapters-audiobooks.mjs.map +1 -0
  323. package/tools/audiobooks/retrieve-audiobooks.d.mts +45 -0
  324. package/tools/audiobooks/retrieve-audiobooks.d.mts.map +1 -0
  325. package/tools/audiobooks/retrieve-audiobooks.d.ts +45 -0
  326. package/tools/audiobooks/retrieve-audiobooks.d.ts.map +1 -0
  327. package/tools/audiobooks/retrieve-audiobooks.js +49 -0
  328. package/tools/audiobooks/retrieve-audiobooks.js.map +1 -0
  329. package/tools/audiobooks/retrieve-audiobooks.mjs +45 -0
  330. package/tools/audiobooks/retrieve-audiobooks.mjs.map +1 -0
  331. package/tools/browse/categories/get-playlists-browse-categories.d.mts +45 -0
  332. package/tools/browse/categories/get-playlists-browse-categories.d.mts.map +1 -0
  333. package/tools/browse/categories/get-playlists-browse-categories.d.ts +45 -0
  334. package/tools/browse/categories/get-playlists-browse-categories.d.ts.map +1 -0
  335. package/tools/browse/categories/get-playlists-browse-categories.js +54 -0
  336. package/tools/browse/categories/get-playlists-browse-categories.js.map +1 -0
  337. package/tools/browse/categories/get-playlists-browse-categories.mjs +50 -0
  338. package/tools/browse/categories/get-playlists-browse-categories.mjs.map +1 -0
  339. package/tools/browse/categories/list-browse-categories.d.mts +45 -0
  340. package/tools/browse/categories/list-browse-categories.d.mts.map +1 -0
  341. package/tools/browse/categories/list-browse-categories.d.ts +45 -0
  342. package/tools/browse/categories/list-browse-categories.d.ts.map +1 -0
  343. package/tools/browse/categories/list-browse-categories.js +54 -0
  344. package/tools/browse/categories/list-browse-categories.js.map +1 -0
  345. package/tools/browse/categories/list-browse-categories.mjs +50 -0
  346. package/tools/browse/categories/list-browse-categories.mjs.map +1 -0
  347. package/tools/browse/categories/retrieve-browse-categories.d.mts +45 -0
  348. package/tools/browse/categories/retrieve-browse-categories.d.mts.map +1 -0
  349. package/tools/browse/categories/retrieve-browse-categories.d.ts +45 -0
  350. package/tools/browse/categories/retrieve-browse-categories.d.ts.map +1 -0
  351. package/tools/browse/categories/retrieve-browse-categories.js +49 -0
  352. package/tools/browse/categories/retrieve-browse-categories.js.map +1 -0
  353. package/tools/browse/categories/retrieve-browse-categories.mjs +45 -0
  354. package/tools/browse/categories/retrieve-browse-categories.mjs.map +1 -0
  355. package/tools/browse/get-featured-playlists-browse.d.mts +45 -0
  356. package/tools/browse/get-featured-playlists-browse.d.mts.map +1 -0
  357. package/tools/browse/get-featured-playlists-browse.d.ts +45 -0
  358. package/tools/browse/get-featured-playlists-browse.d.ts.map +1 -0
  359. package/tools/browse/get-featured-playlists-browse.js +54 -0
  360. package/tools/browse/get-featured-playlists-browse.js.map +1 -0
  361. package/tools/browse/get-featured-playlists-browse.mjs +50 -0
  362. package/tools/browse/get-featured-playlists-browse.mjs.map +1 -0
  363. package/tools/browse/get-new-releases-browse.d.mts +45 -0
  364. package/tools/browse/get-new-releases-browse.d.mts.map +1 -0
  365. package/tools/browse/get-new-releases-browse.d.ts +45 -0
  366. package/tools/browse/get-new-releases-browse.d.ts.map +1 -0
  367. package/tools/browse/get-new-releases-browse.js +49 -0
  368. package/tools/browse/get-new-releases-browse.js.map +1 -0
  369. package/tools/browse/get-new-releases-browse.mjs +45 -0
  370. package/tools/browse/get-new-releases-browse.mjs.map +1 -0
  371. package/tools/chapters/list-chapters.d.mts +45 -0
  372. package/tools/chapters/list-chapters.d.mts.map +1 -0
  373. package/tools/chapters/list-chapters.d.ts +45 -0
  374. package/tools/chapters/list-chapters.d.ts.map +1 -0
  375. package/tools/chapters/list-chapters.js +43 -0
  376. package/tools/chapters/list-chapters.js.map +1 -0
  377. package/tools/chapters/list-chapters.mjs +39 -0
  378. package/tools/chapters/list-chapters.mjs.map +1 -0
  379. package/tools/chapters/retrieve-chapters.d.mts +45 -0
  380. package/tools/chapters/retrieve-chapters.d.mts.map +1 -0
  381. package/tools/chapters/retrieve-chapters.d.ts +45 -0
  382. package/tools/chapters/retrieve-chapters.d.ts.map +1 -0
  383. package/tools/chapters/retrieve-chapters.js +43 -0
  384. package/tools/chapters/retrieve-chapters.js.map +1 -0
  385. package/tools/chapters/retrieve-chapters.mjs +39 -0
  386. package/tools/chapters/retrieve-chapters.mjs.map +1 -0
  387. package/tools/episodes/list-episodes.d.mts +45 -0
  388. package/tools/episodes/list-episodes.d.mts.map +1 -0
  389. package/tools/episodes/list-episodes.d.ts +45 -0
  390. package/tools/episodes/list-episodes.d.ts.map +1 -0
  391. package/tools/episodes/list-episodes.js +43 -0
  392. package/tools/episodes/list-episodes.js.map +1 -0
  393. package/tools/episodes/list-episodes.mjs +39 -0
  394. package/tools/episodes/list-episodes.mjs.map +1 -0
  395. package/tools/episodes/retrieve-episodes.d.mts +45 -0
  396. package/tools/episodes/retrieve-episodes.d.mts.map +1 -0
  397. package/tools/episodes/retrieve-episodes.d.ts +45 -0
  398. package/tools/episodes/retrieve-episodes.d.ts.map +1 -0
  399. package/tools/episodes/retrieve-episodes.js +43 -0
  400. package/tools/episodes/retrieve-episodes.js.map +1 -0
  401. package/tools/episodes/retrieve-episodes.mjs +39 -0
  402. package/tools/episodes/retrieve-episodes.mjs.map +1 -0
  403. package/tools/index.d.mts +10 -0
  404. package/tools/index.d.mts.map +1 -0
  405. package/tools/index.d.ts +10 -0
  406. package/tools/index.d.ts.map +1 -0
  407. package/tools/index.js +231 -0
  408. package/tools/index.js.map +1 -0
  409. package/tools/index.mjs +224 -0
  410. package/tools/index.mjs.map +1 -0
  411. package/tools/markets/list-markets.d.mts +45 -0
  412. package/tools/markets/list-markets.d.mts.map +1 -0
  413. package/tools/markets/list-markets.d.ts +45 -0
  414. package/tools/markets/list-markets.d.ts.map +1 -0
  415. package/tools/markets/list-markets.js +39 -0
  416. package/tools/markets/list-markets.js.map +1 -0
  417. package/tools/markets/list-markets.mjs +35 -0
  418. package/tools/markets/list-markets.mjs.map +1 -0
  419. package/tools/me/albums/check-me-albums.d.mts +45 -0
  420. package/tools/me/albums/check-me-albums.d.mts.map +1 -0
  421. package/tools/me/albums/check-me-albums.d.ts +45 -0
  422. package/tools/me/albums/check-me-albums.d.ts.map +1 -0
  423. package/tools/me/albums/check-me-albums.js +44 -0
  424. package/tools/me/albums/check-me-albums.js.map +1 -0
  425. package/tools/me/albums/check-me-albums.mjs +40 -0
  426. package/tools/me/albums/check-me-albums.mjs.map +1 -0
  427. package/tools/me/albums/list-me-albums.d.mts +45 -0
  428. package/tools/me/albums/list-me-albums.d.mts.map +1 -0
  429. package/tools/me/albums/list-me-albums.d.ts +45 -0
  430. package/tools/me/albums/list-me-albums.d.ts.map +1 -0
  431. package/tools/me/albums/list-me-albums.js +49 -0
  432. package/tools/me/albums/list-me-albums.js.map +1 -0
  433. package/tools/me/albums/list-me-albums.mjs +45 -0
  434. package/tools/me/albums/list-me-albums.mjs.map +1 -0
  435. package/tools/me/albums/remove-me-albums.d.mts +45 -0
  436. package/tools/me/albums/remove-me-albums.d.mts.map +1 -0
  437. package/tools/me/albums/remove-me-albums.d.ts +45 -0
  438. package/tools/me/albums/remove-me-albums.d.ts.map +1 -0
  439. package/tools/me/albums/remove-me-albums.js +41 -0
  440. package/tools/me/albums/remove-me-albums.js.map +1 -0
  441. package/tools/me/albums/remove-me-albums.mjs +37 -0
  442. package/tools/me/albums/remove-me-albums.mjs.map +1 -0
  443. package/tools/me/albums/save-me-albums.d.mts +45 -0
  444. package/tools/me/albums/save-me-albums.d.mts.map +1 -0
  445. package/tools/me/albums/save-me-albums.d.ts +45 -0
  446. package/tools/me/albums/save-me-albums.d.ts.map +1 -0
  447. package/tools/me/albums/save-me-albums.js +41 -0
  448. package/tools/me/albums/save-me-albums.js.map +1 -0
  449. package/tools/me/albums/save-me-albums.mjs +37 -0
  450. package/tools/me/albums/save-me-albums.mjs.map +1 -0
  451. package/tools/me/audiobooks/check-me-audiobooks.d.mts +45 -0
  452. package/tools/me/audiobooks/check-me-audiobooks.d.mts.map +1 -0
  453. package/tools/me/audiobooks/check-me-audiobooks.d.ts +45 -0
  454. package/tools/me/audiobooks/check-me-audiobooks.d.ts.map +1 -0
  455. package/tools/me/audiobooks/check-me-audiobooks.js +44 -0
  456. package/tools/me/audiobooks/check-me-audiobooks.js.map +1 -0
  457. package/tools/me/audiobooks/check-me-audiobooks.mjs +40 -0
  458. package/tools/me/audiobooks/check-me-audiobooks.mjs.map +1 -0
  459. package/tools/me/audiobooks/list-me-audiobooks.d.mts +45 -0
  460. package/tools/me/audiobooks/list-me-audiobooks.d.mts.map +1 -0
  461. package/tools/me/audiobooks/list-me-audiobooks.d.ts +45 -0
  462. package/tools/me/audiobooks/list-me-audiobooks.d.ts.map +1 -0
  463. package/tools/me/audiobooks/list-me-audiobooks.js +50 -0
  464. package/tools/me/audiobooks/list-me-audiobooks.js.map +1 -0
  465. package/tools/me/audiobooks/list-me-audiobooks.mjs +46 -0
  466. package/tools/me/audiobooks/list-me-audiobooks.mjs.map +1 -0
  467. package/tools/me/audiobooks/remove-me-audiobooks.d.mts +45 -0
  468. package/tools/me/audiobooks/remove-me-audiobooks.d.mts.map +1 -0
  469. package/tools/me/audiobooks/remove-me-audiobooks.d.ts +45 -0
  470. package/tools/me/audiobooks/remove-me-audiobooks.d.ts.map +1 -0
  471. package/tools/me/audiobooks/remove-me-audiobooks.js +39 -0
  472. package/tools/me/audiobooks/remove-me-audiobooks.js.map +1 -0
  473. package/tools/me/audiobooks/remove-me-audiobooks.mjs +35 -0
  474. package/tools/me/audiobooks/remove-me-audiobooks.mjs.map +1 -0
  475. package/tools/me/audiobooks/save-me-audiobooks.d.mts +45 -0
  476. package/tools/me/audiobooks/save-me-audiobooks.d.mts.map +1 -0
  477. package/tools/me/audiobooks/save-me-audiobooks.d.ts +45 -0
  478. package/tools/me/audiobooks/save-me-audiobooks.d.ts.map +1 -0
  479. package/tools/me/audiobooks/save-me-audiobooks.js +39 -0
  480. package/tools/me/audiobooks/save-me-audiobooks.js.map +1 -0
  481. package/tools/me/audiobooks/save-me-audiobooks.mjs +35 -0
  482. package/tools/me/audiobooks/save-me-audiobooks.mjs.map +1 -0
  483. package/tools/me/episodes/check-me-episodes.d.mts +45 -0
  484. package/tools/me/episodes/check-me-episodes.d.mts.map +1 -0
  485. package/tools/me/episodes/check-me-episodes.d.ts +45 -0
  486. package/tools/me/episodes/check-me-episodes.d.ts.map +1 -0
  487. package/tools/me/episodes/check-me-episodes.js +44 -0
  488. package/tools/me/episodes/check-me-episodes.js.map +1 -0
  489. package/tools/me/episodes/check-me-episodes.mjs +40 -0
  490. package/tools/me/episodes/check-me-episodes.mjs.map +1 -0
  491. package/tools/me/episodes/list-me-episodes.d.mts +45 -0
  492. package/tools/me/episodes/list-me-episodes.d.mts.map +1 -0
  493. package/tools/me/episodes/list-me-episodes.d.ts +45 -0
  494. package/tools/me/episodes/list-me-episodes.d.ts.map +1 -0
  495. package/tools/me/episodes/list-me-episodes.js +49 -0
  496. package/tools/me/episodes/list-me-episodes.js.map +1 -0
  497. package/tools/me/episodes/list-me-episodes.mjs +45 -0
  498. package/tools/me/episodes/list-me-episodes.mjs.map +1 -0
  499. package/tools/me/episodes/remove-me-episodes.d.mts +45 -0
  500. package/tools/me/episodes/remove-me-episodes.d.mts.map +1 -0
  501. package/tools/me/episodes/remove-me-episodes.d.ts +45 -0
  502. package/tools/me/episodes/remove-me-episodes.d.ts.map +1 -0
  503. package/tools/me/episodes/remove-me-episodes.js +41 -0
  504. package/tools/me/episodes/remove-me-episodes.js.map +1 -0
  505. package/tools/me/episodes/remove-me-episodes.mjs +37 -0
  506. package/tools/me/episodes/remove-me-episodes.mjs.map +1 -0
  507. package/tools/me/episodes/save-me-episodes.d.mts +45 -0
  508. package/tools/me/episodes/save-me-episodes.d.mts.map +1 -0
  509. package/tools/me/episodes/save-me-episodes.d.ts +45 -0
  510. package/tools/me/episodes/save-me-episodes.d.ts.map +1 -0
  511. package/tools/me/episodes/save-me-episodes.js +41 -0
  512. package/tools/me/episodes/save-me-episodes.js.map +1 -0
  513. package/tools/me/episodes/save-me-episodes.mjs +37 -0
  514. package/tools/me/episodes/save-me-episodes.mjs.map +1 -0
  515. package/tools/me/following/check-me-following.d.mts +45 -0
  516. package/tools/me/following/check-me-following.d.mts.map +1 -0
  517. package/tools/me/following/check-me-following.d.ts +45 -0
  518. package/tools/me/following/check-me-following.d.ts.map +1 -0
  519. package/tools/me/following/check-me-following.js +50 -0
  520. package/tools/me/following/check-me-following.js.map +1 -0
  521. package/tools/me/following/check-me-following.mjs +46 -0
  522. package/tools/me/following/check-me-following.mjs.map +1 -0
  523. package/tools/me/following/follow-me-following.d.mts +45 -0
  524. package/tools/me/following/follow-me-following.d.mts.map +1 -0
  525. package/tools/me/following/follow-me-following.d.ts +45 -0
  526. package/tools/me/following/follow-me-following.d.ts.map +1 -0
  527. package/tools/me/following/follow-me-following.js +41 -0
  528. package/tools/me/following/follow-me-following.js.map +1 -0
  529. package/tools/me/following/follow-me-following.mjs +37 -0
  530. package/tools/me/following/follow-me-following.mjs.map +1 -0
  531. package/tools/me/following/list-me-following.d.mts +45 -0
  532. package/tools/me/following/list-me-following.d.mts.map +1 -0
  533. package/tools/me/following/list-me-following.d.ts +45 -0
  534. package/tools/me/following/list-me-following.d.ts.map +1 -0
  535. package/tools/me/following/list-me-following.js +55 -0
  536. package/tools/me/following/list-me-following.js.map +1 -0
  537. package/tools/me/following/list-me-following.mjs +51 -0
  538. package/tools/me/following/list-me-following.mjs.map +1 -0
  539. package/tools/me/following/unfollow-me-following.d.mts +45 -0
  540. package/tools/me/following/unfollow-me-following.d.mts.map +1 -0
  541. package/tools/me/following/unfollow-me-following.d.ts +45 -0
  542. package/tools/me/following/unfollow-me-following.d.ts.map +1 -0
  543. package/tools/me/following/unfollow-me-following.js +41 -0
  544. package/tools/me/following/unfollow-me-following.js.map +1 -0
  545. package/tools/me/following/unfollow-me-following.mjs +37 -0
  546. package/tools/me/following/unfollow-me-following.mjs.map +1 -0
  547. package/tools/me/player/get-currently-playing-me-player.d.mts +45 -0
  548. package/tools/me/player/get-currently-playing-me-player.d.mts.map +1 -0
  549. package/tools/me/player/get-currently-playing-me-player.d.ts +45 -0
  550. package/tools/me/player/get-currently-playing-me-player.d.ts.map +1 -0
  551. package/tools/me/player/get-currently-playing-me-player.js +43 -0
  552. package/tools/me/player/get-currently-playing-me-player.js.map +1 -0
  553. package/tools/me/player/get-currently-playing-me-player.mjs +39 -0
  554. package/tools/me/player/get-currently-playing-me-player.mjs.map +1 -0
  555. package/tools/me/player/get-devices-me-player.d.mts +45 -0
  556. package/tools/me/player/get-devices-me-player.d.mts.map +1 -0
  557. package/tools/me/player/get-devices-me-player.d.ts +45 -0
  558. package/tools/me/player/get-devices-me-player.d.ts.map +1 -0
  559. package/tools/me/player/get-devices-me-player.js +39 -0
  560. package/tools/me/player/get-devices-me-player.js.map +1 -0
  561. package/tools/me/player/get-devices-me-player.mjs +35 -0
  562. package/tools/me/player/get-devices-me-player.mjs.map +1 -0
  563. package/tools/me/player/get-state-me-player.d.mts +45 -0
  564. package/tools/me/player/get-state-me-player.d.mts.map +1 -0
  565. package/tools/me/player/get-state-me-player.d.ts +45 -0
  566. package/tools/me/player/get-state-me-player.d.ts.map +1 -0
  567. package/tools/me/player/get-state-me-player.js +43 -0
  568. package/tools/me/player/get-state-me-player.js.map +1 -0
  569. package/tools/me/player/get-state-me-player.mjs +39 -0
  570. package/tools/me/player/get-state-me-player.mjs.map +1 -0
  571. package/tools/me/player/list-recently-played-me-player.d.mts +45 -0
  572. package/tools/me/player/list-recently-played-me-player.d.mts.map +1 -0
  573. package/tools/me/player/list-recently-played-me-player.d.ts +45 -0
  574. package/tools/me/player/list-recently-played-me-player.d.ts.map +1 -0
  575. package/tools/me/player/list-recently-played-me-player.js +49 -0
  576. package/tools/me/player/list-recently-played-me-player.js.map +1 -0
  577. package/tools/me/player/list-recently-played-me-player.mjs +45 -0
  578. package/tools/me/player/list-recently-played-me-player.mjs.map +1 -0
  579. package/tools/me/player/pause-playback-me-player.d.mts +45 -0
  580. package/tools/me/player/pause-playback-me-player.d.mts.map +1 -0
  581. package/tools/me/player/pause-playback-me-player.d.ts +45 -0
  582. package/tools/me/player/pause-playback-me-player.d.ts.map +1 -0
  583. package/tools/me/player/pause-playback-me-player.js +39 -0
  584. package/tools/me/player/pause-playback-me-player.js.map +1 -0
  585. package/tools/me/player/pause-playback-me-player.mjs +35 -0
  586. package/tools/me/player/pause-playback-me-player.mjs.map +1 -0
  587. package/tools/me/player/queue/add-player-me-queue.d.mts +45 -0
  588. package/tools/me/player/queue/add-player-me-queue.d.mts.map +1 -0
  589. package/tools/me/player/queue/add-player-me-queue.d.ts +45 -0
  590. package/tools/me/player/queue/add-player-me-queue.d.ts.map +1 -0
  591. package/tools/me/player/queue/add-player-me-queue.js +42 -0
  592. package/tools/me/player/queue/add-player-me-queue.js.map +1 -0
  593. package/tools/me/player/queue/add-player-me-queue.mjs +38 -0
  594. package/tools/me/player/queue/add-player-me-queue.mjs.map +1 -0
  595. package/tools/me/player/queue/get-player-me-queue.d.mts +45 -0
  596. package/tools/me/player/queue/get-player-me-queue.d.mts.map +1 -0
  597. package/tools/me/player/queue/get-player-me-queue.d.ts +45 -0
  598. package/tools/me/player/queue/get-player-me-queue.d.ts.map +1 -0
  599. package/tools/me/player/queue/get-player-me-queue.js +31 -0
  600. package/tools/me/player/queue/get-player-me-queue.js.map +1 -0
  601. package/tools/me/player/queue/get-player-me-queue.mjs +27 -0
  602. package/tools/me/player/queue/get-player-me-queue.mjs.map +1 -0
  603. package/tools/me/player/seek-to-position-me-player.d.mts +45 -0
  604. package/tools/me/player/seek-to-position-me-player.d.mts.map +1 -0
  605. package/tools/me/player/seek-to-position-me-player.d.ts +45 -0
  606. package/tools/me/player/seek-to-position-me-player.d.ts.map +1 -0
  607. package/tools/me/player/seek-to-position-me-player.js +44 -0
  608. package/tools/me/player/seek-to-position-me-player.js.map +1 -0
  609. package/tools/me/player/seek-to-position-me-player.mjs +40 -0
  610. package/tools/me/player/seek-to-position-me-player.mjs.map +1 -0
  611. package/tools/me/player/set-repeat-mode-me-player.d.mts +45 -0
  612. package/tools/me/player/set-repeat-mode-me-player.d.mts.map +1 -0
  613. package/tools/me/player/set-repeat-mode-me-player.d.ts +45 -0
  614. package/tools/me/player/set-repeat-mode-me-player.d.ts.map +1 -0
  615. package/tools/me/player/set-repeat-mode-me-player.js +44 -0
  616. package/tools/me/player/set-repeat-mode-me-player.js.map +1 -0
  617. package/tools/me/player/set-repeat-mode-me-player.mjs +40 -0
  618. package/tools/me/player/set-repeat-mode-me-player.mjs.map +1 -0
  619. package/tools/me/player/set-volume-me-player.d.mts +45 -0
  620. package/tools/me/player/set-volume-me-player.d.mts.map +1 -0
  621. package/tools/me/player/set-volume-me-player.d.ts +45 -0
  622. package/tools/me/player/set-volume-me-player.d.ts.map +1 -0
  623. package/tools/me/player/set-volume-me-player.js +44 -0
  624. package/tools/me/player/set-volume-me-player.js.map +1 -0
  625. package/tools/me/player/set-volume-me-player.mjs +40 -0
  626. package/tools/me/player/set-volume-me-player.mjs.map +1 -0
  627. package/tools/me/player/skip-next-me-player.d.mts +45 -0
  628. package/tools/me/player/skip-next-me-player.d.mts.map +1 -0
  629. package/tools/me/player/skip-next-me-player.d.ts +45 -0
  630. package/tools/me/player/skip-next-me-player.d.ts.map +1 -0
  631. package/tools/me/player/skip-next-me-player.js +37 -0
  632. package/tools/me/player/skip-next-me-player.js.map +1 -0
  633. package/tools/me/player/skip-next-me-player.mjs +33 -0
  634. package/tools/me/player/skip-next-me-player.mjs.map +1 -0
  635. package/tools/me/player/skip-previous-me-player.d.mts +45 -0
  636. package/tools/me/player/skip-previous-me-player.d.mts.map +1 -0
  637. package/tools/me/player/skip-previous-me-player.d.ts +45 -0
  638. package/tools/me/player/skip-previous-me-player.d.ts.map +1 -0
  639. package/tools/me/player/skip-previous-me-player.js +37 -0
  640. package/tools/me/player/skip-previous-me-player.js.map +1 -0
  641. package/tools/me/player/skip-previous-me-player.mjs +33 -0
  642. package/tools/me/player/skip-previous-me-player.mjs.map +1 -0
  643. package/tools/me/player/start-playback-me-player.d.mts +45 -0
  644. package/tools/me/player/start-playback-me-player.d.mts.map +1 -0
  645. package/tools/me/player/start-playback-me-player.d.ts +45 -0
  646. package/tools/me/player/start-playback-me-player.d.ts.map +1 -0
  647. package/tools/me/player/start-playback-me-player.js +59 -0
  648. package/tools/me/player/start-playback-me-player.js.map +1 -0
  649. package/tools/me/player/start-playback-me-player.mjs +55 -0
  650. package/tools/me/player/start-playback-me-player.mjs.map +1 -0
  651. package/tools/me/player/toggle-shuffle-me-player.d.mts +45 -0
  652. package/tools/me/player/toggle-shuffle-me-player.d.mts.map +1 -0
  653. package/tools/me/player/toggle-shuffle-me-player.d.ts +45 -0
  654. package/tools/me/player/toggle-shuffle-me-player.d.ts.map +1 -0
  655. package/tools/me/player/toggle-shuffle-me-player.js +44 -0
  656. package/tools/me/player/toggle-shuffle-me-player.js.map +1 -0
  657. package/tools/me/player/toggle-shuffle-me-player.mjs +40 -0
  658. package/tools/me/player/toggle-shuffle-me-player.mjs.map +1 -0
  659. package/tools/me/player/transfer-me-player.d.mts +45 -0
  660. package/tools/me/player/transfer-me-player.d.mts.map +1 -0
  661. package/tools/me/player/transfer-me-player.d.ts +45 -0
  662. package/tools/me/player/transfer-me-player.d.ts.map +1 -0
  663. package/tools/me/player/transfer-me-player.js +45 -0
  664. package/tools/me/player/transfer-me-player.js.map +1 -0
  665. package/tools/me/player/transfer-me-player.mjs +41 -0
  666. package/tools/me/player/transfer-me-player.mjs.map +1 -0
  667. package/tools/me/playlists/list-me-playlists.d.mts +45 -0
  668. package/tools/me/playlists/list-me-playlists.d.mts.map +1 -0
  669. package/tools/me/playlists/list-me-playlists.d.ts +45 -0
  670. package/tools/me/playlists/list-me-playlists.d.ts.map +1 -0
  671. package/tools/me/playlists/list-me-playlists.js +50 -0
  672. package/tools/me/playlists/list-me-playlists.js.map +1 -0
  673. package/tools/me/playlists/list-me-playlists.mjs +46 -0
  674. package/tools/me/playlists/list-me-playlists.mjs.map +1 -0
  675. package/tools/me/retrieve-me.d.mts +45 -0
  676. package/tools/me/retrieve-me.d.mts.map +1 -0
  677. package/tools/me/retrieve-me.d.ts +45 -0
  678. package/tools/me/retrieve-me.d.ts.map +1 -0
  679. package/tools/me/retrieve-me.js +39 -0
  680. package/tools/me/retrieve-me.js.map +1 -0
  681. package/tools/me/retrieve-me.mjs +35 -0
  682. package/tools/me/retrieve-me.mjs.map +1 -0
  683. package/tools/me/shows/check-me-shows.d.mts +45 -0
  684. package/tools/me/shows/check-me-shows.d.mts.map +1 -0
  685. package/tools/me/shows/check-me-shows.d.ts +45 -0
  686. package/tools/me/shows/check-me-shows.d.ts.map +1 -0
  687. package/tools/me/shows/check-me-shows.js +44 -0
  688. package/tools/me/shows/check-me-shows.js.map +1 -0
  689. package/tools/me/shows/check-me-shows.mjs +40 -0
  690. package/tools/me/shows/check-me-shows.mjs.map +1 -0
  691. package/tools/me/shows/list-me-shows.d.mts +45 -0
  692. package/tools/me/shows/list-me-shows.d.mts.map +1 -0
  693. package/tools/me/shows/list-me-shows.d.ts +45 -0
  694. package/tools/me/shows/list-me-shows.d.ts.map +1 -0
  695. package/tools/me/shows/list-me-shows.js +50 -0
  696. package/tools/me/shows/list-me-shows.js.map +1 -0
  697. package/tools/me/shows/list-me-shows.mjs +46 -0
  698. package/tools/me/shows/list-me-shows.mjs.map +1 -0
  699. package/tools/me/shows/remove-me-shows.d.mts +45 -0
  700. package/tools/me/shows/remove-me-shows.d.mts.map +1 -0
  701. package/tools/me/shows/remove-me-shows.d.ts +45 -0
  702. package/tools/me/shows/remove-me-shows.d.ts.map +1 -0
  703. package/tools/me/shows/remove-me-shows.js +41 -0
  704. package/tools/me/shows/remove-me-shows.js.map +1 -0
  705. package/tools/me/shows/remove-me-shows.mjs +37 -0
  706. package/tools/me/shows/remove-me-shows.mjs.map +1 -0
  707. package/tools/me/shows/save-me-shows.d.mts +45 -0
  708. package/tools/me/shows/save-me-shows.d.mts.map +1 -0
  709. package/tools/me/shows/save-me-shows.d.ts +45 -0
  710. package/tools/me/shows/save-me-shows.d.ts.map +1 -0
  711. package/tools/me/shows/save-me-shows.js +41 -0
  712. package/tools/me/shows/save-me-shows.js.map +1 -0
  713. package/tools/me/shows/save-me-shows.mjs +37 -0
  714. package/tools/me/shows/save-me-shows.mjs.map +1 -0
  715. package/tools/me/top/list-top-artists-me-top.d.mts +45 -0
  716. package/tools/me/top/list-top-artists-me-top.d.mts.map +1 -0
  717. package/tools/me/top/list-top-artists-me-top.d.ts +45 -0
  718. package/tools/me/top/list-top-artists-me-top.d.ts.map +1 -0
  719. package/tools/me/top/list-top-artists-me-top.js +55 -0
  720. package/tools/me/top/list-top-artists-me-top.js.map +1 -0
  721. package/tools/me/top/list-top-artists-me-top.mjs +51 -0
  722. package/tools/me/top/list-top-artists-me-top.mjs.map +1 -0
  723. package/tools/me/top/list-top-tracks-me-top.d.mts +45 -0
  724. package/tools/me/top/list-top-tracks-me-top.d.mts.map +1 -0
  725. package/tools/me/top/list-top-tracks-me-top.d.ts +45 -0
  726. package/tools/me/top/list-top-tracks-me-top.d.ts.map +1 -0
  727. package/tools/me/top/list-top-tracks-me-top.js +49 -0
  728. package/tools/me/top/list-top-tracks-me-top.js.map +1 -0
  729. package/tools/me/top/list-top-tracks-me-top.mjs +45 -0
  730. package/tools/me/top/list-top-tracks-me-top.mjs.map +1 -0
  731. package/tools/me/tracks/check-me-tracks.d.mts +45 -0
  732. package/tools/me/tracks/check-me-tracks.d.mts.map +1 -0
  733. package/tools/me/tracks/check-me-tracks.d.ts +45 -0
  734. package/tools/me/tracks/check-me-tracks.d.ts.map +1 -0
  735. package/tools/me/tracks/check-me-tracks.js +44 -0
  736. package/tools/me/tracks/check-me-tracks.js.map +1 -0
  737. package/tools/me/tracks/check-me-tracks.mjs +40 -0
  738. package/tools/me/tracks/check-me-tracks.mjs.map +1 -0
  739. package/tools/me/tracks/list-me-tracks.d.mts +45 -0
  740. package/tools/me/tracks/list-me-tracks.d.mts.map +1 -0
  741. package/tools/me/tracks/list-me-tracks.d.ts +45 -0
  742. package/tools/me/tracks/list-me-tracks.d.ts.map +1 -0
  743. package/tools/me/tracks/list-me-tracks.js +49 -0
  744. package/tools/me/tracks/list-me-tracks.js.map +1 -0
  745. package/tools/me/tracks/list-me-tracks.mjs +45 -0
  746. package/tools/me/tracks/list-me-tracks.mjs.map +1 -0
  747. package/tools/me/tracks/remove-me-tracks.d.mts +45 -0
  748. package/tools/me/tracks/remove-me-tracks.d.mts.map +1 -0
  749. package/tools/me/tracks/remove-me-tracks.d.ts +45 -0
  750. package/tools/me/tracks/remove-me-tracks.d.ts.map +1 -0
  751. package/tools/me/tracks/remove-me-tracks.js +41 -0
  752. package/tools/me/tracks/remove-me-tracks.js.map +1 -0
  753. package/tools/me/tracks/remove-me-tracks.mjs +37 -0
  754. package/tools/me/tracks/remove-me-tracks.mjs.map +1 -0
  755. package/tools/me/tracks/save-me-tracks.d.mts +45 -0
  756. package/tools/me/tracks/save-me-tracks.d.mts.map +1 -0
  757. package/tools/me/tracks/save-me-tracks.d.ts +45 -0
  758. package/tools/me/tracks/save-me-tracks.d.ts.map +1 -0
  759. package/tools/me/tracks/save-me-tracks.js +60 -0
  760. package/tools/me/tracks/save-me-tracks.js.map +1 -0
  761. package/tools/me/tracks/save-me-tracks.mjs +56 -0
  762. package/tools/me/tracks/save-me-tracks.mjs.map +1 -0
  763. package/tools/playlists/followers/check-playlists-followers.d.mts +45 -0
  764. package/tools/playlists/followers/check-playlists-followers.d.mts.map +1 -0
  765. package/tools/playlists/followers/check-playlists-followers.d.ts +45 -0
  766. package/tools/playlists/followers/check-playlists-followers.d.ts.map +1 -0
  767. package/tools/playlists/followers/check-playlists-followers.js +49 -0
  768. package/tools/playlists/followers/check-playlists-followers.js.map +1 -0
  769. package/tools/playlists/followers/check-playlists-followers.mjs +45 -0
  770. package/tools/playlists/followers/check-playlists-followers.mjs.map +1 -0
  771. package/tools/playlists/followers/follow-playlists-followers.d.mts +45 -0
  772. package/tools/playlists/followers/follow-playlists-followers.d.mts.map +1 -0
  773. package/tools/playlists/followers/follow-playlists-followers.d.ts +45 -0
  774. package/tools/playlists/followers/follow-playlists-followers.d.ts.map +1 -0
  775. package/tools/playlists/followers/follow-playlists-followers.js +43 -0
  776. package/tools/playlists/followers/follow-playlists-followers.js.map +1 -0
  777. package/tools/playlists/followers/follow-playlists-followers.mjs +39 -0
  778. package/tools/playlists/followers/follow-playlists-followers.mjs.map +1 -0
  779. package/tools/playlists/followers/unfollow-playlists-followers.d.mts +45 -0
  780. package/tools/playlists/followers/unfollow-playlists-followers.d.mts.map +1 -0
  781. package/tools/playlists/followers/unfollow-playlists-followers.d.ts +45 -0
  782. package/tools/playlists/followers/unfollow-playlists-followers.d.ts.map +1 -0
  783. package/tools/playlists/followers/unfollow-playlists-followers.js +39 -0
  784. package/tools/playlists/followers/unfollow-playlists-followers.js.map +1 -0
  785. package/tools/playlists/followers/unfollow-playlists-followers.mjs +35 -0
  786. package/tools/playlists/followers/unfollow-playlists-followers.mjs.map +1 -0
  787. package/tools/playlists/images/list-playlists-images.d.mts +45 -0
  788. package/tools/playlists/images/list-playlists-images.d.mts.map +1 -0
  789. package/tools/playlists/images/list-playlists-images.d.ts +45 -0
  790. package/tools/playlists/images/list-playlists-images.d.ts.map +1 -0
  791. package/tools/playlists/images/list-playlists-images.js +44 -0
  792. package/tools/playlists/images/list-playlists-images.js.map +1 -0
  793. package/tools/playlists/images/list-playlists-images.mjs +40 -0
  794. package/tools/playlists/images/list-playlists-images.mjs.map +1 -0
  795. package/tools/playlists/images/update-playlists-images.d.mts +45 -0
  796. package/tools/playlists/images/update-playlists-images.d.mts.map +1 -0
  797. package/tools/playlists/images/update-playlists-images.d.ts +45 -0
  798. package/tools/playlists/images/update-playlists-images.d.ts.map +1 -0
  799. package/tools/playlists/images/update-playlists-images.js +43 -0
  800. package/tools/playlists/images/update-playlists-images.js.map +1 -0
  801. package/tools/playlists/images/update-playlists-images.mjs +39 -0
  802. package/tools/playlists/images/update-playlists-images.mjs.map +1 -0
  803. package/tools/playlists/retrieve-playlists.d.mts +45 -0
  804. package/tools/playlists/retrieve-playlists.d.mts.map +1 -0
  805. package/tools/playlists/retrieve-playlists.d.ts +45 -0
  806. package/tools/playlists/retrieve-playlists.d.ts.map +1 -0
  807. package/tools/playlists/retrieve-playlists.js +53 -0
  808. package/tools/playlists/retrieve-playlists.js.map +1 -0
  809. package/tools/playlists/retrieve-playlists.mjs +49 -0
  810. package/tools/playlists/retrieve-playlists.mjs.map +1 -0
  811. package/tools/playlists/tracks/add-playlists-tracks.d.mts +45 -0
  812. package/tools/playlists/tracks/add-playlists-tracks.d.mts.map +1 -0
  813. package/tools/playlists/tracks/add-playlists-tracks.d.ts +45 -0
  814. package/tools/playlists/tracks/add-playlists-tracks.d.ts.map +1 -0
  815. package/tools/playlists/tracks/add-playlists-tracks.js +53 -0
  816. package/tools/playlists/tracks/add-playlists-tracks.js.map +1 -0
  817. package/tools/playlists/tracks/add-playlists-tracks.mjs +49 -0
  818. package/tools/playlists/tracks/add-playlists-tracks.mjs.map +1 -0
  819. package/tools/playlists/tracks/list-playlists-tracks.d.mts +45 -0
  820. package/tools/playlists/tracks/list-playlists-tracks.d.mts.map +1 -0
  821. package/tools/playlists/tracks/list-playlists-tracks.d.ts +45 -0
  822. package/tools/playlists/tracks/list-playlists-tracks.d.ts.map +1 -0
  823. package/tools/playlists/tracks/list-playlists-tracks.js +64 -0
  824. package/tools/playlists/tracks/list-playlists-tracks.js.map +1 -0
  825. package/tools/playlists/tracks/list-playlists-tracks.mjs +60 -0
  826. package/tools/playlists/tracks/list-playlists-tracks.mjs.map +1 -0
  827. package/tools/playlists/tracks/remove-playlists-tracks.d.mts +45 -0
  828. package/tools/playlists/tracks/remove-playlists-tracks.d.mts.map +1 -0
  829. package/tools/playlists/tracks/remove-playlists-tracks.d.ts +45 -0
  830. package/tools/playlists/tracks/remove-playlists-tracks.d.ts.map +1 -0
  831. package/tools/playlists/tracks/remove-playlists-tracks.js +61 -0
  832. package/tools/playlists/tracks/remove-playlists-tracks.js.map +1 -0
  833. package/tools/playlists/tracks/remove-playlists-tracks.mjs +57 -0
  834. package/tools/playlists/tracks/remove-playlists-tracks.mjs.map +1 -0
  835. package/tools/playlists/tracks/update-playlists-tracks.d.mts +45 -0
  836. package/tools/playlists/tracks/update-playlists-tracks.d.mts.map +1 -0
  837. package/tools/playlists/tracks/update-playlists-tracks.d.ts +45 -0
  838. package/tools/playlists/tracks/update-playlists-tracks.d.ts.map +1 -0
  839. package/tools/playlists/tracks/update-playlists-tracks.js +66 -0
  840. package/tools/playlists/tracks/update-playlists-tracks.js.map +1 -0
  841. package/tools/playlists/tracks/update-playlists-tracks.mjs +62 -0
  842. package/tools/playlists/tracks/update-playlists-tracks.mjs.map +1 -0
  843. package/tools/playlists/update-playlists.d.mts +45 -0
  844. package/tools/playlists/update-playlists.d.mts.map +1 -0
  845. package/tools/playlists/update-playlists.d.ts +45 -0
  846. package/tools/playlists/update-playlists.d.ts.map +1 -0
  847. package/tools/playlists/update-playlists.js +55 -0
  848. package/tools/playlists/update-playlists.js.map +1 -0
  849. package/tools/playlists/update-playlists.mjs +51 -0
  850. package/tools/playlists/update-playlists.mjs.map +1 -0
  851. package/tools/recommendations/get-recommendations.d.mts +45 -0
  852. package/tools/recommendations/get-recommendations.d.mts.map +1 -0
  853. package/tools/recommendations/get-recommendations.d.ts +45 -0
  854. package/tools/recommendations/get-recommendations.d.ts.map +1 -0
  855. package/tools/recommendations/get-recommendations.js +268 -0
  856. package/tools/recommendations/get-recommendations.js.map +1 -0
  857. package/tools/recommendations/get-recommendations.mjs +264 -0
  858. package/tools/recommendations/get-recommendations.mjs.map +1 -0
  859. package/tools/recommendations/list-available-genre-seeds-recommendations.d.mts +45 -0
  860. package/tools/recommendations/list-available-genre-seeds-recommendations.d.mts.map +1 -0
  861. package/tools/recommendations/list-available-genre-seeds-recommendations.d.ts +45 -0
  862. package/tools/recommendations/list-available-genre-seeds-recommendations.d.ts.map +1 -0
  863. package/tools/recommendations/list-available-genre-seeds-recommendations.js +39 -0
  864. package/tools/recommendations/list-available-genre-seeds-recommendations.js.map +1 -0
  865. package/tools/recommendations/list-available-genre-seeds-recommendations.mjs +35 -0
  866. package/tools/recommendations/list-available-genre-seeds-recommendations.mjs.map +1 -0
  867. package/tools/search/retrieve-search.d.mts +45 -0
  868. package/tools/search/retrieve-search.d.mts.map +1 -0
  869. package/tools/search/retrieve-search.d.ts +45 -0
  870. package/tools/search/retrieve-search.d.ts.map +1 -0
  871. package/tools/search/retrieve-search.js +68 -0
  872. package/tools/search/retrieve-search.js.map +1 -0
  873. package/tools/search/retrieve-search.mjs +64 -0
  874. package/tools/search/retrieve-search.mjs.map +1 -0
  875. package/tools/shows/list-episodes-shows.d.mts +45 -0
  876. package/tools/shows/list-episodes-shows.d.mts.map +1 -0
  877. package/tools/shows/list-episodes-shows.d.ts +45 -0
  878. package/tools/shows/list-episodes-shows.d.ts.map +1 -0
  879. package/tools/shows/list-episodes-shows.js +60 -0
  880. package/tools/shows/list-episodes-shows.js.map +1 -0
  881. package/tools/shows/list-episodes-shows.mjs +56 -0
  882. package/tools/shows/list-episodes-shows.mjs.map +1 -0
  883. package/tools/shows/list-shows.d.mts +45 -0
  884. package/tools/shows/list-shows.d.mts.map +1 -0
  885. package/tools/shows/list-shows.d.ts +45 -0
  886. package/tools/shows/list-shows.d.ts.map +1 -0
  887. package/tools/shows/list-shows.js +49 -0
  888. package/tools/shows/list-shows.js.map +1 -0
  889. package/tools/shows/list-shows.mjs +45 -0
  890. package/tools/shows/list-shows.mjs.map +1 -0
  891. package/tools/shows/retrieve-shows.d.mts +45 -0
  892. package/tools/shows/retrieve-shows.d.mts.map +1 -0
  893. package/tools/shows/retrieve-shows.d.ts +45 -0
  894. package/tools/shows/retrieve-shows.d.ts.map +1 -0
  895. package/tools/shows/retrieve-shows.js +49 -0
  896. package/tools/shows/retrieve-shows.js.map +1 -0
  897. package/tools/shows/retrieve-shows.mjs +45 -0
  898. package/tools/shows/retrieve-shows.mjs.map +1 -0
  899. package/tools/tracks/list-tracks.d.mts +45 -0
  900. package/tools/tracks/list-tracks.d.mts.map +1 -0
  901. package/tools/tracks/list-tracks.d.ts +45 -0
  902. package/tools/tracks/list-tracks.d.ts.map +1 -0
  903. package/tools/tracks/list-tracks.js +43 -0
  904. package/tools/tracks/list-tracks.js.map +1 -0
  905. package/tools/tracks/list-tracks.mjs +39 -0
  906. package/tools/tracks/list-tracks.mjs.map +1 -0
  907. package/tools/tracks/retrieve-tracks.d.mts +45 -0
  908. package/tools/tracks/retrieve-tracks.d.mts.map +1 -0
  909. package/tools/tracks/retrieve-tracks.d.ts +45 -0
  910. package/tools/tracks/retrieve-tracks.d.ts.map +1 -0
  911. package/tools/tracks/retrieve-tracks.js +43 -0
  912. package/tools/tracks/retrieve-tracks.js.map +1 -0
  913. package/tools/tracks/retrieve-tracks.mjs +39 -0
  914. package/tools/tracks/retrieve-tracks.mjs.map +1 -0
  915. package/tools/types.d.mts +51 -0
  916. package/tools/types.d.mts.map +1 -0
  917. package/tools/types.d.ts +51 -0
  918. package/tools/types.d.ts.map +1 -0
  919. package/tools/types.js +46 -0
  920. package/tools/types.js.map +1 -0
  921. package/tools/types.mjs +42 -0
  922. package/tools/types.mjs.map +1 -0
  923. package/tools/users/playlists/create-users-playlists.d.mts +45 -0
  924. package/tools/users/playlists/create-users-playlists.d.mts.map +1 -0
  925. package/tools/users/playlists/create-users-playlists.d.ts +45 -0
  926. package/tools/users/playlists/create-users-playlists.d.ts.map +1 -0
  927. package/tools/users/playlists/create-users-playlists.js +52 -0
  928. package/tools/users/playlists/create-users-playlists.js.map +1 -0
  929. package/tools/users/playlists/create-users-playlists.mjs +48 -0
  930. package/tools/users/playlists/create-users-playlists.mjs.map +1 -0
  931. package/tools/users/playlists/list-users-playlists.d.mts +45 -0
  932. package/tools/users/playlists/list-users-playlists.d.mts.map +1 -0
  933. package/tools/users/playlists/list-users-playlists.d.ts +45 -0
  934. package/tools/users/playlists/list-users-playlists.d.ts.map +1 -0
  935. package/tools/users/playlists/list-users-playlists.js +55 -0
  936. package/tools/users/playlists/list-users-playlists.js.map +1 -0
  937. package/tools/users/playlists/list-users-playlists.mjs +51 -0
  938. package/tools/users/playlists/list-users-playlists.mjs.map +1 -0
  939. package/tools/users/retrieve-profile-users.d.mts +45 -0
  940. package/tools/users/retrieve-profile-users.d.mts.map +1 -0
  941. package/tools/users/retrieve-profile-users.d.ts +45 -0
  942. package/tools/users/retrieve-profile-users.d.ts.map +1 -0
  943. package/tools/users/retrieve-profile-users.js +44 -0
  944. package/tools/users/retrieve-profile-users.js.map +1 -0
  945. package/tools/users/retrieve-profile-users.mjs +40 -0
  946. package/tools/users/retrieve-profile-users.mjs.map +1 -0
  947. package/tools.d.mts +2 -0
  948. package/tools.d.mts.map +1 -0
  949. package/tools.d.ts +2 -0
  950. package/tools.d.ts.map +1 -0
  951. package/tools.js +18 -0
  952. package/tools.js.map +1 -0
  953. package/tools.mjs +2 -0
  954. package/tools.mjs.map +1 -0
@@ -0,0 +1,44 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'spotted-ts-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Spotted from 'spotted-ts';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'markets',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/markets',
15
+ operationId: 'get-available-markets',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'list_markets',
20
+ description:
21
+ "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 the list of markets where Spotify is available.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/market_list_response',\n $defs: {\n market_list_response: {\n type: 'object',\n properties: {\n markets: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n }\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ jq_filter: {
26
+ type: 'string',
27
+ title: 'jq Filter',
28
+ description:
29
+ '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: [],
33
+ },
34
+ annotations: {
35
+ readOnlyHint: true,
36
+ },
37
+ };
38
+
39
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
40
+ const { jq_filter } = args as any;
41
+ return asTextContentResult(await maybeFilter(jq_filter, await client.markets.list()));
42
+ };
43
+
44
+ export default { metadata, tool, handler };
@@ -0,0 +1,50 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'spotted-ts-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Spotted from 'spotted-ts';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'me.albums',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/me/albums/contains',
15
+ operationId: 'check-users-saved-albums',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'check_me_albums',
20
+ description:
21
+ "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\nCheck if one or more albums is already saved in the current Spotify user's 'Your Music' library.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/album_check_response',\n $defs: {\n album_check_response: {\n type: 'array',\n items: {\n type: 'boolean'\n }\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ ids: {
26
+ type: 'string',
27
+ title: 'Spotify Album IDs',
28
+ description:
29
+ 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for the albums. Maximum: 20 IDs.\n',
30
+ },
31
+ jq_filter: {
32
+ type: 'string',
33
+ title: 'jq Filter',
34
+ description:
35
+ '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/).',
36
+ },
37
+ },
38
+ required: ['ids'],
39
+ },
40
+ annotations: {
41
+ readOnlyHint: true,
42
+ },
43
+ };
44
+
45
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
46
+ const { jq_filter, ...body } = args as any;
47
+ return asTextContentResult(await maybeFilter(jq_filter, await client.me.albums.check(body)));
48
+ };
49
+
50
+ export default { metadata, tool, handler };
@@ -0,0 +1,54 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import Spotted from 'spotted-ts';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'me.albums',
10
+ operation: 'read',
11
+ tags: [],
12
+ httpMethod: 'get',
13
+ httpPath: '/me/albums',
14
+ operationId: 'get-users-saved-albums',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'list_me_albums',
19
+ description: "Get a list of the albums saved in the current Spotify user's 'Your Music' library.\n",
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ limit: {
24
+ type: 'integer',
25
+ title: 'Limit',
26
+ description: 'The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.\n',
27
+ },
28
+ market: {
29
+ type: 'string',
30
+ title: 'Market',
31
+ description:
32
+ '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',
33
+ },
34
+ offset: {
35
+ type: 'integer',
36
+ title: 'Offset',
37
+ description:
38
+ 'The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.\n',
39
+ },
40
+ },
41
+ required: [],
42
+ },
43
+ annotations: {
44
+ readOnlyHint: true,
45
+ },
46
+ };
47
+
48
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
49
+ const body = args as any;
50
+ const response = await client.me.albums.list(body).asResponse();
51
+ return asTextContentResult(await response.json());
52
+ };
53
+
54
+ export default { metadata, tool, handler };
@@ -0,0 +1,45 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import Spotted from 'spotted-ts';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'me.albums',
10
+ operation: 'write',
11
+ tags: [],
12
+ httpMethod: 'delete',
13
+ httpPath: '/me/albums',
14
+ operationId: 'remove-albums-user',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'remove_me_albums',
19
+ description: "Remove one or more albums from the current user's 'Your Music' library.\n",
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ ids: {
24
+ type: 'array',
25
+ description:
26
+ 'A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"]`<br/>A maximum of 50 items can be specified in one request. _**Note**: if the `ids` parameter is present in the query string, any IDs listed here in the body will be ignored._\n',
27
+ items: {
28
+ type: 'string',
29
+ },
30
+ },
31
+ },
32
+ required: [],
33
+ },
34
+ annotations: {
35
+ idempotentHint: true,
36
+ },
37
+ };
38
+
39
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
40
+ const body = args as any;
41
+ const response = await client.me.albums.remove(body).asResponse();
42
+ return asTextContentResult(await response.text());
43
+ };
44
+
45
+ export default { metadata, tool, handler };
@@ -0,0 +1,45 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import Spotted from 'spotted-ts';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'me.albums',
10
+ operation: 'write',
11
+ tags: [],
12
+ httpMethod: 'put',
13
+ httpPath: '/me/albums',
14
+ operationId: 'save-albums-user',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'save_me_albums',
19
+ description: "Save one or more albums to the current user's 'Your Music' library.\n",
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ ids: {
24
+ type: 'array',
25
+ description:
26
+ 'A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"]`<br/>A maximum of 50 items can be specified in one request. _**Note**: if the `ids` parameter is present in the query string, any IDs listed here in the body will be ignored._\n',
27
+ items: {
28
+ type: 'string',
29
+ },
30
+ },
31
+ },
32
+ required: [],
33
+ },
34
+ annotations: {
35
+ idempotentHint: true,
36
+ },
37
+ };
38
+
39
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
40
+ const body = args as any;
41
+ const response = await client.me.albums.save(body).asResponse();
42
+ return asTextContentResult(await response.text());
43
+ };
44
+
45
+ export default { metadata, tool, handler };
@@ -0,0 +1,50 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'spotted-ts-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Spotted from 'spotted-ts';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'me.audiobooks',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/me/audiobooks/contains',
15
+ operationId: 'check-users-saved-audiobooks',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'check_me_audiobooks',
20
+ description:
21
+ "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\nCheck if one or more audiobooks are already saved in the current Spotify user's library.\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/audiobook_check_response',\n $defs: {\n audiobook_check_response: {\n type: 'array',\n items: {\n type: 'boolean'\n }\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ ids: {
26
+ type: 'string',
27
+ title: 'Spotify Audiobook IDs',
28
+ description:
29
+ 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `ids=18yVqkdbdRvS24c0Ilj2ci,1HGw3J3NxZO1TP1BTtVhpZ`. Maximum: 50 IDs.\n',
30
+ },
31
+ jq_filter: {
32
+ type: 'string',
33
+ title: 'jq Filter',
34
+ description:
35
+ '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/).',
36
+ },
37
+ },
38
+ required: ['ids'],
39
+ },
40
+ annotations: {
41
+ readOnlyHint: true,
42
+ },
43
+ };
44
+
45
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
46
+ const { jq_filter, ...body } = args as any;
47
+ return asTextContentResult(await maybeFilter(jq_filter, await client.me.audiobooks.check(body)));
48
+ };
49
+
50
+ export default { metadata, tool, handler };
@@ -0,0 +1,56 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'spotted-ts-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Spotted from 'spotted-ts';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'me.audiobooks',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/me/audiobooks',
15
+ operationId: 'get-users-saved-audiobooks',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'list_me_audiobooks',
20
+ description:
21
+ "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 a list of the audiobooks saved in the current Spotify user's 'Your Music' library.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n href: {\n type: 'string',\n description: 'A link to the Web API endpoint returning the full result of the request\\n'\n },\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/audiobook_list_response'\n }\n },\n limit: {\n type: 'integer',\n description: 'The maximum number of items in the response (as set in the query or by default).\\n'\n },\n next: {\n type: 'string',\n description: 'URL to the next page of items. ( `null` if none)\\n'\n },\n offset: {\n type: 'integer',\n description: 'The offset of the items returned (as set in the query or by default)\\n'\n },\n previous: {\n type: 'string',\n description: 'URL to the previous page of items. ( `null` if none)\\n'\n },\n total: {\n type: 'integer',\n description: 'The total number of items available to return.\\n'\n }\n },\n required: [ 'href',\n 'items',\n 'limit',\n 'next',\n 'offset',\n 'previous',\n 'total'\n ],\n $defs: {\n audiobook_list_response: {\n type: 'object',\n properties: {\n added_at: {\n type: 'string',\n description: 'The date and time the audiobook was saved\\nTimestamps are returned in ISO 8601 format as Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ.\\nIf the time is imprecise (for example, the date/time of an album release), an additional field indicates the precision; see for example, release_date in an album object.\\n',\n format: 'date-time'\n },\n audiobook: {\n allOf: [ {\n $ref: '#/$defs/audiobook_base'\n }\n ],\n description: 'Information about the audiobook.'\n }\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```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ limit: {
26
+ type: 'integer',
27
+ title: 'Limit',
28
+ description: 'The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.\n',
29
+ },
30
+ offset: {
31
+ type: 'integer',
32
+ title: 'Offset',
33
+ description:
34
+ 'The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.\n',
35
+ },
36
+ jq_filter: {
37
+ type: 'string',
38
+ title: 'jq Filter',
39
+ description:
40
+ '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/).',
41
+ },
42
+ },
43
+ required: [],
44
+ },
45
+ annotations: {
46
+ readOnlyHint: true,
47
+ },
48
+ };
49
+
50
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
51
+ const { jq_filter, ...body } = args as any;
52
+ const response = await client.me.audiobooks.list(body).asResponse();
53
+ return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
54
+ };
55
+
56
+ export default { metadata, tool, handler };
@@ -0,0 +1,43 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import Spotted from 'spotted-ts';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'me.audiobooks',
10
+ operation: 'write',
11
+ tags: [],
12
+ httpMethod: 'delete',
13
+ httpPath: '/me/audiobooks',
14
+ operationId: 'remove-audiobooks-user',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'remove_me_audiobooks',
19
+ description: "Remove one or more audiobooks from the Spotify user's library.\n",
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ ids: {
24
+ type: 'string',
25
+ title: 'Spotify Audiobook IDs',
26
+ description:
27
+ 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `ids=18yVqkdbdRvS24c0Ilj2ci,1HGw3J3NxZO1TP1BTtVhpZ`. Maximum: 50 IDs.\n',
28
+ },
29
+ },
30
+ required: ['ids'],
31
+ },
32
+ annotations: {
33
+ idempotentHint: true,
34
+ },
35
+ };
36
+
37
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
38
+ const body = args as any;
39
+ const response = await client.me.audiobooks.remove(body).asResponse();
40
+ return asTextContentResult(await response.text());
41
+ };
42
+
43
+ export default { metadata, tool, handler };
@@ -0,0 +1,43 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import Spotted from 'spotted-ts';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'me.audiobooks',
10
+ operation: 'write',
11
+ tags: [],
12
+ httpMethod: 'put',
13
+ httpPath: '/me/audiobooks',
14
+ operationId: 'save-audiobooks-user',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'save_me_audiobooks',
19
+ description: "Save one or more audiobooks to the current Spotify user's library.\n",
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ ids: {
24
+ type: 'string',
25
+ title: 'Spotify Audiobook IDs',
26
+ description:
27
+ 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `ids=18yVqkdbdRvS24c0Ilj2ci,1HGw3J3NxZO1TP1BTtVhpZ`. Maximum: 50 IDs.\n',
28
+ },
29
+ },
30
+ required: ['ids'],
31
+ },
32
+ annotations: {
33
+ idempotentHint: true,
34
+ },
35
+ };
36
+
37
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
38
+ const body = args as any;
39
+ const response = await client.me.audiobooks.save(body).asResponse();
40
+ return asTextContentResult(await response.text());
41
+ };
42
+
43
+ export default { metadata, tool, handler };
@@ -0,0 +1,50 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'spotted-ts-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Spotted from 'spotted-ts';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'me.episodes',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/me/episodes/contains',
15
+ operationId: 'check-users-saved-episodes',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'check_me_episodes',
20
+ description:
21
+ "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\nCheck if one or more episodes is already saved in the current Spotify user's 'Your Episodes' library.<br/>\nThis API endpoint is in __beta__ and could change without warning. Please share any feedback that you have, or issues that you discover, in our [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer)..\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/episode_check_response',\n $defs: {\n episode_check_response: {\n type: 'array',\n items: {\n type: 'boolean'\n }\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ ids: {
26
+ type: 'string',
27
+ title: 'Spotify Episode IDs',
28
+ description:
29
+ 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for the episodes. Maximum: 50 IDs.\n',
30
+ },
31
+ jq_filter: {
32
+ type: 'string',
33
+ title: 'jq Filter',
34
+ description:
35
+ '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/).',
36
+ },
37
+ },
38
+ required: ['ids'],
39
+ },
40
+ annotations: {
41
+ readOnlyHint: true,
42
+ },
43
+ };
44
+
45
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
46
+ const { jq_filter, ...body } = args as any;
47
+ return asTextContentResult(await maybeFilter(jq_filter, await client.me.episodes.check(body)));
48
+ };
49
+
50
+ export default { metadata, tool, handler };
@@ -0,0 +1,55 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import Spotted from 'spotted-ts';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'me.episodes',
10
+ operation: 'read',
11
+ tags: [],
12
+ httpMethod: 'get',
13
+ httpPath: '/me/episodes',
14
+ operationId: 'get-users-saved-episodes',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'list_me_episodes',
19
+ description:
20
+ "Get a list of the episodes saved in the current Spotify user's library.<br/>\nThis API endpoint is in __beta__ and could change without warning. Please share any feedback that you have, or issues that you discover, in our [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer).\n",
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ limit: {
25
+ type: 'integer',
26
+ title: 'Limit',
27
+ description: 'The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.\n',
28
+ },
29
+ market: {
30
+ type: 'string',
31
+ title: 'Market',
32
+ description:
33
+ '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',
34
+ },
35
+ offset: {
36
+ type: 'integer',
37
+ title: 'Offset',
38
+ description:
39
+ 'The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.\n',
40
+ },
41
+ },
42
+ required: [],
43
+ },
44
+ annotations: {
45
+ readOnlyHint: true,
46
+ },
47
+ };
48
+
49
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
50
+ const body = args as any;
51
+ const response = await client.me.episodes.list(body).asResponse();
52
+ return asTextContentResult(await response.json());
53
+ };
54
+
55
+ export default { metadata, tool, handler };
@@ -0,0 +1,46 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import Spotted from 'spotted-ts';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'me.episodes',
10
+ operation: 'write',
11
+ tags: [],
12
+ httpMethod: 'delete',
13
+ httpPath: '/me/episodes',
14
+ operationId: 'remove-episodes-user',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'remove_me_episodes',
19
+ description:
20
+ "Remove one or more episodes from the current user's library.<br/>\nThis API endpoint is in __beta__ and could change without warning. Please share any feedback that you have, or issues that you discover, in our [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer).\n",
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ ids: {
25
+ type: 'array',
26
+ description:
27
+ 'A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). <br/>A maximum of 50 items can be specified in one request. _**Note**: if the `ids` parameter is present in the query string, any IDs listed here in the body will be ignored._\n',
28
+ items: {
29
+ type: 'string',
30
+ },
31
+ },
32
+ },
33
+ required: [],
34
+ },
35
+ annotations: {
36
+ idempotentHint: true,
37
+ },
38
+ };
39
+
40
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
41
+ const body = args as any;
42
+ const response = await client.me.episodes.remove(body).asResponse();
43
+ return asTextContentResult(await response.text());
44
+ };
45
+
46
+ export default { metadata, tool, handler };
@@ -0,0 +1,46 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from 'spotted-ts-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import Spotted from 'spotted-ts';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'me.episodes',
10
+ operation: 'write',
11
+ tags: [],
12
+ httpMethod: 'put',
13
+ httpPath: '/me/episodes',
14
+ operationId: 'save-episodes-user',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'save_me_episodes',
19
+ description:
20
+ "Save one or more episodes to the current user's library.<br/>\nThis API endpoint is in __beta__ and could change without warning. Please share any feedback that you have, or issues that you discover, in our [developer community forum](https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer).\n",
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ ids: {
25
+ type: 'array',
26
+ description:
27
+ 'A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). <br/>A maximum of 50 items can be specified in one request. _**Note**: if the `ids` parameter is present in the query string, any IDs listed here in the body will be ignored._\n',
28
+ items: {
29
+ type: 'string',
30
+ },
31
+ },
32
+ },
33
+ required: ['ids'],
34
+ },
35
+ annotations: {
36
+ idempotentHint: true,
37
+ },
38
+ };
39
+
40
+ export const handler = async (client: Spotted, args: Record<string, unknown> | undefined) => {
41
+ const body = args as any;
42
+ const response = await client.me.episodes.save(body).asResponse();
43
+ return asTextContentResult(await response.text());
44
+ };
45
+
46
+ export default { metadata, tool, handler };