glasswork 0.13.3 → 1.0.1

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 (229) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +6 -2
  3. package/dist/auth/abilities.d.ts +9 -6
  4. package/dist/auth/abilities.d.ts.map +1 -1
  5. package/dist/auth/abilities.js +15 -19
  6. package/dist/auth/abilities.js.map +1 -1
  7. package/dist/auth/assert.d.ts +3 -3
  8. package/dist/auth/assert.d.ts.map +1 -1
  9. package/dist/auth/casl-bridge.d.ts +19 -0
  10. package/dist/auth/casl-bridge.d.ts.map +1 -0
  11. package/dist/auth/casl-bridge.js +29 -0
  12. package/dist/auth/casl-bridge.js.map +1 -0
  13. package/dist/auth/index.d.ts +1 -0
  14. package/dist/auth/index.d.ts.map +1 -1
  15. package/dist/auth/index.js +1 -0
  16. package/dist/auth/index.js.map +1 -1
  17. package/dist/auth/middleware.d.ts +3 -3
  18. package/dist/auth/middleware.d.ts.map +1 -1
  19. package/dist/auth/middleware.js +2 -2
  20. package/dist/auth/middleware.js.map +1 -1
  21. package/dist/auth/types.d.ts +2 -2
  22. package/dist/auth/types.d.ts.map +1 -1
  23. package/dist/config/index.d.ts +1 -1
  24. package/dist/config/index.js +1 -1
  25. package/dist/core/bootstrap.d.ts +0 -17
  26. package/dist/core/bootstrap.d.ts.map +1 -1
  27. package/dist/core/bootstrap.js +4 -240
  28. package/dist/core/bootstrap.js.map +1 -1
  29. package/dist/core/index.d.ts +19 -0
  30. package/dist/core/index.d.ts.map +1 -0
  31. package/dist/core/index.js +15 -0
  32. package/dist/core/index.js.map +1 -0
  33. package/dist/core/lifecycle.d.ts +7 -0
  34. package/dist/core/lifecycle.d.ts.map +1 -0
  35. package/dist/core/lifecycle.js +28 -0
  36. package/dist/core/lifecycle.js.map +1 -0
  37. package/dist/core/module-graph.d.ts +21 -0
  38. package/dist/core/module-graph.d.ts.map +1 -0
  39. package/dist/core/module-graph.js +169 -0
  40. package/dist/core/module-graph.js.map +1 -0
  41. package/dist/core/route-factory.d.ts +20 -0
  42. package/dist/core/route-factory.d.ts.map +1 -0
  43. package/dist/core/route-factory.js +2 -0
  44. package/dist/core/route-factory.js.map +1 -0
  45. package/dist/core/types.d.ts +4 -14
  46. package/dist/core/types.d.ts.map +1 -1
  47. package/dist/email/compiler/compile-templates.d.ts +3 -8
  48. package/dist/email/compiler/compile-templates.d.ts.map +1 -1
  49. package/dist/email/compiler/compile-templates.js +3 -3
  50. package/dist/email/compiler/compile-templates.js.map +1 -1
  51. package/dist/email/compiler/compiler.d.ts +5 -2
  52. package/dist/email/compiler/compiler.d.ts.map +1 -1
  53. package/dist/email/compiler/compiler.js +2 -21
  54. package/dist/email/compiler/compiler.js.map +1 -1
  55. package/dist/email/transports/ses-transport.d.ts.map +1 -1
  56. package/dist/email/transports/ses-transport.js +11 -18
  57. package/dist/email/transports/ses-transport.js.map +1 -1
  58. package/dist/email/webhooks/handler-factory.d.ts +1 -1
  59. package/dist/email/webhooks/handler-factory.js +1 -1
  60. package/dist/email/webhooks/notification-parser.d.ts +1 -1
  61. package/dist/email/webhooks/notification-parser.js +1 -1
  62. package/dist/email/webhooks/signature-verification.d.ts +1 -1
  63. package/dist/email/webhooks/signature-verification.js +1 -1
  64. package/dist/email/webhooks/subscription-handler.d.ts +1 -1
  65. package/dist/email/webhooks/subscription-handler.js +1 -1
  66. package/dist/hono-context.d.ts +13 -0
  67. package/dist/hono-context.d.ts.map +1 -0
  68. package/dist/hono-context.js +2 -0
  69. package/dist/hono-context.js.map +1 -0
  70. package/dist/http/index.d.ts +18 -0
  71. package/dist/http/index.d.ts.map +1 -0
  72. package/dist/http/index.js +15 -0
  73. package/dist/http/index.js.map +1 -0
  74. package/dist/http/route-authorization.d.ts +9 -0
  75. package/dist/http/route-authorization.d.ts.map +1 -0
  76. package/dist/http/route-authorization.js +19 -0
  77. package/dist/http/route-authorization.js.map +1 -0
  78. package/dist/http/route-context.d.ts +8 -0
  79. package/dist/http/route-context.d.ts.map +1 -0
  80. package/dist/http/route-context.js +26 -0
  81. package/dist/http/route-context.js.map +1 -0
  82. package/dist/http/route-helpers.d.ts +6 -419
  83. package/dist/http/route-helpers.d.ts.map +1 -1
  84. package/dist/http/route-helpers.js +7 -462
  85. package/dist/http/route-helpers.js.map +1 -1
  86. package/dist/http/route-openapi-context.d.ts +27 -0
  87. package/dist/http/route-openapi-context.d.ts.map +1 -0
  88. package/dist/http/route-openapi-context.js +16 -0
  89. package/dist/http/route-openapi-context.js.map +1 -0
  90. package/dist/http/route-openapi.d.ts +5 -0
  91. package/dist/http/route-openapi.d.ts.map +1 -0
  92. package/dist/http/route-openapi.js +112 -0
  93. package/dist/http/route-openapi.js.map +1 -0
  94. package/dist/http/route-response.d.ts +5 -0
  95. package/dist/http/route-response.d.ts.map +1 -0
  96. package/dist/http/route-response.js +78 -0
  97. package/dist/http/route-response.js.map +1 -0
  98. package/dist/http/route-types.d.ts +93 -0
  99. package/dist/http/route-types.d.ts.map +1 -0
  100. package/dist/http/route-types.js +22 -0
  101. package/dist/http/route-types.js.map +1 -0
  102. package/dist/http/route-validation.d.ts +11 -0
  103. package/dist/http/route-validation.d.ts.map +1 -0
  104. package/dist/http/route-validation.js +24 -0
  105. package/dist/http/route-validation.js.map +1 -0
  106. package/dist/index.d.ts +7 -45
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +5 -65
  109. package/dist/index.js.map +1 -1
  110. package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts.map +1 -1
  111. package/dist/jobs/drivers/eventbridge-scheduler-driver.js +1 -3
  112. package/dist/jobs/drivers/eventbridge-scheduler-driver.js.map +1 -1
  113. package/dist/jobs/drivers/sqs-driver.d.ts +1 -1
  114. package/dist/jobs/drivers/sqs-driver.d.ts.map +1 -1
  115. package/dist/jobs/drivers/sqs-driver.js +1 -3
  116. package/dist/jobs/drivers/sqs-driver.js.map +1 -1
  117. package/dist/jobs/worker.d.ts.map +1 -1
  118. package/dist/jobs/worker.js +3 -14
  119. package/dist/jobs/worker.js.map +1 -1
  120. package/dist/list-query/builder.d.ts +26 -5
  121. package/dist/list-query/builder.d.ts.map +1 -1
  122. package/dist/list-query/builder.js +18 -10
  123. package/dist/list-query/builder.js.map +1 -1
  124. package/dist/list-query/casl.d.ts +20 -4
  125. package/dist/list-query/casl.d.ts.map +1 -1
  126. package/dist/list-query/casl.js +3 -12
  127. package/dist/list-query/casl.js.map +1 -1
  128. package/dist/list-query/filter-value-schemas.d.ts +16 -0
  129. package/dist/list-query/filter-value-schemas.d.ts.map +1 -0
  130. package/dist/list-query/filter-value-schemas.js +46 -0
  131. package/dist/list-query/filter-value-schemas.js.map +1 -0
  132. package/dist/list-query/index.d.ts +7 -1
  133. package/dist/list-query/index.d.ts.map +1 -1
  134. package/dist/list-query/index.js +6 -2
  135. package/dist/list-query/index.js.map +1 -1
  136. package/dist/list-query/list-params.d.ts +17 -0
  137. package/dist/list-query/list-params.d.ts.map +1 -0
  138. package/dist/list-query/list-params.js +2 -0
  139. package/dist/list-query/list-params.js.map +1 -0
  140. package/dist/list-query/parse-filter-values.d.ts +21 -0
  141. package/dist/list-query/parse-filter-values.d.ts.map +1 -0
  142. package/dist/list-query/parse-filter-values.js +177 -0
  143. package/dist/list-query/parse-filter-values.js.map +1 -0
  144. package/dist/list-query/prisma-builder.d.ts.map +1 -1
  145. package/dist/list-query/prisma-builder.js +3 -50
  146. package/dist/list-query/prisma-builder.js.map +1 -1
  147. package/dist/list-query/prisma-executor.d.ts +63 -0
  148. package/dist/list-query/prisma-executor.d.ts.map +1 -0
  149. package/dist/list-query/prisma-executor.js +88 -0
  150. package/dist/list-query/prisma-executor.js.map +1 -0
  151. package/dist/list-query/schema-helpers.d.ts +37 -17
  152. package/dist/list-query/schema-helpers.d.ts.map +1 -1
  153. package/dist/list-query/schema-helpers.js +87 -24
  154. package/dist/list-query/schema-helpers.js.map +1 -1
  155. package/dist/list-query/sort-field-types.d.ts +21 -0
  156. package/dist/list-query/sort-field-types.d.ts.map +1 -0
  157. package/dist/list-query/sort-field-types.js +2 -0
  158. package/dist/list-query/sort-field-types.js.map +1 -0
  159. package/dist/list-query/unrestricted-schemas.d.ts +13 -0
  160. package/dist/list-query/unrestricted-schemas.d.ts.map +1 -0
  161. package/dist/list-query/unrestricted-schemas.js +9 -0
  162. package/dist/list-query/unrestricted-schemas.js.map +1 -0
  163. package/dist/list-query/validator.d.ts +2 -2
  164. package/dist/list-query/validator.d.ts.map +1 -1
  165. package/dist/observability/exception-tracking.d.ts +5 -4
  166. package/dist/observability/exception-tracking.d.ts.map +1 -1
  167. package/dist/observability/exception-tracking.js +4 -3
  168. package/dist/observability/exception-tracking.js.map +1 -1
  169. package/dist/observability/index.d.ts +8 -0
  170. package/dist/observability/index.d.ts.map +1 -0
  171. package/dist/observability/index.js +8 -0
  172. package/dist/observability/index.js.map +1 -0
  173. package/dist/observability/pino-logger.d.ts +3 -3
  174. package/dist/observability/pino-logger.js +3 -3
  175. package/dist/observability/request-context.d.ts +4 -4
  176. package/dist/observability/request-context.js +4 -4
  177. package/package.json +93 -53
  178. package/dist/authorization/ability-middleware.d.ts +0 -61
  179. package/dist/authorization/ability-middleware.d.ts.map +0 -1
  180. package/dist/authorization/ability-middleware.js +0 -74
  181. package/dist/authorization/ability-middleware.js.map +0 -1
  182. package/dist/authorization/index.d.ts +0 -46
  183. package/dist/authorization/index.d.ts.map +0 -1
  184. package/dist/authorization/index.js +0 -46
  185. package/dist/authorization/index.js.map +0 -1
  186. package/dist/authorization/route-helpers.d.ts +0 -106
  187. package/dist/authorization/route-helpers.d.ts.map +0 -1
  188. package/dist/authorization/route-helpers.js +0 -136
  189. package/dist/authorization/route-helpers.js.map +0 -1
  190. package/dist/authorization/service-proxy.d.ts +0 -59
  191. package/dist/authorization/service-proxy.d.ts.map +0 -1
  192. package/dist/authorization/service-proxy.js +0 -110
  193. package/dist/authorization/service-proxy.js.map +0 -1
  194. package/dist/authorization/types.d.ts +0 -58
  195. package/dist/authorization/types.d.ts.map +0 -1
  196. package/dist/authorization/types.js +0 -7
  197. package/dist/authorization/types.js.map +0 -1
  198. package/dist/hooks/authorization-hook.d.ts +0 -100
  199. package/dist/hooks/authorization-hook.d.ts.map +0 -1
  200. package/dist/hooks/authorization-hook.js +0 -93
  201. package/dist/hooks/authorization-hook.js.map +0 -1
  202. package/dist/hooks/index.d.ts +0 -54
  203. package/dist/hooks/index.d.ts.map +0 -1
  204. package/dist/hooks/index.js +0 -55
  205. package/dist/hooks/index.js.map +0 -1
  206. package/dist/hooks/service-hooks.d.ts +0 -82
  207. package/dist/hooks/service-hooks.d.ts.map +0 -1
  208. package/dist/hooks/service-hooks.js +0 -158
  209. package/dist/hooks/service-hooks.js.map +0 -1
  210. package/dist/hooks/types.d.ts +0 -151
  211. package/dist/hooks/types.d.ts.map +0 -1
  212. package/dist/hooks/types.js +0 -2
  213. package/dist/hooks/types.js.map +0 -1
  214. package/dist/openapi/hooks.d.ts +0 -14
  215. package/dist/openapi/hooks.d.ts.map +0 -1
  216. package/dist/openapi/hooks.js +0 -83
  217. package/dist/openapi/hooks.js.map +0 -1
  218. package/dist/openapi/openapi-transformer.d.ts +0 -13
  219. package/dist/openapi/openapi-transformer.d.ts.map +0 -1
  220. package/dist/openapi/openapi-transformer.js +0 -87
  221. package/dist/openapi/openapi-transformer.js.map +0 -1
  222. package/dist/utils/pagination.d.ts +0 -48
  223. package/dist/utils/pagination.d.ts.map +0 -1
  224. package/dist/utils/pagination.js +0 -42
  225. package/dist/utils/pagination.js.map +0 -1
  226. package/dist/utils/serialize-dates.d.ts +0 -27
  227. package/dist/utils/serialize-dates.d.ts.map +0 -1
  228. package/dist/utils/serialize-dates.js +0 -39
  229. package/dist/utils/serialize-dates.js.map +0 -1
@@ -1,4 +1,8 @@
1
1
  import { type BaseIssue, type BaseSchema, type OptionalSchema } from 'valibot';
2
+ import type { SortFieldsToOrderBy } from './sort-field-types.js';
3
+ /** Marks typed filter schemas for schema-aware value parsing in list-query builder. */
4
+ export declare const FILTER_SCHEMA_KIND: unique symbol;
5
+ export type TypedFilterSchemaKind = 'date' | 'int' | 'number' | 'boolean';
2
6
  /**
3
7
  * Schema for Prisma sort direction
4
8
  */
@@ -24,32 +28,45 @@ export declare const stringFilterSchema: () => import("valibot").ObjectSchema<{
24
28
  * Supports numeric comparison operations
25
29
  */
26
30
  export declare const numberFilterSchema: () => import("valibot").ObjectSchema<{
27
- readonly equals: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
28
- readonly not: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
29
- readonly lt: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
30
- readonly lte: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
31
- readonly gt: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
32
- readonly gte: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
31
+ readonly equals: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
32
+ readonly not: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
33
+ readonly lt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
34
+ readonly lte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
35
+ readonly gt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
36
+ readonly gte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, import("valibot").TransformAction<string | number | boolean, string | number | boolean>]>, undefined>;
37
+ }, undefined>;
38
+ /**
39
+ * Schema for Prisma IntFilter operations (numeric fields stored as integers).
40
+ */
41
+ export declare const intFilterSchema: () => import("valibot").ObjectSchema<{
42
+ readonly equals: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
43
+ readonly not: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
44
+ readonly lt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
45
+ readonly lte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
46
+ readonly gt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
47
+ readonly gte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>;
48
+ readonly in: OptionalSchema<import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>, undefined>;
49
+ readonly notIn: OptionalSchema<import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, import("valibot").TransformAction<string | number, number>]>, undefined>, undefined>;
33
50
  }, undefined>;
34
51
  /**
35
52
  * Schema for Prisma DateTimeFilter operations
36
53
  * Supports date comparison operations
37
54
  */
38
55
  export declare const dateFilterSchema: () => import("valibot").ObjectSchema<{
39
- readonly equals: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
40
- readonly not: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
41
- readonly lt: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
42
- readonly lte: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
43
- readonly gt: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
44
- readonly gte: OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
56
+ readonly equals: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
57
+ readonly not: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
58
+ readonly lt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
59
+ readonly lte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
60
+ readonly gt: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
61
+ readonly gte: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").DateSchema<undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").IsoDateAction<string, undefined>]>], undefined>, import("valibot").TransformAction<string | Date, Date>]>, undefined>;
45
62
  }, undefined>;
46
63
  /**
47
64
  * Schema for Prisma BoolFilter operations
48
65
  * Only supports equals and not operations
49
66
  */
50
67
  export declare const booleanFilterSchema: () => import("valibot").ObjectSchema<{
51
- readonly equals: OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
52
- readonly not: OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
68
+ readonly equals: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").PicklistSchema<["true", "false"], undefined>], undefined>, import("valibot").TransformAction<boolean | "true" | "false", boolean>]>, undefined>;
69
+ readonly not: OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").PicklistSchema<["true", "false"], undefined>], undefined>, import("valibot").TransformAction<boolean | "true" | "false", boolean>]>, undefined>;
53
70
  }, undefined>;
54
71
  /**
55
72
  * Schema for Prisma EnumFilter operations
@@ -70,14 +87,17 @@ export declare function relationFilterSchema<T extends BaseSchema<unknown, unkno
70
87
  readonly is: OptionalSchema<T, undefined>;
71
88
  readonly isNot: OptionalSchema<T, undefined>;
72
89
  }, undefined>;
90
+ type SortDirectionSchema = ReturnType<typeof sortDirectionSchema>;
73
91
  /**
74
- * Helper to create a sort schema for a model
75
- * Pass an object with field names as keys and sortDirectionSchema() as values
92
+ * Helper to create a sort schema for a model.
93
+ * Pass field names as keys and sortDirectionSchema() as values.
94
+ * Use dot notation for nested relation sorts (e.g. `'organization.name'`).
76
95
  */
77
- export declare function createSortSchema<T extends Record<string, ReturnType<typeof sortDirectionSchema>>>(fields: T): import("valibot").ObjectSchema<{ [K in keyof T]: OptionalSchema<T[K], undefined>; }, undefined>;
96
+ export declare function createSortSchema<T extends Record<string, SortDirectionSchema>>(fields: T): BaseSchema<SortFieldsToOrderBy<T>, SortFieldsToOrderBy<T>, BaseIssue<unknown>>;
78
97
  /**
79
98
  * Helper to create a filter schema for a model
80
99
  * Pass an object with field names as keys and filter schemas as values
81
100
  */
82
101
  export declare function createFilterSchema<T extends Record<string, BaseSchema<unknown, unknown, BaseIssue<unknown>>>>(fields: T): import("valibot").ObjectSchema<{ [K in keyof T]: OptionalSchema<T[K], undefined>; }, undefined>;
102
+ export {};
83
103
  //# sourceMappingURL=schema-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-helpers.d.ts","sourceRoot":"","sources":["../../src/list-query/schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,UAAU,EAEf,KAAK,cAAc,EAMpB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,mBAAmB,oEAAkC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;aAU3B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;aAQ3B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;aAQzB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;aAI5B,CAAC;AAEL;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC7F,UAAU,EAAE,KAAK;;;;;cAQlB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC7F,YAAY,EAAE,CAAC;;;cAMhB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,EAC/F,MAAM,EAAE,CAAC,qCAIJ,CAAC,6DAGP;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAC1E,MAAM,EAAE,CAAC,qCAGJ,CAAC,6DAGP"}
1
+ {"version":3,"file":"schema-helpers.d.ts","sourceRoot":"","sources":["../../src/list-query/schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EAMpB,MAAM,SAAS,CAAC;AAOjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,eAAsD,CAAC;AAEtF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAU1E;;GAEG;AACH,eAAO,MAAM,mBAAmB,oEAAkC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;aAU3B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;aAW5B,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;aAazB,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;aAW1B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;aAO7B,CAAC;AAEJ;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC7F,UAAU,EAAE,KAAK;;;;;cAQlB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC7F,YAAY,EAAE,CAAC;;;cAMhB;AAED,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAuDlE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC5E,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAUhF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAC1E,MAAM,EAAE,CAAC,qCAGJ,CAAC,6DAGP"}
@@ -1,4 +1,14 @@
1
- import { array, literal, object, optional, picklist, string, union, } from 'valibot';
1
+ import { array, object, optional, picklist, string, union, } from 'valibot';
2
+ import { booleanFilterValueSchema, dateFilterValueSchema, intFilterValueSchema, numberFilterValueSchema, } from './filter-value-schemas.js';
3
+ /** Marks typed filter schemas for schema-aware value parsing in list-query builder. */
4
+ export const FILTER_SCHEMA_KIND = Symbol.for('glasswork.list-query.filterSchemaKind');
5
+ function markTypedFilterSchema(schema, kind) {
6
+ Object.defineProperty(schema, FILTER_SCHEMA_KIND, {
7
+ value: kind,
8
+ enumerable: false,
9
+ });
10
+ return schema;
11
+ }
2
12
  /**
3
13
  * Schema for Prisma sort direction
4
14
  */
@@ -21,34 +31,47 @@ export const stringFilterSchema = () => object({
21
31
  * Schema for Prisma IntFilter or FloatFilter operations
22
32
  * Supports numeric comparison operations
23
33
  */
24
- export const numberFilterSchema = () => object({
25
- equals: optional(union([string(), literal(true), literal(false)])),
26
- not: optional(union([string(), literal(true), literal(false)])),
27
- lt: optional(union([string(), literal(true), literal(false)])),
28
- lte: optional(union([string(), literal(true), literal(false)])),
29
- gt: optional(union([string(), literal(true), literal(false)])),
30
- gte: optional(union([string(), literal(true), literal(false)])),
31
- });
34
+ export const numberFilterSchema = () => markTypedFilterSchema(object({
35
+ equals: optional(numberFilterValueSchema()),
36
+ not: optional(numberFilterValueSchema()),
37
+ lt: optional(numberFilterValueSchema()),
38
+ lte: optional(numberFilterValueSchema()),
39
+ gt: optional(numberFilterValueSchema()),
40
+ gte: optional(numberFilterValueSchema()),
41
+ }), 'number');
42
+ /**
43
+ * Schema for Prisma IntFilter operations (numeric fields stored as integers).
44
+ */
45
+ export const intFilterSchema = () => markTypedFilterSchema(object({
46
+ equals: optional(intFilterValueSchema()),
47
+ not: optional(intFilterValueSchema()),
48
+ lt: optional(intFilterValueSchema()),
49
+ lte: optional(intFilterValueSchema()),
50
+ gt: optional(intFilterValueSchema()),
51
+ gte: optional(intFilterValueSchema()),
52
+ in: optional(array(intFilterValueSchema())),
53
+ notIn: optional(array(intFilterValueSchema())),
54
+ }), 'int');
32
55
  /**
33
56
  * Schema for Prisma DateTimeFilter operations
34
57
  * Supports date comparison operations
35
58
  */
36
- export const dateFilterSchema = () => object({
37
- equals: optional(string()),
38
- not: optional(string()),
39
- lt: optional(string()),
40
- lte: optional(string()),
41
- gt: optional(string()),
42
- gte: optional(string()),
43
- });
59
+ export const dateFilterSchema = () => markTypedFilterSchema(object({
60
+ equals: optional(dateFilterValueSchema()),
61
+ not: optional(dateFilterValueSchema()),
62
+ lt: optional(dateFilterValueSchema()),
63
+ lte: optional(dateFilterValueSchema()),
64
+ gt: optional(dateFilterValueSchema()),
65
+ gte: optional(dateFilterValueSchema()),
66
+ }), 'date');
44
67
  /**
45
68
  * Schema for Prisma BoolFilter operations
46
69
  * Only supports equals and not operations
47
70
  */
48
- export const booleanFilterSchema = () => object({
49
- equals: optional(union([literal(true), literal(false)])),
50
- not: optional(union([literal(true), literal(false)])),
51
- });
71
+ export const booleanFilterSchema = () => markTypedFilterSchema(object({
72
+ equals: optional(booleanFilterValueSchema()),
73
+ not: optional(booleanFilterValueSchema()),
74
+ }), 'boolean');
52
75
  /**
53
76
  * Schema for Prisma EnumFilter operations
54
77
  * Supports equals and not operations with specific enum values
@@ -72,12 +95,52 @@ export function relationFilterSchema(nestedSchema) {
72
95
  isNot: optional(nestedSchema),
73
96
  });
74
97
  }
98
+ function isSortDirectionSchema(value) {
99
+ return typeof value === 'object' && value !== null && '~run' in value;
100
+ }
101
+ function addSortFieldToTree(tree, path, schema) {
102
+ const segments = path.split('.');
103
+ if (segments.some((segment) => segment === '')) {
104
+ throw new Error(`Invalid sort field path: "${path}"`);
105
+ }
106
+ if (segments.length === 1) {
107
+ const field = segments[0];
108
+ const existing = tree[field];
109
+ if (existing !== undefined && !isSortDirectionSchema(existing)) {
110
+ throw new Error(`Sort field path conflict at "${field}"`);
111
+ }
112
+ tree[field] = schema;
113
+ return;
114
+ }
115
+ const [head, ...rest] = segments;
116
+ const field = head;
117
+ const existing = tree[field];
118
+ if (existing !== undefined && isSortDirectionSchema(existing)) {
119
+ throw new Error(`Sort field path conflict at "${field}"`);
120
+ }
121
+ const nested = (existing ?? {});
122
+ tree[field] = nested;
123
+ addSortFieldToTree(nested, rest.join('.'), schema);
124
+ }
125
+ function buildSortObjectSchema(fields) {
126
+ return object(Object.fromEntries(Object.entries(fields).map(([key, value]) => {
127
+ if (isSortDirectionSchema(value)) {
128
+ return [key, optional(value)];
129
+ }
130
+ return [key, optional(buildSortObjectSchema(value))];
131
+ })));
132
+ }
75
133
  /**
76
- * Helper to create a sort schema for a model
77
- * Pass an object with field names as keys and sortDirectionSchema() as values
134
+ * Helper to create a sort schema for a model.
135
+ * Pass field names as keys and sortDirectionSchema() as values.
136
+ * Use dot notation for nested relation sorts (e.g. `'organization.name'`).
78
137
  */
79
138
  export function createSortSchema(fields) {
80
- return object(Object.fromEntries(Object.entries(fields).map(([key, schema]) => [key, optional(schema)])));
139
+ const tree = {};
140
+ for (const [path, schema] of Object.entries(fields)) {
141
+ addSortFieldToTree(tree, path, schema);
142
+ }
143
+ return buildSortObjectSchema(tree);
81
144
  }
82
145
  /**
83
146
  * Helper to create a filter schema for a model
@@ -1 +1 @@
1
- {"version":3,"file":"schema-helpers.js","sourceRoot":"","sources":["../../src/list-query/schema-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-helpers.js","sourceRoot":"","sources":["../../src/list-query/schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAIL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,GACN,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAGnC,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;AAItF,SAAS,qBAAqB,CAAmB,MAAS,EAAE,IAA2B;IACrF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE;QAChD,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEnE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CACrC,MAAM,CAAC;IACL,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5B,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;CACrD,CAAC,CAAC;AAEL;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CACrC,qBAAqB,CACnB,MAAM,CAAC;IACL,MAAM,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IAC3C,GAAG,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IACxC,EAAE,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IACvC,GAAG,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IACxC,EAAE,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IACvC,GAAG,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC;CACzC,CAAC,EACF,QAAQ,CACT,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAClC,qBAAqB,CACnB,MAAM,CAAC;IACL,MAAM,EAAE,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACxC,GAAG,EAAE,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACpC,GAAG,EAAE,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACpC,GAAG,EAAE,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC;CAC/C,CAAC,EACF,KAAK,CACN,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,qBAAqB,CACnB,MAAM,CAAC;IACL,MAAM,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IACzC,GAAG,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IACtC,EAAE,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IACrC,GAAG,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IACtC,EAAE,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IACrC,GAAG,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC;CACvC,CAAC,EACF,MAAM,CACP,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CACtC,qBAAqB,CACnB,MAAM,CAAC;IACL,MAAM,EAAE,QAAQ,CAAC,wBAAwB,EAAE,CAAC;IAC5C,GAAG,EAAE,QAAQ,CAAC,wBAAwB,EAAE,CAAC;CAC1C,CAAC,EACF,SAAS,CACV,CAAC;AAEJ;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAiB;IAEjB,OAAO,MAAM,CAAC;QACZ,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC5B,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC;QACzB,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KACnC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAe;IAEf,OAAO,MAAM,CAAC;QACZ,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC;QAC1B,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAID,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED,SAAS,kBAAkB,CACzB,IAA6B,EAC7B,IAAY,EACZ,MAA2B;IAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;IACjC,MAAM,KAAK,GAAG,IAAc,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IACrB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA+B;IAE/B,OAAO,MAAM,CACX,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC1C,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,qBAAqB,CAAC,KAAgC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAGH,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAS;IAET,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,qBAAqB,CAAC,IAAI,CAIhC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAEhC,MAAS;IACT,OAAO,MAAM,CACX,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAExF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ export type SortDirection = 'asc' | 'desc';
2
+ /**
3
+ * Map a dot-notation sort path to a nested Prisma-style orderBy object type.
4
+ *
5
+ * @example
6
+ * `SortPathToOrderBy<'organization.name'>` → `{ organization: { name?: SortDirection } }`
7
+ */
8
+ export type SortPathToOrderBy<Path extends string> = Path extends `${infer Head}.${infer Tail}` ? {
9
+ [K in Head]?: SortPathToOrderBy<Tail>;
10
+ } : Path extends string ? {
11
+ [K in Path]?: SortDirection;
12
+ } : never;
13
+ /** Merge a union of orderBy object shapes into one intersection type. */
14
+ export type UnionToIntersection<U> = (U extends unknown ? (arg: U) => void : never) extends (arg: infer I) => void ? I : never;
15
+ /**
16
+ * Infer the Prisma-style orderBy entry type from `createSortSchema` field keys.
17
+ */
18
+ export type SortFieldsToOrderBy<T extends Record<string, unknown>> = UnionToIntersection<{
19
+ [K in keyof T]: K extends string ? SortPathToOrderBy<K> : never;
20
+ }[keyof T]>;
21
+ //# sourceMappingURL=sort-field-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-field-types.d.ts","sourceRoot":"","sources":["../../src/list-query/sort-field-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GAC3F;KAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;CAAE,GACzC,IAAI,SAAS,MAAM,GACjB;KAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,aAAa;CAAE,GAC/B,KAAK,CAAC;AAEZ,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAC1F,GAAG,EAAE,MAAM,CAAC,KACT,IAAI,GACL,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,mBAAmB,CACtF;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK;CAChE,CAAC,MAAM,CAAC,CAAC,CACX,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sort-field-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-field-types.js","sourceRoot":"","sources":["../../src/list-query/sort-field-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { type BaseIssue, type BaseSchema } from 'valibot';
2
+ import type { SortDirection } from './sort-field-types.js';
3
+ /**
4
+ * Accepts any where shape produced by the list-query parser, global search, and scopes.
5
+ * Used when a list endpoint has no dedicated filter schema.
6
+ */
7
+ export declare const unrestrictedWhereSchema: import("valibot").LooseObjectSchema<{}, undefined>;
8
+ /** Recursive orderBy entry for list endpoints without a dedicated sort schema. */
9
+ export type PermissiveOrderBy = {
10
+ readonly [key: string]: SortDirection | PermissiveOrderBy;
11
+ };
12
+ export declare const permissiveOrderByEntrySchema: BaseSchema<PermissiveOrderBy, PermissiveOrderBy, BaseIssue<unknown>>;
13
+ //# sourceMappingURL=unrestricted-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unrestricted-schemas.d.ts","sourceRoot":"","sources":["../../src/list-query/unrestricted-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAA4C,MAAM,SAAS,CAAC;AAEpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,oDAAkB,CAAC;AAEvD,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,iBAAiB,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,UAAU,CACnD,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,CAAC,OAAO,CAAC,CAC0E,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { lazy, looseObject, record, string, union } from 'valibot';
2
+ import { sortDirectionSchema } from './schema-helpers.js';
3
+ /**
4
+ * Accepts any where shape produced by the list-query parser, global search, and scopes.
5
+ * Used when a list endpoint has no dedicated filter schema.
6
+ */
7
+ export const unrestrictedWhereSchema = looseObject({});
8
+ export const permissiveOrderByEntrySchema = lazy(() => record(string(), union([sortDirectionSchema(), permissiveOrderByEntrySchema])));
9
+ //# sourceMappingURL=unrestricted-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unrestricted-schemas.js","sourceRoot":"","sources":["../../src/list-query/unrestricted-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AAOvD,MAAM,CAAC,MAAM,4BAA4B,GAIrC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,mBAAmB,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -13,8 +13,8 @@ export interface SchemaValidationConfig<TWhereSchema extends BaseSchema<unknown,
13
13
  * Note: orderBy is not readonly to match Prisma's expected type
14
14
  */
15
15
  export interface ValidatedListParams<TWhereSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, TOrderBySchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>> {
16
- readonly where: InferOutput<TWhereSchema>;
17
- readonly orderBy: InferOutput<TOrderBySchema>[];
16
+ readonly where?: InferOutput<TWhereSchema>;
17
+ readonly orderBy?: InferOutput<TOrderBySchema>[];
18
18
  readonly skip?: number;
19
19
  readonly take?: number;
20
20
  readonly aggregations?: Record<string, PrismaAggregationParams>;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/list-query/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAS,MAAM,SAAS,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CACrC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAClC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC5F,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,OAAO,GACd,WAAW,CAAC,OAAO,CAAC,CAStB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC9F,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,MAAM,EAAE,OAAO,GACd,WAAW,CAAC,OAAO,CAAC,EAAE,CASxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAEvE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,sBAAsB,CAAC,YAAY,EAAE,cAAc,CAAC,GAC3D,mBAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAOnD"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/list-query/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAS,MAAM,SAAS,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CACrC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAClC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvE,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC5F,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,OAAO,GACd,WAAW,CAAC,OAAO,CAAC,CAStB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC9F,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,MAAM,EAAE,OAAO,GACd,WAAW,CAAC,OAAO,CAAC,EAAE,CASxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACrE,cAAc,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAEvE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,sBAAsB,CAAC,YAAY,EAAE,cAAc,CAAC,GAC3D,mBAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAOnD"}
@@ -10,7 +10,7 @@ import type { MiddlewareHandler } from 'hono';
10
10
  * @example
11
11
  * ```typescript
12
12
  * // Use built-in CloudWatch tracker
13
- * import { createCloudWatchTracker } from 'glasswork';
13
+ * import { createCloudWatchTracker } from 'glasswork/observability';
14
14
  *
15
15
  * const tracker = createCloudWatchTracker({
16
16
  * namespace: 'MyApp/Errors',
@@ -111,7 +111,7 @@ export declare function shouldTrackException(explicitTrack: boolean | undefined,
111
111
  *
112
112
  * @example
113
113
  * ```typescript
114
- * import { createExceptionTrackingMiddleware } from 'glasswork';
114
+ * import { createExceptionTrackingMiddleware } from 'glasswork/observability';
115
115
  *
116
116
  * app.use(createExceptionTrackingMiddleware({
117
117
  * tracker,
@@ -173,7 +173,7 @@ export interface CloudWatchClientLike {
173
173
  *
174
174
  * @example
175
175
  * ```typescript
176
- * import { createCloudWatchTracker, bootstrap } from 'glasswork';
176
+ * import { createCloudWatchTracker, bootstrap } from 'glasswork/observability';
177
177
  *
178
178
  * const tracker = createCloudWatchTracker({
179
179
  * namespace: 'MyApp/Errors',
@@ -199,7 +199,8 @@ export declare function createCloudWatchTracker(options?: CloudWatchTrackerOptio
199
199
  *
200
200
  * @example
201
201
  * ```typescript
202
- * import { createConsoleTracker, bootstrap, isDevelopment } from 'glasswork';
202
+ * import { bootstrap, isDevelopment } from 'glasswork/core';
203
+ * import { createCloudWatchTracker, createConsoleTracker } from 'glasswork/observability';
203
204
  *
204
205
  * const tracker = isDevelopment()
205
206
  * ? createConsoleTracker()
@@ -1 +1 @@
1
- {"version":3,"file":"exception-tracking.d.ts","sourceRoot":"","sources":["../../src/observability/exception-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAExE;;;;;OAKG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,EACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAAC;IAER;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAE5E;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACnD;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,YAAY,MAAM,KAAG,OAA4B,CAAC;AAE1F;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,OAAO,GAAG,SAAS,EAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAQT;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,uBAAuB,GAC9B,iBAAiB,CAenB;AAMD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAExC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,gBAAgB,CA2HhG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAkCvD"}
1
+ {"version":3,"file":"exception-tracking.d.ts","sourceRoot":"","sources":["../../src/observability/exception-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAExE;;;;;OAKG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,EACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAAC;IAER;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAE5E;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACnD;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,YAAY,MAAM,KAAG,OAA4B,CAAC;AAE1F;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,OAAO,GAAG,SAAS,EAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAQT;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,uBAAuB,GAC9B,iBAAiB,CAenB;AAMD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAExC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,gBAAgB,CA2HhG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAkCvD"}
@@ -34,7 +34,7 @@ export function shouldTrackException(explicitTrack, statusCode, config) {
34
34
  *
35
35
  * @example
36
36
  * ```typescript
37
- * import { createExceptionTrackingMiddleware } from 'glasswork';
37
+ * import { createExceptionTrackingMiddleware } from 'glasswork/observability';
38
38
  *
39
39
  * app.use(createExceptionTrackingMiddleware({
40
40
  * tracker,
@@ -76,7 +76,7 @@ export function createExceptionTrackingMiddleware(config) {
76
76
  *
77
77
  * @example
78
78
  * ```typescript
79
- * import { createCloudWatchTracker, bootstrap } from 'glasswork';
79
+ * import { createCloudWatchTracker, bootstrap } from 'glasswork/observability';
80
80
  *
81
81
  * const tracker = createCloudWatchTracker({
82
82
  * namespace: 'MyApp/Errors',
@@ -197,7 +197,8 @@ export function createCloudWatchTracker(options = {}) {
197
197
  *
198
198
  * @example
199
199
  * ```typescript
200
- * import { createConsoleTracker, bootstrap, isDevelopment } from 'glasswork';
200
+ * import { bootstrap, isDevelopment } from 'glasswork/core';
201
+ * import { createCloudWatchTracker, createConsoleTracker } from 'glasswork/observability';
201
202
  *
202
203
  * const tracker = isDevelopment()
203
204
  * ? createConsoleTracker()
@@ -1 +1 @@
1
- {"version":3,"file":"exception-tracking.js","sourceRoot":"","sources":["../../src/observability/exception-tracking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exception-tracking.js","sourceRoot":"","sources":["../../src/observability/exception-tracking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @module glasswork/observability
3
+ * Logging, request context, and exception tracking.
4
+ */
5
+ export { type CloudWatchClientLike, type CloudWatchTrackerOptions, createCloudWatchTracker, createConsoleTracker, createExceptionTrackingMiddleware, defaultTrackStatusCodes, type ExceptionTracker, type ExceptionTrackingConfig, shouldTrackException, } from './exception-tracking.js';
6
+ export { type ContextAwarePinoOptions, createContextAwarePinoLogger, createPinoHttpMiddleware, lambdaPinoConfig, type PinoLogger, } from './pino-logger.js';
7
+ export { getRequestContext, getRequestId, type RequestContext, setRequestContextValue, setRequestUser, } from './request-context.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,iCAAiC,EACjC,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,KAAK,uBAAuB,EAC5B,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,EAChB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,KAAK,cAAc,EACnB,sBAAsB,EACtB,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @module glasswork/observability
3
+ * Logging, request context, and exception tracking.
4
+ */
5
+ export { createCloudWatchTracker, createConsoleTracker, createExceptionTrackingMiddleware, defaultTrackStatusCodes, shouldTrackException, } from './exception-tracking.js';
6
+ export { createContextAwarePinoLogger, createPinoHttpMiddleware, lambdaPinoConfig, } from './pino-logger.js';
7
+ export { getRequestContext, getRequestId, setRequestContextValue, setRequestUser, } from './request-context.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,uBAAuB,EACvB,oBAAoB,EACpB,iCAAiC,EACjC,uBAAuB,EAGvB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,GAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,YAAY,EAEZ,sBAAsB,EACtB,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -44,7 +44,7 @@ export interface ContextAwarePinoOptions {
44
44
  * @example
45
45
  * ```typescript
46
46
  * import pino from 'pino';
47
- * import { createContextAwarePinoLogger } from 'glasswork';
47
+ * import { createContextAwarePinoLogger } from 'glasswork/observability';
48
48
  *
49
49
  * const logger = createContextAwarePinoLogger({
50
50
  * pino: pino({ level: 'info' }),
@@ -72,7 +72,7 @@ export declare function createContextAwarePinoLogger(options: ContextAwarePinoOp
72
72
  * @example
73
73
  * ```typescript
74
74
  * import pino from 'pino';
75
- * import { createPinoHttpMiddleware } from 'glasswork';
75
+ * import { createPinoHttpMiddleware } from 'glasswork/observability';
76
76
  *
77
77
  * const logger = pino({ level: 'info' });
78
78
  * app.use(createPinoHttpMiddleware(logger));
@@ -90,7 +90,7 @@ export declare function createPinoHttpMiddleware(pino: PinoLogger): MiddlewareHa
90
90
  * @example
91
91
  * ```typescript
92
92
  * import pino from 'pino';
93
- * import { lambdaPinoConfig } from 'glasswork';
93
+ * import { lambdaPinoConfig } from 'glasswork/observability';
94
94
  *
95
95
  * const logger = pino(lambdaPinoConfig);
96
96
  * ```
@@ -15,7 +15,7 @@ import { getRequestContext } from './request-context.js';
15
15
  * @example
16
16
  * ```typescript
17
17
  * import pino from 'pino';
18
- * import { createContextAwarePinoLogger } from 'glasswork';
18
+ * import { createContextAwarePinoLogger } from 'glasswork/observability';
19
19
  *
20
20
  * const logger = createContextAwarePinoLogger({
21
21
  * pino: pino({ level: 'info' }),
@@ -94,7 +94,7 @@ export function createContextAwarePinoLogger(options) {
94
94
  * @example
95
95
  * ```typescript
96
96
  * import pino from 'pino';
97
- * import { createPinoHttpMiddleware } from 'glasswork';
97
+ * import { createPinoHttpMiddleware } from 'glasswork/observability';
98
98
  *
99
99
  * const logger = pino({ level: 'info' });
100
100
  * app.use(createPinoHttpMiddleware(logger));
@@ -139,7 +139,7 @@ export function createPinoHttpMiddleware(pino) {
139
139
  * @example
140
140
  * ```typescript
141
141
  * import pino from 'pino';
142
- * import { lambdaPinoConfig } from 'glasswork';
142
+ * import { lambdaPinoConfig } from 'glasswork/observability';
143
143
  *
144
144
  * const logger = pino(lambdaPinoConfig);
145
145
  * ```
@@ -29,7 +29,7 @@ export declare const requestContextStorage: AsyncLocalStorage<RequestContext>;
29
29
  *
30
30
  * @example
31
31
  * ```typescript
32
- * import { getRequestContext } from 'glasswork';
32
+ * import { getRequestContext } from 'glasswork/observability';
33
33
  *
34
34
  * function someUtility() {
35
35
  * const ctx = getRequestContext();
@@ -50,7 +50,7 @@ export declare function getRequestContext(): RequestContext | undefined;
50
50
  *
51
51
  * @example
52
52
  * ```typescript
53
- * import { getRequestId } from 'glasswork';
53
+ * import { getRequestId } from 'glasswork/observability';
54
54
  *
55
55
  * class UserService {
56
56
  * async create(data: CreateUserDto) {
@@ -70,7 +70,7 @@ export declare function getRequestId(): string | undefined;
70
70
  *
71
71
  * @example
72
72
  * ```typescript
73
- * import { setRequestUser } from 'glasswork';
73
+ * import { setRequestUser } from 'glasswork/observability';
74
74
  *
75
75
  * // In auth middleware
76
76
  * const user = await validateToken(token);
@@ -87,7 +87,7 @@ export declare function setRequestUser(userId: string): void;
87
87
  *
88
88
  * @example
89
89
  * ```typescript
90
- * import { setRequestContext } from 'glasswork';
90
+ * import { setRequestContext } from 'glasswork/observability';
91
91
  *
92
92
  * // Add tenant ID for multi-tenant apps
93
93
  * setRequestContext('tenantId', tenant.id);