@c15t/backend 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. package/.turbo/turbo-build.log +63 -37
  2. package/CHANGELOG.md +4 -209
  3. package/README.md +86 -164
  4. package/dist/contracts/consent/index.d.ts +103 -615
  5. package/dist/contracts/consent/index.d.ts.map +1 -1
  6. package/dist/contracts/consent/post.contract.d.ts +42 -140
  7. package/dist/contracts/consent/post.contract.d.ts.map +1 -1
  8. package/dist/contracts/consent/show-banner.contract.d.ts +28 -376
  9. package/dist/contracts/consent/show-banner.contract.d.ts.map +1 -1
  10. package/dist/contracts/consent/verify.contract.d.ts +33 -99
  11. package/dist/contracts/consent/verify.contract.d.ts.map +1 -1
  12. package/dist/contracts/index.d.ts +222 -1356
  13. package/dist/contracts/index.d.ts.map +1 -1
  14. package/dist/contracts/meta/index.d.ts +8 -63
  15. package/dist/contracts/meta/index.d.ts.map +1 -1
  16. package/dist/contracts/meta/status.contract.d.ts +8 -63
  17. package/dist/contracts/meta/status.contract.d.ts.map +1 -1
  18. package/dist/contracts/shared/jurisdiction.schema.d.ts +21 -9
  19. package/dist/contracts/shared/jurisdiction.schema.d.ts.map +1 -1
  20. package/dist/contracts.cjs +100 -106
  21. package/dist/contracts.js +100 -106
  22. package/dist/core.cjs +681 -681
  23. package/dist/core.d.ts +118 -678
  24. package/dist/core.d.ts.map +1 -1
  25. package/dist/core.js +634 -637
  26. package/dist/handlers/consent/index.d.ts +103 -615
  27. package/dist/handlers/consent/index.d.ts.map +1 -1
  28. package/dist/handlers/consent/post.handler.d.ts +42 -140
  29. package/dist/handlers/consent/post.handler.d.ts.map +1 -1
  30. package/dist/handlers/consent/show-banner/handler.d.ts +28 -376
  31. package/dist/handlers/consent/show-banner/handler.d.ts.map +1 -1
  32. package/dist/handlers/consent/show-banner/translations.d.ts.map +1 -1
  33. package/dist/handlers/consent/verify.handler.d.ts +33 -99
  34. package/dist/handlers/consent/verify.handler.d.ts.map +1 -1
  35. package/dist/handlers/meta/index.d.ts +8 -63
  36. package/dist/handlers/meta/index.d.ts.map +1 -1
  37. package/dist/handlers/meta/status.handler.d.ts +8 -63
  38. package/dist/handlers/meta/status.handler.d.ts.map +1 -1
  39. package/dist/init.d.ts.map +1 -1
  40. package/dist/middleware/openapi/index.d.ts +2 -2
  41. package/dist/middleware/openapi/index.d.ts.map +1 -1
  42. package/dist/pkgs/data-model/fields/index.cjs +14 -26
  43. package/dist/pkgs/data-model/fields/index.d.ts +4 -4
  44. package/dist/pkgs/data-model/fields/index.d.ts.map +1 -1
  45. package/dist/pkgs/data-model/fields/index.js +14 -26
  46. package/dist/pkgs/data-model/fields/zod-fields.d.ts +195 -871
  47. package/dist/pkgs/data-model/fields/zod-fields.d.ts.map +1 -1
  48. package/dist/pkgs/data-model/hooks/index.d.ts +2 -2
  49. package/dist/pkgs/data-model/hooks/index.d.ts.map +1 -1
  50. package/dist/pkgs/data-model/index.cjs +346 -358
  51. package/dist/pkgs/data-model/index.d.ts +1 -1
  52. package/dist/pkgs/data-model/index.d.ts.map +1 -1
  53. package/dist/pkgs/data-model/index.js +345 -357
  54. package/dist/pkgs/data-model/schema/index.cjs +346 -358
  55. package/dist/pkgs/data-model/schema/index.d.ts +1 -1
  56. package/dist/pkgs/data-model/schema/index.d.ts.map +1 -1
  57. package/dist/pkgs/data-model/schema/index.js +345 -357
  58. package/dist/pkgs/data-model/schema/schemas.d.ts +2 -2
  59. package/dist/pkgs/data-model/schema/schemas.d.ts.map +1 -1
  60. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +3 -0
  61. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -1
  62. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +158 -170
  63. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +157 -169
  64. package/dist/pkgs/db-adapters/adapters/index.d.ts +2 -2
  65. package/dist/pkgs/db-adapters/adapters/index.d.ts.map +1 -1
  66. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +215 -227
  67. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts +2 -2
  68. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts.map +1 -1
  69. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +213 -225
  70. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts +2 -0
  71. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -1
  72. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +1 -1
  73. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +1 -1
  74. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +158 -170
  75. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +157 -169
  76. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts +3 -0
  77. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts.map +1 -1
  78. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +243 -255
  79. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts +1 -1
  80. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts.map +1 -1
  81. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +241 -253
  82. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts +3 -0
  83. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -1
  84. package/dist/pkgs/db-adapters/index.cjs +714 -726
  85. package/dist/pkgs/db-adapters/index.d.ts +6 -6
  86. package/dist/pkgs/db-adapters/index.d.ts.map +1 -1
  87. package/dist/pkgs/db-adapters/index.js +708 -720
  88. package/dist/pkgs/migrations/get-migration.d.ts.map +1 -1
  89. package/dist/pkgs/migrations/get-schema/get-schema.d.ts.map +1 -1
  90. package/dist/pkgs/migrations/get-schema/process-tables.d.ts.map +1 -1
  91. package/dist/pkgs/migrations/index.cjs +236 -248
  92. package/dist/pkgs/migrations/index.d.ts +4 -4
  93. package/dist/pkgs/migrations/index.d.ts.map +1 -1
  94. package/dist/pkgs/migrations/index.js +235 -247
  95. package/dist/pkgs/results/index.cjs +67 -67
  96. package/dist/pkgs/results/index.d.ts +5 -5
  97. package/dist/pkgs/results/index.d.ts.map +1 -1
  98. package/dist/pkgs/results/index.js +67 -67
  99. package/dist/pkgs/results/orpc-error-handler.d.ts +1 -1
  100. package/dist/pkgs/results/orpc-error-handler.d.ts.map +1 -1
  101. package/dist/pkgs/types/index.d.ts +1 -2
  102. package/dist/pkgs/types/index.d.ts.map +1 -1
  103. package/dist/pkgs/types/options.d.ts +9 -2
  104. package/dist/pkgs/types/options.d.ts.map +1 -1
  105. package/dist/pkgs/utils/index.d.ts +1 -1
  106. package/dist/pkgs/utils/index.d.ts.map +1 -1
  107. package/dist/pkgs/utils/logger.d.ts +1 -1
  108. package/dist/pkgs/utils/logger.d.ts.map +1 -1
  109. package/dist/router.cjs +114 -117
  110. package/dist/router.d.ts +111 -678
  111. package/dist/router.d.ts.map +1 -1
  112. package/dist/router.js +114 -117
  113. package/dist/schema/audit-log/schema.d.ts +2 -24
  114. package/dist/schema/audit-log/schema.d.ts.map +1 -1
  115. package/dist/schema/audit-log/table.d.ts +2 -24
  116. package/dist/schema/audit-log/table.d.ts.map +1 -1
  117. package/dist/schema/consent/registry.d.ts +8 -8
  118. package/dist/schema/consent/schema.d.ts +9 -33
  119. package/dist/schema/consent/schema.d.ts.map +1 -1
  120. package/dist/schema/consent/table.d.ts +9 -33
  121. package/dist/schema/consent/table.d.ts.map +1 -1
  122. package/dist/schema/consent-policy/registry.d.ts +20 -20
  123. package/dist/schema/consent-policy/schema.d.ts +22 -30
  124. package/dist/schema/consent-policy/schema.d.ts.map +1 -1
  125. package/dist/schema/consent-policy/table.d.ts +13 -29
  126. package/dist/schema/consent-policy/table.d.ts.map +1 -1
  127. package/dist/schema/consent-purpose/registry.d.ts +6 -6
  128. package/dist/schema/consent-purpose/schema.d.ts +5 -27
  129. package/dist/schema/consent-purpose/schema.d.ts.map +1 -1
  130. package/dist/schema/consent-purpose/table.d.ts +5 -27
  131. package/dist/schema/consent-purpose/table.d.ts.map +1 -1
  132. package/dist/schema/consent-record/schema.d.ts +3 -19
  133. package/dist/schema/consent-record/schema.d.ts.map +1 -1
  134. package/dist/schema/consent-record/table.d.ts +3 -19
  135. package/dist/schema/consent-record/table.d.ts.map +1 -1
  136. package/dist/schema/create-registry.d.ts +58 -58
  137. package/dist/schema/definition.d.ts +42 -176
  138. package/dist/schema/definition.d.ts.map +1 -1
  139. package/dist/schema/domain/registry.d.ts +20 -20
  140. package/dist/schema/domain/schema.d.ts +6 -24
  141. package/dist/schema/domain/schema.d.ts.map +1 -1
  142. package/dist/schema/domain/table.d.ts +6 -24
  143. package/dist/schema/domain/table.d.ts.map +1 -1
  144. package/dist/schema/index.cjs +426 -438
  145. package/dist/schema/index.d.ts +12 -12
  146. package/dist/schema/index.d.ts.map +1 -1
  147. package/dist/schema/index.js +426 -438
  148. package/dist/schema/schemas.d.ts +42 -176
  149. package/dist/schema/schemas.d.ts.map +1 -1
  150. package/dist/schema/subject/registry.d.ts +4 -4
  151. package/dist/schema/subject/schema.d.ts +4 -20
  152. package/dist/schema/subject/schema.d.ts.map +1 -1
  153. package/dist/schema/subject/table.d.ts +4 -20
  154. package/dist/schema/subject/table.d.ts.map +1 -1
  155. package/dist/schema/types.d.ts +1 -1
  156. package/dist/schema/types.d.ts.map +1 -1
  157. package/dist/testing/contract-testing.d.ts +3 -2
  158. package/dist/testing/contract-testing.d.ts.map +1 -1
  159. package/dist/types/index.d.ts +5 -4
  160. package/dist/types/index.d.ts.map +1 -1
  161. package/dist/types/options.d.ts +2 -2
  162. package/dist/types/options.d.ts.map +1 -1
  163. package/dist/v2/contracts/consent/index.d.ts +260 -0
  164. package/dist/v2/contracts/consent/index.d.ts.map +1 -0
  165. package/dist/v2/contracts/consent/index.test.d.ts +2 -0
  166. package/dist/v2/contracts/consent/index.test.d.ts.map +1 -0
  167. package/dist/v2/contracts/consent/post.contract.d.ts +114 -0
  168. package/dist/v2/contracts/consent/post.contract.d.ts.map +1 -0
  169. package/dist/v2/contracts/consent/post.contract.test.d.ts +2 -0
  170. package/dist/v2/contracts/consent/post.contract.test.d.ts.map +1 -0
  171. package/dist/v2/contracts/consent/show-banner.contract.d.ts +68 -0
  172. package/dist/v2/contracts/consent/show-banner.contract.d.ts.map +1 -0
  173. package/dist/v2/contracts/consent/show-banner.contract.test.d.ts +2 -0
  174. package/dist/v2/contracts/consent/show-banner.contract.test.d.ts.map +1 -0
  175. package/dist/v2/contracts/consent/verify.contract.d.ts +81 -0
  176. package/dist/v2/contracts/consent/verify.contract.d.ts.map +1 -0
  177. package/dist/v2/contracts/consent/verify.contract.test.d.ts +2 -0
  178. package/dist/v2/contracts/consent/verify.contract.test.d.ts.map +1 -0
  179. package/dist/v2/contracts/index.cjs +644 -0
  180. package/dist/v2/contracts/index.d.ts +563 -0
  181. package/dist/v2/contracts/index.d.ts.map +1 -0
  182. package/dist/v2/contracts/index.js +607 -0
  183. package/dist/v2/contracts/meta/index.d.ts +19 -0
  184. package/dist/v2/contracts/meta/index.d.ts.map +1 -0
  185. package/dist/v2/contracts/meta/index.test.d.ts +2 -0
  186. package/dist/v2/contracts/meta/index.test.d.ts.map +1 -0
  187. package/dist/v2/contracts/meta/status.contract.d.ts +18 -0
  188. package/dist/v2/contracts/meta/status.contract.d.ts.map +1 -0
  189. package/dist/v2/contracts/meta/status.contract.test.d.ts +2 -0
  190. package/dist/v2/contracts/meta/status.contract.test.d.ts.map +1 -0
  191. package/dist/v2/contracts/shared/jurisdiction.schema.d.ts +36 -0
  192. package/dist/v2/contracts/shared/jurisdiction.schema.d.ts.map +1 -0
  193. package/dist/v2/contracts/test.utils.d.ts +38 -0
  194. package/dist/v2/contracts/test.utils.d.ts.map +1 -0
  195. package/dist/v2/core.cjs +2181 -0
  196. package/dist/v2/core.d.ts +364 -0
  197. package/dist/v2/core.d.ts.map +1 -0
  198. package/dist/v2/core.js +2130 -0
  199. package/dist/v2/db/adapters/drizzle.cjs +36 -0
  200. package/dist/v2/db/adapters/drizzle.d.ts +2 -0
  201. package/dist/v2/db/adapters/drizzle.d.ts.map +1 -0
  202. package/dist/v2/db/adapters/drizzle.js +3 -0
  203. package/dist/v2/db/adapters/index.cjs +18 -0
  204. package/dist/v2/db/adapters/index.d.ts +2 -0
  205. package/dist/v2/db/adapters/index.d.ts.map +1 -0
  206. package/dist/v2/db/adapters/index.js +0 -0
  207. package/dist/v2/db/adapters/kysely.cjs +36 -0
  208. package/dist/v2/db/adapters/kysely.d.ts +2 -0
  209. package/dist/v2/db/adapters/kysely.d.ts.map +1 -0
  210. package/dist/v2/db/adapters/kysely.js +3 -0
  211. package/dist/v2/db/adapters/mongo.cjs +36 -0
  212. package/dist/v2/db/adapters/mongo.d.ts +2 -0
  213. package/dist/v2/db/adapters/mongo.d.ts.map +1 -0
  214. package/dist/v2/db/adapters/mongo.js +3 -0
  215. package/dist/v2/db/adapters/prisma.cjs +36 -0
  216. package/dist/v2/db/adapters/prisma.d.ts +2 -0
  217. package/dist/v2/db/adapters/prisma.d.ts.map +1 -0
  218. package/dist/v2/db/adapters/prisma.js +3 -0
  219. package/dist/v2/db/adapters/typeorm.cjs +36 -0
  220. package/dist/v2/db/adapters/typeorm.d.ts +2 -0
  221. package/dist/v2/db/adapters/typeorm.d.ts.map +1 -0
  222. package/dist/v2/db/adapters/typeorm.js +3 -0
  223. package/dist/v2/db/migrator/index.cjs +61 -0
  224. package/dist/v2/db/migrator/index.d.ts +29 -0
  225. package/dist/v2/db/migrator/index.d.ts.map +1 -0
  226. package/dist/v2/db/migrator/index.js +27 -0
  227. package/dist/v2/db/registry/audit-log.d.ts +21 -0
  228. package/dist/v2/db/registry/audit-log.d.ts.map +1 -0
  229. package/dist/v2/db/registry/audit-log.test.d.ts +2 -0
  230. package/dist/v2/db/registry/audit-log.test.d.ts.map +1 -0
  231. package/dist/v2/db/registry/consent-policy.d.ts +29 -0
  232. package/dist/v2/db/registry/consent-policy.d.ts.map +1 -0
  233. package/dist/v2/db/registry/consent-policy.test.d.ts +2 -0
  234. package/dist/v2/db/registry/consent-policy.test.d.ts.map +1 -0
  235. package/dist/v2/db/registry/consent-purpose.d.ts +16 -0
  236. package/dist/v2/db/registry/consent-purpose.d.ts.map +1 -0
  237. package/dist/v2/db/registry/consent-purpose.test.d.ts +2 -0
  238. package/dist/v2/db/registry/consent-purpose.test.d.ts.map +1 -0
  239. package/dist/v2/db/registry/consent.d.ts +20 -0
  240. package/dist/v2/db/registry/consent.d.ts.map +1 -0
  241. package/dist/v2/db/registry/consent.test.d.ts +2 -0
  242. package/dist/v2/db/registry/consent.test.d.ts.map +1 -0
  243. package/dist/v2/db/registry/domain.d.ts +24 -0
  244. package/dist/v2/db/registry/domain.d.ts.map +1 -0
  245. package/dist/v2/db/registry/domain.test.d.ts +2 -0
  246. package/dist/v2/db/registry/domain.test.d.ts.map +1 -0
  247. package/dist/v2/db/registry/index.d.ts +102 -0
  248. package/dist/v2/db/registry/index.d.ts.map +1 -0
  249. package/dist/v2/db/registry/subject.d.ts +18 -0
  250. package/dist/v2/db/registry/subject.d.ts.map +1 -0
  251. package/dist/v2/db/registry/subject.test.d.ts +2 -0
  252. package/dist/v2/db/registry/subject.test.d.ts.map +1 -0
  253. package/dist/v2/db/registry/types.d.ts +10 -0
  254. package/dist/v2/db/registry/types.d.ts.map +1 -0
  255. package/dist/v2/db/registry/utils/generate-id.d.ts +25 -0
  256. package/dist/v2/db/registry/utils/generate-id.d.ts.map +1 -0
  257. package/dist/v2/db/registry/utils/generate-id.test.d.ts +2 -0
  258. package/dist/v2/db/registry/utils/generate-id.test.d.ts.map +1 -0
  259. package/dist/v2/db/registry/utils.d.ts +25 -0
  260. package/dist/v2/db/registry/utils.d.ts.map +1 -0
  261. package/dist/v2/db/schema/1.0.0/audit-log.d.ts +29 -0
  262. package/dist/v2/db/schema/1.0.0/audit-log.d.ts.map +1 -0
  263. package/dist/v2/db/schema/1.0.0/consent-policy.d.ts +45 -0
  264. package/dist/v2/db/schema/1.0.0/consent-policy.d.ts.map +1 -0
  265. package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts +27 -0
  266. package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts.map +1 -0
  267. package/dist/v2/db/schema/1.0.0/consent-record.d.ts +19 -0
  268. package/dist/v2/db/schema/1.0.0/consent-record.d.ts.map +1 -0
  269. package/dist/v2/db/schema/1.0.0/consent.d.ts +42 -0
  270. package/dist/v2/db/schema/1.0.0/consent.d.ts.map +1 -0
  271. package/dist/v2/db/schema/1.0.0/domain.d.ts +23 -0
  272. package/dist/v2/db/schema/1.0.0/domain.d.ts.map +1 -0
  273. package/dist/v2/db/schema/1.0.0/index.d.ts +1513 -0
  274. package/dist/v2/db/schema/1.0.0/index.d.ts.map +1 -0
  275. package/dist/v2/db/schema/1.0.0/subject.d.ts +23 -0
  276. package/dist/v2/db/schema/1.0.0/subject.d.ts.map +1 -0
  277. package/dist/v2/db/schema/index.cjs +326 -0
  278. package/dist/v2/db/schema/index.d.ts +1507 -0
  279. package/dist/v2/db/schema/index.d.ts.map +1 -0
  280. package/dist/v2/db/schema/index.js +241 -0
  281. package/dist/v2/define-config.cjs +36 -0
  282. package/dist/v2/define-config.d.ts +5 -0
  283. package/dist/v2/define-config.d.ts.map +1 -0
  284. package/dist/v2/define-config.js +2 -0
  285. package/dist/v2/handlers/consent/index.d.ts +260 -0
  286. package/dist/v2/handlers/consent/index.d.ts.map +1 -0
  287. package/dist/v2/handlers/consent/post.handler.d.ts +136 -0
  288. package/dist/v2/handlers/consent/post.handler.d.ts.map +1 -0
  289. package/dist/v2/handlers/consent/show-banner/geo.d.ts +10 -0
  290. package/dist/v2/handlers/consent/show-banner/geo.d.ts.map +1 -0
  291. package/dist/v2/handlers/consent/show-banner/geo.test.d.ts +2 -0
  292. package/dist/v2/handlers/consent/show-banner/geo.test.d.ts.map +1 -0
  293. package/dist/v2/handlers/consent/show-banner/handler.d.ts +71 -0
  294. package/dist/v2/handlers/consent/show-banner/handler.d.ts.map +1 -0
  295. package/dist/v2/handlers/consent/show-banner/handler.test.d.ts +2 -0
  296. package/dist/v2/handlers/consent/show-banner/handler.test.d.ts.map +1 -0
  297. package/dist/v2/handlers/consent/show-banner/translations.d.ts +13 -0
  298. package/dist/v2/handlers/consent/show-banner/translations.d.ts.map +1 -0
  299. package/dist/v2/handlers/consent/show-banner/translations.test.d.ts +2 -0
  300. package/dist/v2/handlers/consent/show-banner/translations.test.d.ts.map +1 -0
  301. package/dist/v2/handlers/consent/verify.handler.d.ts +103 -0
  302. package/dist/v2/handlers/consent/verify.handler.d.ts.map +1 -0
  303. package/dist/v2/handlers/meta/index.d.ts +19 -0
  304. package/dist/v2/handlers/meta/index.d.ts.map +1 -0
  305. package/dist/v2/handlers/meta/status.handler.d.ts +17 -0
  306. package/dist/v2/handlers/meta/status.handler.d.ts.map +1 -0
  307. package/dist/v2/init.d.ts +3 -0
  308. package/dist/v2/init.d.ts.map +1 -0
  309. package/dist/v2/init.test.d.ts +2 -0
  310. package/dist/v2/init.test.d.ts.map +1 -0
  311. package/dist/v2/middleware/cors/cors.d.ts +37 -0
  312. package/dist/v2/middleware/cors/cors.d.ts.map +1 -0
  313. package/dist/v2/middleware/cors/cors.test.d.ts +2 -0
  314. package/dist/v2/middleware/cors/cors.test.d.ts.map +1 -0
  315. package/dist/v2/middleware/cors/index.d.ts +30 -0
  316. package/dist/v2/middleware/cors/index.d.ts.map +1 -0
  317. package/dist/v2/middleware/cors/is-origin-trusted.d.ts +49 -0
  318. package/dist/v2/middleware/cors/is-origin-trusted.d.ts.map +1 -0
  319. package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts +2 -0
  320. package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts.map +1 -0
  321. package/dist/v2/middleware/cors/process-cors.d.ts +31 -0
  322. package/dist/v2/middleware/cors/process-cors.d.ts.map +1 -0
  323. package/dist/v2/middleware/openapi/config.d.ts +28 -0
  324. package/dist/v2/middleware/openapi/config.d.ts.map +1 -0
  325. package/dist/v2/middleware/openapi/handlers.d.ts +29 -0
  326. package/dist/v2/middleware/openapi/handlers.d.ts.map +1 -0
  327. package/dist/v2/middleware/openapi/index.d.ts +11 -0
  328. package/dist/v2/middleware/openapi/index.d.ts.map +1 -0
  329. package/dist/v2/middleware/process-ip/index.d.ts +3 -0
  330. package/dist/v2/middleware/process-ip/index.d.ts.map +1 -0
  331. package/dist/v2/router.cjs +1275 -0
  332. package/dist/v2/router.d.ts +280 -0
  333. package/dist/v2/router.d.ts.map +1 -0
  334. package/dist/v2/router.js +1231 -0
  335. package/dist/v2/types/api.d.ts +27 -0
  336. package/dist/v2/types/api.d.ts.map +1 -0
  337. package/dist/v2/types/index.cjs +40 -0
  338. package/dist/v2/types/index.d.ts +104 -0
  339. package/dist/v2/types/index.d.ts.map +1 -0
  340. package/dist/v2/types/index.js +6 -0
  341. package/dist/v2/utils/create-telemetry-options.d.ts +28 -0
  342. package/dist/v2/utils/create-telemetry-options.d.ts.map +1 -0
  343. package/dist/v2/utils/env.d.ts +60 -0
  344. package/dist/v2/utils/env.d.ts.map +1 -0
  345. package/dist/v2/utils/index.d.ts +3 -0
  346. package/dist/v2/utils/index.d.ts.map +1 -0
  347. package/dist/v2/utils/logger.d.ts +16 -0
  348. package/dist/v2/utils/logger.d.ts.map +1 -0
  349. package/dist/version.d.ts +1 -1
  350. package/package.json +106 -15
  351. package/readme.json +30 -0
  352. package/rslib.config.ts +13 -14
  353. package/src/__tests__/server.test.ts +1 -1
  354. package/src/contracts/consent/post.contract.test.ts +3 -8
  355. package/src/contracts/consent/post.contract.ts +13 -13
  356. package/src/contracts/consent/show-banner.contract.test.ts +9 -0
  357. package/src/contracts/consent/show-banner.contract.ts +2 -0
  358. package/src/contracts/consent/verify.contract.ts +19 -23
  359. package/src/core.ts +7 -0
  360. package/src/handlers/consent/show-banner/handler.ts +12 -9
  361. package/src/handlers/consent/show-banner/translations.ts +2 -2
  362. package/src/init.ts +9 -6
  363. package/src/middleware/openapi/index.ts +2 -2
  364. package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +1 -1
  365. package/src/pkgs/data-model/fields/index.ts +17 -22
  366. package/src/pkgs/data-model/fields/zod-fields.ts +14 -26
  367. package/src/pkgs/data-model/hooks/index.ts +3 -2
  368. package/src/pkgs/data-model/index.ts +2 -4
  369. package/src/pkgs/data-model/schema/index.ts +6 -7
  370. package/src/pkgs/data-model/schema/schemas.ts +3 -3
  371. package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +4 -1
  372. package/src/pkgs/db-adapters/adapters/index.ts +2 -2
  373. package/src/pkgs/db-adapters/adapters/kysely-adapter/index.ts +4 -4
  374. package/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts +4 -5
  375. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +2 -4
  376. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +2 -3
  377. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +1 -6
  378. package/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts +4 -1
  379. package/src/pkgs/db-adapters/adapters/prisma-adapter/index.ts +1 -1
  380. package/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts +5 -2
  381. package/src/pkgs/db-adapters/index.ts +12 -13
  382. package/src/pkgs/migrations/get-migration.ts +4 -2
  383. package/src/pkgs/migrations/get-schema/get-schema.ts +0 -1
  384. package/src/pkgs/migrations/get-schema/process-fields.ts +1 -1
  385. package/src/pkgs/migrations/get-schema/process-tables.ts +0 -2
  386. package/src/pkgs/migrations/index.ts +7 -8
  387. package/src/pkgs/results/__tests__/error-codes.test.ts +2 -2
  388. package/src/pkgs/results/index.ts +22 -27
  389. package/src/pkgs/results/orpc-error-handler.ts +1 -1
  390. package/src/pkgs/results/results/result-helpers.ts +1 -1
  391. package/src/pkgs/types/index.ts +4 -4
  392. package/src/pkgs/types/options.ts +10 -3
  393. package/src/pkgs/utils/index.ts +1 -1
  394. package/src/pkgs/utils/logger.ts +1 -1
  395. package/src/schema/audit-log/schema.ts +3 -3
  396. package/src/schema/consent/schema.ts +4 -4
  397. package/src/schema/consent-policy/schema.ts +3 -3
  398. package/src/schema/consent-purpose/schema.ts +4 -4
  399. package/src/schema/consent-record/schema.ts +3 -3
  400. package/src/schema/definition.ts +1 -1
  401. package/src/schema/domain/schema.ts +5 -5
  402. package/src/schema/index.ts +14 -17
  403. package/src/schema/subject/schema.ts +3 -3
  404. package/src/schema/types.ts +1 -1
  405. package/src/testing/contract-testing.ts +15 -52
  406. package/src/types/index.ts +8 -8
  407. package/src/types/options.ts +2 -3
  408. package/src/v2/contracts/consent/index.test.ts +5 -0
  409. package/src/v2/contracts/consent/index.ts +9 -0
  410. package/src/v2/contracts/consent/post.contract.test.ts +521 -0
  411. package/src/v2/contracts/consent/post.contract.ts +155 -0
  412. package/src/v2/contracts/consent/show-banner.contract.test.ts +252 -0
  413. package/src/v2/contracts/consent/show-banner.contract.ts +73 -0
  414. package/src/v2/contracts/consent/verify.contract.test.ts +185 -0
  415. package/src/v2/contracts/consent/verify.contract.ts +122 -0
  416. package/src/v2/contracts/index.ts +20 -0
  417. package/src/v2/contracts/meta/index.test.ts +5 -0
  418. package/src/v2/contracts/meta/index.ts +5 -0
  419. package/src/v2/contracts/meta/status.contract.test.ts +226 -0
  420. package/src/v2/contracts/meta/status.contract.ts +34 -0
  421. package/src/v2/contracts/shared/jurisdiction.schema.ts +30 -0
  422. package/src/v2/contracts/test.utils.ts +400 -0
  423. package/src/v2/core.ts +379 -0
  424. package/src/v2/db/adapters/drizzle.ts +1 -0
  425. package/src/v2/db/adapters/index.ts +1 -0
  426. package/src/v2/db/adapters/kysely.ts +1 -0
  427. package/src/v2/db/adapters/mongo.ts +1 -0
  428. package/src/v2/db/adapters/prisma.ts +1 -0
  429. package/src/v2/db/adapters/typeorm.ts +1 -0
  430. package/src/v2/db/migrator/index.ts +80 -0
  431. package/src/v2/db/registry/audit-log.test.ts +77 -0
  432. package/src/v2/db/registry/audit-log.ts +46 -0
  433. package/src/v2/db/registry/consent-policy.test.ts +778 -0
  434. package/src/v2/db/registry/consent-policy.ts +74 -0
  435. package/src/v2/db/registry/consent-purpose.test.ts +485 -0
  436. package/src/v2/db/registry/consent-purpose.ts +41 -0
  437. package/src/v2/db/registry/consent.test.ts +843 -0
  438. package/src/v2/db/registry/consent.ts +42 -0
  439. package/src/v2/db/registry/domain.test.ts +463 -0
  440. package/src/v2/db/registry/domain.ts +51 -0
  441. package/src/v2/db/registry/index.ts +18 -0
  442. package/src/v2/db/registry/subject.test.ts +497 -0
  443. package/src/v2/db/registry/subject.ts +101 -0
  444. package/src/v2/db/registry/types.ts +10 -0
  445. package/src/v2/db/registry/utils/generate-id.test.ts +217 -0
  446. package/src/v2/db/registry/utils/generate-id.ts +134 -0
  447. package/src/v2/db/registry/utils.ts +134 -0
  448. package/src/v2/db/schema/1.0.0/audit-log.ts +32 -0
  449. package/src/v2/db/schema/1.0.0/consent-policy.ts +41 -0
  450. package/src/v2/db/schema/1.0.0/consent-purpose.ts +30 -0
  451. package/src/v2/db/schema/1.0.0/consent-record.ts +22 -0
  452. package/src/v2/db/schema/1.0.0/consent.ts +38 -0
  453. package/src/v2/db/schema/1.0.0/domain.ts +26 -0
  454. package/src/v2/db/schema/1.0.0/index.ts +56 -0
  455. package/src/v2/db/schema/1.0.0/subject.ts +26 -0
  456. package/src/v2/db/schema/index.ts +9 -0
  457. package/src/v2/define-config.ts +5 -0
  458. package/src/v2/handlers/consent/index.ts +9 -0
  459. package/src/v2/handlers/consent/post.handler.ts +254 -0
  460. package/src/v2/handlers/consent/show-banner/geo.test.ts +281 -0
  461. package/src/v2/handlers/consent/show-banner/geo.ts +96 -0
  462. package/src/v2/handlers/consent/show-banner/handler.test.ts +374 -0
  463. package/src/v2/handlers/consent/show-banner/handler.ts +123 -0
  464. package/src/v2/handlers/consent/show-banner/translations.test.ts +121 -0
  465. package/src/v2/handlers/consent/show-banner/translations.ts +79 -0
  466. package/src/v2/handlers/consent/verify.handler.ts +288 -0
  467. package/src/v2/handlers/meta/index.ts +5 -0
  468. package/src/v2/handlers/meta/status.handler.ts +43 -0
  469. package/src/v2/init.test.ts +114 -0
  470. package/src/v2/init.ts +126 -0
  471. package/src/v2/middleware/cors/cors.test.ts +111 -0
  472. package/src/v2/middleware/cors/cors.ts +192 -0
  473. package/src/v2/middleware/cors/index.ts +30 -0
  474. package/src/v2/middleware/cors/is-origin-trusted.test.ts +104 -0
  475. package/src/v2/middleware/cors/is-origin-trusted.ts +126 -0
  476. package/src/v2/middleware/cors/process-cors.ts +91 -0
  477. package/src/v2/middleware/openapi/config.ts +27 -0
  478. package/src/v2/middleware/openapi/handlers.ts +132 -0
  479. package/src/v2/middleware/openapi/index.ts +11 -0
  480. package/src/v2/middleware/process-ip/index.ts +39 -0
  481. package/src/v2/router.ts +8 -0
  482. package/src/v2/types/api.ts +32 -0
  483. package/src/v2/types/index.ts +121 -0
  484. package/src/v2/utils/create-telemetry-options.ts +115 -0
  485. package/src/v2/utils/env.ts +84 -0
  486. package/src/v2/utils/index.ts +2 -0
  487. package/src/v2/utils/logger.ts +38 -0
  488. package/src/version.ts +1 -1
  489. package/vitest.config.ts +11 -2
@@ -1,7 +1,6 @@
1
1
  //@ts-nocheck
2
2
 
3
3
  import {
4
- type SQL,
5
4
  and,
6
5
  asc,
7
6
  count,
@@ -10,6 +9,7 @@ import {
10
9
  inArray,
11
10
  like,
12
11
  or,
12
+ type SQL,
13
13
  } from 'drizzle-orm';
14
14
  import { type EntityName, generateId } from '~/pkgs/data-model';
15
15
  import { DoubleTieError, ERROR_CODES } from '~/pkgs/results';
@@ -517,6 +517,9 @@ function checkMissingFields(
517
517
  * }),
518
518
  * });
519
519
  * ```
520
+ *
521
+ * @deprecated Will be removed in the next major version. Update to `@c15t/backend/v2`, view migration guide for more details.
522
+ * @see https://c15t.com/docs/self-host/migrate-from-v1
520
523
  */
521
524
  export const drizzleAdapter =
522
525
  (db: DB, config: DrizzleAdapterConfig) => (options: C15TOptions) => {
@@ -4,7 +4,7 @@
4
4
  * This provides a convenient way to import any adapter from a single location.
5
5
  */
6
6
 
7
- export * from './memory-adapter';
8
- export * from './prisma-adapter';
9
7
  export * from './drizzle-adapter';
10
8
  export * from './kysely-adapter';
9
+ export * from './memory-adapter';
10
+ export * from './prisma-adapter';
@@ -1,10 +1,10 @@
1
+ export { createKyselyAdapter } from './dialect';
1
2
  export { kyselyAdapter } from './kysely-adapter';
2
3
  export type {
4
+ DialectConfig,
3
5
  KyselyDatabaseType,
4
- PostgresPoolConfig,
6
+ KyselyInstanceConfig,
5
7
  MysqlPoolConfig,
8
+ PostgresPoolConfig,
6
9
  SQLiteDatabaseConfig,
7
- DialectConfig,
8
- KyselyInstanceConfig,
9
10
  } from './types';
10
- export { createKyselyAdapter } from './dialect';
@@ -22,17 +22,17 @@ import {
22
22
  type EntityOutput,
23
23
  type EntityTypeMap,
24
24
  type Field,
25
- type Primitive,
26
25
  generateId,
26
+ type Primitive,
27
27
  } from '~/pkgs/data-model';
28
28
 
29
29
  import { getConsentTables } from '~/schema/definition';
30
30
  import type { C15TOptions } from '~/types';
31
31
  import {
32
32
  type Adapter,
33
+ applyDefaultValue,
33
34
  type TableFields,
34
35
  type Where,
35
- applyDefaultValue,
36
36
  } from '../..';
37
37
  import type { Database, KyselyDatabaseType } from './types';
38
38
 
@@ -176,8 +176,6 @@ const createEntityTransformer = (
176
176
  ? (modelFields as Record<string, Field>)[field as string]
177
177
  : undefined;
178
178
  if (!f) {
179
- // biome-ignore lint/suspicious/noConsoleLog: no Logger implementation
180
- // biome-ignore lint/suspicious/noConsole: no Logger implementation
181
179
  console.log('Field not found', model, field);
182
180
  }
183
181
  return f?.fieldName || (field as string);
@@ -637,6 +635,8 @@ const createEntityTransformer = (
637
635
  * // Use in your application
638
636
  * export default c15tInstance.handler;
639
637
  * ```
638
+ * @deprecated Will be removed in the next major version. Update to `@c15t/backend/v2`, view migration guide for more details.
639
+ * @see https://c15t.com/docs/self-host/migrate-from-v1
640
640
  */
641
641
  export const kyselyAdapter =
642
642
  (db: Kysely<Database>, config?: KyselyAdapterConfig) =>
@@ -1166,7 +1166,6 @@ export const kyselyAdapter =
1166
1166
  error.message.toLowerCase().includes('no transaction support'))
1167
1167
  ) {
1168
1168
  // Log warning about disableTransactions option
1169
- // biome-ignore lint/suspicious/noConsole: this is a warning
1170
1169
  console.warn(
1171
1170
  'Warning: Database transaction failed. If your database does not support transactions, ' +
1172
1171
  'you can disable this warning by setting opts.advanced.disableTransactions to true.'
@@ -1,16 +1,15 @@
1
+ import { logger } from '@doubletie/logger';
1
2
  import { PGlite } from '@electric-sql/pglite';
2
3
  import { Kysely } from 'kysely';
3
4
  import { KyselyPGlite } from 'kysely-pglite';
4
5
  import { afterAll, beforeAll, describe, expect, test } from 'vitest';
5
-
6
- import { logger } from '@doubletie/logger';
7
6
  import type { Adapter } from '~/pkgs/db-adapters';
8
7
  import { getMigrations } from '~/pkgs/migrations';
9
8
  import { type KyselyDatabaseType, kyselyAdapter } from '../index';
10
9
  import type { Database } from '../types';
11
10
  import {
12
- type DbConfig,
13
11
  createOptions,
12
+ type DbConfig,
14
13
  expectedTables,
15
14
  runAdapterTests,
16
15
  verifyRequiredTables,
@@ -31,7 +30,6 @@ describe('Kysely Adapter Tests', () => {
31
30
  }
32
31
 
33
32
  // Verify that all adapters are instances of the same class
34
- // biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
35
33
  expect(
36
34
  adapters.every((a) => a.constructor === adapters[0]?.constructor)
37
35
  ).toBe(true);
@@ -1,15 +1,14 @@
1
+ import { logger } from '@doubletie/logger';
1
2
  import { LibsqlDialect } from '@libsql/kysely-libsql';
2
3
  import { Kysely, sql } from 'kysely';
3
4
  import { afterAll, beforeAll, describe, expect, test } from 'vitest';
4
-
5
- import { logger } from '@doubletie/logger';
6
5
  import type { Adapter } from '~/pkgs/db-adapters';
7
6
  import { getMigrations } from '~/pkgs/migrations';
8
7
  import { type KyselyDatabaseType, kyselyAdapter } from '../index';
9
8
  import type { Database } from '../types';
10
9
  import {
11
- type DbConfig,
12
10
  createOptions,
11
+ type DbConfig,
13
12
  expectedTables,
14
13
  runAdapterTests,
15
14
  verifyRequiredTables,
@@ -1,7 +1,6 @@
1
+ import type { Logger } from '@doubletie/logger';
1
2
  import { type Kysely, type Migration, sql } from 'kysely';
2
3
  import { beforeEach, expect, test } from 'vitest';
3
-
4
- import type { Logger } from '@doubletie/logger';
5
4
  import type { Adapter } from '~/pkgs/db-adapters';
6
5
  import type { C15TOptions } from '~/types';
7
6
  import type { KyselyDatabaseType } from '../index';
@@ -351,16 +350,12 @@ export async function runAdapterTests(opts: {
351
350
  },
352
351
  });
353
352
 
354
- // biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
355
353
  expect(res).toBeDefined();
356
354
  // @ts-expect-error - id is not a field on the subject model
357
- // biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
358
355
  expect(res.id).toBeDefined();
359
356
  // @ts-expect-error - id is not a field on the subject model
360
- // biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
361
357
  expect(typeof res.id).toBe('string');
362
358
  // @ts-expect-error - id is not a field on the subject model
363
- // biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
364
359
  expect(res.id.length).toBeGreaterThan(0);
365
360
  }
366
361
  );
@@ -4,8 +4,8 @@ import {
4
4
  type EntityOutput,
5
5
  type EntityTypeMap,
6
6
  type Field,
7
- type Primitive,
8
7
  generateId,
8
+ type Primitive,
9
9
  } from '~/pkgs/data-model';
10
10
  import { getConsentTables } from '~/schema';
11
11
  import type { C15TOptions } from '~/types';
@@ -336,6 +336,9 @@ const createEntityTransformer = (options: C15TOptions) => {
336
336
  * // You can also inspect the database during development
337
337
  * console.log(db);
338
338
  * ```
339
+ *
340
+ * @deprecated Will be removed in the next major version. Update to `@c15t/backend/v2`, view migration guide for more details.
341
+ * @see https://c15t.com/docs/self-host/migrate-from-v1
339
342
  */
340
343
  export const memoryAdapter =
341
344
  (db: MemoryDB) =>
@@ -1 +1 @@
1
- export { prismaAdapter, type PrismaConfig } from './prisma-adapter';
1
+ export { type PrismaConfig, prismaAdapter } from './prisma-adapter';
@@ -1,9 +1,9 @@
1
1
  //@ts-nocheck
2
- import { DoubleTieError, ERROR_CODES } from '~/pkgs/results';
3
- import type { C15TOptions } from '~/types';
4
2
 
5
3
  import { type EntityName, generateId } from '~/pkgs/data-model';
4
+ import { DoubleTieError, ERROR_CODES } from '~/pkgs/results';
6
5
  import { getConsentTables } from '~/schema/definition';
6
+ import type { C15TOptions } from '~/types';
7
7
  import type { Adapter, Where } from '../../types';
8
8
  import { applyDefaultValue } from '../../utils';
9
9
 
@@ -324,6 +324,9 @@ const createEntityTransformer = (
324
324
  * // Use in your application
325
325
  * export default c15tInstance.handler;
326
326
  * ```
327
+ *
328
+ * @deprecated Will be removed in the next major version. Update to `@c15t/backend/v2`, view migration guide for more details.
329
+ * @see https://c15t.com/docs/self-host/migrate-from-v1
327
330
  */
328
331
  export const prismaAdapter =
329
332
  (prisma: PrismaClient, config: PrismaConfig) => (options: C15TOptions) => {
@@ -6,24 +6,23 @@
6
6
  * allowing for easy switching between different database backends.
7
7
  */
8
8
 
9
+ // Export the adapter factory
10
+ export { getAdapter } from './adapter-factory';
11
+ export { drizzleAdapter } from './adapters/drizzle-adapter';
12
+
13
+ // Export all adapters and related utilities
14
+ export { kyselyAdapter } from './adapters/kysely-adapter';
15
+ export { createKyselyAdapter } from './adapters/kysely-adapter/dialect';
16
+ export { memoryAdapter } from './adapters/memory-adapter';
17
+ export { prismaAdapter } from './adapters/prisma-adapter';
9
18
  // Export core types and utilities
10
19
  export type {
11
20
  Adapter,
12
- KyselyAdapterConfig,
13
- AdapterSchemaCreation,
14
21
  AdapterInstance,
15
- Where,
22
+ AdapterSchemaCreation,
23
+ KyselyAdapterConfig,
16
24
  TableFields,
25
+ Where,
17
26
  WhereCondition,
18
27
  } from './types';
19
28
  export { applyDefaultValue } from './utils';
20
-
21
- // Export all adapters and related utilities
22
- export { kyselyAdapter } from './adapters/kysely-adapter';
23
- export { prismaAdapter } from './adapters/prisma-adapter';
24
- export { memoryAdapter } from './adapters/memory-adapter';
25
- export { drizzleAdapter } from './adapters/drizzle-adapter';
26
- export { createKyselyAdapter } from './adapters/kysely-adapter/dialect';
27
-
28
- // Export the adapter factory
29
- export { getAdapter } from './adapter-factory';
@@ -1,8 +1,10 @@
1
1
  import { createKyselyAdapter } from '~/pkgs/db-adapters';
2
2
  import { getLogger } from '~/pkgs/utils/logger';
3
3
  import type { C15TOptions } from '~/types';
4
- import { buildColumnAddMigrations } from './migration-builders';
5
- import { buildTableCreateMigrations } from './migration-builders';
4
+ import {
5
+ buildColumnAddMigrations,
6
+ buildTableCreateMigrations,
7
+ } from './migration-builders';
6
8
  import { createMigrationExecutors } from './migration-execution';
7
9
  import { analyzeSchemaChanges } from './schema-comparison';
8
10
  import type { MigrationResult } from './types';
@@ -35,7 +35,6 @@ export function getSchema(config: C15TOptions): SchemaDefinition {
35
35
  return processTablesIntoSchema(tables);
36
36
  } catch (error) {
37
37
  // Log the error or handle it according to your application's needs
38
- // biome-ignore lint/suspicious/noConsole: <explanation>
39
38
  console.error('Failed to generate schema:', error);
40
39
  throw new Error(
41
40
  `Schema generation failed: ${error instanceof Error ? error.message : String(error)}`
@@ -51,10 +51,10 @@ export function processFields<T extends EntityName>(
51
51
  };
52
52
  } else {
53
53
  // Log warning and remove invalid reference if table not found
54
- // biome-ignore lint/suspicious/noConsole: no Logger implementation
55
54
  console.warn(
56
55
  `Warning: Referenced table '${EntityName}' not found for field '${fieldName}'. The reference will be removed to prevent inconsistent state.`
57
56
  );
57
+ // biome-ignore lint/correctness/noUnusedVariables: a
58
58
  const { references, ...fieldWithoutRef } = typedField;
59
59
  actualFields[fieldName as keyof typeof actualFields] = fieldWithoutRef;
60
60
  }
@@ -29,7 +29,6 @@ export function processTablesIntoSchema(
29
29
  try {
30
30
  const fields = table.fields;
31
31
  if (typeof fields !== 'object' || fields === null) {
32
- // biome-ignore lint/suspicious/noConsole: its okay
33
32
  console.warn(
34
33
  `Invalid fields for table ${key}: Expected object, got ${typeof fields}`
35
34
  );
@@ -37,7 +36,6 @@ export function processTablesIntoSchema(
37
36
  }
38
37
  actualFields = processFields(fields, tables);
39
38
  } catch (error) {
40
- // biome-ignore lint/suspicious/noConsole: its okay
41
39
  console.error(`Error processing fields for table ${key}:`, error);
42
40
  continue; // Skip this table if field processing fails
43
41
  }
@@ -11,21 +11,20 @@
11
11
 
12
12
  // Core migration functionality
13
13
  export { getMigrations } from './get-migration';
14
- export { createMigrationExecutors } from './migration-execution';
14
+ // Schema generation utilities
15
+ export { getSchema } from './get-schema';
15
16
  export {
16
- buildTableCreateMigrations,
17
17
  buildColumnAddMigrations,
18
+ buildTableCreateMigrations,
18
19
  } from './migration-builders';
20
+ export { createMigrationExecutors } from './migration-execution';
19
21
  export { analyzeSchemaChanges } from './schema-comparison';
20
- export { matchType, getType } from './type-mapping';
21
-
22
- // Schema generation utilities
23
- export { getSchema } from './get-schema';
22
+ export { getType, matchType } from './type-mapping';
24
23
 
25
24
  // Types
26
25
  export type {
27
- MigrationResult,
28
- MigrationOperation,
29
26
  ColumnsToAdd,
27
+ MigrationOperation,
28
+ MigrationResult,
30
29
  TableToCreate,
31
30
  } from './types';
@@ -1,9 +1,9 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import {
3
- ERROR_CATEGORIES,
4
- ERROR_CODES,
5
3
  createErrorCategories,
6
4
  createErrorCodes,
5
+ ERROR_CATEGORIES,
6
+ ERROR_CODES,
7
7
  } from '../core/error-codes';
8
8
 
9
9
  describe('error-codes', () => {
@@ -73,18 +73,37 @@
73
73
 
74
74
  // Re-export everything from neverthrow that we use
75
75
  export {
76
- ok,
77
76
  err,
78
- okAsync,
79
77
  errAsync,
80
78
  fromPromise,
79
+ ok,
80
+ okAsync,
81
81
  Result,
82
82
  ResultAsync,
83
83
  } from 'neverthrow';
84
84
 
85
85
  // Export our error class
86
86
  export { DoubleTieError } from './core/error-class';
87
-
87
+ // Export our error classes, codes, and categories
88
+ export { ERROR_CATEGORIES, ERROR_CODES } from './core/error-codes';
89
+ // Export telemetry options
90
+ export {
91
+ createTelemetryOptions,
92
+ type TelemetryConfig,
93
+ } from './create-telemetry-options';
94
+ // Export recovery utilities
95
+ export {
96
+ withFallbackForCategory,
97
+ withFallbackForCodes,
98
+ } from './results/recovery-utils';
99
+ // Export result handling utilities
100
+ export {
101
+ fail,
102
+ failAsync,
103
+ promiseToResult,
104
+ tryCatch,
105
+ tryCatchAsync,
106
+ } from './results/result-helpers';
88
107
  // Export our types
89
108
  export type {
90
109
  DoubleTieErrorOptions,
@@ -94,27 +113,3 @@ export type {
94
113
  SDKResult,
95
114
  SDKResultAsync,
96
115
  } from './types';
97
-
98
- // Export our error classes, codes, and categories
99
- export { ERROR_CODES, ERROR_CATEGORIES } from './core/error-codes';
100
-
101
- // Export result handling utilities
102
- export {
103
- fail,
104
- failAsync,
105
- tryCatch,
106
- tryCatchAsync,
107
- promiseToResult,
108
- } from './results/result-helpers';
109
-
110
- // Export recovery utilities
111
- export {
112
- withFallbackForCodes,
113
- withFallbackForCategory,
114
- } from './results/recovery-utils';
115
-
116
- // Export telemetry options
117
- export {
118
- createTelemetryOptions,
119
- type TelemetryConfig,
120
- } from './create-telemetry-options';
@@ -25,7 +25,7 @@ import { ERROR_CODES } from './core/error-codes';
25
25
  */
26
26
  export function createORPCErrorHandler() {
27
27
  return (
28
- request: Request,
28
+ _request: Request,
29
29
  context: { logger?: { error: (message: string, data?: object) => void } }
30
30
  ) => {
31
31
  // Add error handler to context
@@ -1,4 +1,4 @@
1
- import { ResultAsync, err, errAsync, ok } from 'neverthrow';
1
+ import { err, errAsync, ok, ResultAsync } from 'neverthrow';
2
2
  import { DoubleTieError } from '../core/error-class';
3
3
  import { ERROR_CODES } from '../core/error-codes';
4
4
  import { withSpan } from '../core/tracing';
@@ -7,12 +7,12 @@
7
7
  */
8
8
 
9
9
  export type {
10
- HookEndpointContext,
11
- GenericEndpointContext,
12
10
  BaseContext,
13
- RegistryContext,
14
11
  BaseDoubleTieContext,
12
+ DoubleTieContext,
13
+ GenericEndpointContext,
14
+ HookEndpointContext,
15
+ RegistryContext,
15
16
  } from './context';
16
17
  export type { DoubleTieOptions } from './options';
17
- export type { DoubleTieContext } from './context';
18
18
  export type { PluginHookContext } from './plugins';
@@ -1,12 +1,12 @@
1
- import type { DatabaseHook } from '~/pkgs/data-model';
2
- import type { DatabaseConfiguration } from '~/pkgs/db-adapters/adapters/kysely-adapter/types';
3
-
4
1
  import type { Translations } from '@c15t/translations';
5
2
  import type { LoggerOptions } from '@doubletie/logger';
6
3
  import type { Tracer } from '@opentelemetry/api';
4
+ import type { DatabaseHook } from '~/pkgs/data-model';
5
+ import type { DatabaseConfiguration } from '~/pkgs/db-adapters/adapters/kysely-adapter/types';
7
6
 
8
7
  // Import table configuration types from the schema module
9
8
  import type { TablesConfig } from '~/schema/types';
9
+ import type { Branding } from '~/types';
10
10
  import type { DoubleTiePlugin } from './plugins';
11
11
 
12
12
  /**
@@ -107,6 +107,13 @@ export interface DoubleTieOptions {
107
107
  */
108
108
  customTranslations?: Record<string, Partial<Translations>>;
109
109
 
110
+ /**
111
+ * Select which branding to show in the consent banner.
112
+ * Use "none" to hide branding.
113
+ * @default "c15t"
114
+ */
115
+ branding?: Branding;
116
+
110
117
  /**
111
118
  * Ip address configuration
112
119
  */
@@ -1,3 +1,3 @@
1
1
  export { env, isProduction, isTest } from './env';
2
- export { getBaseURL } from './url';
3
2
  export * from './logger';
3
+ export { getBaseURL } from './url';
@@ -1,6 +1,6 @@
1
1
  import {
2
- type LoggerOptions,
3
2
  createLogger as createDTLogger,
3
+ type LoggerOptions,
4
4
  } from '@doubletie/logger';
5
5
 
6
6
  let globalLogger: ReturnType<typeof createDTLogger>;
@@ -31,9 +31,9 @@ export const auditLogSchema = z.object({
31
31
  subjectId: z.string().optional(),
32
32
  ipAddress: z.string().optional(),
33
33
  userAgent: z.string().optional(),
34
- changes: z.record(z.unknown()).optional(),
35
- metadata: z.record(z.unknown()).optional(),
36
- createdAt: z.date().default(() => new Date()),
34
+ changes: z.record(z.string(), z.unknown()).optional(),
35
+ metadata: z.record(z.string(), z.unknown()).optional(),
36
+ createdAt: z.date().prefault(() => new Date()),
37
37
  });
38
38
 
39
39
  /**
@@ -30,15 +30,15 @@ export const consentSchema = z.object({
30
30
  subjectId: z.string(),
31
31
  domainId: z.string(),
32
32
  purposeIds: z.array(z.string()),
33
- metadata: z.record(z.unknown()).nullable().optional(),
33
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
34
34
  policyId: z.string().optional(),
35
35
  ipAddress: z.string().nullable().optional(),
36
36
  userAgent: z.string().nullable().optional(),
37
- status: z.enum(['active', 'withdrawn', 'expired']).default('active'),
37
+ status: z.enum(['active', 'withdrawn', 'expired']).prefault('active'),
38
38
  withdrawalReason: z.string().nullable().optional(),
39
- givenAt: z.date().default(() => new Date()),
39
+ givenAt: z.date().prefault(() => new Date()),
40
40
  validUntil: z.date().nullable().optional(),
41
- isActive: z.boolean().default(true),
41
+ isActive: z.boolean().prefault(true),
42
42
  });
43
43
 
44
44
  /**
@@ -45,9 +45,9 @@ export const consentPolicySchema = z.object({
45
45
  expirationDate: z.date().nullable().optional(),
46
46
  content: z.string(),
47
47
  contentHash: z.string(),
48
- isActive: z.boolean().default(true),
49
- createdAt: z.date().default(() => new Date()),
50
- updatedAt: z.date().default(() => new Date()),
48
+ isActive: z.boolean().prefault(true),
49
+ createdAt: z.date().prefault(() => new Date()),
50
+ updatedAt: z.date().prefault(() => new Date()),
51
51
  });
52
52
 
53
53
  /**
@@ -40,12 +40,12 @@ export const purposeSchema = z.object({
40
40
  code: z.string(),
41
41
  name: z.string(),
42
42
  description: z.string(),
43
- isEssential: z.boolean().default(false),
43
+ isEssential: z.boolean().prefault(false),
44
44
  dataCategory: z.string().nullish(),
45
45
  legalBasis: z.string().nullish(),
46
- isActive: z.boolean().default(true),
47
- createdAt: z.date().default(() => new Date()),
48
- updatedAt: z.date().default(() => new Date()),
46
+ isActive: z.boolean().prefault(true),
47
+ createdAt: z.date().prefault(() => new Date()),
48
+ updatedAt: z.date().prefault(() => new Date()),
49
49
  });
50
50
 
51
51
  /**
@@ -27,9 +27,9 @@ export const consentRecordSchema = z.object({
27
27
  subjectId: z.string(),
28
28
  consentId: z.string().optional(),
29
29
  actionType: z.string(),
30
- details: z.record(z.unknown()).optional(),
31
- createdAt: z.date().default(() => new Date()),
32
- updatedAt: z.date().default(() => new Date()),
30
+ details: z.record(z.string(), z.unknown()).optional(),
31
+ createdAt: z.date().prefault(() => new Date()),
32
+ updatedAt: z.date().prefault(() => new Date()),
33
33
  });
34
34
 
35
35
  /**
@@ -3,10 +3,10 @@ import { ZodError } from 'zod';
3
3
  import type { Field, PluginSchema } from '~/pkgs/data-model';
4
4
  import type { C15TOptions } from '~/types';
5
5
  import { getAuditLogTable } from './audit-log/table';
6
+ import { getConsentTable } from './consent/table';
6
7
  import { getConsentPolicyTable } from './consent-policy/table';
7
8
  import { getPurposeTable } from './consent-purpose/table';
8
9
  import { getConsentRecordTable } from './consent-record/table';
9
- import { getConsentTable } from './consent/table';
10
10
  import { getDomainTable } from './domain/table';
11
11
  import type { InferTableShape } from './schemas';
12
12
  import { getSubjectTable } from './subject/table';
@@ -26,11 +26,11 @@ export const domainSchema = z.object({
26
26
  id: z.string(),
27
27
  name: z.string().min(1),
28
28
  description: z.string().optional(),
29
- allowedOrigins: z.array(z.string()).optional().default([]),
30
- isVerified: z.boolean().default(true),
31
- isActive: z.boolean().default(true),
32
- createdAt: z.date().default(() => new Date()),
33
- updatedAt: z.date().default(() => new Date()),
29
+ allowedOrigins: z.array(z.string()).optional().prefault([]),
30
+ isVerified: z.boolean().prefault(true),
31
+ isActive: z.boolean().prefault(true),
32
+ createdAt: z.date().prefault(() => new Date()),
33
+ updatedAt: z.date().prefault(() => new Date()),
34
34
  });
35
35
 
36
36
  /**
@@ -42,13 +42,25 @@
42
42
  * Each table definition includes field specifications, relationships, and metadata.
43
43
  */
44
44
  export * from './audit-log';
45
+ export * from './consent';
45
46
  export * from './consent-policy';
46
47
  export * from './consent-purpose';
47
48
  export * from './consent-record';
48
- export * from './consent';
49
+ // Schema Utility Exports
50
+ /**
51
+ * Schema utilities for working with the complete database schema
52
+ *
53
+ * These exports provide functions for retrieving the complete schema and
54
+ * working with table definitions at a higher level.
55
+ *
56
+ * @see {@link getConsentTables} - Main function to get the complete schema
57
+ * @see {@link C15TDBSchema} - Type representing the complete database schema
58
+ */
59
+ export { type C15TDBSchema, getConsentTables } from './definition';
49
60
  export * from './domain';
61
+ // Schemas export
62
+ export * from './schemas';
50
63
  export * from './subject';
51
-
52
64
  // Schema Type Exports
53
65
  /**
54
66
  * Type definitions for database schema configuration
@@ -60,18 +72,3 @@ export * from './subject';
60
72
  * @see {@link TablesConfig} - Configuration for all database tables
61
73
  */
62
74
  export * from './types';
63
-
64
- // Schema Utility Exports
65
- /**
66
- * Schema utilities for working with the complete database schema
67
- *
68
- * These exports provide functions for retrieving the complete schema and
69
- * working with table definitions at a higher level.
70
- *
71
- * @see {@link getConsentTables} - Main function to get the complete schema
72
- * @see {@link C15TDBSchema} - Type representing the complete database schema
73
- */
74
- export { getConsentTables, type C15TDBSchema } from './definition';
75
-
76
- // Schemas export
77
- export * from './schemas';