@c15t/backend 0.0.1-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/.turbo/turbo-build.log +11 -0
  2. package/.turbo/turbo-check-types.log +5 -0
  3. package/.turbo/turbo-fmt.log +7 -0
  4. package/.turbo/turbo-lint.log +6 -0
  5. package/.turbo/turbo-test.log +26 -0
  6. package/README-next.md +223 -0
  7. package/README.md +164 -0
  8. package/dist/api/call.d.ts +176 -0
  9. package/dist/api/call.d.ts.map +1 -0
  10. package/dist/api/index.d.ts +935 -0
  11. package/dist/api/index.d.ts.map +1 -0
  12. package/dist/api/middlewares/index.d.ts +39 -0
  13. package/dist/api/middlewares/index.d.ts.map +1 -0
  14. package/dist/api/middlewares/origin-check.d.ts +82 -0
  15. package/dist/api/middlewares/origin-check.d.ts.map +1 -0
  16. package/dist/api/middlewares/validate-context.d.ts +38 -0
  17. package/dist/api/middlewares/validate-context.d.ts.map +1 -0
  18. package/dist/api/routes/__tests__/consent.test.d.ts +2 -0
  19. package/dist/api/routes/__tests__/consent.test.d.ts.map +1 -0
  20. package/dist/api/routes/__tests__/status.test.d.ts +2 -0
  21. package/dist/api/routes/__tests__/status.test.d.ts.map +1 -0
  22. package/dist/api/routes/error.d.ts +57 -0
  23. package/dist/api/routes/error.d.ts.map +1 -0
  24. package/dist/api/routes/generate-consent-receipt.d.ts +130 -0
  25. package/dist/api/routes/generate-consent-receipt.d.ts.map +1 -0
  26. package/dist/api/routes/get-consent-history.d.ts +133 -0
  27. package/dist/api/routes/get-consent-history.d.ts.map +1 -0
  28. package/dist/api/routes/get-consent-policy.d.ts +164 -0
  29. package/dist/api/routes/get-consent-policy.d.ts.map +1 -0
  30. package/dist/api/routes/get-consent.d.ts +148 -0
  31. package/dist/api/routes/get-consent.d.ts.map +1 -0
  32. package/dist/api/routes/index.d.ts +339 -0
  33. package/dist/api/routes/index.d.ts.map +1 -0
  34. package/dist/api/routes/ok.d.ts +87 -0
  35. package/dist/api/routes/ok.d.ts.map +1 -0
  36. package/dist/api/routes/set-consent.d.ts +245 -0
  37. package/dist/api/routes/set-consent.d.ts.map +1 -0
  38. package/dist/api/routes/show-consent-banner.d.ts +127 -0
  39. package/dist/api/routes/show-consent-banner.d.ts.map +1 -0
  40. package/dist/api/routes/status.d.ts +61 -0
  41. package/dist/api/routes/status.d.ts.map +1 -0
  42. package/dist/api/routes/verify-consent.d.ts +179 -0
  43. package/dist/api/routes/verify-consent.d.ts.map +1 -0
  44. package/dist/api/routes/withdraw-consent.d.ts +194 -0
  45. package/dist/api/routes/withdraw-consent.d.ts.map +1 -0
  46. package/dist/api/to-endpoints.d.ts +35 -0
  47. package/dist/api/to-endpoints.d.ts.map +1 -0
  48. package/dist/client/index.cjs +139 -0
  49. package/dist/client/index.d.ts +203 -0
  50. package/dist/client/index.d.ts.map +1 -0
  51. package/dist/client/index.js +106 -0
  52. package/dist/client/types.d.ts +431 -0
  53. package/dist/client/types.d.ts.map +1 -0
  54. package/dist/core.d.ts +124 -0
  55. package/dist/core.d.ts.map +1 -0
  56. package/dist/core.test.d.ts +2 -0
  57. package/dist/core.test.d.ts.map +1 -0
  58. package/dist/db/adapters/drizzle-adapter/drizzle-adapter.d.ts +122 -0
  59. package/dist/db/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -0
  60. package/dist/db/adapters/drizzle-adapter/index.d.ts +2 -0
  61. package/dist/db/adapters/drizzle-adapter/index.d.ts.map +1 -0
  62. package/dist/db/adapters/drizzle.cjs +1531 -0
  63. package/dist/db/adapters/drizzle.js +1489 -0
  64. package/dist/db/adapters/kysely-adapter/dialect.d.ts +72 -0
  65. package/dist/db/adapters/kysely-adapter/dialect.d.ts.map +1 -0
  66. package/dist/db/adapters/kysely-adapter/index.d.ts +4 -0
  67. package/dist/db/adapters/kysely-adapter/index.d.ts.map +1 -0
  68. package/dist/db/adapters/kysely-adapter/kysely-adapter.d.ts +98 -0
  69. package/dist/db/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -0
  70. package/dist/db/adapters/kysely-adapter/types.d.ts +281 -0
  71. package/dist/db/adapters/kysely-adapter/types.d.ts.map +1 -0
  72. package/dist/db/adapters/kysely.cjs +1551 -0
  73. package/dist/db/adapters/kysely.js +1508 -0
  74. package/dist/db/adapters/memory-adapter/index.d.ts +2 -0
  75. package/dist/db/adapters/memory-adapter/index.d.ts.map +1 -0
  76. package/dist/db/adapters/memory-adapter/memory-adapter.d.ts +56 -0
  77. package/dist/db/adapters/memory-adapter/memory-adapter.d.ts.map +1 -0
  78. package/dist/db/adapters/memory.cjs +1391 -0
  79. package/dist/db/adapters/memory.js +1349 -0
  80. package/dist/db/adapters/prisma-adapter/index.d.ts +2 -0
  81. package/dist/db/adapters/prisma-adapter/index.d.ts.map +1 -0
  82. package/dist/db/adapters/prisma-adapter/prisma-adapter.d.ts +143 -0
  83. package/dist/db/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -0
  84. package/dist/db/adapters/prisma.cjs +1503 -0
  85. package/dist/db/adapters/prisma.js +1461 -0
  86. package/dist/db/adapters/types.d.ts +154 -0
  87. package/dist/db/adapters/types.d.ts.map +1 -0
  88. package/dist/db/adapters/utils.d.ts +36 -0
  89. package/dist/db/adapters/utils.d.ts.map +1 -0
  90. package/dist/db/core/fields/field-factory.d.ts +383 -0
  91. package/dist/db/core/fields/field-factory.d.ts.map +1 -0
  92. package/dist/db/core/fields/field-inference.d.ts +218 -0
  93. package/dist/db/core/fields/field-inference.d.ts.map +1 -0
  94. package/dist/db/core/fields/field-options-integration.d.ts +90 -0
  95. package/dist/db/core/fields/field-options-integration.d.ts.map +1 -0
  96. package/dist/db/core/fields/field-types.d.ts +182 -0
  97. package/dist/db/core/fields/field-types.d.ts.map +1 -0
  98. package/dist/db/core/fields/id-generator.d.ts +19 -0
  99. package/dist/db/core/fields/id-generator.d.ts.map +1 -0
  100. package/dist/db/core/fields/index.d.ts +8 -0
  101. package/dist/db/core/fields/index.d.ts.map +1 -0
  102. package/dist/db/core/fields/superjson-utils.d.ts +34 -0
  103. package/dist/db/core/fields/superjson-utils.d.ts.map +1 -0
  104. package/dist/db/core/fields/zod-fields.d.ts +1011 -0
  105. package/dist/db/core/fields/zod-fields.d.ts.map +1 -0
  106. package/dist/db/core/get-schema.d.ts +36 -0
  107. package/dist/db/core/get-schema.d.ts.map +1 -0
  108. package/dist/db/core/types.d.ts +41 -0
  109. package/dist/db/core/types.d.ts.map +1 -0
  110. package/dist/db/create-registry.d.ts +760 -0
  111. package/dist/db/create-registry.d.ts.map +1 -0
  112. package/dist/db/hooks/create-hooks.d.ts +32 -0
  113. package/dist/db/hooks/create-hooks.d.ts.map +1 -0
  114. package/dist/db/hooks/index.d.ts +40 -0
  115. package/dist/db/hooks/index.d.ts.map +1 -0
  116. package/dist/db/hooks/types.d.ts +133 -0
  117. package/dist/db/hooks/types.d.ts.map +1 -0
  118. package/dist/db/hooks/update-hooks.d.ts +33 -0
  119. package/dist/db/hooks/update-hooks.d.ts.map +1 -0
  120. package/dist/db/hooks/update-many-hooks.d.ts +55 -0
  121. package/dist/db/hooks/update-many-hooks.d.ts.map +1 -0
  122. package/dist/db/hooks/utils.d.ts +62 -0
  123. package/dist/db/hooks/utils.d.ts.map +1 -0
  124. package/dist/db/hooks/with-hooks-factory.d.ts +33 -0
  125. package/dist/db/hooks/with-hooks-factory.d.ts.map +1 -0
  126. package/dist/db/index.cjs +2458 -0
  127. package/dist/db/index.d.ts +11 -0
  128. package/dist/db/index.d.ts.map +1 -0
  129. package/dist/db/index.js +2404 -0
  130. package/dist/db/migration/get-migration.d.ts +32 -0
  131. package/dist/db/migration/get-migration.d.ts.map +1 -0
  132. package/dist/db/migration/get-schema/get-schema.d.ts +27 -0
  133. package/dist/db/migration/get-schema/get-schema.d.ts.map +1 -0
  134. package/dist/db/migration/get-schema/index.d.ts +21 -0
  135. package/dist/db/migration/get-schema/index.d.ts.map +1 -0
  136. package/dist/db/migration/get-schema/process-fields.d.ts +16 -0
  137. package/dist/db/migration/get-schema/process-fields.d.ts.map +1 -0
  138. package/dist/db/migration/get-schema/process-tables.d.ts +13 -0
  139. package/dist/db/migration/get-schema/process-tables.d.ts.map +1 -0
  140. package/dist/db/migration/get-schema/types.d.ts +17 -0
  141. package/dist/db/migration/get-schema/types.d.ts.map +1 -0
  142. package/dist/db/migration/index.cjs +1613 -0
  143. package/dist/db/migration/index.d.ts +14 -0
  144. package/dist/db/migration/index.d.ts.map +1 -0
  145. package/dist/db/migration/index.js +1571 -0
  146. package/dist/db/migration/migration-builders.d.ts +28 -0
  147. package/dist/db/migration/migration-builders.d.ts.map +1 -0
  148. package/dist/db/migration/migration-execution.d.ts +12 -0
  149. package/dist/db/migration/migration-execution.d.ts.map +1 -0
  150. package/dist/db/migration/schema-comparison.d.ts +54 -0
  151. package/dist/db/migration/schema-comparison.d.ts.map +1 -0
  152. package/dist/db/migration/type-mapping.d.ts +86 -0
  153. package/dist/db/migration/type-mapping.d.ts.map +1 -0
  154. package/dist/db/migration/types.d.ts +37 -0
  155. package/dist/db/migration/types.d.ts.map +1 -0
  156. package/dist/db/schema/audit-log/index.d.ts +4 -0
  157. package/dist/db/schema/audit-log/index.d.ts.map +1 -0
  158. package/dist/db/schema/audit-log/registry.d.ts +128 -0
  159. package/dist/db/schema/audit-log/registry.d.ts.map +1 -0
  160. package/dist/db/schema/audit-log/schema.d.ts +67 -0
  161. package/dist/db/schema/audit-log/schema.d.ts.map +1 -0
  162. package/dist/db/schema/audit-log/table.d.ts +175 -0
  163. package/dist/db/schema/audit-log/table.d.ts.map +1 -0
  164. package/dist/db/schema/audit-log/types.d.ts +29 -0
  165. package/dist/db/schema/audit-log/types.d.ts.map +1 -0
  166. package/dist/db/schema/consent/index.d.ts +4 -0
  167. package/dist/db/schema/consent/index.d.ts.map +1 -0
  168. package/dist/db/schema/consent/registry.d.ts +318 -0
  169. package/dist/db/schema/consent/registry.d.ts.map +1 -0
  170. package/dist/db/schema/consent/schema.d.ts +135 -0
  171. package/dist/db/schema/consent/schema.d.ts.map +1 -0
  172. package/dist/db/schema/consent/table.d.ts +245 -0
  173. package/dist/db/schema/consent/table.d.ts.map +1 -0
  174. package/dist/db/schema/consent/types.d.ts +37 -0
  175. package/dist/db/schema/consent/types.d.ts.map +1 -0
  176. package/dist/db/schema/consent-geo-location/index.d.ts +4 -0
  177. package/dist/db/schema/consent-geo-location/index.d.ts.map +1 -0
  178. package/dist/db/schema/consent-geo-location/registry.d.ts +96 -0
  179. package/dist/db/schema/consent-geo-location/registry.d.ts.map +1 -0
  180. package/dist/db/schema/consent-geo-location/schema.d.ts +71 -0
  181. package/dist/db/schema/consent-geo-location/schema.d.ts.map +1 -0
  182. package/dist/db/schema/consent-geo-location/table.d.ts +167 -0
  183. package/dist/db/schema/consent-geo-location/table.d.ts.map +1 -0
  184. package/dist/db/schema/consent-geo-location/types.d.ts +21 -0
  185. package/dist/db/schema/consent-geo-location/types.d.ts.map +1 -0
  186. package/dist/db/schema/consent-policy/index.d.ts +4 -0
  187. package/dist/db/schema/consent-policy/index.d.ts.map +1 -0
  188. package/dist/db/schema/consent-policy/registry.d.ts +186 -0
  189. package/dist/db/schema/consent-policy/registry.d.ts.map +1 -0
  190. package/dist/db/schema/consent-policy/schema.d.ts +68 -0
  191. package/dist/db/schema/consent-policy/schema.d.ts.map +1 -0
  192. package/dist/db/schema/consent-policy/table.d.ts +147 -0
  193. package/dist/db/schema/consent-policy/table.d.ts.map +1 -0
  194. package/dist/db/schema/consent-policy/types.d.ts +28 -0
  195. package/dist/db/schema/consent-policy/types.d.ts.map +1 -0
  196. package/dist/db/schema/consent-purpose/index.d.ts +4 -0
  197. package/dist/db/schema/consent-purpose/index.d.ts.map +1 -0
  198. package/dist/db/schema/consent-purpose/registry.d.ts +136 -0
  199. package/dist/db/schema/consent-purpose/registry.d.ts.map +1 -0
  200. package/dist/db/schema/consent-purpose/schema.d.ts +79 -0
  201. package/dist/db/schema/consent-purpose/schema.d.ts.map +1 -0
  202. package/dist/db/schema/consent-purpose/table.d.ts +161 -0
  203. package/dist/db/schema/consent-purpose/table.d.ts.map +1 -0
  204. package/dist/db/schema/consent-purpose/types.d.ts +16 -0
  205. package/dist/db/schema/consent-purpose/types.d.ts.map +1 -0
  206. package/dist/db/schema/consent-purpose-junction/index.d.ts +4 -0
  207. package/dist/db/schema/consent-purpose-junction/index.d.ts.map +1 -0
  208. package/dist/db/schema/consent-purpose-junction/registry.d.ts +109 -0
  209. package/dist/db/schema/consent-purpose-junction/registry.d.ts.map +1 -0
  210. package/dist/db/schema/consent-purpose-junction/schema.d.ts +57 -0
  211. package/dist/db/schema/consent-purpose-junction/schema.d.ts.map +1 -0
  212. package/dist/db/schema/consent-purpose-junction/table.d.ts +138 -0
  213. package/dist/db/schema/consent-purpose-junction/table.d.ts.map +1 -0
  214. package/dist/db/schema/consent-purpose-junction/types.d.ts +14 -0
  215. package/dist/db/schema/consent-purpose-junction/types.d.ts.map +1 -0
  216. package/dist/db/schema/consent-record/index.d.ts +4 -0
  217. package/dist/db/schema/consent-record/index.d.ts.map +1 -0
  218. package/dist/db/schema/consent-record/registry.d.ts +119 -0
  219. package/dist/db/schema/consent-record/registry.d.ts.map +1 -0
  220. package/dist/db/schema/consent-record/schema.d.ts +57 -0
  221. package/dist/db/schema/consent-record/schema.d.ts.map +1 -0
  222. package/dist/db/schema/consent-record/table.d.ts +123 -0
  223. package/dist/db/schema/consent-record/table.d.ts.map +1 -0
  224. package/dist/db/schema/consent-record/types.d.ts +21 -0
  225. package/dist/db/schema/consent-record/types.d.ts.map +1 -0
  226. package/dist/db/schema/consent-withdrawal/index.d.ts +4 -0
  227. package/dist/db/schema/consent-withdrawal/index.d.ts.map +1 -0
  228. package/dist/db/schema/consent-withdrawal/registry.d.ts +134 -0
  229. package/dist/db/schema/consent-withdrawal/registry.d.ts.map +1 -0
  230. package/dist/db/schema/consent-withdrawal/schema.d.ts +67 -0
  231. package/dist/db/schema/consent-withdrawal/schema.d.ts.map +1 -0
  232. package/dist/db/schema/consent-withdrawal/table.d.ts +170 -0
  233. package/dist/db/schema/consent-withdrawal/table.d.ts.map +1 -0
  234. package/dist/db/schema/consent-withdrawal/types.d.ts +28 -0
  235. package/dist/db/schema/consent-withdrawal/types.d.ts.map +1 -0
  236. package/dist/db/schema/definition.d.ts +1100 -0
  237. package/dist/db/schema/definition.d.ts.map +1 -0
  238. package/dist/db/schema/domain/index.d.ts +4 -0
  239. package/dist/db/schema/domain/index.d.ts.map +1 -0
  240. package/dist/db/schema/domain/registry.d.ts +169 -0
  241. package/dist/db/schema/domain/registry.d.ts.map +1 -0
  242. package/dist/db/schema/domain/schema.d.ts +60 -0
  243. package/dist/db/schema/domain/schema.d.ts.map +1 -0
  244. package/dist/db/schema/domain/table.d.ts +140 -0
  245. package/dist/db/schema/domain/table.d.ts.map +1 -0
  246. package/dist/db/schema/domain/types.d.ts +27 -0
  247. package/dist/db/schema/domain/types.d.ts.map +1 -0
  248. package/dist/db/schema/geo-location/index.d.ts +4 -0
  249. package/dist/db/schema/geo-location/index.d.ts.map +1 -0
  250. package/dist/db/schema/geo-location/registry.d.ts +114 -0
  251. package/dist/db/schema/geo-location/registry.d.ts.map +1 -0
  252. package/dist/db/schema/geo-location/schema.d.ts +58 -0
  253. package/dist/db/schema/geo-location/schema.d.ts.map +1 -0
  254. package/dist/db/schema/geo-location/table.d.ts +132 -0
  255. package/dist/db/schema/geo-location/table.d.ts.map +1 -0
  256. package/dist/db/schema/geo-location/types.d.ts +17 -0
  257. package/dist/db/schema/geo-location/types.d.ts.map +1 -0
  258. package/dist/db/schema/index.d.ts +85 -0
  259. package/dist/db/schema/index.d.ts.map +1 -0
  260. package/dist/db/schema/parser.d.ts +183 -0
  261. package/dist/db/schema/parser.d.ts.map +1 -0
  262. package/dist/db/schema/schemas.d.ts +383 -0
  263. package/dist/db/schema/schemas.d.ts.map +1 -0
  264. package/dist/db/schema/subject/index.d.ts +4 -0
  265. package/dist/db/schema/subject/index.d.ts.map +1 -0
  266. package/dist/db/schema/subject/registry.d.ts +141 -0
  267. package/dist/db/schema/subject/registry.d.ts.map +1 -0
  268. package/dist/db/schema/subject/schema.d.ts +56 -0
  269. package/dist/db/schema/subject/schema.d.ts.map +1 -0
  270. package/dist/db/schema/subject/table.d.ts +136 -0
  271. package/dist/db/schema/subject/table.d.ts.map +1 -0
  272. package/dist/db/schema/subject/types.d.ts +22 -0
  273. package/dist/db/schema/subject/types.d.ts.map +1 -0
  274. package/dist/db/schema/types.d.ts +136 -0
  275. package/dist/db/schema/types.d.ts.map +1 -0
  276. package/dist/db/utils/adapter-factory.d.ts +21 -0
  277. package/dist/db/utils/adapter-factory.d.ts.map +1 -0
  278. package/dist/db/utils/index.d.ts +10 -0
  279. package/dist/db/utils/index.d.ts.map +1 -0
  280. package/dist/db/utils.d.ts +4 -0
  281. package/dist/db/utils.d.ts.map +1 -0
  282. package/dist/error/codes.cjs +68 -0
  283. package/dist/error/codes.d.ts +175 -0
  284. package/dist/error/codes.d.ts.map +1 -0
  285. package/dist/error/codes.js +35 -0
  286. package/dist/error/error.d.ts +79 -0
  287. package/dist/error/error.d.ts.map +1 -0
  288. package/dist/error/index.cjs +172 -0
  289. package/dist/error/index.d.ts +9 -0
  290. package/dist/error/index.d.ts.map +1 -0
  291. package/dist/error/index.js +129 -0
  292. package/dist/error/logging.d.ts +25 -0
  293. package/dist/error/logging.d.ts.map +1 -0
  294. package/dist/error/pipeline.d.ts +19 -0
  295. package/dist/error/pipeline.d.ts.map +1 -0
  296. package/dist/error/recovery.d.ts +22 -0
  297. package/dist/error/recovery.d.ts.map +1 -0
  298. package/dist/error/results.d.ts +56 -0
  299. package/dist/error/results.d.ts.map +1 -0
  300. package/dist/index.cjs +4777 -0
  301. package/dist/index.d.ts +46 -0
  302. package/dist/index.d.ts.map +1 -0
  303. package/dist/index.js +4708 -0
  304. package/dist/init.d.ts +52 -0
  305. package/dist/init.d.ts.map +1 -0
  306. package/dist/init.test.d.ts +2 -0
  307. package/dist/init.test.d.ts.map +1 -0
  308. package/dist/integrations/index.cjs +281 -0
  309. package/dist/integrations/index.d.ts +7 -0
  310. package/dist/integrations/index.d.ts.map +1 -0
  311. package/dist/integrations/index.js +248 -0
  312. package/dist/integrations/next.cjs +131 -0
  313. package/dist/integrations/next.d.ts +29 -0
  314. package/dist/integrations/next.d.ts.map +1 -0
  315. package/dist/integrations/next.js +99 -0
  316. package/dist/integrations/react.cjs +182 -0
  317. package/dist/integrations/react.d.ts +257 -0
  318. package/dist/integrations/react.d.ts.map +1 -0
  319. package/dist/integrations/react.js +150 -0
  320. package/dist/plugins/geo/index.d.ts +2 -0
  321. package/dist/plugins/geo/index.d.ts.map +1 -0
  322. package/dist/test/utils.d.ts +65 -0
  323. package/dist/test/utils.d.ts.map +1 -0
  324. package/dist/types/api.d.ts +89 -0
  325. package/dist/types/api.d.ts.map +1 -0
  326. package/dist/types/context.d.ts +205 -0
  327. package/dist/types/context.d.ts.map +1 -0
  328. package/dist/types/helper.d.ts +78 -0
  329. package/dist/types/helper.d.ts.map +1 -0
  330. package/dist/types/index.cjs +19 -0
  331. package/dist/types/index.d.ts +6 -0
  332. package/dist/types/index.d.ts.map +1 -0
  333. package/dist/types/index.js +0 -0
  334. package/dist/types/options.d.ts +172 -0
  335. package/dist/types/options.d.ts.map +1 -0
  336. package/dist/types/plugins.d.ts +442 -0
  337. package/dist/types/plugins.d.ts.map +1 -0
  338. package/dist/utils/env.d.ts +77 -0
  339. package/dist/utils/env.d.ts.map +1 -0
  340. package/dist/utils/hide-metadata.d.ts +22 -0
  341. package/dist/utils/hide-metadata.d.ts.map +1 -0
  342. package/dist/utils/index.cjs +268 -0
  343. package/dist/utils/index.d.ts +18 -0
  344. package/dist/utils/index.d.ts.map +1 -0
  345. package/dist/utils/index.js +210 -0
  346. package/dist/utils/ip.d.ts +10 -0
  347. package/dist/utils/ip.d.ts.map +1 -0
  348. package/dist/utils/json.d.ts +14 -0
  349. package/dist/utils/json.d.ts.map +1 -0
  350. package/dist/utils/logger.d.ts +108 -0
  351. package/dist/utils/logger.d.ts.map +1 -0
  352. package/dist/utils/url.d.ts +87 -0
  353. package/dist/utils/url.d.ts.map +1 -0
  354. package/dist/utils/wildcard.d.ts +46 -0
  355. package/dist/utils/wildcard.d.ts.map +1 -0
  356. package/knip.json +37 -0
  357. package/package.json +146 -0
  358. package/rslib.config.ts +104 -0
  359. package/src/api/call.ts +177 -0
  360. package/src/api/index.ts +303 -0
  361. package/src/api/middlewares/index.ts +38 -0
  362. package/src/api/middlewares/origin-check.ts +260 -0
  363. package/src/api/middlewares/validate-context.ts +175 -0
  364. package/src/api/routes/__tests__/consent.test.ts +270 -0
  365. package/src/api/routes/__tests__/status.test.ts +36 -0
  366. package/src/api/routes/error.ts +130 -0
  367. package/src/api/routes/generate-consent-receipt.ts +244 -0
  368. package/src/api/routes/get-consent-history.ts +128 -0
  369. package/src/api/routes/get-consent-policy.ts +327 -0
  370. package/src/api/routes/get-consent.ts +230 -0
  371. package/src/api/routes/index.ts +12 -0
  372. package/src/api/routes/ok.ts +45 -0
  373. package/src/api/routes/set-consent.ts +328 -0
  374. package/src/api/routes/show-consent-banner.ts +149 -0
  375. package/src/api/routes/status.ts +62 -0
  376. package/src/api/routes/verify-consent.ts +272 -0
  377. package/src/api/routes/withdraw-consent.ts +293 -0
  378. package/src/api/to-endpoints.ts +371 -0
  379. package/src/client/index.ts +471 -0
  380. package/src/client/types.ts +458 -0
  381. package/src/core.test.ts +303 -0
  382. package/src/core.ts +267 -0
  383. package/src/db/adapters/drizzle-adapter/drizzle-adapter.ts +711 -0
  384. package/src/db/adapters/drizzle-adapter/index.ts +1 -0
  385. package/src/db/adapters/kysely-adapter/dialect.ts +192 -0
  386. package/src/db/adapters/kysely-adapter/index.ts +3 -0
  387. package/src/db/adapters/kysely-adapter/kysely-adapter.ts +1168 -0
  388. package/src/db/adapters/kysely-adapter/types.ts +307 -0
  389. package/src/db/adapters/memory-adapter/index.ts +1 -0
  390. package/src/db/adapters/memory-adapter/memory-adapter.ts +648 -0
  391. package/src/db/adapters/prisma-adapter/index.ts +1 -0
  392. package/src/db/adapters/prisma-adapter/prisma-adapter.ts +586 -0
  393. package/src/db/adapters/types.ts +203 -0
  394. package/src/db/adapters/utils.ts +51 -0
  395. package/src/db/core/fields/field-factory.ts +804 -0
  396. package/src/db/core/fields/field-inference.ts +298 -0
  397. package/src/db/core/fields/field-options-integration.ts +135 -0
  398. package/src/db/core/fields/field-types.ts +233 -0
  399. package/src/db/core/fields/id-generator.ts +57 -0
  400. package/src/db/core/fields/index.ts +56 -0
  401. package/src/db/core/fields/superjson-utils.ts +155 -0
  402. package/src/db/core/fields/zod-fields.ts +269 -0
  403. package/src/db/core/get-schema.ts +102 -0
  404. package/src/db/core/types.ts +52 -0
  405. package/src/db/create-registry.ts +31 -0
  406. package/src/db/hooks/create-hooks.ts +88 -0
  407. package/src/db/hooks/index.ts +39 -0
  408. package/src/db/hooks/types.ts +164 -0
  409. package/src/db/hooks/update-hooks.ts +91 -0
  410. package/src/db/hooks/update-many-hooks.ts +176 -0
  411. package/src/db/hooks/utils.ts +151 -0
  412. package/src/db/hooks/with-hooks-factory.ts +68 -0
  413. package/src/db/index.ts +32 -0
  414. package/src/db/migration/get-migration.ts +89 -0
  415. package/src/db/migration/get-schema/get-schema.ts +44 -0
  416. package/src/db/migration/get-schema/index.ts +20 -0
  417. package/src/db/migration/get-schema/process-fields.ts +66 -0
  418. package/src/db/migration/get-schema/process-tables.ts +68 -0
  419. package/src/db/migration/get-schema/types.ts +18 -0
  420. package/src/db/migration/index.ts +18 -0
  421. package/src/db/migration/migration-builders.ts +170 -0
  422. package/src/db/migration/migration-execution.ts +79 -0
  423. package/src/db/migration/schema-comparison.ts +216 -0
  424. package/src/db/migration/type-mapping.ts +255 -0
  425. package/src/db/migration/types.ts +46 -0
  426. package/src/db/schema/audit-log/index.ts +3 -0
  427. package/src/db/schema/audit-log/registry.ts +228 -0
  428. package/src/db/schema/audit-log/schema.ts +46 -0
  429. package/src/db/schema/audit-log/table.ts +185 -0
  430. package/src/db/schema/audit-log/types.ts +29 -0
  431. package/src/db/schema/consent/index.ts +3 -0
  432. package/src/db/schema/consent/registry.ts +381 -0
  433. package/src/db/schema/consent/schema.ts +65 -0
  434. package/src/db/schema/consent/table.ts +220 -0
  435. package/src/db/schema/consent/types.ts +39 -0
  436. package/src/db/schema/consent-geo-location/index.ts +3 -0
  437. package/src/db/schema/consent-geo-location/registry.ts +124 -0
  438. package/src/db/schema/consent-geo-location/schema.ts +51 -0
  439. package/src/db/schema/consent-geo-location/table.ts +169 -0
  440. package/src/db/schema/consent-geo-location/types.ts +21 -0
  441. package/src/db/schema/consent-policy/index.ts +3 -0
  442. package/src/db/schema/consent-policy/registry.ts +313 -0
  443. package/src/db/schema/consent-policy/schema.ts +47 -0
  444. package/src/db/schema/consent-policy/table.ts +141 -0
  445. package/src/db/schema/consent-policy/types.ts +28 -0
  446. package/src/db/schema/consent-purpose/index.ts +3 -0
  447. package/src/db/schema/consent-purpose/registry.ts +188 -0
  448. package/src/db/schema/consent-purpose/schema.ts +58 -0
  449. package/src/db/schema/consent-purpose/table.ts +154 -0
  450. package/src/db/schema/consent-purpose/types.ts +16 -0
  451. package/src/db/schema/consent-purpose-junction/index.ts +3 -0
  452. package/src/db/schema/consent-purpose-junction/registry.ts +189 -0
  453. package/src/db/schema/consent-purpose-junction/schema.ts +49 -0
  454. package/src/db/schema/consent-purpose-junction/table.ts +142 -0
  455. package/src/db/schema/consent-purpose-junction/types.ts +14 -0
  456. package/src/db/schema/consent-record/index.ts +3 -0
  457. package/src/db/schema/consent-record/registry.ts +209 -0
  458. package/src/db/schema/consent-record/schema.ts +42 -0
  459. package/src/db/schema/consent-record/table.ts +124 -0
  460. package/src/db/schema/consent-record/types.ts +21 -0
  461. package/src/db/schema/consent-withdrawal/index.ts +3 -0
  462. package/src/db/schema/consent-withdrawal/registry.ts +219 -0
  463. package/src/db/schema/consent-withdrawal/schema.ts +48 -0
  464. package/src/db/schema/consent-withdrawal/table.ts +181 -0
  465. package/src/db/schema/consent-withdrawal/types.ts +29 -0
  466. package/src/db/schema/definition.ts +196 -0
  467. package/src/db/schema/domain/index.ts +3 -0
  468. package/src/db/schema/domain/registry.ts +272 -0
  469. package/src/db/schema/domain/schema.ts +43 -0
  470. package/src/db/schema/domain/table.ts +137 -0
  471. package/src/db/schema/domain/types.ts +27 -0
  472. package/src/db/schema/geo-location/index.ts +3 -0
  473. package/src/db/schema/geo-location/registry.ts +159 -0
  474. package/src/db/schema/geo-location/schema.ts +45 -0
  475. package/src/db/schema/geo-location/table.ts +148 -0
  476. package/src/db/schema/geo-location/types.ts +18 -0
  477. package/src/db/schema/index.ts +96 -0
  478. package/src/db/schema/parser.ts +417 -0
  479. package/src/db/schema/schemas.ts +35 -0
  480. package/src/db/schema/subject/index.ts +3 -0
  481. package/src/db/schema/subject/registry.ts +371 -0
  482. package/src/db/schema/subject/schema.ts +41 -0
  483. package/src/db/schema/subject/table.ts +139 -0
  484. package/src/db/schema/subject/types.ts +22 -0
  485. package/src/db/schema/types.ts +154 -0
  486. package/src/db/utils/adapter-factory.ts +64 -0
  487. package/src/db/utils/index.ts +10 -0
  488. package/src/db/utils.ts +42 -0
  489. package/src/docs/ADVANCED_JSON_HANDLING.md +99 -0
  490. package/src/docs/neverthrow.md +171 -0
  491. package/src/error/codes.ts +201 -0
  492. package/src/error/error.ts +145 -0
  493. package/src/error/index.ts +23 -0
  494. package/src/error/logging.ts +52 -0
  495. package/src/error/pipeline.ts +57 -0
  496. package/src/error/recovery.ts +45 -0
  497. package/src/error/results.ts +100 -0
  498. package/src/index.ts +79 -0
  499. package/src/init.test.ts +235 -0
  500. package/src/init.ts +261 -0
  501. package/src/integrations/index.ts +10 -0
  502. package/src/integrations/next.ts +136 -0
  503. package/src/integrations/react.ts +567 -0
  504. package/src/plugins/geo/index.ts +563 -0
  505. package/src/test/utils.ts +244 -0
  506. package/src/types/api.ts +101 -0
  507. package/src/types/context.ts +235 -0
  508. package/src/types/helper.ts +87 -0
  509. package/src/types/index.ts +5 -0
  510. package/src/types/options.ts +189 -0
  511. package/src/types/plugins.ts +538 -0
  512. package/src/utils/env.ts +103 -0
  513. package/src/utils/hide-metadata.ts +21 -0
  514. package/src/utils/index.ts +17 -0
  515. package/src/utils/ip.ts +45 -0
  516. package/src/utils/json.ts +19 -0
  517. package/src/utils/logger.ts +252 -0
  518. package/src/utils/url.ts +194 -0
  519. package/src/utils/wildcard.ts +253 -0
  520. package/tsconfig.json +12 -0
  521. package/vitest.config.ts +14 -0
@@ -0,0 +1,218 @@
1
+ import type { InferValueType as BaseInferValueType, Field, FieldType, Primitive } from './field-types';
2
+ /**
3
+ * Infers the JavaScript type from a field type.
4
+ * Maps database field types to their corresponding TypeScript types.
5
+ *
6
+ * @template TFieldType - The field type to infer from
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // Infer string type
11
+ * type NameType = InferValueType<'string'>; // string
12
+ *
13
+ * // Infer array types
14
+ * type TagsType = InferValueType<'string[]'>; // string[]
15
+ * type FlagsType = InferValueType<'boolean[]'>; // boolean[]
16
+ * type DatesType = InferValueType<'date[]'>; // Date[]
17
+ * ```
18
+ *
19
+ * @remarks
20
+ * This type handles both scalar types and array types.
21
+ * For arrays, it maps the base type to an array of that type.
22
+ * This approach is more maintainable and future-proof than
23
+ * explicitly handling each array type.
24
+ */
25
+ export type InferValueType<TFieldType extends FieldType> = BaseInferValueType<TFieldType>;
26
+ /**
27
+ * Infers the output type for a single field.
28
+ * Takes into account whether the field is required and returned in API responses.
29
+ *
30
+ * @template TField - The field definition
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // A required string field
35
+ * const nameField: Field<'string'> = {
36
+ * type: 'string',
37
+ * required: true
38
+ * };
39
+ * type NameOutput = InferFieldOutput<typeof nameField>; // string
40
+ *
41
+ * // An optional number field
42
+ * const ageField: Field<'number'> = {
43
+ * type: 'number',
44
+ * required: false
45
+ * };
46
+ * type AgeOutput = InferFieldOutput<typeof ageField>; // number | null | undefined
47
+ * ```
48
+ *
49
+ * @remarks
50
+ * If a field has `returned: false`, this will be `never` indicating
51
+ * the field should not appear in API responses.
52
+ */
53
+ export type InferFieldOutput<TField extends Field> = TField['returned'] extends false ? never : TField['required'] extends false ? InferValueType<TField['type']> | null | undefined : InferValueType<TField['type']>;
54
+ /**
55
+ * Infers the input type for a single field.
56
+ * Determines the expected type when creating or updating records.
57
+ *
58
+ * @template TField - The field definition
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * // A non-input field (system-generated)
63
+ * const createdAtField: Field<'date'> = {
64
+ * type: 'date',
65
+ * required: true,
66
+ * input: false
67
+ * };
68
+ * type CreatedAtInput = InferFieldInput<typeof createdAtField>; // never
69
+ * ```
70
+ *
71
+ * @remarks
72
+ * If a field has `input: false`, this will be `never` indicating
73
+ * the field should not be provided in API requests.
74
+ */
75
+ export type InferFieldInput<TField extends Field> = TField['input'] extends false ? never : TField['required'] extends true ? InferValueType<TField['type']> : InferValueType<TField['type']> | null | undefined;
76
+ /**
77
+ * Type-safe property mapping helper for field outputs.
78
+ * Maps properties of a record type to their corresponding output types.
79
+ *
80
+ * @template TSchema - The record type containing field definitions
81
+ * @template TKey - The keys of TSchema to map
82
+ *
83
+ * @internal
84
+ * This is an internal helper type used by InferFieldsOutput
85
+ */
86
+ /**
87
+ * Type helper to extract required keys from fields that should be returned.
88
+ * Identifies fields that are both required and returned in API responses.
89
+ *
90
+ * @template TSchema - The record type containing field definitions
91
+ *
92
+ * @internal
93
+ * Used to determine which fields must be present in output types
94
+ */
95
+ type RequiredKeys<TSchema> = {
96
+ [Key in keyof TSchema]: TSchema[Key] extends Field ? TSchema[Key]['required'] extends true ? TSchema[Key]['returned'] extends false ? never : Key : never : never;
97
+ }[keyof TSchema];
98
+ /**
99
+ * Type helper to extract optional keys from fields that should be returned.
100
+ * Identifies fields that are optional but should be returned in API responses.
101
+ *
102
+ * @template TSchema - The record type containing field definitions
103
+ *
104
+ * @internal
105
+ * Used to determine which fields may be present in output types
106
+ */
107
+ type OptionalKeys<TSchema> = {
108
+ [Key in keyof TSchema]: TSchema[Key] extends Field ? TSchema[Key]['required'] extends true ? never : TSchema[Key]['returned'] extends false ? never : Key : never;
109
+ }[keyof TSchema];
110
+ /**
111
+ * Type helper to extract required keys from fields that accept input.
112
+ * Identifies fields that are both required and accept subject input.
113
+ *
114
+ * @template TSchema - The record type containing field definitions
115
+ *
116
+ * @internal
117
+ * Used to determine which fields must be provided in create operations
118
+ */
119
+ type RequiredInputKeys<TSchema> = {
120
+ [Key in keyof TSchema]: TSchema[Key] extends Field ? TSchema[Key]['required'] extends true ? TSchema[Key]['input'] extends false ? never : Key : never : never;
121
+ }[keyof TSchema];
122
+ /**
123
+ * Type helper to extract optional keys from fields that accept input.
124
+ * Identifies fields that are optional and accept subject input.
125
+ *
126
+ * @template TSchema - The record type containing field definitions
127
+ *
128
+ * @internal
129
+ * Used to determine which fields may be provided in create operations
130
+ */
131
+ type OptionalInputKeys<TSchema> = {
132
+ [Key in keyof TSchema]: TSchema[Key] extends Field ? TSchema[Key]['required'] extends true ? never : TSchema[Key]['input'] extends false ? never : Key : never;
133
+ }[keyof TSchema];
134
+ /**
135
+ * Infers the output type shape for a set of fields.
136
+ * Handles required/optional status and returned fields.
137
+ * Used to determine the shape of data when retrieving records.
138
+ *
139
+ * @template TSchema - The field definitions to infer from
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * // Define a schema
144
+ * const subjectSchema = {
145
+ * id: stringField({ required: true }),
146
+ * name: stringField({ required: true }),
147
+ * email: stringField({ required: true }),
148
+ * age: numberField({ required: false }),
149
+ * password: stringField({ required: true, returned: false })
150
+ * };
151
+ *
152
+ * // Infer the output type (for API responses)
153
+ * type SubjectOutput = InferFieldsOutput<typeof subjectSchema>;
154
+ * // Result: { id: string; name: string; email: string; age?: number | null | undefined }
155
+ * // Note: 'password' is excluded because returned: false
156
+ * ```
157
+ *
158
+ * @remarks
159
+ * This creates a type with:
160
+ * - Required properties for fields marked required and returned
161
+ * - Optional properties for fields marked optional and returned
162
+ * - Excludes fields marked with returned: false
163
+ */
164
+ export type InferFieldsOutput<TSchema> = TSchema extends Record<string, Field> ? {
165
+ [Key in RequiredKeys<TSchema> & string]: InferFieldOutput<TSchema[Key]>;
166
+ } & {
167
+ [Key in OptionalKeys<TSchema> & string]?: InferFieldOutput<TSchema[Key]>;
168
+ } : Record<string, never>;
169
+ /**
170
+ * Infers the input type shape for a set of fields.
171
+ * Handles required/optional status and input fields.
172
+ * Used to determine the shape of data expected when creating records.
173
+ *
174
+ * @template TSchema - The field definitions to infer from
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * // Define a schema
179
+ * const subjectSchema = {
180
+ * id: stringField({ required: true, input: false }), // Auto-generated
181
+ * name: stringField({ required: true }),
182
+ * email: stringField({ required: true }),
183
+ * age: numberField({ required: false }),
184
+ * createdAt: dateField({ required: true, input: false })
185
+ * };
186
+ *
187
+ * // Infer the input type (for create operations)
188
+ * type SubjectInput = InferFieldsInput<typeof subjectSchema>;
189
+ * // Result: { name: string; email: string; age?: number | null | undefined }
190
+ * // Note: 'id' and 'createdAt' are excluded because input: false
191
+ * ```
192
+ *
193
+ * @remarks
194
+ * This creates a type with:
195
+ * - Required properties for fields marked required and input
196
+ * - Optional properties for fields marked optional and input
197
+ * - Excludes fields marked with input: false
198
+ */
199
+ export type InferFieldsInput<TSchema> = TSchema extends Record<string, Field> ? {
200
+ [Key in RequiredInputKeys<TSchema> & string]: InferFieldInput<TSchema[Key]>;
201
+ } & {
202
+ [Key in OptionalInputKeys<TSchema> & string]?: InferFieldInput<TSchema[Key]>;
203
+ } : Record<string, never>;
204
+ /**
205
+ * Type helper for transform function output based on field type.
206
+ * Ensures transform functions return the correct output type.
207
+ *
208
+ * @template TFieldType - The field type that determines the input parameter type
209
+ *
210
+ * @example
211
+ * ```typescript
212
+ * const dateTransform: TransformOutputFn<'date'> = (value) => value.toISOString();
213
+ * // value is typed as Date
214
+ * ```
215
+ */
216
+ export type TransformOutputFn<TFieldType extends FieldType> = (value: InferValueType<TFieldType>) => Primitive | Promise<Primitive>;
217
+ export {};
218
+ //# sourceMappingURL=field-inference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-inference.d.ts","sourceRoot":"","sources":["../../../../src/db/core/fields/field-inference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import type { C15TOptions } from '../../../types';
2
+ import type { InferFieldsInput, InferFieldsOutput } from './field-inference';
3
+ import type { Field } from './field-types';
4
+ /**
5
+ * Infers field types from plugin definitions in C15T options.
6
+ * Extracts and combines field definitions from enabled plugins.
7
+ *
8
+ * @template TOptions - The C15T options configuration type
9
+ * @template TSchemaKey - Key for accessing the specific entity schema within plugins
10
+ * @template TFormat - Format to return ('output' or 'input')
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Configuration with plugins defining consent fields
15
+ * interface MyOptions extends C15TOptions {
16
+ * auth: {
17
+ * plugins: {
18
+ * consent: {
19
+ * enabled: true,
20
+ * subjectFields: {
21
+ * acceptedTerms: {
22
+ * type: 'boolean',
23
+ * required: true
24
+ * }
25
+ * }
26
+ * }
27
+ * }
28
+ * }
29
+ * }
30
+ *
31
+ * // Infer the output types for subject fields from plugins
32
+ * type SubjectPluginFields = InferFieldsFromPlugins<MyOptions, 'subjectFields', 'output'>;
33
+ * // Results in { acceptedTerms: boolean }
34
+ * ```
35
+ *
36
+ * @remarks
37
+ * This type helper allows plugins to extend entity schemas with their own fields.
38
+ * It walks through all enabled plugins, extracts fields for the specified entity type,
39
+ * and combines them into a single type.
40
+ */
41
+ export type InferFieldsFromPlugins<TOptions extends C15TOptions, TSchemaKey extends string, TFormat extends 'output' | 'input' = 'output'> = InferFieldsFromObjectPath<TOptions, [
42
+ string,
43
+ 'plugins',
44
+ string,
45
+ TSchemaKey
46
+ ], TFormat>;
47
+ /**
48
+ * Infers field types from C15T options for a specific module.
49
+ * Used to extract additional fields defined in options.
50
+ *
51
+ * @template TOptions - The C15T options configuration type
52
+ * @template TSchemaKey - Key for accessing the specific entity schema
53
+ * @template TFormat - Format to return ('output' or 'input')
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * // Configuration with additional subject fields
58
+ * interface MyOptions extends C15TOptions {
59
+ * auth: {
60
+ * subjectFields: {
61
+ * profile: {
62
+ * type: 'string',
63
+ * required: false
64
+ * }
65
+ * }
66
+ * }
67
+ * }
68
+ *
69
+ * // Infer the output types for subject fields from options
70
+ * type SubjectAdditionalFields = InferFieldsFromOptions<MyOptions, 'subject', 'subjectFields', 'output'>;
71
+ * // Results in { profile?: string | null | undefined }
72
+ * ```
73
+ *
74
+ * @remarks
75
+ * TSchemaKey can be one of:
76
+ * - Single string key like 'subjectFields' to access TOptions[T]['subjectFields']
77
+ * - Array of strings for a nested path like ['subject', 'subjectFields']
78
+ *
79
+ * This type helper extracts custom fields defined directly in the options object,
80
+ * rather than those defined in plugins.
81
+ */
82
+ export type InferFieldsFromOptions<TOptions extends C15TOptions, TModuleKey extends keyof TOptions & string, TSchemaKey extends string, TFormat extends 'output' | 'input' = 'output'> = InferFieldsFromObjectPath<TOptions, [TModuleKey, TSchemaKey], TFormat>;
83
+ type InferFieldsFromObjectPath<TOptions, TPath extends (string | number)[], TFormat extends 'output' | 'input'> = TFormat extends 'output' ? InferFieldsOutput<GetFieldsFromPath<TOptions, TPath>> : InferFieldsInput<GetFieldsFromPath<TOptions, TPath>>;
84
+ type GetFieldsFromPath<TOptions, TPath extends (string | number)[]> = TPath extends [infer TFirst, ...infer TRest] ? TFirst extends keyof TOptions ? TRest extends (string | number)[] ? TRest['length'] extends 0 ? TOptions[TFirst] extends Record<string, Field> ? TOptions[TFirst] : never : GetFieldsFromPath<TOptions[TFirst], TRest> : never : TFirst extends string ? TOptions extends Record<string, unknown> ? TRest extends (string | number)[] ? TRest['length'] extends 0 ? {
85
+ [K in keyof TOptions]: K extends TFirst ? TOptions[K] extends Record<string, Field> ? TOptions[K] : never : never;
86
+ }[keyof TOptions & TFirst] : {
87
+ [K in keyof TOptions]: K extends TFirst ? GetFieldsFromPath<TOptions[K], TRest> : never;
88
+ }[keyof TOptions & TFirst] : never : never : never : Record<string, never>;
89
+ export {};
90
+ //# sourceMappingURL=field-options-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-options-integration.d.ts","sourceRoot":"","sources":["../../../../src/db/core/fields/field-options-integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,MAAM,sBAAsB,CACjC,QAAQ,SAAS,WAAW,EAC5B,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,QAAQ,GAAG,OAAO,GAAG,QAAQ,IAC1C,yBAAyB,CAC5B,QAAQ,EACR;IAAC,MAAM;IAAE,SAAS;IAAE,MAAM;IAAE,UAAU;CAAC,EACvC,OAAO,CACP,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,sBAAsB,CACjC,QAAQ,SAAS,WAAW,EAC5B,UAAU,SAAS,MAAM,QAAQ,GAAG,MAAM,EAC1C,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,QAAQ,GAAG,OAAO,GAAG,QAAQ,IAC1C,yBAAyB,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;AAG3E,KAAK,yBAAyB,CAC7B,QAAQ,EACR,KAAK,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACjC,OAAO,SAAS,QAAQ,GAAG,OAAO,IAC/B,OAAO,SAAS,QAAQ,GACzB,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GACrD,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAGxD,KAAK,iBAAiB,CACrB,QAAQ,EACR,KAAK,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,IAC9B,KAAK,SAAS,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAC7C,MAAM,SAAS,MAAM,QAAQ,GAC5B,KAAK,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAChC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACxB,QAAQ,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC7C,QAAQ,CAAC,MAAM,CAAC,GAChB,KAAK,GACN,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAC3C,KAAK,GACN,MAAM,SAAS,MAAM,GACpB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,KAAK,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAChC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACxB;KACC,CAAC,IAAI,MAAM,QAAQ,GAAG,CAAC,SAAS,MAAM,GACpC,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACxC,QAAQ,CAAC,CAAC,CAAC,GACX,KAAK,GACN,KAAK;CACR,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GACzB;KACC,CAAC,IAAI,MAAM,QAAQ,GAAG,CAAC,SAAS,MAAM,GACpC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GACrC,KAAK;CACR,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAC1B,KAAK,GACN,KAAK,GACN,KAAK,GACP,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * The set of field types supported by C15T.
3
+ * Specifies the data types that can be used for database fields.
4
+ *
5
+ * @remarks
6
+ * These types determine how data is stored, validated, and transformed.
7
+ * The system supports both scalar types and array types.
8
+ */
9
+ export type FieldType = 'string' | 'number' | 'boolean' | 'date' | 'timezone' | 'json' | 'string[]' | 'number[]';
10
+ /**
11
+ * Primitive types that can be stored in the database.
12
+ */
13
+ export type Primitive = string | number | boolean | Date | null | undefined;
14
+ /**
15
+ * JSON value types that can be stored in JSON fields.
16
+ */
17
+ export type JsonValue = string | number | boolean | null | JsonValue[] | {
18
+ [key: string]: JsonValue;
19
+ };
20
+ /**
21
+ * Configuration options for a database field.
22
+ * Defines the behavior, validation, and transformations for a field.
23
+ *
24
+ * @template TFieldType - The data type of the field
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Basic required string field
29
+ * const basicConfig: FieldConfig<'string'> = {
30
+ * type: 'string',
31
+ * required: true
32
+ * };
33
+ *
34
+ * // Optional number field with validation
35
+ * const numberConfig: FieldConfig<'number'> = {
36
+ * type: 'number',
37
+ * required: false,
38
+ * validator: (value) => value >= 0 ? null : 'Must be non-negative'
39
+ * };
40
+ *
41
+ * // Date field with transform and default
42
+ * const dateConfig: FieldConfig<'date'> = {
43
+ * type: 'date',
44
+ * defaultValue: () => new Date(),
45
+ * transform: {
46
+ * output: (date) => date.toISOString()
47
+ * }
48
+ * };
49
+ * ```
50
+ *
51
+ * @remarks
52
+ * This is the core configuration object that defines how a field behaves
53
+ * in the database schema. It controls whether the field is required, how
54
+ * it's transformed, validated, and more.
55
+ */
56
+ export type FieldConfig<TFieldType extends FieldType> = {
57
+ /**
58
+ * The data type of the field.
59
+ * Determines how the field is stored and validated.
60
+ */
61
+ type: TFieldType;
62
+ /**
63
+ * Whether the field is required for record creation.
64
+ * If true, the field must be provided when creating a record.
65
+ * @default true
66
+ */
67
+ required?: boolean;
68
+ /**
69
+ * Whether the field should be returned in API responses.
70
+ * If false, the field will be excluded from query results.
71
+ * @default true
72
+ */
73
+ returned?: boolean;
74
+ /**
75
+ * Whether the field accepts input from API requests.
76
+ * If false, the field cannot be set directly by clients.
77
+ * @default true
78
+ */
79
+ input?: boolean;
80
+ /**
81
+ * Default value for the field when not provided in create operations.
82
+ * Can be a static value or a function that returns a value.
83
+ */
84
+ defaultValue?: Primitive | (() => Primitive);
85
+ /**
86
+ * Functions to transform the field value during input/output operations.
87
+ * Can modify values before storage or after retrieval.
88
+ */
89
+ transform?: {
90
+ /**
91
+ * Transform function for field input.
92
+ * Applied when data is being saved to the database.
93
+ */
94
+ input?: (value: InferValueType<TFieldType>) => Primitive | Promise<Primitive>;
95
+ /**
96
+ * Transform function for field output.
97
+ * Applied when data is being retrieved from the database.
98
+ */
99
+ output?: (value: unknown) => InferValueType<TFieldType> | Promise<InferValueType<TFieldType>>;
100
+ };
101
+ /**
102
+ * Custom validation function for the field.
103
+ * Returns null if valid, or an error message if invalid.
104
+ */
105
+ validator?: (value: InferValueType<TFieldType>) => string | null;
106
+ /**
107
+ * Whether the field should be unique across all records.
108
+ * If true, no two records can have the same value for this field.
109
+ */
110
+ unique?: boolean;
111
+ /**
112
+ * Whether the field should be indexed for faster lookups.
113
+ * If true, an index will be created for this field.
114
+ */
115
+ indexed?: boolean;
116
+ /**
117
+ * Whether the field should be sortable in queries.
118
+ * If false, the field cannot be used in ORDER BY clauses.
119
+ * @default true
120
+ */
121
+ sortable?: boolean;
122
+ /**
123
+ * Custom database field name.
124
+ * If not provided, the field name will be used as-is.
125
+ */
126
+ fieldName?: string;
127
+ /**
128
+ * Whether the field should be stored as a bigint.
129
+ * Only applicable to number fields.
130
+ * @default false
131
+ */
132
+ bigint?: boolean;
133
+ /**
134
+ * References to other models.
135
+ */
136
+ references?: {
137
+ model: string;
138
+ entity: string;
139
+ field: string;
140
+ onDelete: 'CASCADE' | 'SET NULL' | 'RESTRICT' | 'NO ACTION';
141
+ };
142
+ };
143
+ /**
144
+ * Helper type to infer the base JavaScript type from a field type.
145
+ */
146
+ export type InferValueType<TFieldType extends FieldType> = TFieldType extends 'string' ? string : TFieldType extends 'number' ? number : TFieldType extends 'boolean' ? boolean : TFieldType extends 'date' ? Date : TFieldType extends 'timezone' ? string : TFieldType extends 'json' ? JsonValue : TFieldType extends 'string[]' ? string[] : TFieldType extends 'number[]' ? number[] : never;
147
+ /**
148
+ * The complete definition of a database field.
149
+ * Combines the field type with its configuration options.
150
+ *
151
+ * @template TFieldType - The data type of the field
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * // A simple string field
156
+ * const nameField: Field<'string'> = {
157
+ * type: 'string',
158
+ * required: true,
159
+ * unique: true
160
+ * };
161
+ *
162
+ * // A number field with validation
163
+ * const ageField: Field<'number'> = {
164
+ * type: 'number',
165
+ * required: true,
166
+ * validator: (value) => value >= 0 ? null : 'Age must be non-negative'
167
+ * };
168
+ *
169
+ * // A date field with transforms
170
+ * const createdAtField: Field<'date'> = {
171
+ * type: 'date',
172
+ * required: true,
173
+ * input: false,
174
+ * defaultValue: () => new Date(),
175
+ * transform: {
176
+ * output: (date) => date.toISOString()
177
+ * }
178
+ * };
179
+ * ```
180
+ */
181
+ export type Field<TFieldType extends FieldType = FieldType> = FieldConfig<TFieldType>;
182
+ //# sourceMappingURL=field-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../../../src/db/core/fields/field-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAClB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,UAAU,GACV,MAAM,GACN,UAAU,GACV,UAAU,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,SAAS,GAClB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,MAAM,WAAW,CAAC,UAAU,SAAS,SAAS,IAAI;IACvD;;;OAGG;IACH,IAAI,EAAE,UAAU,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC;IAE7C;;;OAGG;IACH,SAAS,CAAC,EAAE;QACX;;;WAGG;QACH,KAAK,CAAC,EAAE,CACP,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,KAC7B,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAEpC;;;WAGG;QACH,MAAM,CAAC,EAAE,CACR,KAAK,EAAE,OAAO,KACV,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;KACtE,CAAC;IAEF;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,GAAG,IAAI,CAAC;IAEjE;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;KAC5D,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,UAAU,SAAS,SAAS,IACtD,UAAU,SAAS,QAAQ,GACxB,MAAM,GACN,UAAU,SAAS,QAAQ,GAC1B,MAAM,GACN,UAAU,SAAS,SAAS,GAC3B,OAAO,GACP,UAAU,SAAS,MAAM,GACxB,IAAI,GACJ,UAAU,SAAS,UAAU,GAC5B,MAAM,GACN,UAAU,SAAS,MAAM,GACxB,SAAS,GACT,UAAU,SAAS,UAAU,GAC5B,MAAM,EAAE,GACR,UAAU,SAAS,UAAU,GAC5B,MAAM,EAAE,GACR,KAAK,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,KAAK,CAAC,UAAU,SAAS,SAAS,GAAG,SAAS,IACzD,WAAW,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Generates a unique ID with the specified prefix
3
+ *
4
+ * Creates time-ordered, prefixed, base58-encoded identifiers that:
5
+ * - Start with the provided prefix for clear identification
6
+ * - Embed a timestamp for chronological ordering
7
+ * - Include random data for uniqueness
8
+ *
9
+ * @param prefix - The prefix to use for the ID
10
+ * @returns A unique, prefixed identifier
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const subjectId = generateId("sub"); // "sub_3hK4G..."
15
+ * const consentId = generateId("cns"); // "cns_5RtX9..."
16
+ * ```
17
+ */
18
+ export declare function generateId(prefix: string): string;
19
+ //# sourceMappingURL=id-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-generator.d.ts","sourceRoot":"","sources":["../../../../src/db/core/fields/id-generator.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBjD"}
@@ -0,0 +1,8 @@
1
+ export type { FieldType, Field, FieldConfig, Primitive, JsonValue, } from './field-types';
2
+ export type { NumberFieldOptions, StringFieldOptions, JsonFieldOptions, TimezoneFieldOptions, DateFieldOptions, } from './field-factory';
3
+ export { createField, stringField, numberField, booleanField, dateField, jsonField, stringArrayField, numberArrayField, timezoneField, COMMON_TIMEZONES, } from './field-factory';
4
+ export { validateField, createFieldValueSchema, } from './zod-fields';
5
+ export type { InferFieldOutput, InferFieldInput, InferFieldsOutput, InferFieldsInput, TransformOutputFn, } from './field-inference';
6
+ export { getDatabaseType, transformForDb, parseFromDb, } from './superjson-utils';
7
+ export { generateId } from './id-generator';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db/core/fields/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,SAAS,EACT,KAAK,EACL,WAAW,EACX,SAAS,EACT,SAAS,GACT,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACN,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACN,aAAa,EACb,sBAAsB,GACtB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACN,eAAe,EACf,cAAc,EACd,WAAW,GACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Database type enumeration
3
+ * Used to identify the current database type for data handling decisions
4
+ */
5
+ export type DatabaseType = 'sqlite' | 'postgresql' | 'mysql' | 'unknown';
6
+ /**
7
+ * Get the current database type from a provider string
8
+ *
9
+ * @param provider - The database provider string
10
+ * @returns The normalized database type
11
+ */
12
+ export declare function normalizeDatabaseType(provider?: string): DatabaseType;
13
+ /**
14
+ * Get the current database type
15
+ *
16
+ * @returns The current database type
17
+ */
18
+ export declare function getDatabaseType(): DatabaseType;
19
+ /**
20
+ * Apply database-specific transformations for JSON data
21
+ *
22
+ * @param value - The value to transform
23
+ * @param dbType - The database type (defaults to current global setting)
24
+ * @returns Transformed value appropriate for the database
25
+ */
26
+ export declare function transformForDb<T>(value: T, dbType?: DatabaseType): T | string;
27
+ /**
28
+ * Parse a value from the database using the global database type.
29
+ *
30
+ * @param value - The value from the database
31
+ * @returns Parsed value
32
+ */
33
+ export declare function parseFromDb(value: unknown): unknown;
34
+ //# sourceMappingURL=superjson-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"superjson-utils.d.ts","sourceRoot":"","sources":["../../../../src/db/core/fields/superjson-utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAoBrE;AAKD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC/B,KAAK,EAAE,CAAC,EACR,MAAM,GAAE,YAAkC,GACxC,CAAC,GAAG,MAAM,CAkBZ;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,WAYzC"}