@de-otio/trellis 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1249) hide show
  1. package/LICENSE +661 -0
  2. package/dist/db.js +10 -18
  3. package/dist/db.js.map +1 -1
  4. package/dist/env.d.ts +66 -6
  5. package/dist/env.d.ts.map +1 -1
  6. package/dist/env.js +89 -70
  7. package/dist/env.js.map +1 -1
  8. package/dist/extensions.js +3 -8
  9. package/dist/extensions.js.map +1 -1
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -9
  13. package/dist/index.js.map +1 -1
  14. package/dist/lambda/cleanup-cron.d.ts.map +1 -1
  15. package/dist/lambda/cleanup-cron.js +20 -24
  16. package/dist/lambda/cleanup-cron.js.map +1 -1
  17. package/dist/lambda/create-auth-challenge.d.ts.map +1 -1
  18. package/dist/lambda/create-auth-challenge.js +17 -19
  19. package/dist/lambda/create-auth-challenge.js.map +1 -1
  20. package/dist/lambda/custom-message.js +1 -5
  21. package/dist/lambda/custom-message.js.map +1 -1
  22. package/dist/lambda/define-auth-challenge.js +1 -5
  23. package/dist/lambda/define-auth-challenge.js.map +1 -1
  24. package/dist/lambda/delete-account-worker.d.ts.map +1 -1
  25. package/dist/lambda/delete-account-worker.js +25 -58
  26. package/dist/lambda/delete-account-worker.js.map +1 -1
  27. package/dist/lambda/diagnostics-proxy.d.ts.map +1 -1
  28. package/dist/lambda/diagnostics-proxy.js +14 -49
  29. package/dist/lambda/diagnostics-proxy.js.map +1 -1
  30. package/dist/lambda/e2e-sweeper.d.ts.map +1 -1
  31. package/dist/lambda/e2e-sweeper.js +30 -38
  32. package/dist/lambda/e2e-sweeper.js.map +1 -1
  33. package/dist/lambda/federation-outbox-worker.d.ts.map +1 -1
  34. package/dist/lambda/federation-outbox-worker.js +4 -6
  35. package/dist/lambda/federation-outbox-worker.js.map +1 -1
  36. package/dist/lambda/followers-events-worker.d.ts.map +1 -1
  37. package/dist/lambda/followers-events-worker.js +4 -6
  38. package/dist/lambda/followers-events-worker.js.map +1 -1
  39. package/dist/lambda/hourly-cron.d.ts.map +1 -1
  40. package/dist/lambda/hourly-cron.js +100 -32
  41. package/dist/lambda/hourly-cron.js.map +1 -1
  42. package/dist/lambda/link-check-worker.d.ts.map +1 -1
  43. package/dist/lambda/link-check-worker.js +4 -6
  44. package/dist/lambda/link-check-worker.js.map +1 -1
  45. package/dist/lambda/maintenance-cron.d.ts.map +1 -1
  46. package/dist/lambda/maintenance-cron.js +30 -63
  47. package/dist/lambda/maintenance-cron.js.map +1 -1
  48. package/dist/lambda/media-processing-worker.d.ts.map +1 -1
  49. package/dist/lambda/media-processing-worker.js +11 -46
  50. package/dist/lambda/media-processing-worker.js.map +1 -1
  51. package/dist/lambda/media-reconciliation-worker.d.ts.map +1 -1
  52. package/dist/lambda/media-reconciliation-worker.js +4 -6
  53. package/dist/lambda/media-reconciliation-worker.js.map +1 -1
  54. package/dist/lambda/nightly-cron.d.ts.map +1 -1
  55. package/dist/lambda/nightly-cron.js +67 -112
  56. package/dist/lambda/nightly-cron.js.map +1 -1
  57. package/dist/lambda/post-confirmation.d.ts.map +1 -1
  58. package/dist/lambda/post-confirmation.js +147 -45
  59. package/dist/lambda/post-confirmation.js.map +1 -1
  60. package/dist/lambda/pre-signup.js +7 -11
  61. package/dist/lambda/pre-signup.js.map +1 -1
  62. package/dist/lambda/pre-token-generation.d.ts.map +1 -1
  63. package/dist/lambda/pre-token-generation.js +27 -35
  64. package/dist/lambda/pre-token-generation.js.map +1 -1
  65. package/dist/lambda/tools/check-health.js +1 -5
  66. package/dist/lambda/tools/check-health.js.map +1 -1
  67. package/dist/lambda/tools/describe-services.js +4 -8
  68. package/dist/lambda/tools/describe-services.js.map +1 -1
  69. package/dist/lambda/tools/get-cost-report.js +4 -8
  70. package/dist/lambda/tools/get-cost-report.js.map +1 -1
  71. package/dist/lambda/tools/get-errors.js +5 -9
  72. package/dist/lambda/tools/get-errors.js.map +1 -1
  73. package/dist/lambda/tools/get-feature-flags.js +4 -8
  74. package/dist/lambda/tools/get-feature-flags.js.map +1 -1
  75. package/dist/lambda/tools/get-queue-status.js +5 -9
  76. package/dist/lambda/tools/get-queue-status.js.map +1 -1
  77. package/dist/lambda/tools/search-logs.js +5 -9
  78. package/dist/lambda/tools/search-logs.js.map +1 -1
  79. package/dist/lambda/tools/send-alert.js +4 -8
  80. package/dist/lambda/tools/send-alert.js.map +1 -1
  81. package/dist/lambda/verify-auth-challenge.d.ts.map +1 -1
  82. package/dist/lambda/verify-auth-challenge.js +10 -12
  83. package/dist/lambda/verify-auth-challenge.js.map +1 -1
  84. package/dist/lib/abuse-metrics.d.ts.map +1 -1
  85. package/dist/lib/abuse-metrics.js +10 -13
  86. package/dist/lib/abuse-metrics.js.map +1 -1
  87. package/dist/lib/activitypub/activity-processor.d.ts +1 -1
  88. package/dist/lib/activitypub/activity-processor.d.ts.map +1 -1
  89. package/dist/lib/activitypub/activity-processor.js +9 -43
  90. package/dist/lib/activitypub/activity-processor.js.map +1 -1
  91. package/dist/lib/activitypub/activity-service.js +1 -5
  92. package/dist/lib/activitypub/activity-service.js.map +1 -1
  93. package/dist/lib/activitypub/actor.d.ts +1 -1
  94. package/dist/lib/activitypub/actor.d.ts.map +1 -1
  95. package/dist/lib/activitypub/actor.js +1 -5
  96. package/dist/lib/activitypub/actor.js.map +1 -1
  97. package/dist/lib/activitypub/audience-service.d.ts +2 -2
  98. package/dist/lib/activitypub/audience-service.d.ts.map +1 -1
  99. package/dist/lib/activitypub/audience-service.js +8 -12
  100. package/dist/lib/activitypub/audience-service.js.map +1 -1
  101. package/dist/lib/activitypub/crypto.d.ts +1 -1
  102. package/dist/lib/activitypub/crypto.d.ts.map +1 -1
  103. package/dist/lib/activitypub/crypto.js +3 -41
  104. package/dist/lib/activitypub/crypto.js.map +1 -1
  105. package/dist/lib/activitypub/delivery-service.d.ts +5 -5
  106. package/dist/lib/activitypub/delivery-service.d.ts.map +1 -1
  107. package/dist/lib/activitypub/delivery-service.js +10 -47
  108. package/dist/lib/activitypub/delivery-service.js.map +1 -1
  109. package/dist/lib/activitypub/dispatchers/entity-actor.d.ts +3 -2
  110. package/dist/lib/activitypub/dispatchers/entity-actor.d.ts.map +1 -1
  111. package/dist/lib/activitypub/dispatchers/entity-actor.js +19 -23
  112. package/dist/lib/activitypub/dispatchers/entity-actor.js.map +1 -1
  113. package/dist/lib/activitypub/dispatchers/group-actor.d.ts +3 -2
  114. package/dist/lib/activitypub/dispatchers/group-actor.d.ts.map +1 -1
  115. package/dist/lib/activitypub/dispatchers/group-actor.js +19 -23
  116. package/dist/lib/activitypub/dispatchers/group-actor.js.map +1 -1
  117. package/dist/lib/activitypub/dispatchers/user-actor.d.ts +3 -2
  118. package/dist/lib/activitypub/dispatchers/user-actor.d.ts.map +1 -1
  119. package/dist/lib/activitypub/dispatchers/user-actor.js +16 -20
  120. package/dist/lib/activitypub/dispatchers/user-actor.js.map +1 -1
  121. package/dist/lib/activitypub/dm-service.js +1 -5
  122. package/dist/lib/activitypub/dm-service.js.map +1 -1
  123. package/dist/lib/activitypub/entity-profile-service.d.ts +1 -1
  124. package/dist/lib/activitypub/entity-profile-service.d.ts.map +1 -1
  125. package/dist/lib/activitypub/entity-profile-service.js +6 -10
  126. package/dist/lib/activitypub/entity-profile-service.js.map +1 -1
  127. package/dist/lib/activitypub/fedify/config.d.ts +3 -3
  128. package/dist/lib/activitypub/fedify/config.d.ts.map +1 -1
  129. package/dist/lib/activitypub/fedify/config.js +5 -8
  130. package/dist/lib/activitypub/fedify/config.js.map +1 -1
  131. package/dist/lib/activitypub/fedify/context.d.ts +1 -1
  132. package/dist/lib/activitypub/fedify/context.d.ts.map +1 -1
  133. package/dist/lib/activitypub/fedify/context.js +8 -12
  134. package/dist/lib/activitypub/fedify/context.js.map +1 -1
  135. package/dist/lib/activitypub/fedify/runtime.d.ts +1 -1
  136. package/dist/lib/activitypub/fedify/runtime.d.ts.map +1 -1
  137. package/dist/lib/activitypub/fedify/runtime.js +3 -6
  138. package/dist/lib/activitypub/fedify/runtime.js.map +1 -1
  139. package/dist/lib/activitypub/friendship-service.js +1 -5
  140. package/dist/lib/activitypub/friendship-service.js.map +1 -1
  141. package/dist/lib/activitypub/group-service.d.ts +1 -1
  142. package/dist/lib/activitypub/group-service.d.ts.map +1 -1
  143. package/dist/lib/activitypub/group-service.js +9 -46
  144. package/dist/lib/activitypub/group-service.js.map +1 -1
  145. package/dist/lib/activitypub/http-signatures.js +8 -45
  146. package/dist/lib/activitypub/http-signatures.js.map +1 -1
  147. package/dist/lib/activitypub/jsonld.d.ts +1 -1
  148. package/dist/lib/activitypub/jsonld.d.ts.map +1 -1
  149. package/dist/lib/activitypub/jsonld.js +1 -5
  150. package/dist/lib/activitypub/jsonld.js.map +1 -1
  151. package/dist/lib/activitypub/listeners/friends-collection.d.ts +1 -1
  152. package/dist/lib/activitypub/listeners/friends-collection.d.ts.map +1 -1
  153. package/dist/lib/activitypub/listeners/friends-collection.js +17 -20
  154. package/dist/lib/activitypub/listeners/friends-collection.js.map +1 -1
  155. package/dist/lib/activitypub/listeners/http-signatures.d.ts +1 -1
  156. package/dist/lib/activitypub/listeners/http-signatures.d.ts.map +1 -1
  157. package/dist/lib/activitypub/listeners/http-signatures.js +9 -46
  158. package/dist/lib/activitypub/listeners/http-signatures.js.map +1 -1
  159. package/dist/lib/activitypub/listeners/inbox.d.ts +2 -2
  160. package/dist/lib/activitypub/listeners/inbox.d.ts.map +1 -1
  161. package/dist/lib/activitypub/listeners/inbox.js +31 -35
  162. package/dist/lib/activitypub/listeners/inbox.js.map +1 -1
  163. package/dist/lib/activitypub/listeners/outbox.d.ts +1 -1
  164. package/dist/lib/activitypub/listeners/outbox.d.ts.map +1 -1
  165. package/dist/lib/activitypub/listeners/outbox.js +17 -20
  166. package/dist/lib/activitypub/listeners/outbox.js.map +1 -1
  167. package/dist/lib/activitypub/remote-fetch-service.d.ts +6 -6
  168. package/dist/lib/activitypub/remote-fetch-service.d.ts.map +1 -1
  169. package/dist/lib/activitypub/remote-fetch-service.js +6 -10
  170. package/dist/lib/activitypub/remote-fetch-service.js.map +1 -1
  171. package/dist/lib/activitypub/services/abuse-prevention.d.ts +1 -1
  172. package/dist/lib/activitypub/services/abuse-prevention.d.ts.map +1 -1
  173. package/dist/lib/activitypub/services/abuse-prevention.js +11 -17
  174. package/dist/lib/activitypub/services/abuse-prevention.js.map +1 -1
  175. package/dist/lib/activitypub/services/dm-service-fedify.d.ts +4 -4
  176. package/dist/lib/activitypub/services/dm-service-fedify.d.ts.map +1 -1
  177. package/dist/lib/activitypub/services/dm-service-fedify.js +24 -59
  178. package/dist/lib/activitypub/services/dm-service-fedify.js.map +1 -1
  179. package/dist/lib/activitypub/services/fedify-converters.d.ts +2 -2
  180. package/dist/lib/activitypub/services/fedify-converters.d.ts.map +1 -1
  181. package/dist/lib/activitypub/services/fedify-converters.js +3 -8
  182. package/dist/lib/activitypub/services/fedify-converters.js.map +1 -1
  183. package/dist/lib/activitypub/services/fedify-delivery.d.ts +2 -2
  184. package/dist/lib/activitypub/services/fedify-delivery.d.ts.map +1 -1
  185. package/dist/lib/activitypub/services/fedify-delivery.js +19 -56
  186. package/dist/lib/activitypub/services/fedify-delivery.js.map +1 -1
  187. package/dist/lib/activitypub/services/follow-activity-service.d.ts +2 -2
  188. package/dist/lib/activitypub/services/follow-activity-service.d.ts.map +1 -1
  189. package/dist/lib/activitypub/services/follow-activity-service.js +8 -12
  190. package/dist/lib/activitypub/services/follow-activity-service.js.map +1 -1
  191. package/dist/lib/activitypub/services/post-service-fedify.d.ts +2 -2
  192. package/dist/lib/activitypub/services/post-service-fedify.d.ts.map +1 -1
  193. package/dist/lib/activitypub/services/post-service-fedify.js +33 -65
  194. package/dist/lib/activitypub/services/post-service-fedify.js.map +1 -1
  195. package/dist/lib/activitypub/services/remote-activity-handler.d.ts +2 -2
  196. package/dist/lib/activitypub/services/remote-activity-handler.d.ts.map +1 -1
  197. package/dist/lib/activitypub/services/remote-activity-handler.js +25 -28
  198. package/dist/lib/activitypub/services/remote-activity-handler.js.map +1 -1
  199. package/dist/lib/activitypub/standalone-mode.d.ts +1 -1
  200. package/dist/lib/activitypub/standalone-mode.d.ts.map +1 -1
  201. package/dist/lib/activitypub/standalone-mode.js +13 -50
  202. package/dist/lib/activitypub/standalone-mode.js.map +1 -1
  203. package/dist/lib/activitypub/webfinger/server.d.ts +1 -1
  204. package/dist/lib/activitypub/webfinger/server.d.ts.map +1 -1
  205. package/dist/lib/activitypub/webfinger/server.js +18 -54
  206. package/dist/lib/activitypub/webfinger/server.js.map +1 -1
  207. package/dist/lib/age-gate-middleware.d.ts +4 -4
  208. package/dist/lib/age-gate-middleware.d.ts.map +1 -1
  209. package/dist/lib/age-gate-middleware.js +3 -6
  210. package/dist/lib/age-gate-middleware.js.map +1 -1
  211. package/dist/lib/age-gate.js +3 -8
  212. package/dist/lib/age-gate.js.map +1 -1
  213. package/dist/lib/age-tier-transition.d.ts +1 -1
  214. package/dist/lib/age-tier-transition.d.ts.map +1 -1
  215. package/dist/lib/age-tier-transition.js +7 -44
  216. package/dist/lib/age-tier-transition.js.map +1 -1
  217. package/dist/lib/app.d.ts +76 -0
  218. package/dist/lib/app.d.ts.map +1 -0
  219. package/dist/lib/app.js +400 -0
  220. package/dist/lib/app.js.map +1 -0
  221. package/dist/lib/audit/csv-export.js +6 -13
  222. package/dist/lib/audit/csv-export.js.map +1 -1
  223. package/dist/lib/audit/pii-filter.d.ts +9 -0
  224. package/dist/lib/audit/pii-filter.d.ts.map +1 -1
  225. package/dist/lib/audit/pii-filter.js +57 -7
  226. package/dist/lib/audit/pii-filter.js.map +1 -1
  227. package/dist/lib/audit-actions.d.ts +94 -0
  228. package/dist/lib/audit-actions.d.ts.map +1 -0
  229. package/dist/lib/audit-actions.js +107 -0
  230. package/dist/lib/audit-actions.js.map +1 -0
  231. package/dist/lib/audit-composer.d.ts +174 -0
  232. package/dist/lib/audit-composer.d.ts.map +1 -0
  233. package/dist/lib/audit-composer.js +421 -0
  234. package/dist/lib/audit-composer.js.map +1 -0
  235. package/dist/lib/auth/auth-context.d.ts +1 -1
  236. package/dist/lib/auth/auth-context.js +1 -2
  237. package/dist/lib/auth/auth-context.js.map +1 -1
  238. package/dist/lib/auth/auth-middleware.d.ts +16 -2
  239. package/dist/lib/auth/auth-middleware.d.ts.map +1 -1
  240. package/dist/lib/auth/auth-middleware.js +36 -45
  241. package/dist/lib/auth/auth-middleware.js.map +1 -1
  242. package/dist/lib/auth/capabilities.js +2 -5
  243. package/dist/lib/auth/capabilities.js.map +1 -1
  244. package/dist/lib/auth/claims-cache.d.ts +2 -2
  245. package/dist/lib/auth/claims-cache.js +19 -24
  246. package/dist/lib/auth/claims-cache.js.map +1 -1
  247. package/dist/lib/auth/cognito-jwt.d.ts +20 -2
  248. package/dist/lib/auth/cognito-jwt.d.ts.map +1 -1
  249. package/dist/lib/auth/cognito-jwt.js +83 -23
  250. package/dist/lib/auth/cognito-jwt.js.map +1 -1
  251. package/dist/lib/auth/idp-redirect-builder.d.ts +1 -1
  252. package/dist/lib/auth/idp-redirect-builder.d.ts.map +1 -1
  253. package/dist/lib/auth/idp-redirect-builder.js +4 -10
  254. package/dist/lib/auth/idp-redirect-builder.js.map +1 -1
  255. package/dist/lib/auth/require.d.ts +4 -4
  256. package/dist/lib/auth/require.d.ts.map +1 -1
  257. package/dist/lib/auth/require.js +11 -18
  258. package/dist/lib/auth/require.js.map +1 -1
  259. package/dist/lib/auth/role-grants.d.ts +1 -1
  260. package/dist/lib/auth/role-grants.d.ts.map +1 -1
  261. package/dist/lib/auth/role-grants.js +28 -31
  262. package/dist/lib/auth/role-grants.js.map +1 -1
  263. package/dist/lib/auth-context-manager.js +1 -5
  264. package/dist/lib/auth-context-manager.js.map +1 -1
  265. package/dist/lib/auth-handler.d.ts +5 -5
  266. package/dist/lib/auth-handler.d.ts.map +1 -1
  267. package/dist/lib/auth-handler.js +5 -9
  268. package/dist/lib/auth-handler.js.map +1 -1
  269. package/dist/lib/badge-handler.d.ts +1 -1
  270. package/dist/lib/badge-handler.d.ts.map +1 -1
  271. package/dist/lib/badge-handler.js +14 -52
  272. package/dist/lib/badge-handler.js.map +1 -1
  273. package/dist/lib/circle-handler.d.ts +10 -10
  274. package/dist/lib/circle-handler.d.ts.map +1 -1
  275. package/dist/lib/circle-handler.js +10 -47
  276. package/dist/lib/circle-handler.js.map +1 -1
  277. package/dist/lib/cognito/idp-sdk.js +11 -18
  278. package/dist/lib/cognito/idp-sdk.js.map +1 -1
  279. package/dist/lib/cognito/issuer-probe.js +9 -14
  280. package/dist/lib/cognito/issuer-probe.js.map +1 -1
  281. package/dist/lib/comment-handler.d.ts +10 -10
  282. package/dist/lib/comment-handler.d.ts.map +1 -1
  283. package/dist/lib/comment-handler.js +61 -97
  284. package/dist/lib/comment-handler.js.map +1 -1
  285. package/dist/lib/compliance/baseline.d.ts +2 -2
  286. package/dist/lib/compliance/baseline.d.ts.map +1 -1
  287. package/dist/lib/compliance/baseline.js +15 -18
  288. package/dist/lib/compliance/baseline.js.map +1 -1
  289. package/dist/lib/compliance/tenant-merge.d.ts +1 -1
  290. package/dist/lib/compliance/tenant-merge.d.ts.map +1 -1
  291. package/dist/lib/compliance/tenant-merge.js +1 -4
  292. package/dist/lib/compliance/tenant-merge.js.map +1 -1
  293. package/dist/lib/compliance/types.d.ts +1 -1
  294. package/dist/lib/compliance/types.js +2 -3
  295. package/dist/lib/compliance/types.js.map +1 -1
  296. package/dist/lib/connection-code-handler.d.ts +7 -7
  297. package/dist/lib/connection-code-handler.d.ts.map +1 -1
  298. package/dist/lib/connection-code-handler.js +13 -50
  299. package/dist/lib/connection-code-handler.js.map +1 -1
  300. package/dist/lib/content-discovery.d.ts +1 -1
  301. package/dist/lib/content-discovery.d.ts.map +1 -1
  302. package/dist/lib/content-discovery.js +15 -52
  303. package/dist/lib/content-discovery.js.map +1 -1
  304. package/dist/lib/context-aware-data-access.d.ts +1 -1
  305. package/dist/lib/context-aware-data-access.d.ts.map +1 -1
  306. package/dist/lib/context-aware-data-access.js +1 -5
  307. package/dist/lib/context-aware-data-access.js.map +1 -1
  308. package/dist/lib/cors-handler.d.ts +1 -1
  309. package/dist/lib/cors-handler.d.ts.map +1 -1
  310. package/dist/lib/cors-handler.js +13 -17
  311. package/dist/lib/cors-handler.js.map +1 -1
  312. package/dist/lib/cost-accumulator.d.ts.map +1 -1
  313. package/dist/lib/cost-accumulator.js +7 -11
  314. package/dist/lib/cost-accumulator.js.map +1 -1
  315. package/dist/lib/crypto/voting/elgamal-encryption.js +1 -5
  316. package/dist/lib/crypto/voting/elgamal-encryption.js.map +1 -1
  317. package/dist/lib/crypto/voting/encryption-scheme.js +1 -2
  318. package/dist/lib/crypto/voting/encryption-scheme.js.map +1 -1
  319. package/dist/lib/crypto/voting/hash-utils.js +6 -12
  320. package/dist/lib/crypto/voting/hash-utils.js.map +1 -1
  321. package/dist/lib/crypto/voting/hybrid-encryption.js +5 -9
  322. package/dist/lib/crypto/voting/hybrid-encryption.js.map +1 -1
  323. package/dist/lib/crypto/voting/index.js +4 -14
  324. package/dist/lib/crypto/voting/index.js.map +1 -1
  325. package/dist/lib/crypto/voting/post-quantum-encryption.js +1 -5
  326. package/dist/lib/crypto/voting/post-quantum-encryption.js.map +1 -1
  327. package/dist/lib/csrf.d.ts +2 -2
  328. package/dist/lib/csrf.d.ts.map +1 -1
  329. package/dist/lib/csrf.js +1 -5
  330. package/dist/lib/csrf.js.map +1 -1
  331. package/dist/lib/data-router.d.ts +5 -4
  332. package/dist/lib/data-router.d.ts.map +1 -1
  333. package/dist/lib/data-router.js +60 -90
  334. package/dist/lib/data-router.js.map +1 -1
  335. package/dist/lib/database-circuit-breaker.d.ts +61 -34
  336. package/dist/lib/database-circuit-breaker.d.ts.map +1 -1
  337. package/dist/lib/database-circuit-breaker.js +102 -109
  338. package/dist/lib/database-circuit-breaker.js.map +1 -1
  339. package/dist/lib/database-config.js +1 -4
  340. package/dist/lib/database-config.js.map +1 -1
  341. package/dist/lib/database-connection-manager.d.ts +42 -2
  342. package/dist/lib/database-connection-manager.d.ts.map +1 -1
  343. package/dist/lib/database-connection-manager.js +178 -74
  344. package/dist/lib/database-connection-manager.js.map +1 -1
  345. package/dist/lib/database-monitor.d.ts +1 -1
  346. package/dist/lib/database-monitor.d.ts.map +1 -1
  347. package/dist/lib/database-monitor.js +5 -9
  348. package/dist/lib/database-monitor.js.map +1 -1
  349. package/dist/lib/database-rate-limiter.d.ts +1 -1
  350. package/dist/lib/database-rate-limiter.d.ts.map +1 -1
  351. package/dist/lib/database-rate-limiter.js +3 -7
  352. package/dist/lib/database-rate-limiter.js.map +1 -1
  353. package/dist/lib/database-wrapper-helper.d.ts +2 -2
  354. package/dist/lib/database-wrapper-helper.d.ts.map +1 -1
  355. package/dist/lib/database-wrapper-helper.js +7 -11
  356. package/dist/lib/database-wrapper-helper.js.map +1 -1
  357. package/dist/lib/database-wrapper.d.ts +1 -1
  358. package/dist/lib/database-wrapper.d.ts.map +1 -1
  359. package/dist/lib/database-wrapper.js +5 -9
  360. package/dist/lib/database-wrapper.js.map +1 -1
  361. package/dist/lib/db-query-helper.d.ts +3 -3
  362. package/dist/lib/db-query-helper.d.ts.map +1 -1
  363. package/dist/lib/db-query-helper.js +4 -9
  364. package/dist/lib/db-query-helper.js.map +1 -1
  365. package/dist/lib/discovery-exposure.d.ts +42 -0
  366. package/dist/lib/discovery-exposure.d.ts.map +1 -0
  367. package/dist/lib/discovery-exposure.js +89 -0
  368. package/dist/lib/discovery-exposure.js.map +1 -0
  369. package/dist/lib/discovery-handler.d.ts +6 -6
  370. package/dist/lib/discovery-handler.d.ts.map +1 -1
  371. package/dist/lib/discovery-handler.js +10 -43
  372. package/dist/lib/discovery-handler.js.map +1 -1
  373. package/dist/lib/domain-reputation-service.d.ts +1 -1
  374. package/dist/lib/domain-reputation-service.d.ts.map +1 -1
  375. package/dist/lib/domain-reputation-service.js +12 -15
  376. package/dist/lib/domain-reputation-service.js.map +1 -1
  377. package/dist/lib/email-privacy.js +4 -8
  378. package/dist/lib/email-privacy.js.map +1 -1
  379. package/dist/lib/email-provider.d.ts +2 -2
  380. package/dist/lib/email-provider.d.ts.map +1 -1
  381. package/dist/lib/email-provider.js +8 -16
  382. package/dist/lib/email-provider.js.map +1 -1
  383. package/dist/lib/entity-handler.d.ts +5 -6
  384. package/dist/lib/entity-handler.d.ts.map +1 -1
  385. package/dist/lib/entity-handler.js +45 -80
  386. package/dist/lib/entity-handler.js.map +1 -1
  387. package/dist/lib/entity-relationship-handler.d.ts +9 -9
  388. package/dist/lib/entity-relationship-handler.d.ts.map +1 -1
  389. package/dist/lib/entity-relationship-handler.js +14 -51
  390. package/dist/lib/entity-relationship-handler.js.map +1 -1
  391. package/dist/lib/entity-tagging-errors.js +4 -11
  392. package/dist/lib/entity-tagging-errors.js.map +1 -1
  393. package/dist/lib/entity-tagging-validator.d.ts +3 -3
  394. package/dist/lib/entity-tagging-validator.d.ts.map +1 -1
  395. package/dist/lib/entity-tagging-validator.js +6 -11
  396. package/dist/lib/entity-tagging-validator.js.map +1 -1
  397. package/dist/lib/exif-stripper.js +1 -4
  398. package/dist/lib/exif-stripper.js.map +1 -1
  399. package/dist/lib/extension-context.d.ts +2 -2
  400. package/dist/lib/extension-context.d.ts.map +1 -1
  401. package/dist/lib/extension-context.js +1 -4
  402. package/dist/lib/extension-context.js.map +1 -1
  403. package/dist/lib/extension-route-wrapper.d.ts +1 -1
  404. package/dist/lib/extension-route-wrapper.d.ts.map +1 -1
  405. package/dist/lib/extension-route-wrapper.js +17 -55
  406. package/dist/lib/extension-route-wrapper.js.map +1 -1
  407. package/dist/lib/extension-validator.js +3 -6
  408. package/dist/lib/extension-validator.js.map +1 -1
  409. package/dist/lib/feature-flags.d.ts +5 -2
  410. package/dist/lib/feature-flags.d.ts.map +1 -1
  411. package/dist/lib/feature-flags.js +15 -48
  412. package/dist/lib/feature-flags.js.map +1 -1
  413. package/dist/lib/feature-toggle-global-client.d.ts +6 -0
  414. package/dist/lib/feature-toggle-global-client.d.ts.map +1 -0
  415. package/dist/lib/feature-toggle-global-client.js +73 -0
  416. package/dist/lib/feature-toggle-global-client.js.map +1 -0
  417. package/dist/lib/feature-toggle-service.d.ts +137 -27
  418. package/dist/lib/feature-toggle-service.d.ts.map +1 -1
  419. package/dist/lib/feature-toggle-service.js +302 -119
  420. package/dist/lib/feature-toggle-service.js.map +1 -1
  421. package/dist/lib/feed-handler.d.ts +8 -8
  422. package/dist/lib/feed-handler.d.ts.map +1 -1
  423. package/dist/lib/feed-handler.js +33 -62
  424. package/dist/lib/feed-handler.js.map +1 -1
  425. package/dist/lib/feed-pagination.d.ts +26 -0
  426. package/dist/lib/feed-pagination.d.ts.map +1 -1
  427. package/dist/lib/feed-pagination.js +31 -11
  428. package/dist/lib/feed-pagination.js.map +1 -1
  429. package/dist/lib/feed-personalization.d.ts +1 -1
  430. package/dist/lib/feed-personalization.d.ts.map +1 -1
  431. package/dist/lib/feed-personalization.js +6 -43
  432. package/dist/lib/feed-personalization.js.map +1 -1
  433. package/dist/lib/followers-events.js +8 -13
  434. package/dist/lib/followers-events.js.map +1 -1
  435. package/dist/lib/friends-handler.d.ts +2 -2
  436. package/dist/lib/friends-handler.d.ts.map +1 -1
  437. package/dist/lib/friends-handler.js +9 -46
  438. package/dist/lib/friends-handler.js.map +1 -1
  439. package/dist/lib/geo/entity-geo-repository.d.ts +67 -0
  440. package/dist/lib/geo/entity-geo-repository.d.ts.map +1 -0
  441. package/dist/lib/geo/entity-geo-repository.js +91 -0
  442. package/dist/lib/geo/entity-geo-repository.js.map +1 -0
  443. package/dist/lib/graph/errors.d.ts.map +1 -1
  444. package/dist/lib/graph/errors.js +13 -18
  445. package/dist/lib/graph/errors.js.map +1 -1
  446. package/dist/lib/graph/graph-factory.d.ts +12 -53
  447. package/dist/lib/graph/graph-factory.d.ts.map +1 -1
  448. package/dist/lib/graph/graph-factory.js +67 -162
  449. package/dist/lib/graph/graph-factory.js.map +1 -1
  450. package/dist/lib/graph/graph-service.d.ts +1 -1
  451. package/dist/lib/graph/graph-service.d.ts.map +1 -1
  452. package/dist/lib/graph/graph-service.js +1 -2
  453. package/dist/lib/graph/graph-service.js.map +1 -1
  454. package/dist/lib/graph/index.d.ts +10 -14
  455. package/dist/lib/graph/index.d.ts.map +1 -1
  456. package/dist/lib/graph/index.js +12 -46
  457. package/dist/lib/graph/index.js.map +1 -1
  458. package/dist/lib/graph/postgres/_shared.d.ts +18 -0
  459. package/dist/lib/graph/postgres/_shared.d.ts.map +1 -0
  460. package/dist/lib/graph/postgres/_shared.js +24 -0
  461. package/dist/lib/graph/postgres/_shared.js.map +1 -0
  462. package/dist/lib/graph/postgres/circles.d.ts +66 -0
  463. package/dist/lib/graph/postgres/circles.d.ts.map +1 -0
  464. package/dist/lib/graph/postgres/circles.js +513 -0
  465. package/dist/lib/graph/postgres/circles.js.map +1 -0
  466. package/dist/lib/graph/postgres/discovery.d.ts +165 -0
  467. package/dist/lib/graph/postgres/discovery.d.ts.map +1 -0
  468. package/dist/lib/graph/postgres/discovery.js +579 -0
  469. package/dist/lib/graph/postgres/discovery.js.map +1 -0
  470. package/dist/lib/graph/postgres/entity-relationships.d.ts +53 -0
  471. package/dist/lib/graph/postgres/entity-relationships.d.ts.map +1 -0
  472. package/dist/lib/graph/postgres/entity-relationships.js +304 -0
  473. package/dist/lib/graph/postgres/entity-relationships.js.map +1 -0
  474. package/dist/lib/graph/postgres/interaction-events.d.ts +106 -0
  475. package/dist/lib/graph/postgres/interaction-events.d.ts.map +1 -0
  476. package/dist/lib/graph/postgres/interaction-events.js +162 -0
  477. package/dist/lib/graph/postgres/interaction-events.js.map +1 -0
  478. package/dist/lib/graph/postgres/postgres-graph-service.d.ts +74 -0
  479. package/dist/lib/graph/postgres/postgres-graph-service.d.ts.map +1 -0
  480. package/dist/lib/graph/postgres/postgres-graph-service.js +167 -0
  481. package/dist/lib/graph/postgres/postgres-graph-service.js.map +1 -0
  482. package/dist/lib/graph/postgres/relationships.d.ts +58 -0
  483. package/dist/lib/graph/postgres/relationships.d.ts.map +1 -0
  484. package/dist/lib/graph/postgres/relationships.js +314 -0
  485. package/dist/lib/graph/postgres/relationships.js.map +1 -0
  486. package/dist/lib/graph/postgres/scoring.d.ts +74 -0
  487. package/dist/lib/graph/postgres/scoring.d.ts.map +1 -0
  488. package/dist/lib/graph/postgres/scoring.js +297 -0
  489. package/dist/lib/graph/postgres/scoring.js.map +1 -0
  490. package/dist/lib/graph/postgres/sync.d.ts +149 -0
  491. package/dist/lib/graph/postgres/sync.d.ts.map +1 -0
  492. package/dist/lib/graph/postgres/sync.js +269 -0
  493. package/dist/lib/graph/postgres/sync.js.map +1 -0
  494. package/dist/lib/graph/scoring-engine.d.ts +7 -1
  495. package/dist/lib/graph/scoring-engine.d.ts.map +1 -1
  496. package/dist/lib/graph/scoring-engine.js +29 -35
  497. package/dist/lib/graph/scoring-engine.js.map +1 -1
  498. package/dist/lib/graph/types.d.ts +18 -1
  499. package/dist/lib/graph/types.d.ts.map +1 -1
  500. package/dist/lib/graph/types.js +1 -2
  501. package/dist/lib/graph/types.js.map +1 -1
  502. package/dist/lib/hook-dispatcher.d.ts +1 -1
  503. package/dist/lib/hook-dispatcher.d.ts.map +1 -1
  504. package/dist/lib/hook-dispatcher.js +8 -12
  505. package/dist/lib/hook-dispatcher.js.map +1 -1
  506. package/dist/lib/input-sanitizer.js +1 -5
  507. package/dist/lib/input-sanitizer.js.map +1 -1
  508. package/dist/lib/internal-docs-handler.d.ts +2 -2
  509. package/dist/lib/internal-docs-handler.d.ts.map +1 -1
  510. package/dist/lib/internal-docs-handler.js +20 -28
  511. package/dist/lib/internal-docs-handler.js.map +1 -1
  512. package/dist/lib/internal-docs-navigation.js +2 -6
  513. package/dist/lib/internal-docs-navigation.js.map +1 -1
  514. package/dist/lib/invitation-handler.d.ts +2 -2
  515. package/dist/lib/invitation-handler.d.ts.map +1 -1
  516. package/dist/lib/invitation-handler.js +41 -82
  517. package/dist/lib/invitation-handler.js.map +1 -1
  518. package/dist/lib/ip-scrubber.js +3 -8
  519. package/dist/lib/ip-scrubber.js.map +1 -1
  520. package/dist/lib/link-security-handler.d.ts +3 -2
  521. package/dist/lib/link-security-handler.d.ts.map +1 -1
  522. package/dist/lib/link-security-handler.js +8 -44
  523. package/dist/lib/link-security-handler.js.map +1 -1
  524. package/dist/lib/logger.d.ts +31 -82
  525. package/dist/lib/logger.d.ts.map +1 -1
  526. package/dist/lib/logger.js +43 -185
  527. package/dist/lib/logger.js.map +1 -1
  528. package/dist/lib/media-cleanup-handler.d.ts +2 -2
  529. package/dist/lib/media-cleanup-handler.d.ts.map +1 -1
  530. package/dist/lib/media-cleanup-handler.js +7 -11
  531. package/dist/lib/media-cleanup-handler.js.map +1 -1
  532. package/dist/lib/media-handler.d.ts +1 -1
  533. package/dist/lib/media-handler.d.ts.map +1 -1
  534. package/dist/lib/media-handler.js +36 -73
  535. package/dist/lib/media-handler.js.map +1 -1
  536. package/dist/lib/media-metadata-extractor.d.ts +1 -1
  537. package/dist/lib/media-metadata-extractor.d.ts.map +1 -1
  538. package/dist/lib/media-metadata-extractor.js +3 -7
  539. package/dist/lib/media-metadata-extractor.js.map +1 -1
  540. package/dist/lib/media-metrics.d.ts +2 -2
  541. package/dist/lib/media-metrics.d.ts.map +1 -1
  542. package/dist/lib/media-metrics.js +3 -7
  543. package/dist/lib/media-metrics.js.map +1 -1
  544. package/dist/lib/metadata/index.d.ts +5 -5
  545. package/dist/lib/metadata/index.d.ts.map +1 -1
  546. package/dist/lib/metadata/index.js +5 -21
  547. package/dist/lib/metadata/index.js.map +1 -1
  548. package/dist/lib/metadata/metadata-config.js +2 -5
  549. package/dist/lib/metadata/metadata-config.js.map +1 -1
  550. package/dist/lib/metadata/metadata-errors.js +2 -7
  551. package/dist/lib/metadata/metadata-errors.js.map +1 -1
  552. package/dist/lib/metadata/metadata-extractor.d.ts +1 -1
  553. package/dist/lib/metadata/metadata-extractor.d.ts.map +1 -1
  554. package/dist/lib/metadata/metadata-extractor.js +42 -82
  555. package/dist/lib/metadata/metadata-extractor.js.map +1 -1
  556. package/dist/lib/metadata/metadata-sanitizer.js +17 -24
  557. package/dist/lib/metadata/metadata-sanitizer.js.map +1 -1
  558. package/dist/lib/metadata/metadata-schemas.d.ts +16 -100
  559. package/dist/lib/metadata/metadata-schemas.d.ts.map +1 -1
  560. package/dist/lib/metadata/metadata-schemas.js +31 -34
  561. package/dist/lib/metadata/metadata-schemas.js.map +1 -1
  562. package/dist/lib/mfa/mfa-handler.d.ts +1 -1
  563. package/dist/lib/mfa/mfa-handler.d.ts.map +1 -1
  564. package/dist/lib/mfa/mfa-handler.js +13 -17
  565. package/dist/lib/mfa/mfa-handler.js.map +1 -1
  566. package/dist/lib/mfa/totp-service.js +8 -18
  567. package/dist/lib/mfa/totp-service.js.map +1 -1
  568. package/dist/lib/middleware/comment-rate-limit.d.ts +1 -1
  569. package/dist/lib/middleware/comment-rate-limit.d.ts.map +1 -1
  570. package/dist/lib/middleware/comment-rate-limit.js +7 -10
  571. package/dist/lib/middleware/comment-rate-limit.js.map +1 -1
  572. package/dist/lib/middleware/feature-toggle-rate-limit.d.ts +1 -1
  573. package/dist/lib/middleware/feature-toggle-rate-limit.d.ts.map +1 -1
  574. package/dist/lib/middleware/feature-toggle-rate-limit.js +8 -13
  575. package/dist/lib/middleware/feature-toggle-rate-limit.js.map +1 -1
  576. package/dist/lib/middleware/idempotency-store.js +20 -26
  577. package/dist/lib/middleware/idempotency-store.js.map +1 -1
  578. package/dist/lib/middleware/idempotency.d.ts +2 -2
  579. package/dist/lib/middleware/idempotency.d.ts.map +1 -1
  580. package/dist/lib/middleware/idempotency.js +12 -50
  581. package/dist/lib/middleware/idempotency.js.map +1 -1
  582. package/dist/lib/middleware.d.ts +22 -9
  583. package/dist/lib/middleware.d.ts.map +1 -1
  584. package/dist/lib/middleware.js +72 -153
  585. package/dist/lib/middleware.js.map +1 -1
  586. package/dist/lib/moderation-handler.d.ts +1 -1
  587. package/dist/lib/moderation-handler.d.ts.map +1 -1
  588. package/dist/lib/moderation-handler.js +15 -54
  589. package/dist/lib/moderation-handler.js.map +1 -1
  590. package/dist/lib/net/trusted-client-ip.d.ts +8 -30
  591. package/dist/lib/net/trusted-client-ip.d.ts.map +1 -1
  592. package/dist/lib/net/trusted-client-ip.js +13 -94
  593. package/dist/lib/net/trusted-client-ip.js.map +1 -1
  594. package/dist/lib/notification-handler.d.ts +1 -1
  595. package/dist/lib/notification-handler.d.ts.map +1 -1
  596. package/dist/lib/notification-handler.js +10 -15
  597. package/dist/lib/notification-handler.js.map +1 -1
  598. package/dist/lib/notification-preferences-handler.d.ts +1 -1
  599. package/dist/lib/notification-preferences-handler.d.ts.map +1 -1
  600. package/dist/lib/notification-preferences-handler.js +7 -11
  601. package/dist/lib/notification-preferences-handler.js.map +1 -1
  602. package/dist/lib/oauth/cognito-issuer.d.ts +1 -1
  603. package/dist/lib/oauth/cognito-issuer.d.ts.map +1 -1
  604. package/dist/lib/oauth/cognito-issuer.js +5 -10
  605. package/dist/lib/oauth/cognito-issuer.js.map +1 -1
  606. package/dist/lib/oauth/device-authorization.d.ts +1 -1
  607. package/dist/lib/oauth/device-authorization.d.ts.map +1 -1
  608. package/dist/lib/oauth/device-authorization.js +62 -77
  609. package/dist/lib/oauth/device-authorization.js.map +1 -1
  610. package/dist/lib/oauth/envelope-crypto.d.ts +2 -2
  611. package/dist/lib/oauth/envelope-crypto.js +22 -34
  612. package/dist/lib/oauth/envelope-crypto.js.map +1 -1
  613. package/dist/lib/oauth/refresh-detection.js +42 -52
  614. package/dist/lib/oauth/refresh-detection.js.map +1 -1
  615. package/dist/lib/openai-budget.d.ts.map +1 -1
  616. package/dist/lib/openai-budget.js +7 -44
  617. package/dist/lib/openai-budget.js.map +1 -1
  618. package/dist/lib/openapi/generator.d.ts +1 -1
  619. package/dist/lib/openapi/generator.d.ts.map +1 -1
  620. package/dist/lib/openapi/generator.js +2 -6
  621. package/dist/lib/openapi/generator.js.map +1 -1
  622. package/dist/lib/orphaned-media-handler.d.ts +1 -1
  623. package/dist/lib/orphaned-media-handler.d.ts.map +1 -1
  624. package/dist/lib/orphaned-media-handler.js +9 -46
  625. package/dist/lib/orphaned-media-handler.js.map +1 -1
  626. package/dist/lib/parental-control-handler.d.ts +2 -2
  627. package/dist/lib/parental-control-handler.d.ts.map +1 -1
  628. package/dist/lib/parental-control-handler.js +18 -55
  629. package/dist/lib/parental-control-handler.js.map +1 -1
  630. package/dist/lib/parental-link-handler.d.ts +8 -8
  631. package/dist/lib/parental-link-handler.d.ts.map +1 -1
  632. package/dist/lib/parental-link-handler.js +10 -14
  633. package/dist/lib/parental-link-handler.js.map +1 -1
  634. package/dist/lib/performance-metrics.d.ts +1 -1
  635. package/dist/lib/performance-metrics.d.ts.map +1 -1
  636. package/dist/lib/performance-metrics.js +3 -6
  637. package/dist/lib/performance-metrics.js.map +1 -1
  638. package/dist/lib/post-handler.d.ts +9 -9
  639. package/dist/lib/post-handler.d.ts.map +1 -1
  640. package/dist/lib/post-handler.js +67 -101
  641. package/dist/lib/post-handler.js.map +1 -1
  642. package/dist/lib/privacy-defaults.js +3 -8
  643. package/dist/lib/privacy-defaults.js.map +1 -1
  644. package/dist/lib/privacy-handler.d.ts +2 -2
  645. package/dist/lib/privacy-handler.d.ts.map +1 -1
  646. package/dist/lib/privacy-handler.js +6 -10
  647. package/dist/lib/privacy-handler.js.map +1 -1
  648. package/dist/lib/pseudonym.d.ts +56 -0
  649. package/dist/lib/pseudonym.d.ts.map +1 -0
  650. package/dist/lib/pseudonym.js +85 -0
  651. package/dist/lib/pseudonym.js.map +1 -0
  652. package/dist/lib/queue-consumers/media-reconciliation-consumer.d.ts +2 -2
  653. package/dist/lib/queue-consumers/media-reconciliation-consumer.d.ts.map +1 -1
  654. package/dist/lib/queue-consumers/media-reconciliation-consumer.js +5 -8
  655. package/dist/lib/queue-consumers/media-reconciliation-consumer.js.map +1 -1
  656. package/dist/lib/quiet-hours.js +2 -6
  657. package/dist/lib/quiet-hours.js.map +1 -1
  658. package/dist/lib/rate-limit.d.ts +58 -47
  659. package/dist/lib/rate-limit.d.ts.map +1 -1
  660. package/dist/lib/rate-limit.js +168 -157
  661. package/dist/lib/rate-limit.js.map +1 -1
  662. package/dist/lib/reaction-handler.d.ts +10 -10
  663. package/dist/lib/reaction-handler.d.ts.map +1 -1
  664. package/dist/lib/reaction-handler.js +44 -80
  665. package/dist/lib/reaction-handler.js.map +1 -1
  666. package/dist/lib/recaptcha.js +6 -9
  667. package/dist/lib/recaptcha.js.map +1 -1
  668. package/dist/lib/redirect-resolver.d.ts +2 -2
  669. package/dist/lib/redirect-resolver.d.ts.map +1 -1
  670. package/dist/lib/redirect-resolver.js +5 -9
  671. package/dist/lib/redirect-resolver.js.map +1 -1
  672. package/dist/lib/region-config.d.ts +3 -3
  673. package/dist/lib/region-config.d.ts.map +1 -1
  674. package/dist/lib/region-config.js +15 -58
  675. package/dist/lib/region-config.js.map +1 -1
  676. package/dist/lib/region-detection.d.ts +55 -24
  677. package/dist/lib/region-detection.d.ts.map +1 -1
  678. package/dist/lib/region-detection.js +140 -199
  679. package/dist/lib/region-detection.js.map +1 -1
  680. package/dist/lib/region-registry.d.ts +49 -0
  681. package/dist/lib/region-registry.d.ts.map +1 -0
  682. package/dist/lib/region-registry.js +112 -0
  683. package/dist/lib/region-registry.js.map +1 -0
  684. package/dist/lib/relationship-handler.d.ts +9 -9
  685. package/dist/lib/relationship-handler.d.ts.map +1 -1
  686. package/dist/lib/relationship-handler.js +12 -49
  687. package/dist/lib/relationship-handler.js.map +1 -1
  688. package/dist/lib/request-context.d.ts +16 -16
  689. package/dist/lib/request-context.d.ts.map +1 -1
  690. package/dist/lib/request-context.js +14 -22
  691. package/dist/lib/request-context.js.map +1 -1
  692. package/dist/lib/route-helpers.d.ts +3 -4
  693. package/dist/lib/route-helpers.d.ts.map +1 -1
  694. package/dist/lib/route-helpers.js +20 -75
  695. package/dist/lib/route-helpers.js.map +1 -1
  696. package/dist/lib/routes/activitypub/actor.d.ts +1 -1
  697. package/dist/lib/routes/activitypub/actor.d.ts.map +1 -1
  698. package/dist/lib/routes/activitypub/actor.js +20 -23
  699. package/dist/lib/routes/activitypub/actor.js.map +1 -1
  700. package/dist/lib/routes/activitypub/audiences.d.ts +1 -1
  701. package/dist/lib/routes/activitypub/audiences.d.ts.map +1 -1
  702. package/dist/lib/routes/activitypub/audiences.js +76 -80
  703. package/dist/lib/routes/activitypub/audiences.js.map +1 -1
  704. package/dist/lib/routes/activitypub/collections.d.ts +1 -1
  705. package/dist/lib/routes/activitypub/collections.d.ts.map +1 -1
  706. package/dist/lib/routes/activitypub/collections.js +24 -26
  707. package/dist/lib/routes/activitypub/collections.js.map +1 -1
  708. package/dist/lib/routes/activitypub/entity-profile.d.ts +1 -1
  709. package/dist/lib/routes/activitypub/entity-profile.d.ts.map +1 -1
  710. package/dist/lib/routes/activitypub/entity-profile.js +36 -39
  711. package/dist/lib/routes/activitypub/entity-profile.js.map +1 -1
  712. package/dist/lib/routes/activitypub/friends.d.ts +1 -1
  713. package/dist/lib/routes/activitypub/friends.d.ts.map +1 -1
  714. package/dist/lib/routes/activitypub/friends.js +9 -12
  715. package/dist/lib/routes/activitypub/friends.js.map +1 -1
  716. package/dist/lib/routes/activitypub/group.d.ts +1 -1
  717. package/dist/lib/routes/activitypub/group.d.ts.map +1 -1
  718. package/dist/lib/routes/activitypub/group.js +91 -94
  719. package/dist/lib/routes/activitypub/group.js.map +1 -1
  720. package/dist/lib/routes/activitypub/inbox.d.ts +1 -1
  721. package/dist/lib/routes/activitypub/inbox.d.ts.map +1 -1
  722. package/dist/lib/routes/activitypub/inbox.js +30 -33
  723. package/dist/lib/routes/activitypub/inbox.js.map +1 -1
  724. package/dist/lib/routes/activitypub/messages.d.ts +1 -1
  725. package/dist/lib/routes/activitypub/messages.d.ts.map +1 -1
  726. package/dist/lib/routes/activitypub/messages.js +79 -83
  727. package/dist/lib/routes/activitypub/messages.js.map +1 -1
  728. package/dist/lib/routes/activitypub/outbox.d.ts +1 -1
  729. package/dist/lib/routes/activitypub/outbox.d.ts.map +1 -1
  730. package/dist/lib/routes/activitypub/outbox.js +9 -12
  731. package/dist/lib/routes/activitypub/outbox.js.map +1 -1
  732. package/dist/lib/routes/activitypub/post.d.ts +1 -1
  733. package/dist/lib/routes/activitypub/post.d.ts.map +1 -1
  734. package/dist/lib/routes/activitypub/post.js +32 -35
  735. package/dist/lib/routes/activitypub/post.js.map +1 -1
  736. package/dist/lib/routes/activitypub/webfinger.d.ts +1 -1
  737. package/dist/lib/routes/activitypub/webfinger.d.ts.map +1 -1
  738. package/dist/lib/routes/activitypub/webfinger.js +5 -8
  739. package/dist/lib/routes/activitypub/webfinger.js.map +1 -1
  740. package/dist/lib/routes/admin-costs.d.ts +1 -1
  741. package/dist/lib/routes/admin-costs.d.ts.map +1 -1
  742. package/dist/lib/routes/admin-costs.js +22 -26
  743. package/dist/lib/routes/admin-costs.js.map +1 -1
  744. package/dist/lib/routes/admin.d.ts +1 -1
  745. package/dist/lib/routes/admin.d.ts.map +1 -1
  746. package/dist/lib/routes/admin.js +290 -269
  747. package/dist/lib/routes/admin.js.map +1 -1
  748. package/dist/lib/routes/agent-authorize.d.ts +5 -5
  749. package/dist/lib/routes/agent-authorize.d.ts.map +1 -1
  750. package/dist/lib/routes/agent-authorize.js +68 -74
  751. package/dist/lib/routes/agent-authorize.js.map +1 -1
  752. package/dist/lib/routes/agent-sessions.d.ts +4 -4
  753. package/dist/lib/routes/agent-sessions.d.ts.map +1 -1
  754. package/dist/lib/routes/agent-sessions.js +30 -35
  755. package/dist/lib/routes/agent-sessions.js.map +1 -1
  756. package/dist/lib/routes/agent-surface.d.ts +2 -2
  757. package/dist/lib/routes/agent-surface.d.ts.map +1 -1
  758. package/dist/lib/routes/agent-surface.js +20 -24
  759. package/dist/lib/routes/agent-surface.js.map +1 -1
  760. package/dist/lib/routes/auth-discover.d.ts +1 -1
  761. package/dist/lib/routes/auth-discover.d.ts.map +1 -1
  762. package/dist/lib/routes/auth-discover.js +20 -56
  763. package/dist/lib/routes/auth-discover.js.map +1 -1
  764. package/dist/lib/routes/auth.d.ts +1 -1
  765. package/dist/lib/routes/auth.d.ts.map +1 -1
  766. package/dist/lib/routes/auth.js +13 -16
  767. package/dist/lib/routes/auth.js.map +1 -1
  768. package/dist/lib/routes/badges.d.ts +1 -1
  769. package/dist/lib/routes/badges.d.ts.map +1 -1
  770. package/dist/lib/routes/badges.js +20 -23
  771. package/dist/lib/routes/badges.js.map +1 -1
  772. package/dist/lib/routes/circles.d.ts +1 -1
  773. package/dist/lib/routes/circles.d.ts.map +1 -1
  774. package/dist/lib/routes/circles.js +40 -44
  775. package/dist/lib/routes/circles.js.map +1 -1
  776. package/dist/lib/routes/comments.d.ts +1 -1
  777. package/dist/lib/routes/comments.d.ts.map +1 -1
  778. package/dist/lib/routes/comments.js +67 -71
  779. package/dist/lib/routes/comments.js.map +1 -1
  780. package/dist/lib/routes/connection-codes.d.ts +1 -1
  781. package/dist/lib/routes/connection-codes.d.ts.map +1 -1
  782. package/dist/lib/routes/connection-codes.js +30 -34
  783. package/dist/lib/routes/connection-codes.js.map +1 -1
  784. package/dist/lib/routes/content-discovery.d.ts +1 -1
  785. package/dist/lib/routes/content-discovery.d.ts.map +1 -1
  786. package/dist/lib/routes/content-discovery.js +31 -34
  787. package/dist/lib/routes/content-discovery.js.map +1 -1
  788. package/dist/lib/routes/dashboard.d.ts +1 -1
  789. package/dist/lib/routes/dashboard.d.ts.map +1 -1
  790. package/dist/lib/routes/dashboard.js +251 -288
  791. package/dist/lib/routes/dashboard.js.map +1 -1
  792. package/dist/lib/routes/deletion.d.ts +1 -1
  793. package/dist/lib/routes/deletion.d.ts.map +1 -1
  794. package/dist/lib/routes/deletion.js +37 -74
  795. package/dist/lib/routes/deletion.js.map +1 -1
  796. package/dist/lib/routes/discovery.d.ts +1 -1
  797. package/dist/lib/routes/discovery.d.ts.map +1 -1
  798. package/dist/lib/routes/discovery.js +20 -24
  799. package/dist/lib/routes/discovery.js.map +1 -1
  800. package/dist/lib/routes/employees.d.ts +1 -1
  801. package/dist/lib/routes/employees.d.ts.map +1 -1
  802. package/dist/lib/routes/employees.js +15 -52
  803. package/dist/lib/routes/employees.js.map +1 -1
  804. package/dist/lib/routes/entities.d.ts +1 -1
  805. package/dist/lib/routes/entities.d.ts.map +1 -1
  806. package/dist/lib/routes/entities.js +133 -137
  807. package/dist/lib/routes/entities.js.map +1 -1
  808. package/dist/lib/routes/entity-relationships.d.ts +1 -1
  809. package/dist/lib/routes/entity-relationships.d.ts.map +1 -1
  810. package/dist/lib/routes/entity-relationships.js +35 -39
  811. package/dist/lib/routes/entity-relationships.js.map +1 -1
  812. package/dist/lib/routes/errors.d.ts +1 -1
  813. package/dist/lib/routes/errors.d.ts.map +1 -1
  814. package/dist/lib/routes/errors.js +4 -10
  815. package/dist/lib/routes/errors.js.map +1 -1
  816. package/dist/lib/routes/export.d.ts +1 -1
  817. package/dist/lib/routes/export.d.ts.map +1 -1
  818. package/dist/lib/routes/export.js +31 -35
  819. package/dist/lib/routes/export.js.map +1 -1
  820. package/dist/lib/routes/feature-flags.d.ts +1 -1
  821. package/dist/lib/routes/feature-flags.d.ts.map +1 -1
  822. package/dist/lib/routes/feature-flags.js +20 -23
  823. package/dist/lib/routes/feature-flags.js.map +1 -1
  824. package/dist/lib/routes/feeds.d.ts +1 -1
  825. package/dist/lib/routes/feeds.d.ts.map +1 -1
  826. package/dist/lib/routes/feeds.js +42 -46
  827. package/dist/lib/routes/feeds.js.map +1 -1
  828. package/dist/lib/routes/friends.d.ts +1 -1
  829. package/dist/lib/routes/friends.d.ts.map +1 -1
  830. package/dist/lib/routes/friends.js +35 -39
  831. package/dist/lib/routes/friends.js.map +1 -1
  832. package/dist/lib/routes/health.d.ts +1 -1
  833. package/dist/lib/routes/health.d.ts.map +1 -1
  834. package/dist/lib/routes/health.js +23 -27
  835. package/dist/lib/routes/health.js.map +1 -1
  836. package/dist/lib/routes/index.d.ts +2 -7
  837. package/dist/lib/routes/index.d.ts.map +1 -1
  838. package/dist/lib/routes/index.js +137 -158
  839. package/dist/lib/routes/index.js.map +1 -1
  840. package/dist/lib/routes/internal-docs.d.ts +1 -1
  841. package/dist/lib/routes/internal-docs.d.ts.map +1 -1
  842. package/dist/lib/routes/internal-docs.js +13 -16
  843. package/dist/lib/routes/internal-docs.js.map +1 -1
  844. package/dist/lib/routes/invitations.d.ts +1 -1
  845. package/dist/lib/routes/invitations.d.ts.map +1 -1
  846. package/dist/lib/routes/invitations.js +19 -22
  847. package/dist/lib/routes/invitations.js.map +1 -1
  848. package/dist/lib/routes/link-reports.d.ts +2 -2
  849. package/dist/lib/routes/link-reports.d.ts.map +1 -1
  850. package/dist/lib/routes/link-reports.js +86 -48
  851. package/dist/lib/routes/link-reports.js.map +1 -1
  852. package/dist/lib/routes/map.d.ts +1 -1
  853. package/dist/lib/routes/map.d.ts.map +1 -1
  854. package/dist/lib/routes/map.js +5 -8
  855. package/dist/lib/routes/map.js.map +1 -1
  856. package/dist/lib/routes/media-metadata-visibility.d.ts +1 -1
  857. package/dist/lib/routes/media-metadata-visibility.d.ts.map +1 -1
  858. package/dist/lib/routes/media-metadata-visibility.js +30 -67
  859. package/dist/lib/routes/media-metadata-visibility.js.map +1 -1
  860. package/dist/lib/routes/media.d.ts +1 -1
  861. package/dist/lib/routes/media.d.ts.map +1 -1
  862. package/dist/lib/routes/media.js +156 -193
  863. package/dist/lib/routes/media.js.map +1 -1
  864. package/dist/lib/routes/mfa.d.ts +1 -1
  865. package/dist/lib/routes/mfa.d.ts.map +1 -1
  866. package/dist/lib/routes/mfa.js +60 -64
  867. package/dist/lib/routes/mfa.js.map +1 -1
  868. package/dist/lib/routes/notifications.d.ts +1 -1
  869. package/dist/lib/routes/notifications.d.ts.map +1 -1
  870. package/dist/lib/routes/notifications.js +68 -72
  871. package/dist/lib/routes/notifications.js.map +1 -1
  872. package/dist/lib/routes/oauth.d.ts +1 -1
  873. package/dist/lib/routes/oauth.d.ts.map +1 -1
  874. package/dist/lib/routes/oauth.js +20 -23
  875. package/dist/lib/routes/oauth.js.map +1 -1
  876. package/dist/lib/routes/orphaned-media-health.d.ts +1 -1
  877. package/dist/lib/routes/orphaned-media-health.d.ts.map +1 -1
  878. package/dist/lib/routes/orphaned-media-health.js +10 -13
  879. package/dist/lib/routes/orphaned-media-health.js.map +1 -1
  880. package/dist/lib/routes/orphaned-media.d.ts +1 -1
  881. package/dist/lib/routes/orphaned-media.d.ts.map +1 -1
  882. package/dist/lib/routes/orphaned-media.js +20 -57
  883. package/dist/lib/routes/orphaned-media.js.map +1 -1
  884. package/dist/lib/routes/out.d.ts +1 -1
  885. package/dist/lib/routes/out.d.ts.map +1 -1
  886. package/dist/lib/routes/out.js +21 -24
  887. package/dist/lib/routes/out.js.map +1 -1
  888. package/dist/lib/routes/parental-controls.d.ts +1 -1
  889. package/dist/lib/routes/parental-controls.d.ts.map +1 -1
  890. package/dist/lib/routes/parental-controls.js +91 -95
  891. package/dist/lib/routes/parental-controls.js.map +1 -1
  892. package/dist/lib/routes/posts.d.ts +1 -1
  893. package/dist/lib/routes/posts.d.ts.map +1 -1
  894. package/dist/lib/routes/posts.js +101 -105
  895. package/dist/lib/routes/posts.js.map +1 -1
  896. package/dist/lib/routes/privacy.d.ts +1 -1
  897. package/dist/lib/routes/privacy.d.ts.map +1 -1
  898. package/dist/lib/routes/privacy.js +21 -25
  899. package/dist/lib/routes/privacy.js.map +1 -1
  900. package/dist/lib/routes/products.d.ts +1 -1
  901. package/dist/lib/routes/products.d.ts.map +1 -1
  902. package/dist/lib/routes/products.js +44 -48
  903. package/dist/lib/routes/products.js.map +1 -1
  904. package/dist/lib/routes/relationships.d.ts +1 -1
  905. package/dist/lib/routes/relationships.d.ts.map +1 -1
  906. package/dist/lib/routes/relationships.js +35 -39
  907. package/dist/lib/routes/relationships.js.map +1 -1
  908. package/dist/lib/routes/sentiments.d.ts +1 -1
  909. package/dist/lib/routes/sentiments.d.ts.map +1 -1
  910. package/dist/lib/routes/sentiments.js +71 -75
  911. package/dist/lib/routes/sentiments.js.map +1 -1
  912. package/dist/lib/routes/setup-status.d.ts +1 -1
  913. package/dist/lib/routes/setup-status.d.ts.map +1 -1
  914. package/dist/lib/routes/setup-status.js +17 -20
  915. package/dist/lib/routes/setup-status.js.map +1 -1
  916. package/dist/lib/routes/taxonomy-analytics.d.ts +1 -1
  917. package/dist/lib/routes/taxonomy-analytics.d.ts.map +1 -1
  918. package/dist/lib/routes/taxonomy-analytics.js +29 -33
  919. package/dist/lib/routes/taxonomy-analytics.js.map +1 -1
  920. package/dist/lib/routes/taxonomy.d.ts +1 -1
  921. package/dist/lib/routes/taxonomy.d.ts.map +1 -1
  922. package/dist/lib/routes/taxonomy.js +48 -51
  923. package/dist/lib/routes/taxonomy.js.map +1 -1
  924. package/dist/lib/routes/tenant-audit.d.ts +1 -1
  925. package/dist/lib/routes/tenant-audit.d.ts.map +1 -1
  926. package/dist/lib/routes/tenant-audit.js +35 -92
  927. package/dist/lib/routes/tenant-audit.js.map +1 -1
  928. package/dist/lib/routes/tenant-compliance.d.ts +1 -1
  929. package/dist/lib/routes/tenant-compliance.d.ts.map +1 -1
  930. package/dist/lib/routes/tenant-compliance.js +16 -52
  931. package/dist/lib/routes/tenant-compliance.js.map +1 -1
  932. package/dist/lib/routes/tenant-domains.d.ts +1 -1
  933. package/dist/lib/routes/tenant-domains.d.ts.map +1 -1
  934. package/dist/lib/routes/tenant-domains.js +27 -30
  935. package/dist/lib/routes/tenant-domains.js.map +1 -1
  936. package/dist/lib/routes/tenant-idp.d.ts +1 -1
  937. package/dist/lib/routes/tenant-idp.d.ts.map +1 -1
  938. package/dist/lib/routes/tenant-idp.js +27 -30
  939. package/dist/lib/routes/tenant-idp.js.map +1 -1
  940. package/dist/lib/routes/tenant-members.d.ts +1 -1
  941. package/dist/lib/routes/tenant-members.d.ts.map +1 -1
  942. package/dist/lib/routes/tenant-members.js +21 -24
  943. package/dist/lib/routes/tenant-members.js.map +1 -1
  944. package/dist/lib/routes/tenant-role-mappings.d.ts +1 -1
  945. package/dist/lib/routes/tenant-role-mappings.d.ts.map +1 -1
  946. package/dist/lib/routes/tenant-role-mappings.js +27 -30
  947. package/dist/lib/routes/tenant-role-mappings.js.map +1 -1
  948. package/dist/lib/routes/tenants.d.ts +1 -1
  949. package/dist/lib/routes/tenants.d.ts.map +1 -1
  950. package/dist/lib/routes/tenants.js +37 -40
  951. package/dist/lib/routes/tenants.js.map +1 -1
  952. package/dist/lib/routes/types.d.ts +10 -5
  953. package/dist/lib/routes/types.d.ts.map +1 -1
  954. package/dist/lib/routes/types.js +1 -2
  955. package/dist/lib/routes/types.js.map +1 -1
  956. package/dist/lib/routes/upload-sessions.d.ts +1 -1
  957. package/dist/lib/routes/upload-sessions.d.ts.map +1 -1
  958. package/dist/lib/routes/upload-sessions.js +57 -94
  959. package/dist/lib/routes/upload-sessions.js.map +1 -1
  960. package/dist/lib/routes/user.d.ts +1 -1
  961. package/dist/lib/routes/user.d.ts.map +1 -1
  962. package/dist/lib/routes/user.js +137 -85
  963. package/dist/lib/routes/user.js.map +1 -1
  964. package/dist/lib/routes.d.ts +2 -2
  965. package/dist/lib/routes.d.ts.map +1 -1
  966. package/dist/lib/routes.js +2 -7
  967. package/dist/lib/routes.js.map +1 -1
  968. package/dist/lib/scaling-health.d.ts.map +1 -1
  969. package/dist/lib/scaling-health.js +6 -9
  970. package/dist/lib/scaling-health.js.map +1 -1
  971. package/dist/lib/scheduled/media-stale-cleanup.js +5 -8
  972. package/dist/lib/scheduled/media-stale-cleanup.js.map +1 -1
  973. package/dist/lib/scheduled/orphaned-media-monitor.d.ts +1 -1
  974. package/dist/lib/scheduled/orphaned-media-monitor.d.ts.map +1 -1
  975. package/dist/lib/scheduled/orphaned-media-monitor.js +5 -42
  976. package/dist/lib/scheduled/orphaned-media-monitor.js.map +1 -1
  977. package/dist/lib/schemas.d.ts +85 -204
  978. package/dist/lib/schemas.d.ts.map +1 -1
  979. package/dist/lib/schemas.js +71 -74
  980. package/dist/lib/schemas.js.map +1 -1
  981. package/dist/lib/secrets/idp-secrets.d.ts +1 -1
  982. package/dist/lib/secrets/idp-secrets.js +13 -19
  983. package/dist/lib/secrets/idp-secrets.js.map +1 -1
  984. package/dist/lib/security-event-cleaner.js +1 -5
  985. package/dist/lib/security-event-cleaner.js.map +1 -1
  986. package/dist/lib/security-headers.js +1 -5
  987. package/dist/lib/security-headers.js.map +1 -1
  988. package/dist/lib/security-monitor.d.ts +4 -2
  989. package/dist/lib/security-monitor.d.ts.map +1 -1
  990. package/dist/lib/security-monitor.js +16 -18
  991. package/dist/lib/security-monitor.js.map +1 -1
  992. package/dist/lib/sentiment-digest.d.ts +1 -1
  993. package/dist/lib/sentiment-digest.d.ts.map +1 -1
  994. package/dist/lib/sentiment-digest.js +5 -8
  995. package/dist/lib/sentiment-digest.js.map +1 -1
  996. package/dist/lib/sentiment-display.js +3 -7
  997. package/dist/lib/sentiment-display.js.map +1 -1
  998. package/dist/lib/services/image-normalizer.js +1 -5
  999. package/dist/lib/services/image-normalizer.js.map +1 -1
  1000. package/dist/lib/services/media-reconciliation-service.d.ts +1 -1
  1001. package/dist/lib/services/media-reconciliation-service.d.ts.map +1 -1
  1002. package/dist/lib/services/media-reconciliation-service.js +7 -11
  1003. package/dist/lib/services/media-reconciliation-service.js.map +1 -1
  1004. package/dist/lib/services/media-upload-service.d.ts +1 -1
  1005. package/dist/lib/services/media-upload-service.d.ts.map +1 -1
  1006. package/dist/lib/services/media-upload-service.js +4 -8
  1007. package/dist/lib/services/media-upload-service.js.map +1 -1
  1008. package/dist/lib/services/user-data-deletion.d.ts +45 -2
  1009. package/dist/lib/services/user-data-deletion.d.ts.map +1 -1
  1010. package/dist/lib/services/user-data-deletion.js +87 -9
  1011. package/dist/lib/services/user-data-deletion.js.map +1 -1
  1012. package/dist/lib/session-awareness.js +2 -6
  1013. package/dist/lib/session-awareness.js.map +1 -1
  1014. package/dist/lib/session-config.js +8 -17
  1015. package/dist/lib/session-config.js.map +1 -1
  1016. package/dist/lib/{session-manager.d.ts → session-cookie.d.ts} +58 -15
  1017. package/dist/lib/session-cookie.d.ts.map +1 -0
  1018. package/dist/lib/session-cookie.js +0 -0
  1019. package/dist/lib/session-cookie.js.map +1 -0
  1020. package/dist/lib/signup-metadata.d.ts +129 -0
  1021. package/dist/lib/signup-metadata.d.ts.map +1 -0
  1022. package/dist/lib/signup-metadata.js +127 -0
  1023. package/dist/lib/signup-metadata.js.map +1 -0
  1024. package/dist/lib/sso-auth-handler.js +1 -5
  1025. package/dist/lib/sso-auth-handler.js.map +1 -1
  1026. package/dist/lib/tag-suggestions-handler.d.ts +1 -1
  1027. package/dist/lib/tag-suggestions-handler.d.ts.map +1 -1
  1028. package/dist/lib/tag-suggestions-handler.js +1 -5
  1029. package/dist/lib/tag-suggestions-handler.js.map +1 -1
  1030. package/dist/lib/taxonomy-handler-factory.d.ts +2 -2
  1031. package/dist/lib/taxonomy-handler-factory.d.ts.map +1 -1
  1032. package/dist/lib/taxonomy-handler-factory.js +7 -10
  1033. package/dist/lib/taxonomy-handler-factory.js.map +1 -1
  1034. package/dist/lib/taxonomy-handler.d.ts +2 -2
  1035. package/dist/lib/taxonomy-handler.d.ts.map +1 -1
  1036. package/dist/lib/taxonomy-handler.js +8 -8
  1037. package/dist/lib/taxonomy-handler.js.map +1 -1
  1038. package/dist/lib/taxonomy-metrics.js +5 -9
  1039. package/dist/lib/taxonomy-metrics.js.map +1 -1
  1040. package/dist/lib/taxonomy-search-metrics.d.ts +2 -2
  1041. package/dist/lib/taxonomy-search-metrics.d.ts.map +1 -1
  1042. package/dist/lib/taxonomy-search-metrics.js +3 -7
  1043. package/dist/lib/taxonomy-search-metrics.js.map +1 -1
  1044. package/dist/lib/tenant/audit-emit.d.ts +18 -8
  1045. package/dist/lib/tenant/audit-emit.d.ts.map +1 -1
  1046. package/dist/lib/tenant/audit-emit.js +50 -11
  1047. package/dist/lib/tenant/audit-emit.js.map +1 -1
  1048. package/dist/lib/tenant/derive-domain.js +1 -4
  1049. package/dist/lib/tenant/derive-domain.js.map +1 -1
  1050. package/dist/lib/tenant/domain-handler.d.ts +2 -2
  1051. package/dist/lib/tenant/domain-handler.d.ts.map +1 -1
  1052. package/dist/lib/tenant/domain-handler.js +50 -62
  1053. package/dist/lib/tenant/domain-handler.js.map +1 -1
  1054. package/dist/lib/tenant/domain-validator.d.ts +1 -1
  1055. package/dist/lib/tenant/domain-validator.js +10 -13
  1056. package/dist/lib/tenant/domain-validator.js.map +1 -1
  1057. package/dist/lib/tenant/domain-verifier.d.ts +3 -3
  1058. package/dist/lib/tenant/domain-verifier.js +8 -11
  1059. package/dist/lib/tenant/domain-verifier.js.map +1 -1
  1060. package/dist/lib/tenant/idp-handler.d.ts +4 -4
  1061. package/dist/lib/tenant/idp-handler.d.ts.map +1 -1
  1062. package/dist/lib/tenant/idp-handler.js +45 -82
  1063. package/dist/lib/tenant/idp-handler.js.map +1 -1
  1064. package/dist/lib/tenant/idp-name.js +1 -4
  1065. package/dist/lib/tenant/idp-name.js.map +1 -1
  1066. package/dist/lib/tenant/member-handler.d.ts +2 -2
  1067. package/dist/lib/tenant/member-handler.d.ts.map +1 -1
  1068. package/dist/lib/tenant/member-handler.js +30 -67
  1069. package/dist/lib/tenant/member-handler.js.map +1 -1
  1070. package/dist/lib/tenant/reserved-slugs.d.ts +1 -1
  1071. package/dist/lib/tenant/reserved-slugs.d.ts.map +1 -1
  1072. package/dist/lib/tenant/reserved-slugs.js +8 -14
  1073. package/dist/lib/tenant/reserved-slugs.js.map +1 -1
  1074. package/dist/lib/tenant/resolve-role.js +1 -4
  1075. package/dist/lib/tenant/resolve-role.js.map +1 -1
  1076. package/dist/lib/tenant/role-mapping-handler.d.ts +2 -2
  1077. package/dist/lib/tenant/role-mapping-handler.d.ts.map +1 -1
  1078. package/dist/lib/tenant/role-mapping-handler.js +24 -61
  1079. package/dist/lib/tenant/role-mapping-handler.js.map +1 -1
  1080. package/dist/lib/tenant/setup-status.d.ts +1 -1
  1081. package/dist/lib/tenant/setup-status.d.ts.map +1 -1
  1082. package/dist/lib/tenant/setup-status.js +3 -40
  1083. package/dist/lib/tenant/setup-status.js.map +1 -1
  1084. package/dist/lib/tenant/slug-validator.js +3 -6
  1085. package/dist/lib/tenant/slug-validator.js.map +1 -1
  1086. package/dist/lib/tenant/tenant-handler.d.ts +2 -2
  1087. package/dist/lib/tenant/tenant-handler.d.ts.map +1 -1
  1088. package/dist/lib/tenant/tenant-handler.js +31 -68
  1089. package/dist/lib/tenant/tenant-handler.js.map +1 -1
  1090. package/dist/lib/tenant/transfer-ownership.js +2 -6
  1091. package/dist/lib/tenant/transfer-ownership.js.map +1 -1
  1092. package/dist/lib/tenant-scope.d.ts +97 -0
  1093. package/dist/lib/tenant-scope.d.ts.map +1 -0
  1094. package/dist/lib/tenant-scope.js +270 -0
  1095. package/dist/lib/tenant-scope.js.map +1 -0
  1096. package/dist/lib/terminology.d.ts.map +1 -1
  1097. package/dist/lib/terminology.js +7 -9
  1098. package/dist/lib/terminology.js.map +1 -1
  1099. package/dist/lib/theme.js +2 -6
  1100. package/dist/lib/theme.js.map +1 -1
  1101. package/dist/lib/threat-intel-service.d.ts +2 -2
  1102. package/dist/lib/threat-intel-service.d.ts.map +1 -1
  1103. package/dist/lib/threat-intel-service.js +3 -7
  1104. package/dist/lib/threat-intel-service.js.map +1 -1
  1105. package/dist/lib/types/media-reconciliation.js +1 -2
  1106. package/dist/lib/types/media-reconciliation.js.map +1 -1
  1107. package/dist/lib/upload-session-handler.d.ts +1 -1
  1108. package/dist/lib/upload-session-handler.d.ts.map +1 -1
  1109. package/dist/lib/upload-session-handler.js +13 -50
  1110. package/dist/lib/upload-session-handler.js.map +1 -1
  1111. package/dist/lib/user/derive-handle.js +2 -6
  1112. package/dist/lib/user/derive-handle.js.map +1 -1
  1113. package/dist/lib/user-badge.js +6 -14
  1114. package/dist/lib/user-badge.js.map +1 -1
  1115. package/dist/lib/user-deletion-handler-enhanced.d.ts +2 -2
  1116. package/dist/lib/user-deletion-handler-enhanced.d.ts.map +1 -1
  1117. package/dist/lib/user-deletion-handler-enhanced.js +16 -53
  1118. package/dist/lib/user-deletion-handler-enhanced.js.map +1 -1
  1119. package/dist/lib/user-deprovisioning.d.ts +1 -1
  1120. package/dist/lib/user-deprovisioning.d.ts.map +1 -1
  1121. package/dist/lib/user-deprovisioning.js +16 -20
  1122. package/dist/lib/user-deprovisioning.js.map +1 -1
  1123. package/dist/lib/user-export-handler.d.ts +4 -4
  1124. package/dist/lib/user-export-handler.d.ts.map +1 -1
  1125. package/dist/lib/user-export-handler.js +11 -15
  1126. package/dist/lib/user-export-handler.js.map +1 -1
  1127. package/dist/lib/validate-request.js +8 -13
  1128. package/dist/lib/validate-request.js.map +1 -1
  1129. package/dist/lib/validation/feature-toggle-schemas.d.ts +130 -249
  1130. package/dist/lib/validation/feature-toggle-schemas.d.ts.map +1 -1
  1131. package/dist/lib/validation/feature-toggle-schemas.js +50 -59
  1132. package/dist/lib/validation/feature-toggle-schemas.js.map +1 -1
  1133. package/dist/lib/validation/validate-request.d.ts.map +1 -1
  1134. package/dist/lib/validation/validate-request.js +12 -23
  1135. package/dist/lib/validation/validate-request.js.map +1 -1
  1136. package/dist/lib/validation.js +1 -5
  1137. package/dist/lib/validation.js.map +1 -1
  1138. package/dist/lib/version.js +3 -8
  1139. package/dist/lib/version.js.map +1 -1
  1140. package/dist/server.d.ts +1 -1
  1141. package/dist/server.d.ts.map +1 -1
  1142. package/dist/server.js +29 -69
  1143. package/dist/server.js.map +1 -1
  1144. package/dist/types/cloudflare-compat.d.ts +3 -93
  1145. package/dist/types/cloudflare-compat.d.ts.map +1 -1
  1146. package/dist/types/cloudflare-compat.js +1 -2
  1147. package/dist/types/cloudflare-compat.js.map +1 -1
  1148. package/dist/worker.d.ts +6 -6
  1149. package/dist/worker.d.ts.map +1 -1
  1150. package/dist/worker.js +6 -13
  1151. package/dist/worker.js.map +1 -1
  1152. package/package.json +30 -17
  1153. package/prisma/migrations/20260602054730_add_entity_geo_and_pending_schema/migration.sql +113 -0
  1154. package/prisma/migrations/20260602162901_research_foundations/migration.sql +65 -0
  1155. package/prisma/migrations/20260604130000_surveillance_phase0_enablers/migration.sql +107 -0
  1156. package/prisma/migrations/20260604140000_fold_link_reports_into_reports/migration.sql +23 -0
  1157. package/prisma/migrations/20260604140000_fold_link_reports_into_reports/rollback.reference.sql +31 -0
  1158. package/prisma/schema.prisma +419 -68
  1159. package/src/lambda/cleanup-cron.ts +10 -7
  1160. package/src/lambda/create-auth-challenge.ts +6 -3
  1161. package/src/lambda/delete-account-worker.ts +17 -12
  1162. package/src/lambda/diagnostics-proxy.ts +9 -6
  1163. package/src/lambda/e2e-sweeper.ts +17 -23
  1164. package/src/lambda/federation-outbox-worker.ts +4 -1
  1165. package/src/lambda/followers-events-worker.ts +4 -1
  1166. package/src/lambda/hourly-cron.ts +112 -20
  1167. package/src/lambda/link-check-worker.ts +4 -1
  1168. package/src/lambda/maintenance-cron.ts +24 -13
  1169. package/src/lambda/media-processing-worker.ts +5 -2
  1170. package/src/lambda/media-reconciliation-worker.ts +4 -1
  1171. package/src/lambda/nightly-cron.ts +53 -54
  1172. package/src/lambda/post-confirmation.ts +188 -62
  1173. package/src/lambda/pre-token-generation.ts +39 -44
  1174. package/src/lambda/verify-auth-challenge.ts +4 -1
  1175. package/dist/lib/audit/emit.d.ts +0 -56
  1176. package/dist/lib/audit/emit.d.ts.map +0 -1
  1177. package/dist/lib/audit/emit.js +0 -124
  1178. package/dist/lib/audit/emit.js.map +0 -1
  1179. package/dist/lib/audit/event-types.d.ts +0 -36
  1180. package/dist/lib/audit/event-types.d.ts.map +0 -1
  1181. package/dist/lib/audit/event-types.js +0 -69
  1182. package/dist/lib/audit/event-types.js.map +0 -1
  1183. package/dist/lib/audit-logger.d.ts +0 -142
  1184. package/dist/lib/audit-logger.d.ts.map +0 -1
  1185. package/dist/lib/audit-logger.js +0 -326
  1186. package/dist/lib/audit-logger.js.map +0 -1
  1187. package/dist/lib/circuit-breaker.d.ts +0 -27
  1188. package/dist/lib/circuit-breaker.d.ts.map +0 -1
  1189. package/dist/lib/circuit-breaker.js +0 -63
  1190. package/dist/lib/circuit-breaker.js.map +0 -1
  1191. package/dist/lib/graph/dual-write-service.d.ts +0 -116
  1192. package/dist/lib/graph/dual-write-service.d.ts.map +0 -1
  1193. package/dist/lib/graph/dual-write-service.js +0 -332
  1194. package/dist/lib/graph/dual-write-service.js.map +0 -1
  1195. package/dist/lib/graph/dual-write.d.ts +0 -396
  1196. package/dist/lib/graph/dual-write.d.ts.map +0 -1
  1197. package/dist/lib/graph/dual-write.js +0 -53
  1198. package/dist/lib/graph/dual-write.js.map +0 -1
  1199. package/dist/lib/graph/graph-schema-init.d.ts +0 -31
  1200. package/dist/lib/graph/graph-schema-init.d.ts.map +0 -1
  1201. package/dist/lib/graph/graph-schema-init.js +0 -105
  1202. package/dist/lib/graph/graph-schema-init.js.map +0 -1
  1203. package/dist/lib/graph/neo4j-graph-service.d.ts +0 -186
  1204. package/dist/lib/graph/neo4j-graph-service.d.ts.map +0 -1
  1205. package/dist/lib/graph/neo4j-graph-service.js +0 -1625
  1206. package/dist/lib/graph/neo4j-graph-service.js.map +0 -1
  1207. package/dist/lib/graph/reconciliation-service.d.ts +0 -113
  1208. package/dist/lib/graph/reconciliation-service.d.ts.map +0 -1
  1209. package/dist/lib/graph/reconciliation-service.js +0 -533
  1210. package/dist/lib/graph/reconciliation-service.js.map +0 -1
  1211. package/dist/lib/id-generator.d.ts +0 -29
  1212. package/dist/lib/id-generator.d.ts.map +0 -1
  1213. package/dist/lib/id-generator.js +0 -51
  1214. package/dist/lib/id-generator.js.map +0 -1
  1215. package/dist/lib/kv/dynamodb-kv.d.ts +0 -39
  1216. package/dist/lib/kv/dynamodb-kv.d.ts.map +0 -1
  1217. package/dist/lib/kv/dynamodb-kv.js +0 -239
  1218. package/dist/lib/kv/dynamodb-kv.js.map +0 -1
  1219. package/dist/lib/queue/sqs-queue.d.ts +0 -16
  1220. package/dist/lib/queue/sqs-queue.d.ts.map +0 -1
  1221. package/dist/lib/queue/sqs-queue.js +0 -39
  1222. package/dist/lib/queue/sqs-queue.js.map +0 -1
  1223. package/dist/lib/route-matcher.d.ts +0 -24
  1224. package/dist/lib/route-matcher.d.ts.map +0 -1
  1225. package/dist/lib/route-matcher.js +0 -96
  1226. package/dist/lib/route-matcher.js.map +0 -1
  1227. package/dist/lib/router.d.ts +0 -26
  1228. package/dist/lib/router.d.ts.map +0 -1
  1229. package/dist/lib/router.js +0 -90
  1230. package/dist/lib/router.js.map +0 -1
  1231. package/dist/lib/routes-all.d.ts +0 -9
  1232. package/dist/lib/routes-all.d.ts.map +0 -1
  1233. package/dist/lib/routes-all.js +0 -170
  1234. package/dist/lib/routes-all.js.map +0 -1
  1235. package/dist/lib/secret-resolver.d.ts +0 -88
  1236. package/dist/lib/secret-resolver.d.ts.map +0 -1
  1237. package/dist/lib/secret-resolver.js +0 -183
  1238. package/dist/lib/secret-resolver.js.map +0 -1
  1239. package/dist/lib/session-manager.d.ts.map +0 -1
  1240. package/dist/lib/session-manager.js +0 -492
  1241. package/dist/lib/session-manager.js.map +0 -1
  1242. package/dist/lib/storage/s3-storage.d.ts +0 -29
  1243. package/dist/lib/storage/s3-storage.d.ts.map +0 -1
  1244. package/dist/lib/storage/s3-storage.js +0 -135
  1245. package/dist/lib/storage/s3-storage.js.map +0 -1
  1246. package/dist/lib/tenant-context.d.ts +0 -35
  1247. package/dist/lib/tenant-context.d.ts.map +0 -1
  1248. package/dist/lib/tenant-context.js +0 -54
  1249. package/dist/lib/tenant-context.js.map +0 -1
@@ -1,57 +1,20 @@
1
- "use strict";
2
1
  /**
3
2
  * Media Routes
4
3
  *
5
4
  * Handles media file uploads (images, videos) for posts and profiles.
6
5
  * Implements content-addressed storage (CAS) with SHA-256 hashing for deduplication.
7
6
  */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.mediaRoutes = void 0;
43
- const cors_handler_1 = require("../cors-handler");
44
- const database_connection_manager_1 = require("../database-connection-manager");
45
- const db_query_helper_1 = require("../db-query-helper");
46
- const logger_1 = require("../logger");
47
- const media_handler_1 = require("../media-handler");
48
- const middleware_1 = require("../middleware");
49
- const rate_limit_1 = require("../rate-limit");
50
- const secret_resolver_1 = require("../secret-resolver");
51
- const security_headers_1 = require("../security-headers");
52
- const session_manager_1 = require("../session-manager");
53
- const image_normalizer_1 = require("../services/image-normalizer");
54
- const media_upload_service_1 = require("../services/media-upload-service");
7
+ import { CorsHandler } from "../cors-handler.js";
8
+ import { sharedDatabaseConnectionManager } from "../database-connection-manager.js";
9
+ import { QueryTimeoutPresets, withQueryTimeoutAndRetry, } from "../db-query-helper.js";
10
+ import { getLogger } from "../logger.js";
11
+ import { MediaHandler } from "../media-handler.js";
12
+ import { corsMiddleware, csrfMiddleware } from "../middleware.js";
13
+ import { RateLimiter } from "../rate-limit.js";
14
+ import { SecurityHeaders } from "../security-headers.js";
15
+ import { SessionManager } from "../session-cookie.js";
16
+ import { ImageNormalizer } from "../services/image-normalizer.js";
17
+ import { MediaUploadService } from "../services/media-upload-service.js";
55
18
  /**
56
19
  * Generate SHA-256 content hash for content-addressed storage
57
20
  */
@@ -172,13 +135,13 @@ function validateMagicNumbers(bytes, declaredMimeType) {
172
135
  * Shared function used by both /api/media/:mediaId and /api/media/:hash routes
173
136
  */
174
137
  async function serveMediaByHash(contentHash, variant, request, env, session) {
175
- const logger = logger_1.Logger.getInstance(env);
138
+ const logger = getLogger();
176
139
  logger.debug("SERVE MEDIA BY HASH: Starting", {
177
140
  contentHash,
178
141
  variant,
179
142
  userId: session.userId,
180
143
  });
181
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
144
+ const securityHeaders = new SecurityHeaders(env);
182
145
  try {
183
146
  // Wrap entire function in try-catch to catch any unexpected errors
184
147
  logger.debug("SERVE MEDIA: Inside try block");
@@ -187,7 +150,7 @@ async function serveMediaByHash(contentHash, variant, request, env, session) {
187
150
  try {
188
151
  const region = "US"; // TODO: Get from session or request
189
152
  // Using retry logic with exponential backoff for connection resilience
190
- mediaFile = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(database_connection_manager_1.sharedDatabaseConnectionManager, region, env, async (db) => {
153
+ mediaFile = await withQueryTimeoutAndRetry(sharedDatabaseConnectionManager, region, env, async (db) => {
191
154
  const dbAny = db;
192
155
  if (dbAny.mediaFile) {
193
156
  return await dbAny.mediaFile.findUnique({
@@ -196,7 +159,7 @@ async function serveMediaByHash(contentHash, variant, request, env, session) {
196
159
  }
197
160
  return null;
198
161
  }, {
199
- ...db_query_helper_1.QueryTimeoutPresets.USER_FACING,
162
+ ...QueryTimeoutPresets.USER_FACING,
200
163
  maxRetries: 3,
201
164
  baseDelayMs: 100,
202
165
  context: {
@@ -231,7 +194,7 @@ async function serveMediaByHash(contentHash, variant, request, env, session) {
231
194
  const r2Bucket = env.MEDIA_BUCKET_R2 || env.R2_BUCKET;
232
195
  if (!r2Bucket) {
233
196
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Media storage not configured" }), { status: 503, headers: { "content-type": "application/json" } });
234
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
197
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
235
198
  }
236
199
  // Determine which R2 key to serve
237
200
  let r2Key = null;
@@ -513,7 +476,7 @@ async function serveMediaByHash(contentHash, variant, request, env, session) {
513
476
  source: "serveMediaByHash-noKey",
514
477
  ...(debugInfo && { debug: debugInfo }),
515
478
  }), { status: 404, headers: { "content-type": "application/json" } });
516
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
479
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
517
480
  }
518
481
  const object = await r2Bucket.get(r2Key);
519
482
  if (!object) {
@@ -537,7 +500,7 @@ async function serveMediaByHash(contentHash, variant, request, env, session) {
537
500
  source: "serveMediaByHash",
538
501
  ...(debugInfo && { debug: debugInfo }),
539
502
  }), { status: 404, headers: { "content-type": "application/json" } });
540
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
503
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
541
504
  }
542
505
  // Get content type from object metadata or use determined type
543
506
  const objectContentType = object.httpMetadata?.contentType || contentType;
@@ -554,7 +517,7 @@ async function serveMediaByHash(contentHash, variant, request, env, session) {
554
517
  "X-Debug-Timestamp": Date.now().toString(), // Unique per request
555
518
  },
556
519
  });
557
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
520
+ return CorsHandler.addCorsHeaders(response, request, env);
558
521
  }
559
522
  catch (unexpectedError) {
560
523
  // Catch any unexpected errors in serveMediaByHash
@@ -571,7 +534,7 @@ async function serveMediaByHash(contentHash, variant, request, env, session) {
571
534
  contentHash,
572
535
  variant,
573
536
  }), { status: 500, headers: { "content-type": "application/json" } });
574
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
537
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
575
538
  }
576
539
  }
577
540
  /**
@@ -620,15 +583,15 @@ function checkSuspiciousContent(bytes, mimeType) {
620
583
  }
621
584
  return suspicious;
622
585
  }
623
- exports.mediaRoutes = [
586
+ export const mediaRoutes = [
624
587
  {
625
588
  path: "/api/media/upload",
626
589
  method: "POST",
627
590
  handler: async (request, env) => {
628
- const sessionManager = new session_manager_1.SessionManager();
629
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
630
- const logger = logger_1.Logger.getInstance(env);
631
- const rateLimiter = new rate_limit_1.RateLimiter();
591
+ const sessionManager = new SessionManager();
592
+ const securityHeaders = new SecurityHeaders(env);
593
+ const logger = getLogger();
594
+ const rateLimiter = new RateLimiter();
632
595
  // Check authentication
633
596
  const authHeader = request.headers.get("Authorization");
634
597
  logger.debug("[Media Upload] Attempting to get session", {
@@ -636,14 +599,14 @@ exports.mediaRoutes = [
636
599
  hasAuthHeader: !!authHeader,
637
600
  authHeaderPreview: authHeader?.substring(0, 50) || "none",
638
601
  });
639
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
602
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
640
603
  if (!session) {
641
604
  logger.warn("[Media Upload] Unauthorized - no valid session", {
642
605
  hasCookie: !!request.headers.get("Cookie"),
643
606
  hasAuthHeader: !!authHeader,
644
607
  });
645
608
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
646
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
609
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
647
610
  }
648
611
  // Apply rate limiting: 10 uploads per 60s per user
649
612
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media/upload", 10, 60, session.userId);
@@ -665,7 +628,7 @@ exports.mediaRoutes = [
665
628
  error: "Invalid request format",
666
629
  message: "Failed to parse multipart form data",
667
630
  }), { status: 400, headers: { "content-type": "application/json" } });
668
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
631
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
669
632
  }
670
633
  const file = formData.get("file");
671
634
  if (!file) {
@@ -677,7 +640,7 @@ exports.mediaRoutes = [
677
640
  error: "No file provided",
678
641
  message: "File field is required in multipart form data",
679
642
  }), { status: 400, headers: { "content-type": "application/json" } });
680
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
643
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
681
644
  }
682
645
  // Check if file is empty
683
646
  if (file.size === 0) {
@@ -689,7 +652,7 @@ exports.mediaRoutes = [
689
652
  error: "Empty file",
690
653
  message: "File cannot be empty",
691
654
  }), { status: 400, headers: { "content-type": "application/json" } });
692
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
655
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
693
656
  }
694
657
  // Validate file type
695
658
  const allowedImageTypes = [
@@ -722,7 +685,7 @@ exports.mediaRoutes = [
722
685
  error: "File read error",
723
686
  message: "Failed to read file data",
724
687
  }), { status: 400, headers: { "content-type": "application/json" } });
725
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
688
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
726
689
  }
727
690
  if (fileBuffer.byteLength === 0) {
728
691
  logger.warn("Media upload failed: File buffer is empty", {
@@ -734,7 +697,7 @@ exports.mediaRoutes = [
734
697
  error: "Empty file",
735
698
  message: "File data is empty",
736
699
  }), { status: 400, headers: { "content-type": "application/json" } });
737
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
700
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
738
701
  }
739
702
  const bytes = new Uint8Array(fileBuffer);
740
703
  // Always detect MIME type from magic numbers (trust the file, not the declared type)
@@ -823,7 +786,7 @@ exports.mediaRoutes = [
823
786
  fileName: file.name,
824
787
  },
825
788
  }), { status: 400, headers: { "content-type": "application/json" } });
826
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
789
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
827
790
  }
828
791
  // Validate file size (per documentation: 10MB for images, 100MB for videos)
829
792
  const maxImageSize = 10 * 1024 * 1024; // 10MB
@@ -836,7 +799,7 @@ exports.mediaRoutes = [
836
799
  ? "Image must be 10MB or less"
837
800
  : "Video must be 100MB or less",
838
801
  }), { status: 400, headers: { "content-type": "application/json" } });
839
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
802
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
840
803
  }
841
804
  // File buffer already read above for MIME type detection
842
805
  // Reuse the bytes array
@@ -862,7 +825,7 @@ exports.mediaRoutes = [
862
825
  error: "Invalid file signature",
863
826
  message: "File signature does not match detected file type. File may be corrupted or malicious.",
864
827
  }), { status: 400, headers: { "content-type": "application/json" } });
865
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
828
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
866
829
  }
867
830
  // Check for suspicious patterns
868
831
  const suspicious = checkSuspiciousContent(bytes, mimeType);
@@ -881,7 +844,7 @@ exports.mediaRoutes = [
881
844
  // Extract metadata (best effort, non-fatal)
882
845
  let extracted = {};
883
846
  try {
884
- const { MetadataExtractor } = await Promise.resolve().then(() => __importStar(require("../metadata/metadata-extractor")));
847
+ const { MetadataExtractor } = await import("../metadata/metadata-extractor.js");
885
848
  const extractor = new MetadataExtractor(env);
886
849
  extracted = await extractor.extractAll(fileBuffer, mimeType);
887
850
  }
@@ -904,13 +867,13 @@ exports.mediaRoutes = [
904
867
  // Pass the already-read fileBuffer to avoid a second file.arrayBuffer() call.
905
868
  // On Cloudflare Workers, File objects from FormData may not support
906
869
  // reliable re-reads of arrayBuffer(), causing a different contentHash.
907
- const uploadService = new media_upload_service_1.MediaUploadService(env);
870
+ const uploadService = new MediaUploadService(env);
908
871
  const result = await uploadService.uploadSingle(file, session.userId, metadata, fileBuffer);
909
872
  // Normalize images to sRGB (non-blocking, best effort)
910
873
  let optimizedKey = null;
911
874
  if (mimeType.startsWith("image/")) {
912
875
  if (env.IMAGES && env.MEDIA_BUCKET_R2) {
913
- const normalizer = new image_normalizer_1.ImageNormalizer(env.IMAGES, env.MEDIA_BUCKET_R2);
876
+ const normalizer = new ImageNormalizer(env.IMAGES, env.MEDIA_BUCKET_R2);
914
877
  const startTime = Date.now();
915
878
  logger.info("image_normalization.started", {
916
879
  contentHash: result.contentHash,
@@ -950,7 +913,7 @@ exports.mediaRoutes = [
950
913
  const uploadOriginalKey = `media/${result.contentHash}.${getExtensionFromMimeType(mimeType)}`;
951
914
  const uploadRegion = "US"; // TODO: Get from session or request
952
915
  try {
953
- await (0, db_query_helper_1.withQueryTimeoutAndRetry)(database_connection_manager_1.sharedDatabaseConnectionManager, uploadRegion, env, async (db) => {
916
+ await withQueryTimeoutAndRetry(sharedDatabaseConnectionManager, uploadRegion, env, async (db) => {
954
917
  return await db.mediaFile.upsert({
955
918
  where: { contentHash: result.contentHash },
956
919
  create: {
@@ -975,7 +938,7 @@ exports.mediaRoutes = [
975
938
  },
976
939
  });
977
940
  }, {
978
- ...db_query_helper_1.QueryTimeoutPresets.USER_FACING,
941
+ ...QueryTimeoutPresets.USER_FACING,
979
942
  maxRetries: 1,
980
943
  context: {
981
944
  operation: "mediaUpload_createRecord",
@@ -997,7 +960,7 @@ exports.mediaRoutes = [
997
960
  status: 500,
998
961
  headers: { "content-type": "application/json" },
999
962
  });
1000
- return cors_handler_1.CorsHandler.addCorsHeaders(dbErrorResponse, request, env);
963
+ return CorsHandler.addCorsHeaders(dbErrorResponse, request, env);
1001
964
  }
1002
965
  logger.debug("[Media Upload] DB record created successfully", {
1003
966
  contentHash: result.contentHash,
@@ -1019,7 +982,7 @@ exports.mediaRoutes = [
1019
982
  contentHash: result.contentHash,
1020
983
  status: result.status,
1021
984
  }), { status: 200, headers: { "content-type": "application/json" } });
1022
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
985
+ return CorsHandler.addCorsHeaders(response, request, env);
1023
986
  }
1024
987
  catch (error) {
1025
988
  logger.error("Error handling media upload:", error);
@@ -1027,26 +990,26 @@ exports.mediaRoutes = [
1027
990
  error: "Failed to upload media",
1028
991
  message: error.message || "An unexpected error occurred",
1029
992
  }), { status: 500, headers: { "content-type": "application/json" } });
1030
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
993
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1031
994
  }
1032
995
  },
1033
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
996
+ middleware: [corsMiddleware(), csrfMiddleware()],
1034
997
  description: "Upload media file (image or video) with content-addressed storage",
1035
998
  },
1036
999
  {
1037
1000
  path: "/api/media/upload/batch",
1038
1001
  method: "POST",
1039
1002
  handler: async (request, env) => {
1040
- const sessionManager = new session_manager_1.SessionManager();
1041
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1042
- const logger = logger_1.Logger.getInstance(env);
1043
- const rateLimiter = new rate_limit_1.RateLimiter();
1003
+ const sessionManager = new SessionManager();
1004
+ const securityHeaders = new SecurityHeaders(env);
1005
+ const logger = getLogger();
1006
+ const rateLimiter = new RateLimiter();
1044
1007
  // Check authentication
1045
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1008
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1046
1009
  if (!session) {
1047
1010
  logger.warn("[Media Batch Upload] Unauthorized");
1048
1011
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1049
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1012
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1050
1013
  }
1051
1014
  // Apply rate limiting: 5 batch uploads per 60s per user (stricter than single)
1052
1015
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media/upload/batch", 5, 60, session.userId);
@@ -1082,7 +1045,7 @@ exports.mediaRoutes = [
1082
1045
  error: "No files provided",
1083
1046
  message: "At least one file is required",
1084
1047
  }), { status: 400, headers: { "content-type": "application/json" } });
1085
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1048
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1086
1049
  }
1087
1050
  if (files.length > 20) {
1088
1051
  logger.warn("[Media Batch Upload] Too many files", {
@@ -1093,14 +1056,14 @@ exports.mediaRoutes = [
1093
1056
  error: "Too many files",
1094
1057
  message: "Maximum 20 files per batch",
1095
1058
  }), { status: 400, headers: { "content-type": "application/json" } });
1096
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1059
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1097
1060
  }
1098
1061
  logger.info("[Media Batch Upload] Processing batch", {
1099
1062
  userId: session.userId,
1100
1063
  fileCount: files.length,
1101
1064
  });
1102
1065
  // Use MediaUploadService for batch upload
1103
- const uploadService = new media_upload_service_1.MediaUploadService(env);
1066
+ const uploadService = new MediaUploadService(env);
1104
1067
  const results = await uploadService.uploadBatch(files, session.userId);
1105
1068
  const successCount = results.filter((r) => r.success).length;
1106
1069
  const failureCount = results.filter((r) => !r.success).length;
@@ -1118,7 +1081,7 @@ exports.mediaRoutes = [
1118
1081
  failed: failureCount,
1119
1082
  },
1120
1083
  }), { status: 200, headers: { "content-type": "application/json" } });
1121
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1084
+ return CorsHandler.addCorsHeaders(response, request, env);
1122
1085
  }
1123
1086
  catch (error) {
1124
1087
  logger.error("[Media Batch Upload] Error:", error);
@@ -1126,10 +1089,10 @@ exports.mediaRoutes = [
1126
1089
  error: "Failed to upload media batch",
1127
1090
  message: error.message || "An unexpected error occurred",
1128
1091
  }), { status: 500, headers: { "content-type": "application/json" } });
1129
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1092
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1130
1093
  }
1131
1094
  },
1132
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
1095
+ middleware: [corsMiddleware(), csrfMiddleware()],
1133
1096
  description: "Upload multiple media files in a single batch request",
1134
1097
  },
1135
1098
  {
@@ -1137,19 +1100,19 @@ exports.mediaRoutes = [
1137
1100
  method: "GET",
1138
1101
  handler: async (request, env) => {
1139
1102
  const startTime = Date.now();
1140
- const sessionManager = new session_manager_1.SessionManager();
1141
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1142
- const logger = logger_1.Logger.getInstance(env);
1143
- const rateLimiter = new rate_limit_1.RateLimiter();
1144
- const mediaHandler = media_handler_1.MediaHandler.create(env);
1145
- const { MediaMetrics } = await Promise.resolve().then(() => __importStar(require("../media-metrics")));
1146
- const { RegionDetector } = await Promise.resolve().then(() => __importStar(require("../region-detection")));
1103
+ const sessionManager = new SessionManager();
1104
+ const securityHeaders = new SecurityHeaders(env);
1105
+ const logger = getLogger();
1106
+ const rateLimiter = new RateLimiter();
1107
+ const mediaHandler = MediaHandler.create(env);
1108
+ const { MediaMetrics } = await import("../media-metrics.js");
1109
+ const { RegionDetector } = await import("../region-detection.js");
1147
1110
  const metrics = new MediaMetrics(env);
1148
1111
  // Check authentication
1149
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1112
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1150
1113
  if (!session) {
1151
1114
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1152
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1115
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1153
1116
  }
1154
1117
  // Apply rate limiting: 60 requests per minute per user
1155
1118
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media/grouped", 60, 60, session.userId);
@@ -1178,7 +1141,7 @@ exports.mediaRoutes = [
1178
1141
  error: "Invalid groupBy",
1179
1142
  message: 'groupBy must be "month" or "year"',
1180
1143
  }), { status: 400, headers: { "content-type": "application/json" } });
1181
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1144
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1182
1145
  }
1183
1146
  const includeHidden = url.searchParams.get("includeHidden") === "true";
1184
1147
  const type = url.searchParams.get("type") || "all";
@@ -1203,7 +1166,7 @@ exports.mediaRoutes = [
1203
1166
  error: "Invalid limit",
1204
1167
  message: "Limit must be between 1 and 10000",
1205
1168
  }), { status: 400, headers: { "content-type": "application/json" } });
1206
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1169
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1207
1170
  }
1208
1171
  const result = await mediaHandler.listUserMediaGrouped(session.userId, groupBy, {
1209
1172
  includeHidden,
@@ -1218,7 +1181,7 @@ exports.mediaRoutes = [
1218
1181
  // Track metrics
1219
1182
  metrics.trackGrouped("/api/media/grouped", duration, result.groups.length, totalItems, 200, region, session.userId);
1220
1183
  const response = securityHeaders.createSecureResponse(JSON.stringify(result), { status: 200, headers: { "content-type": "application/json" } });
1221
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1184
+ return CorsHandler.addCorsHeaders(response, request, env);
1222
1185
  }
1223
1186
  catch (error) {
1224
1187
  const duration = Date.now() - startTime;
@@ -1243,10 +1206,10 @@ exports.mediaRoutes = [
1243
1206
  status: statusCode,
1244
1207
  headers: { "content-type": "application/json" },
1245
1208
  });
1246
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1209
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1247
1210
  }
1248
1211
  },
1249
- middleware: [(0, middleware_1.corsMiddleware)()],
1212
+ middleware: [corsMiddleware()],
1250
1213
  description: "List user media grouped by month or year",
1251
1214
  },
1252
1215
  {
@@ -1254,19 +1217,19 @@ exports.mediaRoutes = [
1254
1217
  method: "GET",
1255
1218
  handler: async (request, env) => {
1256
1219
  const startTime = Date.now();
1257
- const sessionManager = new session_manager_1.SessionManager();
1258
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1259
- const logger = logger_1.Logger.getInstance(env);
1260
- const rateLimiter = new rate_limit_1.RateLimiter();
1261
- const mediaHandler = media_handler_1.MediaHandler.create(env);
1262
- const { MediaMetrics } = await Promise.resolve().then(() => __importStar(require("../media-metrics")));
1263
- const { RegionDetector } = await Promise.resolve().then(() => __importStar(require("../region-detection")));
1220
+ const sessionManager = new SessionManager();
1221
+ const securityHeaders = new SecurityHeaders(env);
1222
+ const logger = getLogger();
1223
+ const rateLimiter = new RateLimiter();
1224
+ const mediaHandler = MediaHandler.create(env);
1225
+ const { MediaMetrics } = await import("../media-metrics.js");
1226
+ const { RegionDetector } = await import("../region-detection.js");
1264
1227
  const metrics = new MediaMetrics(env);
1265
1228
  // Check authentication
1266
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1229
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1267
1230
  if (!session) {
1268
1231
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1269
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1232
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1270
1233
  }
1271
1234
  // Apply rate limiting: 60 requests per minute per user
1272
1235
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media/stats", 60, 60, session.userId);
@@ -1284,7 +1247,7 @@ exports.mediaRoutes = [
1284
1247
  // Track metrics
1285
1248
  metrics.trackStats("/api/media/stats", duration, result.totalCount, 200, region, session.userId);
1286
1249
  const response = securityHeaders.createSecureResponse(JSON.stringify(result), { status: 200, headers: { "content-type": "application/json" } });
1287
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1250
+ return CorsHandler.addCorsHeaders(response, request, env);
1288
1251
  }
1289
1252
  catch (error) {
1290
1253
  const duration = Date.now() - startTime;
@@ -1309,10 +1272,10 @@ exports.mediaRoutes = [
1309
1272
  status: statusCode,
1310
1273
  headers: { "content-type": "application/json" },
1311
1274
  });
1312
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1275
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1313
1276
  }
1314
1277
  },
1315
- middleware: [(0, middleware_1.corsMiddleware)()],
1278
+ middleware: [corsMiddleware()],
1316
1279
  description: "Get media statistics",
1317
1280
  },
1318
1281
  {
@@ -1320,23 +1283,23 @@ exports.mediaRoutes = [
1320
1283
  method: "GET",
1321
1284
  handler: async (request, env, context) => {
1322
1285
  const startTime = Date.now();
1323
- const sessionManager = new session_manager_1.SessionManager();
1324
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1325
- const logger = logger_1.Logger.getInstance(env);
1286
+ const sessionManager = new SessionManager();
1287
+ const securityHeaders = new SecurityHeaders(env);
1288
+ const logger = getLogger();
1326
1289
  logger.debug("MEDIA ROUTE: /api/media/:mediaId GET handler called", {
1327
1290
  url: request.url,
1328
1291
  mediaId: context.params?.mediaId,
1329
1292
  });
1330
- const rateLimiter = new rate_limit_1.RateLimiter();
1331
- const mediaHandler = media_handler_1.MediaHandler.create(env);
1332
- const { MediaMetrics } = await Promise.resolve().then(() => __importStar(require("../media-metrics")));
1333
- const { RegionDetector } = await Promise.resolve().then(() => __importStar(require("../region-detection")));
1293
+ const rateLimiter = new RateLimiter();
1294
+ const mediaHandler = MediaHandler.create(env);
1295
+ const { MediaMetrics } = await import("../media-metrics.js");
1296
+ const { RegionDetector } = await import("../region-detection.js");
1334
1297
  const metrics = new MediaMetrics(env);
1335
1298
  // Check authentication
1336
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1299
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1337
1300
  if (!session) {
1338
1301
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1339
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1302
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1340
1303
  }
1341
1304
  // Apply rate limiting: 120 requests per minute per user
1342
1305
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media/:mediaId", 120, 60, session.userId);
@@ -1362,7 +1325,7 @@ exports.mediaRoutes = [
1362
1325
  error: "Invalid request",
1363
1326
  message: "Media ID is required",
1364
1327
  }), { status: 400, headers: { "content-type": "application/json" } });
1365
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1328
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1366
1329
  }
1367
1330
  // Check if this is actually a content hash request (64-char hex)
1368
1331
  // Content hashes are hex strings and typically 64 characters
@@ -1417,7 +1380,7 @@ exports.mediaRoutes = [
1417
1380
  expires: new Date(Date.now() + 5 * 60 * 1000).toUTCString(),
1418
1381
  },
1419
1382
  });
1420
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1383
+ return CorsHandler.addCorsHeaders(response, request, env);
1421
1384
  }
1422
1385
  catch (error) {
1423
1386
  const duration = Date.now() - startTime;
@@ -1444,24 +1407,24 @@ exports.mediaRoutes = [
1444
1407
  message: error.message || "An unexpected error occurred",
1445
1408
  source: "mediaId-route-catch",
1446
1409
  }), { status, headers: { "content-type": "application/json" } });
1447
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1410
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1448
1411
  }
1449
1412
  },
1450
- middleware: [(0, middleware_1.corsMiddleware)()],
1413
+ middleware: [corsMiddleware()],
1451
1414
  description: "Get detailed information about a media file",
1452
1415
  },
1453
1416
  {
1454
1417
  path: "/api/media/:hash",
1455
1418
  method: "GET",
1456
1419
  handler: async (request, env, { params }) => {
1457
- const sessionManager = new session_manager_1.SessionManager();
1458
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1459
- const logger = logger_1.Logger.getInstance(env);
1420
+ const sessionManager = new SessionManager();
1421
+ const securityHeaders = new SecurityHeaders(env);
1422
+ const logger = getLogger();
1460
1423
  // Check authentication
1461
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1424
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1462
1425
  if (!session) {
1463
1426
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1464
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1427
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1465
1428
  }
1466
1429
  try {
1467
1430
  const contentHash = params.hash;
@@ -1470,7 +1433,7 @@ exports.mediaRoutes = [
1470
1433
  error: "Missing content hash",
1471
1434
  source: "hash-route",
1472
1435
  }), { status: 400, headers: { "content-type": "application/json" } });
1473
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1436
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1474
1437
  }
1475
1438
  // Parse variant from query params (thumbnail, optimized, original)
1476
1439
  const url = new URL(request.url);
@@ -1490,27 +1453,27 @@ exports.mediaRoutes = [
1490
1453
  message: error.message || "An unexpected error occurred",
1491
1454
  source: "hash-route-catch",
1492
1455
  }), { status: 500, headers: { "content-type": "application/json" } });
1493
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1456
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1494
1457
  }
1495
1458
  },
1496
- middleware: [(0, middleware_1.corsMiddleware)()],
1459
+ middleware: [corsMiddleware()],
1497
1460
  description: "Serve media file by content hash with variant support",
1498
1461
  },
1499
1462
  {
1500
1463
  path: "/api/media",
1501
1464
  method: "GET",
1502
1465
  handler: async (request, env) => {
1503
- const sessionManager = new session_manager_1.SessionManager();
1504
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1505
- const logger = logger_1.Logger.getInstance(env);
1506
- const rateLimiter = new rate_limit_1.RateLimiter();
1507
- const mediaHandler = media_handler_1.MediaHandler.create(env);
1508
- const { MediaMetrics } = await Promise.resolve().then(() => __importStar(require("../media-metrics")));
1509
- const { RegionDetector } = await Promise.resolve().then(() => __importStar(require("../region-detection")));
1466
+ const sessionManager = new SessionManager();
1467
+ const securityHeaders = new SecurityHeaders(env);
1468
+ const logger = getLogger();
1469
+ const rateLimiter = new RateLimiter();
1470
+ const mediaHandler = MediaHandler.create(env);
1471
+ const { MediaMetrics } = await import("../media-metrics.js");
1472
+ const { RegionDetector } = await import("../region-detection.js");
1510
1473
  const metrics = new MediaMetrics(env);
1511
1474
  const startTime = Date.now();
1512
1475
  // Check authentication
1513
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1476
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1514
1477
  if (!session) {
1515
1478
  const duration = Date.now() - startTime;
1516
1479
  metrics.trackOperation({
@@ -1521,7 +1484,7 @@ exports.mediaRoutes = [
1521
1484
  errorType: "unauthorized",
1522
1485
  });
1523
1486
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1524
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1487
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1525
1488
  }
1526
1489
  // Apply rate limiting: 60 requests per minute per user
1527
1490
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media", 60, 60, session.userId);
@@ -1556,7 +1519,7 @@ exports.mediaRoutes = [
1556
1519
  error: "Invalid limit",
1557
1520
  message: "Limit must be between 1 and 100",
1558
1521
  }), { status: 400, headers: { "content-type": "application/json" } });
1559
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1522
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1560
1523
  }
1561
1524
  // Get user media
1562
1525
  const result = await mediaHandler.listUserMedia(session.userId, {
@@ -1573,7 +1536,7 @@ exports.mediaRoutes = [
1573
1536
  // Track metrics
1574
1537
  metrics.trackList("/api/media", duration, result.media.length, 200, region, session.userId);
1575
1538
  const response = securityHeaders.createSecureResponse(JSON.stringify(result), { status: 200, headers: { "content-type": "application/json" } });
1576
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1539
+ return CorsHandler.addCorsHeaders(response, request, env);
1577
1540
  }
1578
1541
  catch (error) {
1579
1542
  const duration = Date.now() - startTime;
@@ -1598,10 +1561,10 @@ exports.mediaRoutes = [
1598
1561
  status: statusCode,
1599
1562
  headers: { "content-type": "application/json" },
1600
1563
  });
1601
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1564
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1602
1565
  }
1603
1566
  },
1604
- middleware: [(0, middleware_1.corsMiddleware)()],
1567
+ middleware: [corsMiddleware()],
1605
1568
  description: "List user media with pagination, sorting, and filtering",
1606
1569
  },
1607
1570
  {
@@ -1609,19 +1572,19 @@ exports.mediaRoutes = [
1609
1572
  method: "POST",
1610
1573
  handler: async (request, env, context) => {
1611
1574
  const startTime = Date.now();
1612
- const sessionManager = new session_manager_1.SessionManager();
1613
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1614
- const logger = logger_1.Logger.getInstance(env);
1615
- const rateLimiter = new rate_limit_1.RateLimiter();
1616
- const mediaHandler = media_handler_1.MediaHandler.create(env);
1617
- const { MediaMetrics } = await Promise.resolve().then(() => __importStar(require("../media-metrics")));
1618
- const { RegionDetector } = await Promise.resolve().then(() => __importStar(require("../region-detection")));
1575
+ const sessionManager = new SessionManager();
1576
+ const securityHeaders = new SecurityHeaders(env);
1577
+ const logger = getLogger();
1578
+ const rateLimiter = new RateLimiter();
1579
+ const mediaHandler = MediaHandler.create(env);
1580
+ const { MediaMetrics } = await import("../media-metrics.js");
1581
+ const { RegionDetector } = await import("../region-detection.js");
1619
1582
  const metrics = new MediaMetrics(env);
1620
1583
  // Check authentication
1621
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1584
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1622
1585
  if (!session) {
1623
1586
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1624
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1587
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1625
1588
  }
1626
1589
  // Apply rate limiting: 10 requests per minute per user
1627
1590
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media/:mediaId/hide", 10, 60, session.userId);
@@ -1647,7 +1610,7 @@ exports.mediaRoutes = [
1647
1610
  error: "Invalid request",
1648
1611
  message: "Media ID is required",
1649
1612
  }), { status: 400, headers: { "content-type": "application/json" } });
1650
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1613
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1651
1614
  }
1652
1615
  // Hide media
1653
1616
  const result = await mediaHandler.hideMedia(mediaId, session.userId, env, request);
@@ -1660,7 +1623,7 @@ exports.mediaRoutes = [
1660
1623
  success: true,
1661
1624
  media: result,
1662
1625
  }), { status: 200, headers: { "content-type": "application/json" } });
1663
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1626
+ return CorsHandler.addCorsHeaders(response, request, env);
1664
1627
  }
1665
1628
  catch (error) {
1666
1629
  const duration = Date.now() - startTime;
@@ -1692,10 +1655,10 @@ exports.mediaRoutes = [
1692
1655
  error: message,
1693
1656
  message: error.message || "An unexpected error occurred",
1694
1657
  }), { status, headers: { "content-type": "application/json" } });
1695
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1658
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1696
1659
  }
1697
1660
  },
1698
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
1661
+ middleware: [corsMiddleware(), csrfMiddleware()],
1699
1662
  description: "Hide a media file from all posts",
1700
1663
  },
1701
1664
  {
@@ -1703,19 +1666,19 @@ exports.mediaRoutes = [
1703
1666
  method: "POST",
1704
1667
  handler: async (request, env, context) => {
1705
1668
  const startTime = Date.now();
1706
- const sessionManager = new session_manager_1.SessionManager();
1707
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1708
- const logger = logger_1.Logger.getInstance(env);
1709
- const rateLimiter = new rate_limit_1.RateLimiter();
1710
- const mediaHandler = media_handler_1.MediaHandler.create(env);
1711
- const { MediaMetrics } = await Promise.resolve().then(() => __importStar(require("../media-metrics")));
1712
- const { RegionDetector } = await Promise.resolve().then(() => __importStar(require("../region-detection")));
1669
+ const sessionManager = new SessionManager();
1670
+ const securityHeaders = new SecurityHeaders(env);
1671
+ const logger = getLogger();
1672
+ const rateLimiter = new RateLimiter();
1673
+ const mediaHandler = MediaHandler.create(env);
1674
+ const { MediaMetrics } = await import("../media-metrics.js");
1675
+ const { RegionDetector } = await import("../region-detection.js");
1713
1676
  const metrics = new MediaMetrics(env);
1714
1677
  // Check authentication
1715
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1678
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1716
1679
  if (!session) {
1717
1680
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1718
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1681
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1719
1682
  }
1720
1683
  // Apply rate limiting: 10 requests per minute per user
1721
1684
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media/:mediaId/unhide", 10, 60, session.userId);
@@ -1741,7 +1704,7 @@ exports.mediaRoutes = [
1741
1704
  error: "Invalid request",
1742
1705
  message: "Media ID is required",
1743
1706
  }), { status: 400, headers: { "content-type": "application/json" } });
1744
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1707
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1745
1708
  }
1746
1709
  // Unhide media
1747
1710
  const result = await mediaHandler.unhideMedia(mediaId, session.userId, env, request);
@@ -1754,7 +1717,7 @@ exports.mediaRoutes = [
1754
1717
  success: true,
1755
1718
  media: result,
1756
1719
  }), { status: 200, headers: { "content-type": "application/json" } });
1757
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1720
+ return CorsHandler.addCorsHeaders(response, request, env);
1758
1721
  }
1759
1722
  catch (error) {
1760
1723
  const duration = Date.now() - startTime;
@@ -1786,10 +1749,10 @@ exports.mediaRoutes = [
1786
1749
  error: message,
1787
1750
  message: error.message || "An unexpected error occurred",
1788
1751
  }), { status, headers: { "content-type": "application/json" } });
1789
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1752
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1790
1753
  }
1791
1754
  },
1792
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
1755
+ middleware: [corsMiddleware(), csrfMiddleware()],
1793
1756
  description: "Unhide a media file (make it visible again)",
1794
1757
  },
1795
1758
  {
@@ -1797,19 +1760,19 @@ exports.mediaRoutes = [
1797
1760
  method: "DELETE",
1798
1761
  handler: async (request, env, context) => {
1799
1762
  const startTime = Date.now();
1800
- const sessionManager = new session_manager_1.SessionManager();
1801
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1802
- const logger = logger_1.Logger.getInstance(env);
1803
- const rateLimiter = new rate_limit_1.RateLimiter();
1804
- const mediaHandler = media_handler_1.MediaHandler.create(env);
1805
- const { MediaMetrics } = await Promise.resolve().then(() => __importStar(require("../media-metrics")));
1806
- const { RegionDetector } = await Promise.resolve().then(() => __importStar(require("../region-detection")));
1763
+ const sessionManager = new SessionManager();
1764
+ const securityHeaders = new SecurityHeaders(env);
1765
+ const logger = getLogger();
1766
+ const rateLimiter = new RateLimiter();
1767
+ const mediaHandler = MediaHandler.create(env);
1768
+ const { MediaMetrics } = await import("../media-metrics.js");
1769
+ const { RegionDetector } = await import("../region-detection.js");
1807
1770
  const metrics = new MediaMetrics(env);
1808
1771
  // Check authentication
1809
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1772
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1810
1773
  if (!session) {
1811
1774
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1812
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1775
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1813
1776
  }
1814
1777
  // Apply rate limiting: 10 requests per minute per user
1815
1778
  const rateLimitResponse = await rateLimiter.applyRateLimitKV(env, request, "/api/media/:mediaId", 10, 60, session.userId);
@@ -1835,7 +1798,7 @@ exports.mediaRoutes = [
1835
1798
  error: "Invalid request",
1836
1799
  message: "Media ID is required",
1837
1800
  }), { status: 400, headers: { "content-type": "application/json" } });
1838
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1801
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1839
1802
  }
1840
1803
  // Delete media
1841
1804
  try {
@@ -1849,7 +1812,7 @@ exports.mediaRoutes = [
1849
1812
  success: true,
1850
1813
  message: "Media deleted successfully",
1851
1814
  }), { status: 200, headers: { "content-type": "application/json" } });
1852
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1815
+ return CorsHandler.addCorsHeaders(response, request, env);
1853
1816
  }
1854
1817
  catch (deleteError) {
1855
1818
  const duration = Date.now() - startTime;
@@ -1866,7 +1829,7 @@ exports.mediaRoutes = [
1866
1829
  message: deleteError.message,
1867
1830
  action: "hidden", // Media was hidden instead of deleted
1868
1831
  }), { status: 409, headers: { "content-type": "application/json" } });
1869
- return cors_handler_1.CorsHandler.addCorsHeaders(response, request, env);
1832
+ return CorsHandler.addCorsHeaders(response, request, env);
1870
1833
  }
1871
1834
  throw deleteError;
1872
1835
  }
@@ -1900,10 +1863,10 @@ exports.mediaRoutes = [
1900
1863
  error: message,
1901
1864
  message: error.message || "An unexpected error occurred",
1902
1865
  }), { status, headers: { "content-type": "application/json" } });
1903
- return cors_handler_1.CorsHandler.addCorsHeaders(errorResponse, request, env);
1866
+ return CorsHandler.addCorsHeaders(errorResponse, request, env);
1904
1867
  }
1905
1868
  },
1906
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
1869
+ middleware: [corsMiddleware(), csrfMiddleware()],
1907
1870
  description: "Delete a media file (soft delete)",
1908
1871
  },
1909
1872
  ];