@c15t/backend 1.8.0 → 2.0.0-rc.1

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 +23 -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,1139 +0,0 @@
1
- import { and, asc, count, desc, eq, inArray, like, or } from "drizzle-orm";
2
- import base_x from "base-x";
3
- import { z } from "zod";
4
- import "neverthrow";
5
- import { ORPCError } from "@orpc/server";
6
- import { SpanStatusCode, trace } from "@opentelemetry/api";
7
- import "@c15t/logger";
8
- const COMMON_TIMEZONES = {
9
- UTC: 'UTC',
10
- GMT: 'GMT',
11
- EASTERN: 'America/New_York',
12
- CENTRAL: 'America/Chicago',
13
- MOUNTAIN: 'America/Denver',
14
- PACIFIC: 'America/Los_Angeles',
15
- LONDON: 'Europe/London',
16
- PARIS: 'Europe/Paris',
17
- BERLIN: 'Europe/Berlin',
18
- TOKYO: 'Asia/Tokyo',
19
- SHANGHAI: 'Asia/Shanghai',
20
- SINGAPORE: 'Asia/Singapore',
21
- SYDNEY: 'Australia/Sydney',
22
- SAO_PAULO: 'America/Sao_Paulo'
23
- };
24
- const b58 = base_x('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');
25
- function generateId(prefix) {
26
- const buf = crypto.getRandomValues(new Uint8Array(20));
27
- const EPOCH_TIMESTAMP = 1700000000000;
28
- const t = Date.now() - EPOCH_TIMESTAMP;
29
- const high = Math.floor(t / 0x100000000);
30
- const low = t >>> 0;
31
- buf[0] = high >>> 24 & 255;
32
- buf[1] = high >>> 16 & 255;
33
- buf[2] = high >>> 8 & 255;
34
- buf[3] = 255 & high;
35
- buf[4] = low >>> 24 & 255;
36
- buf[5] = low >>> 16 & 255;
37
- buf[6] = low >>> 8 & 255;
38
- buf[7] = 255 & low;
39
- return `${prefix}_${b58.encode(buf)}`;
40
- }
41
- const fieldConfigSchema = z.object({
42
- required: z.boolean().prefault(true),
43
- returned: z.boolean().prefault(true),
44
- input: z.boolean().prefault(true),
45
- defaultValue: z.any().optional(),
46
- transform: z.object({
47
- input: z.any().optional(),
48
- output: z.any().optional()
49
- }).optional(),
50
- validator: z.any().optional(),
51
- unique: z.boolean().optional(),
52
- indexed: z.boolean().optional(),
53
- sortable: z.boolean().prefault(true),
54
- fieldName: z.string().optional(),
55
- bigint: z.boolean().prefault(false)
56
- });
57
- const stringFieldSchema = fieldConfigSchema.extend({
58
- type: z.literal('string'),
59
- minLength: z.number().optional(),
60
- maxLength: z.number().optional(),
61
- pattern: z.string().optional()
62
- });
63
- const numberFieldSchema = fieldConfigSchema.extend({
64
- type: z.literal('number'),
65
- min: z.number().optional(),
66
- max: z.number().optional()
67
- });
68
- const booleanFieldSchema = fieldConfigSchema.extend({
69
- type: z.literal('boolean')
70
- });
71
- const dateFieldSchema = fieldConfigSchema.extend({
72
- type: z.literal('date'),
73
- minDate: z.date().optional(),
74
- maxDate: z.date().optional(),
75
- dateOnly: z.boolean().prefault(false),
76
- format: z.record(z.string(), z.unknown()).optional()
77
- });
78
- const timezoneFieldSchema = fieldConfigSchema.extend({
79
- type: z.literal('timezone'),
80
- validateTimezone: z.boolean().prefault(true),
81
- suggestedValues: z.array(z.string()).optional(),
82
- restrictToSuggestedValues: z.boolean().prefault(false)
83
- });
84
- const jsonFieldSchema = fieldConfigSchema.extend({
85
- type: z.literal('json'),
86
- validateJson: z.boolean().prefault(true)
87
- });
88
- const stringArrayFieldSchema = fieldConfigSchema.extend({
89
- type: z.literal('string[]')
90
- });
91
- const numberArrayFieldSchema = fieldConfigSchema.extend({
92
- type: z.literal('number[]')
93
- });
94
- z.discriminatedUnion('type', [
95
- stringFieldSchema,
96
- numberFieldSchema,
97
- booleanFieldSchema,
98
- dateFieldSchema,
99
- timezoneFieldSchema,
100
- jsonFieldSchema,
101
- stringArrayFieldSchema,
102
- numberArrayFieldSchema
103
- ]);
104
- const error_codes_ERROR_CODES = Object.freeze({
105
- NOT_FOUND: 'Resource not found',
106
- BAD_REQUEST: 'Bad request',
107
- CONFLICT: 'Conflict with current state',
108
- MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
109
- UNAUTHORIZED: 'Unauthorized',
110
- FORBIDDEN: 'Forbidden',
111
- INTERNAL_SERVER_ERROR: 'Internal server error',
112
- INITIALIZATION_FAILED: 'Initialization failed',
113
- DATABASE_CONNECTION_ERROR: 'Database connection error',
114
- DATABASE_QUERY_ERROR: 'Database query error',
115
- INVALID_CONFIGURATION: 'Invalid configuration',
116
- REQUEST_HANDLER_ERROR: 'Request handler error',
117
- INVALID_REQUEST: 'Invalid request',
118
- UNKNOWN_ERROR: 'Unknown error',
119
- NETWORK_ERROR: 'Network error',
120
- PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
121
- API_RETRIEVAL_ERROR: 'API retrieval error',
122
- VALIDATION_ERROR: 'Validation error',
123
- UNEXPECTED: 'Unexpected error'
124
- });
125
- const ERROR_CATEGORIES = Object.freeze({
126
- VALIDATION: 'validation',
127
- AUTHORIZATION: 'authorization',
128
- STORAGE: 'storage',
129
- NETWORK: 'network',
130
- PLUGIN: 'plugin',
131
- CONFIGURATION: 'configuration',
132
- UNEXPECTED: 'unexpected'
133
- });
134
- const tracer = trace.getTracer('@doubletie/results');
135
- async function tracing_withSpan(name, fn, attributes = {}) {
136
- return await tracer.startActiveSpan(name, async (span)=>{
137
- try {
138
- span.setAttributes(attributes);
139
- const result = await fn(span);
140
- span.setStatus({
141
- code: SpanStatusCode.OK
142
- });
143
- span.end();
144
- return result;
145
- } catch (error) {
146
- if (error instanceof error_class_DoubleTieError) {
147
- span.setAttributes({
148
- 'error.type': 'DoubleTieError',
149
- 'error.code': error.code,
150
- 'error.statusCode': error.statusCode,
151
- 'error.message': error.message
152
- });
153
- if (error.meta) span.setAttributes({
154
- 'error.meta': JSON.stringify(error.meta)
155
- });
156
- } else span.setAttributes({
157
- 'error.type': error instanceof Error ? error.constructor.name : 'Unknown',
158
- 'error.message': error instanceof Error ? error.message : String(error)
159
- });
160
- span.setStatus({
161
- code: SpanStatusCode.ERROR,
162
- message: error instanceof Error ? error.message : String(error)
163
- });
164
- span.end();
165
- throw error;
166
- }
167
- });
168
- }
169
- class error_class_DoubleTieError extends ORPCError {
170
- category;
171
- meta;
172
- statusCode;
173
- constructor(message, options = {
174
- code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
175
- status: 500,
176
- category: ERROR_CATEGORIES.UNEXPECTED,
177
- cause: void 0,
178
- meta: {}
179
- }){
180
- super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
181
- message,
182
- cause: options.cause,
183
- data: options.meta ?? {}
184
- });
185
- this.name = 'DoubleTieError';
186
- this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
187
- this.meta = options.meta ?? {};
188
- this.statusCode = options.status ?? 500;
189
- tracing_withSpan('create_doubletie_error', async (span)=>{
190
- span.setAttributes({
191
- 'error.name': this.constructor.name,
192
- 'error.message': message,
193
- 'error.code': this.code,
194
- 'error.status': this.statusCode,
195
- 'error.category': this.category,
196
- 'error.has_cause': !!this.cause,
197
- 'error.cause_type': this.cause instanceof Error ? this.cause.constructor.name : typeof this.cause,
198
- 'error.has_meta': !!this.meta
199
- });
200
- if (this.cause instanceof Error) span.recordException(this.cause);
201
- });
202
- if (Error.captureStackTrace) Error.captureStackTrace(this, this.constructor);
203
- }
204
- static isDoubleTieError(error) {
205
- return error instanceof error_class_DoubleTieError;
206
- }
207
- toJSON() {
208
- const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
209
- const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
210
- return {
211
- code: this.code,
212
- message: validationErrorMessage || this.message,
213
- status: this.statusCode,
214
- defined: true,
215
- data: {
216
- category: this.category,
217
- meta: this.meta,
218
- ...'production' === process.env.NODE_ENV ? {} : {
219
- stack: stackTrace
220
- },
221
- ...validationErrorMessage && this.message ? {
222
- originalMessage: this.message
223
- } : {},
224
- ...this.cause ? {
225
- cause: this.cause instanceof Error ? {
226
- name: this.cause.name,
227
- message: this.cause.message,
228
- stack: this.cause.stack ? this.cause.stack.split('\n').map((line)=>line.trim()) : void 0
229
- } : this.cause
230
- } : {}
231
- }
232
- };
233
- }
234
- static fromResponse(response, data) {
235
- let message = `HTTP error ${response.status}`;
236
- let errorCode = `HTTP ${response.status}`;
237
- let errorMeta = {};
238
- if (data && 'object' == typeof data && null !== data) {
239
- const errorObj = data;
240
- if ('string' == typeof errorObj.message) message = errorObj.message;
241
- if ('string' == typeof errorObj.code) errorCode = errorObj.code;
242
- if ('object' == typeof errorObj.data && null !== errorObj.data) errorMeta = errorObj.data;
243
- }
244
- return new error_class_DoubleTieError(message, {
245
- code: errorCode,
246
- status: response.status,
247
- meta: errorMeta
248
- });
249
- }
250
- withMeta(additionalMeta) {
251
- return new error_class_DoubleTieError(this.message, {
252
- code: this.code,
253
- status: this.statusCode,
254
- category: this.category,
255
- cause: this.cause instanceof Error ? this.cause : void 0,
256
- meta: {
257
- ...this.meta,
258
- ...additionalMeta
259
- }
260
- });
261
- }
262
- static createSubclass(name) {
263
- const ErrorSubclass = class extends error_class_DoubleTieError {
264
- constructor(message, options){
265
- super(message, options);
266
- Object.defineProperty(this, 'name', {
267
- value: name
268
- });
269
- }
270
- };
271
- Object.defineProperty(ErrorSubclass, 'name', {
272
- value: name
273
- });
274
- return ErrorSubclass;
275
- }
276
- static formatValidationError(error) {
277
- if (!error.meta) return error.message;
278
- let formattedMessage = `${error.message} (${error.code})`;
279
- if (error.meta.validationErrors) formattedMessage += `\nValidation Errors: ${JSON.stringify(error.meta.validationErrors, null, 2)}`;
280
- const otherMeta = Object.fromEntries(Object.entries(error.meta).filter(([key])=>'validationErrors' !== key));
281
- if (Object.keys(otherMeta).length > 0) formattedMessage += `\nAdditional Context: ${JSON.stringify(otherMeta, null, 2)}`;
282
- return formattedMessage;
283
- }
284
- }
285
- const auditLogSchema = z.object({
286
- id: z.string(),
287
- entityType: z.string(),
288
- entityId: z.string(),
289
- actionType: z.string(),
290
- subjectId: z.string().optional(),
291
- ipAddress: z.string().optional(),
292
- userAgent: z.string().optional(),
293
- changes: z.record(z.string(), z.unknown()).optional(),
294
- metadata: z.record(z.string(), z.unknown()).optional(),
295
- createdAt: z.date().prefault(()=>new Date())
296
- });
297
- function getAuditLogTable(options, auditLogFields) {
298
- const auditLogConfig = options.tables?.auditLog;
299
- const subjectConfig = options.tables?.subject;
300
- return {
301
- entityName: auditLogConfig?.entityName || 'auditLog',
302
- entityPrefix: auditLogConfig?.entityPrefix || 'log',
303
- schema: auditLogSchema,
304
- fields: {
305
- entityType: {
306
- type: 'string',
307
- required: true,
308
- fieldName: auditLogConfig?.fields?.entityType || 'entityType'
309
- },
310
- entityId: {
311
- type: 'string',
312
- required: true,
313
- fieldName: auditLogConfig?.fields?.entityId || 'entityId'
314
- },
315
- actionType: {
316
- type: 'string',
317
- required: true,
318
- fieldName: auditLogConfig?.fields?.actionType || 'actionType'
319
- },
320
- subjectId: {
321
- type: 'string',
322
- required: false,
323
- fieldName: auditLogConfig?.fields?.subjectId || 'subjectId',
324
- references: {
325
- model: subjectConfig?.entityName || 'subject',
326
- field: 'id'
327
- }
328
- },
329
- ipAddress: {
330
- type: 'string',
331
- required: false,
332
- fieldName: auditLogConfig?.fields?.ipAddress || 'ipAddress'
333
- },
334
- userAgent: {
335
- type: 'string',
336
- required: false,
337
- fieldName: auditLogConfig?.fields?.userAgent || 'userAgent'
338
- },
339
- changes: {
340
- type: 'json',
341
- required: false,
342
- fieldName: auditLogConfig?.fields?.changes || 'changes'
343
- },
344
- metadata: {
345
- type: 'json',
346
- required: false,
347
- fieldName: auditLogConfig?.fields?.metadata || 'metadata'
348
- },
349
- createdAt: {
350
- type: 'date',
351
- defaultValue: ()=>new Date(),
352
- required: true,
353
- fieldName: auditLogConfig?.fields?.createdAt || 'createdAt'
354
- },
355
- eventTimezone: {
356
- type: 'timezone',
357
- required: true,
358
- defaultValue: COMMON_TIMEZONES.UTC,
359
- fieldName: auditLogConfig?.fields?.eventTimezone || 'eventTimezone'
360
- },
361
- ...auditLogFields || {},
362
- ...auditLogConfig?.additionalFields || {}
363
- },
364
- indexes: [
365
- {
366
- name: 'entity_index',
367
- fields: [
368
- 'entityType',
369
- 'entityId'
370
- ]
371
- },
372
- {
373
- name: 'action_type_index',
374
- fields: [
375
- 'actionType'
376
- ]
377
- },
378
- {
379
- name: 'subject_id_index',
380
- fields: [
381
- 'subjectId'
382
- ]
383
- },
384
- {
385
- name: 'created_at_index',
386
- fields: [
387
- 'createdAt'
388
- ]
389
- }
390
- ],
391
- order: 5
392
- };
393
- }
394
- const consentSchema = z.object({
395
- id: z.string(),
396
- subjectId: z.string(),
397
- domainId: z.string(),
398
- purposeIds: z.array(z.string()),
399
- metadata: z.record(z.string(), z.unknown()).nullable().optional(),
400
- policyId: z.string().optional(),
401
- ipAddress: z.string().nullable().optional(),
402
- userAgent: z.string().nullable().optional(),
403
- status: z["enum"]([
404
- 'active',
405
- 'withdrawn',
406
- 'expired'
407
- ]).prefault('active'),
408
- withdrawalReason: z.string().nullable().optional(),
409
- givenAt: z.date().prefault(()=>new Date()),
410
- validUntil: z.date().nullable().optional(),
411
- isActive: z.boolean().prefault(true)
412
- });
413
- function getConsentTable(options, consentFields) {
414
- const consentConfig = options.tables?.consent;
415
- const subjectConfig = options.tables?.subject;
416
- const domainConfig = options.tables?.domain;
417
- const policyConfig = options.tables?.consentPolicy;
418
- return {
419
- entityName: consentConfig?.entityName || 'consent',
420
- entityPrefix: consentConfig?.entityPrefix || 'cns',
421
- schema: consentSchema,
422
- fields: {
423
- subjectId: {
424
- type: 'string',
425
- required: true,
426
- fieldName: consentConfig?.fields?.subjectId || 'subjectId',
427
- references: {
428
- model: subjectConfig?.entityName || 'subject',
429
- field: 'id'
430
- }
431
- },
432
- domainId: {
433
- type: 'string',
434
- required: true,
435
- fieldName: consentConfig?.fields?.domainId || 'domainId',
436
- references: {
437
- model: domainConfig?.entityName || 'domain',
438
- field: 'id'
439
- }
440
- },
441
- purposeIds: {
442
- type: 'json',
443
- required: false,
444
- fieldName: consentConfig?.fields?.purposeIds || 'purposeIds'
445
- },
446
- metadata: {
447
- type: 'json',
448
- required: false,
449
- fieldName: consentConfig?.fields?.metadata || 'metadata'
450
- },
451
- policyId: {
452
- type: 'string',
453
- required: false,
454
- fieldName: consentConfig?.fields?.policyId || 'policyId',
455
- references: {
456
- model: policyConfig?.entityName || 'consentPolicy',
457
- field: 'id'
458
- }
459
- },
460
- ipAddress: {
461
- type: 'string',
462
- required: false,
463
- fieldName: consentConfig?.fields?.ipAddress || 'ipAddress'
464
- },
465
- userAgent: {
466
- type: 'string',
467
- required: false,
468
- fieldName: consentConfig?.fields?.userAgent || 'userAgent'
469
- },
470
- status: {
471
- type: 'string',
472
- defaultValue: ()=>'active',
473
- required: true,
474
- fieldName: consentConfig?.fields?.status || 'status'
475
- },
476
- withdrawalReason: {
477
- type: 'string',
478
- required: false,
479
- fieldName: consentConfig?.fields?.withdrawalReason || 'withdrawalReason'
480
- },
481
- givenAt: {
482
- type: 'date',
483
- defaultValue: ()=>new Date(),
484
- required: true,
485
- fieldName: consentConfig?.fields?.givenAt || 'givenAt'
486
- },
487
- validUntil: {
488
- type: 'date',
489
- required: false,
490
- fieldName: consentConfig?.fields?.validUntil || 'validUntil',
491
- transform: {
492
- input: (val, data)=>{
493
- if (val) return val;
494
- const expiresIn = consentConfig?.expiresIn || 31536000;
495
- const givenAt = data.givenAt instanceof Date ? data.givenAt : new Date();
496
- if (expiresIn > 0) {
497
- const validUntil = new Date(givenAt);
498
- validUntil.setSeconds(validUntil.getSeconds() + expiresIn);
499
- return validUntil;
500
- }
501
- }
502
- }
503
- },
504
- isActive: {
505
- type: 'boolean',
506
- defaultValue: true,
507
- required: true,
508
- fieldName: consentConfig?.fields?.isActive || 'isActive'
509
- },
510
- ...consentFields || {},
511
- ...consentConfig?.additionalFields || {}
512
- },
513
- order: 3
514
- };
515
- }
516
- const PolicyTypeSchema = z["enum"]([
517
- 'cookie_banner',
518
- 'privacy_policy',
519
- 'dpa',
520
- 'terms_and_conditions',
521
- 'marketing_communications',
522
- 'age_verification',
523
- 'other'
524
- ]);
525
- const consentPolicySchema = z.object({
526
- id: z.string(),
527
- version: z.string(),
528
- type: PolicyTypeSchema,
529
- name: z.string(),
530
- effectiveDate: z.date(),
531
- expirationDate: z.date().nullable().optional(),
532
- content: z.string(),
533
- contentHash: z.string(),
534
- isActive: z.boolean().prefault(true),
535
- createdAt: z.date().prefault(()=>new Date()),
536
- updatedAt: z.date().prefault(()=>new Date())
537
- });
538
- function getConsentPolicyTable(options, policyFields) {
539
- const consentPolicyConfig = options.tables?.consentPolicy;
540
- return {
541
- entityName: consentPolicyConfig?.entityName || 'consentPolicy',
542
- entityPrefix: consentPolicyConfig?.entityPrefix || 'pol',
543
- schema: consentPolicySchema,
544
- fields: {
545
- version: {
546
- type: 'string',
547
- required: true,
548
- fieldName: consentPolicyConfig?.fields?.version || 'version'
549
- },
550
- type: {
551
- type: 'string',
552
- required: true,
553
- fieldName: consentPolicyConfig?.fields?.type || 'type'
554
- },
555
- name: {
556
- type: 'string',
557
- required: true,
558
- fieldName: consentPolicyConfig?.fields?.name || 'name'
559
- },
560
- effectiveDate: {
561
- type: 'date',
562
- required: true,
563
- fieldName: consentPolicyConfig?.fields?.effectiveDate || 'effectiveDate'
564
- },
565
- expirationDate: {
566
- type: 'date',
567
- required: false,
568
- fieldName: consentPolicyConfig?.fields?.expirationDate || 'expirationDate'
569
- },
570
- content: {
571
- type: 'string',
572
- required: true,
573
- fieldName: consentPolicyConfig?.fields?.content || 'content'
574
- },
575
- contentHash: {
576
- type: 'string',
577
- required: true,
578
- fieldName: consentPolicyConfig?.fields?.contentHash || 'contentHash'
579
- },
580
- isActive: {
581
- type: 'boolean',
582
- defaultValue: true,
583
- required: true,
584
- fieldName: consentPolicyConfig?.fields?.isActive || 'isActive'
585
- },
586
- createdAt: {
587
- type: 'date',
588
- defaultValue: ()=>new Date(),
589
- required: true,
590
- fieldName: consentPolicyConfig?.fields?.createdAt || 'createdAt'
591
- },
592
- ...policyFields || {},
593
- ...consentPolicyConfig?.additionalFields || {}
594
- },
595
- order: 2
596
- };
597
- }
598
- const purposeSchema = z.object({
599
- id: z.string(),
600
- code: z.string(),
601
- name: z.string(),
602
- description: z.string(),
603
- isEssential: z.boolean().prefault(false),
604
- dataCategory: z.string().nullish(),
605
- legalBasis: z.string().nullish(),
606
- isActive: z.boolean().prefault(true),
607
- createdAt: z.date().prefault(()=>new Date()),
608
- updatedAt: z.date().prefault(()=>new Date())
609
- });
610
- function getPurposeTable(options, purposeFields) {
611
- const purposeConfig = options.tables?.consentPurpose;
612
- return {
613
- entityName: purposeConfig?.entityName || 'consentPurpose',
614
- entityPrefix: purposeConfig?.entityPrefix || 'pur',
615
- schema: purposeSchema,
616
- fields: {
617
- code: {
618
- type: 'string',
619
- required: true,
620
- fieldName: purposeConfig?.fields?.code || 'code'
621
- },
622
- name: {
623
- type: 'string',
624
- required: true,
625
- fieldName: purposeConfig?.fields?.name || 'name'
626
- },
627
- description: {
628
- type: 'string',
629
- required: true,
630
- fieldName: purposeConfig?.fields?.description || "description"
631
- },
632
- isEssential: {
633
- type: 'boolean',
634
- defaultValue: ()=>false,
635
- required: true,
636
- fieldName: purposeConfig?.fields?.isEssential || 'isEssential'
637
- },
638
- dataCategory: {
639
- type: 'string',
640
- required: false,
641
- fieldName: purposeConfig?.fields?.dataCategory || 'dataCategory'
642
- },
643
- legalBasis: {
644
- type: 'string',
645
- required: false,
646
- fieldName: purposeConfig?.fields?.legalBasis || 'legalBasis'
647
- },
648
- isActive: {
649
- type: 'boolean',
650
- defaultValue: true,
651
- required: true,
652
- fieldName: purposeConfig?.fields?.isActive || 'isActive'
653
- },
654
- createdAt: {
655
- type: 'date',
656
- defaultValue: ()=>new Date(),
657
- required: true,
658
- fieldName: purposeConfig?.fields?.createdAt || 'createdAt'
659
- },
660
- updatedAt: {
661
- type: 'date',
662
- defaultValue: ()=>new Date(),
663
- required: true,
664
- fieldName: purposeConfig?.fields?.updatedAt || 'updatedAt'
665
- },
666
- ...purposeFields || {},
667
- ...purposeConfig?.additionalFields || {}
668
- },
669
- order: 1
670
- };
671
- }
672
- const consentRecordSchema = z.object({
673
- id: z.string(),
674
- subjectId: z.string(),
675
- consentId: z.string().optional(),
676
- actionType: z.string(),
677
- details: z.record(z.string(), z.unknown()).optional(),
678
- createdAt: z.date().prefault(()=>new Date()),
679
- updatedAt: z.date().prefault(()=>new Date())
680
- });
681
- function getConsentRecordTable(options, recordFields) {
682
- const recordConfig = options.tables?.record;
683
- const subjectConfig = options.tables?.subject;
684
- const consentConfig = options.tables?.consent;
685
- return {
686
- entityName: recordConfig?.entityName || 'consentRecord',
687
- entityPrefix: recordConfig?.entityPrefix || 'rec',
688
- schema: consentRecordSchema,
689
- fields: {
690
- subjectId: {
691
- type: 'string',
692
- required: true,
693
- fieldName: recordConfig?.fields?.subjectId || 'subjectId',
694
- references: {
695
- model: subjectConfig?.entityName || 'subject',
696
- field: 'id'
697
- }
698
- },
699
- consentId: {
700
- type: 'string',
701
- required: false,
702
- fieldName: recordConfig?.fields?.consentId || 'consentId',
703
- references: {
704
- model: consentConfig?.entityName || 'consent',
705
- field: 'id'
706
- }
707
- },
708
- actionType: {
709
- type: 'string',
710
- required: true,
711
- fieldName: recordConfig?.fields?.actionType || 'actionType'
712
- },
713
- details: {
714
- type: 'json',
715
- required: false,
716
- fieldName: recordConfig?.fields?.details || 'details'
717
- },
718
- createdAt: {
719
- type: 'date',
720
- defaultValue: ()=>new Date(),
721
- required: true,
722
- fieldName: recordConfig?.fields?.createdAt || 'createdAt'
723
- },
724
- ...recordFields || {},
725
- ...recordConfig?.additionalFields || {}
726
- },
727
- order: 4
728
- };
729
- }
730
- const domainSchema = z.object({
731
- id: z.string(),
732
- name: z.string().min(1),
733
- description: z.string().optional(),
734
- allowedOrigins: z.array(z.string()).optional().prefault([]),
735
- isVerified: z.boolean().prefault(true),
736
- isActive: z.boolean().prefault(true),
737
- createdAt: z.date().prefault(()=>new Date()),
738
- updatedAt: z.date().prefault(()=>new Date())
739
- });
740
- function getDomainTable(options, domainFields) {
741
- const domainConfig = options.tables?.domain;
742
- return {
743
- entityName: domainConfig?.entityName || 'domain',
744
- entityPrefix: domainConfig?.entityPrefix || 'dom',
745
- schema: domainSchema,
746
- fields: {
747
- name: {
748
- type: 'string',
749
- required: true,
750
- unique: true,
751
- fieldName: domainConfig?.fields?.name || 'name'
752
- },
753
- description: {
754
- type: 'string',
755
- required: false,
756
- fieldName: domainConfig?.fields?.description || "description"
757
- },
758
- allowedOrigins: {
759
- type: 'json',
760
- defaultValue: ()=>[],
761
- required: false,
762
- fieldName: domainConfig?.fields?.allowedOrigins || 'allowedOrigins'
763
- },
764
- isVerified: {
765
- type: 'boolean',
766
- defaultValue: true,
767
- required: true,
768
- fieldName: domainConfig?.fields?.isVerified || 'isVerified'
769
- },
770
- isActive: {
771
- type: 'boolean',
772
- defaultValue: true,
773
- required: true,
774
- fieldName: domainConfig?.fields?.isActive || 'isActive'
775
- },
776
- createdAt: {
777
- type: 'date',
778
- defaultValue: ()=>new Date(),
779
- required: true,
780
- fieldName: domainConfig?.fields?.createdAt || 'createdAt'
781
- },
782
- updatedAt: {
783
- type: 'date',
784
- required: false,
785
- fieldName: domainConfig?.fields?.updatedAt || 'updatedAt'
786
- },
787
- ...domainFields || {},
788
- ...domainConfig?.additionalFields || {}
789
- },
790
- order: 1
791
- };
792
- }
793
- const subjectSchema = z.object({
794
- id: z.string(),
795
- isIdentified: z.boolean().prefault(false),
796
- externalId: z.string().nullable().optional(),
797
- identityProvider: z.string().optional(),
798
- lastIpAddress: z.string().optional(),
799
- createdAt: z.date().prefault(()=>new Date()),
800
- updatedAt: z.date().prefault(()=>new Date())
801
- });
802
- function getSubjectTable(options, subjectFields) {
803
- const subjectConfig = options.tables?.subject;
804
- return {
805
- entityName: subjectConfig?.entityName || 'subject',
806
- entityPrefix: subjectConfig?.entityPrefix || 'sub',
807
- schema: subjectSchema,
808
- fields: {
809
- isIdentified: {
810
- type: 'boolean',
811
- defaultValue: ()=>false,
812
- required: true,
813
- fieldName: subjectConfig?.fields?.isIdentified || 'isIdentified'
814
- },
815
- externalId: {
816
- type: 'string',
817
- required: false,
818
- fieldName: subjectConfig?.fields?.externalId || 'externalId'
819
- },
820
- identityProvider: {
821
- type: 'string',
822
- required: false,
823
- fieldName: subjectConfig?.fields?.identityProvider || 'identityProvider'
824
- },
825
- lastIpAddress: {
826
- type: 'string',
827
- required: false,
828
- fieldName: subjectConfig?.fields?.lastIpAddress || 'lastIpAddress'
829
- },
830
- createdAt: {
831
- type: 'date',
832
- defaultValue: ()=>new Date(),
833
- required: true,
834
- fieldName: subjectConfig?.fields?.createdAt || 'createdAt'
835
- },
836
- updatedAt: {
837
- type: 'date',
838
- defaultValue: ()=>new Date(),
839
- required: true,
840
- fieldName: subjectConfig?.fields?.updatedAt || 'updatedAt'
841
- },
842
- subjectTimezone: {
843
- type: 'timezone',
844
- required: false,
845
- defaultValue: COMMON_TIMEZONES.UTC,
846
- fieldName: subjectConfig?.fields?.subjectTimezone || 'subjectTimezone'
847
- },
848
- ...subjectFields || {},
849
- ...subjectConfig?.additionalFields || {}
850
- },
851
- order: 1
852
- };
853
- }
854
- const getConsentTables = (options)=>{
855
- const pluginSchema = options.plugins?.reduce((acc, plugin)=>{
856
- const schema = plugin.schema;
857
- if (!schema) return acc;
858
- for (const [key, value] of Object.entries(schema))acc[key] = {
859
- fields: {
860
- ...acc[key]?.fields,
861
- ...value.fields
862
- },
863
- entityName: key
864
- };
865
- return acc;
866
- }, {});
867
- const { subject, consentPurpose, consentPolicy, domain, geoLocation, consent, consentPurposeJunction, record, consentGeoLocation, consentWithdrawal, auditLog, ...pluginTables } = pluginSchema || {};
868
- return {
869
- subject: getSubjectTable(options, subject?.fields),
870
- consentPurpose: getPurposeTable(options, consentPurpose?.fields),
871
- consentPolicy: getConsentPolicyTable(options, consentPolicy?.fields),
872
- domain: getDomainTable(options, domain?.fields),
873
- consent: getConsentTable(options, consent?.fields),
874
- consentRecord: getConsentRecordTable(options, record?.fields),
875
- auditLog: getAuditLogTable(options, auditLog?.fields),
876
- ...pluginTables
877
- };
878
- };
879
- function applyDefaultValue(inputValue, field, operation) {
880
- if ('update' === operation) return inputValue;
881
- if (null == inputValue && field.defaultValue) {
882
- if ('function' == typeof field.defaultValue) return field.defaultValue();
883
- return field.defaultValue;
884
- }
885
- return inputValue;
886
- }
887
- const createEntityTransformer = (db, config, options)=>{
888
- const schema = getConsentTables(options);
889
- function getField(model, field) {
890
- if ('id' === field) return field;
891
- const f = schema[model].fields[field];
892
- return f.fieldName || field;
893
- }
894
- function getSchema(entityName) {
895
- const schema = config.schema || db._.fullSchema;
896
- if (!schema) throw new error_class_DoubleTieError('The schema could not be found. Please ensure the schema is properly configured in the adapter.', {
897
- code: error_codes_ERROR_CODES.DATABASE_CONNECTION_ERROR,
898
- status: 500,
899
- meta: {
900
- provider: config.provider
901
- }
902
- });
903
- const model = getEntityName(entityName);
904
- const schemaModel = schema[model];
905
- if (!schemaModel) throw new error_class_DoubleTieError(`The model "${model}" does not exist in the schema. Please verify the model name and ensure it is defined in your schema.`, {
906
- code: error_codes_ERROR_CODES.DATABASE_QUERY_ERROR,
907
- status: 404,
908
- meta: {
909
- model,
910
- availableModels: Object.keys(schema)
911
- }
912
- });
913
- return schemaModel;
914
- }
915
- const getEntityName = (model)=>{
916
- if (schema[model].entityName !== model) return schema[model].entityName;
917
- if (config.usePlural) return `${model}s`;
918
- return model;
919
- };
920
- function convertWhereClause(where, model) {
921
- const schemaModel = getSchema(model);
922
- if (!where) return [];
923
- if (1 === where.length) {
924
- const w = where[0];
925
- if (!w) return [];
926
- const field = getField(model, w.field);
927
- if (!schemaModel[field]) throw new error_class_DoubleTieError(`The field "${field}" does not exist in model "${model}". Please verify the field name and ensure it is defined in your schema.`, {
928
- code: error_codes_ERROR_CODES.DATABASE_QUERY_ERROR,
929
- status: 404,
930
- meta: {
931
- model,
932
- field,
933
- availableFields: Object.keys(schemaModel)
934
- }
935
- });
936
- if ('in' === w.operator) {
937
- if (!Array.isArray(w.value)) throw new error_class_DoubleTieError(`The value for the field "${field}" must be an array when using the "in" operator.`, {
938
- code: error_codes_ERROR_CODES.BAD_REQUEST,
939
- status: 400,
940
- meta: {
941
- field,
942
- operator: w.operator,
943
- expectedType: 'array',
944
- actualType: typeof w.value
945
- }
946
- });
947
- return [
948
- inArray(schemaModel[field], w.value)
949
- ];
950
- }
951
- if ('contains' === w.operator) return [
952
- like(schemaModel[field], `%${w.value}%`)
953
- ];
954
- if ('starts_with' === w.operator) return [
955
- like(schemaModel[field], `${w.value}%`)
956
- ];
957
- if ('ends_with' === w.operator) return [
958
- like(schemaModel[field], `%${w.value}`)
959
- ];
960
- return [
961
- eq(schemaModel[field], w.value)
962
- ];
963
- }
964
- const andGroup = where.filter((w)=>'AND' === w.connector || !w.connector);
965
- const orGroup = where.filter((w)=>'OR' === w.connector);
966
- const andClause = and(...andGroup.map((w)=>{
967
- const field = getField(model, w.field);
968
- if ('in' === w.operator) {
969
- if (!Array.isArray(w.value)) throw new error_class_DoubleTieError(`The value for the field "${field}" must be an array when using the "in" operator.`, {
970
- code: error_codes_ERROR_CODES.BAD_REQUEST,
971
- status: 400,
972
- meta: {
973
- field,
974
- operator: w.operator,
975
- expectedType: 'array',
976
- actualType: typeof w.value
977
- }
978
- });
979
- return inArray(schemaModel[field], w.value);
980
- }
981
- return eq(schemaModel[field], w.value);
982
- }));
983
- const orClause = or(...orGroup.map((w)=>{
984
- const field = getField(model, w.field);
985
- return eq(schemaModel[field], w.value);
986
- }));
987
- const clause = [];
988
- if (andGroup.length && andClause) clause.push(andClause);
989
- if (orGroup.length && orClause) clause.push(orClause);
990
- return clause;
991
- }
992
- const useDatabaseGeneratedId = options?.advanced?.generateId === false;
993
- return {
994
- getSchema,
995
- transformInput (data, model, action) {
996
- const transformedData = useDatabaseGeneratedId || 'update' === action ? {} : {
997
- id: options.advanced?.generateId ? options.advanced.generateId({
998
- model
999
- }) : data.id || generateId(schema[model].entityPrefix)
1000
- };
1001
- const fields = schema[model].fields;
1002
- for(const field in fields)if (Object.hasOwn(fields, field)) {
1003
- const value = data[field];
1004
- if (void 0 === value && !fields[field].defaultValue) continue;
1005
- transformedData[fields[field].fieldName || field] = applyDefaultValue(value, fields[field], action);
1006
- }
1007
- return transformedData;
1008
- },
1009
- transformOutput (data, model, select = []) {
1010
- if (!data) return null;
1011
- let transformedData = {};
1012
- if ((data.id || data._id) && (0 === select.length || select.includes('id'))) transformedData = {
1013
- id: data.id
1014
- };
1015
- const tableSchema = schema[model].fields;
1016
- for(const key in tableSchema){
1017
- if (select.length && !select.includes(key)) continue;
1018
- const field = tableSchema[key];
1019
- if (field) transformedData[key] = data[field.fieldName || key];
1020
- }
1021
- return transformedData;
1022
- },
1023
- convertWhereClause,
1024
- withReturning: async (model, builder, data, where)=>{
1025
- if ('mysql' !== config.provider) {
1026
- const c = await builder.returning();
1027
- return c[0];
1028
- }
1029
- await builder.execute();
1030
- const schemaModel = getSchema(model);
1031
- const builderVal = builder.config?.values;
1032
- if (where?.length) {
1033
- const clause = convertWhereClause(where, model);
1034
- const res = await db.select().from(schemaModel).where(...clause);
1035
- return res[0];
1036
- }
1037
- if (builderVal) {
1038
- const tId = builderVal[0]?.id.value;
1039
- const res = await db.select().from(schemaModel).where(eq(schemaModel.id, tId));
1040
- return res[0];
1041
- }
1042
- if (data.id) {
1043
- const res = await db.select().from(schemaModel).where(eq(schemaModel.id, data.id));
1044
- return res[0];
1045
- }
1046
- },
1047
- getField,
1048
- getEntityName
1049
- };
1050
- };
1051
- function checkMissingFields(schema, model, values) {
1052
- if (!schema) throw new error_class_DoubleTieError('The schema could not be found. Please ensure the schema is properly configured in the adapter.', {
1053
- code: error_codes_ERROR_CODES.DATABASE_CONNECTION_ERROR,
1054
- status: 500
1055
- });
1056
- for(const key in values)if (!schema[key]) throw new error_class_DoubleTieError(`The field "${key}" does not exist in the "${model}" schema. Please update your drizzle schema or re-generate using "npx @c15t/cli generate".`);
1057
- }
1058
- const drizzleAdapter = (db, config)=>(options)=>{
1059
- const { transformInput, transformOutput, convertWhereClause, getSchema, withReturning, getField, getEntityName } = createEntityTransformer(db, config, options);
1060
- return {
1061
- id: 'drizzle',
1062
- async create (data) {
1063
- const { model, data: values } = data;
1064
- const transformed = transformInput(values, model, 'create');
1065
- const schemaModel = getSchema(model);
1066
- checkMissingFields(schemaModel, getEntityName(model), transformed);
1067
- const builder = db.insert(schemaModel).values(transformed);
1068
- const returned = await withReturning(model, builder, transformed);
1069
- return transformOutput(returned, model);
1070
- },
1071
- async findOne (data) {
1072
- const { model, where, select } = data;
1073
- const schemaModel = getSchema(model);
1074
- const clause = convertWhereClause(where, model);
1075
- const res = await db.select().from(schemaModel).where(...clause);
1076
- if (!res.length) return null;
1077
- return transformOutput(res[0], model, select);
1078
- },
1079
- async findMany (data) {
1080
- const { model, where, sortBy, limit, offset } = data;
1081
- const schemaModel = getSchema(model);
1082
- const clause = where ? convertWhereClause(where, model) : [];
1083
- const sortFn = sortBy?.direction === 'desc' ? desc : asc;
1084
- const builder = db.select().from(schemaModel).limit(limit || 100).offset(offset || 0);
1085
- if (sortBy?.field) builder.orderBy(sortFn(schemaModel[getField(model, sortBy?.field)]));
1086
- const res = await builder.where(...clause);
1087
- return res.map((r)=>transformOutput(r, model));
1088
- },
1089
- async count (data) {
1090
- const { model, where } = data;
1091
- const schemaModel = getSchema(model);
1092
- const clause = where ? convertWhereClause(where, model) : [];
1093
- const res = await db.select({
1094
- count: count()
1095
- }).from(schemaModel).where(...clause);
1096
- return res[0].count;
1097
- },
1098
- async update (data) {
1099
- const { model, where, update } = data;
1100
- const schemaModel = getSchema(model);
1101
- const clause = convertWhereClause(where, model);
1102
- const transformed = transformInput(update, model, 'update');
1103
- const result = await db.update(schemaModel).set(transformed).where(clause).returning();
1104
- return result.length ? transformOutput(result[0], model) : null;
1105
- },
1106
- async updateMany (data) {
1107
- const { model, where, update: values } = data;
1108
- const schemaModel = getSchema(model);
1109
- const clause = convertWhereClause(where, model);
1110
- const transformed = transformInput(values, model, 'update');
1111
- const builder = db.update(schemaModel).set(transformed).where(...clause);
1112
- const res = await builder;
1113
- return res ? res.changes : 0;
1114
- },
1115
- async delete (data) {
1116
- const { model, where } = data;
1117
- const schemaModel = getSchema(model);
1118
- const clause = convertWhereClause(where, model);
1119
- const builder = db.delete(schemaModel).where(...clause);
1120
- await builder;
1121
- },
1122
- async deleteMany (data) {
1123
- const { model, where } = data;
1124
- const schemaModel = getSchema(model);
1125
- const clause = convertWhereClause(where, model);
1126
- const result = await db.delete(schemaModel).where(clause);
1127
- return result ? result.rowCount : 0;
1128
- },
1129
- async transaction (data) {
1130
- const { callback } = data;
1131
- return await db.transaction(async (tx)=>{
1132
- const transactionAdapter = drizzleAdapter(tx, config)(options);
1133
- return await callback(transactionAdapter);
1134
- });
1135
- },
1136
- options: config
1137
- };
1138
- };
1139
- export { drizzleAdapter };