glasswork 0.13.3 → 1.0.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 (218) hide show
  1. package/CHANGELOG.md +69 -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 +13 -9
  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/index.d.ts +6 -1
  129. package/dist/list-query/index.d.ts.map +1 -1
  130. package/dist/list-query/index.js +4 -1
  131. package/dist/list-query/index.js.map +1 -1
  132. package/dist/list-query/list-params.d.ts +17 -0
  133. package/dist/list-query/list-params.d.ts.map +1 -0
  134. package/dist/list-query/list-params.js +2 -0
  135. package/dist/list-query/list-params.js.map +1 -0
  136. package/dist/list-query/prisma-executor.d.ts +63 -0
  137. package/dist/list-query/prisma-executor.d.ts.map +1 -0
  138. package/dist/list-query/prisma-executor.js +88 -0
  139. package/dist/list-query/prisma-executor.js.map +1 -0
  140. package/dist/list-query/schema-helpers.d.ts +20 -3
  141. package/dist/list-query/schema-helpers.d.ts.map +1 -1
  142. package/dist/list-query/schema-helpers.js +57 -4
  143. package/dist/list-query/schema-helpers.js.map +1 -1
  144. package/dist/list-query/sort-field-types.d.ts +21 -0
  145. package/dist/list-query/sort-field-types.d.ts.map +1 -0
  146. package/dist/list-query/sort-field-types.js +2 -0
  147. package/dist/list-query/sort-field-types.js.map +1 -0
  148. package/dist/list-query/unrestricted-schemas.d.ts +13 -0
  149. package/dist/list-query/unrestricted-schemas.d.ts.map +1 -0
  150. package/dist/list-query/unrestricted-schemas.js +9 -0
  151. package/dist/list-query/unrestricted-schemas.js.map +1 -0
  152. package/dist/list-query/validator.d.ts +2 -2
  153. package/dist/list-query/validator.d.ts.map +1 -1
  154. package/dist/observability/exception-tracking.d.ts +5 -4
  155. package/dist/observability/exception-tracking.d.ts.map +1 -1
  156. package/dist/observability/exception-tracking.js +4 -3
  157. package/dist/observability/exception-tracking.js.map +1 -1
  158. package/dist/observability/index.d.ts +8 -0
  159. package/dist/observability/index.d.ts.map +1 -0
  160. package/dist/observability/index.js +8 -0
  161. package/dist/observability/index.js.map +1 -0
  162. package/dist/observability/pino-logger.d.ts +3 -3
  163. package/dist/observability/pino-logger.js +3 -3
  164. package/dist/observability/request-context.d.ts +4 -4
  165. package/dist/observability/request-context.js +4 -4
  166. package/package.json +93 -53
  167. package/dist/authorization/ability-middleware.d.ts +0 -61
  168. package/dist/authorization/ability-middleware.d.ts.map +0 -1
  169. package/dist/authorization/ability-middleware.js +0 -74
  170. package/dist/authorization/ability-middleware.js.map +0 -1
  171. package/dist/authorization/index.d.ts +0 -46
  172. package/dist/authorization/index.d.ts.map +0 -1
  173. package/dist/authorization/index.js +0 -46
  174. package/dist/authorization/index.js.map +0 -1
  175. package/dist/authorization/route-helpers.d.ts +0 -106
  176. package/dist/authorization/route-helpers.d.ts.map +0 -1
  177. package/dist/authorization/route-helpers.js +0 -136
  178. package/dist/authorization/route-helpers.js.map +0 -1
  179. package/dist/authorization/service-proxy.d.ts +0 -59
  180. package/dist/authorization/service-proxy.d.ts.map +0 -1
  181. package/dist/authorization/service-proxy.js +0 -110
  182. package/dist/authorization/service-proxy.js.map +0 -1
  183. package/dist/authorization/types.d.ts +0 -58
  184. package/dist/authorization/types.d.ts.map +0 -1
  185. package/dist/authorization/types.js +0 -7
  186. package/dist/authorization/types.js.map +0 -1
  187. package/dist/hooks/authorization-hook.d.ts +0 -100
  188. package/dist/hooks/authorization-hook.d.ts.map +0 -1
  189. package/dist/hooks/authorization-hook.js +0 -93
  190. package/dist/hooks/authorization-hook.js.map +0 -1
  191. package/dist/hooks/index.d.ts +0 -54
  192. package/dist/hooks/index.d.ts.map +0 -1
  193. package/dist/hooks/index.js +0 -55
  194. package/dist/hooks/index.js.map +0 -1
  195. package/dist/hooks/service-hooks.d.ts +0 -82
  196. package/dist/hooks/service-hooks.d.ts.map +0 -1
  197. package/dist/hooks/service-hooks.js +0 -158
  198. package/dist/hooks/service-hooks.js.map +0 -1
  199. package/dist/hooks/types.d.ts +0 -151
  200. package/dist/hooks/types.d.ts.map +0 -1
  201. package/dist/hooks/types.js +0 -2
  202. package/dist/hooks/types.js.map +0 -1
  203. package/dist/openapi/hooks.d.ts +0 -14
  204. package/dist/openapi/hooks.d.ts.map +0 -1
  205. package/dist/openapi/hooks.js +0 -83
  206. package/dist/openapi/hooks.js.map +0 -1
  207. package/dist/openapi/openapi-transformer.d.ts +0 -13
  208. package/dist/openapi/openapi-transformer.d.ts.map +0 -1
  209. package/dist/openapi/openapi-transformer.js +0 -87
  210. package/dist/openapi/openapi-transformer.js.map +0 -1
  211. package/dist/utils/pagination.d.ts +0 -48
  212. package/dist/utils/pagination.d.ts.map +0 -1
  213. package/dist/utils/pagination.js +0 -42
  214. package/dist/utils/pagination.js.map +0 -1
  215. package/dist/utils/serialize-dates.d.ts +0 -27
  216. package/dist/utils/serialize-dates.d.ts.map +0 -1
  217. package/dist/utils/serialize-dates.js +0 -39
  218. package/dist/utils/serialize-dates.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-executor.d.ts","sourceRoot":"","sources":["../../src/list-query/prisma-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Adapt a Prisma model delegate for {@link createPrismaListExecutor}.
3
+ * Centralizes the include/payload typing gap between Prisma delegates and list executors.
4
+ */
5
+ export function bindPrismaListDelegate(delegate) {
6
+ return delegate;
7
+ }
8
+ /** Adapt a Prisma model delegate for {@link runGroupByAggregations}. */
9
+ export function bindPrismaGroupByDelegate(delegate) {
10
+ return delegate;
11
+ }
12
+ /**
13
+ * Pick `orderBy` from list params, falling back to `defaultOrderBy` when empty.
14
+ */
15
+ export function resolveOrderBy(orderBy, defaultOrderBy) {
16
+ if (orderBy && orderBy.length > 0) {
17
+ return [...orderBy];
18
+ }
19
+ return defaultOrderBy ? [...defaultOrderBy] : [];
20
+ }
21
+ /**
22
+ * Run Prisma `groupBy` aggregations produced by `createListQuery().build()`.
23
+ */
24
+ export async function runGroupByAggregations(delegate, aggregationConfigs) {
25
+ if (!aggregationConfigs) {
26
+ return undefined;
27
+ }
28
+ const entries = Object.entries(aggregationConfigs);
29
+ if (entries.length === 0) {
30
+ return undefined;
31
+ }
32
+ const results = {};
33
+ await Promise.all(entries.map(async ([key, config]) => {
34
+ const grouped = await delegate.groupBy({
35
+ by: config.by,
36
+ _count: config._count,
37
+ where: config.where,
38
+ });
39
+ const countField = Object.keys(config._count)[0];
40
+ if (!countField) {
41
+ return;
42
+ }
43
+ const aggregationResult = {};
44
+ for (const item of grouped) {
45
+ const fieldValue = item[countField];
46
+ const count = item._count[countField];
47
+ if (count !== undefined) {
48
+ aggregationResult[String(fieldValue)] = count;
49
+ }
50
+ }
51
+ results[key] = aggregationResult;
52
+ }));
53
+ return results;
54
+ }
55
+ /**
56
+ * Create a reusable list handler that runs `findMany`, `count`, and optional `groupBy`
57
+ * aggregations from {@link createListQuery} params.
58
+ */
59
+ export function createPrismaListExecutor(config) {
60
+ return async (params) => {
61
+ const delegate = config.delegate();
62
+ const where = params?.where;
63
+ const orderBy = resolveOrderBy(params?.orderBy, config.defaultOrderBy);
64
+ const findManyArgs = {
65
+ where,
66
+ orderBy,
67
+ skip: params?.skip,
68
+ take: params?.take,
69
+ };
70
+ if (config.include !== undefined) {
71
+ findManyArgs.include = config.include;
72
+ }
73
+ if (config.select !== undefined) {
74
+ findManyArgs.select = config.select;
75
+ }
76
+ const [data, total, aggregations] = await Promise.all([
77
+ delegate.findMany(findManyArgs),
78
+ delegate.count({ where }),
79
+ runGroupByAggregations(delegate, params?.aggregations),
80
+ ]);
81
+ return {
82
+ data,
83
+ total,
84
+ ...(aggregations && { aggregations }),
85
+ };
86
+ };
87
+ }
88
+ //# sourceMappingURL=prisma-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-executor.js","sourceRoot":"","sources":["../../src/list-query/prisma-executor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type BaseIssue, type BaseSchema, type OptionalSchema } from 'valibot';
2
+ import type { SortFieldsToOrderBy } from './sort-field-types.js';
2
3
  /**
3
4
  * Schema for Prisma sort direction
4
5
  */
@@ -31,6 +32,19 @@ export declare const numberFilterSchema: () => import("valibot").ObjectSchema<{
31
32
  readonly gt: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
32
33
  readonly gte: OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").LiteralSchema<true, undefined>, import("valibot").LiteralSchema<false, undefined>], undefined>, undefined>;
33
34
  }, undefined>;
35
+ /**
36
+ * Schema for Prisma IntFilter operations (numeric fields stored as integers).
37
+ */
38
+ export declare const intFilterSchema: () => import("valibot").ObjectSchema<{
39
+ readonly equals: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
40
+ readonly not: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
41
+ readonly lt: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
42
+ readonly lte: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
43
+ readonly gt: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
44
+ readonly gte: OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
45
+ readonly in: OptionalSchema<import("valibot").ArraySchema<import("valibot").NumberSchema<undefined>, undefined>, undefined>;
46
+ readonly notIn: OptionalSchema<import("valibot").ArraySchema<import("valibot").NumberSchema<undefined>, undefined>, undefined>;
47
+ }, undefined>;
34
48
  /**
35
49
  * Schema for Prisma DateTimeFilter operations
36
50
  * Supports date comparison operations
@@ -70,14 +84,17 @@ export declare function relationFilterSchema<T extends BaseSchema<unknown, unkno
70
84
  readonly is: OptionalSchema<T, undefined>;
71
85
  readonly isNot: OptionalSchema<T, undefined>;
72
86
  }, undefined>;
87
+ type SortDirectionSchema = ReturnType<typeof sortDirectionSchema>;
73
88
  /**
74
- * Helper to create a sort schema for a model
75
- * Pass an object with field names as keys and sortDirectionSchema() as values
89
+ * Helper to create a sort schema for a model.
90
+ * Pass field names as keys and sortDirectionSchema() as values.
91
+ * Use dot notation for nested relation sorts (e.g. `'organization.name'`).
76
92
  */
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>;
93
+ export declare function createSortSchema<T extends Record<string, SortDirectionSchema>>(fields: T): BaseSchema<SortFieldsToOrderBy<T>, SortFieldsToOrderBy<T>, BaseIssue<unknown>>;
78
94
  /**
79
95
  * Helper to create a filter schema for a model
80
96
  * Pass an object with field names as keys and filter schemas as values
81
97
  */
82
98
  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>;
99
+ export {};
83
100
  //# 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,EAGf,KAAK,cAAc,EAMpB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,mBAAmB,oEAAkC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;aAU3B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;aAQ3B,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;aAUxB,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,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,4 @@
1
- import { array, literal, object, optional, picklist, string, union, } from 'valibot';
1
+ import { array, literal, number, object, optional, picklist, string, union, } from 'valibot';
2
2
  /**
3
3
  * Schema for Prisma sort direction
4
4
  */
@@ -29,6 +29,19 @@ export const numberFilterSchema = () => object({
29
29
  gt: optional(union([string(), literal(true), literal(false)])),
30
30
  gte: optional(union([string(), literal(true), literal(false)])),
31
31
  });
32
+ /**
33
+ * Schema for Prisma IntFilter operations (numeric fields stored as integers).
34
+ */
35
+ export const intFilterSchema = () => object({
36
+ equals: optional(number()),
37
+ not: optional(number()),
38
+ lt: optional(number()),
39
+ lte: optional(number()),
40
+ gt: optional(number()),
41
+ gte: optional(number()),
42
+ in: optional(array(number())),
43
+ notIn: optional(array(number())),
44
+ });
32
45
  /**
33
46
  * Schema for Prisma DateTimeFilter operations
34
47
  * Supports date comparison operations
@@ -72,12 +85,52 @@ export function relationFilterSchema(nestedSchema) {
72
85
  isNot: optional(nestedSchema),
73
86
  });
74
87
  }
88
+ function isSortDirectionSchema(value) {
89
+ return typeof value === 'object' && value !== null && '~run' in value;
90
+ }
91
+ function addSortFieldToTree(tree, path, schema) {
92
+ const segments = path.split('.');
93
+ if (segments.some((segment) => segment === '')) {
94
+ throw new Error(`Invalid sort field path: "${path}"`);
95
+ }
96
+ if (segments.length === 1) {
97
+ const field = segments[0];
98
+ const existing = tree[field];
99
+ if (existing !== undefined && !isSortDirectionSchema(existing)) {
100
+ throw new Error(`Sort field path conflict at "${field}"`);
101
+ }
102
+ tree[field] = schema;
103
+ return;
104
+ }
105
+ const [head, ...rest] = segments;
106
+ const field = head;
107
+ const existing = tree[field];
108
+ if (existing !== undefined && isSortDirectionSchema(existing)) {
109
+ throw new Error(`Sort field path conflict at "${field}"`);
110
+ }
111
+ const nested = (existing ?? {});
112
+ tree[field] = nested;
113
+ addSortFieldToTree(nested, rest.join('.'), schema);
114
+ }
115
+ function buildSortObjectSchema(fields) {
116
+ return object(Object.fromEntries(Object.entries(fields).map(([key, value]) => {
117
+ if (isSortDirectionSchema(value)) {
118
+ return [key, optional(value)];
119
+ }
120
+ return [key, optional(buildSortObjectSchema(value))];
121
+ })));
122
+ }
75
123
  /**
76
- * Helper to create a sort schema for a model
77
- * Pass an object with field names as keys and sortDirectionSchema() as values
124
+ * Helper to create a sort schema for a model.
125
+ * Pass field names as keys and sortDirectionSchema() as values.
126
+ * Use dot notation for nested relation sorts (e.g. `'organization.name'`).
78
127
  */
79
128
  export function createSortSchema(fields) {
80
- return object(Object.fromEntries(Object.entries(fields).map(([key, schema]) => [key, optional(schema)])));
129
+ const tree = {};
130
+ for (const [path, schema] of Object.entries(fields)) {
131
+ addSortFieldToTree(tree, path, schema);
132
+ }
133
+ return buildSortObjectSchema(tree);
81
134
  }
82
135
  /**
83
136
  * 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":"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"}
@@ -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":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA6FzE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAW,EAAE,CAAC,UAAU,IAAI,GAAG,CAAC;AAE1F;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,aAAkC,EAClC,UAAkB,EAClB,MAA+B;IAE/B,0CAA0C;IAC1C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,kCAAkC;IAClC,OAAO,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAA+B;IAE/B,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACvB,0DAA0D;QAC1D,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEvD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE;YACnC,EAAE,EAAE,SAAS;YACb,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;YAChB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;SACtC,CAAC,CAAC;QAEH,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AA4CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAoC,EAAE;IAC5E,MAAM,EACJ,SAAS,GAAG,oBAAoB,EAChC,UAAU,GAAG,EAAE,EACf,gBAAgB,EAChB,YAAY,GAAG,CAAC,MAAM,EAAE,GACzB,GAAG,OAAO,CAAC;IAEZ,kDAAkD;IAClD,IAAI,QAAQ,GAAgC,gBAAgB,IAAI,IAAI,CAAC;IAErE,KAAK,UAAU,SAAS;QACtB,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YACxE,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,UAAU,SAAS,CACtB,UAAkB,EAClB,KAAa,EACb,kBAA0C,EAAE;QAE5C,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAE5E,MAAM,aAAa,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;YAC5D,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3E,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,CAAC,IAAI,CACf,IAAI,oBAAoB,CAAC;gBACvB,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE,UAAU;wBACtB,KAAK,EAAE,KAAK;wBACZ,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,UAAU,EAAE,cAAc;qBAC3B;iBACF;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,8DAA8D;YAC9D,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAA4C,EAAE,CAAC;IAEjE,OAAO;QACL,gBAAgB,CAAC,KAAY,EAAE,OAAiC;YAC9D,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;YAEhC,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;oBAC3B,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,OAAO,EAAE,SAAS;oBAC/C,MAAM,EAAE,GAAG,EAAE,MAAM;oBACnB,GAAG,OAAO;iBACX,CAAC,CAAC;YACL,CAAC;YAED,+BAA+B;YAC/B,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE;gBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;gBAChC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC;gBACrD,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,cAAc,CACZ,OAAe,EACf,KAAmC,EACnC,OAAiC;YAEjC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;YAEhC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,KAAK,GACT,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;gBACvF,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE;oBACzC,SAAS,EAAE,GAAG,EAAE,SAAS;oBACzB,MAAM,EAAE,GAAG,EAAE,MAAM;oBACnB,GAAG,OAAO;iBACX,CAAC,CAAC;YACL,CAAC;YAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE;oBAC9B,SAAS,EAAE,SAAS;oBACpB,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC;iBACtD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAA4D;YAClE,iDAAiD;YACjD,+EAA+E;YAC/E,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,UAAU,CAAC,GAAW,EAAE,IAA6B;YACnD,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,gBAAgB,CAAC,KAAY,EAAE,OAAiC;YAC9D,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC3B,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,OAAO,EAAE,SAAS;gBAC/C,GAAG,OAAO;aACX,CAAC,CAAC;QACL,CAAC;QAED,cAAc,CACZ,OAAe,EACf,KAAmC,EACnC,OAAiC;YAEjC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;YAChC,MAAM,KAAK,GACT,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACvF,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE;gBACzC,SAAS,EAAE,GAAG,EAAE,SAAS;gBACzB,GAAG,OAAO;aACX,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,4BAA4B;QAC9B,CAAC;QAED,UAAU;YACR,4BAA4B;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC"}
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);
@@ -12,7 +12,7 @@ export const requestContextStorage = new AsyncLocalStorage();
12
12
  *
13
13
  * @example
14
14
  * ```typescript
15
- * import { getRequestContext } from 'glasswork';
15
+ * import { getRequestContext } from 'glasswork/observability';
16
16
  *
17
17
  * function someUtility() {
18
18
  * const ctx = getRequestContext();
@@ -35,7 +35,7 @@ export function getRequestContext() {
35
35
  *
36
36
  * @example
37
37
  * ```typescript
38
- * import { getRequestId } from 'glasswork';
38
+ * import { getRequestId } from 'glasswork/observability';
39
39
  *
40
40
  * class UserService {
41
41
  * async create(data: CreateUserDto) {
@@ -57,7 +57,7 @@ export function getRequestId() {
57
57
  *
58
58
  * @example
59
59
  * ```typescript
60
- * import { setRequestUser } from 'glasswork';
60
+ * import { setRequestUser } from 'glasswork/observability';
61
61
  *
62
62
  * // In auth middleware
63
63
  * const user = await validateToken(token);
@@ -79,7 +79,7 @@ export function setRequestUser(userId) {
79
79
  *
80
80
  * @example
81
81
  * ```typescript
82
- * import { setRequestContext } from 'glasswork';
82
+ * import { setRequestContext } from 'glasswork/observability';
83
83
  *
84
84
  * // Add tenant ID for multi-tenant apps
85
85
  * setRequestContext('tenantId', tenant.id);