@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
@@ -1,56 +0,0 @@
1
- import type { LogLevel } from './types';
2
- /**
3
- * ANSI color codes for terminal output formatting.
4
- *
5
- * @remarks
6
- * Used to add color and styling to log messages in terminal environments.
7
- *
8
- * @internal
9
- */
10
- export declare const colors: {
11
- reset: string;
12
- bright: string;
13
- dim: string;
14
- underscore: string;
15
- blink: string;
16
- reverse: string;
17
- hidden: string;
18
- fg: {
19
- black: string;
20
- red: string;
21
- green: string;
22
- yellow: string;
23
- blue: string;
24
- magenta: string;
25
- cyan: string;
26
- white: string;
27
- };
28
- bg: {
29
- black: string;
30
- red: string;
31
- green: string;
32
- yellow: string;
33
- blue: string;
34
- magenta: string;
35
- cyan: string;
36
- white: string;
37
- };
38
- };
39
- /**
40
- * Mapping of log levels to their corresponding colors.
41
- *
42
- * @internal
43
- */
44
- export declare const levelColors: Record<LogLevel, string>;
45
- /**
46
- * Formats a log message with timestamp, level indicator, and styling.
47
- *
48
- * @param level - The severity level of the message
49
- * @param message - The message content to format
50
- * @param appName - Optional application name to include in the log prefix
51
- * @returns The formatted message string with ANSI color codes
52
- *
53
- * @internal
54
- */
55
- export declare const formatMessage: (level: LogLevel, message: string, appName?: string) => string;
56
- //# sourceMappingURL=console-formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console-formatter.d.ts","sourceRoot":"","sources":["../../../src/pkgs/logger/console-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BlB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAMhD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GACzB,OAAO,QAAQ,EACf,SAAS,MAAM,EACf,gBAAgB,KACd,MAOF,CAAC"}
@@ -1,240 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
9
- };
10
- })();
11
- (()=>{
12
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
- })();
14
- (()=>{
15
- __webpack_require__.r = (exports1)=>{
16
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
- value: 'Module'
18
- });
19
- Object.defineProperty(exports1, '__esModule', {
20
- value: true
21
- });
22
- };
23
- })();
24
- var __webpack_exports__ = {};
25
- __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- logResult: ()=>logResult,
28
- levels: ()=>levels,
29
- logger: ()=>logger_factory_logger,
30
- logError: ()=>logResult,
31
- logErrorAsync: ()=>logResultAsync,
32
- createLogger: ()=>createLogger,
33
- shouldPublishLog: ()=>shouldPublishLog,
34
- logResultAsync: ()=>logResultAsync
35
- });
36
- const levels = [
37
- 'error',
38
- 'warn',
39
- 'info',
40
- 'success',
41
- 'debug'
42
- ];
43
- function shouldPublishLog(currentLogLevel, logLevel) {
44
- const currentLevelIndex = levels.indexOf(currentLogLevel);
45
- const messageLevelIndex = levels.indexOf(logLevel);
46
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
47
- return messageLevelIndex <= currentLevelIndex;
48
- }
49
- const colors = {
50
- reset: '\x1b[0m',
51
- bright: '\x1b[1m',
52
- dim: '\x1b[2m',
53
- underscore: '\x1b[4m',
54
- blink: '\x1b[5m',
55
- reverse: '\x1b[7m',
56
- hidden: '\x1b[8m',
57
- fg: {
58
- black: '\x1b[30m',
59
- red: '\x1b[31m',
60
- green: '\x1b[32m',
61
- yellow: '\x1b[33m',
62
- blue: '\x1b[34m',
63
- magenta: '\x1b[35m',
64
- cyan: '\x1b[36m',
65
- white: '\x1b[37m'
66
- },
67
- bg: {
68
- black: '\x1b[40m',
69
- red: '\x1b[41m',
70
- green: '\x1b[42m',
71
- yellow: '\x1b[43m',
72
- blue: '\x1b[44m',
73
- magenta: '\x1b[45m',
74
- cyan: '\x1b[46m',
75
- white: '\x1b[47m'
76
- }
77
- };
78
- const levelColors = {
79
- info: colors.fg.blue,
80
- success: colors.fg.green,
81
- warn: colors.fg.yellow,
82
- error: colors.fg.red,
83
- debug: colors.fg.magenta
84
- };
85
- const formatMessage = (level, message, appName = 'c15t')=>{
86
- const timestamp = new Date().toISOString();
87
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
88
- };
89
- const api_namespaceObject = require("@opentelemetry/api");
90
- const LOGGER_TRACER_NAME = '@doubletie/logger';
91
- const LOG_LEVEL_TO_SPAN_STATUS = {
92
- error: api_namespaceObject.SpanStatusCode.ERROR,
93
- warn: api_namespaceObject.SpanStatusCode.OK,
94
- info: api_namespaceObject.SpanStatusCode.OK,
95
- success: api_namespaceObject.SpanStatusCode.OK,
96
- debug: api_namespaceObject.SpanStatusCode.OK
97
- };
98
- const getTracer = (options)=>{
99
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
100
- return api_namespaceObject.trace.getTracer(LOGGER_TRACER_NAME);
101
- };
102
- const createLogSpan = (level, message, args = [], options)=>{
103
- if (options?.telemetry?.disabled) return null;
104
- const tracer = getTracer(options);
105
- const span = tracer.startSpan('log_entry', {
106
- attributes: {
107
- 'log.level': level,
108
- 'log.message': message,
109
- 'log.has_args': args.length > 0,
110
- ...options?.telemetry?.defaultAttributes || {}
111
- }
112
- });
113
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
114
- const data = args[0];
115
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
116
- }
117
- span.setStatus({
118
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
119
- message: 'error' === level || 'warn' === level ? message : void 0
120
- });
121
- return span;
122
- };
123
- const withLogSpan = async (level, message, args, operation, options)=>{
124
- const span = createLogSpan(level, message, args, options);
125
- if (!span) return operation();
126
- try {
127
- const result = await operation();
128
- return result;
129
- } catch (error) {
130
- span.setStatus({
131
- code: api_namespaceObject.SpanStatusCode.ERROR,
132
- message: error instanceof Error ? error.message : String(error)
133
- });
134
- throw error;
135
- } finally{
136
- span.end();
137
- }
138
- };
139
- const createLogger = (options)=>{
140
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
141
- const loggerOptions = options;
142
- const enabled = loggerOptions?.disabled !== true;
143
- const logLevel = loggerOptions?.level ?? 'error';
144
- const appName = loggerOptions?.appName ?? 'c15t';
145
- const logFunc = async (level, message, args = [])=>{
146
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
147
- await withLogSpan(level, message, args, async ()=>{
148
- const formattedMessage = formatMessage(level, message, appName);
149
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
150
- if ('error' === level) console.error(formattedMessage, ...args);
151
- else if ('warn' === level) console.warn(formattedMessage, ...args);
152
- else if ('info' === level) console.log(formattedMessage, ...args);
153
- else if ('debug' === level) console.debug(formattedMessage, ...args);
154
- else if ('success' === level) console.log(formattedMessage, ...args);
155
- return;
156
- }
157
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
158
- });
159
- };
160
- return Object.fromEntries(levels.map((level)=>[
161
- level,
162
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
163
- console.error('Logger error:', error);
164
- })
165
- ]));
166
- };
167
- const logger_factory_logger = createLogger();
168
- const logResult = (result, logger, message = 'Error occurred:')=>{
169
- const tracer = getTracer();
170
- const span = tracer.startSpan('log_result');
171
- return result.mapErr((error)=>{
172
- span.setAttributes({
173
- 'error.message': error.message,
174
- 'error.code': error.code,
175
- 'error.status': error.status,
176
- 'error.category': error.category,
177
- 'error.has_meta': !!error.meta
178
- });
179
- span.setStatus({
180
- code: api_namespaceObject.SpanStatusCode.ERROR,
181
- message: error.message
182
- });
183
- logger.error(`${message} ${error.message}`, {
184
- code: error.code,
185
- status: error.status,
186
- meta: error.meta,
187
- category: error.category,
188
- stack: error.stack
189
- });
190
- span.end();
191
- return error;
192
- });
193
- };
194
- const logResultAsync = (resultAsync, logger, message = 'Error occurred:')=>{
195
- const tracer = getTracer();
196
- const span = tracer.startSpan('log_result_async');
197
- return resultAsync.mapErr((error)=>{
198
- span.setAttributes({
199
- 'error.message': error.message,
200
- 'error.code': error.code,
201
- 'error.status': error.status,
202
- 'error.category': error.category,
203
- 'error.has_meta': !!error.meta
204
- });
205
- span.setStatus({
206
- code: api_namespaceObject.SpanStatusCode.ERROR,
207
- message: error.message
208
- });
209
- logger.error(`${message} ${error.message}`, {
210
- code: error.code,
211
- status: error.status,
212
- meta: error.meta,
213
- category: error.category,
214
- stack: error.stack
215
- });
216
- span.end();
217
- return error;
218
- });
219
- };
220
- exports.createLogger = __webpack_exports__.createLogger;
221
- exports.levels = __webpack_exports__.levels;
222
- exports.logError = __webpack_exports__.logError;
223
- exports.logErrorAsync = __webpack_exports__.logErrorAsync;
224
- exports.logResult = __webpack_exports__.logResult;
225
- exports.logResultAsync = __webpack_exports__.logResultAsync;
226
- exports.logger = __webpack_exports__.logger;
227
- exports.shouldPublishLog = __webpack_exports__.shouldPublishLog;
228
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
229
- "createLogger",
230
- "levels",
231
- "logError",
232
- "logErrorAsync",
233
- "logResult",
234
- "logResultAsync",
235
- "logger",
236
- "shouldPublishLog"
237
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
238
- Object.defineProperty(exports, '__esModule', {
239
- value: true
240
- });
@@ -1,35 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * DoubleTie Logger Package
4
- *
5
- * A lightweight, customizable logging utility for Node.js and TypeScript applications.
6
- * It provides structured logging capabilities, error logging utilities for the Result pattern,
7
- * and flexible configuration options.
8
- *
9
- * @remarks
10
- * This package is designed to work standalone or as part of the DoubleTie SDK.
11
- * It includes:
12
- * - Configurable log levels and filters
13
- * - Color-coded console output
14
- * - Error logging for Result/ResultAsync types from neverthrow
15
- * - Custom log handlers
16
- *
17
- * @example
18
- * ```ts
19
- * import { createLogger, logResult } from '@doubletie/logger';
20
- *
21
- * // Create a custom logger
22
- * const logger = createLogger({ level: 'debug', appName: 'c15t' });
23
- *
24
- * // Log messages at different levels
25
- * logger.info('Application started');
26
- * logger.debug('Initializing components', { component: 'database' });
27
- * logger.warn('Configuration missing, using defaults');
28
- * logger.error('Failed to connect', { retry: true });
29
- * ```
30
- */
31
- export type { LogLevel, Logger, LoggerOptions, LogEntry, LoggableError, } from './types';
32
- export { levels, shouldPublishLog, } from './log-levels';
33
- export { createLogger, logger, } from './logger-factory';
34
- export { logResult, logResultAsync, logResult as logError, logResultAsync as logErrorAsync, } from './result-logging';
35
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pkgs/logger/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,YAAY,EACX,QAAQ,EACR,MAAM,EACN,aAAa,EACb,QAAQ,EACR,aAAa,GACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,MAAM,EACN,gBAAgB,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,YAAY,EACZ,MAAM,GACN,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,SAAS,EACT,cAAc,EACd,SAAS,IAAI,QAAQ,EACrB,cAAc,IAAI,aAAa,GAC/B,MAAM,kBAAkB,CAAC"}
@@ -1,185 +0,0 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__ from "@opentelemetry/api";
2
- const levels = [
3
- 'error',
4
- 'warn',
5
- 'info',
6
- 'success',
7
- 'debug'
8
- ];
9
- function shouldPublishLog(currentLogLevel, logLevel) {
10
- const currentLevelIndex = levels.indexOf(currentLogLevel);
11
- const messageLevelIndex = levels.indexOf(logLevel);
12
- if ('debug' === currentLogLevel) return 'debug' === logLevel;
13
- return messageLevelIndex <= currentLevelIndex;
14
- }
15
- const colors = {
16
- reset: '\x1b[0m',
17
- bright: '\x1b[1m',
18
- dim: '\x1b[2m',
19
- underscore: '\x1b[4m',
20
- blink: '\x1b[5m',
21
- reverse: '\x1b[7m',
22
- hidden: '\x1b[8m',
23
- fg: {
24
- black: '\x1b[30m',
25
- red: '\x1b[31m',
26
- green: '\x1b[32m',
27
- yellow: '\x1b[33m',
28
- blue: '\x1b[34m',
29
- magenta: '\x1b[35m',
30
- cyan: '\x1b[36m',
31
- white: '\x1b[37m'
32
- },
33
- bg: {
34
- black: '\x1b[40m',
35
- red: '\x1b[41m',
36
- green: '\x1b[42m',
37
- yellow: '\x1b[43m',
38
- blue: '\x1b[44m',
39
- magenta: '\x1b[45m',
40
- cyan: '\x1b[46m',
41
- white: '\x1b[47m'
42
- }
43
- };
44
- const levelColors = {
45
- info: colors.fg.blue,
46
- success: colors.fg.green,
47
- warn: colors.fg.yellow,
48
- error: colors.fg.red,
49
- debug: colors.fg.magenta
50
- };
51
- const formatMessage = (level, message, appName = 'c15t')=>{
52
- const timestamp = new Date().toISOString();
53
- return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${appName}]:${colors.reset} ${message}`;
54
- };
55
- const LOGGER_TRACER_NAME = '@doubletie/logger';
56
- const LOG_LEVEL_TO_SPAN_STATUS = {
57
- error: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
58
- warn: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
59
- info: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
60
- success: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK,
61
- debug: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.OK
62
- };
63
- const getTracer = (options)=>{
64
- if (options?.telemetry?.tracer) return options.telemetry.tracer;
65
- return __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.trace.getTracer(LOGGER_TRACER_NAME);
66
- };
67
- const createLogSpan = (level, message, args = [], options)=>{
68
- if (options?.telemetry?.disabled) return null;
69
- const tracer = getTracer(options);
70
- const span = tracer.startSpan('log_entry', {
71
- attributes: {
72
- 'log.level': level,
73
- 'log.message': message,
74
- 'log.has_args': args.length > 0,
75
- ...options?.telemetry?.defaultAttributes || {}
76
- }
77
- });
78
- if (args.length > 0 && 'object' == typeof args[0] && null !== args[0]) {
79
- const data = args[0];
80
- for (const [key, value] of Object.entries(data))if (null != value) span.setAttribute(`log.data.${key}`, String(value));
81
- }
82
- span.setStatus({
83
- code: LOG_LEVEL_TO_SPAN_STATUS[level],
84
- message: 'error' === level || 'warn' === level ? message : void 0
85
- });
86
- return span;
87
- };
88
- const withLogSpan = async (level, message, args, operation, options)=>{
89
- const span = createLogSpan(level, message, args, options);
90
- if (!span) return operation();
91
- try {
92
- const result = await operation();
93
- return result;
94
- } catch (error) {
95
- span.setStatus({
96
- code: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
97
- message: error instanceof Error ? error.message : String(error)
98
- });
99
- throw error;
100
- } finally{
101
- span.end();
102
- }
103
- };
104
- const createLogger = (options)=>{
105
- if (options && 'object' == typeof options && levels.every((level)=>'function' == typeof options[level])) return options;
106
- const loggerOptions = options;
107
- const enabled = loggerOptions?.disabled !== true;
108
- const logLevel = loggerOptions?.level ?? 'error';
109
- const appName = loggerOptions?.appName ?? 'c15t';
110
- const logFunc = async (level, message, args = [])=>{
111
- if (!enabled || !shouldPublishLog(logLevel, level)) return;
112
- await withLogSpan(level, message, args, async ()=>{
113
- const formattedMessage = formatMessage(level, message, appName);
114
- if (!loggerOptions || 'function' != typeof loggerOptions.log) {
115
- if ('error' === level) console.error(formattedMessage, ...args);
116
- else if ('warn' === level) console.warn(formattedMessage, ...args);
117
- else if ('info' === level) console.log(formattedMessage, ...args);
118
- else if ('debug' === level) console.debug(formattedMessage, ...args);
119
- else if ('success' === level) console.log(formattedMessage, ...args);
120
- return;
121
- }
122
- loggerOptions.log('success' === level ? 'info' : level, message, ...args);
123
- });
124
- };
125
- return Object.fromEntries(levels.map((level)=>[
126
- level,
127
- (...[message, ...args])=>logFunc(level, message, args).catch((error)=>{
128
- console.error('Logger error:', error);
129
- })
130
- ]));
131
- };
132
- const logger_factory_logger = createLogger();
133
- const logResult = (result, logger, message = 'Error occurred:')=>{
134
- const tracer = getTracer();
135
- const span = tracer.startSpan('log_result');
136
- return result.mapErr((error)=>{
137
- span.setAttributes({
138
- 'error.message': error.message,
139
- 'error.code': error.code,
140
- 'error.status': error.status,
141
- 'error.category': error.category,
142
- 'error.has_meta': !!error.meta
143
- });
144
- span.setStatus({
145
- code: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
146
- message: error.message
147
- });
148
- logger.error(`${message} ${error.message}`, {
149
- code: error.code,
150
- status: error.status,
151
- meta: error.meta,
152
- category: error.category,
153
- stack: error.stack
154
- });
155
- span.end();
156
- return error;
157
- });
158
- };
159
- const logResultAsync = (resultAsync, logger, message = 'Error occurred:')=>{
160
- const tracer = getTracer();
161
- const span = tracer.startSpan('log_result_async');
162
- return resultAsync.mapErr((error)=>{
163
- span.setAttributes({
164
- 'error.message': error.message,
165
- 'error.code': error.code,
166
- 'error.status': error.status,
167
- 'error.category': error.category,
168
- 'error.has_meta': !!error.meta
169
- });
170
- span.setStatus({
171
- code: __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__.SpanStatusCode.ERROR,
172
- message: error.message
173
- });
174
- logger.error(`${message} ${error.message}`, {
175
- code: error.code,
176
- status: error.status,
177
- meta: error.meta,
178
- category: error.category,
179
- stack: error.stack
180
- });
181
- span.end();
182
- return error;
183
- });
184
- };
185
- export { createLogger, levels, logResult as logError, logResultAsync as logErrorAsync, logResult, logResultAsync, logger_factory_logger as logger, shouldPublishLog };
@@ -1,29 +0,0 @@
1
- import type { LogLevel } from './types';
2
- /**
3
- * Array of all available log levels in order of importance.
4
- *
5
- * @remarks
6
- * This const array ensures type safety when working with log levels
7
- * and provides a reference for level comparisons.
8
- *
9
- * @public
10
- */
11
- export declare const levels: readonly ["error", "warn", "info", "success", "debug"];
12
- /**
13
- * Determines if a log message should be published based on configured log level.
14
- *
15
- * @param currentLogLevel - The configured log level threshold for the logger
16
- * @param logLevel - The level of the message being evaluated
17
- * @returns Boolean indicating whether the message should be published
18
- *
19
- * @example
20
- * ```ts
21
- * // Only publish if error level is at or above the current log level
22
- * if (shouldPublishLog('warn', 'error')) {
23
- * // This will return true as error is more severe than warn
24
- * }
25
- * ```
26
- * @public
27
- */
28
- export declare function shouldPublishLog(currentLogLevel: LogLevel, logLevel: LogLevel): boolean;
29
- //# sourceMappingURL=log-levels.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log-levels.d.ts","sourceRoot":"","sources":["../../../src/pkgs/logger/log-levels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,wDAAyD,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC/B,eAAe,EAAE,QAAQ,EACzB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAaT"}
@@ -1,42 +0,0 @@
1
- import type { Logger, LoggerOptions } from './types';
2
- /**
3
- * Creates a configured logger instance with methods for each log level.
4
- *
5
- * @param options - Configuration options for the logger or an existing logger instance
6
- * @returns An object with methods for each log level
7
- *
8
- * @example
9
- * ```ts
10
- * // Create a logger that only shows warnings and errors
11
- * const logger = createLogger({ level: 'warn', appName: 'c15t' });
12
- *
13
- * // These will be output
14
- * logger.error('This is an error');
15
- * logger.warn('This is a warning');
16
- *
17
- * // These will be suppressed
18
- * logger.info('This info won\'t be shown');
19
- * logger.debug('This debug message won\'t be shown');
20
- * ```
21
- *
22
- * @public
23
- */
24
- export declare const createLogger: (options?: LoggerOptions | Logger) => Logger;
25
- /**
26
- * Default logger instance with standard configuration.
27
- *
28
- * @remarks
29
- * Ready-to-use logger with default settings (logs errors only).
30
- *
31
- * @example
32
- * ```ts
33
- * import { logger } from '@doubletie/logger';
34
- *
35
- * logger.error('Something went wrong');
36
- * logger.info('This won\'t be shown with default settings');
37
- * ```
38
- *
39
- * @public
40
- */
41
- export declare const logger: Logger;
42
- //# sourceMappingURL=logger-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-factory.d.ts","sourceRoot":"","sources":["../../../src/pkgs/logger/logger-factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAsB,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,aAAa,GAAG,MAAM,KAAG,MA2E/D,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,MAAM,QAAiB,CAAC"}
@@ -1,71 +0,0 @@
1
- import type { Result, ResultAsync } from 'neverthrow';
2
- import type { LoggableError } from './types';
3
- /**
4
- * Logs any errors in a Result without changing the Result.
5
- *
6
- * @remarks
7
- * This utility function allows logging errors from a Result type without
8
- * affecting the Result's flow. It uses the mapErr function to extract
9
- * and log the error if present, then returns the original Result.
10
- *
11
- * @typeParam ValueType - The type of the successful value in the Result
12
- * @typeParam ErrorType - The type of the error in the Result, must extend LoggableError
13
- *
14
- * @param result - The Result that may contain an error
15
- * @param logger - Logger instance with an error method
16
- * @param message - Optional message prefix for the error
17
- * @returns The original Result unchanged
18
- *
19
- * @example
20
- * ```ts
21
- * import { logResult } from '@doubletie/logger';
22
- * import { createLogger } from '@doubletie/logger';
23
- * import { ok, err } from 'neverthrow';
24
- *
25
- * const logger = createLogger();
26
- * const result = err({ message: 'Failed operation', code: 'OP_FAILED' });
27
- *
28
- * // Log the error but continue processing the Result
29
- * const processedResult = logResult(result, logger);
30
- * ```
31
- *
32
- * @public
33
- */
34
- export declare const logResult: <ValueType, ErrorType extends LoggableError>(result: Result<ValueType, ErrorType>, logger: {
35
- error: (message: string, ...args: unknown[]) => void;
36
- }, message?: string) => Result<ValueType, ErrorType>;
37
- /**
38
- * Logs any errors in a ResultAsync without changing the ResultAsync.
39
- *
40
- * @remarks
41
- * This utility function allows logging errors from a ResultAsync type without
42
- * affecting the ResultAsync's flow. It uses the mapErr function to extract
43
- * and log the error if present, then returns the original ResultAsync.
44
- *
45
- * @typeParam ValueType - The type of the successful value in the ResultAsync
46
- * @typeParam ErrorType - The type of the error in the ResultAsync, must extend LoggableError
47
- *
48
- * @param resultAsync - The ResultAsync that may contain an error
49
- * @param logger - Logger instance with an error method
50
- * @param message - Optional message prefix for the error
51
- * @returns The original ResultAsync unchanged
52
- *
53
- * @example
54
- * ```ts
55
- * import { logResultAsync } from '@doubletie/logger';
56
- * import { createLogger } from '@doubletie/logger';
57
- * import { okAsync, errAsync } from 'neverthrow';
58
- *
59
- * const logger = createLogger();
60
- * const resultAsync = errAsync({ message: 'Failed async operation', code: 'ASYNC_FAILED' });
61
- *
62
- * // Log the error but continue processing the ResultAsync
63
- * const processedResultAsync = logResultAsync(resultAsync, logger);
64
- * ```
65
- *
66
- * @public
67
- */
68
- export declare const logResultAsync: <ValueType, ErrorType extends LoggableError>(resultAsync: ResultAsync<ValueType, ErrorType>, logger: {
69
- error: (message: string, ...args: unknown[]) => void;
70
- }, message?: string) => ResultAsync<ValueType, ErrorType>;
71
- //# sourceMappingURL=result-logging.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result-logging.d.ts","sourceRoot":"","sources":["../../../src/pkgs/logger/result-logging.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,EAAE,SAAS,SAAS,aAAa,EACnE,QAAQ,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EACpC,QAAQ;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,EAChE,gBAA2B,KACzB,MAAM,CAAC,SAAS,EAAE,SAAS,CA4B7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,EAAE,SAAS,SAAS,aAAa,EACxE,aAAa,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAC9C,QAAQ;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,EAChE,gBAA2B,KACzB,WAAW,CAAC,SAAS,EAAE,SAAS,CA4BlC,CAAC"}