@beignet/core 0.0.2 → 0.0.4

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 (360) hide show
  1. package/CHANGELOG.md +173 -0
  2. package/README.md +821 -30
  3. package/dist/application/index.d.ts +28 -2
  4. package/dist/application/index.d.ts.map +1 -1
  5. package/dist/application/index.js +140 -12
  6. package/dist/application/index.js.map +1 -1
  7. package/dist/client/client.d.ts +2 -2
  8. package/dist/client/client.d.ts.map +1 -1
  9. package/dist/client/client.js +136 -48
  10. package/dist/client/client.js.map +1 -1
  11. package/dist/client/error-messages.d.ts +14 -0
  12. package/dist/client/error-messages.d.ts.map +1 -0
  13. package/dist/client/error-messages.js +23 -0
  14. package/dist/client/error-messages.js.map +1 -0
  15. package/dist/client/index.d.ts +8 -4
  16. package/dist/client/index.d.ts.map +1 -1
  17. package/dist/client/index.js +6 -2
  18. package/dist/client/index.js.map +1 -1
  19. package/dist/client/types.d.ts +35 -5
  20. package/dist/client/types.d.ts.map +1 -1
  21. package/dist/client-only.d.ts +8 -0
  22. package/dist/client-only.d.ts.map +1 -0
  23. package/dist/client-only.js +8 -0
  24. package/dist/client-only.js.map +1 -0
  25. package/dist/config/index.d.ts +5 -5
  26. package/dist/config/index.d.ts.map +1 -1
  27. package/dist/config/index.js +2 -2
  28. package/dist/config/index.js.map +1 -1
  29. package/dist/contracts/catalog-errors.d.ts +27 -0
  30. package/dist/contracts/catalog-errors.d.ts.map +1 -0
  31. package/dist/contracts/catalog-errors.js +69 -0
  32. package/dist/contracts/catalog-errors.js.map +1 -0
  33. package/dist/contracts/contract-builder.d.ts +15 -12
  34. package/dist/contracts/contract-builder.d.ts.map +1 -1
  35. package/dist/contracts/contract-builder.js +15 -41
  36. package/dist/contracts/contract-builder.js.map +1 -1
  37. package/dist/contracts/contract-group.d.ts +11 -8
  38. package/dist/contracts/contract-group.d.ts.map +1 -1
  39. package/dist/contracts/contract-group.js +13 -40
  40. package/dist/contracts/contract-group.js.map +1 -1
  41. package/dist/contracts/contract-like.d.ts +1 -1
  42. package/dist/contracts/contract-like.d.ts.map +1 -1
  43. package/dist/contracts/index.d.ts +13 -9
  44. package/dist/contracts/index.d.ts.map +1 -1
  45. package/dist/contracts/index.js +9 -5
  46. package/dist/contracts/index.js.map +1 -1
  47. package/dist/contracts/openapi-meta.d.ts +48 -0
  48. package/dist/contracts/openapi-meta.d.ts.map +1 -1
  49. package/dist/contracts/openapi-meta.js +3 -0
  50. package/dist/contracts/openapi-meta.js.map +1 -1
  51. package/dist/contracts/path-template.d.ts +1 -1
  52. package/dist/contracts/path-template.js +2 -2
  53. package/dist/contracts/path-template.js.map +1 -1
  54. package/dist/contracts/schema-shape.d.ts +37 -0
  55. package/dist/contracts/schema-shape.d.ts.map +1 -0
  56. package/dist/contracts/schema-shape.js +61 -0
  57. package/dist/contracts/schema-shape.js.map +1 -0
  58. package/dist/contracts/success-status.d.ts +32 -0
  59. package/dist/contracts/success-status.d.ts.map +1 -0
  60. package/dist/contracts/success-status.js +18 -0
  61. package/dist/contracts/success-status.js.map +1 -0
  62. package/dist/contracts/types.d.ts +25 -5
  63. package/dist/contracts/types.d.ts.map +1 -1
  64. package/dist/contracts/types.js.map +1 -1
  65. package/dist/contracts/utils.d.ts +1 -1
  66. package/dist/contracts/utils.d.ts.map +1 -1
  67. package/dist/contracts/utils.js +1 -1
  68. package/dist/contracts/utils.js.map +1 -1
  69. package/dist/domain/events.d.ts +1 -1
  70. package/dist/domain/events.d.ts.map +1 -1
  71. package/dist/domain/events.js +1 -1
  72. package/dist/domain/events.js.map +1 -1
  73. package/dist/domain/index.d.ts +3 -3
  74. package/dist/domain/index.d.ts.map +1 -1
  75. package/dist/domain/index.js +3 -3
  76. package/dist/domain/index.js.map +1 -1
  77. package/dist/errors/catalog.d.ts +9 -1
  78. package/dist/errors/catalog.d.ts.map +1 -1
  79. package/dist/errors/catalog.js +7 -1
  80. package/dist/errors/catalog.js.map +1 -1
  81. package/dist/errors/http.d.ts +10 -0
  82. package/dist/errors/http.d.ts.map +1 -1
  83. package/dist/errors/http.js +11 -1
  84. package/dist/errors/http.js.map +1 -1
  85. package/dist/errors/index.d.ts +4 -4
  86. package/dist/errors/index.d.ts.map +1 -1
  87. package/dist/errors/index.js +4 -4
  88. package/dist/errors/index.js.map +1 -1
  89. package/dist/errors/response.d.ts +4 -1
  90. package/dist/errors/response.d.ts.map +1 -1
  91. package/dist/errors/response.js.map +1 -1
  92. package/dist/events/index.d.ts +10 -12
  93. package/dist/events/index.d.ts.map +1 -1
  94. package/dist/events/index.js +10 -10
  95. package/dist/events/index.js.map +1 -1
  96. package/dist/idempotency/index.d.ts +5 -3
  97. package/dist/idempotency/index.d.ts.map +1 -1
  98. package/dist/idempotency/index.js.map +1 -1
  99. package/dist/jobs/index.d.ts +148 -16
  100. package/dist/jobs/index.d.ts.map +1 -1
  101. package/dist/jobs/index.js +174 -14
  102. package/dist/jobs/index.js.map +1 -1
  103. package/dist/notifications/index.d.ts +14 -16
  104. package/dist/notifications/index.d.ts.map +1 -1
  105. package/dist/notifications/index.js +14 -14
  106. package/dist/notifications/index.js.map +1 -1
  107. package/dist/openapi/index.d.ts +8 -3
  108. package/dist/openapi/index.d.ts.map +1 -1
  109. package/dist/openapi/index.js +41 -29
  110. package/dist/openapi/index.js.map +1 -1
  111. package/dist/openapi/schema-introspector.d.ts +37 -0
  112. package/dist/openapi/schema-introspector.d.ts.map +1 -1
  113. package/dist/openapi/schema-introspector.js +23 -17
  114. package/dist/openapi/schema-introspector.js.map +1 -1
  115. package/dist/outbox/index.d.ts +18 -4
  116. package/dist/outbox/index.d.ts.map +1 -1
  117. package/dist/outbox/index.js +104 -4
  118. package/dist/outbox/index.js.map +1 -1
  119. package/dist/ports/audit.d.ts +56 -10
  120. package/dist/ports/audit.d.ts.map +1 -1
  121. package/dist/ports/audit.js +71 -3
  122. package/dist/ports/audit.js.map +1 -1
  123. package/dist/ports/auth.d.ts +92 -0
  124. package/dist/ports/auth.d.ts.map +1 -1
  125. package/dist/ports/auth.js +92 -0
  126. package/dist/ports/auth.js.map +1 -1
  127. package/dist/ports/events.d.ts +2 -2
  128. package/dist/ports/events.d.ts.map +1 -1
  129. package/dist/ports/index.d.ts +62 -33
  130. package/dist/ports/index.d.ts.map +1 -1
  131. package/dist/ports/index.js +28 -34
  132. package/dist/ports/index.js.map +1 -1
  133. package/dist/ports/policy.d.ts +32 -3
  134. package/dist/ports/policy.d.ts.map +1 -1
  135. package/dist/ports/policy.js +13 -2
  136. package/dist/ports/policy.js.map +1 -1
  137. package/dist/ports/testing.d.ts +1030 -2
  138. package/dist/ports/testing.d.ts.map +1 -1
  139. package/dist/ports/testing.js +1031 -1
  140. package/dist/ports/testing.js.map +1 -1
  141. package/dist/ports/unbound.d.ts +21 -0
  142. package/dist/ports/unbound.d.ts.map +1 -0
  143. package/dist/ports/unbound.js +57 -0
  144. package/dist/ports/unbound.js.map +1 -0
  145. package/dist/ports/unit-of-work.d.ts +1 -1
  146. package/dist/ports/unit-of-work.d.ts.map +1 -1
  147. package/dist/ports/unit-of-work.js +1 -1
  148. package/dist/ports/unit-of-work.js.map +1 -1
  149. package/dist/providers/index.d.ts +3 -2
  150. package/dist/providers/index.d.ts.map +1 -1
  151. package/dist/providers/index.js +3 -2
  152. package/dist/providers/index.js.map +1 -1
  153. package/dist/providers/instrumentation.d.ts +46 -5
  154. package/dist/providers/instrumentation.d.ts.map +1 -1
  155. package/dist/providers/instrumentation.js +25 -6
  156. package/dist/providers/instrumentation.js.map +1 -1
  157. package/dist/providers/metadata.d.ts +39 -0
  158. package/dist/providers/metadata.d.ts.map +1 -0
  159. package/dist/providers/metadata.js +169 -0
  160. package/dist/providers/metadata.js.map +1 -0
  161. package/dist/providers/provider.d.ts +114 -9
  162. package/dist/providers/provider.d.ts.map +1 -1
  163. package/dist/providers/provider.js +3 -20
  164. package/dist/providers/provider.js.map +1 -1
  165. package/dist/schedules/index.d.ts +94 -13
  166. package/dist/schedules/index.d.ts.map +1 -1
  167. package/dist/schedules/index.js +66 -12
  168. package/dist/schedules/index.js.map +1 -1
  169. package/dist/server/audit-context.d.ts +29 -0
  170. package/dist/server/audit-context.d.ts.map +1 -0
  171. package/dist/server/audit-context.js +44 -0
  172. package/dist/server/audit-context.js.map +1 -0
  173. package/dist/server/context.d.ts +141 -0
  174. package/dist/server/context.d.ts.map +1 -0
  175. package/dist/server/context.js +39 -0
  176. package/dist/server/context.js.map +1 -0
  177. package/dist/server/contract-like.d.ts +1 -1
  178. package/dist/server/contract-like.d.ts.map +1 -1
  179. package/dist/server/contract-like.js +1 -1
  180. package/dist/server/contract-like.js.map +1 -1
  181. package/dist/server/health.d.ts +2 -2
  182. package/dist/server/health.d.ts.map +1 -1
  183. package/dist/server/hooks/auth.d.ts +89 -65
  184. package/dist/server/hooks/auth.d.ts.map +1 -1
  185. package/dist/server/hooks/auth.js +84 -55
  186. package/dist/server/hooks/auth.js.map +1 -1
  187. package/dist/server/hooks/cors.d.ts +1 -1
  188. package/dist/server/hooks/cors.d.ts.map +1 -1
  189. package/dist/server/hooks/errors.d.ts +2 -2
  190. package/dist/server/hooks/errors.d.ts.map +1 -1
  191. package/dist/server/hooks/errors.js +2 -2
  192. package/dist/server/hooks/errors.js.map +1 -1
  193. package/dist/server/hooks/idempotency.d.ts +78 -0
  194. package/dist/server/hooks/idempotency.d.ts.map +1 -0
  195. package/dist/server/hooks/idempotency.js +154 -0
  196. package/dist/server/hooks/idempotency.js.map +1 -0
  197. package/dist/server/hooks/index.d.ts +8 -7
  198. package/dist/server/hooks/index.d.ts.map +1 -1
  199. package/dist/server/hooks/index.js +6 -5
  200. package/dist/server/hooks/index.js.map +1 -1
  201. package/dist/server/hooks/logging.d.ts +2 -2
  202. package/dist/server/hooks/logging.d.ts.map +1 -1
  203. package/dist/server/hooks/logging.js +1 -1
  204. package/dist/server/hooks/logging.js.map +1 -1
  205. package/dist/server/hooks/rate-limit.d.ts +25 -7
  206. package/dist/server/hooks/rate-limit.d.ts.map +1 -1
  207. package/dist/server/hooks/rate-limit.js +47 -12
  208. package/dist/server/hooks/rate-limit.js.map +1 -1
  209. package/dist/server/hooks.d.ts +1 -1
  210. package/dist/server/hooks.d.ts.map +1 -1
  211. package/dist/server/hooks.js +1 -1
  212. package/dist/server/hooks.js.map +1 -1
  213. package/dist/server/http.d.ts +84 -6
  214. package/dist/server/http.d.ts.map +1 -1
  215. package/dist/server/index.d.ts +36 -12
  216. package/dist/server/index.d.ts.map +1 -1
  217. package/dist/server/index.js +24 -8
  218. package/dist/server/index.js.map +1 -1
  219. package/dist/server/instrumentation.d.ts +108 -0
  220. package/dist/server/instrumentation.d.ts.map +1 -0
  221. package/dist/server/instrumentation.js +297 -0
  222. package/dist/server/instrumentation.js.map +1 -0
  223. package/dist/server/openapi.d.ts +3 -3
  224. package/dist/server/openapi.d.ts.map +1 -1
  225. package/dist/server/openapi.js +1 -1
  226. package/dist/server/openapi.js.map +1 -1
  227. package/dist/server/providers/index.d.ts +3 -3
  228. package/dist/server/providers/index.d.ts.map +1 -1
  229. package/dist/server/providers/index.js +3 -3
  230. package/dist/server/providers/index.js.map +1 -1
  231. package/dist/server/providers/loadProviderConfig.d.ts +2 -2
  232. package/dist/server/providers/loadProviderConfig.d.ts.map +1 -1
  233. package/dist/server/providers/loadProviderConfig.js +2 -2
  234. package/dist/server/providers/loadProviderConfig.js.map +1 -1
  235. package/dist/server/request-context.d.ts +67 -0
  236. package/dist/server/request-context.d.ts.map +1 -0
  237. package/dist/server/request-context.js +79 -0
  238. package/dist/server/request-context.js.map +1 -0
  239. package/dist/server/server-context.d.ts +38 -0
  240. package/dist/server/server-context.d.ts.map +1 -0
  241. package/dist/server/server-context.js +38 -0
  242. package/dist/server/server-context.js.map +1 -0
  243. package/dist/server/server.d.ts +148 -35
  244. package/dist/server/server.d.ts.map +1 -1
  245. package/dist/server/server.js +482 -145
  246. package/dist/server/server.js.map +1 -1
  247. package/dist/server/types.d.ts +2 -2
  248. package/dist/server/types.d.ts.map +1 -1
  249. package/dist/server/types.js +2 -2
  250. package/dist/server/types.js.map +1 -1
  251. package/dist/server/use-case-route.d.ts +263 -0
  252. package/dist/server/use-case-route.d.ts.map +1 -0
  253. package/dist/server/use-case-route.js +77 -0
  254. package/dist/server/use-case-route.js.map +1 -0
  255. package/dist/server-only.d.ts +8 -0
  256. package/dist/server-only.d.ts.map +1 -0
  257. package/dist/server-only.js +8 -0
  258. package/dist/server-only.js.map +1 -0
  259. package/dist/tasks/index.d.ts +139 -0
  260. package/dist/tasks/index.d.ts.map +1 -0
  261. package/dist/tasks/index.js +98 -0
  262. package/dist/tasks/index.js.map +1 -0
  263. package/dist/testing/index.d.ts +611 -5
  264. package/dist/testing/index.d.ts.map +1 -1
  265. package/dist/testing/index.js +434 -4
  266. package/dist/testing/index.js.map +1 -1
  267. package/dist/tracing/index.d.ts +89 -0
  268. package/dist/tracing/index.d.ts.map +1 -0
  269. package/dist/tracing/index.js +101 -0
  270. package/dist/tracing/index.js.map +1 -0
  271. package/dist/uploads/client.d.ts +278 -0
  272. package/dist/uploads/client.d.ts.map +1 -0
  273. package/dist/uploads/client.js +428 -0
  274. package/dist/uploads/client.js.map +1 -0
  275. package/dist/uploads/index.d.ts +361 -0
  276. package/dist/uploads/index.d.ts.map +1 -0
  277. package/dist/uploads/index.js +543 -0
  278. package/dist/uploads/index.js.map +1 -0
  279. package/package.json +34 -3
  280. package/src/application/index.ts +193 -10
  281. package/src/client/client.ts +148 -150
  282. package/src/client/error-messages.ts +35 -0
  283. package/src/client/index.ts +12 -4
  284. package/src/client/types.ts +44 -5
  285. package/src/client-only.ts +7 -0
  286. package/src/config/index.ts +6 -6
  287. package/src/contracts/catalog-errors.ts +115 -0
  288. package/src/contracts/contract-builder.ts +39 -76
  289. package/src/contracts/contract-group.ts +33 -68
  290. package/src/contracts/contract-like.ts +1 -1
  291. package/src/contracts/index.ts +24 -11
  292. package/src/contracts/openapi-meta.ts +55 -0
  293. package/src/contracts/path-template.ts +2 -2
  294. package/src/contracts/schema-shape.ts +75 -0
  295. package/src/contracts/success-status.ts +68 -0
  296. package/src/contracts/types.ts +32 -5
  297. package/src/contracts/utils.ts +5 -2
  298. package/src/domain/events.ts +6 -2
  299. package/src/domain/index.ts +3 -3
  300. package/src/errors/catalog.ts +9 -1
  301. package/src/errors/http.ts +11 -1
  302. package/src/errors/index.ts +4 -4
  303. package/src/errors/response.ts +4 -1
  304. package/src/events/index.ts +12 -26
  305. package/src/idempotency/index.ts +5 -3
  306. package/src/jobs/index.ts +340 -29
  307. package/src/notifications/index.ts +17 -27
  308. package/src/openapi/index.ts +73 -38
  309. package/src/openapi/schema-introspector.ts +68 -17
  310. package/src/outbox/index.ts +151 -6
  311. package/src/ports/audit.ts +120 -11
  312. package/src/ports/auth.ts +132 -0
  313. package/src/ports/events.ts +2 -2
  314. package/src/ports/index.ts +104 -35
  315. package/src/ports/policy.ts +50 -3
  316. package/src/ports/testing.ts +2220 -33
  317. package/src/ports/unbound.ts +64 -0
  318. package/src/ports/unit-of-work.ts +6 -2
  319. package/src/providers/index.ts +16 -3
  320. package/src/providers/instrumentation.ts +93 -8
  321. package/src/providers/metadata.ts +234 -0
  322. package/src/providers/provider.ts +168 -9
  323. package/src/schedules/index.ts +173 -23
  324. package/src/server/audit-context.ts +45 -0
  325. package/src/server/context.ts +224 -0
  326. package/src/server/contract-like.ts +1 -1
  327. package/src/server/health.ts +2 -2
  328. package/src/server/hooks/auth.ts +175 -158
  329. package/src/server/hooks/cors.ts +1 -1
  330. package/src/server/hooks/errors.ts +7 -4
  331. package/src/server/hooks/idempotency.ts +263 -0
  332. package/src/server/hooks/index.ts +15 -12
  333. package/src/server/hooks/logging.ts +3 -3
  334. package/src/server/hooks/rate-limit.ts +85 -17
  335. package/src/server/hooks.ts +1 -1
  336. package/src/server/http.ts +112 -6
  337. package/src/server/index.ts +63 -12
  338. package/src/server/instrumentation.ts +470 -0
  339. package/src/server/openapi.ts +4 -4
  340. package/src/server/providers/index.ts +6 -3
  341. package/src/server/providers/loadProviderConfig.ts +4 -4
  342. package/src/server/request-context.ts +116 -0
  343. package/src/server/server-context.ts +44 -0
  344. package/src/server/server.ts +1045 -229
  345. package/src/server/types.ts +2 -2
  346. package/src/server/use-case-route.ts +430 -0
  347. package/src/server-only.ts +7 -0
  348. package/src/tasks/index.ts +275 -0
  349. package/src/testing/index.ts +1153 -6
  350. package/src/tracing/index.ts +176 -0
  351. package/src/uploads/client.ts +861 -0
  352. package/src/uploads/index.ts +1071 -0
  353. package/dist/ports/mailer.d.ts +0 -6
  354. package/dist/ports/mailer.d.ts.map +0 -1
  355. package/dist/ports/mailer.js +0 -2
  356. package/dist/ports/mailer.js.map +0 -1
  357. package/dist/ports/schedules.d.ts +0 -9
  358. package/dist/ports/schedules.d.ts.map +0 -1
  359. package/dist/ports/schedules.js +0 -2
  360. package/dist/ports/schedules.js.map +0 -1
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * OpenAPI 3.1 generation from Beignet contracts
5
5
  */
6
- import { type ContractLike } from "../contracts";
7
- import { type SchemaIntrospector } from "./schema-introspector";
8
- export { createZodIntrospector, type SchemaIntrospector, } from "./schema-introspector";
6
+ import { type ContractLike } from "../contracts/index.js";
7
+ import { type SchemaConverter, type SchemaIntrospector } from "./schema-introspector.js";
8
+ export { createZodIntrospector, createZodSchemaConverter, type SchemaConverter, type SchemaIntrospector, } from "./schema-introspector.js";
9
9
  /**
10
10
  * OpenAPI 3.1 info object.
11
11
  */
@@ -292,6 +292,11 @@ export interface OpenAPIGeneratorOptions {
292
292
  * to support other schema libraries.
293
293
  */
294
294
  schemaIntrospector?: SchemaIntrospector;
295
+ /**
296
+ * Schema converters used to turn contract schemas into OpenAPI schemas.
297
+ * Custom converters run before Beignet's default Zod converter.
298
+ */
299
+ schemaConverters?: readonly SchemaConverter[];
295
300
  }
296
301
  /**
297
302
  * Contract input accepted by the OpenAPI generator.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  *
4
4
  * OpenAPI 3.1 generation from Beignet contracts
5
5
  */
6
- import { z } from "zod";
7
- import { getContractHeaderSchemas, methodSupportsRequestBody, parsePathTemplate, resolveContract, STANDARD_ERROR_RESPONSE_SCHEMA, } from "../contracts";
8
- import { createZodIntrospector, } from "./schema-introspector";
6
+ import { getContractHeaderSchemas, methodSupportsRequestBody, parsePathTemplate, resolveContract, STANDARD_ERROR_RESPONSE_SCHEMA, } from "../contracts/index.js";
7
+ import { comparePathParamsToTemplate, formatPathParamsMismatch, } from "../contracts/schema-shape.js";
8
+ import { createZodIntrospector, createZodSchemaConverter, } from "./schema-introspector.js";
9
9
  // Re-export the introspector types for consumers who want custom implementations
10
- export { createZodIntrospector, } from "./schema-introspector";
10
+ export { createZodIntrospector, createZodSchemaConverter, } from "./schema-introspector.js";
11
11
  /**
12
12
  * Convert contracts to an OpenAPI 3.1 document.
13
13
  *
@@ -40,6 +40,10 @@ export function contractsToOpenAPI(contracts, options) {
40
40
  components,
41
41
  jsonMediaType: options.jsonMediaType ?? "application/json",
42
42
  introspector: options.schemaIntrospector ?? createZodIntrospector(),
43
+ schemaConverters: [
44
+ ...(options.schemaConverters ?? []),
45
+ createZodSchemaConverter(),
46
+ ],
43
47
  };
44
48
  for (const contract of contracts) {
45
49
  const config = resolveContract(contract);
@@ -91,6 +95,7 @@ function addContractToPaths(contract, paths, state) {
91
95
  addHeaderParams(contract, operation, state);
92
96
  addRequestBody(contract, operation, state);
93
97
  addResponses(contract, operation, state);
98
+ applyOpenAPIOverrides(operation, meta);
94
99
  // Clean up empty parameters array
95
100
  if (operation.parameters?.length === 0) {
96
101
  delete operation.parameters;
@@ -98,6 +103,19 @@ function addContractToPaths(contract, paths, state) {
98
103
  const methodKey = contract.method.toLowerCase();
99
104
  pathItem[methodKey] = operation;
100
105
  }
106
+ function applyOpenAPIOverrides(operation, meta) {
107
+ if (!meta)
108
+ return;
109
+ for (const parameter of meta.parameters ?? []) {
110
+ addParameter(operation, parameter);
111
+ }
112
+ if (meta.requestBody) {
113
+ operation.requestBody = meta.requestBody;
114
+ }
115
+ for (const [status, response] of Object.entries(meta.responses ?? {})) {
116
+ operation.responses[status] = response;
117
+ }
118
+ }
101
119
  function addParameter(operation, parameter) {
102
120
  if (!operation.parameters) {
103
121
  operation.parameters = [];
@@ -132,25 +150,17 @@ function addPathParams(contract, operation, state) {
132
150
  }
133
151
  return;
134
152
  }
135
- const shapeKeys = Object.keys(shape);
136
- const missingKeys = pathKeys.filter((key) => !shapeKeys.includes(key));
137
- const extraKeys = shapeKeys.filter((key) => !pathKeys.includes(key));
153
+ const { missingKeys, extraKeys } = comparePathParamsToTemplate({
154
+ pathKeys,
155
+ shapeKeys: Object.keys(shape),
156
+ });
138
157
  if (missingKeys.length > 0 || extraKeys.length > 0) {
139
- const details = [
140
- missingKeys.length > 0
141
- ? `missing pathParams keys: ${missingKeys.join(", ")}`
142
- : undefined,
143
- extraKeys.length > 0
144
- ? `extra pathParams keys: ${extraKeys.join(", ")}`
145
- : undefined,
146
- ]
147
- .filter(Boolean)
148
- .join("; ");
158
+ const details = formatPathParamsMismatch({ missingKeys, extraKeys });
149
159
  throw new Error(`Path parameters for contract "${contract.name}" must match "${contract.path}" (${details}).`);
150
160
  }
151
161
  for (const key of pathKeys) {
152
162
  const field = shape[key];
153
- const paramSchemaRef = zodToSchemaRef(field, `${contract.name}_path_${key}`, state, "input");
163
+ const paramSchemaRef = schemaToConvertedSchemaRef(field, `${contract.name}_path_${key}`, state, "input");
154
164
  const description = state.introspector.getDescription(field);
155
165
  const param = {
156
166
  name: key,
@@ -180,7 +190,7 @@ function addQueryParams(contract, operation, state) {
180
190
  if (!description && optional) {
181
191
  description = state.introspector.getDescription(field);
182
192
  }
183
- const paramSchemaRef = zodToSchemaRef(field, `${contract.name}_query_${key}`, state, "input");
193
+ const paramSchemaRef = schemaToConvertedSchemaRef(field, `${contract.name}_query_${key}`, state, "input");
184
194
  const param = {
185
195
  name: key,
186
196
  in: "query",
@@ -204,7 +214,7 @@ function addHeaderParams(contract, operation, state) {
204
214
  const originalField = shape[key];
205
215
  const optional = state.introspector.isOptional(originalField);
206
216
  const description = state.introspector.getDescription(originalField);
207
- const paramSchemaRef = zodToSchemaRef(originalField, `${contract.name}_header_${key}`, state, "input");
217
+ const paramSchemaRef = schemaToConvertedSchemaRef(originalField, `${contract.name}_header_${key}`, state, "input");
208
218
  addParameter(operation, {
209
219
  name: key,
210
220
  in: "header",
@@ -224,7 +234,7 @@ function addRequestBody(contract, operation, state) {
224
234
  if (!methodSupportsRequestBody(contract.method)) {
225
235
  throw new Error(`Request bodies are not supported for ${contract.method} contracts. Use POST, PUT, or PATCH for contract request bodies.`);
226
236
  }
227
- const schemaRef = zodToSchemaRef(contract.body, `${contract.name}_body`, state, "input");
237
+ const schemaRef = schemaToConvertedSchemaRef(contract.body, `${contract.name}_body`, state, "input");
228
238
  const description = state.introspector.getDescription(contract.body);
229
239
  operation.requestBody = {
230
240
  required: true,
@@ -382,22 +392,24 @@ function normalizeExampleKey(key) {
382
392
  return normalized || "error";
383
393
  }
384
394
  /**
385
- * Convert a Zod schema to a JSON Schema reference, registering it in components
395
+ * Convert a validation schema to a JSON Schema reference, registering it in components.
386
396
  */
387
- function zodToSchemaRef(schema, nameHint, state, io) {
397
+ function schemaToConvertedSchemaRef(schema, nameHint, state, io) {
388
398
  // Ensure schemas object exists
389
399
  if (!state.components.schemas) {
390
400
  state.components.schemas = {};
391
401
  }
392
402
  const schemaName = normalizeSchemaName(nameHint, state);
393
403
  if (!state.components.schemas[schemaName]) {
394
- const jsonSchema = z.toJSONSchema(schema, {
395
- target: "draft-2020-12",
396
- unrepresentable: "any",
404
+ const converter = state.schemaConverters.find((candidate) => candidate.canConvert(schema));
405
+ if (!converter) {
406
+ throw new Error(`Unable to convert schema "${nameHint}" to OpenAPI. ` +
407
+ "Pass a schemaConverters entry to contractsToOpenAPI for this schema library.");
408
+ }
409
+ const jsonSchema = converter.toJSONSchema(schema, {
410
+ nameHint,
397
411
  io,
398
412
  });
399
- // Remove $schema as it's not needed in OpenAPI
400
- delete jsonSchema.$schema;
401
413
  state.components.schemas[schemaName] = jsonSchema;
402
414
  }
403
415
  return { $ref: `#/components/schemas/${schemaName}` };
@@ -406,7 +418,7 @@ function schemaToSchemaRef(schema, nameHint, state, io) {
406
418
  if (schema === STANDARD_ERROR_RESPONSE_SCHEMA) {
407
419
  return standardErrorResponseSchemaRef(nameHint, state);
408
420
  }
409
- return zodToSchemaRef(schema, nameHint, state, io);
421
+ return schemaToConvertedSchemaRef(schema, nameHint, state, io);
410
422
  }
411
423
  function standardErrorResponseSchemaRef(nameHint, state) {
412
424
  if (!state.components.schemas) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAmB,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAGL,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,iFAAiF;AACjF,OAAO,EACL,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AA6U/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAmC,EACnC,OAAgC;IAEhC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAqB;QACnC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;KAC/C,CAAC;IAEF,MAAM,KAAK,GAAmB;QAC5B,UAAU;QACV,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,kBAAkB;QAC1D,YAAY,EAAE,OAAO,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;KACpE,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACzC,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC;QACD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK;QACL,UAAU,EACR,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS;QACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAEhF;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAAqB,EACrB,KAAkB,EAClB,KAAqB;IAErB,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAExC,MAAM,SAAS,GAAoB;QACjC,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,QAAQ,CAAC,IAAI;QAC/C,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,WAAW,EAAE,IAAI,EAAE,WAAW;QAC9B,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,YAAY,EAAE,IAAI,EAAE,YAAY;QAChC,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACxB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1C,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5C,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAEzC,kCAAkC;IAClC,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC,UAAU,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAOhC,CAAC;IAEd,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,YAAY,CACnB,SAA0B,EAC1B,SAA0B;IAE1B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAClD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CACnE,CAAC;IACF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACvB,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;QAChD,OAAO;IACT,CAAC;IAED,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,QAAqB,EACrB,SAA0B,EAC1B,KAAqB;IAErB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACvD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,SAAS,EAAE;gBACtB,IAAI,EAAE,GAAG;gBACT,EAAE,EAAE,MAAM;gBACV,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,iDAAiD,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,IAAI,0DAA0D,CAC/I,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG;YACd,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,4BAA4B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtD,CAAC,CAAC,SAAS;YACb,SAAS,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC,0BAA0B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClD,CAAC,CAAC,SAAS;SACd;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CACb,iCAAiC,QAAQ,CAAC,IAAI,iBAAiB,QAAQ,CAAC,IAAI,MAAM,OAAO,IAAI,CAC9F,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,cAAc,GAAG,cAAc,CACnC,KAAmB,EACnB,GAAG,QAAQ,CAAC,IAAI,SAAS,GAAG,EAAE,EAC9B,KAAK,EACL,OAAO,CACR,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,GAAG;YACT,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,cAAc;YACtB,WAAW;SACZ,CAAC;QAEF,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,QAAqB,EACrB,SAA0B,EAC1B,KAAqB;IAErB,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO;IAE5B,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE9D,IAAI,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAEnE,MAAM,KAAK,GAAG,aAAa,CAAC;QAE5B,8DAA8D;QAC9D,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;YAC7B,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,cAAc,GAAG,cAAc,CACnC,KAAmB,EACnB,GAAG,QAAQ,CAAC,IAAI,UAAU,GAAG,EAAE,EAC/B,KAAK,EACL,OAAO,CACR,CAAC;QAEF,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,GAAG;YACT,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,CAAC,QAAQ;YACnB,MAAM,EAAE,cAAc;YACtB,WAAW;SACZ,CAAC;QAEF,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,QAAqB,EACrB,SAA0B,EAC1B,KAAqB;IAErB,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAErE,MAAM,cAAc,GAAG,cAAc,CACnC,aAA2B,EAC3B,GAAG,QAAQ,CAAC,IAAI,WAAW,GAAG,EAAE,EAChC,KAAK,EACL,OAAO,CACR,CAAC;YAEF,YAAY,CAAC,SAAS,EAAE;gBACtB,IAAI,EAAE,GAAG;gBACT,EAAE,EAAE,QAAQ;gBACZ,QAAQ,EAAE,CAAC,QAAQ;gBACnB,MAAM,EAAE,cAAc;gBACtB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,QAAqB,EACrB,SAA0B,EAC1B,KAAqB;IAErB,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO;IAC3B,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,MAAM,kEAAkE,CAC1H,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAC9B,QAAQ,CAAC,IAAkB,EAC3B,GAAG,QAAQ,CAAC,IAAI,OAAO,EACvB,KAAK,EACL,OAAO,CACR,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErE,SAAS,CAAC,WAAW,GAAG;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW;QACX,OAAO,EAAE;YACP,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;gBACrB,MAAM,EAAE,SAAS;aAClB;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,QAAqB,EACrB,SAA0B,EAC1B,KAAqB;IAErB,8DAA8D;IAC9D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,iBAAiB;QAC3C,MAAM,aAAa,GAAG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1E,yEAAyE;QACzE,MAAM,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC;QAEpC,MAAM,SAAS,GAAG,SAAS;YACzB,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,8BAA8B;gBACxE,CAAC,CAAC,6BAA6B,CAC3B,aAAa,EACb,GAAG,QAAQ,CAAC,IAAI,aAAa,MAAM,EAAE,EACrC,KAAK,CACN;gBACH,CAAC,CAAC,iBAAiB,CACf,SAAS,EACT,GAAG,QAAQ,CAAC,IAAI,aAAa,MAAM,EAAE,EACrC,KAAK,EACL,QAAQ,CACT;YACL,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,SAAS,GAAG,SAAS;YACzB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,WAAmB,CAAC;QAExB,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,CAAC;aAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,YAAY,CAAC;QAC7B,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,aAAa,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,cAAc,CAAC;QAC/B,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,WAAW,CAAC;QAC5B,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,WAAW,CAAC;QAC5B,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,WAAW,GAAG,uBAAuB,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,QAAQ,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC1D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG;YAC5B,WAAW;YACX,OAAO,EACL,CAAC,SAAS,IAAI,MAAM,KAAK,KAAK;gBAC5B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;wBACrB,MAAM,EAAE,SAAS;wBACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAClC;iBACF;SACR,CAAC;IACJ,CAAC;AACH,CAAC;AAUD,SAAS,yBAAyB,CAChC,QAAqB,EACrB,MAAc;IAEd,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAE7D,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;YACtD,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ;YAC1D,OAAQ,KAA+B,CAAC,OAAO,KAAK,QAAQ,EAC5D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAA2B;YAC3C,GAAG;YACH,IAAI,EAAG,KAA0B,CAAC,IAAI;YACtC,MAAM,EAAG,KAA4B,CAAC,MAAM;YAC5C,OAAO,EAAG,KAA6B,CAAC,OAAO;SAChD,CAAC;QACF,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;SACD,MAAM,CACL,CAAC,KAAK,EAAmC,EAAE,CACzC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CACjD,CAAC;AACN,CAAC;AAED,SAAS,6BAA6B,CACpC,MAAgC,EAChC,QAAgB,EAChB,KAAqB;IAErB,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC;QACxD,CAAC,CAAC;YACE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,0BAA0B,CACxB,KAAK,EACL,GAAG,QAAQ,IAAI,KAAK,CAAC,GAAG,EAAE,EAC1B,KAAK,CACN,CACF;SACF,CAAC;IAER,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;IAChD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,wBAAwB,UAAU,EAAE,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,0BAA0B,CACjC,KAA6B,EAC7B,QAAgB,EAChB,KAAqB;IAErB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;YAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,GAAG,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC;oBACE,OAAO,EAAE,iBAAiB,CACxB,KAAK,CAAC,OAAO,EACb,GAAG,QAAQ,UAAU,EACrB,KAAK,EACL,QAAQ,CACT;iBACF;gBACH,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACpB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9B;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAgC;IAEhC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC;QAC9B;YACE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,UAAU,IAAI,OAAO,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,MAAkB,EAClB,QAAgB,EAChB,KAAqB,EACrB,EAAY;IAEZ,+BAA+B;IAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAExD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE;YACxC,MAAM,EAAE,eAAe;YACvB,eAAe,EAAE,KAAK;YACtB,EAAE;SACH,CAAiB,CAAC;QAEnB,+CAA+C;QAC/C,OAAO,UAAU,CAAC,OAAO,CAAC;QAE1B,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;IACpD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,wBAAwB,UAAU,EAAE,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAe,EACf,QAAgB,EAChB,KAAqB,EACrB,EAAY;IAEZ,IAAI,MAAM,KAAK,8BAA8B,EAAE,CAAC;QAC9C,OAAO,8BAA8B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,cAAc,CAAC,MAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,8BAA8B,CACrC,QAAgB,EAChB,KAAqB;IAErB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG;YACrC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9B;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,wBAAwB,UAAU,EAAE,EAAE,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAqB;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAEhD,qCAAqC;IACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IACtC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;QACV,UAAU,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,35 @@
1
+ export type SchemaIO = "input" | "output";
2
+ type ConvertedSchemaObject = Record<string, unknown>;
3
+ /**
4
+ * Context passed to an OpenAPI schema converter.
5
+ */
6
+ export type SchemaConverterContext = {
7
+ /**
8
+ * Whether the schema is documenting request input or response output.
9
+ */
10
+ io: SchemaIO;
11
+ /**
12
+ * Component name hint Beignet will use when registering the converted schema.
13
+ */
14
+ nameHint: string;
15
+ };
16
+ /**
17
+ * Converts a validation schema into an OpenAPI-compatible JSON Schema object.
18
+ */
19
+ export interface SchemaConverter {
20
+ /**
21
+ * Human-readable converter name used in diagnostics.
22
+ */
23
+ name: string;
24
+ /**
25
+ * Return true when this converter owns the schema value.
26
+ */
27
+ canConvert(schema: unknown): boolean;
28
+ /**
29
+ * Convert the schema into an OpenAPI-compatible JSON Schema object.
30
+ */
31
+ toJSONSchema(schema: unknown, context: SchemaConverterContext): ConvertedSchemaObject;
32
+ }
1
33
  /**
2
34
  * Schema introspection adapter.
3
35
  *
@@ -27,6 +59,10 @@ export interface SchemaIntrospector {
27
59
  */
28
60
  unwrapOptional(schema: unknown): unknown;
29
61
  }
62
+ /**
63
+ * Create the default schema converter for Zod schemas.
64
+ */
65
+ export declare function createZodSchemaConverter(): SchemaConverter;
30
66
  /**
31
67
  * Create a schema introspector for Zod schemas.
32
68
  *
@@ -35,4 +71,5 @@ export interface SchemaIntrospector {
35
71
  * gracefully returns a safe default if the structure is unexpected.
36
72
  */
37
73
  export declare function createZodIntrospector(): SchemaIntrospector;
74
+ export {};
38
75
  //# sourceMappingURL=schema-introspector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-introspector.d.ts","sourceRoot":"","sources":["../../src/openapi/schema-introspector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAE/D;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAEpD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAkE1D"}
1
+ {"version":3,"file":"schema-introspector.d.ts","sourceRoot":"","sources":["../../src/openapi/schema-introspector.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C,KAAK,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,EAAE,EAAE,QAAQ,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IACrC;;OAEG;IACH,YAAY,CACV,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAE/D;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAEpD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,eAAe,CAoB1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAkD1D"}
@@ -1,3 +1,25 @@
1
+ import { z } from "zod";
2
+ import { getObjectSchemaShape } from "../contracts/schema-shape.js";
3
+ /**
4
+ * Create the default schema converter for Zod schemas.
5
+ */
6
+ export function createZodSchemaConverter() {
7
+ return {
8
+ name: "zod",
9
+ canConvert(schema) {
10
+ return schema instanceof z.ZodType;
11
+ },
12
+ toJSONSchema(schema, context) {
13
+ const jsonSchema = z.toJSONSchema(schema, {
14
+ target: "draft-2020-12",
15
+ unrepresentable: "any",
16
+ io: context.io,
17
+ });
18
+ delete jsonSchema.$schema;
19
+ return jsonSchema;
20
+ },
21
+ };
22
+ }
1
23
  /**
2
24
  * Create a schema introspector for Zod schemas.
3
25
  *
@@ -8,23 +30,7 @@
8
30
  export function createZodIntrospector() {
9
31
  return {
10
32
  getShape(schema) {
11
- if (!schema || typeof schema !== "object")
12
- return undefined;
13
- const schemaDef = schema?._def;
14
- if (!schemaDef || typeof schemaDef !== "object")
15
- return undefined;
16
- if (!("shape" in schemaDef))
17
- return undefined;
18
- let shape;
19
- if (typeof schemaDef.shape === "function") {
20
- shape = schemaDef.shape();
21
- }
22
- else if (typeof schemaDef.shape === "object") {
23
- shape = schemaDef.shape;
24
- }
25
- if (!shape || typeof shape !== "object")
26
- return undefined;
27
- return shape;
33
+ return getObjectSchemaShape(schema);
28
34
  },
29
35
  getDescription(schema) {
30
36
  if (!schema || typeof schema !== "object")
@@ -1 +1 @@
1
- {"version":3,"file":"schema-introspector.js","sourceRoot":"","sources":["../../src/openapi/schema-introspector.ts"],"names":[],"mappings":"AAiCA;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,QAAQ,CAAC,MAAe;YACtB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAE5D,MAAM,SAAS,GAAI,MAAkC,EAAE,IAAI,CAAC;YAC5D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAElE,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;YAE9C,IAAI,KAAc,CAAC;YACnB,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC1C,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;iBAAM,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/C,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAE1D,OAAO,KAAgC,CAAC;QAC1C,CAAC;QAED,cAAc,CAAC,MAAe;YAC5B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAE5D,MAAM,iBAAiB,GAAI,MAAoC;iBAC5D,WAAW,CAAC;YACf,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,iBAAiB,CAAC;YAC3B,CAAC;YAED,MAAM,SAAS,GAAI,MAAkC,EAAE,IAAI,CAAC;YAC5D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAElE,MAAM,WAAW,GAAI,SAAqC,CAAC,WAAW,CAAC;YACvE,OAAO,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,CAAC;QAED,UAAU,CAAC,MAAe;YACxB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAExD,MAAM,kBAAkB,GAAG,MAE1B,CAAC;YACF,IAAI,OAAO,kBAAkB,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACxD,OAAO,kBAAkB,CAAC,UAAU,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,SAAS,GAAI,MAAkC,EAAE,IAAI,CAAC;YAC5D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAE9D,MAAM,GAAG,GAAG,SAAoC,CAAC;YACjD,OAAO,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;QACnE,CAAC;QAED,cAAc,CAAC,MAAe;YAC5B,MAAM,SAAS,GAAI,MAAkC,EAAE,IAAI,CAAC;YAC5D,MAAM,GAAG,GAAG,SAAgD,CAAC;YAC7D,IAAI,GAAG,EAAE,QAAQ,KAAK,aAAa,IAAI,GAAG,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChE,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,CAAC;YACjC,OAAO,SAAS,IAAI,MAAM,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"schema-introspector.js","sourceRoot":"","sources":["../../src/openapi/schema-introspector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AA0EpE;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,IAAI,EAAE,KAAK;QACX,UAAU,CAAC,MAAe;YACxB,OAAO,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC;QACrC,CAAC;QACD,YAAY,CACV,MAAe,EACf,OAA+B;YAE/B,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,MAAoB,EAAE;gBACtD,MAAM,EAAE,eAAe;gBACvB,eAAe,EAAE,KAAK;gBACtB,EAAE,EAAE,OAAO,CAAC,EAAE;aACf,CAA0B,CAAC;YAE5B,OAAO,UAAU,CAAC,OAAO,CAAC;YAC1B,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,QAAQ,CAAC,MAAe;YACtB,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,cAAc,CAAC,MAAe;YAC5B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAE5D,MAAM,iBAAiB,GAAI,MAAoC;iBAC5D,WAAW,CAAC;YACf,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,iBAAiB,CAAC;YAC3B,CAAC;YAED,MAAM,SAAS,GAAI,MAAkC,EAAE,IAAI,CAAC;YAC5D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAElE,MAAM,WAAW,GAAI,SAAqC,CAAC,WAAW,CAAC;YACvE,OAAO,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,CAAC;QAED,UAAU,CAAC,MAAe;YACxB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAExD,MAAM,kBAAkB,GAAG,MAE1B,CAAC;YACF,IAAI,OAAO,kBAAkB,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACxD,OAAO,kBAAkB,CAAC,UAAU,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,SAAS,GAAI,MAAkC,EAAE,IAAI,CAAC;YAC5D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAE9D,MAAM,GAAG,GAAG,SAAoC,CAAC;YACjD,OAAO,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;QACnE,CAAC;QAED,cAAc,CAAC,MAAe;YAC5B,MAAM,SAAS,GAAI,MAAkC,EAAE,IAAI,CAAC;YAC5D,MAAM,GAAG,GAAG,SAAgD,CAAC;YAC7D,IAAI,GAAG,EAAE,QAAQ,KAAK,aAAa,IAAI,GAAG,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChE,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,CAAC;YACjC,OAAO,SAAS,IAAI,MAAM,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -4,10 +4,11 @@
4
4
  * Durable outbox primitives for transactionally recording events and jobs that
5
5
  * should be delivered after the owning database transaction commits.
6
6
  */
7
- import { type EventPayloadDef, type InferEventPayload } from "../events";
8
- import { type InferJobPayload, type JobDef } from "../jobs";
9
- import type { JobDispatcherPort } from "../ports/events";
10
- import type { BufferedDomainEventRecorder, DomainEventRecorderPort } from "../ports/unit-of-work";
7
+ import { type EventPayloadDef, type InferEventPayload } from "../events/index.js";
8
+ import { type InferJobPayload, type JobDef } from "../jobs/index.js";
9
+ import type { JobDispatcherPort } from "../ports/events.js";
10
+ import type { BufferedDomainEventRecorder, DomainEventRecorderPort } from "../ports/unit-of-work.js";
11
+ import { type BaseProviderInstrumentationEvent, type ProviderInstrumentationTarget } from "../providers/index.js";
11
12
  /**
12
13
  * Value or promise of that value.
13
14
  */
@@ -316,6 +317,10 @@ export interface DefineOutboxRegistryInput {
316
317
  */
317
318
  jobs?: readonly JobDef[];
318
319
  }
320
+ /**
321
+ * Correlation fields attached to outbox instrumentation events.
322
+ */
323
+ export type OutboxInstrumentationContext = Pick<BaseProviderInstrumentationEvent, "requestId" | "traceId" | "spanId" | "parentSpanId" | "traceparent">;
319
324
  /**
320
325
  * Options for draining one outbox batch.
321
326
  */
@@ -358,6 +363,15 @@ export interface DrainOutboxOptions {
358
363
  error: unknown;
359
364
  now: Date;
360
365
  }) => number);
366
+ /**
367
+ * Optional instrumentation target for delivery, retry, and dead-letter
368
+ * visibility.
369
+ */
370
+ instrumentation?: ProviderInstrumentationTarget;
371
+ /**
372
+ * Optional correlation fields attached to outbox instrumentation events.
373
+ */
374
+ instrumentationContext?: OutboxInstrumentationContext;
361
375
  /**
362
376
  * Observer called when delivery fails. Observer failures are ignored so the
363
377
  * original delivery failure still controls retry/dead-letter behavior.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,gCAAgC,EAErC,KAAK,6BAA6B,EACnC,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C;;GAEG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,SAAS,GACT,WAAW,GACX,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,eAAe,EAAE,GAC1B;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,IAAI,CAAC;IAClB;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB;;OAEG;IACH,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBACf,SAAQ,IAAI,CACV,aAAa,EACb,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,CACtD;IACD,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3D;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC9E;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACpC;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,gCAAgC,EAChC,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,CACpE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,CAAC,SAAS,eAAe,EAC/B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,YAAY,CAAC,IAAI,CAAC,CAAC;KACvB,CAAC;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EACT,MAAM,GACN,CAAC,CAAC,IAAI,EAAE;QACN,OAAO,EAAE,oBAAoB,CAAC;QAC9B,KAAK,EAAE,OAAO,CAAC;QACf,GAAG,EAAE,IAAI,CAAC;KACX,KAAK,MAAM,CAAC,CAAC;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,6BAA6B,CAAC;IAChD;;OAEG;IACH,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;IACtD;;;OAGG;IACH,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,oBAAoB,KAC1B,YAAY,CAAC,IAAI,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAKlD;AAoGD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAGjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAcpE;AAqCD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,0BAA+B,GACvC,aAAa,CA4Bf;AAcD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,gBAAgB,CAmGrD;AAkBD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,GAC/B,cAAc,CAKhB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,eAAe,EAC1D,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,aAAa,CAAC,CAUxB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC/C,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,aAAa,CAAC,CAUxB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,yBAA8B,GACtC,2BAA2B,CAW7B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,yBAA8B,GACtC,iBAAiB,CAMnB;AAyGD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAkI5B;AAED;;GAEG;AACH,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
@@ -4,8 +4,9 @@
4
4
  * Durable outbox primitives for transactionally recording events and jobs that
5
5
  * should be delivered after the owning database transaction commits.
6
6
  */
7
- import { parseEventPayload, } from "../events";
8
- import { parseJobPayload } from "../jobs";
7
+ import { parseEventPayload, } from "../events/index.js";
8
+ import { getJobRetryDelayMs, getJobRetryMaxAttempts, parseJobPayload, shouldRetryJob, } from "../jobs/index.js";
9
+ import { createProviderInstrumentation, } from "../providers/index.js";
9
10
  /**
10
11
  * Default lease duration for claimed outbox messages.
11
12
  */
@@ -351,7 +352,7 @@ export async function enqueueJob(outbox, job, payload, options = {}) {
351
352
  name: job.name,
352
353
  payload: toOutboxJsonValue(parsed),
353
354
  availableAt: options.availableAt,
354
- maxAttempts: options.maxAttempts,
355
+ maxAttempts: options.maxAttempts ?? getJobRetryMaxAttempts(job.retry),
355
356
  });
356
357
  }
357
358
  /**
@@ -389,8 +390,40 @@ function resolveRetryDelayMs(options, message, error, now) {
389
390
  assertPositiveInteger("retryDelayMs", options.retryDelayMs);
390
391
  return options.retryDelayMs;
391
392
  }
393
+ if (message.kind === "job") {
394
+ const job = options.registry.jobs.get(message.name);
395
+ if (job?.retry) {
396
+ return getJobRetryDelayMs(job.retry, {
397
+ attempt: message.attempts,
398
+ error,
399
+ jobName: message.name,
400
+ });
401
+ }
402
+ }
392
403
  return Math.min(60_000, 1000 * 2 ** Math.max(0, message.attempts - 1));
393
404
  }
405
+ function shouldRetryOutboxMessage(options, message, error) {
406
+ if (message.kind !== "job") {
407
+ return message.attempts < message.maxAttempts;
408
+ }
409
+ const job = options.registry.jobs.get(message.name);
410
+ return shouldRetryJob(job?.retry, {
411
+ attempt: message.attempts,
412
+ error,
413
+ jobName: message.name,
414
+ maxAttempts: message.maxAttempts,
415
+ });
416
+ }
417
+ function outboxInstrumentationDetails(message, details) {
418
+ return {
419
+ attempt: message.attempts,
420
+ maxAttempts: message.maxAttempts,
421
+ messageId: message.id,
422
+ messageKind: message.kind,
423
+ messageName: message.name,
424
+ ...details,
425
+ };
426
+ }
394
427
  async function deliverOutboxMessage(options, message) {
395
428
  if (message.kind === "event") {
396
429
  if (!options.eventBus) {
@@ -425,6 +458,14 @@ async function deliverOutboxMessage(options, message) {
425
458
  export async function drainOutbox(options) {
426
459
  const batchSize = options.batchSize ?? 100;
427
460
  assertPositiveInteger("batchSize", batchSize);
461
+ const instrumentation = createProviderInstrumentation(options.instrumentation, {
462
+ providerName: "outbox",
463
+ watcher: "outbox",
464
+ });
465
+ const jobInstrumentation = createProviderInstrumentation(options.instrumentation, {
466
+ providerName: "outbox",
467
+ watcher: "jobs",
468
+ });
428
469
  const now = options.now ?? new Date();
429
470
  const messages = await options.outbox.claimBatch({
430
471
  limit: batchSize,
@@ -445,6 +486,15 @@ export async function drainOutbox(options) {
445
486
  claimToken: message.claimToken,
446
487
  now,
447
488
  });
489
+ instrumentation.record({
490
+ type: "outbox",
491
+ ...options.instrumentationContext,
492
+ messageId: message.id,
493
+ messageKind: message.kind,
494
+ messageName: message.name,
495
+ status: "delivered",
496
+ details: outboxInstrumentationDetails(message),
497
+ });
448
498
  result.delivered += 1;
449
499
  }
450
500
  catch (error) {
@@ -455,7 +505,8 @@ export async function drainOutbox(options) {
455
505
  // Preserve the delivery failure path so the message is retried or
456
506
  // dead-lettered even if the observer fails.
457
507
  }
458
- const deadLetter = message.attempts >= message.maxAttempts;
508
+ const shouldRetry = shouldRetryOutboxMessage(options, message, error);
509
+ const deadLetter = !shouldRetry;
459
510
  const retryDelayMs = deadLetter
460
511
  ? 0
461
512
  : resolveRetryDelayMs(options, message, error, now);
@@ -470,9 +521,58 @@ export async function drainOutbox(options) {
470
521
  : new Date(now.getTime() + retryDelayMs),
471
522
  });
472
523
  if (deadLetter) {
524
+ instrumentation.record({
525
+ type: "outbox",
526
+ ...options.instrumentationContext,
527
+ messageId: message.id,
528
+ messageKind: message.kind,
529
+ messageName: message.name,
530
+ status: "deadLettered",
531
+ details: outboxInstrumentationDetails(message, {
532
+ error: serializeOutboxError(error),
533
+ }),
534
+ });
535
+ if (message.kind === "job") {
536
+ jobInstrumentation.record({
537
+ type: "job",
538
+ ...options.instrumentationContext,
539
+ jobName: message.name,
540
+ status: "deadLettered",
541
+ details: outboxInstrumentationDetails(message, {
542
+ error: serializeOutboxError(error),
543
+ }),
544
+ });
545
+ }
473
546
  result.deadLettered += 1;
474
547
  }
475
548
  else {
549
+ const retryAt = new Date(now.getTime() + retryDelayMs).toISOString();
550
+ instrumentation.record({
551
+ type: "outbox",
552
+ ...options.instrumentationContext,
553
+ messageId: message.id,
554
+ messageKind: message.kind,
555
+ messageName: message.name,
556
+ status: "retryScheduled",
557
+ details: outboxInstrumentationDetails(message, {
558
+ retryDelayMs,
559
+ retryAt,
560
+ error: serializeOutboxError(error),
561
+ }),
562
+ });
563
+ if (message.kind === "job") {
564
+ jobInstrumentation.record({
565
+ type: "job",
566
+ ...options.instrumentationContext,
567
+ jobName: message.name,
568
+ status: "retryScheduled",
569
+ details: outboxInstrumentationDetails(message, {
570
+ retryDelayMs,
571
+ retryAt,
572
+ error: serializeOutboxError(error),
573
+ }),
574
+ });
575
+ }
476
576
  result.retried += 1;
477
577
  }
478
578
  }