@darrenjaws/spotify-mcp 0.6.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,9 +21,10 @@ A Model Context Protocol (MCP) server that provides seamless integration with Sp
21
21
  - [Environment Variables](#environment-variables)
22
22
  - [MCP Configuration](#mcp-configuration)
23
23
  - [Usage](#usage)
24
- - [Available Tools (15 total)](#available-tools-15-total)
25
- - [Playback](#playback)
24
+ - [Available Tools (30 total)](#available-tools-30-total)
25
+ - [Playback & Device Control](#playback--device-control)
26
26
  - [Search & Discovery](#search--discovery)
27
+ - [Playlist Management](#playlist-management)
27
28
  - [Library Management](#library-management)
28
29
  - [User Data](#user-data)
29
30
  - [Local Development](#local-development)
@@ -51,6 +52,7 @@ The Spotify MCP Server bridges the gap between AI assistants and Spotify, allowi
51
52
  ## Features
52
53
 
53
54
  ### Current Features
55
+
54
56
  - **Authentication & Authorization**: OAuth 2.0 Authorization Code flow for secure Spotify API access
55
57
  - **Playback Control**: Play, pause, skip, adjust volume, and control playback across devices
56
58
  - **Search**: Find tracks, albums, artists, and playlists
@@ -58,6 +60,7 @@ The Spotify MCP Server bridges the gap between AI assistants and Spotify, allowi
58
60
  - **User Data**: Retrieve user profile information and listening statistics
59
61
 
60
62
  ### Planned Features
63
+
61
64
  See [ROADMAP.md](ROADMAP.md) for detailed feature timeline and future enhancements.
62
65
 
63
66
  ## Quick Start
@@ -70,11 +73,12 @@ npx @darrenjaws/spotify-mcp setup
70
73
  ```
71
74
 
72
75
  The wizard will:
76
+
73
77
  - ✅ Guide you through creating a Spotify Developer app
74
78
  - ✅ Open your browser to the right pages automatically
75
79
  - ✅ Validate your credentials as you enter them
76
80
  - ✅ Generate the correct configuration for your environment
77
- - ✅ Give you copy-paste ready configs for Claude Desktop or Claude Code
81
+ - ✅ Give you copy-paste ready configs for Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, or OpenCode
78
82
 
79
83
  **That's it!** The whole setup takes about 2 minutes.
80
84
 
@@ -83,12 +87,14 @@ The wizard will:
83
87
  ### Option 1: NPM (Recommended)
84
88
 
85
89
  **Interactive Setup (Easiest):**
90
+
86
91
  ```bash
87
92
  # No installation required - run the setup wizard
88
93
  npx @darrenjaws/spotify-mcp setup
89
94
  ```
90
95
 
91
96
  **Or install globally first:**
97
+
92
98
  ```bash
93
99
  npm install -g @darrenjaws/spotify-mcp
94
100
 
@@ -97,6 +103,7 @@ spotify-mcp setup
97
103
  ```
98
104
 
99
105
  **Using npx without setup wizard:**
106
+
100
107
  ```bash
101
108
  # Skip to manual configuration (see Configuration section below)
102
109
  npx -y @darrenjaws/spotify-mcp
@@ -132,9 +139,10 @@ npx @darrenjaws/spotify-mcp setup
132
139
  ```
133
140
 
134
141
  The wizard walks you through:
142
+
135
143
  1. Creating a Spotify Developer app
136
144
  2. Getting your Client ID and Secret
137
- 3. Choosing your configuration method (Claude Desktop, Claude Code, or development)
145
+ 3. Choosing your AI tool (Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, OpenCode)
138
146
  4. Generating the correct config file
139
147
 
140
148
  ### Manual Setup
@@ -219,6 +227,84 @@ Or add it manually to `~/.claude.json` (global) or `.claude/settings.json` (proj
219
227
 
220
228
  Verify with `claude mcp list` — you should see `spotify` in the list.
221
229
 
230
+ #### Cursor
231
+
232
+ Add to `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` for global):
233
+
234
+ ```json
235
+ {
236
+ "mcpServers": {
237
+ "spotify": {
238
+ "command": "npx",
239
+ "args": ["-y", "@darrenjaws/spotify-mcp"],
240
+ "env": {
241
+ "SPOTIFY_CLIENT_ID": "your_client_id_here",
242
+ "SPOTIFY_CLIENT_SECRET": "your_client_secret_here",
243
+ "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:3000/callback"
244
+ }
245
+ }
246
+ }
247
+ }
248
+ ```
249
+
250
+ #### Windsurf
251
+
252
+ Add to `~/.codeium/windsurf/mcp_config.json`:
253
+
254
+ ```json
255
+ {
256
+ "mcpServers": {
257
+ "spotify": {
258
+ "command": "npx",
259
+ "args": ["-y", "@darrenjaws/spotify-mcp"],
260
+ "env": {
261
+ "SPOTIFY_CLIENT_ID": "your_client_id_here",
262
+ "SPOTIFY_CLIENT_SECRET": "your_client_secret_here",
263
+ "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:3000/callback"
264
+ }
265
+ }
266
+ }
267
+ }
268
+ ```
269
+
270
+ #### VS Code (GitHub Copilot)
271
+
272
+ Add to `.vscode/mcp.json` in your project (or VS Code User Settings for global):
273
+
274
+ ```json
275
+ {
276
+ "servers": {
277
+ "spotify": {
278
+ "type": "stdio",
279
+ "command": "npx",
280
+ "args": ["-y", "@darrenjaws/spotify-mcp"],
281
+ "env": {
282
+ "SPOTIFY_CLIENT_ID": "your_client_id_here",
283
+ "SPOTIFY_CLIENT_SECRET": "your_client_secret_here",
284
+ "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:3000/callback"
285
+ }
286
+ }
287
+ }
288
+ }
289
+ ```
290
+
291
+ #### OpenCode
292
+
293
+ ```json
294
+ {
295
+ "$schema": "https://opencode.ai/config.json",
296
+ "spotify": {
297
+ "command": ["npx", "-y", "@darrenjaws/spotify-mcp@latest"],
298
+ "environment": {
299
+ "SPOTIFY_CLIENT_ID": "your_client_id_here",
300
+ "SPOTIFY_CLIENT_SECRET": "your_client_secret_here",
301
+ "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:3000/callback"
302
+ },
303
+ "type": "local"
304
+ }
305
+ }
306
+ ```
307
+
222
308
  #### From Source (Development)
223
309
 
224
310
  ```json
@@ -252,31 +338,54 @@ Once configured, you can interact with Spotify through natural language:
252
338
  - "Search for songs by The Beatles"
253
339
  - "Add this song to my liked songs"
254
340
 
255
- ## Available Tools (15 total)
341
+ ## Available Tools (30 total)
342
+
343
+ ### Playback & Device Control (8 tools)
256
344
 
257
- ### Playback (6 tools)
258
345
  - `spotify_play` - Start or resume playback of tracks, albums, playlists, or artists
259
346
  - `spotify_pause` - Pause playback
260
347
  - `spotify_next` - Skip to next track
261
348
  - `spotify_previous` - Skip to previous track
262
349
  - `spotify_set_volume` - Adjust volume level (0-100)
263
350
  - `spotify_get_playback_state` - Get current playback information
351
+ - `spotify_get_devices` - List available Spotify Connect devices
352
+ - `spotify_transfer_playback` - Transfer playback to a different device
264
353
 
265
- ### Search (1 tool)
266
- - `spotify_search` - Search for tracks, albums, artists, or playlists
354
+ ### Search & Discovery (1 tool)
355
+
356
+ - `spotify_search` - Search for tracks, albums, artists, or playlists with optional field filters (artist, album, genre, year, tag)
357
+
358
+ ### Playlist Management (8 tools)
267
359
 
268
- ### Playlist Management (4 tools)
269
360
  - `spotify_get_playlists` - Get user's playlists
270
361
  - `spotify_get_playlist` - Get specific playlist details
271
362
  - `spotify_create_playlist` - Create a new playlist
272
363
  - `spotify_add_to_playlist` - Add tracks to a playlist
364
+ - `spotify_remove_from_playlist` - Remove tracks from a playlist
365
+ - `spotify_reorder_playlist_tracks` - Reorder tracks in a playlist
366
+ - `spotify_delete_playlist` - Delete (unfollow) a playlist
367
+ - `spotify_update_playlist` - Update playlist details (name, description, public/private, collaborative)
368
+
369
+ ### Library Management (9 tools)
370
+
371
+ - `spotify_get_saved_tracks` - Get tracks saved in your library
372
+ - `spotify_get_saved_albums` - Get albums saved in your library
373
+ - `spotify_get_followed_artists` - Get artists you follow
374
+ - `spotify_save_tracks` - Save tracks to your library
375
+ - `spotify_remove_saved_tracks` - Remove tracks from your library
376
+ - `spotify_save_albums` - Save albums to your library
377
+ - `spotify_remove_saved_albums` - Remove albums from your library
378
+ - `spotify_follow_artists` - Follow artists
379
+ - `spotify_unfollow_artists` - Unfollow artists
273
380
 
274
381
  ### User Data (3 tools)
382
+
275
383
  - `spotify_get_user_profile` - Get user profile information
276
384
  - `spotify_get_top_items` - Get user's top artists or tracks
277
385
  - `spotify_get_recently_played` - Get recently played tracks
278
386
 
279
387
  ### System (1 tool)
388
+
280
389
  - `spotify_open` - Open the Spotify desktop app (supports macOS, Windows, Linux)
281
390
 
282
391
  ## Local Development
@@ -290,6 +399,7 @@ Once configured, you can interact with Spotify through natural language:
290
399
  ### Initial Setup
291
400
 
292
401
  1. **Clone and install dependencies**
402
+
293
403
  ```bash
294
404
  git clone https://github.com/darrenjaworski/spotify-mcp.git
295
405
  cd spotify-mcp
@@ -297,12 +407,14 @@ npm install
297
407
  ```
298
408
 
299
409
  2. **Configure environment variables**
410
+
300
411
  ```bash
301
412
  cp .env.example .env
302
413
  # Edit .env with your Spotify credentials
303
414
  ```
304
415
 
305
416
  3. **Build the project**
417
+
306
418
  ```bash
307
419
  npm run build
308
420
  ```
@@ -339,6 +451,7 @@ npx @modelcontextprotocol/inspector node build/bin.js
339
451
  ```
340
452
 
341
453
  This opens a browser at `http://localhost:6274` with:
454
+
342
455
  - **Server Connection Pane**: Configure transport and environment variables
343
456
  - **Tools Tab**: See all available tools and test them interactively
344
457
  - **Resources Tab**: View server resources
@@ -360,7 +473,8 @@ DEBUG=true npx @modelcontextprotocol/inspector node build/bin.js
360
473
  ```
361
474
 
362
475
  **Benefits:**
363
- - ✅ Interactive UI to test all 15 tools
476
+
477
+ - ✅ Interactive UI to test all 30 tools
364
478
  - ✅ See JSON-RPC messages in real-time
365
479
  - ✅ No need to configure Claude Desktop during development
366
480
  - ✅ Quickly iterate on tool implementations
@@ -410,11 +524,13 @@ echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"spotify_ge
410
524
  **1. Use Watch Mode + Inspector Together**
411
525
 
412
526
  Terminal 1:
527
+
413
528
  ```bash
414
529
  npm run dev # Watch mode - rebuilds on changes
415
530
  ```
416
531
 
417
532
  Terminal 2:
533
+
418
534
  ```bash
419
535
  npx @modelcontextprotocol/inspector node build/bin.js
420
536
  ```
@@ -451,8 +567,9 @@ npm run test:watch # Run tests in watch mode
451
567
  ```
452
568
 
453
569
  **Test Coverage:**
454
- - ✅ 160 tests across 10 test files
455
- - ✅ Tool-level unit tests for playback, search, playlists, user, and system
570
+
571
+ - ✅ 213 tests across 11 test files
572
+ - ✅ Tool-level unit tests for playback, search, playlists, library, user, and system
456
573
  - ✅ Auth tests (credentials, token management, file permissions, refresh)
457
574
  - ✅ Logger tests (sensitive data redaction, log levels)
458
575
  - ✅ Error handling tests (all HTTP status codes, security)
@@ -469,20 +586,24 @@ npm run static-checks # Run lint, build, and test together
469
586
  ### Troubleshooting
470
587
 
471
588
  **Build Errors:**
589
+
472
590
  - Ensure TypeScript is installed: `npm install`
473
591
  - Check Node version: `node --version` (should be >= 18)
474
592
 
475
593
  **Inspector Not Loading:**
594
+
476
595
  - Check if port 6274 is available
477
596
  - Try clearing browser cache
478
597
  - Restart the inspector
479
598
 
480
599
  **OAuth Errors:**
600
+
481
601
  - Verify Spotify credentials in `.env`
482
602
  - Check redirect URI matches in Spotify Dashboard
483
603
  - Ensure scopes are correct in `src/spotify/auth.ts`
484
604
 
485
605
  **Server Not Responding:**
606
+
486
607
  - Check logs: `LOG_LEVEL=debug node build/bin.js`
487
608
  - Verify build succeeded: `ls -la build/`
488
609
  - Test with simple tool like `spotify_get_user_profile`
@@ -537,11 +658,13 @@ MIT License - see LICENSE file for details
537
658
  ## Resources
538
659
 
539
660
  ### MCP Development Tools
661
+
540
662
  - [MCP Inspector Documentation](https://modelcontextprotocol.io/docs/tools/inspector) - Official testing tool
541
663
  - [MCP Inspector GitHub](https://github.com/modelcontextprotocol/inspector) - Source code
542
664
  - [Testing MCP Servers Guide](https://www.stainless.com/mcp/how-to-test-mcp-servers) - Comprehensive testing strategies
543
665
  - [MCP Inspector Tutorial](https://hackteam.io/blog/build-test-mcp-server-typescript-mcp-inspector/) - Step-by-step guide
544
666
 
545
667
  ### Spotify API
668
+
546
669
  - [Spotify Web API Documentation](https://developer.spotify.com/documentation/web-api)
547
670
  - [Spotify Developer Dashboard](https://developer.spotify.com/dashboard)
package/build/index.js CHANGED
@@ -7,6 +7,7 @@ import * as playbackTools from "./tools/playback.js";
7
7
  import * as searchTools from "./tools/search.js";
8
8
  import * as playlistTools from "./tools/playlists.js";
9
9
  import * as userTools from "./tools/user.js";
10
+ import * as libraryTools from "./tools/library.js";
10
11
  import * as systemTools from "./tools/system.js";
11
12
  // Load environment variables
12
13
  dotenv.config();
@@ -70,13 +71,18 @@ server.registerTool("spotify_get_devices", {
70
71
  }, async () => playbackTools.getDevices());
71
72
  // Register search tool
72
73
  server.registerTool("spotify_search", {
73
- description: "Search for tracks, albums, artists, or playlists",
74
+ description: "Search for tracks, albums, artists, or playlists with optional field filters",
74
75
  inputSchema: {
75
76
  query: z.string().describe("Search query"),
76
77
  type: z.enum(["track", "album", "artist", "playlist"]).describe("Type of item to search for"),
77
78
  limit: z.number().min(1).max(10).optional().describe("Number of results to return (default: 5, max: 10)"),
79
+ artist: z.string().optional().describe("Filter by artist name"),
80
+ album: z.string().optional().describe("Filter by album name"),
81
+ genre: z.string().optional().describe("Filter by genre"),
82
+ year: z.string().optional().describe("Filter by year or year range (e.g., '2024' or '2020-2024')"),
83
+ tag: z.enum(["new", "hipster"]).optional().describe("Filter by tag: 'new' for recent releases, 'hipster' for low-popularity"),
78
84
  },
79
- }, async ({ query, type, limit }) => searchTools.search({ query, type, limit }));
85
+ }, async ({ query, type, limit, artist, album, genre, year, tag }) => searchTools.search({ query, type, limit, artist, album, genre, year, tag }));
80
86
  // Register playlist tools
81
87
  server.registerTool("spotify_get_playlists", {
82
88
  description: "Get current user's playlists",
@@ -106,6 +112,40 @@ server.registerTool("spotify_add_to_playlist", {
106
112
  position: z.number().optional().describe("Position to insert tracks (default: end of playlist)"),
107
113
  },
108
114
  }, async ({ playlist_id, uris, position }) => playlistTools.addToPlaylist({ playlist_id, uris, position }));
115
+ server.registerTool("spotify_remove_from_playlist", {
116
+ description: "Remove tracks from a playlist",
117
+ inputSchema: {
118
+ playlist_id: z.string().describe("Spotify playlist ID"),
119
+ uris: z.array(z.string()).min(1).describe("Array of Spotify track URIs to remove"),
120
+ snapshot_id: z.string().optional().describe("Playlist snapshot ID for concurrent modification safety"),
121
+ },
122
+ }, async ({ playlist_id, uris, snapshot_id }) => playlistTools.removeFromPlaylist({ playlist_id, uris, snapshot_id }));
123
+ server.registerTool("spotify_reorder_playlist_tracks", {
124
+ description: "Reorder tracks in a playlist",
125
+ inputSchema: {
126
+ playlist_id: z.string().describe("Spotify playlist ID"),
127
+ range_start: z.number().min(0).describe("Position of the first track to move"),
128
+ insert_before: z.number().min(0).describe("Position where tracks should be inserted"),
129
+ range_length: z.number().min(1).optional().describe("Number of tracks to move (default: 1)"),
130
+ snapshot_id: z.string().optional().describe("Playlist snapshot ID for concurrent modification safety"),
131
+ },
132
+ }, async ({ playlist_id, range_start, insert_before, range_length, snapshot_id }) => playlistTools.reorderPlaylistTracks({ playlist_id, range_start, insert_before, range_length, snapshot_id }));
133
+ server.registerTool("spotify_delete_playlist", {
134
+ description: "Delete (unfollow) a playlist. You can only delete playlists you own.",
135
+ inputSchema: {
136
+ playlist_id: z.string().describe("Spotify playlist ID to delete"),
137
+ },
138
+ }, async ({ playlist_id }) => playlistTools.deletePlaylist({ playlist_id }));
139
+ server.registerTool("spotify_update_playlist", {
140
+ description: "Update playlist details (name, description, public/private, collaborative)",
141
+ inputSchema: {
142
+ playlist_id: z.string().describe("Spotify playlist ID"),
143
+ name: z.string().optional().describe("New playlist name"),
144
+ description: z.string().optional().describe("New playlist description"),
145
+ public: z.boolean().optional().describe("Whether the playlist should be public"),
146
+ collaborative: z.boolean().optional().describe("Whether the playlist should be collaborative (must be non-public)"),
147
+ },
148
+ }, async ({ playlist_id, name, description, public: isPublic, collaborative }) => playlistTools.updatePlaylist({ playlist_id, name, description, public: isPublic, collaborative }));
109
149
  // Register user data tools
110
150
  server.registerTool("spotify_get_user_profile", {
111
151
  description: "Get current user's profile information",
@@ -128,6 +168,72 @@ server.registerTool("spotify_get_recently_played", {
128
168
  limit: z.number().min(1).max(50).optional().describe("Number of tracks to return (default: 20)"),
129
169
  },
130
170
  }, async ({ limit }) => userTools.getRecentlyPlayed({ limit }));
171
+ // Register library tools
172
+ server.registerTool("spotify_get_saved_tracks", {
173
+ description: "Get tracks saved in the current user's library",
174
+ inputSchema: {
175
+ limit: z.number().min(1).max(50).optional().describe("Number of tracks to return (default: 20)"),
176
+ offset: z.number().min(0).optional().describe("Index of first track to return (default: 0)"),
177
+ },
178
+ }, async ({ limit, offset }) => libraryTools.getSavedTracks({ limit, offset }));
179
+ server.registerTool("spotify_get_saved_albums", {
180
+ description: "Get albums saved in the current user's library",
181
+ inputSchema: {
182
+ limit: z.number().min(1).max(50).optional().describe("Number of albums to return (default: 20)"),
183
+ offset: z.number().min(0).optional().describe("Index of first album to return (default: 0)"),
184
+ },
185
+ }, async ({ limit, offset }) => libraryTools.getSavedAlbums({ limit, offset }));
186
+ server.registerTool("spotify_get_followed_artists", {
187
+ description: "Get artists followed by the current user",
188
+ inputSchema: {
189
+ limit: z.number().min(1).max(50).optional().describe("Number of artists to return (default: 20)"),
190
+ after: z.string().optional().describe("Last artist ID from previous page for cursor pagination"),
191
+ },
192
+ }, async ({ limit, after }) => libraryTools.getFollowedArtists({ limit, after }));
193
+ server.registerTool("spotify_save_tracks", {
194
+ description: "Save tracks to the current user's library",
195
+ inputSchema: {
196
+ track_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify track IDs to save"),
197
+ },
198
+ }, async ({ track_ids }) => libraryTools.saveTracks({ track_ids }));
199
+ server.registerTool("spotify_remove_saved_tracks", {
200
+ description: "Remove tracks from the current user's library",
201
+ inputSchema: {
202
+ track_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify track IDs to remove"),
203
+ },
204
+ }, async ({ track_ids }) => libraryTools.removeSavedTracks({ track_ids }));
205
+ server.registerTool("spotify_save_albums", {
206
+ description: "Save albums to the current user's library",
207
+ inputSchema: {
208
+ album_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify album IDs to save"),
209
+ },
210
+ }, async ({ album_ids }) => libraryTools.saveAlbums({ album_ids }));
211
+ server.registerTool("spotify_remove_saved_albums", {
212
+ description: "Remove albums from the current user's library",
213
+ inputSchema: {
214
+ album_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify album IDs to remove"),
215
+ },
216
+ }, async ({ album_ids }) => libraryTools.removeSavedAlbums({ album_ids }));
217
+ server.registerTool("spotify_follow_artists", {
218
+ description: "Follow one or more artists",
219
+ inputSchema: {
220
+ artist_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify artist IDs to follow"),
221
+ },
222
+ }, async ({ artist_ids }) => libraryTools.followArtists({ artist_ids }));
223
+ server.registerTool("spotify_unfollow_artists", {
224
+ description: "Unfollow one or more artists",
225
+ inputSchema: {
226
+ artist_ids: z.array(z.string()).min(1).max(50).describe("Array of Spotify artist IDs to unfollow"),
227
+ },
228
+ }, async ({ artist_ids }) => libraryTools.unfollowArtists({ artist_ids }));
229
+ // Register device management tools
230
+ server.registerTool("spotify_transfer_playback", {
231
+ description: "Transfer playback to a different device (use spotify_get_devices to find device IDs)",
232
+ inputSchema: {
233
+ device_id: z.string().describe("Device ID to transfer playback to"),
234
+ play: z.boolean().optional().describe("Whether to start playback on the new device (default: true)"),
235
+ },
236
+ }, async ({ device_id, play }) => playbackTools.transferPlayback({ device_id, play }));
131
237
  // Register system tools
132
238
  server.registerTool("spotify_open", {
133
239
  description: "Open the Spotify desktop app on this machine",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAmKH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAwJ9C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAkPH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAyM9C"}