@c15t/backend 1.0.5 → 1.2.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 (462) hide show
  1. package/.turbo/turbo-build.log +33 -39
  2. package/.turbo/turbo-fmt.log +3 -3
  3. package/.turbo/turbo-test.log +531 -0
  4. package/coverage/coverage-final.json +84 -0
  5. package/coverage/coverage-summary.json +85 -0
  6. package/coverage/html/backend/index.html +116 -0
  7. package/coverage/html/backend/rslib.config.ts.html +415 -0
  8. package/coverage/html/backend/src/contracts/consent/index.html +161 -0
  9. package/coverage/html/backend/src/contracts/consent/index.ts.html +112 -0
  10. package/coverage/html/backend/src/contracts/consent/post.contract.ts.html +559 -0
  11. package/coverage/html/backend/src/contracts/consent/show-banner.contract.ts.html +220 -0
  12. package/coverage/html/backend/src/contracts/consent/verify.contract.ts.html +463 -0
  13. package/coverage/html/backend/src/contracts/index.html +116 -0
  14. package/coverage/html/backend/src/contracts/index.ts.html +139 -0
  15. package/coverage/html/backend/src/contracts/meta/index.html +131 -0
  16. package/coverage/html/backend/src/contracts/meta/index.ts.html +100 -0
  17. package/coverage/html/backend/src/contracts/meta/status.contract.ts.html +196 -0
  18. package/coverage/html/backend/src/contracts/shared/index.html +116 -0
  19. package/coverage/html/backend/src/contracts/shared/jurisdiction.schema.ts.html +175 -0
  20. package/coverage/html/backend/src/core.ts.html +1624 -0
  21. package/coverage/html/backend/src/handlers/consent/index.html +161 -0
  22. package/coverage/html/backend/src/handlers/consent/index.ts.html +112 -0
  23. package/coverage/html/backend/src/handlers/consent/post.handler.ts.html +889 -0
  24. package/coverage/html/backend/src/handlers/consent/show-banner.handler.ts.html +535 -0
  25. package/coverage/html/backend/src/handlers/consent/verify.handler.ts.html +1000 -0
  26. package/coverage/html/backend/src/handlers/meta/index.html +131 -0
  27. package/coverage/html/backend/src/handlers/meta/index.ts.html +100 -0
  28. package/coverage/html/backend/src/handlers/meta/status.handler.ts.html +226 -0
  29. package/coverage/html/backend/src/index.html +161 -0
  30. package/coverage/html/backend/src/init.ts.html +1018 -0
  31. package/coverage/html/backend/src/pkgs/api-router/hooks/index.html +116 -0
  32. package/coverage/html/backend/src/pkgs/api-router/hooks/processor.ts.html +544 -0
  33. package/coverage/html/backend/src/pkgs/api-router/index.html +116 -0
  34. package/coverage/html/backend/src/pkgs/api-router/telemetry.ts.html +334 -0
  35. package/coverage/html/backend/src/pkgs/api-router/utils/cors.ts.html +304 -0
  36. package/coverage/html/backend/src/pkgs/api-router/utils/index.html +131 -0
  37. package/coverage/html/backend/src/pkgs/api-router/utils/ip.ts.html +361 -0
  38. package/coverage/html/backend/src/pkgs/data-model/fields/field-factory.ts.html +709 -0
  39. package/coverage/html/backend/src/pkgs/data-model/fields/id-generator.ts.html +256 -0
  40. package/coverage/html/backend/src/pkgs/data-model/fields/index.html +161 -0
  41. package/coverage/html/backend/src/pkgs/data-model/fields/superjson-utils.ts.html +136 -0
  42. package/coverage/html/backend/src/pkgs/data-model/fields/zod-fields.ts.html +496 -0
  43. package/coverage/html/backend/src/pkgs/data-model/hooks/create-hooks.ts.html +349 -0
  44. package/coverage/html/backend/src/pkgs/data-model/hooks/index.html +176 -0
  45. package/coverage/html/backend/src/pkgs/data-model/hooks/update-hooks.ts.html +358 -0
  46. package/coverage/html/backend/src/pkgs/data-model/hooks/update-many-hooks.ts.html +613 -0
  47. package/coverage/html/backend/src/pkgs/data-model/hooks/utils.ts.html +538 -0
  48. package/coverage/html/backend/src/pkgs/data-model/hooks/with-hooks-factory.ts.html +289 -0
  49. package/coverage/html/backend/src/pkgs/db-adapters/adapter-factory.ts.html +289 -0
  50. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts.html +2203 -0
  51. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/index.html +116 -0
  52. package/coverage/html/backend/src/pkgs/db-adapters/adapters/index.html +116 -0
  53. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts.html +670 -0
  54. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/index.html +131 -0
  55. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts.html +3634 -0
  56. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/index.html +116 -0
  57. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts.html +1417 -0
  58. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/index.html +116 -0
  59. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts.html +2071 -0
  60. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/index.html +116 -0
  61. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts.html +1834 -0
  62. package/coverage/html/backend/src/pkgs/db-adapters/adapters/test.ts.html +316 -0
  63. package/coverage/html/backend/src/pkgs/db-adapters/index.html +131 -0
  64. package/coverage/html/backend/src/pkgs/db-adapters/utils.ts.html +238 -0
  65. package/coverage/html/backend/src/pkgs/migrations/get-migration.ts.html +343 -0
  66. package/coverage/html/backend/src/pkgs/migrations/get-schema/get-schema.ts.html +217 -0
  67. package/coverage/html/backend/src/pkgs/migrations/get-schema/index.html +146 -0
  68. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-fields.ts.html +280 -0
  69. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-tables.ts.html +289 -0
  70. package/coverage/html/backend/src/pkgs/migrations/index.html +176 -0
  71. package/coverage/html/backend/src/pkgs/migrations/migration-builders.ts.html +595 -0
  72. package/coverage/html/backend/src/pkgs/migrations/migration-execution.ts.html +301 -0
  73. package/coverage/html/backend/src/pkgs/migrations/schema-comparison.ts.html +694 -0
  74. package/coverage/html/backend/src/pkgs/migrations/type-mapping.ts.html +817 -0
  75. package/coverage/html/backend/src/pkgs/results/core/error-class.ts.html +976 -0
  76. package/coverage/html/backend/src/pkgs/results/core/error-codes.ts.html +703 -0
  77. package/coverage/html/backend/src/pkgs/results/core/index.html +146 -0
  78. package/coverage/html/backend/src/pkgs/results/core/tracing.ts.html +280 -0
  79. package/coverage/html/backend/src/pkgs/results/create-telemetry-options.ts.html +271 -0
  80. package/coverage/html/backend/src/pkgs/results/index.html +131 -0
  81. package/coverage/html/backend/src/pkgs/results/orpc-error-handler.ts.html +496 -0
  82. package/coverage/html/backend/src/pkgs/results/results/index.html +131 -0
  83. package/coverage/html/backend/src/pkgs/results/results/recovery-utils.ts.html +628 -0
  84. package/coverage/html/backend/src/pkgs/results/results/result-helpers.ts.html +1234 -0
  85. package/coverage/html/backend/src/pkgs/utils/env.ts.html +337 -0
  86. package/coverage/html/backend/src/pkgs/utils/index.html +146 -0
  87. package/coverage/html/backend/src/pkgs/utils/logger.ts.html +199 -0
  88. package/coverage/html/backend/src/pkgs/utils/url.ts.html +400 -0
  89. package/coverage/html/backend/src/router.ts.html +109 -0
  90. package/coverage/html/backend/src/schema/audit-log/index.html +146 -0
  91. package/coverage/html/backend/src/schema/audit-log/registry.ts.html +436 -0
  92. package/coverage/html/backend/src/schema/audit-log/schema.ts.html +223 -0
  93. package/coverage/html/backend/src/schema/audit-log/table.ts.html +640 -0
  94. package/coverage/html/backend/src/schema/consent/index.html +146 -0
  95. package/coverage/html/backend/src/schema/consent/registry.ts.html +616 -0
  96. package/coverage/html/backend/src/schema/consent/schema.ts.html +238 -0
  97. package/coverage/html/backend/src/schema/consent/table.ts.html +748 -0
  98. package/coverage/html/backend/src/schema/consent-policy/index.html +146 -0
  99. package/coverage/html/backend/src/schema/consent-policy/registry.ts.html +1063 -0
  100. package/coverage/html/backend/src/schema/consent-policy/schema.ts.html +265 -0
  101. package/coverage/html/backend/src/schema/consent-policy/table.ts.html +535 -0
  102. package/coverage/html/backend/src/schema/consent-purpose/index.html +146 -0
  103. package/coverage/html/backend/src/schema/consent-purpose/registry.ts.html +589 -0
  104. package/coverage/html/backend/src/schema/consent-purpose/schema.ts.html +259 -0
  105. package/coverage/html/backend/src/schema/consent-purpose/table.ts.html +547 -0
  106. package/coverage/html/backend/src/schema/consent-record/index.html +131 -0
  107. package/coverage/html/backend/src/schema/consent-record/schema.ts.html +211 -0
  108. package/coverage/html/backend/src/schema/consent-record/table.ts.html +457 -0
  109. package/coverage/html/backend/src/schema/create-registry.ts.html +148 -0
  110. package/coverage/html/backend/src/schema/definition.ts.html +685 -0
  111. package/coverage/html/backend/src/schema/domain/index.html +146 -0
  112. package/coverage/html/backend/src/schema/domain/registry.ts.html +973 -0
  113. package/coverage/html/backend/src/schema/domain/schema.ts.html +214 -0
  114. package/coverage/html/backend/src/schema/domain/table.ts.html +496 -0
  115. package/coverage/html/backend/src/schema/index.html +146 -0
  116. package/coverage/html/backend/src/schema/schemas.ts.html +166 -0
  117. package/coverage/html/backend/src/schema/subject/index.html +146 -0
  118. package/coverage/html/backend/src/schema/subject/registry.ts.html +973 -0
  119. package/coverage/html/backend/src/schema/subject/schema.ts.html +208 -0
  120. package/coverage/html/backend/src/schema/subject/table.ts.html +499 -0
  121. package/coverage/html/backend/src/server.ts.html +475 -0
  122. package/coverage/html/backend/src/testing/contract-testing.ts.html +1348 -0
  123. package/coverage/html/backend/src/testing/index.html +116 -0
  124. package/coverage/html/base.css +224 -0
  125. package/coverage/html/block-navigation.js +87 -0
  126. package/coverage/html/favicon.png +0 -0
  127. package/coverage/html/index.html +626 -0
  128. package/coverage/html/prettify.css +1 -0
  129. package/coverage/html/prettify.js +2 -0
  130. package/coverage/html/sort-arrow-sprite.png +0 -0
  131. package/coverage/html/sorter.js +196 -0
  132. package/dist/contracts/consent/index.d.ts +401 -0
  133. package/dist/contracts/consent/index.d.ts.map +1 -0
  134. package/dist/contracts/consent/index.test.d.ts +2 -0
  135. package/dist/contracts/consent/index.test.d.ts.map +1 -0
  136. package/dist/contracts/consent/post.contract.d.ts +212 -0
  137. package/dist/contracts/consent/post.contract.d.ts.map +1 -0
  138. package/dist/contracts/consent/post.contract.test.d.ts +2 -0
  139. package/dist/contracts/consent/post.contract.test.d.ts.map +1 -0
  140. package/dist/contracts/consent/show-banner.contract.d.ts +45 -0
  141. package/dist/contracts/consent/show-banner.contract.d.ts.map +1 -0
  142. package/dist/contracts/consent/show-banner.contract.test.d.ts +2 -0
  143. package/dist/contracts/consent/show-banner.contract.test.d.ts.map +1 -0
  144. package/dist/contracts/consent/verify.contract.d.ts +147 -0
  145. package/dist/contracts/consent/verify.contract.d.ts.map +1 -0
  146. package/dist/contracts/consent/verify.contract.test.d.ts +2 -0
  147. package/dist/contracts/consent/verify.contract.test.d.ts.map +1 -0
  148. package/dist/contracts/index.d.ts +963 -0
  149. package/dist/contracts/index.d.ts.map +1 -0
  150. package/dist/contracts/meta/index.d.ts +78 -0
  151. package/dist/contracts/meta/index.d.ts.map +1 -0
  152. package/dist/contracts/meta/index.test.d.ts +2 -0
  153. package/dist/contracts/meta/index.test.d.ts.map +1 -0
  154. package/dist/contracts/meta/status.contract.d.ts +77 -0
  155. package/dist/contracts/meta/status.contract.d.ts.map +1 -0
  156. package/dist/contracts/meta/status.contract.test.d.ts +2 -0
  157. package/dist/contracts/meta/status.contract.test.d.ts.map +1 -0
  158. package/dist/contracts/shared/jurisdiction.schema.d.ts +24 -0
  159. package/dist/contracts/shared/jurisdiction.schema.d.ts.map +1 -0
  160. package/dist/core.cjs +3584 -0
  161. package/dist/core.d.ts +533 -76
  162. package/dist/core.d.ts.map +1 -1
  163. package/dist/{index.js → core.js} +1163 -1286
  164. package/dist/handlers/consent/index.d.ts +401 -0
  165. package/dist/handlers/consent/index.d.ts.map +1 -0
  166. package/dist/handlers/consent/post.handler.d.ts +234 -0
  167. package/dist/handlers/consent/post.handler.d.ts.map +1 -0
  168. package/dist/handlers/consent/show-banner.handler.d.ts +57 -0
  169. package/dist/handlers/consent/show-banner.handler.d.ts.map +1 -0
  170. package/dist/handlers/consent/show-banner.handler.test.d.ts +2 -0
  171. package/dist/handlers/consent/show-banner.handler.test.d.ts.map +1 -0
  172. package/dist/handlers/consent/verify.handler.d.ts +169 -0
  173. package/dist/handlers/consent/verify.handler.d.ts.map +1 -0
  174. package/dist/handlers/meta/index.d.ts +78 -0
  175. package/dist/handlers/meta/index.d.ts.map +1 -0
  176. package/dist/handlers/meta/status.handler.d.ts +76 -0
  177. package/dist/handlers/meta/status.handler.d.ts.map +1 -0
  178. package/dist/init.d.ts.map +1 -1
  179. package/dist/pkgs/api-router/hooks/processor.d.ts.map +1 -1
  180. package/dist/pkgs/api-router/types/router-props.d.ts +1 -1
  181. package/dist/pkgs/api-router/types/router-props.d.ts.map +1 -1
  182. package/dist/pkgs/api-router/utils/cors.d.ts +1 -1
  183. package/dist/pkgs/api-router/utils/cors.d.ts.map +1 -1
  184. package/dist/pkgs/data-model/fields/field-types.d.ts +1 -1
  185. package/dist/pkgs/data-model/fields/zod-fields.d.ts +32 -32
  186. package/dist/pkgs/data-model/index.cjs +1433 -1799
  187. package/dist/pkgs/data-model/index.js +20 -385
  188. package/dist/pkgs/data-model/schema/index.cjs +1402 -1768
  189. package/dist/pkgs/data-model/schema/index.js +20 -385
  190. package/dist/pkgs/db-adapters/adapter-factory.d.ts +2 -2
  191. package/dist/pkgs/db-adapters/adapter-factory.d.ts.map +1 -1
  192. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +4 -4
  193. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +19 -151
  194. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +19 -151
  195. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts +1 -1
  196. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +17 -149
  197. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +17 -149
  198. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +2 -2
  199. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +1 -1
  200. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +17 -149
  201. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +17 -149
  202. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +19 -151
  203. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +19 -151
  204. package/dist/pkgs/db-adapters/index.cjs +31 -153
  205. package/dist/pkgs/db-adapters/index.js +31 -153
  206. package/dist/pkgs/migrations/get-schema/get-schema.d.ts +2 -2
  207. package/dist/pkgs/migrations/get-schema/index.d.ts +1 -1
  208. package/dist/pkgs/migrations/index.cjs +30 -153
  209. package/dist/pkgs/migrations/index.js +30 -153
  210. package/dist/pkgs/migrations/schema-comparison.d.ts.map +1 -1
  211. package/dist/pkgs/results/core/error-class.d.ts +23 -21
  212. package/dist/pkgs/results/core/error-class.d.ts.map +1 -1
  213. package/dist/pkgs/results/index.cjs +17 -150
  214. package/dist/pkgs/results/index.d.ts +0 -3
  215. package/dist/pkgs/results/index.d.ts.map +1 -1
  216. package/dist/pkgs/results/index.js +17 -138
  217. package/dist/pkgs/results/orpc-error-handler.d.ts +65 -0
  218. package/dist/pkgs/results/orpc-error-handler.d.ts.map +1 -0
  219. package/dist/pkgs/results/types.d.ts +7 -7
  220. package/dist/pkgs/results/types.d.ts.map +1 -1
  221. package/dist/pkgs/types/context.d.ts +15 -4
  222. package/dist/pkgs/types/context.d.ts.map +1 -1
  223. package/dist/pkgs/types/endpoints.d.ts +3 -4
  224. package/dist/pkgs/types/endpoints.d.ts.map +1 -1
  225. package/dist/pkgs/types/options.d.ts +2 -3
  226. package/dist/pkgs/types/options.d.ts.map +1 -1
  227. package/dist/pkgs/types/plugins.d.ts +2 -3
  228. package/dist/pkgs/types/plugins.d.ts.map +1 -1
  229. package/dist/pkgs/utils/index.d.ts +1 -0
  230. package/dist/pkgs/utils/index.d.ts.map +1 -1
  231. package/dist/pkgs/utils/logger.d.ts +16 -0
  232. package/dist/pkgs/utils/logger.d.ts.map +1 -0
  233. package/dist/router.cjs +1213 -0
  234. package/dist/router.d.ts +480 -0
  235. package/dist/router.d.ts.map +1 -0
  236. package/dist/router.js +1169 -0
  237. package/dist/schema/audit-log/table.d.ts +1 -1
  238. package/dist/schema/consent/table.d.ts +1 -1
  239. package/dist/schema/consent-policy/registry.d.ts +12 -12
  240. package/dist/schema/consent-policy/schema.d.ts +6 -6
  241. package/dist/schema/consent-policy/table.d.ts +7 -7
  242. package/dist/schema/consent-purpose/registry.d.ts +6 -6
  243. package/dist/schema/consent-purpose/schema.d.ts +6 -6
  244. package/dist/schema/consent-purpose/table.d.ts +7 -7
  245. package/dist/schema/consent-record/table.d.ts +1 -1
  246. package/dist/schema/create-registry.d.ts +32 -32
  247. package/dist/schema/definition.d.ts +19 -19
  248. package/dist/schema/domain/registry.d.ts +10 -10
  249. package/dist/schema/domain/schema.d.ts +5 -5
  250. package/dist/schema/domain/table.d.ts +6 -6
  251. package/dist/schema/index.cjs +1409 -1775
  252. package/dist/schema/index.js +20 -385
  253. package/dist/schema/schemas.d.ts +19 -19
  254. package/dist/schema/subject/registry.d.ts +4 -4
  255. package/dist/schema/subject/schema.d.ts +2 -2
  256. package/dist/schema/subject/table.d.ts +3 -3
  257. package/dist/server.d.ts +2 -0
  258. package/dist/server.d.ts.map +1 -0
  259. package/dist/testing/contract-testing.d.ts +37 -0
  260. package/dist/testing/contract-testing.d.ts.map +1 -0
  261. package/dist/types/context.d.ts +1 -1
  262. package/dist/types/index.d.ts +2 -2
  263. package/dist/types/options.d.ts +33 -2
  264. package/dist/types/options.d.ts.map +1 -1
  265. package/dist/types/plugins.d.ts +3 -4
  266. package/dist/types/plugins.d.ts.map +1 -1
  267. package/package.json +22 -30
  268. package/rslib.config.ts +2 -5
  269. package/src/contracts/consent/index.test.ts +5 -0
  270. package/src/contracts/consent/index.ts +9 -0
  271. package/src/contracts/consent/post.contract.test.ts +526 -0
  272. package/src/contracts/consent/post.contract.ts +160 -0
  273. package/src/contracts/consent/show-banner.contract.test.ts +214 -0
  274. package/src/contracts/consent/show-banner.contract.ts +45 -0
  275. package/src/contracts/consent/verify.contract.test.ts +185 -0
  276. package/src/contracts/consent/verify.contract.ts +126 -0
  277. package/src/contracts/index.ts +18 -0
  278. package/src/contracts/meta/index.test.ts +5 -0
  279. package/src/contracts/meta/index.ts +5 -0
  280. package/src/contracts/meta/status.contract.test.ts +338 -0
  281. package/src/contracts/meta/status.contract.ts +37 -0
  282. package/src/contracts/shared/jurisdiction.schema.ts +30 -0
  283. package/src/core.ts +451 -159
  284. package/src/handlers/consent/index.ts +9 -0
  285. package/src/handlers/consent/post.handler.ts +273 -0
  286. package/src/handlers/consent/show-banner.handler.test.ts +148 -0
  287. package/src/handlers/consent/show-banner.handler.ts +150 -0
  288. package/src/handlers/consent/verify.handler.ts +305 -0
  289. package/src/handlers/meta/index.ts +5 -0
  290. package/src/handlers/meta/status.handler.ts +47 -0
  291. package/src/init.ts +8 -5
  292. package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +6 -0
  293. package/src/pkgs/api-router/hooks/processor.ts +2 -0
  294. package/src/pkgs/api-router/types/router-props.ts +1 -1
  295. package/src/pkgs/api-router/utils/cors.ts +1 -1
  296. package/src/pkgs/data-model/fields/field-types.ts +1 -1
  297. package/src/pkgs/data-model/fields/id-generator.ts +1 -1
  298. package/src/pkgs/db-adapters/README.md +3 -3
  299. package/src/pkgs/db-adapters/adapter-factory.ts +8 -4
  300. package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +13 -13
  301. package/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts +1 -1
  302. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +1 -1
  303. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +1 -1
  304. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +2 -2
  305. package/src/pkgs/migrations/get-migration.ts +3 -3
  306. package/src/pkgs/migrations/get-schema/get-schema.ts +2 -2
  307. package/src/pkgs/migrations/get-schema/index.ts +1 -1
  308. package/src/pkgs/migrations/migration-builders.ts +2 -2
  309. package/src/pkgs/migrations/migration-execution.ts +2 -2
  310. package/src/pkgs/migrations/schema-comparison.ts +5 -4
  311. package/src/pkgs/results/__tests__/error-class.test.ts +8 -7
  312. package/src/pkgs/results/core/error-class.ts +31 -43
  313. package/src/pkgs/results/index.ts +0 -10
  314. package/src/pkgs/results/orpc-error-handler.ts +137 -0
  315. package/src/pkgs/results/types.ts +8 -7
  316. package/src/pkgs/types/context.ts +18 -4
  317. package/src/pkgs/types/endpoints.ts +3 -5
  318. package/src/pkgs/types/options.ts +2 -3
  319. package/src/pkgs/types/plugins.ts +2 -3
  320. package/src/pkgs/utils/index.ts +1 -0
  321. package/src/pkgs/utils/logger.ts +38 -0
  322. package/src/router.ts +8 -0
  323. package/src/schema/audit-log/table.ts +1 -1
  324. package/src/schema/consent/table.ts +1 -1
  325. package/src/schema/consent-policy/table.ts +1 -1
  326. package/src/schema/consent-purpose/table.ts +1 -1
  327. package/src/schema/consent-record/table.ts +1 -1
  328. package/src/schema/definition.ts +2 -2
  329. package/src/schema/domain/table.ts +1 -1
  330. package/src/schema/subject/table.ts +1 -1
  331. package/src/server.ts +130 -0
  332. package/src/testing/contract-testing.ts +437 -0
  333. package/src/types/context.ts +1 -1
  334. package/src/types/index.ts +2 -2
  335. package/src/types/options.ts +38 -2
  336. package/src/types/plugins.ts +3 -4
  337. package/dist/index.cjs +0 -3701
  338. package/dist/index.d.ts +0 -11
  339. package/dist/index.d.ts.map +0 -1
  340. package/dist/init.test.d.ts +0 -2
  341. package/dist/init.test.d.ts.map +0 -1
  342. package/dist/integrations/cloudflare.cjs +0 -312
  343. package/dist/integrations/cloudflare.d.ts +0 -32
  344. package/dist/integrations/cloudflare.d.ts.map +0 -1
  345. package/dist/integrations/cloudflare.js +0 -278
  346. package/dist/integrations/next.cjs +0 -276
  347. package/dist/integrations/next.d.ts +0 -68
  348. package/dist/integrations/next.d.ts.map +0 -1
  349. package/dist/integrations/next.js +0 -239
  350. package/dist/integrations/node.cjs +0 -257
  351. package/dist/integrations/node.d.ts +0 -29
  352. package/dist/integrations/node.d.ts.map +0 -1
  353. package/dist/integrations/node.js +0 -223
  354. package/dist/pkgs/api-router/index.d.ts +0 -9
  355. package/dist/pkgs/api-router/index.d.ts.map +0 -1
  356. package/dist/pkgs/api-router/utils/define-route.d.ts +0 -87
  357. package/dist/pkgs/api-router/utils/define-route.d.ts.map +0 -1
  358. package/dist/pkgs/logger/__tests__/console-formatter.test.d.ts +0 -2
  359. package/dist/pkgs/logger/__tests__/console-formatter.test.d.ts.map +0 -1
  360. package/dist/pkgs/logger/__tests__/integration.test.d.ts +0 -2
  361. package/dist/pkgs/logger/__tests__/integration.test.d.ts.map +0 -1
  362. package/dist/pkgs/logger/__tests__/log-levels.test.d.ts +0 -2
  363. package/dist/pkgs/logger/__tests__/log-levels.test.d.ts.map +0 -1
  364. package/dist/pkgs/logger/__tests__/logger-factory.test.d.ts +0 -2
  365. package/dist/pkgs/logger/__tests__/logger-factory.test.d.ts.map +0 -1
  366. package/dist/pkgs/logger/__tests__/result-logging.test.d.ts +0 -2
  367. package/dist/pkgs/logger/__tests__/result-logging.test.d.ts.map +0 -1
  368. package/dist/pkgs/logger/__tests__/types.test.d.ts +0 -2
  369. package/dist/pkgs/logger/__tests__/types.test.d.ts.map +0 -1
  370. package/dist/pkgs/logger/console-formatter.d.ts +0 -56
  371. package/dist/pkgs/logger/console-formatter.d.ts.map +0 -1
  372. package/dist/pkgs/logger/index.cjs +0 -240
  373. package/dist/pkgs/logger/index.d.ts +0 -35
  374. package/dist/pkgs/logger/index.d.ts.map +0 -1
  375. package/dist/pkgs/logger/index.js +0 -185
  376. package/dist/pkgs/logger/log-levels.d.ts +0 -29
  377. package/dist/pkgs/logger/log-levels.d.ts.map +0 -1
  378. package/dist/pkgs/logger/logger-factory.d.ts +0 -42
  379. package/dist/pkgs/logger/logger-factory.d.ts.map +0 -1
  380. package/dist/pkgs/logger/result-logging.d.ts +0 -71
  381. package/dist/pkgs/logger/result-logging.d.ts.map +0 -1
  382. package/dist/pkgs/logger/telemetry.d.ts +0 -14
  383. package/dist/pkgs/logger/telemetry.d.ts.map +0 -1
  384. package/dist/pkgs/logger/types.d.ts +0 -121
  385. package/dist/pkgs/logger/types.d.ts.map +0 -1
  386. package/dist/pkgs/results/__tests__/retrieval-pipeline.test.d.ts +0 -2
  387. package/dist/pkgs/results/__tests__/retrieval-pipeline.test.d.ts.map +0 -1
  388. package/dist/pkgs/results/__tests__/validation-pipeline.test.d.ts +0 -2
  389. package/dist/pkgs/results/__tests__/validation-pipeline.test.d.ts.map +0 -1
  390. package/dist/pkgs/results/h3-integration.d.ts +0 -52
  391. package/dist/pkgs/results/h3-integration.d.ts.map +0 -1
  392. package/dist/pkgs/results/pipeline/retrieval-pipeline.d.ts +0 -101
  393. package/dist/pkgs/results/pipeline/retrieval-pipeline.d.ts.map +0 -1
  394. package/dist/pkgs/results/pipeline/validation-pipeline.d.ts +0 -89
  395. package/dist/pkgs/results/pipeline/validation-pipeline.d.ts.map +0 -1
  396. package/dist/response-types.d.ts +0 -19
  397. package/dist/response-types.d.ts.map +0 -1
  398. package/dist/routes/__test__/index.test.d.ts +0 -17
  399. package/dist/routes/__test__/index.test.d.ts.map +0 -1
  400. package/dist/routes/__test__/set-consent.test.d.ts +0 -2
  401. package/dist/routes/__test__/set-consent.test.d.ts.map +0 -1
  402. package/dist/routes/__test__/show-consent-banner.test.d.ts +0 -2
  403. package/dist/routes/__test__/show-consent-banner.test.d.ts.map +0 -1
  404. package/dist/routes/__test__/status.test.d.ts +0 -2
  405. package/dist/routes/__test__/status.test.d.ts.map +0 -1
  406. package/dist/routes/__test__/verify-consent.test.d.ts +0 -2
  407. package/dist/routes/__test__/verify-consent.test.d.ts.map +0 -1
  408. package/dist/routes/index.d.ts +0 -3
  409. package/dist/routes/index.d.ts.map +0 -1
  410. package/dist/routes/set-consent.d.ts +0 -89
  411. package/dist/routes/set-consent.d.ts.map +0 -1
  412. package/dist/routes/show-consent-banner.d.ts +0 -15
  413. package/dist/routes/show-consent-banner.d.ts.map +0 -1
  414. package/dist/routes/status.d.ts +0 -44
  415. package/dist/routes/status.d.ts.map +0 -1
  416. package/dist/routes/types.d.ts +0 -7
  417. package/dist/routes/types.d.ts.map +0 -1
  418. package/dist/routes/verify-consent.d.ts +0 -38
  419. package/dist/routes/verify-consent.d.ts.map +0 -1
  420. package/src/docs/ADVANCED_JSON_HANDLING.md +0 -99
  421. package/src/docs/neverthrow.md +0 -171
  422. package/src/index.ts +0 -34
  423. package/src/init.test.ts +0 -219
  424. package/src/integrations/cloudflare.ts +0 -269
  425. package/src/integrations/next.ts +0 -204
  426. package/src/integrations/node.ts +0 -141
  427. package/src/pkgs/api-router/index.ts +0 -148
  428. package/src/pkgs/api-router/types/h3.d.ts +0 -42
  429. package/src/pkgs/api-router/utils/define-route.ts +0 -410
  430. package/src/pkgs/logger/README.md +0 -213
  431. package/src/pkgs/logger/__tests__/console-formatter.test.ts +0 -67
  432. package/src/pkgs/logger/__tests__/integration.test.ts +0 -184
  433. package/src/pkgs/logger/__tests__/log-levels.test.ts +0 -77
  434. package/src/pkgs/logger/__tests__/logger-factory.test.ts +0 -156
  435. package/src/pkgs/logger/__tests__/result-logging.test.ts +0 -209
  436. package/src/pkgs/logger/__tests__/types.test.ts +0 -94
  437. package/src/pkgs/logger/console-formatter.ts +0 -75
  438. package/src/pkgs/logger/doc.md +0 -569
  439. package/src/pkgs/logger/index.ts +0 -59
  440. package/src/pkgs/logger/log-levels.ts +0 -46
  441. package/src/pkgs/logger/logger-factory.ts +0 -121
  442. package/src/pkgs/logger/result-logging.ts +0 -134
  443. package/src/pkgs/logger/telemetry.ts +0 -96
  444. package/src/pkgs/logger/types.ts +0 -138
  445. package/src/pkgs/results/__tests__/retrieval-pipeline.test.ts +0 -157
  446. package/src/pkgs/results/__tests__/validation-pipeline.test.ts +0 -151
  447. package/src/pkgs/results/h3-integration.ts +0 -142
  448. package/src/pkgs/results/pipeline/retrieval-pipeline.ts +0 -188
  449. package/src/pkgs/results/pipeline/validation-pipeline.ts +0 -164
  450. package/src/plugins/.keep +0 -0
  451. package/src/response-types.ts +0 -29
  452. package/src/routes/__test__/index.test.ts +0 -112
  453. package/src/routes/__test__/set-consent.test.ts +0 -242
  454. package/src/routes/__test__/show-consent-banner.test.ts +0 -98
  455. package/src/routes/__test__/status.test.ts +0 -64
  456. package/src/routes/__test__/verify-consent.test.ts +0 -266
  457. package/src/routes/index.ts +0 -12
  458. package/src/routes/set-consent.ts +0 -249
  459. package/src/routes/show-consent-banner.ts +0 -131
  460. package/src/routes/status.ts +0 -61
  461. package/src/routes/types.ts +0 -7
  462. package/src/routes/verify-consent.ts +0 -206
@@ -139,7 +139,7 @@ external_zod_namespaceObject.z.discriminatedUnion('type', [
139
139
  numberArrayFieldSchema
140
140
  ]);
141
141
  require("neverthrow");
142
- const external_h3_namespaceObject = require("h3");
142
+ const server_namespaceObject = require("@orpc/server");
143
143
  const error_codes_ERROR_CODES = Object.freeze({
144
144
  NOT_FOUND: 'Resource not found',
145
145
  BAD_REQUEST: 'Bad request',
@@ -172,10 +172,10 @@ const ERROR_CATEGORIES = Object.freeze({
172
172
  });
173
173
  const api_namespaceObject = require("@opentelemetry/api");
174
174
  api_namespaceObject.trace.getTracer('@doubletie/results');
175
- class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
176
- code;
175
+ class error_class_DoubleTieError extends server_namespaceObject.ORPCError {
177
176
  category;
178
177
  meta;
178
+ statusCode;
179
179
  constructor(message, options = {
180
180
  code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
181
181
  status: 500,
@@ -183,22 +183,18 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
183
183
  cause: void 0,
184
184
  meta: {}
185
185
  }){
186
- super(message, {
187
- cause: options.cause
186
+ super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
187
+ message,
188
+ cause: options.cause,
189
+ data: options.meta ?? {}
188
190
  });
189
- this.name = this.constructor.name;
190
- this.code = options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR;
191
- this.statusCode = options.status ?? 500;
191
+ this.name = 'DoubleTieError';
192
192
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
193
193
  this.meta = options.meta ?? {};
194
- this.data = {
195
- code: this.code,
196
- category: this.category,
197
- meta: this.meta
198
- };
194
+ this.statusCode = options.status ?? 500;
199
195
  tracing_withSpan('create_doubletie_error', async (span)=>{
200
196
  span.setAttributes({
201
- 'error.name': this.name,
197
+ 'error.name': this.constructor.name,
202
198
  'error.message': message,
203
199
  'error.code': this.code,
204
200
  'error.status': this.statusCode,
@@ -218,11 +214,11 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
218
214
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
219
215
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
220
216
  return {
221
- statusCode: this.statusCode,
217
+ code: this.code,
222
218
  message: validationErrorMessage || this.message,
223
- statusMessage: this.statusMessage,
219
+ status: this.statusCode,
220
+ defined: true,
224
221
  data: {
225
- code: this.code,
226
222
  category: this.category,
227
223
  meta: this.meta,
228
224
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -273,7 +269,9 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
273
269
  const ErrorSubclass = class extends error_class_DoubleTieError {
274
270
  constructor(message, options){
275
271
  super(message, options);
276
- this.name = name;
272
+ Object.defineProperty(this, 'name', {
273
+ value: name
274
+ });
277
275
  }
278
276
  };
279
277
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -290,137 +288,7 @@ class error_class_DoubleTieError extends external_h3_namespaceObject.H3Error {
290
288
  return formattedMessage;
291
289
  }
292
290
  }
293
- const colors = {
294
- reset: '\x1b[0m',
295
- bright: '\x1b[1m',
296
- dim: '\x1b[2m',
297
- underscore: '\x1b[4m',
298
- blink: '\x1b[5m',
299
- reverse: '\x1b[7m',
300
- hidden: '\x1b[8m',
301
- fg: {
302
- black: '\x1b[30m',
303
- red: '\x1b[31m',
304
- green: '\x1b[32m',
305
- yellow: '\x1b[33m',
306
- blue: '\x1b[34m',
307
- magenta: '\x1b[35m',
308
- cyan: '\x1b[36m',
309
- white: '\x1b[37m'
310
- },
311
- bg: {
312
- black: '\x1b[40m',
313
- red: '\x1b[41m',
314
- green: '\x1b[42m',
315
- yellow: '\x1b[43m',
316
- blue: '\x1b[44m',
317
- magenta: '\x1b[45m',
318
- cyan: '\x1b[46m',
319
- white: '\x1b[47m'
320
- }
321
- };
322
- const levelColors = {
323
- info: colors.fg.blue,
324
- success: colors.fg.green,
325
- warn: colors.fg.yellow,
326
- error: colors.fg.red,
327
- debug: colors.fg.magenta
328
- };
329
- const formatMessage = (level, message, appName = 'c15t')=>{
330
- const timestamp = new Date().toISOString();
331
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
332
- };
333
- const levels = [
334
- 'error',
335
- 'warn',
336
- 'info',
337
- 'success',
338
- 'debug'
339
- ];
340
- function shouldPublishLog(currentLogLevel, logLevel) {
341
- const currentLevelIndex = levels.indexOf(currentLogLevel);
342
- const messageLevelIndex = levels.indexOf(logLevel);
343
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
344
- return messageLevelIndex <= currentLevelIndex;
345
- }
346
- const LOGGER_TRACER_NAME = '@doubletie/logger';
347
- const LOG_LEVEL_TO_SPAN_STATUS = {
348
- error: api_namespaceObject.SpanStatusCode.ERROR,
349
- warn: api_namespaceObject.SpanStatusCode.OK,
350
- info: api_namespaceObject.SpanStatusCode.OK,
351
- success: api_namespaceObject.SpanStatusCode.OK,
352
- debug: api_namespaceObject.SpanStatusCode.OK
353
- };
354
- const telemetry_getTracer = (options)=>{
355
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
356
- return api_namespaceObject.trace.getTracer(LOGGER_TRACER_NAME);
357
- };
358
- const createLogSpan = (level, message, args = [], options)=>{
359
- if (options?.telemetry?.disabled) return null;
360
- const tracer = telemetry_getTracer(options);
361
- const span = tracer.startSpan('log_entry', {
362
- attributes: {
363
- 'log.level': level,
364
- 'log.message': message,
365
- 'log.has_args': args.length > 0,
366
- ...options?.telemetry?.defaultAttributes || {}
367
- }
368
- });
369
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
370
- const data = args[0];
371
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
372
- }
373
- span.setStatus({
374
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
375
- message: 'error' === level || 'warn' === level ? message : void 0
376
- });
377
- return span;
378
- };
379
- const withLogSpan = async (level, message, args, operation, options)=>{
380
- const span = createLogSpan(level, message, args, options);
381
- if (!span) return operation();
382
- try {
383
- const result = await operation();
384
- return result;
385
- } catch (error) {
386
- span.setStatus({
387
- code: api_namespaceObject.SpanStatusCode.ERROR,
388
- message: error instanceof Error ? error.message : String(error)
389
- });
390
- throw error;
391
- } finally{
392
- span.end();
393
- }
394
- };
395
- const logger_factory_createLogger = (options)=>{
396
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
397
- const loggerOptions = options;
398
- const enabled = loggerOptions?.disabled !== true;
399
- const logLevel = loggerOptions?.level ?? 'error';
400
- const appName = loggerOptions?.appName ?? 'c15t';
401
- const logFunc = async (level, message, args = [])=>{
402
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
403
- await withLogSpan(level, message, args, async ()=>{
404
- const formattedMessage = formatMessage(level, message, appName);
405
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
406
- if ('error' === level) console.error(formattedMessage, ...args);
407
- else if ('warn' === level) console.warn(formattedMessage, ...args);
408
- else if ('info' === level) console.log(formattedMessage, ...args);
409
- else if ('debug' === level) console.debug(formattedMessage, ...args);
410
- else if ('success' === level) console.log(formattedMessage, ...args);
411
- return;
412
- }
413
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
414
- });
415
- };
416
- return Object.fromEntries(levels.map((level)=>[
417
- level,
418
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
419
- console.error('Logger error:', error);
420
- })
421
- ]));
422
- };
423
- logger_factory_createLogger();
291
+ const logger_namespaceObject = require("@doubletie/logger");
424
292
  const schema_auditLogSchema = external_zod_namespaceObject.z.object({
425
293
  id: external_zod_namespaceObject.z.string(),
426
294
  entityType: external_zod_namespaceObject.z.string(),
@@ -1073,6 +941,15 @@ const dialect_createKyselyAdapter = async (config)=>{
1073
941
  };
1074
942
  };
1075
943
  require("drizzle-orm");
944
+ let globalLogger;
945
+ function logger_getLogger(options) {
946
+ if (!globalLogger) globalLogger = (0, logger_namespaceObject.createLogger)({
947
+ level: 'info',
948
+ appName: 'c15t',
949
+ ...options
950
+ });
951
+ return globalLogger;
952
+ }
1076
953
  const postgresMap = {
1077
954
  string: [
1078
955
  'character varying',
@@ -1273,7 +1150,7 @@ function buildColumnAddMigrations(db, toBeAdded, dbType) {
1273
1150
  return migrations;
1274
1151
  }
1275
1152
  function buildTableCreateMigrations(db, toBeCreated, dbType) {
1276
- const logger = logger_factory_createLogger();
1153
+ const logger = logger_getLogger();
1277
1154
  const migrations = [];
1278
1155
  for (const table of toBeCreated){
1279
1156
  const fieldNames = Object.keys(table.fields);
@@ -1298,7 +1175,7 @@ function buildTableCreateMigrations(db, toBeCreated, dbType) {
1298
1175
  return migrations;
1299
1176
  }
1300
1177
  function createMigrationExecutors(migrations) {
1301
- const logger = logger_factory_createLogger();
1178
+ const logger = logger_getLogger();
1302
1179
  async function runMigrations() {
1303
1180
  for (const migration of migrations)try {
1304
1181
  await migration.execute();
@@ -1387,7 +1264,7 @@ function get_schema_getSchema(config) {
1387
1264
  }
1388
1265
  function analyzeSchemaChanges(config, tableMetadata, dbType) {
1389
1266
  const betterAuthSchema = get_schema_getSchema(config);
1390
- const logger = logger_factory_createLogger(config.logger);
1267
+ const logger = logger_getLogger(config.logger);
1391
1268
  const toBeCreated = [];
1392
1269
  const toBeAdded = [];
1393
1270
  for (const [key, value] of Object.entries(betterAuthSchema)){
@@ -1439,7 +1316,7 @@ function handleExistingTable(tableName, value, table, toBeAdded, dbType, logger)
1439
1316
  });
1440
1317
  }
1441
1318
  async function getMigrations(config) {
1442
- const logger = logger_factory_createLogger(config.logger);
1319
+ const logger = logger_getLogger(config.logger);
1443
1320
  let { kysely: db, databaseType: dbType } = await dialect_createKyselyAdapter(config);
1444
1321
  if (!dbType) {
1445
1322
  logger.warn('Could not determine database type, defaulting to sqlite. Please provide a type in the database options to avoid this.');
@@ -2,8 +2,9 @@ import "superjson";
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_base_x_aeb88370__ from "base-x";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_zod__ from "zod";
4
4
  import "neverthrow";
5
- import * as __WEBPACK_EXTERNAL_MODULE_h3__ from "h3";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__ from "@orpc/server";
6
6
  import * as __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__ from "@opentelemetry/api";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__doubletie_logger_91c58a8f__ from "@doubletie/logger";
7
8
  import "node:crypto";
8
9
  import * as __WEBPACK_EXTERNAL_MODULE_kysely__ from "kysely";
9
10
  import "drizzle-orm";
@@ -130,10 +131,10 @@ const ERROR_CATEGORIES = Object.freeze({
130
131
  UNEXPECTED: 'unexpected'
131
132
  });
132
133
  __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.trace.getTracer('@doubletie/results');
133
- class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
134
- code;
134
+ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__.ORPCError {
135
135
  category;
136
136
  meta;
137
+ statusCode;
137
138
  constructor(message, options = {
138
139
  code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
139
140
  status: 500,
@@ -141,22 +142,18 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
141
142
  cause: void 0,
142
143
  meta: {}
143
144
  }){
144
- super(message, {
145
- cause: options.cause
145
+ super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
146
+ message,
147
+ cause: options.cause,
148
+ data: options.meta ?? {}
146
149
  });
147
- this.name = this.constructor.name;
148
- this.code = options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR;
149
- this.statusCode = options.status ?? 500;
150
+ this.name = 'DoubleTieError';
150
151
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
151
152
  this.meta = options.meta ?? {};
152
- this.data = {
153
- code: this.code,
154
- category: this.category,
155
- meta: this.meta
156
- };
153
+ this.statusCode = options.status ?? 500;
157
154
  tracing_withSpan('create_doubletie_error', async (span)=>{
158
155
  span.setAttributes({
159
- 'error.name': this.name,
156
+ 'error.name': this.constructor.name,
160
157
  'error.message': message,
161
158
  'error.code': this.code,
162
159
  'error.status': this.statusCode,
@@ -176,11 +173,11 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
176
173
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
177
174
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
178
175
  return {
179
- statusCode: this.statusCode,
176
+ code: this.code,
180
177
  message: validationErrorMessage || this.message,
181
- statusMessage: this.statusMessage,
178
+ status: this.statusCode,
179
+ defined: true,
182
180
  data: {
183
- code: this.code,
184
181
  category: this.category,
185
182
  meta: this.meta,
186
183
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -231,7 +228,9 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
231
228
  const ErrorSubclass = class extends error_class_DoubleTieError {
232
229
  constructor(message, options){
233
230
  super(message, options);
234
- this.name = name;
231
+ Object.defineProperty(this, 'name', {
232
+ value: name
233
+ });
235
234
  }
236
235
  };
237
236
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -248,137 +247,6 @@ class error_class_DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error
248
247
  return formattedMessage;
249
248
  }
250
249
  }
251
- const levels = [
252
- 'error',
253
- 'warn',
254
- 'info',
255
- 'success',
256
- 'debug'
257
- ];
258
- function shouldPublishLog(currentLogLevel, logLevel) {
259
- const currentLevelIndex = levels.indexOf(currentLogLevel);
260
- const messageLevelIndex = levels.indexOf(logLevel);
261
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
262
- return messageLevelIndex <= currentLevelIndex;
263
- }
264
- const colors = {
265
- reset: '\x1b[0m',
266
- bright: '\x1b[1m',
267
- dim: '\x1b[2m',
268
- underscore: '\x1b[4m',
269
- blink: '\x1b[5m',
270
- reverse: '\x1b[7m',
271
- hidden: '\x1b[8m',
272
- fg: {
273
- black: '\x1b[30m',
274
- red: '\x1b[31m',
275
- green: '\x1b[32m',
276
- yellow: '\x1b[33m',
277
- blue: '\x1b[34m',
278
- magenta: '\x1b[35m',
279
- cyan: '\x1b[36m',
280
- white: '\x1b[37m'
281
- },
282
- bg: {
283
- black: '\x1b[40m',
284
- red: '\x1b[41m',
285
- green: '\x1b[42m',
286
- yellow: '\x1b[43m',
287
- blue: '\x1b[44m',
288
- magenta: '\x1b[45m',
289
- cyan: '\x1b[46m',
290
- white: '\x1b[47m'
291
- }
292
- };
293
- const levelColors = {
294
- info: colors.fg.blue,
295
- success: colors.fg.green,
296
- warn: colors.fg.yellow,
297
- error: colors.fg.red,
298
- debug: colors.fg.magenta
299
- };
300
- const formatMessage = (level, message, appName = 'c15t')=>{
301
- const timestamp = new Date().toISOString();
302
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
303
- };
304
- const LOGGER_TRACER_NAME = '@doubletie/logger';
305
- const LOG_LEVEL_TO_SPAN_STATUS = {
306
- error: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
307
- warn: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
308
- info: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
309
- success: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
310
- debug: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK
311
- };
312
- const telemetry_getTracer = (options)=>{
313
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
314
- return __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.trace.getTracer(LOGGER_TRACER_NAME);
315
- };
316
- const createLogSpan = (level, message, args = [], options)=>{
317
- if (options?.telemetry?.disabled) return null;
318
- const tracer = telemetry_getTracer(options);
319
- const span = tracer.startSpan('log_entry', {
320
- attributes: {
321
- 'log.level': level,
322
- 'log.message': message,
323
- 'log.has_args': args.length > 0,
324
- ...options?.telemetry?.defaultAttributes || {}
325
- }
326
- });
327
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
328
- const data = args[0];
329
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
330
- }
331
- span.setStatus({
332
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
333
- message: 'error' === level || 'warn' === level ? message : void 0
334
- });
335
- return span;
336
- };
337
- const withLogSpan = async (level, message, args, operation, options)=>{
338
- const span = createLogSpan(level, message, args, options);
339
- if (!span) return operation();
340
- try {
341
- const result = await operation();
342
- return result;
343
- } catch (error) {
344
- span.setStatus({
345
- code: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
346
- message: error instanceof Error ? error.message : String(error)
347
- });
348
- throw error;
349
- } finally{
350
- span.end();
351
- }
352
- };
353
- const logger_factory_createLogger = (options)=>{
354
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
355
- const loggerOptions = options;
356
- const enabled = loggerOptions?.disabled !== true;
357
- const logLevel = loggerOptions?.level ?? 'error';
358
- const appName = loggerOptions?.appName ?? 'c15t';
359
- const logFunc = async (level, message, args = [])=>{
360
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
361
- await withLogSpan(level, message, args, async ()=>{
362
- const formattedMessage = formatMessage(level, message, appName);
363
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
364
- if ('error' === level) console.error(formattedMessage, ...args);
365
- else if ('warn' === level) console.warn(formattedMessage, ...args);
366
- else if ('info' === level) console.log(formattedMessage, ...args);
367
- else if ('debug' === level) console.debug(formattedMessage, ...args);
368
- else if ('success' === level) console.log(formattedMessage, ...args);
369
- return;
370
- }
371
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
372
- });
373
- };
374
- return Object.fromEntries(levels.map((level)=>[
375
- level,
376
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
377
- console.error('Logger error:', error);
378
- })
379
- ]));
380
- };
381
- logger_factory_createLogger();
382
250
  const schema_auditLogSchema = __WEBPACK_EXTERNAL_MODULE_zod__.z.object({
383
251
  id: __WEBPACK_EXTERNAL_MODULE_zod__.z.string(),
384
252
  entityType: __WEBPACK_EXTERNAL_MODULE_zod__.z.string(),
@@ -1028,6 +896,15 @@ const dialect_createKyselyAdapter = async (config)=>{
1028
896
  databaseType
1029
897
  };
1030
898
  };
899
+ let globalLogger;
900
+ function logger_getLogger(options) {
901
+ if (!globalLogger) globalLogger = (0, __WEBPACK_EXTERNAL_MODULE__doubletie_logger_91c58a8f__.createLogger)({
902
+ level: 'info',
903
+ appName: 'c15t',
904
+ ...options
905
+ });
906
+ return globalLogger;
907
+ }
1031
908
  const postgresMap = {
1032
909
  string: [
1033
910
  'character varying',
@@ -1228,7 +1105,7 @@ function buildColumnAddMigrations(db, toBeAdded, dbType) {
1228
1105
  return migrations;
1229
1106
  }
1230
1107
  function buildTableCreateMigrations(db, toBeCreated, dbType) {
1231
- const logger = logger_factory_createLogger();
1108
+ const logger = logger_getLogger();
1232
1109
  const migrations = [];
1233
1110
  for (const table of toBeCreated){
1234
1111
  const fieldNames = Object.keys(table.fields);
@@ -1253,7 +1130,7 @@ function buildTableCreateMigrations(db, toBeCreated, dbType) {
1253
1130
  return migrations;
1254
1131
  }
1255
1132
  function createMigrationExecutors(migrations) {
1256
- const logger = logger_factory_createLogger();
1133
+ const logger = logger_getLogger();
1257
1134
  async function runMigrations() {
1258
1135
  for (const migration of migrations)try {
1259
1136
  await migration.execute();
@@ -1342,7 +1219,7 @@ function get_schema_getSchema(config) {
1342
1219
  }
1343
1220
  function analyzeSchemaChanges(config, tableMetadata, dbType) {
1344
1221
  const betterAuthSchema = get_schema_getSchema(config);
1345
- const logger = logger_factory_createLogger(config.logger);
1222
+ const logger = logger_getLogger(config.logger);
1346
1223
  const toBeCreated = [];
1347
1224
  const toBeAdded = [];
1348
1225
  for (const [key, value] of Object.entries(betterAuthSchema)){
@@ -1394,7 +1271,7 @@ function handleExistingTable(tableName, value, table, toBeAdded, dbType, logger)
1394
1271
  });
1395
1272
  }
1396
1273
  async function getMigrations(config) {
1397
- const logger = logger_factory_createLogger(config.logger);
1274
+ const logger = logger_getLogger(config.logger);
1398
1275
  let { kysely: db, databaseType: dbType } = await dialect_createKyselyAdapter(config);
1399
1276
  if (!dbType) {
1400
1277
  logger.warn('Could not determine database type, defaulting to sqlite. Please provide a type in the database options to avoid this.');
@@ -1 +1 @@
1
- {"version":3,"file":"schema-comparison.d.ts","sourceRoot":"","sources":["../../../src/pkgs/migrations/schema-comparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAE3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EACX,YAAY,EAEZ,aAAa,EACb,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,aAAa,EAAE,EAC9B,MAAM,EAAE,kBAAkB,GACxB;IAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,CAwB7D"}
1
+ {"version":3,"file":"schema-comparison.d.ts","sourceRoot":"","sources":["../../../src/pkgs/migrations/schema-comparison.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAE3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EACX,YAAY,EAEZ,aAAa,EACb,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,aAAa,EAAE,EAC9B,MAAM,EAAE,kBAAkB,GACxB;IAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,CAwB7D"}
@@ -1,9 +1,9 @@
1
- import { H3Error } from 'h3';
2
- import type { DoubleTieErrorOptions, ErrorMessageType } from '../types';
1
+ import { ORPCError } from '@orpc/server';
2
+ import type { DoubleTieErrorOptions } from '../types';
3
3
  /**
4
- * Custom error class for DoubleTie errors that extends H3Error.
4
+ * Custom error class for DoubleTie errors that extends ORPCError.
5
5
  *
6
- * This class directly extends H3Error to provide seamless integration with H3.js
6
+ * This class directly extends ORPCError to provide seamless integration with oRPC
7
7
  * while adding application-specific error properties and context.
8
8
  *
9
9
  * @remarks
@@ -29,17 +29,7 @@ import type { DoubleTieErrorOptions, ErrorMessageType } from '../types';
29
29
  * }
30
30
  * ```
31
31
  */
32
- export declare class DoubleTieError extends H3Error<{
33
- code: ErrorMessageType;
34
- category?: string;
35
- meta?: Record<string, unknown>;
36
- originalMessage?: string;
37
- }> {
38
- /**
39
- * Error code as defined in ERROR_CODES or custom error codes.
40
- * Used to uniquely identify the error type.
41
- */
42
- readonly code: ErrorMessageType;
32
+ export declare class DoubleTieError extends ORPCError<string, Record<string, unknown>> {
43
33
  /**
44
34
  * Error category that groups related errors.
45
35
  * Defaults to 'unexpected' if not specified.
@@ -52,6 +42,10 @@ export declare class DoubleTieError extends H3Error<{
52
42
  * Can contain any contextual information that might help debugging.
53
43
  */
54
44
  readonly meta: Record<string, unknown>;
45
+ /**
46
+ * HTTP status code for the error
47
+ */
48
+ readonly statusCode: number;
55
49
  /**
56
50
  * Creates a new DoubleTieError instance.
57
51
  *
@@ -82,14 +76,22 @@ export declare class DoubleTieError extends H3Error<{
82
76
  */
83
77
  static isDoubleTieError(error: unknown): error is DoubleTieError;
84
78
  /**
85
- * Convert the error to a JSON-serializable object.
79
+ * Convert the error to a JSON-serializable object matching oRPC's error format.
80
+ * Override of the parent ORPCError toJSON method.
86
81
  */
87
- toJSON(): Pick<H3Error<{
82
+ toJSON(): {
88
83
  code: string;
89
- category?: string;
90
- meta?: Record<string, unknown>;
91
- originalMessage?: string;
92
- }>, 'message' | 'data' | 'statusCode' | 'statusMessage'>;
84
+ message: string;
85
+ status: number;
86
+ defined: boolean;
87
+ data: {
88
+ cause?: {} | undefined;
89
+ originalMessage?: string | undefined;
90
+ stack?: string[] | undefined;
91
+ category: string;
92
+ meta: Record<string, unknown>;
93
+ };
94
+ };
93
95
  /**
94
96
  * Creates a DoubleTieError from an HTTP response object.
95
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"error-class.d.ts","sourceRoot":"","sources":["../../../../src/pkgs/results/core/error-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,cAAe,SAAQ,OAAO,CAAC;IAC3C,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;IACD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;OAoBG;gBAEF,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,qBAMR;IA6CF;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc;IAIhE;;OAEG;IACH,MAAM,IAAI,IAAI,CACb,OAAO,CAAC;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,EACF,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,eAAe,CACnD;IAiDD;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,cAAc;IA+BvE;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc;IAUjE;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,cAAc;IAY1D;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;CAuB3D"}
1
+ {"version":3,"file":"error-class.d.ts","sourceRoot":"","sources":["../../../../src/pkgs/results/core/error-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAIxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,cAAe,SAAQ,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7E;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;;OAoBG;gBAEF,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,qBAMR;IA4CF;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc;IAIhE;;;OAGG;IACH,MAAM;;;;;;;;;;;;;IAmDN;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,cAAc;IA+BvE;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc;IAUjE;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,cAAc;IAY1D;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;CAuB3D"}