@c15t/backend 1.0.0 → 1.1.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/.turbo/turbo-build.log +33 -39
  2. package/.turbo/turbo-fmt.log +7 -0
  3. package/.turbo/turbo-test.log +531 -0
  4. package/README.md +19 -7
  5. package/coverage/coverage-final.json +84 -0
  6. package/coverage/coverage-summary.json +85 -0
  7. package/coverage/html/backend/index.html +116 -0
  8. package/coverage/html/backend/rslib.config.ts.html +415 -0
  9. package/coverage/html/backend/src/contracts/consent/index.html +161 -0
  10. package/coverage/html/backend/src/contracts/consent/index.ts.html +112 -0
  11. package/coverage/html/backend/src/contracts/consent/post.contract.ts.html +559 -0
  12. package/coverage/html/backend/src/contracts/consent/show-banner.contract.ts.html +220 -0
  13. package/coverage/html/backend/src/contracts/consent/verify.contract.ts.html +463 -0
  14. package/coverage/html/backend/src/contracts/index.html +116 -0
  15. package/coverage/html/backend/src/contracts/index.ts.html +139 -0
  16. package/coverage/html/backend/src/contracts/meta/index.html +131 -0
  17. package/coverage/html/backend/src/contracts/meta/index.ts.html +100 -0
  18. package/coverage/html/backend/src/contracts/meta/status.contract.ts.html +196 -0
  19. package/coverage/html/backend/src/contracts/shared/index.html +116 -0
  20. package/coverage/html/backend/src/contracts/shared/jurisdiction.schema.ts.html +175 -0
  21. package/coverage/html/backend/src/core.ts.html +1624 -0
  22. package/coverage/html/backend/src/handlers/consent/index.html +161 -0
  23. package/coverage/html/backend/src/handlers/consent/index.ts.html +112 -0
  24. package/coverage/html/backend/src/handlers/consent/post.handler.ts.html +889 -0
  25. package/coverage/html/backend/src/handlers/consent/show-banner.handler.ts.html +535 -0
  26. package/coverage/html/backend/src/handlers/consent/verify.handler.ts.html +1000 -0
  27. package/coverage/html/backend/src/handlers/meta/index.html +131 -0
  28. package/coverage/html/backend/src/handlers/meta/index.ts.html +100 -0
  29. package/coverage/html/backend/src/handlers/meta/status.handler.ts.html +226 -0
  30. package/coverage/html/backend/src/index.html +161 -0
  31. package/coverage/html/backend/src/init.ts.html +1018 -0
  32. package/coverage/html/backend/src/pkgs/api-router/hooks/index.html +116 -0
  33. package/coverage/html/backend/src/pkgs/api-router/hooks/processor.ts.html +544 -0
  34. package/coverage/html/backend/src/pkgs/api-router/index.html +116 -0
  35. package/coverage/html/backend/src/pkgs/api-router/telemetry.ts.html +334 -0
  36. package/coverage/html/backend/src/pkgs/api-router/utils/cors.ts.html +304 -0
  37. package/coverage/html/backend/src/pkgs/api-router/utils/index.html +131 -0
  38. package/coverage/html/backend/src/pkgs/api-router/utils/ip.ts.html +361 -0
  39. package/coverage/html/backend/src/pkgs/data-model/fields/field-factory.ts.html +709 -0
  40. package/coverage/html/backend/src/pkgs/data-model/fields/id-generator.ts.html +256 -0
  41. package/coverage/html/backend/src/pkgs/data-model/fields/index.html +161 -0
  42. package/coverage/html/backend/src/pkgs/data-model/fields/superjson-utils.ts.html +136 -0
  43. package/coverage/html/backend/src/pkgs/data-model/fields/zod-fields.ts.html +496 -0
  44. package/coverage/html/backend/src/pkgs/data-model/hooks/create-hooks.ts.html +349 -0
  45. package/coverage/html/backend/src/pkgs/data-model/hooks/index.html +176 -0
  46. package/coverage/html/backend/src/pkgs/data-model/hooks/update-hooks.ts.html +358 -0
  47. package/coverage/html/backend/src/pkgs/data-model/hooks/update-many-hooks.ts.html +613 -0
  48. package/coverage/html/backend/src/pkgs/data-model/hooks/utils.ts.html +538 -0
  49. package/coverage/html/backend/src/pkgs/data-model/hooks/with-hooks-factory.ts.html +289 -0
  50. package/coverage/html/backend/src/pkgs/db-adapters/adapter-factory.ts.html +289 -0
  51. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts.html +2203 -0
  52. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/index.html +116 -0
  53. package/coverage/html/backend/src/pkgs/db-adapters/adapters/index.html +116 -0
  54. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts.html +670 -0
  55. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/index.html +131 -0
  56. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts.html +3634 -0
  57. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/index.html +116 -0
  58. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts.html +1417 -0
  59. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/index.html +116 -0
  60. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts.html +2071 -0
  61. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/index.html +116 -0
  62. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts.html +1834 -0
  63. package/coverage/html/backend/src/pkgs/db-adapters/adapters/test.ts.html +316 -0
  64. package/coverage/html/backend/src/pkgs/db-adapters/index.html +131 -0
  65. package/coverage/html/backend/src/pkgs/db-adapters/utils.ts.html +238 -0
  66. package/coverage/html/backend/src/pkgs/migrations/get-migration.ts.html +343 -0
  67. package/coverage/html/backend/src/pkgs/migrations/get-schema/get-schema.ts.html +217 -0
  68. package/coverage/html/backend/src/pkgs/migrations/get-schema/index.html +146 -0
  69. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-fields.ts.html +280 -0
  70. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-tables.ts.html +289 -0
  71. package/coverage/html/backend/src/pkgs/migrations/index.html +176 -0
  72. package/coverage/html/backend/src/pkgs/migrations/migration-builders.ts.html +595 -0
  73. package/coverage/html/backend/src/pkgs/migrations/migration-execution.ts.html +301 -0
  74. package/coverage/html/backend/src/pkgs/migrations/schema-comparison.ts.html +694 -0
  75. package/coverage/html/backend/src/pkgs/migrations/type-mapping.ts.html +817 -0
  76. package/coverage/html/backend/src/pkgs/results/core/error-class.ts.html +976 -0
  77. package/coverage/html/backend/src/pkgs/results/core/error-codes.ts.html +703 -0
  78. package/coverage/html/backend/src/pkgs/results/core/index.html +146 -0
  79. package/coverage/html/backend/src/pkgs/results/core/tracing.ts.html +280 -0
  80. package/coverage/html/backend/src/pkgs/results/create-telemetry-options.ts.html +271 -0
  81. package/coverage/html/backend/src/pkgs/results/index.html +131 -0
  82. package/coverage/html/backend/src/pkgs/results/orpc-error-handler.ts.html +496 -0
  83. package/coverage/html/backend/src/pkgs/results/results/index.html +131 -0
  84. package/coverage/html/backend/src/pkgs/results/results/recovery-utils.ts.html +628 -0
  85. package/coverage/html/backend/src/pkgs/results/results/result-helpers.ts.html +1234 -0
  86. package/coverage/html/backend/src/pkgs/utils/env.ts.html +337 -0
  87. package/coverage/html/backend/src/pkgs/utils/index.html +146 -0
  88. package/coverage/html/backend/src/pkgs/utils/logger.ts.html +199 -0
  89. package/coverage/html/backend/src/pkgs/utils/url.ts.html +400 -0
  90. package/coverage/html/backend/src/router.ts.html +109 -0
  91. package/coverage/html/backend/src/schema/audit-log/index.html +146 -0
  92. package/coverage/html/backend/src/schema/audit-log/registry.ts.html +436 -0
  93. package/coverage/html/backend/src/schema/audit-log/schema.ts.html +223 -0
  94. package/coverage/html/backend/src/schema/audit-log/table.ts.html +640 -0
  95. package/coverage/html/backend/src/schema/consent/index.html +146 -0
  96. package/coverage/html/backend/src/schema/consent/registry.ts.html +616 -0
  97. package/coverage/html/backend/src/schema/consent/schema.ts.html +238 -0
  98. package/coverage/html/backend/src/schema/consent/table.ts.html +748 -0
  99. package/coverage/html/backend/src/schema/consent-policy/index.html +146 -0
  100. package/coverage/html/backend/src/schema/consent-policy/registry.ts.html +1063 -0
  101. package/coverage/html/backend/src/schema/consent-policy/schema.ts.html +265 -0
  102. package/coverage/html/backend/src/schema/consent-policy/table.ts.html +535 -0
  103. package/coverage/html/backend/src/schema/consent-purpose/index.html +146 -0
  104. package/coverage/html/backend/src/schema/consent-purpose/registry.ts.html +589 -0
  105. package/coverage/html/backend/src/schema/consent-purpose/schema.ts.html +259 -0
  106. package/coverage/html/backend/src/schema/consent-purpose/table.ts.html +547 -0
  107. package/coverage/html/backend/src/schema/consent-record/index.html +131 -0
  108. package/coverage/html/backend/src/schema/consent-record/schema.ts.html +211 -0
  109. package/coverage/html/backend/src/schema/consent-record/table.ts.html +457 -0
  110. package/coverage/html/backend/src/schema/create-registry.ts.html +148 -0
  111. package/coverage/html/backend/src/schema/definition.ts.html +685 -0
  112. package/coverage/html/backend/src/schema/domain/index.html +146 -0
  113. package/coverage/html/backend/src/schema/domain/registry.ts.html +973 -0
  114. package/coverage/html/backend/src/schema/domain/schema.ts.html +214 -0
  115. package/coverage/html/backend/src/schema/domain/table.ts.html +496 -0
  116. package/coverage/html/backend/src/schema/index.html +146 -0
  117. package/coverage/html/backend/src/schema/schemas.ts.html +166 -0
  118. package/coverage/html/backend/src/schema/subject/index.html +146 -0
  119. package/coverage/html/backend/src/schema/subject/registry.ts.html +973 -0
  120. package/coverage/html/backend/src/schema/subject/schema.ts.html +208 -0
  121. package/coverage/html/backend/src/schema/subject/table.ts.html +499 -0
  122. package/coverage/html/backend/src/server.ts.html +475 -0
  123. package/coverage/html/backend/src/testing/contract-testing.ts.html +1348 -0
  124. package/coverage/html/backend/src/testing/index.html +116 -0
  125. package/coverage/html/base.css +224 -0
  126. package/coverage/html/block-navigation.js +87 -0
  127. package/coverage/html/favicon.png +0 -0
  128. package/coverage/html/index.html +626 -0
  129. package/coverage/html/prettify.css +1 -0
  130. package/coverage/html/prettify.js +2 -0
  131. package/coverage/html/sort-arrow-sprite.png +0 -0
  132. package/coverage/html/sorter.js +196 -0
  133. package/dist/contracts/consent/index.d.ts +401 -0
  134. package/dist/contracts/consent/index.d.ts.map +1 -0
  135. package/dist/contracts/consent/index.test.d.ts +2 -0
  136. package/dist/contracts/consent/index.test.d.ts.map +1 -0
  137. package/dist/contracts/consent/post.contract.d.ts +212 -0
  138. package/dist/contracts/consent/post.contract.d.ts.map +1 -0
  139. package/dist/contracts/consent/post.contract.test.d.ts +2 -0
  140. package/dist/contracts/consent/post.contract.test.d.ts.map +1 -0
  141. package/dist/contracts/consent/show-banner.contract.d.ts +45 -0
  142. package/dist/contracts/consent/show-banner.contract.d.ts.map +1 -0
  143. package/dist/contracts/consent/show-banner.contract.test.d.ts +2 -0
  144. package/dist/contracts/consent/show-banner.contract.test.d.ts.map +1 -0
  145. package/dist/contracts/consent/verify.contract.d.ts +147 -0
  146. package/dist/contracts/consent/verify.contract.d.ts.map +1 -0
  147. package/dist/contracts/consent/verify.contract.test.d.ts +2 -0
  148. package/dist/contracts/consent/verify.contract.test.d.ts.map +1 -0
  149. package/dist/contracts/index.d.ts +963 -0
  150. package/dist/contracts/index.d.ts.map +1 -0
  151. package/dist/contracts/meta/index.d.ts +78 -0
  152. package/dist/contracts/meta/index.d.ts.map +1 -0
  153. package/dist/contracts/meta/index.test.d.ts +2 -0
  154. package/dist/contracts/meta/index.test.d.ts.map +1 -0
  155. package/dist/contracts/meta/status.contract.d.ts +77 -0
  156. package/dist/contracts/meta/status.contract.d.ts.map +1 -0
  157. package/dist/contracts/meta/status.contract.test.d.ts +2 -0
  158. package/dist/contracts/meta/status.contract.test.d.ts.map +1 -0
  159. package/dist/contracts/shared/jurisdiction.schema.d.ts +24 -0
  160. package/dist/contracts/shared/jurisdiction.schema.d.ts.map +1 -0
  161. package/dist/core.cjs +3584 -0
  162. package/dist/core.d.ts +533 -78
  163. package/dist/core.d.ts.map +1 -1
  164. package/dist/{index.js → core.js} +1164 -1292
  165. package/dist/handlers/consent/index.d.ts +401 -0
  166. package/dist/handlers/consent/index.d.ts.map +1 -0
  167. package/dist/handlers/consent/post.handler.d.ts +234 -0
  168. package/dist/handlers/consent/post.handler.d.ts.map +1 -0
  169. package/dist/handlers/consent/show-banner.handler.d.ts +57 -0
  170. package/dist/handlers/consent/show-banner.handler.d.ts.map +1 -0
  171. package/dist/handlers/consent/show-banner.handler.test.d.ts +2 -0
  172. package/dist/handlers/consent/show-banner.handler.test.d.ts.map +1 -0
  173. package/dist/handlers/consent/verify.handler.d.ts +169 -0
  174. package/dist/handlers/consent/verify.handler.d.ts.map +1 -0
  175. package/dist/handlers/meta/index.d.ts +78 -0
  176. package/dist/handlers/meta/index.d.ts.map +1 -0
  177. package/dist/handlers/meta/status.handler.d.ts +76 -0
  178. package/dist/handlers/meta/status.handler.d.ts.map +1 -0
  179. package/dist/init.d.ts +0 -1
  180. package/dist/init.d.ts.map +1 -1
  181. package/dist/pkgs/api-router/hooks/processor.d.ts.map +1 -1
  182. package/dist/pkgs/api-router/types/router-props.d.ts +1 -1
  183. package/dist/pkgs/api-router/types/router-props.d.ts.map +1 -1
  184. package/dist/pkgs/api-router/utils/cors.d.ts +1 -1
  185. package/dist/pkgs/api-router/utils/cors.d.ts.map +1 -1
  186. package/dist/pkgs/data-model/fields/field-types.d.ts +1 -1
  187. package/dist/pkgs/data-model/fields/zod-fields.d.ts +32 -32
  188. package/dist/pkgs/data-model/index.cjs +1433 -1799
  189. package/dist/pkgs/data-model/index.js +20 -385
  190. package/dist/pkgs/data-model/schema/index.cjs +1402 -1768
  191. package/dist/pkgs/data-model/schema/index.js +20 -385
  192. package/dist/pkgs/db-adapters/adapter-factory.d.ts +2 -2
  193. package/dist/pkgs/db-adapters/adapter-factory.d.ts.map +1 -1
  194. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +4 -7
  195. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -1
  196. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +19 -151
  197. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +19 -151
  198. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts +1 -3
  199. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts.map +1 -1
  200. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +17 -149
  201. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +17 -149
  202. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts +0 -1
  203. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -1
  204. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +2 -2
  205. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +1 -1
  206. package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts +0 -2
  207. package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts.map +1 -1
  208. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +17 -149
  209. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +17 -149
  210. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts +0 -1
  211. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts.map +1 -1
  212. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +19 -151
  213. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +19 -151
  214. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts +0 -1
  215. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -1
  216. package/dist/pkgs/db-adapters/index.cjs +31 -153
  217. package/dist/pkgs/db-adapters/index.js +31 -153
  218. package/dist/pkgs/migrations/get-schema/get-schema.d.ts +2 -2
  219. package/dist/pkgs/migrations/get-schema/index.d.ts +1 -1
  220. package/dist/pkgs/migrations/index.cjs +30 -153
  221. package/dist/pkgs/migrations/index.js +30 -153
  222. package/dist/pkgs/migrations/schema-comparison.d.ts.map +1 -1
  223. package/dist/pkgs/results/core/error-class.d.ts +23 -21
  224. package/dist/pkgs/results/core/error-class.d.ts.map +1 -1
  225. package/dist/pkgs/results/index.cjs +17 -150
  226. package/dist/pkgs/results/index.d.ts +0 -3
  227. package/dist/pkgs/results/index.d.ts.map +1 -1
  228. package/dist/pkgs/results/index.js +17 -138
  229. package/dist/pkgs/results/orpc-error-handler.d.ts +65 -0
  230. package/dist/pkgs/results/orpc-error-handler.d.ts.map +1 -0
  231. package/dist/pkgs/results/types.d.ts +7 -7
  232. package/dist/pkgs/results/types.d.ts.map +1 -1
  233. package/dist/pkgs/types/context.d.ts +15 -8
  234. package/dist/pkgs/types/context.d.ts.map +1 -1
  235. package/dist/pkgs/types/endpoints.d.ts +3 -4
  236. package/dist/pkgs/types/endpoints.d.ts.map +1 -1
  237. package/dist/pkgs/types/options.d.ts +2 -4
  238. package/dist/pkgs/types/options.d.ts.map +1 -1
  239. package/dist/pkgs/types/plugins.d.ts +2 -3
  240. package/dist/pkgs/types/plugins.d.ts.map +1 -1
  241. package/dist/pkgs/utils/index.d.ts +1 -0
  242. package/dist/pkgs/utils/index.d.ts.map +1 -1
  243. package/dist/pkgs/utils/logger.d.ts +16 -0
  244. package/dist/pkgs/utils/logger.d.ts.map +1 -0
  245. package/dist/router.cjs +1213 -0
  246. package/dist/router.d.ts +480 -0
  247. package/dist/router.d.ts.map +1 -0
  248. package/dist/router.js +1169 -0
  249. package/dist/schema/audit-log/table.d.ts +1 -1
  250. package/dist/schema/consent/table.d.ts +1 -1
  251. package/dist/schema/consent-policy/registry.d.ts +12 -12
  252. package/dist/schema/consent-policy/schema.d.ts +6 -6
  253. package/dist/schema/consent-policy/table.d.ts +7 -7
  254. package/dist/schema/consent-purpose/registry.d.ts +6 -6
  255. package/dist/schema/consent-purpose/schema.d.ts +6 -6
  256. package/dist/schema/consent-purpose/table.d.ts +7 -7
  257. package/dist/schema/consent-record/table.d.ts +1 -1
  258. package/dist/schema/create-registry.d.ts +32 -32
  259. package/dist/schema/definition.d.ts +19 -19
  260. package/dist/schema/domain/registry.d.ts +10 -10
  261. package/dist/schema/domain/schema.d.ts +5 -5
  262. package/dist/schema/domain/table.d.ts +6 -6
  263. package/dist/schema/index.cjs +1409 -1775
  264. package/dist/schema/index.js +20 -385
  265. package/dist/schema/schemas.d.ts +19 -19
  266. package/dist/schema/subject/registry.d.ts +4 -4
  267. package/dist/schema/subject/schema.d.ts +2 -2
  268. package/dist/schema/subject/table.d.ts +3 -3
  269. package/dist/server.d.ts +2 -0
  270. package/dist/server.d.ts.map +1 -0
  271. package/dist/testing/contract-testing.d.ts +37 -0
  272. package/dist/testing/contract-testing.d.ts.map +1 -0
  273. package/dist/types/context.d.ts +1 -1
  274. package/dist/types/index.d.ts +2 -2
  275. package/dist/types/options.d.ts +33 -3
  276. package/dist/types/options.d.ts.map +1 -1
  277. package/dist/types/plugins.d.ts +3 -4
  278. package/dist/types/plugins.d.ts.map +1 -1
  279. package/package.json +20 -28
  280. package/rslib.config.ts +2 -5
  281. package/src/contracts/consent/index.test.ts +5 -0
  282. package/src/contracts/consent/index.ts +9 -0
  283. package/src/contracts/consent/post.contract.test.ts +526 -0
  284. package/src/contracts/consent/post.contract.ts +160 -0
  285. package/src/contracts/consent/show-banner.contract.test.ts +214 -0
  286. package/src/contracts/consent/show-banner.contract.ts +45 -0
  287. package/src/contracts/consent/verify.contract.test.ts +185 -0
  288. package/src/contracts/consent/verify.contract.ts +126 -0
  289. package/src/contracts/index.ts +18 -0
  290. package/src/contracts/meta/index.test.ts +5 -0
  291. package/src/contracts/meta/index.ts +5 -0
  292. package/src/contracts/meta/status.contract.test.ts +338 -0
  293. package/src/contracts/meta/status.contract.ts +37 -0
  294. package/src/contracts/shared/jurisdiction.schema.ts +30 -0
  295. package/src/core.ts +451 -161
  296. package/src/handlers/consent/index.ts +9 -0
  297. package/src/handlers/consent/post.handler.ts +273 -0
  298. package/src/handlers/consent/show-banner.handler.test.ts +148 -0
  299. package/src/handlers/consent/show-banner.handler.ts +150 -0
  300. package/src/handlers/consent/verify.handler.ts +305 -0
  301. package/src/handlers/meta/index.ts +5 -0
  302. package/src/handlers/meta/status.handler.ts +47 -0
  303. package/src/init.ts +8 -26
  304. package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +6 -0
  305. package/src/pkgs/api-router/hooks/processor.ts +2 -0
  306. package/src/pkgs/api-router/types/router-props.ts +1 -1
  307. package/src/pkgs/api-router/utils/cors.ts +1 -1
  308. package/src/pkgs/data-model/fields/field-types.ts +1 -1
  309. package/src/pkgs/data-model/fields/id-generator.ts +1 -1
  310. package/src/pkgs/db-adapters/README.md +3 -3
  311. package/src/pkgs/db-adapters/adapter-factory.ts +8 -4
  312. package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +13 -16
  313. package/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts +1 -3
  314. package/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts +0 -1
  315. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +1 -1
  316. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +1 -1
  317. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +2 -2
  318. package/src/pkgs/db-adapters/adapters/kysely-adapter/types.ts +0 -2
  319. package/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts +0 -1
  320. package/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts +0 -1
  321. package/src/pkgs/migrations/get-migration.ts +3 -3
  322. package/src/pkgs/migrations/get-schema/get-schema.ts +2 -2
  323. package/src/pkgs/migrations/get-schema/index.ts +1 -1
  324. package/src/pkgs/migrations/migration-builders.ts +2 -2
  325. package/src/pkgs/migrations/migration-execution.ts +2 -2
  326. package/src/pkgs/migrations/schema-comparison.ts +5 -4
  327. package/src/pkgs/results/__tests__/error-class.test.ts +8 -7
  328. package/src/pkgs/results/core/error-class.ts +31 -43
  329. package/src/pkgs/results/index.ts +0 -10
  330. package/src/pkgs/results/orpc-error-handler.ts +137 -0
  331. package/src/pkgs/results/types.ts +8 -7
  332. package/src/pkgs/types/context.ts +18 -9
  333. package/src/pkgs/types/endpoints.ts +3 -5
  334. package/src/pkgs/types/options.ts +2 -4
  335. package/src/pkgs/types/plugins.ts +2 -3
  336. package/src/pkgs/utils/index.ts +1 -0
  337. package/src/pkgs/utils/logger.ts +38 -0
  338. package/src/router.ts +8 -0
  339. package/src/schema/audit-log/table.ts +1 -1
  340. package/src/schema/consent/table.ts +1 -1
  341. package/src/schema/consent-policy/table.ts +1 -1
  342. package/src/schema/consent-purpose/table.ts +1 -1
  343. package/src/schema/consent-record/table.ts +1 -1
  344. package/src/schema/definition.ts +2 -2
  345. package/src/schema/domain/table.ts +1 -1
  346. package/src/schema/subject/table.ts +1 -1
  347. package/src/server.ts +130 -0
  348. package/src/testing/contract-testing.ts +437 -0
  349. package/src/types/context.ts +1 -1
  350. package/src/types/index.ts +2 -2
  351. package/src/types/options.ts +38 -3
  352. package/src/types/plugins.ts +3 -4
  353. package/dist/index.cjs +0 -3706
  354. package/dist/index.d.ts +0 -11
  355. package/dist/index.d.ts.map +0 -1
  356. package/dist/init.test.d.ts +0 -2
  357. package/dist/init.test.d.ts.map +0 -1
  358. package/dist/integrations/cloudflare.cjs +0 -312
  359. package/dist/integrations/cloudflare.d.ts +0 -32
  360. package/dist/integrations/cloudflare.d.ts.map +0 -1
  361. package/dist/integrations/cloudflare.js +0 -278
  362. package/dist/integrations/next.cjs +0 -276
  363. package/dist/integrations/next.d.ts +0 -68
  364. package/dist/integrations/next.d.ts.map +0 -1
  365. package/dist/integrations/next.js +0 -239
  366. package/dist/integrations/node.cjs +0 -257
  367. package/dist/integrations/node.d.ts +0 -29
  368. package/dist/integrations/node.d.ts.map +0 -1
  369. package/dist/integrations/node.js +0 -223
  370. package/dist/pkgs/api-router/index.d.ts +0 -9
  371. package/dist/pkgs/api-router/index.d.ts.map +0 -1
  372. package/dist/pkgs/api-router/utils/define-route.d.ts +0 -87
  373. package/dist/pkgs/api-router/utils/define-route.d.ts.map +0 -1
  374. package/dist/pkgs/logger/__tests__/console-formatter.test.d.ts +0 -2
  375. package/dist/pkgs/logger/__tests__/console-formatter.test.d.ts.map +0 -1
  376. package/dist/pkgs/logger/__tests__/integration.test.d.ts +0 -2
  377. package/dist/pkgs/logger/__tests__/integration.test.d.ts.map +0 -1
  378. package/dist/pkgs/logger/__tests__/log-levels.test.d.ts +0 -2
  379. package/dist/pkgs/logger/__tests__/log-levels.test.d.ts.map +0 -1
  380. package/dist/pkgs/logger/__tests__/logger-factory.test.d.ts +0 -2
  381. package/dist/pkgs/logger/__tests__/logger-factory.test.d.ts.map +0 -1
  382. package/dist/pkgs/logger/__tests__/result-logging.test.d.ts +0 -2
  383. package/dist/pkgs/logger/__tests__/result-logging.test.d.ts.map +0 -1
  384. package/dist/pkgs/logger/__tests__/types.test.d.ts +0 -2
  385. package/dist/pkgs/logger/__tests__/types.test.d.ts.map +0 -1
  386. package/dist/pkgs/logger/console-formatter.d.ts +0 -56
  387. package/dist/pkgs/logger/console-formatter.d.ts.map +0 -1
  388. package/dist/pkgs/logger/index.cjs +0 -240
  389. package/dist/pkgs/logger/index.d.ts +0 -35
  390. package/dist/pkgs/logger/index.d.ts.map +0 -1
  391. package/dist/pkgs/logger/index.js +0 -185
  392. package/dist/pkgs/logger/log-levels.d.ts +0 -29
  393. package/dist/pkgs/logger/log-levels.d.ts.map +0 -1
  394. package/dist/pkgs/logger/logger-factory.d.ts +0 -42
  395. package/dist/pkgs/logger/logger-factory.d.ts.map +0 -1
  396. package/dist/pkgs/logger/result-logging.d.ts +0 -71
  397. package/dist/pkgs/logger/result-logging.d.ts.map +0 -1
  398. package/dist/pkgs/logger/telemetry.d.ts +0 -14
  399. package/dist/pkgs/logger/telemetry.d.ts.map +0 -1
  400. package/dist/pkgs/logger/types.d.ts +0 -121
  401. package/dist/pkgs/logger/types.d.ts.map +0 -1
  402. package/dist/pkgs/results/__tests__/retrieval-pipeline.test.d.ts +0 -2
  403. package/dist/pkgs/results/__tests__/retrieval-pipeline.test.d.ts.map +0 -1
  404. package/dist/pkgs/results/__tests__/validation-pipeline.test.d.ts +0 -2
  405. package/dist/pkgs/results/__tests__/validation-pipeline.test.d.ts.map +0 -1
  406. package/dist/pkgs/results/h3-integration.d.ts +0 -52
  407. package/dist/pkgs/results/h3-integration.d.ts.map +0 -1
  408. package/dist/pkgs/results/pipeline/retrieval-pipeline.d.ts +0 -101
  409. package/dist/pkgs/results/pipeline/retrieval-pipeline.d.ts.map +0 -1
  410. package/dist/pkgs/results/pipeline/validation-pipeline.d.ts +0 -89
  411. package/dist/pkgs/results/pipeline/validation-pipeline.d.ts.map +0 -1
  412. package/dist/response-types.d.ts +0 -19
  413. package/dist/response-types.d.ts.map +0 -1
  414. package/dist/routes/__test__/index.test.d.ts +0 -17
  415. package/dist/routes/__test__/index.test.d.ts.map +0 -1
  416. package/dist/routes/__test__/set-consent.test.d.ts +0 -2
  417. package/dist/routes/__test__/set-consent.test.d.ts.map +0 -1
  418. package/dist/routes/__test__/show-consent-banner.test.d.ts +0 -2
  419. package/dist/routes/__test__/show-consent-banner.test.d.ts.map +0 -1
  420. package/dist/routes/__test__/status.test.d.ts +0 -2
  421. package/dist/routes/__test__/status.test.d.ts.map +0 -1
  422. package/dist/routes/__test__/verify-consent.test.d.ts +0 -2
  423. package/dist/routes/__test__/verify-consent.test.d.ts.map +0 -1
  424. package/dist/routes/index.d.ts +0 -3
  425. package/dist/routes/index.d.ts.map +0 -1
  426. package/dist/routes/set-consent.d.ts +0 -89
  427. package/dist/routes/set-consent.d.ts.map +0 -1
  428. package/dist/routes/show-consent-banner.d.ts +0 -15
  429. package/dist/routes/show-consent-banner.d.ts.map +0 -1
  430. package/dist/routes/status.d.ts +0 -44
  431. package/dist/routes/status.d.ts.map +0 -1
  432. package/dist/routes/types.d.ts +0 -7
  433. package/dist/routes/types.d.ts.map +0 -1
  434. package/dist/routes/verify-consent.d.ts +0 -38
  435. package/dist/routes/verify-consent.d.ts.map +0 -1
  436. package/src/docs/ADVANCED_JSON_HANDLING.md +0 -99
  437. package/src/docs/neverthrow.md +0 -171
  438. package/src/index.ts +0 -34
  439. package/src/init.test.ts +0 -236
  440. package/src/integrations/cloudflare.ts +0 -269
  441. package/src/integrations/next.ts +0 -204
  442. package/src/integrations/node.ts +0 -141
  443. package/src/pkgs/api-router/index.ts +0 -148
  444. package/src/pkgs/api-router/types/h3.d.ts +0 -42
  445. package/src/pkgs/api-router/utils/define-route.ts +0 -410
  446. package/src/pkgs/logger/README.md +0 -213
  447. package/src/pkgs/logger/__tests__/console-formatter.test.ts +0 -67
  448. package/src/pkgs/logger/__tests__/integration.test.ts +0 -184
  449. package/src/pkgs/logger/__tests__/log-levels.test.ts +0 -77
  450. package/src/pkgs/logger/__tests__/logger-factory.test.ts +0 -156
  451. package/src/pkgs/logger/__tests__/result-logging.test.ts +0 -209
  452. package/src/pkgs/logger/__tests__/types.test.ts +0 -94
  453. package/src/pkgs/logger/console-formatter.ts +0 -75
  454. package/src/pkgs/logger/doc.md +0 -569
  455. package/src/pkgs/logger/index.ts +0 -59
  456. package/src/pkgs/logger/log-levels.ts +0 -46
  457. package/src/pkgs/logger/logger-factory.ts +0 -121
  458. package/src/pkgs/logger/result-logging.ts +0 -134
  459. package/src/pkgs/logger/telemetry.ts +0 -96
  460. package/src/pkgs/logger/types.ts +0 -138
  461. package/src/pkgs/results/__tests__/retrieval-pipeline.test.ts +0 -157
  462. package/src/pkgs/results/__tests__/validation-pipeline.test.ts +0 -151
  463. package/src/pkgs/results/h3-integration.ts +0 -142
  464. package/src/pkgs/results/pipeline/retrieval-pipeline.ts +0 -188
  465. package/src/pkgs/results/pipeline/validation-pipeline.ts +0 -164
  466. package/src/plugins/.keep +0 -0
  467. package/src/response-types.ts +0 -29
  468. package/src/routes/__test__/index.test.ts +0 -112
  469. package/src/routes/__test__/set-consent.test.ts +0 -242
  470. package/src/routes/__test__/show-consent-banner.test.ts +0 -98
  471. package/src/routes/__test__/status.test.ts +0 -64
  472. package/src/routes/__test__/verify-consent.test.ts +0 -266
  473. package/src/routes/index.ts +0 -12
  474. package/src/routes/set-consent.ts +0 -249
  475. package/src/routes/show-consent-banner.ts +0 -131
  476. package/src/routes/status.ts +0 -61
  477. package/src/routes/types.ts +0 -7
  478. package/src/routes/verify-consent.ts +0 -206
package/dist/core.d.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  import type { C15TContext, C15TOptions, C15TPlugin } from './types';
2
- import { type SDKResult, type SDKResultAsync } from './pkgs/results';
3
- import type { Route } from './routes/types';
2
+ import { router } from './router';
3
+ /**
4
+ * Type representing an API route
5
+ */
6
+ export type Route = {
7
+ path: string;
8
+ method: string;
9
+ description?: string;
10
+ };
4
11
  /**
5
12
  * Interface representing a configured c15t consent management instance.
6
13
  *
@@ -11,8 +18,7 @@ import type { Route } from './routes/types';
11
18
  * management system. It includes methods for handling requests, accessing API
12
19
  * endpoints, and managing the system's configuration.
13
20
  *
14
- * All asynchronous operations return {@link SDKResultAsync} types for
15
- * consistent error handling across the system.
21
+ * All asynchronous operations return Promises for consistent error handling.
16
22
  *
17
23
  * @example
18
24
  * ```typescript
@@ -30,95 +36,544 @@ export interface C15TInstance<PluginTypes extends C15TPlugin[] = C15TPlugin[]> {
30
36
  * Processes incoming HTTP requests and routes them to appropriate handlers.
31
37
  *
32
38
  * @param request - The incoming web request
33
- * @returns A Promise resolving to a Result containing the HTTP response
34
- *
35
- * @throws Never - All errors are captured in the Result type
39
+ * @returns A Promise containing the HTTP response
36
40
  *
37
41
  * @example
38
42
  * ```typescript
39
- * const result = await instance.handler(request);
40
- * result.match(
41
- * response => sendResponse(response),
42
- * error => handleError(error)
43
- * );
43
+ * try {
44
+ * const response = await instance.handler(request);
45
+ * sendResponse(response);
46
+ * } catch (error) {
47
+ * handleError(error);
48
+ * }
44
49
  * ```
45
50
  */
46
- handler: (request: Request) => Promise<SDKResultAsync<Response>>;
47
- /**
48
- * Retrieves available API endpoints and their configurations.
49
- *
50
- * @returns A Promise resolving to a Result containing the available API endpoints
51
- *
52
- * @throws Never - All errors are captured in the Result type
53
- *
54
- * @example
55
- * ```typescript
56
- * const endpoints = await instance.getApi();
57
- * endpoints.map(
58
- * apis => console.log('Available endpoints:', apis),
59
- * error => console.error('Failed to get endpoints:', error)
60
- * );
61
- * ```
62
- */
63
- getApi: () => Promise<SDKResultAsync<Route[]>>;
51
+ handler: (request: Request) => Promise<Response>;
64
52
  /**
65
53
  * The configuration options used for this instance.
66
54
  */
67
55
  options: C15TOptions<PluginTypes>;
68
56
  /**
69
- * Access to the underlying context as a Result type.
57
+ * Access to the underlying context.
58
+ */
59
+ $context: Promise<C15TContext>;
60
+ /**
61
+ * Access to the router for direct usage.
62
+ */
63
+ router: typeof router;
64
+ /**
65
+ * Generates and returns the OpenAPI specification as a JSON object.
70
66
  *
71
- * @remarks
72
- * The context is wrapped in a Result type to ensure error handling
73
- * consistency. Access should be handled using Result pattern methods.
67
+ * @returns A Promise containing the OpenAPI specification
74
68
  */
75
- $context: Promise<SDKResult<C15TContext>>;
69
+ getOpenAPISpec: () => Promise<Record<string, unknown>>;
70
+ /**
71
+ * Returns an HTML document with the API documentation UI.
72
+ *
73
+ * @returns An HTML string with the API reference UI
74
+ */
75
+ getDocsUI: () => string;
76
76
  }
77
77
  /**
78
78
  * Creates a new c15t consent management instance.
79
79
  *
80
- * @typeParam PluginTypes - Array of plugin types to be used in this instance
81
- * @typeParam ConfigOptions - Configuration options extending the base C15TOptions
82
- *
83
- * @param options - Configuration options for the consent management system
84
- * @returns A configured C15TInstance ready for use
85
- *
86
- * @remarks
87
- * This is the main factory function for creating c15t instances. It initializes
88
- * the consent management system with the provided configuration and sets up all
89
- * necessary components including:
90
- *
91
- * - Database adapters
92
- * - Plugin system
93
- * - Request handlers
94
- * - API endpoints
95
- * - CORS configuration
96
- *
97
- * All async operations use the Result pattern for error handling, ensuring
98
- * that errors are handled consistently throughout the system.
99
- *
100
- * @example
101
- * Basic initialization:
102
- * ```typescript
103
- * import { c15tInstance } from '@c15t/backend';
104
- *
105
- * const manager = c15tInstance({
106
- * secret: process.env.SECRET_KEY,
107
- * storage: memoryAdapter()
108
- * });
109
- * ```
110
- *
111
- * @example
112
- * Advanced initialization with type parameters:
113
- * ```typescript
114
- * type MyPlugins = [typeof geoPlugin, typeof analyticsPlugin];
115
- *
116
- * const c15t = c15tInstance<MyPlugins>({
117
- * secret: process.env.SECRET_KEY,
118
- * storage: kyselyAdapter(db),
119
- * plugins: [geoPlugin(), analyticsPlugin()]
120
- * });
121
- * ```
80
+ * This version provides a unified handler that works with oRPC to handle requests.
122
81
  */
123
- export declare const c15tInstance: <PluginTypes extends C15TPlugin[] = C15TPlugin[]>(options: C15TOptions<PluginTypes>) => C15TInstance<PluginTypes>;
82
+ export declare const c15tInstance: <PluginTypes extends C15TPlugin[] = C15TPlugin[]>(options: C15TOptions<PluginTypes>) => {
83
+ getOpenAPISpec: (() => Promise<Record<string, unknown>>) & {
84
+ cached?: Record<string, unknown>;
85
+ };
86
+ getDocsUI: () => string;
87
+ GET: (request: Request) => Promise<Response>;
88
+ POST: (request: Request) => Promise<Response>;
89
+ PUT: (request: Request) => Promise<Response>;
90
+ PATCH: (request: Request) => Promise<Response>;
91
+ DELETE: (request: Request) => Promise<Response>;
92
+ OPTIONS: (request: Request) => Promise<Response>;
93
+ HEAD: (request: Request) => Promise<Response>;
94
+ options: C15TOptions<PluginTypes>;
95
+ $context: Promise<C15TContext>;
96
+ router: {
97
+ consent: {
98
+ post: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, import("zod").ZodDiscriminatedUnion<"type", [import("zod").ZodObject<import("zod").objectUtil.extendShape<{
99
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
100
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
101
+ domain: import("zod").ZodString;
102
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
103
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
104
+ }, {
105
+ type: import("zod").ZodLiteral<"cookie_banner">;
106
+ preferences: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>;
107
+ }>, "strip", import("zod").ZodTypeAny, {
108
+ type: "cookie_banner";
109
+ domain: string;
110
+ preferences: Record<string, boolean>;
111
+ subjectId?: string | undefined;
112
+ metadata?: Record<string, unknown> | undefined;
113
+ externalSubjectId?: string | undefined;
114
+ }, {
115
+ type: "cookie_banner";
116
+ domain: string;
117
+ preferences: Record<string, boolean>;
118
+ subjectId?: string | undefined;
119
+ metadata?: Record<string, unknown> | undefined;
120
+ externalSubjectId?: string | undefined;
121
+ }>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
122
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
123
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
124
+ domain: import("zod").ZodString;
125
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
126
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
127
+ }, {
128
+ type: import("zod").ZodEnum<["privacy_policy", "dpa", "terms_and_conditions"]>;
129
+ policyId: import("zod").ZodOptional<import("zod").ZodString>;
130
+ preferences: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>>;
131
+ }>, "strip", import("zod").ZodTypeAny, {
132
+ type: "privacy_policy" | "dpa" | "terms_and_conditions";
133
+ domain: string;
134
+ subjectId?: string | undefined;
135
+ metadata?: Record<string, unknown> | undefined;
136
+ policyId?: string | undefined;
137
+ externalSubjectId?: string | undefined;
138
+ preferences?: Record<string, boolean> | undefined;
139
+ }, {
140
+ type: "privacy_policy" | "dpa" | "terms_and_conditions";
141
+ domain: string;
142
+ subjectId?: string | undefined;
143
+ metadata?: Record<string, unknown> | undefined;
144
+ policyId?: string | undefined;
145
+ externalSubjectId?: string | undefined;
146
+ preferences?: Record<string, boolean> | undefined;
147
+ }>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
148
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
149
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
150
+ domain: import("zod").ZodString;
151
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
152
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
153
+ }, {
154
+ type: import("zod").ZodEnum<["marketing_communications", "age_verification", "other"]>;
155
+ preferences: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>>;
156
+ }>, "strip", import("zod").ZodTypeAny, {
157
+ type: "marketing_communications" | "age_verification" | "other";
158
+ domain: string;
159
+ subjectId?: string | undefined;
160
+ metadata?: Record<string, unknown> | undefined;
161
+ externalSubjectId?: string | undefined;
162
+ preferences?: Record<string, boolean> | undefined;
163
+ }, {
164
+ type: "marketing_communications" | "age_verification" | "other";
165
+ domain: string;
166
+ subjectId?: string | undefined;
167
+ metadata?: Record<string, unknown> | undefined;
168
+ externalSubjectId?: string | undefined;
169
+ preferences?: Record<string, boolean> | undefined;
170
+ }>]>, import("zod").ZodObject<{
171
+ id: import("zod").ZodString;
172
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
173
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
174
+ domainId: import("zod").ZodString;
175
+ domain: import("zod").ZodString;
176
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
177
+ status: import("zod").ZodString;
178
+ recordId: import("zod").ZodString;
179
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
180
+ givenAt: import("zod").ZodDate;
181
+ }, "strip", import("zod").ZodTypeAny, {
182
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
183
+ status: string;
184
+ id: string;
185
+ domain: string;
186
+ domainId: string;
187
+ givenAt: Date;
188
+ recordId: string;
189
+ subjectId?: string | undefined;
190
+ metadata?: Record<string, unknown> | undefined;
191
+ externalSubjectId?: string | undefined;
192
+ }, {
193
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
194
+ status: string;
195
+ id: string;
196
+ domain: string;
197
+ domainId: string;
198
+ givenAt: Date;
199
+ recordId: string;
200
+ subjectId?: string | undefined;
201
+ metadata?: Record<string, unknown> | undefined;
202
+ externalSubjectId?: string | undefined;
203
+ }>, import("@orpc/contract").MergedErrorMap<Record<never, never>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
204
+ INPUT_VALIDATION_FAILED: {
205
+ status: number;
206
+ message: string;
207
+ data: import("zod").ZodObject<{
208
+ formErrors: import("zod").ZodArray<import("zod").ZodString, "many">;
209
+ fieldErrors: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString, "many">>;
210
+ }, "strip", import("zod").ZodTypeAny, {
211
+ formErrors: string[];
212
+ fieldErrors: Record<string, string[]>;
213
+ }, {
214
+ formErrors: string[];
215
+ fieldErrors: Record<string, string[]>;
216
+ }>;
217
+ };
218
+ SUBJECT_CREATION_FAILED: {
219
+ status: number;
220
+ message: string;
221
+ data: import("zod").ZodObject<{
222
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
223
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
224
+ }, "strip", import("zod").ZodTypeAny, {
225
+ subjectId?: string | undefined;
226
+ externalSubjectId?: string | undefined;
227
+ }, {
228
+ subjectId?: string | undefined;
229
+ externalSubjectId?: string | undefined;
230
+ }>;
231
+ };
232
+ DOMAIN_CREATION_FAILED: {
233
+ status: number;
234
+ message: string;
235
+ data: import("zod").ZodObject<{
236
+ domain: import("zod").ZodString;
237
+ }, "strip", import("zod").ZodTypeAny, {
238
+ domain: string;
239
+ }, {
240
+ domain: string;
241
+ }>;
242
+ };
243
+ POLICY_NOT_FOUND: {
244
+ status: number;
245
+ message: string;
246
+ data: import("zod").ZodObject<{
247
+ policyId: import("zod").ZodString;
248
+ type: import("zod").ZodString;
249
+ }, "strip", import("zod").ZodTypeAny, {
250
+ type: string;
251
+ policyId: string;
252
+ }, {
253
+ type: string;
254
+ policyId: string;
255
+ }>;
256
+ };
257
+ POLICY_INACTIVE: {
258
+ status: number;
259
+ message: string;
260
+ data: import("zod").ZodObject<{
261
+ policyId: import("zod").ZodString;
262
+ type: import("zod").ZodString;
263
+ }, "strip", import("zod").ZodTypeAny, {
264
+ type: string;
265
+ policyId: string;
266
+ }, {
267
+ type: string;
268
+ policyId: string;
269
+ }>;
270
+ };
271
+ POLICY_CREATION_FAILED: {
272
+ status: number;
273
+ message: string;
274
+ data: import("zod").ZodObject<{
275
+ type: import("zod").ZodString;
276
+ }, "strip", import("zod").ZodTypeAny, {
277
+ type: string;
278
+ }, {
279
+ type: string;
280
+ }>;
281
+ };
282
+ PURPOSE_CREATION_FAILED: {
283
+ status: number;
284
+ message: string;
285
+ data: import("zod").ZodObject<{
286
+ purposeCode: import("zod").ZodString;
287
+ }, "strip", import("zod").ZodTypeAny, {
288
+ purposeCode: string;
289
+ }, {
290
+ purposeCode: string;
291
+ }>;
292
+ };
293
+ CONSENT_CREATION_FAILED: {
294
+ status: number;
295
+ message: string;
296
+ data: import("zod").ZodObject<{
297
+ subjectId: import("zod").ZodString;
298
+ domain: import("zod").ZodString;
299
+ }, "strip", import("zod").ZodTypeAny, {
300
+ subjectId: string;
301
+ domain: string;
302
+ }, {
303
+ subjectId: string;
304
+ domain: string;
305
+ }>;
306
+ };
307
+ }>>, Record<never, never>>;
308
+ showBanner: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
309
+ showConsentBanner: import("zod").ZodBoolean;
310
+ jurisdiction: import("zod").ZodObject<{
311
+ code: import("zod").ZodEnum<["GDPR", "CH", "BR", "PIPEDA", "AU", "APPI", "PIPA", "NONE"]>;
312
+ message: import("zod").ZodString;
313
+ }, "strip", import("zod").ZodTypeAny, {
314
+ code: "GDPR" | "CH" | "BR" | "PIPEDA" | "AU" | "APPI" | "PIPA" | "NONE";
315
+ message: string;
316
+ }, {
317
+ code: "GDPR" | "CH" | "BR" | "PIPEDA" | "AU" | "APPI" | "PIPA" | "NONE";
318
+ message: string;
319
+ }>;
320
+ location: import("zod").ZodObject<{
321
+ countryCode: import("zod").ZodNullable<import("zod").ZodString>;
322
+ regionCode: import("zod").ZodNullable<import("zod").ZodString>;
323
+ }, "strip", import("zod").ZodTypeAny, {
324
+ countryCode: string | null;
325
+ regionCode: string | null;
326
+ }, {
327
+ countryCode: string | null;
328
+ regionCode: string | null;
329
+ }>;
330
+ }, "strip", import("zod").ZodTypeAny, {
331
+ showConsentBanner: boolean;
332
+ jurisdiction: {
333
+ code: "GDPR" | "CH" | "BR" | "PIPEDA" | "AU" | "APPI" | "PIPA" | "NONE";
334
+ message: string;
335
+ };
336
+ location: {
337
+ countryCode: string | null;
338
+ regionCode: string | null;
339
+ };
340
+ }, {
341
+ showConsentBanner: boolean;
342
+ jurisdiction: {
343
+ code: "GDPR" | "CH" | "BR" | "PIPEDA" | "AU" | "APPI" | "PIPA" | "NONE";
344
+ message: string;
345
+ };
346
+ location: {
347
+ countryCode: string | null;
348
+ regionCode: string | null;
349
+ };
350
+ }>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
351
+ verify: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, import("zod").ZodObject<{
352
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
353
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
354
+ domain: import("zod").ZodString;
355
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
356
+ policyId: import("zod").ZodOptional<import("zod").ZodString>;
357
+ preferences: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
358
+ }, "strict", import("zod").ZodTypeAny, {
359
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
360
+ domain: string;
361
+ subjectId?: string | undefined;
362
+ policyId?: string | undefined;
363
+ externalSubjectId?: string | undefined;
364
+ preferences?: string[] | undefined;
365
+ }, {
366
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
367
+ domain: string;
368
+ subjectId?: string | undefined;
369
+ policyId?: string | undefined;
370
+ externalSubjectId?: string | undefined;
371
+ preferences?: string[] | undefined;
372
+ }>, import("zod").ZodObject<{
373
+ isValid: import("zod").ZodBoolean;
374
+ reasons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
375
+ consent: import("zod").ZodOptional<import("zod").ZodObject<{
376
+ id: import("zod").ZodString;
377
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
378
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
379
+ id: import("zod").ZodString;
380
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
381
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
382
+ id: import("zod").ZodString;
383
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
384
+ }, import("zod").ZodTypeAny, "passthrough">>>;
385
+ }, "strip", import("zod").ZodTypeAny, {
386
+ isValid: boolean;
387
+ consent?: import("zod").objectOutputType<{
388
+ id: import("zod").ZodString;
389
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
390
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
391
+ reasons?: string[] | undefined;
392
+ }, {
393
+ isValid: boolean;
394
+ consent?: import("zod").objectInputType<{
395
+ id: import("zod").ZodString;
396
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
397
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
398
+ reasons?: string[] | undefined;
399
+ }>, import("@orpc/contract").MergedErrorMap<Record<never, never>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
400
+ INPUT_VALIDATION_FAILED: {
401
+ status: number;
402
+ message: string;
403
+ data: import("zod").ZodObject<{
404
+ formErrors: import("zod").ZodArray<import("zod").ZodString, "many">;
405
+ fieldErrors: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>>;
406
+ }, "strip", import("zod").ZodTypeAny, {
407
+ formErrors: string[];
408
+ fieldErrors: Record<string, string[] | undefined>;
409
+ }, {
410
+ formErrors: string[];
411
+ fieldErrors: Record<string, string[] | undefined>;
412
+ }>;
413
+ };
414
+ SUBJECT_NOT_FOUND: {
415
+ status: number;
416
+ message: string;
417
+ data: import("zod").ZodObject<{
418
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
419
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
420
+ }, "strip", import("zod").ZodTypeAny, {
421
+ subjectId?: string | undefined;
422
+ externalSubjectId?: string | undefined;
423
+ }, {
424
+ subjectId?: string | undefined;
425
+ externalSubjectId?: string | undefined;
426
+ }>;
427
+ };
428
+ DOMAIN_NOT_FOUND: {
429
+ status: number;
430
+ message: string;
431
+ data: import("zod").ZodObject<{
432
+ domain: import("zod").ZodString;
433
+ }, "strip", import("zod").ZodTypeAny, {
434
+ domain: string;
435
+ }, {
436
+ domain: string;
437
+ }>;
438
+ };
439
+ POLICY_NOT_FOUND: {
440
+ status: number;
441
+ message: string;
442
+ data: import("zod").ZodObject<{
443
+ policyId: import("zod").ZodString;
444
+ type: import("zod").ZodString;
445
+ }, "strip", import("zod").ZodTypeAny, {
446
+ type: string;
447
+ policyId: string;
448
+ }, {
449
+ type: string;
450
+ policyId: string;
451
+ }>;
452
+ };
453
+ PURPOSES_NOT_FOUND: {
454
+ status: number;
455
+ message: string;
456
+ data: import("zod").ZodObject<{
457
+ preferences: import("zod").ZodArray<import("zod").ZodString, "many">;
458
+ foundPurposes: import("zod").ZodArray<import("zod").ZodString, "many">;
459
+ }, "strip", import("zod").ZodTypeAny, {
460
+ preferences: string[];
461
+ foundPurposes: string[];
462
+ }, {
463
+ preferences: string[];
464
+ foundPurposes: string[];
465
+ }>;
466
+ };
467
+ COOKIE_BANNER_PREFERENCES_REQUIRED: {
468
+ status: number;
469
+ message: string;
470
+ data: import("zod").ZodObject<{
471
+ type: import("zod").ZodLiteral<"cookie_banner">;
472
+ }, "strip", import("zod").ZodTypeAny, {
473
+ type: "cookie_banner";
474
+ }, {
475
+ type: "cookie_banner";
476
+ }>;
477
+ };
478
+ NO_CONSENT_FOUND: {
479
+ status: number;
480
+ message: string;
481
+ data: import("zod").ZodObject<{
482
+ policyId: import("zod").ZodString;
483
+ subjectId: import("zod").ZodString;
484
+ domainId: import("zod").ZodString;
485
+ }, "strip", import("zod").ZodTypeAny, {
486
+ subjectId: string;
487
+ domainId: string;
488
+ policyId: string;
489
+ }, {
490
+ subjectId: string;
491
+ domainId: string;
492
+ policyId: string;
493
+ }>;
494
+ };
495
+ }>>, Record<never, never>>;
496
+ };
497
+ meta: {
498
+ status: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
499
+ status: import("zod").ZodEnum<["ok", "error"]>;
500
+ version: import("zod").ZodString;
501
+ timestamp: import("zod").ZodDate;
502
+ storage: import("zod").ZodObject<{
503
+ type: import("zod").ZodString;
504
+ available: import("zod").ZodBoolean;
505
+ }, "strip", import("zod").ZodTypeAny, {
506
+ type: string;
507
+ available: boolean;
508
+ }, {
509
+ type: string;
510
+ available: boolean;
511
+ }>;
512
+ client: import("zod").ZodObject<{
513
+ ip: import("zod").ZodNullable<import("zod").ZodString>;
514
+ userAgent: import("zod").ZodNullable<import("zod").ZodString>;
515
+ region: import("zod").ZodObject<{
516
+ countryCode: import("zod").ZodNullable<import("zod").ZodString>;
517
+ regionCode: import("zod").ZodNullable<import("zod").ZodString>;
518
+ }, "strip", import("zod").ZodTypeAny, {
519
+ countryCode: string | null;
520
+ regionCode: string | null;
521
+ }, {
522
+ countryCode: string | null;
523
+ regionCode: string | null;
524
+ }>;
525
+ }, "strip", import("zod").ZodTypeAny, {
526
+ userAgent: string | null;
527
+ ip: string | null;
528
+ region: {
529
+ countryCode: string | null;
530
+ regionCode: string | null;
531
+ };
532
+ }, {
533
+ userAgent: string | null;
534
+ ip: string | null;
535
+ region: {
536
+ countryCode: string | null;
537
+ regionCode: string | null;
538
+ };
539
+ }>;
540
+ }, "strip", import("zod").ZodTypeAny, {
541
+ storage: {
542
+ type: string;
543
+ available: boolean;
544
+ };
545
+ status: "error" | "ok";
546
+ version: string;
547
+ timestamp: Date;
548
+ client: {
549
+ userAgent: string | null;
550
+ ip: string | null;
551
+ region: {
552
+ countryCode: string | null;
553
+ regionCode: string | null;
554
+ };
555
+ };
556
+ }, {
557
+ storage: {
558
+ type: string;
559
+ available: boolean;
560
+ };
561
+ status: "error" | "ok";
562
+ version: string;
563
+ timestamp: Date;
564
+ client: {
565
+ userAgent: string | null;
566
+ ip: string | null;
567
+ region: {
568
+ countryCode: string | null;
569
+ regionCode: string | null;
570
+ };
571
+ };
572
+ }>, import("@orpc/contract").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
573
+ };
574
+ };
575
+ handler: (request: Request) => Promise<Response>;
576
+ };
577
+ export type { C15TPlugin, C15TOptions, C15TContext };
578
+ export type { ContractsInputs, ContractsOutputs } from './contracts';
124
579
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGpE,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,cAAc,EAGnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,YAAY,CAAC,WAAW,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE;IAC5E;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE;;;;;;;;;;;;;;;OAeG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAElC;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,EAC3E,SAAS,WAAW,CAAC,WAAW,CAAC,KAC/B,YAAY,CAAC,WAAW,CAkG1B,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMpE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,YAAY,CAAC,WAAW,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE;IAC5E;;;;;;;;;;;;;;;OAeG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjD;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAE/B;;OAEG;IACH,MAAM,EAAE,OAAO,MAAM,CAAC;IAEtB;;;;OAIG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvD;;;;OAIG;IACH,SAAS,EAAE,MAAM,MAAM,CAAC;CACxB;AAkBD;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,EAC3E,SAAS,WAAW,CAAC,WAAW,CAAC;2BAiKpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;mBA6MI,OAAO;oBAAP,OAAO;mBAAP,OAAO;qBAAP,OAAO;sBAAP,OAAO;uBAAP,OAAO;oBAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAxCZ,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC;CAgF3D,CAAC;AAEF,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}