@c15t/backend 1.8.0 → 2.0.0-rc.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 (1026) hide show
  1. package/.turbo/turbo-build.log +44 -78
  2. package/CHANGELOG.md +13 -0
  3. package/dist/cache/adapters/cloudflare-kv.d.ts +46 -0
  4. package/dist/cache/adapters/cloudflare-kv.d.ts.map +1 -0
  5. package/dist/cache/adapters/index.d.ts +11 -0
  6. package/dist/cache/adapters/index.d.ts.map +1 -0
  7. package/dist/cache/adapters/memory.d.ts +47 -0
  8. package/dist/cache/adapters/memory.d.ts.map +1 -0
  9. package/dist/cache/adapters/upstash-redis.d.ts +75 -0
  10. package/dist/cache/adapters/upstash-redis.d.ts.map +1 -0
  11. package/dist/cache/gvl-resolver.d.ts +86 -0
  12. package/dist/cache/gvl-resolver.d.ts.map +1 -0
  13. package/dist/cache/index.d.ts +13 -0
  14. package/dist/cache/index.d.ts.map +1 -0
  15. package/dist/cache/keys.d.ts +51 -0
  16. package/dist/cache/keys.d.ts.map +1 -0
  17. package/dist/cache/types.d.ts +61 -0
  18. package/dist/cache/types.d.ts.map +1 -0
  19. package/dist/cache.cjs +530 -0
  20. package/dist/cache.js +467 -0
  21. package/dist/core.cjs +2569 -3840
  22. package/dist/core.d.ts +19 -409
  23. package/dist/core.d.ts.map +1 -1
  24. package/dist/core.js +2378 -3680
  25. package/dist/db/adapters/drizzle.cjs +36 -0
  26. package/dist/db/adapters/drizzle.d.ts.map +1 -0
  27. package/dist/db/adapters/index.d.ts.map +1 -0
  28. package/dist/db/adapters/kysely.cjs +36 -0
  29. package/dist/db/adapters/kysely.d.ts.map +1 -0
  30. package/dist/db/adapters/mongo.cjs +36 -0
  31. package/dist/db/adapters/mongo.d.ts.map +1 -0
  32. package/dist/db/adapters/prisma.cjs +36 -0
  33. package/dist/db/adapters/prisma.d.ts.map +1 -0
  34. package/dist/db/adapters/typeorm.cjs +36 -0
  35. package/dist/db/adapters/typeorm.d.ts.map +1 -0
  36. package/dist/db/adapters.cjs +18 -0
  37. package/dist/db/migrator/index.d.ts.map +1 -0
  38. package/dist/db/migrator.cjs +61 -0
  39. package/dist/db/registry/consent-policy.d.ts +23 -0
  40. package/dist/db/registry/consent-policy.d.ts.map +1 -0
  41. package/dist/db/registry/consent-purpose.d.ts +11 -0
  42. package/dist/db/registry/consent-purpose.d.ts.map +1 -0
  43. package/dist/db/registry/domain.d.ts +18 -0
  44. package/dist/db/registry/domain.d.ts.map +1 -0
  45. package/dist/db/registry/index.d.ts +57 -0
  46. package/dist/db/registry/index.d.ts.map +1 -0
  47. package/dist/db/registry/subject.d.ts +32 -0
  48. package/dist/db/registry/subject.d.ts.map +1 -0
  49. package/dist/db/registry/types.d.ts +10 -0
  50. package/dist/db/registry/types.d.ts.map +1 -0
  51. package/dist/db/registry/utils/generate-id.d.ts +25 -0
  52. package/dist/db/registry/utils/generate-id.d.ts.map +1 -0
  53. package/dist/db/registry/utils.d.ts +25 -0
  54. package/dist/db/registry/utils.d.ts.map +1 -0
  55. package/dist/db/schema/1.0.0/audit-log.d.ts +14 -0
  56. package/dist/db/schema/1.0.0/audit-log.d.ts.map +1 -0
  57. package/dist/db/schema/1.0.0/consent-policy.d.ts +13 -0
  58. package/dist/db/schema/1.0.0/consent-policy.d.ts.map +1 -0
  59. package/dist/db/schema/1.0.0/consent-purpose.d.ts +13 -0
  60. package/dist/db/schema/1.0.0/consent-purpose.d.ts.map +1 -0
  61. package/dist/db/schema/1.0.0/consent-record.d.ts +9 -0
  62. package/dist/db/schema/1.0.0/consent-record.d.ts.map +1 -0
  63. package/dist/db/schema/1.0.0/consent.d.ts +18 -0
  64. package/dist/db/schema/1.0.0/consent.d.ts.map +1 -0
  65. package/dist/db/schema/1.0.0/domain.d.ts +11 -0
  66. package/dist/db/schema/1.0.0/domain.d.ts.map +1 -0
  67. package/dist/db/schema/1.0.0/index.d.ts +1506 -0
  68. package/dist/db/schema/1.0.0/index.d.ts.map +1 -0
  69. package/dist/db/schema/1.0.0/subject.d.ts +11 -0
  70. package/dist/db/schema/1.0.0/subject.d.ts.map +1 -0
  71. package/dist/db/schema/2.0.0/audit-log.d.ts +16 -0
  72. package/dist/db/schema/2.0.0/audit-log.d.ts.map +1 -0
  73. package/dist/db/schema/2.0.0/consent-policy.d.ts +13 -0
  74. package/dist/db/schema/2.0.0/consent-policy.d.ts.map +1 -0
  75. package/dist/db/schema/2.0.0/consent-purpose.d.ts +10 -0
  76. package/dist/db/schema/2.0.0/consent-purpose.d.ts.map +1 -0
  77. package/dist/db/schema/2.0.0/consent.d.ts +24 -0
  78. package/dist/db/schema/2.0.0/consent.d.ts.map +1 -0
  79. package/dist/db/schema/2.0.0/domain.d.ts +10 -0
  80. package/dist/db/schema/2.0.0/domain.d.ts.map +1 -0
  81. package/dist/db/schema/2.0.0/index.d.ts +586 -0
  82. package/dist/db/schema/2.0.0/index.d.ts.map +1 -0
  83. package/dist/db/schema/2.0.0/subject.d.ts +12 -0
  84. package/dist/db/schema/2.0.0/subject.d.ts.map +1 -0
  85. package/dist/db/schema/index.d.ts +2664 -0
  86. package/dist/db/schema/index.d.ts.map +1 -0
  87. package/dist/db/schema.cjs +359 -0
  88. package/dist/db/schema.js +261 -0
  89. package/dist/db/tenant-scope.d.ts +20 -0
  90. package/dist/db/tenant-scope.d.ts.map +1 -0
  91. package/dist/define-config.cjs +36 -0
  92. package/dist/define-config.d.ts.map +1 -0
  93. package/dist/handlers/consent/check.handler.d.ts +24 -0
  94. package/dist/handlers/consent/check.handler.d.ts.map +1 -0
  95. package/dist/handlers/consent/index.d.ts +11 -339
  96. package/dist/handlers/consent/index.d.ts.map +1 -1
  97. package/dist/handlers/init/geo.d.ts +34 -0
  98. package/dist/handlers/init/geo.d.ts.map +1 -0
  99. package/dist/handlers/init/index.d.ts +157 -0
  100. package/dist/handlers/init/index.d.ts.map +1 -0
  101. package/dist/handlers/init/translations.d.ts +28 -0
  102. package/dist/handlers/init/translations.d.ts.map +1 -0
  103. package/dist/handlers/status/index.d.ts +7 -0
  104. package/dist/handlers/status/index.d.ts.map +1 -0
  105. package/dist/handlers/status/status.handler.d.ts +26 -0
  106. package/dist/handlers/status/status.handler.d.ts.map +1 -0
  107. package/dist/handlers/subject/get.handler.d.ts +32 -0
  108. package/dist/handlers/subject/get.handler.d.ts.map +1 -0
  109. package/dist/handlers/subject/index.d.ts +10 -0
  110. package/dist/handlers/subject/index.d.ts.map +1 -0
  111. package/dist/handlers/subject/list.handler.d.ts +31 -0
  112. package/dist/handlers/subject/list.handler.d.ts.map +1 -0
  113. package/dist/handlers/subject/patch.handler.d.ts +22 -0
  114. package/dist/handlers/subject/patch.handler.d.ts.map +1 -0
  115. package/dist/handlers/subject/post.handler.d.ts +25 -0
  116. package/dist/handlers/subject/post.handler.d.ts.map +1 -0
  117. package/dist/handlers/utils/consent-enrichment.d.ts +52 -0
  118. package/dist/handlers/utils/consent-enrichment.d.ts.map +1 -0
  119. package/dist/init.d.ts +20 -26
  120. package/dist/init.d.ts.map +1 -1
  121. package/dist/middleware/auth/index.d.ts +7 -0
  122. package/dist/middleware/auth/index.d.ts.map +1 -0
  123. package/dist/middleware/auth/validate-api-key.d.ts +49 -0
  124. package/dist/middleware/auth/validate-api-key.d.ts.map +1 -0
  125. package/dist/middleware/cors/cors.d.ts +13 -17
  126. package/dist/middleware/cors/cors.d.ts.map +1 -1
  127. package/dist/middleware/cors/is-origin-trusted.d.ts.map +1 -1
  128. package/dist/middleware/cors/process-cors.d.ts +1 -1
  129. package/dist/middleware/cors/process-cors.d.ts.map +1 -1
  130. package/dist/middleware/openapi/config.d.ts +16 -2
  131. package/dist/middleware/openapi/config.d.ts.map +1 -1
  132. package/dist/middleware/openapi/handlers.d.ts +1 -24
  133. package/dist/middleware/openapi/handlers.d.ts.map +1 -1
  134. package/dist/middleware/openapi/index.d.ts +3 -2
  135. package/dist/middleware/openapi/index.d.ts.map +1 -1
  136. package/dist/middleware/process-ip/index.d.ts +12 -0
  137. package/dist/middleware/process-ip/index.d.ts.map +1 -0
  138. package/dist/router.cjs +1288 -1776
  139. package/dist/router.d.ts +9 -363
  140. package/dist/router.d.ts.map +1 -1
  141. package/dist/router.js +1277 -1658
  142. package/dist/routes/consent.d.ts +16 -0
  143. package/dist/routes/consent.d.ts.map +1 -0
  144. package/dist/routes/index.d.ts +10 -0
  145. package/dist/routes/index.d.ts.map +1 -0
  146. package/dist/routes/init.d.ts +16 -0
  147. package/dist/routes/init.d.ts.map +1 -0
  148. package/dist/routes/status.d.ts +16 -0
  149. package/dist/routes/status.d.ts.map +1 -0
  150. package/dist/routes/subject.d.ts +16 -0
  151. package/dist/routes/subject.d.ts.map +1 -0
  152. package/dist/types/api.d.ts +5 -1
  153. package/dist/types/api.d.ts.map +1 -1
  154. package/dist/types/index.d.ts +253 -14
  155. package/dist/types/index.d.ts.map +1 -1
  156. package/dist/types.cjs +37 -0
  157. package/dist/types.js +3 -0
  158. package/dist/utils/create-telemetry-options.d.ts +71 -0
  159. package/dist/utils/create-telemetry-options.d.ts.map +1 -0
  160. package/dist/utils/env.d.ts.map +1 -0
  161. package/dist/utils/extract-error-message.d.ts +9 -0
  162. package/dist/utils/extract-error-message.d.ts.map +1 -0
  163. package/dist/utils/index.d.ts +4 -0
  164. package/dist/utils/index.d.ts.map +1 -0
  165. package/dist/utils/instrumentation.d.ts +70 -0
  166. package/dist/utils/instrumentation.d.ts.map +1 -0
  167. package/dist/utils/logger.d.ts.map +1 -0
  168. package/dist/utils/metrics.d.ts +133 -0
  169. package/dist/utils/metrics.d.ts.map +1 -0
  170. package/dist/version.d.ts +1 -1
  171. package/dist/version.d.ts.map +1 -1
  172. package/package.json +143 -224
  173. package/rslib.config.ts +11 -34
  174. package/src/cache/adapters/cloudflare-kv.ts +71 -0
  175. package/src/cache/adapters/index.ts +22 -0
  176. package/src/cache/adapters/memory.ts +111 -0
  177. package/src/cache/adapters/upstash-redis.ts +113 -0
  178. package/src/cache/gvl-resolver.ts +289 -0
  179. package/src/cache/index.ts +34 -0
  180. package/src/cache/keys.ts +68 -0
  181. package/src/cache/types.ts +66 -0
  182. package/src/core.ts +254 -352
  183. package/src/db/migrator/index.ts +80 -0
  184. package/src/db/registry/consent-policy.test.ts +451 -0
  185. package/src/db/registry/consent-policy.ts +82 -0
  186. package/src/db/registry/consent-purpose.test.ts +428 -0
  187. package/src/db/registry/consent-purpose.ts +61 -0
  188. package/src/db/registry/domain.test.ts +445 -0
  189. package/src/db/registry/domain.ts +91 -0
  190. package/src/db/registry/index.ts +14 -0
  191. package/src/db/registry/subject.test.ts +388 -0
  192. package/src/db/registry/subject.ts +129 -0
  193. package/src/db/registry/types.ts +10 -0
  194. package/src/db/registry/utils/generate-id.test.ts +216 -0
  195. package/src/db/registry/utils/generate-id.ts +133 -0
  196. package/src/db/registry/utils.ts +133 -0
  197. package/src/db/schema/1.0.0/audit-log.ts +15 -0
  198. package/src/db/schema/1.0.0/consent-policy.ts +14 -0
  199. package/src/db/schema/1.0.0/consent-purpose.ts +14 -0
  200. package/src/db/schema/1.0.0/consent-record.ts +10 -0
  201. package/src/db/schema/1.0.0/consent.ts +20 -0
  202. package/src/db/schema/1.0.0/domain.ts +12 -0
  203. package/src/db/schema/1.0.0/index.ts +48 -0
  204. package/src/db/schema/1.0.0/subject.ts +12 -0
  205. package/src/db/schema/2.0.0/audit-log.ts +18 -0
  206. package/src/db/schema/2.0.0/consent-policy.ts +28 -0
  207. package/src/db/schema/2.0.0/consent-purpose.ts +12 -0
  208. package/src/db/schema/2.0.0/consent.ts +26 -0
  209. package/src/db/schema/2.0.0/domain.ts +12 -0
  210. package/src/db/schema/2.0.0/index.ts +47 -0
  211. package/src/db/schema/2.0.0/subject.ts +14 -0
  212. package/src/db/schema/index.ts +15 -0
  213. package/src/db/tenant-scope.test.ts +750 -0
  214. package/src/db/tenant-scope.ts +103 -0
  215. package/src/handlers/consent/check.handler.ts +126 -0
  216. package/src/handlers/consent/index.ts +11 -10
  217. package/src/handlers/init/geo.test.ts +317 -0
  218. package/src/handlers/init/geo.ts +195 -0
  219. package/src/handlers/init/index.test.ts +205 -0
  220. package/src/handlers/init/index.ts +114 -0
  221. package/src/handlers/init/translations.test.ts +121 -0
  222. package/src/handlers/init/translations.ts +72 -0
  223. package/src/handlers/status/index.ts +7 -0
  224. package/src/handlers/status/status.handler.test.ts +155 -0
  225. package/src/handlers/status/status.handler.ts +51 -0
  226. package/src/handlers/subject/get.handler.ts +93 -0
  227. package/src/handlers/subject/index.ts +10 -0
  228. package/src/handlers/subject/list.handler.ts +93 -0
  229. package/src/handlers/subject/patch.handler.ts +122 -0
  230. package/src/handlers/subject/post.handler.test.ts +294 -0
  231. package/src/handlers/subject/post.handler.ts +254 -0
  232. package/src/handlers/utils/consent-enrichment.test.ts +380 -0
  233. package/src/handlers/utils/consent-enrichment.ts +218 -0
  234. package/src/init.test.ts +126 -0
  235. package/src/init.ts +70 -297
  236. package/src/middleware/auth/index.ts +11 -0
  237. package/src/middleware/auth/validate-api-key.test.ts +86 -0
  238. package/src/middleware/auth/validate-api-key.ts +107 -0
  239. package/src/middleware/cors/cors.test.ts +96 -380
  240. package/src/middleware/cors/cors.ts +88 -97
  241. package/src/middleware/cors/is-origin-trusted.ts +2 -1
  242. package/src/middleware/cors/process-cors.ts +1 -1
  243. package/src/middleware/openapi/config.ts +8 -6
  244. package/src/middleware/openapi/handlers.ts +2 -100
  245. package/src/middleware/openapi/index.ts +3 -2
  246. package/src/middleware/process-ip/index.test.ts +195 -0
  247. package/src/middleware/process-ip/index.ts +199 -0
  248. package/src/router.ts +14 -7
  249. package/src/routes/consent.ts +52 -0
  250. package/src/routes/index.ts +10 -0
  251. package/src/routes/init.ts +102 -0
  252. package/src/routes/status.ts +46 -0
  253. package/src/routes/subject.ts +152 -0
  254. package/src/types/api.ts +17 -2
  255. package/src/types/index.ts +288 -23
  256. package/src/utils/create-telemetry-options.test.ts +302 -0
  257. package/src/utils/create-telemetry-options.ts +229 -0
  258. package/src/utils/extract-error-message.ts +21 -0
  259. package/src/utils/index.ts +3 -0
  260. package/src/utils/instrumentation.test.ts +185 -0
  261. package/src/utils/instrumentation.ts +196 -0
  262. package/src/utils/logger.ts +41 -0
  263. package/src/utils/metrics.test.ts +323 -0
  264. package/src/utils/metrics.ts +402 -0
  265. package/src/utils/telemetry-pii.test.ts +325 -0
  266. package/src/version.ts +1 -1
  267. package/tsconfig.json +2 -4
  268. package/LICENSE.md +0 -595
  269. package/dist/__tests__/server.test.d.ts +0 -2
  270. package/dist/__tests__/server.test.d.ts.map +0 -1
  271. package/dist/contracts/consent/identify.contract.d.ts +0 -24
  272. package/dist/contracts/consent/identify.contract.d.ts.map +0 -1
  273. package/dist/contracts/consent/index.d.ts +0 -340
  274. package/dist/contracts/consent/index.d.ts.map +0 -1
  275. package/dist/contracts/consent/index.test.d.ts +0 -2
  276. package/dist/contracts/consent/index.test.d.ts.map +0 -1
  277. package/dist/contracts/consent/post.contract.d.ts +0 -117
  278. package/dist/contracts/consent/post.contract.d.ts.map +0 -1
  279. package/dist/contracts/consent/post.contract.test.d.ts +0 -2
  280. package/dist/contracts/consent/post.contract.test.d.ts.map +0 -1
  281. package/dist/contracts/consent/show-banner.contract.d.ts +0 -123
  282. package/dist/contracts/consent/show-banner.contract.d.ts.map +0 -1
  283. package/dist/contracts/consent/show-banner.contract.test.d.ts +0 -2
  284. package/dist/contracts/consent/show-banner.contract.test.d.ts.map +0 -1
  285. package/dist/contracts/consent/verify.contract.d.ts +0 -81
  286. package/dist/contracts/consent/verify.contract.d.ts.map +0 -1
  287. package/dist/contracts/consent/verify.contract.test.d.ts +0 -2
  288. package/dist/contracts/consent/verify.contract.test.d.ts.map +0 -1
  289. package/dist/contracts/index.d.ts +0 -731
  290. package/dist/contracts/index.d.ts.map +0 -1
  291. package/dist/contracts/meta/index.d.ts +0 -23
  292. package/dist/contracts/meta/index.d.ts.map +0 -1
  293. package/dist/contracts/meta/index.test.d.ts +0 -2
  294. package/dist/contracts/meta/index.test.d.ts.map +0 -1
  295. package/dist/contracts/meta/status.contract.d.ts +0 -22
  296. package/dist/contracts/meta/status.contract.d.ts.map +0 -1
  297. package/dist/contracts/meta/status.contract.test.d.ts +0 -2
  298. package/dist/contracts/meta/status.contract.test.d.ts.map +0 -1
  299. package/dist/contracts/shared/jurisdiction.schema.d.ts +0 -36
  300. package/dist/contracts/shared/jurisdiction.schema.d.ts.map +0 -1
  301. package/dist/contracts.cjs +0 -799
  302. package/dist/contracts.js +0 -636
  303. package/dist/handlers/consent/identify.handler.d.ts +0 -23
  304. package/dist/handlers/consent/identify.handler.d.ts.map +0 -1
  305. package/dist/handlers/consent/identify.handler.test.d.ts +0 -2
  306. package/dist/handlers/consent/identify.handler.test.d.ts.map +0 -1
  307. package/dist/handlers/consent/post.handler.d.ts +0 -139
  308. package/dist/handlers/consent/post.handler.d.ts.map +0 -1
  309. package/dist/handlers/consent/show-banner/geo.d.ts +0 -10
  310. package/dist/handlers/consent/show-banner/geo.d.ts.map +0 -1
  311. package/dist/handlers/consent/show-banner/geo.test.d.ts +0 -2
  312. package/dist/handlers/consent/show-banner/geo.test.d.ts.map +0 -1
  313. package/dist/handlers/consent/show-banner/handler.d.ts +0 -126
  314. package/dist/handlers/consent/show-banner/handler.d.ts.map +0 -1
  315. package/dist/handlers/consent/show-banner/handler.test.d.ts +0 -2
  316. package/dist/handlers/consent/show-banner/handler.test.d.ts.map +0 -1
  317. package/dist/handlers/consent/show-banner/translations.d.ts +0 -13
  318. package/dist/handlers/consent/show-banner/translations.d.ts.map +0 -1
  319. package/dist/handlers/consent/show-banner/translations.test.d.ts +0 -2
  320. package/dist/handlers/consent/show-banner/translations.test.d.ts.map +0 -1
  321. package/dist/handlers/consent/verify.handler.d.ts +0 -103
  322. package/dist/handlers/consent/verify.handler.d.ts.map +0 -1
  323. package/dist/handlers/meta/index.d.ts +0 -23
  324. package/dist/handlers/meta/index.d.ts.map +0 -1
  325. package/dist/handlers/meta/status.handler.d.ts +0 -21
  326. package/dist/handlers/meta/status.handler.d.ts.map +0 -1
  327. package/dist/middleware/cors/cors.test.d.ts +0 -2
  328. package/dist/middleware/cors/cors.test.d.ts.map +0 -1
  329. package/dist/middleware/cors/is-origin-trusted.test.d.ts +0 -2
  330. package/dist/middleware/cors/is-origin-trusted.test.d.ts.map +0 -1
  331. package/dist/pkgs/api-router/hooks/__tests__/processor.test.d.ts +0 -2
  332. package/dist/pkgs/api-router/hooks/__tests__/processor.test.d.ts.map +0 -1
  333. package/dist/pkgs/api-router/hooks/processor.d.ts +0 -87
  334. package/dist/pkgs/api-router/hooks/processor.d.ts.map +0 -1
  335. package/dist/pkgs/api-router/telemetry.d.ts +0 -15
  336. package/dist/pkgs/api-router/telemetry.d.ts.map +0 -1
  337. package/dist/pkgs/api-router/types/router-props.d.ts +0 -32
  338. package/dist/pkgs/api-router/types/router-props.d.ts.map +0 -1
  339. package/dist/pkgs/api-router/utils/ip.d.ts +0 -44
  340. package/dist/pkgs/api-router/utils/ip.d.ts.map +0 -1
  341. package/dist/pkgs/data-model/fields/field-factory.d.ts +0 -151
  342. package/dist/pkgs/data-model/fields/field-factory.d.ts.map +0 -1
  343. package/dist/pkgs/data-model/fields/field-inference.d.ts +0 -76
  344. package/dist/pkgs/data-model/fields/field-inference.d.ts.map +0 -1
  345. package/dist/pkgs/data-model/fields/field-types.d.ts +0 -182
  346. package/dist/pkgs/data-model/fields/field-types.d.ts.map +0 -1
  347. package/dist/pkgs/data-model/fields/id-generator.d.ts +0 -19
  348. package/dist/pkgs/data-model/fields/id-generator.d.ts.map +0 -1
  349. package/dist/pkgs/data-model/fields/index.cjs +0 -159
  350. package/dist/pkgs/data-model/fields/index.d.ts +0 -13
  351. package/dist/pkgs/data-model/fields/index.d.ts.map +0 -1
  352. package/dist/pkgs/data-model/fields/index.js +0 -106
  353. package/dist/pkgs/data-model/fields/superjson-utils.d.ts +0 -12
  354. package/dist/pkgs/data-model/fields/superjson-utils.d.ts.map +0 -1
  355. package/dist/pkgs/data-model/fields/zod-fields.d.ts +0 -331
  356. package/dist/pkgs/data-model/fields/zod-fields.d.ts.map +0 -1
  357. package/dist/pkgs/data-model/hooks/create-hooks.d.ts +0 -32
  358. package/dist/pkgs/data-model/hooks/create-hooks.d.ts.map +0 -1
  359. package/dist/pkgs/data-model/hooks/index.d.ts +0 -40
  360. package/dist/pkgs/data-model/hooks/index.d.ts.map +0 -1
  361. package/dist/pkgs/data-model/hooks/types.d.ts +0 -134
  362. package/dist/pkgs/data-model/hooks/types.d.ts.map +0 -1
  363. package/dist/pkgs/data-model/hooks/update-hooks.d.ts +0 -33
  364. package/dist/pkgs/data-model/hooks/update-hooks.d.ts.map +0 -1
  365. package/dist/pkgs/data-model/hooks/update-many-hooks.d.ts +0 -55
  366. package/dist/pkgs/data-model/hooks/update-many-hooks.d.ts.map +0 -1
  367. package/dist/pkgs/data-model/hooks/utils.d.ts +0 -62
  368. package/dist/pkgs/data-model/hooks/utils.d.ts.map +0 -1
  369. package/dist/pkgs/data-model/hooks/with-hooks-factory.d.ts +0 -33
  370. package/dist/pkgs/data-model/hooks/with-hooks-factory.d.ts.map +0 -1
  371. package/dist/pkgs/data-model/index.cjs +0 -1603
  372. package/dist/pkgs/data-model/index.d.ts +0 -10
  373. package/dist/pkgs/data-model/index.d.ts.map +0 -1
  374. package/dist/pkgs/data-model/index.js +0 -1469
  375. package/dist/pkgs/data-model/schema/index.cjs +0 -1550
  376. package/dist/pkgs/data-model/schema/index.d.ts +0 -8
  377. package/dist/pkgs/data-model/schema/index.d.ts.map +0 -1
  378. package/dist/pkgs/data-model/schema/index.js +0 -1446
  379. package/dist/pkgs/data-model/schema/schemas.d.ts +0 -14
  380. package/dist/pkgs/data-model/schema/schemas.d.ts.map +0 -1
  381. package/dist/pkgs/data-model/schema/types.d.ts +0 -86
  382. package/dist/pkgs/data-model/schema/types.d.ts.map +0 -1
  383. package/dist/pkgs/db-adapters/adapter-factory.d.ts +0 -21
  384. package/dist/pkgs/db-adapters/adapter-factory.d.ts.map +0 -1
  385. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +0 -122
  386. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +0 -1
  387. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +0 -1183
  388. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.d.ts +0 -2
  389. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.d.ts.map +0 -1
  390. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +0 -1139
  391. package/dist/pkgs/db-adapters/adapters/index.d.ts +0 -10
  392. package/dist/pkgs/db-adapters/adapters/index.d.ts.map +0 -1
  393. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts +0 -70
  394. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts.map +0 -1
  395. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +0 -1296
  396. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts +0 -4
  397. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts.map +0 -1
  398. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +0 -1132
  399. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts +0 -99
  400. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts.map +0 -1
  401. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.d.ts +0 -2
  402. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.d.ts.map +0 -1
  403. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.d.ts +0 -2
  404. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.d.ts.map +0 -1
  405. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +0 -49
  406. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +0 -1
  407. package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts +0 -278
  408. package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts.map +0 -1
  409. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +0 -1076
  410. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.d.ts +0 -2
  411. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.d.ts.map +0 -1
  412. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +0 -916
  413. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts +0 -58
  414. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts.map +0 -1
  415. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +0 -1155
  416. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts +0 -2
  417. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts.map +0 -1
  418. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +0 -1111
  419. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts +0 -145
  420. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts.map +0 -1
  421. package/dist/pkgs/db-adapters/adapters/test.d.ts +0 -11
  422. package/dist/pkgs/db-adapters/adapters/test.d.ts.map +0 -1
  423. package/dist/pkgs/db-adapters/index.cjs +0 -2035
  424. package/dist/pkgs/db-adapters/index.d.ts +0 -16
  425. package/dist/pkgs/db-adapters/index.d.ts.map +0 -1
  426. package/dist/pkgs/db-adapters/index.js +0 -1972
  427. package/dist/pkgs/db-adapters/types.d.ts +0 -160
  428. package/dist/pkgs/db-adapters/types.d.ts.map +0 -1
  429. package/dist/pkgs/db-adapters/utils.d.ts +0 -36
  430. package/dist/pkgs/db-adapters/utils.d.ts.map +0 -1
  431. package/dist/pkgs/migrations/get-migration.d.ts +0 -4
  432. package/dist/pkgs/migrations/get-migration.d.ts.map +0 -1
  433. package/dist/pkgs/migrations/get-schema/get-schema.d.ts +0 -27
  434. package/dist/pkgs/migrations/get-schema/get-schema.d.ts.map +0 -1
  435. package/dist/pkgs/migrations/get-schema/index.d.ts +0 -21
  436. package/dist/pkgs/migrations/get-schema/index.d.ts.map +0 -1
  437. package/dist/pkgs/migrations/get-schema/process-fields.d.ts +0 -15
  438. package/dist/pkgs/migrations/get-schema/process-fields.d.ts.map +0 -1
  439. package/dist/pkgs/migrations/get-schema/process-tables.d.ts +0 -13
  440. package/dist/pkgs/migrations/get-schema/process-tables.d.ts.map +0 -1
  441. package/dist/pkgs/migrations/get-schema/types.d.ts +0 -17
  442. package/dist/pkgs/migrations/get-schema/types.d.ts.map +0 -1
  443. package/dist/pkgs/migrations/index.cjs +0 -1352
  444. package/dist/pkgs/migrations/index.d.ts +0 -18
  445. package/dist/pkgs/migrations/index.d.ts.map +0 -1
  446. package/dist/pkgs/migrations/index.js +0 -1171
  447. package/dist/pkgs/migrations/migration-builders.d.ts +0 -28
  448. package/dist/pkgs/migrations/migration-builders.d.ts.map +0 -1
  449. package/dist/pkgs/migrations/migration-execution.d.ts +0 -12
  450. package/dist/pkgs/migrations/migration-execution.d.ts.map +0 -1
  451. package/dist/pkgs/migrations/schema-comparison.d.ts +0 -35
  452. package/dist/pkgs/migrations/schema-comparison.d.ts.map +0 -1
  453. package/dist/pkgs/migrations/type-mapping.d.ts +0 -75
  454. package/dist/pkgs/migrations/type-mapping.d.ts.map +0 -1
  455. package/dist/pkgs/migrations/types.d.ts +0 -36
  456. package/dist/pkgs/migrations/types.d.ts.map +0 -1
  457. package/dist/pkgs/results/__tests__/error-class.test.d.ts +0 -2
  458. package/dist/pkgs/results/__tests__/error-class.test.d.ts.map +0 -1
  459. package/dist/pkgs/results/__tests__/error-codes.test.d.ts +0 -2
  460. package/dist/pkgs/results/__tests__/error-codes.test.d.ts.map +0 -1
  461. package/dist/pkgs/results/__tests__/neverthrow-integration.test.d.ts +0 -2
  462. package/dist/pkgs/results/__tests__/neverthrow-integration.test.d.ts.map +0 -1
  463. package/dist/pkgs/results/__tests__/recovery-utils.test.d.ts +0 -2
  464. package/dist/pkgs/results/__tests__/recovery-utils.test.d.ts.map +0 -1
  465. package/dist/pkgs/results/__tests__/result-helpers.test.d.ts +0 -2
  466. package/dist/pkgs/results/__tests__/result-helpers.test.d.ts.map +0 -1
  467. package/dist/pkgs/results/core/error-class.d.ts +0 -128
  468. package/dist/pkgs/results/core/error-class.d.ts.map +0 -1
  469. package/dist/pkgs/results/core/error-codes.d.ts +0 -178
  470. package/dist/pkgs/results/core/error-codes.d.ts.map +0 -1
  471. package/dist/pkgs/results/core/tracing.d.ts +0 -11
  472. package/dist/pkgs/results/core/tracing.d.ts.map +0 -1
  473. package/dist/pkgs/results/create-telemetry-options.d.ts +0 -31
  474. package/dist/pkgs/results/create-telemetry-options.d.ts.map +0 -1
  475. package/dist/pkgs/results/index.cjs +0 -462
  476. package/dist/pkgs/results/index.d.ts +0 -80
  477. package/dist/pkgs/results/index.d.ts.map +0 -1
  478. package/dist/pkgs/results/index.js +0 -377
  479. package/dist/pkgs/results/orpc-error-handler.d.ts +0 -65
  480. package/dist/pkgs/results/orpc-error-handler.d.ts.map +0 -1
  481. package/dist/pkgs/results/results/recovery-utils.d.ts +0 -115
  482. package/dist/pkgs/results/results/recovery-utils.d.ts.map +0 -1
  483. package/dist/pkgs/results/results/result-helpers.d.ts +0 -214
  484. package/dist/pkgs/results/results/result-helpers.d.ts.map +0 -1
  485. package/dist/pkgs/results/types.d.ts +0 -200
  486. package/dist/pkgs/results/types.d.ts.map +0 -1
  487. package/dist/pkgs/types/context.d.ts +0 -160
  488. package/dist/pkgs/types/context.d.ts.map +0 -1
  489. package/dist/pkgs/types/endpoints.d.ts +0 -30
  490. package/dist/pkgs/types/endpoints.d.ts.map +0 -1
  491. package/dist/pkgs/types/helper.d.ts +0 -55
  492. package/dist/pkgs/types/helper.d.ts.map +0 -1
  493. package/dist/pkgs/types/index.cjs +0 -18
  494. package/dist/pkgs/types/index.d.ts +0 -11
  495. package/dist/pkgs/types/index.d.ts.map +0 -1
  496. package/dist/pkgs/types/options.d.ts +0 -228
  497. package/dist/pkgs/types/options.d.ts.map +0 -1
  498. package/dist/pkgs/types/plugins.d.ts +0 -171
  499. package/dist/pkgs/types/plugins.d.ts.map +0 -1
  500. package/dist/pkgs/utils/env.d.ts.map +0 -1
  501. package/dist/pkgs/utils/index.d.ts +0 -4
  502. package/dist/pkgs/utils/index.d.ts.map +0 -1
  503. package/dist/pkgs/utils/logger.d.ts.map +0 -1
  504. package/dist/pkgs/utils/url.d.ts +0 -28
  505. package/dist/pkgs/utils/url.d.ts.map +0 -1
  506. package/dist/schema/audit-log/index.d.ts +0 -4
  507. package/dist/schema/audit-log/index.d.ts.map +0 -1
  508. package/dist/schema/audit-log/registry.d.ts +0 -96
  509. package/dist/schema/audit-log/registry.d.ts.map +0 -1
  510. package/dist/schema/audit-log/schema.d.ts +0 -45
  511. package/dist/schema/audit-log/schema.d.ts.map +0 -1
  512. package/dist/schema/audit-log/table.d.ts +0 -153
  513. package/dist/schema/audit-log/table.d.ts.map +0 -1
  514. package/dist/schema/audit-log/types.d.ts +0 -29
  515. package/dist/schema/audit-log/types.d.ts.map +0 -1
  516. package/dist/schema/consent/index.d.ts +0 -4
  517. package/dist/schema/consent/index.d.ts.map +0 -1
  518. package/dist/schema/consent/registry.d.ts +0 -150
  519. package/dist/schema/consent/registry.d.ts.map +0 -1
  520. package/dist/schema/consent/schema.d.ts +0 -53
  521. package/dist/schema/consent/schema.d.ts.map +0 -1
  522. package/dist/schema/consent/table.d.ts +0 -183
  523. package/dist/schema/consent/table.d.ts.map +0 -1
  524. package/dist/schema/consent/types.d.ts +0 -37
  525. package/dist/schema/consent/types.d.ts.map +0 -1
  526. package/dist/schema/consent-policy/index.d.ts +0 -4
  527. package/dist/schema/consent-policy/index.d.ts.map +0 -1
  528. package/dist/schema/consent-policy/registry.d.ts +0 -200
  529. package/dist/schema/consent-policy/registry.d.ts.map +0 -1
  530. package/dist/schema/consent-policy/schema.d.ts +0 -65
  531. package/dist/schema/consent-policy/schema.d.ts.map +0 -1
  532. package/dist/schema/consent-policy/table.d.ts +0 -142
  533. package/dist/schema/consent-policy/table.d.ts.map +0 -1
  534. package/dist/schema/consent-policy/types.d.ts +0 -29
  535. package/dist/schema/consent-policy/types.d.ts.map +0 -1
  536. package/dist/schema/consent-purpose/index.d.ts +0 -4
  537. package/dist/schema/consent-purpose/index.d.ts.map +0 -1
  538. package/dist/schema/consent-purpose/registry.d.ts +0 -138
  539. package/dist/schema/consent-purpose/registry.d.ts.map +0 -1
  540. package/dist/schema/consent-purpose/schema.d.ts +0 -57
  541. package/dist/schema/consent-purpose/schema.d.ts.map +0 -1
  542. package/dist/schema/consent-purpose/table.d.ts +0 -139
  543. package/dist/schema/consent-purpose/table.d.ts.map +0 -1
  544. package/dist/schema/consent-purpose/types.d.ts +0 -16
  545. package/dist/schema/consent-purpose/types.d.ts.map +0 -1
  546. package/dist/schema/consent-record/index.d.ts +0 -3
  547. package/dist/schema/consent-record/index.d.ts.map +0 -1
  548. package/dist/schema/consent-record/schema.d.ts +0 -41
  549. package/dist/schema/consent-record/schema.d.ts.map +0 -1
  550. package/dist/schema/consent-record/table.d.ts +0 -107
  551. package/dist/schema/consent-record/table.d.ts.map +0 -1
  552. package/dist/schema/consent-record/types.d.ts +0 -21
  553. package/dist/schema/consent-record/types.d.ts.map +0 -1
  554. package/dist/schema/create-registry.d.ts +0 -218
  555. package/dist/schema/create-registry.d.ts.map +0 -1
  556. package/dist/schema/definition.d.ts +0 -586
  557. package/dist/schema/definition.d.ts.map +0 -1
  558. package/dist/schema/domain/index.d.ts +0 -4
  559. package/dist/schema/domain/index.d.ts.map +0 -1
  560. package/dist/schema/domain/registry.d.ts +0 -222
  561. package/dist/schema/domain/registry.d.ts.map +0 -1
  562. package/dist/schema/domain/schema.d.ts +0 -42
  563. package/dist/schema/domain/schema.d.ts.map +0 -1
  564. package/dist/schema/domain/table.d.ts +0 -122
  565. package/dist/schema/domain/table.d.ts.map +0 -1
  566. package/dist/schema/domain/types.d.ts +0 -27
  567. package/dist/schema/domain/types.d.ts.map +0 -1
  568. package/dist/schema/index.cjs +0 -1565
  569. package/dist/schema/index.d.ts +0 -70
  570. package/dist/schema/index.d.ts.map +0 -1
  571. package/dist/schema/index.js +0 -1455
  572. package/dist/schema/schemas.d.ts +0 -98
  573. package/dist/schema/schemas.d.ts.map +0 -1
  574. package/dist/schema/subject/index.d.ts +0 -4
  575. package/dist/schema/subject/index.d.ts.map +0 -1
  576. package/dist/schema/subject/registry.d.ts +0 -110
  577. package/dist/schema/subject/registry.d.ts.map +0 -1
  578. package/dist/schema/subject/schema.d.ts +0 -40
  579. package/dist/schema/subject/schema.d.ts.map +0 -1
  580. package/dist/schema/subject/table.d.ts +0 -120
  581. package/dist/schema/subject/table.d.ts.map +0 -1
  582. package/dist/schema/subject/types.d.ts +0 -22
  583. package/dist/schema/subject/types.d.ts.map +0 -1
  584. package/dist/schema/types.d.ts +0 -108
  585. package/dist/schema/types.d.ts.map +0 -1
  586. package/dist/server.d.ts +0 -2
  587. package/dist/server.d.ts.map +0 -1
  588. package/dist/testing/contract-testing.d.ts +0 -38
  589. package/dist/testing/contract-testing.d.ts.map +0 -1
  590. package/dist/types/context.d.ts +0 -12
  591. package/dist/types/context.d.ts.map +0 -1
  592. package/dist/types/options.d.ts +0 -91
  593. package/dist/types/options.d.ts.map +0 -1
  594. package/dist/types/plugins.d.ts +0 -126
  595. package/dist/types/plugins.d.ts.map +0 -1
  596. package/dist/v2/contracts/consent/identify.contract.d.ts +0 -24
  597. package/dist/v2/contracts/consent/identify.contract.d.ts.map +0 -1
  598. package/dist/v2/contracts/consent/index.d.ts +0 -340
  599. package/dist/v2/contracts/consent/index.d.ts.map +0 -1
  600. package/dist/v2/contracts/consent/index.test.d.ts +0 -2
  601. package/dist/v2/contracts/consent/index.test.d.ts.map +0 -1
  602. package/dist/v2/contracts/consent/post.contract.d.ts +0 -117
  603. package/dist/v2/contracts/consent/post.contract.d.ts.map +0 -1
  604. package/dist/v2/contracts/consent/post.contract.test.d.ts +0 -2
  605. package/dist/v2/contracts/consent/post.contract.test.d.ts.map +0 -1
  606. package/dist/v2/contracts/consent/show-banner.contract.d.ts +0 -123
  607. package/dist/v2/contracts/consent/show-banner.contract.d.ts.map +0 -1
  608. package/dist/v2/contracts/consent/show-banner.contract.test.d.ts +0 -2
  609. package/dist/v2/contracts/consent/show-banner.contract.test.d.ts.map +0 -1
  610. package/dist/v2/contracts/consent/verify.contract.d.ts +0 -81
  611. package/dist/v2/contracts/consent/verify.contract.d.ts.map +0 -1
  612. package/dist/v2/contracts/consent/verify.contract.test.d.ts +0 -2
  613. package/dist/v2/contracts/consent/verify.contract.test.d.ts.map +0 -1
  614. package/dist/v2/contracts/index.cjs +0 -716
  615. package/dist/v2/contracts/index.d.ts +0 -723
  616. package/dist/v2/contracts/index.d.ts.map +0 -1
  617. package/dist/v2/contracts/index.js +0 -679
  618. package/dist/v2/contracts/meta/index.d.ts +0 -19
  619. package/dist/v2/contracts/meta/index.d.ts.map +0 -1
  620. package/dist/v2/contracts/meta/index.test.d.ts +0 -2
  621. package/dist/v2/contracts/meta/index.test.d.ts.map +0 -1
  622. package/dist/v2/contracts/meta/status.contract.d.ts +0 -18
  623. package/dist/v2/contracts/meta/status.contract.d.ts.map +0 -1
  624. package/dist/v2/contracts/meta/status.contract.test.d.ts +0 -2
  625. package/dist/v2/contracts/meta/status.contract.test.d.ts.map +0 -1
  626. package/dist/v2/contracts/shared/jurisdiction.schema.d.ts +0 -36
  627. package/dist/v2/contracts/shared/jurisdiction.schema.d.ts.map +0 -1
  628. package/dist/v2/contracts/test.utils.d.ts +0 -38
  629. package/dist/v2/contracts/test.utils.d.ts.map +0 -1
  630. package/dist/v2/core.cjs +0 -2350
  631. package/dist/v2/core.d.ts +0 -444
  632. package/dist/v2/core.d.ts.map +0 -1
  633. package/dist/v2/core.js +0 -2300
  634. package/dist/v2/db/adapters/drizzle.cjs +0 -36
  635. package/dist/v2/db/adapters/drizzle.d.ts.map +0 -1
  636. package/dist/v2/db/adapters/index.cjs +0 -18
  637. package/dist/v2/db/adapters/index.d.ts.map +0 -1
  638. package/dist/v2/db/adapters/index.js +0 -0
  639. package/dist/v2/db/adapters/kysely.cjs +0 -36
  640. package/dist/v2/db/adapters/kysely.d.ts.map +0 -1
  641. package/dist/v2/db/adapters/mongo.cjs +0 -36
  642. package/dist/v2/db/adapters/mongo.d.ts.map +0 -1
  643. package/dist/v2/db/adapters/prisma.cjs +0 -36
  644. package/dist/v2/db/adapters/prisma.d.ts.map +0 -1
  645. package/dist/v2/db/adapters/typeorm.cjs +0 -36
  646. package/dist/v2/db/adapters/typeorm.d.ts.map +0 -1
  647. package/dist/v2/db/migrator/index.cjs +0 -61
  648. package/dist/v2/db/migrator/index.d.ts.map +0 -1
  649. package/dist/v2/db/registry/audit-log.d.ts +0 -21
  650. package/dist/v2/db/registry/audit-log.d.ts.map +0 -1
  651. package/dist/v2/db/registry/audit-log.test.d.ts +0 -2
  652. package/dist/v2/db/registry/audit-log.test.d.ts.map +0 -1
  653. package/dist/v2/db/registry/consent-policy.d.ts +0 -29
  654. package/dist/v2/db/registry/consent-policy.d.ts.map +0 -1
  655. package/dist/v2/db/registry/consent-policy.test.d.ts +0 -2
  656. package/dist/v2/db/registry/consent-policy.test.d.ts.map +0 -1
  657. package/dist/v2/db/registry/consent-purpose.d.ts +0 -16
  658. package/dist/v2/db/registry/consent-purpose.d.ts.map +0 -1
  659. package/dist/v2/db/registry/consent-purpose.test.d.ts +0 -2
  660. package/dist/v2/db/registry/consent-purpose.test.d.ts.map +0 -1
  661. package/dist/v2/db/registry/consent.d.ts +0 -20
  662. package/dist/v2/db/registry/consent.d.ts.map +0 -1
  663. package/dist/v2/db/registry/consent.test.d.ts +0 -2
  664. package/dist/v2/db/registry/consent.test.d.ts.map +0 -1
  665. package/dist/v2/db/registry/domain.d.ts +0 -24
  666. package/dist/v2/db/registry/domain.d.ts.map +0 -1
  667. package/dist/v2/db/registry/domain.test.d.ts +0 -2
  668. package/dist/v2/db/registry/domain.test.d.ts.map +0 -1
  669. package/dist/v2/db/registry/index.d.ts +0 -103
  670. package/dist/v2/db/registry/index.d.ts.map +0 -1
  671. package/dist/v2/db/registry/subject.d.ts +0 -19
  672. package/dist/v2/db/registry/subject.d.ts.map +0 -1
  673. package/dist/v2/db/registry/subject.test.d.ts +0 -2
  674. package/dist/v2/db/registry/subject.test.d.ts.map +0 -1
  675. package/dist/v2/db/registry/types.d.ts +0 -10
  676. package/dist/v2/db/registry/types.d.ts.map +0 -1
  677. package/dist/v2/db/registry/utils/generate-id.d.ts +0 -25
  678. package/dist/v2/db/registry/utils/generate-id.d.ts.map +0 -1
  679. package/dist/v2/db/registry/utils/generate-id.test.d.ts +0 -2
  680. package/dist/v2/db/registry/utils/generate-id.test.d.ts.map +0 -1
  681. package/dist/v2/db/registry/utils.d.ts +0 -25
  682. package/dist/v2/db/registry/utils.d.ts.map +0 -1
  683. package/dist/v2/db/schema/1.0.0/audit-log.d.ts +0 -29
  684. package/dist/v2/db/schema/1.0.0/audit-log.d.ts.map +0 -1
  685. package/dist/v2/db/schema/1.0.0/consent-policy.d.ts +0 -45
  686. package/dist/v2/db/schema/1.0.0/consent-policy.d.ts.map +0 -1
  687. package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts +0 -27
  688. package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts.map +0 -1
  689. package/dist/v2/db/schema/1.0.0/consent-record.d.ts +0 -19
  690. package/dist/v2/db/schema/1.0.0/consent-record.d.ts.map +0 -1
  691. package/dist/v2/db/schema/1.0.0/consent.d.ts +0 -42
  692. package/dist/v2/db/schema/1.0.0/consent.d.ts.map +0 -1
  693. package/dist/v2/db/schema/1.0.0/domain.d.ts +0 -23
  694. package/dist/v2/db/schema/1.0.0/domain.d.ts.map +0 -1
  695. package/dist/v2/db/schema/1.0.0/index.d.ts +0 -1513
  696. package/dist/v2/db/schema/1.0.0/index.d.ts.map +0 -1
  697. package/dist/v2/db/schema/1.0.0/subject.d.ts +0 -23
  698. package/dist/v2/db/schema/1.0.0/subject.d.ts.map +0 -1
  699. package/dist/v2/db/schema/index.cjs +0 -326
  700. package/dist/v2/db/schema/index.d.ts +0 -1507
  701. package/dist/v2/db/schema/index.d.ts.map +0 -1
  702. package/dist/v2/db/schema/index.js +0 -241
  703. package/dist/v2/define-config.cjs +0 -36
  704. package/dist/v2/define-config.d.ts.map +0 -1
  705. package/dist/v2/handlers/consent/identify.handler.d.ts +0 -23
  706. package/dist/v2/handlers/consent/identify.handler.d.ts.map +0 -1
  707. package/dist/v2/handlers/consent/identify.handler.test.d.ts +0 -2
  708. package/dist/v2/handlers/consent/identify.handler.test.d.ts.map +0 -1
  709. package/dist/v2/handlers/consent/index.d.ts +0 -340
  710. package/dist/v2/handlers/consent/index.d.ts.map +0 -1
  711. package/dist/v2/handlers/consent/post.handler.d.ts +0 -139
  712. package/dist/v2/handlers/consent/post.handler.d.ts.map +0 -1
  713. package/dist/v2/handlers/consent/show-banner/geo.d.ts +0 -10
  714. package/dist/v2/handlers/consent/show-banner/geo.d.ts.map +0 -1
  715. package/dist/v2/handlers/consent/show-banner/geo.test.d.ts +0 -2
  716. package/dist/v2/handlers/consent/show-banner/geo.test.d.ts.map +0 -1
  717. package/dist/v2/handlers/consent/show-banner/handler.d.ts +0 -126
  718. package/dist/v2/handlers/consent/show-banner/handler.d.ts.map +0 -1
  719. package/dist/v2/handlers/consent/show-banner/handler.test.d.ts +0 -2
  720. package/dist/v2/handlers/consent/show-banner/handler.test.d.ts.map +0 -1
  721. package/dist/v2/handlers/consent/show-banner/translations.d.ts +0 -13
  722. package/dist/v2/handlers/consent/show-banner/translations.d.ts.map +0 -1
  723. package/dist/v2/handlers/consent/show-banner/translations.test.d.ts +0 -2
  724. package/dist/v2/handlers/consent/show-banner/translations.test.d.ts.map +0 -1
  725. package/dist/v2/handlers/consent/verify.handler.d.ts +0 -103
  726. package/dist/v2/handlers/consent/verify.handler.d.ts.map +0 -1
  727. package/dist/v2/handlers/meta/index.d.ts +0 -19
  728. package/dist/v2/handlers/meta/index.d.ts.map +0 -1
  729. package/dist/v2/handlers/meta/status.handler.d.ts +0 -17
  730. package/dist/v2/handlers/meta/status.handler.d.ts.map +0 -1
  731. package/dist/v2/init.d.ts +0 -3
  732. package/dist/v2/init.d.ts.map +0 -1
  733. package/dist/v2/init.test.d.ts +0 -2
  734. package/dist/v2/init.test.d.ts.map +0 -1
  735. package/dist/v2/middleware/cors/cors.d.ts +0 -37
  736. package/dist/v2/middleware/cors/cors.d.ts.map +0 -1
  737. package/dist/v2/middleware/cors/cors.test.d.ts +0 -2
  738. package/dist/v2/middleware/cors/cors.test.d.ts.map +0 -1
  739. package/dist/v2/middleware/cors/index.d.ts +0 -30
  740. package/dist/v2/middleware/cors/index.d.ts.map +0 -1
  741. package/dist/v2/middleware/cors/is-origin-trusted.d.ts +0 -49
  742. package/dist/v2/middleware/cors/is-origin-trusted.d.ts.map +0 -1
  743. package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts +0 -2
  744. package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts.map +0 -1
  745. package/dist/v2/middleware/cors/process-cors.d.ts +0 -31
  746. package/dist/v2/middleware/cors/process-cors.d.ts.map +0 -1
  747. package/dist/v2/middleware/openapi/config.d.ts +0 -28
  748. package/dist/v2/middleware/openapi/config.d.ts.map +0 -1
  749. package/dist/v2/middleware/openapi/handlers.d.ts +0 -29
  750. package/dist/v2/middleware/openapi/handlers.d.ts.map +0 -1
  751. package/dist/v2/middleware/openapi/index.d.ts +0 -11
  752. package/dist/v2/middleware/openapi/index.d.ts.map +0 -1
  753. package/dist/v2/middleware/process-ip/index.d.ts +0 -3
  754. package/dist/v2/middleware/process-ip/index.d.ts.map +0 -1
  755. package/dist/v2/router.cjs +0 -1442
  756. package/dist/v2/router.d.ts +0 -360
  757. package/dist/v2/router.d.ts.map +0 -1
  758. package/dist/v2/router.js +0 -1398
  759. package/dist/v2/types/api.d.ts +0 -27
  760. package/dist/v2/types/api.d.ts.map +0 -1
  761. package/dist/v2/types/index.cjs +0 -40
  762. package/dist/v2/types/index.d.ts +0 -104
  763. package/dist/v2/types/index.d.ts.map +0 -1
  764. package/dist/v2/types/index.js +0 -6
  765. package/dist/v2/utils/create-telemetry-options.d.ts +0 -28
  766. package/dist/v2/utils/create-telemetry-options.d.ts.map +0 -1
  767. package/dist/v2/utils/env.d.ts +0 -60
  768. package/dist/v2/utils/env.d.ts.map +0 -1
  769. package/dist/v2/utils/index.d.ts +0 -3
  770. package/dist/v2/utils/index.d.ts.map +0 -1
  771. package/dist/v2/utils/logger.d.ts +0 -16
  772. package/dist/v2/utils/logger.d.ts.map +0 -1
  773. package/src/__tests__/server.test.ts +0 -100
  774. package/src/contracts/consent/identify.contract.ts +0 -38
  775. package/src/contracts/consent/index.test.ts +0 -5
  776. package/src/contracts/consent/index.ts +0 -11
  777. package/src/contracts/consent/post.contract.test.ts +0 -521
  778. package/src/contracts/consent/post.contract.ts +0 -156
  779. package/src/contracts/consent/show-banner.contract.test.ts +0 -260
  780. package/src/contracts/consent/show-banner.contract.ts +0 -136
  781. package/src/contracts/consent/verify.contract.test.ts +0 -185
  782. package/src/contracts/consent/verify.contract.ts +0 -122
  783. package/src/contracts/index.ts +0 -20
  784. package/src/contracts/meta/index.test.ts +0 -5
  785. package/src/contracts/meta/index.ts +0 -5
  786. package/src/contracts/meta/status.contract.test.ts +0 -338
  787. package/src/contracts/meta/status.contract.ts +0 -37
  788. package/src/contracts/shared/jurisdiction.schema.ts +0 -30
  789. package/src/handlers/consent/identify.handler.test.ts +0 -473
  790. package/src/handlers/consent/identify.handler.ts +0 -176
  791. package/src/handlers/consent/post.handler.ts +0 -277
  792. package/src/handlers/consent/show-banner/geo.test.ts +0 -281
  793. package/src/handlers/consent/show-banner/geo.ts +0 -96
  794. package/src/handlers/consent/show-banner/handler.test.ts +0 -376
  795. package/src/handlers/consent/show-banner/handler.ts +0 -123
  796. package/src/handlers/consent/show-banner/translations.test.ts +0 -121
  797. package/src/handlers/consent/show-banner/translations.ts +0 -79
  798. package/src/handlers/consent/verify.handler.ts +0 -305
  799. package/src/handlers/meta/index.ts +0 -5
  800. package/src/handlers/meta/status.handler.ts +0 -47
  801. package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +0 -290
  802. package/src/pkgs/api-router/hooks/processor.ts +0 -153
  803. package/src/pkgs/api-router/telemetry.ts +0 -83
  804. package/src/pkgs/api-router/types/router-props.ts +0 -36
  805. package/src/pkgs/api-router/utils/ip.ts +0 -92
  806. package/src/pkgs/data-model/fields/field-factory.ts +0 -208
  807. package/src/pkgs/data-model/fields/field-inference.ts +0 -93
  808. package/src/pkgs/data-model/fields/field-types.ts +0 -233
  809. package/src/pkgs/data-model/fields/id-generator.ts +0 -57
  810. package/src/pkgs/data-model/fields/index.ts +0 -37
  811. package/src/pkgs/data-model/fields/superjson-utils.ts +0 -17
  812. package/src/pkgs/data-model/fields/zod-fields.ts +0 -125
  813. package/src/pkgs/data-model/hooks/create-hooks.ts +0 -88
  814. package/src/pkgs/data-model/hooks/index.ts +0 -40
  815. package/src/pkgs/data-model/hooks/types.ts +0 -165
  816. package/src/pkgs/data-model/hooks/update-hooks.ts +0 -91
  817. package/src/pkgs/data-model/hooks/update-many-hooks.ts +0 -176
  818. package/src/pkgs/data-model/hooks/utils.ts +0 -151
  819. package/src/pkgs/data-model/hooks/with-hooks-factory.ts +0 -68
  820. package/src/pkgs/data-model/index.ts +0 -13
  821. package/src/pkgs/data-model/schema/index.ts +0 -19
  822. package/src/pkgs/data-model/schema/schemas.ts +0 -15
  823. package/src/pkgs/data-model/schema/types.ts +0 -105
  824. package/src/pkgs/db-adapters/README.md +0 -95
  825. package/src/pkgs/db-adapters/adapter-factory.ts +0 -68
  826. package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +0 -709
  827. package/src/pkgs/db-adapters/adapters/drizzle-adapter/index.ts +0 -1
  828. package/src/pkgs/db-adapters/adapters/index.ts +0 -10
  829. package/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts +0 -195
  830. package/src/pkgs/db-adapters/adapters/kysely-adapter/index.ts +0 -10
  831. package/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts +0 -1182
  832. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +0 -214
  833. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +0 -227
  834. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +0 -439
  835. package/src/pkgs/db-adapters/adapters/kysely-adapter/types.ts +0 -304
  836. package/src/pkgs/db-adapters/adapters/memory-adapter/index.ts +0 -1
  837. package/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts +0 -665
  838. package/src/pkgs/db-adapters/adapters/prisma-adapter/index.ts +0 -1
  839. package/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts +0 -586
  840. package/src/pkgs/db-adapters/adapters/test.ts +0 -77
  841. package/src/pkgs/db-adapters/index.ts +0 -28
  842. package/src/pkgs/db-adapters/types.ts +0 -211
  843. package/src/pkgs/db-adapters/utils.ts +0 -51
  844. package/src/pkgs/migrations/README.md +0 -73
  845. package/src/pkgs/migrations/get-migration.ts +0 -88
  846. package/src/pkgs/migrations/get-schema/get-schema.ts +0 -43
  847. package/src/pkgs/migrations/get-schema/index.ts +0 -20
  848. package/src/pkgs/migrations/get-schema/process-fields.ts +0 -65
  849. package/src/pkgs/migrations/get-schema/process-tables.ts +0 -66
  850. package/src/pkgs/migrations/get-schema/types.ts +0 -18
  851. package/src/pkgs/migrations/index.ts +0 -30
  852. package/src/pkgs/migrations/migration-builders.ts +0 -170
  853. package/src/pkgs/migrations/migration-execution.ts +0 -72
  854. package/src/pkgs/migrations/schema-comparison.ts +0 -203
  855. package/src/pkgs/migrations/type-mapping.ts +0 -244
  856. package/src/pkgs/migrations/types.ts +0 -48
  857. package/src/pkgs/results/README.md +0 -345
  858. package/src/pkgs/results/__tests__/error-class.test.ts +0 -183
  859. package/src/pkgs/results/__tests__/error-codes.test.ts +0 -81
  860. package/src/pkgs/results/__tests__/neverthrow-integration.test.ts +0 -92
  861. package/src/pkgs/results/__tests__/recovery-utils.test.ts +0 -140
  862. package/src/pkgs/results/__tests__/result-helpers.test.ts +0 -206
  863. package/src/pkgs/results/core/error-class.ts +0 -297
  864. package/src/pkgs/results/core/error-codes.ts +0 -206
  865. package/src/pkgs/results/core/tracing.ts +0 -65
  866. package/src/pkgs/results/create-telemetry-options.ts +0 -62
  867. package/src/pkgs/results/index.ts +0 -115
  868. package/src/pkgs/results/orpc-error-handler.ts +0 -137
  869. package/src/pkgs/results/results/recovery-utils.ts +0 -181
  870. package/src/pkgs/results/results/result-helpers.ts +0 -383
  871. package/src/pkgs/results/types.ts +0 -217
  872. package/src/pkgs/types/context.ts +0 -178
  873. package/src/pkgs/types/endpoints.ts +0 -35
  874. package/src/pkgs/types/helper.ts +0 -57
  875. package/src/pkgs/types/index.ts +0 -18
  876. package/src/pkgs/types/options.ts +0 -252
  877. package/src/pkgs/types/plugins.ts +0 -191
  878. package/src/pkgs/utils/index.ts +0 -3
  879. package/src/pkgs/utils/logger.ts +0 -35
  880. package/src/pkgs/utils/url.ts +0 -105
  881. package/src/schema/audit-log/index.ts +0 -3
  882. package/src/schema/audit-log/registry.ts +0 -117
  883. package/src/schema/audit-log/schema.ts +0 -46
  884. package/src/schema/audit-log/table.ts +0 -185
  885. package/src/schema/audit-log/types.ts +0 -29
  886. package/src/schema/consent/index.ts +0 -3
  887. package/src/schema/consent/registry.ts +0 -177
  888. package/src/schema/consent/schema.ts +0 -51
  889. package/src/schema/consent/table.ts +0 -221
  890. package/src/schema/consent/types.ts +0 -39
  891. package/src/schema/consent-policy/index.ts +0 -3
  892. package/src/schema/consent-policy/registry.ts +0 -352
  893. package/src/schema/consent-policy/schema.ts +0 -60
  894. package/src/schema/consent-policy/table.ts +0 -150
  895. package/src/schema/consent-policy/types.ts +0 -29
  896. package/src/schema/consent-purpose/index.ts +0 -3
  897. package/src/schema/consent-purpose/registry.ts +0 -168
  898. package/src/schema/consent-purpose/schema.ts +0 -58
  899. package/src/schema/consent-purpose/table.ts +0 -154
  900. package/src/schema/consent-purpose/types.ts +0 -16
  901. package/src/schema/consent-record/index.ts +0 -2
  902. package/src/schema/consent-record/schema.ts +0 -42
  903. package/src/schema/consent-record/table.ts +0 -124
  904. package/src/schema/consent-record/types.ts +0 -21
  905. package/src/schema/create-registry.ts +0 -21
  906. package/src/schema/definition.ts +0 -200
  907. package/src/schema/domain/index.ts +0 -3
  908. package/src/schema/domain/registry.ts +0 -296
  909. package/src/schema/domain/schema.ts +0 -43
  910. package/src/schema/domain/table.ts +0 -137
  911. package/src/schema/domain/types.ts +0 -27
  912. package/src/schema/index.ts +0 -74
  913. package/src/schema/schemas.ts +0 -27
  914. package/src/schema/subject/index.ts +0 -3
  915. package/src/schema/subject/registry.ts +0 -298
  916. package/src/schema/subject/schema.ts +0 -41
  917. package/src/schema/subject/table.ts +0 -138
  918. package/src/schema/subject/types.ts +0 -22
  919. package/src/schema/types.ts +0 -121
  920. package/src/server.ts +0 -126
  921. package/src/testing/contract-testing.ts +0 -400
  922. package/src/types/context.ts +0 -16
  923. package/src/types/options.ts +0 -103
  924. package/src/types/plugins.ts +0 -154
  925. package/src/v2/contracts/consent/identify.contract.ts +0 -38
  926. package/src/v2/contracts/consent/index.test.ts +0 -5
  927. package/src/v2/contracts/consent/index.ts +0 -11
  928. package/src/v2/contracts/consent/post.contract.test.ts +0 -521
  929. package/src/v2/contracts/consent/post.contract.ts +0 -156
  930. package/src/v2/contracts/consent/show-banner.contract.test.ts +0 -252
  931. package/src/v2/contracts/consent/show-banner.contract.ts +0 -136
  932. package/src/v2/contracts/consent/verify.contract.test.ts +0 -185
  933. package/src/v2/contracts/consent/verify.contract.ts +0 -122
  934. package/src/v2/contracts/index.ts +0 -20
  935. package/src/v2/contracts/meta/index.test.ts +0 -5
  936. package/src/v2/contracts/meta/index.ts +0 -5
  937. package/src/v2/contracts/meta/status.contract.test.ts +0 -226
  938. package/src/v2/contracts/meta/status.contract.ts +0 -34
  939. package/src/v2/contracts/shared/jurisdiction.schema.ts +0 -30
  940. package/src/v2/contracts/test.utils.ts +0 -400
  941. package/src/v2/core.ts +0 -379
  942. package/src/v2/db/migrator/index.ts +0 -80
  943. package/src/v2/db/registry/audit-log.test.ts +0 -77
  944. package/src/v2/db/registry/audit-log.ts +0 -46
  945. package/src/v2/db/registry/consent-policy.test.ts +0 -778
  946. package/src/v2/db/registry/consent-policy.ts +0 -74
  947. package/src/v2/db/registry/consent-purpose.test.ts +0 -485
  948. package/src/v2/db/registry/consent-purpose.ts +0 -41
  949. package/src/v2/db/registry/consent.test.ts +0 -843
  950. package/src/v2/db/registry/consent.ts +0 -42
  951. package/src/v2/db/registry/domain.test.ts +0 -463
  952. package/src/v2/db/registry/domain.ts +0 -51
  953. package/src/v2/db/registry/index.ts +0 -18
  954. package/src/v2/db/registry/subject.test.ts +0 -497
  955. package/src/v2/db/registry/subject.ts +0 -103
  956. package/src/v2/db/registry/types.ts +0 -10
  957. package/src/v2/db/registry/utils/generate-id.test.ts +0 -217
  958. package/src/v2/db/registry/utils/generate-id.ts +0 -134
  959. package/src/v2/db/registry/utils.ts +0 -134
  960. package/src/v2/db/schema/1.0.0/audit-log.ts +0 -32
  961. package/src/v2/db/schema/1.0.0/consent-policy.ts +0 -41
  962. package/src/v2/db/schema/1.0.0/consent-purpose.ts +0 -30
  963. package/src/v2/db/schema/1.0.0/consent-record.ts +0 -22
  964. package/src/v2/db/schema/1.0.0/consent.ts +0 -38
  965. package/src/v2/db/schema/1.0.0/domain.ts +0 -26
  966. package/src/v2/db/schema/1.0.0/index.ts +0 -56
  967. package/src/v2/db/schema/1.0.0/subject.ts +0 -26
  968. package/src/v2/db/schema/index.ts +0 -9
  969. package/src/v2/handlers/consent/identify.handler.test.ts +0 -453
  970. package/src/v2/handlers/consent/identify.handler.ts +0 -125
  971. package/src/v2/handlers/consent/index.ts +0 -11
  972. package/src/v2/handlers/consent/post.handler.ts +0 -258
  973. package/src/v2/handlers/consent/show-banner/geo.test.ts +0 -281
  974. package/src/v2/handlers/consent/show-banner/geo.ts +0 -96
  975. package/src/v2/handlers/consent/show-banner/handler.test.ts +0 -374
  976. package/src/v2/handlers/consent/show-banner/handler.ts +0 -123
  977. package/src/v2/handlers/consent/show-banner/translations.test.ts +0 -121
  978. package/src/v2/handlers/consent/show-banner/translations.ts +0 -79
  979. package/src/v2/handlers/consent/verify.handler.ts +0 -288
  980. package/src/v2/handlers/meta/index.ts +0 -5
  981. package/src/v2/handlers/meta/status.handler.ts +0 -43
  982. package/src/v2/init.test.ts +0 -120
  983. package/src/v2/init.ts +0 -126
  984. package/src/v2/middleware/cors/cors.test.ts +0 -114
  985. package/src/v2/middleware/cors/cors.ts +0 -195
  986. package/src/v2/middleware/cors/index.ts +0 -30
  987. package/src/v2/middleware/cors/is-origin-trusted.test.ts +0 -164
  988. package/src/v2/middleware/cors/is-origin-trusted.ts +0 -129
  989. package/src/v2/middleware/cors/process-cors.ts +0 -91
  990. package/src/v2/middleware/openapi/config.ts +0 -27
  991. package/src/v2/middleware/openapi/handlers.ts +0 -132
  992. package/src/v2/middleware/openapi/index.ts +0 -11
  993. package/src/v2/middleware/process-ip/index.ts +0 -39
  994. package/src/v2/router.ts +0 -8
  995. package/src/v2/types/api.ts +0 -32
  996. package/src/v2/types/index.ts +0 -121
  997. package/src/v2/utils/create-telemetry-options.ts +0 -115
  998. package/src/v2/utils/env.ts +0 -84
  999. package/src/v2/utils/index.ts +0 -2
  1000. package/src/v2/utils/logger.ts +0 -35
  1001. /package/dist/{v2/db → db}/adapters/drizzle.d.ts +0 -0
  1002. /package/dist/{v2/db → db}/adapters/drizzle.js +0 -0
  1003. /package/dist/{v2/db → db}/adapters/index.d.ts +0 -0
  1004. /package/dist/{v2/db → db}/adapters/kysely.d.ts +0 -0
  1005. /package/dist/{v2/db → db}/adapters/kysely.js +0 -0
  1006. /package/dist/{v2/db → db}/adapters/mongo.d.ts +0 -0
  1007. /package/dist/{v2/db → db}/adapters/mongo.js +0 -0
  1008. /package/dist/{v2/db → db}/adapters/prisma.d.ts +0 -0
  1009. /package/dist/{v2/db → db}/adapters/prisma.js +0 -0
  1010. /package/dist/{v2/db → db}/adapters/typeorm.d.ts +0 -0
  1011. /package/dist/{v2/db → db}/adapters/typeorm.js +0 -0
  1012. /package/dist/{pkgs/types/index.js → db/adapters.js} +0 -0
  1013. /package/dist/{v2/db → db}/migrator/index.d.ts +0 -0
  1014. /package/dist/{v2/db/migrator/index.js → db/migrator.js} +0 -0
  1015. /package/dist/{v2/define-config.d.ts → define-config.d.ts} +0 -0
  1016. /package/dist/{v2/define-config.js → define-config.js} +0 -0
  1017. /package/dist/{pkgs/utils → utils}/env.d.ts +0 -0
  1018. /package/dist/{pkgs/utils → utils}/logger.d.ts +0 -0
  1019. /package/src/{v2/db → db}/adapters/drizzle.ts +0 -0
  1020. /package/src/{v2/db → db}/adapters/index.ts +0 -0
  1021. /package/src/{v2/db → db}/adapters/kysely.ts +0 -0
  1022. /package/src/{v2/db → db}/adapters/mongo.ts +0 -0
  1023. /package/src/{v2/db → db}/adapters/prisma.ts +0 -0
  1024. /package/src/{v2/db → db}/adapters/typeorm.ts +0 -0
  1025. /package/src/{v2/define-config.ts → define-config.ts} +0 -0
  1026. /package/src/{pkgs/utils → utils}/env.ts +0 -0
@@ -1,1565 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
18
- };
19
- })();
20
- (()=>{
21
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
- })();
23
- (()=>{
24
- __webpack_require__.r = (exports1)=>{
25
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
- value: 'Module'
27
- });
28
- Object.defineProperty(exports1, '__esModule', {
29
- value: true
30
- });
31
- };
32
- })();
33
- var __webpack_exports__ = {};
34
- __webpack_require__.r(__webpack_exports__);
35
- __webpack_require__.d(__webpack_exports__, {
36
- consentSchema: ()=>consentSchema,
37
- getConsentTables: ()=>getConsentTables,
38
- getConsentTable: ()=>getConsentTable,
39
- getConsentRecordTable: ()=>getConsentRecordTable,
40
- getDomainTable: ()=>getDomainTable,
41
- getSubjectTable: ()=>getSubjectTable,
42
- policyRegistry: ()=>policyRegistry,
43
- PolicyTypeSchema: ()=>PolicyTypeSchema,
44
- auditLogSchema: ()=>auditLogSchema,
45
- consentPolicySchema: ()=>consentPolicySchema,
46
- consentRegistry: ()=>consentRegistry,
47
- purposeSchema: ()=>purposeSchema,
48
- auditLogRegistry: ()=>auditLogRegistry,
49
- domainRegistry: ()=>domainRegistry,
50
- consentPurposeRegistry: ()=>consentPurposeRegistry,
51
- getConsentPolicyTable: ()=>getConsentPolicyTable,
52
- schemas: ()=>schemas,
53
- getPurposeTable: ()=>getPurposeTable,
54
- consentRecordSchema: ()=>consentRecordSchema,
55
- subjectSchema: ()=>subjectSchema,
56
- subjectRegistry: ()=>subjectRegistry,
57
- getAuditLogTable: ()=>getAuditLogTable,
58
- domainSchema: ()=>domainSchema
59
- });
60
- const COMMON_TIMEZONES = {
61
- UTC: 'UTC',
62
- GMT: 'GMT',
63
- EASTERN: 'America/New_York',
64
- CENTRAL: 'America/Chicago',
65
- MOUNTAIN: 'America/Denver',
66
- PACIFIC: 'America/Los_Angeles',
67
- LONDON: 'Europe/London',
68
- PARIS: 'Europe/Paris',
69
- BERLIN: 'Europe/Berlin',
70
- TOKYO: 'Asia/Tokyo',
71
- SHANGHAI: 'Asia/Shanghai',
72
- SINGAPORE: 'Asia/Singapore',
73
- SYDNEY: 'Australia/Sydney',
74
- SAO_PAULO: 'America/Sao_Paulo'
75
- };
76
- const external_base_x_namespaceObject = require("base-x");
77
- var external_base_x_default = /*#__PURE__*/ __webpack_require__.n(external_base_x_namespaceObject);
78
- external_base_x_default()('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');
79
- const external_zod_namespaceObject = require("zod");
80
- const fieldConfigSchema = external_zod_namespaceObject.z.object({
81
- required: external_zod_namespaceObject.z.boolean().prefault(true),
82
- returned: external_zod_namespaceObject.z.boolean().prefault(true),
83
- input: external_zod_namespaceObject.z.boolean().prefault(true),
84
- defaultValue: external_zod_namespaceObject.z.any().optional(),
85
- transform: external_zod_namespaceObject.z.object({
86
- input: external_zod_namespaceObject.z.any().optional(),
87
- output: external_zod_namespaceObject.z.any().optional()
88
- }).optional(),
89
- validator: external_zod_namespaceObject.z.any().optional(),
90
- unique: external_zod_namespaceObject.z.boolean().optional(),
91
- indexed: external_zod_namespaceObject.z.boolean().optional(),
92
- sortable: external_zod_namespaceObject.z.boolean().prefault(true),
93
- fieldName: external_zod_namespaceObject.z.string().optional(),
94
- bigint: external_zod_namespaceObject.z.boolean().prefault(false)
95
- });
96
- const stringFieldSchema = fieldConfigSchema.extend({
97
- type: external_zod_namespaceObject.z.literal('string'),
98
- minLength: external_zod_namespaceObject.z.number().optional(),
99
- maxLength: external_zod_namespaceObject.z.number().optional(),
100
- pattern: external_zod_namespaceObject.z.string().optional()
101
- });
102
- const numberFieldSchema = fieldConfigSchema.extend({
103
- type: external_zod_namespaceObject.z.literal('number'),
104
- min: external_zod_namespaceObject.z.number().optional(),
105
- max: external_zod_namespaceObject.z.number().optional()
106
- });
107
- const booleanFieldSchema = fieldConfigSchema.extend({
108
- type: external_zod_namespaceObject.z.literal('boolean')
109
- });
110
- const dateFieldSchema = fieldConfigSchema.extend({
111
- type: external_zod_namespaceObject.z.literal('date'),
112
- minDate: external_zod_namespaceObject.z.date().optional(),
113
- maxDate: external_zod_namespaceObject.z.date().optional(),
114
- dateOnly: external_zod_namespaceObject.z.boolean().prefault(false),
115
- format: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).optional()
116
- });
117
- const timezoneFieldSchema = fieldConfigSchema.extend({
118
- type: external_zod_namespaceObject.z.literal('timezone'),
119
- validateTimezone: external_zod_namespaceObject.z.boolean().prefault(true),
120
- suggestedValues: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
121
- restrictToSuggestedValues: external_zod_namespaceObject.z.boolean().prefault(false)
122
- });
123
- const jsonFieldSchema = fieldConfigSchema.extend({
124
- type: external_zod_namespaceObject.z.literal('json'),
125
- validateJson: external_zod_namespaceObject.z.boolean().prefault(true)
126
- });
127
- const stringArrayFieldSchema = fieldConfigSchema.extend({
128
- type: external_zod_namespaceObject.z.literal('string[]')
129
- });
130
- const numberArrayFieldSchema = fieldConfigSchema.extend({
131
- type: external_zod_namespaceObject.z.literal('number[]')
132
- });
133
- external_zod_namespaceObject.z.discriminatedUnion('type', [
134
- stringFieldSchema,
135
- numberFieldSchema,
136
- booleanFieldSchema,
137
- dateFieldSchema,
138
- timezoneFieldSchema,
139
- jsonFieldSchema,
140
- stringArrayFieldSchema,
141
- numberArrayFieldSchema
142
- ]);
143
- async function processHooks(data, model, operation, phase, hooks, context) {
144
- let currentData = {
145
- ...data
146
- };
147
- for (const hookSet of hooks){
148
- const modelHooks = hookSet[model];
149
- if (!modelHooks) continue;
150
- const operationHooks = modelHooks[operation];
151
- if (!operationHooks) continue;
152
- const hookFn = operationHooks[phase];
153
- if (hookFn) if ('before' === phase) {
154
- const result = await hookFn(currentData, context);
155
- if (result && 'object' == typeof result && 'kind' in result) switch(result.kind){
156
- case 'abort':
157
- return null;
158
- case 'transform':
159
- {
160
- const transformData = result.data;
161
- currentData = {
162
- ...currentData,
163
- ...transformData
164
- };
165
- break;
166
- }
167
- default:
168
- break;
169
- }
170
- } else await hookFn(currentData, context);
171
- }
172
- return currentData;
173
- }
174
- async function processAfterHooksForMany(records, model, hooks, context) {
175
- if (!records.length) return;
176
- for (const record of records)await processHooks(record, model, 'update', 'after', hooks, context);
177
- }
178
- async function create_hooks_createWithHooks(adapter, ctx, props) {
179
- const { data, model, customFn, context } = props;
180
- const hooks = ctx.hooks || [];
181
- const transformedData = await processHooks(data, model, 'create', 'before', hooks, context);
182
- if (null === transformedData) return null;
183
- let created = null;
184
- if (customFn) {
185
- created = await customFn.fn(transformedData);
186
- if (!customFn.executeMainFn && created) return created;
187
- }
188
- if (!created) created = await adapter.create({
189
- model: model,
190
- data: transformedData
191
- });
192
- if (created) await processHooks(created, model, 'create', 'after', hooks, context);
193
- return created;
194
- }
195
- async function update_hooks_updateWithHooks(adapter, ctx, props) {
196
- const { data, where, model, customFn, context } = props;
197
- const hooks = ctx.hooks || [];
198
- const transformedData = await processHooks(data, model, 'update', 'before', hooks, context);
199
- if (null === transformedData) return null;
200
- let updated = null;
201
- if (customFn) {
202
- const result = await customFn.fn(transformedData);
203
- updated = result;
204
- if (!customFn.executeMainFn && updated) return updated;
205
- }
206
- if (!updated) updated = await adapter.update({
207
- model: model,
208
- update: transformedData,
209
- where
210
- });
211
- if (updated) await processHooks(updated, model, 'update', 'after', hooks, context);
212
- return updated;
213
- }
214
- async function executeCustomFunction(data, customFn) {
215
- if (!customFn) return {
216
- result: null,
217
- shouldContinue: true
218
- };
219
- const result = await customFn.fn(data);
220
- const shouldContinue = !result || !!customFn.executeMainFn;
221
- return {
222
- result,
223
- shouldContinue
224
- };
225
- }
226
- function processUpdateManyResult(result) {
227
- if (Array.isArray(result)) return result;
228
- if ('number' == typeof result && result > 0) return [];
229
- return null;
230
- }
231
- async function updateManyWithHooks(adapter, ctx, props) {
232
- const { data, where, model, customFn, context } = props;
233
- const hooks = ctx.hooks || [];
234
- const transformedData = await processHooks(data, model, 'update', 'before', hooks, context);
235
- if (null === transformedData) return null;
236
- const { result: customResult, shouldContinue } = await executeCustomFunction(transformedData, customFn);
237
- if (customResult && !shouldContinue) return customResult;
238
- let updated = customResult;
239
- if (!updated) {
240
- const adapterResult = await adapter.updateMany({
241
- model: model,
242
- update: transformedData,
243
- where
244
- });
245
- updated = processUpdateManyResult(adapterResult);
246
- }
247
- if (updated && updated.length > 0) await processAfterHooksForMany(updated, model, hooks, context);
248
- return updated;
249
- }
250
- function getWithHooks(adapter, ctx) {
251
- return {
252
- createWithHooks: ({ data, model, customFn, context })=>create_hooks_createWithHooks(adapter, ctx, {
253
- data,
254
- model,
255
- customFn,
256
- context
257
- }),
258
- updateWithHooks: (props)=>update_hooks_updateWithHooks(adapter, ctx, props),
259
- updateManyWithHooks: (props)=>updateManyWithHooks(adapter, ctx, props)
260
- };
261
- }
262
- require("neverthrow");
263
- const server_namespaceObject = require("@orpc/server");
264
- const error_codes_ERROR_CODES = Object.freeze({
265
- NOT_FOUND: 'Resource not found',
266
- BAD_REQUEST: 'Bad request',
267
- CONFLICT: 'Conflict with current state',
268
- MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
269
- UNAUTHORIZED: 'Unauthorized',
270
- FORBIDDEN: 'Forbidden',
271
- INTERNAL_SERVER_ERROR: 'Internal server error',
272
- INITIALIZATION_FAILED: 'Initialization failed',
273
- DATABASE_CONNECTION_ERROR: 'Database connection error',
274
- DATABASE_QUERY_ERROR: 'Database query error',
275
- INVALID_CONFIGURATION: 'Invalid configuration',
276
- REQUEST_HANDLER_ERROR: 'Request handler error',
277
- INVALID_REQUEST: 'Invalid request',
278
- UNKNOWN_ERROR: 'Unknown error',
279
- NETWORK_ERROR: 'Network error',
280
- PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
281
- API_RETRIEVAL_ERROR: 'API retrieval error',
282
- VALIDATION_ERROR: 'Validation error',
283
- UNEXPECTED: 'Unexpected error'
284
- });
285
- const ERROR_CATEGORIES = Object.freeze({
286
- VALIDATION: 'validation',
287
- AUTHORIZATION: 'authorization',
288
- STORAGE: 'storage',
289
- NETWORK: 'network',
290
- PLUGIN: 'plugin',
291
- CONFIGURATION: 'configuration',
292
- UNEXPECTED: 'unexpected'
293
- });
294
- const api_namespaceObject = require("@opentelemetry/api");
295
- const tracer = api_namespaceObject.trace.getTracer('@doubletie/results');
296
- async function tracing_withSpan(name, fn, attributes = {}) {
297
- return await tracer.startActiveSpan(name, async (span)=>{
298
- try {
299
- span.setAttributes(attributes);
300
- const result = await fn(span);
301
- span.setStatus({
302
- code: api_namespaceObject.SpanStatusCode.OK
303
- });
304
- span.end();
305
- return result;
306
- } catch (error) {
307
- if (error instanceof error_class_DoubleTieError) {
308
- span.setAttributes({
309
- 'error.type': 'DoubleTieError',
310
- 'error.code': error.code,
311
- 'error.statusCode': error.statusCode,
312
- 'error.message': error.message
313
- });
314
- if (error.meta) span.setAttributes({
315
- 'error.meta': JSON.stringify(error.meta)
316
- });
317
- } else span.setAttributes({
318
- 'error.type': error instanceof Error ? error.constructor.name : 'Unknown',
319
- 'error.message': error instanceof Error ? error.message : String(error)
320
- });
321
- span.setStatus({
322
- code: api_namespaceObject.SpanStatusCode.ERROR,
323
- message: error instanceof Error ? error.message : String(error)
324
- });
325
- span.end();
326
- throw error;
327
- }
328
- });
329
- }
330
- class error_class_DoubleTieError extends server_namespaceObject.ORPCError {
331
- category;
332
- meta;
333
- statusCode;
334
- constructor(message, options = {
335
- code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
336
- status: 500,
337
- category: ERROR_CATEGORIES.UNEXPECTED,
338
- cause: void 0,
339
- meta: {}
340
- }){
341
- super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
342
- message,
343
- cause: options.cause,
344
- data: options.meta ?? {}
345
- });
346
- this.name = 'DoubleTieError';
347
- this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
348
- this.meta = options.meta ?? {};
349
- this.statusCode = options.status ?? 500;
350
- tracing_withSpan('create_doubletie_error', async (span)=>{
351
- span.setAttributes({
352
- 'error.name': this.constructor.name,
353
- 'error.message': message,
354
- 'error.code': this.code,
355
- 'error.status': this.statusCode,
356
- 'error.category': this.category,
357
- 'error.has_cause': !!this.cause,
358
- 'error.cause_type': this.cause instanceof Error ? this.cause.constructor.name : typeof this.cause,
359
- 'error.has_meta': !!this.meta
360
- });
361
- if (this.cause instanceof Error) span.recordException(this.cause);
362
- });
363
- if (Error.captureStackTrace) Error.captureStackTrace(this, this.constructor);
364
- }
365
- static isDoubleTieError(error) {
366
- return error instanceof error_class_DoubleTieError;
367
- }
368
- toJSON() {
369
- const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
370
- const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
371
- return {
372
- code: this.code,
373
- message: validationErrorMessage || this.message,
374
- status: this.statusCode,
375
- defined: true,
376
- data: {
377
- category: this.category,
378
- meta: this.meta,
379
- ...'production' === process.env.NODE_ENV ? {} : {
380
- stack: stackTrace
381
- },
382
- ...validationErrorMessage && this.message ? {
383
- originalMessage: this.message
384
- } : {},
385
- ...this.cause ? {
386
- cause: this.cause instanceof Error ? {
387
- name: this.cause.name,
388
- message: this.cause.message,
389
- stack: this.cause.stack ? this.cause.stack.split('\n').map((line)=>line.trim()) : void 0
390
- } : this.cause
391
- } : {}
392
- }
393
- };
394
- }
395
- static fromResponse(response, data) {
396
- let message = `HTTP error ${response.status}`;
397
- let errorCode = `HTTP ${response.status}`;
398
- let errorMeta = {};
399
- if (data && 'object' == typeof data && null !== data) {
400
- const errorObj = data;
401
- if ('string' == typeof errorObj.message) message = errorObj.message;
402
- if ('string' == typeof errorObj.code) errorCode = errorObj.code;
403
- if ('object' == typeof errorObj.data && null !== errorObj.data) errorMeta = errorObj.data;
404
- }
405
- return new error_class_DoubleTieError(message, {
406
- code: errorCode,
407
- status: response.status,
408
- meta: errorMeta
409
- });
410
- }
411
- withMeta(additionalMeta) {
412
- return new error_class_DoubleTieError(this.message, {
413
- code: this.code,
414
- status: this.statusCode,
415
- category: this.category,
416
- cause: this.cause instanceof Error ? this.cause : void 0,
417
- meta: {
418
- ...this.meta,
419
- ...additionalMeta
420
- }
421
- });
422
- }
423
- static createSubclass(name) {
424
- const ErrorSubclass = class extends error_class_DoubleTieError {
425
- constructor(message, options){
426
- super(message, options);
427
- Object.defineProperty(this, 'name', {
428
- value: name
429
- });
430
- }
431
- };
432
- Object.defineProperty(ErrorSubclass, 'name', {
433
- value: name
434
- });
435
- return ErrorSubclass;
436
- }
437
- static formatValidationError(error) {
438
- if (!error.meta) return error.message;
439
- let formattedMessage = `${error.message} (${error.code})`;
440
- if (error.meta.validationErrors) formattedMessage += `\nValidation Errors: ${JSON.stringify(error.meta.validationErrors, null, 2)}`;
441
- const otherMeta = Object.fromEntries(Object.entries(error.meta).filter(([key])=>'validationErrors' !== key));
442
- if (Object.keys(otherMeta).length > 0) formattedMessage += `\nAdditional Context: ${JSON.stringify(otherMeta, null, 2)}`;
443
- return formattedMessage;
444
- }
445
- }
446
- const logger_namespaceObject = require("@c15t/logger");
447
- const auditLogSchema = external_zod_namespaceObject.z.object({
448
- id: external_zod_namespaceObject.z.string(),
449
- entityType: external_zod_namespaceObject.z.string(),
450
- entityId: external_zod_namespaceObject.z.string(),
451
- actionType: external_zod_namespaceObject.z.string(),
452
- subjectId: external_zod_namespaceObject.z.string().optional(),
453
- ipAddress: external_zod_namespaceObject.z.string().optional(),
454
- userAgent: external_zod_namespaceObject.z.string().optional(),
455
- changes: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).optional(),
456
- metadata: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).optional(),
457
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
458
- });
459
- function getAuditLogTable(options, auditLogFields) {
460
- const auditLogConfig = options.tables?.auditLog;
461
- const subjectConfig = options.tables?.subject;
462
- return {
463
- entityName: auditLogConfig?.entityName || 'auditLog',
464
- entityPrefix: auditLogConfig?.entityPrefix || 'log',
465
- schema: auditLogSchema,
466
- fields: {
467
- entityType: {
468
- type: 'string',
469
- required: true,
470
- fieldName: auditLogConfig?.fields?.entityType || 'entityType'
471
- },
472
- entityId: {
473
- type: 'string',
474
- required: true,
475
- fieldName: auditLogConfig?.fields?.entityId || 'entityId'
476
- },
477
- actionType: {
478
- type: 'string',
479
- required: true,
480
- fieldName: auditLogConfig?.fields?.actionType || 'actionType'
481
- },
482
- subjectId: {
483
- type: 'string',
484
- required: false,
485
- fieldName: auditLogConfig?.fields?.subjectId || 'subjectId',
486
- references: {
487
- model: subjectConfig?.entityName || 'subject',
488
- field: 'id'
489
- }
490
- },
491
- ipAddress: {
492
- type: 'string',
493
- required: false,
494
- fieldName: auditLogConfig?.fields?.ipAddress || 'ipAddress'
495
- },
496
- userAgent: {
497
- type: 'string',
498
- required: false,
499
- fieldName: auditLogConfig?.fields?.userAgent || 'userAgent'
500
- },
501
- changes: {
502
- type: 'json',
503
- required: false,
504
- fieldName: auditLogConfig?.fields?.changes || 'changes'
505
- },
506
- metadata: {
507
- type: 'json',
508
- required: false,
509
- fieldName: auditLogConfig?.fields?.metadata || 'metadata'
510
- },
511
- createdAt: {
512
- type: 'date',
513
- defaultValue: ()=>new Date(),
514
- required: true,
515
- fieldName: auditLogConfig?.fields?.createdAt || 'createdAt'
516
- },
517
- eventTimezone: {
518
- type: 'timezone',
519
- required: true,
520
- defaultValue: COMMON_TIMEZONES.UTC,
521
- fieldName: auditLogConfig?.fields?.eventTimezone || 'eventTimezone'
522
- },
523
- ...auditLogFields || {},
524
- ...auditLogConfig?.additionalFields || {}
525
- },
526
- indexes: [
527
- {
528
- name: 'entity_index',
529
- fields: [
530
- 'entityType',
531
- 'entityId'
532
- ]
533
- },
534
- {
535
- name: 'action_type_index',
536
- fields: [
537
- 'actionType'
538
- ]
539
- },
540
- {
541
- name: 'subject_id_index',
542
- fields: [
543
- 'subjectId'
544
- ]
545
- },
546
- {
547
- name: 'created_at_index',
548
- fields: [
549
- 'createdAt'
550
- ]
551
- }
552
- ],
553
- order: 5
554
- };
555
- }
556
- const consentSchema = external_zod_namespaceObject.z.object({
557
- id: external_zod_namespaceObject.z.string(),
558
- subjectId: external_zod_namespaceObject.z.string(),
559
- domainId: external_zod_namespaceObject.z.string(),
560
- purposeIds: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()),
561
- metadata: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).nullable().optional(),
562
- policyId: external_zod_namespaceObject.z.string().optional(),
563
- ipAddress: external_zod_namespaceObject.z.string().nullable().optional(),
564
- userAgent: external_zod_namespaceObject.z.string().nullable().optional(),
565
- status: external_zod_namespaceObject.z["enum"]([
566
- 'active',
567
- 'withdrawn',
568
- 'expired'
569
- ]).prefault('active'),
570
- withdrawalReason: external_zod_namespaceObject.z.string().nullable().optional(),
571
- givenAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
572
- validUntil: external_zod_namespaceObject.z.date().nullable().optional(),
573
- isActive: external_zod_namespaceObject.z.boolean().prefault(true)
574
- });
575
- function getConsentTable(options, consentFields) {
576
- const consentConfig = options.tables?.consent;
577
- const subjectConfig = options.tables?.subject;
578
- const domainConfig = options.tables?.domain;
579
- const policyConfig = options.tables?.consentPolicy;
580
- return {
581
- entityName: consentConfig?.entityName || 'consent',
582
- entityPrefix: consentConfig?.entityPrefix || 'cns',
583
- schema: consentSchema,
584
- fields: {
585
- subjectId: {
586
- type: 'string',
587
- required: true,
588
- fieldName: consentConfig?.fields?.subjectId || 'subjectId',
589
- references: {
590
- model: subjectConfig?.entityName || 'subject',
591
- field: 'id'
592
- }
593
- },
594
- domainId: {
595
- type: 'string',
596
- required: true,
597
- fieldName: consentConfig?.fields?.domainId || 'domainId',
598
- references: {
599
- model: domainConfig?.entityName || 'domain',
600
- field: 'id'
601
- }
602
- },
603
- purposeIds: {
604
- type: 'json',
605
- required: false,
606
- fieldName: consentConfig?.fields?.purposeIds || 'purposeIds'
607
- },
608
- metadata: {
609
- type: 'json',
610
- required: false,
611
- fieldName: consentConfig?.fields?.metadata || 'metadata'
612
- },
613
- policyId: {
614
- type: 'string',
615
- required: false,
616
- fieldName: consentConfig?.fields?.policyId || 'policyId',
617
- references: {
618
- model: policyConfig?.entityName || 'consentPolicy',
619
- field: 'id'
620
- }
621
- },
622
- ipAddress: {
623
- type: 'string',
624
- required: false,
625
- fieldName: consentConfig?.fields?.ipAddress || 'ipAddress'
626
- },
627
- userAgent: {
628
- type: 'string',
629
- required: false,
630
- fieldName: consentConfig?.fields?.userAgent || 'userAgent'
631
- },
632
- status: {
633
- type: 'string',
634
- defaultValue: ()=>'active',
635
- required: true,
636
- fieldName: consentConfig?.fields?.status || 'status'
637
- },
638
- withdrawalReason: {
639
- type: 'string',
640
- required: false,
641
- fieldName: consentConfig?.fields?.withdrawalReason || 'withdrawalReason'
642
- },
643
- givenAt: {
644
- type: 'date',
645
- defaultValue: ()=>new Date(),
646
- required: true,
647
- fieldName: consentConfig?.fields?.givenAt || 'givenAt'
648
- },
649
- validUntil: {
650
- type: 'date',
651
- required: false,
652
- fieldName: consentConfig?.fields?.validUntil || 'validUntil',
653
- transform: {
654
- input: (val, data)=>{
655
- if (val) return val;
656
- const expiresIn = consentConfig?.expiresIn || 31536000;
657
- const givenAt = data.givenAt instanceof Date ? data.givenAt : new Date();
658
- if (expiresIn > 0) {
659
- const validUntil = new Date(givenAt);
660
- validUntil.setSeconds(validUntil.getSeconds() + expiresIn);
661
- return validUntil;
662
- }
663
- }
664
- }
665
- },
666
- isActive: {
667
- type: 'boolean',
668
- defaultValue: true,
669
- required: true,
670
- fieldName: consentConfig?.fields?.isActive || 'isActive'
671
- },
672
- ...consentFields || {},
673
- ...consentConfig?.additionalFields || {}
674
- },
675
- order: 3
676
- };
677
- }
678
- const PolicyTypeSchema = external_zod_namespaceObject.z["enum"]([
679
- 'cookie_banner',
680
- 'privacy_policy',
681
- 'dpa',
682
- 'terms_and_conditions',
683
- 'marketing_communications',
684
- 'age_verification',
685
- 'other'
686
- ]);
687
- const consentPolicySchema = external_zod_namespaceObject.z.object({
688
- id: external_zod_namespaceObject.z.string(),
689
- version: external_zod_namespaceObject.z.string(),
690
- type: PolicyTypeSchema,
691
- name: external_zod_namespaceObject.z.string(),
692
- effectiveDate: external_zod_namespaceObject.z.date(),
693
- expirationDate: external_zod_namespaceObject.z.date().nullable().optional(),
694
- content: external_zod_namespaceObject.z.string(),
695
- contentHash: external_zod_namespaceObject.z.string(),
696
- isActive: external_zod_namespaceObject.z.boolean().prefault(true),
697
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
698
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
699
- });
700
- function getConsentPolicyTable(options, policyFields) {
701
- const consentPolicyConfig = options.tables?.consentPolicy;
702
- return {
703
- entityName: consentPolicyConfig?.entityName || 'consentPolicy',
704
- entityPrefix: consentPolicyConfig?.entityPrefix || 'pol',
705
- schema: consentPolicySchema,
706
- fields: {
707
- version: {
708
- type: 'string',
709
- required: true,
710
- fieldName: consentPolicyConfig?.fields?.version || 'version'
711
- },
712
- type: {
713
- type: 'string',
714
- required: true,
715
- fieldName: consentPolicyConfig?.fields?.type || 'type'
716
- },
717
- name: {
718
- type: 'string',
719
- required: true,
720
- fieldName: consentPolicyConfig?.fields?.name || 'name'
721
- },
722
- effectiveDate: {
723
- type: 'date',
724
- required: true,
725
- fieldName: consentPolicyConfig?.fields?.effectiveDate || 'effectiveDate'
726
- },
727
- expirationDate: {
728
- type: 'date',
729
- required: false,
730
- fieldName: consentPolicyConfig?.fields?.expirationDate || 'expirationDate'
731
- },
732
- content: {
733
- type: 'string',
734
- required: true,
735
- fieldName: consentPolicyConfig?.fields?.content || 'content'
736
- },
737
- contentHash: {
738
- type: 'string',
739
- required: true,
740
- fieldName: consentPolicyConfig?.fields?.contentHash || 'contentHash'
741
- },
742
- isActive: {
743
- type: 'boolean',
744
- defaultValue: true,
745
- required: true,
746
- fieldName: consentPolicyConfig?.fields?.isActive || 'isActive'
747
- },
748
- createdAt: {
749
- type: 'date',
750
- defaultValue: ()=>new Date(),
751
- required: true,
752
- fieldName: consentPolicyConfig?.fields?.createdAt || 'createdAt'
753
- },
754
- ...policyFields || {},
755
- ...consentPolicyConfig?.additionalFields || {}
756
- },
757
- order: 2
758
- };
759
- }
760
- const purposeSchema = external_zod_namespaceObject.z.object({
761
- id: external_zod_namespaceObject.z.string(),
762
- code: external_zod_namespaceObject.z.string(),
763
- name: external_zod_namespaceObject.z.string(),
764
- description: external_zod_namespaceObject.z.string(),
765
- isEssential: external_zod_namespaceObject.z.boolean().prefault(false),
766
- dataCategory: external_zod_namespaceObject.z.string().nullish(),
767
- legalBasis: external_zod_namespaceObject.z.string().nullish(),
768
- isActive: external_zod_namespaceObject.z.boolean().prefault(true),
769
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
770
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
771
- });
772
- function getPurposeTable(options, purposeFields) {
773
- const purposeConfig = options.tables?.consentPurpose;
774
- return {
775
- entityName: purposeConfig?.entityName || 'consentPurpose',
776
- entityPrefix: purposeConfig?.entityPrefix || 'pur',
777
- schema: purposeSchema,
778
- fields: {
779
- code: {
780
- type: 'string',
781
- required: true,
782
- fieldName: purposeConfig?.fields?.code || 'code'
783
- },
784
- name: {
785
- type: 'string',
786
- required: true,
787
- fieldName: purposeConfig?.fields?.name || 'name'
788
- },
789
- description: {
790
- type: 'string',
791
- required: true,
792
- fieldName: purposeConfig?.fields?.description || "description"
793
- },
794
- isEssential: {
795
- type: 'boolean',
796
- defaultValue: ()=>false,
797
- required: true,
798
- fieldName: purposeConfig?.fields?.isEssential || 'isEssential'
799
- },
800
- dataCategory: {
801
- type: 'string',
802
- required: false,
803
- fieldName: purposeConfig?.fields?.dataCategory || 'dataCategory'
804
- },
805
- legalBasis: {
806
- type: 'string',
807
- required: false,
808
- fieldName: purposeConfig?.fields?.legalBasis || 'legalBasis'
809
- },
810
- isActive: {
811
- type: 'boolean',
812
- defaultValue: true,
813
- required: true,
814
- fieldName: purposeConfig?.fields?.isActive || 'isActive'
815
- },
816
- createdAt: {
817
- type: 'date',
818
- defaultValue: ()=>new Date(),
819
- required: true,
820
- fieldName: purposeConfig?.fields?.createdAt || 'createdAt'
821
- },
822
- updatedAt: {
823
- type: 'date',
824
- defaultValue: ()=>new Date(),
825
- required: true,
826
- fieldName: purposeConfig?.fields?.updatedAt || 'updatedAt'
827
- },
828
- ...purposeFields || {},
829
- ...purposeConfig?.additionalFields || {}
830
- },
831
- order: 1
832
- };
833
- }
834
- const consentRecordSchema = external_zod_namespaceObject.z.object({
835
- id: external_zod_namespaceObject.z.string(),
836
- subjectId: external_zod_namespaceObject.z.string(),
837
- consentId: external_zod_namespaceObject.z.string().optional(),
838
- actionType: external_zod_namespaceObject.z.string(),
839
- details: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).optional(),
840
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
841
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
842
- });
843
- function getConsentRecordTable(options, recordFields) {
844
- const recordConfig = options.tables?.record;
845
- const subjectConfig = options.tables?.subject;
846
- const consentConfig = options.tables?.consent;
847
- return {
848
- entityName: recordConfig?.entityName || 'consentRecord',
849
- entityPrefix: recordConfig?.entityPrefix || 'rec',
850
- schema: consentRecordSchema,
851
- fields: {
852
- subjectId: {
853
- type: 'string',
854
- required: true,
855
- fieldName: recordConfig?.fields?.subjectId || 'subjectId',
856
- references: {
857
- model: subjectConfig?.entityName || 'subject',
858
- field: 'id'
859
- }
860
- },
861
- consentId: {
862
- type: 'string',
863
- required: false,
864
- fieldName: recordConfig?.fields?.consentId || 'consentId',
865
- references: {
866
- model: consentConfig?.entityName || 'consent',
867
- field: 'id'
868
- }
869
- },
870
- actionType: {
871
- type: 'string',
872
- required: true,
873
- fieldName: recordConfig?.fields?.actionType || 'actionType'
874
- },
875
- details: {
876
- type: 'json',
877
- required: false,
878
- fieldName: recordConfig?.fields?.details || 'details'
879
- },
880
- createdAt: {
881
- type: 'date',
882
- defaultValue: ()=>new Date(),
883
- required: true,
884
- fieldName: recordConfig?.fields?.createdAt || 'createdAt'
885
- },
886
- ...recordFields || {},
887
- ...recordConfig?.additionalFields || {}
888
- },
889
- order: 4
890
- };
891
- }
892
- const domainSchema = external_zod_namespaceObject.z.object({
893
- id: external_zod_namespaceObject.z.string(),
894
- name: external_zod_namespaceObject.z.string().min(1),
895
- description: external_zod_namespaceObject.z.string().optional(),
896
- allowedOrigins: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional().prefault([]),
897
- isVerified: external_zod_namespaceObject.z.boolean().prefault(true),
898
- isActive: external_zod_namespaceObject.z.boolean().prefault(true),
899
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
900
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
901
- });
902
- function getDomainTable(options, domainFields) {
903
- const domainConfig = options.tables?.domain;
904
- return {
905
- entityName: domainConfig?.entityName || 'domain',
906
- entityPrefix: domainConfig?.entityPrefix || 'dom',
907
- schema: domainSchema,
908
- fields: {
909
- name: {
910
- type: 'string',
911
- required: true,
912
- unique: true,
913
- fieldName: domainConfig?.fields?.name || 'name'
914
- },
915
- description: {
916
- type: 'string',
917
- required: false,
918
- fieldName: domainConfig?.fields?.description || "description"
919
- },
920
- allowedOrigins: {
921
- type: 'json',
922
- defaultValue: ()=>[],
923
- required: false,
924
- fieldName: domainConfig?.fields?.allowedOrigins || 'allowedOrigins'
925
- },
926
- isVerified: {
927
- type: 'boolean',
928
- defaultValue: true,
929
- required: true,
930
- fieldName: domainConfig?.fields?.isVerified || 'isVerified'
931
- },
932
- isActive: {
933
- type: 'boolean',
934
- defaultValue: true,
935
- required: true,
936
- fieldName: domainConfig?.fields?.isActive || 'isActive'
937
- },
938
- createdAt: {
939
- type: 'date',
940
- defaultValue: ()=>new Date(),
941
- required: true,
942
- fieldName: domainConfig?.fields?.createdAt || 'createdAt'
943
- },
944
- updatedAt: {
945
- type: 'date',
946
- required: false,
947
- fieldName: domainConfig?.fields?.updatedAt || 'updatedAt'
948
- },
949
- ...domainFields || {},
950
- ...domainConfig?.additionalFields || {}
951
- },
952
- order: 1
953
- };
954
- }
955
- const subjectSchema = external_zod_namespaceObject.z.object({
956
- id: external_zod_namespaceObject.z.string(),
957
- isIdentified: external_zod_namespaceObject.z.boolean().prefault(false),
958
- externalId: external_zod_namespaceObject.z.string().nullable().optional(),
959
- identityProvider: external_zod_namespaceObject.z.string().optional(),
960
- lastIpAddress: external_zod_namespaceObject.z.string().optional(),
961
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
962
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
963
- });
964
- function getSubjectTable(options, subjectFields) {
965
- const subjectConfig = options.tables?.subject;
966
- return {
967
- entityName: subjectConfig?.entityName || 'subject',
968
- entityPrefix: subjectConfig?.entityPrefix || 'sub',
969
- schema: subjectSchema,
970
- fields: {
971
- isIdentified: {
972
- type: 'boolean',
973
- defaultValue: ()=>false,
974
- required: true,
975
- fieldName: subjectConfig?.fields?.isIdentified || 'isIdentified'
976
- },
977
- externalId: {
978
- type: 'string',
979
- required: false,
980
- fieldName: subjectConfig?.fields?.externalId || 'externalId'
981
- },
982
- identityProvider: {
983
- type: 'string',
984
- required: false,
985
- fieldName: subjectConfig?.fields?.identityProvider || 'identityProvider'
986
- },
987
- lastIpAddress: {
988
- type: 'string',
989
- required: false,
990
- fieldName: subjectConfig?.fields?.lastIpAddress || 'lastIpAddress'
991
- },
992
- createdAt: {
993
- type: 'date',
994
- defaultValue: ()=>new Date(),
995
- required: true,
996
- fieldName: subjectConfig?.fields?.createdAt || 'createdAt'
997
- },
998
- updatedAt: {
999
- type: 'date',
1000
- defaultValue: ()=>new Date(),
1001
- required: true,
1002
- fieldName: subjectConfig?.fields?.updatedAt || 'updatedAt'
1003
- },
1004
- subjectTimezone: {
1005
- type: 'timezone',
1006
- required: false,
1007
- defaultValue: COMMON_TIMEZONES.UTC,
1008
- fieldName: subjectConfig?.fields?.subjectTimezone || 'subjectTimezone'
1009
- },
1010
- ...subjectFields || {},
1011
- ...subjectConfig?.additionalFields || {}
1012
- },
1013
- order: 1
1014
- };
1015
- }
1016
- const getConsentTables = (options)=>{
1017
- const pluginSchema = options.plugins?.reduce((acc, plugin)=>{
1018
- const schema = plugin.schema;
1019
- if (!schema) return acc;
1020
- for (const [key, value] of Object.entries(schema))acc[key] = {
1021
- fields: {
1022
- ...acc[key]?.fields,
1023
- ...value.fields
1024
- },
1025
- entityName: key
1026
- };
1027
- return acc;
1028
- }, {});
1029
- const { subject, consentPurpose, consentPolicy, domain, geoLocation, consent, consentPurposeJunction, record, consentGeoLocation, consentWithdrawal, auditLog, ...pluginTables } = pluginSchema || {};
1030
- return {
1031
- subject: getSubjectTable(options, subject?.fields),
1032
- consentPurpose: getPurposeTable(options, consentPurpose?.fields),
1033
- consentPolicy: getConsentPolicyTable(options, consentPolicy?.fields),
1034
- domain: getDomainTable(options, domain?.fields),
1035
- consent: getConsentTable(options, consent?.fields),
1036
- consentRecord: getConsentRecordTable(options, record?.fields),
1037
- auditLog: getAuditLogTable(options, auditLog?.fields),
1038
- ...pluginTables
1039
- };
1040
- };
1041
- function validateEntityOutput(tableName, data, options) {
1042
- const tables = getConsentTables(options);
1043
- const table = tables[tableName];
1044
- if (!table) throw new Error(`Table ${tableName} not found`);
1045
- const processedData = {
1046
- ...data
1047
- };
1048
- for (const [field, def] of Object.entries(table.fields))if ('date' === def.type && 'string' == typeof processedData[field]) processedData[field] = new Date(processedData[field]);
1049
- try {
1050
- return table.schema.parse(processedData);
1051
- } catch (error) {
1052
- if (error instanceof external_zod_namespaceObject.ZodError) logger_namespaceObject.logger.error(`[validateEntityOutput] Validation failed for table ${String(tableName)}`, {
1053
- table,
1054
- issues: error.issues
1055
- });
1056
- throw error;
1057
- }
1058
- }
1059
- function consentRegistry({ adapter, ...ctx }) {
1060
- const { createWithHooks, updateWithHooks } = getWithHooks(adapter, ctx);
1061
- const registry = {
1062
- createConsent: async (consent, context)=>{
1063
- const createdConsent = await createWithHooks({
1064
- data: {
1065
- createdAt: new Date(),
1066
- ...consent
1067
- },
1068
- model: 'consent',
1069
- context
1070
- });
1071
- if (!createdConsent) throw new error_class_DoubleTieError('Failed to create consent - operation returned null', {
1072
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1073
- status: 500
1074
- });
1075
- return createdConsent;
1076
- },
1077
- updateConsent: async (consentId, data, context)=>{
1078
- const consent = await updateWithHooks({
1079
- data: {
1080
- ...data
1081
- },
1082
- where: [
1083
- {
1084
- field: 'id',
1085
- value: consentId
1086
- }
1087
- ],
1088
- model: 'consent',
1089
- context
1090
- });
1091
- return consent ? validateEntityOutput('consent', consent, ctx.options) : null;
1092
- }
1093
- };
1094
- return registry;
1095
- }
1096
- async function generatePolicyPlaceholder(name, date) {
1097
- const content = `[PLACEHOLDER] This is an automatically generated version of the ${name} policy.\n\nThis placeholder content should be replaced with actual policy terms before being presented to users.\n\nGenerated on: ${date.toISOString()}`;
1098
- let contentHash;
1099
- try {
1100
- const encoder = new TextEncoder();
1101
- const data = encoder.encode(content);
1102
- const hashBuffer = await crypto.subtle.digest('SHA-256', data);
1103
- contentHash = Array.from(new Uint8Array(hashBuffer)).map((b)=>b.toString(16).padStart(2, '0')).join('');
1104
- } catch (error) {
1105
- throw new error_class_DoubleTieError('Failed to generate policy content hash', {
1106
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1107
- status: 500,
1108
- cause: error instanceof Error ? error : new Error(String(error))
1109
- });
1110
- }
1111
- return {
1112
- content,
1113
- contentHash
1114
- };
1115
- }
1116
- function policyRegistry({ adapter, ...ctx }) {
1117
- const { createWithHooks } = getWithHooks(adapter, ctx);
1118
- const registry = {
1119
- createConsentPolicy: async (policy, context)=>{
1120
- const createdPolicy = await createWithHooks({
1121
- data: {
1122
- createdAt: new Date(),
1123
- ...policy
1124
- },
1125
- model: 'consentPolicy',
1126
- context
1127
- });
1128
- if (!createdPolicy) throw new error_class_DoubleTieError('Failed to create consent policy - operation returned null', {
1129
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1130
- status: 500
1131
- });
1132
- return createdPolicy;
1133
- },
1134
- findPolicies: async (params = {})=>{
1135
- const whereConditions = [];
1136
- if (!params.includeInactive) whereConditions.push({
1137
- field: 'isActive',
1138
- value: true
1139
- });
1140
- if (params.domainId) whereConditions.push({
1141
- field: 'id',
1142
- value: params.domainId
1143
- });
1144
- if (params.version) whereConditions.push({
1145
- field: 'version',
1146
- value: params.version
1147
- });
1148
- const policies = await adapter.findMany({
1149
- model: 'consentPolicy',
1150
- where: whereConditions,
1151
- sortBy: {
1152
- field: 'effectiveDate',
1153
- direction: 'desc'
1154
- }
1155
- });
1156
- return policies.map((policy)=>validateEntityOutput('consentPolicy', policy, ctx.options));
1157
- },
1158
- findConsentPolicyById: async (policyId)=>{
1159
- const policy = await adapter.findOne({
1160
- model: 'consentPolicy',
1161
- where: [
1162
- {
1163
- field: 'id',
1164
- value: policyId
1165
- }
1166
- ]
1167
- });
1168
- return policy ? validateEntityOutput('consentPolicy', policy, ctx.options) : null;
1169
- },
1170
- findOrCreatePolicy: async (type)=>await adapter.transaction({
1171
- callback: async (txAdapter)=>{
1172
- try {
1173
- const now = new Date();
1174
- const txRegistry = policyRegistry({
1175
- adapter: txAdapter,
1176
- ...ctx
1177
- });
1178
- const rawLatestPolicy = await txAdapter.findOne({
1179
- model: 'consentPolicy',
1180
- where: [
1181
- {
1182
- field: 'isActive',
1183
- value: true
1184
- },
1185
- {
1186
- field: 'type',
1187
- value: type
1188
- }
1189
- ],
1190
- sortBy: {
1191
- field: 'effectiveDate',
1192
- direction: 'desc'
1193
- }
1194
- });
1195
- const latestPolicy = rawLatestPolicy ? validateEntityOutput('consentPolicy', rawLatestPolicy, ctx.options) : null;
1196
- if (latestPolicy) return latestPolicy;
1197
- const { content: defaultContent, contentHash } = await generatePolicyPlaceholder(type, now);
1198
- return txRegistry.createConsentPolicy({
1199
- version: '1.0.0',
1200
- type,
1201
- name: type,
1202
- effectiveDate: now,
1203
- content: defaultContent,
1204
- contentHash,
1205
- isActive: true,
1206
- updatedAt: now,
1207
- expirationDate: null
1208
- });
1209
- } catch (error) {
1210
- ctx.logger.error('Error in findOrCreatePolicy transaction:', error);
1211
- throw new error_class_DoubleTieError('Failed to find or create policy', {
1212
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1213
- status: 500,
1214
- cause: error instanceof Error ? error : new Error(String(error))
1215
- });
1216
- }
1217
- }
1218
- })
1219
- };
1220
- return registry;
1221
- }
1222
- function consentPurposeRegistry({ adapter, ...ctx }) {
1223
- const { createWithHooks } = getWithHooks(adapter, ctx);
1224
- return {
1225
- createConsentPurpose: async (consentPurpose, context)=>{
1226
- const createdPurpose = await createWithHooks({
1227
- data: {
1228
- id: consentPurpose.id || '',
1229
- createdAt: new Date(),
1230
- updatedAt: new Date(),
1231
- ...consentPurpose
1232
- },
1233
- model: 'consentPurpose',
1234
- context
1235
- });
1236
- if (!createdPurpose) throw new error_class_DoubleTieError('Failed to create consent purpose - operation returned null', {
1237
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1238
- status: 500
1239
- });
1240
- return validateEntityOutput('consentPurpose', createdPurpose, ctx.options);
1241
- },
1242
- findConsentPurposeByCode: async (code)=>{
1243
- const consentPurpose = await adapter.findOne({
1244
- model: 'consentPurpose',
1245
- where: [
1246
- {
1247
- field: 'code',
1248
- value: code
1249
- }
1250
- ]
1251
- });
1252
- return consentPurpose ? validateEntityOutput('consentPurpose', consentPurpose, ctx.options) : null;
1253
- }
1254
- };
1255
- }
1256
- function domainRegistry({ adapter, ...ctx }) {
1257
- const { createWithHooks } = getWithHooks(adapter, ctx);
1258
- const registry = {
1259
- createDomain: async (domain, context)=>{
1260
- const createdDomain = await createWithHooks({
1261
- data: {
1262
- ...domain,
1263
- createdAt: new Date(),
1264
- updatedAt: new Date()
1265
- },
1266
- model: 'domain',
1267
- customFn: void 0,
1268
- context
1269
- });
1270
- if (!createdDomain) throw new error_class_DoubleTieError('Failed to create domain - operation returned null', {
1271
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1272
- status: 500
1273
- });
1274
- return createdDomain;
1275
- },
1276
- findOrCreateDomain: async function(name, context) {
1277
- const existingDomain = await this.findDomainByName(name);
1278
- if (existingDomain) return existingDomain;
1279
- const domain = await this.createDomain({
1280
- name,
1281
- description: `Auto-created domain for ${name}`,
1282
- isActive: true,
1283
- isVerified: true,
1284
- allowedOrigins: []
1285
- }, context);
1286
- if (!domain) throw new error_class_DoubleTieError('Failed to create domain', {
1287
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1288
- status: 503
1289
- });
1290
- return domain;
1291
- },
1292
- findDomains: async (params = {})=>{
1293
- const whereConditions = [];
1294
- if (!params.includeInactive) whereConditions.push({
1295
- field: 'isActive',
1296
- value: true
1297
- });
1298
- if (params.name) whereConditions.push({
1299
- field: 'name',
1300
- value: params.name
1301
- });
1302
- const domains = await adapter.findMany({
1303
- model: 'domain',
1304
- where: whereConditions,
1305
- sortBy: {
1306
- field: 'name',
1307
- direction: 'asc'
1308
- }
1309
- });
1310
- return domains.map((domain)=>validateEntityOutput('domain', domain, ctx.options));
1311
- },
1312
- findDomain: async (name)=>{
1313
- const domains = await registry.findDomains({
1314
- name,
1315
- includeInactive: false
1316
- });
1317
- return domains[0] || null;
1318
- },
1319
- findDomainByName: async (name)=>{
1320
- const domain = await adapter.findOne({
1321
- model: 'domain',
1322
- where: [
1323
- {
1324
- field: 'name',
1325
- value: name
1326
- }
1327
- ]
1328
- });
1329
- return domain ? validateEntityOutput('domain', domain, ctx.options) : null;
1330
- }
1331
- };
1332
- return registry;
1333
- }
1334
- function subjectRegistry({ adapter, ...ctx }) {
1335
- const { createWithHooks } = getWithHooks(adapter, ctx);
1336
- return {
1337
- createSubject: async (subject, context)=>{
1338
- const createdSubject = await createWithHooks({
1339
- data: {
1340
- createdAt: new Date(),
1341
- updatedAt: new Date(),
1342
- ...subject
1343
- },
1344
- model: 'subject',
1345
- customFn: void 0,
1346
- context
1347
- });
1348
- return createdSubject ? validateEntityOutput('subject', createdSubject, ctx.options) : null;
1349
- },
1350
- findOrCreateSubject: async function({ subjectId, externalSubjectId, identityProvider, ipAddress = 'unknown', context }) {
1351
- if (subjectId && externalSubjectId) {
1352
- const [subjectById, subjectByExternalId] = await Promise.all([
1353
- this.findSubjectById(subjectId),
1354
- this.findSubjectByExternalId(externalSubjectId)
1355
- ]);
1356
- if (!subjectById || !subjectByExternalId) {
1357
- ctx.logger?.error('Subject validation failed: One or both subjects not found', {
1358
- providedSubjectId: subjectId,
1359
- providedExternalId: externalSubjectId,
1360
- subjectByIdFound: !!subjectById,
1361
- subjectByExternalIdFound: !!subjectByExternalId
1362
- });
1363
- throw new error_class_DoubleTieError('The specified subject could not be found. Please verify the subject identifiers and try again.', {
1364
- code: error_codes_ERROR_CODES.NOT_FOUND,
1365
- status: 404,
1366
- meta: {
1367
- providedSubjectId: subjectId,
1368
- providedExternalId: externalSubjectId
1369
- }
1370
- });
1371
- }
1372
- if (subjectById.id !== subjectByExternalId.id) {
1373
- ctx.logger?.warn('Subject validation failed: IDs do not match the same subject', {
1374
- providedSubjectId: subjectId,
1375
- providedExternalId: externalSubjectId,
1376
- subjectByIdId: subjectById.id,
1377
- subjectByExternalIdId: subjectByExternalId.id
1378
- });
1379
- throw new error_class_DoubleTieError('The provided subjectId and externalSubjectId do not match the same subject. Please ensure both identifiers refer to the same subject.', {
1380
- code: error_codes_ERROR_CODES.CONFLICT,
1381
- status: 409,
1382
- meta: {
1383
- providedSubjectId: subjectId,
1384
- providedExternalId: externalSubjectId,
1385
- subjectByIdId: subjectById.id,
1386
- subjectByExternalIdId: subjectByExternalId.id
1387
- }
1388
- });
1389
- }
1390
- return subjectById;
1391
- }
1392
- if (subjectId) {
1393
- const subject = await this.findSubjectById(subjectId);
1394
- if (subject) return subject;
1395
- throw new error_class_DoubleTieError('Subject not found by subjectId', {
1396
- code: error_codes_ERROR_CODES.NOT_FOUND,
1397
- status: 404
1398
- });
1399
- }
1400
- if (externalSubjectId) try {
1401
- const subject = await this.findSubjectByExternalId(externalSubjectId);
1402
- if (subject) {
1403
- ctx.logger?.debug('Found existing subject by external ID', {
1404
- externalSubjectId
1405
- });
1406
- return subject;
1407
- }
1408
- ctx.logger?.info('Creating new subject with external ID', {
1409
- externalSubjectId
1410
- });
1411
- return await this.createSubject({
1412
- externalId: externalSubjectId,
1413
- identityProvider: identityProvider ?? 'external',
1414
- lastIpAddress: ipAddress,
1415
- isIdentified: true
1416
- }, context);
1417
- } catch (error) {
1418
- if (error instanceof Error && error.message.includes('unique constraint')) {
1419
- ctx.logger?.info('Handling duplicate key violation for external ID', {
1420
- externalSubjectId
1421
- });
1422
- const subject = await this.findSubjectByExternalId(externalSubjectId);
1423
- if (subject) return subject;
1424
- }
1425
- ctx.logger?.error('Failed to create or find subject with external ID', {
1426
- externalSubjectId,
1427
- error: error instanceof Error ? error.message : 'Unknown error'
1428
- });
1429
- throw new error_class_DoubleTieError('Failed to create or find subject with external ID', {
1430
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1431
- status: 500,
1432
- meta: {
1433
- error: error instanceof Error ? error.message : 'Unknown error'
1434
- }
1435
- });
1436
- }
1437
- try {
1438
- ctx.logger?.info('Creating new anonymous subject');
1439
- return await this.createSubject({
1440
- externalId: null,
1441
- identityProvider: 'anonymous',
1442
- lastIpAddress: ipAddress,
1443
- isIdentified: false
1444
- }, context);
1445
- } catch (error) {
1446
- ctx.logger?.error('Failed to create anonymous subject', {
1447
- ipAddress,
1448
- error: error instanceof Error ? error.message : 'Unknown error'
1449
- });
1450
- throw new error_class_DoubleTieError('Failed to create anonymous subject', {
1451
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1452
- status: 500,
1453
- meta: {
1454
- error: error instanceof Error ? error.message : 'Unknown error'
1455
- }
1456
- });
1457
- }
1458
- },
1459
- findSubjectById: async (subjectId)=>{
1460
- const subject = await adapter.findOne({
1461
- model: 'subject',
1462
- where: [
1463
- {
1464
- field: 'id',
1465
- value: subjectId
1466
- }
1467
- ]
1468
- });
1469
- return subject ? validateEntityOutput('subject', subject, ctx.options) : null;
1470
- },
1471
- findSubjectByExternalId: async (externalId)=>{
1472
- const subject = await adapter.findOne({
1473
- model: 'subject',
1474
- where: [
1475
- {
1476
- field: 'externalId',
1477
- value: externalId
1478
- }
1479
- ]
1480
- });
1481
- return subject ? validateEntityOutput('subject', subject, ctx.options) : null;
1482
- }
1483
- };
1484
- }
1485
- function auditLogRegistry({ adapter, ...ctx }) {
1486
- const { createWithHooks } = getWithHooks(adapter, ctx);
1487
- return {
1488
- createAuditLog: async (auditLog, context)=>{
1489
- const createdLog = await createWithHooks({
1490
- data: {
1491
- createdAt: new Date(),
1492
- ...auditLog
1493
- },
1494
- model: 'auditLog',
1495
- customFn: void 0,
1496
- context
1497
- });
1498
- if (!createdLog) throw new error_class_DoubleTieError('Failed to create audit log - operation returned null', {
1499
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
1500
- status: 500
1501
- });
1502
- return createdLog;
1503
- }
1504
- };
1505
- }
1506
- const schemas = {
1507
- auditLog: auditLogSchema,
1508
- consent: consentSchema,
1509
- consentPolicy: consentPolicySchema,
1510
- consentPurpose: purposeSchema,
1511
- consentRecord: consentRecordSchema,
1512
- domain: domainSchema,
1513
- subject: subjectSchema
1514
- };
1515
- exports.PolicyTypeSchema = __webpack_exports__.PolicyTypeSchema;
1516
- exports.auditLogRegistry = __webpack_exports__.auditLogRegistry;
1517
- exports.auditLogSchema = __webpack_exports__.auditLogSchema;
1518
- exports.consentPolicySchema = __webpack_exports__.consentPolicySchema;
1519
- exports.consentPurposeRegistry = __webpack_exports__.consentPurposeRegistry;
1520
- exports.consentRecordSchema = __webpack_exports__.consentRecordSchema;
1521
- exports.consentRegistry = __webpack_exports__.consentRegistry;
1522
- exports.consentSchema = __webpack_exports__.consentSchema;
1523
- exports.domainRegistry = __webpack_exports__.domainRegistry;
1524
- exports.domainSchema = __webpack_exports__.domainSchema;
1525
- exports.getAuditLogTable = __webpack_exports__.getAuditLogTable;
1526
- exports.getConsentPolicyTable = __webpack_exports__.getConsentPolicyTable;
1527
- exports.getConsentRecordTable = __webpack_exports__.getConsentRecordTable;
1528
- exports.getConsentTable = __webpack_exports__.getConsentTable;
1529
- exports.getConsentTables = __webpack_exports__.getConsentTables;
1530
- exports.getDomainTable = __webpack_exports__.getDomainTable;
1531
- exports.getPurposeTable = __webpack_exports__.getPurposeTable;
1532
- exports.getSubjectTable = __webpack_exports__.getSubjectTable;
1533
- exports.policyRegistry = __webpack_exports__.policyRegistry;
1534
- exports.purposeSchema = __webpack_exports__.purposeSchema;
1535
- exports.schemas = __webpack_exports__.schemas;
1536
- exports.subjectRegistry = __webpack_exports__.subjectRegistry;
1537
- exports.subjectSchema = __webpack_exports__.subjectSchema;
1538
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
1539
- "PolicyTypeSchema",
1540
- "auditLogRegistry",
1541
- "auditLogSchema",
1542
- "consentPolicySchema",
1543
- "consentPurposeRegistry",
1544
- "consentRecordSchema",
1545
- "consentRegistry",
1546
- "consentSchema",
1547
- "domainRegistry",
1548
- "domainSchema",
1549
- "getAuditLogTable",
1550
- "getConsentPolicyTable",
1551
- "getConsentRecordTable",
1552
- "getConsentTable",
1553
- "getConsentTables",
1554
- "getDomainTable",
1555
- "getPurposeTable",
1556
- "getSubjectTable",
1557
- "policyRegistry",
1558
- "purposeSchema",
1559
- "schemas",
1560
- "subjectRegistry",
1561
- "subjectSchema"
1562
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
1563
- Object.defineProperty(exports, '__esModule', {
1564
- value: true
1565
- });