@beignet/core 0.0.13 → 0.0.15

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 (70) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +198 -2
  3. package/dist/entitlements/index.d.ts +234 -0
  4. package/dist/entitlements/index.d.ts.map +1 -0
  5. package/dist/entitlements/index.js +172 -0
  6. package/dist/entitlements/index.js.map +1 -0
  7. package/dist/error-reporting/index.d.ts +131 -0
  8. package/dist/error-reporting/index.d.ts.map +1 -0
  9. package/dist/error-reporting/index.js +112 -0
  10. package/dist/error-reporting/index.js.map +1 -0
  11. package/dist/flags/index.d.ts +293 -0
  12. package/dist/flags/index.d.ts.map +1 -0
  13. package/dist/flags/index.js +204 -0
  14. package/dist/flags/index.js.map +1 -0
  15. package/dist/locks/index.d.ts +155 -0
  16. package/dist/locks/index.d.ts.map +1 -0
  17. package/dist/locks/index.js +248 -0
  18. package/dist/locks/index.js.map +1 -0
  19. package/dist/payments/index.d.ts +430 -0
  20. package/dist/payments/index.d.ts.map +1 -0
  21. package/dist/payments/index.js +230 -0
  22. package/dist/payments/index.js.map +1 -0
  23. package/dist/ports/index.d.ts +74 -1
  24. package/dist/ports/index.d.ts.map +1 -1
  25. package/dist/ports/index.js +38 -0
  26. package/dist/ports/index.js.map +1 -1
  27. package/dist/ports/policy.d.ts +104 -0
  28. package/dist/ports/policy.d.ts.map +1 -1
  29. package/dist/ports/policy.js +102 -7
  30. package/dist/ports/policy.js.map +1 -1
  31. package/dist/search/index.d.ts +175 -0
  32. package/dist/search/index.d.ts.map +1 -0
  33. package/dist/search/index.js +344 -0
  34. package/dist/search/index.js.map +1 -0
  35. package/dist/server/hooks/error-reporting.d.ts +79 -0
  36. package/dist/server/hooks/error-reporting.d.ts.map +1 -0
  37. package/dist/server/hooks/error-reporting.js +147 -0
  38. package/dist/server/hooks/error-reporting.js.map +1 -0
  39. package/dist/server/hooks/index.d.ts +1 -0
  40. package/dist/server/hooks/index.d.ts.map +1 -1
  41. package/dist/server/hooks/index.js +1 -0
  42. package/dist/server/hooks/index.js.map +1 -1
  43. package/dist/server/server.d.ts +5 -0
  44. package/dist/server/server.d.ts.map +1 -1
  45. package/dist/server/server.js +9 -1
  46. package/dist/server/server.js.map +1 -1
  47. package/dist/server/use-case-route.d.ts +2 -2
  48. package/dist/testing/index.d.ts +46 -1
  49. package/dist/testing/index.d.ts.map +1 -1
  50. package/dist/testing/index.js +33 -1
  51. package/dist/testing/index.js.map +1 -1
  52. package/dist/webhooks/index.d.ts +195 -0
  53. package/dist/webhooks/index.d.ts.map +1 -0
  54. package/dist/webhooks/index.js +313 -0
  55. package/dist/webhooks/index.js.map +1 -0
  56. package/package.json +29 -1
  57. package/src/entitlements/index.ts +479 -0
  58. package/src/error-reporting/index.ts +273 -0
  59. package/src/flags/index.ts +608 -0
  60. package/src/locks/index.ts +440 -0
  61. package/src/payments/index.ts +699 -0
  62. package/src/ports/index.ts +231 -0
  63. package/src/ports/policy.ts +272 -7
  64. package/src/search/index.ts +632 -0
  65. package/src/server/hooks/error-reporting.ts +249 -0
  66. package/src/server/hooks/index.ts +8 -0
  67. package/src/server/server.ts +20 -0
  68. package/src/server/use-case-route.ts +2 -2
  69. package/src/testing/index.ts +83 -1
  70. package/src/webhooks/index.ts +555 -0
@@ -0,0 +1,313 @@
1
+ /**
2
+ * @beignet/core/webhooks
3
+ *
4
+ * Provider-neutral inbound webhook primitives for Beignet applications.
5
+ */
6
+ /**
7
+ * Error thrown for invalid webhook definitions and inputs.
8
+ */
9
+ export class WebhookOptionsError extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = "WebhookOptionsError";
13
+ }
14
+ }
15
+ /**
16
+ * Error thrown when verification fails.
17
+ */
18
+ export class WebhookVerificationError extends Error {
19
+ webhookName;
20
+ provider;
21
+ code;
22
+ cause;
23
+ constructor(args) {
24
+ super(args.message);
25
+ this.name = "WebhookVerificationError";
26
+ this.webhookName = args.webhookName;
27
+ this.provider = args.provider;
28
+ this.code = args.code;
29
+ this.cause = args.cause;
30
+ }
31
+ }
32
+ /**
33
+ * Error thrown when a verified event fails payload validation.
34
+ */
35
+ export class WebhookValidationError extends Error {
36
+ webhookName;
37
+ eventType;
38
+ issues;
39
+ constructor(args) {
40
+ super(`Webhook "${args.webhookName}" event "${args.eventType}" payload validation failed: ${formatIssues(args.issues)}`);
41
+ this.name = "WebhookValidationError";
42
+ this.webhookName = args.webhookName;
43
+ this.eventType = args.eventType;
44
+ this.issues = args.issues;
45
+ }
46
+ }
47
+ /**
48
+ * Define a typed inbound webhook surface.
49
+ */
50
+ export function defineWebhook(name, options = {}) {
51
+ if (!name)
52
+ throw new WebhookOptionsError("Webhook name is required.");
53
+ return {
54
+ name,
55
+ provider: options.provider,
56
+ events: (options.events ?? {}),
57
+ verifier: options.verifier,
58
+ metadata: options.metadata,
59
+ };
60
+ }
61
+ /**
62
+ * Verify a raw webhook request and validate the matching event payload schema.
63
+ */
64
+ export async function verifyWebhook(webhook, input, options = {}) {
65
+ validateWebhook(webhook);
66
+ const verifier = options.verifier ?? webhook.verifier;
67
+ if (!verifier) {
68
+ throw new WebhookOptionsError(`Webhook "${webhook.name}" does not have a verifier.`);
69
+ }
70
+ let event;
71
+ try {
72
+ event = await verifier.verify(input);
73
+ }
74
+ catch (error) {
75
+ if (error instanceof WebhookVerificationError)
76
+ throw error;
77
+ throw new WebhookVerificationError({
78
+ message: `Webhook "${webhook.name}" verification failed.`,
79
+ webhookName: webhook.name,
80
+ provider: webhook.provider,
81
+ code: "verification_failed",
82
+ cause: error,
83
+ });
84
+ }
85
+ return parseWebhookEvent(webhook, event, options);
86
+ }
87
+ /**
88
+ * Validate a verified webhook event against its catalog entry.
89
+ */
90
+ export async function parseWebhookEvent(webhook, event, options = {}) {
91
+ validateWebhook(webhook);
92
+ validateEvent(webhook, event);
93
+ const schema = webhook.events[event.type];
94
+ if (!schema) {
95
+ if (options.allowUnknownEvents ?? true)
96
+ return event;
97
+ throw new WebhookVerificationError({
98
+ message: `Webhook "${webhook.name}" received unknown event type "${event.type}".`,
99
+ webhookName: webhook.name,
100
+ provider: webhook.provider,
101
+ code: "unknown_event_type",
102
+ });
103
+ }
104
+ const result = await schema["~standard"].validate(event.payload);
105
+ if (result.issues?.length) {
106
+ throw new WebhookValidationError({
107
+ webhookName: webhook.name,
108
+ eventType: event.type,
109
+ issues: result.issues,
110
+ });
111
+ }
112
+ if (!("value" in result)) {
113
+ throw new Error("Invalid Standard Schema result: missing value");
114
+ }
115
+ return {
116
+ ...event,
117
+ payload: result.value,
118
+ };
119
+ }
120
+ /**
121
+ * Create an in-memory verifier for tests.
122
+ */
123
+ export function createMemoryWebhookVerifier(options = {}) {
124
+ const queuedEvents = [...(options.events ?? [])];
125
+ const verifiedEvents = [];
126
+ return {
127
+ get verifiedEvents() {
128
+ return verifiedEvents;
129
+ },
130
+ async verify() {
131
+ const event = queuedEvents.shift();
132
+ if (!event) {
133
+ throw new WebhookVerificationError({
134
+ message: "No memory webhook event is queued.",
135
+ code: "missing_memory_event",
136
+ });
137
+ }
138
+ verifiedEvents.push(event);
139
+ return event;
140
+ },
141
+ queue(event) {
142
+ queuedEvents.push(event);
143
+ },
144
+ reset() {
145
+ queuedEvents.length = 0;
146
+ verifiedEvents.length = 0;
147
+ },
148
+ };
149
+ }
150
+ /**
151
+ * Create a generic JSON + HMAC verifier.
152
+ */
153
+ export function createHmacWebhookVerifier(options) {
154
+ if (!options.secret) {
155
+ throw new WebhookOptionsError("Webhook HMAC secret is required.");
156
+ }
157
+ const signatureHeader = normalizeHeaderName(options.signatureHeader ?? "x-webhook-signature");
158
+ const algorithm = options.algorithm ?? "SHA-256";
159
+ const eventIdPath = options.eventIdPath ?? "id";
160
+ const eventTypePath = options.eventTypePath ?? "type";
161
+ return {
162
+ async verify(input) {
163
+ const signature = input.signature ?? input.headers?.[signatureHeader];
164
+ if (!signature) {
165
+ throw new WebhookVerificationError({
166
+ message: `Missing ${signatureHeader} header.`,
167
+ provider: options.provider,
168
+ code: "missing_signature",
169
+ });
170
+ }
171
+ const expected = await hmacHex(algorithm, options.secret, input.rawBody);
172
+ const actual = normalizeSignature(signature, options.signaturePrefix);
173
+ if (!(await timingSafeStringEqual(actual, expected))) {
174
+ throw new WebhookVerificationError({
175
+ message: "Webhook signature is invalid.",
176
+ provider: options.provider,
177
+ code: "invalid_signature",
178
+ });
179
+ }
180
+ const payload = parseJsonBody(input.rawBody);
181
+ const id = readStringPath(payload, eventIdPath);
182
+ const type = readStringPath(payload, eventTypePath);
183
+ if (!id) {
184
+ throw new WebhookVerificationError({
185
+ message: `Webhook payload is missing string event ID at "${eventIdPath}".`,
186
+ provider: options.provider,
187
+ code: "missing_event_id",
188
+ });
189
+ }
190
+ if (!type) {
191
+ throw new WebhookVerificationError({
192
+ message: `Webhook payload is missing string event type at "${eventTypePath}".`,
193
+ provider: options.provider,
194
+ code: "missing_event_type",
195
+ });
196
+ }
197
+ return {
198
+ id,
199
+ type,
200
+ provider: options.provider,
201
+ payload,
202
+ raw: payload,
203
+ };
204
+ },
205
+ };
206
+ }
207
+ function validateWebhook(webhook) {
208
+ if (!webhook.name)
209
+ throw new WebhookOptionsError("Webhook name is required.");
210
+ }
211
+ function validateEvent(webhook, event) {
212
+ if (!event.id) {
213
+ throw new WebhookVerificationError({
214
+ message: `Webhook "${webhook.name}" event is missing an ID.`,
215
+ webhookName: webhook.name,
216
+ provider: webhook.provider,
217
+ code: "missing_event_id",
218
+ });
219
+ }
220
+ if (!event.type) {
221
+ throw new WebhookVerificationError({
222
+ message: `Webhook "${webhook.name}" event is missing a type.`,
223
+ webhookName: webhook.name,
224
+ provider: webhook.provider,
225
+ code: "missing_event_type",
226
+ });
227
+ }
228
+ }
229
+ function formatPath(path) {
230
+ if (!path?.length)
231
+ return "";
232
+ return path
233
+ .map((segment) => typeof segment === "object" && segment !== null && "key" in segment
234
+ ? String(segment.key)
235
+ : String(segment))
236
+ .join(".");
237
+ }
238
+ function formatIssues(issues) {
239
+ return issues
240
+ .map((issue) => {
241
+ const path = formatPath(issue.path);
242
+ return path ? `${path}: ${issue.message}` : issue.message;
243
+ })
244
+ .join("; ");
245
+ }
246
+ function normalizeHeaderName(name) {
247
+ return name.toLowerCase();
248
+ }
249
+ function normalizeSignature(signature, prefix) {
250
+ const trimmed = signature.trim();
251
+ if (!prefix)
252
+ return trimmed;
253
+ return trimmed.startsWith(prefix) ? trimmed.slice(prefix.length) : trimmed;
254
+ }
255
+ function rawBodyBytes(rawBody) {
256
+ if (typeof rawBody === "string")
257
+ return new TextEncoder().encode(rawBody);
258
+ if (rawBody instanceof Uint8Array)
259
+ return rawBody;
260
+ return new Uint8Array(rawBody);
261
+ }
262
+ function rawBodyText(rawBody) {
263
+ if (typeof rawBody === "string")
264
+ return rawBody;
265
+ return new TextDecoder().decode(rawBodyBytes(rawBody));
266
+ }
267
+ function parseJsonBody(rawBody) {
268
+ try {
269
+ return JSON.parse(rawBodyText(rawBody));
270
+ }
271
+ catch (error) {
272
+ throw new WebhookVerificationError({
273
+ message: "Webhook payload must be valid JSON.",
274
+ code: "invalid_json",
275
+ cause: error,
276
+ });
277
+ }
278
+ }
279
+ function readStringPath(input, path) {
280
+ let value = input;
281
+ for (const segment of path.split(".")) {
282
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
283
+ return undefined;
284
+ }
285
+ value = value[segment];
286
+ }
287
+ return typeof value === "string" && value.length > 0 ? value : undefined;
288
+ }
289
+ async function hmacHex(algorithm, secret, rawBody) {
290
+ const key = await crypto.subtle.importKey("raw", new TextEncoder().encode(secret), { name: "HMAC", hash: algorithm ?? "SHA-256" }, false, ["sign"]);
291
+ const bytes = rawBodyBytes(rawBody);
292
+ const data = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
293
+ const signature = await crypto.subtle.sign("HMAC", key, data);
294
+ return bytesToHex(new Uint8Array(signature));
295
+ }
296
+ function bytesToHex(bytes) {
297
+ return [...bytes].map((byte) => byte.toString(16).padStart(2, "0")).join("");
298
+ }
299
+ async function timingSafeStringEqual(a, b) {
300
+ const encoder = new TextEncoder();
301
+ const [digestA, digestB] = await Promise.all([
302
+ crypto.subtle.digest("SHA-256", encoder.encode(a)),
303
+ crypto.subtle.digest("SHA-256", encoder.encode(b)),
304
+ ]);
305
+ const bytesA = new Uint8Array(digestA);
306
+ const bytesB = new Uint8Array(digestB);
307
+ let mismatch = 0;
308
+ for (let index = 0; index < bytesA.length; index++) {
309
+ mismatch |= (bytesA[index] ?? 0) ^ (bytesB[index] ?? 0);
310
+ }
311
+ return mismatch === 0;
312
+ }
313
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beignet/core",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "type": "module",
5
5
  "description": "Core framework primitives for Beignet",
6
6
  "exports": {
@@ -37,6 +37,18 @@
37
37
  "types": "./dist/errors/http.d.ts",
38
38
  "default": "./dist/errors/http.js"
39
39
  },
40
+ "./entitlements": {
41
+ "types": "./dist/entitlements/index.d.ts",
42
+ "default": "./dist/entitlements/index.js"
43
+ },
44
+ "./error-reporting": {
45
+ "types": "./dist/error-reporting/index.d.ts",
46
+ "default": "./dist/error-reporting/index.js"
47
+ },
48
+ "./flags": {
49
+ "types": "./dist/flags/index.d.ts",
50
+ "default": "./dist/flags/index.js"
51
+ },
40
52
  "./events": {
41
53
  "types": "./dist/events/index.d.ts",
42
54
  "default": "./dist/events/index.js"
@@ -49,6 +61,10 @@
49
61
  "types": "./dist/jobs/index.d.ts",
50
62
  "default": "./dist/jobs/index.js"
51
63
  },
64
+ "./locks": {
65
+ "types": "./dist/locks/index.d.ts",
66
+ "default": "./dist/locks/index.js"
67
+ },
52
68
  "./mail": {
53
69
  "types": "./dist/mail/index.d.ts",
54
70
  "default": "./dist/mail/index.js"
@@ -65,6 +81,14 @@
65
81
  "types": "./dist/outbox/index.d.ts",
66
82
  "default": "./dist/outbox/index.js"
67
83
  },
84
+ "./payments": {
85
+ "types": "./dist/payments/index.d.ts",
86
+ "default": "./dist/payments/index.js"
87
+ },
88
+ "./search": {
89
+ "types": "./dist/search/index.d.ts",
90
+ "default": "./dist/search/index.js"
91
+ },
68
92
  "./pagination": {
69
93
  "types": "./dist/pagination/index.d.ts",
70
94
  "default": "./dist/pagination/index.js"
@@ -106,6 +130,10 @@
106
130
  "types": "./dist/uploads/client.d.ts",
107
131
  "default": "./dist/uploads/client.js"
108
132
  },
133
+ "./webhooks": {
134
+ "types": "./dist/webhooks/index.d.ts",
135
+ "default": "./dist/webhooks/index.js"
136
+ },
109
137
  "./server": {
110
138
  "types": "./dist/server/index.d.ts",
111
139
  "default": "./dist/server/index.js"