@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
@@ -31,13 +31,9 @@ __webpack_require__.d(__webpack_exports__, {
31
31
  okAsync: ()=>external_neverthrow_namespaceObject.okAsync,
32
32
  ERROR_CATEGORIES: ()=>ERROR_CATEGORIES,
33
33
  tryCatch: ()=>tryCatch,
34
- validationPipeline: ()=>validationPipeline,
35
34
  tryCatchAsync: ()=>tryCatchAsync,
36
- retrievalPipeline: ()=>retrievalPipeline,
37
35
  ERROR_CODES: ()=>ERROR_CODES,
38
- withH3ErrorHandling: ()=>withH3ErrorHandling,
39
36
  promiseToResult: ()=>promiseToResult,
40
- createH3ErrorHandler: ()=>createH3ErrorHandler,
41
37
  fail: ()=>fail,
42
38
  failAsync: ()=>failAsync,
43
39
  createTelemetryOptions: ()=>createTelemetryOptions,
@@ -48,7 +44,7 @@ __webpack_require__.d(__webpack_exports__, {
48
44
  Result: ()=>external_neverthrow_namespaceObject.Result
49
45
  });
50
46
  const external_neverthrow_namespaceObject = require("neverthrow");
51
- const external_h3_namespaceObject = require("h3");
47
+ const server_namespaceObject = require("@orpc/server");
52
48
  const ERROR_CODES = Object.freeze({
53
49
  NOT_FOUND: 'Resource not found',
54
50
  BAD_REQUEST: 'Bad request',
@@ -115,10 +111,10 @@ async function withSpan(name, fn, attributes = {}) {
115
111
  }
116
112
  });
117
113
  }
118
- class DoubleTieError extends external_h3_namespaceObject.H3Error {
119
- code;
114
+ class DoubleTieError extends server_namespaceObject.ORPCError {
120
115
  category;
121
116
  meta;
117
+ statusCode;
122
118
  constructor(message, options = {
123
119
  code: ERROR_CODES.UNKNOWN_ERROR,
124
120
  status: 500,
@@ -126,22 +122,18 @@ class DoubleTieError extends external_h3_namespaceObject.H3Error {
126
122
  cause: void 0,
127
123
  meta: {}
128
124
  }){
129
- super(message, {
130
- cause: options.cause
125
+ super(options.code ?? ERROR_CODES.UNKNOWN_ERROR, {
126
+ message,
127
+ cause: options.cause,
128
+ data: options.meta ?? {}
131
129
  });
132
- this.name = this.constructor.name;
133
- this.code = options.code ?? ERROR_CODES.UNKNOWN_ERROR;
134
- this.statusCode = options.status ?? 500;
130
+ this.name = 'DoubleTieError';
135
131
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
136
132
  this.meta = options.meta ?? {};
137
- this.data = {
138
- code: this.code,
139
- category: this.category,
140
- meta: this.meta
141
- };
133
+ this.statusCode = options.status ?? 500;
142
134
  withSpan('create_doubletie_error', async (span)=>{
143
135
  span.setAttributes({
144
- 'error.name': this.name,
136
+ 'error.name': this.constructor.name,
145
137
  'error.message': message,
146
138
  'error.code': this.code,
147
139
  'error.status': this.statusCode,
@@ -161,11 +153,11 @@ class DoubleTieError extends external_h3_namespaceObject.H3Error {
161
153
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
162
154
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
163
155
  return {
164
- statusCode: this.statusCode,
156
+ code: this.code,
165
157
  message: validationErrorMessage || this.message,
166
- statusMessage: this.statusMessage,
158
+ status: this.statusCode,
159
+ defined: true,
167
160
  data: {
168
- code: this.code,
169
161
  category: this.category,
170
162
  meta: this.meta,
171
163
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -216,7 +208,9 @@ class DoubleTieError extends external_h3_namespaceObject.H3Error {
216
208
  const ErrorSubclass = class extends DoubleTieError {
217
209
  constructor(message, options){
218
210
  super(message, options);
219
- this.name = name;
211
+ Object.defineProperty(this, 'name', {
212
+ value: name
213
+ });
220
214
  }
221
215
  };
222
216
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -412,125 +406,6 @@ const withFallbackForCategory = (result, category, defaultValue)=>{
412
406
  return (0, external_neverthrow_namespaceObject.err)(error);
413
407
  });
414
408
  };
415
- const validationPipeline = (schema, transformer)=>(data)=>{
416
- const preprocessData = (value)=>{
417
- if ('object' != typeof value || null === value) {
418
- if ('string' == typeof value) try {
419
- if (value.startsWith('[') && value.endsWith(']')) return JSON.parse(value);
420
- if ('true' === value.toLowerCase()) return true;
421
- if ('false' === value.toLowerCase()) return false;
422
- if (value.startsWith('{') && value.endsWith('}')) return JSON.parse(value);
423
- } catch {}
424
- return value;
425
- }
426
- if (Array.isArray(value)) return value.map(preprocessData);
427
- const processed = {};
428
- for (const [key, val] of Object.entries(value))processed[key] = preprocessData(val);
429
- return processed;
430
- };
431
- const preprocessedData = preprocessData(data);
432
- const parseResult = schema.safeParse(preprocessedData);
433
- if (!parseResult.success) return fail('Validation failed', {
434
- code: ERROR_CODES.INVALID_REQUEST,
435
- status: 400,
436
- meta: {
437
- validationErrors: parseResult.error.issues
438
- }
439
- });
440
- try {
441
- return (0, external_neverthrow_namespaceObject.ok)(transformer(parseResult.data));
442
- } catch (error) {
443
- return fail('Error transforming data after validation', {
444
- code: ERROR_CODES.BAD_REQUEST,
445
- status: 400,
446
- cause: error instanceof Error ? error : void 0,
447
- meta: {
448
- inputData: parseResult.data
449
- }
450
- });
451
- }
452
- };
453
- const retrievalPipeline = (fetcher, transformer, errorCode = ERROR_CODES.NOT_FOUND)=>()=>external_neverthrow_namespaceObject.ResultAsync.fromPromise(fetcher().then((data)=>{
454
- if (null == data) throw new Error('Resource not found');
455
- try {
456
- return transformer(data);
457
- } catch (transformerError) {
458
- throw new DoubleTieError(transformerError instanceof Error ? transformerError.message : 'Error transforming data', {
459
- code: ERROR_CODES.BAD_REQUEST,
460
- status: 400,
461
- cause: transformerError instanceof Error ? transformerError : void 0
462
- });
463
- }
464
- }), (error)=>{
465
- if (error instanceof DoubleTieError) return error;
466
- const useCustomErrorCode = errorCode !== ERROR_CODES.NOT_FOUND;
467
- if (useCustomErrorCode) return new DoubleTieError(error instanceof Error ? error.message : 'Failed to retrieve resource', {
468
- code: errorCode,
469
- status: 400,
470
- cause: error instanceof Error ? error : void 0
471
- });
472
- const isNotFoundError = error instanceof Error && error.message.toLowerCase().includes('not found');
473
- if (isNotFoundError) return new DoubleTieError(error.message, {
474
- code: ERROR_CODES.NOT_FOUND,
475
- status: 404,
476
- cause: error
477
- });
478
- return new DoubleTieError(error instanceof Error ? error.message : 'Failed to retrieve resource', {
479
- code: ERROR_CODES.BAD_REQUEST,
480
- status: 400,
481
- cause: error instanceof Error ? error : void 0
482
- });
483
- });
484
- function createH3ErrorHandler() {
485
- return (0, external_h3_namespaceObject.eventHandler)((event)=>{
486
- event.context._onError = (error)=>{
487
- event.context.logger.error('Error in H3 error handler', {
488
- error
489
- });
490
- if (error instanceof DoubleTieError) {
491
- event.context.logger.error('Handling DoubleTieError:', error.statusCode, error.message);
492
- return (0, external_h3_namespaceObject.sendError)(event, error);
493
- }
494
- event.context.logger.error('Handling generic error', {
495
- error
496
- });
497
- const dtError = new DoubleTieError(error instanceof Error ? error.message : String(error), {
498
- code: ERROR_CODES.INTERNAL_SERVER_ERROR,
499
- status: 500,
500
- cause: error instanceof Error ? error : void 0
501
- });
502
- return (0, external_h3_namespaceObject.sendError)(event, dtError);
503
- };
504
- event.node.req.on('error', (err)=>{
505
- event.context.logger.error('Request error event triggered:', {
506
- err
507
- });
508
- if (event.context._onError) event.context._onError(err);
509
- });
510
- });
511
- }
512
- function withH3ErrorHandling(handler) {
513
- return (0, external_h3_namespaceObject.eventHandler)(async (event)=>{
514
- try {
515
- return await handler(event);
516
- } catch (error) {
517
- event.context.logger.error('Error caught in withH3ErrorHandling:', {
518
- error
519
- });
520
- if (error instanceof DoubleTieError) {
521
- event.context.logger.error('Handling DoubleTieError in wrapper:', error.statusCode, error.message);
522
- return (0, external_h3_namespaceObject.sendError)(event, error);
523
- }
524
- if (event.context._onError && 'function' == typeof event.context._onError) return event.context._onError(error);
525
- const dtError = new DoubleTieError(error instanceof Error ? error.message : String(error), {
526
- code: ERROR_CODES.INTERNAL_SERVER_ERROR,
527
- status: 500,
528
- cause: error instanceof Error ? error : void 0
529
- });
530
- return (0, external_h3_namespaceObject.sendError)(event, dtError);
531
- }
532
- });
533
- }
534
409
  function createTelemetryOptions(appName = 'c15t', telemetryConfig) {
535
410
  const serviceVersion = process.env.npm_package_version || '1.0.0';
536
411
  const config = {
@@ -549,7 +424,6 @@ exports.ERROR_CATEGORIES = __webpack_exports__.ERROR_CATEGORIES;
549
424
  exports.ERROR_CODES = __webpack_exports__.ERROR_CODES;
550
425
  exports.Result = __webpack_exports__.Result;
551
426
  exports.ResultAsync = __webpack_exports__.ResultAsync;
552
- exports.createH3ErrorHandler = __webpack_exports__.createH3ErrorHandler;
553
427
  exports.createTelemetryOptions = __webpack_exports__.createTelemetryOptions;
554
428
  exports.err = __webpack_exports__.err;
555
429
  exports.errAsync = __webpack_exports__.errAsync;
@@ -559,20 +433,16 @@ exports.fromPromise = __webpack_exports__.fromPromise;
559
433
  exports.ok = __webpack_exports__.ok;
560
434
  exports.okAsync = __webpack_exports__.okAsync;
561
435
  exports.promiseToResult = __webpack_exports__.promiseToResult;
562
- exports.retrievalPipeline = __webpack_exports__.retrievalPipeline;
563
436
  exports.tryCatch = __webpack_exports__.tryCatch;
564
437
  exports.tryCatchAsync = __webpack_exports__.tryCatchAsync;
565
- exports.validationPipeline = __webpack_exports__.validationPipeline;
566
438
  exports.withFallbackForCategory = __webpack_exports__.withFallbackForCategory;
567
439
  exports.withFallbackForCodes = __webpack_exports__.withFallbackForCodes;
568
- exports.withH3ErrorHandling = __webpack_exports__.withH3ErrorHandling;
569
440
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
570
441
  "DoubleTieError",
571
442
  "ERROR_CATEGORIES",
572
443
  "ERROR_CODES",
573
444
  "Result",
574
445
  "ResultAsync",
575
- "createH3ErrorHandler",
576
446
  "createTelemetryOptions",
577
447
  "err",
578
448
  "errAsync",
@@ -582,13 +452,10 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
582
452
  "ok",
583
453
  "okAsync",
584
454
  "promiseToResult",
585
- "retrievalPipeline",
586
455
  "tryCatch",
587
456
  "tryCatchAsync",
588
- "validationPipeline",
589
457
  "withFallbackForCategory",
590
- "withFallbackForCodes",
591
- "withH3ErrorHandling"
458
+ "withFallbackForCodes"
592
459
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
593
460
  Object.defineProperty(exports, '__esModule', {
594
461
  value: true
@@ -76,8 +76,5 @@ export type { DoubleTieErrorOptions, ErrorCategory, ErrorMessageType, ErrorTrans
76
76
  export { ERROR_CODES, ERROR_CATEGORIES } from './core/error-codes';
77
77
  export { fail, failAsync, tryCatch, tryCatchAsync, promiseToResult, } from './results/result-helpers';
78
78
  export { withFallbackForCodes, withFallbackForCategory, } from './results/recovery-utils';
79
- export { validationPipeline } from './pipeline/validation-pipeline';
80
- export { retrievalPipeline } from './pipeline/retrieval-pipeline';
81
- export { createH3ErrorHandler, withH3ErrorHandling, } from './h3-integration';
82
79
  export { createTelemetryOptions, type TelemetryConfig, } from './create-telemetry-options';
83
80
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pkgs/results/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAGH,OAAO,EACN,EAAE,EACF,GAAG,EACH,OAAO,EACP,QAAQ,EACR,WAAW,EACX,MAAM,EACN,WAAW,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,YAAY,EACX,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,cAAc,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EACN,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,aAAa,EACb,eAAe,GACf,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACN,oBAAoB,EACpB,uBAAuB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EACN,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,sBAAsB,EACtB,KAAK,eAAe,GACpB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pkgs/results/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAGH,OAAO,EACN,EAAE,EACF,GAAG,EACH,OAAO,EACP,QAAQ,EACR,WAAW,EACX,MAAM,EACN,WAAW,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,YAAY,EACX,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,cAAc,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EACN,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,aAAa,EACb,eAAe,GACf,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACN,oBAAoB,EACpB,uBAAuB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACN,sBAAsB,EACtB,KAAK,eAAe,GACpB,MAAM,4BAA4B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE_neverthrow__ from "neverthrow";
2
- import * as __WEBPACK_EXTERNAL_MODULE_h3__ from "h3";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__ from "@orpc/server";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__ from "@opentelemetry/api";
4
4
  const ERROR_CODES = Object.freeze({
5
5
  NOT_FOUND: 'Resource not found',
@@ -66,10 +66,10 @@ async function withSpan(name, fn, attributes = {}) {
66
66
  }
67
67
  });
68
68
  }
69
- class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
70
- code;
69
+ class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__.ORPCError {
71
70
  category;
72
71
  meta;
72
+ statusCode;
73
73
  constructor(message, options = {
74
74
  code: ERROR_CODES.UNKNOWN_ERROR,
75
75
  status: 500,
@@ -77,22 +77,18 @@ class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
77
77
  cause: void 0,
78
78
  meta: {}
79
79
  }){
80
- super(message, {
81
- cause: options.cause
80
+ super(options.code ?? ERROR_CODES.UNKNOWN_ERROR, {
81
+ message,
82
+ cause: options.cause,
83
+ data: options.meta ?? {}
82
84
  });
83
- this.name = this.constructor.name;
84
- this.code = options.code ?? ERROR_CODES.UNKNOWN_ERROR;
85
- this.statusCode = options.status ?? 500;
85
+ this.name = 'DoubleTieError';
86
86
  this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
87
87
  this.meta = options.meta ?? {};
88
- this.data = {
89
- code: this.code,
90
- category: this.category,
91
- meta: this.meta
92
- };
88
+ this.statusCode = options.status ?? 500;
93
89
  withSpan('create_doubletie_error', async (span)=>{
94
90
  span.setAttributes({
95
- 'error.name': this.name,
91
+ 'error.name': this.constructor.name,
96
92
  'error.message': message,
97
93
  'error.code': this.code,
98
94
  'error.status': this.statusCode,
@@ -112,11 +108,11 @@ class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
112
108
  const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
113
109
  const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
114
110
  return {
115
- statusCode: this.statusCode,
111
+ code: this.code,
116
112
  message: validationErrorMessage || this.message,
117
- statusMessage: this.statusMessage,
113
+ status: this.statusCode,
114
+ defined: true,
118
115
  data: {
119
- code: this.code,
120
116
  category: this.category,
121
117
  meta: this.meta,
122
118
  ...'production' === process.env.NODE_ENV ? {} : {
@@ -167,7 +163,9 @@ class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
167
163
  const ErrorSubclass = class extends DoubleTieError {
168
164
  constructor(message, options){
169
165
  super(message, options);
170
- this.name = name;
166
+ Object.defineProperty(this, 'name', {
167
+ value: name
168
+ });
171
169
  }
172
170
  };
173
171
  Object.defineProperty(ErrorSubclass, 'name', {
@@ -363,125 +361,6 @@ const withFallbackForCategory = (result, category, defaultValue)=>{
363
361
  return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.err)(error);
364
362
  });
365
363
  };
366
- const validationPipeline = (schema, transformer)=>(data)=>{
367
- const preprocessData = (value)=>{
368
- if ('object' != typeof value || null === value) {
369
- if ('string' == typeof value) try {
370
- if (value.startsWith('[') && value.endsWith(']')) return JSON.parse(value);
371
- if ('true' === value.toLowerCase()) return true;
372
- if ('false' === value.toLowerCase()) return false;
373
- if (value.startsWith('{') && value.endsWith('}')) return JSON.parse(value);
374
- } catch {}
375
- return value;
376
- }
377
- if (Array.isArray(value)) return value.map(preprocessData);
378
- const processed = {};
379
- for (const [key, val] of Object.entries(value))processed[key] = preprocessData(val);
380
- return processed;
381
- };
382
- const preprocessedData = preprocessData(data);
383
- const parseResult = schema.safeParse(preprocessedData);
384
- if (!parseResult.success) return fail('Validation failed', {
385
- code: ERROR_CODES.INVALID_REQUEST,
386
- status: 400,
387
- meta: {
388
- validationErrors: parseResult.error.issues
389
- }
390
- });
391
- try {
392
- return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.ok)(transformer(parseResult.data));
393
- } catch (error) {
394
- return fail('Error transforming data after validation', {
395
- code: ERROR_CODES.BAD_REQUEST,
396
- status: 400,
397
- cause: error instanceof Error ? error : void 0,
398
- meta: {
399
- inputData: parseResult.data
400
- }
401
- });
402
- }
403
- };
404
- const retrievalPipeline = (fetcher, transformer, errorCode = ERROR_CODES.NOT_FOUND)=>()=>__WEBPACK_EXTERNAL_MODULE_neverthrow__.ResultAsync.fromPromise(fetcher().then((data)=>{
405
- if (null == data) throw new Error('Resource not found');
406
- try {
407
- return transformer(data);
408
- } catch (transformerError) {
409
- throw new DoubleTieError(transformerError instanceof Error ? transformerError.message : 'Error transforming data', {
410
- code: ERROR_CODES.BAD_REQUEST,
411
- status: 400,
412
- cause: transformerError instanceof Error ? transformerError : void 0
413
- });
414
- }
415
- }), (error)=>{
416
- if (error instanceof DoubleTieError) return error;
417
- const useCustomErrorCode = errorCode !== ERROR_CODES.NOT_FOUND;
418
- if (useCustomErrorCode) return new DoubleTieError(error instanceof Error ? error.message : 'Failed to retrieve resource', {
419
- code: errorCode,
420
- status: 400,
421
- cause: error instanceof Error ? error : void 0
422
- });
423
- const isNotFoundError = error instanceof Error && error.message.toLowerCase().includes('not found');
424
- if (isNotFoundError) return new DoubleTieError(error.message, {
425
- code: ERROR_CODES.NOT_FOUND,
426
- status: 404,
427
- cause: error
428
- });
429
- return new DoubleTieError(error instanceof Error ? error.message : 'Failed to retrieve resource', {
430
- code: ERROR_CODES.BAD_REQUEST,
431
- status: 400,
432
- cause: error instanceof Error ? error : void 0
433
- });
434
- });
435
- function createH3ErrorHandler() {
436
- return (0, __WEBPACK_EXTERNAL_MODULE_h3__.eventHandler)((event)=>{
437
- event.context._onError = (error)=>{
438
- event.context.logger.error('Error in H3 error handler', {
439
- error
440
- });
441
- if (error instanceof DoubleTieError) {
442
- event.context.logger.error('Handling DoubleTieError:', error.statusCode, error.message);
443
- return (0, __WEBPACK_EXTERNAL_MODULE_h3__.sendError)(event, error);
444
- }
445
- event.context.logger.error('Handling generic error', {
446
- error
447
- });
448
- const dtError = new DoubleTieError(error instanceof Error ? error.message : String(error), {
449
- code: ERROR_CODES.INTERNAL_SERVER_ERROR,
450
- status: 500,
451
- cause: error instanceof Error ? error : void 0
452
- });
453
- return (0, __WEBPACK_EXTERNAL_MODULE_h3__.sendError)(event, dtError);
454
- };
455
- event.node.req.on('error', (err)=>{
456
- event.context.logger.error('Request error event triggered:', {
457
- err
458
- });
459
- if (event.context._onError) event.context._onError(err);
460
- });
461
- });
462
- }
463
- function withH3ErrorHandling(handler) {
464
- return (0, __WEBPACK_EXTERNAL_MODULE_h3__.eventHandler)(async (event)=>{
465
- try {
466
- return await handler(event);
467
- } catch (error) {
468
- event.context.logger.error('Error caught in withH3ErrorHandling:', {
469
- error
470
- });
471
- if (error instanceof DoubleTieError) {
472
- event.context.logger.error('Handling DoubleTieError in wrapper:', error.statusCode, error.message);
473
- return (0, __WEBPACK_EXTERNAL_MODULE_h3__.sendError)(event, error);
474
- }
475
- if (event.context._onError && 'function' == typeof event.context._onError) return event.context._onError(error);
476
- const dtError = new DoubleTieError(error instanceof Error ? error.message : String(error), {
477
- code: ERROR_CODES.INTERNAL_SERVER_ERROR,
478
- status: 500,
479
- cause: error instanceof Error ? error : void 0
480
- });
481
- return (0, __WEBPACK_EXTERNAL_MODULE_h3__.sendError)(event, dtError);
482
- }
483
- });
484
- }
485
364
  function createTelemetryOptions(appName = 'c15t', telemetryConfig) {
486
365
  const serviceVersion = process.env.npm_package_version || '1.0.0';
487
366
  const config = {
@@ -502,4 +381,4 @@ var __webpack_exports__errAsync = __WEBPACK_EXTERNAL_MODULE_neverthrow__.errAsyn
502
381
  var __webpack_exports__fromPromise = __WEBPACK_EXTERNAL_MODULE_neverthrow__.fromPromise;
503
382
  var __webpack_exports__ok = __WEBPACK_EXTERNAL_MODULE_neverthrow__.ok;
504
383
  var __webpack_exports__okAsync = __WEBPACK_EXTERNAL_MODULE_neverthrow__.okAsync;
505
- export { DoubleTieError, ERROR_CATEGORIES, ERROR_CODES, createH3ErrorHandler, createTelemetryOptions, fail, failAsync, promiseToResult, retrievalPipeline, tryCatch, tryCatchAsync, validationPipeline, withFallbackForCategory, withFallbackForCodes, withH3ErrorHandling, __webpack_exports__Result as Result, __webpack_exports__ResultAsync as ResultAsync, __webpack_exports__err as err, __webpack_exports__errAsync as errAsync, __webpack_exports__fromPromise as fromPromise, __webpack_exports__ok as ok, __webpack_exports__okAsync as okAsync };
384
+ export { DoubleTieError, ERROR_CATEGORIES, ERROR_CODES, createTelemetryOptions, fail, failAsync, promiseToResult, tryCatch, tryCatchAsync, withFallbackForCategory, withFallbackForCodes, __webpack_exports__Result as Result, __webpack_exports__ResultAsync as ResultAsync, __webpack_exports__err as err, __webpack_exports__errAsync as errAsync, __webpack_exports__fromPromise as fromPromise, __webpack_exports__ok as ok, __webpack_exports__okAsync as okAsync };
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Creates an oRPC error handler middleware that properly handles DoubleTieError instances
3
+ *
4
+ * This utility ensures consistent error handling across your oRPC application and
5
+ * properly converts DoubleTieError objects to oRPC-compatible error responses.
6
+ *
7
+ * @returns An oRPC request handler middleware for error handling
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { createORPCErrorHandler } from '@doubletie/results';
12
+ * import { OpenAPIHandler } from '@orpc/server';
13
+ *
14
+ * const handler = new OpenAPIHandler(router);
15
+ *
16
+ * // Register the error handler middleware
17
+ * handler.use(createORPCErrorHandler());
18
+ *
19
+ * // Your routes...
20
+ * ```
21
+ */
22
+ export declare function createORPCErrorHandler(): (request: Request, context: {
23
+ logger?: {
24
+ error: (message: string, data?: object) => void;
25
+ };
26
+ }) => {
27
+ context: {
28
+ _onError: (error: unknown) => never;
29
+ };
30
+ };
31
+ /**
32
+ * Wraps an oRPC handler with error handling for DoubleTieError
33
+ *
34
+ * @param handler - The handler function to wrap
35
+ * @returns A wrapped handler that automatically handles DoubleTieError instances
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * import { withORPCErrorHandling } from '@doubletie/results';
40
+ * import { os } from '@orpc/server';
41
+ *
42
+ * const getUserHandler = os.handler(async ({ input }) => {
43
+ * // Your handler code that might throw DoubleTieError
44
+ * throw new DoubleTieError('User not found', {
45
+ * code: ERROR_CODES.NOT_FOUND,
46
+ * status: 404
47
+ * });
48
+ * });
49
+ *
50
+ * // Wrap the handler with error handling
51
+ * const safeGetUserHandler = withORPCErrorHandling(getUserHandler);
52
+ * ```
53
+ */
54
+ export declare function withORPCErrorHandling<TInput, TOutput>(handler: (input: TInput, context: {
55
+ logger?: {
56
+ error: (message: string, data?: object) => void;
57
+ };
58
+ _onError?: (error: unknown) => unknown;
59
+ }) => Promise<TOutput> | TOutput): (input: TInput, context: {
60
+ logger?: {
61
+ error: (message: string, data?: object) => void;
62
+ };
63
+ _onError?: (error: unknown) => unknown;
64
+ }) => Promise<unknown>;
65
+ //# sourceMappingURL=orpc-error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orpc-error-handler.d.ts","sourceRoot":"","sources":["../../../src/pkgs/results/orpc-error-handler.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,KAEpC,SAAS,OAAO,EAChB,SAAS;IAAE,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;CAAE;;0BAKrD,OAAO;;EA4B5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EACpD,OAAO,EAAE,CACR,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IACR,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACvC,KACG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,IAG9B,OAAO,MAAM,EACb,SAAS;IACR,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACvC,sBAoCF"}
@@ -1,4 +1,4 @@
1
- import type { H3Error } from 'h3';
1
+ import type { ORPCError } from '@orpc/server';
2
2
  import type { Result, ResultAsync } from 'neverthrow';
3
3
  /**
4
4
  * Represents a category of errors for better organization and filtering.
@@ -43,16 +43,12 @@ export type ErrorMessageType = string;
43
43
  *
44
44
  * @remarks
45
45
  * This interface defines the public API of the DoubleTieError class.
46
- * It extends the H3Error class with additional properties and methods
46
+ * It extends the ORPCError class with additional properties and methods
47
47
  * specific to the DoubleTie error handling system.
48
48
  *
49
49
  * @see DoubleTieErrorOptions for the options used to construct a DoubleTieError
50
50
  */
51
- export interface DoubleTieError extends H3Error<{
52
- code: ErrorMessageType;
53
- category?: ErrorCategory;
54
- meta?: Record<string, unknown>;
55
- }> {
51
+ export interface DoubleTieError extends ORPCError<string, Record<string, unknown>> {
56
52
  /**
57
53
  * Error code identifying the error type
58
54
  */
@@ -65,6 +61,10 @@ export interface DoubleTieError extends H3Error<{
65
61
  * Additional metadata about the error
66
62
  */
67
63
  readonly meta: Record<string, unknown>;
64
+ /**
65
+ * HTTP status code for the error
66
+ */
67
+ readonly statusCode: number;
68
68
  /**
69
69
  * Creates a new error instance with additional metadata
70
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pkgs/results/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAChB,SAAQ,OAAO,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;IACF;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC;CAClE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK,IAAI,CAC5D,KAAK,EAAE,MAAM,KACT,cAAc,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pkgs/results/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAChB,SAAQ,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC;CAClE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK,IAAI,CAC5D,KAAK,EAAE,MAAM,KACT,cAAc,CAAC"}
@@ -1,7 +1,6 @@
1
- import type { H3Event } from 'h3';
1
+ import type { createLogger } from '@doubletie/logger';
2
2
  import type { DatabaseHook, EntityName } from '../data-model';
3
3
  import type { Adapter } from '../db-adapters/types';
4
- import type { createLogger } from '../logger';
5
4
  import type { createRegistry } from '../../schema/create-registry';
6
5
  import type { getConsentTables } from '../../schema/definition';
7
6
  import type { DoubleTieOptions } from './options';
@@ -11,7 +10,11 @@ import type { DoubleTieOptions } from './options';
11
10
  * This type extends the standard endpoint context with additional properties
12
11
  * specific to DoubleTie hooks, allowing hooks to access the complete DoubleTie context.
13
12
  */
14
- export type HookEndpointContext = H3Event & {
13
+ export type HookEndpointContext = {
14
+ /**
15
+ * The request object
16
+ */
17
+ request: Request;
15
18
  /**
16
19
  * The DoubleTie context with possible hook-specific extensions
17
20
  */
@@ -32,7 +35,11 @@ export type HookEndpointContext = H3Event & {
32
35
  * A simplified context type for endpoint handlers that don't need
33
36
  * access to input-specific context properties.
34
37
  */
35
- export type GenericEndpointContext = H3Event & {
38
+ export type GenericEndpointContext = {
39
+ /**
40
+ * The request object
41
+ */
42
+ request: Request;
36
43
  /**
37
44
  * The DoubleTie application context
38
45
  */
@@ -136,6 +143,10 @@ export interface BaseDoubleTieContext {
136
143
  * User agent of the client
137
144
  */
138
145
  userAgent?: string | null;
146
+ /**
147
+ * Headers of the request
148
+ */
149
+ headers?: Headers;
139
150
  }
140
151
  /**
141
152
  * Complete DoubleTie context type
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG;IAC3C;;OAEG;IACH,OAAO,EAAE,gBAAgB,GAAG;QAC3B;;WAEG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB;;WAEG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG;IAC9C;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAExC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IAEtE;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAE5C;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAC3B,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACrE,oBAAoB,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,gBAAgB,GAAG;QAC3B;;WAEG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB;;WAEG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACpC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAExC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IAEtE;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAE5C;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAC3B,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACrE,oBAAoB,GAAG,cAAc,CAAC"}