@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,82 +1,45 @@
1
- "use strict";
2
1
  /**
3
2
  * Dashboard Routes
4
3
  *
5
4
  * Routes for internal dashboard, partner dashboard, and admin features
6
5
  */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.dashboardRoutes = void 0;
42
- const db_1 = require("../../db");
43
- const worker_1 = require("../../worker");
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 middleware_1 = require("../middleware");
48
- const region_detection_1 = require("../region-detection");
49
- const secret_resolver_1 = require("../secret-resolver");
50
- const security_headers_1 = require("../security-headers");
51
- const session_manager_1 = require("../session-manager");
52
- exports.dashboardRoutes = [
6
+ import { createPrisma } from "../../db.js";
7
+ import { addCorsHeaders } from "../../worker.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 { corsMiddleware, csrfMiddleware } from "../middleware.js";
12
+ import { detectRegionSync } from "../region-detection.js";
13
+ import { SecurityHeaders } from "../security-headers.js";
14
+ import { SessionManager } from "../session-cookie.js";
15
+ export const dashboardRoutes = [
53
16
  // Internal Dashboard - Statistics
54
17
  {
55
18
  path: "/api/dashboard/metrics/users",
56
19
  method: "GET",
57
20
  handler: async (request, env) => {
58
- const sessionManager = new session_manager_1.SessionManager();
59
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
60
- const logger = logger_1.Logger.getInstance(env);
61
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
21
+ const sessionManager = new SessionManager();
22
+ const securityHeaders = new SecurityHeaders(env);
23
+ const logger = getLogger();
24
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
62
25
  if (!session) {
63
26
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
64
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
27
+ return addCorsHeaders(errorResponse, request, env);
65
28
  }
66
29
  try {
67
30
  // Check user role - must be INTERNAL
68
- const region = (0, region_detection_1.detectRegionSync)(request, env);
69
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
70
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
31
+ const region = detectRegionSync(request, env);
32
+ const dbManager = sharedDatabaseConnectionManager;
33
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
71
34
  return db.user.findUnique({
72
35
  where: { id: session.userId },
73
36
  select: { role: true },
74
37
  });
75
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
38
+ }, QueryTimeoutPresets.STANDARD);
76
39
  if (!user ||
77
40
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
78
41
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
79
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
42
+ return addCorsHeaders(errorResponse, request, env);
80
43
  }
81
44
  // Parse query parameters
82
45
  const url = new URL(request.url);
@@ -141,49 +104,49 @@ exports.dashboardRoutes = [
141
104
  changeType,
142
105
  trend,
143
106
  }), { status: 200, headers: { "content-type": "application/json" } });
144
- return (0, worker_1.addCorsHeaders)(response, request, env);
107
+ return addCorsHeaders(response, request, env);
145
108
  }
146
109
  catch (error) {
147
110
  logger.error("[Dashboard] Error getting user metrics:", error);
148
111
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get user metrics" }), { status: 500, headers: { "content-type": "application/json" } });
149
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
112
+ return addCorsHeaders(errorResponse, request, env);
150
113
  }
151
114
  },
152
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
115
+ middleware: [corsMiddleware(), csrfMiddleware()],
153
116
  description: "Get user metrics (DAU/WAU/MAU)",
154
117
  },
155
118
  {
156
119
  path: "/api/dashboard/system/health",
157
120
  method: "GET",
158
121
  handler: async (request, env) => {
159
- const sessionManager = new session_manager_1.SessionManager();
160
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
161
- const logger = logger_1.Logger.getInstance(env);
162
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
122
+ const sessionManager = new SessionManager();
123
+ const securityHeaders = new SecurityHeaders(env);
124
+ const logger = getLogger();
125
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
163
126
  if (!session) {
164
127
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
165
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
128
+ return addCorsHeaders(errorResponse, request, env);
166
129
  }
167
130
  try {
168
131
  // Check user role - must be INTERNAL
169
- const region = (0, region_detection_1.detectRegionSync)(request, env);
170
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
171
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
132
+ const region = detectRegionSync(request, env);
133
+ const dbManager = sharedDatabaseConnectionManager;
134
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
172
135
  return db.user.findUnique({
173
136
  where: { id: session.userId },
174
137
  select: { role: true },
175
138
  });
176
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
139
+ }, QueryTimeoutPresets.STANDARD);
177
140
  if (!user ||
178
141
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
179
142
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
180
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
143
+ return addCorsHeaders(errorResponse, request, env);
181
144
  }
182
145
  // Test database connection
183
146
  let dbStatus = "healthy";
184
147
  let dbUptime = 99.9;
185
148
  try {
186
- await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
149
+ await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
187
150
  await db.user.count();
188
151
  }, { timeoutMs: 2000, retryTimeoutMs: 1000 });
189
152
  }
@@ -208,43 +171,43 @@ exports.dashboardRoutes = [
208
171
  },
209
172
  ],
210
173
  }), { status: 200, headers: { "content-type": "application/json" } });
211
- return (0, worker_1.addCorsHeaders)(response, request, env);
174
+ return addCorsHeaders(response, request, env);
212
175
  }
213
176
  catch (error) {
214
177
  logger.error("[Dashboard] Error getting system health:", error);
215
178
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get system health" }), { status: 500, headers: { "content-type": "application/json" } });
216
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
179
+ return addCorsHeaders(errorResponse, request, env);
217
180
  }
218
181
  },
219
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
182
+ middleware: [corsMiddleware(), csrfMiddleware()],
220
183
  description: "Get system health status",
221
184
  },
222
185
  {
223
186
  path: "/api/dashboard/metrics/performance",
224
187
  method: "GET",
225
188
  handler: async (request, env) => {
226
- const sessionManager = new session_manager_1.SessionManager();
227
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
228
- const logger = logger_1.Logger.getInstance(env);
229
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
189
+ const sessionManager = new SessionManager();
190
+ const securityHeaders = new SecurityHeaders(env);
191
+ const logger = getLogger();
192
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
230
193
  if (!session) {
231
194
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
232
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
195
+ return addCorsHeaders(errorResponse, request, env);
233
196
  }
234
197
  try {
235
198
  // Check user role - must be INTERNAL
236
- const region = (0, region_detection_1.detectRegionSync)(request, env);
237
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
238
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
199
+ const region = detectRegionSync(request, env);
200
+ const dbManager = sharedDatabaseConnectionManager;
201
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
239
202
  return db.user.findUnique({
240
203
  where: { id: session.userId },
241
204
  select: { role: true },
242
205
  });
243
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
206
+ }, QueryTimeoutPresets.STANDARD);
244
207
  if (!user ||
245
208
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
246
209
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
247
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
210
+ return addCorsHeaders(errorResponse, request, env);
248
211
  }
249
212
  // Parse query parameters
250
213
  const url = new URL(request.url);
@@ -263,15 +226,15 @@ exports.dashboardRoutes = [
263
226
  errorRate: [],
264
227
  },
265
228
  }), { status: 200, headers: { "content-type": "application/json" } });
266
- return (0, worker_1.addCorsHeaders)(response, request, env);
229
+ return addCorsHeaders(response, request, env);
267
230
  }
268
231
  catch (error) {
269
232
  logger.error("[Dashboard] Error getting performance metrics:", error);
270
233
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get performance metrics" }), { status: 500, headers: { "content-type": "application/json" } });
271
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
234
+ return addCorsHeaders(errorResponse, request, env);
272
235
  }
273
236
  },
274
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
237
+ middleware: [corsMiddleware(), csrfMiddleware()],
275
238
  description: "Get API performance metrics",
276
239
  },
277
240
  // User Management
@@ -279,28 +242,28 @@ exports.dashboardRoutes = [
279
242
  path: "/api/dashboard/users",
280
243
  method: "GET",
281
244
  handler: async (request, env) => {
282
- const sessionManager = new session_manager_1.SessionManager();
283
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
284
- const logger = logger_1.Logger.getInstance(env);
285
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
245
+ const sessionManager = new SessionManager();
246
+ const securityHeaders = new SecurityHeaders(env);
247
+ const logger = getLogger();
248
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
286
249
  if (!session) {
287
250
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
288
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
251
+ return addCorsHeaders(errorResponse, request, env);
289
252
  }
290
253
  try {
291
254
  // Check user role - must be INTERNAL
292
- const region = (0, region_detection_1.detectRegionSync)(request, env);
293
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
294
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
255
+ const region = detectRegionSync(request, env);
256
+ const dbManager = sharedDatabaseConnectionManager;
257
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
295
258
  return db.user.findUnique({
296
259
  where: { id: session.userId },
297
260
  select: { role: true },
298
261
  });
299
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
262
+ }, QueryTimeoutPresets.STANDARD);
300
263
  if (!user ||
301
264
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
302
265
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
303
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
266
+ return addCorsHeaders(errorResponse, request, env);
304
267
  }
305
268
  // Parse query parameters
306
269
  const url = new URL(request.url);
@@ -329,7 +292,7 @@ exports.dashboardRoutes = [
329
292
  }
330
293
  // Get users
331
294
  const [users, total] = await Promise.all([
332
- (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
295
+ withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
333
296
  return db.user.findMany({
334
297
  where,
335
298
  select: {
@@ -343,10 +306,10 @@ exports.dashboardRoutes = [
343
306
  skip: offset,
344
307
  orderBy: { createdAt: "desc" },
345
308
  });
346
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD),
347
- (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
309
+ }, QueryTimeoutPresets.STANDARD),
310
+ withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
348
311
  return db.user.count({ where });
349
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD),
312
+ }, QueryTimeoutPresets.STANDARD),
350
313
  ]);
351
314
  const response = securityHeaders.createSecureResponse(JSON.stringify({
352
315
  users: users.map((u) => ({
@@ -358,53 +321,53 @@ exports.dashboardRoutes = [
358
321
  })),
359
322
  total,
360
323
  }), { status: 200, headers: { "content-type": "application/json" } });
361
- return (0, worker_1.addCorsHeaders)(response, request, env);
324
+ return addCorsHeaders(response, request, env);
362
325
  }
363
326
  catch (error) {
364
327
  logger.error("[Dashboard] Error listing users:", error);
365
328
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to list users" }), { status: 500, headers: { "content-type": "application/json" } });
366
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
329
+ return addCorsHeaders(errorResponse, request, env);
367
330
  }
368
331
  },
369
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
332
+ middleware: [corsMiddleware(), csrfMiddleware()],
370
333
  description: "List users with search and filtering",
371
334
  },
372
335
  {
373
336
  path: /^\/api\/dashboard\/users\/(.+)$/,
374
337
  method: "GET",
375
338
  handler: async (request, env, { pathname }) => {
376
- const sessionManager = new session_manager_1.SessionManager();
377
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
378
- const logger = logger_1.Logger.getInstance(env);
379
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
339
+ const sessionManager = new SessionManager();
340
+ const securityHeaders = new SecurityHeaders(env);
341
+ const logger = getLogger();
342
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
380
343
  if (!session) {
381
344
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
382
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
345
+ return addCorsHeaders(errorResponse, request, env);
383
346
  }
384
347
  try {
385
348
  // Check user role - must be INTERNAL
386
- const region = (0, region_detection_1.detectRegionSync)(request, env);
387
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
388
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
349
+ const region = detectRegionSync(request, env);
350
+ const dbManager = sharedDatabaseConnectionManager;
351
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
389
352
  return db.user.findUnique({
390
353
  where: { id: session.userId },
391
354
  select: { role: true },
392
355
  });
393
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
356
+ }, QueryTimeoutPresets.STANDARD);
394
357
  if (!user ||
395
358
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
396
359
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
397
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
360
+ return addCorsHeaders(errorResponse, request, env);
398
361
  }
399
362
  // Extract user ID from path
400
363
  const userIdMatch = pathname.match(/^\/api\/dashboard\/users\/(.+)$/);
401
364
  if (!userIdMatch) {
402
365
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Invalid user ID" }), { status: 400, headers: { "content-type": "application/json" } });
403
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
366
+ return addCorsHeaders(errorResponse, request, env);
404
367
  }
405
368
  const userId = userIdMatch[1];
406
369
  // Get user details
407
- const targetUser = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
370
+ const targetUser = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
408
371
  return db.user.findUnique({
409
372
  where: { id: userId },
410
373
  select: {
@@ -415,10 +378,10 @@ exports.dashboardRoutes = [
415
378
  createdAt: true,
416
379
  },
417
380
  });
418
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
381
+ }, QueryTimeoutPresets.STANDARD);
419
382
  if (!targetUser) {
420
383
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "User not found" }), { status: 404, headers: { "content-type": "application/json" } });
421
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
384
+ return addCorsHeaders(errorResponse, request, env);
422
385
  }
423
386
  // Get user stats (post count, comment count, etc.)
424
387
  // TODO: Implement actual stats calculation
@@ -434,49 +397,49 @@ exports.dashboardRoutes = [
434
397
  createdAt: targetUser.createdAt.toISOString(),
435
398
  stats,
436
399
  }), { status: 200, headers: { "content-type": "application/json" } });
437
- return (0, worker_1.addCorsHeaders)(response, request, env);
400
+ return addCorsHeaders(response, request, env);
438
401
  }
439
402
  catch (error) {
440
403
  logger.error("[Dashboard] Error getting user details:", error);
441
404
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get user details" }), { status: 500, headers: { "content-type": "application/json" } });
442
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
405
+ return addCorsHeaders(errorResponse, request, env);
443
406
  }
444
407
  },
445
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
408
+ middleware: [corsMiddleware(), csrfMiddleware()],
446
409
  description: "Get detailed user information",
447
410
  },
448
411
  {
449
412
  path: /^\/api\/dashboard\/users\/(.+)$/,
450
413
  method: "PATCH",
451
414
  handler: async (request, env, { pathname }) => {
452
- const sessionManager = new session_manager_1.SessionManager();
453
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
454
- const logger = logger_1.Logger.getInstance(env);
455
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
415
+ const sessionManager = new SessionManager();
416
+ const securityHeaders = new SecurityHeaders(env);
417
+ const logger = getLogger();
418
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
456
419
  if (!session) {
457
420
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
458
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
421
+ return addCorsHeaders(errorResponse, request, env);
459
422
  }
460
423
  try {
461
424
  // Check user role - must be INTERNAL
462
- const region = (0, region_detection_1.detectRegionSync)(request, env);
463
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
464
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
425
+ const region = detectRegionSync(request, env);
426
+ const dbManager = sharedDatabaseConnectionManager;
427
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
465
428
  return db.user.findUnique({
466
429
  where: { id: session.userId },
467
430
  select: { role: true },
468
431
  });
469
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
432
+ }, QueryTimeoutPresets.STANDARD);
470
433
  if (!user ||
471
434
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
472
435
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
473
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
436
+ return addCorsHeaders(errorResponse, request, env);
474
437
  }
475
438
  // Extract user ID from path
476
439
  const userIdMatch = pathname.match(/^\/api\/dashboard\/users\/(.+)$/);
477
440
  if (!userIdMatch) {
478
441
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Invalid user ID" }), { status: 400, headers: { "content-type": "application/json" } });
479
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
442
+ return addCorsHeaders(errorResponse, request, env);
480
443
  }
481
444
  const userId = userIdMatch[1];
482
445
  // Parse request body
@@ -496,7 +459,7 @@ exports.dashboardRoutes = [
496
459
  ];
497
460
  if (!validRoles.includes(role)) {
498
461
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Invalid role" }), { status: 400, headers: { "content-type": "application/json" } });
499
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
462
+ return addCorsHeaders(errorResponse, request, env);
500
463
  }
501
464
  updateData.role = role;
502
465
  }
@@ -510,10 +473,10 @@ exports.dashboardRoutes = [
510
473
  }
511
474
  if (Object.keys(updateData).length === 0) {
512
475
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "No valid fields to update" }), { status: 400, headers: { "content-type": "application/json" } });
513
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
476
+ return addCorsHeaders(errorResponse, request, env);
514
477
  }
515
478
  // Update user
516
- const updatedUser = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
479
+ const updatedUser = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
517
480
  return db.user.update({
518
481
  where: { id: userId },
519
482
  data: updateData,
@@ -525,7 +488,7 @@ exports.dashboardRoutes = [
525
488
  createdAt: true,
526
489
  },
527
490
  });
528
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
491
+ }, QueryTimeoutPresets.STANDARD);
529
492
  const response = securityHeaders.createSecureResponse(JSON.stringify({
530
493
  id: updatedUser.id,
531
494
  email: updatedUser.email,
@@ -533,63 +496,63 @@ exports.dashboardRoutes = [
533
496
  status: updatedUser.suspended ? "suspended" : "active",
534
497
  updatedAt: new Date().toISOString(),
535
498
  }), { status: 200, headers: { "content-type": "application/json" } });
536
- return (0, worker_1.addCorsHeaders)(response, request, env);
499
+ return addCorsHeaders(response, request, env);
537
500
  }
538
501
  catch (error) {
539
502
  logger.error("[Dashboard] Error updating user:", error);
540
503
  if (error.code === "P2025" ||
541
504
  error.message?.includes("Record to update not found")) {
542
505
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "User not found" }), { status: 404, headers: { "content-type": "application/json" } });
543
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
506
+ return addCorsHeaders(errorResponse, request, env);
544
507
  }
545
508
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to update user" }), { status: 500, headers: { "content-type": "application/json" } });
546
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
509
+ return addCorsHeaders(errorResponse, request, env);
547
510
  }
548
511
  },
549
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
512
+ middleware: [corsMiddleware(), csrfMiddleware()],
550
513
  description: "Update user (role, status, etc.)",
551
514
  },
552
515
  {
553
516
  path: /^\/api\/dashboard\/users\/(.+)$/,
554
517
  method: "DELETE",
555
518
  handler: async (request, env, { pathname }) => {
556
- const sessionManager = new session_manager_1.SessionManager();
557
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
558
- const logger = logger_1.Logger.getInstance(env);
559
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
519
+ const sessionManager = new SessionManager();
520
+ const securityHeaders = new SecurityHeaders(env);
521
+ const logger = getLogger();
522
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
560
523
  if (!session) {
561
524
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
562
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
525
+ return addCorsHeaders(errorResponse, request, env);
563
526
  }
564
527
  try {
565
528
  // Check user role - must be INTERNAL
566
- const region = (0, region_detection_1.detectRegionSync)(request, env);
567
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
568
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
529
+ const region = detectRegionSync(request, env);
530
+ const dbManager = sharedDatabaseConnectionManager;
531
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
569
532
  return db.user.findUnique({
570
533
  where: { id: session.userId },
571
534
  select: { role: true },
572
535
  });
573
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
536
+ }, QueryTimeoutPresets.STANDARD);
574
537
  if (!user ||
575
538
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
576
539
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
577
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
540
+ return addCorsHeaders(errorResponse, request, env);
578
541
  }
579
542
  // Extract user ID from path
580
543
  const userIdMatch = pathname.match(/^\/api\/dashboard\/users\/(.+)$/);
581
544
  if (!userIdMatch) {
582
545
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Invalid user ID" }), { status: 400, headers: { "content-type": "application/json" } });
583
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
546
+ return addCorsHeaders(errorResponse, request, env);
584
547
  }
585
548
  const userId = userIdMatch[1];
586
549
  // Prevent self-deletion
587
550
  if (userId === session.userId) {
588
551
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Cannot delete your own account" }), { status: 400, headers: { "content-type": "application/json" } });
589
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
552
+ return addCorsHeaders(errorResponse, request, env);
590
553
  }
591
554
  // Delete user (soft delete by setting deletion flags)
592
- await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
555
+ await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
593
556
  return db.user.update({
594
557
  where: { id: userId },
595
558
  data: {
@@ -597,25 +560,25 @@ exports.dashboardRoutes = [
597
560
  deletionScheduledAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000), // 7 days
598
561
  },
599
562
  });
600
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
563
+ }, QueryTimeoutPresets.STANDARD);
601
564
  const response = securityHeaders.createSecureResponse(JSON.stringify({
602
565
  success: true,
603
566
  message: "User deleted successfully",
604
567
  }), { status: 200, headers: { "content-type": "application/json" } });
605
- return (0, worker_1.addCorsHeaders)(response, request, env);
568
+ return addCorsHeaders(response, request, env);
606
569
  }
607
570
  catch (error) {
608
571
  logger.error("[Dashboard] Error deleting user:", error);
609
572
  if (error.code === "P2025" ||
610
573
  error.message?.includes("Record to update not found")) {
611
574
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "User not found" }), { status: 404, headers: { "content-type": "application/json" } });
612
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
575
+ return addCorsHeaders(errorResponse, request, env);
613
576
  }
614
577
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to delete user" }), { status: 500, headers: { "content-type": "application/json" } });
615
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
578
+ return addCorsHeaders(errorResponse, request, env);
616
579
  }
617
580
  },
618
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
581
+ middleware: [corsMiddleware(), csrfMiddleware()],
619
582
  description: "Delete user account",
620
583
  },
621
584
  // Content Moderation
@@ -623,28 +586,28 @@ exports.dashboardRoutes = [
623
586
  path: "/api/dashboard/moderation/posts",
624
587
  method: "GET",
625
588
  handler: async (request, env) => {
626
- const sessionManager = new session_manager_1.SessionManager();
627
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
628
- const logger = logger_1.Logger.getInstance(env);
629
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
589
+ const sessionManager = new SessionManager();
590
+ const securityHeaders = new SecurityHeaders(env);
591
+ const logger = getLogger();
592
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
630
593
  if (!session) {
631
594
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
632
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
595
+ return addCorsHeaders(errorResponse, request, env);
633
596
  }
634
597
  try {
635
598
  // Check user role - must be INTERNAL
636
- const region = (0, region_detection_1.detectRegionSync)(request, env);
637
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
638
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
599
+ const region = detectRegionSync(request, env);
600
+ const dbManager = sharedDatabaseConnectionManager;
601
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
639
602
  return db.user.findUnique({
640
603
  where: { id: session.userId },
641
604
  select: { role: true },
642
605
  });
643
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
606
+ }, QueryTimeoutPresets.STANDARD);
644
607
  if (!user ||
645
608
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
646
609
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
647
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
610
+ return addCorsHeaders(errorResponse, request, env);
648
611
  }
649
612
  // Parse query parameters
650
613
  const url = new URL(request.url);
@@ -657,49 +620,49 @@ exports.dashboardRoutes = [
657
620
  posts: [],
658
621
  total: 0,
659
622
  }), { status: 200, headers: { "content-type": "application/json" } });
660
- return (0, worker_1.addCorsHeaders)(response, request, env);
623
+ return addCorsHeaders(response, request, env);
661
624
  }
662
625
  catch (error) {
663
626
  logger.error("[Dashboard] Error listing moderation posts:", error);
664
627
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to list moderation posts" }), { status: 500, headers: { "content-type": "application/json" } });
665
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
628
+ return addCorsHeaders(errorResponse, request, env);
666
629
  }
667
630
  },
668
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
631
+ middleware: [corsMiddleware(), csrfMiddleware()],
669
632
  description: "List posts requiring moderation",
670
633
  },
671
634
  {
672
635
  path: /^\/api\/dashboard\/moderation\/posts\/(.+)\/action$/,
673
636
  method: "POST",
674
637
  handler: async (request, env, { pathname }) => {
675
- const sessionManager = new session_manager_1.SessionManager();
676
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
677
- const logger = logger_1.Logger.getInstance(env);
678
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
638
+ const sessionManager = new SessionManager();
639
+ const securityHeaders = new SecurityHeaders(env);
640
+ const logger = getLogger();
641
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
679
642
  if (!session) {
680
643
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
681
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
644
+ return addCorsHeaders(errorResponse, request, env);
682
645
  }
683
646
  try {
684
647
  // Check user role - must be INTERNAL
685
- const region = (0, region_detection_1.detectRegionSync)(request, env);
686
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
687
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
648
+ const region = detectRegionSync(request, env);
649
+ const dbManager = sharedDatabaseConnectionManager;
650
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
688
651
  return db.user.findUnique({
689
652
  where: { id: session.userId },
690
653
  select: { role: true },
691
654
  });
692
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
655
+ }, QueryTimeoutPresets.STANDARD);
693
656
  if (!user ||
694
657
  (user.role !== "INTERNAL" && user.role !== "SUPER_ADMIN")) {
695
658
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Internal access required" }), { status: 403, headers: { "content-type": "application/json" } });
696
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
659
+ return addCorsHeaders(errorResponse, request, env);
697
660
  }
698
661
  // Extract post ID from path
699
662
  const postIdMatch = pathname.match(/^\/api\/dashboard\/moderation\/posts\/(.+)\/action$/);
700
663
  if (!postIdMatch) {
701
664
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Invalid post ID" }), { status: 400, headers: { "content-type": "application/json" } });
702
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
665
+ return addCorsHeaders(errorResponse, request, env);
703
666
  }
704
667
  const postId = postIdMatch[1];
705
668
  // Parse request body
@@ -710,7 +673,7 @@ exports.dashboardRoutes = [
710
673
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({
711
674
  error: 'Invalid action. Must be "approve", "reject", or "delete"',
712
675
  }), { status: 400, headers: { "content-type": "application/json" } });
713
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
676
+ return addCorsHeaders(errorResponse, request, env);
714
677
  }
715
678
  // TODO: Implement actual moderation actions
716
679
  // For now, return success as placeholder
@@ -718,15 +681,15 @@ exports.dashboardRoutes = [
718
681
  success: true,
719
682
  message: `Post ${action}d successfully`,
720
683
  }), { status: 200, headers: { "content-type": "application/json" } });
721
- return (0, worker_1.addCorsHeaders)(response, request, env);
684
+ return addCorsHeaders(response, request, env);
722
685
  }
723
686
  catch (error) {
724
687
  logger.error("[Dashboard] Error moderating post:", error);
725
688
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to moderate post" }), { status: 500, headers: { "content-type": "application/json" } });
726
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
689
+ return addCorsHeaders(errorResponse, request, env);
727
690
  }
728
691
  },
729
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
692
+ middleware: [corsMiddleware(), csrfMiddleware()],
730
693
  description: "Moderate a post (approve/reject/delete)",
731
694
  },
732
695
  // Partner Dashboard APIs
@@ -734,28 +697,28 @@ exports.dashboardRoutes = [
734
697
  path: "/api/dashboard/b2b/usage/requests",
735
698
  method: "GET",
736
699
  handler: async (request, env) => {
737
- const sessionManager = new session_manager_1.SessionManager();
738
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
739
- const logger = logger_1.Logger.getInstance(env);
740
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
700
+ const sessionManager = new SessionManager();
701
+ const securityHeaders = new SecurityHeaders(env);
702
+ const logger = getLogger();
703
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
741
704
  if (!session) {
742
705
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
743
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
706
+ return addCorsHeaders(errorResponse, request, env);
744
707
  }
745
708
  try {
746
709
  // Check user role - must be PARTNER
747
- const region = (0, region_detection_1.detectRegionSync)(request, env);
748
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
749
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
710
+ const region = detectRegionSync(request, env);
711
+ const dbManager = sharedDatabaseConnectionManager;
712
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
750
713
  return db.user.findUnique({
751
714
  where: { id: session.userId },
752
715
  select: { role: true /* T3 will replace partnerId with tenant context */ },
753
716
  });
754
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
717
+ }, QueryTimeoutPresets.STANDARD);
755
718
  if (!user ||
756
719
  (user.role !== "B2B_PARTNER" && user.role !== "PARTNER_ADMIN")) {
757
720
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Partner access required" }), { status: 403, headers: { "content-type": "application/json" } });
758
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
721
+ return addCorsHeaders(errorResponse, request, env);
759
722
  }
760
723
  // Parse query parameters
761
724
  const url = new URL(request.url);
@@ -783,43 +746,43 @@ exports.dashboardRoutes = [
783
746
  byEndpoint: [],
784
747
  },
785
748
  }), { status: 200, headers: { "content-type": "application/json" } });
786
- return (0, worker_1.addCorsHeaders)(response, request, env);
749
+ return addCorsHeaders(response, request, env);
787
750
  }
788
751
  catch (error) {
789
752
  logger.error("[Dashboard] Error getting partner usage:", error);
790
753
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get partner usage" }), { status: 500, headers: { "content-type": "application/json" } });
791
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
754
+ return addCorsHeaders(errorResponse, request, env);
792
755
  }
793
756
  },
794
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
757
+ middleware: [corsMiddleware(), csrfMiddleware()],
795
758
  description: "Get API request volume for partner",
796
759
  },
797
760
  {
798
761
  path: "/api/dashboard/b2b/usage/rate-limits",
799
762
  method: "GET",
800
763
  handler: async (request, env) => {
801
- const sessionManager = new session_manager_1.SessionManager();
802
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
803
- const logger = logger_1.Logger.getInstance(env);
804
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
764
+ const sessionManager = new SessionManager();
765
+ const securityHeaders = new SecurityHeaders(env);
766
+ const logger = getLogger();
767
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
805
768
  if (!session) {
806
769
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
807
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
770
+ return addCorsHeaders(errorResponse, request, env);
808
771
  }
809
772
  try {
810
773
  // Check user role - must be PARTNER
811
- const region = (0, region_detection_1.detectRegionSync)(request, env);
812
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
813
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
774
+ const region = detectRegionSync(request, env);
775
+ const dbManager = sharedDatabaseConnectionManager;
776
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
814
777
  return db.user.findUnique({
815
778
  where: { id: session.userId },
816
779
  select: { role: true },
817
780
  });
818
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
781
+ }, QueryTimeoutPresets.STANDARD);
819
782
  if (!user ||
820
783
  (user.role !== "B2B_PARTNER" && user.role !== "PARTNER_ADMIN")) {
821
784
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Partner access required" }), { status: 403, headers: { "content-type": "application/json" } });
822
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
785
+ return addCorsHeaders(errorResponse, request, env);
823
786
  }
824
787
  // TODO: Implement actual rate limit tracking
825
788
  // Placeholder response
@@ -831,43 +794,43 @@ exports.dashboardRoutes = [
831
794
  window: "hourly",
832
795
  history: [],
833
796
  }), { status: 200, headers: { "content-type": "application/json" } });
834
- return (0, worker_1.addCorsHeaders)(response, request, env);
797
+ return addCorsHeaders(response, request, env);
835
798
  }
836
799
  catch (error) {
837
800
  logger.error("[Dashboard] Error getting rate limits:", error);
838
801
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get rate limits" }), { status: 500, headers: { "content-type": "application/json" } });
839
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
802
+ return addCorsHeaders(errorResponse, request, env);
840
803
  }
841
804
  },
842
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
805
+ middleware: [corsMiddleware(), csrfMiddleware()],
843
806
  description: "Get rate limit status for partner",
844
807
  },
845
808
  {
846
809
  path: "/api/dashboard/b2b/performance",
847
810
  method: "GET",
848
811
  handler: async (request, env) => {
849
- const sessionManager = new session_manager_1.SessionManager();
850
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
851
- const logger = logger_1.Logger.getInstance(env);
852
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
812
+ const sessionManager = new SessionManager();
813
+ const securityHeaders = new SecurityHeaders(env);
814
+ const logger = getLogger();
815
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
853
816
  if (!session) {
854
817
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
855
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
818
+ return addCorsHeaders(errorResponse, request, env);
856
819
  }
857
820
  try {
858
821
  // Check user role - must be PARTNER
859
- const region = (0, region_detection_1.detectRegionSync)(request, env);
860
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
861
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
822
+ const region = detectRegionSync(request, env);
823
+ const dbManager = sharedDatabaseConnectionManager;
824
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
862
825
  return db.user.findUnique({
863
826
  where: { id: session.userId },
864
827
  select: { role: true },
865
828
  });
866
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
829
+ }, QueryTimeoutPresets.STANDARD);
867
830
  if (!user ||
868
831
  (user.role !== "B2B_PARTNER" && user.role !== "PARTNER_ADMIN")) {
869
832
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Partner access required" }), { status: 403, headers: { "content-type": "application/json" } });
870
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
833
+ return addCorsHeaders(errorResponse, request, env);
871
834
  }
872
835
  // Parse query parameters
873
836
  const url = new URL(request.url);
@@ -886,15 +849,15 @@ exports.dashboardRoutes = [
886
849
  errorRate: [],
887
850
  },
888
851
  }), { status: 200, headers: { "content-type": "application/json" } });
889
- return (0, worker_1.addCorsHeaders)(response, request, env);
852
+ return addCorsHeaders(response, request, env);
890
853
  }
891
854
  catch (error) {
892
855
  logger.error("[Dashboard] Error getting partner performance:", error);
893
856
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get partner performance" }), { status: 500, headers: { "content-type": "application/json" } });
894
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
857
+ return addCorsHeaders(errorResponse, request, env);
895
858
  }
896
859
  },
897
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
860
+ middleware: [corsMiddleware(), csrfMiddleware()],
898
861
  description: "Get API performance metrics for partner",
899
862
  },
900
863
  // Scaling Health
@@ -902,31 +865,31 @@ exports.dashboardRoutes = [
902
865
  path: "/api/dashboard/scaling-health",
903
866
  method: "GET",
904
867
  handler: async (request, env) => {
905
- const sessionManager = new session_manager_1.SessionManager();
906
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
907
- const logger = logger_1.Logger.getInstance(env);
908
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
868
+ const sessionManager = new SessionManager();
869
+ const securityHeaders = new SecurityHeaders(env);
870
+ const logger = getLogger();
871
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
909
872
  if (!session) {
910
873
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
911
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
874
+ return addCorsHeaders(errorResponse, request, env);
912
875
  }
913
876
  try {
914
- const region = (0, region_detection_1.detectRegionSync)(request, env);
915
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
916
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
877
+ const region = detectRegionSync(request, env);
878
+ const dbManager = sharedDatabaseConnectionManager;
879
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
917
880
  return db.user.findUnique({
918
881
  where: { id: session.userId },
919
882
  select: { role: true },
920
883
  });
921
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
884
+ }, QueryTimeoutPresets.STANDARD);
922
885
  if (!user || user.role !== "SUPER_ADMIN") {
923
886
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({
924
887
  error: "Forbidden: Super-admin access required",
925
888
  }), { status: 403, headers: { "content-type": "application/json" } });
926
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
889
+ return addCorsHeaders(errorResponse, request, env);
927
890
  }
928
891
  // Get user counts from database
929
- const counts = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
892
+ const counts = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
930
893
  const thirtyDaysAgo = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000);
931
894
  const [totalUsers, recentUsers] = await Promise.all([
932
895
  db.user.count(),
@@ -935,19 +898,19 @@ exports.dashboardRoutes = [
935
898
  }),
936
899
  ]);
937
900
  return { totalUsers, recentActiveUsers: recentUsers };
938
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
939
- const { evaluateScalingHealth } = await Promise.resolve().then(() => __importStar(require("../scaling-health")));
901
+ }, QueryTimeoutPresets.STANDARD);
902
+ const { evaluateScalingHealth } = await import("../scaling-health.js");
940
903
  const result = await evaluateScalingHealth(env, counts.totalUsers, counts.recentActiveUsers);
941
904
  const response = securityHeaders.createSecureResponse(JSON.stringify(result), { status: 200, headers: { "content-type": "application/json" } });
942
- return (0, worker_1.addCorsHeaders)(response, request, env);
905
+ return addCorsHeaders(response, request, env);
943
906
  }
944
907
  catch (error) {
945
908
  logger.error("[Dashboard] Error getting scaling health:", error);
946
909
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get scaling health" }), { status: 500, headers: { "content-type": "application/json" } });
947
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
910
+ return addCorsHeaders(errorResponse, request, env);
948
911
  }
949
912
  },
950
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
913
+ middleware: [corsMiddleware(), csrfMiddleware()],
951
914
  description: "Get scaling health indicators (SUPER_ADMIN only)",
952
915
  },
953
916
  // Abuse Metrics
@@ -955,43 +918,43 @@ exports.dashboardRoutes = [
955
918
  path: "/api/dashboard/abuse-metrics",
956
919
  method: "GET",
957
920
  handler: async (request, env) => {
958
- const sessionManager = new session_manager_1.SessionManager();
959
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
960
- const logger = logger_1.Logger.getInstance(env);
961
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
921
+ const sessionManager = new SessionManager();
922
+ const securityHeaders = new SecurityHeaders(env);
923
+ const logger = getLogger();
924
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
962
925
  if (!session) {
963
926
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
964
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
927
+ return addCorsHeaders(errorResponse, request, env);
965
928
  }
966
929
  try {
967
- const region = (0, region_detection_1.detectRegionSync)(request, env);
968
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
969
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
930
+ const region = detectRegionSync(request, env);
931
+ const dbManager = sharedDatabaseConnectionManager;
932
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
970
933
  return db.user.findUnique({
971
934
  where: { id: session.userId },
972
935
  select: { role: true },
973
936
  });
974
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
937
+ }, QueryTimeoutPresets.STANDARD);
975
938
  if (!user || user.role !== "SUPER_ADMIN") {
976
939
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({
977
940
  error: "Forbidden: Super-admin access required",
978
941
  }), { status: 403, headers: { "content-type": "application/json" } });
979
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
942
+ return addCorsHeaders(errorResponse, request, env);
980
943
  }
981
944
  const url = new URL(request.url);
982
945
  const timeRange = url.searchParams.get("timeRange") || "24h";
983
- const { evaluateAbuseMetrics } = await Promise.resolve().then(() => __importStar(require("../abuse-metrics")));
946
+ const { evaluateAbuseMetrics } = await import("../abuse-metrics.js");
984
947
  const result = await evaluateAbuseMetrics(env, timeRange);
985
948
  const response = securityHeaders.createSecureResponse(JSON.stringify(result), { status: 200, headers: { "content-type": "application/json" } });
986
- return (0, worker_1.addCorsHeaders)(response, request, env);
949
+ return addCorsHeaders(response, request, env);
987
950
  }
988
951
  catch (error) {
989
952
  logger.error("[Dashboard] Error getting abuse metrics:", error);
990
953
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to get abuse metrics" }), { status: 500, headers: { "content-type": "application/json" } });
991
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
954
+ return addCorsHeaders(errorResponse, request, env);
992
955
  }
993
956
  },
994
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
957
+ middleware: [corsMiddleware(), csrfMiddleware()],
995
958
  description: "Get abuse metrics and WAF effectiveness (SUPER_ADMIN only)",
996
959
  },
997
960
  // Role Management APIs
@@ -999,30 +962,30 @@ exports.dashboardRoutes = [
999
962
  path: "/api/admin/roles",
1000
963
  method: "GET",
1001
964
  handler: async (request, env) => {
1002
- const sessionManager = new session_manager_1.SessionManager();
1003
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1004
- const logger = logger_1.Logger.getInstance(env);
1005
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
965
+ const sessionManager = new SessionManager();
966
+ const securityHeaders = new SecurityHeaders(env);
967
+ const logger = getLogger();
968
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1006
969
  if (!session) {
1007
970
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1008
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
971
+ return addCorsHeaders(errorResponse, request, env);
1009
972
  }
1010
973
  try {
1011
974
  // Check user role - must be SUPER_ADMIN
1012
- const region = (0, region_detection_1.detectRegionSync)(request, env);
1013
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
1014
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
975
+ const region = detectRegionSync(request, env);
976
+ const dbManager = sharedDatabaseConnectionManager;
977
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
1015
978
  return db.user.findUnique({
1016
979
  where: { id: session.userId },
1017
980
  select: { role: true },
1018
981
  });
1019
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
982
+ }, QueryTimeoutPresets.STANDARD);
1020
983
  if (!user || user.role !== "SUPER_ADMIN") {
1021
984
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Super-admin access required" }), { status: 403, headers: { "content-type": "application/json" } });
1022
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
985
+ return addCorsHeaders(errorResponse, request, env);
1023
986
  }
1024
987
  // Get role metadata
1025
- const db = (0, db_1.createPrisma)(env);
988
+ const db = createPrisma(env);
1026
989
  const roles = await db.roleMetadata.findMany({
1027
990
  where: { isActive: true },
1028
991
  orderBy: { role: "asc" },
@@ -1036,48 +999,48 @@ exports.dashboardRoutes = [
1036
999
  permissions: r.permissions || [],
1037
1000
  })),
1038
1001
  }), { status: 200, headers: { "content-type": "application/json" } });
1039
- return (0, worker_1.addCorsHeaders)(response, request, env);
1002
+ return addCorsHeaders(response, request, env);
1040
1003
  }
1041
1004
  catch (error) {
1042
1005
  logger.error("[Admin] Error listing roles:", error);
1043
1006
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to list roles" }), { status: 500, headers: { "content-type": "application/json" } });
1044
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
1007
+ return addCorsHeaders(errorResponse, request, env);
1045
1008
  }
1046
1009
  },
1047
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
1010
+ middleware: [corsMiddleware(), csrfMiddleware()],
1048
1011
  description: "List all available roles",
1049
1012
  },
1050
1013
  {
1051
1014
  path: /^\/api\/admin\/users\/(.+)\/role$/,
1052
1015
  method: "PATCH",
1053
1016
  handler: async (request, env, { pathname }) => {
1054
- const sessionManager = new session_manager_1.SessionManager();
1055
- const securityHeaders = new security_headers_1.SecurityHeaders(env);
1056
- const logger = logger_1.Logger.getInstance(env);
1057
- const session = await sessionManager.getSession(request, secret_resolver_1.Secrets.getSessionSecret(env), env);
1017
+ const sessionManager = new SessionManager();
1018
+ const securityHeaders = new SecurityHeaders(env);
1019
+ const logger = getLogger();
1020
+ const session = await sessionManager.getSession(request, env.SESSION_SECRET, env);
1058
1021
  if (!session) {
1059
1022
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Unauthorized" }), { status: 401, headers: { "content-type": "application/json" } });
1060
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
1023
+ return addCorsHeaders(errorResponse, request, env);
1061
1024
  }
1062
1025
  try {
1063
1026
  // Check user role - must be SUPER_ADMIN
1064
- const region = (0, region_detection_1.detectRegionSync)(request, env);
1065
- const dbManager = database_connection_manager_1.sharedDatabaseConnectionManager;
1066
- const user = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
1027
+ const region = detectRegionSync(request, env);
1028
+ const dbManager = sharedDatabaseConnectionManager;
1029
+ const user = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
1067
1030
  return db.user.findUnique({
1068
1031
  where: { id: session.userId },
1069
1032
  select: { role: true },
1070
1033
  });
1071
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
1034
+ }, QueryTimeoutPresets.STANDARD);
1072
1035
  if (!user || user.role !== "SUPER_ADMIN") {
1073
1036
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Forbidden: Super-admin access required" }), { status: 403, headers: { "content-type": "application/json" } });
1074
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
1037
+ return addCorsHeaders(errorResponse, request, env);
1075
1038
  }
1076
1039
  // Extract user ID from path
1077
1040
  const userIdMatch = pathname.match(/^\/api\/admin\/users\/(.+)\/role$/);
1078
1041
  if (!userIdMatch) {
1079
1042
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Invalid user ID" }), { status: 400, headers: { "content-type": "application/json" } });
1080
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
1043
+ return addCorsHeaders(errorResponse, request, env);
1081
1044
  }
1082
1045
  const userId = userIdMatch[1];
1083
1046
  // Parse request body
@@ -1085,7 +1048,7 @@ exports.dashboardRoutes = [
1085
1048
  const { role } = body;
1086
1049
  if (!role) {
1087
1050
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Role is required" }), { status: 400, headers: { "content-type": "application/json" } });
1088
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
1051
+ return addCorsHeaders(errorResponse, request, env);
1089
1052
  }
1090
1053
  // Validate role
1091
1054
  const validRoles = [
@@ -1098,10 +1061,10 @@ exports.dashboardRoutes = [
1098
1061
  ];
1099
1062
  if (!validRoles.includes(role)) {
1100
1063
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Invalid role" }), { status: 400, headers: { "content-type": "application/json" } });
1101
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
1064
+ return addCorsHeaders(errorResponse, request, env);
1102
1065
  }
1103
1066
  // Update user role
1104
- const updatedUser = await (0, db_query_helper_1.withQueryTimeoutAndRetry)(dbManager, region, env, async (db) => {
1067
+ const updatedUser = await withQueryTimeoutAndRetry(dbManager, region, env, async (db) => {
1105
1068
  return db.user.update({
1106
1069
  where: { id: userId },
1107
1070
  data: { role: role },
@@ -1112,27 +1075,27 @@ exports.dashboardRoutes = [
1112
1075
  createdAt: true,
1113
1076
  },
1114
1077
  });
1115
- }, db_query_helper_1.QueryTimeoutPresets.STANDARD);
1078
+ }, QueryTimeoutPresets.STANDARD);
1116
1079
  const response = securityHeaders.createSecureResponse(JSON.stringify({
1117
1080
  id: updatedUser.id,
1118
1081
  email: updatedUser.email,
1119
1082
  role: updatedUser.role,
1120
1083
  updatedAt: new Date().toISOString(),
1121
1084
  }), { status: 200, headers: { "content-type": "application/json" } });
1122
- return (0, worker_1.addCorsHeaders)(response, request, env);
1085
+ return addCorsHeaders(response, request, env);
1123
1086
  }
1124
1087
  catch (error) {
1125
1088
  logger.error("[Admin] Error changing user role:", error);
1126
1089
  if (error.code === "P2025" ||
1127
1090
  error.message?.includes("Record to update not found")) {
1128
1091
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "User not found" }), { status: 404, headers: { "content-type": "application/json" } });
1129
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
1092
+ return addCorsHeaders(errorResponse, request, env);
1130
1093
  }
1131
1094
  const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Failed to change user role" }), { status: 500, headers: { "content-type": "application/json" } });
1132
- return (0, worker_1.addCorsHeaders)(errorResponse, request, env);
1095
+ return addCorsHeaders(errorResponse, request, env);
1133
1096
  }
1134
1097
  },
1135
- middleware: [(0, middleware_1.corsMiddleware)(), (0, middleware_1.csrfMiddleware)()],
1098
+ middleware: [corsMiddleware(), csrfMiddleware()],
1136
1099
  description: "Change user role",
1137
1100
  },
1138
1101
  ];