@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,57 +1,83 @@
1
1
 
2
- > @c15t/backend@1.5.0 build /home/runner/work/c15t/c15t/packages/backend
2
+ > @c15t/backend@1.6.0 build /home/runner/work/c15t/c15t/packages/backend
3
3
  > pnpm prebuild && rslib build
4
4
 
5
5
 
6
- > @c15t/backend@1.5.0 prebuild /home/runner/work/c15t/c15t/packages/backend
6
+ > @c15t/backend@1.6.0 prebuild /home/runner/work/c15t/c15t/packages/backend
7
7
  > genversion --esm --semi src/version.ts
8
8
 
9
9
  Rslib v0.6.2
10
10
 
11
- ready built in 0.61 s (esm)
12
- ready built in 0.72 s (cjs)
13
- start generating declaration files... (cjs)
11
+ ready built in 0.75 s (esm)
12
+ ready built in 0.74 s (cjs)
14
13
  start generating declaration files... (esm)
15
- ready declaration files generated in 9.68 s (cjs)
16
- ready declaration files generated in 9.70 s (esm)
14
+ start generating declaration files... (cjs)
15
+ ready declaration files generated in 10.8 s (cjs)
16
+ ready declaration files generated in 10.9 s (esm)
17
17
 
18
18
   File (esm) Size 
19
19
  dist/pkgs/types/index.js 0.00 kB
20
- dist/pkgs/data-model/fields/index.js 5.6 kB
20
+ dist/v2/db/adapters/index.js 0.00 kB
21
+ dist/v2/define-config.js 0.06 kB
22
+ dist/v2/types/index.js 0.08 kB
23
+ dist/v2/db/adapters/mongo.js 0.28 kB
24
+ dist/v2/db/adapters/kysely.js 0.28 kB
25
+ dist/v2/db/adapters/prisma.js 0.28 kB
26
+ dist/v2/db/adapters/drizzle.js 0.29 kB
27
+ dist/v2/db/adapters/typeorm.js 0.29 kB
28
+ dist/v2/db/migrator/index.js 0.96 kB
29
+ dist/pkgs/data-model/fields/index.js 4.8 kB
30
+ dist/v2/db/schema/index.js 16.2 kB
21
31
  dist/pkgs/results/index.js 16.4 kB
22
- dist/contracts.js 31.3 kB
23
- dist/pkgs/db-adapters/adapters/memory-adapter/index.js 44.3 kB
24
- dist/pkgs/db-adapters/adapters/prisma-adapter/index.js 47.5 kB
25
- dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js 50.0 kB
26
- dist/pkgs/migrations/index.js 50.7 kB
27
- dist/router.js 52.3 kB
28
- dist/pkgs/db-adapters/adapters/kysely-adapter/index.js 55.3 kB
29
- dist/pkgs/data-model/schema/index.js 60.9 kB
30
- dist/schema/index.js 61.2 kB
31
- dist/pkgs/data-model/index.js 61.8 kB
32
- dist/pkgs/db-adapters/index.js 89.6 kB
33
- dist/core.js 157.2 kB
34
-
35
- Total: 784.0 kB
32
+ dist/contracts.js 30.9 kB
33
+ dist/v2/contracts/index.js 31.0 kB
34
+ dist/pkgs/db-adapters/adapters/memory-adapter/index.js 43.6 kB
35
+ dist/pkgs/db-adapters/adapters/prisma-adapter/index.js 46.8 kB
36
+ dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js 49.4 kB
37
+ dist/pkgs/migrations/index.js 50.0 kB
38
+ dist/router.js 52.0 kB
39
+ dist/v2/router.js 53.7 kB
40
+ dist/pkgs/db-adapters/adapters/kysely-adapter/index.js 54.6 kB
41
+ dist/pkgs/data-model/schema/index.js 60.2 kB
42
+ dist/schema/index.js 60.5 kB
43
+ dist/pkgs/data-model/index.js 61.2 kB
44
+ dist/v2/core.js 88.3 kB
45
+ dist/pkgs/db-adapters/index.js 88.9 kB
46
+ dist/core.js 156.9 kB
47
+
48
+ Total: 967.9 kB
36
49
 
37
50
   -----
38
51
 
39
52
   File (cjs) Size 
40
53
  dist/pkgs/types/index.cjs 0.60 kB
41
- dist/pkgs/data-model/fields/index.cjs 7.3 kB
54
+ dist/v2/db/adapters/index.cjs 0.60 kB
55
+ dist/v2/define-config.cjs 1.3 kB
56
+ dist/v2/types/index.cjs 1.3 kB
57
+ dist/v2/db/adapters/mongo.cjs 1.3 kB
58
+ dist/v2/db/adapters/kysely.cjs 1.3 kB
59
+ dist/v2/db/adapters/prisma.cjs 1.3 kB
60
+ dist/v2/db/adapters/drizzle.cjs 1.3 kB
61
+ dist/v2/db/adapters/typeorm.cjs 1.3 kB
62
+ dist/v2/db/migrator/index.cjs 2.1 kB
63
+ dist/pkgs/data-model/fields/index.cjs 6.5 kB
64
+ dist/v2/db/schema/index.cjs 16.8 kB
42
65
  dist/pkgs/results/index.cjs 18.5 kB
43
- dist/contracts.cjs 31.7 kB
44
- dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs 45.3 kB
45
- dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs 48.4 kB
46
- dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs 50.7 kB
47
- dist/router.cjs 52.0 kB
48
- dist/pkgs/migrations/index.cjs 52.3 kB
49
- dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs 56.3 kB
50
- dist/pkgs/data-model/schema/index.cjs 64.0 kB
51
- dist/schema/index.cjs 64.5 kB
52
- dist/pkgs/data-model/index.cjs 66.0 kB
53
- dist/pkgs/db-adapters/index.cjs 90.8 kB
54
- dist/core.cjs 156.1 kB
55
-
56
- Total: 804.4 kB
66
+ dist/v2/contracts/index.cjs 29.3 kB
67
+ dist/contracts.cjs 31.4 kB
68
+ dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs 44.6 kB
69
+ dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs 47.8 kB
70
+ dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs 50.1 kB
71
+ dist/v2/router.cjs 51.7 kB
72
+ dist/router.cjs 51.7 kB
73
+ dist/pkgs/migrations/index.cjs 51.7 kB
74
+ dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs 55.7 kB
75
+ dist/pkgs/data-model/schema/index.cjs 63.4 kB
76
+ dist/schema/index.cjs 63.8 kB
77
+ dist/pkgs/data-model/index.cjs 65.4 kB
78
+ dist/v2/core.cjs 85.4 kB
79
+ dist/pkgs/db-adapters/index.cjs 90.2 kB
80
+ dist/core.cjs 155.9 kB
81
+
82
+ Total: 992.2 kB
57
83
 
package/CHANGELOG.md CHANGED
@@ -1,217 +1,12 @@
1
1
  # @c15t/backend
2
2
 
3
- ## 1.5.0
3
+ ## 1.6.0
4
4
 
5
5
  ### Minor Changes
6
6
 
7
- - 230f749: feat(backend): added advanced overrides for disabling geo-location & adding custom translations
7
+ - 84ab0c7: For a full detailed changelog see the [v1.6.0 release notes](https://c15t.com/changelog/2025-09-08-v1.6.0).
8
8
 
9
9
  ### Patch Changes
10
10
 
11
- - Updated dependencies [c1b87dd]
12
- - @c15t/translations@1.5.0
13
-
14
- ## 1.5.0-canary-20250722133547
15
-
16
- ### Patch Changes
17
-
18
- - 35b5fc3: fix: removed package.json imports for Next 13 compatibility
19
-
20
- ## 1.5.0-canary-20250722085128
21
-
22
- ### Minor Changes
23
-
24
- - 74e1825: feat(backend): added advanced overrides for disabling geo-location & adding custom translations
25
-
26
- ## 1.4.2
27
-
28
- ### Patch Changes
29
-
30
- - Updated dependencies [53774ce]
31
- - @c15t/translations@1.4.2
32
-
33
- ## 1.4.2-canary-20250702103734
34
-
35
- ### Patch Changes
36
-
37
- - Updated dependencies [cd218e7]
38
- - @c15t/translations@1.4.2-canary-20250702103734
39
-
40
- ## 1.4.1
41
-
42
- ### Patch Changes
43
-
44
- - 8afd304: fix(backend): add custom c15t headers to override providers
45
-
46
- ## 1.3.1
47
-
48
- ### Patch Changes
49
-
50
- - 7fecb81: refactor(nextjs): fetch inital data from backend in c15t mode instead of duplicate logic
51
- fix: incorrect link to quickstart
52
- fix(issue-274): include nextjs externals in rslib
53
- fix(core): fall back to API call if initialData promise is empty
54
- chore: add translation for zh
55
- - Updated dependencies [7fecb81]
56
- - @c15t/translations@1.3.1
57
-
58
- ## 1.3.1-canary-20250618084038
59
-
60
- ### Patch Changes
61
-
62
- - Updated dependencies [5da2f28]
63
- - @c15t/translations@1.3.1-canary-20250618084038
64
-
65
- ## 1.3.0
66
-
67
- ### Minor Changes
68
-
69
- - 85e5e3d: ## 🌍 New Translations Package
70
-
71
- - **NEW**: Added `@c15t/translations` package with comprehensive i18n support
72
- - Added translations for 8 languages: English, German, Spanish, Finnish, French, Italian, Dutch, Portuguese
73
- - Includes translations for consent banners, dialogs, and common phrases
74
- - Replaced the former `@c15t/middleware` package functionality
75
-
76
- ## 🔧 CLI Enhancements
77
-
78
- - **NEW**: Added telemetry system with framework and package manager detection
79
- - **NEW**: Enhanced onboarding flow with better framework detection (React, Next.js, etc.)
80
- - **NEW**: Automatic package manager detection (pnpm, yarn, npm)
81
- - **NEW**: Added `--telemetry-debug` flag for debugging telemetry
82
- - Improved error handling and user experience during setup
83
- - Better file generation for different storage modes and configurations
84
-
85
- ## 🎯 Backend Updates
86
-
87
- - **NEW**: Server-side translation support in consent banner handling
88
- - Added language detection from `Accept-Language` headers
89
- - Updated consent banner contracts to include translation schemas
90
- - Enhanced jurisdiction checking with better default handling
91
- - Updated user agent and IP address handling (now defaults to null instead of "unknown")
92
-
93
- ## ⚛️ React Package Changes
94
-
95
- - **NEW**: Integrated translation support throughout components
96
- - Updated `ConsentManagerProvider` to handle initial translation configuration
97
- - Removed dependency on middleware package
98
- - Enhanced consent manager store with translation capabilities
99
-
100
- ## 🔄 Next.js Package Restructuring
101
-
102
- - **BREAKING**: Removed middleware exports and functionality
103
- - **NEW**: Added `ConsentManagerProvider` component for server-side rendering
104
- - **NEW**: Server-side consent banner detection with jurisdiction mapping
105
- - Added support for extracting consent-relevant headers
106
- - Updated to work with new translations system
107
-
108
- ## 🏗️ Core Package Updates
109
-
110
- - **NEW**: Integrated translation configuration system
111
- - Updated offline client to include default translations
112
- - Enhanced consent banner fetching with translation support
113
- - Improved store management with initial data handling
114
-
115
- ## 🔄 Infrastructure & Tooling
116
-
117
- - **NEW**: Added GitHub Actions workflow for canary releases
118
- - **NEW**: Added branch synchronization workflow (main → canary)
119
- - Updated BiomeJS configuration with comprehensive linting rules
120
- - Enhanced build configurations across packages
121
-
122
- ## 📦 Package Management
123
-
124
- - Updated dependencies across all packages
125
- - Added peer dependencies where appropriate
126
- - Improved module exports and build configurations
127
- - Enhanced TypeScript configurations for better type safety
128
-
129
- ***
130
-
131
- ## 📋 Detailed Change Breakdown
132
-
133
- ### **New Features**
134
-
135
- - Added multi-language support for consent banners with new translations in German, Spanish, Finnish, French, Italian, Dutch, and Portuguese.
136
- - Consent banner logic enhanced to detect user location and language from HTTP headers, showing localized messages per jurisdiction.
137
- - Next.js ConsentManagerProvider now performs server-side initialization of consent state for consistent banner display and translation.
138
- - CLI onboarding improved with robust environment detection, modularized flow, enhanced telemetry, and guided dependency installation.
139
- - Introduced new CLI global flag for telemetry debug mode.
140
-
141
- ### **Improvements**
142
-
143
- - Consent banner responses now include detailed translation structures and jurisdiction information.
144
- - Translation utilities and types centralized in a new `@c15t/translations` package for easier integration.
145
- - Onboarding file generation refactored to unify client config and environment file creation.
146
- - Documentation and changelogs updated for new canary releases and integration guidance.
147
- - CLI telemetry enhanced with asynchronous event tracking and debug logging support.
148
-
149
- ### **Bug Fixes**
150
-
151
- - Fixed consent banner logic for correct handling of US jurisdiction and fallback scenarios.
152
- - Improved error handling and debug logging in CLI telemetry and onboarding.
153
-
154
- ### **Refactor**
155
-
156
- - Removed legacy middleware exports and Node SDK re-exports from Next.js and middleware packages.
157
- - Consolidated jurisdiction and consent banner logic into dedicated Next.js consent-manager-provider modules.
158
- - Updated CLI context creation to async with enriched environment metadata and improved logging.
159
- - Refactored onboarding storage modes to delegate file generation and unify cancellation handling.
160
-
161
- ### **Tests**
162
-
163
- - Added extensive tests for consent banner display logic, jurisdiction detection, language preference parsing, and translation selection.
164
- - Removed deprecated tests for deleted middleware and jurisdiction modules.
165
-
166
- ### **Chores**
167
-
168
- - Updated package versions and dependencies to latest canary releases, including addition of `@c15t/translations`.
169
- - Added and updated GitHub Actions workflows for canary releases and branch synchronization.
170
- - Updated package metadata and configuration files for consistency and improved build settings.
171
-
172
- This release represents a major step forward in internationalization support, developer experience improvements, and architectural refinements across the entire c15t ecosystem.
173
-
174
- ### Patch Changes
175
-
176
- - Updated dependencies [85e5e3d]
177
- - @c15t/translations@1.3.0
178
-
179
- ## 1.2.2-canary-20250602152741
180
-
181
- ### Patch Changes
182
-
183
- - 131a2ff: fix(backend): user agent not being stored
184
-
185
- ## 1.2.2-canary-20250521133509
186
-
187
- ### Patch Changes
188
-
189
- - e4b9778: fix(backend): show consent banner returning true in US etc
190
-
191
- ## 1.2.2-canary-20250514203718
192
-
193
- ### Patch Changes
194
-
195
- - f24f11b: bump package
196
- - Updated dependencies [f24f11b]
197
- - @c15t/translations@1.2.2-canary-20250514203718
198
-
199
- ## 1.2.2-canary-20250514183211
200
-
201
- ### Patch Changes
202
-
203
- - f64f000: feat: added @c15t/nextjs, @c15t/translations for better integration, server-side translations & fetching of consent banner
204
- - Updated dependencies [f64f000]
205
- - @c15t/translations@1.2.2-canary-20250514183211
206
-
207
- ## 1.2.1
208
-
209
- ### Patch Changes
210
-
211
- - [#226](https://github.com/c15t/c15t/pull/226) [`aca32d3`](https://github.com/c15t/c15t/commit/aca32d3f0f76d75ad618a8ba3386ce385ac612e4) Thanks [@KayleeWilliams](https://github.com/KayleeWilliams)! - fix(backend): set consent validation error
212
-
213
- ## 1.2.0
214
-
215
- ### Minor Changes
216
-
217
- - [#224](https://github.com/c15t/c15t/pull/224) [`838a9b5`](https://github.com/c15t/c15t/commit/838a9b52c31326899ec3c903e43bf7bc31a6490f) Thanks [@BurnedChris](https://github.com/BurnedChris)! - Refactored backend to be a new orpc client / server
11
+ - Updated dependencies [84ab0c7]
12
+ - @c15t/translations@1.6.0
package/README.md CHANGED
@@ -1,167 +1,89 @@
1
- <div align="center">
2
- <img src="https://c15t.com/logo-icon.png" alt="c15t Logo" width="64" height="64" />
3
- <h1>@c15t/backend</h1>
4
- <p>Transform privacy consent from a compliance checkbox into a fully observable system</p>
5
-
6
- [![GitHub stars](https://img.shields.io/github/stars/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t)
7
- [![CI](https://img.shields.io/github/actions/workflow/status/c15t/c15t/ci.yml?style=flat-square)](https://github.com/c15t/c15t/actions/workflows/ci.yml)
8
- [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg?style=flat-square)]([LICENSE.md](https://github.com/c15t/c15t/blob/main/LICENSE.md))
9
- [![Discord](https://img.shields.io/discord/1312171102268690493?style=flat-square)](https://c15t.com/discord)
10
- </div>
11
-
12
-
13
- A robust consent management system backend that provides flexible database adapters, comprehensive audit logging, and a powerful plugin system.
14
-
15
- ## Features
16
-
17
- ### Database Adapters
18
- - **Memory Adapter**: In-memory storage for development and testing
19
- - **Kysely Adapter**: Type-safe SQL query builder with support for multiple databases
20
- - **Prisma Adapter**: Integration with Prisma ORM
21
- - **Drizzle Adapter**: Integration with Drizzle ORM
22
-
23
- ### Core Functionality
24
- - **Consent Management**: Track and manage user consent preferences
25
- - **Audit Logging**: Comprehensive logging of all consent-related actions
26
- - **Domain Management**: Handle multiple domains and subdomains
27
- - **Policy Management**: Version and manage consent policies
28
-
29
- ## Getting Started
30
-
31
- ### Installation
32
-
33
- ```bash
34
- npm install @c15t/backend
35
- ```
36
-
37
- ### Basic Usage
38
-
39
- ```typescript
40
- import { c15tInstance } from '@c15t/backend';
41
- import { memoryAdapter } from '@c15t/backend/db/adapters/memory';
42
-
43
- const instance = c15tInstance({
44
- baseURL: 'http://localhost:3000',
45
- database: memoryAdapter({}),
46
- });
47
-
48
- // Handle requests
49
- const response = await instance.handler(request);
50
- ```
51
-
52
- ### Database Configuration
53
-
54
- ```typescript
55
- // Using Kysely adapter
56
- import { kyselyAdapter } from '@c15t/backend/db/adapters/kysely';
57
-
58
- const instance = c15tInstance({
59
- baseURL: 'http://localhost:3000',
60
- database: kyselyAdapter({
61
- dialect: 'postgres',
62
- connection: {
63
- host: 'localhost',
64
- port: 5432,
65
- database: 'c15t',
66
- user: 'postgres',
67
- password: 'password',
68
- },
69
- }),
70
- });
71
- ```
72
-
73
- ### Plugin System
74
-
75
- ```typescript
76
- const customPlugin = {
77
- id: 'custom-plugin',
78
- name: 'Custom Plugin',
79
- type: 'test',
80
- init: () => ({
81
- context: {
82
- customField: 'value',
83
- },
84
- }),
85
- onRequest: async (request, ctx) => {
86
- // Modify request
87
- return { request: modifiedRequest };
88
- },
89
- onResponse: async (response, ctx) => {
90
- // Modify response
91
- return { response: modifiedResponse };
92
- },
93
- };
94
-
95
- const instance = c15tInstance({
96
- baseURL: 'http://localhost:3000',
97
- database: memoryAdapter({}),
98
- plugins: [customPlugin],
99
- });
100
- ```
101
-
102
- ## API Documentation
103
-
104
- ### Core Instance
105
-
106
- ```typescript
107
- interface C15TInstance {
108
- options: C15TOptions;
109
- $context: Promise<Result<C15TContext, C15TError>>;
110
- handler: (request: Request) => Promise<Result<Response, C15TError>>;
111
- getApi: () => Promise<Result<Record<string, unknown>, C15TError>>;
112
- }
113
- ```
114
-
115
- ### Database Adapters
116
-
117
- Each adapter provides a consistent interface for database operations:
118
-
119
- ```typescript
120
- interface DatabaseAdapter {
121
- create: <T extends Record<string, unknown>>(table: string, data: T) => Promise<T>;
122
- find: <T extends Record<string, unknown>>(table: string, query: Query) => Promise<T[]>;
123
- update: <T extends Record<string, unknown>>(table: string, query: Query, data: Partial<T>) => Promise<T>;
124
- delete: (table: string, query: Query) => Promise<void>;
125
- }
126
- ```
127
-
128
- ### Plugin System
129
-
130
- Plugins can extend the system's functionality:
131
-
132
- ```typescript
133
- interface C15TPlugin {
134
- id: string;
135
- name: string;
136
- type: string;
137
- init?: () => Promise<{ context: Record<string, unknown> }>;
138
- onRequest?: (request: Request, ctx: C15TContext) => Promise<{ request: Request } | { response: Response } | undefined>;
139
- onResponse?: (response: Response, ctx: C15TContext) => Promise<{ response: Response } | undefined>;
140
- }
141
- ```
142
-
143
- ## Error Handling
144
-
145
- The system uses a Result type for error handling:
146
-
147
- ```typescript
148
- type Result<T, E> = { isOk: true; value: T } | { isOk: false; error: E };
149
- ```
150
-
151
- ## Security Features
152
-
153
- - Origin validation for CORS
154
- - Request validation
155
- - Audit logging
156
- - Secure ID generation
157
- - Input sanitization
158
-
159
- ## 📜 License
160
-
161
- [GNU General Public License v3.0](https://github.com/c15t/c15t/blob/main/LICENSE.md) - See [LICENSE]([LICENSE.md](https://github.com/c15t/c15t/blob/main/LICENSE.md)) for details.
1
+ <p align="center">
2
+ <a href="https://c15t.com?utm_source=github&utm_medium=repopage_%40c15t%2Fbackend" target="_blank" rel="noopener noreferrer">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="../../docs/assets/c15t-banner-readme-dark.svg" type="image/svg+xml">
5
+ <img src="../../docs/assets/c15t-banner-readme-light.svg" alt="c15t Banner" type="image/svg+xml">
6
+ </picture>
7
+ </a>
8
+ <br />
9
+ <h1 align="center">@c15t/backend: Consent Management Backend</h1>
10
+ </p>
11
+
12
+ [![GitHub stars](https://img.shields.io/github/stars/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t)
13
+ [![CI](https://img.shields.io/github/actions/workflow/status/c15t/c15t/ci.yml?style=flat-square)](https://github.com/c15t/c15t/actions/workflows/ci.yml)
14
+ [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg?style=flat-square)](https://github.com/c15t/c15t/blob/main/LICENSE.md)
15
+ [![Discord](https://img.shields.io/discord/1312171102268690493?style=flat-square)](https://c15t.com/discord)
16
+ [![npm version](https://img.shields.io/npm/v/%40c15t%2Fbackend?style=flat-square)](https://www.npmjs.com/package/@c15t/backend)
17
+ [![Top Language](https://img.shields.io/github/languages/top/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t)
18
+ [![Last Commit](https://img.shields.io/github/last-commit/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t/commits/main)
19
+ [![Open Issues](https://img.shields.io/github/issues/c15t/c15t?style=flat-square)](https://github.com/c15t/c15t/issues)
20
+
21
+ Consent policy engine and API for c15t. Powers the cookie banner, consent manager, and preferences centre. Webhooks, audit logs, storage adapters. Self host or use consent.io
22
+
23
+ ## Key Features
24
+
25
+ - Consent Management: Track and manage user consent preferences
26
+ - Geo-Location: Identify user's location to show relevant consent preferences
27
+ - Server-Side Translation: Reduce banner bundle size by translating consent preferences on the server
28
+ - Audit Logging: Comprehensive logging of all consent-related actions
29
+ - Domain Management: Handle multiple domains and subdomains
30
+ - Policy Management: Version and manage consent policies
31
+
32
+ ## Prerequisites
33
+
34
+ - Node.js 18.17.0 or later
35
+ - npm, pnpm, or yarn package manager
36
+
37
+ ## Installation
38
+
39
+ Install the backend package using your preferred package manager
40
+ Configure your database adapter (supports Drizzle, Kysely, Prisma, TypeORM, and Mongo)
41
+
42
+ ## Usage
43
+
44
+ 1. Import the backend package in your project
45
+ 2. Configure your database connection
46
+ 3. Use the provided router and schema for consent management
47
+ 4. Implement consent tracking and management in your application
48
+
49
+ ## Documentation
50
+
51
+ For further information, guides, and examples visit the [reference documentation](https://c15t.com/docs/self-host/v2).
52
+
53
+ ## Support
54
+
55
+ - Join our [Discord community](https://c15t.com/discord)
56
+ - Open an issue on our [GitHub repository](https://github.com/c15t/c15t/issues)
57
+ - Visit [consent.io](https://consent.io) and use the chat widget
58
+ - Contact our support team via email [support@consent.io](mailto:support@consent.io)
59
+
60
+ ## Contributing
61
+
62
+ - We're open to all community contributions!
63
+ - Read our [Contribution Guidelines](https://c15t.com/docs/oss/contributing)
64
+ - Review our [Code of Conduct](https://c15t.com/docs/oss/code-of-conduct)
65
+ - Fork the repository
66
+ - Create a new branch for your feature
67
+ - Submit a pull request
68
+ - **All contributions, big or small, are welcome and appreciated!**
69
+
70
+ ## Security
71
+
72
+ If you believe you have found a security vulnerability in c15t, we encourage you to **_responsibly disclose this and NOT open a public issue_**. We will investigate all legitimate reports.
73
+
74
+ Our preference is that you make use of GitHub's private vulnerability reporting feature to disclose potential security vulnerabilities in our Open Source Software. To do this, please visit [https://github.com/c15t/c15t/security](https://github.com/c15t/c15t/security) and click the "Report a vulnerability" button.
75
+
76
+ ### Security Policy
77
+
78
+ - Please do not share security vulnerabilities in public forums, issues, or pull requests
79
+ - Provide detailed information about the potential vulnerability
80
+ - Allow reasonable time for us to address the issue before any public disclosure
81
+ - We are committed to addressing security concerns promptly and transparently
82
+
83
+ ## License
84
+
85
+ [GNU General Public License v3.0](https://github.com/c15t/c15t/blob/main/LICENSE.md)
162
86
 
163
87
  ---
164
88
 
165
- <div align="center">
166
- <strong>Built with ❤️ by the <a href="www.consent.io"/>consent.io</a> team</strong>
167
- </div>
89
+ **Built with ❤️ by the [consent.io](https://www.consent.io?utm_source=github&utm_medium=repopage_%40c15t%2Fbackend) team**