@c15t/backend 2.0.0-rc.4 → 2.0.0-rc.5

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 (308) hide show
  1. package/dist/core.cjs +830 -74
  2. package/dist/core.js +807 -75
  3. package/dist/db/schema.cjs +37 -0
  4. package/dist/db/schema.js +33 -2
  5. package/dist/edge.cjs +1106 -0
  6. package/dist/edge.js +1069 -0
  7. package/dist/router.cjs +613 -64
  8. package/dist/router.js +613 -64
  9. package/{dist → dist-types}/cache/adapters/cloudflare-kv.d.ts +0 -1
  10. package/{dist → dist-types}/cache/adapters/index.d.ts +0 -1
  11. package/{dist → dist-types}/cache/adapters/memory.d.ts +0 -1
  12. package/{dist → dist-types}/cache/adapters/upstash-redis.d.ts +0 -1
  13. package/{dist → dist-types}/cache/gvl-resolver.d.ts +1 -2
  14. package/{dist → dist-types}/cache/index.d.ts +0 -1
  15. package/{dist → dist-types}/cache/keys.d.ts +0 -1
  16. package/{dist → dist-types}/cache/types.d.ts +0 -1
  17. package/{dist → dist-types}/core.d.ts +8 -1
  18. package/{dist → dist-types}/db/migrator/index.d.ts +0 -1
  19. package/{dist → dist-types}/db/registry/consent-policy.d.ts +0 -1
  20. package/{dist → dist-types}/db/registry/consent-purpose.d.ts +0 -1
  21. package/{dist → dist-types}/db/registry/domain.d.ts +0 -1
  22. package/{dist → dist-types}/db/registry/index.d.ts +22 -2
  23. package/dist-types/db/registry/runtime-policy-decision.d.ts +60 -0
  24. package/{dist → dist-types}/db/registry/subject.d.ts +0 -1
  25. package/{dist → dist-types}/db/registry/types.d.ts +1 -2
  26. package/{dist → dist-types}/db/registry/utils/generate-id.d.ts +0 -1
  27. package/{dist → dist-types}/db/registry/utils.d.ts +0 -1
  28. package/{dist → dist-types}/db/schema/1.0.0/audit-log.d.ts +0 -1
  29. package/{dist → dist-types}/db/schema/1.0.0/consent-policy.d.ts +0 -1
  30. package/{dist → dist-types}/db/schema/1.0.0/consent-purpose.d.ts +0 -1
  31. package/{dist → dist-types}/db/schema/1.0.0/consent-record.d.ts +0 -1
  32. package/{dist → dist-types}/db/schema/1.0.0/consent.d.ts +1 -2
  33. package/{dist → dist-types}/db/schema/1.0.0/domain.d.ts +0 -1
  34. package/{dist → dist-types}/db/schema/1.0.0/index.d.ts +0 -1
  35. package/{dist → dist-types}/db/schema/1.0.0/subject.d.ts +0 -1
  36. package/{dist → dist-types}/db/schema/2.0.0/audit-log.d.ts +1 -2
  37. package/{dist → dist-types}/db/schema/2.0.0/consent-policy.d.ts +1 -2
  38. package/{dist → dist-types}/db/schema/2.0.0/consent-purpose.d.ts +1 -2
  39. package/{dist → dist-types}/db/schema/2.0.0/consent.d.ts +5 -2
  40. package/{dist → dist-types}/db/schema/2.0.0/domain.d.ts +1 -2
  41. package/{dist → dist-types}/db/schema/2.0.0/index.d.ts +432 -17
  42. package/dist-types/db/schema/2.0.0/runtime-policy-decision.d.ts +23 -0
  43. package/{dist → dist-types}/db/schema/2.0.0/subject.d.ts +1 -2
  44. package/{dist → dist-types}/db/schema/index.d.ts +862 -33
  45. package/{dist → dist-types}/db/tenant-scope.d.ts +0 -1
  46. package/{dist → dist-types}/define-config.d.ts +0 -1
  47. package/dist-types/edge/index.d.ts +5 -0
  48. package/dist-types/edge/init-handler.d.ts +38 -0
  49. package/dist-types/edge/resolve-consent.d.ts +80 -0
  50. package/dist-types/edge/types.d.ts +13 -0
  51. package/{dist → dist-types}/handlers/consent/check.handler.d.ts +0 -1
  52. package/{src/handlers/consent/index.ts → dist-types/handlers/consent/index.d.ts} +0 -1
  53. package/{dist → dist-types}/handlers/init/geo.d.ts +2 -3
  54. package/{dist → dist-types}/handlers/init/index.d.ts +4 -5
  55. package/dist-types/handlers/init/policy.d.ts +26 -0
  56. package/dist-types/handlers/init/resolve-init.d.ts +44 -0
  57. package/dist-types/handlers/init/translations.d.ts +48 -0
  58. package/dist-types/handlers/policy/snapshot.d.ts +99 -0
  59. package/{src/handlers/status/index.ts → dist-types/handlers/status/index.d.ts} +0 -1
  60. package/{dist → dist-types}/handlers/status/status.handler.d.ts +0 -1
  61. package/{dist → dist-types}/handlers/subject/get.handler.d.ts +0 -1
  62. package/{src/handlers/subject/index.ts → dist-types/handlers/subject/index.d.ts} +0 -1
  63. package/{dist → dist-types}/handlers/subject/list.handler.d.ts +0 -1
  64. package/{dist → dist-types}/handlers/subject/patch.handler.d.ts +0 -1
  65. package/{dist → dist-types}/handlers/subject/post.handler.d.ts +12 -1
  66. package/{dist → dist-types}/handlers/utils/consent-enrichment.d.ts +0 -1
  67. package/{dist → dist-types}/init.d.ts +0 -1
  68. package/{dist → dist-types}/middleware/auth/index.d.ts +0 -1
  69. package/{dist → dist-types}/middleware/auth/validate-api-key.d.ts +0 -1
  70. package/{dist → dist-types}/middleware/cors/cors.d.ts +0 -1
  71. package/{src/middleware/cors/index.ts → dist-types/middleware/cors/index.d.ts} +0 -1
  72. package/{dist → dist-types}/middleware/cors/is-origin-trusted.d.ts +1 -2
  73. package/{dist → dist-types}/middleware/cors/process-cors.d.ts +0 -1
  74. package/{dist → dist-types}/middleware/openapi/config.d.ts +0 -1
  75. package/{dist → dist-types}/middleware/openapi/handlers.d.ts +0 -1
  76. package/{src/middleware/openapi/index.ts → dist-types/middleware/openapi/index.d.ts} +0 -1
  77. package/{dist → dist-types}/middleware/process-ip/index.d.ts +0 -1
  78. package/dist-types/policies/builder.d.ts +127 -0
  79. package/dist-types/policies/defaults.d.ts +2 -0
  80. package/dist-types/policies/matchers.d.ts +3 -0
  81. package/{dist → dist-types}/router.d.ts +0 -1
  82. package/{dist → dist-types}/routes/consent.d.ts +0 -1
  83. package/{src/routes/index.ts → dist-types/routes/index.d.ts} +0 -1
  84. package/{dist → dist-types}/routes/init.d.ts +0 -1
  85. package/{dist → dist-types}/routes/status.d.ts +0 -1
  86. package/{dist → dist-types}/routes/subject.d.ts +0 -1
  87. package/{dist → dist-types}/types/api.d.ts +0 -1
  88. package/{dist → dist-types}/types/index.d.ts +110 -6
  89. package/dist-types/utils/background.d.ts +6 -0
  90. package/{dist → dist-types}/utils/create-telemetry-options.d.ts +0 -1
  91. package/{dist → dist-types}/utils/env.d.ts +0 -1
  92. package/{dist → dist-types}/utils/extract-error-message.d.ts +0 -1
  93. package/{dist → dist-types}/utils/instrumentation.d.ts +0 -1
  94. package/{dist → dist-types}/utils/logger.d.ts +1 -2
  95. package/{dist → dist-types}/utils/metrics.d.ts +0 -1
  96. package/dist-types/version.d.ts +1 -0
  97. package/docs/README.md +49 -0
  98. package/docs/api/configuration.md +197 -0
  99. package/docs/api/endpoints.md +211 -0
  100. package/docs/guides/caching.md +85 -0
  101. package/docs/guides/database-setup.md +128 -0
  102. package/docs/guides/edge-deployment.md +248 -0
  103. package/docs/guides/framework-integration.md +142 -0
  104. package/docs/guides/iab-tcf.md +89 -0
  105. package/docs/guides/observability.md +96 -0
  106. package/docs/guides/policy-packs.md +396 -0
  107. package/docs/quickstart.md +129 -0
  108. package/package.json +33 -19
  109. package/.turbo/turbo-build.log +0 -49
  110. package/CHANGELOG.md +0 -123
  111. package/dist/cache/adapters/cloudflare-kv.d.ts.map +0 -1
  112. package/dist/cache/adapters/index.d.ts.map +0 -1
  113. package/dist/cache/adapters/memory.d.ts.map +0 -1
  114. package/dist/cache/adapters/upstash-redis.d.ts.map +0 -1
  115. package/dist/cache/gvl-resolver.d.ts.map +0 -1
  116. package/dist/cache/index.d.ts.map +0 -1
  117. package/dist/cache/keys.d.ts.map +0 -1
  118. package/dist/cache/types.d.ts.map +0 -1
  119. package/dist/core.d.ts.map +0 -1
  120. package/dist/db/adapters/drizzle.d.ts +0 -2
  121. package/dist/db/adapters/drizzle.d.ts.map +0 -1
  122. package/dist/db/adapters/index.d.ts +0 -2
  123. package/dist/db/adapters/index.d.ts.map +0 -1
  124. package/dist/db/adapters/kysely.d.ts +0 -2
  125. package/dist/db/adapters/kysely.d.ts.map +0 -1
  126. package/dist/db/adapters/mongo.d.ts +0 -2
  127. package/dist/db/adapters/mongo.d.ts.map +0 -1
  128. package/dist/db/adapters/prisma.d.ts +0 -2
  129. package/dist/db/adapters/prisma.d.ts.map +0 -1
  130. package/dist/db/adapters/typeorm.d.ts +0 -2
  131. package/dist/db/adapters/typeorm.d.ts.map +0 -1
  132. package/dist/db/migrator/index.d.ts.map +0 -1
  133. package/dist/db/registry/consent-policy.d.ts.map +0 -1
  134. package/dist/db/registry/consent-purpose.d.ts.map +0 -1
  135. package/dist/db/registry/domain.d.ts.map +0 -1
  136. package/dist/db/registry/index.d.ts.map +0 -1
  137. package/dist/db/registry/subject.d.ts.map +0 -1
  138. package/dist/db/registry/types.d.ts.map +0 -1
  139. package/dist/db/registry/utils/generate-id.d.ts.map +0 -1
  140. package/dist/db/registry/utils.d.ts.map +0 -1
  141. package/dist/db/schema/1.0.0/audit-log.d.ts.map +0 -1
  142. package/dist/db/schema/1.0.0/consent-policy.d.ts.map +0 -1
  143. package/dist/db/schema/1.0.0/consent-purpose.d.ts.map +0 -1
  144. package/dist/db/schema/1.0.0/consent-record.d.ts.map +0 -1
  145. package/dist/db/schema/1.0.0/consent.d.ts.map +0 -1
  146. package/dist/db/schema/1.0.0/domain.d.ts.map +0 -1
  147. package/dist/db/schema/1.0.0/index.d.ts.map +0 -1
  148. package/dist/db/schema/1.0.0/subject.d.ts.map +0 -1
  149. package/dist/db/schema/2.0.0/audit-log.d.ts.map +0 -1
  150. package/dist/db/schema/2.0.0/consent-policy.d.ts.map +0 -1
  151. package/dist/db/schema/2.0.0/consent-purpose.d.ts.map +0 -1
  152. package/dist/db/schema/2.0.0/consent.d.ts.map +0 -1
  153. package/dist/db/schema/2.0.0/domain.d.ts.map +0 -1
  154. package/dist/db/schema/2.0.0/index.d.ts.map +0 -1
  155. package/dist/db/schema/2.0.0/subject.d.ts.map +0 -1
  156. package/dist/db/schema/index.d.ts.map +0 -1
  157. package/dist/db/tenant-scope.d.ts.map +0 -1
  158. package/dist/define-config.d.ts.map +0 -1
  159. package/dist/handlers/consent/check.handler.d.ts.map +0 -1
  160. package/dist/handlers/consent/index.d.ts +0 -12
  161. package/dist/handlers/consent/index.d.ts.map +0 -1
  162. package/dist/handlers/init/geo.d.ts.map +0 -1
  163. package/dist/handlers/init/index.d.ts.map +0 -1
  164. package/dist/handlers/init/translations.d.ts +0 -26
  165. package/dist/handlers/init/translations.d.ts.map +0 -1
  166. package/dist/handlers/status/index.d.ts +0 -7
  167. package/dist/handlers/status/index.d.ts.map +0 -1
  168. package/dist/handlers/status/status.handler.d.ts.map +0 -1
  169. package/dist/handlers/subject/get.handler.d.ts.map +0 -1
  170. package/dist/handlers/subject/index.d.ts +0 -10
  171. package/dist/handlers/subject/index.d.ts.map +0 -1
  172. package/dist/handlers/subject/list.handler.d.ts.map +0 -1
  173. package/dist/handlers/subject/patch.handler.d.ts.map +0 -1
  174. package/dist/handlers/subject/post.handler.d.ts.map +0 -1
  175. package/dist/handlers/utils/consent-enrichment.d.ts.map +0 -1
  176. package/dist/init.d.ts.map +0 -1
  177. package/dist/middleware/auth/index.d.ts.map +0 -1
  178. package/dist/middleware/auth/validate-api-key.d.ts.map +0 -1
  179. package/dist/middleware/cors/cors.d.ts.map +0 -1
  180. package/dist/middleware/cors/index.d.ts +0 -30
  181. package/dist/middleware/cors/index.d.ts.map +0 -1
  182. package/dist/middleware/cors/is-origin-trusted.d.ts.map +0 -1
  183. package/dist/middleware/cors/process-cors.d.ts.map +0 -1
  184. package/dist/middleware/openapi/config.d.ts.map +0 -1
  185. package/dist/middleware/openapi/handlers.d.ts.map +0 -1
  186. package/dist/middleware/openapi/index.d.ts +0 -12
  187. package/dist/middleware/openapi/index.d.ts.map +0 -1
  188. package/dist/middleware/process-ip/index.d.ts.map +0 -1
  189. package/dist/router.d.ts.map +0 -1
  190. package/dist/routes/consent.d.ts.map +0 -1
  191. package/dist/routes/index.d.ts +0 -10
  192. package/dist/routes/index.d.ts.map +0 -1
  193. package/dist/routes/init.d.ts.map +0 -1
  194. package/dist/routes/status.d.ts.map +0 -1
  195. package/dist/routes/subject.d.ts.map +0 -1
  196. package/dist/types/api.d.ts.map +0 -1
  197. package/dist/types/index.d.ts.map +0 -1
  198. package/dist/utils/create-telemetry-options.d.ts.map +0 -1
  199. package/dist/utils/env.d.ts.map +0 -1
  200. package/dist/utils/extract-error-message.d.ts.map +0 -1
  201. package/dist/utils/index.d.ts +0 -4
  202. package/dist/utils/index.d.ts.map +0 -1
  203. package/dist/utils/instrumentation.d.ts.map +0 -1
  204. package/dist/utils/logger.d.ts.map +0 -1
  205. package/dist/utils/metrics.d.ts.map +0 -1
  206. package/dist/version.d.ts +0 -2
  207. package/dist/version.d.ts.map +0 -1
  208. package/knip.json +0 -31
  209. package/rslib.config.ts +0 -93
  210. package/src/cache/adapters/cloudflare-kv.ts +0 -71
  211. package/src/cache/adapters/index.ts +0 -22
  212. package/src/cache/adapters/memory.ts +0 -111
  213. package/src/cache/adapters/upstash-redis.ts +0 -113
  214. package/src/cache/gvl-resolver.ts +0 -289
  215. package/src/cache/index.ts +0 -34
  216. package/src/cache/keys.ts +0 -68
  217. package/src/cache/types.ts +0 -66
  218. package/src/core.ts +0 -369
  219. package/src/db/migrator/index.ts +0 -80
  220. package/src/db/registry/consent-policy.test.ts +0 -451
  221. package/src/db/registry/consent-policy.ts +0 -82
  222. package/src/db/registry/consent-purpose.test.ts +0 -428
  223. package/src/db/registry/consent-purpose.ts +0 -61
  224. package/src/db/registry/domain.test.ts +0 -445
  225. package/src/db/registry/domain.ts +0 -91
  226. package/src/db/registry/index.ts +0 -14
  227. package/src/db/registry/subject.test.ts +0 -371
  228. package/src/db/registry/subject.ts +0 -126
  229. package/src/db/registry/types.ts +0 -10
  230. package/src/db/registry/utils/generate-id.test.ts +0 -216
  231. package/src/db/registry/utils/generate-id.ts +0 -133
  232. package/src/db/registry/utils.ts +0 -133
  233. package/src/db/schema/1.0.0/audit-log.ts +0 -15
  234. package/src/db/schema/1.0.0/consent-policy.ts +0 -14
  235. package/src/db/schema/1.0.0/consent-purpose.ts +0 -14
  236. package/src/db/schema/1.0.0/consent-record.ts +0 -10
  237. package/src/db/schema/1.0.0/consent.ts +0 -20
  238. package/src/db/schema/1.0.0/domain.ts +0 -12
  239. package/src/db/schema/1.0.0/index.ts +0 -48
  240. package/src/db/schema/1.0.0/subject.ts +0 -11
  241. package/src/db/schema/2.0.0/audit-log.ts +0 -18
  242. package/src/db/schema/2.0.0/consent-policy.ts +0 -28
  243. package/src/db/schema/2.0.0/consent-purpose.ts +0 -12
  244. package/src/db/schema/2.0.0/consent.ts +0 -28
  245. package/src/db/schema/2.0.0/domain.ts +0 -12
  246. package/src/db/schema/2.0.0/index.ts +0 -47
  247. package/src/db/schema/2.0.0/subject.ts +0 -13
  248. package/src/db/schema/index.ts +0 -15
  249. package/src/db/tenant-scope.test.ts +0 -747
  250. package/src/db/tenant-scope.ts +0 -103
  251. package/src/define-config.ts +0 -19
  252. package/src/handlers/consent/check.handler.ts +0 -126
  253. package/src/handlers/init/geo.test.ts +0 -317
  254. package/src/handlers/init/geo.ts +0 -195
  255. package/src/handlers/init/index.test.ts +0 -205
  256. package/src/handlers/init/index.ts +0 -114
  257. package/src/handlers/init/translations.test.ts +0 -121
  258. package/src/handlers/init/translations.ts +0 -69
  259. package/src/handlers/status/status.handler.test.ts +0 -155
  260. package/src/handlers/status/status.handler.ts +0 -51
  261. package/src/handlers/subject/get.handler.ts +0 -92
  262. package/src/handlers/subject/list.handler.ts +0 -92
  263. package/src/handlers/subject/patch.handler.ts +0 -119
  264. package/src/handlers/subject/post.handler.test.ts +0 -294
  265. package/src/handlers/subject/post.handler.ts +0 -268
  266. package/src/handlers/utils/consent-enrichment.test.ts +0 -380
  267. package/src/handlers/utils/consent-enrichment.ts +0 -218
  268. package/src/init.test.ts +0 -122
  269. package/src/init.ts +0 -88
  270. package/src/middleware/auth/index.ts +0 -11
  271. package/src/middleware/auth/validate-api-key.test.ts +0 -86
  272. package/src/middleware/auth/validate-api-key.ts +0 -107
  273. package/src/middleware/cors/cors.test.ts +0 -135
  274. package/src/middleware/cors/cors.ts +0 -186
  275. package/src/middleware/cors/is-origin-trusted.test.ts +0 -164
  276. package/src/middleware/cors/is-origin-trusted.ts +0 -130
  277. package/src/middleware/cors/process-cors.ts +0 -91
  278. package/src/middleware/openapi/config.ts +0 -29
  279. package/src/middleware/openapi/handlers.ts +0 -34
  280. package/src/middleware/process-ip/index.test.ts +0 -193
  281. package/src/middleware/process-ip/index.ts +0 -199
  282. package/src/router.ts +0 -15
  283. package/src/routes/consent.ts +0 -52
  284. package/src/routes/init.ts +0 -105
  285. package/src/routes/status.ts +0 -46
  286. package/src/routes/subject.ts +0 -152
  287. package/src/types/api.ts +0 -48
  288. package/src/types/index.ts +0 -391
  289. package/src/utils/create-telemetry-options.test.ts +0 -286
  290. package/src/utils/create-telemetry-options.ts +0 -229
  291. package/src/utils/env.ts +0 -84
  292. package/src/utils/extract-error-message.ts +0 -21
  293. package/src/utils/instrumentation.test.ts +0 -183
  294. package/src/utils/instrumentation.ts +0 -194
  295. package/src/utils/logger.ts +0 -41
  296. package/src/utils/metrics.test.ts +0 -311
  297. package/src/utils/metrics.ts +0 -402
  298. package/src/utils/telemetry-pii.test.ts +0 -323
  299. package/src/version.ts +0 -2
  300. package/tsconfig.json +0 -11
  301. package/vitest.config.ts +0 -28
  302. /package/{src/db/adapters/drizzle.ts → dist-types/db/adapters/drizzle.d.ts} +0 -0
  303. /package/{src/db/adapters/index.ts → dist-types/db/adapters/index.d.ts} +0 -0
  304. /package/{src/db/adapters/kysely.ts → dist-types/db/adapters/kysely.d.ts} +0 -0
  305. /package/{src/db/adapters/mongo.ts → dist-types/db/adapters/mongo.d.ts} +0 -0
  306. /package/{src/db/adapters/prisma.ts → dist-types/db/adapters/prisma.d.ts} +0 -0
  307. /package/{src/db/adapters/typeorm.ts → dist-types/db/adapters/typeorm.d.ts} +0 -0
  308. /package/{src/utils/index.ts → dist-types/utils/index.d.ts} +0 -0
@@ -23,8 +23,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
23
23
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
24
24
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
25
25
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
26
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
27
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
26
28
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
27
- }, Omit<{}, "domain" | "subject" | "policy"> & {
29
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & {
28
30
  subject: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
29
31
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
30
32
  externalId: import("fumadb/schema").Column<"string", string | null, string | null>;
@@ -56,8 +58,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
56
58
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
57
59
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
58
60
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
61
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
62
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
59
63
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
60
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
64
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
61
65
  }>>;
62
66
  policy: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
63
67
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
@@ -84,8 +88,52 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
84
88
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
85
89
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
86
90
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
91
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
92
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
87
93
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
88
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
94
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
95
+ }>>;
96
+ runtimePolicyDecision: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
97
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
98
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
99
+ policyId: import("fumadb/schema").Column<"string", string, string>;
100
+ fingerprint: import("fumadb/schema").Column<"string", string, string>;
101
+ matchedBy: import("fumadb/schema").Column<"string", string, string>;
102
+ countryCode: import("fumadb/schema").Column<"string", string | null, string | null>;
103
+ regionCode: import("fumadb/schema").Column<"string", string | null, string | null>;
104
+ jurisdiction: import("fumadb/schema").Column<"string", string, string>;
105
+ language: import("fumadb/schema").Column<"string", string | null, string | null>;
106
+ model: import("fumadb/schema").Column<"string", string, string>;
107
+ policyI18n: import("fumadb/schema").Column<"json", unknown, unknown>;
108
+ uiMode: import("fumadb/schema").Column<"string", string | null, string | null>;
109
+ bannerUi: import("fumadb/schema").Column<"json", unknown, unknown>;
110
+ dialogUi: import("fumadb/schema").Column<"json", unknown, unknown>;
111
+ categories: import("fumadb/schema").Column<"json", unknown, unknown>;
112
+ preselectedCategories: import("fumadb/schema").Column<"json", unknown, unknown>;
113
+ proofConfig: import("fumadb/schema").Column<"json", unknown, unknown>;
114
+ dedupeKey: import("fumadb/schema").Column<"string", string, string>;
115
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
116
+ }, Omit<{}, "consents"> & {
117
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
118
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
119
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
120
+ domainId: import("fumadb/schema").Column<"string", string, string>;
121
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
122
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
123
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
124
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
125
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
126
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
127
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
128
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
129
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
130
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
131
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
132
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
133
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
134
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
135
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
136
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
89
137
  }>>;
90
138
  }>>;
91
139
  auditLogs: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
@@ -134,8 +182,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
134
182
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
135
183
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
136
184
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
185
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
186
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
137
187
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
138
- }, Omit<{}, "domain" | "subject" | "policy"> & {
188
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & {
139
189
  subject: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
140
190
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
141
191
  externalId: import("fumadb/schema").Column<"string", string | null, string | null>;
@@ -160,8 +210,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
160
210
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
161
211
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
162
212
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
213
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
214
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
163
215
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
164
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
216
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
165
217
  auditLogs: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
166
218
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
167
219
  entityType: import("fumadb/schema").Column<"string", string, string>;
@@ -217,8 +269,52 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
217
269
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
218
270
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
219
271
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
272
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
273
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
274
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
275
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
276
+ }>>;
277
+ runtimePolicyDecision: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
278
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
279
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
280
+ policyId: import("fumadb/schema").Column<"string", string, string>;
281
+ fingerprint: import("fumadb/schema").Column<"string", string, string>;
282
+ matchedBy: import("fumadb/schema").Column<"string", string, string>;
283
+ countryCode: import("fumadb/schema").Column<"string", string | null, string | null>;
284
+ regionCode: import("fumadb/schema").Column<"string", string | null, string | null>;
285
+ jurisdiction: import("fumadb/schema").Column<"string", string, string>;
286
+ language: import("fumadb/schema").Column<"string", string | null, string | null>;
287
+ model: import("fumadb/schema").Column<"string", string, string>;
288
+ policyI18n: import("fumadb/schema").Column<"json", unknown, unknown>;
289
+ uiMode: import("fumadb/schema").Column<"string", string | null, string | null>;
290
+ bannerUi: import("fumadb/schema").Column<"json", unknown, unknown>;
291
+ dialogUi: import("fumadb/schema").Column<"json", unknown, unknown>;
292
+ categories: import("fumadb/schema").Column<"json", unknown, unknown>;
293
+ preselectedCategories: import("fumadb/schema").Column<"json", unknown, unknown>;
294
+ proofConfig: import("fumadb/schema").Column<"json", unknown, unknown>;
295
+ dedupeKey: import("fumadb/schema").Column<"string", string, string>;
296
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
297
+ }, Omit<{}, "consents"> & {
298
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
299
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
300
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
301
+ domainId: import("fumadb/schema").Column<"string", string, string>;
302
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
303
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
304
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
305
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
306
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
307
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
308
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
309
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
310
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
311
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
312
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
313
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
314
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
315
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
220
316
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
221
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
317
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
222
318
  }>>;
223
319
  }>>;
224
320
  }>;
@@ -247,8 +343,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
247
343
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
248
344
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
249
345
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
346
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
347
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
250
348
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
251
- }, Omit<{}, "domain" | "subject" | "policy"> & {
349
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & {
252
350
  subject: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
253
351
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
254
352
  externalId: import("fumadb/schema").Column<"string", string | null, string | null>;
@@ -273,8 +371,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
273
371
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
274
372
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
275
373
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
374
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
375
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
276
376
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
277
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
377
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
278
378
  auditLogs: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
279
379
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
280
380
  entityType: import("fumadb/schema").Column<"string", string, string>;
@@ -321,8 +421,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
321
421
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
322
422
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
323
423
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
424
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
425
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
324
426
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
325
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
427
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
326
428
  }>>;
327
429
  policy: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
328
430
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
@@ -333,6 +435,221 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
333
435
  createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
334
436
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
335
437
  }, Omit<{}, "consents"> & /*elided*/ any>>;
438
+ runtimePolicyDecision: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
439
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
440
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
441
+ policyId: import("fumadb/schema").Column<"string", string, string>;
442
+ fingerprint: import("fumadb/schema").Column<"string", string, string>;
443
+ matchedBy: import("fumadb/schema").Column<"string", string, string>;
444
+ countryCode: import("fumadb/schema").Column<"string", string | null, string | null>;
445
+ regionCode: import("fumadb/schema").Column<"string", string | null, string | null>;
446
+ jurisdiction: import("fumadb/schema").Column<"string", string, string>;
447
+ language: import("fumadb/schema").Column<"string", string | null, string | null>;
448
+ model: import("fumadb/schema").Column<"string", string, string>;
449
+ policyI18n: import("fumadb/schema").Column<"json", unknown, unknown>;
450
+ uiMode: import("fumadb/schema").Column<"string", string | null, string | null>;
451
+ bannerUi: import("fumadb/schema").Column<"json", unknown, unknown>;
452
+ dialogUi: import("fumadb/schema").Column<"json", unknown, unknown>;
453
+ categories: import("fumadb/schema").Column<"json", unknown, unknown>;
454
+ preselectedCategories: import("fumadb/schema").Column<"json", unknown, unknown>;
455
+ proofConfig: import("fumadb/schema").Column<"json", unknown, unknown>;
456
+ dedupeKey: import("fumadb/schema").Column<"string", string, string>;
457
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
458
+ }, Omit<{}, "consents"> & {
459
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
460
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
461
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
462
+ domainId: import("fumadb/schema").Column<"string", string, string>;
463
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
464
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
465
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
466
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
467
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
468
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
469
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
470
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
471
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
472
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
473
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
474
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
475
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
476
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
477
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
478
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
479
+ }>>;
480
+ }>>;
481
+ }>;
482
+ runtimePolicyDecision: import("fumadb/schema").Table<{
483
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
484
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
485
+ policyId: import("fumadb/schema").Column<"string", string, string>;
486
+ fingerprint: import("fumadb/schema").Column<"string", string, string>;
487
+ matchedBy: import("fumadb/schema").Column<"string", string, string>;
488
+ countryCode: import("fumadb/schema").Column<"string", string | null, string | null>;
489
+ regionCode: import("fumadb/schema").Column<"string", string | null, string | null>;
490
+ jurisdiction: import("fumadb/schema").Column<"string", string, string>;
491
+ language: import("fumadb/schema").Column<"string", string | null, string | null>;
492
+ model: import("fumadb/schema").Column<"string", string, string>;
493
+ policyI18n: import("fumadb/schema").Column<"json", unknown, unknown>;
494
+ uiMode: import("fumadb/schema").Column<"string", string | null, string | null>;
495
+ bannerUi: import("fumadb/schema").Column<"json", unknown, unknown>;
496
+ dialogUi: import("fumadb/schema").Column<"json", unknown, unknown>;
497
+ categories: import("fumadb/schema").Column<"json", unknown, unknown>;
498
+ preselectedCategories: import("fumadb/schema").Column<"json", unknown, unknown>;
499
+ proofConfig: import("fumadb/schema").Column<"json", unknown, unknown>;
500
+ dedupeKey: import("fumadb/schema").Column<"string", string, string>;
501
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
502
+ }, Omit<{}, "consents"> & {
503
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
504
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
505
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
506
+ domainId: import("fumadb/schema").Column<"string", string, string>;
507
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
508
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
509
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
510
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
511
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
512
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
513
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
514
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
515
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
516
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
517
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
518
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
519
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
520
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
521
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
522
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & {
523
+ subject: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
524
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
525
+ externalId: import("fumadb/schema").Column<"string", string | null, string | null>;
526
+ identityProvider: import("fumadb/schema").Column<"string", string | null, string | null>;
527
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
528
+ updatedAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
529
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
530
+ }, Omit<{}, "consents" | "auditLogs"> & {
531
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
532
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
533
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
534
+ domainId: import("fumadb/schema").Column<"string", string, string>;
535
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
536
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
537
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
538
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
539
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
540
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
541
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
542
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
543
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
544
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
545
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
546
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
547
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
548
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
549
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
550
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
551
+ auditLogs: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
552
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
553
+ entityType: import("fumadb/schema").Column<"string", string, string>;
554
+ entityId: import("fumadb/schema").Column<"string", string, string>;
555
+ actionType: import("fumadb/schema").Column<"string", string, string>;
556
+ subjectId: import("fumadb/schema").Column<"string", string | null, string | null>;
557
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
558
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
559
+ changes: import("fumadb/schema").Column<"json", unknown, unknown>;
560
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
561
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
562
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
563
+ }, Omit<{}, "subject"> & {
564
+ subject: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
565
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
566
+ externalId: import("fumadb/schema").Column<"string", string | null, string | null>;
567
+ identityProvider: import("fumadb/schema").Column<"string", string | null, string | null>;
568
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
569
+ updatedAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
570
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
571
+ }, Omit<{}, "consents" | "auditLogs"> & /*elided*/ any>>;
572
+ }>>;
573
+ }>>;
574
+ domain: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
575
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
576
+ name: import("fumadb/schema").Column<"string", string, string>;
577
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
578
+ updatedAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
579
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
580
+ }, Omit<{}, "consents"> & {
581
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
582
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
583
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
584
+ domainId: import("fumadb/schema").Column<"string", string, string>;
585
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
586
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
587
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
588
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
589
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
590
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
591
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
592
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
593
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
594
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
595
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
596
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
597
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
598
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
599
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
600
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
601
+ }>>;
602
+ policy: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
603
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
604
+ version: import("fumadb/schema").Column<"string", string, string>;
605
+ type: import("fumadb/schema").Column<"string", string, string>;
606
+ effectiveDate: import("fumadb/schema").Column<"timestamp", Date, Date>;
607
+ isActive: import("fumadb/schema").Column<"bool", boolean | null, boolean>;
608
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
609
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
610
+ }, Omit<{}, "consents"> & {
611
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
612
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
613
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
614
+ domainId: import("fumadb/schema").Column<"string", string, string>;
615
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
616
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
617
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
618
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
619
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
620
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
621
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
622
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
623
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
624
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
625
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
626
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
627
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
628
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
629
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
630
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
631
+ }>>;
632
+ runtimePolicyDecision: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
633
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
634
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
635
+ policyId: import("fumadb/schema").Column<"string", string, string>;
636
+ fingerprint: import("fumadb/schema").Column<"string", string, string>;
637
+ matchedBy: import("fumadb/schema").Column<"string", string, string>;
638
+ countryCode: import("fumadb/schema").Column<"string", string | null, string | null>;
639
+ regionCode: import("fumadb/schema").Column<"string", string | null, string | null>;
640
+ jurisdiction: import("fumadb/schema").Column<"string", string, string>;
641
+ language: import("fumadb/schema").Column<"string", string | null, string | null>;
642
+ model: import("fumadb/schema").Column<"string", string, string>;
643
+ policyI18n: import("fumadb/schema").Column<"json", unknown, unknown>;
644
+ uiMode: import("fumadb/schema").Column<"string", string | null, string | null>;
645
+ bannerUi: import("fumadb/schema").Column<"json", unknown, unknown>;
646
+ dialogUi: import("fumadb/schema").Column<"json", unknown, unknown>;
647
+ categories: import("fumadb/schema").Column<"json", unknown, unknown>;
648
+ preselectedCategories: import("fumadb/schema").Column<"json", unknown, unknown>;
649
+ proofConfig: import("fumadb/schema").Column<"json", unknown, unknown>;
650
+ dedupeKey: import("fumadb/schema").Column<"string", string, string>;
651
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
652
+ }, Omit<{}, "consents"> & /*elided*/ any>>;
336
653
  }>>;
337
654
  }>;
338
655
  consentPurpose: import("fumadb/schema").Table<{
@@ -358,8 +675,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
358
675
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
359
676
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
360
677
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
678
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
679
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
361
680
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
362
- }, Omit<{}, "domain" | "subject" | "policy"> & {
681
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & {
363
682
  subject: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
364
683
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
365
684
  externalId: import("fumadb/schema").Column<"string", string | null, string | null>;
@@ -384,8 +703,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
384
703
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
385
704
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
386
705
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
706
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
707
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
387
708
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
388
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
709
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
389
710
  auditLogs: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
390
711
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
391
712
  entityType: import("fumadb/schema").Column<"string", string, string>;
@@ -432,8 +753,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
432
753
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
433
754
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
434
755
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
756
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
757
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
435
758
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
436
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
759
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
437
760
  }>>;
438
761
  policy: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
439
762
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
@@ -460,8 +783,52 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
460
783
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
461
784
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
462
785
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
786
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
787
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
463
788
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
464
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
789
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
790
+ }>>;
791
+ runtimePolicyDecision: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
792
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
793
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
794
+ policyId: import("fumadb/schema").Column<"string", string, string>;
795
+ fingerprint: import("fumadb/schema").Column<"string", string, string>;
796
+ matchedBy: import("fumadb/schema").Column<"string", string, string>;
797
+ countryCode: import("fumadb/schema").Column<"string", string | null, string | null>;
798
+ regionCode: import("fumadb/schema").Column<"string", string | null, string | null>;
799
+ jurisdiction: import("fumadb/schema").Column<"string", string, string>;
800
+ language: import("fumadb/schema").Column<"string", string | null, string | null>;
801
+ model: import("fumadb/schema").Column<"string", string, string>;
802
+ policyI18n: import("fumadb/schema").Column<"json", unknown, unknown>;
803
+ uiMode: import("fumadb/schema").Column<"string", string | null, string | null>;
804
+ bannerUi: import("fumadb/schema").Column<"json", unknown, unknown>;
805
+ dialogUi: import("fumadb/schema").Column<"json", unknown, unknown>;
806
+ categories: import("fumadb/schema").Column<"json", unknown, unknown>;
807
+ preselectedCategories: import("fumadb/schema").Column<"json", unknown, unknown>;
808
+ proofConfig: import("fumadb/schema").Column<"json", unknown, unknown>;
809
+ dedupeKey: import("fumadb/schema").Column<"string", string, string>;
810
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
811
+ }, Omit<{}, "consents"> & {
812
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
813
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
814
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
815
+ domainId: import("fumadb/schema").Column<"string", string, string>;
816
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
817
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
818
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
819
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
820
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
821
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
822
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
823
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
824
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
825
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
826
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
827
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
828
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
829
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
830
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
831
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
465
832
  }>>;
466
833
  }>;
467
834
  auditLog: import("fumadb/schema").Table<{
@@ -501,8 +868,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
501
868
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
502
869
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
503
870
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
871
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
872
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
504
873
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
505
- }, Omit<{}, "domain" | "subject" | "policy"> & {
874
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & {
506
875
  subject: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
507
876
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
508
877
  externalId: import("fumadb/schema").Column<"string", string | null, string | null>;
@@ -534,8 +903,10 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
534
903
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
535
904
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
536
905
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
906
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
907
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
537
908
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
538
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
909
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
539
910
  }>>;
540
911
  policy: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
541
912
  id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
@@ -562,8 +933,52 @@ export declare const v2: import("fumadb/schema").Schema<"2.0.0", {
562
933
  tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
563
934
  uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
564
935
  consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
936
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
937
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
938
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
939
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
940
+ }>>;
941
+ runtimePolicyDecision: import("fumadb/schema").ExplicitRelation<"one", import("fumadb/schema").Table<{
942
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
943
+ tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
944
+ policyId: import("fumadb/schema").Column<"string", string, string>;
945
+ fingerprint: import("fumadb/schema").Column<"string", string, string>;
946
+ matchedBy: import("fumadb/schema").Column<"string", string, string>;
947
+ countryCode: import("fumadb/schema").Column<"string", string | null, string | null>;
948
+ regionCode: import("fumadb/schema").Column<"string", string | null, string | null>;
949
+ jurisdiction: import("fumadb/schema").Column<"string", string, string>;
950
+ language: import("fumadb/schema").Column<"string", string | null, string | null>;
951
+ model: import("fumadb/schema").Column<"string", string, string>;
952
+ policyI18n: import("fumadb/schema").Column<"json", unknown, unknown>;
953
+ uiMode: import("fumadb/schema").Column<"string", string | null, string | null>;
954
+ bannerUi: import("fumadb/schema").Column<"json", unknown, unknown>;
955
+ dialogUi: import("fumadb/schema").Column<"json", unknown, unknown>;
956
+ categories: import("fumadb/schema").Column<"json", unknown, unknown>;
957
+ preselectedCategories: import("fumadb/schema").Column<"json", unknown, unknown>;
958
+ proofConfig: import("fumadb/schema").Column<"json", unknown, unknown>;
959
+ dedupeKey: import("fumadb/schema").Column<"string", string, string>;
960
+ createdAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
961
+ }, Omit<{}, "consents"> & {
962
+ consents: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
963
+ id: import("fumadb/schema").IdColumn<"varchar(255)", string, string>;
964
+ subjectId: import("fumadb/schema").Column<"string", string, string>;
965
+ domainId: import("fumadb/schema").Column<"string", string, string>;
966
+ policyId: import("fumadb/schema").Column<"string", string | null, string | null>;
967
+ purposeIds: import("fumadb/schema").Column<"json", unknown, unknown>;
968
+ metadata: import("fumadb/schema").Column<"json", unknown, unknown>;
969
+ ipAddress: import("fumadb/schema").Column<"string", string | null, string | null>;
970
+ userAgent: import("fumadb/schema").Column<"string", string | null, string | null>;
971
+ givenAt: import("fumadb/schema").Column<"timestamp", Date | null, Date>;
972
+ validUntil: import("fumadb/schema").Column<"timestamp", Date | null, Date | null>;
973
+ jurisdiction: import("fumadb/schema").Column<"string", string | null, string | null>;
974
+ jurisdictionModel: import("fumadb/schema").Column<"string", string | null, string | null>;
975
+ tcString: import("fumadb/schema").Column<"string", string | null, string | null>;
976
+ uiSource: import("fumadb/schema").Column<"string", string | null, string | null>;
977
+ consentAction: import("fumadb/schema").Column<"string", string | null, string | null>;
978
+ runtimePolicyDecisionId: import("fumadb/schema").Column<"string", string | null, string | null>;
979
+ runtimePolicySource: import("fumadb/schema").Column<"string", string | null, string | null>;
565
980
  tenantId: import("fumadb/schema").Column<"string", string | null, string | null>;
566
- }, Omit<{}, "domain" | "subject" | "policy"> & /*elided*/ any>>;
981
+ }, Omit<{}, "domain" | "subject" | "policy" | "runtimePolicyDecision"> & /*elided*/ any>>;
567
982
  }>>;
568
983
  }>>;
569
984
  auditLogs: import("fumadb/schema").ImplicitRelation<"many", import("fumadb/schema").Table<{
@@ -587,5 +1002,5 @@ export * from './consent';
587
1002
  export * from './consent-policy';
588
1003
  export * from './consent-purpose';
589
1004
  export * from './domain';
1005
+ export * from './runtime-policy-decision';
590
1006
  export * from './subject';
591
- //# sourceMappingURL=index.d.ts.map