@beignet/core 0.0.49 → 0.0.51
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 +30 -0
- package/README.md +213 -32
- package/dist/application/index.d.ts +5 -5
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +5 -4
- package/dist/application/index.js.map +1 -1
- package/dist/events/index.d.ts +54 -5
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +188 -34
- package/dist/events/index.js.map +1 -1
- package/dist/events/payload-state.d.ts +4 -0
- package/dist/events/payload-state.d.ts.map +1 -0
- package/dist/events/payload-state.js +11 -0
- package/dist/events/payload-state.js.map +1 -0
- package/dist/idempotency/index.d.ts +7 -3
- package/dist/idempotency/index.d.ts.map +1 -1
- package/dist/idempotency/index.js +45 -12
- package/dist/idempotency/index.js.map +1 -1
- package/dist/locks/index.d.ts.map +1 -1
- package/dist/locks/index.js +0 -4
- package/dist/locks/index.js.map +1 -1
- package/dist/mail/index.d.ts.map +1 -1
- package/dist/mail/index.js +6 -3
- package/dist/mail/index.js.map +1 -1
- package/dist/outbox/index.d.ts +163 -15
- package/dist/outbox/index.d.ts.map +1 -1
- package/dist/outbox/index.js +1009 -152
- package/dist/outbox/index.js.map +1 -1
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +0 -4
- package/dist/payments/index.js.map +1 -1
- package/dist/ports/best-effort-work.d.ts +21 -0
- package/dist/ports/best-effort-work.d.ts.map +1 -0
- package/dist/ports/best-effort-work.js +2 -0
- package/dist/ports/best-effort-work.js.map +1 -0
- package/dist/ports/events.d.ts +7 -5
- package/dist/ports/events.d.ts.map +1 -1
- package/dist/ports/index.d.ts +7 -2
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +1 -0
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/testing.d.ts +28 -0
- package/dist/ports/testing.d.ts.map +1 -1
- package/dist/ports/testing.js +50 -0
- package/dist/ports/testing.js.map +1 -1
- package/dist/ports/unit-of-work.d.ts +9 -7
- package/dist/ports/unit-of-work.d.ts.map +1 -1
- package/dist/ports/unit-of-work.js +16 -6
- package/dist/ports/unit-of-work.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/provider.d.ts +8 -43
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/provider.js.map +1 -1
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +0 -4
- package/dist/search/index.js.map +1 -1
- package/dist/server/hooks/cors.d.ts +7 -2
- package/dist/server/hooks/cors.d.ts.map +1 -1
- package/dist/server/hooks/cors.js +31 -2
- package/dist/server/hooks/cors.js.map +1 -1
- package/dist/server/hooks/logging.d.ts +2 -2
- package/dist/server/hooks/logging.d.ts.map +1 -1
- package/dist/server/hooks/logging.js.map +1 -1
- package/dist/server/hooks/security.d.ts +2 -2
- package/dist/server/hooks/security.d.ts.map +1 -1
- package/dist/server/hooks/security.js.map +1 -1
- package/dist/server/http.d.ts +21 -2
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/instrumentation.d.ts.map +1 -1
- package/dist/server/instrumentation.js +5 -3
- package/dist/server/instrumentation.js.map +1 -1
- package/dist/server/request-executor.d.ts.map +1 -1
- package/dist/server/request-executor.js +9 -0
- package/dist/server/request-executor.js.map +1 -1
- package/dist/server/request-preparation.d.ts.map +1 -1
- package/dist/server/request-preparation.js +20 -2
- package/dist/server/request-preparation.js.map +1 -1
- package/dist/server/response-finalization.d.ts +2 -2
- package/dist/server/response-finalization.d.ts.map +1 -1
- package/dist/server/response-finalization.js +25 -8
- package/dist/server/response-finalization.js.map +1 -1
- package/dist/server/route-matching.d.ts.map +1 -1
- package/dist/server/route-matching.js +12 -1
- package/dist/server/route-matching.js.map +1 -1
- package/dist/server/server-sent-events.d.ts +94 -0
- package/dist/server/server-sent-events.d.ts.map +1 -0
- package/dist/server/server-sent-events.js +275 -0
- package/dist/server/server-sent-events.js.map +1 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +75 -31
- package/dist/server/server.js.map +1 -1
- package/dist/server/trusted-proxy-internal.d.ts +4 -0
- package/dist/server/trusted-proxy-internal.d.ts.map +1 -1
- package/dist/server/trusted-proxy-internal.js +20 -0
- package/dist/server/trusted-proxy-internal.js.map +1 -1
- package/dist/server/trusted-proxy.d.ts.map +1 -1
- package/dist/server/trusted-proxy.js +3 -8
- package/dist/server/trusted-proxy.js.map +1 -1
- package/dist/testing/index.d.ts +17 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +18 -7
- package/dist/testing/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/app-architecture/SKILL.md +37 -3
- package/src/application/index.ts +18 -7
- package/src/events/index.ts +268 -40
- package/src/events/payload-state.ts +24 -0
- package/src/idempotency/index.ts +65 -17
- package/src/locks/index.ts +0 -4
- package/src/mail/index.ts +7 -3
- package/src/outbox/index.ts +1382 -175
- package/src/payments/index.ts +0 -4
- package/src/ports/best-effort-work.ts +21 -0
- package/src/ports/events.ts +9 -4
- package/src/ports/index.ts +12 -0
- package/src/ports/testing.ts +76 -0
- package/src/ports/unit-of-work.ts +28 -14
- package/src/providers/index.ts +0 -1
- package/src/providers/provider.ts +8 -45
- package/src/search/index.ts +0 -4
- package/src/server/hooks/cors.ts +53 -5
- package/src/server/hooks/logging.ts +6 -2
- package/src/server/hooks/security.ts +8 -4
- package/src/server/http.ts +23 -2
- package/src/server/index.ts +4 -0
- package/src/server/instrumentation.ts +12 -4
- package/src/server/request-executor.ts +14 -0
- package/src/server/request-preparation.ts +23 -3
- package/src/server/response-finalization.ts +51 -15
- package/src/server/route-matching.ts +24 -1
- package/src/server/server-sent-events.ts +415 -0
- package/src/server/server.ts +98 -41
- package/src/server/trusted-proxy-internal.ts +20 -0
- package/src/server/trusted-proxy.ts +6 -7
- package/src/testing/index.ts +50 -9
- package/dist/query-codec.d.ts +0 -27
- package/dist/query-codec.d.ts.map +0 -1
- package/dist/query-codec.js +0 -245
- package/dist/query-codec.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# @beignet/core
|
|
2
2
|
|
|
3
|
+
## 0.0.51
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 4f033a6: Forward canonical event payloads, expose framework error ownership through CORS, run focused-route misses through the fallback lifecycle, and inspect formatted route handlers with the TypeScript AST.
|
|
8
|
+
- ea3d734: Renew active outbox claims, reconcile exhausted deliveries, and surface uncertain lease or settlement outcomes across runtime and operational tools. Custom outbox adapters must implement `renewClaim(...)`, return `{ claimed, deadLettered }` from `claimBatch(...)`, and reject renewal or settlement after the active claim expires.
|
|
9
|
+
- 98ab47f: Make package-owned `beignet.provider` manifests the sole source of provider metadata and remove the unused runtime `ServiceProvider.metadata` API.
|
|
10
|
+
|
|
11
|
+
## 0.0.50
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 6fe026a: Expose event-subscription readiness and asynchronous cleanup, await listener
|
|
16
|
+
registries during provider startup with bounded rollback, diagnose unsafe app
|
|
17
|
+
wiring, and make Redis subscription lifecycle failures observable with bounded
|
|
18
|
+
provider shutdown and recoverable channel state.
|
|
19
|
+
- 4be4573: Keep mail content out of provider instrumentation, document the Redis
|
|
20
|
+
deployment policy required for monotonic fencing, and align generated agent
|
|
21
|
+
guidance with optional seed, worker, and migration paths.
|
|
22
|
+
- ee402a9: Map invalid adapter URLs to framework responses, cancel oversized request
|
|
23
|
+
streams, distinguish typed idempotency inputs, preserve repeated response
|
|
24
|
+
headers, and match Unicode static routes against encoded URL pathnames.
|
|
25
|
+
- d1db53e: Add a portable Server-Sent Events response helper with JSON framing,
|
|
26
|
+
heartbeats, bounded unread buffering, optional maximum lifetime,
|
|
27
|
+
cancellation-aware asynchronous setup, eventual late cleanup, and safe
|
|
28
|
+
response headers, expose native request cancellation through
|
|
29
|
+
`HttpRequestLike.signal`, and use recoverable bounded snapshots for the
|
|
30
|
+
Devtools live stream with visible partial-data reporting.
|
|
31
|
+
- 7b0961b: Add a non-durable best-effort work port, a recording test adapter, and a Next.js `after()` adapter that isolates scheduler and callback failures.
|
|
32
|
+
|
|
3
33
|
## 0.0.49
|
|
4
34
|
|
|
5
35
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -72,11 +72,11 @@ name the framework area they depend on.
|
|
|
72
72
|
| `@beignet/core/outbox` | Durable event and job outbox |
|
|
73
73
|
| `@beignet/core/payments` | Payments port, memory payments adapter, and memory payments provider |
|
|
74
74
|
| `@beignet/core/pagination` | Offset/cursor page types, normalizers, and result helpers |
|
|
75
|
-
| `@beignet/core/ports` | App-facing ports, auth, audit, policies, cache, storage, logging, and redaction |
|
|
75
|
+
| `@beignet/core/ports` | App-facing ports, auth, audit, policies, cache, storage, best-effort work, logging, and redaction |
|
|
76
76
|
| `@beignet/core/providers` | Provider lifecycle and instrumentation primitives |
|
|
77
77
|
| `@beignet/core/search` | Search index definitions, SearchPort, memory adapter, memory provider, and helpers |
|
|
78
78
|
| `@beignet/core/schedules` | Schedule primitives |
|
|
79
|
-
| `@beignet/core/server` | Framework-agnostic server runtime, security headers, CSRF, and hook helpers |
|
|
79
|
+
| `@beignet/core/server` | Framework-agnostic server runtime, SSE responses, security headers, CSRF, and hook helpers |
|
|
80
80
|
| `@beignet/core/server-only` | Static lint marker for modules that must stay out of client bundles |
|
|
81
81
|
| `@beignet/core/tasks` | Operational task definitions and inline task execution |
|
|
82
82
|
| `@beignet/core/tenancy` | Branded tenant scope helpers for repository boundaries |
|
|
@@ -313,6 +313,61 @@ and dead-lettered messages when you pass a devtools or instrumentation port to
|
|
|
313
313
|
`drainOutbox(...)`. Pass `instrumentationContext` when the worker has request or
|
|
314
314
|
trace IDs that should connect the drain to devtools rows.
|
|
315
315
|
|
|
316
|
+
## Best-effort work
|
|
317
|
+
|
|
318
|
+
`BestEffortWorkPort` lets application code request non-durable follow-up work
|
|
319
|
+
without waiting for it in the originating operation:
|
|
320
|
+
|
|
321
|
+
```ts
|
|
322
|
+
import type { BestEffortWorkPort } from "@beignet/core/ports";
|
|
323
|
+
|
|
324
|
+
export type AppPorts = {
|
|
325
|
+
bestEffortWork: BestEffortWorkPort;
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
ctx.ports.bestEffortWork.defer(() =>
|
|
329
|
+
ctx.ports.workspaceBroadcast.publish(workspaceId, message),
|
|
330
|
+
);
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
Use it only when losing the callback does not change the operation's result,
|
|
334
|
+
such as publishing a cache-invalidation hint after the authoritative write has
|
|
335
|
+
committed. The adapter owns scheduler and callback error isolation. Use a job
|
|
336
|
+
or transaction-scoped outbox when work must be retried or survive process
|
|
337
|
+
termination.
|
|
338
|
+
|
|
339
|
+
Tests can use `createRecordingBestEffortWork()` directly or the default
|
|
340
|
+
`bestEffortWork` returned by `createTestPorts(...)`. Call
|
|
341
|
+
`fixture.flushBestEffortWork()` to run the current queued batch deterministically;
|
|
342
|
+
callbacks deferred by that batch remain pending until the next flush. A flush
|
|
343
|
+
attempts the complete batch before rejecting with any callback failures.
|
|
344
|
+
|
|
345
|
+
## Event subscriptions
|
|
346
|
+
|
|
347
|
+
`EventBusPort.subscribe(...)` returns an `EventSubscription` with a `ready`
|
|
348
|
+
promise and asynchronous, idempotent `unsubscribe()` method. Await `ready`
|
|
349
|
+
before advertising that a process can receive events, and await
|
|
350
|
+
`unsubscribe()` during shutdown. The memory adapter is ready immediately;
|
|
351
|
+
transport adapters resolve readiness only after their initial subscription is
|
|
352
|
+
active.
|
|
353
|
+
|
|
354
|
+
`registerListeners(...)` combines a listener registry into one subscription.
|
|
355
|
+
It waits for every child subscription and applies one 10-second registration
|
|
356
|
+
deadline by default. When setup fails or times out, Beignet starts every child
|
|
357
|
+
cleanup within the remaining deadline. If cleanup does not settle in time,
|
|
358
|
+
`ready` rejects with both the startup failure and a
|
|
359
|
+
`ListenerRegistrationCleanupTimeoutError` instead of hanging startup. Set
|
|
360
|
+
`readyTimeoutMs` when the process needs a different bounded startup policy.
|
|
361
|
+
Normal teardown after successful readiness still awaits transport cleanup;
|
|
362
|
+
apply a host-level shutdown deadline when required. Readiness is an initial
|
|
363
|
+
lifecycle signal, not an ongoing health check or durability guarantee.
|
|
364
|
+
|
|
365
|
+
An app-owned in-process `EventBusPort` adapter must forward the complete
|
|
366
|
+
`EventPublishOptions` object to subscribers rather than rebuilding only its
|
|
367
|
+
trace field. A serialized adapter sends documented transport metadata such as
|
|
368
|
+
the trace carrier and lets `registerListeners(...)` validate the decoded
|
|
369
|
+
payload again at the receiving boundary.
|
|
370
|
+
|
|
316
371
|
## Provider-contributed ports
|
|
317
372
|
|
|
318
373
|
Apps bind app-owned ports directly and defer the rest to providers with the
|
|
@@ -381,7 +436,9 @@ defer those ports before choosing production infrastructure.
|
|
|
381
436
|
`createMemoryMailerProvider(options?)` contributes `{ mailer: MailerPort }`
|
|
382
437
|
backed by `createMemoryMailer(...)`. Deliveries are captured in memory and
|
|
383
438
|
recorded as `mail.sent` devtools events through the `mail` watcher when an
|
|
384
|
-
instrumentation port is installed.
|
|
439
|
+
instrumentation port is installed. Instrumentation records only the provider,
|
|
440
|
+
recipient count, delivery ID, and duration; it does not record addresses,
|
|
441
|
+
subjects, or message bodies. Options extend
|
|
385
442
|
`CreateMemoryMailerOptions` (`defaultFrom`, `now`, `id`, `onSend`) plus a
|
|
386
443
|
provider `name` that defaults to `"memory-mailer"`.
|
|
387
444
|
|
|
@@ -854,27 +911,11 @@ never fails doctor, even in strict mode. Use
|
|
|
854
911
|
`parseProviderPackageMetadata(...)` to validate manifest metadata before
|
|
855
912
|
publishing a provider package.
|
|
856
913
|
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
package
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
```typescript
|
|
863
|
-
import { createProvider } from "@beignet/core/providers";
|
|
864
|
-
|
|
865
|
-
export const cacheProvider = createProvider({
|
|
866
|
-
name: "cache",
|
|
867
|
-
metadata: {
|
|
868
|
-
packageName: "@acme/beignet-provider-cache",
|
|
869
|
-
ports: ["cache"],
|
|
870
|
-
env: ["CACHE_URL"],
|
|
871
|
-
watchers: ["cache"],
|
|
872
|
-
},
|
|
873
|
-
setup() {
|
|
874
|
-
return { ports: { cache: createCachePort() } };
|
|
875
|
-
},
|
|
876
|
-
});
|
|
877
|
-
```
|
|
914
|
+
The package manifest is the sole provider metadata source. Runtime provider
|
|
915
|
+
objects define lifecycle behavior and a diagnostic `name`; they do not repeat
|
|
916
|
+
package facts. App-local providers therefore need no metadata declaration
|
|
917
|
+
unless they are published as a reusable package, in which case add the
|
|
918
|
+
manifest to that package.
|
|
878
919
|
|
|
879
920
|
## Tasks
|
|
880
921
|
|
|
@@ -1080,6 +1121,78 @@ feeds metadata-driven hooks such as rate limiting exactly like contract
|
|
|
1080
1121
|
metadata, and the route is not added to the registry — the adapter mounts
|
|
1081
1122
|
the returned handler at the route's own path.
|
|
1082
1123
|
|
|
1124
|
+
### Server-sent events
|
|
1125
|
+
|
|
1126
|
+
`createServerSentEventResponse(...)` creates a portable Fetch `Response` for
|
|
1127
|
+
an SSE endpoint. Use it from a contract handler or raw route after
|
|
1128
|
+
application-owned authentication and authorization:
|
|
1129
|
+
|
|
1130
|
+
```ts
|
|
1131
|
+
import { createServerSentEventResponse } from "@beignet/core/server";
|
|
1132
|
+
|
|
1133
|
+
return createServerSentEventResponse({
|
|
1134
|
+
signal: req.signal,
|
|
1135
|
+
maxLifetimeMs: 240_000,
|
|
1136
|
+
start({ send }) {
|
|
1137
|
+
send({ event: "reconcile", data: { workspaceId } });
|
|
1138
|
+
const subscription = ctx.ports.workspaceBroadcast.subscribe(
|
|
1139
|
+
workspaceId,
|
|
1140
|
+
(change) => {
|
|
1141
|
+
send({ event: "changed", data: change });
|
|
1142
|
+
},
|
|
1143
|
+
);
|
|
1144
|
+
return { close: () => subscription.unsubscribe() };
|
|
1145
|
+
},
|
|
1146
|
+
onError: (error) => ctx.ports.logger.error("SSE stream failed", { error }),
|
|
1147
|
+
});
|
|
1148
|
+
```
|
|
1149
|
+
|
|
1150
|
+
Event `data` is JSON-encoded. Optional `event`, `id`, and `retry` fields use
|
|
1151
|
+
standard SSE framing; `retry` sets the browser reconnection delay in
|
|
1152
|
+
milliseconds. `comment(...)` sends an explicit comment, and `close()` ends the
|
|
1153
|
+
response. `send(...)` and `comment(...)` return `true` when they enqueue a
|
|
1154
|
+
frame and `false` after closure, when framing or encoding fails, or when the
|
|
1155
|
+
unread byte limit would be exceeded. Event names and IDs must fit on one line,
|
|
1156
|
+
and IDs cannot contain null characters. A producer, framing, encoding, stream,
|
|
1157
|
+
or buffer-overflow failure reports through `onError` and closes the connection.
|
|
1158
|
+
|
|
1159
|
+
Heartbeat comments default to 25 seconds; `heartbeatMs: false` disables them.
|
|
1160
|
+
`maxLifetimeMs` is opt-in. Both options accept `false` or an integer from `1`
|
|
1161
|
+
through `2_147_483_647`; `retry` accepts an integer from `0` through the same
|
|
1162
|
+
maximum. `start(...)` receives a stream-scoped `signal` that aborts whenever
|
|
1163
|
+
the response closes. Pass it to subscription APIs that perform asynchronous
|
|
1164
|
+
setup. `start(...)` may return a cleanup callback, a closeable subscription, a
|
|
1165
|
+
promise of either, or nothing. If it returns cleanup, request abort, response
|
|
1166
|
+
cancellation, explicit close, and maximum lifetime invoke that cleanup exactly
|
|
1167
|
+
once. `onError` also observes cleanup failures without creating an unhandled
|
|
1168
|
+
rejection. When stream closure aborts asynchronous setup, an expected
|
|
1169
|
+
`AbortError` rejection is treated as cancellation rather than a producer
|
|
1170
|
+
failure; other setup rejections still reach `onError`.
|
|
1171
|
+
|
|
1172
|
+
Unread encoded frames are bounded to `1_048_576` bytes by default. Set
|
|
1173
|
+
`maxBufferedBytes` to an integer from `1` through `2_147_483_647` when the
|
|
1174
|
+
endpoint has a verified frame-size requirement. If one frame or the
|
|
1175
|
+
accumulated unread queue would exceed the limit, the helper reports a
|
|
1176
|
+
`RangeError` and closes the connection; the limit remains active even when
|
|
1177
|
+
`maxLifetimeMs` is disabled. Response-body cancellation waits for cleanup that
|
|
1178
|
+
has already been registered, but it does not wait indefinitely for pending
|
|
1179
|
+
asynchronous setup. The stream signal lets setup stop cooperatively, and any
|
|
1180
|
+
cleanup returned after closure still runs exactly once.
|
|
1181
|
+
|
|
1182
|
+
The response always sets `Content-Type: text/event-stream`,
|
|
1183
|
+
`Cache-Control: no-store, no-transform`, and `X-Accel-Buffering: no`, removes
|
|
1184
|
+
`Content-Length` and hop-by-hop streaming headers, and preserves other custom
|
|
1185
|
+
headers supplied through `headers`. The helper does not own authorization,
|
|
1186
|
+
replay, durability, distributed connection limits, or client reconciliation.
|
|
1187
|
+
Keep authoritative state elsewhere and reconcile on initial connection and
|
|
1188
|
+
reconnect when messages are best-effort hints.
|
|
1189
|
+
|
|
1190
|
+
Use a contract handler when the stream belongs in the route registry and
|
|
1191
|
+
OpenAPI document. Use a raw route when the endpoint is transport-only and the
|
|
1192
|
+
app owns its request and response shape. Document a contract stream with a
|
|
1193
|
+
`.responses({ 200: null })` success schema and an OpenAPI `text/event-stream`
|
|
1194
|
+
media override.
|
|
1195
|
+
|
|
1083
1196
|
Use `.headers(...)` for request headers that are part of the endpoint contract. Declare header keys in lowercase; server and client runtime matching is case-insensitive.
|
|
1084
1197
|
|
|
1085
1198
|
Request bodies are supported for `POST`, `PUT`, and `PATCH` contracts only.
|
|
@@ -1177,7 +1290,8 @@ const tester = createUseCaseTester<AppContext>(createContext);
|
|
|
1177
1290
|
The returned fixture exposes captured side effects such as `events`,
|
|
1178
1291
|
`dispatchedJobs`, `audit.entries`, `mailer.deliveries`,
|
|
1179
1292
|
`notifications.deliveries`, `outbox.messages`, and memory storage for
|
|
1180
|
-
assertions.
|
|
1293
|
+
assertions. Its default `bestEffortWork` port queues callbacks in
|
|
1294
|
+
`pendingBestEffortWork`; call `flushBestEffortWork()` to run the current batch.
|
|
1181
1295
|
|
|
1182
1296
|
`overrides` is typed as `TestPortsOverrides<Ports>`, which accepts typed
|
|
1183
1297
|
partial ports without casts. The partial rule is one level deep: an
|
|
@@ -1557,6 +1671,8 @@ const result = await drainOutbox({ outbox, registry, eventBus, jobs });
|
|
|
1557
1671
|
assertOutboxDrainResult(result, {
|
|
1558
1672
|
claimed: 1,
|
|
1559
1673
|
delivered: 1,
|
|
1674
|
+
settlementFailed: 0,
|
|
1675
|
+
leaseLost: 0,
|
|
1560
1676
|
});
|
|
1561
1677
|
|
|
1562
1678
|
assertOutboxDelivered(outbox.messages, {
|
|
@@ -1821,6 +1937,14 @@ import { createMemoryIdempotencyStore } from "@beignet/core/idempotency";
|
|
|
1821
1937
|
const idempotency = createMemoryIdempotencyStore();
|
|
1822
1938
|
```
|
|
1823
1939
|
|
|
1940
|
+
`createIdempotencyFingerprint(...)` sorts object keys and tags non-JSON values
|
|
1941
|
+
before hashing while retaining the stable representation of ordinary JSON
|
|
1942
|
+
payloads. BigInts and Dates therefore remain distinct from same-looking
|
|
1943
|
+
strings; invalid dates, non-finite numbers, circular values, and the reserved
|
|
1944
|
+
tag key fail instead of producing ambiguous fingerprints. Non-plain objects
|
|
1945
|
+
other than `Date` fail as unsupported; project them to plain command data
|
|
1946
|
+
before hashing.
|
|
1947
|
+
|
|
1824
1948
|
Reservation tokens use Web Crypto `randomUUID()` or `getRandomValues()` when
|
|
1825
1949
|
available and securely fall back to `node:crypto` on supported Node runtimes.
|
|
1826
1950
|
The memory adapter accepts `createReservationToken` when a deterministic test
|
|
@@ -1908,14 +2032,45 @@ registry with jobs requires `jobs`. `drainOutbox(...)` validates those
|
|
|
1908
2032
|
capabilities before claiming a batch, so incomplete worker wiring fails
|
|
1909
2033
|
without consuming delivery attempts.
|
|
1910
2034
|
|
|
2035
|
+
The storage port uses token-guarded leases. `claimBatch(...)` returns both
|
|
2036
|
+
newly claimed messages and eligible rows it atomically dead-lettered because a
|
|
2037
|
+
previous crashed claim exhausted `maxAttempts`. `renewClaim(...)` extends only
|
|
2038
|
+
an active, unexpired claim. `markDelivered(...)` and `markFailed(...)` also
|
|
2039
|
+
reject expired or stale claim tokens.
|
|
2040
|
+
|
|
2041
|
+
`drainOutbox(...)` defaults to a batch size of 100, serial delivery, a
|
|
2042
|
+
30-second lease, a 10-second serialized heartbeat, and a 5-minute maximum
|
|
2043
|
+
active duration per message. Set `concurrency` above one only for handlers that
|
|
2044
|
+
can run without ordering guarantees. Configure `leaseMs`, `heartbeatMs`, and
|
|
2045
|
+
`maxActiveMs` together when delivery latency requires different limits, and
|
|
2046
|
+
synchronize the clocks on every drain host because adapters compare the
|
|
2047
|
+
timestamps supplied by workers. Reaching `maxActiveMs` stops further renewals;
|
|
2048
|
+
the last confirmed lease can remain active until its own expiration.
|
|
2049
|
+
|
|
2050
|
+
The result reports `abandonedDeadLettered`, `settlementFailed`, and `leaseLost`
|
|
2051
|
+
in addition to the normal claim and delivery counters. A successful external
|
|
2052
|
+
delivery whose acknowledgement cannot be stored increments
|
|
2053
|
+
`settlementFailed`; Beignet does not call `markFailed(...)` after that success.
|
|
2054
|
+
Treat either uncertainty counter as an operational failure because the message
|
|
2055
|
+
may be delivered again after lease expiry. `onLeaseError` distinguishes
|
|
2056
|
+
`recovered`, `degraded`, and `lost` lease states; only `lost` increments
|
|
2057
|
+
`leaseLost`. One message can increment both uncertainty counters when its
|
|
2058
|
+
settlement reaches the lease deadline.
|
|
2059
|
+
|
|
1911
2060
|
The outbox is at-least-once delivery. Use idempotent listeners or jobs when a
|
|
1912
2061
|
duplicate delivery would be harmful. Drizzle-backed outbox tables persist the
|
|
1913
2062
|
optional versioned trace carrier in `trace_context_json`; add that nullable
|
|
1914
2063
|
column to existing tables before upgrading the adapter.
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
2064
|
+
|
|
2065
|
+
Beignet's use-case event helpers, `publishEvent(...)`, and `enqueueEvent(...)`
|
|
2066
|
+
validate payloads and forward the parsed Standard Schema output. In-process
|
|
2067
|
+
delivery preserves that parsed state so listeners do not apply transforms
|
|
2068
|
+
twice. Durable or distributed transports serialize the canonical value and
|
|
2069
|
+
validate it again after decoding, so event schema outputs must be JSON-safe and
|
|
2070
|
+
stable when parsed again after serialization. For an outbox, model timestamps
|
|
2071
|
+
as JSON strings or numbers rather than `Date` objects. Job transports continue
|
|
2072
|
+
to preserve the original JSON-safe payload until the worker's handler-facing
|
|
2073
|
+
parse.
|
|
1919
2074
|
|
|
1920
2075
|
An ordinary Unit of Work event flush has a different boundary: it runs after
|
|
1921
2076
|
commit, and a publishing failure rejects even though the database writes are
|
|
@@ -2053,6 +2208,24 @@ Use `{ contract, handle }` as the escape hatch for response headers,
|
|
|
2053
2208
|
streaming, and multi-status responses. `defineRoute` remains
|
|
2054
2209
|
available for full handlers that read hook-added `ctx` fields.
|
|
2055
2210
|
|
|
2211
|
+
Framework-neutral response header values may be strings or string arrays.
|
|
2212
|
+
Use an array for repeated fields such as `Set-Cookie`; Web-compatible adapters
|
|
2213
|
+
append every item separately, and hooks receive the same string-or-array
|
|
2214
|
+
header record:
|
|
2215
|
+
|
|
2216
|
+
```ts
|
|
2217
|
+
return {
|
|
2218
|
+
status: 200,
|
|
2219
|
+
headers: {
|
|
2220
|
+
"set-cookie": [
|
|
2221
|
+
"session=abc; Path=/; HttpOnly; Secure; SameSite=Lax",
|
|
2222
|
+
"theme=dark; Path=/; Secure; SameSite=Lax",
|
|
2223
|
+
],
|
|
2224
|
+
},
|
|
2225
|
+
body: { ok: true },
|
|
2226
|
+
};
|
|
2227
|
+
```
|
|
2228
|
+
|
|
2056
2229
|
When credentials live in request headers, declare a `headers` schema on the
|
|
2057
2230
|
auth hooks. The hook validates the raw lowercase request header record before
|
|
2058
2231
|
`resolve` runs, so `resolve` receives typed header values; on `required()`
|
|
@@ -2099,12 +2272,16 @@ const publicCors = createCorsHooks({ origins: "*" });
|
|
|
2099
2272
|
const browserAppCors = createCorsHooks({
|
|
2100
2273
|
origins: ["https://app.example.com"],
|
|
2101
2274
|
credentials: true,
|
|
2275
|
+
exposedHeaders: ["x-request-id"],
|
|
2102
2276
|
});
|
|
2103
2277
|
```
|
|
2104
2278
|
|
|
2105
2279
|
`createCorsHooks({ origins: "*", credentials: true })` throws during setup so
|
|
2106
2280
|
apps do not accidentally reflect arbitrary request origins for cookies or
|
|
2107
|
-
authorization headers.
|
|
2281
|
+
authorization headers. The hook always exposes `x-beignet-error-owner` so the
|
|
2282
|
+
typed browser client can distinguish framework failures from route-owned
|
|
2283
|
+
errors; `exposedHeaders` adds app-owned response headers that browser code also
|
|
2284
|
+
needs to read.
|
|
2108
2285
|
|
|
2109
2286
|
The hook short-circuits only real browser preflights: `OPTIONS` requests that
|
|
2110
2287
|
include both `Origin` and `Access-Control-Request-Method`. An explicit
|
|
@@ -2154,13 +2331,17 @@ status, including when reading the response stream itself fails.
|
|
|
2154
2331
|
request validation, response validation, error mapping, and provider lifecycle.
|
|
2155
2332
|
Adapters own the platform edge only:
|
|
2156
2333
|
|
|
2157
|
-
- Convert the native request into `HttpRequestLike
|
|
2334
|
+
- Convert the native request into `HttpRequestLike`, including its abort
|
|
2335
|
+
signal when the platform exposes one
|
|
2158
2336
|
- Call `server.api(...)` or a single route handler
|
|
2159
2337
|
- Convert `HttpResponse` back into the native response type
|
|
2160
2338
|
|
|
2161
2339
|
The public adapter contract is `HttpAdapter<NativeRequest, NativeResponse>`.
|
|
2162
2340
|
Use it when building a runtime package beyond the first-party `@beignet/web`
|
|
2163
|
-
and `@beignet/next` adapters.
|
|
2341
|
+
and `@beignet/next` adapters. Custom adapters must supply an absolute HTTP or
|
|
2342
|
+
HTTPS `HttpRequestLike.url`; invalid values are converted to a framework-owned
|
|
2343
|
+
`400 INVALID_REQUEST_URL` response instead of escaping as a rejected handler
|
|
2344
|
+
promise.
|
|
2164
2345
|
|
|
2165
2346
|
### Health and readiness
|
|
2166
2347
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
2
|
+
import type { EventPublishOptions } from "../events/index.js";
|
|
2
3
|
/**
|
|
3
4
|
* Any Standard Schema compatible validator.
|
|
4
5
|
*/
|
|
@@ -63,9 +64,8 @@ export declare class UseCaseEventValidationError extends Error {
|
|
|
63
64
|
/**
|
|
64
65
|
* Minimal domain event definition accepted by use-case event helpers.
|
|
65
66
|
*
|
|
66
|
-
* This matches events from `@beignet/core/events` and compatible
|
|
67
|
-
* definitions
|
|
68
|
-
* implementation.
|
|
67
|
+
* This structurally matches events from `@beignet/core/events` and compatible
|
|
68
|
+
* app-owned definitions.
|
|
69
69
|
*/
|
|
70
70
|
export interface DomainEventLike {
|
|
71
71
|
/**
|
|
@@ -88,7 +88,7 @@ export interface UseCaseEventRecorderTarget {
|
|
|
88
88
|
/**
|
|
89
89
|
* Record a domain event payload.
|
|
90
90
|
*/
|
|
91
|
-
record<E extends DomainEventLike>(event: E, payload: InferUseCaseEventPayload<E
|
|
91
|
+
record<E extends DomainEventLike>(event: E, payload: InferUseCaseEventPayload<E>, options?: EventPublishOptions): Promise<void> | void;
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
94
94
|
* Minimal event-bus shape accepted by use-case event helpers.
|
|
@@ -97,7 +97,7 @@ export interface UseCaseEventBusTarget {
|
|
|
97
97
|
/**
|
|
98
98
|
* Publish a domain event payload.
|
|
99
99
|
*/
|
|
100
|
-
publish<E extends DomainEventLike>(event: E, payload: InferUseCaseEventPayload<E
|
|
100
|
+
publish<E extends DomainEventLike>(event: E, payload: InferUseCaseEventPayload<E>, options?: EventPublishOptions): Promise<void> | void;
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Event helper scoped to the events declared by a use case.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { markEventPayloadParsed } from "../events/payload-state.js";
|
|
1
2
|
import { resolveProviderInstrumentationPort, } from "../providers/instrumentation.js";
|
|
2
3
|
import { createChildTraceContext, resolveTracingPort, runWithTracing, } from "../tracing/index.js";
|
|
3
4
|
/**
|
|
@@ -125,13 +126,13 @@ function createUseCaseEventHelpers(useCaseName, declared) {
|
|
|
125
126
|
assertDeclared,
|
|
126
127
|
async record(recorder, event, payload) {
|
|
127
128
|
const declaredEvent = resolveDeclared(event);
|
|
128
|
-
await parseEventPayload(declaredEvent, payload, useCaseName);
|
|
129
|
-
await recorder.record(declaredEvent,
|
|
129
|
+
const parsed = await parseEventPayload(declaredEvent, payload, useCaseName);
|
|
130
|
+
await recorder.record(declaredEvent, parsed, markEventPayloadParsed());
|
|
130
131
|
},
|
|
131
132
|
async publish(eventBus, event, payload) {
|
|
132
133
|
const declaredEvent = resolveDeclared(event);
|
|
133
|
-
await parseEventPayload(declaredEvent, payload, useCaseName);
|
|
134
|
-
await eventBus.publish(declaredEvent,
|
|
134
|
+
const parsed = await parseEventPayload(declaredEvent, payload, useCaseName);
|
|
135
|
+
await eventBus.publish(declaredEvent, parsed, markEventPayloadParsed());
|
|
135
136
|
},
|
|
136
137
|
};
|
|
137
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"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"}
|
package/dist/events/index.d.ts
CHANGED
|
@@ -47,6 +47,45 @@ export interface EventPublishOptions {
|
|
|
47
47
|
/** Versioned trace context captured by the event producer. */
|
|
48
48
|
trace?: TraceCarrier;
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Lifecycle handle for one event subscription or a composed listener
|
|
52
|
+
* registration.
|
|
53
|
+
*
|
|
54
|
+
* `ready` proves initial transport readiness. It does not represent ongoing
|
|
55
|
+
* connectivity, durability, replay, or handler success after startup.
|
|
56
|
+
*/
|
|
57
|
+
export interface EventSubscription {
|
|
58
|
+
/** Resolves when the subscription can receive events. */
|
|
59
|
+
readonly ready: Promise<void>;
|
|
60
|
+
/** Stop local delivery and await transport cleanup. Idempotent. */
|
|
61
|
+
unsubscribe(): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
/** Error used when a subscription closes before initial readiness. */
|
|
64
|
+
export declare class EventSubscriptionClosedError extends Error {
|
|
65
|
+
constructor(message?: string);
|
|
66
|
+
}
|
|
67
|
+
/** Error thrown when a listener registry misses its readiness deadline. */
|
|
68
|
+
export declare class ListenerRegistrationTimeoutError extends Error {
|
|
69
|
+
/** Configured readiness deadline in milliseconds. */
|
|
70
|
+
readonly timeoutMs: number;
|
|
71
|
+
/** Listener names that were part of the registration. */
|
|
72
|
+
readonly listenerNames: readonly string[];
|
|
73
|
+
constructor(args: {
|
|
74
|
+
timeoutMs: number;
|
|
75
|
+
listenerNames: readonly string[];
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/** Error thrown when listener rollback misses the registration deadline. */
|
|
79
|
+
export declare class ListenerRegistrationCleanupTimeoutError extends Error {
|
|
80
|
+
/** Configured registration deadline in milliseconds. */
|
|
81
|
+
readonly timeoutMs: number;
|
|
82
|
+
/** Listener names that were part of the registration. */
|
|
83
|
+
readonly listenerNames: readonly string[];
|
|
84
|
+
constructor(args: {
|
|
85
|
+
timeoutMs: number;
|
|
86
|
+
listenerNames: readonly string[];
|
|
87
|
+
});
|
|
88
|
+
}
|
|
50
89
|
/**
|
|
51
90
|
* Options for `defineEvent(...)`.
|
|
52
91
|
*/
|
|
@@ -120,9 +159,9 @@ export interface EventBusLike {
|
|
|
120
159
|
*/
|
|
121
160
|
publish<E extends EventPayloadDef>(event: E, payload: InferEventPayload<E>, options?: EventPublishOptions): MaybePromise<void>;
|
|
122
161
|
/**
|
|
123
|
-
* Subscribe to an event and return
|
|
162
|
+
* Subscribe to an event and return its readiness and cleanup handle.
|
|
124
163
|
*/
|
|
125
|
-
subscribe<E extends EventPayloadDef>(event: E, handler: (payload: InferEventPayload<E>, options?: EventPublishOptions) => MaybePromise<void>):
|
|
164
|
+
subscribe<E extends EventPayloadDef>(event: E, handler: (payload: InferEventPayload<E>, options?: EventPublishOptions) => MaybePromise<void>): EventSubscription;
|
|
126
165
|
}
|
|
127
166
|
/**
|
|
128
167
|
* Options for `registerListeners(...)`.
|
|
@@ -142,6 +181,12 @@ export interface RegisterListenersOptions<Ctx> {
|
|
|
142
181
|
* the event bus subscription callback.
|
|
143
182
|
*/
|
|
144
183
|
onError?: (error: unknown, listener: ListenerDef<EventDef, Ctx>) => void;
|
|
184
|
+
/**
|
|
185
|
+
* Maximum time for the complete listener registry to become ready. The same
|
|
186
|
+
* registration deadline bounds automatic rollback after startup failure.
|
|
187
|
+
* Defaults to 10 seconds.
|
|
188
|
+
*/
|
|
189
|
+
readyTimeoutMs?: number;
|
|
145
190
|
}
|
|
146
191
|
/**
|
|
147
192
|
* Context-bound listener helper factory.
|
|
@@ -181,12 +226,16 @@ export declare function parseEventPayload<E extends EventPayloadDef>(event: E, p
|
|
|
181
226
|
*/
|
|
182
227
|
export declare function publishEvent<E extends EventPayloadDef>(eventBus: EventBusLike, event: E, payload: InferEventPayload<E>, options?: EventPublishOptions): Promise<void>;
|
|
183
228
|
/**
|
|
184
|
-
* Register listeners against an event bus and return
|
|
229
|
+
* Register listeners against an event bus and return a composite lifecycle
|
|
230
|
+
* handle.
|
|
185
231
|
*
|
|
186
232
|
* Payloads are validated before listener handlers run. Listener context is
|
|
187
|
-
* resolved per delivery when `options.ctx` is a factory.
|
|
233
|
+
* resolved per delivery when `options.ctx` is a factory. Initial registration
|
|
234
|
+
* starts every child cleanup after a synchronous subscribe failure, rejected
|
|
235
|
+
* readiness promise, or readiness timeout. Cleanup that cannot finish inside
|
|
236
|
+
* the registration deadline is reported without extending startup forever.
|
|
188
237
|
*/
|
|
189
|
-
export declare function registerListeners<Ctx>(eventBus: EventBusLike, listeners: readonly ListenerDef<EventDef, Ctx>[], options?: RegisterListenersOptions<Ctx>):
|
|
238
|
+
export declare function registerListeners<Ctx>(eventBus: EventBusLike, listeners: readonly ListenerDef<EventDef, Ctx>[], options?: RegisterListenersOptions<Ctx>): EventSubscription;
|
|
190
239
|
/**
|
|
191
240
|
* Create listener helper methods bound to an application context type.
|
|
192
241
|
*
|