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