@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.
- package/CHANGELOG.md +11 -0
- package/README.md +149 -4
- package/dist/application/index.d.ts +93 -9
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +11 -11
- package/dist/application/index.js.map +1 -1
- package/dist/client/client.d.ts +73 -12
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +37 -12
- package/dist/client/client.js.map +1 -1
- package/dist/client/index.d.ts +12 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.d.ts +69 -8
- package/dist/client/types.d.ts.map +1 -1
- package/dist/config/index.d.ts +84 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +36 -0
- package/dist/config/index.js.map +1 -1
- package/dist/contracts/contract-builder.d.ts +49 -22
- package/dist/contracts/contract-builder.d.ts.map +1 -1
- package/dist/contracts/contract-builder.js +48 -21
- package/dist/contracts/contract-builder.js.map +1 -1
- package/dist/contracts/contract-group.d.ts +35 -19
- package/dist/contracts/contract-group.d.ts.map +1 -1
- package/dist/contracts/contract-group.js +35 -19
- package/dist/contracts/contract-group.js.map +1 -1
- package/dist/contracts/contract-like.d.ts +4 -4
- package/dist/contracts/contract-like.d.ts.map +1 -1
- package/dist/contracts/contract-like.js +2 -1
- package/dist/contracts/contract-like.js.map +1 -1
- package/dist/contracts/index.d.ts +28 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +12 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/openapi-meta.d.ts +8 -8
- package/dist/contracts/openapi-meta.d.ts.map +1 -1
- package/dist/contracts/path-template.d.ts +27 -0
- package/dist/contracts/path-template.d.ts.map +1 -1
- package/dist/contracts/path-template.js +6 -0
- package/dist/contracts/path-template.js.map +1 -1
- package/dist/contracts/types.d.ts +104 -10
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js +15 -0
- package/dist/contracts/types.js.map +1 -1
- package/dist/contracts/utils.d.ts +6 -0
- package/dist/contracts/utils.d.ts.map +1 -1
- package/dist/contracts/utils.js +6 -0
- package/dist/contracts/utils.js.map +1 -1
- package/dist/domain/entity.d.ts +22 -11
- package/dist/domain/entity.d.ts.map +1 -1
- package/dist/domain/entity.js +5 -1
- package/dist/domain/entity.js.map +1 -1
- package/dist/domain/events.d.ts +5 -2
- package/dist/domain/events.d.ts.map +1 -1
- package/dist/domain/events.js +4 -1
- package/dist/domain/events.js.map +1 -1
- package/dist/domain/value-object.d.ts +19 -9
- package/dist/domain/value-object.d.ts.map +1 -1
- package/dist/domain/value-object.js +5 -1
- package/dist/domain/value-object.js.map +1 -1
- package/dist/errors/catalog.d.ts +40 -16
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/catalog.js +18 -7
- package/dist/errors/catalog.js.map +1 -1
- package/dist/errors/response.d.ts +16 -4
- package/dist/errors/response.d.ts.map +1 -1
- package/dist/errors/response.js +3 -3
- package/dist/errors/response.js.map +1 -1
- package/dist/errors/validation.d.ts +10 -1
- package/dist/errors/validation.d.ts.map +1 -1
- package/dist/errors/validation.js +3 -0
- package/dist/errors/validation.js.map +1 -1
- package/dist/events/index.d.ts +133 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +30 -0
- package/dist/events/index.js.map +1 -1
- package/dist/idempotency/index.d.ts +355 -0
- package/dist/idempotency/index.d.ts.map +1 -0
- package/dist/idempotency/index.js +360 -0
- package/dist/idempotency/index.js.map +1 -0
- package/dist/jobs/index.d.ts +110 -0
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js +22 -0
- package/dist/jobs/index.js.map +1 -1
- package/dist/mail/index.d.ts +149 -0
- package/dist/mail/index.d.ts.map +1 -1
- package/dist/mail/index.js +30 -0
- package/dist/mail/index.js.map +1 -1
- package/dist/notifications/index.d.ts +369 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +310 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/openapi/index.d.ts +132 -16
- package/dist/openapi/index.d.ts.map +1 -1
- package/dist/openapi/index.js +1 -1
- package/dist/openapi/index.js.map +1 -1
- package/dist/outbox/index.d.ts +469 -0
- package/dist/outbox/index.d.ts.map +1 -0
- package/dist/outbox/index.js +482 -0
- package/dist/outbox/index.js.map +1 -0
- package/dist/pagination/index.d.ts +166 -0
- package/dist/pagination/index.d.ts.map +1 -0
- package/dist/pagination/index.js +96 -0
- package/dist/pagination/index.js.map +1 -0
- package/dist/ports/audit.d.ts +271 -0
- package/dist/ports/audit.d.ts.map +1 -1
- package/dist/ports/audit.js +128 -0
- package/dist/ports/audit.js.map +1 -1
- package/dist/ports/auth.d.ts +70 -0
- package/dist/ports/auth.d.ts.map +1 -1
- package/dist/ports/auth.js +30 -0
- package/dist/ports/auth.js.map +1 -1
- package/dist/ports/cache.d.ts +41 -0
- package/dist/ports/cache.d.ts.map +1 -1
- package/dist/ports/cache.js +10 -0
- package/dist/ports/cache.js.map +1 -1
- package/dist/ports/clock.d.ts +38 -0
- package/dist/ports/clock.d.ts.map +1 -1
- package/dist/ports/clock.js +20 -0
- package/dist/ports/clock.js.map +1 -1
- package/dist/ports/id-generator.d.ts +37 -0
- package/dist/ports/id-generator.d.ts.map +1 -1
- package/dist/ports/id-generator.js +22 -0
- package/dist/ports/id-generator.js.map +1 -1
- package/dist/ports/index.d.ts +83 -0
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +41 -5
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/logger.d.ts +56 -0
- package/dist/ports/logger.d.ts.map +1 -1
- package/dist/ports/logger.js +17 -0
- package/dist/ports/logger.js.map +1 -1
- package/dist/ports/policy.d.ts +132 -0
- package/dist/ports/policy.d.ts.map +1 -1
- package/dist/ports/policy.js +45 -0
- package/dist/ports/policy.js.map +1 -1
- package/dist/ports/rate-limit.d.ts +25 -0
- package/dist/ports/rate-limit.d.ts.map +1 -1
- package/dist/ports/rate-limit.js +10 -0
- package/dist/ports/rate-limit.js.map +1 -1
- package/dist/ports/redaction.d.ts +101 -0
- package/dist/ports/redaction.d.ts.map +1 -1
- package/dist/ports/redaction.js +59 -0
- package/dist/ports/redaction.js.map +1 -1
- package/dist/ports/storage.d.ts +100 -0
- package/dist/ports/storage.d.ts.map +1 -1
- package/dist/ports/storage.js +10 -0
- package/dist/ports/storage.js.map +1 -1
- package/dist/ports/testing.d.ts +47 -0
- package/dist/ports/testing.d.ts.map +1 -1
- package/dist/ports/testing.js +23 -0
- package/dist/ports/testing.js.map +1 -1
- package/dist/ports/unit-of-work.d.ts +60 -3
- package/dist/ports/unit-of-work.d.ts.map +1 -1
- package/dist/ports/unit-of-work.js +11 -2
- package/dist/ports/unit-of-work.js.map +1 -1
- package/dist/providers/instrumentation.d.ts +204 -0
- package/dist/providers/instrumentation.d.ts.map +1 -1
- package/dist/providers/instrumentation.js +14 -0
- package/dist/providers/instrumentation.js.map +1 -1
- package/dist/providers/provider.d.ts +14 -1
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/provider.js.map +1 -1
- package/dist/schedules/index.d.ts +246 -0
- package/dist/schedules/index.d.ts.map +1 -1
- package/dist/schedules/index.js +27 -0
- package/dist/schedules/index.js.map +1 -1
- package/dist/server/health.d.ts +14 -5
- package/dist/server/health.d.ts.map +1 -1
- package/dist/server/health.js +5 -2
- package/dist/server/health.js.map +1 -1
- package/dist/server/hooks/auth.d.ts +57 -0
- package/dist/server/hooks/auth.d.ts.map +1 -1
- package/dist/server/hooks/auth.js.map +1 -1
- package/dist/server/hooks/cors.d.ts +27 -0
- package/dist/server/hooks/cors.d.ts.map +1 -1
- package/dist/server/hooks/cors.js +12 -0
- package/dist/server/hooks/cors.js.map +1 -1
- package/dist/server/hooks/errors.d.ts +15 -6
- package/dist/server/hooks/errors.d.ts.map +1 -1
- package/dist/server/hooks/errors.js.map +1 -1
- package/dist/server/hooks/index.d.ts +3 -0
- package/dist/server/hooks/index.d.ts.map +1 -1
- package/dist/server/hooks/index.js +3 -0
- package/dist/server/hooks/index.js.map +1 -1
- package/dist/server/hooks/logging.d.ts +36 -0
- package/dist/server/hooks/logging.d.ts.map +1 -1
- package/dist/server/hooks/logging.js +6 -0
- package/dist/server/hooks/logging.js.map +1 -1
- package/dist/server/hooks/rate-limit.d.ts +33 -0
- package/dist/server/hooks/rate-limit.d.ts.map +1 -1
- package/dist/server/hooks/rate-limit.js +11 -0
- package/dist/server/hooks/rate-limit.js.map +1 -1
- package/dist/server/http.d.ts +170 -0
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/index.d.ts +18 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +6 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/openapi.d.ts +5 -3
- package/dist/server/openapi.d.ts.map +1 -1
- package/dist/server/openapi.js +4 -2
- package/dist/server/openapi.js.map +1 -1
- package/dist/server/providers/loadProviderConfig.d.ts +9 -0
- package/dist/server/providers/loadProviderConfig.d.ts.map +1 -1
- package/dist/server/providers/loadProviderConfig.js +9 -0
- package/dist/server/providers/loadProviderConfig.js.map +1 -1
- package/dist/server/server.d.ts +107 -8
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +27 -7
- package/dist/server/server.js.map +1 -1
- package/dist/testing/index.d.ts +167 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +119 -0
- package/dist/testing/index.js.map +1 -0
- package/package.json +21 -1
- package/src/application/index.ts +85 -22
- package/src/client/client.ts +73 -12
- package/src/client/index.ts +12 -0
- package/src/client/types.ts +70 -9
- package/src/config/index.ts +86 -0
- package/src/contracts/contract-builder.ts +49 -22
- package/src/contracts/contract-group.ts +35 -19
- package/src/contracts/contract-like.ts +4 -4
- package/src/contracts/index.ts +28 -1
- package/src/contracts/openapi-meta.ts +8 -8
- package/src/contracts/path-template.ts +27 -0
- package/src/contracts/types.ts +111 -10
- package/src/contracts/utils.ts +6 -0
- package/src/domain/entity.ts +22 -11
- package/src/domain/events.ts +5 -2
- package/src/domain/value-object.ts +19 -9
- package/src/errors/catalog.ts +40 -16
- package/src/errors/response.ts +16 -4
- package/src/errors/validation.ts +10 -1
- package/src/events/index.ts +134 -0
- package/src/idempotency/index.ts +767 -0
- package/src/jobs/index.ts +111 -0
- package/src/mail/index.ts +149 -0
- package/src/notifications/index.ts +771 -0
- package/src/openapi/index.ts +133 -16
- package/src/outbox/index.ts +1024 -0
- package/src/pagination/index.ts +278 -0
- package/src/ports/audit.ts +271 -0
- package/src/ports/auth.ts +70 -0
- package/src/ports/cache.ts +41 -0
- package/src/ports/clock.ts +38 -0
- package/src/ports/id-generator.ts +37 -0
- package/src/ports/index.ts +106 -11
- package/src/ports/logger.ts +56 -0
- package/src/ports/policy.ts +133 -0
- package/src/ports/rate-limit.ts +25 -0
- package/src/ports/redaction.ts +101 -0
- package/src/ports/storage.ts +100 -0
- package/src/ports/testing.ts +47 -0
- package/src/ports/unit-of-work.ts +60 -3
- package/src/providers/instrumentation.ts +204 -0
- package/src/providers/provider.ts +14 -1
- package/src/schedules/index.ts +247 -0
- package/src/server/health.ts +14 -5
- package/src/server/hooks/auth.ts +58 -0
- package/src/server/hooks/cors.ts +27 -0
- package/src/server/hooks/errors.ts +15 -6
- package/src/server/hooks/index.ts +3 -0
- package/src/server/hooks/logging.ts +36 -0
- package/src/server/hooks/rate-limit.ts +33 -0
- package/src/server/http.ts +170 -1
- package/src/server/index.ts +18 -1
- package/src/server/openapi.ts +5 -3
- package/src/server/providers/loadProviderConfig.ts +9 -0
- package/src/server/server.ts +107 -9
- 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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"}
|
package/dist/openapi/index.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
226
|
+
* OpenAPI paths object.
|
|
134
227
|
*/
|
|
135
228
|
export type PathsObject = Record<string, PathItemObject>;
|
|
136
229
|
/**
|
|
137
|
-
* OpenAPI
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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":"AAAA;;;;GAIG;AAGH,OAAO,EAEL,KAAK,YAAY,EAMlB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAChB,MAAM,EACN;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CACF,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/openapi/index.ts"],"names":[],"mappings":"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"}
|
package/dist/openapi/index.js
CHANGED
|
@@ -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
|
|
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
|