@beignet/core 0.0.1 → 0.0.2

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 (274) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +149 -4
  3. package/dist/application/index.d.ts +93 -9
  4. package/dist/application/index.d.ts.map +1 -1
  5. package/dist/application/index.js +11 -11
  6. package/dist/application/index.js.map +1 -1
  7. package/dist/client/client.d.ts +73 -12
  8. package/dist/client/client.d.ts.map +1 -1
  9. package/dist/client/client.js +37 -12
  10. package/dist/client/client.js.map +1 -1
  11. package/dist/client/index.d.ts +12 -0
  12. package/dist/client/index.d.ts.map +1 -1
  13. package/dist/client/index.js +6 -0
  14. package/dist/client/index.js.map +1 -1
  15. package/dist/client/types.d.ts +69 -8
  16. package/dist/client/types.d.ts.map +1 -1
  17. package/dist/config/index.d.ts +84 -0
  18. package/dist/config/index.d.ts.map +1 -1
  19. package/dist/config/index.js +36 -0
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/contracts/contract-builder.d.ts +49 -22
  22. package/dist/contracts/contract-builder.d.ts.map +1 -1
  23. package/dist/contracts/contract-builder.js +48 -21
  24. package/dist/contracts/contract-builder.js.map +1 -1
  25. package/dist/contracts/contract-group.d.ts +35 -19
  26. package/dist/contracts/contract-group.d.ts.map +1 -1
  27. package/dist/contracts/contract-group.js +35 -19
  28. package/dist/contracts/contract-group.js.map +1 -1
  29. package/dist/contracts/contract-like.d.ts +4 -4
  30. package/dist/contracts/contract-like.d.ts.map +1 -1
  31. package/dist/contracts/contract-like.js +2 -1
  32. package/dist/contracts/contract-like.js.map +1 -1
  33. package/dist/contracts/index.d.ts +28 -0
  34. package/dist/contracts/index.d.ts.map +1 -1
  35. package/dist/contracts/index.js +12 -0
  36. package/dist/contracts/index.js.map +1 -1
  37. package/dist/contracts/openapi-meta.d.ts +8 -8
  38. package/dist/contracts/openapi-meta.d.ts.map +1 -1
  39. package/dist/contracts/path-template.d.ts +27 -0
  40. package/dist/contracts/path-template.d.ts.map +1 -1
  41. package/dist/contracts/path-template.js +6 -0
  42. package/dist/contracts/path-template.js.map +1 -1
  43. package/dist/contracts/types.d.ts +104 -10
  44. package/dist/contracts/types.d.ts.map +1 -1
  45. package/dist/contracts/types.js +15 -0
  46. package/dist/contracts/types.js.map +1 -1
  47. package/dist/contracts/utils.d.ts +6 -0
  48. package/dist/contracts/utils.d.ts.map +1 -1
  49. package/dist/contracts/utils.js +6 -0
  50. package/dist/contracts/utils.js.map +1 -1
  51. package/dist/domain/entity.d.ts +22 -11
  52. package/dist/domain/entity.d.ts.map +1 -1
  53. package/dist/domain/entity.js +5 -1
  54. package/dist/domain/entity.js.map +1 -1
  55. package/dist/domain/events.d.ts +5 -2
  56. package/dist/domain/events.d.ts.map +1 -1
  57. package/dist/domain/events.js +4 -1
  58. package/dist/domain/events.js.map +1 -1
  59. package/dist/domain/value-object.d.ts +19 -9
  60. package/dist/domain/value-object.d.ts.map +1 -1
  61. package/dist/domain/value-object.js +5 -1
  62. package/dist/domain/value-object.js.map +1 -1
  63. package/dist/errors/catalog.d.ts +40 -16
  64. package/dist/errors/catalog.d.ts.map +1 -1
  65. package/dist/errors/catalog.js +18 -7
  66. package/dist/errors/catalog.js.map +1 -1
  67. package/dist/errors/response.d.ts +16 -4
  68. package/dist/errors/response.d.ts.map +1 -1
  69. package/dist/errors/response.js +3 -3
  70. package/dist/errors/response.js.map +1 -1
  71. package/dist/errors/validation.d.ts +10 -1
  72. package/dist/errors/validation.d.ts.map +1 -1
  73. package/dist/errors/validation.js +3 -0
  74. package/dist/errors/validation.js.map +1 -1
  75. package/dist/events/index.d.ts +133 -0
  76. package/dist/events/index.d.ts.map +1 -1
  77. package/dist/events/index.js +30 -0
  78. package/dist/events/index.js.map +1 -1
  79. package/dist/idempotency/index.d.ts +355 -0
  80. package/dist/idempotency/index.d.ts.map +1 -0
  81. package/dist/idempotency/index.js +360 -0
  82. package/dist/idempotency/index.js.map +1 -0
  83. package/dist/jobs/index.d.ts +110 -0
  84. package/dist/jobs/index.d.ts.map +1 -1
  85. package/dist/jobs/index.js +22 -0
  86. package/dist/jobs/index.js.map +1 -1
  87. package/dist/mail/index.d.ts +149 -0
  88. package/dist/mail/index.d.ts.map +1 -1
  89. package/dist/mail/index.js +30 -0
  90. package/dist/mail/index.js.map +1 -1
  91. package/dist/notifications/index.d.ts +369 -0
  92. package/dist/notifications/index.d.ts.map +1 -0
  93. package/dist/notifications/index.js +310 -0
  94. package/dist/notifications/index.js.map +1 -0
  95. package/dist/openapi/index.d.ts +132 -16
  96. package/dist/openapi/index.d.ts.map +1 -1
  97. package/dist/openapi/index.js +1 -1
  98. package/dist/openapi/index.js.map +1 -1
  99. package/dist/outbox/index.d.ts +469 -0
  100. package/dist/outbox/index.d.ts.map +1 -0
  101. package/dist/outbox/index.js +482 -0
  102. package/dist/outbox/index.js.map +1 -0
  103. package/dist/pagination/index.d.ts +166 -0
  104. package/dist/pagination/index.d.ts.map +1 -0
  105. package/dist/pagination/index.js +96 -0
  106. package/dist/pagination/index.js.map +1 -0
  107. package/dist/ports/audit.d.ts +271 -0
  108. package/dist/ports/audit.d.ts.map +1 -1
  109. package/dist/ports/audit.js +128 -0
  110. package/dist/ports/audit.js.map +1 -1
  111. package/dist/ports/auth.d.ts +70 -0
  112. package/dist/ports/auth.d.ts.map +1 -1
  113. package/dist/ports/auth.js +30 -0
  114. package/dist/ports/auth.js.map +1 -1
  115. package/dist/ports/cache.d.ts +41 -0
  116. package/dist/ports/cache.d.ts.map +1 -1
  117. package/dist/ports/cache.js +10 -0
  118. package/dist/ports/cache.js.map +1 -1
  119. package/dist/ports/clock.d.ts +38 -0
  120. package/dist/ports/clock.d.ts.map +1 -1
  121. package/dist/ports/clock.js +20 -0
  122. package/dist/ports/clock.js.map +1 -1
  123. package/dist/ports/id-generator.d.ts +37 -0
  124. package/dist/ports/id-generator.d.ts.map +1 -1
  125. package/dist/ports/id-generator.js +22 -0
  126. package/dist/ports/id-generator.js.map +1 -1
  127. package/dist/ports/index.d.ts +83 -0
  128. package/dist/ports/index.d.ts.map +1 -1
  129. package/dist/ports/index.js +41 -5
  130. package/dist/ports/index.js.map +1 -1
  131. package/dist/ports/logger.d.ts +56 -0
  132. package/dist/ports/logger.d.ts.map +1 -1
  133. package/dist/ports/logger.js +17 -0
  134. package/dist/ports/logger.js.map +1 -1
  135. package/dist/ports/policy.d.ts +132 -0
  136. package/dist/ports/policy.d.ts.map +1 -1
  137. package/dist/ports/policy.js +45 -0
  138. package/dist/ports/policy.js.map +1 -1
  139. package/dist/ports/rate-limit.d.ts +25 -0
  140. package/dist/ports/rate-limit.d.ts.map +1 -1
  141. package/dist/ports/rate-limit.js +10 -0
  142. package/dist/ports/rate-limit.js.map +1 -1
  143. package/dist/ports/redaction.d.ts +101 -0
  144. package/dist/ports/redaction.d.ts.map +1 -1
  145. package/dist/ports/redaction.js +59 -0
  146. package/dist/ports/redaction.js.map +1 -1
  147. package/dist/ports/storage.d.ts +100 -0
  148. package/dist/ports/storage.d.ts.map +1 -1
  149. package/dist/ports/storage.js +10 -0
  150. package/dist/ports/storage.js.map +1 -1
  151. package/dist/ports/testing.d.ts +47 -0
  152. package/dist/ports/testing.d.ts.map +1 -1
  153. package/dist/ports/testing.js +23 -0
  154. package/dist/ports/testing.js.map +1 -1
  155. package/dist/ports/unit-of-work.d.ts +60 -3
  156. package/dist/ports/unit-of-work.d.ts.map +1 -1
  157. package/dist/ports/unit-of-work.js +11 -2
  158. package/dist/ports/unit-of-work.js.map +1 -1
  159. package/dist/providers/instrumentation.d.ts +204 -0
  160. package/dist/providers/instrumentation.d.ts.map +1 -1
  161. package/dist/providers/instrumentation.js +14 -0
  162. package/dist/providers/instrumentation.js.map +1 -1
  163. package/dist/providers/provider.d.ts +14 -1
  164. package/dist/providers/provider.d.ts.map +1 -1
  165. package/dist/providers/provider.js.map +1 -1
  166. package/dist/schedules/index.d.ts +246 -0
  167. package/dist/schedules/index.d.ts.map +1 -1
  168. package/dist/schedules/index.js +27 -0
  169. package/dist/schedules/index.js.map +1 -1
  170. package/dist/server/health.d.ts +14 -5
  171. package/dist/server/health.d.ts.map +1 -1
  172. package/dist/server/health.js +5 -2
  173. package/dist/server/health.js.map +1 -1
  174. package/dist/server/hooks/auth.d.ts +57 -0
  175. package/dist/server/hooks/auth.d.ts.map +1 -1
  176. package/dist/server/hooks/auth.js.map +1 -1
  177. package/dist/server/hooks/cors.d.ts +27 -0
  178. package/dist/server/hooks/cors.d.ts.map +1 -1
  179. package/dist/server/hooks/cors.js +12 -0
  180. package/dist/server/hooks/cors.js.map +1 -1
  181. package/dist/server/hooks/errors.d.ts +15 -6
  182. package/dist/server/hooks/errors.d.ts.map +1 -1
  183. package/dist/server/hooks/errors.js.map +1 -1
  184. package/dist/server/hooks/index.d.ts +3 -0
  185. package/dist/server/hooks/index.d.ts.map +1 -1
  186. package/dist/server/hooks/index.js +3 -0
  187. package/dist/server/hooks/index.js.map +1 -1
  188. package/dist/server/hooks/logging.d.ts +36 -0
  189. package/dist/server/hooks/logging.d.ts.map +1 -1
  190. package/dist/server/hooks/logging.js +6 -0
  191. package/dist/server/hooks/logging.js.map +1 -1
  192. package/dist/server/hooks/rate-limit.d.ts +33 -0
  193. package/dist/server/hooks/rate-limit.d.ts.map +1 -1
  194. package/dist/server/hooks/rate-limit.js +11 -0
  195. package/dist/server/hooks/rate-limit.js.map +1 -1
  196. package/dist/server/http.d.ts +170 -0
  197. package/dist/server/http.d.ts.map +1 -1
  198. package/dist/server/index.d.ts +18 -0
  199. package/dist/server/index.d.ts.map +1 -1
  200. package/dist/server/index.js +6 -0
  201. package/dist/server/index.js.map +1 -1
  202. package/dist/server/openapi.d.ts +5 -3
  203. package/dist/server/openapi.d.ts.map +1 -1
  204. package/dist/server/openapi.js +4 -2
  205. package/dist/server/openapi.js.map +1 -1
  206. package/dist/server/providers/loadProviderConfig.d.ts +9 -0
  207. package/dist/server/providers/loadProviderConfig.d.ts.map +1 -1
  208. package/dist/server/providers/loadProviderConfig.js +9 -0
  209. package/dist/server/providers/loadProviderConfig.js.map +1 -1
  210. package/dist/server/server.d.ts +107 -8
  211. package/dist/server/server.d.ts.map +1 -1
  212. package/dist/server/server.js +27 -7
  213. package/dist/server/server.js.map +1 -1
  214. package/dist/testing/index.d.ts +167 -0
  215. package/dist/testing/index.d.ts.map +1 -0
  216. package/dist/testing/index.js +119 -0
  217. package/dist/testing/index.js.map +1 -0
  218. package/package.json +21 -1
  219. package/src/application/index.ts +85 -22
  220. package/src/client/client.ts +73 -12
  221. package/src/client/index.ts +12 -0
  222. package/src/client/types.ts +70 -9
  223. package/src/config/index.ts +86 -0
  224. package/src/contracts/contract-builder.ts +49 -22
  225. package/src/contracts/contract-group.ts +35 -19
  226. package/src/contracts/contract-like.ts +4 -4
  227. package/src/contracts/index.ts +28 -1
  228. package/src/contracts/openapi-meta.ts +8 -8
  229. package/src/contracts/path-template.ts +27 -0
  230. package/src/contracts/types.ts +111 -10
  231. package/src/contracts/utils.ts +6 -0
  232. package/src/domain/entity.ts +22 -11
  233. package/src/domain/events.ts +5 -2
  234. package/src/domain/value-object.ts +19 -9
  235. package/src/errors/catalog.ts +40 -16
  236. package/src/errors/response.ts +16 -4
  237. package/src/errors/validation.ts +10 -1
  238. package/src/events/index.ts +134 -0
  239. package/src/idempotency/index.ts +767 -0
  240. package/src/jobs/index.ts +111 -0
  241. package/src/mail/index.ts +149 -0
  242. package/src/notifications/index.ts +771 -0
  243. package/src/openapi/index.ts +133 -16
  244. package/src/outbox/index.ts +1024 -0
  245. package/src/pagination/index.ts +278 -0
  246. package/src/ports/audit.ts +271 -0
  247. package/src/ports/auth.ts +70 -0
  248. package/src/ports/cache.ts +41 -0
  249. package/src/ports/clock.ts +38 -0
  250. package/src/ports/id-generator.ts +37 -0
  251. package/src/ports/index.ts +106 -11
  252. package/src/ports/logger.ts +56 -0
  253. package/src/ports/policy.ts +133 -0
  254. package/src/ports/rate-limit.ts +25 -0
  255. package/src/ports/redaction.ts +101 -0
  256. package/src/ports/storage.ts +100 -0
  257. package/src/ports/testing.ts +47 -0
  258. package/src/ports/unit-of-work.ts +60 -3
  259. package/src/providers/instrumentation.ts +204 -0
  260. package/src/providers/provider.ts +14 -1
  261. package/src/schedules/index.ts +247 -0
  262. package/src/server/health.ts +14 -5
  263. package/src/server/hooks/auth.ts +58 -0
  264. package/src/server/hooks/cors.ts +27 -0
  265. package/src/server/hooks/errors.ts +15 -6
  266. package/src/server/hooks/index.ts +3 -0
  267. package/src/server/hooks/logging.ts +36 -0
  268. package/src/server/hooks/rate-limit.ts +33 -0
  269. package/src/server/http.ts +170 -1
  270. package/src/server/index.ts +18 -1
  271. package/src/server/openapi.ts +5 -3
  272. package/src/server/providers/loadProviderConfig.ts +9 -0
  273. package/src/server/server.ts +107 -9
  274. package/src/testing/index.ts +337 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ import { createProviderInstrumentation } from "../providers";
2
+ /**
3
+ * Error thrown when notification payload validation fails.
4
+ */
5
+ export class NotificationValidationError extends Error {
6
+ /**
7
+ * Raw Standard Schema validation issues.
8
+ */
9
+ issues;
10
+ constructor(args) {
11
+ super(`Notification "${args.name}" payload validation failed: ${formatIssues(args.issues)}`);
12
+ this.name = "NotificationValidationError";
13
+ this.issues = args.issues;
14
+ }
15
+ }
16
+ /**
17
+ * Error thrown when notification delivery fails.
18
+ */
19
+ export class NotificationDeliveryError extends Error {
20
+ /**
21
+ * Notification name.
22
+ */
23
+ notificationName;
24
+ /**
25
+ * Channel that failed.
26
+ */
27
+ channel;
28
+ /**
29
+ * Original channel error.
30
+ */
31
+ cause;
32
+ constructor(args) {
33
+ super(`Notification "${args.notificationName}" failed on channel "${args.channel}": ${args.cause instanceof Error ? args.cause.message : String(args.cause)}`);
34
+ this.name = "NotificationDeliveryError";
35
+ this.notificationName = args.notificationName;
36
+ this.channel = args.channel;
37
+ this.cause = args.cause;
38
+ }
39
+ }
40
+ function formatPath(path) {
41
+ if (!path?.length)
42
+ return "";
43
+ return path
44
+ .map((segment) => typeof segment === "object" && segment !== null && "key" in segment
45
+ ? String(segment.key)
46
+ : String(segment))
47
+ .join(".");
48
+ }
49
+ function formatIssues(issues) {
50
+ return issues
51
+ .map((issue) => {
52
+ const path = formatPath(issue.path);
53
+ return path ? `${path}: ${issue.message}` : issue.message;
54
+ })
55
+ .join("; ");
56
+ }
57
+ async function parsePayload(schema, input, args) {
58
+ const result = await schema["~standard"].validate(input);
59
+ if (result.issues?.length) {
60
+ throw new NotificationValidationError({
61
+ name: args.name,
62
+ issues: result.issues,
63
+ });
64
+ }
65
+ if ("value" in result) {
66
+ return result.value;
67
+ }
68
+ throw new Error("Invalid Standard Schema result: missing value");
69
+ }
70
+ async function resolveCtx(ctx) {
71
+ if (typeof ctx === "function") {
72
+ return ctx();
73
+ }
74
+ return ctx;
75
+ }
76
+ function resolveChannelNames(notification, options) {
77
+ const available = Object.keys(notification.channels);
78
+ const selected = options?.channels ?? available;
79
+ for (const channel of selected) {
80
+ if (!notification.channels[channel]) {
81
+ throw new Error(`Notification "${notification.name}" does not define channel "${channel}".`);
82
+ }
83
+ }
84
+ return selected;
85
+ }
86
+ function summarizeResults(results) {
87
+ const sent = results.filter((result) => result.status === "sent").length;
88
+ const skipped = results.filter((result) => result.status === "skipped").length;
89
+ const failed = results.filter((result) => result.status === "failed").length;
90
+ return { sent, skipped, failed };
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) {
100
+ return {
101
+ kind: "notification",
102
+ name,
103
+ payload: options.payload,
104
+ description: options.description,
105
+ channels: options.channels,
106
+ };
107
+ }
108
+ /**
109
+ * Validate and parse a notification payload with the notification's Standard
110
+ * Schema.
111
+ */
112
+ export async function parseNotificationPayload(notification, payload) {
113
+ return (await parsePayload(notification.payload, payload, {
114
+ name: notification.name,
115
+ }));
116
+ }
117
+ /**
118
+ * Create an inline notification dispatcher.
119
+ *
120
+ * The dispatcher validates payloads and runs selected channel handlers
121
+ * immediately. Use this directly in tests and local apps, or wrap it in jobs
122
+ * and outbox delivery for production background execution.
123
+ */
124
+ export function createInlineNotificationDispatcher(options = {}) {
125
+ const instrumentation = createProviderInstrumentation(options.instrumentation, {
126
+ providerName: "notifications",
127
+ watcher: "notifications",
128
+ });
129
+ return {
130
+ async send(notification, payload, sendOptions = {}) {
131
+ const parsed = await parseNotificationPayload(notification, payload);
132
+ const channels = resolveChannelNames(notification, sendOptions);
133
+ const ctx = await resolveCtx(options.ctx);
134
+ const results = [];
135
+ instrumentation.custom({
136
+ name: "notification.send.started",
137
+ label: "Notification started",
138
+ summary: notification.name,
139
+ requestId: sendOptions.requestId,
140
+ traceId: sendOptions.traceId,
141
+ spanId: sendOptions.spanId,
142
+ parentSpanId: sendOptions.parentSpanId,
143
+ traceparent: sendOptions.traceparent,
144
+ details: {
145
+ notificationName: notification.name,
146
+ channels,
147
+ metadata: sendOptions.metadata,
148
+ },
149
+ });
150
+ for (const channel of channels) {
151
+ const handler = notification.channels[channel];
152
+ try {
153
+ const result = await handler({
154
+ notification,
155
+ payload: parsed,
156
+ ctx,
157
+ channel,
158
+ });
159
+ results.push(result ?? {
160
+ channel,
161
+ status: "sent",
162
+ });
163
+ }
164
+ catch (error) {
165
+ const args = {
166
+ notification,
167
+ payload: parsed,
168
+ ctx,
169
+ channel,
170
+ };
171
+ const handled = await options.onError?.(error, args);
172
+ if (handled) {
173
+ results.push(handled);
174
+ continue;
175
+ }
176
+ instrumentation.custom({
177
+ name: "notification.send.failed",
178
+ label: "Notification failed",
179
+ summary: `${notification.name} (${channel})`,
180
+ requestId: sendOptions.requestId,
181
+ traceId: sendOptions.traceId,
182
+ spanId: sendOptions.spanId,
183
+ parentSpanId: sendOptions.parentSpanId,
184
+ traceparent: sendOptions.traceparent,
185
+ details: {
186
+ notificationName: notification.name,
187
+ channel,
188
+ error: error instanceof Error ? error.message : String(error),
189
+ metadata: sendOptions.metadata,
190
+ },
191
+ });
192
+ throw new NotificationDeliveryError({
193
+ notificationName: notification.name,
194
+ channel,
195
+ cause: error,
196
+ });
197
+ }
198
+ }
199
+ const summary = summarizeResults(results);
200
+ instrumentation.custom({
201
+ name: "notification.send.completed",
202
+ label: "Notification sent",
203
+ summary: `${notification.name} (${summary.sent} sent, ${summary.skipped} skipped, ${summary.failed} failed)`,
204
+ requestId: sendOptions.requestId,
205
+ traceId: sendOptions.traceId,
206
+ spanId: sendOptions.spanId,
207
+ parentSpanId: sendOptions.parentSpanId,
208
+ traceparent: sendOptions.traceparent,
209
+ details: {
210
+ notificationName: notification.name,
211
+ channels,
212
+ results,
213
+ metadata: sendOptions.metadata,
214
+ },
215
+ });
216
+ return {
217
+ notificationName: notification.name,
218
+ payload: parsed,
219
+ channels,
220
+ results,
221
+ };
222
+ },
223
+ };
224
+ }
225
+ /**
226
+ * Define a mail-backed notification channel.
227
+ *
228
+ * Return `undefined` from the renderer when the channel should be skipped, for
229
+ * example when a recipient does not have an email address.
230
+ */
231
+ export function defineMailNotificationChannel(render) {
232
+ return async (args) => {
233
+ const message = await render(args);
234
+ if (!message) {
235
+ return {
236
+ channel: args.channel,
237
+ status: "skipped",
238
+ reason: "No mail message was returned.",
239
+ };
240
+ }
241
+ const result = await args.ctx.ports.mailer.send(message);
242
+ return {
243
+ channel: args.channel,
244
+ status: "sent",
245
+ id: result.id,
246
+ provider: result.provider,
247
+ };
248
+ };
249
+ }
250
+ /**
251
+ * Create an in-memory notification port for tests and examples.
252
+ *
253
+ * The memory port validates payloads and records notification intent without
254
+ * running channel handlers.
255
+ */
256
+ export function createMemoryNotificationPort(options = {}) {
257
+ const deliveries = [];
258
+ const now = options.now ?? (() => new Date());
259
+ const id = options.id ?? (() => crypto.randomUUID());
260
+ return {
261
+ get deliveries() {
262
+ return deliveries;
263
+ },
264
+ async send(notification, payload, sendOptions = {}) {
265
+ const parsed = await parseNotificationPayload(notification, payload);
266
+ const channels = resolveChannelNames(notification, sendOptions);
267
+ const delivery = {
268
+ id: id(),
269
+ notificationName: notification.name,
270
+ payload: parsed,
271
+ channels,
272
+ metadata: sendOptions.metadata,
273
+ sentAt: now(),
274
+ };
275
+ deliveries.push(delivery);
276
+ await options.onSend?.(delivery);
277
+ return {
278
+ notificationName: notification.name,
279
+ payload: parsed,
280
+ channels,
281
+ results: channels.map((channel) => ({
282
+ channel,
283
+ status: "sent",
284
+ id: delivery.id,
285
+ provider: "memory",
286
+ details: {
287
+ mode: "intent",
288
+ },
289
+ })),
290
+ };
291
+ },
292
+ clear() {
293
+ deliveries.length = 0;
294
+ },
295
+ };
296
+ }
297
+ /**
298
+ * Create notification helper methods bound to an application context type.
299
+ */
300
+ export function createNotificationHandlers() {
301
+ return {
302
+ defineNotification(name, options) {
303
+ return defineNotification(name, options);
304
+ },
305
+ createInlineNotificationDispatcher(options = {}) {
306
+ return createInlineNotificationDispatcher(options);
307
+ },
308
+ };
309
+ }
310
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
@@ -7,29 +7,56 @@ import { type ContractLike } from "../contracts";
7
7
  import { type SchemaIntrospector } from "./schema-introspector";
8
8
  export { createZodIntrospector, type SchemaIntrospector, } from "./schema-introspector";
9
9
  /**
10
- * OpenAPI 3.1 Info Object
10
+ * OpenAPI 3.1 info object.
11
11
  */
12
12
  export interface OpenAPIInfo {
13
+ /**
14
+ * API title.
15
+ */
13
16
  title: string;
17
+ /**
18
+ * API version.
19
+ */
14
20
  version: string;
21
+ /**
22
+ * API description.
23
+ */
15
24
  description?: string;
25
+ /**
26
+ * Terms of service URL.
27
+ */
16
28
  termsOfService?: string;
29
+ /**
30
+ * API contact information.
31
+ */
17
32
  contact?: {
18
33
  name?: string;
19
34
  url?: string;
20
35
  email?: string;
21
36
  };
37
+ /**
38
+ * API license information.
39
+ */
22
40
  license?: {
23
41
  name: string;
24
42
  url?: string;
25
43
  };
26
44
  }
27
45
  /**
28
- * OpenAPI 3.1 Server Object
46
+ * OpenAPI 3.1 server object.
29
47
  */
30
48
  export interface OpenAPIServer {
49
+ /**
50
+ * Server URL.
51
+ */
31
52
  url: string;
53
+ /**
54
+ * Server description.
55
+ */
32
56
  description?: string;
57
+ /**
58
+ * Server URL variables.
59
+ */
33
60
  variables?: Record<string, {
34
61
  default: string;
35
62
  enum?: string[];
@@ -37,7 +64,7 @@ export interface OpenAPIServer {
37
64
  }>;
38
65
  }
39
66
  /**
40
- * OpenAPI 3.1 Security Scheme Object
67
+ * OpenAPI 3.1 security scheme object.
41
68
  */
42
69
  export type OpenAPISecurityScheme = {
43
70
  type: "apiKey";
@@ -59,38 +86,74 @@ export type OpenAPISecurityScheme = {
59
86
  description?: string;
60
87
  };
61
88
  /**
62
- * Schema or Reference object for OpenAPI
89
+ * OpenAPI schema object.
63
90
  */
64
91
  export type SchemaObject = Record<string, unknown>;
92
+ /**
93
+ * OpenAPI reference object.
94
+ */
65
95
  export type ReferenceObject = {
66
96
  $ref: string;
67
97
  };
68
98
  /**
69
- * OpenAPI Parameter Object
99
+ * OpenAPI parameter object.
70
100
  */
71
101
  export interface ParameterObject {
102
+ /**
103
+ * Parameter name.
104
+ */
72
105
  name: string;
106
+ /**
107
+ * Parameter location.
108
+ */
73
109
  in: "path" | "query" | "header" | "cookie";
110
+ /**
111
+ * Whether the parameter is required.
112
+ */
74
113
  required?: boolean;
114
+ /**
115
+ * Parameter schema.
116
+ */
75
117
  schema?: SchemaObject | ReferenceObject;
118
+ /**
119
+ * Parameter description.
120
+ */
76
121
  description?: string;
122
+ /**
123
+ * Whether the parameter is deprecated.
124
+ */
77
125
  deprecated?: boolean;
78
126
  }
79
127
  /**
80
- * OpenAPI Request Body Object
128
+ * OpenAPI request body object.
81
129
  */
82
130
  export interface RequestBodyObject {
131
+ /**
132
+ * Whether the request body is required.
133
+ */
83
134
  required?: boolean;
135
+ /**
136
+ * Request body description.
137
+ */
84
138
  description?: string;
139
+ /**
140
+ * Request body content keyed by media type.
141
+ */
85
142
  content: Record<string, {
86
143
  schema?: SchemaObject | ReferenceObject;
87
144
  }>;
88
145
  }
89
146
  /**
90
- * OpenAPI Response Object
147
+ * OpenAPI response object.
91
148
  */
92
149
  export interface ResponseObject {
150
+ /**
151
+ * Response description.
152
+ */
93
153
  description: string;
154
+ /**
155
+ * Response content keyed by media type.
156
+ */
94
157
  content?: Record<string, {
95
158
  schema?: SchemaObject | ReferenceObject;
96
159
  examples?: Record<string, {
@@ -100,25 +163,55 @@ export interface ResponseObject {
100
163
  }>;
101
164
  }
102
165
  /**
103
- * OpenAPI Operation Object
166
+ * OpenAPI operation object.
104
167
  */
105
168
  export interface OperationObject {
169
+ /**
170
+ * Operation ID.
171
+ */
106
172
  operationId?: string;
173
+ /**
174
+ * Operation summary.
175
+ */
107
176
  summary?: string;
177
+ /**
178
+ * Operation description.
179
+ */
108
180
  description?: string;
181
+ /**
182
+ * Operation tags.
183
+ */
109
184
  tags?: string[];
185
+ /**
186
+ * Whether the operation is deprecated.
187
+ */
110
188
  deprecated?: boolean;
189
+ /**
190
+ * External documentation.
191
+ */
111
192
  externalDocs?: {
112
193
  description?: string;
113
194
  url: string;
114
195
  };
196
+ /**
197
+ * Operation-specific security requirements.
198
+ */
115
199
  security?: Array<Record<string, string[]>>;
200
+ /**
201
+ * Operation parameters.
202
+ */
116
203
  parameters?: ParameterObject[];
204
+ /**
205
+ * Operation request body.
206
+ */
117
207
  requestBody?: RequestBodyObject;
208
+ /**
209
+ * Operation responses keyed by status code.
210
+ */
118
211
  responses: Record<string, ResponseObject>;
119
212
  }
120
213
  /**
121
- * OpenAPI Path Item Object
214
+ * OpenAPI path item object.
122
215
  */
123
216
  export interface PathItemObject {
124
217
  get?: OperationObject;
@@ -130,29 +223,53 @@ export interface PathItemObject {
130
223
  options?: OperationObject;
131
224
  }
132
225
  /**
133
- * OpenAPI Paths Object
226
+ * OpenAPI paths object.
134
227
  */
135
228
  export type PathsObject = Record<string, PathItemObject>;
136
229
  /**
137
- * OpenAPI Components Object
230
+ * OpenAPI components object.
138
231
  */
139
232
  export interface ComponentsObject {
233
+ /**
234
+ * Reusable schemas keyed by component name.
235
+ */
140
236
  schemas?: Record<string, SchemaObject>;
237
+ /**
238
+ * Reusable security schemes keyed by scheme name.
239
+ */
141
240
  securitySchemes?: Record<string, OpenAPISecurityScheme>;
142
241
  }
143
242
  /**
144
- * OpenAPI 3.1 Document
243
+ * OpenAPI 3.1 document.
145
244
  */
146
245
  export interface OpenAPIObject {
246
+ /**
247
+ * OpenAPI version.
248
+ */
147
249
  openapi: "3.1.0";
250
+ /**
251
+ * API info.
252
+ */
148
253
  info: OpenAPIInfo;
254
+ /**
255
+ * Server list.
256
+ */
149
257
  servers?: OpenAPIServer[];
258
+ /**
259
+ * API paths.
260
+ */
150
261
  paths: PathsObject;
262
+ /**
263
+ * Reusable components.
264
+ */
151
265
  components?: ComponentsObject;
266
+ /**
267
+ * Global security requirements.
268
+ */
152
269
  security?: Array<Record<string, string[]>>;
153
270
  }
154
271
  /**
155
- * Options for generating OpenAPI spec
272
+ * Options for generating an OpenAPI document.
156
273
  */
157
274
  export interface OpenAPIGeneratorOptions {
158
275
  /** API title */
@@ -177,12 +294,11 @@ export interface OpenAPIGeneratorOptions {
177
294
  schemaIntrospector?: SchemaIntrospector;
178
295
  }
179
296
  /**
180
- * Type for contracts that can be passed to the generator.
181
- * Accepts both ContractBuilder instances and plain HttpContractConfig objects.
297
+ * Contract input accepted by the OpenAPI generator.
182
298
  */
183
299
  export type ContractInput = ContractLike;
184
300
  /**
185
- * Convert an array of contracts to an OpenAPI 3.1 document
301
+ * Convert contracts to an OpenAPI 3.1 document.
186
302
  *
187
303
  * @param contracts - Array of HTTP contracts (ContractBuilder instances or configs)
188
304
  * @param options - OpenAPI generation options
@@ -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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"}
@@ -9,7 +9,7 @@ import { createZodIntrospector, } from "./schema-introspector";
9
9
  // Re-export the introspector types for consumers who want custom implementations
10
10
  export { createZodIntrospector, } from "./schema-introspector";
11
11
  /**
12
- * Convert an array of contracts to an OpenAPI 3.1 document
12
+ * Convert contracts to an OpenAPI 3.1 document.
13
13
  *
14
14
  * @param contracts - Array of HTTP contracts (ContractBuilder instances or configs)
15
15
  * @param options - OpenAPI generation options