@rocksky/cli 0.1.0 → 0.2.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 +257 -0
- package/TOOLS.md +194 -0
- package/bun.lock +28 -0
- package/dist/index.js +547 -20
- package/package.json +4 -2
- package/src/cmd/mcp.ts +8 -0
- package/src/index.ts +10 -1
- package/src/mcp/index.ts +269 -0
- package/src/mcp/tools/albums.ts +13 -0
- package/src/mcp/tools/artists.ts +17 -0
- package/src/mcp/tools/create.ts +27 -0
- package/src/mcp/tools/myscrobbles.ts +42 -0
- package/src/mcp/tools/nowplaying.ts +53 -0
- package/src/mcp/tools/scrobbles.ts +39 -0
- package/src/mcp/tools/search.ts +88 -0
- package/src/mcp/tools/stats.ts +40 -0
- package/src/mcp/tools/tracks.ts +15 -0
- package/src/mcp/tools/whoami.ts +27 -0
package/README.md
CHANGED
|
@@ -8,6 +8,37 @@
|
|
|
8
8
|
- 📈 See your recent scrobbles
|
|
9
9
|
- 📤 Manually scrobble tracks
|
|
10
10
|
- 🛠️ Useful developer tools for integrating Rocksky into your workflows
|
|
11
|
+
- 🤖 MCP Server
|
|
12
|
+
|
|
13
|
+
## Table of Contents
|
|
14
|
+
- [Installation](#installation)
|
|
15
|
+
- [Run in development](#run-in-development)
|
|
16
|
+
- [Usage](#usage)
|
|
17
|
+
- [Available Commands](#available-commands)
|
|
18
|
+
- [login](#login)
|
|
19
|
+
- [nowplaying](#nowplaying)
|
|
20
|
+
- [scrobbles](#scrobbles)
|
|
21
|
+
- [search](#search)
|
|
22
|
+
- [stats](#stats)
|
|
23
|
+
- [artists](#artists)
|
|
24
|
+
- [albums](#albums)
|
|
25
|
+
- [tracks](#tracks)
|
|
26
|
+
- [scrobble](#scrobble)
|
|
27
|
+
- [mcp](#mcp)
|
|
28
|
+
- [Rocksky MCP Server Tools](#rocksky-mcp-server-tools)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Installation
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
npm install -g @rocksky/cli
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
You can also use the CLI without installing it globally by running `npx`:
|
|
38
|
+
|
|
39
|
+
```sh
|
|
40
|
+
npx @rocksky/cli --help
|
|
41
|
+
```
|
|
11
42
|
|
|
12
43
|
## Run in development
|
|
13
44
|
To run the CLI in development mode, install the dependencies:
|
|
@@ -84,3 +115,229 @@ rocksky tracks [did]
|
|
|
84
115
|
```bash
|
|
85
116
|
rocksky scrobble "Karma Police" "Radiohead"
|
|
86
117
|
```
|
|
118
|
+
|
|
119
|
+
`whoami` - Displays the current user's information.
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
rocksky whoami
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
`mcp` - Starts the Rocksky MCP server.
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
rocksky mcp
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Rocksky MCP Server Tools
|
|
132
|
+
|
|
133
|
+
Here is a list of tools provided by the Rocksky MCP server:
|
|
134
|
+
|
|
135
|
+
### whoami
|
|
136
|
+
|
|
137
|
+
Get the current user's information.
|
|
138
|
+
|
|
139
|
+
**Example:**
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"name": "whoami"
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Returns:**
|
|
147
|
+
|
|
148
|
+
The current user's information, including their DID, handle, and other relevant details.
|
|
149
|
+
|
|
150
|
+
### nowplaying
|
|
151
|
+
|
|
152
|
+
Get the currently playing track.
|
|
153
|
+
|
|
154
|
+
**Parameters:**
|
|
155
|
+
|
|
156
|
+
- `did` (optional): The DID or handle of the user to get the now playing track for. If not provided, it defaults to the current user.
|
|
157
|
+
|
|
158
|
+
**Example:**
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"name": "nowplaying",
|
|
162
|
+
"args": {
|
|
163
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Returns:**
|
|
169
|
+
|
|
170
|
+
The currently playing track for the specified user.
|
|
171
|
+
|
|
172
|
+
### scrobbles
|
|
173
|
+
|
|
174
|
+
Display recently played tracks (recent scrobbles).
|
|
175
|
+
|
|
176
|
+
**Parameters:**
|
|
177
|
+
- `did` (optional): The DID or handle of the user to get scrobbles for. If not provided, it returns all recent scrobbles from Rocksky.
|
|
178
|
+
|
|
179
|
+
**Example:**
|
|
180
|
+
```json
|
|
181
|
+
{
|
|
182
|
+
"name": "scrobbles",
|
|
183
|
+
"args": {
|
|
184
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Returns:**
|
|
190
|
+
|
|
191
|
+
A list of recently played tracks for the specified user.
|
|
192
|
+
|
|
193
|
+
### my-scrobbles
|
|
194
|
+
|
|
195
|
+
Display recently played tracks (recent scrobbles) for the current user.
|
|
196
|
+
|
|
197
|
+
**Example:**
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"name": "my-scrobbles"
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Returns:**
|
|
205
|
+
|
|
206
|
+
A list of recently played tracks for the current user.
|
|
207
|
+
|
|
208
|
+
### search
|
|
209
|
+
Search for tracks, albums, artists, or Rocksky users.
|
|
210
|
+
|
|
211
|
+
**Parameters:**
|
|
212
|
+
- `query`: The search query string.
|
|
213
|
+
- `limit` (optional): The maximum number of results to return. Defaults to 10.
|
|
214
|
+
- `albums` (optional): If true, search for albums. Defaults to false.
|
|
215
|
+
- `artists` (optional): If true, search for artists. Defaults to false.
|
|
216
|
+
- `tracks` (optional): If true, search for tracks. Defaults to false.
|
|
217
|
+
- `users` (optional): If true, search for Rocksky users. Defaults to false.
|
|
218
|
+
|
|
219
|
+
**Example:**
|
|
220
|
+
```json
|
|
221
|
+
{
|
|
222
|
+
"name": "search",
|
|
223
|
+
"args": {
|
|
224
|
+
"query": "Radiohead",
|
|
225
|
+
"limit": 5,
|
|
226
|
+
"albums": false,
|
|
227
|
+
"artists": false,
|
|
228
|
+
"tracks": false,
|
|
229
|
+
"users": false
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**Returns:**
|
|
235
|
+
|
|
236
|
+
A list of search results based on the specified query and filters.
|
|
237
|
+
|
|
238
|
+
### artists
|
|
239
|
+
List the user's top artists or current user's top artists if no `did` is provided.
|
|
240
|
+
|
|
241
|
+
**Parameters:**
|
|
242
|
+
- `did` (optional): The DID or handle of the user to get top artists for. If not provided, it defaults to the current user.
|
|
243
|
+
- `limit` (optional): The maximum number of artists to return. Defaults to 20.
|
|
244
|
+
|
|
245
|
+
**Example:**
|
|
246
|
+
```json
|
|
247
|
+
{
|
|
248
|
+
"name": "artists",
|
|
249
|
+
"args": {
|
|
250
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
|
|
251
|
+
"limit": 20
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Returns:**
|
|
257
|
+
|
|
258
|
+
A list of the user's top artists, including their names and play counts.
|
|
259
|
+
|
|
260
|
+
### albums
|
|
261
|
+
List the user's top albums or current user's top albums if no `did` is provided.
|
|
262
|
+
|
|
263
|
+
**Parameters:**
|
|
264
|
+
- `did` (optional): The DID or handle of the user to get top albums for. If not provided, it defaults to the current user.
|
|
265
|
+
- `limit` (optional): The maximum number of albums to return. Defaults to 20.
|
|
266
|
+
|
|
267
|
+
**Example:**
|
|
268
|
+
```json
|
|
269
|
+
{
|
|
270
|
+
"name": "albums",
|
|
271
|
+
"args": {
|
|
272
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
|
|
273
|
+
"limit": 20
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Returns:**
|
|
279
|
+
|
|
280
|
+
A list of the user's top albums, including their names and play counts.
|
|
281
|
+
|
|
282
|
+
### tracks
|
|
283
|
+
List the user's top tracks or current user's top tracks if no `did` is provided.
|
|
284
|
+
|
|
285
|
+
**Parameters:**
|
|
286
|
+
- `did` (optional): The DID or handle of the user to get top tracks for. If not provided, it defaults to the current user.
|
|
287
|
+
- `limit` (optional): The maximum number of tracks to return. Defaults to 20.
|
|
288
|
+
|
|
289
|
+
**Example:**
|
|
290
|
+
```json
|
|
291
|
+
{
|
|
292
|
+
"name": "tracks",
|
|
293
|
+
"args": {
|
|
294
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
|
|
295
|
+
"limit": 20
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**Returns:**
|
|
301
|
+
|
|
302
|
+
A list of the user's top tracks, including their names and play counts.
|
|
303
|
+
|
|
304
|
+
### stats
|
|
305
|
+
Display the user's Rocksky account statistics or current user's statistics if no `did` is provided.
|
|
306
|
+
|
|
307
|
+
**Parameters:**
|
|
308
|
+
- `did` (optional): The DID or handle of the user to get statistics for. If not provided, it defaults to the current user.
|
|
309
|
+
|
|
310
|
+
**Example:**
|
|
311
|
+
```json
|
|
312
|
+
{
|
|
313
|
+
"name": "stats",
|
|
314
|
+
"args": {
|
|
315
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### create-apikey
|
|
321
|
+
Create a new API key for the current user.
|
|
322
|
+
|
|
323
|
+
**Parameters:**
|
|
324
|
+
- `name`: The name of the API key.
|
|
325
|
+
- `description` (optional): A description of the API key.
|
|
326
|
+
|
|
327
|
+
**Example:**
|
|
328
|
+
```json
|
|
329
|
+
{
|
|
330
|
+
"name": "create-apikey",
|
|
331
|
+
"args": {
|
|
332
|
+
"name": "My API Key",
|
|
333
|
+
"description": "This is my API key."
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
**Returns:**
|
|
339
|
+
|
|
340
|
+
A confirmation message indicating that the API key was created successfully.
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
package/TOOLS.md
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Rocksky MCP Tools
|
|
2
|
+
|
|
3
|
+
This document provides a comprehensive list of all tools available in the Rocksky MCP server.
|
|
4
|
+
|
|
5
|
+
## whoami
|
|
6
|
+
|
|
7
|
+
Get the current user's information.
|
|
8
|
+
|
|
9
|
+
## nowplaying
|
|
10
|
+
|
|
11
|
+
Get the currently playing track.
|
|
12
|
+
|
|
13
|
+
**Parameters:**
|
|
14
|
+
|
|
15
|
+
- `did` (optional): The DID or handle of the user to get the now playing track for. If not provided, it defaults to the current user.
|
|
16
|
+
|
|
17
|
+
**Example:**
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"name": "nowplaying",
|
|
21
|
+
"args": {
|
|
22
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Returns:**
|
|
28
|
+
The currently playing track for the specified user.
|
|
29
|
+
|
|
30
|
+
## scrobbles
|
|
31
|
+
|
|
32
|
+
Display recently played tracks (recent scrobbles).
|
|
33
|
+
|
|
34
|
+
**Parameters:**
|
|
35
|
+
- `did` (optional): The DID or handle of the user to get scrobbles for. If not provided, it returns all recent scrobbles from Rocksky.
|
|
36
|
+
|
|
37
|
+
**Example:**
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"name": "scrobbles",
|
|
41
|
+
"args": {
|
|
42
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Returns:**
|
|
48
|
+
A list of recently played tracks for the specified user.
|
|
49
|
+
|
|
50
|
+
## my-scrobbles
|
|
51
|
+
|
|
52
|
+
Display recently played tracks (recent scrobbles) for the current user.
|
|
53
|
+
|
|
54
|
+
**Example:**
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"name": "my-scrobbles"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Returns:**
|
|
62
|
+
A list of recently played tracks for the current user.
|
|
63
|
+
|
|
64
|
+
## search
|
|
65
|
+
Search for tracks, albums, artists, or Rocksky users.
|
|
66
|
+
|
|
67
|
+
**Parameters:**
|
|
68
|
+
- `query`: The search query string.
|
|
69
|
+
- `limit` (optional): The maximum number of results to return. Defaults to 10.
|
|
70
|
+
- `albums` (optional): If true, search for albums. Defaults to false.
|
|
71
|
+
- `artists` (optional): If true, search for artists. Defaults to false.
|
|
72
|
+
- `tracks` (optional): If true, search for tracks. Defaults to false.
|
|
73
|
+
- `users` (optional): If true, search for Rocksky users. Defaults to false.
|
|
74
|
+
|
|
75
|
+
**Example:**
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"name": "search",
|
|
79
|
+
"args": {
|
|
80
|
+
"query": "Radiohead",
|
|
81
|
+
"limit": 5,
|
|
82
|
+
"albums": false,
|
|
83
|
+
"artists": false,
|
|
84
|
+
"tracks": false,
|
|
85
|
+
"users": false
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Returns:**
|
|
91
|
+
A list of search results based on the specified query and filters.
|
|
92
|
+
|
|
93
|
+
## artists
|
|
94
|
+
List the user's top artists or current user's top artists if no `did` is provided.
|
|
95
|
+
|
|
96
|
+
**Parameters:**
|
|
97
|
+
- `did` (optional): The DID or handle of the user to get top artists for. If not provided, it defaults to the current user.
|
|
98
|
+
- `limit` (optional): The maximum number of artists to return. Defaults to 20.
|
|
99
|
+
|
|
100
|
+
**Example:**
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"name": "artists",
|
|
104
|
+
"args": {
|
|
105
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
|
|
106
|
+
"limit": 20
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Returns:**
|
|
112
|
+
A list of the user's top artists, including their names and play counts.
|
|
113
|
+
|
|
114
|
+
## albums
|
|
115
|
+
List the user's top albums or current user's top albums if no `did` is provided.
|
|
116
|
+
|
|
117
|
+
**Parameters:**
|
|
118
|
+
- `did` (optional): The DID or handle of the user to get top albums for. If not provided, it defaults to the current user.
|
|
119
|
+
- `limit` (optional): The maximum number of albums to return. Defaults to 20.
|
|
120
|
+
|
|
121
|
+
**Example:**
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"name": "albums",
|
|
125
|
+
"args": {
|
|
126
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
|
|
127
|
+
"limit": 20
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Returns:**
|
|
133
|
+
A list of the user's top albums, including their names and play counts.
|
|
134
|
+
|
|
135
|
+
## tracks
|
|
136
|
+
List the user's top tracks or current user's top tracks if no `did` is provided.
|
|
137
|
+
|
|
138
|
+
**Parameters:**
|
|
139
|
+
- `did` (optional): The DID or handle of the user to get top tracks for. If not provided, it defaults to the current user.
|
|
140
|
+
- `limit` (optional): The maximum number of tracks to return. Defaults to 20.
|
|
141
|
+
|
|
142
|
+
**Example:**
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"name": "tracks",
|
|
146
|
+
"args": {
|
|
147
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
|
|
148
|
+
"limit": 20
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Returns:**
|
|
154
|
+
A list of the user's top tracks, including their names and play counts.
|
|
155
|
+
|
|
156
|
+
## stats
|
|
157
|
+
Display the user's Rocksky account statistics or current user's statistics if no `did` is provided.
|
|
158
|
+
|
|
159
|
+
**Parameters:**
|
|
160
|
+
- `did` (optional): The DID or handle of the user to get statistics for. If not provided, it defaults to the current user.
|
|
161
|
+
|
|
162
|
+
**Example:**
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"name": "stats",
|
|
166
|
+
"args": {
|
|
167
|
+
"did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## create-apikey
|
|
173
|
+
Create a new API key for the current user.
|
|
174
|
+
|
|
175
|
+
**Parameters:**
|
|
176
|
+
- `name`: The name of the API key.
|
|
177
|
+
- `description` (optional): A description of the API key.
|
|
178
|
+
|
|
179
|
+
**Example:**
|
|
180
|
+
```json
|
|
181
|
+
{
|
|
182
|
+
"name": "create-apikey",
|
|
183
|
+
"args": {
|
|
184
|
+
"name": "My API Key",
|
|
185
|
+
"description": "This is my API key."
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Returns:**
|
|
191
|
+
A confirmation message indicating that the API key was created successfully.
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
package/bun.lock
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"": {
|
|
5
5
|
"name": "rocksky",
|
|
6
6
|
"dependencies": {
|
|
7
|
+
"@modelcontextprotocol/sdk": "^1.10.2",
|
|
7
8
|
"axios": "^1.8.4",
|
|
8
9
|
"chalk": "^5.4.1",
|
|
9
10
|
"commander": "^13.1.0",
|
|
@@ -13,6 +14,7 @@
|
|
|
13
14
|
"md5": "^2.3.0",
|
|
14
15
|
"open": "^10.1.0",
|
|
15
16
|
"table": "^6.9.0",
|
|
17
|
+
"zod": "^3.24.3",
|
|
16
18
|
},
|
|
17
19
|
"devDependencies": {
|
|
18
20
|
"@types/express": "^5.0.1",
|
|
@@ -76,6 +78,8 @@
|
|
|
76
78
|
|
|
77
79
|
"@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="],
|
|
78
80
|
|
|
81
|
+
"@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.10.2", "", { "dependencies": { "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.3", "eventsource": "^3.0.2", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-rb6AMp2DR4SN+kc6L1ta2NCpApyA9WYNx3CrTSZvGxq9wH71bRur+zRqPfg0vQ9mjywR7qZdX2RGHOPq3ss+tA=="],
|
|
82
|
+
|
|
79
83
|
"@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
|
|
80
84
|
|
|
81
85
|
"@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="],
|
|
@@ -214,6 +218,8 @@
|
|
|
214
218
|
|
|
215
219
|
"cors": ["cors@2.8.5", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="],
|
|
216
220
|
|
|
221
|
+
"cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
|
|
222
|
+
|
|
217
223
|
"crypt": ["crypt@0.0.2", "", {}, "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="],
|
|
218
224
|
|
|
219
225
|
"dayjs": ["dayjs@1.11.13", "", {}, "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="],
|
|
@@ -256,8 +262,14 @@
|
|
|
256
262
|
|
|
257
263
|
"etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="],
|
|
258
264
|
|
|
265
|
+
"eventsource": ["eventsource@3.0.6", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA=="],
|
|
266
|
+
|
|
267
|
+
"eventsource-parser": ["eventsource-parser@3.0.1", "", {}, "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA=="],
|
|
268
|
+
|
|
259
269
|
"express": ["express@5.1.0", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA=="],
|
|
260
270
|
|
|
271
|
+
"express-rate-limit": ["express-rate-limit@7.5.0", "", { "peerDependencies": { "express": "^4.11 || 5 || ^5.0.0-beta.1" } }, "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg=="],
|
|
272
|
+
|
|
261
273
|
"fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
|
|
262
274
|
|
|
263
275
|
"fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="],
|
|
@@ -332,6 +344,8 @@
|
|
|
332
344
|
|
|
333
345
|
"is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="],
|
|
334
346
|
|
|
347
|
+
"isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
|
|
348
|
+
|
|
335
349
|
"json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
|
|
336
350
|
|
|
337
351
|
"lodash.truncate": ["lodash.truncate@4.4.2", "", {}, "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw=="],
|
|
@@ -370,12 +384,16 @@
|
|
|
370
384
|
|
|
371
385
|
"parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="],
|
|
372
386
|
|
|
387
|
+
"path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
|
|
388
|
+
|
|
373
389
|
"path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
|
|
374
390
|
|
|
375
391
|
"path-to-regexp": ["path-to-regexp@8.2.0", "", {}, "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ=="],
|
|
376
392
|
|
|
377
393
|
"picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="],
|
|
378
394
|
|
|
395
|
+
"pkce-challenge": ["pkce-challenge@5.0.0", "", {}, "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ=="],
|
|
396
|
+
|
|
379
397
|
"pkgroll": ["pkgroll@2.12.1", "", { "dependencies": { "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.2", "@rollup/plugin-dynamic-import-vars": "^2.1.5", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.0", "@rollup/pluginutils": "^5.1.4", "esbuild": "^0.25.1", "magic-string": "^0.30.17", "rollup": "^4.34.6", "rollup-pluginutils": "^2.8.2" }, "peerDependencies": { "typescript": "^4.1 || ^5.0" }, "optionalPeers": ["typescript"], "bin": { "pkgroll": "dist/cli.mjs" } }, "sha512-MpooedkVk28Sl1I5q8YO2QZmdlHdEtCzv1nReZdHNRhY0CzbZ14TewN47JopF+0rGCaQOERSPfcIOgPZDQXlZA=="],
|
|
380
398
|
|
|
381
399
|
"proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="],
|
|
@@ -418,6 +436,10 @@
|
|
|
418
436
|
|
|
419
437
|
"setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="],
|
|
420
438
|
|
|
439
|
+
"shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
|
|
440
|
+
|
|
441
|
+
"shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
|
|
442
|
+
|
|
421
443
|
"side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="],
|
|
422
444
|
|
|
423
445
|
"side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="],
|
|
@@ -454,8 +476,14 @@
|
|
|
454
476
|
|
|
455
477
|
"vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="],
|
|
456
478
|
|
|
479
|
+
"which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
|
|
480
|
+
|
|
457
481
|
"wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
|
|
458
482
|
|
|
483
|
+
"zod": ["zod@3.24.3", "", {}, "sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg=="],
|
|
484
|
+
|
|
485
|
+
"zod-to-json-schema": ["zod-to-json-schema@3.24.5", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g=="],
|
|
486
|
+
|
|
459
487
|
"form-data/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
|
|
460
488
|
|
|
461
489
|
"micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
|