+22
.gitignore
+22
.gitignore
+7
.prettierrc.json
+7
.prettierrc.json
+21
LICENSE
+21
LICENSE
···
1
+
MIT License
2
+
3
+
Copyright (c) 2025 Barry Prendergast
4
+
5
+
Permission is hereby granted, free of charge, to any person obtaining a copy
6
+
of this software and associated documentation files (the "Software"), to deal
7
+
in the Software without restriction, including without limitation the rights
8
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+
copies of the Software, and to permit persons to whom the Software is
10
+
furnished to do so, subject to the following conditions:
11
+
12
+
The above copyright notice and this permission notice shall be included in all
13
+
copies or substantial portions of the Software.
14
+
15
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+
SOFTWARE.
+82
README.md
+82
README.md
···
1
+
# Semble Raycast Extension
2
+
3
+
Search and manage your Semble `Cards` and `Collections` directly from Raycast.
4
+
5
+
## Features
6
+
7
+
- **Search Cards**: Search through all your saved cards with real-time filtering
8
+
- **Search Collections**: Find and access your collections quickly
9
+
- **Collection Filtering**: Filter cards by specific collections
10
+
- **Quick Actions**:
11
+
- Copy card link to clipboard (primary action)
12
+
- Visit card in browser
13
+
- Copy original URL
14
+
15
+
## Setup
16
+
17
+
1. Install the extension in Raycast
18
+
2. Configure your Semble credentials:
19
+
- **Identifier**: Your Semble username (e.g., `renderg.host`)
20
+
- **App Password**: Your AT Protocol app password
21
+
- **PDS Host** (optional): Your Personal Data Server host (default: `bsky.social`)
22
+
23
+
### Using a Custom PDS
24
+
25
+
> [!WARNING]
26
+
> This is so far untested. Please raise an issue if this doesn't work for you.
27
+
28
+
If you're running your own Personal Data Server or using an alternative AT Protocol PDS provider:
29
+
30
+
1. Open Raycast preferences (⌘+,)
31
+
2. Navigate to Extensions → Semble
32
+
3. In the **PDS Host** field, enter your custom PDS host without the protocol
33
+
- Example: `my-pds.example.com` (not `https://my-pds.example.com`)
34
+
4. Enter your identifier and app password as configured on your PDS
35
+
5. Save the preferences
36
+
37
+
The extension will automatically connect to `https://your-custom-host` for all authentication and data operations.
38
+
39
+
## Usage
40
+
41
+
### Search Cards
42
+
43
+
Use the `Search Cards` command to:
44
+
- View all your Semble cards
45
+
- Search by title or URL
46
+
- Filter by collection using the dropdown
47
+
- Press Enter to copy the card link
48
+
- Use ⌘+Enter for secondary actions
49
+
50
+
### Search Collections
51
+
52
+
Use the `Search Collections` command to:
53
+
- View all your collections
54
+
- Search by collection name
55
+
- Press Enter to copy the collection link
56
+
57
+
## Development
58
+
59
+
```bash
60
+
# Install dependencies
61
+
npm install
62
+
63
+
# Run in development mode
64
+
npm run dev
65
+
66
+
# Build for production
67
+
npm run build
68
+
```
69
+
70
+
## License
71
+
72
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
73
+
74
+
## Credits
75
+
76
+
Semble is being built by [Cosmik Network](https://cosmik.network/). Get involved [here](https://cosmik.network/#connect).
77
+
78
+
Learn more about Cosmik Network and Semble [here](https://blog.cosmik.network/).
79
+
80
+
## Contributing
81
+
82
+
Contributions are welcome! Please feel free to submit a Pull Request.
assets/icon.png
assets/icon.png
This is a binary file and will not be displayed.
+3646
package-lock.json
+3646
package-lock.json
···
1
+
{
2
+
"name": "semble",
3
+
"lockfileVersion": 3,
4
+
"requires": true,
5
+
"packages": {
6
+
"": {
7
+
"name": "semble",
8
+
"license": "MIT",
9
+
"dependencies": {
10
+
"@atproto/api": "latest",
11
+
"@raycast/api": "latest",
12
+
"@raycast/utils": "latest"
13
+
},
14
+
"devDependencies": {
15
+
"@raycast/eslint-config": "latest",
16
+
"@types/node": "latest",
17
+
"@types/react": "latest",
18
+
"eslint": "latest",
19
+
"prettier": "latest",
20
+
"typescript": "latest"
21
+
}
22
+
},
23
+
"node_modules/@atproto/api": {
24
+
"version": "0.12.29",
25
+
"resolved": "https://registry.npmjs.org/@atproto/api/-/api-0.12.29.tgz",
26
+
"integrity": "sha512-PyzPLjGWR0qNOMrmj3Nt3N5NuuANSgOk/33Bu3j+rFjjPrHvk9CI6iQPU6zuDaDCoyOTRJRafw8X/aMQw+ilgw==",
27
+
"license": "MIT",
28
+
"dependencies": {
29
+
"@atproto/common-web": "^0.3.0",
30
+
"@atproto/lexicon": "^0.4.0",
31
+
"@atproto/syntax": "^0.3.0",
32
+
"@atproto/xrpc": "^0.5.0",
33
+
"await-lock": "^2.2.2",
34
+
"multiformats": "^9.9.0",
35
+
"tlds": "^1.234.0"
36
+
}
37
+
},
38
+
"node_modules/@atproto/common-web": {
39
+
"version": "0.3.2",
40
+
"resolved": "https://registry.npmjs.org/@atproto/common-web/-/common-web-0.3.2.tgz",
41
+
"integrity": "sha512-Vx0JtL1/CssJbFAb0UOdvTrkbUautsDfHNOXNTcX2vyPIxH9xOameSqLLunM1hZnOQbJwyjmQCt6TV+bhnanDg==",
42
+
"license": "MIT",
43
+
"dependencies": {
44
+
"graphemer": "^1.4.0",
45
+
"multiformats": "^9.9.0",
46
+
"uint8arrays": "3.0.0",
47
+
"zod": "^3.23.8"
48
+
}
49
+
},
50
+
"node_modules/@atproto/lexicon": {
51
+
"version": "0.4.14",
52
+
"resolved": "https://registry.npmjs.org/@atproto/lexicon/-/lexicon-0.4.14.tgz",
53
+
"integrity": "sha512-jiKpmH1QER3Gvc7JVY5brwrfo+etFoe57tKPQX/SmPwjvUsFnJAow5xLIryuBaJgFAhnTZViXKs41t//pahGHQ==",
54
+
"license": "MIT",
55
+
"dependencies": {
56
+
"@atproto/common-web": "^0.4.2",
57
+
"@atproto/syntax": "^0.4.0",
58
+
"iso-datestring-validator": "^2.2.2",
59
+
"multiformats": "^9.9.0",
60
+
"zod": "^3.23.8"
61
+
}
62
+
},
63
+
"node_modules/@atproto/lexicon/node_modules/@atproto/common-web": {
64
+
"version": "0.4.3",
65
+
"resolved": "https://registry.npmjs.org/@atproto/common-web/-/common-web-0.4.3.tgz",
66
+
"integrity": "sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg==",
67
+
"license": "MIT",
68
+
"dependencies": {
69
+
"graphemer": "^1.4.0",
70
+
"multiformats": "^9.9.0",
71
+
"uint8arrays": "3.0.0",
72
+
"zod": "^3.23.8"
73
+
}
74
+
},
75
+
"node_modules/@atproto/lexicon/node_modules/@atproto/syntax": {
76
+
"version": "0.4.1",
77
+
"resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.4.1.tgz",
78
+
"integrity": "sha512-CJdImtLAiFO+0z3BWTtxwk6aY5w4t8orHTMVJgkf++QRJWTxPbIFko/0hrkADB7n2EruDxDSeAgfUGehpH6ngw==",
79
+
"license": "MIT"
80
+
},
81
+
"node_modules/@atproto/syntax": {
82
+
"version": "0.3.4",
83
+
"resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.3.4.tgz",
84
+
"integrity": "sha512-8CNmi5DipOLaVeSMPggMe7FCksVag0aO6XZy9WflbduTKM4dFZVCs4686UeMLfGRXX+X966XgwECHoLYrovMMg==",
85
+
"license": "MIT"
86
+
},
87
+
"node_modules/@atproto/xrpc": {
88
+
"version": "0.5.0",
89
+
"resolved": "https://registry.npmjs.org/@atproto/xrpc/-/xrpc-0.5.0.tgz",
90
+
"integrity": "sha512-swu+wyOLvYW4l3n+VAuJbHcPcES+tin2Lsrp8Bw5aIXIICiuFn1YMFlwK9JwVUzTH21Py1s1nHEjr4CJeElJog==",
91
+
"license": "MIT",
92
+
"dependencies": {
93
+
"@atproto/lexicon": "^0.4.0",
94
+
"zod": "^3.21.4"
95
+
}
96
+
},
97
+
"node_modules/@esbuild/aix-ppc64": {
98
+
"version": "0.25.12",
99
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
100
+
"integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
101
+
"cpu": [
102
+
"ppc64"
103
+
],
104
+
"license": "MIT",
105
+
"optional": true,
106
+
"os": [
107
+
"aix"
108
+
],
109
+
"engines": {
110
+
"node": ">=18"
111
+
}
112
+
},
113
+
"node_modules/@esbuild/android-arm": {
114
+
"version": "0.25.12",
115
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
116
+
"integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
117
+
"cpu": [
118
+
"arm"
119
+
],
120
+
"license": "MIT",
121
+
"optional": true,
122
+
"os": [
123
+
"android"
124
+
],
125
+
"engines": {
126
+
"node": ">=18"
127
+
}
128
+
},
129
+
"node_modules/@esbuild/android-arm64": {
130
+
"version": "0.25.12",
131
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
132
+
"integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
133
+
"cpu": [
134
+
"arm64"
135
+
],
136
+
"license": "MIT",
137
+
"optional": true,
138
+
"os": [
139
+
"android"
140
+
],
141
+
"engines": {
142
+
"node": ">=18"
143
+
}
144
+
},
145
+
"node_modules/@esbuild/android-x64": {
146
+
"version": "0.25.12",
147
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
148
+
"integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
149
+
"cpu": [
150
+
"x64"
151
+
],
152
+
"license": "MIT",
153
+
"optional": true,
154
+
"os": [
155
+
"android"
156
+
],
157
+
"engines": {
158
+
"node": ">=18"
159
+
}
160
+
},
161
+
"node_modules/@esbuild/darwin-arm64": {
162
+
"version": "0.25.12",
163
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
164
+
"integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
165
+
"cpu": [
166
+
"arm64"
167
+
],
168
+
"license": "MIT",
169
+
"optional": true,
170
+
"os": [
171
+
"darwin"
172
+
],
173
+
"engines": {
174
+
"node": ">=18"
175
+
}
176
+
},
177
+
"node_modules/@esbuild/darwin-x64": {
178
+
"version": "0.25.12",
179
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
180
+
"integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
181
+
"cpu": [
182
+
"x64"
183
+
],
184
+
"license": "MIT",
185
+
"optional": true,
186
+
"os": [
187
+
"darwin"
188
+
],
189
+
"engines": {
190
+
"node": ">=18"
191
+
}
192
+
},
193
+
"node_modules/@esbuild/freebsd-arm64": {
194
+
"version": "0.25.12",
195
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
196
+
"integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
197
+
"cpu": [
198
+
"arm64"
199
+
],
200
+
"license": "MIT",
201
+
"optional": true,
202
+
"os": [
203
+
"freebsd"
204
+
],
205
+
"engines": {
206
+
"node": ">=18"
207
+
}
208
+
},
209
+
"node_modules/@esbuild/freebsd-x64": {
210
+
"version": "0.25.12",
211
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
212
+
"integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
213
+
"cpu": [
214
+
"x64"
215
+
],
216
+
"license": "MIT",
217
+
"optional": true,
218
+
"os": [
219
+
"freebsd"
220
+
],
221
+
"engines": {
222
+
"node": ">=18"
223
+
}
224
+
},
225
+
"node_modules/@esbuild/linux-arm": {
226
+
"version": "0.25.12",
227
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
228
+
"integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
229
+
"cpu": [
230
+
"arm"
231
+
],
232
+
"license": "MIT",
233
+
"optional": true,
234
+
"os": [
235
+
"linux"
236
+
],
237
+
"engines": {
238
+
"node": ">=18"
239
+
}
240
+
},
241
+
"node_modules/@esbuild/linux-arm64": {
242
+
"version": "0.25.12",
243
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
244
+
"integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
245
+
"cpu": [
246
+
"arm64"
247
+
],
248
+
"license": "MIT",
249
+
"optional": true,
250
+
"os": [
251
+
"linux"
252
+
],
253
+
"engines": {
254
+
"node": ">=18"
255
+
}
256
+
},
257
+
"node_modules/@esbuild/linux-ia32": {
258
+
"version": "0.25.12",
259
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
260
+
"integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
261
+
"cpu": [
262
+
"ia32"
263
+
],
264
+
"license": "MIT",
265
+
"optional": true,
266
+
"os": [
267
+
"linux"
268
+
],
269
+
"engines": {
270
+
"node": ">=18"
271
+
}
272
+
},
273
+
"node_modules/@esbuild/linux-loong64": {
274
+
"version": "0.25.12",
275
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
276
+
"integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
277
+
"cpu": [
278
+
"loong64"
279
+
],
280
+
"license": "MIT",
281
+
"optional": true,
282
+
"os": [
283
+
"linux"
284
+
],
285
+
"engines": {
286
+
"node": ">=18"
287
+
}
288
+
},
289
+
"node_modules/@esbuild/linux-mips64el": {
290
+
"version": "0.25.12",
291
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
292
+
"integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
293
+
"cpu": [
294
+
"mips64el"
295
+
],
296
+
"license": "MIT",
297
+
"optional": true,
298
+
"os": [
299
+
"linux"
300
+
],
301
+
"engines": {
302
+
"node": ">=18"
303
+
}
304
+
},
305
+
"node_modules/@esbuild/linux-ppc64": {
306
+
"version": "0.25.12",
307
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
308
+
"integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
309
+
"cpu": [
310
+
"ppc64"
311
+
],
312
+
"license": "MIT",
313
+
"optional": true,
314
+
"os": [
315
+
"linux"
316
+
],
317
+
"engines": {
318
+
"node": ">=18"
319
+
}
320
+
},
321
+
"node_modules/@esbuild/linux-riscv64": {
322
+
"version": "0.25.12",
323
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
324
+
"integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
325
+
"cpu": [
326
+
"riscv64"
327
+
],
328
+
"license": "MIT",
329
+
"optional": true,
330
+
"os": [
331
+
"linux"
332
+
],
333
+
"engines": {
334
+
"node": ">=18"
335
+
}
336
+
},
337
+
"node_modules/@esbuild/linux-s390x": {
338
+
"version": "0.25.12",
339
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
340
+
"integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
341
+
"cpu": [
342
+
"s390x"
343
+
],
344
+
"license": "MIT",
345
+
"optional": true,
346
+
"os": [
347
+
"linux"
348
+
],
349
+
"engines": {
350
+
"node": ">=18"
351
+
}
352
+
},
353
+
"node_modules/@esbuild/linux-x64": {
354
+
"version": "0.25.12",
355
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
356
+
"integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
357
+
"cpu": [
358
+
"x64"
359
+
],
360
+
"license": "MIT",
361
+
"optional": true,
362
+
"os": [
363
+
"linux"
364
+
],
365
+
"engines": {
366
+
"node": ">=18"
367
+
}
368
+
},
369
+
"node_modules/@esbuild/netbsd-arm64": {
370
+
"version": "0.25.12",
371
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
372
+
"integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
373
+
"cpu": [
374
+
"arm64"
375
+
],
376
+
"license": "MIT",
377
+
"optional": true,
378
+
"os": [
379
+
"netbsd"
380
+
],
381
+
"engines": {
382
+
"node": ">=18"
383
+
}
384
+
},
385
+
"node_modules/@esbuild/netbsd-x64": {
386
+
"version": "0.25.12",
387
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
388
+
"integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
389
+
"cpu": [
390
+
"x64"
391
+
],
392
+
"license": "MIT",
393
+
"optional": true,
394
+
"os": [
395
+
"netbsd"
396
+
],
397
+
"engines": {
398
+
"node": ">=18"
399
+
}
400
+
},
401
+
"node_modules/@esbuild/openbsd-arm64": {
402
+
"version": "0.25.12",
403
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
404
+
"integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
405
+
"cpu": [
406
+
"arm64"
407
+
],
408
+
"license": "MIT",
409
+
"optional": true,
410
+
"os": [
411
+
"openbsd"
412
+
],
413
+
"engines": {
414
+
"node": ">=18"
415
+
}
416
+
},
417
+
"node_modules/@esbuild/openbsd-x64": {
418
+
"version": "0.25.12",
419
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
420
+
"integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
421
+
"cpu": [
422
+
"x64"
423
+
],
424
+
"license": "MIT",
425
+
"optional": true,
426
+
"os": [
427
+
"openbsd"
428
+
],
429
+
"engines": {
430
+
"node": ">=18"
431
+
}
432
+
},
433
+
"node_modules/@esbuild/openharmony-arm64": {
434
+
"version": "0.25.12",
435
+
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
436
+
"integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
437
+
"cpu": [
438
+
"arm64"
439
+
],
440
+
"license": "MIT",
441
+
"optional": true,
442
+
"os": [
443
+
"openharmony"
444
+
],
445
+
"engines": {
446
+
"node": ">=18"
447
+
}
448
+
},
449
+
"node_modules/@esbuild/sunos-x64": {
450
+
"version": "0.25.12",
451
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
452
+
"integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
453
+
"cpu": [
454
+
"x64"
455
+
],
456
+
"license": "MIT",
457
+
"optional": true,
458
+
"os": [
459
+
"sunos"
460
+
],
461
+
"engines": {
462
+
"node": ">=18"
463
+
}
464
+
},
465
+
"node_modules/@esbuild/win32-arm64": {
466
+
"version": "0.25.12",
467
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
468
+
"integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
469
+
"cpu": [
470
+
"arm64"
471
+
],
472
+
"license": "MIT",
473
+
"optional": true,
474
+
"os": [
475
+
"win32"
476
+
],
477
+
"engines": {
478
+
"node": ">=18"
479
+
}
480
+
},
481
+
"node_modules/@esbuild/win32-ia32": {
482
+
"version": "0.25.12",
483
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
484
+
"integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
485
+
"cpu": [
486
+
"ia32"
487
+
],
488
+
"license": "MIT",
489
+
"optional": true,
490
+
"os": [
491
+
"win32"
492
+
],
493
+
"engines": {
494
+
"node": ">=18"
495
+
}
496
+
},
497
+
"node_modules/@esbuild/win32-x64": {
498
+
"version": "0.25.12",
499
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
500
+
"integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
501
+
"cpu": [
502
+
"x64"
503
+
],
504
+
"license": "MIT",
505
+
"optional": true,
506
+
"os": [
507
+
"win32"
508
+
],
509
+
"engines": {
510
+
"node": ">=18"
511
+
}
512
+
},
513
+
"node_modules/@eslint-community/eslint-utils": {
514
+
"version": "4.9.0",
515
+
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
516
+
"integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
517
+
"dev": true,
518
+
"license": "MIT",
519
+
"dependencies": {
520
+
"eslint-visitor-keys": "^3.4.3"
521
+
},
522
+
"engines": {
523
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
524
+
},
525
+
"funding": {
526
+
"url": "https://opencollective.com/eslint"
527
+
},
528
+
"peerDependencies": {
529
+
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
530
+
}
531
+
},
532
+
"node_modules/@eslint-community/regexpp": {
533
+
"version": "4.12.2",
534
+
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
535
+
"integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
536
+
"dev": true,
537
+
"license": "MIT",
538
+
"engines": {
539
+
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
540
+
}
541
+
},
542
+
"node_modules/@eslint/eslintrc": {
543
+
"version": "2.1.4",
544
+
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
545
+
"integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
546
+
"dev": true,
547
+
"license": "MIT",
548
+
"dependencies": {
549
+
"ajv": "^6.12.4",
550
+
"debug": "^4.3.2",
551
+
"espree": "^9.6.0",
552
+
"globals": "^13.19.0",
553
+
"ignore": "^5.2.0",
554
+
"import-fresh": "^3.2.1",
555
+
"js-yaml": "^4.1.0",
556
+
"minimatch": "^3.1.2",
557
+
"strip-json-comments": "^3.1.1"
558
+
},
559
+
"engines": {
560
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
561
+
},
562
+
"funding": {
563
+
"url": "https://opencollective.com/eslint"
564
+
}
565
+
},
566
+
"node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
567
+
"version": "1.1.12",
568
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
569
+
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
570
+
"dev": true,
571
+
"license": "MIT",
572
+
"dependencies": {
573
+
"balanced-match": "^1.0.0",
574
+
"concat-map": "0.0.1"
575
+
}
576
+
},
577
+
"node_modules/@eslint/eslintrc/node_modules/minimatch": {
578
+
"version": "3.1.2",
579
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
580
+
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
581
+
"dev": true,
582
+
"license": "ISC",
583
+
"dependencies": {
584
+
"brace-expansion": "^1.1.7"
585
+
},
586
+
"engines": {
587
+
"node": "*"
588
+
}
589
+
},
590
+
"node_modules/@eslint/js": {
591
+
"version": "8.57.1",
592
+
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
593
+
"integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
594
+
"dev": true,
595
+
"license": "MIT",
596
+
"engines": {
597
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
598
+
}
599
+
},
600
+
"node_modules/@humanwhocodes/config-array": {
601
+
"version": "0.13.0",
602
+
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
603
+
"integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
604
+
"deprecated": "Use @eslint/config-array instead",
605
+
"dev": true,
606
+
"license": "Apache-2.0",
607
+
"dependencies": {
608
+
"@humanwhocodes/object-schema": "^2.0.3",
609
+
"debug": "^4.3.1",
610
+
"minimatch": "^3.0.5"
611
+
},
612
+
"engines": {
613
+
"node": ">=10.10.0"
614
+
}
615
+
},
616
+
"node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
617
+
"version": "1.1.12",
618
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
619
+
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
620
+
"dev": true,
621
+
"license": "MIT",
622
+
"dependencies": {
623
+
"balanced-match": "^1.0.0",
624
+
"concat-map": "0.0.1"
625
+
}
626
+
},
627
+
"node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
628
+
"version": "3.1.2",
629
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
630
+
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
631
+
"dev": true,
632
+
"license": "ISC",
633
+
"dependencies": {
634
+
"brace-expansion": "^1.1.7"
635
+
},
636
+
"engines": {
637
+
"node": "*"
638
+
}
639
+
},
640
+
"node_modules/@humanwhocodes/module-importer": {
641
+
"version": "1.0.1",
642
+
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
643
+
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
644
+
"dev": true,
645
+
"license": "Apache-2.0",
646
+
"engines": {
647
+
"node": ">=12.22"
648
+
},
649
+
"funding": {
650
+
"type": "github",
651
+
"url": "https://github.com/sponsors/nzakas"
652
+
}
653
+
},
654
+
"node_modules/@humanwhocodes/object-schema": {
655
+
"version": "2.0.3",
656
+
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
657
+
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
658
+
"deprecated": "Use @eslint/object-schema instead",
659
+
"dev": true,
660
+
"license": "BSD-3-Clause"
661
+
},
662
+
"node_modules/@inquirer/ansi": {
663
+
"version": "1.0.2",
664
+
"resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz",
665
+
"integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==",
666
+
"license": "MIT",
667
+
"engines": {
668
+
"node": ">=18"
669
+
}
670
+
},
671
+
"node_modules/@inquirer/checkbox": {
672
+
"version": "4.3.1",
673
+
"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.1.tgz",
674
+
"integrity": "sha512-rOcLotrptYIy59SGQhKlU0xBg1vvcVl2FdPIEclUvKHh0wo12OfGkId/01PIMJ/V+EimJ77t085YabgnQHBa5A==",
675
+
"license": "MIT",
676
+
"dependencies": {
677
+
"@inquirer/ansi": "^1.0.2",
678
+
"@inquirer/core": "^10.3.1",
679
+
"@inquirer/figures": "^1.0.15",
680
+
"@inquirer/type": "^3.0.10",
681
+
"yoctocolors-cjs": "^2.1.3"
682
+
},
683
+
"engines": {
684
+
"node": ">=18"
685
+
},
686
+
"peerDependencies": {
687
+
"@types/node": ">=18"
688
+
},
689
+
"peerDependenciesMeta": {
690
+
"@types/node": {
691
+
"optional": true
692
+
}
693
+
}
694
+
},
695
+
"node_modules/@inquirer/confirm": {
696
+
"version": "5.1.20",
697
+
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.20.tgz",
698
+
"integrity": "sha512-HDGiWh2tyRZa0M1ZnEIUCQro25gW/mN8ODByicQrbR1yHx4hT+IOpozCMi5TgBtUdklLwRI2mv14eNpftDluEw==",
699
+
"license": "MIT",
700
+
"dependencies": {
701
+
"@inquirer/core": "^10.3.1",
702
+
"@inquirer/type": "^3.0.10"
703
+
},
704
+
"engines": {
705
+
"node": ">=18"
706
+
},
707
+
"peerDependencies": {
708
+
"@types/node": ">=18"
709
+
},
710
+
"peerDependenciesMeta": {
711
+
"@types/node": {
712
+
"optional": true
713
+
}
714
+
}
715
+
},
716
+
"node_modules/@inquirer/core": {
717
+
"version": "10.3.1",
718
+
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.1.tgz",
719
+
"integrity": "sha512-hzGKIkfomGFPgxKmnKEKeA+uCYBqC+TKtRx5LgyHRCrF6S2MliwRIjp3sUaWwVzMp7ZXVs8elB0Tfe682Rpg4w==",
720
+
"license": "MIT",
721
+
"dependencies": {
722
+
"@inquirer/ansi": "^1.0.2",
723
+
"@inquirer/figures": "^1.0.15",
724
+
"@inquirer/type": "^3.0.10",
725
+
"cli-width": "^4.1.0",
726
+
"mute-stream": "^3.0.0",
727
+
"signal-exit": "^4.1.0",
728
+
"wrap-ansi": "^6.2.0",
729
+
"yoctocolors-cjs": "^2.1.3"
730
+
},
731
+
"engines": {
732
+
"node": ">=18"
733
+
},
734
+
"peerDependencies": {
735
+
"@types/node": ">=18"
736
+
},
737
+
"peerDependenciesMeta": {
738
+
"@types/node": {
739
+
"optional": true
740
+
}
741
+
}
742
+
},
743
+
"node_modules/@inquirer/core/node_modules/wrap-ansi": {
744
+
"version": "6.2.0",
745
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
746
+
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
747
+
"license": "MIT",
748
+
"dependencies": {
749
+
"ansi-styles": "^4.0.0",
750
+
"string-width": "^4.1.0",
751
+
"strip-ansi": "^6.0.0"
752
+
},
753
+
"engines": {
754
+
"node": ">=8"
755
+
}
756
+
},
757
+
"node_modules/@inquirer/editor": {
758
+
"version": "4.2.22",
759
+
"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.22.tgz",
760
+
"integrity": "sha512-8yYZ9TCbBKoBkzHtVNMF6PV1RJEUvMlhvmS3GxH4UvXMEHlS45jFyqFy0DU+K42jBs5slOaA78xGqqqWAx3u6A==",
761
+
"license": "MIT",
762
+
"dependencies": {
763
+
"@inquirer/core": "^10.3.1",
764
+
"@inquirer/external-editor": "^1.0.3",
765
+
"@inquirer/type": "^3.0.10"
766
+
},
767
+
"engines": {
768
+
"node": ">=18"
769
+
},
770
+
"peerDependencies": {
771
+
"@types/node": ">=18"
772
+
},
773
+
"peerDependenciesMeta": {
774
+
"@types/node": {
775
+
"optional": true
776
+
}
777
+
}
778
+
},
779
+
"node_modules/@inquirer/expand": {
780
+
"version": "4.0.22",
781
+
"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.22.tgz",
782
+
"integrity": "sha512-9XOjCjvioLjwlq4S4yXzhvBmAXj5tG+jvva0uqedEsQ9VD8kZ+YT7ap23i0bIXOtow+di4+u3i6u26nDqEfY4Q==",
783
+
"license": "MIT",
784
+
"dependencies": {
785
+
"@inquirer/core": "^10.3.1",
786
+
"@inquirer/type": "^3.0.10",
787
+
"yoctocolors-cjs": "^2.1.3"
788
+
},
789
+
"engines": {
790
+
"node": ">=18"
791
+
},
792
+
"peerDependencies": {
793
+
"@types/node": ">=18"
794
+
},
795
+
"peerDependenciesMeta": {
796
+
"@types/node": {
797
+
"optional": true
798
+
}
799
+
}
800
+
},
801
+
"node_modules/@inquirer/external-editor": {
802
+
"version": "1.0.3",
803
+
"resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz",
804
+
"integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==",
805
+
"license": "MIT",
806
+
"dependencies": {
807
+
"chardet": "^2.1.1",
808
+
"iconv-lite": "^0.7.0"
809
+
},
810
+
"engines": {
811
+
"node": ">=18"
812
+
},
813
+
"peerDependencies": {
814
+
"@types/node": ">=18"
815
+
},
816
+
"peerDependenciesMeta": {
817
+
"@types/node": {
818
+
"optional": true
819
+
}
820
+
}
821
+
},
822
+
"node_modules/@inquirer/figures": {
823
+
"version": "1.0.15",
824
+
"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz",
825
+
"integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==",
826
+
"license": "MIT",
827
+
"engines": {
828
+
"node": ">=18"
829
+
}
830
+
},
831
+
"node_modules/@inquirer/input": {
832
+
"version": "4.3.0",
833
+
"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.0.tgz",
834
+
"integrity": "sha512-h4fgse5zeGsBSW3cRQqu9a99OXRdRsNCvHoBqVmz40cjYjYFzcfwD0KA96BHIPlT7rZw0IpiefQIqXrjbzjS4Q==",
835
+
"license": "MIT",
836
+
"dependencies": {
837
+
"@inquirer/core": "^10.3.1",
838
+
"@inquirer/type": "^3.0.10"
839
+
},
840
+
"engines": {
841
+
"node": ">=18"
842
+
},
843
+
"peerDependencies": {
844
+
"@types/node": ">=18"
845
+
},
846
+
"peerDependenciesMeta": {
847
+
"@types/node": {
848
+
"optional": true
849
+
}
850
+
}
851
+
},
852
+
"node_modules/@inquirer/number": {
853
+
"version": "3.0.22",
854
+
"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.22.tgz",
855
+
"integrity": "sha512-oAdMJXz++fX58HsIEYmvuf5EdE8CfBHHXjoi9cTcQzgFoHGZE+8+Y3P38MlaRMeBvAVnkWtAxMUF6urL2zYsbg==",
856
+
"license": "MIT",
857
+
"dependencies": {
858
+
"@inquirer/core": "^10.3.1",
859
+
"@inquirer/type": "^3.0.10"
860
+
},
861
+
"engines": {
862
+
"node": ">=18"
863
+
},
864
+
"peerDependencies": {
865
+
"@types/node": ">=18"
866
+
},
867
+
"peerDependenciesMeta": {
868
+
"@types/node": {
869
+
"optional": true
870
+
}
871
+
}
872
+
},
873
+
"node_modules/@inquirer/password": {
874
+
"version": "4.0.22",
875
+
"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.22.tgz",
876
+
"integrity": "sha512-CbdqK1ioIr0Y3akx03k/+Twf+KSlHjn05hBL+rmubMll7PsDTGH0R4vfFkr+XrkB0FOHrjIwVP9crt49dgt+1g==",
877
+
"license": "MIT",
878
+
"dependencies": {
879
+
"@inquirer/ansi": "^1.0.2",
880
+
"@inquirer/core": "^10.3.1",
881
+
"@inquirer/type": "^3.0.10"
882
+
},
883
+
"engines": {
884
+
"node": ">=18"
885
+
},
886
+
"peerDependencies": {
887
+
"@types/node": ">=18"
888
+
},
889
+
"peerDependenciesMeta": {
890
+
"@types/node": {
891
+
"optional": true
892
+
}
893
+
}
894
+
},
895
+
"node_modules/@inquirer/prompts": {
896
+
"version": "7.10.0",
897
+
"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.0.tgz",
898
+
"integrity": "sha512-X2HAjY9BClfFkJ2RP3iIiFxlct5JJVdaYYXhA7RKxsbc9KL+VbId79PSoUGH/OLS011NFbHHDMDcBKUj3T89+Q==",
899
+
"license": "MIT",
900
+
"dependencies": {
901
+
"@inquirer/checkbox": "^4.3.1",
902
+
"@inquirer/confirm": "^5.1.20",
903
+
"@inquirer/editor": "^4.2.22",
904
+
"@inquirer/expand": "^4.0.22",
905
+
"@inquirer/input": "^4.3.0",
906
+
"@inquirer/number": "^3.0.22",
907
+
"@inquirer/password": "^4.0.22",
908
+
"@inquirer/rawlist": "^4.1.10",
909
+
"@inquirer/search": "^3.2.1",
910
+
"@inquirer/select": "^4.4.1"
911
+
},
912
+
"engines": {
913
+
"node": ">=18"
914
+
},
915
+
"peerDependencies": {
916
+
"@types/node": ">=18"
917
+
},
918
+
"peerDependenciesMeta": {
919
+
"@types/node": {
920
+
"optional": true
921
+
}
922
+
}
923
+
},
924
+
"node_modules/@inquirer/rawlist": {
925
+
"version": "4.1.10",
926
+
"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.10.tgz",
927
+
"integrity": "sha512-Du4uidsgTMkoH5izgpfyauTL/ItVHOLsVdcY+wGeoGaG56BV+/JfmyoQGniyhegrDzXpfn3D+LFHaxMDRygcAw==",
928
+
"license": "MIT",
929
+
"dependencies": {
930
+
"@inquirer/core": "^10.3.1",
931
+
"@inquirer/type": "^3.0.10",
932
+
"yoctocolors-cjs": "^2.1.3"
933
+
},
934
+
"engines": {
935
+
"node": ">=18"
936
+
},
937
+
"peerDependencies": {
938
+
"@types/node": ">=18"
939
+
},
940
+
"peerDependenciesMeta": {
941
+
"@types/node": {
942
+
"optional": true
943
+
}
944
+
}
945
+
},
946
+
"node_modules/@inquirer/search": {
947
+
"version": "3.2.1",
948
+
"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.1.tgz",
949
+
"integrity": "sha512-cKiuUvETublmTmaOneEermfG2tI9ABpb7fW/LqzZAnSv4ZaJnbEis05lOkiBuYX5hNdnX0Q9ryOQyrNidb55WA==",
950
+
"license": "MIT",
951
+
"dependencies": {
952
+
"@inquirer/core": "^10.3.1",
953
+
"@inquirer/figures": "^1.0.15",
954
+
"@inquirer/type": "^3.0.10",
955
+
"yoctocolors-cjs": "^2.1.3"
956
+
},
957
+
"engines": {
958
+
"node": ">=18"
959
+
},
960
+
"peerDependencies": {
961
+
"@types/node": ">=18"
962
+
},
963
+
"peerDependenciesMeta": {
964
+
"@types/node": {
965
+
"optional": true
966
+
}
967
+
}
968
+
},
969
+
"node_modules/@inquirer/select": {
970
+
"version": "4.4.1",
971
+
"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.1.tgz",
972
+
"integrity": "sha512-E9hbLU4XsNe2SAOSsFrtYtYQDVi1mfbqJrPDvXKnGlnRiApBdWMJz7r3J2Ff38AqULkPUD3XjQMD4492TymD7Q==",
973
+
"license": "MIT",
974
+
"dependencies": {
975
+
"@inquirer/ansi": "^1.0.2",
976
+
"@inquirer/core": "^10.3.1",
977
+
"@inquirer/figures": "^1.0.15",
978
+
"@inquirer/type": "^3.0.10",
979
+
"yoctocolors-cjs": "^2.1.3"
980
+
},
981
+
"engines": {
982
+
"node": ">=18"
983
+
},
984
+
"peerDependencies": {
985
+
"@types/node": ">=18"
986
+
},
987
+
"peerDependenciesMeta": {
988
+
"@types/node": {
989
+
"optional": true
990
+
}
991
+
}
992
+
},
993
+
"node_modules/@inquirer/type": {
994
+
"version": "3.0.10",
995
+
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz",
996
+
"integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==",
997
+
"license": "MIT",
998
+
"engines": {
999
+
"node": ">=18"
1000
+
},
1001
+
"peerDependencies": {
1002
+
"@types/node": ">=18"
1003
+
},
1004
+
"peerDependenciesMeta": {
1005
+
"@types/node": {
1006
+
"optional": true
1007
+
}
1008
+
}
1009
+
},
1010
+
"node_modules/@nodelib/fs.scandir": {
1011
+
"version": "2.1.5",
1012
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
1013
+
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
1014
+
"dev": true,
1015
+
"license": "MIT",
1016
+
"dependencies": {
1017
+
"@nodelib/fs.stat": "2.0.5",
1018
+
"run-parallel": "^1.1.9"
1019
+
},
1020
+
"engines": {
1021
+
"node": ">= 8"
1022
+
}
1023
+
},
1024
+
"node_modules/@nodelib/fs.stat": {
1025
+
"version": "2.0.5",
1026
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
1027
+
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
1028
+
"dev": true,
1029
+
"license": "MIT",
1030
+
"engines": {
1031
+
"node": ">= 8"
1032
+
}
1033
+
},
1034
+
"node_modules/@nodelib/fs.walk": {
1035
+
"version": "1.2.8",
1036
+
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
1037
+
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
1038
+
"dev": true,
1039
+
"license": "MIT",
1040
+
"dependencies": {
1041
+
"@nodelib/fs.scandir": "2.1.5",
1042
+
"fastq": "^1.6.0"
1043
+
},
1044
+
"engines": {
1045
+
"node": ">= 8"
1046
+
}
1047
+
},
1048
+
"node_modules/@oclif/core": {
1049
+
"version": "4.8.0",
1050
+
"resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.8.0.tgz",
1051
+
"integrity": "sha512-jteNUQKgJHLHFbbz806aGZqf+RJJ7t4gwF4MYa8fCwCxQ8/klJNWc0MvaJiBebk7Mc+J39mdlsB4XraaCKznFw==",
1052
+
"license": "MIT",
1053
+
"dependencies": {
1054
+
"ansi-escapes": "^4.3.2",
1055
+
"ansis": "^3.17.0",
1056
+
"clean-stack": "^3.0.1",
1057
+
"cli-spinners": "^2.9.2",
1058
+
"debug": "^4.4.3",
1059
+
"ejs": "^3.1.10",
1060
+
"get-package-type": "^0.1.0",
1061
+
"indent-string": "^4.0.0",
1062
+
"is-wsl": "^2.2.0",
1063
+
"lilconfig": "^3.1.3",
1064
+
"minimatch": "^9.0.5",
1065
+
"semver": "^7.7.3",
1066
+
"string-width": "^4.2.3",
1067
+
"supports-color": "^8",
1068
+
"tinyglobby": "^0.2.14",
1069
+
"widest-line": "^3.1.0",
1070
+
"wordwrap": "^1.0.0",
1071
+
"wrap-ansi": "^7.0.0"
1072
+
},
1073
+
"engines": {
1074
+
"node": ">=18.0.0"
1075
+
}
1076
+
},
1077
+
"node_modules/@oclif/plugin-autocomplete": {
1078
+
"version": "3.2.39",
1079
+
"resolved": "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-3.2.39.tgz",
1080
+
"integrity": "sha512-OwAZNnSpuDjKyhAwoOJkFWxGswPFKBB4hpNIMsj6PUtbKwGBPmD+2wGGPgTsDioVwLmUELSb2bZ+1dxHfvXmvg==",
1081
+
"license": "MIT",
1082
+
"dependencies": {
1083
+
"@oclif/core": "^4",
1084
+
"ansis": "^3.16.0",
1085
+
"debug": "^4.4.1",
1086
+
"ejs": "^3.1.10"
1087
+
},
1088
+
"engines": {
1089
+
"node": ">=18.0.0"
1090
+
}
1091
+
},
1092
+
"node_modules/@oclif/plugin-help": {
1093
+
"version": "6.2.35",
1094
+
"resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-6.2.35.tgz",
1095
+
"integrity": "sha512-ZMcQTsHaiCEOZIRZoynUQ+98fyM1Adoqx4LbOgYWRVKXKbavHPCZKm6F+/y0GpWscXVoeGnvJO6GIBsigrqaSA==",
1096
+
"license": "MIT",
1097
+
"dependencies": {
1098
+
"@oclif/core": "^4"
1099
+
},
1100
+
"engines": {
1101
+
"node": ">=18.0.0"
1102
+
}
1103
+
},
1104
+
"node_modules/@oclif/plugin-not-found": {
1105
+
"version": "3.2.72",
1106
+
"resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-3.2.72.tgz",
1107
+
"integrity": "sha512-CRcqHGdcEL4l5cls5F9FvwKt04LkdG7WyFozOu2vP1/3w34S29zbw8Tx1gAzfBZDDme5ChSaqFXU5qbTLx5yYQ==",
1108
+
"license": "MIT",
1109
+
"dependencies": {
1110
+
"@inquirer/prompts": "^7.9.0",
1111
+
"@oclif/core": "^4.8.0",
1112
+
"ansis": "^3.17.0",
1113
+
"fast-levenshtein": "^3.0.0"
1114
+
},
1115
+
"engines": {
1116
+
"node": ">=18.0.0"
1117
+
}
1118
+
},
1119
+
"node_modules/@raycast/api": {
1120
+
"version": "1.103.6",
1121
+
"resolved": "https://registry.npmjs.org/@raycast/api/-/api-1.103.6.tgz",
1122
+
"integrity": "sha512-x34deBLt8BNCIztMjsYPU8eGz4xFp444PJzxybIvDt86ZCk6phlTLD11qtkyZKOURFIoncebNDVTJn5KdO09nA==",
1123
+
"license": "MIT",
1124
+
"dependencies": {
1125
+
"@oclif/core": "^4.5.4",
1126
+
"@oclif/plugin-autocomplete": "^3.2.35",
1127
+
"@oclif/plugin-help": "^6.2.33",
1128
+
"@oclif/plugin-not-found": "^3.2.68",
1129
+
"@types/node": "22.13.10",
1130
+
"@types/react": "19.0.10",
1131
+
"esbuild": "^0.25.10",
1132
+
"react": "19.0.0"
1133
+
},
1134
+
"bin": {
1135
+
"ray": "bin/run.js"
1136
+
},
1137
+
"engines": {
1138
+
"node": ">=22.14.0"
1139
+
},
1140
+
"peerDependencies": {
1141
+
"@types/node": "22.13.10",
1142
+
"@types/react": "19.0.10",
1143
+
"react-devtools": "6.1.1"
1144
+
},
1145
+
"peerDependenciesMeta": {
1146
+
"@types/node": {
1147
+
"optional": true
1148
+
},
1149
+
"@types/react": {
1150
+
"optional": true
1151
+
},
1152
+
"react-devtools": {
1153
+
"optional": true
1154
+
}
1155
+
}
1156
+
},
1157
+
"node_modules/@raycast/api/node_modules/@types/node": {
1158
+
"version": "22.13.10",
1159
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
1160
+
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
1161
+
"license": "MIT",
1162
+
"dependencies": {
1163
+
"undici-types": "~6.20.0"
1164
+
}
1165
+
},
1166
+
"node_modules/@raycast/api/node_modules/@types/react": {
1167
+
"version": "19.0.10",
1168
+
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz",
1169
+
"integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==",
1170
+
"license": "MIT",
1171
+
"dependencies": {
1172
+
"csstype": "^3.0.2"
1173
+
}
1174
+
},
1175
+
"node_modules/@raycast/api/node_modules/undici-types": {
1176
+
"version": "6.20.0",
1177
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
1178
+
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
1179
+
"license": "MIT"
1180
+
},
1181
+
"node_modules/@raycast/eslint-config": {
1182
+
"version": "1.0.11",
1183
+
"resolved": "https://registry.npmjs.org/@raycast/eslint-config/-/eslint-config-1.0.11.tgz",
1184
+
"integrity": "sha512-I0Lt8bwahVGkANUBxripIxKptMBz1Ou+UXGwfqgFvKwo1gVLrnlEngxaspQJA8L5pvzQkQMwizVCSgNC3bddWg==",
1185
+
"dev": true,
1186
+
"license": "MIT",
1187
+
"dependencies": {
1188
+
"@raycast/eslint-plugin": "^1.0.11",
1189
+
"@rushstack/eslint-patch": "^1.10.4",
1190
+
"@typescript-eslint/eslint-plugin": "^6.8.0",
1191
+
"@typescript-eslint/parser": "^6.8.0",
1192
+
"eslint-config-prettier": "^9.1.0"
1193
+
},
1194
+
"peerDependencies": {
1195
+
"eslint": ">=7",
1196
+
"prettier": ">=2",
1197
+
"typescript": ">=4"
1198
+
}
1199
+
},
1200
+
"node_modules/@raycast/eslint-plugin": {
1201
+
"version": "1.0.16",
1202
+
"resolved": "https://registry.npmjs.org/@raycast/eslint-plugin/-/eslint-plugin-1.0.16.tgz",
1203
+
"integrity": "sha512-OyFL/W75/4hlgdUUI80Eoes0HjpVrJ8I1kB/PBH2RLjbcK22TC6IwZPXvhBZ5jF962O1TqtOuHrTjySwDaa/cQ==",
1204
+
"dev": true,
1205
+
"license": "MIT",
1206
+
"dependencies": {
1207
+
"@typescript-eslint/utils": "^5.62.0"
1208
+
},
1209
+
"peerDependencies": {
1210
+
"eslint": ">=7"
1211
+
}
1212
+
},
1213
+
"node_modules/@raycast/utils": {
1214
+
"version": "1.19.1",
1215
+
"resolved": "https://registry.npmjs.org/@raycast/utils/-/utils-1.19.1.tgz",
1216
+
"integrity": "sha512-/udUGcTZCgZZwzesmjBkqG5naQZTD/ZLHbqRwkWcF+W97vf9tr9raxKyQjKsdZ17OVllw2T3sHBQsVUdEmCm2g==",
1217
+
"license": "MIT",
1218
+
"dependencies": {
1219
+
"cross-fetch": "^3.1.6",
1220
+
"dequal": "^2.0.3",
1221
+
"object-hash": "^3.0.0",
1222
+
"signal-exit": "^4.0.2",
1223
+
"stream-chain": "^2.2.5",
1224
+
"stream-json": "^1.8.0"
1225
+
},
1226
+
"peerDependencies": {
1227
+
"@raycast/api": ">=1.69.0"
1228
+
}
1229
+
},
1230
+
"node_modules/@rushstack/eslint-patch": {
1231
+
"version": "1.15.0",
1232
+
"resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz",
1233
+
"integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==",
1234
+
"dev": true,
1235
+
"license": "MIT"
1236
+
},
1237
+
"node_modules/@types/json-schema": {
1238
+
"version": "7.0.15",
1239
+
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
1240
+
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
1241
+
"dev": true,
1242
+
"license": "MIT"
1243
+
},
1244
+
"node_modules/@types/node": {
1245
+
"version": "20.8.10",
1246
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz",
1247
+
"integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==",
1248
+
"devOptional": true,
1249
+
"license": "MIT",
1250
+
"dependencies": {
1251
+
"undici-types": "~5.26.4"
1252
+
}
1253
+
},
1254
+
"node_modules/@types/react": {
1255
+
"version": "19.2.3",
1256
+
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.3.tgz",
1257
+
"integrity": "sha512-k5dJVszUiNr1DSe8Cs+knKR6IrqhqdhpUwzqhkS8ecQTSf3THNtbfIp/umqHMpX2bv+9dkx3fwDv/86LcSfvSg==",
1258
+
"dev": true,
1259
+
"license": "MIT",
1260
+
"dependencies": {
1261
+
"csstype": "^3.0.2"
1262
+
}
1263
+
},
1264
+
"node_modules/@types/semver": {
1265
+
"version": "7.7.1",
1266
+
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz",
1267
+
"integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==",
1268
+
"dev": true,
1269
+
"license": "MIT"
1270
+
},
1271
+
"node_modules/@typescript-eslint/eslint-plugin": {
1272
+
"version": "6.21.0",
1273
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
1274
+
"integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
1275
+
"dev": true,
1276
+
"license": "MIT",
1277
+
"dependencies": {
1278
+
"@eslint-community/regexpp": "^4.5.1",
1279
+
"@typescript-eslint/scope-manager": "6.21.0",
1280
+
"@typescript-eslint/type-utils": "6.21.0",
1281
+
"@typescript-eslint/utils": "6.21.0",
1282
+
"@typescript-eslint/visitor-keys": "6.21.0",
1283
+
"debug": "^4.3.4",
1284
+
"graphemer": "^1.4.0",
1285
+
"ignore": "^5.2.4",
1286
+
"natural-compare": "^1.4.0",
1287
+
"semver": "^7.5.4",
1288
+
"ts-api-utils": "^1.0.1"
1289
+
},
1290
+
"engines": {
1291
+
"node": "^16.0.0 || >=18.0.0"
1292
+
},
1293
+
"funding": {
1294
+
"type": "opencollective",
1295
+
"url": "https://opencollective.com/typescript-eslint"
1296
+
},
1297
+
"peerDependencies": {
1298
+
"@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
1299
+
"eslint": "^7.0.0 || ^8.0.0"
1300
+
},
1301
+
"peerDependenciesMeta": {
1302
+
"typescript": {
1303
+
"optional": true
1304
+
}
1305
+
}
1306
+
},
1307
+
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
1308
+
"version": "6.21.0",
1309
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
1310
+
"integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
1311
+
"dev": true,
1312
+
"license": "MIT",
1313
+
"dependencies": {
1314
+
"@eslint-community/eslint-utils": "^4.4.0",
1315
+
"@types/json-schema": "^7.0.12",
1316
+
"@types/semver": "^7.5.0",
1317
+
"@typescript-eslint/scope-manager": "6.21.0",
1318
+
"@typescript-eslint/types": "6.21.0",
1319
+
"@typescript-eslint/typescript-estree": "6.21.0",
1320
+
"semver": "^7.5.4"
1321
+
},
1322
+
"engines": {
1323
+
"node": "^16.0.0 || >=18.0.0"
1324
+
},
1325
+
"funding": {
1326
+
"type": "opencollective",
1327
+
"url": "https://opencollective.com/typescript-eslint"
1328
+
},
1329
+
"peerDependencies": {
1330
+
"eslint": "^7.0.0 || ^8.0.0"
1331
+
}
1332
+
},
1333
+
"node_modules/@typescript-eslint/parser": {
1334
+
"version": "6.21.0",
1335
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
1336
+
"integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
1337
+
"dev": true,
1338
+
"license": "BSD-2-Clause",
1339
+
"dependencies": {
1340
+
"@typescript-eslint/scope-manager": "6.21.0",
1341
+
"@typescript-eslint/types": "6.21.0",
1342
+
"@typescript-eslint/typescript-estree": "6.21.0",
1343
+
"@typescript-eslint/visitor-keys": "6.21.0",
1344
+
"debug": "^4.3.4"
1345
+
},
1346
+
"engines": {
1347
+
"node": "^16.0.0 || >=18.0.0"
1348
+
},
1349
+
"funding": {
1350
+
"type": "opencollective",
1351
+
"url": "https://opencollective.com/typescript-eslint"
1352
+
},
1353
+
"peerDependencies": {
1354
+
"eslint": "^7.0.0 || ^8.0.0"
1355
+
},
1356
+
"peerDependenciesMeta": {
1357
+
"typescript": {
1358
+
"optional": true
1359
+
}
1360
+
}
1361
+
},
1362
+
"node_modules/@typescript-eslint/scope-manager": {
1363
+
"version": "6.21.0",
1364
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
1365
+
"integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==",
1366
+
"dev": true,
1367
+
"license": "MIT",
1368
+
"dependencies": {
1369
+
"@typescript-eslint/types": "6.21.0",
1370
+
"@typescript-eslint/visitor-keys": "6.21.0"
1371
+
},
1372
+
"engines": {
1373
+
"node": "^16.0.0 || >=18.0.0"
1374
+
},
1375
+
"funding": {
1376
+
"type": "opencollective",
1377
+
"url": "https://opencollective.com/typescript-eslint"
1378
+
}
1379
+
},
1380
+
"node_modules/@typescript-eslint/type-utils": {
1381
+
"version": "6.21.0",
1382
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
1383
+
"integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
1384
+
"dev": true,
1385
+
"license": "MIT",
1386
+
"dependencies": {
1387
+
"@typescript-eslint/typescript-estree": "6.21.0",
1388
+
"@typescript-eslint/utils": "6.21.0",
1389
+
"debug": "^4.3.4",
1390
+
"ts-api-utils": "^1.0.1"
1391
+
},
1392
+
"engines": {
1393
+
"node": "^16.0.0 || >=18.0.0"
1394
+
},
1395
+
"funding": {
1396
+
"type": "opencollective",
1397
+
"url": "https://opencollective.com/typescript-eslint"
1398
+
},
1399
+
"peerDependencies": {
1400
+
"eslint": "^7.0.0 || ^8.0.0"
1401
+
},
1402
+
"peerDependenciesMeta": {
1403
+
"typescript": {
1404
+
"optional": true
1405
+
}
1406
+
}
1407
+
},
1408
+
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
1409
+
"version": "6.21.0",
1410
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
1411
+
"integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
1412
+
"dev": true,
1413
+
"license": "MIT",
1414
+
"dependencies": {
1415
+
"@eslint-community/eslint-utils": "^4.4.0",
1416
+
"@types/json-schema": "^7.0.12",
1417
+
"@types/semver": "^7.5.0",
1418
+
"@typescript-eslint/scope-manager": "6.21.0",
1419
+
"@typescript-eslint/types": "6.21.0",
1420
+
"@typescript-eslint/typescript-estree": "6.21.0",
1421
+
"semver": "^7.5.4"
1422
+
},
1423
+
"engines": {
1424
+
"node": "^16.0.0 || >=18.0.0"
1425
+
},
1426
+
"funding": {
1427
+
"type": "opencollective",
1428
+
"url": "https://opencollective.com/typescript-eslint"
1429
+
},
1430
+
"peerDependencies": {
1431
+
"eslint": "^7.0.0 || ^8.0.0"
1432
+
}
1433
+
},
1434
+
"node_modules/@typescript-eslint/types": {
1435
+
"version": "6.21.0",
1436
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
1437
+
"integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==",
1438
+
"dev": true,
1439
+
"license": "MIT",
1440
+
"engines": {
1441
+
"node": "^16.0.0 || >=18.0.0"
1442
+
},
1443
+
"funding": {
1444
+
"type": "opencollective",
1445
+
"url": "https://opencollective.com/typescript-eslint"
1446
+
}
1447
+
},
1448
+
"node_modules/@typescript-eslint/typescript-estree": {
1449
+
"version": "6.21.0",
1450
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz",
1451
+
"integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==",
1452
+
"dev": true,
1453
+
"license": "BSD-2-Clause",
1454
+
"dependencies": {
1455
+
"@typescript-eslint/types": "6.21.0",
1456
+
"@typescript-eslint/visitor-keys": "6.21.0",
1457
+
"debug": "^4.3.4",
1458
+
"globby": "^11.1.0",
1459
+
"is-glob": "^4.0.3",
1460
+
"minimatch": "9.0.3",
1461
+
"semver": "^7.5.4",
1462
+
"ts-api-utils": "^1.0.1"
1463
+
},
1464
+
"engines": {
1465
+
"node": "^16.0.0 || >=18.0.0"
1466
+
},
1467
+
"funding": {
1468
+
"type": "opencollective",
1469
+
"url": "https://opencollective.com/typescript-eslint"
1470
+
},
1471
+
"peerDependenciesMeta": {
1472
+
"typescript": {
1473
+
"optional": true
1474
+
}
1475
+
}
1476
+
},
1477
+
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
1478
+
"version": "9.0.3",
1479
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
1480
+
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
1481
+
"dev": true,
1482
+
"license": "ISC",
1483
+
"dependencies": {
1484
+
"brace-expansion": "^2.0.1"
1485
+
},
1486
+
"engines": {
1487
+
"node": ">=16 || 14 >=14.17"
1488
+
},
1489
+
"funding": {
1490
+
"url": "https://github.com/sponsors/isaacs"
1491
+
}
1492
+
},
1493
+
"node_modules/@typescript-eslint/utils": {
1494
+
"version": "5.62.0",
1495
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
1496
+
"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
1497
+
"dev": true,
1498
+
"license": "MIT",
1499
+
"dependencies": {
1500
+
"@eslint-community/eslint-utils": "^4.2.0",
1501
+
"@types/json-schema": "^7.0.9",
1502
+
"@types/semver": "^7.3.12",
1503
+
"@typescript-eslint/scope-manager": "5.62.0",
1504
+
"@typescript-eslint/types": "5.62.0",
1505
+
"@typescript-eslint/typescript-estree": "5.62.0",
1506
+
"eslint-scope": "^5.1.1",
1507
+
"semver": "^7.3.7"
1508
+
},
1509
+
"engines": {
1510
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1511
+
},
1512
+
"funding": {
1513
+
"type": "opencollective",
1514
+
"url": "https://opencollective.com/typescript-eslint"
1515
+
},
1516
+
"peerDependencies": {
1517
+
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
1518
+
}
1519
+
},
1520
+
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
1521
+
"version": "5.62.0",
1522
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
1523
+
"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
1524
+
"dev": true,
1525
+
"license": "MIT",
1526
+
"dependencies": {
1527
+
"@typescript-eslint/types": "5.62.0",
1528
+
"@typescript-eslint/visitor-keys": "5.62.0"
1529
+
},
1530
+
"engines": {
1531
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1532
+
},
1533
+
"funding": {
1534
+
"type": "opencollective",
1535
+
"url": "https://opencollective.com/typescript-eslint"
1536
+
}
1537
+
},
1538
+
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": {
1539
+
"version": "5.62.0",
1540
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
1541
+
"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
1542
+
"dev": true,
1543
+
"license": "MIT",
1544
+
"engines": {
1545
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1546
+
},
1547
+
"funding": {
1548
+
"type": "opencollective",
1549
+
"url": "https://opencollective.com/typescript-eslint"
1550
+
}
1551
+
},
1552
+
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
1553
+
"version": "5.62.0",
1554
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
1555
+
"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
1556
+
"dev": true,
1557
+
"license": "BSD-2-Clause",
1558
+
"dependencies": {
1559
+
"@typescript-eslint/types": "5.62.0",
1560
+
"@typescript-eslint/visitor-keys": "5.62.0",
1561
+
"debug": "^4.3.4",
1562
+
"globby": "^11.1.0",
1563
+
"is-glob": "^4.0.3",
1564
+
"semver": "^7.3.7",
1565
+
"tsutils": "^3.21.0"
1566
+
},
1567
+
"engines": {
1568
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1569
+
},
1570
+
"funding": {
1571
+
"type": "opencollective",
1572
+
"url": "https://opencollective.com/typescript-eslint"
1573
+
},
1574
+
"peerDependenciesMeta": {
1575
+
"typescript": {
1576
+
"optional": true
1577
+
}
1578
+
}
1579
+
},
1580
+
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
1581
+
"version": "5.62.0",
1582
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
1583
+
"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
1584
+
"dev": true,
1585
+
"license": "MIT",
1586
+
"dependencies": {
1587
+
"@typescript-eslint/types": "5.62.0",
1588
+
"eslint-visitor-keys": "^3.3.0"
1589
+
},
1590
+
"engines": {
1591
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1592
+
},
1593
+
"funding": {
1594
+
"type": "opencollective",
1595
+
"url": "https://opencollective.com/typescript-eslint"
1596
+
}
1597
+
},
1598
+
"node_modules/@typescript-eslint/visitor-keys": {
1599
+
"version": "6.21.0",
1600
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
1601
+
"integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==",
1602
+
"dev": true,
1603
+
"license": "MIT",
1604
+
"dependencies": {
1605
+
"@typescript-eslint/types": "6.21.0",
1606
+
"eslint-visitor-keys": "^3.4.1"
1607
+
},
1608
+
"engines": {
1609
+
"node": "^16.0.0 || >=18.0.0"
1610
+
},
1611
+
"funding": {
1612
+
"type": "opencollective",
1613
+
"url": "https://opencollective.com/typescript-eslint"
1614
+
}
1615
+
},
1616
+
"node_modules/@ungap/structured-clone": {
1617
+
"version": "1.3.0",
1618
+
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
1619
+
"integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
1620
+
"dev": true,
1621
+
"license": "ISC"
1622
+
},
1623
+
"node_modules/acorn": {
1624
+
"version": "8.15.0",
1625
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
1626
+
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
1627
+
"dev": true,
1628
+
"license": "MIT",
1629
+
"bin": {
1630
+
"acorn": "bin/acorn"
1631
+
},
1632
+
"engines": {
1633
+
"node": ">=0.4.0"
1634
+
}
1635
+
},
1636
+
"node_modules/acorn-jsx": {
1637
+
"version": "5.3.2",
1638
+
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
1639
+
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
1640
+
"dev": true,
1641
+
"license": "MIT",
1642
+
"peerDependencies": {
1643
+
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
1644
+
}
1645
+
},
1646
+
"node_modules/ajv": {
1647
+
"version": "6.12.6",
1648
+
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1649
+
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
1650
+
"dev": true,
1651
+
"license": "MIT",
1652
+
"dependencies": {
1653
+
"fast-deep-equal": "^3.1.1",
1654
+
"fast-json-stable-stringify": "^2.0.0",
1655
+
"json-schema-traverse": "^0.4.1",
1656
+
"uri-js": "^4.2.2"
1657
+
},
1658
+
"funding": {
1659
+
"type": "github",
1660
+
"url": "https://github.com/sponsors/epoberezkin"
1661
+
}
1662
+
},
1663
+
"node_modules/ansi-escapes": {
1664
+
"version": "4.3.2",
1665
+
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
1666
+
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
1667
+
"license": "MIT",
1668
+
"dependencies": {
1669
+
"type-fest": "^0.21.3"
1670
+
},
1671
+
"engines": {
1672
+
"node": ">=8"
1673
+
},
1674
+
"funding": {
1675
+
"url": "https://github.com/sponsors/sindresorhus"
1676
+
}
1677
+
},
1678
+
"node_modules/ansi-regex": {
1679
+
"version": "5.0.1",
1680
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1681
+
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1682
+
"license": "MIT",
1683
+
"engines": {
1684
+
"node": ">=8"
1685
+
}
1686
+
},
1687
+
"node_modules/ansi-styles": {
1688
+
"version": "4.3.0",
1689
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1690
+
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1691
+
"license": "MIT",
1692
+
"dependencies": {
1693
+
"color-convert": "^2.0.1"
1694
+
},
1695
+
"engines": {
1696
+
"node": ">=8"
1697
+
},
1698
+
"funding": {
1699
+
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
1700
+
}
1701
+
},
1702
+
"node_modules/ansis": {
1703
+
"version": "3.17.0",
1704
+
"resolved": "https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz",
1705
+
"integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==",
1706
+
"license": "ISC",
1707
+
"engines": {
1708
+
"node": ">=14"
1709
+
}
1710
+
},
1711
+
"node_modules/argparse": {
1712
+
"version": "2.0.1",
1713
+
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
1714
+
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
1715
+
"dev": true,
1716
+
"license": "Python-2.0"
1717
+
},
1718
+
"node_modules/array-union": {
1719
+
"version": "2.1.0",
1720
+
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
1721
+
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
1722
+
"dev": true,
1723
+
"license": "MIT",
1724
+
"engines": {
1725
+
"node": ">=8"
1726
+
}
1727
+
},
1728
+
"node_modules/async": {
1729
+
"version": "3.2.6",
1730
+
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
1731
+
"integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
1732
+
"license": "MIT"
1733
+
},
1734
+
"node_modules/await-lock": {
1735
+
"version": "2.2.2",
1736
+
"resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz",
1737
+
"integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==",
1738
+
"license": "MIT"
1739
+
},
1740
+
"node_modules/balanced-match": {
1741
+
"version": "1.0.2",
1742
+
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1743
+
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1744
+
"license": "MIT"
1745
+
},
1746
+
"node_modules/brace-expansion": {
1747
+
"version": "2.0.2",
1748
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
1749
+
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
1750
+
"license": "MIT",
1751
+
"dependencies": {
1752
+
"balanced-match": "^1.0.0"
1753
+
}
1754
+
},
1755
+
"node_modules/braces": {
1756
+
"version": "3.0.3",
1757
+
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
1758
+
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
1759
+
"dev": true,
1760
+
"license": "MIT",
1761
+
"dependencies": {
1762
+
"fill-range": "^7.1.1"
1763
+
},
1764
+
"engines": {
1765
+
"node": ">=8"
1766
+
}
1767
+
},
1768
+
"node_modules/callsites": {
1769
+
"version": "3.1.0",
1770
+
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1771
+
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1772
+
"dev": true,
1773
+
"license": "MIT",
1774
+
"engines": {
1775
+
"node": ">=6"
1776
+
}
1777
+
},
1778
+
"node_modules/chalk": {
1779
+
"version": "4.1.2",
1780
+
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
1781
+
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
1782
+
"dev": true,
1783
+
"license": "MIT",
1784
+
"dependencies": {
1785
+
"ansi-styles": "^4.1.0",
1786
+
"supports-color": "^7.1.0"
1787
+
},
1788
+
"engines": {
1789
+
"node": ">=10"
1790
+
},
1791
+
"funding": {
1792
+
"url": "https://github.com/chalk/chalk?sponsor=1"
1793
+
}
1794
+
},
1795
+
"node_modules/chalk/node_modules/supports-color": {
1796
+
"version": "7.2.0",
1797
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1798
+
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1799
+
"dev": true,
1800
+
"license": "MIT",
1801
+
"dependencies": {
1802
+
"has-flag": "^4.0.0"
1803
+
},
1804
+
"engines": {
1805
+
"node": ">=8"
1806
+
}
1807
+
},
1808
+
"node_modules/chardet": {
1809
+
"version": "2.1.1",
1810
+
"resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz",
1811
+
"integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==",
1812
+
"license": "MIT"
1813
+
},
1814
+
"node_modules/clean-stack": {
1815
+
"version": "3.0.1",
1816
+
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz",
1817
+
"integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==",
1818
+
"license": "MIT",
1819
+
"dependencies": {
1820
+
"escape-string-regexp": "4.0.0"
1821
+
},
1822
+
"engines": {
1823
+
"node": ">=10"
1824
+
},
1825
+
"funding": {
1826
+
"url": "https://github.com/sponsors/sindresorhus"
1827
+
}
1828
+
},
1829
+
"node_modules/cli-spinners": {
1830
+
"version": "2.9.2",
1831
+
"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
1832
+
"integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
1833
+
"license": "MIT",
1834
+
"engines": {
1835
+
"node": ">=6"
1836
+
},
1837
+
"funding": {
1838
+
"url": "https://github.com/sponsors/sindresorhus"
1839
+
}
1840
+
},
1841
+
"node_modules/cli-width": {
1842
+
"version": "4.1.0",
1843
+
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
1844
+
"integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
1845
+
"license": "ISC",
1846
+
"engines": {
1847
+
"node": ">= 12"
1848
+
}
1849
+
},
1850
+
"node_modules/color-convert": {
1851
+
"version": "2.0.1",
1852
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1853
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1854
+
"license": "MIT",
1855
+
"dependencies": {
1856
+
"color-name": "~1.1.4"
1857
+
},
1858
+
"engines": {
1859
+
"node": ">=7.0.0"
1860
+
}
1861
+
},
1862
+
"node_modules/color-name": {
1863
+
"version": "1.1.4",
1864
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1865
+
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1866
+
"license": "MIT"
1867
+
},
1868
+
"node_modules/concat-map": {
1869
+
"version": "0.0.1",
1870
+
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1871
+
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
1872
+
"dev": true,
1873
+
"license": "MIT"
1874
+
},
1875
+
"node_modules/cross-fetch": {
1876
+
"version": "3.2.0",
1877
+
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz",
1878
+
"integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==",
1879
+
"license": "MIT",
1880
+
"dependencies": {
1881
+
"node-fetch": "^2.7.0"
1882
+
}
1883
+
},
1884
+
"node_modules/cross-spawn": {
1885
+
"version": "7.0.6",
1886
+
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1887
+
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1888
+
"dev": true,
1889
+
"license": "MIT",
1890
+
"dependencies": {
1891
+
"path-key": "^3.1.0",
1892
+
"shebang-command": "^2.0.0",
1893
+
"which": "^2.0.1"
1894
+
},
1895
+
"engines": {
1896
+
"node": ">= 8"
1897
+
}
1898
+
},
1899
+
"node_modules/csstype": {
1900
+
"version": "3.1.3",
1901
+
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
1902
+
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
1903
+
"license": "MIT"
1904
+
},
1905
+
"node_modules/debug": {
1906
+
"version": "4.4.3",
1907
+
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1908
+
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1909
+
"license": "MIT",
1910
+
"dependencies": {
1911
+
"ms": "^2.1.3"
1912
+
},
1913
+
"engines": {
1914
+
"node": ">=6.0"
1915
+
},
1916
+
"peerDependenciesMeta": {
1917
+
"supports-color": {
1918
+
"optional": true
1919
+
}
1920
+
}
1921
+
},
1922
+
"node_modules/deep-is": {
1923
+
"version": "0.1.4",
1924
+
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
1925
+
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
1926
+
"dev": true,
1927
+
"license": "MIT"
1928
+
},
1929
+
"node_modules/dequal": {
1930
+
"version": "2.0.3",
1931
+
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
1932
+
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
1933
+
"license": "MIT",
1934
+
"engines": {
1935
+
"node": ">=6"
1936
+
}
1937
+
},
1938
+
"node_modules/dir-glob": {
1939
+
"version": "3.0.1",
1940
+
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
1941
+
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
1942
+
"dev": true,
1943
+
"license": "MIT",
1944
+
"dependencies": {
1945
+
"path-type": "^4.0.0"
1946
+
},
1947
+
"engines": {
1948
+
"node": ">=8"
1949
+
}
1950
+
},
1951
+
"node_modules/doctrine": {
1952
+
"version": "3.0.0",
1953
+
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
1954
+
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
1955
+
"dev": true,
1956
+
"license": "Apache-2.0",
1957
+
"dependencies": {
1958
+
"esutils": "^2.0.2"
1959
+
},
1960
+
"engines": {
1961
+
"node": ">=6.0.0"
1962
+
}
1963
+
},
1964
+
"node_modules/ejs": {
1965
+
"version": "3.1.10",
1966
+
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
1967
+
"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
1968
+
"license": "Apache-2.0",
1969
+
"dependencies": {
1970
+
"jake": "^10.8.5"
1971
+
},
1972
+
"bin": {
1973
+
"ejs": "bin/cli.js"
1974
+
},
1975
+
"engines": {
1976
+
"node": ">=0.10.0"
1977
+
}
1978
+
},
1979
+
"node_modules/emoji-regex": {
1980
+
"version": "8.0.0",
1981
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1982
+
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1983
+
"license": "MIT"
1984
+
},
1985
+
"node_modules/esbuild": {
1986
+
"version": "0.25.12",
1987
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
1988
+
"integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
1989
+
"hasInstallScript": true,
1990
+
"license": "MIT",
1991
+
"bin": {
1992
+
"esbuild": "bin/esbuild"
1993
+
},
1994
+
"engines": {
1995
+
"node": ">=18"
1996
+
},
1997
+
"optionalDependencies": {
1998
+
"@esbuild/aix-ppc64": "0.25.12",
1999
+
"@esbuild/android-arm": "0.25.12",
2000
+
"@esbuild/android-arm64": "0.25.12",
2001
+
"@esbuild/android-x64": "0.25.12",
2002
+
"@esbuild/darwin-arm64": "0.25.12",
2003
+
"@esbuild/darwin-x64": "0.25.12",
2004
+
"@esbuild/freebsd-arm64": "0.25.12",
2005
+
"@esbuild/freebsd-x64": "0.25.12",
2006
+
"@esbuild/linux-arm": "0.25.12",
2007
+
"@esbuild/linux-arm64": "0.25.12",
2008
+
"@esbuild/linux-ia32": "0.25.12",
2009
+
"@esbuild/linux-loong64": "0.25.12",
2010
+
"@esbuild/linux-mips64el": "0.25.12",
2011
+
"@esbuild/linux-ppc64": "0.25.12",
2012
+
"@esbuild/linux-riscv64": "0.25.12",
2013
+
"@esbuild/linux-s390x": "0.25.12",
2014
+
"@esbuild/linux-x64": "0.25.12",
2015
+
"@esbuild/netbsd-arm64": "0.25.12",
2016
+
"@esbuild/netbsd-x64": "0.25.12",
2017
+
"@esbuild/openbsd-arm64": "0.25.12",
2018
+
"@esbuild/openbsd-x64": "0.25.12",
2019
+
"@esbuild/openharmony-arm64": "0.25.12",
2020
+
"@esbuild/sunos-x64": "0.25.12",
2021
+
"@esbuild/win32-arm64": "0.25.12",
2022
+
"@esbuild/win32-ia32": "0.25.12",
2023
+
"@esbuild/win32-x64": "0.25.12"
2024
+
}
2025
+
},
2026
+
"node_modules/escape-string-regexp": {
2027
+
"version": "4.0.0",
2028
+
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
2029
+
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
2030
+
"license": "MIT",
2031
+
"engines": {
2032
+
"node": ">=10"
2033
+
},
2034
+
"funding": {
2035
+
"url": "https://github.com/sponsors/sindresorhus"
2036
+
}
2037
+
},
2038
+
"node_modules/eslint": {
2039
+
"version": "8.57.1",
2040
+
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
2041
+
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
2042
+
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
2043
+
"dev": true,
2044
+
"license": "MIT",
2045
+
"dependencies": {
2046
+
"@eslint-community/eslint-utils": "^4.2.0",
2047
+
"@eslint-community/regexpp": "^4.6.1",
2048
+
"@eslint/eslintrc": "^2.1.4",
2049
+
"@eslint/js": "8.57.1",
2050
+
"@humanwhocodes/config-array": "^0.13.0",
2051
+
"@humanwhocodes/module-importer": "^1.0.1",
2052
+
"@nodelib/fs.walk": "^1.2.8",
2053
+
"@ungap/structured-clone": "^1.2.0",
2054
+
"ajv": "^6.12.4",
2055
+
"chalk": "^4.0.0",
2056
+
"cross-spawn": "^7.0.2",
2057
+
"debug": "^4.3.2",
2058
+
"doctrine": "^3.0.0",
2059
+
"escape-string-regexp": "^4.0.0",
2060
+
"eslint-scope": "^7.2.2",
2061
+
"eslint-visitor-keys": "^3.4.3",
2062
+
"espree": "^9.6.1",
2063
+
"esquery": "^1.4.2",
2064
+
"esutils": "^2.0.2",
2065
+
"fast-deep-equal": "^3.1.3",
2066
+
"file-entry-cache": "^6.0.1",
2067
+
"find-up": "^5.0.0",
2068
+
"glob-parent": "^6.0.2",
2069
+
"globals": "^13.19.0",
2070
+
"graphemer": "^1.4.0",
2071
+
"ignore": "^5.2.0",
2072
+
"imurmurhash": "^0.1.4",
2073
+
"is-glob": "^4.0.0",
2074
+
"is-path-inside": "^3.0.3",
2075
+
"js-yaml": "^4.1.0",
2076
+
"json-stable-stringify-without-jsonify": "^1.0.1",
2077
+
"levn": "^0.4.1",
2078
+
"lodash.merge": "^4.6.2",
2079
+
"minimatch": "^3.1.2",
2080
+
"natural-compare": "^1.4.0",
2081
+
"optionator": "^0.9.3",
2082
+
"strip-ansi": "^6.0.1",
2083
+
"text-table": "^0.2.0"
2084
+
},
2085
+
"bin": {
2086
+
"eslint": "bin/eslint.js"
2087
+
},
2088
+
"engines": {
2089
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
2090
+
},
2091
+
"funding": {
2092
+
"url": "https://opencollective.com/eslint"
2093
+
}
2094
+
},
2095
+
"node_modules/eslint-config-prettier": {
2096
+
"version": "9.1.2",
2097
+
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz",
2098
+
"integrity": "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==",
2099
+
"dev": true,
2100
+
"license": "MIT",
2101
+
"bin": {
2102
+
"eslint-config-prettier": "bin/cli.js"
2103
+
},
2104
+
"peerDependencies": {
2105
+
"eslint": ">=7.0.0"
2106
+
}
2107
+
},
2108
+
"node_modules/eslint-scope": {
2109
+
"version": "5.1.1",
2110
+
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
2111
+
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
2112
+
"dev": true,
2113
+
"license": "BSD-2-Clause",
2114
+
"dependencies": {
2115
+
"esrecurse": "^4.3.0",
2116
+
"estraverse": "^4.1.1"
2117
+
},
2118
+
"engines": {
2119
+
"node": ">=8.0.0"
2120
+
}
2121
+
},
2122
+
"node_modules/eslint-visitor-keys": {
2123
+
"version": "3.4.3",
2124
+
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
2125
+
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
2126
+
"dev": true,
2127
+
"license": "Apache-2.0",
2128
+
"engines": {
2129
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
2130
+
},
2131
+
"funding": {
2132
+
"url": "https://opencollective.com/eslint"
2133
+
}
2134
+
},
2135
+
"node_modules/eslint/node_modules/brace-expansion": {
2136
+
"version": "1.1.12",
2137
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
2138
+
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
2139
+
"dev": true,
2140
+
"license": "MIT",
2141
+
"dependencies": {
2142
+
"balanced-match": "^1.0.0",
2143
+
"concat-map": "0.0.1"
2144
+
}
2145
+
},
2146
+
"node_modules/eslint/node_modules/eslint-scope": {
2147
+
"version": "7.2.2",
2148
+
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
2149
+
"integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
2150
+
"dev": true,
2151
+
"license": "BSD-2-Clause",
2152
+
"dependencies": {
2153
+
"esrecurse": "^4.3.0",
2154
+
"estraverse": "^5.2.0"
2155
+
},
2156
+
"engines": {
2157
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
2158
+
},
2159
+
"funding": {
2160
+
"url": "https://opencollective.com/eslint"
2161
+
}
2162
+
},
2163
+
"node_modules/eslint/node_modules/estraverse": {
2164
+
"version": "5.3.0",
2165
+
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
2166
+
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
2167
+
"dev": true,
2168
+
"license": "BSD-2-Clause",
2169
+
"engines": {
2170
+
"node": ">=4.0"
2171
+
}
2172
+
},
2173
+
"node_modules/eslint/node_modules/minimatch": {
2174
+
"version": "3.1.2",
2175
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
2176
+
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2177
+
"dev": true,
2178
+
"license": "ISC",
2179
+
"dependencies": {
2180
+
"brace-expansion": "^1.1.7"
2181
+
},
2182
+
"engines": {
2183
+
"node": "*"
2184
+
}
2185
+
},
2186
+
"node_modules/espree": {
2187
+
"version": "9.6.1",
2188
+
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
2189
+
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
2190
+
"dev": true,
2191
+
"license": "BSD-2-Clause",
2192
+
"dependencies": {
2193
+
"acorn": "^8.9.0",
2194
+
"acorn-jsx": "^5.3.2",
2195
+
"eslint-visitor-keys": "^3.4.1"
2196
+
},
2197
+
"engines": {
2198
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
2199
+
},
2200
+
"funding": {
2201
+
"url": "https://opencollective.com/eslint"
2202
+
}
2203
+
},
2204
+
"node_modules/esquery": {
2205
+
"version": "1.6.0",
2206
+
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
2207
+
"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
2208
+
"dev": true,
2209
+
"license": "BSD-3-Clause",
2210
+
"dependencies": {
2211
+
"estraverse": "^5.1.0"
2212
+
},
2213
+
"engines": {
2214
+
"node": ">=0.10"
2215
+
}
2216
+
},
2217
+
"node_modules/esquery/node_modules/estraverse": {
2218
+
"version": "5.3.0",
2219
+
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
2220
+
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
2221
+
"dev": true,
2222
+
"license": "BSD-2-Clause",
2223
+
"engines": {
2224
+
"node": ">=4.0"
2225
+
}
2226
+
},
2227
+
"node_modules/esrecurse": {
2228
+
"version": "4.3.0",
2229
+
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
2230
+
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
2231
+
"dev": true,
2232
+
"license": "BSD-2-Clause",
2233
+
"dependencies": {
2234
+
"estraverse": "^5.2.0"
2235
+
},
2236
+
"engines": {
2237
+
"node": ">=4.0"
2238
+
}
2239
+
},
2240
+
"node_modules/esrecurse/node_modules/estraverse": {
2241
+
"version": "5.3.0",
2242
+
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
2243
+
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
2244
+
"dev": true,
2245
+
"license": "BSD-2-Clause",
2246
+
"engines": {
2247
+
"node": ">=4.0"
2248
+
}
2249
+
},
2250
+
"node_modules/estraverse": {
2251
+
"version": "4.3.0",
2252
+
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
2253
+
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
2254
+
"dev": true,
2255
+
"license": "BSD-2-Clause",
2256
+
"engines": {
2257
+
"node": ">=4.0"
2258
+
}
2259
+
},
2260
+
"node_modules/esutils": {
2261
+
"version": "2.0.3",
2262
+
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
2263
+
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
2264
+
"dev": true,
2265
+
"license": "BSD-2-Clause",
2266
+
"engines": {
2267
+
"node": ">=0.10.0"
2268
+
}
2269
+
},
2270
+
"node_modules/fast-deep-equal": {
2271
+
"version": "3.1.3",
2272
+
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2273
+
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
2274
+
"dev": true,
2275
+
"license": "MIT"
2276
+
},
2277
+
"node_modules/fast-glob": {
2278
+
"version": "3.3.3",
2279
+
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
2280
+
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
2281
+
"dev": true,
2282
+
"license": "MIT",
2283
+
"dependencies": {
2284
+
"@nodelib/fs.stat": "^2.0.2",
2285
+
"@nodelib/fs.walk": "^1.2.3",
2286
+
"glob-parent": "^5.1.2",
2287
+
"merge2": "^1.3.0",
2288
+
"micromatch": "^4.0.8"
2289
+
},
2290
+
"engines": {
2291
+
"node": ">=8.6.0"
2292
+
}
2293
+
},
2294
+
"node_modules/fast-glob/node_modules/glob-parent": {
2295
+
"version": "5.1.2",
2296
+
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
2297
+
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
2298
+
"dev": true,
2299
+
"license": "ISC",
2300
+
"dependencies": {
2301
+
"is-glob": "^4.0.1"
2302
+
},
2303
+
"engines": {
2304
+
"node": ">= 6"
2305
+
}
2306
+
},
2307
+
"node_modules/fast-json-stable-stringify": {
2308
+
"version": "2.1.0",
2309
+
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
2310
+
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
2311
+
"dev": true,
2312
+
"license": "MIT"
2313
+
},
2314
+
"node_modules/fast-levenshtein": {
2315
+
"version": "3.0.0",
2316
+
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
2317
+
"integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==",
2318
+
"license": "MIT",
2319
+
"dependencies": {
2320
+
"fastest-levenshtein": "^1.0.7"
2321
+
}
2322
+
},
2323
+
"node_modules/fastest-levenshtein": {
2324
+
"version": "1.0.16",
2325
+
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
2326
+
"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
2327
+
"license": "MIT",
2328
+
"engines": {
2329
+
"node": ">= 4.9.1"
2330
+
}
2331
+
},
2332
+
"node_modules/fastq": {
2333
+
"version": "1.19.1",
2334
+
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
2335
+
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
2336
+
"dev": true,
2337
+
"license": "ISC",
2338
+
"dependencies": {
2339
+
"reusify": "^1.0.4"
2340
+
}
2341
+
},
2342
+
"node_modules/file-entry-cache": {
2343
+
"version": "6.0.1",
2344
+
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
2345
+
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
2346
+
"dev": true,
2347
+
"license": "MIT",
2348
+
"dependencies": {
2349
+
"flat-cache": "^3.0.4"
2350
+
},
2351
+
"engines": {
2352
+
"node": "^10.12.0 || >=12.0.0"
2353
+
}
2354
+
},
2355
+
"node_modules/filelist": {
2356
+
"version": "1.0.4",
2357
+
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
2358
+
"integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
2359
+
"license": "Apache-2.0",
2360
+
"dependencies": {
2361
+
"minimatch": "^5.0.1"
2362
+
}
2363
+
},
2364
+
"node_modules/filelist/node_modules/minimatch": {
2365
+
"version": "5.1.6",
2366
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
2367
+
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
2368
+
"license": "ISC",
2369
+
"dependencies": {
2370
+
"brace-expansion": "^2.0.1"
2371
+
},
2372
+
"engines": {
2373
+
"node": ">=10"
2374
+
}
2375
+
},
2376
+
"node_modules/fill-range": {
2377
+
"version": "7.1.1",
2378
+
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
2379
+
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
2380
+
"dev": true,
2381
+
"license": "MIT",
2382
+
"dependencies": {
2383
+
"to-regex-range": "^5.0.1"
2384
+
},
2385
+
"engines": {
2386
+
"node": ">=8"
2387
+
}
2388
+
},
2389
+
"node_modules/find-up": {
2390
+
"version": "5.0.0",
2391
+
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
2392
+
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
2393
+
"dev": true,
2394
+
"license": "MIT",
2395
+
"dependencies": {
2396
+
"locate-path": "^6.0.0",
2397
+
"path-exists": "^4.0.0"
2398
+
},
2399
+
"engines": {
2400
+
"node": ">=10"
2401
+
},
2402
+
"funding": {
2403
+
"url": "https://github.com/sponsors/sindresorhus"
2404
+
}
2405
+
},
2406
+
"node_modules/flat-cache": {
2407
+
"version": "3.2.0",
2408
+
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
2409
+
"integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
2410
+
"dev": true,
2411
+
"license": "MIT",
2412
+
"dependencies": {
2413
+
"flatted": "^3.2.9",
2414
+
"keyv": "^4.5.3",
2415
+
"rimraf": "^3.0.2"
2416
+
},
2417
+
"engines": {
2418
+
"node": "^10.12.0 || >=12.0.0"
2419
+
}
2420
+
},
2421
+
"node_modules/flatted": {
2422
+
"version": "3.3.3",
2423
+
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
2424
+
"integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
2425
+
"dev": true,
2426
+
"license": "ISC"
2427
+
},
2428
+
"node_modules/fs.realpath": {
2429
+
"version": "1.0.0",
2430
+
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2431
+
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
2432
+
"dev": true,
2433
+
"license": "ISC"
2434
+
},
2435
+
"node_modules/get-package-type": {
2436
+
"version": "0.1.0",
2437
+
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
2438
+
"integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
2439
+
"license": "MIT",
2440
+
"engines": {
2441
+
"node": ">=8.0.0"
2442
+
}
2443
+
},
2444
+
"node_modules/glob": {
2445
+
"version": "7.2.3",
2446
+
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
2447
+
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
2448
+
"deprecated": "Glob versions prior to v9 are no longer supported",
2449
+
"dev": true,
2450
+
"license": "ISC",
2451
+
"dependencies": {
2452
+
"fs.realpath": "^1.0.0",
2453
+
"inflight": "^1.0.4",
2454
+
"inherits": "2",
2455
+
"minimatch": "^3.1.1",
2456
+
"once": "^1.3.0",
2457
+
"path-is-absolute": "^1.0.0"
2458
+
},
2459
+
"engines": {
2460
+
"node": "*"
2461
+
},
2462
+
"funding": {
2463
+
"url": "https://github.com/sponsors/isaacs"
2464
+
}
2465
+
},
2466
+
"node_modules/glob-parent": {
2467
+
"version": "6.0.2",
2468
+
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
2469
+
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
2470
+
"dev": true,
2471
+
"license": "ISC",
2472
+
"dependencies": {
2473
+
"is-glob": "^4.0.3"
2474
+
},
2475
+
"engines": {
2476
+
"node": ">=10.13.0"
2477
+
}
2478
+
},
2479
+
"node_modules/glob/node_modules/brace-expansion": {
2480
+
"version": "1.1.12",
2481
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
2482
+
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
2483
+
"dev": true,
2484
+
"license": "MIT",
2485
+
"dependencies": {
2486
+
"balanced-match": "^1.0.0",
2487
+
"concat-map": "0.0.1"
2488
+
}
2489
+
},
2490
+
"node_modules/glob/node_modules/minimatch": {
2491
+
"version": "3.1.2",
2492
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
2493
+
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2494
+
"dev": true,
2495
+
"license": "ISC",
2496
+
"dependencies": {
2497
+
"brace-expansion": "^1.1.7"
2498
+
},
2499
+
"engines": {
2500
+
"node": "*"
2501
+
}
2502
+
},
2503
+
"node_modules/globals": {
2504
+
"version": "13.24.0",
2505
+
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
2506
+
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
2507
+
"dev": true,
2508
+
"license": "MIT",
2509
+
"dependencies": {
2510
+
"type-fest": "^0.20.2"
2511
+
},
2512
+
"engines": {
2513
+
"node": ">=8"
2514
+
},
2515
+
"funding": {
2516
+
"url": "https://github.com/sponsors/sindresorhus"
2517
+
}
2518
+
},
2519
+
"node_modules/globals/node_modules/type-fest": {
2520
+
"version": "0.20.2",
2521
+
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
2522
+
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
2523
+
"dev": true,
2524
+
"license": "(MIT OR CC0-1.0)",
2525
+
"engines": {
2526
+
"node": ">=10"
2527
+
},
2528
+
"funding": {
2529
+
"url": "https://github.com/sponsors/sindresorhus"
2530
+
}
2531
+
},
2532
+
"node_modules/globby": {
2533
+
"version": "11.1.0",
2534
+
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
2535
+
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
2536
+
"dev": true,
2537
+
"license": "MIT",
2538
+
"dependencies": {
2539
+
"array-union": "^2.1.0",
2540
+
"dir-glob": "^3.0.1",
2541
+
"fast-glob": "^3.2.9",
2542
+
"ignore": "^5.2.0",
2543
+
"merge2": "^1.4.1",
2544
+
"slash": "^3.0.0"
2545
+
},
2546
+
"engines": {
2547
+
"node": ">=10"
2548
+
},
2549
+
"funding": {
2550
+
"url": "https://github.com/sponsors/sindresorhus"
2551
+
}
2552
+
},
2553
+
"node_modules/graphemer": {
2554
+
"version": "1.4.0",
2555
+
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
2556
+
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
2557
+
"license": "MIT"
2558
+
},
2559
+
"node_modules/has-flag": {
2560
+
"version": "4.0.0",
2561
+
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2562
+
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2563
+
"license": "MIT",
2564
+
"engines": {
2565
+
"node": ">=8"
2566
+
}
2567
+
},
2568
+
"node_modules/iconv-lite": {
2569
+
"version": "0.7.0",
2570
+
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz",
2571
+
"integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
2572
+
"license": "MIT",
2573
+
"dependencies": {
2574
+
"safer-buffer": ">= 2.1.2 < 3.0.0"
2575
+
},
2576
+
"engines": {
2577
+
"node": ">=0.10.0"
2578
+
},
2579
+
"funding": {
2580
+
"type": "opencollective",
2581
+
"url": "https://opencollective.com/express"
2582
+
}
2583
+
},
2584
+
"node_modules/ignore": {
2585
+
"version": "5.3.2",
2586
+
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
2587
+
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
2588
+
"dev": true,
2589
+
"license": "MIT",
2590
+
"engines": {
2591
+
"node": ">= 4"
2592
+
}
2593
+
},
2594
+
"node_modules/import-fresh": {
2595
+
"version": "3.3.1",
2596
+
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
2597
+
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
2598
+
"dev": true,
2599
+
"license": "MIT",
2600
+
"dependencies": {
2601
+
"parent-module": "^1.0.0",
2602
+
"resolve-from": "^4.0.0"
2603
+
},
2604
+
"engines": {
2605
+
"node": ">=6"
2606
+
},
2607
+
"funding": {
2608
+
"url": "https://github.com/sponsors/sindresorhus"
2609
+
}
2610
+
},
2611
+
"node_modules/imurmurhash": {
2612
+
"version": "0.1.4",
2613
+
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2614
+
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
2615
+
"dev": true,
2616
+
"license": "MIT",
2617
+
"engines": {
2618
+
"node": ">=0.8.19"
2619
+
}
2620
+
},
2621
+
"node_modules/indent-string": {
2622
+
"version": "4.0.0",
2623
+
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
2624
+
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
2625
+
"license": "MIT",
2626
+
"engines": {
2627
+
"node": ">=8"
2628
+
}
2629
+
},
2630
+
"node_modules/inflight": {
2631
+
"version": "1.0.6",
2632
+
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2633
+
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
2634
+
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
2635
+
"dev": true,
2636
+
"license": "ISC",
2637
+
"dependencies": {
2638
+
"once": "^1.3.0",
2639
+
"wrappy": "1"
2640
+
}
2641
+
},
2642
+
"node_modules/inherits": {
2643
+
"version": "2.0.4",
2644
+
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2645
+
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2646
+
"dev": true,
2647
+
"license": "ISC"
2648
+
},
2649
+
"node_modules/is-docker": {
2650
+
"version": "2.2.1",
2651
+
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
2652
+
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
2653
+
"license": "MIT",
2654
+
"bin": {
2655
+
"is-docker": "cli.js"
2656
+
},
2657
+
"engines": {
2658
+
"node": ">=8"
2659
+
},
2660
+
"funding": {
2661
+
"url": "https://github.com/sponsors/sindresorhus"
2662
+
}
2663
+
},
2664
+
"node_modules/is-extglob": {
2665
+
"version": "2.1.1",
2666
+
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2667
+
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
2668
+
"dev": true,
2669
+
"license": "MIT",
2670
+
"engines": {
2671
+
"node": ">=0.10.0"
2672
+
}
2673
+
},
2674
+
"node_modules/is-fullwidth-code-point": {
2675
+
"version": "3.0.0",
2676
+
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2677
+
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
2678
+
"license": "MIT",
2679
+
"engines": {
2680
+
"node": ">=8"
2681
+
}
2682
+
},
2683
+
"node_modules/is-glob": {
2684
+
"version": "4.0.3",
2685
+
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
2686
+
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
2687
+
"dev": true,
2688
+
"license": "MIT",
2689
+
"dependencies": {
2690
+
"is-extglob": "^2.1.1"
2691
+
},
2692
+
"engines": {
2693
+
"node": ">=0.10.0"
2694
+
}
2695
+
},
2696
+
"node_modules/is-number": {
2697
+
"version": "7.0.0",
2698
+
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
2699
+
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
2700
+
"dev": true,
2701
+
"license": "MIT",
2702
+
"engines": {
2703
+
"node": ">=0.12.0"
2704
+
}
2705
+
},
2706
+
"node_modules/is-path-inside": {
2707
+
"version": "3.0.3",
2708
+
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
2709
+
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
2710
+
"dev": true,
2711
+
"license": "MIT",
2712
+
"engines": {
2713
+
"node": ">=8"
2714
+
}
2715
+
},
2716
+
"node_modules/is-wsl": {
2717
+
"version": "2.2.0",
2718
+
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
2719
+
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
2720
+
"license": "MIT",
2721
+
"dependencies": {
2722
+
"is-docker": "^2.0.0"
2723
+
},
2724
+
"engines": {
2725
+
"node": ">=8"
2726
+
}
2727
+
},
2728
+
"node_modules/isexe": {
2729
+
"version": "2.0.0",
2730
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2731
+
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
2732
+
"dev": true,
2733
+
"license": "ISC"
2734
+
},
2735
+
"node_modules/iso-datestring-validator": {
2736
+
"version": "2.2.2",
2737
+
"resolved": "https://registry.npmjs.org/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz",
2738
+
"integrity": "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==",
2739
+
"license": "MIT"
2740
+
},
2741
+
"node_modules/jake": {
2742
+
"version": "10.9.4",
2743
+
"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
2744
+
"integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
2745
+
"license": "Apache-2.0",
2746
+
"dependencies": {
2747
+
"async": "^3.2.6",
2748
+
"filelist": "^1.0.4",
2749
+
"picocolors": "^1.1.1"
2750
+
},
2751
+
"bin": {
2752
+
"jake": "bin/cli.js"
2753
+
},
2754
+
"engines": {
2755
+
"node": ">=10"
2756
+
}
2757
+
},
2758
+
"node_modules/js-yaml": {
2759
+
"version": "4.1.0",
2760
+
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
2761
+
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
2762
+
"dev": true,
2763
+
"license": "MIT",
2764
+
"dependencies": {
2765
+
"argparse": "^2.0.1"
2766
+
},
2767
+
"bin": {
2768
+
"js-yaml": "bin/js-yaml.js"
2769
+
}
2770
+
},
2771
+
"node_modules/json-buffer": {
2772
+
"version": "3.0.1",
2773
+
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
2774
+
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
2775
+
"dev": true,
2776
+
"license": "MIT"
2777
+
},
2778
+
"node_modules/json-schema-traverse": {
2779
+
"version": "0.4.1",
2780
+
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2781
+
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2782
+
"dev": true,
2783
+
"license": "MIT"
2784
+
},
2785
+
"node_modules/json-stable-stringify-without-jsonify": {
2786
+
"version": "1.0.1",
2787
+
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2788
+
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
2789
+
"dev": true,
2790
+
"license": "MIT"
2791
+
},
2792
+
"node_modules/keyv": {
2793
+
"version": "4.5.4",
2794
+
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
2795
+
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
2796
+
"dev": true,
2797
+
"license": "MIT",
2798
+
"dependencies": {
2799
+
"json-buffer": "3.0.1"
2800
+
}
2801
+
},
2802
+
"node_modules/levn": {
2803
+
"version": "0.4.1",
2804
+
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
2805
+
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
2806
+
"dev": true,
2807
+
"license": "MIT",
2808
+
"dependencies": {
2809
+
"prelude-ls": "^1.2.1",
2810
+
"type-check": "~0.4.0"
2811
+
},
2812
+
"engines": {
2813
+
"node": ">= 0.8.0"
2814
+
}
2815
+
},
2816
+
"node_modules/lilconfig": {
2817
+
"version": "3.1.3",
2818
+
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
2819
+
"integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
2820
+
"license": "MIT",
2821
+
"engines": {
2822
+
"node": ">=14"
2823
+
},
2824
+
"funding": {
2825
+
"url": "https://github.com/sponsors/antonk52"
2826
+
}
2827
+
},
2828
+
"node_modules/locate-path": {
2829
+
"version": "6.0.0",
2830
+
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
2831
+
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
2832
+
"dev": true,
2833
+
"license": "MIT",
2834
+
"dependencies": {
2835
+
"p-locate": "^5.0.0"
2836
+
},
2837
+
"engines": {
2838
+
"node": ">=10"
2839
+
},
2840
+
"funding": {
2841
+
"url": "https://github.com/sponsors/sindresorhus"
2842
+
}
2843
+
},
2844
+
"node_modules/lodash.merge": {
2845
+
"version": "4.6.2",
2846
+
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
2847
+
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
2848
+
"dev": true,
2849
+
"license": "MIT"
2850
+
},
2851
+
"node_modules/merge2": {
2852
+
"version": "1.4.1",
2853
+
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
2854
+
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
2855
+
"dev": true,
2856
+
"license": "MIT",
2857
+
"engines": {
2858
+
"node": ">= 8"
2859
+
}
2860
+
},
2861
+
"node_modules/micromatch": {
2862
+
"version": "4.0.8",
2863
+
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
2864
+
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
2865
+
"dev": true,
2866
+
"license": "MIT",
2867
+
"dependencies": {
2868
+
"braces": "^3.0.3",
2869
+
"picomatch": "^2.3.1"
2870
+
},
2871
+
"engines": {
2872
+
"node": ">=8.6"
2873
+
}
2874
+
},
2875
+
"node_modules/minimatch": {
2876
+
"version": "9.0.5",
2877
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
2878
+
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
2879
+
"license": "ISC",
2880
+
"dependencies": {
2881
+
"brace-expansion": "^2.0.1"
2882
+
},
2883
+
"engines": {
2884
+
"node": ">=16 || 14 >=14.17"
2885
+
},
2886
+
"funding": {
2887
+
"url": "https://github.com/sponsors/isaacs"
2888
+
}
2889
+
},
2890
+
"node_modules/ms": {
2891
+
"version": "2.1.3",
2892
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2893
+
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2894
+
"license": "MIT"
2895
+
},
2896
+
"node_modules/multiformats": {
2897
+
"version": "9.9.0",
2898
+
"resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz",
2899
+
"integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==",
2900
+
"license": "(Apache-2.0 AND MIT)"
2901
+
},
2902
+
"node_modules/mute-stream": {
2903
+
"version": "3.0.0",
2904
+
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz",
2905
+
"integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==",
2906
+
"license": "ISC",
2907
+
"engines": {
2908
+
"node": "^20.17.0 || >=22.9.0"
2909
+
}
2910
+
},
2911
+
"node_modules/natural-compare": {
2912
+
"version": "1.4.0",
2913
+
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2914
+
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
2915
+
"dev": true,
2916
+
"license": "MIT"
2917
+
},
2918
+
"node_modules/node-fetch": {
2919
+
"version": "2.7.0",
2920
+
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
2921
+
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
2922
+
"license": "MIT",
2923
+
"dependencies": {
2924
+
"whatwg-url": "^5.0.0"
2925
+
},
2926
+
"engines": {
2927
+
"node": "4.x || >=6.0.0"
2928
+
},
2929
+
"peerDependencies": {
2930
+
"encoding": "^0.1.0"
2931
+
},
2932
+
"peerDependenciesMeta": {
2933
+
"encoding": {
2934
+
"optional": true
2935
+
}
2936
+
}
2937
+
},
2938
+
"node_modules/object-hash": {
2939
+
"version": "3.0.0",
2940
+
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
2941
+
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
2942
+
"license": "MIT",
2943
+
"engines": {
2944
+
"node": ">= 6"
2945
+
}
2946
+
},
2947
+
"node_modules/once": {
2948
+
"version": "1.4.0",
2949
+
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2950
+
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
2951
+
"dev": true,
2952
+
"license": "ISC",
2953
+
"dependencies": {
2954
+
"wrappy": "1"
2955
+
}
2956
+
},
2957
+
"node_modules/optionator": {
2958
+
"version": "0.9.4",
2959
+
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
2960
+
"integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
2961
+
"dev": true,
2962
+
"license": "MIT",
2963
+
"dependencies": {
2964
+
"deep-is": "^0.1.3",
2965
+
"fast-levenshtein": "^2.0.6",
2966
+
"levn": "^0.4.1",
2967
+
"prelude-ls": "^1.2.1",
2968
+
"type-check": "^0.4.0",
2969
+
"word-wrap": "^1.2.5"
2970
+
},
2971
+
"engines": {
2972
+
"node": ">= 0.8.0"
2973
+
}
2974
+
},
2975
+
"node_modules/optionator/node_modules/fast-levenshtein": {
2976
+
"version": "2.0.6",
2977
+
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
2978
+
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
2979
+
"dev": true,
2980
+
"license": "MIT"
2981
+
},
2982
+
"node_modules/p-limit": {
2983
+
"version": "3.1.0",
2984
+
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
2985
+
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
2986
+
"dev": true,
2987
+
"license": "MIT",
2988
+
"dependencies": {
2989
+
"yocto-queue": "^0.1.0"
2990
+
},
2991
+
"engines": {
2992
+
"node": ">=10"
2993
+
},
2994
+
"funding": {
2995
+
"url": "https://github.com/sponsors/sindresorhus"
2996
+
}
2997
+
},
2998
+
"node_modules/p-locate": {
2999
+
"version": "5.0.0",
3000
+
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
3001
+
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
3002
+
"dev": true,
3003
+
"license": "MIT",
3004
+
"dependencies": {
3005
+
"p-limit": "^3.0.2"
3006
+
},
3007
+
"engines": {
3008
+
"node": ">=10"
3009
+
},
3010
+
"funding": {
3011
+
"url": "https://github.com/sponsors/sindresorhus"
3012
+
}
3013
+
},
3014
+
"node_modules/parent-module": {
3015
+
"version": "1.0.1",
3016
+
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
3017
+
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
3018
+
"dev": true,
3019
+
"license": "MIT",
3020
+
"dependencies": {
3021
+
"callsites": "^3.0.0"
3022
+
},
3023
+
"engines": {
3024
+
"node": ">=6"
3025
+
}
3026
+
},
3027
+
"node_modules/path-exists": {
3028
+
"version": "4.0.0",
3029
+
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
3030
+
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
3031
+
"dev": true,
3032
+
"license": "MIT",
3033
+
"engines": {
3034
+
"node": ">=8"
3035
+
}
3036
+
},
3037
+
"node_modules/path-is-absolute": {
3038
+
"version": "1.0.1",
3039
+
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3040
+
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
3041
+
"dev": true,
3042
+
"license": "MIT",
3043
+
"engines": {
3044
+
"node": ">=0.10.0"
3045
+
}
3046
+
},
3047
+
"node_modules/path-key": {
3048
+
"version": "3.1.1",
3049
+
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
3050
+
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
3051
+
"dev": true,
3052
+
"license": "MIT",
3053
+
"engines": {
3054
+
"node": ">=8"
3055
+
}
3056
+
},
3057
+
"node_modules/path-type": {
3058
+
"version": "4.0.0",
3059
+
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
3060
+
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
3061
+
"dev": true,
3062
+
"license": "MIT",
3063
+
"engines": {
3064
+
"node": ">=8"
3065
+
}
3066
+
},
3067
+
"node_modules/picocolors": {
3068
+
"version": "1.1.1",
3069
+
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
3070
+
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
3071
+
"license": "ISC"
3072
+
},
3073
+
"node_modules/picomatch": {
3074
+
"version": "2.3.1",
3075
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
3076
+
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
3077
+
"dev": true,
3078
+
"license": "MIT",
3079
+
"engines": {
3080
+
"node": ">=8.6"
3081
+
},
3082
+
"funding": {
3083
+
"url": "https://github.com/sponsors/jonschlinkert"
3084
+
}
3085
+
},
3086
+
"node_modules/prelude-ls": {
3087
+
"version": "1.2.1",
3088
+
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
3089
+
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
3090
+
"dev": true,
3091
+
"license": "MIT",
3092
+
"engines": {
3093
+
"node": ">= 0.8.0"
3094
+
}
3095
+
},
3096
+
"node_modules/prettier": {
3097
+
"version": "3.6.2",
3098
+
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
3099
+
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
3100
+
"dev": true,
3101
+
"license": "MIT",
3102
+
"bin": {
3103
+
"prettier": "bin/prettier.cjs"
3104
+
},
3105
+
"engines": {
3106
+
"node": ">=14"
3107
+
},
3108
+
"funding": {
3109
+
"url": "https://github.com/prettier/prettier?sponsor=1"
3110
+
}
3111
+
},
3112
+
"node_modules/punycode": {
3113
+
"version": "2.3.1",
3114
+
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
3115
+
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
3116
+
"dev": true,
3117
+
"license": "MIT",
3118
+
"engines": {
3119
+
"node": ">=6"
3120
+
}
3121
+
},
3122
+
"node_modules/queue-microtask": {
3123
+
"version": "1.2.3",
3124
+
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
3125
+
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
3126
+
"dev": true,
3127
+
"funding": [
3128
+
{
3129
+
"type": "github",
3130
+
"url": "https://github.com/sponsors/feross"
3131
+
},
3132
+
{
3133
+
"type": "patreon",
3134
+
"url": "https://www.patreon.com/feross"
3135
+
},
3136
+
{
3137
+
"type": "consulting",
3138
+
"url": "https://feross.org/support"
3139
+
}
3140
+
],
3141
+
"license": "MIT"
3142
+
},
3143
+
"node_modules/react": {
3144
+
"version": "19.0.0",
3145
+
"resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
3146
+
"integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==",
3147
+
"license": "MIT",
3148
+
"engines": {
3149
+
"node": ">=0.10.0"
3150
+
}
3151
+
},
3152
+
"node_modules/resolve-from": {
3153
+
"version": "4.0.0",
3154
+
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
3155
+
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
3156
+
"dev": true,
3157
+
"license": "MIT",
3158
+
"engines": {
3159
+
"node": ">=4"
3160
+
}
3161
+
},
3162
+
"node_modules/reusify": {
3163
+
"version": "1.1.0",
3164
+
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
3165
+
"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
3166
+
"dev": true,
3167
+
"license": "MIT",
3168
+
"engines": {
3169
+
"iojs": ">=1.0.0",
3170
+
"node": ">=0.10.0"
3171
+
}
3172
+
},
3173
+
"node_modules/rimraf": {
3174
+
"version": "3.0.2",
3175
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
3176
+
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
3177
+
"deprecated": "Rimraf versions prior to v4 are no longer supported",
3178
+
"dev": true,
3179
+
"license": "ISC",
3180
+
"dependencies": {
3181
+
"glob": "^7.1.3"
3182
+
},
3183
+
"bin": {
3184
+
"rimraf": "bin.js"
3185
+
},
3186
+
"funding": {
3187
+
"url": "https://github.com/sponsors/isaacs"
3188
+
}
3189
+
},
3190
+
"node_modules/run-parallel": {
3191
+
"version": "1.2.0",
3192
+
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
3193
+
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
3194
+
"dev": true,
3195
+
"funding": [
3196
+
{
3197
+
"type": "github",
3198
+
"url": "https://github.com/sponsors/feross"
3199
+
},
3200
+
{
3201
+
"type": "patreon",
3202
+
"url": "https://www.patreon.com/feross"
3203
+
},
3204
+
{
3205
+
"type": "consulting",
3206
+
"url": "https://feross.org/support"
3207
+
}
3208
+
],
3209
+
"license": "MIT",
3210
+
"dependencies": {
3211
+
"queue-microtask": "^1.2.2"
3212
+
}
3213
+
},
3214
+
"node_modules/safer-buffer": {
3215
+
"version": "2.1.2",
3216
+
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
3217
+
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
3218
+
"license": "MIT"
3219
+
},
3220
+
"node_modules/semver": {
3221
+
"version": "7.7.3",
3222
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
3223
+
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
3224
+
"license": "ISC",
3225
+
"bin": {
3226
+
"semver": "bin/semver.js"
3227
+
},
3228
+
"engines": {
3229
+
"node": ">=10"
3230
+
}
3231
+
},
3232
+
"node_modules/shebang-command": {
3233
+
"version": "2.0.0",
3234
+
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
3235
+
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
3236
+
"dev": true,
3237
+
"license": "MIT",
3238
+
"dependencies": {
3239
+
"shebang-regex": "^3.0.0"
3240
+
},
3241
+
"engines": {
3242
+
"node": ">=8"
3243
+
}
3244
+
},
3245
+
"node_modules/shebang-regex": {
3246
+
"version": "3.0.0",
3247
+
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3248
+
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3249
+
"dev": true,
3250
+
"license": "MIT",
3251
+
"engines": {
3252
+
"node": ">=8"
3253
+
}
3254
+
},
3255
+
"node_modules/signal-exit": {
3256
+
"version": "4.1.0",
3257
+
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
3258
+
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
3259
+
"license": "ISC",
3260
+
"engines": {
3261
+
"node": ">=14"
3262
+
},
3263
+
"funding": {
3264
+
"url": "https://github.com/sponsors/isaacs"
3265
+
}
3266
+
},
3267
+
"node_modules/slash": {
3268
+
"version": "3.0.0",
3269
+
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
3270
+
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
3271
+
"dev": true,
3272
+
"license": "MIT",
3273
+
"engines": {
3274
+
"node": ">=8"
3275
+
}
3276
+
},
3277
+
"node_modules/stream-chain": {
3278
+
"version": "2.2.5",
3279
+
"resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz",
3280
+
"integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==",
3281
+
"license": "BSD-3-Clause"
3282
+
},
3283
+
"node_modules/stream-json": {
3284
+
"version": "1.9.1",
3285
+
"resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz",
3286
+
"integrity": "sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==",
3287
+
"license": "BSD-3-Clause",
3288
+
"dependencies": {
3289
+
"stream-chain": "^2.2.5"
3290
+
}
3291
+
},
3292
+
"node_modules/string-width": {
3293
+
"version": "4.2.3",
3294
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
3295
+
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
3296
+
"license": "MIT",
3297
+
"dependencies": {
3298
+
"emoji-regex": "^8.0.0",
3299
+
"is-fullwidth-code-point": "^3.0.0",
3300
+
"strip-ansi": "^6.0.1"
3301
+
},
3302
+
"engines": {
3303
+
"node": ">=8"
3304
+
}
3305
+
},
3306
+
"node_modules/strip-ansi": {
3307
+
"version": "6.0.1",
3308
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
3309
+
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
3310
+
"license": "MIT",
3311
+
"dependencies": {
3312
+
"ansi-regex": "^5.0.1"
3313
+
},
3314
+
"engines": {
3315
+
"node": ">=8"
3316
+
}
3317
+
},
3318
+
"node_modules/strip-json-comments": {
3319
+
"version": "3.1.1",
3320
+
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
3321
+
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
3322
+
"dev": true,
3323
+
"license": "MIT",
3324
+
"engines": {
3325
+
"node": ">=8"
3326
+
},
3327
+
"funding": {
3328
+
"url": "https://github.com/sponsors/sindresorhus"
3329
+
}
3330
+
},
3331
+
"node_modules/supports-color": {
3332
+
"version": "8.1.1",
3333
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
3334
+
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
3335
+
"license": "MIT",
3336
+
"dependencies": {
3337
+
"has-flag": "^4.0.0"
3338
+
},
3339
+
"engines": {
3340
+
"node": ">=10"
3341
+
},
3342
+
"funding": {
3343
+
"url": "https://github.com/chalk/supports-color?sponsor=1"
3344
+
}
3345
+
},
3346
+
"node_modules/text-table": {
3347
+
"version": "0.2.0",
3348
+
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
3349
+
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
3350
+
"dev": true,
3351
+
"license": "MIT"
3352
+
},
3353
+
"node_modules/tinyglobby": {
3354
+
"version": "0.2.15",
3355
+
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
3356
+
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
3357
+
"license": "MIT",
3358
+
"dependencies": {
3359
+
"fdir": "^6.5.0",
3360
+
"picomatch": "^4.0.3"
3361
+
},
3362
+
"engines": {
3363
+
"node": ">=12.0.0"
3364
+
},
3365
+
"funding": {
3366
+
"url": "https://github.com/sponsors/SuperchupuDev"
3367
+
}
3368
+
},
3369
+
"node_modules/tinyglobby/node_modules/fdir": {
3370
+
"version": "6.5.0",
3371
+
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
3372
+
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
3373
+
"license": "MIT",
3374
+
"engines": {
3375
+
"node": ">=12.0.0"
3376
+
},
3377
+
"peerDependencies": {
3378
+
"picomatch": "^3 || ^4"
3379
+
},
3380
+
"peerDependenciesMeta": {
3381
+
"picomatch": {
3382
+
"optional": true
3383
+
}
3384
+
}
3385
+
},
3386
+
"node_modules/tinyglobby/node_modules/picomatch": {
3387
+
"version": "4.0.3",
3388
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
3389
+
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
3390
+
"license": "MIT",
3391
+
"engines": {
3392
+
"node": ">=12"
3393
+
},
3394
+
"funding": {
3395
+
"url": "https://github.com/sponsors/jonschlinkert"
3396
+
}
3397
+
},
3398
+
"node_modules/tlds": {
3399
+
"version": "1.261.0",
3400
+
"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.261.0.tgz",
3401
+
"integrity": "sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA==",
3402
+
"license": "MIT",
3403
+
"bin": {
3404
+
"tlds": "bin.js"
3405
+
}
3406
+
},
3407
+
"node_modules/to-regex-range": {
3408
+
"version": "5.0.1",
3409
+
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
3410
+
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
3411
+
"dev": true,
3412
+
"license": "MIT",
3413
+
"dependencies": {
3414
+
"is-number": "^7.0.0"
3415
+
},
3416
+
"engines": {
3417
+
"node": ">=8.0"
3418
+
}
3419
+
},
3420
+
"node_modules/tr46": {
3421
+
"version": "0.0.3",
3422
+
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
3423
+
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
3424
+
"license": "MIT"
3425
+
},
3426
+
"node_modules/ts-api-utils": {
3427
+
"version": "1.4.3",
3428
+
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
3429
+
"integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
3430
+
"dev": true,
3431
+
"license": "MIT",
3432
+
"engines": {
3433
+
"node": ">=16"
3434
+
},
3435
+
"peerDependencies": {
3436
+
"typescript": ">=4.2.0"
3437
+
}
3438
+
},
3439
+
"node_modules/tslib": {
3440
+
"version": "1.14.1",
3441
+
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
3442
+
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
3443
+
"dev": true,
3444
+
"license": "0BSD"
3445
+
},
3446
+
"node_modules/tsutils": {
3447
+
"version": "3.21.0",
3448
+
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
3449
+
"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
3450
+
"dev": true,
3451
+
"license": "MIT",
3452
+
"dependencies": {
3453
+
"tslib": "^1.8.1"
3454
+
},
3455
+
"engines": {
3456
+
"node": ">= 6"
3457
+
},
3458
+
"peerDependencies": {
3459
+
"typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
3460
+
}
3461
+
},
3462
+
"node_modules/type-check": {
3463
+
"version": "0.4.0",
3464
+
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
3465
+
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
3466
+
"dev": true,
3467
+
"license": "MIT",
3468
+
"dependencies": {
3469
+
"prelude-ls": "^1.2.1"
3470
+
},
3471
+
"engines": {
3472
+
"node": ">= 0.8.0"
3473
+
}
3474
+
},
3475
+
"node_modules/type-fest": {
3476
+
"version": "0.21.3",
3477
+
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
3478
+
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
3479
+
"license": "(MIT OR CC0-1.0)",
3480
+
"engines": {
3481
+
"node": ">=10"
3482
+
},
3483
+
"funding": {
3484
+
"url": "https://github.com/sponsors/sindresorhus"
3485
+
}
3486
+
},
3487
+
"node_modules/typescript": {
3488
+
"version": "5.9.3",
3489
+
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
3490
+
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
3491
+
"dev": true,
3492
+
"license": "Apache-2.0",
3493
+
"bin": {
3494
+
"tsc": "bin/tsc",
3495
+
"tsserver": "bin/tsserver"
3496
+
},
3497
+
"engines": {
3498
+
"node": ">=14.17"
3499
+
}
3500
+
},
3501
+
"node_modules/uint8arrays": {
3502
+
"version": "3.0.0",
3503
+
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz",
3504
+
"integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==",
3505
+
"license": "MIT",
3506
+
"dependencies": {
3507
+
"multiformats": "^9.4.2"
3508
+
}
3509
+
},
3510
+
"node_modules/undici-types": {
3511
+
"version": "5.26.5",
3512
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
3513
+
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
3514
+
"devOptional": true,
3515
+
"license": "MIT"
3516
+
},
3517
+
"node_modules/uri-js": {
3518
+
"version": "4.4.1",
3519
+
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
3520
+
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
3521
+
"dev": true,
3522
+
"license": "BSD-2-Clause",
3523
+
"dependencies": {
3524
+
"punycode": "^2.1.0"
3525
+
}
3526
+
},
3527
+
"node_modules/webidl-conversions": {
3528
+
"version": "3.0.1",
3529
+
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
3530
+
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
3531
+
"license": "BSD-2-Clause"
3532
+
},
3533
+
"node_modules/whatwg-url": {
3534
+
"version": "5.0.0",
3535
+
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
3536
+
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
3537
+
"license": "MIT",
3538
+
"dependencies": {
3539
+
"tr46": "~0.0.3",
3540
+
"webidl-conversions": "^3.0.0"
3541
+
}
3542
+
},
3543
+
"node_modules/which": {
3544
+
"version": "2.0.2",
3545
+
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
3546
+
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
3547
+
"dev": true,
3548
+
"license": "ISC",
3549
+
"dependencies": {
3550
+
"isexe": "^2.0.0"
3551
+
},
3552
+
"bin": {
3553
+
"node-which": "bin/node-which"
3554
+
},
3555
+
"engines": {
3556
+
"node": ">= 8"
3557
+
}
3558
+
},
3559
+
"node_modules/widest-line": {
3560
+
"version": "3.1.0",
3561
+
"resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
3562
+
"integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
3563
+
"license": "MIT",
3564
+
"dependencies": {
3565
+
"string-width": "^4.0.0"
3566
+
},
3567
+
"engines": {
3568
+
"node": ">=8"
3569
+
}
3570
+
},
3571
+
"node_modules/word-wrap": {
3572
+
"version": "1.2.5",
3573
+
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
3574
+
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
3575
+
"dev": true,
3576
+
"license": "MIT",
3577
+
"engines": {
3578
+
"node": ">=0.10.0"
3579
+
}
3580
+
},
3581
+
"node_modules/wordwrap": {
3582
+
"version": "1.0.0",
3583
+
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
3584
+
"integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
3585
+
"license": "MIT"
3586
+
},
3587
+
"node_modules/wrap-ansi": {
3588
+
"version": "7.0.0",
3589
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
3590
+
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
3591
+
"license": "MIT",
3592
+
"dependencies": {
3593
+
"ansi-styles": "^4.0.0",
3594
+
"string-width": "^4.1.0",
3595
+
"strip-ansi": "^6.0.0"
3596
+
},
3597
+
"engines": {
3598
+
"node": ">=10"
3599
+
},
3600
+
"funding": {
3601
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
3602
+
}
3603
+
},
3604
+
"node_modules/wrappy": {
3605
+
"version": "1.0.2",
3606
+
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3607
+
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
3608
+
"dev": true,
3609
+
"license": "ISC"
3610
+
},
3611
+
"node_modules/yocto-queue": {
3612
+
"version": "0.1.0",
3613
+
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
3614
+
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
3615
+
"dev": true,
3616
+
"license": "MIT",
3617
+
"engines": {
3618
+
"node": ">=10"
3619
+
},
3620
+
"funding": {
3621
+
"url": "https://github.com/sponsors/sindresorhus"
3622
+
}
3623
+
},
3624
+
"node_modules/yoctocolors-cjs": {
3625
+
"version": "2.1.3",
3626
+
"resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
3627
+
"integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
3628
+
"license": "MIT",
3629
+
"engines": {
3630
+
"node": ">=18"
3631
+
},
3632
+
"funding": {
3633
+
"url": "https://github.com/sponsors/sindresorhus"
3634
+
}
3635
+
},
3636
+
"node_modules/zod": {
3637
+
"version": "3.25.76",
3638
+
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
3639
+
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
3640
+
"license": "MIT",
3641
+
"funding": {
3642
+
"url": "https://github.com/sponsors/colinhacks"
3643
+
}
3644
+
}
3645
+
}
3646
+
}
+77
package.json
+77
package.json
···
1
+
{
2
+
"$schema": "https://www.raycast.com/schemas/extension.json",
3
+
"name": "semble",
4
+
"title": "Semble",
5
+
"description": "Search and manage your Semble cards and collections",
6
+
"icon": "icon.png",
7
+
"author": "renderghost",
8
+
"categories": [
9
+
"Productivity",
10
+
"Web"
11
+
],
12
+
"license": "MIT",
13
+
"commands": [
14
+
{
15
+
"name": "search-cards",
16
+
"title": "Search Cards",
17
+
"description": "Search for Semble cards and copy links",
18
+
"mode": "view",
19
+
"icon": "icon.png"
20
+
},
21
+
{
22
+
"name": "search-collections",
23
+
"title": "Search Collections",
24
+
"description": "Search for Semble collections and copy links",
25
+
"mode": "view",
26
+
"icon": "icon.png"
27
+
}
28
+
],
29
+
"preferences": [
30
+
{
31
+
"name": "identifier",
32
+
"type": "textfield",
33
+
"required": true,
34
+
"title": "Identifier",
35
+
"description": "Your Semble username or handle (e.g., renderg.host)",
36
+
"placeholder": "username.bsky.social"
37
+
},
38
+
{
39
+
"name": "password",
40
+
"type": "password",
41
+
"required": true,
42
+
"title": "App Password",
43
+
"description": "Your AT Protocol app password",
44
+
"placeholder": "xxxx-xxxx-xxxx-xxxx"
45
+
},
46
+
{
47
+
"name": "pdsHost",
48
+
"type": "textfield",
49
+
"required": false,
50
+
"title": "PDS Host",
51
+
"description": "Personal Data Server host (default: bsky.social)",
52
+
"default": "bsky.social",
53
+
"placeholder": "bsky.social"
54
+
}
55
+
],
56
+
"dependencies": {
57
+
"@atproto/api": "latest",
58
+
"@raycast/api": "latest",
59
+
"@raycast/utils": "latest"
60
+
},
61
+
"devDependencies": {
62
+
"@raycast/eslint-config": "latest",
63
+
"@types/node": "latest",
64
+
"@types/react": "latest",
65
+
"eslint": "latest",
66
+
"prettier": "latest",
67
+
"typescript": "latest"
68
+
},
69
+
"scripts": {
70
+
"build": "ray build -e dist",
71
+
"dev": "ray develop",
72
+
"fix-lint": "ray lint --fix",
73
+
"lint": "ray lint",
74
+
"prepublishOnly": "echo \"\\n\\nIt seems like you are trying to publish the Raycast extension to npm.\\n\\nIf you did intend to publish it to npm, remove the \\`prepublishOnly\\` script and rerun \\`npm publish\\` again.\\nIf you wanted to publish it to the Raycast Store instead, use \\`npm run publish\\` instead.\\n\\n\" && exit 1",
75
+
"publish": "npx @raycast/api@latest publish"
76
+
}
77
+
}
+35
raycast-env.d.ts
+35
raycast-env.d.ts
···
1
+
/// <reference types="@raycast/api">
2
+
3
+
/* 🚧 🚧 🚧
4
+
* This file is auto-generated from the extension's manifest.
5
+
* Do not modify manually. Instead, update the `package.json` file.
6
+
* 🚧 🚧 🚧 */
7
+
8
+
/* eslint-disable @typescript-eslint/ban-types */
9
+
10
+
type ExtensionPreferences = {
11
+
/** Identifier - Your Semble username or handle (e.g., renderg.host) */
12
+
"identifier": string,
13
+
/** App Password - Your AT Protocol app password */
14
+
"password": string,
15
+
/** PDS Host - Personal Data Server host (default: bsky.social) */
16
+
"pdsHost": string
17
+
}
18
+
19
+
/** Preferences accessible in all the extension's commands */
20
+
declare type Preferences = ExtensionPreferences
21
+
22
+
declare namespace Preferences {
23
+
/** Preferences accessible in the `search-cards` command */
24
+
export type SearchCards = ExtensionPreferences & {}
25
+
/** Preferences accessible in the `search-collections` command */
26
+
export type SearchCollections = ExtensionPreferences & {}
27
+
}
28
+
29
+
declare namespace Arguments {
30
+
/** Arguments passed to the `search-cards` command */
31
+
export type SearchCards = {}
32
+
/** Arguments passed to the `search-collections` command */
33
+
export type SearchCollections = {}
34
+
}
35
+
+134
src/lib/atproto-client.ts
+134
src/lib/atproto-client.ts
···
1
+
import { BskyAgent } from "@atproto/api";
2
+
import { getPreferenceValues } from "@raycast/api";
3
+
import { SembleCard, SembleCollection, SembleCollectionLink, CardWithCollection } from "./types";
4
+
5
+
interface Preferences {
6
+
identifier: string;
7
+
password: string;
8
+
pdsHost?: string;
9
+
}
10
+
11
+
export class SembleClient {
12
+
private agent: BskyAgent;
13
+
private preferences: Preferences;
14
+
private userDid: string | null = null;
15
+
16
+
constructor() {
17
+
this.preferences = getPreferenceValues<Preferences>();
18
+
const pdsHost = this.preferences.pdsHost || "bsky.social";
19
+
this.agent = new BskyAgent({
20
+
service: `https://${pdsHost}`,
21
+
});
22
+
}
23
+
24
+
async authenticate(): Promise<void> {
25
+
try {
26
+
const response = await this.agent.login({
27
+
identifier: this.preferences.identifier,
28
+
password: this.preferences.password,
29
+
});
30
+
this.userDid = response.data.did;
31
+
} catch (error) {
32
+
throw new Error(`Authentication failed: ${error instanceof Error ? error.message : "Unknown error"}`);
33
+
}
34
+
}
35
+
36
+
async getCards(): Promise<SembleCard[]> {
37
+
if (!this.userDid) {
38
+
await this.authenticate();
39
+
}
40
+
41
+
try {
42
+
const response = await this.agent.com.atproto.repo.listRecords({
43
+
repo: this.userDid!,
44
+
collection: "network.cosmik.card",
45
+
limit: 100,
46
+
});
47
+
48
+
return response.data.records as unknown as SembleCard[];
49
+
} catch (error) {
50
+
throw new Error(`Failed to fetch cards: ${error instanceof Error ? error.message : "Unknown error"}`);
51
+
}
52
+
}
53
+
54
+
async getCollections(): Promise<SembleCollection[]> {
55
+
if (!this.userDid) {
56
+
await this.authenticate();
57
+
}
58
+
59
+
try {
60
+
const response = await this.agent.com.atproto.repo.listRecords({
61
+
repo: this.userDid!,
62
+
collection: "network.cosmik.collection",
63
+
limit: 100,
64
+
});
65
+
66
+
return response.data.records as unknown as SembleCollection[];
67
+
} catch (error) {
68
+
throw new Error(`Failed to fetch collections: ${error instanceof Error ? error.message : "Unknown error"}`);
69
+
}
70
+
}
71
+
72
+
async getCollectionLinks(): Promise<SembleCollectionLink[]> {
73
+
if (!this.userDid) {
74
+
await this.authenticate();
75
+
}
76
+
77
+
try {
78
+
const response = await this.agent.com.atproto.repo.listRecords({
79
+
repo: this.userDid!,
80
+
collection: "network.cosmik.collectionLink",
81
+
limit: 100,
82
+
});
83
+
84
+
return response.data.records as unknown as SembleCollectionLink[];
85
+
} catch (error) {
86
+
throw new Error(
87
+
`Failed to fetch collection links: ${error instanceof Error ? error.message : "Unknown error"}`
88
+
);
89
+
}
90
+
}
91
+
92
+
async getCardsWithCollections(): Promise<CardWithCollection[]> {
93
+
const [cards, collections, collectionLinks] = await Promise.all([
94
+
this.getCards(),
95
+
this.getCollections(),
96
+
this.getCollectionLinks(),
97
+
]);
98
+
99
+
// Create a map of collection URIs to collection objects
100
+
const collectionsMap = new Map<string, SembleCollection>();
101
+
collections.forEach((col) => {
102
+
collectionsMap.set(col.uri, col);
103
+
});
104
+
105
+
// Create a map of card URIs to their collections
106
+
const cardCollectionsMap = new Map<string, SembleCollection[]>();
107
+
collectionLinks.forEach((link) => {
108
+
const cardUri = link.value.card.uri;
109
+
const collectionUri = link.value.collection.uri;
110
+
const collection = collectionsMap.get(collectionUri);
111
+
112
+
if (collection) {
113
+
if (!cardCollectionsMap.has(cardUri)) {
114
+
cardCollectionsMap.set(cardUri, []);
115
+
}
116
+
cardCollectionsMap.get(cardUri)!.push(collection);
117
+
}
118
+
});
119
+
120
+
// Combine cards with their collections
121
+
return cards.map((card) => ({
122
+
card,
123
+
collections: cardCollectionsMap.get(card.uri) || [],
124
+
}));
125
+
}
126
+
127
+
getUserIdentifier(): string {
128
+
return this.preferences.identifier;
129
+
}
130
+
131
+
getUserDid(): string | null {
132
+
return this.userDid;
133
+
}
134
+
}
+60
src/lib/types.ts
+60
src/lib/types.ts
···
1
+
// Semble AT Protocol Record Types
2
+
3
+
export interface SembleCard {
4
+
uri: string;
5
+
cid: string;
6
+
value: {
7
+
$type: "network.cosmik.card";
8
+
url?: string;
9
+
type?: string;
10
+
content?: {
11
+
$type: "network.cosmik.card#urlContent";
12
+
url?: string;
13
+
metadata?: {
14
+
$type: "network.cosmik.card#urlMetadata";
15
+
title?: string;
16
+
description?: string;
17
+
image?: string;
18
+
retrievedAt?: string;
19
+
};
20
+
};
21
+
createdAt: string;
22
+
};
23
+
}
24
+
25
+
export interface SembleCollection {
26
+
uri: string;
27
+
cid: string;
28
+
value: {
29
+
$type: "network.cosmik.collection";
30
+
name: string;
31
+
createdAt: string;
32
+
updatedAt: string;
33
+
accessType: string;
34
+
collaborators: string[];
35
+
};
36
+
}
37
+
38
+
export interface SembleCollectionLink {
39
+
uri: string;
40
+
cid: string;
41
+
value: {
42
+
$type: "network.cosmik.collectionLink";
43
+
card: {
44
+
cid: string;
45
+
uri: string;
46
+
};
47
+
collection: {
48
+
cid: string;
49
+
uri: string;
50
+
};
51
+
addedAt: string;
52
+
addedBy: string;
53
+
createdAt: string;
54
+
};
55
+
}
56
+
57
+
export interface CardWithCollection {
58
+
card: SembleCard;
59
+
collections: SembleCollection[];
60
+
}
+63
src/lib/utils.ts
+63
src/lib/utils.ts
···
1
+
import { SembleCard, SembleCollection } from "./types";
2
+
3
+
/**
4
+
* Extract the collection ID from an AT Protocol URI
5
+
* Example: at://did:plc:xxx/network.cosmik.collection/3m5a3ww5m4g2o -> 3m5a3ww5m4g2o
6
+
*/
7
+
export function extractCollectionId(uri: string): string {
8
+
const parts = uri.split("/");
9
+
return parts[parts.length - 1];
10
+
}
11
+
12
+
/**
13
+
* Extract username from identifier (handle or DID)
14
+
* Example: renderg.host -> renderg.host
15
+
*/
16
+
export function extractUsername(identifier: string): string {
17
+
// If it's a DID, we'd need to resolve it, but for now we'll use the identifier as-is
18
+
return identifier;
19
+
}
20
+
21
+
/**
22
+
* Generate a Semble card link
23
+
* Format: https://semble.so/url?id={cardUrl}
24
+
*/
25
+
export function generateCardLink(card: SembleCard): string {
26
+
const cardUrl = card.value.url || "";
27
+
return cardUrl ? `https://semble.so/url?id=${encodeURIComponent(cardUrl)}` : "";
28
+
}
29
+
30
+
/**
31
+
* Generate a Semble collection link
32
+
* Format: https://semble.so/profile/{username}/collections/{collectionId}
33
+
*/
34
+
export function generateCollectionLink(collection: SembleCollection, username: string): string {
35
+
const collectionId = extractCollectionId(collection.uri);
36
+
return `https://semble.so/profile/${username}/collections/${collectionId}`;
37
+
}
38
+
39
+
/**
40
+
* Get the title of a card
41
+
*/
42
+
export function getCardTitle(card: SembleCard): string {
43
+
return card.value.content?.metadata?.title || card.value.url || "Untitled Card";
44
+
}
45
+
46
+
/**
47
+
* Get the subtitle/description of a card
48
+
*/
49
+
export function getCardSubtitle(card: SembleCard): string {
50
+
return card.value.content?.metadata?.description || card.value.url || "No description";
51
+
}
52
+
53
+
/**
54
+
* Format date for display
55
+
*/
56
+
export function formatDate(dateString: string): string {
57
+
const date = new Date(dateString);
58
+
return date.toLocaleDateString(undefined, {
59
+
year: "numeric",
60
+
month: "short",
61
+
day: "numeric",
62
+
});
63
+
}
+157
src/search-cards.tsx
+157
src/search-cards.tsx
···
1
+
import { Action, ActionPanel, List, showToast, Toast, Icon } from "@raycast/api";
2
+
import { useEffect, useState } from "react";
3
+
import { SembleClient } from "./lib/atproto-client";
4
+
import { CardWithCollection, SembleCollection } from "./lib/types";
5
+
import { generateCardLink, getCardTitle, getCardSubtitle } from "./lib/utils";
6
+
7
+
export default function SearchCards() {
8
+
const [cards, setCards] = useState<CardWithCollection[]>([]);
9
+
const [collections, setCollections] = useState<SembleCollection[]>([]);
10
+
const [isLoading, setIsLoading] = useState(true);
11
+
const [selectedCollection, setSelectedCollection] = useState<string>("all");
12
+
const [searchText, setSearchText] = useState("");
13
+
14
+
useEffect(() => {
15
+
async function fetchData() {
16
+
const client = new SembleClient();
17
+
setIsLoading(true);
18
+
19
+
try {
20
+
const [cardsWithCollections, allCollections] = await Promise.all([
21
+
client.getCardsWithCollections(),
22
+
client.getCollections(),
23
+
]);
24
+
25
+
setCards(cardsWithCollections);
26
+
setCollections(allCollections);
27
+
28
+
await showToast({
29
+
style: Toast.Style.Success,
30
+
title: "Loaded cards successfully",
31
+
message: `Found ${cardsWithCollections.length} cards`,
32
+
});
33
+
} catch (error) {
34
+
await showToast({
35
+
style: Toast.Style.Failure,
36
+
title: "Failed to load cards",
37
+
message: error instanceof Error ? error.message : "Unknown error",
38
+
});
39
+
} finally {
40
+
setIsLoading(false);
41
+
}
42
+
}
43
+
44
+
fetchData();
45
+
}, []);
46
+
47
+
// Filter cards based on search text and selected collection
48
+
const filteredCards = cards.filter((item) => {
49
+
const title = (getCardTitle(item.card) || "").toLowerCase();
50
+
const url = (item.card.value.url || "").toLowerCase();
51
+
const subtitle = (getCardSubtitle(item.card) || "").toLowerCase();
52
+
const searchLower = searchText.toLowerCase();
53
+
54
+
const matchesSearch =
55
+
!searchText || title.includes(searchLower) || url.includes(searchLower) || subtitle.includes(searchLower);
56
+
57
+
const matchesCollection =
58
+
selectedCollection === "all" || item.collections.some((col) => col.uri === selectedCollection);
59
+
60
+
return matchesSearch && matchesCollection;
61
+
});
62
+
63
+
return (
64
+
<List
65
+
isLoading={isLoading}
66
+
searchText={searchText}
67
+
onSearchTextChange={setSearchText}
68
+
searchBarPlaceholder="Search cards by title or URL..."
69
+
searchBarAccessory={
70
+
<List.Dropdown
71
+
tooltip="Filter by Collection"
72
+
value={selectedCollection}
73
+
onChange={setSelectedCollection}
74
+
>
75
+
<List.Dropdown.Item title="All Collections" value="all" />
76
+
{collections.map((collection) => (
77
+
<List.Dropdown.Item
78
+
key={collection.uri}
79
+
title={collection.value.name}
80
+
value={collection.uri}
81
+
/>
82
+
))}
83
+
</List.Dropdown>
84
+
}
85
+
>
86
+
{filteredCards.map((item) => (
87
+
<CardListItem key={item.card.uri} item={item} />
88
+
))}
89
+
</List>
90
+
);
91
+
}
92
+
93
+
function CardListItem({ item }: { item: CardWithCollection }) {
94
+
const { card, collections } = item;
95
+
96
+
const title = getCardTitle(card);
97
+
const subtitle = getCardSubtitle(card);
98
+
const cardLink = generateCardLink(card);
99
+
const originalUrl = card.value.url;
100
+
101
+
// Get collection names for accessories
102
+
const collectionNames = collections.map((col) => col.value.name).join(", ");
103
+
104
+
return (
105
+
<List.Item
106
+
title={title}
107
+
subtitle={subtitle}
108
+
accessories={[
109
+
{
110
+
text: collectionNames || "No collection",
111
+
icon: collectionNames ? Icon.Folder : Icon.Document,
112
+
},
113
+
]}
114
+
actions={
115
+
<ActionPanel>
116
+
{cardLink && (
117
+
<>
118
+
<Action.CopyToClipboard
119
+
title="Copy Card Link"
120
+
content={cardLink}
121
+
onCopy={() => {
122
+
showToast({
123
+
style: Toast.Style.Success,
124
+
title: "Copied to clipboard",
125
+
message: "Card link copied",
126
+
});
127
+
}}
128
+
/>
129
+
<Action.OpenInBrowser title="Visit Card" url={cardLink} />
130
+
</>
131
+
)}
132
+
{originalUrl && (
133
+
<>
134
+
<Action.CopyToClipboard
135
+
title="Copy Original URL"
136
+
content={originalUrl}
137
+
shortcut={{ modifiers: ["cmd"], key: "u" }}
138
+
onCopy={() => {
139
+
showToast({
140
+
style: Toast.Style.Success,
141
+
title: "Copied to clipboard",
142
+
message: "Original URL copied",
143
+
});
144
+
}}
145
+
/>
146
+
<Action.OpenInBrowser
147
+
title="Visit Original URL"
148
+
url={originalUrl}
149
+
shortcut={{ modifiers: ["cmd", "shift"], key: "o" }}
150
+
/>
151
+
</>
152
+
)}
153
+
</ActionPanel>
154
+
}
155
+
/>
156
+
);
157
+
}
+96
src/search-collections.tsx
+96
src/search-collections.tsx
···
1
+
import { Action, ActionPanel, List, showToast, Toast, Icon } from "@raycast/api";
2
+
import { useEffect, useState } from "react";
3
+
import { SembleClient } from "./lib/atproto-client";
4
+
import { SembleCollection } from "./lib/types";
5
+
import { generateCollectionLink } from "./lib/utils";
6
+
7
+
export default function SearchCollections() {
8
+
const [collections, setCollections] = useState<SembleCollection[]>([]);
9
+
const [isLoading, setIsLoading] = useState(true);
10
+
const [searchText, setSearchText] = useState("");
11
+
12
+
useEffect(() => {
13
+
async function fetchCollections() {
14
+
const client = new SembleClient();
15
+
setIsLoading(true);
16
+
17
+
try {
18
+
const fetchedCollections = await client.getCollections();
19
+
setCollections(fetchedCollections);
20
+
21
+
await showToast({
22
+
style: Toast.Style.Success,
23
+
title: "Loaded collections successfully",
24
+
message: `Found ${fetchedCollections.length} collections`,
25
+
});
26
+
} catch (error) {
27
+
await showToast({
28
+
style: Toast.Style.Failure,
29
+
title: "Failed to load collections",
30
+
message: error instanceof Error ? error.message : "Unknown error",
31
+
});
32
+
} finally {
33
+
setIsLoading(false);
34
+
}
35
+
}
36
+
37
+
fetchCollections();
38
+
}, []);
39
+
40
+
// Filter collections based on search text
41
+
const filteredCollections = collections.filter((collection) => {
42
+
const name = collection.value.name.toLowerCase();
43
+
const searchLower = searchText.toLowerCase();
44
+
return !searchText || name.includes(searchLower);
45
+
});
46
+
47
+
return (
48
+
<List
49
+
isLoading={isLoading}
50
+
searchText={searchText}
51
+
onSearchTextChange={setSearchText}
52
+
searchBarPlaceholder="Search collections by name..."
53
+
>
54
+
{filteredCollections.map((collection) => (
55
+
<CollectionListItem key={collection.uri} collection={collection} />
56
+
))}
57
+
</List>
58
+
);
59
+
}
60
+
61
+
function CollectionListItem({ collection }: { collection: SembleCollection }) {
62
+
const client = new SembleClient();
63
+
const username = client.getUserIdentifier();
64
+
const collectionLink = generateCollectionLink(collection, username);
65
+
66
+
const name = collection.value.name;
67
+
const accessType = collection.value.accessType;
68
+
69
+
return (
70
+
<List.Item
71
+
title={name}
72
+
accessories={[
73
+
{
74
+
text: accessType,
75
+
icon: accessType === "CLOSED" ? Icon.Lock : Icon.Globe,
76
+
},
77
+
]}
78
+
actions={
79
+
<ActionPanel>
80
+
<Action.CopyToClipboard
81
+
title="Copy Collection Link"
82
+
content={collectionLink}
83
+
onCopy={() => {
84
+
showToast({
85
+
style: Toast.Style.Success,
86
+
title: "Copied to clipboard",
87
+
message: "Collection link copied",
88
+
});
89
+
}}
90
+
/>
91
+
<Action.OpenInBrowser title="Visit Collection" url={collectionLink} />
92
+
</ActionPanel>
93
+
}
94
+
/>
95
+
);
96
+
}
+19
tsconfig.json
+19
tsconfig.json
···
1
+
{
2
+
"$schema": "https://json.schemastore.org/tsconfig",
3
+
"compilerOptions": {
4
+
"target": "ES2021",
5
+
"lib": ["ES2021"],
6
+
"module": "commonjs",
7
+
"moduleResolution": "node",
8
+
"strict": true,
9
+
"jsx": "react-jsx",
10
+
"jsxImportSource": "react",
11
+
"resolveJsonModule": true,
12
+
"esModuleInterop": true,
13
+
"skipLibCheck": true,
14
+
"forceConsistentCasingInFileNames": true,
15
+
"outDir": "./dist"
16
+
},
17
+
"include": ["src/**/*"],
18
+
"exclude": ["node_modules", "dist"]
19
+
}