+1
-1
.github/workflows/build-and-push-ghcr.yaml
+1
-1
.github/workflows/build-and-push-ghcr.yaml
+2
-1
Dockerfile
+2
-1
Dockerfile
···
1
FROM node:20.11-alpine3.18 as build
2
3
+
RUN corepack enable
4
5
# Move files into the image and install
6
WORKDIR /app
7
COPY ./service ./
8
+
RUN corepack prepare --activate
9
RUN pnpm install --production --frozen-lockfile > /dev/null
10
11
# Uses assets from build stage to reduce build size
+50
README.md
+50
README.md
···
25
* [Creating an account using pdsadmin](#creating-an-account-using-pdsadmin)
26
* [Creating an account using an invite code](#creating-an-account-using-an-invite-code)
27
* [Using the Bluesky app with your PDS](#using-the-bluesky-app-with-your-pds)
28
* [Updating your PDS](#updating-your-pds)
29
30
<!-- tocstop -->
···
199
1. Enter the URL of your PDS (e.g. `https://example.com/`)
200
201
_Note: because the subdomain TLS certificate is created on-demand, it may take 10-30s for your handle to be accessible. If you aren't seeing your first post/profile, wait 30s and try to make another post._
202
203
### Updating your PDS
204
···
25
* [Creating an account using pdsadmin](#creating-an-account-using-pdsadmin)
26
* [Creating an account using an invite code](#creating-an-account-using-an-invite-code)
27
* [Using the Bluesky app with your PDS](#using-the-bluesky-app-with-your-pds)
28
+
* [Setting up SMTP](#setting-up-smtp)
29
* [Updating your PDS](#updating-your-pds)
30
31
<!-- tocstop -->
···
200
1. Enter the URL of your PDS (e.g. `https://example.com/`)
201
202
_Note: because the subdomain TLS certificate is created on-demand, it may take 10-30s for your handle to be accessible. If you aren't seeing your first post/profile, wait 30s and try to make another post._
203
+
204
+
### Setting up SMTP
205
+
206
+
To be able to verify users' email addresses and send other emails, you need to set up an SMTP server.
207
+
208
+
One way to do this is to use an email service. [Resend](https://resend.com/) and [SendGrid](https://sendgrid.com/) are two popular choices.
209
+
210
+
Create an account and API key on an email service, ensure your server allows access on the required ports, and set these variables in `/pds/pds.env` (example with Resend):
211
+
212
+
```
213
+
PDS_EMAIL_SMTP_URL=smtps://resend:<your api key here>@smtp.resend.com:465/
214
+
PDS_EMAIL_FROM_ADDRESS=admin@your.domain
215
+
```
216
+
217
+
If you prefer to use a standard SMTP server (a local one or from your email provider), put your account's username and password in the URL:
218
+
219
+
```
220
+
PDS_EMAIL_SMTP_URL=smtps://username:password@smtp.example.com/
221
+
```
222
+
223
+
Alternatively, if you're running a local sendmail-compatible mail service like Postfix or Exim on the same host, you can configure the PDS to use the sendmail transport by using such URL:
224
+
225
+
```
226
+
PDS_EMAIL_SMTP_URL=smtp:///?sendmail=true
227
+
```
228
+
229
+
_Note: Your PDS will need to be restarted with those variables. This varies depending on your setup. If you followed this installation guide, run `systemctl restart pds`. You might need to restart the server or recreate the container, depending on what you are using._
230
+
231
+
### Logging
232
+
233
+
By default, logs from the PDS are printed to `stdout` and end up in Docker's log. You can browse them by running:
234
+
235
+
```
236
+
[sudo] docker logs pds
237
+
```
238
+
239
+
Note: these logs are not persisted, so they will be lost after server reboot.
240
+
241
+
Alternatively, you can configure the logs to be printed to a file by setting `LOG_DESTINATION`:
242
+
243
+
```
244
+
LOG_DESTINATION=/pds/pds.log
245
+
```
246
+
247
+
You can also change the minimum level of logs to be printed (default: `info`):
248
+
249
+
```
250
+
LOG_LEVEL=debug
251
+
```
252
253
### Updating your PDS
254
+1
installer.sh
+1
installer.sh
···
333
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=$(eval "${GENERATE_K256_PRIVATE_KEY_CMD}")
334
PDS_DATA_DIRECTORY=${PDS_DATADIR}
335
PDS_BLOBSTORE_DISK_LOCATION=${PDS_DATADIR}/blocks
336
PDS_DID_PLC_URL=${PDS_DID_PLC_URL}
337
PDS_BSKY_APP_VIEW_URL=${PDS_BSKY_APP_VIEW_URL}
338
PDS_BSKY_APP_VIEW_DID=${PDS_BSKY_APP_VIEW_DID}
···
333
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=$(eval "${GENERATE_K256_PRIVATE_KEY_CMD}")
334
PDS_DATA_DIRECTORY=${PDS_DATADIR}
335
PDS_BLOBSTORE_DISK_LOCATION=${PDS_DATADIR}/blocks
336
+
PDS_BLOB_UPLOAD_LIMIT=52428800
337
PDS_DID_PLC_URL=${PDS_DID_PLC_URL}
338
PDS_BSKY_APP_VIEW_URL=${PDS_BSKY_APP_VIEW_URL}
339
PDS_BSKY_APP_VIEW_DID=${PDS_BSKY_APP_VIEW_DID}
+1
-1
pdsadmin/help.sh
+1
-1
pdsadmin/help.sh
···
25
Takedown an account specified by DID.
26
e.g. pdsadmin account takedown did:plc:xyz123abc456
27
untakedown <DID>
28
-
Remove a takedown an account specified by DID.
29
e.g. pdsadmin account untakedown did:plc:xyz123abc456
30
reset-password <DID>
31
Reset a password for an account specified by DID.
···
25
Takedown an account specified by DID.
26
e.g. pdsadmin account takedown did:plc:xyz123abc456
27
untakedown <DID>
28
+
Remove a takedown from an account specified by DID.
29
e.g. pdsadmin account untakedown did:plc:xyz123abc456
30
reset-password <DID>
31
Reset a password for an account specified by DID.
+2
-1
service/package.json
+2
-1
service/package.json
+405
-263
service/pnpm-lock.yaml
+405
-263
service/pnpm-lock.yaml
···
6
7
dependencies:
8
'@atproto/pds':
9
-
specifier: 0.4.59
10
-
version: 0.4.59
11
12
packages:
13
14
-
/@atproto-labs/fetch-node@0.1.0:
15
-
resolution: {integrity: sha512-DUHgaGw8LBqiGg51pUDuWK/alMcmNbpcK7ALzlF2Gw//TNLTsgrj0qY9aEtK+np9rEC+x/o3bN4SGnuQEpgqIg==}
16
dependencies:
17
-
'@atproto-labs/fetch': 0.1.0
18
-
'@atproto-labs/pipe': 0.1.0
19
ipaddr.js: 2.2.0
20
-
psl: 1.9.0
21
-
undici: 6.19.2
22
dev: false
23
24
-
/@atproto-labs/fetch@0.1.0:
25
-
resolution: {integrity: sha512-uirja+uA/C4HNk7vayM+AJqsccxQn2wVziUHxbsjJGt/K6Q8ZOKDaEX2+GrcXvpUVcqUKh+94JFjuzH+CAEUlg==}
26
dependencies:
27
-
'@atproto-labs/pipe': 0.1.0
28
-
optionalDependencies:
29
-
zod: 3.23.8
30
dev: false
31
32
-
/@atproto-labs/pipe@0.1.0:
33
-
resolution: {integrity: sha512-ghOqHFyJlQVFPESzlVHjKroP0tPzbmG5Jms0dNI9yLDEfL8xp4OFPWLX4f6T8mRq69wWs4nIDM3sSsFbFqLa1w==}
34
dev: false
35
36
-
/@atproto-labs/simple-store-memory@0.1.1:
37
-
resolution: {integrity: sha512-PCRqhnZ8NBNBvLku53O56T0lsVOtclfIrQU/rwLCc4+p45/SBPrRYNBi6YFq5rxZbK6Njos9MCmILV/KLQxrWA==}
38
dependencies:
39
-
'@atproto-labs/simple-store': 0.1.1
40
lru-cache: 10.2.0
41
dev: false
42
43
-
/@atproto-labs/simple-store@0.1.1:
44
-
resolution: {integrity: sha512-WKILW2b3QbAYKh+w5U2x6p5FqqLl0nAeLwGeDY+KjX01K4Dq3vQTR9b/qNp0jZm48CabPQVrqCv0PPU9LgRRRg==}
45
dev: false
46
47
-
/@atproto/api@0.13.7:
48
-
resolution: {integrity: sha512-41kSLmFWDbuPOenb52WRq1lnBkSZrL+X29tWcvEt6SZXK4xBoKAalw1MjF+oabhzff12iMtNaNvmmt2fu1L+cw==}
49
dependencies:
50
-
'@atproto/common-web': 0.3.0
51
-
'@atproto/lexicon': 0.4.1
52
-
'@atproto/syntax': 0.3.0
53
-
'@atproto/xrpc': 0.6.2
54
await-lock: 2.2.2
55
multiformats: 9.9.0
56
tlds: 1.250.0
57
zod: 3.23.8
58
dev: false
59
60
-
/@atproto/aws@0.2.5:
61
-
resolution: {integrity: sha512-1FAHUlCbfzL2jpwG/Wpr/N2gcrvlJaYYMwTbLhI0r/hU0B15DYNPUuxyeSDXsc6Ld4F8kGd+Fqam5AA+Wft6rA==}
62
dependencies:
63
-
'@atproto/common': 0.4.2
64
-
'@atproto/crypto': 0.4.1
65
-
'@atproto/repo': 0.5.1
66
'@aws-sdk/client-cloudfront': 3.515.0
67
'@aws-sdk/client-kms': 3.515.0
68
'@aws-sdk/client-s3': 3.515.0
69
'@aws-sdk/lib-storage': 3.515.0(@aws-sdk/client-s3@3.515.0)
70
-
'@noble/curves': 1.3.0
71
key-encoder: 2.0.3
72
multiformats: 9.9.0
73
uint8arrays: 3.0.0
···
75
- aws-crt
76
dev: false
77
78
-
/@atproto/common-web@0.3.0:
79
-
resolution: {integrity: sha512-67VnV6JJyX+ZWyjV7xFQMypAgDmjVaR9ZCuU/QW+mqlqI7fex2uL4Fv+7/jHadgzhuJHVd6OHOvNn0wR5WZYtA==}
80
dependencies:
81
graphemer: 1.4.0
82
multiformats: 9.9.0
···
93
zod: 3.23.8
94
dev: false
95
96
-
/@atproto/common@0.4.2:
97
-
resolution: {integrity: sha512-tv9lHjaoXW7CQrXUiu81RJZJ/bgcPSMaXrrgN4DxS08Z97hor0jgxThlwmGny1p6ksTZ5/bCX9GeJqi/b4LDCg==}
98
dependencies:
99
-
'@atproto/common-web': 0.3.0
100
'@ipld/dag-cbor': 7.0.3
101
cbor-x: 1.5.8
102
iso-datestring-validator: 2.2.2
···
114
uint8arrays: 3.0.0
115
dev: false
116
117
-
/@atproto/crypto@0.4.1:
118
-
resolution: {integrity: sha512-7pQNHWYyx8jGhYdPbmcuPD9W73nd/5v3mfBlncO0sBzxnPbmA6aXAWOz+fNVZwHwBJPeb/Gzf/FT/uDx7/eYFg==}
119
dependencies:
120
-
'@noble/curves': 1.3.0
121
-
'@noble/hashes': 1.3.3
122
uint8arrays: 3.0.0
123
dev: false
124
125
-
/@atproto/identity@0.4.1:
126
-
resolution: {integrity: sha512-5AoPJDSD0rAay/6Sib+n/FjfwGulM/+xCNxwwDLR9QI4EoeUlvIH8g5BNdix812v312/Qd42kJrLpCNTZ5rvew==}
127
dependencies:
128
-
'@atproto/common-web': 0.3.0
129
-
'@atproto/crypto': 0.4.1
130
-
axios: 0.27.2
131
-
transitivePeerDependencies:
132
-
- debug
133
dev: false
134
135
-
/@atproto/jwk-jose@0.1.2:
136
-
resolution: {integrity: sha512-lDwc/6lLn2aZ/JpyyggyjLFsJPMntrVzryyGUx5aNpuTS8SIuc4Ky0REhxqfLopQXJJZCuRRjagHG3uP05/moQ==}
137
dependencies:
138
-
'@atproto/jwk': 0.1.1
139
jose: 5.2.2
140
dev: false
141
142
-
/@atproto/jwk@0.1.1:
143
-
resolution: {integrity: sha512-6h/bj1APUk7QcV9t/oA6+9DB5NZx9SZru9x+/pV5oHFI9Xz4ZuM5+dq1PfsJV54pZyqdnZ6W6M717cxoC7q7og==}
144
dependencies:
145
multiformats: 9.9.0
146
zod: 3.23.8
147
dev: false
148
149
-
/@atproto/lexicon@0.4.1:
150
-
resolution: {integrity: sha512-bzyr+/VHXLQWbumViX5L7h1NKQObfs8Z+XZJl43OUK8nYFUI4e/sW1IZKRNfw7Wvi5YVNK+J+yP3DWIBZhkCYA==}
151
dependencies:
152
-
'@atproto/common-web': 0.3.0
153
-
'@atproto/syntax': 0.3.0
154
iso-datestring-validator: 2.2.2
155
multiformats: 9.9.0
156
zod: 3.23.8
157
dev: false
158
159
-
/@atproto/oauth-provider@0.2.1:
160
-
resolution: {integrity: sha512-Ly0GkL25B5n3loAMTBYZjoHoQjfW+vv3zMZmT/+IBjcF9bp+TlpKFopWRAPqKQmwGgbgOuvI+HeKa9VwiDt1SA==}
161
dependencies:
162
-
'@atproto-labs/fetch': 0.1.0
163
-
'@atproto-labs/fetch-node': 0.1.0
164
-
'@atproto-labs/pipe': 0.1.0
165
-
'@atproto-labs/simple-store': 0.1.1
166
-
'@atproto-labs/simple-store-memory': 0.1.1
167
-
'@atproto/jwk': 0.1.1
168
-
'@atproto/jwk-jose': 0.1.2
169
-
'@atproto/oauth-types': 0.1.4
170
'@hapi/accept': 6.0.3
171
'@hapi/bourne': 3.0.0
172
'@hapi/content': 6.0.0
173
-
cookie: 0.6.0
174
http-errors: 2.0.0
175
jose: 5.2.2
176
-
psl: 1.9.0
177
zod: 3.23.8
178
-
optionalDependencies:
179
-
ioredis: 5.3.2
180
-
keygrip: 1.1.0
181
transitivePeerDependencies:
182
- supports-color
183
dev: false
184
185
-
/@atproto/oauth-types@0.1.4:
186
-
resolution: {integrity: sha512-B5lFXMvsx9PtO0wwCqwaoRVG8vKxvB742vO4Ze5OMJJsps6ebGskaYmkFHP9DnvDSLRzIHpJJ7jN6ri71V+xng==}
187
dependencies:
188
-
'@atproto/jwk': 0.1.1
189
zod: 3.23.8
190
dev: false
191
192
-
/@atproto/pds@0.4.59:
193
-
resolution: {integrity: sha512-wFBCpxoTO7dFL56qx2KF1bGtwM+0cO6JxR8krbZFYkX4QEORN4qN1Tf0myuEEUfDVhojzdp7eUFHoD1ChkoaKA==}
194
-
hasBin: true
195
dependencies:
196
-
'@atproto-labs/fetch-node': 0.1.0
197
-
'@atproto/api': 0.13.7
198
-
'@atproto/aws': 0.2.5
199
-
'@atproto/common': 0.4.2
200
-
'@atproto/crypto': 0.4.1
201
-
'@atproto/identity': 0.4.1
202
-
'@atproto/lexicon': 0.4.1
203
-
'@atproto/oauth-provider': 0.2.1
204
-
'@atproto/repo': 0.5.1
205
-
'@atproto/syntax': 0.3.0
206
-
'@atproto/xrpc': 0.6.2
207
-
'@atproto/xrpc-server': 0.6.4
208
'@did-plc/lib': 0.0.4
209
better-sqlite3: 10.1.0
210
bytes: 3.1.2
211
compression: 1.7.4
212
cors: 2.8.5
213
-
disposable-email: 0.2.3
214
express: 4.18.2
215
express-async-errors: 3.1.1(express@4.18.2)
216
file-type: 16.5.4
···
227
p-queue: 6.6.2
228
pino: 8.21.0
229
pino-http: 8.6.1
230
-
sharp: 0.32.6
231
typed-emitter: 2.1.0
232
uint8arrays: 3.0.0
233
zod: 3.23.8
234
transitivePeerDependencies:
235
- aws-crt
···
239
- utf-8-validate
240
dev: false
241
242
-
/@atproto/repo@0.5.1:
243
-
resolution: {integrity: sha512-/asnjlqoDiJrKnBGsv9Xg4sUMKK0YsaLBMt6AepWfwrXTTfHPLY7QxyyFMxxuzQQtLyYaj4lIn5zhmNz7TXf0w==}
244
dependencies:
245
-
'@atproto/common': 0.4.2
246
-
'@atproto/common-web': 0.3.0
247
-
'@atproto/crypto': 0.4.1
248
-
'@atproto/lexicon': 0.4.1
249
-
'@ipld/car': 3.2.4
250
'@ipld/dag-cbor': 7.0.3
251
multiformats: 9.9.0
252
uint8arrays: 3.0.0
253
zod: 3.23.8
254
dev: false
255
256
-
/@atproto/syntax@0.3.0:
257
-
resolution: {integrity: sha512-Weq0ZBxffGHDXHl9U7BQc2BFJi/e23AL+k+i5+D9hUq/bzT4yjGsrCejkjq0xt82xXDjmhhvQSZ0LqxyZ5woxA==}
258
dev: false
259
260
-
/@atproto/xrpc-server@0.6.4:
261
-
resolution: {integrity: sha512-AL9okOTpJpxh3wJjT27RiPkp2IWIxDPCyyvuO1SJu0E9URGfWZL26SlT7/IR/tadZTJezr5+ZNuxhV0uhI+s1A==}
262
dependencies:
263
-
'@atproto/common': 0.4.2
264
-
'@atproto/crypto': 0.4.1
265
-
'@atproto/lexicon': 0.4.1
266
-
'@atproto/xrpc': 0.6.2
267
cbor-x: 1.5.8
268
express: 4.18.2
269
http-errors: 2.0.0
···
278
- utf-8-validate
279
dev: false
280
281
-
/@atproto/xrpc@0.6.2:
282
-
resolution: {integrity: sha512-as/gb08xJb02HAGNrSQSumCe10WnOAcnM6bR6KMatQyQJuEu7OY6ZDSTM/4HfjjoxsNqdvPmbYuoUab1bKTNlA==}
283
dependencies:
284
-
'@atproto/lexicon': 0.4.1
285
zod: 3.23.8
286
dev: false
287
···
1094
- debug
1095
dev: false
1096
1097
/@hapi/accept@6.0.3:
1098
resolution: {integrity: sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw==}
1099
dependencies:
1100
'@hapi/boom': 10.0.1
1101
'@hapi/hoek': 11.0.4
1102
dev: false
1103
···
1121
resolution: {integrity: sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==}
1122
dev: false
1123
1124
-
/@ioredis/commands@1.2.0:
1125
-
resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
1126
dev: false
1127
1128
-
/@ipld/car@3.2.4:
1129
-
resolution: {integrity: sha512-rezKd+jk8AsTGOoJKqzfjLJ3WVft7NZNH95f0pfPbicROvzTyvHCNy567HzSUd6gRXZ9im29z5ZEv9Hw49jSYw==}
1130
dependencies:
1131
-
'@ipld/dag-cbor': 7.0.3
1132
-
multiformats: 9.9.0
1133
-
varint: 6.0.0
1134
dev: false
1135
1136
/@ipld/dag-cbor@7.0.3:
···
1152
wrap-ansi-cjs: /wrap-ansi@7.0.0
1153
dev: false
1154
1155
-
/@noble/curves@1.3.0:
1156
-
resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==}
1157
dependencies:
1158
-
'@noble/hashes': 1.3.3
1159
dev: false
1160
1161
-
/@noble/hashes@1.3.3:
1162
-
resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==}
1163
-
engines: {node: '>= 16'}
1164
dev: false
1165
1166
/@noble/secp256k1@1.7.1:
···
1714
resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==}
1715
dev: false
1716
1717
-
/axios@0.27.2:
1718
-
resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
1719
-
dependencies:
1720
-
follow-redirects: 1.15.5
1721
-
form-data: 4.0.0
1722
-
transitivePeerDependencies:
1723
-
- debug
1724
-
dev: false
1725
-
1726
/axios@1.6.7:
1727
resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
1728
dependencies:
···
1733
- debug
1734
dev: false
1735
1736
-
/b4a@1.6.6:
1737
-
resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
1738
-
dev: false
1739
-
1740
/balanced-match@1.0.2:
1741
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1742
dev: false
1743
1744
-
/bare-events@2.2.0:
1745
-
resolution: {integrity: sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg==}
1746
-
requiresBuild: true
1747
-
dev: false
1748
-
optional: true
1749
-
1750
-
/bare-fs@2.1.5:
1751
-
resolution: {integrity: sha512-5t0nlecX+N2uJqdxe9d18A98cp2u9BETelbjKpiVgQqzzmVNFYWEAjQHqS+2Khgto1vcwhik9cXucaj5ve2WWA==}
1752
-
requiresBuild: true
1753
-
dependencies:
1754
-
bare-events: 2.2.0
1755
-
bare-os: 2.2.0
1756
-
bare-path: 2.1.0
1757
-
streamx: 2.16.1
1758
-
dev: false
1759
-
optional: true
1760
-
1761
-
/bare-os@2.2.0:
1762
-
resolution: {integrity: sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==}
1763
-
requiresBuild: true
1764
-
dev: false
1765
-
optional: true
1766
-
1767
-
/bare-path@2.1.0:
1768
-
resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==}
1769
-
requiresBuild: true
1770
-
dependencies:
1771
-
bare-os: 2.2.0
1772
-
dev: false
1773
-
optional: true
1774
-
1775
/base64-js@1.5.1:
1776
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
1777
dev: false
···
1829
1830
/boolean@3.2.0:
1831
resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==}
1832
dev: false
1833
1834
/bowser@2.11.0:
···
1999
engines: {node: '>= 0.6'}
2000
dev: false
2001
2002
-
/cookie@0.6.0:
2003
-
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
2004
engines: {node: '>= 0.6'}
2005
dev: false
2006
···
2095
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
2096
dev: false
2097
2098
-
/detect-libc@2.0.2:
2099
-
resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
2100
engines: {node: '>=8'}
2101
dev: false
2102
2103
-
/disposable-email@0.2.3:
2104
-
resolution: {integrity: sha512-gkBQQ5Res431ZXqLlAafrXHizG7/1FWmi8U2RTtriD78Vc10HhBUvdJun3R4eSF0KRIQQJs+wHlxjkED/Hr1EQ==}
2105
dev: false
2106
2107
/dom-serializer@1.4.1:
···
2259
vary: 1.1.2
2260
transitivePeerDependencies:
2261
- supports-color
2262
-
dev: false
2263
-
2264
-
/fast-fifo@1.3.2:
2265
-
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
2266
dev: false
2267
2268
/fast-printf@1.6.9:
···
2581
elliptic: 6.5.4
2582
dev: false
2583
2584
-
/keygrip@1.1.0:
2585
-
resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==}
2586
-
engines: {node: '>= 0.6'}
2587
-
requiresBuild: true
2588
-
dependencies:
2589
-
tsscmp: 1.0.6
2590
-
dev: false
2591
-
optional: true
2592
-
2593
/kysely@0.22.0:
2594
resolution: {integrity: sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ==}
2595
engines: {node: '>=14.0.0'}
···
2608
engines: {node: 14 || >=16.14}
2609
dev: false
2610
2611
-
/lru-cache@6.0.0:
2612
-
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
2613
-
engines: {node: '>=10'}
2614
-
dependencies:
2615
-
yallist: 4.0.0
2616
-
dev: false
2617
-
2618
/media-typer@0.3.0:
2619
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
2620
engines: {node: '>= 0.6'}
···
2713
resolution: {integrity: sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ==}
2714
engines: {node: '>=10'}
2715
dependencies:
2716
-
semver: 7.6.0
2717
-
dev: false
2718
-
2719
-
/node-addon-api@6.1.0:
2720
-
resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
2721
dev: false
2722
2723
/node-gyp-build-optional-packages@5.1.1:
···
2725
hasBin: true
2726
requiresBuild: true
2727
dependencies:
2728
-
detect-libc: 2.0.2
2729
dev: false
2730
optional: true
2731
···
2873
engines: {node: '>=10'}
2874
hasBin: true
2875
dependencies:
2876
-
detect-libc: 2.0.2
2877
expand-template: 2.0.3
2878
github-from-package: 0.0.0
2879
minimist: 1.2.8
···
2908
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
2909
dev: false
2910
2911
-
/psl@1.9.0:
2912
-
resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
2913
-
dev: false
2914
-
2915
/pump@3.0.0:
2916
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
2917
dependencies:
···
2924
engines: {node: '>=0.6'}
2925
dependencies:
2926
side-channel: 1.0.5
2927
-
dev: false
2928
-
2929
-
/queue-tick@1.0.1:
2930
-
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
2931
-
requiresBuild: true
2932
dev: false
2933
2934
/quick-format-unescaped@4.0.4:
···
3046
resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==}
3047
dev: false
3048
3049
-
/semver@7.6.0:
3050
-
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
3051
engines: {node: '>=10'}
3052
hasBin: true
3053
-
dependencies:
3054
-
lru-cache: 6.0.0
3055
dev: false
3056
3057
/send@0.18.0:
···
3103
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
3104
dev: false
3105
3106
-
/sharp@0.32.6:
3107
-
resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==}
3108
-
engines: {node: '>=14.15.0'}
3109
requiresBuild: true
3110
dependencies:
3111
color: 4.2.3
3112
-
detect-libc: 2.0.2
3113
-
node-addon-api: 6.1.0
3114
-
prebuild-install: 7.1.1
3115
-
semver: 7.6.0
3116
-
simple-get: 4.0.1
3117
-
tar-fs: 3.0.5
3118
-
tunnel-agent: 0.6.0
3119
dev: false
3120
3121
/shebang-command@2.0.0:
···
3195
readable-stream: 3.6.2
3196
dev: false
3197
3198
-
/streamx@2.16.1:
3199
-
resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==}
3200
-
dependencies:
3201
-
fast-fifo: 1.3.2
3202
-
queue-tick: 1.0.1
3203
-
optionalDependencies:
3204
-
bare-events: 2.2.0
3205
-
dev: false
3206
-
3207
/string-width@4.2.3:
3208
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
3209
engines: {node: '>=8'}
···
3268
tar-stream: 2.2.0
3269
dev: false
3270
3271
-
/tar-fs@3.0.5:
3272
-
resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==}
3273
-
dependencies:
3274
-
pump: 3.0.0
3275
-
tar-stream: 3.1.7
3276
-
optionalDependencies:
3277
-
bare-fs: 2.1.5
3278
-
bare-path: 2.1.0
3279
-
dev: false
3280
-
3281
/tar-stream@2.2.0:
3282
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
3283
engines: {node: '>=6'}
···
3289
readable-stream: 3.6.2
3290
dev: false
3291
3292
-
/tar-stream@3.1.7:
3293
-
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
3294
-
dependencies:
3295
-
b4a: 1.6.6
3296
-
fast-fifo: 1.3.2
3297
-
streamx: 2.16.1
3298
-
dev: false
3299
-
3300
/thread-stream@2.7.0:
3301
resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==}
3302
dependencies:
···
3329
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
3330
dev: false
3331
3332
-
/tsscmp@1.0.6:
3333
-
resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==}
3334
-
engines: {node: '>=0.6.x'}
3335
-
requiresBuild: true
3336
-
dev: false
3337
-
optional: true
3338
-
3339
/tunnel-agent@0.6.0:
3340
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
3341
dependencies:
···
3379
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
3380
dev: false
3381
3382
-
/undici@6.19.2:
3383
-
resolution: {integrity: sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==}
3384
engines: {node: '>=18.17'}
3385
dev: false
3386
···
3457
optional: true
3458
utf-8-validate:
3459
optional: true
3460
-
dev: false
3461
-
3462
-
/yallist@4.0.0:
3463
-
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
3464
dev: false
3465
3466
/zod@3.23.8:
···
6
7
dependencies:
8
'@atproto/pds':
9
+
specifier: 0.4.166
10
+
version: 0.4.166
11
12
packages:
13
14
+
/@atproto-labs/fetch-node@0.1.9:
15
+
resolution: {integrity: sha512-8sHDDXZEzQptLu8ddUU/8U+THS6dumgPynVX0/1PjUYd4S/FWyPcz6yMIiVChTfzKnZvYRRz47+qvOKhydrHQw==}
16
+
engines: {node: '>=18.7.0'}
17
dependencies:
18
+
'@atproto-labs/fetch': 0.2.3
19
+
'@atproto-labs/pipe': 0.1.1
20
ipaddr.js: 2.2.0
21
+
undici: 6.20.1
22
dev: false
23
24
+
/@atproto-labs/fetch@0.2.3:
25
+
resolution: {integrity: sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw==}
26
dependencies:
27
+
'@atproto-labs/pipe': 0.1.1
28
dev: false
29
30
+
/@atproto-labs/pipe@0.1.1:
31
+
resolution: {integrity: sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg==}
32
dev: false
33
34
+
/@atproto-labs/simple-store-memory@0.1.3:
35
+
resolution: {integrity: sha512-jkitT9+AtU+0b28DoN92iURLaCt/q/q4yX8q6V+9LSwYlUTqKoj/5NFKvF7x6EBuG+gpUdlcycbH7e60gjOhRQ==}
36
dependencies:
37
+
'@atproto-labs/simple-store': 0.2.0
38
lru-cache: 10.2.0
39
dev: false
40
41
+
/@atproto-labs/simple-store@0.2.0:
42
+
resolution: {integrity: sha512-0bRbAlI8Ayh03wRwncAMEAyUKtZ+AuTS1jgPrfym1WVOAOiottI/ZmgccqLl6w5MbxVcClNQF7WYGKvGwGoIhA==}
43
dev: false
44
45
+
/@atproto-labs/xrpc-utils@0.0.18:
46
+
resolution: {integrity: sha512-Cwrlx2JcLe0jxCK8b3GCT3HRGaH3yPhyyt+3n4JykJapCaGBKqa6FHGs9hK2Fx6lOyPF7TnV5qUPUsJ1qGEUVA==}
47
dependencies:
48
+
'@atproto/xrpc': 0.7.1
49
+
'@atproto/xrpc-server': 0.9.1
50
+
transitivePeerDependencies:
51
+
- bufferutil
52
+
- supports-color
53
+
- utf-8-validate
54
+
dev: false
55
+
56
+
/@atproto/api@0.16.2:
57
+
resolution: {integrity: sha512-sSTg31J8ws8DNaoiizp+/uJideRxRaJsq+Nyl8rnSxGw0w3oCvoeRU19iRWh2t0jZEmiRJAGkveGu23NKmPYEQ==}
58
+
dependencies:
59
+
'@atproto/common-web': 0.4.2
60
+
'@atproto/lexicon': 0.4.12
61
+
'@atproto/syntax': 0.4.0
62
+
'@atproto/xrpc': 0.7.1
63
await-lock: 2.2.2
64
multiformats: 9.9.0
65
tlds: 1.250.0
66
zod: 3.23.8
67
dev: false
68
69
+
/@atproto/aws@0.2.25:
70
+
resolution: {integrity: sha512-LT4uuda2mjXz2WT4xo7g2aWmWKl+JWusGzscqQpOlD/RFGFXKDmUcVWLVPKY+9Pys2F7X6tyDlm2aUx+/dYdYA==}
71
+
engines: {node: '>=18.7.0'}
72
dependencies:
73
+
'@atproto/common': 0.4.11
74
+
'@atproto/crypto': 0.4.4
75
+
'@atproto/repo': 0.8.5
76
'@aws-sdk/client-cloudfront': 3.515.0
77
'@aws-sdk/client-kms': 3.515.0
78
'@aws-sdk/client-s3': 3.515.0
79
'@aws-sdk/lib-storage': 3.515.0(@aws-sdk/client-s3@3.515.0)
80
+
'@noble/curves': 1.8.1
81
key-encoder: 2.0.3
82
multiformats: 9.9.0
83
uint8arrays: 3.0.0
···
85
- aws-crt
86
dev: false
87
88
+
/@atproto/common-web@0.4.2:
89
+
resolution: {integrity: sha512-vrXwGNoFGogodjQvJDxAeP3QbGtawgZute2ed1XdRO0wMixLk3qewtikZm06H259QDJVu6voKC5mubml+WgQUw==}
90
dependencies:
91
graphemer: 1.4.0
92
multiformats: 9.9.0
···
103
zod: 3.23.8
104
dev: false
105
106
+
/@atproto/common@0.4.11:
107
+
resolution: {integrity: sha512-Knv0viYXNMfCdIE7jLUiWJKnnMfEwg+vz2epJQi8WOjqtqCFb3W/3Jn72ZiuovIfpdm13MaOiny6w2NErUQC6g==}
108
+
engines: {node: '>=18.7.0'}
109
dependencies:
110
+
'@atproto/common-web': 0.4.2
111
'@ipld/dag-cbor': 7.0.3
112
cbor-x: 1.5.8
113
iso-datestring-validator: 2.2.2
···
125
uint8arrays: 3.0.0
126
dev: false
127
128
+
/@atproto/crypto@0.4.4:
129
+
resolution: {integrity: sha512-Yq9+crJ7WQl7sxStVpHgie5Z51R05etaK9DLWYG/7bR5T4bhdcIgF6IfklLShtZwLYdVVj+K15s0BqW9a8PSDA==}
130
+
engines: {node: '>=18.7.0'}
131
dependencies:
132
+
'@noble/curves': 1.8.1
133
+
'@noble/hashes': 1.7.1
134
uint8arrays: 3.0.0
135
dev: false
136
137
+
/@atproto/did@0.1.5:
138
+
resolution: {integrity: sha512-8+1D08QdGE5TF0bB0vV8HLVrVZJeLNITpRTUVEoABNMRaUS7CoYSVb0+JNQDeJIVmqMjOL8dOjvCUDkp3gEaGQ==}
139
+
dependencies:
140
+
zod: 3.23.8
141
+
dev: false
142
+
143
+
/@atproto/identity@0.4.8:
144
+
resolution: {integrity: sha512-Z0sLnJ87SeNdAifT+rqpgE1Rc3layMMW25gfWNo4u40RGuRODbdfAZlTwBSU2r+Vk45hU+iE+xeQspfednCEnA==}
145
+
engines: {node: '>=18.7.0'}
146
dependencies:
147
+
'@atproto/common-web': 0.4.2
148
+
'@atproto/crypto': 0.4.4
149
dev: false
150
151
+
/@atproto/jwk-jose@0.1.9:
152
+
resolution: {integrity: sha512-HT9GcUe6htDxI5OSYXWdeS6QZ9lpuDDvJk508ppi8a48E/1f8eumoM0QhgbFRF9IKAnnFrtnZDOAvljQzFKwwQ==}
153
dependencies:
154
+
'@atproto/jwk': 0.4.0
155
jose: 5.2.2
156
dev: false
157
158
+
/@atproto/jwk@0.4.0:
159
+
resolution: {integrity: sha512-tvp4iZrzqEzKCeTOKz50/o6WdsZzOuWmWjF6On5QAp04fLwLpsFu2Hixgx/lA1KBO0O4sns7YSGcAqSSX6Rdog==}
160
dependencies:
161
multiformats: 9.9.0
162
zod: 3.23.8
163
dev: false
164
165
+
/@atproto/lexicon@0.4.12:
166
+
resolution: {integrity: sha512-fcEvEQ1GpQYF5igZ4IZjPWEoWVpsEF22L9RexxLS3ptfySXLflEyH384e7HITzO/73McDeaJx3lqHIuqn9ulnw==}
167
dependencies:
168
+
'@atproto/common-web': 0.4.2
169
+
'@atproto/syntax': 0.4.0
170
iso-datestring-validator: 2.2.2
171
multiformats: 9.9.0
172
zod: 3.23.8
173
dev: false
174
175
+
/@atproto/oauth-provider-api@0.2.0:
176
+
resolution: {integrity: sha512-u18VRCDuz5BloUQKbvTISjQk7CgpDI1hf3leoJ7ADOAo8oW71QZD0tsWDX81R2uB66mKZHptjGSSVxxqpZFipQ==}
177
+
dependencies:
178
+
'@atproto/jwk': 0.4.0
179
+
'@atproto/oauth-types': 0.4.0
180
+
dev: false
181
+
182
+
/@atproto/oauth-provider-frontend@0.1.11:
183
+
resolution: {integrity: sha512-MvPUI+vh8a8UWmpAV8VS2qrdJ/B6l75qDQX1z6vF1YkPR1d9SLEdOYx/O26g5ZyuN+Mk00OBdOSfjvON/UOxQA==}
184
+
engines: {node: '>=18.7.0'}
185
+
optionalDependencies:
186
+
'@atproto/oauth-provider-api': 0.2.0
187
+
dev: false
188
+
189
+
/@atproto/oauth-provider-ui@0.2.0:
190
+
resolution: {integrity: sha512-v4rzz3C8i2NBqxycWWDTeosHtv6B9+EW4ZCq9Il6thmHdtT2CmB07R5Ia7zQ1n7lylxI6mC9JqA9CLis0uLz+Q==}
191
+
engines: {node: '>=18.7.0'}
192
+
optionalDependencies:
193
+
'@atproto/oauth-provider-api': 0.2.0
194
+
dev: false
195
+
196
+
/@atproto/oauth-provider@0.10.0:
197
+
resolution: {integrity: sha512-WbDaMC/9Zd4oslA4pPvf7ozum0YAQRxNspYpEauXtJ/bjVxqViKgV158jnPhDbYfo62NkxSuSaUkTV116U/VBg==}
198
+
engines: {node: '>=18.7.0'}
199
dependencies:
200
+
'@atproto-labs/fetch': 0.2.3
201
+
'@atproto-labs/fetch-node': 0.1.9
202
+
'@atproto-labs/pipe': 0.1.1
203
+
'@atproto-labs/simple-store': 0.2.0
204
+
'@atproto-labs/simple-store-memory': 0.1.3
205
+
'@atproto/common': 0.4.11
206
+
'@atproto/did': 0.1.5
207
+
'@atproto/jwk': 0.4.0
208
+
'@atproto/jwk-jose': 0.1.9
209
+
'@atproto/oauth-provider-api': 0.2.0
210
+
'@atproto/oauth-provider-frontend': 0.1.11
211
+
'@atproto/oauth-provider-ui': 0.2.0
212
+
'@atproto/oauth-scopes': 0.0.1
213
+
'@atproto/oauth-types': 0.4.0
214
+
'@atproto/syntax': 0.4.0
215
'@hapi/accept': 6.0.3
216
+
'@hapi/address': 5.1.1
217
'@hapi/bourne': 3.0.0
218
'@hapi/content': 6.0.0
219
+
cookie: 0.7.2
220
+
disposable-email-domains-js: 1.5.0
221
+
forwarded: 0.2.0
222
http-errors: 2.0.0
223
+
ioredis: 5.3.2
224
jose: 5.2.2
225
zod: 3.23.8
226
transitivePeerDependencies:
227
- supports-color
228
dev: false
229
230
+
/@atproto/oauth-scopes@0.0.1:
231
+
resolution: {integrity: sha512-9IGgwM0KrWUwRTg02o4GKZaoKJLOkFwtkq2i39pYQxqJm18jvEvadxW/sR1A5f9f2vbTZtECgIziU5hdd01U5Q==}
232
+
dev: false
233
+
234
+
/@atproto/oauth-types@0.4.0:
235
+
resolution: {integrity: sha512-FrRH9JsPw9H4JxfPDrbrI+pB102tbHTygajfHay7xwz78HPOjSbWPRgWW2hYS4w8vDYdB3PYbBj1jPoKetW7LA==}
236
dependencies:
237
+
'@atproto/jwk': 0.4.0
238
zod: 3.23.8
239
dev: false
240
241
+
/@atproto/pds@0.4.166:
242
+
resolution: {integrity: sha512-LwLiLQNOZsZ4LgD4qmtWf3W5FJEaTA3Bi3Y1x79TXrBfcvcmIoNYBUE0WOLmDFfLyp44caODqS6HCLvqc11T7g==}
243
+
engines: {node: '>=18.7.0'}
244
dependencies:
245
+
'@atproto-labs/fetch-node': 0.1.9
246
+
'@atproto-labs/xrpc-utils': 0.0.18
247
+
'@atproto/api': 0.16.2
248
+
'@atproto/aws': 0.2.25
249
+
'@atproto/common': 0.4.11
250
+
'@atproto/crypto': 0.4.4
251
+
'@atproto/identity': 0.4.8
252
+
'@atproto/lexicon': 0.4.12
253
+
'@atproto/oauth-provider': 0.10.0
254
+
'@atproto/oauth-scopes': 0.0.1
255
+
'@atproto/repo': 0.8.5
256
+
'@atproto/syntax': 0.4.0
257
+
'@atproto/xrpc': 0.7.1
258
+
'@atproto/xrpc-server': 0.9.1
259
'@did-plc/lib': 0.0.4
260
+
'@hapi/address': 5.1.1
261
better-sqlite3: 10.1.0
262
bytes: 3.1.2
263
compression: 1.7.4
264
cors: 2.8.5
265
+
disposable-email-domains-js: 1.5.0
266
express: 4.18.2
267
express-async-errors: 3.1.1(express@4.18.2)
268
file-type: 16.5.4
···
279
p-queue: 6.6.2
280
pino: 8.21.0
281
pino-http: 8.6.1
282
+
sharp: 0.33.5
283
typed-emitter: 2.1.0
284
uint8arrays: 3.0.0
285
+
undici: 6.20.1
286
zod: 3.23.8
287
transitivePeerDependencies:
288
- aws-crt
···
292
- utf-8-validate
293
dev: false
294
295
+
/@atproto/repo@0.8.5:
296
+
resolution: {integrity: sha512-QZ4UWBWDyPMXgPhktmaRYRyCXIw7lIEAyGtaFy7UmCPpJ5TtFKw3GhGrEiNz/fY3/6lrkdDj44/Tzkud/eP/VQ==}
297
+
engines: {node: '>=18.7.0'}
298
dependencies:
299
+
'@atproto/common': 0.4.11
300
+
'@atproto/common-web': 0.4.2
301
+
'@atproto/crypto': 0.4.4
302
+
'@atproto/lexicon': 0.4.12
303
'@ipld/dag-cbor': 7.0.3
304
multiformats: 9.9.0
305
uint8arrays: 3.0.0
306
+
varint: 6.0.0
307
zod: 3.23.8
308
dev: false
309
310
+
/@atproto/syntax@0.4.0:
311
+
resolution: {integrity: sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA==}
312
dev: false
313
314
+
/@atproto/xrpc-server@0.9.1:
315
+
resolution: {integrity: sha512-AJfxsKrZgKL/5362Rc0oUEjlgpDCmY/soeyLHHjid8J6clbErAdJVCuFwW4T40aHGFY1J13a29ucwbSfOROx6w==}
316
+
engines: {node: '>=18.7.0'}
317
dependencies:
318
+
'@atproto/common': 0.4.11
319
+
'@atproto/crypto': 0.4.4
320
+
'@atproto/lexicon': 0.4.12
321
+
'@atproto/xrpc': 0.7.1
322
cbor-x: 1.5.8
323
express: 4.18.2
324
http-errors: 2.0.0
···
333
- utf-8-validate
334
dev: false
335
336
+
/@atproto/xrpc@0.7.1:
337
+
resolution: {integrity: sha512-ANHEzlskYlMEdH18m+Itp3a8d0pEJao2qoDybDoMupTnoeNkya4VKIaOgAi6ERQnqatBBZyn9asW+7rJmSt/8g==}
338
dependencies:
339
+
'@atproto/lexicon': 0.4.12
340
zod: 3.23.8
341
dev: false
342
···
1149
- debug
1150
dev: false
1151
1152
+
/@emnapi/runtime@1.3.1:
1153
+
resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
1154
+
requiresBuild: true
1155
+
dependencies:
1156
+
tslib: 2.6.2
1157
+
dev: false
1158
+
optional: true
1159
+
1160
/@hapi/accept@6.0.3:
1161
resolution: {integrity: sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw==}
1162
dependencies:
1163
'@hapi/boom': 10.0.1
1164
+
'@hapi/hoek': 11.0.4
1165
+
dev: false
1166
+
1167
+
/@hapi/address@5.1.1:
1168
+
resolution: {integrity: sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==}
1169
+
engines: {node: '>=14.0.0'}
1170
+
dependencies:
1171
'@hapi/hoek': 11.0.4
1172
dev: false
1173
···
1191
resolution: {integrity: sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==}
1192
dev: false
1193
1194
+
/@img/sharp-darwin-arm64@0.33.5:
1195
+
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
1196
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1197
+
cpu: [arm64]
1198
+
os: [darwin]
1199
+
requiresBuild: true
1200
+
optionalDependencies:
1201
+
'@img/sharp-libvips-darwin-arm64': 1.0.4
1202
+
dev: false
1203
+
optional: true
1204
+
1205
+
/@img/sharp-darwin-x64@0.33.5:
1206
+
resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
1207
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1208
+
cpu: [x64]
1209
+
os: [darwin]
1210
+
requiresBuild: true
1211
+
optionalDependencies:
1212
+
'@img/sharp-libvips-darwin-x64': 1.0.4
1213
+
dev: false
1214
+
optional: true
1215
+
1216
+
/@img/sharp-libvips-darwin-arm64@1.0.4:
1217
+
resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
1218
+
cpu: [arm64]
1219
+
os: [darwin]
1220
+
requiresBuild: true
1221
+
dev: false
1222
+
optional: true
1223
+
1224
+
/@img/sharp-libvips-darwin-x64@1.0.4:
1225
+
resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
1226
+
cpu: [x64]
1227
+
os: [darwin]
1228
+
requiresBuild: true
1229
dev: false
1230
+
optional: true
1231
1232
+
/@img/sharp-libvips-linux-arm64@1.0.4:
1233
+
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
1234
+
cpu: [arm64]
1235
+
os: [linux]
1236
+
requiresBuild: true
1237
+
dev: false
1238
+
optional: true
1239
+
1240
+
/@img/sharp-libvips-linux-arm@1.0.5:
1241
+
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
1242
+
cpu: [arm]
1243
+
os: [linux]
1244
+
requiresBuild: true
1245
+
dev: false
1246
+
optional: true
1247
+
1248
+
/@img/sharp-libvips-linux-s390x@1.0.4:
1249
+
resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
1250
+
cpu: [s390x]
1251
+
os: [linux]
1252
+
requiresBuild: true
1253
+
dev: false
1254
+
optional: true
1255
+
1256
+
/@img/sharp-libvips-linux-x64@1.0.4:
1257
+
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
1258
+
cpu: [x64]
1259
+
os: [linux]
1260
+
requiresBuild: true
1261
+
dev: false
1262
+
optional: true
1263
+
1264
+
/@img/sharp-libvips-linuxmusl-arm64@1.0.4:
1265
+
resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
1266
+
cpu: [arm64]
1267
+
os: [linux]
1268
+
requiresBuild: true
1269
+
dev: false
1270
+
optional: true
1271
+
1272
+
/@img/sharp-libvips-linuxmusl-x64@1.0.4:
1273
+
resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
1274
+
cpu: [x64]
1275
+
os: [linux]
1276
+
requiresBuild: true
1277
+
dev: false
1278
+
optional: true
1279
+
1280
+
/@img/sharp-linux-arm64@0.33.5:
1281
+
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
1282
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1283
+
cpu: [arm64]
1284
+
os: [linux]
1285
+
requiresBuild: true
1286
+
optionalDependencies:
1287
+
'@img/sharp-libvips-linux-arm64': 1.0.4
1288
+
dev: false
1289
+
optional: true
1290
+
1291
+
/@img/sharp-linux-arm@0.33.5:
1292
+
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
1293
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1294
+
cpu: [arm]
1295
+
os: [linux]
1296
+
requiresBuild: true
1297
+
optionalDependencies:
1298
+
'@img/sharp-libvips-linux-arm': 1.0.5
1299
+
dev: false
1300
+
optional: true
1301
+
1302
+
/@img/sharp-linux-s390x@0.33.5:
1303
+
resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
1304
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1305
+
cpu: [s390x]
1306
+
os: [linux]
1307
+
requiresBuild: true
1308
+
optionalDependencies:
1309
+
'@img/sharp-libvips-linux-s390x': 1.0.4
1310
+
dev: false
1311
+
optional: true
1312
+
1313
+
/@img/sharp-linux-x64@0.33.5:
1314
+
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
1315
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1316
+
cpu: [x64]
1317
+
os: [linux]
1318
+
requiresBuild: true
1319
+
optionalDependencies:
1320
+
'@img/sharp-libvips-linux-x64': 1.0.4
1321
+
dev: false
1322
+
optional: true
1323
+
1324
+
/@img/sharp-linuxmusl-arm64@0.33.5:
1325
+
resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
1326
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1327
+
cpu: [arm64]
1328
+
os: [linux]
1329
+
requiresBuild: true
1330
+
optionalDependencies:
1331
+
'@img/sharp-libvips-linuxmusl-arm64': 1.0.4
1332
+
dev: false
1333
+
optional: true
1334
+
1335
+
/@img/sharp-linuxmusl-x64@0.33.5:
1336
+
resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
1337
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1338
+
cpu: [x64]
1339
+
os: [linux]
1340
+
requiresBuild: true
1341
+
optionalDependencies:
1342
+
'@img/sharp-libvips-linuxmusl-x64': 1.0.4
1343
+
dev: false
1344
+
optional: true
1345
+
1346
+
/@img/sharp-wasm32@0.33.5:
1347
+
resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
1348
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1349
+
cpu: [wasm32]
1350
+
requiresBuild: true
1351
dependencies:
1352
+
'@emnapi/runtime': 1.3.1
1353
+
dev: false
1354
+
optional: true
1355
+
1356
+
/@img/sharp-win32-ia32@0.33.5:
1357
+
resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
1358
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1359
+
cpu: [ia32]
1360
+
os: [win32]
1361
+
requiresBuild: true
1362
+
dev: false
1363
+
optional: true
1364
+
1365
+
/@img/sharp-win32-x64@0.33.5:
1366
+
resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
1367
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1368
+
cpu: [x64]
1369
+
os: [win32]
1370
+
requiresBuild: true
1371
+
dev: false
1372
+
optional: true
1373
+
1374
+
/@ioredis/commands@1.2.0:
1375
+
resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
1376
dev: false
1377
1378
/@ipld/dag-cbor@7.0.3:
···
1394
wrap-ansi-cjs: /wrap-ansi@7.0.0
1395
dev: false
1396
1397
+
/@noble/curves@1.8.1:
1398
+
resolution: {integrity: sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==}
1399
+
engines: {node: ^14.21.3 || >=16}
1400
dependencies:
1401
+
'@noble/hashes': 1.7.1
1402
dev: false
1403
1404
+
/@noble/hashes@1.7.1:
1405
+
resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==}
1406
+
engines: {node: ^14.21.3 || >=16}
1407
dev: false
1408
1409
/@noble/secp256k1@1.7.1:
···
1957
resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==}
1958
dev: false
1959
1960
/axios@1.6.7:
1961
resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
1962
dependencies:
···
1967
- debug
1968
dev: false
1969
1970
/balanced-match@1.0.2:
1971
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1972
dev: false
1973
1974
/base64-js@1.5.1:
1975
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
1976
dev: false
···
2028
2029
/boolean@3.2.0:
2030
resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==}
2031
+
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
2032
dev: false
2033
2034
/bowser@2.11.0:
···
2199
engines: {node: '>= 0.6'}
2200
dev: false
2201
2202
+
/cookie@0.7.2:
2203
+
resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
2204
engines: {node: '>= 0.6'}
2205
dev: false
2206
···
2295
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
2296
dev: false
2297
2298
+
/detect-libc@2.0.3:
2299
+
resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
2300
engines: {node: '>=8'}
2301
dev: false
2302
2303
+
/disposable-email-domains-js@1.5.0:
2304
+
resolution: {integrity: sha512-L1cn+cZhKmxUwixH8n+n0HG+WbCz+LF4coyT6yMh930tpkD90ZWFx3A9dHIdFMVM745saaeNGYScIEstm3Y3yg==}
2305
dev: false
2306
2307
/dom-serializer@1.4.1:
···
2459
vary: 1.1.2
2460
transitivePeerDependencies:
2461
- supports-color
2462
dev: false
2463
2464
/fast-printf@1.6.9:
···
2777
elliptic: 6.5.4
2778
dev: false
2779
2780
/kysely@0.22.0:
2781
resolution: {integrity: sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ==}
2782
engines: {node: '>=14.0.0'}
···
2795
engines: {node: 14 || >=16.14}
2796
dev: false
2797
2798
/media-typer@0.3.0:
2799
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
2800
engines: {node: '>= 0.6'}
···
2893
resolution: {integrity: sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ==}
2894
engines: {node: '>=10'}
2895
dependencies:
2896
+
semver: 7.6.3
2897
dev: false
2898
2899
/node-gyp-build-optional-packages@5.1.1:
···
2901
hasBin: true
2902
requiresBuild: true
2903
dependencies:
2904
+
detect-libc: 2.0.3
2905
dev: false
2906
optional: true
2907
···
3049
engines: {node: '>=10'}
3050
hasBin: true
3051
dependencies:
3052
+
detect-libc: 2.0.3
3053
expand-template: 2.0.3
3054
github-from-package: 0.0.0
3055
minimist: 1.2.8
···
3084
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
3085
dev: false
3086
3087
/pump@3.0.0:
3088
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
3089
dependencies:
···
3096
engines: {node: '>=0.6'}
3097
dependencies:
3098
side-channel: 1.0.5
3099
dev: false
3100
3101
/quick-format-unescaped@4.0.4:
···
3213
resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==}
3214
dev: false
3215
3216
+
/semver@7.6.3:
3217
+
resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
3218
engines: {node: '>=10'}
3219
hasBin: true
3220
dev: false
3221
3222
/send@0.18.0:
···
3268
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
3269
dev: false
3270
3271
+
/sharp@0.33.5:
3272
+
resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
3273
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
3274
requiresBuild: true
3275
dependencies:
3276
color: 4.2.3
3277
+
detect-libc: 2.0.3
3278
+
semver: 7.6.3
3279
+
optionalDependencies:
3280
+
'@img/sharp-darwin-arm64': 0.33.5
3281
+
'@img/sharp-darwin-x64': 0.33.5
3282
+
'@img/sharp-libvips-darwin-arm64': 1.0.4
3283
+
'@img/sharp-libvips-darwin-x64': 1.0.4
3284
+
'@img/sharp-libvips-linux-arm': 1.0.5
3285
+
'@img/sharp-libvips-linux-arm64': 1.0.4
3286
+
'@img/sharp-libvips-linux-s390x': 1.0.4
3287
+
'@img/sharp-libvips-linux-x64': 1.0.4
3288
+
'@img/sharp-libvips-linuxmusl-arm64': 1.0.4
3289
+
'@img/sharp-libvips-linuxmusl-x64': 1.0.4
3290
+
'@img/sharp-linux-arm': 0.33.5
3291
+
'@img/sharp-linux-arm64': 0.33.5
3292
+
'@img/sharp-linux-s390x': 0.33.5
3293
+
'@img/sharp-linux-x64': 0.33.5
3294
+
'@img/sharp-linuxmusl-arm64': 0.33.5
3295
+
'@img/sharp-linuxmusl-x64': 0.33.5
3296
+
'@img/sharp-wasm32': 0.33.5
3297
+
'@img/sharp-win32-ia32': 0.33.5
3298
+
'@img/sharp-win32-x64': 0.33.5
3299
dev: false
3300
3301
/shebang-command@2.0.0:
···
3375
readable-stream: 3.6.2
3376
dev: false
3377
3378
/string-width@4.2.3:
3379
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
3380
engines: {node: '>=8'}
···
3439
tar-stream: 2.2.0
3440
dev: false
3441
3442
/tar-stream@2.2.0:
3443
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
3444
engines: {node: '>=6'}
···
3450
readable-stream: 3.6.2
3451
dev: false
3452
3453
/thread-stream@2.7.0:
3454
resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==}
3455
dependencies:
···
3482
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
3483
dev: false
3484
3485
/tunnel-agent@0.6.0:
3486
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
3487
dependencies:
···
3525
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
3526
dev: false
3527
3528
+
/undici@6.20.1:
3529
+
resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==}
3530
engines: {node: '>=18.17'}
3531
dev: false
3532
···
3603
optional: true
3604
utf-8-validate:
3605
optional: true
3606
dev: false
3607
3608
/zod@3.23.8: