@beignet/core 0.0.1 → 0.0.3
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 +27 -0
- package/README.md +202 -8
- 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 +248 -4
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js +183 -1
- 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 +474 -0
- package/dist/outbox/index.d.ts.map +1 -0
- package/dist/outbox/index.js +538 -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 +205 -1
- 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 +68 -26
- package/dist/server/hooks/auth.d.ts.map +1 -1
- package/dist/server/hooks/auth.js +44 -55
- 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 +4 -1
- 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 +222 -0
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +20 -1
- package/dist/server/http.js.map +1 -1
- package/dist/server/index.d.ts +19 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +7 -1
- 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 +159 -19
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +72 -31
- package/dist/server/server.js.map +1 -1
- package/dist/testing/index.d.ts +171 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +127 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/uploads/client.d.ts +278 -0
- package/dist/uploads/client.d.ts.map +1 -0
- package/dist/uploads/client.js +428 -0
- package/dist/uploads/client.js.map +1 -0
- package/dist/uploads/index.d.ts +361 -0
- package/dist/uploads/index.d.ts.map +1 -0
- package/dist/uploads/index.js +543 -0
- package/dist/uploads/index.js.map +1 -0
- package/package.json +31 -2
- 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 +437 -5
- 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 +1104 -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 +211 -1
- 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 +105 -120
- package/src/server/hooks/cors.ts +27 -0
- package/src/server/hooks/errors.ts +15 -6
- package/src/server/hooks/index.ts +4 -5
- package/src/server/hooks/logging.ts +36 -0
- package/src/server/hooks/rate-limit.ts +33 -0
- package/src/server/http.ts +249 -1
- package/src/server/index.ts +19 -1
- package/src/server/openapi.ts +5 -3
- package/src/server/providers/loadProviderConfig.ts +9 -0
- package/src/server/server.ts +296 -30
- package/src/testing/index.ts +348 -0
- package/src/uploads/client.ts +861 -0
- package/src/uploads/index.ts +1067 -0
package/dist/server/http.d.ts
CHANGED
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import type { HttpContractConfig, InferHeaderSchemaOutput, InferOutput, StandardSchema } from "../contracts";
|
|
2
2
|
import type { AnyPorts } from "../ports";
|
|
3
|
+
/**
|
|
4
|
+
* Framework-neutral request shape consumed by Beignet server adapters.
|
|
5
|
+
*
|
|
6
|
+
* Platform adapters should convert their native request into this shape before
|
|
7
|
+
* passing it to `server.api(...)` or a single route handler.
|
|
8
|
+
*/
|
|
3
9
|
export interface HttpRequestLike {
|
|
10
|
+
/**
|
|
11
|
+
* HTTP method as received from the platform.
|
|
12
|
+
*/
|
|
4
13
|
method: string;
|
|
14
|
+
/**
|
|
15
|
+
* Absolute request URL.
|
|
16
|
+
*/
|
|
5
17
|
url: string;
|
|
18
|
+
/**
|
|
19
|
+
* Request headers.
|
|
20
|
+
*/
|
|
6
21
|
headers: Headers;
|
|
7
22
|
/**
|
|
8
23
|
* The platform request when an adapter has one available.
|
|
@@ -11,45 +26,190 @@ export interface HttpRequestLike {
|
|
|
11
26
|
* framework-agnostic methods below when possible.
|
|
12
27
|
*/
|
|
13
28
|
raw?: Request;
|
|
29
|
+
/**
|
|
30
|
+
* Parse the request body as JSON.
|
|
31
|
+
*/
|
|
14
32
|
json(): Promise<unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* Parse the request body as text.
|
|
35
|
+
*/
|
|
15
36
|
text(): Promise<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse the request body as an array buffer when the platform supports it.
|
|
39
|
+
*/
|
|
16
40
|
arrayBuffer?(): Promise<ArrayBuffer>;
|
|
41
|
+
/**
|
|
42
|
+
* Parse the request body as a Blob when the platform supports it.
|
|
43
|
+
*/
|
|
17
44
|
blob?(): Promise<Blob>;
|
|
45
|
+
/**
|
|
46
|
+
* Parse the request body as form data when the platform supports it.
|
|
47
|
+
*/
|
|
18
48
|
formData?(): Promise<FormData>;
|
|
49
|
+
/**
|
|
50
|
+
* Clone the request when the platform supports replaying the body.
|
|
51
|
+
*/
|
|
19
52
|
clone?(): HttpRequestLike;
|
|
20
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Framework-neutral response object returned by route handlers and hooks.
|
|
56
|
+
*/
|
|
21
57
|
export interface HttpResponseLike {
|
|
58
|
+
/**
|
|
59
|
+
* HTTP status code.
|
|
60
|
+
*/
|
|
22
61
|
status: number;
|
|
62
|
+
/**
|
|
63
|
+
* Response headers.
|
|
64
|
+
*/
|
|
23
65
|
headers?: Record<string, string>;
|
|
66
|
+
/**
|
|
67
|
+
* JSON-serializable body or an adapter-specific body value.
|
|
68
|
+
*/
|
|
24
69
|
body?: unknown;
|
|
25
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Response accepted by Beignet handlers.
|
|
73
|
+
*
|
|
74
|
+
* Use `HttpResponseLike` for framework-neutral responses. Return a native
|
|
75
|
+
* `Response` only when the current adapter can pass it through unchanged.
|
|
76
|
+
*/
|
|
26
77
|
export type HttpResponse = HttpResponseLike | Response;
|
|
27
78
|
type InferSchemaOrFallback<T extends StandardSchema | null, Fallback> = T extends StandardSchema ? InferOutput<T> : Fallback;
|
|
79
|
+
/**
|
|
80
|
+
* Infer the handler path parameter type for a contract.
|
|
81
|
+
*/
|
|
28
82
|
export type InferPath<C extends HttpContractConfig> = InferSchemaOrFallback<C["pathParams"], Record<string, string>>;
|
|
83
|
+
/**
|
|
84
|
+
* Infer the handler query parameter type for a contract.
|
|
85
|
+
*/
|
|
29
86
|
export type InferQuery<C extends HttpContractConfig> = InferSchemaOrFallback<C["query"], Record<string, string | string[]>>;
|
|
87
|
+
/**
|
|
88
|
+
* Infer the handler request body type for a contract.
|
|
89
|
+
*/
|
|
30
90
|
export type InferBody<C extends HttpContractConfig> = InferSchemaOrFallback<C["body"], unknown>;
|
|
91
|
+
/**
|
|
92
|
+
* Infer the merged request header type for a contract.
|
|
93
|
+
*/
|
|
31
94
|
export type InferHeaders<C extends HttpContractConfig> = InferHeaderSchemaOutput<Exclude<C["headers"], undefined>> extends undefined ? Record<string, string> : InferHeaderSchemaOutput<Exclude<C["headers"], undefined>>;
|
|
95
|
+
/**
|
|
96
|
+
* Arguments passed to a route handler after request parsing and validation.
|
|
97
|
+
*/
|
|
32
98
|
export interface HandlerArgs<Ctx, C extends HttpContractConfig> {
|
|
99
|
+
/**
|
|
100
|
+
* Framework-neutral request.
|
|
101
|
+
*/
|
|
33
102
|
req: HttpRequestLike;
|
|
103
|
+
/**
|
|
104
|
+
* Application context returned by `createContext`.
|
|
105
|
+
*/
|
|
34
106
|
ctx: Ctx;
|
|
107
|
+
/**
|
|
108
|
+
* Matched contract config.
|
|
109
|
+
*/
|
|
35
110
|
contract: C;
|
|
111
|
+
/**
|
|
112
|
+
* Parsed path parameters.
|
|
113
|
+
*/
|
|
36
114
|
path: InferPath<C>;
|
|
115
|
+
/**
|
|
116
|
+
* Parsed query parameters.
|
|
117
|
+
*/
|
|
37
118
|
query: InferQuery<C>;
|
|
119
|
+
/**
|
|
120
|
+
* Parsed request headers.
|
|
121
|
+
*/
|
|
38
122
|
headers: InferHeaders<C>;
|
|
123
|
+
/**
|
|
124
|
+
* Parsed request body.
|
|
125
|
+
*/
|
|
39
126
|
body: InferBody<C>;
|
|
40
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Route handler function for a contract.
|
|
130
|
+
*/
|
|
41
131
|
export type Handler<Ctx, C extends HttpContractConfig> = (args: HandlerArgs<Ctx, C>) => Promise<HttpResponse> | HttpResponse;
|
|
132
|
+
/**
|
|
133
|
+
* Value or promise of that value.
|
|
134
|
+
*/
|
|
42
135
|
export type MaybePromise<T> = T | Promise<T>;
|
|
136
|
+
/**
|
|
137
|
+
* Arguments passed to a route-scoped hook after request parsing and context
|
|
138
|
+
* creation.
|
|
139
|
+
*/
|
|
140
|
+
export type RouteHookArgs<Ctx, C extends HttpContractConfig = HttpContractConfig> = HandlerArgs<Ctx, C>;
|
|
141
|
+
/**
|
|
142
|
+
* Hook that runs only for the route or route group where it is attached.
|
|
143
|
+
*
|
|
144
|
+
* Route hooks are for scoped policy and context enrichment such as
|
|
145
|
+
* authentication, tenant resolution, feature gates, and idempotency. They add
|
|
146
|
+
* fields to the handler context instead of replacing the app context.
|
|
147
|
+
*/
|
|
148
|
+
export interface RouteHook<Ctx, AddedCtx extends object = Record<string, never>> {
|
|
149
|
+
/**
|
|
150
|
+
* Optional name used in diagnostics and devtools.
|
|
151
|
+
*/
|
|
152
|
+
name?: string;
|
|
153
|
+
/**
|
|
154
|
+
* Resolve additional context for this route or throw to stop handling.
|
|
155
|
+
*/
|
|
156
|
+
resolve: (args: RouteHookArgs<Ctx>) => MaybePromise<AddedCtx | undefined>;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Builder for route-scoped hooks.
|
|
160
|
+
*/
|
|
161
|
+
export type RouteHookBuilder<Ctx> = {
|
|
162
|
+
/**
|
|
163
|
+
* Assign a diagnostic name to the hook.
|
|
164
|
+
*/
|
|
165
|
+
name: (name: string) => RouteHookNamedBuilder<Ctx>;
|
|
166
|
+
/**
|
|
167
|
+
* Define the hook resolver.
|
|
168
|
+
*/
|
|
169
|
+
resolve: <AddedCtx extends object>(resolve: RouteHook<Ctx, AddedCtx>["resolve"]) => RouteHook<Ctx, AddedCtx>;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Named builder for route-scoped hooks.
|
|
173
|
+
*/
|
|
174
|
+
export type RouteHookNamedBuilder<Ctx> = {
|
|
175
|
+
/**
|
|
176
|
+
* Define the hook resolver.
|
|
177
|
+
*/
|
|
178
|
+
resolve: <AddedCtx extends object>(resolve: RouteHook<Ctx, AddedCtx>["resolve"]) => RouteHook<Ctx, AddedCtx>;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Define a route-scoped hook.
|
|
182
|
+
*
|
|
183
|
+
* Route hooks enrich handler context for one route or route group. They should
|
|
184
|
+
* throw application/framework errors for denials instead of returning HTTP
|
|
185
|
+
* responses directly.
|
|
186
|
+
*/
|
|
187
|
+
export declare function defineRouteHook<Ctx>(): RouteHookBuilder<Ctx>;
|
|
188
|
+
/**
|
|
189
|
+
* Hook that runs after a route is matched but before request parsing and
|
|
190
|
+
* context creation.
|
|
191
|
+
*
|
|
192
|
+
* Returning a response short-circuits the rest of the request pipeline.
|
|
193
|
+
*/
|
|
43
194
|
export type OnRequestHook<Ports extends AnyPorts = AnyPorts, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
44
195
|
req: HttpRequestLike;
|
|
45
196
|
ports: Ports;
|
|
46
197
|
contract: C;
|
|
47
198
|
params: Record<string, string>;
|
|
48
199
|
}) => MaybePromise<HttpResponse | undefined>;
|
|
200
|
+
/**
|
|
201
|
+
* Result from a `beforeHandle` hook.
|
|
202
|
+
*
|
|
203
|
+
* Returning a plain response short-circuits the handler. Returning an object can
|
|
204
|
+
* replace the context, short-circuit with a response, or do both.
|
|
205
|
+
*/
|
|
49
206
|
export type BeforeHandleResult<Ctx> = undefined | HttpResponse | {
|
|
50
207
|
ctx?: Ctx;
|
|
51
208
|
response?: HttpResponse;
|
|
52
209
|
};
|
|
210
|
+
/**
|
|
211
|
+
* Hook that runs after request parsing/context creation and before the handler.
|
|
212
|
+
*/
|
|
53
213
|
export type BeforeHandleHook<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
54
214
|
req: HttpRequestLike;
|
|
55
215
|
ctx: Ctx;
|
|
@@ -59,6 +219,12 @@ export type BeforeHandleHook<Ctx, C extends HttpContractConfig = HttpContractCon
|
|
|
59
219
|
headers: InferHeaders<C>;
|
|
60
220
|
body: InferBody<C>;
|
|
61
221
|
}) => MaybePromise<BeforeHandleResult<Ctx>>;
|
|
222
|
+
/**
|
|
223
|
+
* Hook that runs before a framework-neutral response is returned.
|
|
224
|
+
*
|
|
225
|
+
* Return a response to replace or decorate the outgoing response. Hooks run in
|
|
226
|
+
* declaration order.
|
|
227
|
+
*/
|
|
62
228
|
export type BeforeSendHook<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
63
229
|
req: HttpRequestLike;
|
|
64
230
|
ctx?: Ctx;
|
|
@@ -70,6 +236,12 @@ export type BeforeSendHook<Ctx, C extends HttpContractConfig = HttpContractConfi
|
|
|
70
236
|
response: HttpResponseLike;
|
|
71
237
|
error?: unknown;
|
|
72
238
|
}) => MaybePromise<HttpResponseLike | undefined>;
|
|
239
|
+
/**
|
|
240
|
+
* Hook that runs after the response has been prepared.
|
|
241
|
+
*
|
|
242
|
+
* This is for logging and observability. Errors thrown by `afterSend` hooks are
|
|
243
|
+
* ignored by the server pipeline.
|
|
244
|
+
*/
|
|
73
245
|
export type AfterSendHook<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
74
246
|
req: HttpRequestLike;
|
|
75
247
|
ctx?: Ctx;
|
|
@@ -82,6 +254,9 @@ export type AfterSendHook<Ctx, C extends HttpContractConfig = HttpContractConfig
|
|
|
82
254
|
error?: unknown;
|
|
83
255
|
durationMs: number;
|
|
84
256
|
}) => MaybePromise<void>;
|
|
257
|
+
/**
|
|
258
|
+
* Hook notified when the framework catches an error while handling a request.
|
|
259
|
+
*/
|
|
85
260
|
export type ServerCaughtErrorHook<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
86
261
|
err: unknown;
|
|
87
262
|
req: HttpRequestLike;
|
|
@@ -92,6 +267,12 @@ export type ServerCaughtErrorHook<Ctx, C extends HttpContractConfig = HttpContra
|
|
|
92
267
|
headers?: InferHeaders<C>;
|
|
93
268
|
body?: InferBody<C>;
|
|
94
269
|
}) => MaybePromise<void>;
|
|
270
|
+
/**
|
|
271
|
+
* Hook that may map an unexpected error to a custom response.
|
|
272
|
+
*
|
|
273
|
+
* Return `undefined` to let the server's default unhandled-error mapper create
|
|
274
|
+
* the response.
|
|
275
|
+
*/
|
|
95
276
|
export type ServerUnhandledErrorMapper<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
96
277
|
err: unknown;
|
|
97
278
|
req: HttpRequestLike;
|
|
@@ -102,18 +283,59 @@ export type ServerUnhandledErrorMapper<Ctx, C extends HttpContractConfig = HttpC
|
|
|
102
283
|
headers?: InferHeaders<C>;
|
|
103
284
|
body?: InferBody<C>;
|
|
104
285
|
}) => MaybePromise<HttpResponse | undefined>;
|
|
286
|
+
/**
|
|
287
|
+
* Server lifecycle hook collection.
|
|
288
|
+
*
|
|
289
|
+
* Hooks run in the order they are registered. `onRequest` can short-circuit
|
|
290
|
+
* before context creation; `beforeHandle` can replace context or short-circuit;
|
|
291
|
+
* `beforeSend` can replace the outgoing response; `afterSend` observes the
|
|
292
|
+
* final response.
|
|
293
|
+
*/
|
|
105
294
|
export interface ServerHook<Ctx, Ports extends AnyPorts = AnyPorts> {
|
|
295
|
+
/**
|
|
296
|
+
* Optional name used in diagnostics and devtools.
|
|
297
|
+
*/
|
|
106
298
|
name?: string;
|
|
299
|
+
/**
|
|
300
|
+
* Runs after route matching and before body/query/header parsing.
|
|
301
|
+
*/
|
|
107
302
|
onRequest?: OnRequestHook<Ports>;
|
|
303
|
+
/**
|
|
304
|
+
* Runs after request parsing and context creation.
|
|
305
|
+
*/
|
|
108
306
|
beforeHandle?: BeforeHandleHook<Ctx>;
|
|
307
|
+
/**
|
|
308
|
+
* Runs before a framework-neutral response is returned.
|
|
309
|
+
*/
|
|
109
310
|
beforeSend?: BeforeSendHook<Ctx>;
|
|
311
|
+
/**
|
|
312
|
+
* Observes the final response after send preparation.
|
|
313
|
+
*/
|
|
110
314
|
afterSend?: AfterSendHook<Ctx>;
|
|
315
|
+
/**
|
|
316
|
+
* Observes framework-caught errors.
|
|
317
|
+
*/
|
|
111
318
|
onCaughtError?: ServerCaughtErrorHook<Ctx>;
|
|
319
|
+
/**
|
|
320
|
+
* Maps unexpected errors to responses.
|
|
321
|
+
*/
|
|
112
322
|
mapUnhandledError?: ServerUnhandledErrorMapper<Ctx>;
|
|
113
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* Compiled route entry used by server internals and adapter helpers.
|
|
326
|
+
*/
|
|
114
327
|
export type ResolvedRoute<_Ctx, C extends HttpContractConfig> = {
|
|
328
|
+
/**
|
|
329
|
+
* Contract config for the route.
|
|
330
|
+
*/
|
|
115
331
|
contract: C;
|
|
332
|
+
/**
|
|
333
|
+
* Handler that receives the raw request and optional path params.
|
|
334
|
+
*/
|
|
116
335
|
handler: (req: HttpRequestLike, params?: Record<string, string>) => Promise<HttpResponse>;
|
|
336
|
+
/**
|
|
337
|
+
* Test whether the route matches an incoming method and pathname.
|
|
338
|
+
*/
|
|
117
339
|
match: (method: string, pathname: string) => {
|
|
118
340
|
matched: true;
|
|
119
341
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAEvD,KAAK,qBAAqB,CACxB,CAAC,SAAS,cAAc,GAAG,IAAI,EAC/B,QAAQ,IACN,CAAC,SAAS,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CACzE,CAAC,CAAC,YAAY,CAAC,EACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CAC1E,CAAC,CAAC,OAAO,CAAC,EACV,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CACzE,CAAC,CAAC,MAAM,CAAC,EACT,OAAO,CACR,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,kBAAkB,IACnD,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,SAAS,SAAS,GACvE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhE,MAAM,WAAW,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,kBAAkB;IAC5D,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC;;OAEG;IACH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B;;OAEG;IACH,KAAK,CAAC,IAAI,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAEvD,KAAK,qBAAqB,CACxB,CAAC,SAAS,cAAc,GAAG,IAAI,EAC/B,QAAQ,IACN,CAAC,SAAS,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CACzE,CAAC,CAAC,YAAY,CAAC,EACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CAC1E,CAAC,CAAC,OAAO,CAAC,EACV,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CACzE,CAAC,CAAC,MAAM,CAAC,EACT,OAAO,CACR,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,kBAAkB,IACnD,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,SAAS,SAAS,GACvE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,kBAAkB;IAC5D;;OAEG;IACH,GAAG,EAAE,eAAe,CAAC;IACrB;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IACT;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,kBAAkB,IAAI,CACvD,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KACtB,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,aAAa,CACvB,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CACxB,GAAG,EACH,QAAQ,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAE/C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,GAAG,IAAI;IAClC;;OAEG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACnD;;OAEG;IACH,OAAO,EAAE,CAAC,QAAQ,SAAS,MAAM,EAC/B,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,KACzC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,GAAG,IAAI;IACvC;;OAEG;IACH,OAAO,EAAE,CAAC,QAAQ,SAAS,MAAM,EAC/B,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,KACzC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,KAAK,gBAAgB,CAAC,GAAG,CAAC,CAY5D;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CACvB,KAAK,SAAS,QAAQ,GAAG,QAAQ,EACjC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,eAAe,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,KAAK,YAAY,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,GAAG,IAC9B,SAAS,GACT,YAAY,GACZ;IACE,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC1B,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACpB,KAAK,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CACxB,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,KAAK,YAAY,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CACvB,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAC/B,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACrB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,CACpC,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACrB,KAAK,YAAY,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU,CAAC,GAAG,EAAE,KAAK,SAAS,QAAQ,GAAG,QAAQ;IAChE;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3C;;OAEG;IACH,iBAAiB,CAAC,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,SAAS,kBAAkB,IAAI;IAC9D;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE,CACP,GAAG,EAAE,eAAe,EACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,CACL,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,KACb;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,CAAC;CAC7C,CAAC"}
|
package/dist/server/http.js
CHANGED
|
@@ -1,2 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Define a route-scoped hook.
|
|
3
|
+
*
|
|
4
|
+
* Route hooks enrich handler context for one route or route group. They should
|
|
5
|
+
* throw application/framework errors for denials instead of returning HTTP
|
|
6
|
+
* responses directly.
|
|
7
|
+
*/
|
|
8
|
+
export function defineRouteHook() {
|
|
9
|
+
return {
|
|
10
|
+
name: (name) => ({
|
|
11
|
+
resolve: (resolve) => ({
|
|
12
|
+
name,
|
|
13
|
+
resolve,
|
|
14
|
+
}),
|
|
15
|
+
}),
|
|
16
|
+
resolve: (resolve) => ({
|
|
17
|
+
resolve,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
2
21
|
//# sourceMappingURL=http.js.map
|
package/dist/server/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAoOA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACrB,IAAI;gBACJ,OAAO;aACR,CAAC;SACH,CAAC;QACF,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrB,OAAO;SACR,CAAC;KACH,CAAC;AACJ,CAAC"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -4,16 +4,34 @@
|
|
|
4
4
|
* Framework-agnostic HTTP server runtime for Beignet.
|
|
5
5
|
* Shared by Beignet server adapters.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Contract and schema types re-exported for server users.
|
|
9
|
+
*/
|
|
7
10
|
export type { HttpContractConfig, InferOutput, StandardSchema, StandardSchemaV1, } from "../contracts";
|
|
11
|
+
/**
|
|
12
|
+
* Application error base class re-exported for server users.
|
|
13
|
+
*/
|
|
8
14
|
export { AppError } from "../errors";
|
|
15
|
+
/**
|
|
16
|
+
* Any-ports helper type re-exported for server users.
|
|
17
|
+
*/
|
|
9
18
|
export type { AnyPorts } from "../ports";
|
|
19
|
+
/**
|
|
20
|
+
* Provider type re-exported for server users.
|
|
21
|
+
*/
|
|
10
22
|
export type { ServiceProvider } from "../providers";
|
|
11
23
|
export * from "./health";
|
|
12
24
|
export * from "./hooks";
|
|
13
25
|
export * from "./http";
|
|
14
26
|
export * from "./openapi";
|
|
15
27
|
export * from "./providers";
|
|
28
|
+
/**
|
|
29
|
+
* Server configuration and route types.
|
|
30
|
+
*/
|
|
16
31
|
export type { CreateServerOptions, RouteDef, RouteGroup, ServerInstance, } from "./server";
|
|
17
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Server runtime helpers.
|
|
34
|
+
*/
|
|
35
|
+
export { contractsFromRoutes, createServer, defineRoute, defineRouteGroup, defineRoutes, } from "./server";
|
|
18
36
|
export * from "./types";
|
|
19
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC;;GAEG;AACH,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC;;GAEG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B;;GAEG;AACH,YAAY,EACV,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,cAAc,GACf,MAAM,UAAU,CAAC;AAClB;;GAEG;AACH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC"}
|
package/dist/server/index.js
CHANGED
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
* Framework-agnostic HTTP server runtime for Beignet.
|
|
5
5
|
* Shared by Beignet server adapters.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Application error base class re-exported for server users.
|
|
9
|
+
*/
|
|
7
10
|
export { AppError } from "../errors";
|
|
8
11
|
export * from "./health";
|
|
9
12
|
export * from "./hooks";
|
|
10
13
|
export * from "./http";
|
|
11
14
|
export * from "./openapi";
|
|
12
15
|
export * from "./providers";
|
|
13
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Server runtime helpers.
|
|
18
|
+
*/
|
|
19
|
+
export { contractsFromRoutes, createServer, defineRoute, defineRouteGroup, defineRoutes, } from "./server";
|
|
14
20
|
export * from "./types";
|
|
15
21
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AASrC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAU5B;;GAEG;AACH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC"}
|
package/dist/server/openapi.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { HttpContractConfig } from "../contracts";
|
|
|
6
6
|
import type { AppEnvironment } from "./health";
|
|
7
7
|
import type { HttpRequestLike, HttpResponseLike } from "./types";
|
|
8
8
|
/**
|
|
9
|
-
* OpenAPI configuration
|
|
9
|
+
* OpenAPI route handler configuration.
|
|
10
10
|
*/
|
|
11
11
|
export interface OpenAPIConfig {
|
|
12
12
|
/** Enable OpenAPI endpoint (default: false) */
|
|
@@ -25,8 +25,10 @@ export interface OpenAPIConfig {
|
|
|
25
25
|
description?: string;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* Create
|
|
29
|
-
*
|
|
28
|
+
* Create a framework-neutral OpenAPI JSON handler.
|
|
29
|
+
*
|
|
30
|
+
* The OpenAPI document is generated lazily on the first request and then cached
|
|
31
|
+
* for the lifetime of the handler.
|
|
30
32
|
*/
|
|
31
33
|
export declare function createOpenAPIHandler(contracts: readonly HttpContractConfig[], openapiConfig: OpenAPIConfig | undefined, _env: AppEnvironment): (req: HttpRequestLike) => Promise<HttpResponseLike>;
|
|
32
34
|
//# sourceMappingURL=openapi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,kBAAkB,EAAE,EACxC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,IAAI,EAAE,cAAc,GACnB,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAkCrD"}
|
package/dist/server/openapi.js
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
* OpenAPI helpers for the Beignet server runtime.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Create
|
|
7
|
-
*
|
|
6
|
+
* Create a framework-neutral OpenAPI JSON handler.
|
|
7
|
+
*
|
|
8
|
+
* The OpenAPI document is generated lazily on the first request and then cached
|
|
9
|
+
* for the lifetime of the handler.
|
|
8
10
|
*/
|
|
9
11
|
export function createOpenAPIHandler(contracts, openapiConfig, _env) {
|
|
10
12
|
// Lazily generate OpenAPI spec on first request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/server/openapi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAwC,EACxC,aAAwC,EACxC,IAAoB;IAEpB,gDAAgD;IAChD,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,OAAO,KAAK,EAAE,IAAqB,EAA6B,EAAE;QAChE,8BAA8B;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,0CAA0C;gBAC1C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1D,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE;oBACzC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,aAAa;oBAC5C,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,OAAO;oBAC1C,WAAW,EAAE,aAAa,EAAE,WAAW;iBACxC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4BAA4B;gBAC5B,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE;wBACJ,KAAK,EAAE,2BAA2B;wBAClC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAClE;oBACD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,15 @@ import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
|
2
2
|
import type { AnyPorts } from "../../ports";
|
|
3
3
|
import type { ServiceProvider } from "../../providers";
|
|
4
4
|
declare function parseStandardSchema<Schema extends StandardSchemaV1<unknown, unknown>>(schema: Schema, input: unknown): Promise<StandardSchemaV1.InferOutput<Schema>>;
|
|
5
|
+
/**
|
|
6
|
+
* Load and validate config for a provider.
|
|
7
|
+
*
|
|
8
|
+
* Explicit overrides take precedence over env-derived config. When a provider
|
|
9
|
+
* declares `envPrefix`, matching env keys are stripped before validation.
|
|
10
|
+
*/
|
|
5
11
|
export declare function loadProviderConfig<Ports extends AnyPorts, Schema extends StandardSchemaV1<unknown, unknown>>(provider: ServiceProvider<Ports, Schema>, env: Record<string, string | undefined>, overrides: Record<string, unknown>): Promise<StandardSchemaV1.InferOutput<Schema> | undefined>;
|
|
12
|
+
/**
|
|
13
|
+
* Parse provider config with Standard Schema and normalize validation errors.
|
|
14
|
+
*/
|
|
6
15
|
export { parseStandardSchema };
|
|
7
16
|
//# sourceMappingURL=loadProviderConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadProviderConfig.d.ts","sourceRoot":"","sources":["../../../src/server/providers/loadProviderConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAOvD,iBAAe,mBAAmB,CAChC,MAAM,SAAS,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAEjD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAU/C;AAED,wBAAsB,kBAAkB,CACtC,KAAK,SAAS,QAAQ,EACtB,MAAM,SAAS,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAEjD,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CA8B3D;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"loadProviderConfig.d.ts","sourceRoot":"","sources":["../../../src/server/providers/loadProviderConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAOvD,iBAAe,mBAAmB,CAChC,MAAM,SAAS,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAEjD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAU/C;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,SAAS,QAAQ,EACtB,MAAM,SAAS,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAEjD,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CA8B3D;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -11,6 +11,12 @@ async function parseStandardSchema(schema, input) {
|
|
|
11
11
|
throw error;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Load and validate config for a provider.
|
|
16
|
+
*
|
|
17
|
+
* Explicit overrides take precedence over env-derived config. When a provider
|
|
18
|
+
* declares `envPrefix`, matching env keys are stripped before validation.
|
|
19
|
+
*/
|
|
14
20
|
export async function loadProviderConfig(provider, env, overrides) {
|
|
15
21
|
const configDef = provider.config;
|
|
16
22
|
if (!configDef)
|
|
@@ -38,5 +44,8 @@ export async function loadProviderConfig(provider, env, overrides) {
|
|
|
38
44
|
throw new Error(`Failed to load config for provider "${provider.name}"${suffix}: ${error.message}${hint}`);
|
|
39
45
|
}
|
|
40
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Parse provider config with Standard Schema and normalize validation errors.
|
|
49
|
+
*/
|
|
41
50
|
export { parseStandardSchema };
|
|
42
51
|
//# sourceMappingURL=loadProviderConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadProviderConfig.js","sourceRoot":"","sources":["../../../src/server/providers/loadProviderConfig.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AASrD,KAAK,UAAU,mBAAmB,CAGhC,MAAc,EACd,KAAc;IAEd,IAAI,CAAC;QACH,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAItC,QAAwC,EACxC,GAAuC,EACvC,SAAkC;IAElC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAA+C,CAAC;IAC3E,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,WAAW;QACvB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1B,CAAC,CAAC,SAAS;YACT,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACrC,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,CAAC;QACH,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,SAAS;YACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CACvD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,SAAS;YACpB,CAAC,CAAC,KAAK,CAAC,MAAM;gBACZ,CAAC,CAAC,mCAAmC,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtE,CAAC,CAAC,sCAAsC,SAAS,GAAG;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,IAAI,IAAI,MAAM,KAAM,KAAe,CAAC,OAAO,GAAG,IAAI,EAAE,CACrG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"loadProviderConfig.js","sourceRoot":"","sources":["../../../src/server/providers/loadProviderConfig.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AASrD,KAAK,UAAU,mBAAmB,CAGhC,MAAc,EACd,KAAc;IAEd,IAAI,CAAC;QACH,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAItC,QAAwC,EACxC,GAAuC,EACvC,SAAkC;IAElC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAA+C,CAAC;IAC3E,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,WAAW;QACvB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1B,CAAC,CAAC,SAAS;YACT,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACrC,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,CAAC;QACH,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,SAAS;YACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CACvD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,SAAS;YACpB,CAAC,CAAC,KAAK,CAAC,MAAM;gBACZ,CAAC,CAAC,mCAAmC,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtE,CAAC,CAAC,sCAAsC,SAAS,GAAG;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,IAAI,IAAI,MAAM,KAAM,KAAe,CAAC,OAAO,GAAG,IAAI,EAAE,CACrG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|