@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
@@ -11,6 +11,39 @@ export type MaybePromise<T> = T | Promise<T>;
11
11
  * Infer the parsed output type from a Standard Schema.
12
12
  */
13
13
  export type InferSchemaOutput<T extends StandardSchemaV1> = StandardSchemaV1.InferOutput<T>;
14
+ /**
15
+ * Duration accepted by retry helpers. Numbers are milliseconds.
16
+ */
17
+ export type JobRetryDuration = number | `${number}ms` | `${number}s` | `${number}m` | `${number}h`;
18
+ /**
19
+ * Retry strategy understood by Beignet job adapters.
20
+ */
21
+ export type JobRetryStrategy = "none" | "fixed" | "exponential";
22
+ /**
23
+ * Arguments passed to a retry predicate.
24
+ */
25
+ export interface JobRetryPredicateArgs {
26
+ /**
27
+ * Error thrown by the previous attempt.
28
+ */
29
+ error: unknown;
30
+ /**
31
+ * One-based attempt number that just failed.
32
+ */
33
+ attempt: number;
34
+ /**
35
+ * Maximum attempts allowed for this delivery.
36
+ */
37
+ maxAttempts: number;
38
+ /**
39
+ * Job name when the retry decision is for a job.
40
+ */
41
+ jobName?: string;
42
+ }
43
+ /**
44
+ * Return whether a failed attempt should be retried.
45
+ */
46
+ export type JobRetryPredicate = (args: JobRetryPredicateArgs) => boolean;
14
47
  /**
15
48
  * Job definition created by `defineJob(...)`.
16
49
  */
@@ -66,12 +99,38 @@ export interface JobHandleArgs<J extends JobDef, Ctx> {
66
99
  */
67
100
  export interface JobRetryOptions {
68
101
  /**
69
- * Maximum number of retry attempts a durable job adapter should request.
70
- *
71
- * Providers may impose their own range limits. For example, the Inngest
72
- * adapter validates this as a function-level `retries` value.
102
+ * Retry strategy. Raw objects without a strategy default to exponential
103
+ * backoff so existing `{ attempts }` style definitions stay meaningful.
104
+ */
105
+ strategy?: JobRetryStrategy;
106
+ /**
107
+ * Maximum total attempts, including the first attempt.
73
108
  */
74
109
  attempts?: number;
110
+ /**
111
+ * Delay between attempts for fixed retry policies.
112
+ */
113
+ delay?: JobRetryDuration;
114
+ /**
115
+ * Initial delay for exponential retry policies.
116
+ */
117
+ initialDelay?: JobRetryDuration;
118
+ /**
119
+ * Maximum delay for exponential retry policies.
120
+ */
121
+ maxDelay?: JobRetryDuration;
122
+ /**
123
+ * Exponential multiplier. Defaults to `2`.
124
+ */
125
+ factor?: number;
126
+ /**
127
+ * Whether adapters that compute delays should add jitter.
128
+ */
129
+ jitter?: boolean;
130
+ /**
131
+ * Optional app-owned retry classifier.
132
+ */
133
+ retryIf?: JobRetryPredicate;
75
134
  }
76
135
  /**
77
136
  * Options for declaring a typed job.
@@ -94,6 +153,69 @@ export interface DefineJobOptions<Name extends string, Payload extends StandardS
94
153
  */
95
154
  handle(args: JobHandleArgs<JobDef<Name, Payload, Ctx>, Ctx>): MaybePromise<void>;
96
155
  }
156
+ /**
157
+ * Options for a fixed job retry policy.
158
+ */
159
+ export interface FixedJobRetryOptions {
160
+ /**
161
+ * Maximum total attempts, including the first attempt.
162
+ */
163
+ attempts: number;
164
+ /**
165
+ * Delay between attempts.
166
+ */
167
+ delay: JobRetryDuration;
168
+ /**
169
+ * Optional app-owned retry classifier.
170
+ */
171
+ retryIf?: JobRetryPredicate;
172
+ }
173
+ /**
174
+ * Options for an exponential job retry policy.
175
+ */
176
+ export interface ExponentialJobRetryOptions {
177
+ /**
178
+ * Maximum total attempts, including the first attempt.
179
+ */
180
+ attempts: number;
181
+ /**
182
+ * Initial delay. Defaults to `1s`.
183
+ */
184
+ initialDelay?: JobRetryDuration;
185
+ /**
186
+ * Maximum delay. Defaults to `1m`.
187
+ */
188
+ maxDelay?: JobRetryDuration;
189
+ /**
190
+ * Exponential multiplier. Defaults to `2`.
191
+ */
192
+ factor?: number;
193
+ /**
194
+ * Whether computed delays should include jitter.
195
+ */
196
+ jitter?: boolean;
197
+ /**
198
+ * Optional app-owned retry classifier.
199
+ */
200
+ retryIf?: JobRetryPredicate;
201
+ }
202
+ /**
203
+ * Retry helper namespace for job definitions.
204
+ */
205
+ export declare const retry: {
206
+ /**
207
+ * Disable retries. The first failure is terminal.
208
+ */
209
+ readonly none: () => JobRetryOptions;
210
+ /**
211
+ * Retry with the same delay between attempts.
212
+ */
213
+ readonly fixed: (options: FixedJobRetryOptions) => JobRetryOptions;
214
+ /**
215
+ * Retry with exponential backoff.
216
+ */
217
+ readonly exponential: (options: ExponentialJobRetryOptions) => JobRetryOptions;
218
+ };
97
219
  /**
98
220
  * Options for the inline job dispatcher.
99
221
  */
@@ -120,15 +242,11 @@ export interface InlineJobDispatcher<Ctx = unknown> {
120
242
  /**
121
243
  * Context-bound job helper factory.
122
244
  */
123
- export interface JobHandlers<Ctx> {
245
+ export interface Jobs<Ctx> {
124
246
  /**
125
247
  * Define a job with the bound context type.
126
248
  */
127
249
  defineJob<Name extends string, Payload extends StandardSchema>(name: Name, options: DefineJobOptions<Name, Payload, Ctx>): JobDef<Name, Payload, Ctx>;
128
- /**
129
- * Create an inline dispatcher with the bound context type.
130
- */
131
- createInlineJobDispatcher(options?: InlineJobDispatcherOptions<Ctx>): InlineJobDispatcher<Ctx>;
132
250
  }
133
251
  /**
134
252
  * Error thrown when job payload validation fails.
@@ -144,13 +262,17 @@ export declare class JobValidationError extends Error {
144
262
  });
145
263
  }
146
264
  /**
147
- * Define a typed job.
148
- *
149
- * Retry options are provider hints. Inline dispatchers validate payloads and
150
- * call `handle(...)` immediately; durable providers may enqueue or schedule the
151
- * job according to their own runtime.
265
+ * Return the maximum total attempts configured by a retry policy.
152
266
  */
153
- export declare function defineJob<Name extends string, Payload extends StandardSchema, Ctx = unknown>(name: Name, options: DefineJobOptions<Name, Payload, Ctx>): JobDef<Name, Payload, Ctx>;
267
+ export declare function getJobRetryMaxAttempts(options: JobRetryOptions | undefined): number | undefined;
268
+ /**
269
+ * Return whether a failed job attempt should be retried.
270
+ */
271
+ export declare function shouldRetryJob(options: JobRetryOptions | undefined, args: JobRetryPredicateArgs): boolean;
272
+ /**
273
+ * Compute the next retry delay in milliseconds for a failed job attempt.
274
+ */
275
+ export declare function getJobRetryDelayMs(options: JobRetryOptions | undefined, args: Pick<JobRetryPredicateArgs, "attempt" | "error" | "jobName">): number;
154
276
  /**
155
277
  * Validate and parse a job payload with the job's Standard Schema.
156
278
  */
@@ -161,6 +283,16 @@ export declare function parseJobPayload<J extends JobDef>(job: J, payload: unkno
161
283
  export declare function createInlineJobDispatcher<Ctx>(options?: InlineJobDispatcherOptions<Ctx>): InlineJobDispatcher<Ctx>;
162
284
  /**
163
285
  * Create job helper methods bound to an application context type.
286
+ *
287
+ * Call it once in `lib/jobs.ts`:
288
+ *
289
+ * ```ts
290
+ * export const { defineJob } = createJobs<AppContext>();
291
+ * ```
292
+ *
293
+ * Retry options are provider hints. Inline dispatchers validate payloads and
294
+ * call `handle(...)` immediately; durable providers may enqueue or schedule the
295
+ * job according to their own runtime.
164
296
  */
165
- export declare function createJobHandlers<Ctx>(): JobHandlers<Ctx>;
297
+ export declare function createJobs<Ctx>(): Jobs<Ctx>;
166
298
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,42 @@
1
+ /**
2
+ * Retry helper namespace for job definitions.
3
+ */
4
+ export const retry = {
5
+ /**
6
+ * Disable retries. The first failure is terminal.
7
+ */
8
+ none() {
9
+ return {
10
+ strategy: "none",
11
+ attempts: 1,
12
+ };
13
+ },
14
+ /**
15
+ * Retry with the same delay between attempts.
16
+ */
17
+ fixed(options) {
18
+ return validateJobRetryOptions({
19
+ strategy: "fixed",
20
+ attempts: options.attempts,
21
+ delay: options.delay,
22
+ retryIf: options.retryIf,
23
+ });
24
+ },
25
+ /**
26
+ * Retry with exponential backoff.
27
+ */
28
+ exponential(options) {
29
+ return validateJobRetryOptions({
30
+ strategy: "exponential",
31
+ attempts: options.attempts,
32
+ initialDelay: options.initialDelay,
33
+ maxDelay: options.maxDelay,
34
+ factor: options.factor,
35
+ jitter: options.jitter,
36
+ retryIf: options.retryIf,
37
+ });
38
+ },
39
+ };
1
40
  /**
2
41
  * Error thrown when job payload validation fails.
3
42
  */
@@ -29,6 +68,124 @@ function formatIssues(issues) {
29
68
  })
30
69
  .join("; ");
31
70
  }
71
+ function assertPositiveInteger(name, value) {
72
+ if (!Number.isInteger(value) || value <= 0) {
73
+ throw new Error(`${name} must be a positive integer`);
74
+ }
75
+ }
76
+ function assertPositiveNumber(name, value) {
77
+ if (!Number.isFinite(value) || value <= 0) {
78
+ throw new Error(`${name} must be a positive number`);
79
+ }
80
+ }
81
+ function durationToMs(name, value) {
82
+ if (typeof value === "number") {
83
+ assertPositiveInteger(name, value);
84
+ return value;
85
+ }
86
+ const match = /^(\d+)(ms|s|m|h)$/.exec(value);
87
+ if (!match) {
88
+ throw new Error(`${name} must be a positive millisecond value or duration string like "500ms", "30s", "5m", or "1h".`);
89
+ }
90
+ const amount = Number(match[1]);
91
+ assertPositiveInteger(name, amount);
92
+ switch (match[2]) {
93
+ case "ms":
94
+ return amount;
95
+ case "s":
96
+ return amount * 1000;
97
+ case "m":
98
+ return amount * 60_000;
99
+ case "h":
100
+ return amount * 3_600_000;
101
+ default:
102
+ throw new Error(`${name} has an unsupported duration unit.`);
103
+ }
104
+ }
105
+ function validateJobRetryOptions(options) {
106
+ const strategy = options.strategy ?? "exponential";
107
+ if (!["none", "fixed", "exponential"].includes(strategy)) {
108
+ throw new Error("retry.strategy must be none, fixed, or exponential");
109
+ }
110
+ const attempts = options.attempts ?? (strategy === "none" ? 1 : undefined);
111
+ if (attempts === undefined) {
112
+ throw new Error("retry.attempts is required");
113
+ }
114
+ assertPositiveInteger("retry.attempts", attempts);
115
+ if (strategy === "none" && attempts !== 1) {
116
+ throw new Error("retry.none() must use exactly one attempt");
117
+ }
118
+ if (strategy === "fixed") {
119
+ if (options.delay === undefined) {
120
+ throw new Error("retry.delay is required for fixed retry policies");
121
+ }
122
+ durationToMs("retry.delay", options.delay);
123
+ }
124
+ if (strategy === "exponential") {
125
+ if (options.initialDelay !== undefined) {
126
+ durationToMs("retry.initialDelay", options.initialDelay);
127
+ }
128
+ if (options.maxDelay !== undefined) {
129
+ durationToMs("retry.maxDelay", options.maxDelay);
130
+ }
131
+ if (options.factor !== undefined) {
132
+ assertPositiveNumber("retry.factor", options.factor);
133
+ }
134
+ }
135
+ return {
136
+ ...options,
137
+ strategy,
138
+ attempts,
139
+ };
140
+ }
141
+ /**
142
+ * Return the maximum total attempts configured by a retry policy.
143
+ */
144
+ export function getJobRetryMaxAttempts(options) {
145
+ return options ? validateJobRetryOptions(options).attempts : undefined;
146
+ }
147
+ /**
148
+ * Return whether a failed job attempt should be retried.
149
+ */
150
+ export function shouldRetryJob(options, args) {
151
+ if (!options)
152
+ return args.attempt < args.maxAttempts;
153
+ const retryOptions = validateJobRetryOptions(options);
154
+ const maxAttempts = Math.min(args.maxAttempts, retryOptions.attempts ?? args.maxAttempts);
155
+ if (retryOptions.strategy === "none")
156
+ return false;
157
+ if (args.attempt >= maxAttempts)
158
+ return false;
159
+ return retryOptions.retryIf?.({ ...args, maxAttempts }) ?? true;
160
+ }
161
+ /**
162
+ * Compute the next retry delay in milliseconds for a failed job attempt.
163
+ */
164
+ export function getJobRetryDelayMs(options, args) {
165
+ const retryOptions = options
166
+ ? validateJobRetryOptions(options)
167
+ : retry.exponential({ attempts: 3 });
168
+ let delayMs;
169
+ if (retryOptions.strategy === "fixed") {
170
+ delayMs = durationToMs("retry.delay", retryOptions.delay ?? "1s");
171
+ }
172
+ else if (retryOptions.strategy === "none") {
173
+ delayMs = 0;
174
+ }
175
+ else {
176
+ const initialDelayMs = durationToMs("retry.initialDelay", retryOptions.initialDelay ?? "1s");
177
+ const maxDelayMs = durationToMs("retry.maxDelay", retryOptions.maxDelay ?? "1m");
178
+ const factor = retryOptions.factor ?? 2;
179
+ delayMs = Math.min(maxDelayMs, initialDelayMs * factor ** Math.max(0, args.attempt - 1));
180
+ }
181
+ if (retryOptions.jitter && delayMs > 0) {
182
+ delayMs = Math.ceil(delayMs * (0.5 + Math.random()));
183
+ if (retryOptions.strategy === "exponential") {
184
+ delayMs = Math.min(delayMs, durationToMs("retry.maxDelay", retryOptions.maxDelay ?? "1m"));
185
+ }
186
+ }
187
+ return delayMs;
188
+ }
32
189
  async function parsePayload(schema, input, args) {
33
190
  const result = await schema["~standard"].validate(input);
34
191
  if (result.issues?.length) {
@@ -48,20 +205,16 @@ async function resolveCtx(ctx) {
48
205
  }
49
206
  return ctx;
50
207
  }
51
- /**
52
- * Define a typed job.
53
- *
54
- * Retry options are provider hints. Inline dispatchers validate payloads and
55
- * call `handle(...)` immediately; durable providers may enqueue or schedule the
56
- * job according to their own runtime.
57
- */
58
- export function defineJob(name, options) {
208
+ function defineJobImpl(name, options) {
209
+ const retryOptions = options.retry
210
+ ? validateJobRetryOptions(options.retry)
211
+ : undefined;
59
212
  return {
60
213
  kind: "job",
61
214
  name,
62
215
  payload: options.payload,
63
216
  description: options.description,
64
- retry: options.retry,
217
+ retry: retryOptions,
65
218
  handle: options.handle,
66
219
  };
67
220
  }
@@ -97,14 +250,21 @@ export function createInlineJobDispatcher(options = {}) {
97
250
  }
98
251
  /**
99
252
  * Create job helper methods bound to an application context type.
253
+ *
254
+ * Call it once in `lib/jobs.ts`:
255
+ *
256
+ * ```ts
257
+ * export const { defineJob } = createJobs<AppContext>();
258
+ * ```
259
+ *
260
+ * Retry options are provider hints. Inline dispatchers validate payloads and
261
+ * call `handle(...)` immediately; durable providers may enqueue or schedule the
262
+ * job according to their own runtime.
100
263
  */
101
- export function createJobHandlers() {
264
+ export function createJobs() {
102
265
  return {
103
266
  defineJob(name, options) {
104
- return defineJob(name, options);
105
- },
106
- createInlineJobDispatcher(options = {}) {
107
- return createInlineJobDispatcher(options);
267
+ return defineJobImpl(name, options);
108
268
  },
109
269
  };
110
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { StandardSchemaV1 } from "@standard-schema/spec";
2
- import type { SendMailOptions } from "../mail";
3
- import type { ProviderInstrumentationTarget } from "../providers";
2
+ import type { SendMailOptions } from "../mail/index.js";
3
+ import type { ProviderInstrumentationTarget } from "../providers/index.js";
4
4
  /**
5
5
  * Any Standard Schema compatible validator.
6
6
  */
@@ -282,15 +282,11 @@ export type MailNotificationRenderer<Payload extends StandardSchema, Ctx extends
282
282
  /**
283
283
  * Context-bound notification helper factory.
284
284
  */
285
- export interface NotificationHandlers<Ctx> {
285
+ export interface Notifications<Ctx> {
286
286
  /**
287
287
  * Define a notification with the bound context type.
288
288
  */
289
289
  defineNotification<Name extends string, Payload extends StandardSchema>(name: Name, options: DefineNotificationOptions<Payload, Ctx>): NotificationDef<Name, Payload, Ctx>;
290
- /**
291
- * Create an inline dispatcher with the bound context type.
292
- */
293
- createInlineNotificationDispatcher(options?: InlineNotificationDispatcherOptions<Ctx>): NotificationPort;
294
290
  }
295
291
  /**
296
292
  * Error thrown when notification payload validation fails.
@@ -327,14 +323,6 @@ export declare class NotificationDeliveryError extends Error {
327
323
  cause: unknown;
328
324
  });
329
325
  }
330
- /**
331
- * Define a typed notification.
332
- *
333
- * Notifications represent user-facing communication intent. Channel handlers
334
- * decide how that intent becomes mail, SMS, push, in-app delivery, or another
335
- * app-owned channel.
336
- */
337
- export declare function defineNotification<Name extends string, Payload extends StandardSchema, Ctx = unknown>(name: Name, options: DefineNotificationOptions<Payload, Ctx>): NotificationDef<Name, Payload, Ctx>;
338
326
  /**
339
327
  * Validate and parse a notification payload with the notification's Standard
340
328
  * Schema.
@@ -364,6 +352,16 @@ export declare function defineMailNotificationChannel<Payload extends StandardSc
364
352
  export declare function createMemoryNotificationPort(options?: CreateMemoryNotificationPortOptions): MemoryNotificationPort;
365
353
  /**
366
354
  * Create notification helper methods bound to an application context type.
355
+ *
356
+ * Call it once in `lib/notifications.ts`:
357
+ *
358
+ * ```ts
359
+ * export const { defineNotification } = createNotifications<AppContext>();
360
+ * ```
361
+ *
362
+ * Notifications represent user-facing communication intent. Channel handlers
363
+ * decide how that intent becomes mail, SMS, push, in-app delivery, or another
364
+ * app-owned channel.
367
365
  */
368
- export declare function createNotificationHandlers<Ctx>(): NotificationHandlers<Ctx>;
366
+ export declare function createNotifications<Ctx>(): Notifications<Ctx>;
369
367
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAG3E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,IACtD,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,sBAAsB,CACrC,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,SAAS,cAAc,GAAG,cAAc;IAE/C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,sBAAsB,IACnE,CAAC,CAAC,SAAS,CAAC,SAAS,gBAAgB,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B,CAC5C,OAAO,SAAS,cAAc,EAC9B,GAAG;IAEH;;OAEG;IACH,YAAY,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACpD;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IACT;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,CAAC,OAAO,SAAS,cAAc,EAAE,GAAG,IAAI,CAC5E,IAAI,EAAE,6BAA6B,CAAC,OAAO,EAAE,GAAG,CAAC,KAC9C,YAAY,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,cAAc,EAAE,GAAG,IAAI,MAAM,CAC5E,MAAM,EACN,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe,CAC9B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,GAAG,GAAG,OAAO,CACb,SAAQ,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB,CACxC,OAAO,SAAS,cAAc,EAC9B,GAAG;IAEH;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;OAEG;IACH,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,eAAe,EAC5B,YAAY,EAAE,CAAC,EACf,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACpC,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC,CAAC,GAAG;IACtD;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC;;;OAGG;IACH,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,6BAA6B,CAAC,cAAc,EAAE,GAAG,CAAC,KACrD,YAAY,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;IACzD;;OAEG;IACH,eAAe,CAAC,EAAE,6BAA6B,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,IAAI,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC3D;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE;QACL,MAAM,EAAE;YACN,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAAC;gBAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;gBACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;aACnB,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,CAClC,OAAO,SAAS,cAAc,EAC9B,GAAG,SAAS,uBAAuB,IACjC,CACF,IAAI,EAAE,6BAA6B,CAAC,OAAO,EAAE,GAAG,CAAC,KAC9C,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,GAAG;IAChC;;OAEG;IACH,kBAAkB,CAAC,IAAI,SAAS,MAAM,EAAE,OAAO,SAAS,cAAc,EACpE,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,GAC/C,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAEvC,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,SAAS,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC3C;CAOF;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;gBAEZ,IAAI,EAAE;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;KAChB;CAWF;AA0GD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,CAAC,SAAS,sBAAsB,EAChC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAIzE;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAAC,GAAG,EACpD,OAAO,GAAE,mCAAmC,CAAC,GAAG,CAAM,GACrD,gBAAgB,CAqHlB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,SAAS,cAAc,EAC9B,GAAG,SAAS,uBAAuB,EAEnC,MAAM,EAAE,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,GAC7C,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CAmB1C;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,mCAAwC,GAChD,sBAAsB,CAiDxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,CAS7D"}
@@ -1,4 +1,4 @@
1
- import { createProviderInstrumentation } from "../providers";
1
+ import { createProviderInstrumentation } from "../providers/index.js";
2
2
  /**
3
3
  * Error thrown when notification payload validation fails.
4
4
  */
@@ -89,14 +89,7 @@ function summarizeResults(results) {
89
89
  const failed = results.filter((result) => result.status === "failed").length;
90
90
  return { sent, skipped, failed };
91
91
  }
92
- /**
93
- * Define a typed notification.
94
- *
95
- * Notifications represent user-facing communication intent. Channel handlers
96
- * decide how that intent becomes mail, SMS, push, in-app delivery, or another
97
- * app-owned channel.
98
- */
99
- export function defineNotification(name, options) {
92
+ function defineNotificationImpl(name, options) {
100
93
  return {
101
94
  kind: "notification",
102
95
  name,
@@ -296,14 +289,21 @@ export function createMemoryNotificationPort(options = {}) {
296
289
  }
297
290
  /**
298
291
  * Create notification helper methods bound to an application context type.
292
+ *
293
+ * Call it once in `lib/notifications.ts`:
294
+ *
295
+ * ```ts
296
+ * export const { defineNotification } = createNotifications<AppContext>();
297
+ * ```
298
+ *
299
+ * Notifications represent user-facing communication intent. Channel handlers
300
+ * decide how that intent becomes mail, SMS, push, in-app delivery, or another
301
+ * app-owned channel.
299
302
  */
300
- export function createNotificationHandlers() {
303
+ export function createNotifications() {
301
304
  return {
302
305
  defineNotification(name, options) {
303
- return defineNotification(name, options);
304
- },
305
- createInlineNotificationDispatcher(options = {}) {
306
- return createInlineNotificationDispatcher(options);
306
+ return defineNotificationImpl(name, options);
307
307
  },
308
308
  };
309
309
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}