@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
@@ -1,8 +1,9 @@
1
1
  import "neverthrow";
2
- import * as __WEBPACK_EXTERNAL_MODULE_h3__ from "h3";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__ from "@orpc/server";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__ from "@opentelemetry/api";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_base_x_aeb88370__ from "base-x";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE_zod__ from "zod";
6
+ import "@doubletie/logger";
6
7
  import "node:crypto";
7
8
  const error_codes_ERROR_CODES = Object.freeze({
8
9
  NOT_FOUND: 'Resource not found',
@@ -34,9 +35,9 @@ const ERROR_CATEGORIES = Object.freeze({
34
35
  CONFIGURATION: 'configuration',
35
36
  UNEXPECTED: 'unexpected'
36
37
  });
37
- const tracing_tracer = __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.trace.getTracer('@doubletie/results');
38
+ const tracer = __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.trace.getTracer('@doubletie/results');
38
39
  async function tracing_withSpan(name, fn, attributes = {}) {
39
- return await tracing_tracer.startActiveSpan(name, async (span)=>{
40
+ return await tracer.startActiveSpan(name, async (span)=>{
40
41
  try {
41
42
  span.setAttributes(attributes);
42
43
  const result = await fn(span);
@@ -69,10 +70,10 @@ async function tracing_withSpan(name, fn, attributes = {}) {
69
70
  }
70
71
  });
71
72
  }
72
- class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
73
- code;
73
+ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__.ORPCError {
74
74
  category;
75
75
  meta;
76
+ statusCode;
76
77
  constructor(message, options = {
77
78
  code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
78
79
  status: 500,
@@ -80,22 +81,18 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
80
81
  cause: void 0,
81
82
  meta: {}
82
83
  }){
83
- super(message, {
84
- cause: options.cause
84
+ super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
85
+ message,
86
+ cause: options.cause,
87
+ data: options.meta ?? {}
85
88
  });
86
- this.name = this.constructor.name;
87
- this.code = options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR;
88
- this.statusCode = options.status ?? 500;
89
+ this.name = 'DoubleTieError';
89
90
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
90
91
  this.meta = options.meta ?? {};
91
- this.data = {
92
- code: this.code,
93
- category: this.category,
94
- meta: this.meta
95
- };
92
+ this.statusCode = options.status ?? 500;
96
93
  tracing_withSpan('create_doubletie_error', async (span)=>{
97
94
  span.setAttributes({
98
- 'error.name': this.name,
95
+ 'error.name': this.constructor.name,
99
96
  'error.message': message,
100
97
  'error.code': this.code,
101
98
  'error.status': this.statusCode,
@@ -115,11 +112,11 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
115
112
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
116
113
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
117
114
  return {
118
- statusCode: this.statusCode,
115
+ code: this.code,
119
116
  message: validationErrorMessage || this.message,
120
- statusMessage: this.statusMessage,
117
+ status: this.statusCode,
118
+ defined: true,
121
119
  data: {
122
- code: this.code,
123
120
  category: this.category,
124
121
  meta: this.meta,
125
122
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -170,7 +167,9 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
170
167
  const ErrorSubclass = class extends error_class_DoubleTieError {
171
168
  constructor(message, options){
172
169
  super(message, options);
173
- this.name = name;
170
+ Object.defineProperty(this, 'name', {
171
+ value: name
172
+ });
174
173
  }
175
174
  };
176
175
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -295,137 +294,6 @@ __WEBPACK_EXTERNAL_MODULE_zod__.z.discriminatedUnion('type', [
295
294
  stringArrayFieldSchema,
296
295
  numberArrayFieldSchema
297
296
  ]);
298
- const levels = [
299
- 'error',
300
- 'warn',
301
- 'info',
302
- 'success',
303
- 'debug'
304
- ];
305
- function shouldPublishLog(currentLogLevel, logLevel) {
306
- const currentLevelIndex = levels.indexOf(currentLogLevel);
307
- const messageLevelIndex = levels.indexOf(logLevel);
308
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
309
- return messageLevelIndex <= currentLevelIndex;
310
- }
311
- const colors = {
312
- reset: '\x1b[0m',
313
- bright: '\x1b[1m',
314
- dim: '\x1b[2m',
315
- underscore: '\x1b[4m',
316
- blink: '\x1b[5m',
317
- reverse: '\x1b[7m',
318
- hidden: '\x1b[8m',
319
- fg: {
320
- black: '\x1b[30m',
321
- red: '\x1b[31m',
322
- green: '\x1b[32m',
323
- yellow: '\x1b[33m',
324
- blue: '\x1b[34m',
325
- magenta: '\x1b[35m',
326
- cyan: '\x1b[36m',
327
- white: '\x1b[37m'
328
- },
329
- bg: {
330
- black: '\x1b[40m',
331
- red: '\x1b[41m',
332
- green: '\x1b[42m',
333
- yellow: '\x1b[43m',
334
- blue: '\x1b[44m',
335
- magenta: '\x1b[45m',
336
- cyan: '\x1b[46m',
337
- white: '\x1b[47m'
338
- }
339
- };
340
- const levelColors = {
341
- info: colors.fg.blue,
342
- success: colors.fg.green,
343
- warn: colors.fg.yellow,
344
- error: colors.fg.red,
345
- debug: colors.fg.magenta
346
- };
347
- const formatMessage = (level, message, appName = 'c15t')=>{
348
- const timestamp = new Date().toISOString();
349
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
350
- };
351
- const LOGGER_TRACER_NAME = '@doubletie/logger';
352
- const LOG_LEVEL_TO_SPAN_STATUS = {
353
- error: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
354
- warn: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
355
- info: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
356
- success: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
357
- debug: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK
358
- };
359
- const telemetry_getTracer = (options)=>{
360
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
361
- return __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.trace.getTracer(LOGGER_TRACER_NAME);
362
- };
363
- const createLogSpan = (level, message, args = [], options)=>{
364
- if (options?.telemetry?.disabled) return null;
365
- const tracer = telemetry_getTracer(options);
366
- const span = tracer.startSpan('log_entry', {
367
- attributes: {
368
- 'log.level': level,
369
- 'log.message': message,
370
- 'log.has_args': args.length > 0,
371
- ...options?.telemetry?.defaultAttributes || {}
372
- }
373
- });
374
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
375
- const data = args[0];
376
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
377
- }
378
- span.setStatus({
379
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
380
- message: 'error' === level || 'warn' === level ? message : void 0
381
- });
382
- return span;
383
- };
384
- const withLogSpan = async (level, message, args, operation, options)=>{
385
- const span = createLogSpan(level, message, args, options);
386
- if (!span) return operation();
387
- try {
388
- const result = await operation();
389
- return result;
390
- } catch (error) {
391
- span.setStatus({
392
- code: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
393
- message: error instanceof Error ? error.message : String(error)
394
- });
395
- throw error;
396
- } finally{
397
- span.end();
398
- }
399
- };
400
- const createLogger = (options)=>{
401
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
402
- const loggerOptions = options;
403
- const enabled = loggerOptions?.disabled !== true;
404
- const logLevel = loggerOptions?.level ?? 'error';
405
- const appName = loggerOptions?.appName ?? 'c15t';
406
- const logFunc = async (level, message, args = [])=>{
407
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
408
- await withLogSpan(level, message, args, async ()=>{
409
- const formattedMessage = formatMessage(level, message, appName);
410
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
411
- if ('error' === level) console.error(formattedMessage, ...args);
412
- else if ('warn' === level) console.warn(formattedMessage, ...args);
413
- else if ('info' === level) console.log(formattedMessage, ...args);
414
- else if ('debug' === level) console.debug(formattedMessage, ...args);
415
- else if ('success' === level) console.log(formattedMessage, ...args);
416
- return;
417
- }
418
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
419
- });
420
- };
421
- return Object.fromEntries(levels.map((level)=>[
422
- level,
423
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
424
- console.error('Logger error:', error);
425
- })
426
- ]));
427
- };
428
- createLogger();
429
297
  const auditLogSchema = __WEBPACK_EXTERNAL_MODULE_zod__.z.object({
430
298
  id: __WEBPACK_EXTERNAL_MODULE_zod__.z.string(),
431
299
  entityType: __WEBPACK_EXTERNAL_MODULE_zod__.z.string(),
@@ -51,7 +51,6 @@ type PrismaClient = Record<string, unknown>;
51
51
  * // Create the c15t instance with Prisma adapter
52
52
  * const c15t = c15tInstance({
53
53
  * storage: prismaAdapter(prisma, { provider: 'postgresql' }),
54
- * secret: process.env.SECRET_KEY
55
54
  * });
56
55
  *
57
56
  * // Use in your application
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAGlD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC5B;;;;;OAKG;IACH,QAAQ,EACL,QAAQ,GACR,aAAa,GACb,OAAO,GACP,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;CACb;AAED;;;;;GAKG;AACH,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA+P5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,YAAY,EAAE,QAAQ,YAAY,MAAM,SAAS,WAAW;;IAYnE;;;;;;OAMG;;IA0BH;;;;;;OAMG;;IA0BH;;;;;;OAMG;;IAoCH;;;;;;OAMG;;IAyBH;;;;;;OAMG;;IAiBH;;;;;;OAMG;;IAYH;;;;;OAKG;;IAaH;;;;;;OAMG;;IAUH;;;;;;;;;;OAUG;gBACe,UAAU,QAAQ;QACnC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;KAC/D,GAAG,OAAO,CAAC,UAAU,CAAC;;CAiBxB,CAAC"}
1
+ {"version":3,"file":"prisma-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAGlD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC5B;;;;;OAKG;IACH,QAAQ,EACL,QAAQ,GACR,aAAa,GACb,OAAO,GACP,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;CACb;AAED;;;;;GAKG;AACH,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA+P5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,YAAY,EAAE,QAAQ,YAAY,MAAM,SAAS,WAAW;;IAYnE;;;;;;OAMG;;IA0BH;;;;;;OAMG;;IA0BH;;;;;;OAMG;;IAoCH;;;;;;OAMG;;IAyBH;;;;;;OAMG;;IAiBH;;;;;;OAMG;;IAYH;;;;;OAKG;;IAaH;;;;;;OAMG;;IAUH;;;;;;;;;;OAUG;gBACe,UAAU,QAAQ;QACnC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;KAC/D,GAAG,OAAO,CAAC,UAAU,CAAC;;CAiBxB,CAAC"}
@@ -163,7 +163,7 @@ external_zod_namespaceObject.z.discriminatedUnion('type', [
163
163
  numberArrayFieldSchema
164
164
  ]);
165
165
  require("neverthrow");
166
- const external_h3_namespaceObject = require("h3");
166
+ const server_namespaceObject = require("@orpc/server");
167
167
  const error_codes_ERROR_CODES = Object.freeze({
168
168
  NOT_FOUND: 'Resource not found',
169
169
  BAD_REQUEST: 'Bad request',
@@ -195,9 +195,9 @@ const ERROR_CATEGORIES = Object.freeze({
195
195
  UNEXPECTED: 'unexpected'
196
196
  });
197
197
  const api_namespaceObject = require("@opentelemetry/api");
198
- const tracing_tracer = api_namespaceObject.trace.getTracer('@doubletie/results');
198
+ const tracer = api_namespaceObject.trace.getTracer('@doubletie/results');
199
199
  async function tracing_withSpan(name, fn, attributes = {}) {
200
- return await tracing_tracer.startActiveSpan(name, async (span)=>{
200
+ return await tracer.startActiveSpan(name, async (span)=>{
201
201
  try {
202
202
  span.setAttributes(attributes);
203
203
  const result = await fn(span);
@@ -230,10 +230,10 @@ async function tracing_withSpan(name, fn, attributes = {}) {
230
230
  }
231
231
  });
232
232
  }
233
- class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
234
- code;
233
+ class error_class_DoubleTieError extends server_namespaceObject.ORPCError {
235
234
  category;
236
235
  meta;
236
+ statusCode;
237
237
  constructor(message, options = {
238
238
  code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
239
239
  status: 500,
@@ -241,22 +241,18 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
241
241
  cause: void 0,
242
242
  meta: {}
243
243
  }){
244
- super(message, {
245
- cause: options.cause
244
+ super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
245
+ message,
246
+ cause: options.cause,
247
+ data: options.meta ?? {}
246
248
  });
247
- this.name = this.constructor.name;
248
- this.code = options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR;
249
- this.statusCode = options.status ?? 500;
249
+ this.name = 'DoubleTieError';
250
250
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
251
251
  this.meta = options.meta ?? {};
252
- this.data = {
253
- code: this.code,
254
- category: this.category,
255
- meta: this.meta
256
- };
252
+ this.statusCode = options.status ?? 500;
257
253
  tracing_withSpan('create_doubletie_error', async (span)=>{
258
254
  span.setAttributes({
259
- 'error.name': this.name,
255
+ 'error.name': this.constructor.name,
260
256
  'error.message': message,
261
257
  'error.code': this.code,
262
258
  'error.status': this.statusCode,
@@ -276,11 +272,11 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
276
272
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
277
273
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
278
274
  return {
279
- statusCode: this.statusCode,
275
+ code: this.code,
280
276
  message: validationErrorMessage || this.message,
281
- statusMessage: this.statusMessage,
277
+ status: this.statusCode,
278
+ defined: true,
282
279
  data: {
283
- code: this.code,
284
280
  category: this.category,
285
281
  meta: this.meta,
286
282
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -331,7 +327,9 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
331
327
  const ErrorSubclass = class extends error_class_DoubleTieError {
332
328
  constructor(message, options){
333
329
  super(message, options);
334
- this.name = name;
330
+ Object.defineProperty(this, 'name', {
331
+ value: name
332
+ });
335
333
  }
336
334
  };
337
335
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -348,137 +346,7 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
348
346
  return formattedMessage;
349
347
  }
350
348
  }
351
- const colors = {
352
- reset: '\x1b[0m',
353
- bright: '\x1b[1m',
354
- dim: '\x1b[2m',
355
- underscore: '\x1b[4m',
356
- blink: '\x1b[5m',
357
- reverse: '\x1b[7m',
358
- hidden: '\x1b[8m',
359
- fg: {
360
- black: '\x1b[30m',
361
- red: '\x1b[31m',
362
- green: '\x1b[32m',
363
- yellow: '\x1b[33m',
364
- blue: '\x1b[34m',
365
- magenta: '\x1b[35m',
366
- cyan: '\x1b[36m',
367
- white: '\x1b[37m'
368
- },
369
- bg: {
370
- black: '\x1b[40m',
371
- red: '\x1b[41m',
372
- green: '\x1b[42m',
373
- yellow: '\x1b[43m',
374
- blue: '\x1b[44m',
375
- magenta: '\x1b[45m',
376
- cyan: '\x1b[46m',
377
- white: '\x1b[47m'
378
- }
379
- };
380
- const levelColors = {
381
- info: colors.fg.blue,
382
- success: colors.fg.green,
383
- warn: colors.fg.yellow,
384
- error: colors.fg.red,
385
- debug: colors.fg.magenta
386
- };
387
- const formatMessage = (level, message, appName = 'c15t')=>{
388
- const timestamp = new Date().toISOString();
389
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
390
- };
391
- const levels = [
392
- 'error',
393
- 'warn',
394
- 'info',
395
- 'success',
396
- 'debug'
397
- ];
398
- function shouldPublishLog(currentLogLevel, logLevel) {
399
- const currentLevelIndex = levels.indexOf(currentLogLevel);
400
- const messageLevelIndex = levels.indexOf(logLevel);
401
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
402
- return messageLevelIndex <= currentLevelIndex;
403
- }
404
- const LOGGER_TRACER_NAME = '@doubletie/logger';
405
- const LOG_LEVEL_TO_SPAN_STATUS = {
406
- error: api_namespaceObject.SpanStatusCode.ERROR,
407
- warn: api_namespaceObject.SpanStatusCode.OK,
408
- info: api_namespaceObject.SpanStatusCode.OK,
409
- success: api_namespaceObject.SpanStatusCode.OK,
410
- debug: api_namespaceObject.SpanStatusCode.OK
411
- };
412
- const telemetry_getTracer = (options)=>{
413
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
414
- return api_namespaceObject.trace.getTracer(LOGGER_TRACER_NAME);
415
- };
416
- const createLogSpan = (level, message, args = [], options)=>{
417
- if (options?.telemetry?.disabled) return null;
418
- const tracer = telemetry_getTracer(options);
419
- const span = tracer.startSpan('log_entry', {
420
- attributes: {
421
- 'log.level': level,
422
- 'log.message': message,
423
- 'log.has_args': args.length > 0,
424
- ...options?.telemetry?.defaultAttributes || {}
425
- }
426
- });
427
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
428
- const data = args[0];
429
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
430
- }
431
- span.setStatus({
432
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
433
- message: 'error' === level || 'warn' === level ? message : void 0
434
- });
435
- return span;
436
- };
437
- const withLogSpan = async (level, message, args, operation, options)=>{
438
- const span = createLogSpan(level, message, args, options);
439
- if (!span) return operation();
440
- try {
441
- const result = await operation();
442
- return result;
443
- } catch (error) {
444
- span.setStatus({
445
- code: api_namespaceObject.SpanStatusCode.ERROR,
446
- message: error instanceof Error ? error.message : String(error)
447
- });
448
- throw error;
449
- } finally{
450
- span.end();
451
- }
452
- };
453
- const createLogger = (options)=>{
454
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
455
- const loggerOptions = options;
456
- const enabled = loggerOptions?.disabled !== true;
457
- const logLevel = loggerOptions?.level ?? 'error';
458
- const appName = loggerOptions?.appName ?? 'c15t';
459
- const logFunc = async (level, message, args = [])=>{
460
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
461
- await withLogSpan(level, message, args, async ()=>{
462
- const formattedMessage = formatMessage(level, message, appName);
463
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
464
- if ('error' === level) console.error(formattedMessage, ...args);
465
- else if ('warn' === level) console.warn(formattedMessage, ...args);
466
- else if ('info' === level) console.log(formattedMessage, ...args);
467
- else if ('debug' === level) console.debug(formattedMessage, ...args);
468
- else if ('success' === level) console.log(formattedMessage, ...args);
469
- return;
470
- }
471
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
472
- });
473
- };
474
- return Object.fromEntries(levels.map((level)=>[
475
- level,
476
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
477
- console.error('Logger error:', error);
478
- })
479
- ]));
480
- };
481
- createLogger();
349
+ const logger_namespaceObject = require("@doubletie/logger");
482
350
  const schema_auditLogSchema = external_zod_namespaceObject.z.object({
483
351
  id: external_zod_namespaceObject.z.string(),
484
352
  entityType: external_zod_namespaceObject.z.string(),
@@ -1788,9 +1656,19 @@ const createKyselyAdapter = async (config)=>{
1788
1656
  databaseType
1789
1657
  };
1790
1658
  };
1659
+ let globalLogger;
1660
+ function getLogger(options) {
1661
+ if (!globalLogger) globalLogger = (0, logger_namespaceObject.createLogger)({
1662
+ level: 'info',
1663
+ appName: 'c15t',
1664
+ ...options
1665
+ });
1666
+ return globalLogger;
1667
+ }
1791
1668
  async function getAdapter(options) {
1792
- const logger = createLogger({
1793
- appName: 'c15t'
1669
+ const logger = getLogger({
1670
+ appName: options.appName ?? 'c15t',
1671
+ ...options.logger
1794
1672
  });
1795
1673
  if (!options.database) {
1796
1674
  const tables = getConsentTables(options);