@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
@@ -147,7 +147,7 @@ external_zod_namespaceObject.z.discriminatedUnion('type', [
147
147
  numberArrayFieldSchema
148
148
  ]);
149
149
  require("neverthrow");
150
- const external_h3_namespaceObject = require("h3");
150
+ const server_namespaceObject = require("@orpc/server");
151
151
  const error_codes_ERROR_CODES = Object.freeze({
152
152
  NOT_FOUND: 'Resource not found',
153
153
  BAD_REQUEST: 'Bad request',
@@ -180,10 +180,10 @@ const ERROR_CATEGORIES = Object.freeze({
180
180
  });
181
181
  const api_namespaceObject = require("@opentelemetry/api");
182
182
  api_namespaceObject.trace.getTracer('@doubletie/results');
183
- class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
184
- code;
183
+ class error_class_DoubleTieError extends server_namespaceObject.ORPCError {
185
184
  category;
186
185
  meta;
186
+ statusCode;
187
187
  constructor(message, options = {
188
188
  code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
189
189
  status: 500,
@@ -191,22 +191,18 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
191
191
  cause: void 0,
192
192
  meta: {}
193
193
  }){
194
- super(message, {
195
- cause: options.cause
194
+ super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
195
+ message,
196
+ cause: options.cause,
197
+ data: options.meta ?? {}
196
198
  });
197
- this.name = this.constructor.name;
198
- this.code = options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR;
199
- this.statusCode = options.status ?? 500;
199
+ this.name = 'DoubleTieError';
200
200
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
201
201
  this.meta = options.meta ?? {};
202
- this.data = {
203
- code: this.code,
204
- category: this.category,
205
- meta: this.meta
206
- };
202
+ this.statusCode = options.status ?? 500;
207
203
  tracing_withSpan('create_doubletie_error', async (span)=>{
208
204
  span.setAttributes({
209
- 'error.name': this.name,
205
+ 'error.name': this.constructor.name,
210
206
  'error.message': message,
211
207
  'error.code': this.code,
212
208
  'error.status': this.statusCode,
@@ -226,11 +222,11 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
226
222
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
227
223
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
228
224
  return {
229
- statusCode: this.statusCode,
225
+ code: this.code,
230
226
  message: validationErrorMessage || this.message,
231
- statusMessage: this.statusMessage,
227
+ status: this.statusCode,
228
+ defined: true,
232
229
  data: {
233
- code: this.code,
234
230
  category: this.category,
235
231
  meta: this.meta,
236
232
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -281,7 +277,9 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
281
277
  const ErrorSubclass = class extends error_class_DoubleTieError {
282
278
  constructor(message, options){
283
279
  super(message, options);
284
- this.name = name;
280
+ Object.defineProperty(this, 'name', {
281
+ value: name
282
+ });
285
283
  }
286
284
  };
287
285
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -298,137 +296,7 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
298
296
  return formattedMessage;
299
297
  }
300
298
  }
301
- const colors = {
302
- reset: '\x1b[0m',
303
- bright: '\x1b[1m',
304
- dim: '\x1b[2m',
305
- underscore: '\x1b[4m',
306
- blink: '\x1b[5m',
307
- reverse: '\x1b[7m',
308
- hidden: '\x1b[8m',
309
- fg: {
310
- black: '\x1b[30m',
311
- red: '\x1b[31m',
312
- green: '\x1b[32m',
313
- yellow: '\x1b[33m',
314
- blue: '\x1b[34m',
315
- magenta: '\x1b[35m',
316
- cyan: '\x1b[36m',
317
- white: '\x1b[37m'
318
- },
319
- bg: {
320
- black: '\x1b[40m',
321
- red: '\x1b[41m',
322
- green: '\x1b[42m',
323
- yellow: '\x1b[43m',
324
- blue: '\x1b[44m',
325
- magenta: '\x1b[45m',
326
- cyan: '\x1b[46m',
327
- white: '\x1b[47m'
328
- }
329
- };
330
- const levelColors = {
331
- info: colors.fg.blue,
332
- success: colors.fg.green,
333
- warn: colors.fg.yellow,
334
- error: colors.fg.red,
335
- debug: colors.fg.magenta
336
- };
337
- const formatMessage = (level, message, appName = 'c15t')=>{
338
- const timestamp = new Date().toISOString();
339
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
340
- };
341
- const levels = [
342
- 'error',
343
- 'warn',
344
- 'info',
345
- 'success',
346
- 'debug'
347
- ];
348
- function shouldPublishLog(currentLogLevel, logLevel) {
349
- const currentLevelIndex = levels.indexOf(currentLogLevel);
350
- const messageLevelIndex = levels.indexOf(logLevel);
351
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
352
- return messageLevelIndex <= currentLevelIndex;
353
- }
354
- const LOGGER_TRACER_NAME = '@doubletie/logger';
355
- const LOG_LEVEL_TO_SPAN_STATUS = {
356
- error: api_namespaceObject.SpanStatusCode.ERROR,
357
- warn: api_namespaceObject.SpanStatusCode.OK,
358
- info: api_namespaceObject.SpanStatusCode.OK,
359
- success: api_namespaceObject.SpanStatusCode.OK,
360
- debug: api_namespaceObject.SpanStatusCode.OK
361
- };
362
- const telemetry_getTracer = (options)=>{
363
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
364
- return api_namespaceObject.trace.getTracer(LOGGER_TRACER_NAME);
365
- };
366
- const createLogSpan = (level, message, args = [], options)=>{
367
- if (options?.telemetry?.disabled) return null;
368
- const tracer = telemetry_getTracer(options);
369
- const span = tracer.startSpan('log_entry', {
370
- attributes: {
371
- 'log.level': level,
372
- 'log.message': message,
373
- 'log.has_args': args.length > 0,
374
- ...options?.telemetry?.defaultAttributes || {}
375
- }
376
- });
377
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
378
- const data = args[0];
379
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
380
- }
381
- span.setStatus({
382
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
383
- message: 'error' === level || 'warn' === level ? message : void 0
384
- });
385
- return span;
386
- };
387
- const withLogSpan = async (level, message, args, operation, options)=>{
388
- const span = createLogSpan(level, message, args, options);
389
- if (!span) return operation();
390
- try {
391
- const result = await operation();
392
- return result;
393
- } catch (error) {
394
- span.setStatus({
395
- code: api_namespaceObject.SpanStatusCode.ERROR,
396
- message: error instanceof Error ? error.message : String(error)
397
- });
398
- throw error;
399
- } finally{
400
- span.end();
401
- }
402
- };
403
- const createLogger = (options)=>{
404
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
405
- const loggerOptions = options;
406
- const enabled = loggerOptions?.disabled !== true;
407
- const logLevel = loggerOptions?.level ?? 'error';
408
- const appName = loggerOptions?.appName ?? 'c15t';
409
- const logFunc = async (level, message, args = [])=>{
410
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
411
- await withLogSpan(level, message, args, async ()=>{
412
- const formattedMessage = formatMessage(level, message, appName);
413
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
414
- if ('error' === level) console.error(formattedMessage, ...args);
415
- else if ('warn' === level) console.warn(formattedMessage, ...args);
416
- else if ('info' === level) console.log(formattedMessage, ...args);
417
- else if ('debug' === level) console.debug(formattedMessage, ...args);
418
- else if ('success' === level) console.log(formattedMessage, ...args);
419
- return;
420
- }
421
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
422
- });
423
- };
424
- return Object.fromEntries(levels.map((level)=>[
425
- level,
426
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
427
- console.error('Logger error:', error);
428
- })
429
- ]));
430
- };
431
- createLogger();
299
+ require("@doubletie/logger");
432
300
  const schema_auditLogSchema = external_zod_namespaceObject.z.object({
433
301
  id: external_zod_namespaceObject.z.string(),
434
302
  entityType: external_zod_namespaceObject.z.string(),
@@ -1,8 +1,9 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE_base_x_aeb88370__ from "base-x";
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_zod__ from "zod";
3
3
  import "neverthrow";
4
- import * as __WEBPACK_EXTERNAL_MODULE_h3__ from "h3";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__ from "@orpc/server";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__ from "@opentelemetry/api";
6
+ import "@doubletie/logger";
6
7
  import "node:crypto";
7
8
  const COMMON_TIMEZONES = {
8
9
  UTC: 'UTC',
@@ -143,10 +144,10 @@ const ERROR_CATEGORIES = Object.freeze({
143
144
  UNEXPECTED: 'unexpected'
144
145
  });
145
146
  __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.trace.getTracer('@doubletie/results');
146
- class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
147
- code;
147
+ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__.ORPCError {
148
148
  category;
149
149
  meta;
150
+ statusCode;
150
151
  constructor(message, options = {
151
152
  code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
152
153
  status: 500,
@@ -154,22 +155,18 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
154
155
  cause: void 0,
155
156
  meta: {}
156
157
  }){
157
- super(message, {
158
- cause: options.cause
158
+ super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
159
+ message,
160
+ cause: options.cause,
161
+ data: options.meta ?? {}
159
162
  });
160
- this.name = this.constructor.name;
161
- this.code = options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR;
162
- this.statusCode = options.status ?? 500;
163
+ this.name = 'DoubleTieError';
163
164
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
164
165
  this.meta = options.meta ?? {};
165
- this.data = {
166
- code: this.code,
167
- category: this.category,
168
- meta: this.meta
169
- };
166
+ this.statusCode = options.status ?? 500;
170
167
  tracing_withSpan('create_doubletie_error', async (span)=>{
171
168
  span.setAttributes({
172
- 'error.name': this.name,
169
+ 'error.name': this.constructor.name,
173
170
  'error.message': message,
174
171
  'error.code': this.code,
175
172
  'error.status': this.statusCode,
@@ -189,11 +186,11 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
189
186
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
190
187
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
191
188
  return {
192
- statusCode: this.statusCode,
189
+ code: this.code,
193
190
  message: validationErrorMessage || this.message,
194
- statusMessage: this.statusMessage,
191
+ status: this.statusCode,
192
+ defined: true,
195
193
  data: {
196
- code: this.code,
197
194
  category: this.category,
198
195
  meta: this.meta,
199
196
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -244,7 +241,9 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
244
241
  const ErrorSubclass = class extends error_class_DoubleTieError {
245
242
  constructor(message, options){
246
243
  super(message, options);
247
- this.name = name;
244
+ Object.defineProperty(this, 'name', {
245
+ value: name
246
+ });
248
247
  }
249
248
  };
250
249
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -261,137 +260,6 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
261
260
  return formattedMessage;
262
261
  }
263
262
  }
264
- const levels = [
265
- 'error',
266
- 'warn',
267
- 'info',
268
- 'success',
269
- 'debug'
270
- ];
271
- function shouldPublishLog(currentLogLevel, logLevel) {
272
- const currentLevelIndex = levels.indexOf(currentLogLevel);
273
- const messageLevelIndex = levels.indexOf(logLevel);
274
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
275
- return messageLevelIndex <= currentLevelIndex;
276
- }
277
- const colors = {
278
- reset: '\x1b[0m',
279
- bright: '\x1b[1m',
280
- dim: '\x1b[2m',
281
- underscore: '\x1b[4m',
282
- blink: '\x1b[5m',
283
- reverse: '\x1b[7m',
284
- hidden: '\x1b[8m',
285
- fg: {
286
- black: '\x1b[30m',
287
- red: '\x1b[31m',
288
- green: '\x1b[32m',
289
- yellow: '\x1b[33m',
290
- blue: '\x1b[34m',
291
- magenta: '\x1b[35m',
292
- cyan: '\x1b[36m',
293
- white: '\x1b[37m'
294
- },
295
- bg: {
296
- black: '\x1b[40m',
297
- red: '\x1b[41m',
298
- green: '\x1b[42m',
299
- yellow: '\x1b[43m',
300
- blue: '\x1b[44m',
301
- magenta: '\x1b[45m',
302
- cyan: '\x1b[46m',
303
- white: '\x1b[47m'
304
- }
305
- };
306
- const levelColors = {
307
- info: colors.fg.blue,
308
- success: colors.fg.green,
309
- warn: colors.fg.yellow,
310
- error: colors.fg.red,
311
- debug: colors.fg.magenta
312
- };
313
- const formatMessage = (level, message, appName = 'c15t')=>{
314
- const timestamp = new Date().toISOString();
315
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
316
- };
317
- const LOGGER_TRACER_NAME = '@doubletie/logger';
318
- const LOG_LEVEL_TO_SPAN_STATUS = {
319
- error: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
320
- warn: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
321
- info: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
322
- success: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
323
- debug: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK
324
- };
325
- const telemetry_getTracer = (options)=>{
326
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
327
- return __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.trace.getTracer(LOGGER_TRACER_NAME);
328
- };
329
- const createLogSpan = (level, message, args = [], options)=>{
330
- if (options?.telemetry?.disabled) return null;
331
- const tracer = telemetry_getTracer(options);
332
- const span = tracer.startSpan('log_entry', {
333
- attributes: {
334
- 'log.level': level,
335
- 'log.message': message,
336
- 'log.has_args': args.length > 0,
337
- ...options?.telemetry?.defaultAttributes || {}
338
- }
339
- });
340
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
341
- const data = args[0];
342
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
343
- }
344
- span.setStatus({
345
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
346
- message: 'error' === level || 'warn' === level ? message : void 0
347
- });
348
- return span;
349
- };
350
- const withLogSpan = async (level, message, args, operation, options)=>{
351
- const span = createLogSpan(level, message, args, options);
352
- if (!span) return operation();
353
- try {
354
- const result = await operation();
355
- return result;
356
- } catch (error) {
357
- span.setStatus({
358
- code: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
359
- message: error instanceof Error ? error.message : String(error)
360
- });
361
- throw error;
362
- } finally{
363
- span.end();
364
- }
365
- };
366
- const createLogger = (options)=>{
367
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
368
- const loggerOptions = options;
369
- const enabled = loggerOptions?.disabled !== true;
370
- const logLevel = loggerOptions?.level ?? 'error';
371
- const appName = loggerOptions?.appName ?? 'c15t';
372
- const logFunc = async (level, message, args = [])=>{
373
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
374
- await withLogSpan(level, message, args, async ()=>{
375
- const formattedMessage = formatMessage(level, message, appName);
376
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
377
- if ('error' === level) console.error(formattedMessage, ...args);
378
- else if ('warn' === level) console.warn(formattedMessage, ...args);
379
- else if ('info' === level) console.log(formattedMessage, ...args);
380
- else if ('debug' === level) console.debug(formattedMessage, ...args);
381
- else if ('success' === level) console.log(formattedMessage, ...args);
382
- return;
383
- }
384
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
385
- });
386
- };
387
- return Object.fromEntries(levels.map((level)=>[
388
- level,
389
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
390
- console.error('Logger error:', error);
391
- })
392
- ]));
393
- };
394
- createLogger();
395
263
  const schema_auditLogSchema = __WEBPACK_EXTERNAL_MODULE_zod__.z.object({
396
264
  id: __WEBPACK_EXTERNAL_MODULE_zod__.z.string(),
397
265
  entityType: __WEBPACK_EXTERNAL_MODULE_zod__.z.string(),
@@ -44,7 +44,6 @@ export interface MemoryDB {
44
44
  * // Create the c15t instance with memory adapter
45
45
  * const c15t = c15tInstance({
46
46
  * storage: memoryAdapter(db),
47
- * secret: process.env.SECRET_KEY
48
47
  * });
49
48
  *
50
49
  * // The database will be populated as records are created
@@ -1 +1 @@
1
- {"version":3,"file":"memory-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,aAAa,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,QAAQ;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACzC;AAkRD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,QAAQ,MACZ,SAAS,WAAW,KAAG,OAgUvB,CAAC"}
1
+ {"version":3,"file":"memory-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,aAAa,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,QAAQ;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACzC;AAkRD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,QAAQ,MACZ,SAAS,WAAW,KAAG,OAgUvB,CAAC"}
@@ -36,7 +36,7 @@ __webpack_require__.d(__webpack_exports__, {
36
36
  prismaAdapter: ()=>prismaAdapter
37
37
  });
38
38
  require("neverthrow");
39
- const external_h3_namespaceObject = require("h3");
39
+ const server_namespaceObject = require("@orpc/server");
40
40
  const error_codes_ERROR_CODES = Object.freeze({
41
41
  NOT_FOUND: 'Resource not found',
42
42
  BAD_REQUEST: 'Bad request',
@@ -68,9 +68,9 @@ const ERROR_CATEGORIES = Object.freeze({
68
68
  UNEXPECTED: 'unexpected'
69
69
  });
70
70
  const api_namespaceObject = require("@opentelemetry/api");
71
- const tracing_tracer = api_namespaceObject.trace.getTracer('@doubletie/results');
71
+ const tracer = api_namespaceObject.trace.getTracer('@doubletie/results');
72
72
  async function tracing_withSpan(name, fn, attributes = {}) {
73
- return await tracing_tracer.startActiveSpan(name, async (span)=>{
73
+ return await tracer.startActiveSpan(name, async (span)=>{
74
74
  try {
75
75
  span.setAttributes(attributes);
76
76
  const result = await fn(span);
@@ -103,10 +103,10 @@ async function tracing_withSpan(name, fn, attributes = {}) {
103
103
  }
104
104
  });
105
105
  }
106
- class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
107
- code;
106
+ class error_class_DoubleTieError extends server_namespaceObject.ORPCError {
108
107
  category;
109
108
  meta;
109
+ statusCode;
110
110
  constructor(message, options = {
111
111
  code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
112
112
  status: 500,
@@ -114,22 +114,18 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
114
114
  cause: void 0,
115
115
  meta: {}
116
116
  }){
117
- super(message, {
118
- cause: options.cause
117
+ super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
118
+ message,
119
+ cause: options.cause,
120
+ data: options.meta ?? {}
119
121
  });
120
- this.name = this.constructor.name;
121
- this.code = options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR;
122
- this.statusCode = options.status ?? 500;
122
+ this.name = 'DoubleTieError';
123
123
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
124
124
  this.meta = options.meta ?? {};
125
- this.data = {
126
- code: this.code,
127
- category: this.category,
128
- meta: this.meta
129
- };
125
+ this.statusCode = options.status ?? 500;
130
126
  tracing_withSpan('create_doubletie_error', async (span)=>{
131
127
  span.setAttributes({
132
- 'error.name': this.name,
128
+ 'error.name': this.constructor.name,
133
129
  'error.message': message,
134
130
  'error.code': this.code,
135
131
  'error.status': this.statusCode,
@@ -149,11 +145,11 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
149
145
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
150
146
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
151
147
  return {
152
- statusCode: this.statusCode,
148
+ code: this.code,
153
149
  message: validationErrorMessage || this.message,
154
- statusMessage: this.statusMessage,
150
+ status: this.statusCode,
151
+ defined: true,
155
152
  data: {
156
- code: this.code,
157
153
  category: this.category,
158
154
  meta: this.meta,
159
155
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -204,7 +200,9 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
204
200
  const ErrorSubclass = class extends error_class_DoubleTieError {
205
201
  constructor(message, options){
206
202
  super(message, options);
207
- this.name = name;
203
+ Object.defineProperty(this, 'name', {
204
+ value: name
205
+ });
208
206
  }
209
207
  };
210
208
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -332,137 +330,7 @@ external_zod_namespaceObject.z.discriminatedUnion('type', [
332
330
  stringArrayFieldSchema,
333
331
  numberArrayFieldSchema
334
332
  ]);
335
- const colors = {
336
- reset: '\x1b[0m',
337
- bright: '\x1b[1m',
338
- dim: '\x1b[2m',
339
- underscore: '\x1b[4m',
340
- blink: '\x1b[5m',
341
- reverse: '\x1b[7m',
342
- hidden: '\x1b[8m',
343
- fg: {
344
- black: '\x1b[30m',
345
- red: '\x1b[31m',
346
- green: '\x1b[32m',
347
- yellow: '\x1b[33m',
348
- blue: '\x1b[34m',
349
- magenta: '\x1b[35m',
350
- cyan: '\x1b[36m',
351
- white: '\x1b[37m'
352
- },
353
- bg: {
354
- black: '\x1b[40m',
355
- red: '\x1b[41m',
356
- green: '\x1b[42m',
357
- yellow: '\x1b[43m',
358
- blue: '\x1b[44m',
359
- magenta: '\x1b[45m',
360
- cyan: '\x1b[46m',
361
- white: '\x1b[47m'
362
- }
363
- };
364
- const levelColors = {
365
- info: colors.fg.blue,
366
- success: colors.fg.green,
367
- warn: colors.fg.yellow,
368
- error: colors.fg.red,
369
- debug: colors.fg.magenta
370
- };
371
- const formatMessage = (level, message, appName = 'c15t')=>{
372
- const timestamp = new Date().toISOString();
373
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
374
- };
375
- const levels = [
376
- 'error',
377
- 'warn',
378
- 'info',
379
- 'success',
380
- 'debug'
381
- ];
382
- function shouldPublishLog(currentLogLevel, logLevel) {
383
- const currentLevelIndex = levels.indexOf(currentLogLevel);
384
- const messageLevelIndex = levels.indexOf(logLevel);
385
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
386
- return messageLevelIndex <= currentLevelIndex;
387
- }
388
- const LOGGER_TRACER_NAME = '@doubletie/logger';
389
- const LOG_LEVEL_TO_SPAN_STATUS = {
390
- error: api_namespaceObject.SpanStatusCode.ERROR,
391
- warn: api_namespaceObject.SpanStatusCode.OK,
392
- info: api_namespaceObject.SpanStatusCode.OK,
393
- success: api_namespaceObject.SpanStatusCode.OK,
394
- debug: api_namespaceObject.SpanStatusCode.OK
395
- };
396
- const telemetry_getTracer = (options)=>{
397
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
398
- return api_namespaceObject.trace.getTracer(LOGGER_TRACER_NAME);
399
- };
400
- const createLogSpan = (level, message, args = [], options)=>{
401
- if (options?.telemetry?.disabled) return null;
402
- const tracer = telemetry_getTracer(options);
403
- const span = tracer.startSpan('log_entry', {
404
- attributes: {
405
- 'log.level': level,
406
- 'log.message': message,
407
- 'log.has_args': args.length > 0,
408
- ...options?.telemetry?.defaultAttributes || {}
409
- }
410
- });
411
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
412
- const data = args[0];
413
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
414
- }
415
- span.setStatus({
416
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
417
- message: 'error' === level || 'warn' === level ? message : void 0
418
- });
419
- return span;
420
- };
421
- const withLogSpan = async (level, message, args, operation, options)=>{
422
- const span = createLogSpan(level, message, args, options);
423
- if (!span) return operation();
424
- try {
425
- const result = await operation();
426
- return result;
427
- } catch (error) {
428
- span.setStatus({
429
- code: api_namespaceObject.SpanStatusCode.ERROR,
430
- message: error instanceof Error ? error.message : String(error)
431
- });
432
- throw error;
433
- } finally{
434
- span.end();
435
- }
436
- };
437
- const createLogger = (options)=>{
438
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
439
- const loggerOptions = options;
440
- const enabled = loggerOptions?.disabled !== true;
441
- const logLevel = loggerOptions?.level ?? 'error';
442
- const appName = loggerOptions?.appName ?? 'c15t';
443
- const logFunc = async (level, message, args = [])=>{
444
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
445
- await withLogSpan(level, message, args, async ()=>{
446
- const formattedMessage = formatMessage(level, message, appName);
447
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
448
- if ('error' === level) console.error(formattedMessage, ...args);
449
- else if ('warn' === level) console.warn(formattedMessage, ...args);
450
- else if ('info' === level) console.log(formattedMessage, ...args);
451
- else if ('debug' === level) console.debug(formattedMessage, ...args);
452
- else if ('success' === level) console.log(formattedMessage, ...args);
453
- return;
454
- }
455
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
456
- });
457
- };
458
- return Object.fromEntries(levels.map((level)=>[
459
- level,
460
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
461
- console.error('Logger error:', error);
462
- })
463
- ]));
464
- };
465
- createLogger();
333
+ require("@doubletie/logger");
466
334
  const auditLogSchema = external_zod_namespaceObject.z.object({
467
335
  id: external_zod_namespaceObject.z.string(),
468
336
  entityType: external_zod_namespaceObject.z.string(),