glasswork 1.0.1 → 1.2.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 (247) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/README.md +37 -2
  3. package/dist/audit/audit-logger.d.ts +22 -0
  4. package/dist/audit/audit-logger.d.ts.map +1 -0
  5. package/dist/audit/audit-logger.js +44 -0
  6. package/dist/audit/audit-logger.js.map +1 -0
  7. package/dist/audit/context.d.ts +13 -0
  8. package/dist/audit/context.d.ts.map +1 -0
  9. package/dist/audit/context.js +66 -0
  10. package/dist/audit/context.js.map +1 -0
  11. package/dist/audit/index.d.ts +8 -0
  12. package/dist/audit/index.d.ts.map +1 -0
  13. package/dist/audit/index.js +7 -0
  14. package/dist/audit/index.js.map +1 -0
  15. package/dist/audit/types.d.ts +74 -0
  16. package/dist/audit/types.d.ts.map +1 -0
  17. package/dist/audit/types.js +2 -0
  18. package/dist/audit/types.js.map +1 -0
  19. package/dist/auth/abilities.d.ts +1 -1
  20. package/dist/auth/abilities.d.ts.map +1 -1
  21. package/dist/auth/abilities.js.map +1 -1
  22. package/dist/auth/better-auth-provider.d.ts +17 -6
  23. package/dist/auth/better-auth-provider.d.ts.map +1 -1
  24. package/dist/auth/better-auth-provider.js +16 -9
  25. package/dist/auth/better-auth-provider.js.map +1 -1
  26. package/dist/auth/index.d.ts +2 -2
  27. package/dist/auth/index.d.ts.map +1 -1
  28. package/dist/auth/index.js.map +1 -1
  29. package/dist/auth/middleware.d.ts +10 -8
  30. package/dist/auth/middleware.d.ts.map +1 -1
  31. package/dist/auth/middleware.js +27 -11
  32. package/dist/auth/middleware.js.map +1 -1
  33. package/dist/auth/types.d.ts +13 -2
  34. package/dist/auth/types.d.ts.map +1 -1
  35. package/dist/config/config-service.d.ts.map +1 -1
  36. package/dist/config/config-service.js.map +1 -1
  37. package/dist/config/providers.js.map +1 -1
  38. package/dist/core/bootstrap.d.ts.map +1 -1
  39. package/dist/core/bootstrap.js +16 -7
  40. package/dist/core/bootstrap.js.map +1 -1
  41. package/dist/core/module-graph.js +3 -0
  42. package/dist/core/module-graph.js.map +1 -1
  43. package/dist/core/request-scope.d.ts +12 -0
  44. package/dist/core/request-scope.d.ts.map +1 -0
  45. package/dist/core/request-scope.js +86 -0
  46. package/dist/core/request-scope.js.map +1 -0
  47. package/dist/core/route-factory.d.ts +1 -0
  48. package/dist/core/route-factory.d.ts.map +1 -1
  49. package/dist/core/types.d.ts +6 -1
  50. package/dist/core/types.d.ts.map +1 -1
  51. package/dist/email/compiler/compiler.d.ts.map +1 -1
  52. package/dist/email/compiler/compiler.js +72 -20
  53. package/dist/email/compiler/compiler.js.map +1 -1
  54. package/dist/email/compiler/tokenizer.js +4 -2
  55. package/dist/email/compiler/tokenizer.js.map +1 -1
  56. package/dist/email/compiler/types.d.ts +2 -0
  57. package/dist/email/compiler/types.d.ts.map +1 -1
  58. package/dist/email/email-service.d.ts.map +1 -1
  59. package/dist/email/template-registry.d.ts.map +1 -1
  60. package/dist/email/templated-email-service.d.ts.map +1 -1
  61. package/dist/email/transports/mock-transport.d.ts.map +1 -1
  62. package/dist/email/transports/ses-transport.d.ts +8 -0
  63. package/dist/email/transports/ses-transport.d.ts.map +1 -1
  64. package/dist/email/transports/ses-transport.js +132 -25
  65. package/dist/email/transports/ses-transport.js.map +1 -1
  66. package/dist/email/webhooks/handler-factory.d.ts +1 -0
  67. package/dist/email/webhooks/handler-factory.d.ts.map +1 -1
  68. package/dist/email/webhooks/handler-factory.js +40 -38
  69. package/dist/email/webhooks/handler-factory.js.map +1 -1
  70. package/dist/email/webhooks/notification-parser.d.ts +1 -1
  71. package/dist/email/webhooks/notification-parser.js +1 -1
  72. package/dist/email/webhooks/signature-verification.d.ts +4 -2
  73. package/dist/email/webhooks/signature-verification.d.ts.map +1 -1
  74. package/dist/email/webhooks/signature-verification.js +63 -8
  75. package/dist/email/webhooks/signature-verification.js.map +1 -1
  76. package/dist/email/webhooks/subscription-handler.d.ts +4 -2
  77. package/dist/email/webhooks/subscription-handler.d.ts.map +1 -1
  78. package/dist/email/webhooks/subscription-handler.js +42 -6
  79. package/dist/email/webhooks/subscription-handler.js.map +1 -1
  80. package/dist/email/webhooks/types.d.ts +17 -2
  81. package/dist/email/webhooks/types.d.ts.map +1 -1
  82. package/dist/hono-context.d.ts +1 -1
  83. package/dist/hono-context.d.ts.map +1 -1
  84. package/dist/http/error-handler.js.map +1 -1
  85. package/dist/http/errors.d.ts.map +1 -1
  86. package/dist/http/errors.js.map +1 -1
  87. package/dist/http/route-authorization.d.ts +1 -2
  88. package/dist/http/route-authorization.d.ts.map +1 -1
  89. package/dist/http/route-authorization.js.map +1 -1
  90. package/dist/http/route-context.d.ts +4 -2
  91. package/dist/http/route-context.d.ts.map +1 -1
  92. package/dist/http/route-context.js +7 -2
  93. package/dist/http/route-context.js.map +1 -1
  94. package/dist/http/route-helpers.d.ts +3 -3
  95. package/dist/http/route-helpers.d.ts.map +1 -1
  96. package/dist/http/route-helpers.js.map +1 -1
  97. package/dist/http/route-openapi.d.ts +1 -1
  98. package/dist/http/route-openapi.d.ts.map +1 -1
  99. package/dist/http/route-openapi.js.map +1 -1
  100. package/dist/http/route-types.d.ts +26 -23
  101. package/dist/http/route-types.d.ts.map +1 -1
  102. package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts.map +1 -1
  103. package/dist/jobs/drivers/eventbridge-scheduler-driver.js.map +1 -1
  104. package/dist/jobs/drivers/mock-driver.d.ts.map +1 -1
  105. package/dist/jobs/drivers/mock-driver.js.map +1 -1
  106. package/dist/jobs/drivers/sqs-driver.d.ts.map +1 -1
  107. package/dist/jobs/drivers/sqs-driver.js.map +1 -1
  108. package/dist/jobs/errors.d.ts.map +1 -1
  109. package/dist/jobs/job-registry.d.ts.map +1 -1
  110. package/dist/jobs/job-registry.js.map +1 -1
  111. package/dist/jobs/job-service.d.ts.map +1 -1
  112. package/dist/jobs/job-service.js.map +1 -1
  113. package/dist/jobs/observability/client.d.ts +26 -0
  114. package/dist/jobs/observability/client.d.ts.map +1 -0
  115. package/dist/jobs/observability/client.js +286 -0
  116. package/dist/jobs/observability/client.js.map +1 -0
  117. package/dist/jobs/observability/dashboard.d.ts +19 -0
  118. package/dist/jobs/observability/dashboard.d.ts.map +1 -0
  119. package/dist/jobs/observability/dashboard.js +144 -0
  120. package/dist/jobs/observability/dashboard.js.map +1 -0
  121. package/dist/jobs/observability/emf.d.ts +24 -0
  122. package/dist/jobs/observability/emf.d.ts.map +1 -0
  123. package/dist/jobs/observability/emf.js +100 -0
  124. package/dist/jobs/observability/emf.js.map +1 -0
  125. package/dist/jobs/observability/index.d.ts +5 -0
  126. package/dist/jobs/observability/index.d.ts.map +1 -0
  127. package/dist/jobs/observability/index.js +4 -0
  128. package/dist/jobs/observability/index.js.map +1 -0
  129. package/dist/jobs/observability/types.d.ts +234 -0
  130. package/dist/jobs/observability/types.d.ts.map +1 -0
  131. package/dist/jobs/observability/types.js +2 -0
  132. package/dist/jobs/observability/types.js.map +1 -0
  133. package/dist/jobs/worker.d.ts +3 -1
  134. package/dist/jobs/worker.d.ts.map +1 -1
  135. package/dist/jobs/worker.js +2 -0
  136. package/dist/jobs/worker.js.map +1 -1
  137. package/dist/list-query/builder.d.ts +13 -3
  138. package/dist/list-query/builder.d.ts.map +1 -1
  139. package/dist/list-query/builder.js +45 -17
  140. package/dist/list-query/builder.js.map +1 -1
  141. package/dist/list-query/filter-mapping.d.ts +89 -0
  142. package/dist/list-query/filter-mapping.d.ts.map +1 -0
  143. package/dist/list-query/filter-mapping.js +254 -0
  144. package/dist/list-query/filter-mapping.js.map +1 -0
  145. package/dist/list-query/filter-value-schemas.d.ts +3 -3
  146. package/dist/list-query/filter-value-schemas.d.ts.map +1 -1
  147. package/dist/list-query/filter-value-schemas.js +13 -3
  148. package/dist/list-query/filter-value-schemas.js.map +1 -1
  149. package/dist/list-query/index.d.ts +4 -2
  150. package/dist/list-query/index.d.ts.map +1 -1
  151. package/dist/list-query/index.js +3 -1
  152. package/dist/list-query/index.js.map +1 -1
  153. package/dist/list-query/parse-filter-values.d.ts.map +1 -1
  154. package/dist/list-query/parse-filter-values.js +2 -2
  155. package/dist/list-query/parse-filter-values.js.map +1 -1
  156. package/dist/list-query/parser.d.ts +3 -2
  157. package/dist/list-query/parser.d.ts.map +1 -1
  158. package/dist/list-query/parser.js.map +1 -1
  159. package/dist/list-query/prisma-executor.d.ts +44 -29
  160. package/dist/list-query/prisma-executor.d.ts.map +1 -1
  161. package/dist/list-query/prisma-executor.js +48 -33
  162. package/dist/list-query/prisma-executor.js.map +1 -1
  163. package/dist/list-query/query-schema.d.ts +8 -13
  164. package/dist/list-query/query-schema.d.ts.map +1 -1
  165. package/dist/list-query/query-schema.js +11 -12
  166. package/dist/list-query/query-schema.js.map +1 -1
  167. package/dist/list-query/schema-helpers.d.ts +17 -17
  168. package/dist/list-query/schema-helpers.d.ts.map +1 -1
  169. package/dist/list-query/schema-helpers.js +11 -11
  170. package/dist/list-query/schema-helpers.js.map +1 -1
  171. package/dist/list-query/sort-mapping.d.ts +37 -0
  172. package/dist/list-query/sort-mapping.d.ts.map +1 -0
  173. package/dist/list-query/sort-mapping.js +88 -0
  174. package/dist/list-query/sort-mapping.js.map +1 -0
  175. package/dist/list-query/types.d.ts +3 -10
  176. package/dist/list-query/types.d.ts.map +1 -1
  177. package/dist/list-query/validator.d.ts.map +1 -1
  178. package/dist/list-query/validator.js +28 -10
  179. package/dist/list-query/validator.js.map +1 -1
  180. package/dist/middleware/rate-limit.d.ts.map +1 -1
  181. package/dist/middleware/rate-limit.js +60 -92
  182. package/dist/middleware/rate-limit.js.map +1 -1
  183. package/dist/observability/exception-tracking.d.ts.map +1 -1
  184. package/dist/observability/exception-tracking.js.map +1 -1
  185. package/dist/observability/index.d.ts +1 -1
  186. package/dist/observability/index.d.ts.map +1 -1
  187. package/dist/observability/index.js +1 -1
  188. package/dist/observability/index.js.map +1 -1
  189. package/dist/observability/pino-logger.d.ts +0 -28
  190. package/dist/observability/pino-logger.d.ts.map +1 -1
  191. package/dist/observability/pino-logger.js +21 -12
  192. package/dist/observability/pino-logger.js.map +1 -1
  193. package/dist/observability/request-context.d.ts +36 -1
  194. package/dist/observability/request-context.d.ts.map +1 -1
  195. package/dist/observability/request-context.js +43 -0
  196. package/dist/observability/request-context.js.map +1 -1
  197. package/dist/openapi/openapi.d.ts +1 -4
  198. package/dist/openapi/openapi.d.ts.map +1 -1
  199. package/dist/openapi/openapi.js +15 -35
  200. package/dist/openapi/openapi.js.map +1 -1
  201. package/dist/rls/configuration.d.ts +3 -0
  202. package/dist/rls/configuration.d.ts.map +1 -0
  203. package/dist/rls/configuration.js +13 -0
  204. package/dist/rls/configuration.js.map +1 -0
  205. package/dist/rls/context.d.ts +37 -0
  206. package/dist/rls/context.d.ts.map +1 -0
  207. package/dist/rls/context.js +56 -0
  208. package/dist/rls/context.js.map +1 -0
  209. package/dist/rls/extension.d.ts +7 -0
  210. package/dist/rls/extension.d.ts.map +1 -0
  211. package/dist/rls/extension.js +91 -0
  212. package/dist/rls/extension.js.map +1 -0
  213. package/dist/rls/generator.d.ts +17 -0
  214. package/dist/rls/generator.d.ts.map +1 -0
  215. package/dist/rls/generator.js +47 -0
  216. package/dist/rls/generator.js.map +1 -0
  217. package/dist/rls/index.d.ts +7 -0
  218. package/dist/rls/index.d.ts.map +1 -0
  219. package/dist/rls/index.js +7 -0
  220. package/dist/rls/index.js.map +1 -0
  221. package/dist/rls/middleware.d.ts +17 -0
  222. package/dist/rls/middleware.d.ts.map +1 -0
  223. package/dist/rls/middleware.js +51 -0
  224. package/dist/rls/middleware.js.map +1 -0
  225. package/dist/rls/testing.d.ts +24 -0
  226. package/dist/rls/testing.d.ts.map +1 -0
  227. package/dist/rls/testing.js +31 -0
  228. package/dist/rls/testing.js.map +1 -0
  229. package/dist/rls/types.d.ts +51 -0
  230. package/dist/rls/types.d.ts.map +1 -0
  231. package/dist/rls/types.js +16 -0
  232. package/dist/rls/types.js.map +1 -0
  233. package/dist/sse/index.d.ts +6 -0
  234. package/dist/sse/index.d.ts.map +1 -0
  235. package/dist/sse/index.js +18 -0
  236. package/dist/sse/index.js.map +1 -0
  237. package/dist/sse/sse-broadcaster.d.ts +38 -0
  238. package/dist/sse/sse-broadcaster.d.ts.map +1 -0
  239. package/dist/sse/sse-broadcaster.js +118 -0
  240. package/dist/sse/sse-broadcaster.js.map +1 -0
  241. package/dist/uploads/uploads.service.d.ts.map +1 -1
  242. package/dist/uploads/validators.d.ts.map +1 -1
  243. package/dist/utils/get-client-ip.d.ts.map +1 -1
  244. package/dist/utils/get-client-ip.js +22 -13
  245. package/dist/utils/get-client-ip.js.map +1 -1
  246. package/dist/utils/serialize-prisma-types.js.map +1 -1
  247. package/package.json +56 -35
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glasswork",
3
- "version": "1.0.1",
3
+ "version": "1.2.0",
4
4
  "description": "A transparent, Lambda-optimized web framework for building OpenAPI-compliant REST APIs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -51,7 +51,22 @@
51
51
  "import": "./dist/observability/index.js",
52
52
  "default": "./dist/observability/index.js"
53
53
  },
54
- "./package.json": "./package.json"
54
+ "./rls": {
55
+ "types": "./dist/rls/index.d.ts",
56
+ "import": "./dist/rls/index.js",
57
+ "default": "./dist/rls/index.js"
58
+ },
59
+ "./audit": {
60
+ "types": "./dist/audit/index.d.ts",
61
+ "import": "./dist/audit/index.js",
62
+ "default": "./dist/audit/index.js"
63
+ },
64
+ "./package.json": "./package.json",
65
+ "./sse": {
66
+ "types": "./dist/sse/index.d.ts",
67
+ "import": "./dist/sse/index.js",
68
+ "default": "./dist/sse/index.js"
69
+ }
55
70
  },
56
71
  "files": [
57
72
  "dist",
@@ -88,15 +103,16 @@
88
103
  "homepage": "https://github.com/rolandboon/glasswork#readme",
89
104
  "scripts": {
90
105
  "build": "tsc",
106
+ "build:scripts": "tsc -p tsconfig.scripts.json",
91
107
  "dev": "tsc --watch",
92
- "test": "vitest run",
93
- "test:coverage": "vitest run --coverage",
108
+ "test": "prisma generate --schema test/rls/fixtures/schema.prisma && vitest run",
109
+ "test:coverage": "prisma generate --schema test/rls/fixtures/schema.prisma && vitest run --coverage",
94
110
  "lint": "biome check . --write",
95
111
  "lint:ci": "biome check .",
96
- "typecheck": "tsc --noEmit",
112
+ "typecheck": "prisma generate --schema test/rls/fixtures/schema.prisma && tsc --noEmit && tsc --noEmit -p tsconfig.rls-tests.json && tsc --noEmit -p tsconfig.scripts.json",
97
113
  "typecheck:strict": "tsc --noEmit -p tsconfig.strict.json",
98
- "smoke:pack": "node scripts/smoke-pack-consumer.mjs",
99
- "verify": "pnpm run typecheck && pnpm run lint:ci && pnpm run build && pnpm run test && pnpm run smoke:pack",
114
+ "smoke:pack": "npm run build:scripts && node .scripts/smoke-pack-consumer.js",
115
+ "verify": "npm run typecheck && npm run lint:ci && npm run build && npm run test && npm run smoke:pack",
100
116
  "prepublishOnly": "npm run verify",
101
117
  "docs:dev": "vitepress dev docs",
102
118
  "docs:build": "vitepress build docs",
@@ -174,43 +190,48 @@
174
190
  }
175
191
  },
176
192
  "devDependencies": {
177
- "@aws-sdk/client-cloudwatch": "^3.1065.0",
178
- "@aws-sdk/client-dynamodb": "^3.1065.0",
179
- "@aws-sdk/client-s3": "^3.1065.0",
180
- "@aws-sdk/client-scheduler": "^3.1064.0",
181
- "@aws-sdk/client-sesv2": "^3.1064.0",
182
- "@aws-sdk/client-sqs": "^3.1064.0",
183
- "@aws-sdk/client-ssm": "^3.1064.0",
184
- "@aws-sdk/lib-dynamodb": "^3.1065.0",
185
- "@aws-sdk/s3-request-presigner": "^3.1065.0",
186
- "@biomejs/biome": "^2.4.16",
187
- "@casl/ability": "^7.0.0",
188
- "@casl/prisma": "^2.0.1",
193
+ "@aws-sdk/client-cloudwatch": "^3.1128.0",
194
+ "@aws-sdk/client-dynamodb": "^3.1128.0",
195
+ "@aws-sdk/client-s3": "^3.1128.0",
196
+ "@aws-sdk/client-scheduler": "^3.1128.0",
197
+ "@aws-sdk/client-sesv2": "^3.1128.0",
198
+ "@aws-sdk/client-sqs": "^3.1128.0",
199
+ "@aws-sdk/client-ssm": "^3.1128.0",
200
+ "@aws-sdk/lib-dynamodb": "^3.1128.0",
201
+ "@aws-sdk/s3-request-presigner": "^3.1128.0",
202
+ "@biomejs/biome": "^2.5.12",
203
+ "@casl/ability": "^7.0.1",
204
+ "@casl/prisma": "^2.0.2",
189
205
  "@hono/swagger-ui": "^0.6.1",
190
- "@prisma/client": "^7.8.0",
191
- "@types/aws-lambda": "^8.10.162",
192
- "@types/node": "^24.13.1",
193
- "@vitest/coverage-v8": "^4.1.8",
194
- "awilix": "^13.0.3",
206
+ "@prisma/adapter-pg": "7.10.0",
207
+ "@prisma/client": "^7.10.0",
208
+ "@types/aws-lambda": "^8.10.163",
209
+ "@types/node": "^26.5.0",
210
+ "@vitest/coverage-v8": "^4.1.11",
211
+ "awilix": "^13.0.5",
212
+ "better-auth": "^1.7.5",
195
213
  "dotenv": "^17.4.2",
196
- "hono": "^4.12.25",
197
- "hono-openapi": "^1.3.0",
198
- "mermaid": "^11.15.0",
199
- "mjml": "^5.3.0",
200
- "typescript": "^5.9.3",
201
- "valibot": "^1.4.1",
214
+ "hono": "^4.13.7",
215
+ "hono-openapi": "^1.3.2",
216
+ "mermaid": "^11.17.2",
217
+ "mjml": "^5.4.0",
218
+ "postal-mime": "^2.7.6",
219
+ "prisma": "7.10.0",
220
+ "typescript": "^7.0.2",
221
+ "valibot": "^1.4.2",
202
222
  "vitepress": "^1.6.4",
203
- "vitepress-plugin-llms": "^1.13.1",
223
+ "vitepress-plugin-llms": "^1.13.5",
204
224
  "vitepress-plugin-mermaid": "^2.0.17",
205
- "vitest": "^4.1.8",
206
- "vue": "^3.5.35"
225
+ "vitest": "^4.1.11",
226
+ "vue": "^3.5.42",
227
+ "yaml": "^2.9.1"
207
228
  },
208
229
  "dependencies": {
209
- "@hono/standard-validator": "^0.2.2",
230
+ "@hono/standard-validator": "^0.2.3",
210
231
  "@hono/valibot-validator": "^0.6.1",
211
232
  "@valibot/to-json-schema": "^1.7.1",
212
233
  "deepmerge": "^4.3.1",
213
- "nanoid": "^5.1.11",
234
+ "nanoid": "^5.1.16",
214
235
  "openapi-types": "^12.1.3"
215
236
  }
216
237
  }