@c15t/backend 2.0.0-rc.0 → 2.0.0-rc.10

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 (336) hide show
  1. package/README.md +3 -3
  2. package/dist/302.js +473 -0
  3. package/dist/583.js +540 -0
  4. package/dist/915.js +1771 -0
  5. package/dist/cache.cjs +5 -5
  6. package/dist/cache.js +4 -415
  7. package/dist/core.cjs +1356 -120
  8. package/dist/core.js +163 -1981
  9. package/dist/db/adapters/drizzle.cjs +1 -1
  10. package/dist/db/adapters/drizzle.js +1 -2
  11. package/dist/db/adapters/kysely.cjs +1 -1
  12. package/dist/db/adapters/kysely.js +1 -2
  13. package/dist/db/adapters/mongo.cjs +1 -1
  14. package/dist/db/adapters/mongo.js +1 -2
  15. package/dist/db/adapters/prisma.cjs +1 -1
  16. package/dist/db/adapters/prisma.js +1 -2
  17. package/dist/db/adapters/typeorm.cjs +1 -1
  18. package/dist/db/adapters/typeorm.js +1 -2
  19. package/dist/db/adapters.cjs +1 -1
  20. package/dist/db/migrator.cjs +1 -1
  21. package/dist/db/schema.cjs +43 -3
  22. package/dist/db/schema.js +35 -4
  23. package/dist/define-config.cjs +1 -1
  24. package/dist/edge.cjs +1106 -0
  25. package/dist/edge.js +190 -0
  26. package/dist/router.cjs +885 -123
  27. package/dist/router.js +1 -1507
  28. package/dist/{types.cjs → types/index.cjs} +1 -1
  29. package/{dist → dist-types}/cache/adapters/cloudflare-kv.d.ts +0 -1
  30. package/{dist → dist-types}/cache/adapters/index.d.ts +0 -1
  31. package/{dist → dist-types}/cache/adapters/memory.d.ts +0 -1
  32. package/{dist → dist-types}/cache/adapters/upstash-redis.d.ts +0 -1
  33. package/{dist → dist-types}/cache/gvl-resolver.d.ts +0 -1
  34. package/{dist → dist-types}/cache/index.d.ts +0 -1
  35. package/{dist → dist-types}/cache/keys.d.ts +0 -1
  36. package/{dist → dist-types}/cache/types.d.ts +0 -1
  37. package/{dist → dist-types}/core.d.ts +8 -1
  38. package/{dist → dist-types}/db/migrator/index.d.ts +0 -1
  39. package/dist-types/db/registry/consent-policy.d.ts +78 -0
  40. package/{dist → dist-types}/db/registry/consent-purpose.d.ts +0 -1
  41. package/{dist → dist-types}/db/registry/domain.d.ts +0 -1
  42. package/dist-types/db/registry/index.d.ts +118 -0
  43. package/dist-types/db/registry/runtime-policy-decision.d.ts +60 -0
  44. package/{dist → dist-types}/db/registry/subject.d.ts +0 -2
  45. package/{dist → dist-types}/db/registry/types.d.ts +1 -1
  46. package/{dist → dist-types}/db/registry/utils/generate-id.d.ts +0 -1
  47. package/{dist → dist-types}/db/registry/utils.d.ts +0 -1
  48. package/{dist → dist-types}/db/schema/1.0.0/audit-log.d.ts +0 -1
  49. package/{dist → dist-types}/db/schema/1.0.0/consent-policy.d.ts +0 -1
  50. package/{dist → dist-types}/db/schema/1.0.0/consent-purpose.d.ts +0 -1
  51. package/{dist → dist-types}/db/schema/1.0.0/consent-record.d.ts +0 -1
  52. package/{dist → dist-types}/db/schema/1.0.0/consent.d.ts +1 -2
  53. package/{dist → dist-types}/db/schema/1.0.0/domain.d.ts +0 -1
  54. package/{dist → dist-types}/db/schema/1.0.0/index.d.ts +0 -32
  55. package/{dist → dist-types}/db/schema/1.0.0/subject.d.ts +0 -2
  56. package/{dist → dist-types}/db/schema/2.0.0/audit-log.d.ts +1 -2
  57. package/{dist → dist-types}/db/schema/2.0.0/consent-policy.d.ts +3 -3
  58. package/{dist → dist-types}/db/schema/2.0.0/consent-purpose.d.ts +1 -2
  59. package/{dist → dist-types}/db/schema/2.0.0/consent.d.ts +7 -2
  60. package/{dist → dist-types}/db/schema/2.0.0/domain.d.ts +1 -2
  61. package/{dist → dist-types}/db/schema/2.0.0/index.d.ts +455 -28
  62. package/dist-types/db/schema/2.0.0/runtime-policy-decision.d.ts +23 -0
  63. package/{dist → dist-types}/db/schema/2.0.0/subject.d.ts +1 -3
  64. package/{dist → dist-types}/db/schema/index.d.ts +908 -86
  65. package/{dist → dist-types}/db/tenant-scope.d.ts +0 -1
  66. package/dist-types/define-config.d.ts +17 -0
  67. package/dist-types/edge/index.d.ts +5 -0
  68. package/dist-types/edge/init-handler.d.ts +40 -0
  69. package/dist-types/edge/resolve-consent.d.ts +80 -0
  70. package/dist-types/edge/types.d.ts +13 -0
  71. package/{dist → dist-types}/handlers/consent/check.handler.d.ts +0 -1
  72. package/{src/handlers/consent/index.ts → dist-types/handlers/consent/index.d.ts} +0 -1
  73. package/{dist → dist-types}/handlers/init/geo.d.ts +2 -3
  74. package/{dist → dist-types}/handlers/init/index.d.ts +2 -3
  75. package/dist-types/handlers/init/policy.d.ts +26 -0
  76. package/dist-types/handlers/init/resolve-init.d.ts +44 -0
  77. package/dist-types/handlers/init/translations.d.ts +48 -0
  78. package/dist-types/handlers/legal-document/current.handler.d.ts +11 -0
  79. package/dist-types/handlers/legal-document/snapshot.d.ts +39 -0
  80. package/dist-types/handlers/policy/snapshot.d.ts +99 -0
  81. package/{src/handlers/status/index.ts → dist-types/handlers/status/index.d.ts} +0 -1
  82. package/{dist → dist-types}/handlers/status/status.handler.d.ts +0 -1
  83. package/{dist → dist-types}/handlers/subject/get.handler.d.ts +3 -2
  84. package/{src/handlers/subject/index.ts → dist-types/handlers/subject/index.d.ts} +0 -1
  85. package/{dist → dist-types}/handlers/subject/list.handler.d.ts +3 -2
  86. package/{dist → dist-types}/handlers/subject/patch.handler.d.ts +0 -2
  87. package/{dist → dist-types}/handlers/subject/post.handler.d.ts +12 -1
  88. package/{dist → dist-types}/handlers/utils/consent-enrichment.d.ts +3 -1
  89. package/{dist → dist-types}/init.d.ts +4 -7
  90. package/{dist → dist-types}/middleware/auth/index.d.ts +0 -1
  91. package/{dist → dist-types}/middleware/auth/validate-api-key.d.ts +0 -1
  92. package/{dist → dist-types}/middleware/cors/cors.d.ts +0 -1
  93. package/{src/middleware/cors/index.ts → dist-types/middleware/cors/index.d.ts} +0 -1
  94. package/{dist → dist-types}/middleware/cors/is-origin-trusted.d.ts +0 -1
  95. package/{dist → dist-types}/middleware/cors/process-cors.d.ts +0 -1
  96. package/{dist → dist-types}/middleware/openapi/config.d.ts +0 -1
  97. package/{dist → dist-types}/middleware/openapi/handlers.d.ts +0 -1
  98. package/{src/middleware/openapi/index.ts → dist-types/middleware/openapi/index.d.ts} +0 -1
  99. package/{dist → dist-types}/middleware/process-ip/index.d.ts +0 -1
  100. package/dist-types/policies/builder.d.ts +127 -0
  101. package/dist-types/policies/defaults.d.ts +2 -0
  102. package/dist-types/policies/matchers.d.ts +3 -0
  103. package/{dist → dist-types}/router.d.ts +0 -1
  104. package/{dist → dist-types}/routes/consent.d.ts +0 -1
  105. package/{dist → dist-types}/routes/index.d.ts +1 -1
  106. package/{dist → dist-types}/routes/init.d.ts +0 -1
  107. package/dist-types/routes/legal-document.d.ts +7 -0
  108. package/{dist → dist-types}/routes/status.d.ts +0 -1
  109. package/{dist → dist-types}/routes/subject.d.ts +0 -1
  110. package/{dist → dist-types}/types/api.d.ts +0 -1
  111. package/dist-types/types/index.d.ts +464 -0
  112. package/dist-types/utils/background.d.ts +6 -0
  113. package/{dist → dist-types}/utils/create-telemetry-options.d.ts +1 -2
  114. package/{dist → dist-types}/utils/env.d.ts +0 -1
  115. package/{dist → dist-types}/utils/extract-error-message.d.ts +0 -1
  116. package/{dist → dist-types}/utils/instrumentation.d.ts +2 -3
  117. package/{dist → dist-types}/utils/logger.d.ts +0 -1
  118. package/{dist → dist-types}/utils/metrics.d.ts +0 -1
  119. package/dist-types/version.d.ts +1 -0
  120. package/docs/README.md +49 -0
  121. package/docs/api/configuration.md +208 -0
  122. package/docs/api/endpoints.md +211 -0
  123. package/docs/guides/caching.md +85 -0
  124. package/docs/guides/database-setup.md +128 -0
  125. package/docs/guides/edge-deployment.md +251 -0
  126. package/docs/guides/framework-integration.md +142 -0
  127. package/docs/guides/iab-tcf.md +89 -0
  128. package/docs/guides/observability.md +96 -0
  129. package/docs/guides/policy-packs.md +396 -0
  130. package/docs/quickstart.md +129 -0
  131. package/package.json +53 -39
  132. package/.turbo/turbo-build.log +0 -49
  133. package/CHANGELOG.md +0 -89
  134. package/dist/cache/adapters/cloudflare-kv.d.ts.map +0 -1
  135. package/dist/cache/adapters/index.d.ts.map +0 -1
  136. package/dist/cache/adapters/memory.d.ts.map +0 -1
  137. package/dist/cache/adapters/upstash-redis.d.ts.map +0 -1
  138. package/dist/cache/gvl-resolver.d.ts.map +0 -1
  139. package/dist/cache/index.d.ts.map +0 -1
  140. package/dist/cache/keys.d.ts.map +0 -1
  141. package/dist/cache/types.d.ts.map +0 -1
  142. package/dist/core.d.ts.map +0 -1
  143. package/dist/db/adapters/drizzle.d.ts +0 -2
  144. package/dist/db/adapters/drizzle.d.ts.map +0 -1
  145. package/dist/db/adapters/index.d.ts +0 -2
  146. package/dist/db/adapters/index.d.ts.map +0 -1
  147. package/dist/db/adapters/kysely.d.ts +0 -2
  148. package/dist/db/adapters/kysely.d.ts.map +0 -1
  149. package/dist/db/adapters/mongo.d.ts +0 -2
  150. package/dist/db/adapters/mongo.d.ts.map +0 -1
  151. package/dist/db/adapters/prisma.d.ts +0 -2
  152. package/dist/db/adapters/prisma.d.ts.map +0 -1
  153. package/dist/db/adapters/typeorm.d.ts +0 -2
  154. package/dist/db/adapters/typeorm.d.ts.map +0 -1
  155. package/dist/db/migrator/index.d.ts.map +0 -1
  156. package/dist/db/registry/consent-policy.d.ts +0 -23
  157. package/dist/db/registry/consent-policy.d.ts.map +0 -1
  158. package/dist/db/registry/consent-purpose.d.ts.map +0 -1
  159. package/dist/db/registry/domain.d.ts.map +0 -1
  160. package/dist/db/registry/index.d.ts +0 -57
  161. package/dist/db/registry/index.d.ts.map +0 -1
  162. package/dist/db/registry/subject.d.ts.map +0 -1
  163. package/dist/db/registry/types.d.ts.map +0 -1
  164. package/dist/db/registry/utils/generate-id.d.ts.map +0 -1
  165. package/dist/db/registry/utils.d.ts.map +0 -1
  166. package/dist/db/schema/1.0.0/audit-log.d.ts.map +0 -1
  167. package/dist/db/schema/1.0.0/consent-policy.d.ts.map +0 -1
  168. package/dist/db/schema/1.0.0/consent-purpose.d.ts.map +0 -1
  169. package/dist/db/schema/1.0.0/consent-record.d.ts.map +0 -1
  170. package/dist/db/schema/1.0.0/consent.d.ts.map +0 -1
  171. package/dist/db/schema/1.0.0/domain.d.ts.map +0 -1
  172. package/dist/db/schema/1.0.0/index.d.ts.map +0 -1
  173. package/dist/db/schema/1.0.0/subject.d.ts.map +0 -1
  174. package/dist/db/schema/2.0.0/audit-log.d.ts.map +0 -1
  175. package/dist/db/schema/2.0.0/consent-policy.d.ts.map +0 -1
  176. package/dist/db/schema/2.0.0/consent-purpose.d.ts.map +0 -1
  177. package/dist/db/schema/2.0.0/consent.d.ts.map +0 -1
  178. package/dist/db/schema/2.0.0/domain.d.ts.map +0 -1
  179. package/dist/db/schema/2.0.0/index.d.ts.map +0 -1
  180. package/dist/db/schema/2.0.0/subject.d.ts.map +0 -1
  181. package/dist/db/schema/index.d.ts.map +0 -1
  182. package/dist/db/tenant-scope.d.ts.map +0 -1
  183. package/dist/define-config.d.ts +0 -5
  184. package/dist/define-config.d.ts.map +0 -1
  185. package/dist/handlers/consent/check.handler.d.ts.map +0 -1
  186. package/dist/handlers/consent/index.d.ts +0 -12
  187. package/dist/handlers/consent/index.d.ts.map +0 -1
  188. package/dist/handlers/init/geo.d.ts.map +0 -1
  189. package/dist/handlers/init/index.d.ts.map +0 -1
  190. package/dist/handlers/init/translations.d.ts +0 -28
  191. package/dist/handlers/init/translations.d.ts.map +0 -1
  192. package/dist/handlers/status/index.d.ts +0 -7
  193. package/dist/handlers/status/index.d.ts.map +0 -1
  194. package/dist/handlers/status/status.handler.d.ts.map +0 -1
  195. package/dist/handlers/subject/get.handler.d.ts.map +0 -1
  196. package/dist/handlers/subject/index.d.ts +0 -10
  197. package/dist/handlers/subject/index.d.ts.map +0 -1
  198. package/dist/handlers/subject/list.handler.d.ts.map +0 -1
  199. package/dist/handlers/subject/patch.handler.d.ts.map +0 -1
  200. package/dist/handlers/subject/post.handler.d.ts.map +0 -1
  201. package/dist/handlers/utils/consent-enrichment.d.ts.map +0 -1
  202. package/dist/init.d.ts.map +0 -1
  203. package/dist/middleware/auth/index.d.ts.map +0 -1
  204. package/dist/middleware/auth/validate-api-key.d.ts.map +0 -1
  205. package/dist/middleware/cors/cors.d.ts.map +0 -1
  206. package/dist/middleware/cors/index.d.ts +0 -30
  207. package/dist/middleware/cors/index.d.ts.map +0 -1
  208. package/dist/middleware/cors/is-origin-trusted.d.ts.map +0 -1
  209. package/dist/middleware/cors/process-cors.d.ts.map +0 -1
  210. package/dist/middleware/openapi/config.d.ts.map +0 -1
  211. package/dist/middleware/openapi/handlers.d.ts.map +0 -1
  212. package/dist/middleware/openapi/index.d.ts +0 -12
  213. package/dist/middleware/openapi/index.d.ts.map +0 -1
  214. package/dist/middleware/process-ip/index.d.ts.map +0 -1
  215. package/dist/router.d.ts.map +0 -1
  216. package/dist/routes/consent.d.ts.map +0 -1
  217. package/dist/routes/index.d.ts.map +0 -1
  218. package/dist/routes/init.d.ts.map +0 -1
  219. package/dist/routes/status.d.ts.map +0 -1
  220. package/dist/routes/subject.d.ts.map +0 -1
  221. package/dist/types/api.d.ts.map +0 -1
  222. package/dist/types/index.d.ts +0 -255
  223. package/dist/types/index.d.ts.map +0 -1
  224. package/dist/utils/create-telemetry-options.d.ts.map +0 -1
  225. package/dist/utils/env.d.ts.map +0 -1
  226. package/dist/utils/extract-error-message.d.ts.map +0 -1
  227. package/dist/utils/index.d.ts +0 -4
  228. package/dist/utils/index.d.ts.map +0 -1
  229. package/dist/utils/instrumentation.d.ts.map +0 -1
  230. package/dist/utils/logger.d.ts.map +0 -1
  231. package/dist/utils/metrics.d.ts.map +0 -1
  232. package/dist/version.d.ts +0 -2
  233. package/dist/version.d.ts.map +0 -1
  234. package/knip.json +0 -31
  235. package/rslib.config.ts +0 -93
  236. package/src/cache/adapters/cloudflare-kv.ts +0 -71
  237. package/src/cache/adapters/index.ts +0 -22
  238. package/src/cache/adapters/memory.ts +0 -111
  239. package/src/cache/adapters/upstash-redis.ts +0 -113
  240. package/src/cache/gvl-resolver.ts +0 -289
  241. package/src/cache/index.ts +0 -34
  242. package/src/cache/keys.ts +0 -68
  243. package/src/cache/types.ts +0 -66
  244. package/src/core.ts +0 -368
  245. package/src/db/migrator/index.ts +0 -80
  246. package/src/db/registry/consent-policy.test.ts +0 -451
  247. package/src/db/registry/consent-policy.ts +0 -82
  248. package/src/db/registry/consent-purpose.test.ts +0 -428
  249. package/src/db/registry/consent-purpose.ts +0 -61
  250. package/src/db/registry/domain.test.ts +0 -445
  251. package/src/db/registry/domain.ts +0 -91
  252. package/src/db/registry/index.ts +0 -14
  253. package/src/db/registry/subject.test.ts +0 -388
  254. package/src/db/registry/subject.ts +0 -129
  255. package/src/db/registry/types.ts +0 -10
  256. package/src/db/registry/utils/generate-id.test.ts +0 -216
  257. package/src/db/registry/utils/generate-id.ts +0 -133
  258. package/src/db/registry/utils.ts +0 -133
  259. package/src/db/schema/1.0.0/audit-log.ts +0 -15
  260. package/src/db/schema/1.0.0/consent-policy.ts +0 -14
  261. package/src/db/schema/1.0.0/consent-purpose.ts +0 -14
  262. package/src/db/schema/1.0.0/consent-record.ts +0 -10
  263. package/src/db/schema/1.0.0/consent.ts +0 -20
  264. package/src/db/schema/1.0.0/domain.ts +0 -12
  265. package/src/db/schema/1.0.0/index.ts +0 -48
  266. package/src/db/schema/1.0.0/subject.ts +0 -12
  267. package/src/db/schema/2.0.0/audit-log.ts +0 -18
  268. package/src/db/schema/2.0.0/consent-policy.ts +0 -28
  269. package/src/db/schema/2.0.0/consent-purpose.ts +0 -12
  270. package/src/db/schema/2.0.0/consent.ts +0 -26
  271. package/src/db/schema/2.0.0/domain.ts +0 -12
  272. package/src/db/schema/2.0.0/index.ts +0 -47
  273. package/src/db/schema/2.0.0/subject.ts +0 -14
  274. package/src/db/schema/index.ts +0 -15
  275. package/src/db/tenant-scope.test.ts +0 -750
  276. package/src/db/tenant-scope.ts +0 -103
  277. package/src/define-config.ts +0 -5
  278. package/src/handlers/consent/check.handler.ts +0 -126
  279. package/src/handlers/init/geo.test.ts +0 -317
  280. package/src/handlers/init/geo.ts +0 -195
  281. package/src/handlers/init/index.test.ts +0 -205
  282. package/src/handlers/init/index.ts +0 -114
  283. package/src/handlers/init/translations.test.ts +0 -121
  284. package/src/handlers/init/translations.ts +0 -72
  285. package/src/handlers/status/status.handler.test.ts +0 -155
  286. package/src/handlers/status/status.handler.ts +0 -51
  287. package/src/handlers/subject/get.handler.ts +0 -93
  288. package/src/handlers/subject/list.handler.ts +0 -93
  289. package/src/handlers/subject/patch.handler.ts +0 -122
  290. package/src/handlers/subject/post.handler.test.ts +0 -294
  291. package/src/handlers/subject/post.handler.ts +0 -254
  292. package/src/handlers/utils/consent-enrichment.test.ts +0 -380
  293. package/src/handlers/utils/consent-enrichment.ts +0 -218
  294. package/src/init.test.ts +0 -126
  295. package/src/init.ts +0 -87
  296. package/src/middleware/auth/index.ts +0 -11
  297. package/src/middleware/auth/validate-api-key.test.ts +0 -86
  298. package/src/middleware/auth/validate-api-key.ts +0 -107
  299. package/src/middleware/cors/cors.test.ts +0 -135
  300. package/src/middleware/cors/cors.ts +0 -186
  301. package/src/middleware/cors/is-origin-trusted.test.ts +0 -164
  302. package/src/middleware/cors/is-origin-trusted.ts +0 -130
  303. package/src/middleware/cors/process-cors.ts +0 -91
  304. package/src/middleware/openapi/config.ts +0 -29
  305. package/src/middleware/openapi/handlers.ts +0 -34
  306. package/src/middleware/process-ip/index.test.ts +0 -195
  307. package/src/middleware/process-ip/index.ts +0 -199
  308. package/src/router.ts +0 -15
  309. package/src/routes/consent.ts +0 -52
  310. package/src/routes/index.ts +0 -10
  311. package/src/routes/init.ts +0 -102
  312. package/src/routes/status.ts +0 -46
  313. package/src/routes/subject.ts +0 -152
  314. package/src/types/api.ts +0 -48
  315. package/src/types/index.ts +0 -288
  316. package/src/utils/create-telemetry-options.test.ts +0 -302
  317. package/src/utils/create-telemetry-options.ts +0 -229
  318. package/src/utils/env.ts +0 -84
  319. package/src/utils/extract-error-message.ts +0 -21
  320. package/src/utils/instrumentation.test.ts +0 -185
  321. package/src/utils/instrumentation.ts +0 -196
  322. package/src/utils/logger.ts +0 -41
  323. package/src/utils/metrics.test.ts +0 -323
  324. package/src/utils/metrics.ts +0 -402
  325. package/src/utils/telemetry-pii.test.ts +0 -325
  326. package/src/version.ts +0 -2
  327. package/tsconfig.json +0 -11
  328. package/vitest.config.ts +0 -28
  329. /package/dist/{types.js → types/index.js} +0 -0
  330. /package/{src/db/adapters/drizzle.ts → dist-types/db/adapters/drizzle.d.ts} +0 -0
  331. /package/{src/db/adapters/index.ts → dist-types/db/adapters/index.d.ts} +0 -0
  332. /package/{src/db/adapters/kysely.ts → dist-types/db/adapters/kysely.d.ts} +0 -0
  333. /package/{src/db/adapters/mongo.ts → dist-types/db/adapters/mongo.d.ts} +0 -0
  334. /package/{src/db/adapters/prisma.ts → dist-types/db/adapters/prisma.d.ts} +0 -0
  335. /package/{src/db/adapters/typeorm.ts → dist-types/db/adapters/typeorm.d.ts} +0 -0
  336. /package/{src/utils/index.ts → dist-types/utils/index.d.ts} +0 -0
@@ -13,7 +13,7 @@ var __webpack_require__ = {};
13
13
  })();
14
14
  (()=>{
15
15
  __webpack_require__.r = (exports1)=>{
16
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
17
  value: 'Module'
18
18
  });
19
19
  Object.defineProperty(exports1, '__esModule', {
@@ -43,4 +43,3 @@ export interface KVNamespace {
43
43
  * @public
44
44
  */
45
45
  export declare function createCloudflareKVAdapter(kv: KVNamespace): CacheAdapter;
46
- //# sourceMappingURL=cloudflare-kv.d.ts.map
@@ -8,4 +8,3 @@
8
8
  export { createCloudflareKVAdapter, type KVNamespace, } from './cloudflare-kv';
9
9
  export { clearMemoryCache, createMemoryCacheAdapter, getMemoryCacheSize, } from './memory';
10
10
  export { createUpstashRedisAdapter, createUpstashRedisAdapterFromClient, type UpstashRedisAdapterOptions, } from './upstash-redis';
11
- //# sourceMappingURL=index.d.ts.map
@@ -44,4 +44,3 @@ export declare function clearMemoryCache(): void;
44
44
  * @public
45
45
  */
46
46
  export declare function getMemoryCacheSize(): number;
47
- //# sourceMappingURL=memory.d.ts.map
@@ -72,4 +72,3 @@ export declare function createUpstashRedisAdapter(options: UpstashRedisAdapterOp
72
72
  * @public
73
73
  */
74
74
  export declare function createUpstashRedisAdapterFromClient(client: Redis): CacheAdapter;
75
- //# sourceMappingURL=upstash-redis.d.ts.map
@@ -83,4 +83,3 @@ export interface GVLResolver {
83
83
  * @public
84
84
  */
85
85
  export declare function createGVLResolver(options: GVLResolverOptions): GVLResolver;
86
- //# sourceMappingURL=gvl-resolver.d.ts.map
@@ -10,4 +10,3 @@ export { createGVLResolver, type GVLResolver, type GVLResolverOptions, } from '.
10
10
  export { createCacheKey, createGVLCacheKey } from './keys';
11
11
  export type { CacheAdapter } from './types';
12
12
  export { GVL_TTL_MS, MEMORY_TTL_MS } from './types';
13
- //# sourceMappingURL=index.d.ts.map
@@ -48,4 +48,3 @@ export declare function createGVLCacheKey(appName: string, language: string, ven
48
48
  * @public
49
49
  */
50
50
  export declare function createCacheKey(appName: string, namespace: string, ...parts: (string | number)[]): string;
51
- //# sourceMappingURL=keys.d.ts.map
@@ -58,4 +58,3 @@ export declare const GVL_TTL_MS: number;
58
58
  * @public
59
59
  */
60
60
  export declare const MEMORY_TTL_MS: number;
61
- //# sourceMappingURL=types.d.ts.map
@@ -74,6 +74,13 @@ export interface C15TInstance {
74
74
  */
75
75
  export declare const c15tInstance: (options: C15TOptions) => C15TInstance;
76
76
  export { defineConfig } from './define-config';
77
+ export type { PolicyValidationResult } from './handlers/init/policy';
78
+ export { inspectPolicies } from './handlers/init/policy';
79
+ export type { PolicyBuilderInput } from './policies/builder';
80
+ export { policyBuilder } from './policies/builder';
81
+ export type { EuropePolicyMode, PolicyPackPresets, } from './policies/defaults';
82
+ export { policyPackPresets } from './policies/defaults';
83
+ export type { PolicyMatch } from './policies/matchers';
84
+ export { EEA_COUNTRY_CODES, EU_COUNTRY_CODES, POLICY_MATCH_DATASET_VERSION, policyMatchers, UK_COUNTRY_CODES, } from './policies/matchers';
77
85
  export type { C15TContext, C15TOptions } from './types';
78
86
  export { version } from './version';
79
- //# sourceMappingURL=core.d.ts.map
@@ -26,4 +26,3 @@ interface BaseOptions {
26
26
  */
27
27
  export declare function migrator(options: BaseOptions): Promise<MigrationResult | ORMResult>;
28
28
  export {};
29
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,78 @@
1
+ import type { LegalDocumentPolicyType, PolicyType } from '../schema';
2
+ import type { Registry } from './types';
3
+ export interface LegalDocumentPolicyInput {
4
+ type: LegalDocumentPolicyType;
5
+ version: string;
6
+ hash: string;
7
+ effectiveDate: Date;
8
+ }
9
+ export declare class LegalDocumentPolicyConflictError extends Error {
10
+ constructor(message: string);
11
+ }
12
+ export declare function buildLegalDocumentPolicyId(input: {
13
+ tenantId?: string;
14
+ type: LegalDocumentPolicyType;
15
+ hash: string;
16
+ }): Promise<string>;
17
+ export declare function policyRegistry({ db, ctx }: Registry): {
18
+ findConsentPolicyById: (policyId: string) => Promise<{
19
+ id: string;
20
+ version: string;
21
+ type: string;
22
+ hash: string | null;
23
+ effectiveDate: Date;
24
+ isActive: boolean;
25
+ createdAt: Date;
26
+ tenantId: string | null;
27
+ } | null>;
28
+ findLatestPolicyByType: (type: PolicyType) => Promise<{
29
+ id: string;
30
+ version: string;
31
+ type: string;
32
+ hash: string | null;
33
+ effectiveDate: Date;
34
+ isActive: boolean;
35
+ createdAt: Date;
36
+ tenantId: string | null;
37
+ } | null>;
38
+ findLegalDocumentPolicyByHash: (type: LegalDocumentPolicyType, hash: string) => Promise<{
39
+ id: string;
40
+ version: string;
41
+ type: string;
42
+ hash: string | null;
43
+ effectiveDate: Date;
44
+ isActive: boolean;
45
+ createdAt: Date;
46
+ tenantId: string | null;
47
+ } | null>;
48
+ syncCurrentLegalDocumentPolicy: (input: LegalDocumentPolicyInput) => Promise<{
49
+ id: string;
50
+ version: string;
51
+ type: string;
52
+ hash: string | null;
53
+ effectiveDate: Date;
54
+ isActive: boolean;
55
+ createdAt: Date;
56
+ tenantId: string | null;
57
+ }>;
58
+ findOrCreateLegalDocumentPolicy: (input: LegalDocumentPolicyInput) => Promise<{
59
+ id: string;
60
+ version: string;
61
+ type: string;
62
+ hash: string | null;
63
+ effectiveDate: Date;
64
+ isActive: boolean;
65
+ createdAt: Date;
66
+ tenantId: string | null;
67
+ }>;
68
+ findOrCreatePolicy: (type: PolicyType) => Promise<{
69
+ id: string;
70
+ version: string;
71
+ type: string;
72
+ hash: string | null;
73
+ effectiveDate: Date;
74
+ isActive: boolean;
75
+ createdAt: Date;
76
+ tenantId: string | null;
77
+ }>;
78
+ };
@@ -8,4 +8,3 @@ export declare function consentPurposeRegistry({ db, ctx }: Registry): {
8
8
  tenantId: string | null;
9
9
  }>;
10
10
  };
11
- //# sourceMappingURL=consent-purpose.d.ts.map
@@ -15,4 +15,3 @@ export declare function domainRegistry({ db, ctx }: Registry): {
15
15
  tenantId: string | null;
16
16
  }>;
17
17
  };
18
- //# sourceMappingURL=domain.d.ts.map
@@ -0,0 +1,118 @@
1
+ import type { Registry } from './types';
2
+ export declare const createRegistry: (ctx: Registry) => {
3
+ findOrCreateRuntimePolicyDecision: (input: import("./runtime-policy-decision").RuntimePolicyDecisionInput) => Promise<{
4
+ id: string;
5
+ tenantId: string | null;
6
+ policyId: string;
7
+ fingerprint: string;
8
+ matchedBy: string;
9
+ countryCode: string | null;
10
+ regionCode: string | null;
11
+ jurisdiction: string;
12
+ language: string | null;
13
+ model: string;
14
+ policyI18n: unknown;
15
+ uiMode: string | null;
16
+ bannerUi: unknown;
17
+ dialogUi: unknown;
18
+ categories: unknown;
19
+ preselectedCategories: unknown;
20
+ proofConfig: unknown;
21
+ dedupeKey: string;
22
+ createdAt: Date;
23
+ }>;
24
+ findDomainByName: (name: string) => Promise<{
25
+ id: string;
26
+ name: string;
27
+ createdAt: Date;
28
+ updatedAt: Date;
29
+ tenantId: string | null;
30
+ } | null>;
31
+ findOrCreateDomain: (name: string) => Promise<{
32
+ id: string;
33
+ name: string;
34
+ createdAt: Date;
35
+ updatedAt: Date;
36
+ tenantId: string | null;
37
+ }>;
38
+ findConsentPolicyById: (policyId: string) => Promise<{
39
+ id: string;
40
+ version: string;
41
+ type: string;
42
+ hash: string | null;
43
+ effectiveDate: Date;
44
+ isActive: boolean;
45
+ createdAt: Date;
46
+ tenantId: string | null;
47
+ } | null>;
48
+ findLatestPolicyByType: (type: import("@c15t/schema").PolicyType) => Promise<{
49
+ id: string;
50
+ version: string;
51
+ type: string;
52
+ hash: string | null;
53
+ effectiveDate: Date;
54
+ isActive: boolean;
55
+ createdAt: Date;
56
+ tenantId: string | null;
57
+ } | null>;
58
+ findLegalDocumentPolicyByHash: (type: import("@c15t/schema").LegalDocumentPolicyType, hash: string) => Promise<{
59
+ id: string;
60
+ version: string;
61
+ type: string;
62
+ hash: string | null;
63
+ effectiveDate: Date;
64
+ isActive: boolean;
65
+ createdAt: Date;
66
+ tenantId: string | null;
67
+ } | null>;
68
+ syncCurrentLegalDocumentPolicy: (input: import("./consent-policy").LegalDocumentPolicyInput) => Promise<{
69
+ id: string;
70
+ version: string;
71
+ type: string;
72
+ hash: string | null;
73
+ effectiveDate: Date;
74
+ isActive: boolean;
75
+ createdAt: Date;
76
+ tenantId: string | null;
77
+ }>;
78
+ findOrCreateLegalDocumentPolicy: (input: import("./consent-policy").LegalDocumentPolicyInput) => Promise<{
79
+ id: string;
80
+ version: string;
81
+ type: string;
82
+ hash: string | null;
83
+ effectiveDate: Date;
84
+ isActive: boolean;
85
+ createdAt: Date;
86
+ tenantId: string | null;
87
+ }>;
88
+ findOrCreatePolicy: (type: import("@c15t/schema").PolicyType) => Promise<{
89
+ id: string;
90
+ version: string;
91
+ type: string;
92
+ hash: string | null;
93
+ effectiveDate: Date;
94
+ isActive: boolean;
95
+ createdAt: Date;
96
+ tenantId: string | null;
97
+ }>;
98
+ findOrCreateConsentPurposeByCode: (code: string) => Promise<{
99
+ id: string;
100
+ code: string;
101
+ createdAt: Date;
102
+ updatedAt: Date;
103
+ tenantId: string | null;
104
+ }>;
105
+ findOrCreateSubject: ({ subjectId, externalSubjectId, identityProvider, ipAddress, }: {
106
+ subjectId?: string;
107
+ externalSubjectId?: string;
108
+ identityProvider?: string;
109
+ ipAddress?: string | null;
110
+ }) => Promise<{
111
+ id: string;
112
+ externalId: string | null;
113
+ identityProvider: string | null;
114
+ createdAt: Date;
115
+ updatedAt: Date;
116
+ tenantId: string | null;
117
+ }>;
118
+ };
@@ -0,0 +1,60 @@
1
+ import type { PolicyModel } from '../../types';
2
+ import type { Registry } from './types';
3
+ interface RuntimePolicyDecisionUiSurface {
4
+ allowedActions?: Array<'accept' | 'reject' | 'customize'>;
5
+ primaryActions?: Array<'accept' | 'reject' | 'customize'>;
6
+ layout?: Array<'accept' | 'reject' | 'customize' | Array<'accept' | 'reject' | 'customize'>>;
7
+ direction?: 'row' | 'column';
8
+ uiProfile?: 'balanced' | 'compact' | 'strict';
9
+ scrollLock?: boolean;
10
+ }
11
+ export interface RuntimePolicyDecisionInput {
12
+ tenantId?: string;
13
+ policyId: string;
14
+ fingerprint: string;
15
+ matchedBy: 'region' | 'country' | 'default';
16
+ countryCode: string | null;
17
+ regionCode: string | null;
18
+ jurisdiction: string;
19
+ language?: string;
20
+ model: PolicyModel;
21
+ policyI18n?: {
22
+ language?: string;
23
+ messageProfile?: string;
24
+ };
25
+ uiMode?: 'none' | 'banner' | 'dialog';
26
+ bannerUi?: RuntimePolicyDecisionUiSurface;
27
+ dialogUi?: RuntimePolicyDecisionUiSurface;
28
+ categories?: string[];
29
+ preselectedCategories?: string[];
30
+ proofConfig?: {
31
+ storeIp?: boolean;
32
+ storeUserAgent?: boolean;
33
+ storeLanguage?: boolean;
34
+ };
35
+ dedupeKey: string;
36
+ }
37
+ export declare function runtimePolicyDecisionRegistry({ db, ctx }: Registry): {
38
+ findOrCreateRuntimePolicyDecision: (input: RuntimePolicyDecisionInput) => Promise<{
39
+ id: string;
40
+ tenantId: string | null;
41
+ policyId: string;
42
+ fingerprint: string;
43
+ matchedBy: string;
44
+ countryCode: string | null;
45
+ regionCode: string | null;
46
+ jurisdiction: string;
47
+ language: string | null;
48
+ model: string;
49
+ policyI18n: unknown;
50
+ uiMode: string | null;
51
+ bannerUi: unknown;
52
+ dialogUi: unknown;
53
+ categories: unknown;
54
+ preselectedCategories: unknown;
55
+ proofConfig: unknown;
56
+ dedupeKey: string;
57
+ createdAt: Date;
58
+ }>;
59
+ };
60
+ export {};
@@ -21,7 +21,6 @@ export declare function subjectRegistry({ db, ctx }: Registry): {
21
21
  ipAddress?: string | null;
22
22
  }) => Promise<{
23
23
  id: string;
24
- isIdentified: boolean;
25
24
  externalId: string | null;
26
25
  identityProvider: string | null;
27
26
  createdAt: Date;
@@ -29,4 +28,3 @@ export declare function subjectRegistry({ db, ctx }: Registry): {
29
28
  tenantId: string | null;
30
29
  }>;
31
30
  };
32
- //# sourceMappingURL=subject.d.ts.map
@@ -5,6 +5,6 @@ export interface Registry {
5
5
  db: ReturnType<InferFumaDB<typeof LatestDB>['orm']>;
6
6
  ctx: {
7
7
  logger: ReturnType<typeof createLogger>;
8
+ tenantId?: string;
8
9
  };
9
10
  }
10
- //# sourceMappingURL=types.d.ts.map
@@ -22,4 +22,3 @@ export declare function generateUniqueId(db: ReturnType<InferFumaDB<typeof Lates
22
22
  baseDelay?: number;
23
23
  }): Promise<string>;
24
24
  export {};
25
- //# sourceMappingURL=generate-id.d.ts.map
@@ -22,4 +22,3 @@ export declare function generateUniqueId(db: ReturnType<InferFumaDB<typeof Lates
22
22
  baseDelay?: number;
23
23
  }): Promise<string>;
24
24
  export {};
25
- //# sourceMappingURL=utils.d.ts.map
@@ -11,4 +11,3 @@ export declare const auditLogTable: import("fumadb/schema").Table<{
11
11
  createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
12
12
  eventTimezone: import("fumadb/schema").Column<"string", string | null, string>;
13
13
  }, {}>;
14
- //# sourceMappingURL=audit-log.d.ts.map
@@ -10,4 +10,3 @@ export declare const consentPolicyTable: import("fumadb/schema").Table<{
10
10
  isActive: import("fumadb/schema").Column<"bool", boolean | null, boolean>;
11
11
  createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
12
12
  }, {}>;
13
- //# sourceMappingURL=consent-policy.d.ts.map
@@ -10,4 +10,3 @@ export declare const consentPurposeTable: import("fumadb/schema").Table<{
10
10
  createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
11
11
  updatedAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
12
12
  }, {}>;
13
- //# sourceMappingURL=consent-purpose.d.ts.map
@@ -6,4 +6,3 @@ export declare const consentRecordTable: import("fumadb/schema").Table<{
6
6
  details: import("fumadb/schema").Column<"json", unknown, unknown>;
7
7
  createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
8
8
  }, {}>;
9
- //# sourceMappingURL=consent-record.d.ts.map
@@ -14,5 +14,4 @@ export declare const consentTable: import("fumadb/schema").Table<{
14
14
  validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
15
15
  isActive: import("fumadb/schema").Column<"bool", boolean | null, boolean>;
16
16
  }, {}>;
17
- export { consentSchema, type Consent };
18
- //# sourceMappingURL=consent.d.ts.map
17
+ export { type Consent, consentSchema };
@@ -8,4 +8,3 @@ export declare const domainTable: import("fumadb/schema").Table<{
8
8
  createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
9
9
  updatedAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
10
10
  }, {}>;
11
- //# sourceMappingURL=domain.d.ts.map