glasswork 1.5.0 → 1.6.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 (203) hide show
  1. package/CHANGELOG.md +62 -1
  2. package/README.md +6 -2
  3. package/dist/audit/audit-logger.d.ts +6 -1
  4. package/dist/audit/audit-logger.d.ts.map +1 -1
  5. package/dist/audit/audit-logger.js +6 -1
  6. package/dist/audit/audit-logger.js.map +1 -1
  7. package/dist/auth/assert.d.ts +4 -0
  8. package/dist/auth/assert.d.ts.map +1 -1
  9. package/dist/auth/assert.js +7 -3
  10. package/dist/auth/assert.js.map +1 -1
  11. package/dist/auth/better-auth-provider.js +13 -4
  12. package/dist/auth/better-auth-provider.js.map +1 -1
  13. package/dist/auth/errors.d.ts +17 -0
  14. package/dist/auth/errors.d.ts.map +1 -0
  15. package/dist/auth/errors.js +23 -0
  16. package/dist/auth/errors.js.map +1 -0
  17. package/dist/auth/index.d.ts +2 -1
  18. package/dist/auth/index.d.ts.map +1 -1
  19. package/dist/auth/index.js +1 -0
  20. package/dist/auth/index.js.map +1 -1
  21. package/dist/auth/middleware.d.ts +13 -0
  22. package/dist/auth/middleware.d.ts.map +1 -1
  23. package/dist/auth/middleware.js +19 -8
  24. package/dist/auth/middleware.js.map +1 -1
  25. package/dist/auth/types.d.ts +4 -0
  26. package/dist/auth/types.d.ts.map +1 -1
  27. package/dist/config/providers.d.ts.map +1 -1
  28. package/dist/config/providers.js +5 -4
  29. package/dist/config/providers.js.map +1 -1
  30. package/dist/core/bootstrap.d.ts +2 -2
  31. package/dist/core/bootstrap.d.ts.map +1 -1
  32. package/dist/core/bootstrap.js +142 -68
  33. package/dist/core/bootstrap.js.map +1 -1
  34. package/dist/core/contract.d.ts +9 -2
  35. package/dist/core/contract.d.ts.map +1 -1
  36. package/dist/core/contract.js +2 -1
  37. package/dist/core/contract.js.map +1 -1
  38. package/dist/core/errors.d.ts +16 -0
  39. package/dist/core/errors.d.ts.map +1 -0
  40. package/dist/core/errors.js +31 -0
  41. package/dist/core/errors.js.map +1 -0
  42. package/dist/core/glasswork-config.d.ts +42 -0
  43. package/dist/core/glasswork-config.d.ts.map +1 -0
  44. package/dist/core/glasswork-config.js +2 -0
  45. package/dist/core/glasswork-config.js.map +1 -0
  46. package/dist/core/index.d.ts +6 -3
  47. package/dist/core/index.d.ts.map +1 -1
  48. package/dist/core/index.js +4 -2
  49. package/dist/core/index.js.map +1 -1
  50. package/dist/core/job-services.d.ts +16 -0
  51. package/dist/core/job-services.d.ts.map +1 -0
  52. package/dist/core/job-services.js +19 -0
  53. package/dist/core/job-services.js.map +1 -0
  54. package/dist/core/lifecycle.d.ts +29 -1
  55. package/dist/core/lifecycle.d.ts.map +1 -1
  56. package/dist/core/lifecycle.js +98 -15
  57. package/dist/core/lifecycle.js.map +1 -1
  58. package/dist/core/module-graph.d.ts +2 -0
  59. package/dist/core/module-graph.d.ts.map +1 -1
  60. package/dist/core/module-graph.js +63 -10
  61. package/dist/core/module-graph.js.map +1 -1
  62. package/dist/core/module-inspection.d.ts +44 -0
  63. package/dist/core/module-inspection.d.ts.map +1 -0
  64. package/dist/core/module-inspection.js +114 -0
  65. package/dist/core/module-inspection.js.map +1 -0
  66. package/dist/core/module-runtime.d.ts +8 -0
  67. package/dist/core/module-runtime.d.ts.map +1 -1
  68. package/dist/core/module-runtime.js +60 -6
  69. package/dist/core/module-runtime.js.map +1 -1
  70. package/dist/core/request-scope.js +1 -1
  71. package/dist/core/request-scope.js.map +1 -1
  72. package/dist/core/types.d.ts +98 -7
  73. package/dist/core/types.d.ts.map +1 -1
  74. package/dist/email/compiler/compiler.d.ts.map +1 -1
  75. package/dist/email/compiler/compiler.js +52 -43
  76. package/dist/email/compiler/compiler.js.map +1 -1
  77. package/dist/email/ses.d.ts +7 -0
  78. package/dist/email/ses.d.ts.map +1 -0
  79. package/dist/email/ses.js +6 -0
  80. package/dist/email/ses.js.map +1 -0
  81. package/dist/email/smtp.d.ts +7 -0
  82. package/dist/email/smtp.d.ts.map +1 -0
  83. package/dist/email/smtp.js +6 -0
  84. package/dist/email/smtp.js.map +1 -0
  85. package/dist/email/transports/ses-transport.d.ts.map +1 -1
  86. package/dist/email/transports/ses-transport.js +6 -4
  87. package/dist/email/transports/ses-transport.js.map +1 -1
  88. package/dist/email/transports/smtp-transport.d.ts +40 -0
  89. package/dist/email/transports/smtp-transport.d.ts.map +1 -0
  90. package/dist/email/transports/smtp-transport.js +67 -0
  91. package/dist/email/transports/smtp-transport.js.map +1 -0
  92. package/dist/http/error-handler.d.ts +7 -1
  93. package/dist/http/error-handler.d.ts.map +1 -1
  94. package/dist/http/error-handler.js +18 -6
  95. package/dist/http/error-handler.js.map +1 -1
  96. package/dist/http/error-response.dto.d.ts +6 -0
  97. package/dist/http/error-response.dto.d.ts.map +1 -1
  98. package/dist/http/error-response.dto.js +6 -0
  99. package/dist/http/error-response.dto.js.map +1 -1
  100. package/dist/http/errors.d.ts +12 -0
  101. package/dist/http/errors.d.ts.map +1 -1
  102. package/dist/http/errors.js +35 -23
  103. package/dist/http/errors.js.map +1 -1
  104. package/dist/http/index.d.ts +1 -1
  105. package/dist/http/index.d.ts.map +1 -1
  106. package/dist/http/index.js +1 -1
  107. package/dist/http/index.js.map +1 -1
  108. package/dist/http/route-authorization.d.ts.map +1 -1
  109. package/dist/http/route-authorization.js +3 -3
  110. package/dist/http/route-authorization.js.map +1 -1
  111. package/dist/http/route-helpers.d.ts +2 -1
  112. package/dist/http/route-helpers.d.ts.map +1 -1
  113. package/dist/http/route-helpers.js +29 -2
  114. package/dist/http/route-helpers.js.map +1 -1
  115. package/dist/http/route-openapi-context.d.ts +15 -1
  116. package/dist/http/route-openapi-context.d.ts.map +1 -1
  117. package/dist/http/route-openapi-context.js.map +1 -1
  118. package/dist/http/route-response.d.ts +6 -2
  119. package/dist/http/route-response.d.ts.map +1 -1
  120. package/dist/http/route-response.js +36 -16
  121. package/dist/http/route-response.js.map +1 -1
  122. package/dist/http/route-types.d.ts +12 -4
  123. package/dist/http/route-types.d.ts.map +1 -1
  124. package/dist/http/route-types.js.map +1 -1
  125. package/dist/http/route-validation.d.ts.map +1 -1
  126. package/dist/http/route-validation.js +21 -1
  127. package/dist/http/route-validation.js.map +1 -1
  128. package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts +1 -0
  129. package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts.map +1 -1
  130. package/dist/jobs/drivers/eventbridge-scheduler-driver.js +12 -2
  131. package/dist/jobs/drivers/eventbridge-scheduler-driver.js.map +1 -1
  132. package/dist/jobs/drivers/mock-driver.d.ts +4 -0
  133. package/dist/jobs/drivers/mock-driver.d.ts.map +1 -1
  134. package/dist/jobs/drivers/mock-driver.js +10 -3
  135. package/dist/jobs/drivers/mock-driver.js.map +1 -1
  136. package/dist/jobs/drivers/sqs-driver.d.ts +1 -1
  137. package/dist/jobs/drivers/sqs-driver.d.ts.map +1 -1
  138. package/dist/jobs/drivers/sqs-driver.js +8 -2
  139. package/dist/jobs/drivers/sqs-driver.js.map +1 -1
  140. package/dist/jobs/errors.d.ts +14 -1
  141. package/dist/jobs/errors.d.ts.map +1 -1
  142. package/dist/jobs/errors.js +19 -2
  143. package/dist/jobs/errors.js.map +1 -1
  144. package/dist/jobs/index.d.ts +3 -3
  145. package/dist/jobs/index.d.ts.map +1 -1
  146. package/dist/jobs/index.js +1 -1
  147. package/dist/jobs/index.js.map +1 -1
  148. package/dist/jobs/job-service.d.ts +46 -7
  149. package/dist/jobs/job-service.d.ts.map +1 -1
  150. package/dist/jobs/job-service.js +63 -9
  151. package/dist/jobs/job-service.js.map +1 -1
  152. package/dist/jobs/scheduler.d.ts +6 -0
  153. package/dist/jobs/scheduler.d.ts.map +1 -0
  154. package/dist/jobs/scheduler.js +6 -0
  155. package/dist/jobs/scheduler.js.map +1 -0
  156. package/dist/jobs/sqs.d.ts +7 -0
  157. package/dist/jobs/sqs.d.ts.map +1 -0
  158. package/dist/jobs/sqs.js +7 -0
  159. package/dist/jobs/sqs.js.map +1 -0
  160. package/dist/jobs/types.d.ts +6 -1
  161. package/dist/jobs/types.d.ts.map +1 -1
  162. package/dist/jobs/utils.d.ts +6 -0
  163. package/dist/jobs/utils.d.ts.map +1 -1
  164. package/dist/jobs/utils.js +8 -0
  165. package/dist/jobs/utils.js.map +1 -1
  166. package/dist/middleware/rate-limit.d.ts.map +1 -1
  167. package/dist/middleware/rate-limit.js +5 -4
  168. package/dist/middleware/rate-limit.js.map +1 -1
  169. package/dist/observability/exception-tracking.d.ts +23 -0
  170. package/dist/observability/exception-tracking.d.ts.map +1 -1
  171. package/dist/observability/exception-tracking.js +101 -6
  172. package/dist/observability/exception-tracking.js.map +1 -1
  173. package/dist/observability/index.d.ts +1 -1
  174. package/dist/observability/index.d.ts.map +1 -1
  175. package/dist/observability/index.js +1 -1
  176. package/dist/observability/index.js.map +1 -1
  177. package/dist/observability/sanitizers.d.ts.map +1 -1
  178. package/dist/observability/sanitizers.js +2 -0
  179. package/dist/observability/sanitizers.js.map +1 -1
  180. package/dist/openapi/drift.d.ts +17 -2
  181. package/dist/openapi/drift.d.ts.map +1 -1
  182. package/dist/openapi/drift.js +79 -5
  183. package/dist/openapi/drift.js.map +1 -1
  184. package/dist/openapi/openapi.d.ts.map +1 -1
  185. package/dist/openapi/openapi.js +2 -1
  186. package/dist/openapi/openapi.js.map +1 -1
  187. package/dist/utils/environment.d.ts +10 -2
  188. package/dist/utils/environment.d.ts.map +1 -1
  189. package/dist/utils/environment.js +20 -3
  190. package/dist/utils/environment.js.map +1 -1
  191. package/dist/utils/module-interop.d.ts +9 -0
  192. package/dist/utils/module-interop.d.ts.map +1 -0
  193. package/dist/utils/module-interop.js +16 -0
  194. package/dist/utils/module-interop.js.map +1 -0
  195. package/dist/utils/optional-dependency.d.ts +6 -0
  196. package/dist/utils/optional-dependency.d.ts.map +1 -0
  197. package/dist/utils/optional-dependency.js +16 -0
  198. package/dist/utils/optional-dependency.js.map +1 -0
  199. package/dist/utils/serialize-prisma-types.d.ts +51 -15
  200. package/dist/utils/serialize-prisma-types.d.ts.map +1 -1
  201. package/dist/utils/serialize-prisma-types.js +47 -16
  202. package/dist/utils/serialize-prisma-types.js.map +1 -1
  203. package/package.json +56 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp.d.ts","sourceRoot":"","sources":["../../src/email/smtp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module glasswork/email/smtp
3
+ * SMTP email transport. Requires `nodemailer`.
4
+ */
5
+ export { SmtpTransport, } from './transports/smtp-transport.js';
6
+ //# sourceMappingURL=smtp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp.js","sourceRoot":"","sources":["../../src/email/smtp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,aAAa,GAGd,MAAM,gCAAgC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ses-transport.d.ts","sourceRoot":"","sources":["../../../src/email/transports/ses-transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQjG;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAa,YAAW,cAAc;IACjD,QAAQ,CAAC,IAAI,SAAS;IACtB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,YAAY,MAAM,EAAE,kBAAkB,EAErC;IAED;;OAEG;YACW,SAAS;IAiBjB,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAUtD;IAED;;OAEG;YACW,eAAe;IA+D7B;;OAEG;YACW,YAAY;IAkD1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,0BAA0B;IA4BlC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;CAQ1B"}
1
+ {"version":3,"file":"ses-transport.d.ts","sourceRoot":"","sources":["../../../src/email/transports/ses-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAcjG;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAa,YAAW,cAAc;IACjD,QAAQ,CAAC,IAAI,SAAS;IACtB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,YAAY,MAAM,EAAE,kBAAkB,EAErC;IAED;;OAEG;YACW,SAAS;IAkBjB,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAUtD;IAED;;OAEG;YACW,eAAe;IA8D7B;;OAEG;YACW,YAAY;IAiD1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,0BAA0B;IA4BlC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;CAQ1B"}
@@ -1,4 +1,5 @@
1
- import { SESv2Client, SendEmailCommand } from '@aws-sdk/client-sesv2';
1
+ import { optionalDependency } from '../../utils/optional-dependency.js';
2
+ const loadSes = optionalDependency('@aws-sdk/client-sesv2', 'SESTransport', () => import('@aws-sdk/client-sesv2'));
2
3
  /**
3
4
  * AWS SES email transport
4
5
  *
@@ -33,7 +34,8 @@ export class SESTransport {
33
34
  this.client = this.config.client;
34
35
  return this.client;
35
36
  }
36
- this.client = new SESv2Client({
37
+ const { SESv2Client } = await loadSes();
38
+ this.client ??= new SESv2Client({
37
39
  region: this.config.region,
38
40
  ...(this.config.endpoint && { endpoint: this.config.endpoint }),
39
41
  });
@@ -52,7 +54,7 @@ export class SESTransport {
52
54
  * Sends a simple email without attachments
53
55
  */
54
56
  async sendSimpleEmail(client, message) {
55
- const SendEmailCommandCtor = this.config.sendEmailCommand !== undefined ? this.config.sendEmailCommand : SendEmailCommand;
57
+ const SendEmailCommandCtor = this.config.sendEmailCommand ?? (await loadSes()).SendEmailCommand;
56
58
  const toAddresses = Array.isArray(message.to) ? message.to : [message.to];
57
59
  const ccAddresses = message.cc
58
60
  ? Array.isArray(message.cc)
@@ -111,7 +113,7 @@ export class SESTransport {
111
113
  * Sends a raw MIME email with attachments
112
114
  */
113
115
  async sendRawEmail(client, message) {
114
- const SendEmailCommandCtor = this.config.sendEmailCommand !== undefined ? this.config.sendEmailCommand : SendEmailCommand;
116
+ const SendEmailCommandCtor = this.config.sendEmailCommand ?? (await loadSes()).SendEmailCommand;
115
117
  const rawMessage = this.buildMimeMessage(message);
116
118
  const toAddresses = Array.isArray(message.to) ? message.to : [message.to];
117
119
  const ccAddresses = message.cc
@@ -1 +1 @@
1
- {"version":3,"file":"ses-transport.js","sourceRoot":"","sources":["../../../src/email/transports/ses-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ses-transport.js","sourceRoot":"","sources":["../../../src/email/transports/ses-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { EmailMessage, EmailResult, EmailTransport, SMTPTransportConfig } from '../types.js';
2
+ /** The part of a Nodemailer transporter that the SMTP transport uses. */
3
+ export interface SmtpTransporter {
4
+ sendMail(mail: Record<string, unknown>): Promise<{
5
+ messageId?: string;
6
+ accepted?: unknown[];
7
+ rejected?: unknown[];
8
+ response?: string;
9
+ }>;
10
+ close?(): void;
11
+ }
12
+ export interface SmtpTransportOptions extends Partial<SMTPTransportConfig> {
13
+ /**
14
+ * A Nodemailer transporter you created. It stays yours: `close()` leaves it open.
15
+ * Without it, the transport creates one from the connection options on first send.
16
+ */
17
+ transporter?: SmtpTransporter;
18
+ /** More options for Nodemailer's `createTransport`, such as `pool`, `tls` or `name`. */
19
+ nodemailer?: Record<string, unknown>;
20
+ }
21
+ /**
22
+ * SMTP transport backed by Nodemailer, for SMTP relays and local mail catchers such as
23
+ * Mailpit. Requires the `nodemailer` package.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * import { SmtpTransport } from 'glasswork/email/smtp';
28
+ *
29
+ * const transport = new SmtpTransport({ host: 'localhost', port: 1025 });
30
+ * ```
31
+ */
32
+ export declare class SmtpTransport implements EmailTransport {
33
+ #private;
34
+ readonly name = "smtp";
35
+ constructor(options: SmtpTransportOptions);
36
+ send(message: EmailMessage): Promise<EmailResult>;
37
+ /** Close a transporter this transport created. A transporter you passed in stays open. */
38
+ close(): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=smtp-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp-transport.d.ts","sourceRoot":"","sources":["../../../src/email/transports/smtp-transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQlG,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,mBAAmB,CAAC;IACxE;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,cAAc;;IAClD,QAAQ,CAAC,IAAI,UAAU;IAIvB,YAAY,OAAO,EAAE,oBAAoB,EAKxC;IAEK,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA0BtD;IAED,0FAA0F;IACpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAI3B;CAUF"}
@@ -0,0 +1,67 @@
1
+ import { optionalDependency } from '../../utils/optional-dependency.js';
2
+ const loadNodemailer = optionalDependency('nodemailer', 'SmtpTransport', () => import('nodemailer'));
3
+ /**
4
+ * SMTP transport backed by Nodemailer, for SMTP relays and local mail catchers such as
5
+ * Mailpit. Requires the `nodemailer` package.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { SmtpTransport } from 'glasswork/email/smtp';
10
+ *
11
+ * const transport = new SmtpTransport({ host: 'localhost', port: 1025 });
12
+ * ```
13
+ */
14
+ export class SmtpTransport {
15
+ name = 'smtp';
16
+ #options;
17
+ #transporter;
18
+ constructor(options) {
19
+ if (!options.transporter && !options.host && !options.nodemailer) {
20
+ throw new Error('SmtpTransport needs a transporter, a host or nodemailer options');
21
+ }
22
+ this.#options = options;
23
+ }
24
+ async send(message) {
25
+ const transporter = await this.#getTransporter();
26
+ const info = await transporter.sendMail({
27
+ from: message.from,
28
+ to: message.to,
29
+ cc: message.cc,
30
+ bcc: message.bcc,
31
+ replyTo: message.replyTo,
32
+ subject: message.subject,
33
+ html: message.html,
34
+ text: message.text,
35
+ headers: message.headers,
36
+ attachments: message.attachments?.map((attachment) => ({
37
+ filename: attachment.filename,
38
+ content: attachment.content,
39
+ contentType: attachment.contentType,
40
+ contentDisposition: attachment.disposition,
41
+ cid: attachment.contentId,
42
+ })),
43
+ });
44
+ return {
45
+ messageId: info.messageId ?? '',
46
+ success: (info.rejected?.length ?? 0) === 0,
47
+ metadata: { accepted: info.accepted, rejected: info.rejected, response: info.response },
48
+ };
49
+ }
50
+ /** Close a transporter this transport created. A transporter you passed in stays open. */
51
+ async close() {
52
+ const transporter = this.#transporter;
53
+ this.#transporter = undefined;
54
+ if (transporter)
55
+ (await transporter).close?.();
56
+ }
57
+ #getTransporter() {
58
+ if (this.#options.transporter)
59
+ return Promise.resolve(this.#options.transporter);
60
+ this.#transporter ??= loadNodemailer().then(({ createTransport }) => {
61
+ const { host, port, secure, auth, nodemailer } = this.#options;
62
+ return createTransport({ host, port, secure, auth, ...nodemailer });
63
+ });
64
+ return this.#transporter;
65
+ }
66
+ }
67
+ //# sourceMappingURL=smtp-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp-transport.js","sourceRoot":"","sources":["../../../src/email/transports/smtp-transport.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,15 @@ interface ExceptionTracker {
13
13
  interface ExceptionTrackingConfig {
14
14
  trackStatusCodes: (statusCode: number) => boolean;
15
15
  }
16
- interface FormattedError {
16
+ /** What the error handler knows about a failed request, passed to `responseHandler`. */
17
+ export interface FormattedError {
18
+ /** Safe message for the response body. */
17
19
  message: string;
18
20
  statusCode: ContentfulStatusCode;
21
+ /** Stable machine-readable code, such as `not-found`. */
22
+ code: string;
23
+ /** The error that was thrown, for custom response handlers and logging. */
24
+ error: unknown;
19
25
  }
20
26
  interface ErrorHandlerOptions {
21
27
  /** Injected logger for all error paths, including error handler failures. */
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/http/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAoC,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGlG;;GAEG;AACH,UAAU,gBAAgB;IACxB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACzE;AAED;;GAEG;AACH,UAAU,uBAAuB;IAC/B,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACnD;AAKD,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,oBAAoB,CAAC;CAClC;AAED,UAAU,mBAAmB;IAC3B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5F;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,cAAc,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;CACpE;AAwID;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAoDlF;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,cAAuB,CAAC"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/http/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAoC,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGlG;;GAEG;AACH,UAAU,gBAAgB;IACxB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACzE;AAED;;GAEG;AACH,UAAU,uBAAuB;IAC/B,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACnD;AAKD,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,oBAAoB,CAAC;IACjC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,mBAAmB;IAC3B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5F;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,cAAc,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;CACpE;AA4ID;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAyDlF;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,cAAuB,CAAC"}
@@ -1,13 +1,11 @@
1
1
  import { HTTPException } from 'hono/http-exception';
2
2
  import { createLogger, getDefaultLogLevel } from '../utils/logger.js';
3
- import { DomainException, getStatusCodeFromErrorCode } from './errors.js';
3
+ import { DomainException, getErrorCodeForStatus, getStatusCodeFromErrorCode } from './errors.js';
4
4
  /**
5
5
  * Default response handler - returns JSON error
6
6
  */
7
7
  function defaultResponseHandler(error, context) {
8
- return context.json({
9
- error: error.message,
10
- }, error.statusCode);
8
+ return context.json({ error: error.message, code: error.code }, error.statusCode);
11
9
  }
12
10
  /**
13
11
  * Track exception if configured and criteria are met.
@@ -46,6 +44,8 @@ function handleDomainException(err, context, logLevel, exceptionTracker, trackin
46
44
  const error = {
47
45
  message: err.message,
48
46
  statusCode: statusCode,
47
+ code: err.errorCode,
48
+ error: err,
49
49
  };
50
50
  // Log 5xx errors with stack trace (if log level allows)
51
51
  if (logLevel !== 'silent' && statusCode >= 500) {
@@ -64,6 +64,8 @@ function handleHTTPException(err, context, logLevel, exceptionTracker, trackingC
64
64
  const error = {
65
65
  message: err.message,
66
66
  statusCode: err.status,
67
+ code: getErrorCodeForStatus(err.status),
68
+ error: err,
67
69
  };
68
70
  // Log 5xx HTTP errors (if log level allows)
69
71
  if (logLevel !== 'silent' && err.status >= 500) {
@@ -84,7 +86,12 @@ function handleUnexpectedError(err, context, logLevel, exceptionTracker, trackin
84
86
  trackException(normalizedError, 500, context, exceptionTracker, trackingConfig, {
85
87
  unexpected: true,
86
88
  });
87
- return { message: 'Internal server error', statusCode: 500 };
89
+ return {
90
+ message: 'Internal server error',
91
+ statusCode: 500,
92
+ code: 'internal-server-error',
93
+ error: err,
94
+ };
88
95
  }
89
96
  /**
90
97
  * Create an error handler middleware for Hono
@@ -117,7 +124,12 @@ export function createErrorHandler(options = {}) {
117
124
  // Error handler itself threw - log and return generic error
118
125
  // Use error level logger for this critical error
119
126
  logger.error('Error in error handler:', handlerErr);
120
- error = { message: 'Internal server error', statusCode: 500 };
127
+ error = {
128
+ message: 'Internal server error',
129
+ statusCode: 500,
130
+ code: 'internal-server-error',
131
+ error: handlerErr,
132
+ };
121
133
  }
122
134
  return responseHandler(error, context);
123
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/http/error-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAA8B,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAoD1E;;GAEG;AACH,SAAS,sBAAsB,CAAC,KAAqB,EAAE,OAAgB;IACrE,OAAO,OAAO,CAAC,IAAI,CACjB;QACE,KAAK,EAAE,KAAK,CAAC,OAAO;KACrB,EACD,KAAK,CAAC,UAAU,CACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,KAAY,EACZ,UAAkB,EAClB,OAAgB,EAChB,OAAqC,EACrC,cAAiE,EACjE,OAAO,GAIH,EAAE;IAEN,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEzD,gCAAgC;IAChC,mCAAmC;IACnC,+DAA+D;IAC/D,IAAI,WAAoB,CAAC;IACzB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,WAAW,GAAG,aAAa,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC9B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACnC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;QACtB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;QAC1B,UAAU;QACV,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;KACxC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,GAAoB,EACpB,OAAgB,EAChB,QAAkB,EAClB,gBAA8C,EAC9C,cAAiE,EACjE,MAAc;IAEd,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAmB;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,UAAkC;KAC/C,CAAC;IAEF,wDAAwD;IACxD,IAAI,QAAQ,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE;QACzE,aAAa,EAAE,GAAG,CAAC,KAAK;QACxB,SAAS,EAAE,GAAG,CAAC,IAAI;KACpB,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,GAAkB,EAClB,OAAgB,EAChB,QAAkB,EAClB,gBAA8C,EAC9C,cAAiE,EACjE,MAAc;IAEd,MAAM,KAAK,GAAmB;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,MAAM;KACvB,CAAC;IAEF,4CAA4C;IAC5C,IAAI,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAE3E,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,GAAY,EACZ,OAAgB,EAChB,QAAkB,EAClB,gBAA8C,EAC9C,cAAiE,EACjE,MAAc;IAEd,0CAA0C;IAC1C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,cAAc,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE;QAC9E,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAO,GAAwB,EAAE;IAClE,MAAM,EACJ,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAC1D,eAAe,GAAG,sBAAsB,EACxC,gBAAgB,EAChB,cAAc,GAAG,EAAE,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,GAAG,EAAE,GACjE,GAAG,OAAO,CAAC;IAEZ,mFAAmF;IACnF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;IAElF,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACtB,IAAI,KAAqB,CAAC;QAE1B,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,KAAK,GAAG,qBAAqB,CAC3B,GAAG,EACH,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,MAAM,CACP,CAAC;YACJ,CAAC;iBAAM,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACxC,KAAK,GAAG,mBAAmB,CACzB,GAAG,EACH,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,MAAM,CACP,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,qBAAqB,CAC3B,GAAG,EACH,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,4DAA4D;YAC5D,iDAAiD;YACjD,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;YACpD,KAAK,GAAG,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAChE,CAAC;QAED,OAAO,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/http/error-handler.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,10 @@ import { type InferOutput } from 'valibot';
19
19
  * ```
20
20
  */
21
21
  export declare const ErrorResponseDto: import("valibot").ObjectSchema<{
22
+ /** Human-readable message; may change between releases. */
22
23
  readonly error: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 1000, undefined>]>;
24
+ /** Stable machine-readable code for clients to translate, such as `not-found`. */
25
+ readonly code: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 100, undefined>]>;
23
26
  }, undefined>;
24
27
  export type ErrorResponse = InferOutput<typeof ErrorResponseDto>;
25
28
  /**
@@ -53,6 +56,7 @@ export type ValidationIssue = InferOutput<typeof ValidationIssueDto>;
53
56
  * ```json
54
57
  * {
55
58
  * "error": "Validation failed",
59
+ * "code": "validation-failed",
56
60
  * "issues": [
57
61
  * {
58
62
  * "message": "Invalid email",
@@ -64,6 +68,8 @@ export type ValidationIssue = InferOutput<typeof ValidationIssueDto>;
64
68
  */
65
69
  export declare const ValidationErrorResponseDto: import("valibot").ObjectSchema<{
66
70
  readonly error: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 1000, undefined>]>;
71
+ /** Always `validation-failed`. */
72
+ readonly code: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 100, undefined>]>;
67
73
  readonly issues: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").ObjectSchema<{
68
74
  readonly message: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 500, undefined>]>;
69
75
  readonly path: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>, import("valibot").MaxLengthAction<(string | number)[], 20, undefined>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"error-response.dto.d.ts","sourceRoot":"","sources":["../../src/http/error-response.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,WAAW,EAAkD,MAAM,SAAS,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB;;aAE3B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;aAG7B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;aAGrC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"error-response.dto.d.ts","sourceRoot":"","sources":["../../src/http/error-response.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,WAAW,EAAkD,MAAM,SAAS,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB;IAC3B,2DAA2D;;IAE3D,kFAAkF;;aAElF,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;aAG7B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,0BAA0B;;IAErC,kCAAkC;;;;;;;;;aAGlC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -19,7 +19,10 @@ import { array, maxLength, number, object, pipe, string, union } from 'valibot';
19
19
  * ```
20
20
  */
21
21
  export const ErrorResponseDto = object({
22
+ /** Human-readable message; may change between releases. */
22
23
  error: pipe(string(), maxLength(1000)),
24
+ /** Stable machine-readable code for clients to translate, such as `not-found`. */
25
+ code: pipe(string(), maxLength(100)),
23
26
  });
24
27
  /**
25
28
  * Validation issue - simplified version of Valibot's internal structure
@@ -51,6 +54,7 @@ export const ValidationIssueDto = object({
51
54
  * ```json
52
55
  * {
53
56
  * "error": "Validation failed",
57
+ * "code": "validation-failed",
54
58
  * "issues": [
55
59
  * {
56
60
  * "message": "Invalid email",
@@ -62,6 +66,8 @@ export const ValidationIssueDto = object({
62
66
  */
63
67
  export const ValidationErrorResponseDto = object({
64
68
  error: pipe(string(), maxLength(1000)),
69
+ /** Always `validation-failed`. */
70
+ code: pipe(string(), maxLength(100)),
65
71
  issues: pipe(array(ValidationIssueDto), maxLength(100)),
66
72
  });
67
73
  //# sourceMappingURL=error-response.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-response.dto.js","sourceRoot":"","sources":["../../src/http/error-response.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAoB,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;IACrC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;CAC9D,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CACxD,CAAC,CAAC"}
1
+ {"version":3,"file":"error-response.dto.js","sourceRoot":"","sources":["../../src/http/error-response.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAoB,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;IACrC,2DAA2D;IAC3D,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,kFAAkF;IAClF,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CACrC,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;CAC9D,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,kCAAkC;IAClC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CACxD,CAAC,CAAC"}
@@ -8,6 +8,12 @@ export interface DomainExceptionOptions {
8
8
  * Set to true to force tracking, false to never track
9
9
  */
10
10
  track?: boolean;
11
+ /**
12
+ * Stable, machine-readable code for clients, returned as `code` in the error response.
13
+ * Defaults to the exception's category in kebab case, such as `not-found`. Clients
14
+ * translate codes; messages may change.
15
+ */
16
+ errorCode?: string;
11
17
  }
12
18
  /**
13
19
  * Base domain exception class for business logic errors.
@@ -33,8 +39,12 @@ export declare class DomainException extends Error {
33
39
  * If set, overrides default tracking rules based on status codes.
34
40
  */
35
41
  readonly track?: boolean;
42
+ /** Stable code for clients; see {@link DomainExceptionOptions.errorCode}. */
43
+ readonly errorCode: string;
36
44
  constructor(message: string, code: string, options?: DomainExceptionOptions);
37
45
  }
46
+ /** Turns an exception category such as `NOT_FOUND` into the default client code `not-found`. */
47
+ export declare function toErrorCode(category: string): string;
38
48
  /**
39
49
  * Standard HTTP exception classes
40
50
  */
@@ -102,4 +112,6 @@ export declare class GatewayTimeoutException extends DomainException {
102
112
  * Map error codes to HTTP status codes
103
113
  */
104
114
  export declare function getStatusCodeFromErrorCode(code: string): number;
115
+ /** Default client code for an HTTP status, such as `not-found` for 404. */
116
+ export declare function getErrorCodeForStatus(status: number): string;
105
117
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAStB,IAAI,EAAE,MAAM;IAR9B;;;OAGG;IACH,SAAgB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhC,YACE,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE,sBAAsB,EAKjC;CACF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAO,SAAqB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAEzE;CACF;AAED,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,YAAY,OAAO,SAAiB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAErE;CACF;AAED,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,YAAY,OAAO,SAAc,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAElE;CACF;AAED,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,YAAY,OAAO,SAAa,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAEjE;CACF;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,YAAY,OAAO,SAAc,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAElE;CACF;AAED,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAO,SAAgB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAEpE;CACF;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,YAAY,OAAO,SAAsB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE1E;CACF;AAED,qBAAa,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAO,SAAuB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE3E;CACF;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,OAAO,SAAoB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAExE;CACF;AAED,qBAAa,aAAc,SAAQ,eAAe;IAChD,YAAY,OAAO,SAAS,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE7D;CACF;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,YAAY,OAAO,SAAsB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE1E;CACF;AAED,qBAAa,6BAA8B,SAAQ,eAAe;IAChE,YAAY,OAAO,SAA2B,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE/E;CACF;AAED,qBAAa,4BAA6B,SAAQ,eAAe;IAC/D,YAAY,OAAO,SAAyB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE7E;CACF;AAED,qBAAa,eAAgB,SAAQ,eAAe;IAClD,YAAY,OAAO,SAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE/D;CACF;AAED,qBAAa,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,OAAO,SAAwB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE5E;CACF;AAED,qBAAa,4BAA6B,SAAQ,eAAe;IAC/D,YAAY,OAAO,SAA0B,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE9E;CACF;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,OAAO,SAAoB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAExE;CACF;AAED,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAO,SAAgB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAEpE;CACF;AAED,qBAAa,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,OAAO,SAAwB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAE5E;CACF;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,OAAO,SAAoB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAExE;CACF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyB/D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"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"}
@@ -22,13 +22,20 @@ export class DomainException extends Error {
22
22
  * If set, overrides default tracking rules based on status codes.
23
23
  */
24
24
  track;
25
+ /** Stable code for clients; see {@link DomainExceptionOptions.errorCode}. */
26
+ errorCode;
25
27
  constructor(message, code, options) {
26
28
  super(message);
27
29
  this.code = code;
28
30
  this.name = this.constructor.name;
29
31
  this.track = options?.track;
32
+ this.errorCode = options?.errorCode ?? toErrorCode(code);
30
33
  }
31
34
  }
35
+ /** Turns an exception category such as `NOT_FOUND` into the default client code `not-found`. */
36
+ export function toErrorCode(category) {
37
+ return category.toLowerCase().replaceAll('_', '-');
38
+ }
32
39
  /**
33
40
  * Standard HTTP exception classes
34
41
  */
@@ -132,32 +139,37 @@ export class GatewayTimeoutException extends DomainException {
132
139
  super(message, 'GATEWAY_TIMEOUT', options);
133
140
  }
134
141
  }
142
+ const STATUS_BY_CATEGORY = {
143
+ BAD_REQUEST: 400,
144
+ UNAUTHORIZED: 401,
145
+ FORBIDDEN: 403,
146
+ NOT_FOUND: 404,
147
+ METHOD_NOT_ALLOWED: 405,
148
+ REQUEST_TIMEOUT: 408,
149
+ CONFLICT: 409,
150
+ GONE: 410,
151
+ PRECONDITION_FAILED: 412,
152
+ PAYLOAD_TOO_LARGE: 413,
153
+ UNSUPPORTED_MEDIA_TYPE: 415,
154
+ VALIDATION_ERROR: 422,
155
+ UNPROCESSABLE_ENTITY: 422,
156
+ LOCKED: 423,
157
+ TOO_MANY_REQUESTS: 429,
158
+ INTERNAL_SERVER_ERROR: 500,
159
+ NOT_IMPLEMENTED: 501,
160
+ BAD_GATEWAY: 502,
161
+ SERVICE_UNAVAILABLE: 503,
162
+ GATEWAY_TIMEOUT: 504,
163
+ };
135
164
  /**
136
165
  * Map error codes to HTTP status codes
137
166
  */
138
167
  export function getStatusCodeFromErrorCode(code) {
139
- const codeMap = {
140
- BAD_REQUEST: 400,
141
- UNAUTHORIZED: 401,
142
- FORBIDDEN: 403,
143
- NOT_FOUND: 404,
144
- METHOD_NOT_ALLOWED: 405,
145
- REQUEST_TIMEOUT: 408,
146
- CONFLICT: 409,
147
- GONE: 410,
148
- PRECONDITION_FAILED: 412,
149
- PAYLOAD_TOO_LARGE: 413,
150
- UNSUPPORTED_MEDIA_TYPE: 415,
151
- VALIDATION_ERROR: 422,
152
- UNPROCESSABLE_ENTITY: 422,
153
- LOCKED: 423,
154
- TOO_MANY_REQUESTS: 429,
155
- INTERNAL_SERVER_ERROR: 500,
156
- NOT_IMPLEMENTED: 501,
157
- BAD_GATEWAY: 502,
158
- SERVICE_UNAVAILABLE: 503,
159
- GATEWAY_TIMEOUT: 504,
160
- };
161
- return codeMap[code] || 500;
168
+ return STATUS_BY_CATEGORY[code] || 500;
169
+ }
170
+ /** Default client code for an HTTP status, such as `not-found` for 404. */
171
+ export function getErrorCodeForStatus(status) {
172
+ const category = Object.entries(STATUS_BY_CATEGORY).find(([name, value]) => value === status && name !== 'VALIDATION_ERROR')?.[0];
173
+ return category ? toErrorCode(category) : `http-${status}`;
162
174
  }
163
175
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAStB,IAAI;IARtB;;;OAGG;IACa,KAAK,CAAW;IAEhC,YACE,OAAe,EACC,IAAY,EAC5B,OAAgC;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAHC,IAAI;QAIpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAO,GAAG,kBAAkB,EAAE,OAAgC;QACxE,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxD,YAAY,OAAO,GAAG,cAAc,EAAE,OAAgC;QACpE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACpD,YAAY,OAAO,GAAG,WAAW,EAAE,OAAgC;QACjE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACpD,YAAY,OAAO,GAAG,UAAU,EAAE,OAAgC;QAChE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IACrD,YAAY,OAAO,GAAG,WAAW,EAAE,OAAgC;QACjE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAO,GAAG,aAAa,EAAE,OAAgC;QACnE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,eAAe;IAC3D,YAAY,OAAO,GAAG,mBAAmB,EAAE,OAAgC;QACzE,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAO,GAAG,oBAAoB,EAAE,OAAgC;QAC1E,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,OAAO,GAAG,iBAAiB,EAAE,OAAgC;QACvE,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,eAAe;IAChD,YAAY,OAAO,GAAG,MAAM,EAAE,OAAgC;QAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,eAAe;IAC3D,YAAY,OAAO,GAAG,mBAAmB,EAAE,OAAgC;QACzE,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,eAAe;IAChE,YAAY,OAAO,GAAG,wBAAwB,EAAE,OAAgC;QAC9E,KAAK,CAAC,OAAO,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,eAAe;IAC/D,YAAY,OAAO,GAAG,sBAAsB,EAAE,OAAgC;QAC5E,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,eAAe;IAClD,YAAY,OAAO,GAAG,QAAQ,EAAE,OAAgC;QAC9D,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,OAAO,GAAG,qBAAqB,EAAE,OAAgC;QAC3E,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,eAAe;IAC/D,YAAY,OAAO,GAAG,uBAAuB,EAAE,OAAgC;QAC7E,KAAK,CAAC,OAAO,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,OAAO,GAAG,iBAAiB,EAAE,OAAgC;QACvE,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,OAAO,GAAG,aAAa,EAAE,OAAgC;QACnE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,OAAO,GAAG,qBAAqB,EAAE,OAAgC;QAC3E,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,OAAO,GAAG,iBAAiB,EAAE,OAAgC;QACvE,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,OAAO,GAA2B;QACtC,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,kBAAkB,EAAE,GAAG;QACvB,eAAe,EAAE,GAAG;QACpB,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,GAAG;QACT,mBAAmB,EAAE,GAAG;QACxB,iBAAiB,EAAE,GAAG;QACtB,sBAAsB,EAAE,GAAG;QAC3B,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,GAAG;QACzB,MAAM,EAAE,GAAG;QACX,iBAAiB,EAAE,GAAG;QACtB,qBAAqB,EAAE,GAAG;QAC1B,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,GAAG;QAChB,mBAAmB,EAAE,GAAG;QACxB,eAAe,EAAE,GAAG;KACrB,CAAC;IAEF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export { Hono } from 'hono';
8
8
  export type { OpenAPIV3 } from 'openapi-types';
9
9
  export { createRateLimitMiddleware } from '../middleware/rate-limit.js';
10
10
  export { defaultOpenAPIComponents } from '../openapi/defaults.js';
11
- export { assertOpenAPIMatches, OpenAPIDriftError } from '../openapi/drift.js';
11
+ export { assertOpenAPIMatches, diffOpenAPI, type OpenAPIDifference, OpenAPIDriftError, writeOpenAPIDocument, } from '../openapi/drift.js';
12
12
  export { configureOpenAPI } from '../openapi/openapi.js';
13
13
  export { applyProcessors, createBuiltinProcessors, createCorsHeadersProcessor, createRateLimitHeadersProcessor, paginationHeadersProcessor, responseHeadersProcessor, } from '../openapi/openapi-processors.js';
14
14
  export { createErrorHandler, defaultErrorHandler } from './error-handler.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,KAAK,aAAa,EAClB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,0BAA0B,EAC1B,KAAK,eAAe,EACpB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,KAAK,sBAAsB,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,4BAA4B,EAC5B,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,KAAK,aAAa,EAClB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,0BAA0B,EAC1B,KAAK,eAAe,EACpB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,KAAK,sBAAsB,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,4BAA4B,EAC5B,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
@@ -6,7 +6,7 @@ import '../hono-context.js';
6
6
  export { Hono } from 'hono';
7
7
  export { createRateLimitMiddleware } from '../middleware/rate-limit.js';
8
8
  export { defaultOpenAPIComponents } from '../openapi/defaults.js';
9
- export { assertOpenAPIMatches, OpenAPIDriftError } from '../openapi/drift.js';
9
+ export { assertOpenAPIMatches, diffOpenAPI, OpenAPIDriftError, writeOpenAPIDocument, } from '../openapi/drift.js';
10
10
  export { configureOpenAPI } from '../openapi/openapi.js';
11
11
  export { applyProcessors, createBuiltinProcessors, createCorsHeadersProcessor, createRateLimitHeadersProcessor, paginationHeadersProcessor, responseHeadersProcessor, } from '../openapi/openapi-processors.js';
12
12
  export { createErrorHandler, defaultErrorHandler } from './error-handler.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAEL,gBAAgB,EAEhB,0BAA0B,EAE1B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAEf,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,4BAA4B,EAC5B,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,WAAW,EAEX,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAEL,gBAAgB,EAEhB,0BAA0B,EAE1B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAEf,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,4BAA4B,EAC5B,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}