@atproto/pds 0.5.12 → 0.5.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/api/app/bsky/notification/index.d.ts.map +1 -1
  3. package/dist/api/app/bsky/notification/index.js +2 -0
  4. package/dist/api/app/bsky/notification/index.js.map +1 -1
  5. package/dist/api/app/bsky/notification/unregisterPush.d.ts +4 -0
  6. package/dist/api/app/bsky/notification/unregisterPush.d.ts.map +1 -0
  7. package/dist/api/app/bsky/notification/unregisterPush.js +48 -0
  8. package/dist/api/app/bsky/notification/unregisterPush.js.map +1 -0
  9. package/dist/lexicons/app/bsky/actor/defs.defs.d.ts +6 -0
  10. package/dist/lexicons/app/bsky/actor/defs.defs.d.ts.map +1 -1
  11. package/dist/lexicons/app/bsky/actor/defs.defs.js +1 -0
  12. package/dist/lexicons/app/bsky/actor/defs.defs.js.map +1 -1
  13. package/package.json +42 -38
  14. package/build.templates.cjs +0 -22
  15. package/example.env +0 -42
  16. package/jest.config.cjs +0 -27
  17. package/src/account-manager/account-manager.ts +0 -916
  18. package/src/account-manager/db/index.ts +0 -21
  19. package/src/account-manager/db/migrations/001-init.ts +0 -115
  20. package/src/account-manager/db/migrations/002-account-deactivation.ts +0 -17
  21. package/src/account-manager/db/migrations/003-privileged-app-passwords.ts +0 -12
  22. package/src/account-manager/db/migrations/004-oauth.ts +0 -122
  23. package/src/account-manager/db/migrations/005-oauth-account-management.ts +0 -136
  24. package/src/account-manager/db/migrations/006-oauth-permission-sets.ts +0 -20
  25. package/src/account-manager/db/migrations/007-lexicon-failures-index.ts +0 -14
  26. package/src/account-manager/db/migrations/index.ts +0 -17
  27. package/src/account-manager/db/schema/account-device.ts +0 -14
  28. package/src/account-manager/db/schema/account.ts +0 -16
  29. package/src/account-manager/db/schema/actor.ts +0 -17
  30. package/src/account-manager/db/schema/app-password.ts +0 -13
  31. package/src/account-manager/db/schema/authorization-request.ts +0 -30
  32. package/src/account-manager/db/schema/authorized-client.ts +0 -23
  33. package/src/account-manager/db/schema/device.ts +0 -18
  34. package/src/account-manager/db/schema/email-token.ts +0 -19
  35. package/src/account-manager/db/schema/index.ts +0 -43
  36. package/src/account-manager/db/schema/invite-code.ts +0 -24
  37. package/src/account-manager/db/schema/lexicon.ts +0 -15
  38. package/src/account-manager/db/schema/refresh-token.ts +0 -11
  39. package/src/account-manager/db/schema/repo-root.ts +0 -12
  40. package/src/account-manager/db/schema/token.ts +0 -38
  41. package/src/account-manager/db/schema/used-refresh-token.ts +0 -13
  42. package/src/account-manager/helpers/account-device.ts +0 -63
  43. package/src/account-manager/helpers/account.ts +0 -355
  44. package/src/account-manager/helpers/auth.ts +0 -222
  45. package/src/account-manager/helpers/authorization-request.ts +0 -90
  46. package/src/account-manager/helpers/authorized-client.ts +0 -75
  47. package/src/account-manager/helpers/device.ts +0 -47
  48. package/src/account-manager/helpers/email-token.ts +0 -87
  49. package/src/account-manager/helpers/invite.ts +0 -263
  50. package/src/account-manager/helpers/lexicon.ts +0 -67
  51. package/src/account-manager/helpers/password.ts +0 -136
  52. package/src/account-manager/helpers/repo.ts +0 -24
  53. package/src/account-manager/helpers/scrypt.ts +0 -53
  54. package/src/account-manager/helpers/token.ts +0 -158
  55. package/src/account-manager/helpers/used-refresh-token.ts +0 -30
  56. package/src/account-manager/oauth-store.ts +0 -880
  57. package/src/account-manager/scope-reference-getter.ts +0 -106
  58. package/src/actor-store/actor-store-reader.ts +0 -45
  59. package/src/actor-store/actor-store-resources.ts +0 -8
  60. package/src/actor-store/actor-store-transactor.ts +0 -31
  61. package/src/actor-store/actor-store-writer.ts +0 -17
  62. package/src/actor-store/actor-store.ts +0 -210
  63. package/src/actor-store/blob/reader.ts +0 -160
  64. package/src/actor-store/blob/transactor.ts +0 -383
  65. package/src/actor-store/db/index.ts +0 -20
  66. package/src/actor-store/db/migrations/001-init.ts +0 -105
  67. package/src/actor-store/db/migrations/index.ts +0 -5
  68. package/src/actor-store/db/schema/account-pref.ts +0 -11
  69. package/src/actor-store/db/schema/backlink.ts +0 -9
  70. package/src/actor-store/db/schema/blob.ts +0 -14
  71. package/src/actor-store/db/schema/index.ts +0 -23
  72. package/src/actor-store/db/schema/record-blob.ts +0 -8
  73. package/src/actor-store/db/schema/record.ts +0 -14
  74. package/src/actor-store/db/schema/repo-block.ts +0 -10
  75. package/src/actor-store/db/schema/repo-root.ts +0 -10
  76. package/src/actor-store/migrate.ts +0 -39
  77. package/src/actor-store/preference/reader.ts +0 -48
  78. package/src/actor-store/preference/transactor.ts +0 -55
  79. package/src/actor-store/preference/util.ts +0 -39
  80. package/src/actor-store/record/reader.ts +0 -374
  81. package/src/actor-store/record/transactor.ts +0 -111
  82. package/src/actor-store/repo/reader.ts +0 -31
  83. package/src/actor-store/repo/sql-repo-reader.ts +0 -150
  84. package/src/actor-store/repo/sql-repo-transactor.ts +0 -105
  85. package/src/actor-store/repo/transactor.ts +0 -227
  86. package/src/api/app/bsky/actor/getPreferences.ts +0 -57
  87. package/src/api/app/bsky/actor/getProfile.ts +0 -41
  88. package/src/api/app/bsky/actor/getProfiles.ts +0 -51
  89. package/src/api/app/bsky/actor/index.ts +0 -13
  90. package/src/api/app/bsky/actor/putPreferences.ts +0 -62
  91. package/src/api/app/bsky/feed/getActorLikes.ts +0 -63
  92. package/src/api/app/bsky/feed/getAuthorFeed.ts +0 -84
  93. package/src/api/app/bsky/feed/getFeed.ts +0 -47
  94. package/src/api/app/bsky/feed/getPostThread.ts +0 -251
  95. package/src/api/app/bsky/feed/getTimeline.ts +0 -50
  96. package/src/api/app/bsky/feed/index.ts +0 -15
  97. package/src/api/app/bsky/index.ts +0 -11
  98. package/src/api/app/bsky/notification/index.ts +0 -7
  99. package/src/api/app/bsky/notification/registerPush.ts +0 -71
  100. package/src/api/app/bsky/util/resolver.ts +0 -20
  101. package/src/api/com/atproto/admin/deleteAccount.ts +0 -22
  102. package/src/api/com/atproto/admin/disableAccountInvites.ts +0 -18
  103. package/src/api/com/atproto/admin/disableInviteCodes.ts +0 -21
  104. package/src/api/com/atproto/admin/enableAccountInvites.ts +0 -18
  105. package/src/api/com/atproto/admin/getAccountInfo.ts +0 -32
  106. package/src/api/com/atproto/admin/getAccountInfos.ts +0 -34
  107. package/src/api/com/atproto/admin/getInviteCodes.ts +0 -126
  108. package/src/api/com/atproto/admin/getSubjectStatus.ts +0 -76
  109. package/src/api/com/atproto/admin/index.ts +0 -31
  110. package/src/api/com/atproto/admin/sendEmail.ts +0 -47
  111. package/src/api/com/atproto/admin/updateAccountEmail.ts +0 -32
  112. package/src/api/com/atproto/admin/updateAccountHandle.ts +0 -47
  113. package/src/api/com/atproto/admin/updateAccountPassword.ts +0 -34
  114. package/src/api/com/atproto/admin/updateSubjectStatus.ts +0 -68
  115. package/src/api/com/atproto/admin/util.ts +0 -66
  116. package/src/api/com/atproto/identity/getRecommendedDidCredentials.ts +0 -50
  117. package/src/api/com/atproto/identity/index.ts +0 -17
  118. package/src/api/com/atproto/identity/requestPlcOperationSignature.ts +0 -59
  119. package/src/api/com/atproto/identity/resolveHandle.ts +0 -50
  120. package/src/api/com/atproto/identity/signPlcOperation.ts +0 -85
  121. package/src/api/com/atproto/identity/submitPlcOperation.ts +0 -65
  122. package/src/api/com/atproto/identity/updateHandle.ts +0 -66
  123. package/src/api/com/atproto/index.ts +0 -19
  124. package/src/api/com/atproto/moderation/createReport.ts +0 -41
  125. package/src/api/com/atproto/moderation/index.ts +0 -7
  126. package/src/api/com/atproto/repo/applyWrites.ts +0 -226
  127. package/src/api/com/atproto/repo/createRecord.ts +0 -143
  128. package/src/api/com/atproto/repo/deleteRecord.ts +0 -122
  129. package/src/api/com/atproto/repo/describeRepo.ts +0 -43
  130. package/src/api/com/atproto/repo/getRecord.ts +0 -40
  131. package/src/api/com/atproto/repo/importRepo.ts +0 -101
  132. package/src/api/com/atproto/repo/index.ts +0 -25
  133. package/src/api/com/atproto/repo/listMissingBlobs.ts +0 -29
  134. package/src/api/com/atproto/repo/listRecords.ts +0 -36
  135. package/src/api/com/atproto/repo/putRecord.ts +0 -211
  136. package/src/api/com/atproto/repo/uploadBlob.ts +0 -60
  137. package/src/api/com/atproto/server/activateAccount.ts +0 -37
  138. package/src/api/com/atproto/server/checkAccountStatus.ts +0 -51
  139. package/src/api/com/atproto/server/confirmEmail.ts +0 -39
  140. package/src/api/com/atproto/server/createAccount.ts +0 -327
  141. package/src/api/com/atproto/server/createAppPassword.ts +0 -53
  142. package/src/api/com/atproto/server/createInviteCode.ts +0 -38
  143. package/src/api/com/atproto/server/createInviteCodes.ts +0 -42
  144. package/src/api/com/atproto/server/createSession.ts +0 -97
  145. package/src/api/com/atproto/server/deactivateAccount.ts +0 -41
  146. package/src/api/com/atproto/server/deleteAccount.ts +0 -85
  147. package/src/api/com/atproto/server/deleteSession.ts +0 -23
  148. package/src/api/com/atproto/server/describeServer.ts +0 -29
  149. package/src/api/com/atproto/server/getAccountInviteCodes.ts +0 -142
  150. package/src/api/com/atproto/server/getServiceAuth.ts +0 -111
  151. package/src/api/com/atproto/server/getSession.ts +0 -80
  152. package/src/api/com/atproto/server/index.ts +0 -55
  153. package/src/api/com/atproto/server/listAppPasswords.ts +0 -45
  154. package/src/api/com/atproto/server/refreshSession.ts +0 -72
  155. package/src/api/com/atproto/server/requestAccountDelete.ts +0 -66
  156. package/src/api/com/atproto/server/requestEmailConfirmation.ts +0 -68
  157. package/src/api/com/atproto/server/requestEmailUpdate.ts +0 -86
  158. package/src/api/com/atproto/server/requestPasswordReset.ts +0 -52
  159. package/src/api/com/atproto/server/reserveSigningKey.ts +0 -15
  160. package/src/api/com/atproto/server/resetPassword.ts +0 -50
  161. package/src/api/com/atproto/server/revokeAppPassword.ts +0 -42
  162. package/src/api/com/atproto/server/updateEmail.ts +0 -52
  163. package/src/api/com/atproto/server/util.ts +0 -136
  164. package/src/api/com/atproto/sync/deprecated/getCheckout.ts +0 -27
  165. package/src/api/com/atproto/sync/deprecated/getHead.ts +0 -33
  166. package/src/api/com/atproto/sync/getBlob.ts +0 -61
  167. package/src/api/com/atproto/sync/getBlocks.ts +0 -37
  168. package/src/api/com/atproto/sync/getLatestCommit.ts +0 -33
  169. package/src/api/com/atproto/sync/getRecord.ts +0 -49
  170. package/src/api/com/atproto/sync/getRepo.ts +0 -75
  171. package/src/api/com/atproto/sync/getRepoStatus.ts +0 -34
  172. package/src/api/com/atproto/sync/index.ts +0 -27
  173. package/src/api/com/atproto/sync/listBlobs.ts +0 -33
  174. package/src/api/com/atproto/sync/listRepos.ts +0 -74
  175. package/src/api/com/atproto/sync/subscribeRepos.ts +0 -73
  176. package/src/api/com/atproto/sync/util.ts +0 -37
  177. package/src/api/com/atproto/temp/checkSignupQueue.ts +0 -34
  178. package/src/api/com/atproto/temp/index.ts +0 -7
  179. package/src/api/index.ts +0 -10
  180. package/src/api/proxy.ts +0 -44
  181. package/src/app-view.ts +0 -24
  182. package/src/auth-output.ts +0 -52
  183. package/src/auth-routes.ts +0 -64
  184. package/src/auth-scope.ts +0 -40
  185. package/src/auth-verifier.ts +0 -668
  186. package/src/background.ts +0 -65
  187. package/src/basic-routes.ts +0 -52
  188. package/src/bsky-app-view.ts +0 -33
  189. package/src/config/config.ts +0 -553
  190. package/src/config/env.ts +0 -167
  191. package/src/config/index.ts +0 -3
  192. package/src/config/secrets.ts +0 -54
  193. package/src/context.ts +0 -523
  194. package/src/crawlers.ts +0 -46
  195. package/src/db/cast.ts +0 -52
  196. package/src/db/db.ts +0 -140
  197. package/src/db/index.ts +0 -4
  198. package/src/db/migrator.ts +0 -40
  199. package/src/db/pagination.ts +0 -132
  200. package/src/db/tables/moderation.ts +0 -80
  201. package/src/db/util.ts +0 -108
  202. package/src/did-cache/db/index.ts +0 -21
  203. package/src/did-cache/db/migrations.ts +0 -17
  204. package/src/did-cache/db/schema.ts +0 -9
  205. package/src/did-cache/index.ts +0 -131
  206. package/src/disk-blobstore.ts +0 -172
  207. package/src/error.ts +0 -19
  208. package/src/handle/explicit-slurs.ts +0 -22
  209. package/src/handle/index.ts +0 -49
  210. package/src/handle/reserved.ts +0 -1059
  211. package/src/image/image-url-builder.ts +0 -16
  212. package/src/index.ts +0 -189
  213. package/src/lexicons.ts +0 -4
  214. package/src/logger.ts +0 -35
  215. package/src/mailer/index.ts +0 -111
  216. package/src/mailer/moderation.ts +0 -33
  217. package/src/mailer/templates/confirm-email.d.ts +0 -4
  218. package/src/mailer/templates/confirm-email.hbs +0 -158
  219. package/src/mailer/templates/delete-account.d.ts +0 -4
  220. package/src/mailer/templates/delete-account.hbs +0 -156
  221. package/src/mailer/templates/plc-operation.d.ts +0 -4
  222. package/src/mailer/templates/plc-operation.hbs +0 -153
  223. package/src/mailer/templates/reset-password.d.ts +0 -4
  224. package/src/mailer/templates/reset-password.hbs +0 -154
  225. package/src/mailer/templates/update-email.d.ts +0 -4
  226. package/src/mailer/templates/update-email.hbs +0 -153
  227. package/src/mailer/templates.ts +0 -17
  228. package/src/pipethrough.ts +0 -716
  229. package/src/rate-limits.ts +0 -59
  230. package/src/read-after-write/index.ts +0 -3
  231. package/src/read-after-write/types.ts +0 -35
  232. package/src/read-after-write/util.ts +0 -101
  233. package/src/read-after-write/viewer.ts +0 -290
  234. package/src/redis.ts +0 -25
  235. package/src/repo/index.ts +0 -2
  236. package/src/repo/prepare.ts +0 -266
  237. package/src/repo/types.ts +0 -65
  238. package/src/scripts/README.md +0 -40
  239. package/src/scripts/index.ts +0 -20
  240. package/src/scripts/publish-identity.ts +0 -60
  241. package/src/scripts/rebuild-repo.ts +0 -119
  242. package/src/scripts/rotate-keys.ts +0 -146
  243. package/src/scripts/sequencer-recovery/index.ts +0 -23
  244. package/src/scripts/sequencer-recovery/recoverer.ts +0 -297
  245. package/src/scripts/sequencer-recovery/recovery-db.ts +0 -65
  246. package/src/scripts/sequencer-recovery/repair-repos.ts +0 -49
  247. package/src/scripts/sequencer-recovery/user-queues.ts +0 -44
  248. package/src/scripts/util.ts +0 -7
  249. package/src/sequencer/db/index.ts +0 -21
  250. package/src/sequencer/db/migrations/001-init.ts +0 -35
  251. package/src/sequencer/db/migrations/index.ts +0 -5
  252. package/src/sequencer/db/schema.ts +0 -19
  253. package/src/sequencer/events.ts +0 -199
  254. package/src/sequencer/index.ts +0 -3
  255. package/src/sequencer/outbox.ts +0 -123
  256. package/src/sequencer/sequencer.ts +0 -290
  257. package/src/util/compression.ts +0 -16
  258. package/src/util/debug.ts +0 -10
  259. package/src/util/http.ts +0 -31
  260. package/src/util/types.ts +0 -7
  261. package/src/well-known.ts +0 -30
  262. package/test.env +0 -2
  263. package/tests/__snapshots__/takedown-appeal.test.ts.snap +0 -43
  264. package/tests/_oauth_client_assets_middleware.ts +0 -23
  265. package/tests/_puppeteer.ts +0 -147
  266. package/tests/_types.d.ts +0 -16
  267. package/tests/_util.ts +0 -191
  268. package/tests/account-deactivation.test.ts +0 -204
  269. package/tests/account-deletion.test.ts +0 -300
  270. package/tests/account-manager.test.ts +0 -462
  271. package/tests/account-migration.test.ts +0 -221
  272. package/tests/account-status.test.ts +0 -206
  273. package/tests/account.test.ts +0 -595
  274. package/tests/app-passwords.test.ts +0 -262
  275. package/tests/auth.test.ts +0 -405
  276. package/tests/blob-deletes.test.ts +0 -204
  277. package/tests/create-post.test.ts +0 -79
  278. package/tests/crud.test.ts +0 -1595
  279. package/tests/db.test.ts +0 -170
  280. package/tests/email-confirmation.test.ts +0 -227
  281. package/tests/entryway-mock.ts +0 -323
  282. package/tests/entryway.test.ts +0 -145
  283. package/tests/file-uploads.test.ts +0 -301
  284. package/tests/get-service-auth.test.ts +0 -81
  285. package/tests/handle-validation.test.ts +0 -56
  286. package/tests/handles.test.ts +0 -274
  287. package/tests/invite-codes.test.ts +0 -367
  288. package/tests/invites-admin.test.ts +0 -252
  289. package/tests/moderation.test.ts +0 -280
  290. package/tests/moderator-auth.test.ts +0 -177
  291. package/tests/oauth.test.ts +0 -334
  292. package/tests/plc-operations.test.ts +0 -239
  293. package/tests/preferences.test.ts +0 -352
  294. package/tests/proxied/__snapshots__/admin.test.ts.snap +0 -516
  295. package/tests/proxied/__snapshots__/feedgen.test.ts.snap +0 -215
  296. package/tests/proxied/__snapshots__/views.test.ts.snap +0 -4456
  297. package/tests/proxied/admin.test.ts +0 -340
  298. package/tests/proxied/feedgen.test.ts +0 -66
  299. package/tests/proxied/notif.test.ts +0 -85
  300. package/tests/proxied/procedures.test.ts +0 -175
  301. package/tests/proxied/proxy-catchall.test.ts +0 -256
  302. package/tests/proxied/proxy-header.test.ts +0 -239
  303. package/tests/proxied/proxy-oauth-aud.test.ts +0 -182
  304. package/tests/proxied/read-after-write.test.ts +0 -382
  305. package/tests/proxied/views.test.ts +0 -608
  306. package/tests/races.test.ts +0 -89
  307. package/tests/rate-limits.test.ts +0 -70
  308. package/tests/recovery.test.ts +0 -180
  309. package/tests/seeds/basic.ts +0 -165
  310. package/tests/seeds/follows.ts +0 -57
  311. package/tests/seeds/likes.ts +0 -14
  312. package/tests/seeds/reposts.ts +0 -18
  313. package/tests/seeds/thread.ts +0 -40
  314. package/tests/seeds/users-bulk.ts +0 -246
  315. package/tests/seeds/users.ts +0 -67
  316. package/tests/sequencer.test.ts +0 -251
  317. package/tests/server.test.ts +0 -151
  318. package/tests/sync/invertible-ops.test.ts +0 -99
  319. package/tests/sync/list.test.ts +0 -43
  320. package/tests/sync/subscribe-repos.test.ts +0 -672
  321. package/tests/sync/sync.test.ts +0 -316
  322. package/tests/takedown-appeal.test.ts +0 -166
  323. package/tsconfig.build.json +0 -9
  324. package/tsconfig.build.tsbuildinfo +0 -1
  325. package/tsconfig.json +0 -7
  326. package/tsconfig.tests.json +0 -8
package/src/config/env.ts DELETED
@@ -1,167 +0,0 @@
1
- import { envBool, envInt, envList, envStr } from '@atproto/common'
2
-
3
- export function readEnv() {
4
- return {
5
- // service
6
- port: envInt('PDS_PORT'),
7
- hostname: envStr('PDS_HOSTNAME'),
8
- serviceDid: envStr('PDS_SERVICE_DID'),
9
- serviceName: envStr('PDS_SERVICE_NAME'),
10
- version: envStr('PDS_VERSION'),
11
- homeUrl: envStr('PDS_HOME_URL'),
12
- logoUrl: envStr('PDS_LOGO_URL'),
13
- privacyPolicyUrl: envStr('PDS_PRIVACY_POLICY_URL'),
14
- supportUrl: envStr('PDS_SUPPORT_URL'),
15
- termsOfServiceUrl: envStr('PDS_TERMS_OF_SERVICE_URL'),
16
- contactEmailAddress: envStr('PDS_CONTACT_EMAIL_ADDRESS'),
17
- acceptingImports: envBool('PDS_ACCEPTING_REPO_IMPORTS'),
18
- maxImportSize: envInt('PDS_MAX_REPO_IMPORT_SIZE'),
19
- blobUploadLimit: envInt('PDS_BLOB_UPLOAD_LIMIT'),
20
- devMode: envBool('PDS_DEV_MODE'),
21
-
22
- // hCaptcha
23
- hcaptchaSiteKey: envStr('PDS_HCAPTCHA_SITE_KEY'),
24
- hcaptchaSecretKey: envStr('PDS_HCAPTCHA_SECRET_KEY'),
25
- hcaptchaTokenSalt: envStr('PDS_HCAPTCHA_TOKEN_SALT'),
26
-
27
- // OAuth
28
- trustedOAuthClients: envList('PDS_OAUTH_TRUSTED_CLIENTS'),
29
-
30
- // branding
31
- lightColor: envStr('PDS_LIGHT_COLOR'),
32
- darkColor: envStr('PDS_DARK_COLOR'),
33
- contrastSaturation: envInt('PDS_CONTRAST_SATURATION'),
34
- primaryColor: envStr('PDS_PRIMARY_COLOR'),
35
- primaryColorContrast: envStr('PDS_PRIMARY_COLOR_CONTRAST'),
36
- primaryColorHue: envInt('PDS_PRIMARY_COLOR_HUE'),
37
- errorColor: envStr('PDS_ERROR_COLOR'),
38
- errorColorContrast: envStr('PDS_ERROR_COLOR_CONTRAST'),
39
- errorColorHue: envInt('PDS_ERROR_COLOR_HUE'),
40
- warningColor: envStr('PDS_WARNING_COLOR'),
41
- warningColorContrast: envStr('PDS_WARNING_COLOR_CONTRAST'),
42
- warningColorHue: envInt('PDS_WARNING_COLOR_HUE'),
43
- infoColor: envStr('PDS_INFO_COLOR'),
44
- infoColorContrast: envStr('PDS_INFO_COLOR_CONTRAST'),
45
- infoColorHue: envInt('PDS_INFO_COLOR_HUE'),
46
- successColor: envStr('PDS_SUCCESS_COLOR'),
47
- successColorContrast: envStr('PDS_SUCCESS_COLOR_CONTRAST'),
48
- successColorHue: envInt('PDS_SUCCESS_COLOR_HUE'),
49
-
50
- // database
51
- dataDirectory: envStr('PDS_DATA_DIRECTORY'),
52
- disableWalAutoCheckpoint: envBool('PDS_SQLITE_DISABLE_WAL_AUTO_CHECKPOINT'),
53
- accountDbLocation: envStr('PDS_ACCOUNT_DB_LOCATION'),
54
- sequencerDbLocation: envStr('PDS_SEQUENCER_DB_LOCATION'),
55
- didCacheDbLocation: envStr('PDS_DID_CACHE_DB_LOCATION'),
56
-
57
- // actor store
58
- actorStoreDirectory: envStr('PDS_ACTOR_STORE_DIRECTORY'),
59
- actorStoreCacheSize: envInt('PDS_ACTOR_STORE_CACHE_SIZE'),
60
-
61
- // blobstore: one required
62
- // s3
63
- blobstoreS3Bucket: envStr('PDS_BLOBSTORE_S3_BUCKET'),
64
- blobstoreS3Region: envStr('PDS_BLOBSTORE_S3_REGION'),
65
- blobstoreS3Endpoint: envStr('PDS_BLOBSTORE_S3_ENDPOINT'),
66
- blobstoreS3ForcePathStyle: envBool('PDS_BLOBSTORE_S3_FORCE_PATH_STYLE'),
67
- blobstoreS3AccessKeyId: envStr('PDS_BLOBSTORE_S3_ACCESS_KEY_ID'),
68
- blobstoreS3SecretAccessKey: envStr('PDS_BLOBSTORE_S3_SECRET_ACCESS_KEY'),
69
- blobstoreS3UploadTimeoutMs: envInt('PDS_BLOBSTORE_S3_UPLOAD_TIMEOUT_MS'),
70
- // disk
71
- blobstoreDiskLocation: envStr('PDS_BLOBSTORE_DISK_LOCATION'),
72
- blobstoreDiskTmpLocation: envStr('PDS_BLOBSTORE_DISK_TMP_LOCATION'),
73
-
74
- // identity
75
- didPlcUrl: envStr('PDS_DID_PLC_URL'),
76
- didCacheStaleTTL: envInt('PDS_DID_CACHE_STALE_TTL'),
77
- didCacheMaxTTL: envInt('PDS_DID_CACHE_MAX_TTL'),
78
- resolverTimeout: envInt('PDS_ID_RESOLVER_TIMEOUT'),
79
- recoveryDidKey: envStr('PDS_RECOVERY_DID_KEY'),
80
- serviceHandleDomains: envList('PDS_SERVICE_HANDLE_DOMAINS'), // public hostname by default
81
- handleBackupNameservers: envList('PDS_HANDLE_BACKUP_NAMESERVERS'),
82
- enableDidDocWithSession: envBool('PDS_ENABLE_DID_DOC_WITH_SESSION'),
83
-
84
- // entryway
85
- entrywayUrl: envStr('PDS_ENTRYWAY_URL'),
86
- entrywayDid: envStr('PDS_ENTRYWAY_DID'),
87
- entrywayJwtVerifyKeyK256PublicKeyHex: envStr(
88
- 'PDS_ENTRYWAY_JWT_VERIFY_KEY_K256_PUBLIC_KEY_HEX',
89
- ),
90
- entrywayPlcRotationKey: envStr('PDS_ENTRYWAY_PLC_ROTATION_KEY'),
91
-
92
- // invites
93
- inviteRequired: envBool('PDS_INVITE_REQUIRED'),
94
- inviteInterval: envInt('PDS_INVITE_INTERVAL'),
95
- inviteEpoch: envInt('PDS_INVITE_EPOCH'),
96
-
97
- // email
98
- emailSmtpUrl: envStr('PDS_EMAIL_SMTP_URL'),
99
- emailFromAddress: envStr('PDS_EMAIL_FROM_ADDRESS'),
100
- emailDisableConfirmationLink: envBool(
101
- 'PDS_EMAIL_DISABLE_CONFIRMATION_LINK',
102
- ),
103
- moderationEmailSmtpUrl: envStr('PDS_MODERATION_EMAIL_SMTP_URL'),
104
- moderationEmailAddress: envStr('PDS_MODERATION_EMAIL_ADDRESS'),
105
-
106
- // subscription
107
- maxSubscriptionBuffer: envInt('PDS_MAX_SUBSCRIPTION_BUFFER'),
108
- repoBackfillLimitMs: envInt('PDS_REPO_BACKFILL_LIMIT_MS'),
109
-
110
- // appview
111
- bskyAppViewUrl: envStr('PDS_BSKY_APP_VIEW_URL'),
112
- bskyAppViewDid: envStr('PDS_BSKY_APP_VIEW_DID'),
113
- bskyAppViewCdnUrlPattern: envStr('PDS_BSKY_APP_VIEW_CDN_URL_PATTERN'),
114
-
115
- // mod service
116
- modServiceUrl: envStr('PDS_MOD_SERVICE_URL'),
117
- modServiceDid: envStr('PDS_MOD_SERVICE_DID'),
118
-
119
- // report service
120
- reportServiceUrl: envStr('PDS_REPORT_SERVICE_URL'),
121
- reportServiceDid: envStr('PDS_REPORT_SERVICE_DID'),
122
-
123
- // rate limits
124
- rateLimitsEnabled: envBool('PDS_RATE_LIMITS_ENABLED'),
125
- rateLimitBypassKey: envStr('PDS_RATE_LIMIT_BYPASS_KEY'),
126
- rateLimitBypassIps: envList('PDS_RATE_LIMIT_BYPASS_IPS'),
127
-
128
- // redis
129
- redisScratchAddress: envStr('PDS_REDIS_SCRATCH_ADDRESS'),
130
- redisScratchPassword: envStr('PDS_REDIS_SCRATCH_PASSWORD'),
131
-
132
- // crawlers
133
- crawlers: envList('PDS_CRAWLERS'),
134
-
135
- // secrets
136
- dpopSecret: envStr('PDS_DPOP_SECRET'),
137
- jwtSecret: envStr('PDS_JWT_SECRET'),
138
- adminPassword: envStr('PDS_ADMIN_PASSWORD'),
139
- entrywayAdminToken: envStr('PDS_ENTRYWAY_ADMIN_TOKEN'),
140
-
141
- // kms
142
- plcRotationKeyKmsKeyId: envStr('PDS_PLC_ROTATION_KEY_KMS_KEY_ID'),
143
- // memory
144
- plcRotationKeyK256PrivateKeyHex: envStr(
145
- 'PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX',
146
- ),
147
-
148
- // user provided url http requests
149
- disableSsrfProtection: envBool('PDS_DISABLE_SSRF_PROTECTION'),
150
-
151
- // fetch
152
- fetchMaxResponseSize: envInt('PDS_FETCH_MAX_RESPONSE_SIZE'),
153
-
154
- // proxy
155
- proxyAllowHTTP2: envBool('PDS_PROXY_ALLOW_HTTP2'),
156
- proxyHeadersTimeout: envInt('PDS_PROXY_HEADERS_TIMEOUT'),
157
- proxyBodyTimeout: envInt('PDS_PROXY_BODY_TIMEOUT'),
158
- proxyMaxResponseSize: envInt('PDS_PROXY_MAX_RESPONSE_SIZE'),
159
- proxyMaxRetries: envInt('PDS_PROXY_MAX_RETRIES'),
160
- proxyPreferCompressed: envBool('PDS_PROXY_PREFER_COMPRESSED'),
161
-
162
- // lexicon resolution
163
- lexiconDidAuthority: envStr('PDS_LEXICON_AUTHORITY_DID'),
164
- }
165
- }
166
-
167
- export type ServerEnvironment = Partial<ReturnType<typeof readEnv>>
@@ -1,3 +0,0 @@
1
- export * from './config.js'
2
- export * from './env.js'
3
- export * from './secrets.js'
@@ -1,54 +0,0 @@
1
- import { ServerEnvironment } from './env.js'
2
-
3
- export const envToSecrets = (env: ServerEnvironment): ServerSecrets => {
4
- let plcRotationKey: ServerSecrets['plcRotationKey']
5
- if (env.plcRotationKeyKmsKeyId && env.plcRotationKeyK256PrivateKeyHex) {
6
- throw new Error('Cannot set both kms & memory keys for plc rotation key')
7
- } else if (env.plcRotationKeyKmsKeyId) {
8
- plcRotationKey = {
9
- provider: 'kms',
10
- keyId: env.plcRotationKeyKmsKeyId,
11
- }
12
- } else if (env.plcRotationKeyK256PrivateKeyHex) {
13
- plcRotationKey = {
14
- provider: 'memory',
15
- privateKeyHex: env.plcRotationKeyK256PrivateKeyHex,
16
- }
17
- } else {
18
- throw new Error('Must configure plc rotation key')
19
- }
20
-
21
- if (!env.jwtSecret) {
22
- throw new Error('Must provide a JWT secret')
23
- }
24
-
25
- if (!env.adminPassword) {
26
- throw new Error('Must provide an admin password')
27
- }
28
-
29
- return {
30
- dpopSecret: env.dpopSecret,
31
- jwtSecret: env.jwtSecret,
32
- adminPassword: env.adminPassword,
33
- plcRotationKey,
34
- entrywayAdminToken: env.entrywayAdminToken ?? env.adminPassword,
35
- }
36
- }
37
-
38
- export type ServerSecrets = {
39
- dpopSecret?: string
40
- jwtSecret: string
41
- adminPassword: string
42
- plcRotationKey: SigningKeyKms | SigningKeyMemory
43
- entrywayAdminToken?: string
44
- }
45
-
46
- export type SigningKeyKms = {
47
- provider: 'kms'
48
- keyId: string
49
- }
50
-
51
- export type SigningKeyMemory = {
52
- provider: 'memory'
53
- privateKeyHex: string
54
- }