@astrale-os/kernel-server 0.4.16 → 0.5.0-beta.1
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/dist/capture.d.ts +3 -0
- package/dist/capture.d.ts.map +1 -0
- package/dist/capture.js +10 -0
- package/dist/capture.js.map +1 -0
- package/dist/cors/cors.d.ts +22 -0
- package/dist/cors/cors.d.ts.map +1 -0
- package/dist/cors/cors.js +136 -0
- package/dist/cors/cors.js.map +1 -0
- package/dist/cors/index.d.ts +3 -0
- package/dist/cors/index.d.ts.map +1 -0
- package/dist/cors/index.js +2 -0
- package/dist/cors/index.js.map +1 -0
- package/dist/cors/types.d.ts +12 -0
- package/dist/cors/types.d.ts.map +1 -0
- package/dist/cors/types.js +2 -0
- package/dist/cors/types.js.map +1 -0
- package/dist/errors/availability.d.ts +11 -0
- package/dist/errors/availability.d.ts.map +1 -0
- package/dist/errors/availability.js +15 -0
- package/dist/errors/availability.js.map +1 -0
- package/dist/errors/classify.d.ts +4 -0
- package/dist/errors/classify.d.ts.map +1 -0
- package/dist/errors/classify.js +254 -0
- package/dist/errors/classify.js.map +1 -0
- package/dist/errors/index.d.ts +5 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +5 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/request-body.d.ts +8 -0
- package/dist/errors/request-body.d.ts.map +1 -0
- package/dist/errors/request-body.js +15 -0
- package/dist/errors/request-body.js.map +1 -0
- package/dist/errors/response-body.d.ts +5 -0
- package/dist/errors/response-body.d.ts.map +1 -0
- package/dist/errors/response-body.js +9 -0
- package/dist/errors/response-body.js.map +1 -0
- package/dist/index.d.ts +4 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -18
- package/dist/index.js.map +1 -1
- package/dist/installation/handler.d.ts +10 -0
- package/dist/installation/handler.d.ts.map +1 -0
- package/dist/installation/handler.js +126 -0
- package/dist/installation/handler.js.map +1 -0
- package/dist/installation/index.d.ts +3 -0
- package/dist/installation/index.d.ts.map +1 -0
- package/dist/installation/index.js +2 -0
- package/dist/installation/index.js.map +1 -0
- package/dist/installation/types.d.ts +12 -0
- package/dist/installation/types.d.ts.map +1 -0
- package/dist/installation/types.js +2 -0
- package/dist/installation/types.js.map +1 -0
- package/dist/invocation/context.d.ts +7 -0
- package/dist/invocation/context.d.ts.map +1 -0
- package/dist/invocation/context.js +62 -0
- package/dist/invocation/context.js.map +1 -0
- package/dist/invocation/index.d.ts +2 -2
- package/dist/invocation/index.d.ts.map +1 -1
- package/dist/invocation/index.js +1 -2
- package/dist/invocation/index.js.map +1 -1
- package/dist/invocation/types.d.ts +34 -0
- package/dist/invocation/types.d.ts.map +1 -0
- package/dist/invocation/types.js +2 -0
- package/dist/invocation/types.js.map +1 -0
- package/dist/issuer/index.d.ts +3 -0
- package/dist/issuer/index.d.ts.map +1 -0
- package/dist/issuer/index.js +2 -0
- package/dist/issuer/index.js.map +1 -0
- package/dist/issuer/routes.d.ts +13 -0
- package/dist/issuer/routes.d.ts.map +1 -0
- package/dist/issuer/routes.js +138 -0
- package/dist/issuer/routes.js.map +1 -0
- package/dist/issuer/types.d.ts +11 -0
- package/dist/issuer/types.d.ts.map +1 -0
- package/dist/issuer/types.js +2 -0
- package/dist/issuer/types.js.map +1 -0
- package/dist/lifecycle/active.d.ts +40 -0
- package/dist/lifecycle/active.d.ts.map +1 -0
- package/dist/lifecycle/active.js +200 -0
- package/dist/lifecycle/active.js.map +1 -0
- package/dist/lifecycle/index.d.ts +2 -0
- package/dist/lifecycle/index.d.ts.map +1 -0
- package/dist/lifecycle/index.js +2 -0
- package/dist/lifecycle/index.js.map +1 -0
- package/dist/publication/index.d.ts +3 -0
- package/dist/publication/index.d.ts.map +1 -0
- package/dist/publication/index.js +2 -0
- package/dist/publication/index.js.map +1 -0
- package/dist/publication/snapshot.d.ts +14 -0
- package/dist/publication/snapshot.d.ts.map +1 -0
- package/dist/publication/snapshot.js +30 -0
- package/dist/publication/snapshot.js.map +1 -0
- package/dist/publication/types.d.ts +19 -0
- package/dist/publication/types.d.ts.map +1 -0
- package/dist/publication/types.js +2 -0
- package/dist/publication/types.js.map +1 -0
- package/dist/routes/index.d.ts +2 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +2 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/routes.d.ts +24 -0
- package/dist/routes/routes.d.ts.map +1 -0
- package/dist/routes/routes.js +438 -0
- package/dist/routes/routes.js.map +1 -0
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +226 -0
- package/dist/server.js.map +1 -0
- package/dist/transport/body.d.ts +5 -0
- package/dist/transport/body.d.ts.map +1 -0
- package/dist/transport/body.js +51 -0
- package/dist/transport/body.js.map +1 -0
- package/dist/transport/codecs.d.ts +5 -0
- package/dist/transport/codecs.d.ts.map +1 -0
- package/dist/transport/codecs.js +6 -0
- package/dist/transport/codecs.js.map +1 -0
- package/dist/transport/credential.d.ts +11 -0
- package/dist/transport/credential.d.ts.map +1 -0
- package/dist/transport/credential.js +29 -0
- package/dist/transport/credential.js.map +1 -0
- package/dist/transport/http/handler.d.ts +16 -0
- package/dist/transport/http/handler.d.ts.map +1 -0
- package/dist/transport/http/handler.js +170 -0
- package/dist/transport/http/handler.js.map +1 -0
- package/dist/transport/http/index.d.ts +3 -0
- package/dist/transport/http/index.d.ts.map +1 -0
- package/dist/transport/http/index.js +3 -0
- package/dist/transport/http/index.js.map +1 -0
- package/dist/transport/http/render.d.ts +29 -0
- package/dist/transport/http/render.d.ts.map +1 -0
- package/dist/transport/http/render.js +277 -0
- package/dist/transport/http/render.js.map +1 -0
- package/dist/transport/index.d.ts +10 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +9 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/router.d.ts +5 -0
- package/dist/transport/router.d.ts.map +1 -0
- package/dist/transport/router.js +5 -0
- package/dist/transport/router.js.map +1 -0
- package/dist/transport/stream-error.d.ts +4 -0
- package/dist/transport/stream-error.d.ts.map +1 -0
- package/dist/transport/stream-error.js +14 -0
- package/dist/transport/stream-error.js.map +1 -0
- package/dist/transport/types.d.ts +29 -0
- package/dist/transport/types.d.ts.map +1 -0
- package/dist/transport/types.js +2 -0
- package/dist/transport/types.js.map +1 -0
- package/dist/transport/websocket/index.d.ts +3 -0
- package/dist/transport/websocket/index.d.ts.map +1 -0
- package/dist/transport/websocket/index.js +3 -0
- package/dist/transport/websocket/index.js.map +1 -0
- package/dist/transport/websocket/session.d.ts +19 -0
- package/dist/transport/websocket/session.d.ts.map +1 -0
- package/dist/transport/websocket/session.js +328 -0
- package/dist/transport/websocket/session.js.map +1 -0
- package/dist/transport/websocket/upgrade.d.ts +19 -0
- package/dist/transport/websocket/upgrade.d.ts.map +1 -0
- package/dist/transport/websocket/upgrade.js +46 -0
- package/dist/transport/websocket/upgrade.js.map +1 -0
- package/dist/types.d.ts +62 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +9 -11
- package/dist/app/create.d.ts +0 -48
- package/dist/app/create.d.ts.map +0 -1
- package/dist/app/create.js +0 -108
- package/dist/app/create.js.map +0 -1
- package/dist/app/index.d.ts +0 -4
- package/dist/app/index.d.ts.map +0 -1
- package/dist/app/index.js +0 -4
- package/dist/app/index.js.map +0 -1
- package/dist/app/multiplexed.d.ts +0 -53
- package/dist/app/multiplexed.d.ts.map +0 -1
- package/dist/app/multiplexed.js +0 -64
- package/dist/app/multiplexed.js.map +0 -1
- package/dist/app/ws-upgrade.d.ts +0 -34
- package/dist/app/ws-upgrade.d.ts.map +0 -1
- package/dist/app/ws-upgrade.js +0 -94
- package/dist/app/ws-upgrade.js.map +0 -1
- package/dist/capabilities/contract.d.ts +0 -8
- package/dist/capabilities/contract.d.ts.map +0 -1
- package/dist/capabilities/contract.js +0 -2
- package/dist/capabilities/contract.js.map +0 -1
- package/dist/capabilities/defer.d.ts +0 -4
- package/dist/capabilities/defer.d.ts.map +0 -1
- package/dist/capabilities/defer.js +0 -2
- package/dist/capabilities/defer.js.map +0 -1
- package/dist/capabilities/hono.d.ts +0 -8
- package/dist/capabilities/hono.d.ts.map +0 -1
- package/dist/capabilities/hono.js +0 -13
- package/dist/capabilities/hono.js.map +0 -1
- package/dist/capabilities/index.d.ts +0 -6
- package/dist/capabilities/index.d.ts.map +0 -1
- package/dist/capabilities/index.js +0 -3
- package/dist/capabilities/index.js.map +0 -1
- package/dist/capabilities/lifecycle.d.ts +0 -17
- package/dist/capabilities/lifecycle.d.ts.map +0 -1
- package/dist/capabilities/lifecycle.js +0 -37
- package/dist/capabilities/lifecycle.js.map +0 -1
- package/dist/capabilities/sleep.d.ts +0 -4
- package/dist/capabilities/sleep.d.ts.map +0 -1
- package/dist/capabilities/sleep.js +0 -8
- package/dist/capabilities/sleep.js.map +0 -1
- package/dist/cors.d.ts +0 -21
- package/dist/cors.d.ts.map +0 -1
- package/dist/cors.js +0 -17
- package/dist/cors.js.map +0 -1
- package/dist/envelope/batch.d.ts +0 -13
- package/dist/envelope/batch.d.ts.map +0 -1
- package/dist/envelope/batch.js +0 -96
- package/dist/envelope/batch.js.map +0 -1
- package/dist/envelope/codec.d.ts +0 -26
- package/dist/envelope/codec.d.ts.map +0 -1
- package/dist/envelope/codec.js +0 -52
- package/dist/envelope/codec.js.map +0 -1
- package/dist/envelope/credential.d.ts +0 -20
- package/dist/envelope/credential.d.ts.map +0 -1
- package/dist/envelope/credential.js +0 -32
- package/dist/envelope/credential.js.map +0 -1
- package/dist/envelope/http.d.ts +0 -31
- package/dist/envelope/http.d.ts.map +0 -1
- package/dist/envelope/http.js +0 -132
- package/dist/envelope/http.js.map +0 -1
- package/dist/envelope/sse.d.ts +0 -11
- package/dist/envelope/sse.d.ts.map +0 -1
- package/dist/envelope/sse.js +0 -73
- package/dist/envelope/sse.js.map +0 -1
- package/dist/envelope/ws.d.ts +0 -35
- package/dist/envelope/ws.d.ts.map +0 -1
- package/dist/envelope/ws.js +0 -142
- package/dist/envelope/ws.js.map +0 -1
- package/dist/invocation/dispatch.d.ts +0 -32
- package/dist/invocation/dispatch.d.ts.map +0 -1
- package/dist/invocation/dispatch.js +0 -68
- package/dist/invocation/dispatch.js.map +0 -1
- package/dist/invocation/dispatcher.d.ts +0 -19
- package/dist/invocation/dispatcher.d.ts.map +0 -1
- package/dist/invocation/dispatcher.js +0 -9
- package/dist/invocation/dispatcher.js.map +0 -1
- package/dist/jwks/discovery.d.ts +0 -40
- package/dist/jwks/discovery.d.ts.map +0 -1
- package/dist/jwks/discovery.js +0 -113
- package/dist/jwks/discovery.js.map +0 -1
- package/dist/jwks/index.d.ts +0 -3
- package/dist/jwks/index.d.ts.map +0 -1
- package/dist/jwks/index.js +0 -3
- package/dist/jwks/index.js.map +0 -1
- package/dist/jwks/issuers.d.ts +0 -47
- package/dist/jwks/issuers.d.ts.map +0 -1
- package/dist/jwks/issuers.js +0 -76
- package/dist/jwks/issuers.js.map +0 -1
- package/dist/jwks/keys.d.ts +0 -44
- package/dist/jwks/keys.d.ts.map +0 -1
- package/dist/jwks/keys.js +0 -56
- package/dist/jwks/keys.js.map +0 -1
- package/dist/plan/host-params.d.ts +0 -13
- package/dist/plan/host-params.d.ts.map +0 -1
- package/dist/plan/host-params.js +0 -23
- package/dist/plan/host-params.js.map +0 -1
- package/dist/plan/host.d.ts +0 -24
- package/dist/plan/host.d.ts.map +0 -1
- package/dist/plan/host.js +0 -24
- package/dist/plan/host.js.map +0 -1
- package/dist/plan/index.d.ts +0 -4
- package/dist/plan/index.d.ts.map +0 -1
- package/dist/plan/index.js +0 -4
- package/dist/plan/index.js.map +0 -1
- package/dist/plan/walk.d.ts +0 -51
- package/dist/plan/walk.d.ts.map +0 -1
- package/dist/plan/walk.js +0 -110
- package/dist/plan/walk.js.map +0 -1
- package/dist/render/binary.d.ts +0 -19
- package/dist/render/binary.d.ts.map +0 -1
- package/dist/render/binary.js +0 -33
- package/dist/render/binary.js.map +0 -1
- package/dist/render/body.d.ts +0 -10
- package/dist/render/body.d.ts.map +0 -1
- package/dist/render/body.js +0 -17
- package/dist/render/body.js.map +0 -1
- package/dist/render/index.d.ts +0 -3
- package/dist/render/index.d.ts.map +0 -1
- package/dist/render/index.js +0 -3
- package/dist/render/index.js.map +0 -1
- package/dist/routed/credential.d.ts +0 -10
- package/dist/routed/credential.d.ts.map +0 -1
- package/dist/routed/credential.js +0 -55
- package/dist/routed/credential.js.map +0 -1
- package/dist/routed/handler.d.ts +0 -38
- package/dist/routed/handler.d.ts.map +0 -1
- package/dist/routed/handler.js +0 -123
- package/dist/routed/handler.js.map +0 -1
- package/dist/routed/index.d.ts +0 -5
- package/dist/routed/index.d.ts.map +0 -1
- package/dist/routed/index.js +0 -5
- package/dist/routed/index.js.map +0 -1
- package/dist/routed/params.d.ts +0 -40
- package/dist/routed/params.d.ts.map +0 -1
- package/dist/routed/params.js +0 -146
- package/dist/routed/params.js.map +0 -1
- package/dist/routed/stream.d.ts +0 -21
- package/dist/routed/stream.d.ts.map +0 -1
- package/dist/routed/stream.js +0 -69
- package/dist/routed/stream.js.map +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Capture one receiver-bound method while preserving the capability's exact method type. */
|
|
2
|
+
export declare function captureMethod<Receiver extends object, Name extends keyof Receiver>(input: Receiver, name: Name, invalidMessage: string): Receiver[Name];
|
|
3
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../capture.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,QAAQ,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,QAAQ,EAChF,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,MAAM,GACrB,QAAQ,CAAC,IAAI,CAAC,CAKhB"}
|
package/dist/capture.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Capture one receiver-bound method while preserving the capability's exact method type. */
|
|
2
|
+
export function captureMethod(input, name, invalidMessage) {
|
|
3
|
+
if (input === null || typeof input !== 'object')
|
|
4
|
+
throw new TypeError(invalidMessage);
|
|
5
|
+
const method = input[name];
|
|
6
|
+
if (typeof method !== 'function')
|
|
7
|
+
throw new TypeError(invalidMessage);
|
|
8
|
+
return method.bind(input);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../capture.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAC3B,KAAe,EACf,IAAU,EACV,cAAsB;IAEtB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAA;IACpF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,OAAO,MAAM,KAAK,UAAU;QAAE,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAmB,CAAA;AAC7C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Request-aware CORS admission shared by every Server-owned HTTP surface. */
|
|
2
|
+
import type { CorsConfig } from './types.js';
|
|
3
|
+
export interface CorsRoute {
|
|
4
|
+
/** Methods that can actually select this route; OPTIONS is added by the policy. */
|
|
5
|
+
readonly methods: readonly string[];
|
|
6
|
+
/** Request headers owned by this route, in addition to the CORS safelist. */
|
|
7
|
+
readonly headers?: readonly string[];
|
|
8
|
+
/** A declared wildcard-header mapping may receive other caller-selected headers. */
|
|
9
|
+
readonly allowAnyHeaders?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface CorsPolicy {
|
|
12
|
+
readonly enabled: boolean;
|
|
13
|
+
/** Apply the configured browser-origin rule without treating WebSocket as CORS. */
|
|
14
|
+
allowsBrowserOrigin(request: Request): boolean;
|
|
15
|
+
/** Headers for one ordinary response. Exposed names are additive and canonicalized. */
|
|
16
|
+
response(request: Request, exposedHeaders?: readonly string[]): Readonly<Record<string, string>>;
|
|
17
|
+
/** Validate and answer one route-aware browser preflight without semantic dispatch. */
|
|
18
|
+
preflight(request: Request, route: CorsRoute | undefined): Response;
|
|
19
|
+
}
|
|
20
|
+
/** Admit one immutable policy. `false` delegates the complete concern to an outer application. */
|
|
21
|
+
export declare function prepareCors(input: CorsConfig | false | undefined): CorsPolicy;
|
|
22
|
+
//# sourceMappingURL=cors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../cors/cors.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5C,MAAM,WAAW,SAAS;IACxB,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,oFAAoF;IACpF,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,mFAAmF;IACnF,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAA;IAC9C,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAChG,uFAAuF;IACvF,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;CACpE;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CA+E7E"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/** Request-aware CORS admission shared by every Server-owned HTTP surface. */
|
|
2
|
+
const TOKEN = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u;
|
|
3
|
+
/** Admit one immutable policy. `false` delegates the complete concern to an outer application. */
|
|
4
|
+
export function prepareCors(input) {
|
|
5
|
+
if (input === false)
|
|
6
|
+
return DISABLED;
|
|
7
|
+
const config = input ?? { origin: '*' };
|
|
8
|
+
const origin = admitHeaderValue(config.origin, 'CORS origin');
|
|
9
|
+
const methods = config.methods === undefined ? undefined : methodSet(config.methods, 'CORS method');
|
|
10
|
+
const headers = config.headers === undefined ? undefined : tokenSet(config.headers, 'CORS header');
|
|
11
|
+
const exposedHeaders = tokenSet(config.exposedHeaders ?? [], 'CORS exposed header');
|
|
12
|
+
const credentials = config.credentials === true;
|
|
13
|
+
if (credentials && origin === '*') {
|
|
14
|
+
throw new TypeError('Credentialed CORS requires one explicit origin.');
|
|
15
|
+
}
|
|
16
|
+
const response = (request, dynamicExposed = []) => {
|
|
17
|
+
const requestOrigin = request.headers.get('origin');
|
|
18
|
+
if (requestOrigin !== null && origin !== '*' && requestOrigin !== origin)
|
|
19
|
+
return Object.freeze({});
|
|
20
|
+
const output = {
|
|
21
|
+
'access-control-allow-origin': origin,
|
|
22
|
+
};
|
|
23
|
+
if (credentials)
|
|
24
|
+
output['access-control-allow-credentials'] = 'true';
|
|
25
|
+
const exposed = new Set(exposedHeaders);
|
|
26
|
+
for (const name of dynamicExposed)
|
|
27
|
+
exposed.add(admitToken(name, 'CORS exposed header').toLowerCase());
|
|
28
|
+
if (exposed.size > 0)
|
|
29
|
+
output['access-control-expose-headers'] = [...exposed].join(', ');
|
|
30
|
+
if (origin !== '*')
|
|
31
|
+
output.vary = 'origin';
|
|
32
|
+
return Object.freeze(output);
|
|
33
|
+
};
|
|
34
|
+
return Object.freeze({
|
|
35
|
+
enabled: true,
|
|
36
|
+
allowsBrowserOrigin(request) {
|
|
37
|
+
const requestOrigin = request.headers.get('origin');
|
|
38
|
+
return requestOrigin === null || origin === '*' || requestOrigin === origin;
|
|
39
|
+
},
|
|
40
|
+
response,
|
|
41
|
+
preflight(request, route) {
|
|
42
|
+
const requestOrigin = request.headers.get('origin');
|
|
43
|
+
const requestedMethod = request.headers.get('access-control-request-method')?.toUpperCase();
|
|
44
|
+
if (requestOrigin === null || requestedMethod === undefined) {
|
|
45
|
+
return new Response(null, { status: 400, headers: response(request) });
|
|
46
|
+
}
|
|
47
|
+
if (origin !== '*' && requestOrigin !== origin)
|
|
48
|
+
return new Response(null, { status: 403 });
|
|
49
|
+
if (route === undefined) {
|
|
50
|
+
return new Response(null, { status: 404, headers: response(request) });
|
|
51
|
+
}
|
|
52
|
+
const routeMethods = methodSet(route.methods, 'CORS route method');
|
|
53
|
+
const methodAllowed = routeMethods.has(requestedMethod) && (methods?.has(requestedMethod) ?? true);
|
|
54
|
+
if (!methodAllowed) {
|
|
55
|
+
return new Response(null, { status: 405, headers: response(request) });
|
|
56
|
+
}
|
|
57
|
+
const requestedHeaders = parseRequestedHeaders(request.headers.get('access-control-request-headers'));
|
|
58
|
+
const routeHeaders = tokenSet(route.headers ?? [], 'CORS route header');
|
|
59
|
+
const headerAllowed = (name) => (route.allowAnyHeaders === true || routeHeaders.has(name)) && (headers?.has(name) ?? true);
|
|
60
|
+
if (requestedHeaders.some((name) => !headerAllowed(name))) {
|
|
61
|
+
return new Response(null, { status: 403, headers: response(request) });
|
|
62
|
+
}
|
|
63
|
+
const allowedMethods = [...routeMethods].filter((method) => methods?.has(method) ?? true);
|
|
64
|
+
const allowedHeaders = requestedHeaders.length > 0 ? requestedHeaders : [...routeHeaders];
|
|
65
|
+
const output = new Headers(response(request));
|
|
66
|
+
output.set('access-control-allow-methods', [...allowedMethods, 'OPTIONS'].join(', '));
|
|
67
|
+
if (allowedHeaders.length > 0) {
|
|
68
|
+
output.set('access-control-allow-headers', allowedHeaders.join(', '));
|
|
69
|
+
}
|
|
70
|
+
appendVary(output, 'access-control-request-method');
|
|
71
|
+
appendVary(output, 'access-control-request-headers');
|
|
72
|
+
return new Response(null, { status: 204, headers: output });
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const DISABLED = Object.freeze({
|
|
77
|
+
enabled: false,
|
|
78
|
+
allowsBrowserOrigin: () => true,
|
|
79
|
+
response: () => Object.freeze({}),
|
|
80
|
+
preflight: () => new Response(null, { status: 405 }),
|
|
81
|
+
});
|
|
82
|
+
function parseRequestedHeaders(input) {
|
|
83
|
+
if (input === null || input.trim() === '')
|
|
84
|
+
return [];
|
|
85
|
+
const output = [];
|
|
86
|
+
const seen = new Set();
|
|
87
|
+
for (const raw of input.split(',')) {
|
|
88
|
+
const name = admitToken(raw.trim(), 'CORS requested header').toLowerCase();
|
|
89
|
+
if (!seen.has(name)) {
|
|
90
|
+
seen.add(name);
|
|
91
|
+
output.push(name);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return output;
|
|
95
|
+
}
|
|
96
|
+
function tokenSet(input, label) {
|
|
97
|
+
const output = new Set();
|
|
98
|
+
for (const value of input)
|
|
99
|
+
output.add(admitToken(value, label).toLowerCase());
|
|
100
|
+
return output;
|
|
101
|
+
}
|
|
102
|
+
function methodSet(input, label) {
|
|
103
|
+
const output = new Set();
|
|
104
|
+
for (const value of input)
|
|
105
|
+
output.add(admitToken(value, label).toUpperCase());
|
|
106
|
+
return output;
|
|
107
|
+
}
|
|
108
|
+
function admitHeaderValue(input, label) {
|
|
109
|
+
if (typeof input !== 'string' || input.length === 0 || hasControlCharacter(input)) {
|
|
110
|
+
throw new TypeError(`${label} must be a non-empty control-free string.`);
|
|
111
|
+
}
|
|
112
|
+
return input;
|
|
113
|
+
}
|
|
114
|
+
function hasControlCharacter(input) {
|
|
115
|
+
for (let index = 0; index < input.length; index += 1) {
|
|
116
|
+
const code = input.charCodeAt(index);
|
|
117
|
+
if (code <= 0x1f || code === 0x7f)
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
function admitToken(input, label) {
|
|
123
|
+
if (typeof input !== 'string' || !TOKEN.test(input))
|
|
124
|
+
throw new TypeError(`${label} must be an HTTP token.`);
|
|
125
|
+
return input;
|
|
126
|
+
}
|
|
127
|
+
function appendVary(headers, value) {
|
|
128
|
+
const current = headers.get('vary');
|
|
129
|
+
const names = new Set(current
|
|
130
|
+
?.split(',')
|
|
131
|
+
.map((name) => name.trim().toLowerCase())
|
|
132
|
+
.filter(Boolean) ?? []);
|
|
133
|
+
names.add(value);
|
|
134
|
+
headers.set('vary', [...names].join(', '));
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=cors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../../cors/cors.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAI9E,MAAM,KAAK,GAAG,gCAAgC,CAAA;AAqB9C,kGAAkG;AAClG,MAAM,UAAU,WAAW,CAAC,KAAqC;IAC/D,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAA;IACpC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;IACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC7D,MAAM,OAAO,GACX,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IACrF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAClG,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAA;IACnF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,IAAI,CAAA;IAC/C,IAAI,WAAW,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,QAAQ,GAAG,CACf,OAAgB,EAChB,cAAc,GAAsB,EAAE,EACJ,EAAE;QACpC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACnD,IAAI,aAAa,KAAK,IAAI,IAAI,MAAM,KAAK,GAAG,IAAI,aAAa,KAAK,MAAM;YACtE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1B,MAAM,MAAM,GAA2B;YACrC,6BAA6B,EAAE,MAAM;SACtC,CAAA;QACD,IAAI,WAAW;YAAE,MAAM,CAAC,kCAAkC,CAAC,GAAG,MAAM,CAAA;QACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAA;QACvC,KAAK,MAAM,IAAI,IAAI,cAAc;YAC/B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACpE,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;YAAE,MAAM,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvF,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,IAAI;QACb,mBAAmB,CAAC,OAAgB;YAClC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACnD,OAAO,aAAa,KAAK,IAAI,IAAI,MAAM,KAAK,GAAG,IAAI,aAAa,KAAK,MAAM,CAAA;QAC7E,CAAC;QACD,QAAQ;QACR,SAAS,CAAC,OAAgB,EAAE,KAA4B;YACtD,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACnD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,WAAW,EAAE,CAAA;YAC3F,IAAI,aAAa,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC5D,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxE,CAAC;YACD,IAAI,MAAM,KAAK,GAAG,IAAI,aAAa,KAAK,MAAM;gBAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxE,CAAC;YAED,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;YAClE,MAAM,aAAa,GACjB,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAA;YAC9E,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxE,CAAC;YAED,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CACtD,CAAA;YACD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAA;YACvE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;YAC5F,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC1D,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxE,CAAC;YAED,MAAM,cAAc,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAA;YACzF,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAA;YACzF,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7C,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,GAAG,cAAc,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACrF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACvE,CAAC;YACD,UAAU,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;YACnD,UAAU,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;YACpD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,QAAQ,GAAe,MAAM,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,KAAK;IACd,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI;IAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;CACrD,CAAC,CAAA;AAEF,SAAS,qBAAqB,CAAC,KAAoB;IACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IACpD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAA;QAC1E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAwB,EAAE,KAAa;IACvD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,KAAK,MAAM,KAAK,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB,EAAE,KAAa;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,KAAK,MAAM,KAAK,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,2CAA2C,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;IAChD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,yBAAyB,CAAC,CAAA;IACxD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB,EAAE,KAAa;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,OAAO;QACL,EAAE,KAAK,CAAC,GAAG,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SACxC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CACzB,CAAA;IACD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../cors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AACxE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../cors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmC,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface CorsConfig {
|
|
2
|
+
readonly origin: string;
|
|
3
|
+
/** Optional global preflight ceiling; actual responses are narrowed to the matched route. */
|
|
4
|
+
readonly methods?: readonly string[];
|
|
5
|
+
/** Optional global preflight ceiling; route-owned request headers are still matched exactly. */
|
|
6
|
+
readonly headers?: readonly string[];
|
|
7
|
+
/** Additional response headers that browser JavaScript may observe. */
|
|
8
|
+
readonly exposedHeaders?: readonly string[];
|
|
9
|
+
/** Emit Access-Control-Allow-Credentials; requires one explicit origin rather than `*`. */
|
|
10
|
+
readonly credentials?: boolean;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../cors/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,uEAAuE;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../cors/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Expected loss of the external capability used to create an installation. */
|
|
2
|
+
export declare class InstallationUnavailableError extends Error {
|
|
3
|
+
readonly name = "InstallationUnavailableError";
|
|
4
|
+
constructor(message?: string, options?: ErrorOptions);
|
|
5
|
+
}
|
|
6
|
+
/** Expected loss of the external capability used to load public issuer keys. */
|
|
7
|
+
export declare class IssuerKeysUnavailableError extends Error {
|
|
8
|
+
readonly name = "IssuerKeysUnavailableError";
|
|
9
|
+
constructor(message?: string, options?: ErrorOptions);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=availability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../errors/availability.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,SAAkB,IAAI,kCAAiC;IAEvD,YAAY,OAAO,SAAiC,EAAE,OAAO,CAAC,EAAE,YAAY,EAE3E;CACF;AAED,gFAAgF;AAChF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAkB,IAAI,gCAA+B;IAErD,YAAY,OAAO,SAAiC,EAAE,OAAO,CAAC,EAAE,YAAY,EAE3E;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Expected loss of the external capability used to create an installation. */
|
|
2
|
+
export class InstallationUnavailableError extends Error {
|
|
3
|
+
name = 'InstallationUnavailableError';
|
|
4
|
+
constructor(message = 'Installation is unavailable.', options) {
|
|
5
|
+
super(message, options);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/** Expected loss of the external capability used to load public issuer keys. */
|
|
9
|
+
export class IssuerKeysUnavailableError extends Error {
|
|
10
|
+
name = 'IssuerKeysUnavailableError';
|
|
11
|
+
constructor(message = 'Issuer keys are unavailable.', options) {
|
|
12
|
+
super(message, options);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=availability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"availability.js","sourceRoot":"","sources":["../../errors/availability.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnC,IAAI,GAAG,8BAA8B,CAAA;IAEvD,YAAY,OAAO,GAAG,8BAA8B,EAAE,OAAsB;QAC1E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzB,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACjC,IAAI,GAAG,4BAA4B,CAAA;IAErD,YAAY,OAAO,GAAG,8BAA8B,EAAE,OAAsB;QAC1E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../errors/classify.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAKpD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,YAAY,CAmBjE"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { PathError } from '@astrale-os/kernel-core/path';
|
|
2
|
+
import { AuthenticationError } from '@astrale-os/kernel-ports/authentication';
|
|
3
|
+
import { AuthorizationError } from '@astrale-os/kernel-ports/authorization';
|
|
4
|
+
import { EventError } from '@astrale-os/kernel-ports/events';
|
|
5
|
+
import { FunctionError } from '@astrale-os/kernel-ports/functions';
|
|
6
|
+
import { NetworkError } from '@astrale-os/kernel-ports/network';
|
|
7
|
+
import { ObservabilityError } from '@astrale-os/kernel-ports/observability';
|
|
8
|
+
import { SchemaError } from '@astrale-os/kernel-ports/schema';
|
|
9
|
+
import { errors } from '@astrale-os/kernel-protocol';
|
|
10
|
+
import { RequestBodyTooLargeError } from './request-body.js';
|
|
11
|
+
import { ResponseBodyTooLargeError } from './response-body.js';
|
|
12
|
+
/** Convert only errors owned by an admitted protocol boundary into safe public data. */
|
|
13
|
+
export function classifyError(input) {
|
|
14
|
+
if (input instanceof errors.ProtocolError)
|
|
15
|
+
return input.payload;
|
|
16
|
+
if (input instanceof RequestBodyTooLargeError) {
|
|
17
|
+
return publicError('LIMIT_EXCEEDED', 'Request body exceeds the configured limit.');
|
|
18
|
+
}
|
|
19
|
+
if (input instanceof ResponseBodyTooLargeError) {
|
|
20
|
+
return publicError('LIMIT_EXCEEDED', 'Response body exceeds the configured limit.');
|
|
21
|
+
}
|
|
22
|
+
if (input instanceof PathError) {
|
|
23
|
+
return publicError('VALIDATION_ERROR', 'Target Path is invalid.');
|
|
24
|
+
}
|
|
25
|
+
if (input instanceof FunctionError)
|
|
26
|
+
return classifyFunction(input);
|
|
27
|
+
if (input instanceof AuthenticationError)
|
|
28
|
+
return classifyAuthentication(input);
|
|
29
|
+
if (input instanceof AuthorizationError)
|
|
30
|
+
return classifyAuthorization(input);
|
|
31
|
+
if (input instanceof SchemaError)
|
|
32
|
+
return classifySchema(input);
|
|
33
|
+
if (input instanceof EventError)
|
|
34
|
+
return classifyEvent(input);
|
|
35
|
+
if (input instanceof ObservabilityError)
|
|
36
|
+
return classifyObservability(input);
|
|
37
|
+
if (input instanceof NetworkError)
|
|
38
|
+
return classifyNetwork(input);
|
|
39
|
+
return internal(input);
|
|
40
|
+
}
|
|
41
|
+
function classifyFunction(input) {
|
|
42
|
+
const reason = errors.reasonOf(input.reason);
|
|
43
|
+
switch (input.code) {
|
|
44
|
+
case 'FUNCTION_INVOCATION_INVALID':
|
|
45
|
+
return publicError('VALIDATION_ERROR', 'Function invocation is invalid.', input.code);
|
|
46
|
+
case 'FUNCTION_INPUT_INVALID':
|
|
47
|
+
return publicError('VALIDATION_ERROR', reasonMessage(reason, 'Function input is invalid.'), reason ?? input.code);
|
|
48
|
+
case 'FUNCTION_CONFLICT':
|
|
49
|
+
return publicError('CONFLICT', reasonMessage(reason, 'Function execution conflicts with current state.'), reason ?? input.code);
|
|
50
|
+
case 'FUNCTION_UNAVAILABLE':
|
|
51
|
+
return publicError('METHOD_NOT_FOUND', 'Callable was not found.');
|
|
52
|
+
case 'FUNCTION_DENIED':
|
|
53
|
+
return publicError('ACCESS_DENIED', 'Access denied.', reason);
|
|
54
|
+
case 'FUNCTION_MISS':
|
|
55
|
+
return publicError('METHOD_NOT_FOUND', 'Callable is not served by this application.', input.code);
|
|
56
|
+
case 'FUNCTION_BINDING_UNAVAILABLE':
|
|
57
|
+
return publicError('BACKEND_UNAVAILABLE', 'Callable execution is unavailable.');
|
|
58
|
+
case 'FUNCTION_EXECUTION_LIMIT':
|
|
59
|
+
return publicError('LIMIT_EXCEEDED', 'Function execution limit exceeded.', reason ?? input.code);
|
|
60
|
+
case 'FUNCTION_CANCELLED':
|
|
61
|
+
return publicError('CANCELLED', 'Function invocation was cancelled.', reason ?? input.code);
|
|
62
|
+
case 'FUNCTION_DEADLINE_EXCEEDED':
|
|
63
|
+
return publicError('DEADLINE_EXCEEDED', 'Function invocation deadline exceeded.', reason ?? input.code);
|
|
64
|
+
case 'FUNCTION_OUTCOME_UNKNOWN':
|
|
65
|
+
return publicError('OUTCOME_UNKNOWN', 'Function outcome is unknown; do not retry automatically.', reason ?? input.code);
|
|
66
|
+
case 'FUNCTION_OUTPUT_INVALID':
|
|
67
|
+
case 'FUNCTION_BINDING_INVALID':
|
|
68
|
+
case 'FUNCTION_REDIRECT_INVALID':
|
|
69
|
+
case 'FUNCTION_RESULT_MISMATCH':
|
|
70
|
+
case 'RESULT_CONTRACT_VIOLATION':
|
|
71
|
+
return internal(input);
|
|
72
|
+
case 'FUNCTION_EXECUTION_FAILED':
|
|
73
|
+
return reason === undefined
|
|
74
|
+
? internal(input)
|
|
75
|
+
: publicError('BACKEND_UNAVAILABLE', reasonMessage(reason, 'Function execution is unavailable.'), reason);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function classifyAuthentication(input) {
|
|
79
|
+
switch (input.code) {
|
|
80
|
+
case 'NO_AUTH':
|
|
81
|
+
return publicError('AUTH_MISSING', 'Authentication is required.');
|
|
82
|
+
case 'INVALID_CREDENTIAL':
|
|
83
|
+
case 'INVALID_GRANT':
|
|
84
|
+
case 'IDENTITY_NOT_FOUND':
|
|
85
|
+
case 'ISSUER_INVALID':
|
|
86
|
+
case 'ISSUER_NOT_FOUND':
|
|
87
|
+
return publicError('AUTH_INVALID', 'Credential is invalid.');
|
|
88
|
+
case 'GRANT_BROADENING':
|
|
89
|
+
case 'PROVISION_DENIED':
|
|
90
|
+
return publicError('ACCESS_DENIED', 'Access denied.');
|
|
91
|
+
case 'PROVISION_INVALID':
|
|
92
|
+
return publicError('VALIDATION_ERROR', 'Identity provision request is invalid.', input.code);
|
|
93
|
+
case 'IDENTITY_CONFLICT':
|
|
94
|
+
case 'PROVISION_CONFLICT':
|
|
95
|
+
case 'CONFIGURATION_REVISION_CONFLICT':
|
|
96
|
+
return publicError('CONFLICT', 'Authentication state changed.', input.code);
|
|
97
|
+
case 'PROVISION_OUTCOME_UNKNOWN':
|
|
98
|
+
return publicError('OUTCOME_UNKNOWN', 'Identity provision outcome is unknown; do not retry automatically.', input.code);
|
|
99
|
+
case 'MINT_FAILED':
|
|
100
|
+
case 'AUTHENTICATION_BACKEND_FAILED':
|
|
101
|
+
return publicError('BACKEND_UNAVAILABLE', 'Authentication is unavailable.');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function classifyAuthorization(input) {
|
|
105
|
+
switch (input.code) {
|
|
106
|
+
case 'POLICY_NOT_FOUND':
|
|
107
|
+
case 'CAPABILITY_TARGET_INVALID':
|
|
108
|
+
return publicError('NOT_FOUND', 'Requested resource was not found.');
|
|
109
|
+
case 'POLICY_COMPILATION_FAILED':
|
|
110
|
+
return internal(input);
|
|
111
|
+
case 'POLICY_SNAPSHOT_MISMATCH':
|
|
112
|
+
return publicError('CONFLICT', 'Authorization basis changed.', input.code);
|
|
113
|
+
case 'POLICY_PLAN_TOO_COMPLEX':
|
|
114
|
+
return publicError('LIMIT_EXCEEDED', 'Authorization plan limit exceeded.', input.code);
|
|
115
|
+
case 'POLICY_EVALUATION_TIMEOUT':
|
|
116
|
+
return publicError('DEADLINE_EXCEEDED', 'Authorization evaluation deadline exceeded.', input.code);
|
|
117
|
+
case 'POLICY_BACKEND_ERROR':
|
|
118
|
+
return publicError('BACKEND_UNAVAILABLE', 'Authorization is unavailable.');
|
|
119
|
+
case 'AUTHORITY_DENIED':
|
|
120
|
+
return publicError('ACCESS_DENIED', 'Access denied.');
|
|
121
|
+
case 'RESULT_CONTRACT_VIOLATION':
|
|
122
|
+
return internal(input);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function classifySchema(input) {
|
|
126
|
+
if (input.outcome === 'unknown') {
|
|
127
|
+
return publicError('OUTCOME_UNKNOWN', 'Schema activation outcome is unknown; do not retry automatically.', input.code);
|
|
128
|
+
}
|
|
129
|
+
switch (input.code) {
|
|
130
|
+
case 'SCHEMA_NOT_FOUND':
|
|
131
|
+
return publicError('NOT_FOUND', 'Domain was not found.', input.code);
|
|
132
|
+
case 'SCHEMA_ARTIFACT_INVALID':
|
|
133
|
+
case 'SCHEMA_DEPENDENCY_MISSING':
|
|
134
|
+
return publicError('VALIDATION_ERROR', 'Domain schema is invalid.', input.code);
|
|
135
|
+
case 'SCHEMA_REVISION_CONFLICT':
|
|
136
|
+
return publicError('CONFLICT', 'Domain revision conflicts with current state.', input.code);
|
|
137
|
+
case 'SCHEMA_DEPENDENTS_PRESENT':
|
|
138
|
+
return publicError('CONFLICT', 'Domain has active dependents.', input.code);
|
|
139
|
+
case 'DATA_MIGRATION_REQUIRED':
|
|
140
|
+
return publicError('CONFLICT', 'Schema change requires an explicit data migration.', input.code);
|
|
141
|
+
case 'BACKEND_FEATURE_UNSUPPORTED':
|
|
142
|
+
case 'SCHEMA_UPGRADE_INCOMPATIBLE':
|
|
143
|
+
return publicError('UNSUPPORTED', 'Schema operation is not supported.', input.code);
|
|
144
|
+
case 'SCHEMA_BACKEND_FAILED':
|
|
145
|
+
case 'SCHEMA_ACTIVATION_FAILED':
|
|
146
|
+
return publicError('BACKEND_UNAVAILABLE', 'Schema backend is unavailable.', input.code);
|
|
147
|
+
case 'SCHEMA_INTEGRITY_ERROR':
|
|
148
|
+
return internal(input);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function classifyEvent(input) {
|
|
152
|
+
switch (input.code) {
|
|
153
|
+
case 'EVENT_INVALID':
|
|
154
|
+
return publicError('VALIDATION_ERROR', 'Event request is invalid.', input.code);
|
|
155
|
+
case 'EVENT_RETENTION_GAP':
|
|
156
|
+
return publicError('CONFLICT', 'Event retention frontier is no longer available.', input.code);
|
|
157
|
+
case 'SUBSCRIPTION_UNAVAILABLE':
|
|
158
|
+
return publicError('CONFLICT', 'Event subscription is unavailable.', input.code);
|
|
159
|
+
case 'EVENT_BACKEND_FAILED':
|
|
160
|
+
return publicError('BACKEND_UNAVAILABLE', 'Event transport is unavailable.');
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function classifyObservability(input) {
|
|
164
|
+
switch (input.code) {
|
|
165
|
+
case 'OBSERVABILITY_INVALID':
|
|
166
|
+
return publicError('VALIDATION_ERROR', 'Journal request is invalid.', input.code);
|
|
167
|
+
case 'OBSERVABILITY_RETENTION_GAP':
|
|
168
|
+
return publicError('CONFLICT', 'Journal retention frontier is no longer available.', input.code);
|
|
169
|
+
case 'OBSERVABILITY_DURABILITY_FAILED':
|
|
170
|
+
case 'OBSERVABILITY_BACKEND_FAILED':
|
|
171
|
+
return publicError('BACKEND_UNAVAILABLE', 'Journal is unavailable.');
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function classifyNetwork(input) {
|
|
175
|
+
switch (input.code) {
|
|
176
|
+
case 'NETWORK_INVALID':
|
|
177
|
+
case 'INVALID_URL':
|
|
178
|
+
return publicError('VALIDATION_ERROR', 'Network request is invalid.', input.code);
|
|
179
|
+
case 'UNSUPPORTED_PROTOCOL':
|
|
180
|
+
case 'UNSUPPORTED_FEATURE':
|
|
181
|
+
return publicError('UNSUPPORTED', 'Network operation is not supported.', input.code);
|
|
182
|
+
case 'HOST_POLICY_DENIED':
|
|
183
|
+
return publicError('ACCESS_DENIED', 'Network target is denied.');
|
|
184
|
+
case 'TIMEOUT':
|
|
185
|
+
return publicError('DEADLINE_EXCEEDED', 'Network operation deadline exceeded.', input.code);
|
|
186
|
+
case 'ABORTED':
|
|
187
|
+
return publicError('CANCELLED', 'Network operation was cancelled.', input.code);
|
|
188
|
+
case 'TOO_MANY_REDIRECTS':
|
|
189
|
+
case 'REQUEST_TOO_LARGE':
|
|
190
|
+
case 'RESPONSE_BODY_TOO_LARGE':
|
|
191
|
+
return publicError('LIMIT_EXCEEDED', 'Network operation limit exceeded.', input.code);
|
|
192
|
+
case 'NETWORK_BACKEND_CONTRACT':
|
|
193
|
+
return internal(input);
|
|
194
|
+
case 'DNS_ERROR':
|
|
195
|
+
case 'CONNECT_ERROR':
|
|
196
|
+
case 'TLS_ERROR':
|
|
197
|
+
case 'NETWORK_ERROR':
|
|
198
|
+
return publicError('BACKEND_UNAVAILABLE', 'Network transport is unavailable.');
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
function publicError(name, message, reason) {
|
|
202
|
+
const candidate = typeof reason === 'string'
|
|
203
|
+
? Object.freeze({ code: reason, details: Object.freeze({}) })
|
|
204
|
+
: reason;
|
|
205
|
+
const admitted = errors.reasonOf(candidate);
|
|
206
|
+
return {
|
|
207
|
+
code: errors.CODES[name],
|
|
208
|
+
message,
|
|
209
|
+
...(admitted === undefined ? {} : { data: admitted }),
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
function reasonMessage(reason, fallback) {
|
|
213
|
+
switch (reason?.code) {
|
|
214
|
+
case 'SCHEMA_NOT_FOUND':
|
|
215
|
+
return 'Domain was not found.';
|
|
216
|
+
case 'SCHEMA_ARTIFACT_INVALID':
|
|
217
|
+
case 'SCHEMA_DEPENDENCY_MISSING':
|
|
218
|
+
return 'Domain schema is invalid.';
|
|
219
|
+
case 'SCHEMA_REVISION_CONFLICT':
|
|
220
|
+
return 'Domain revision conflicts with current state.';
|
|
221
|
+
case 'SCHEMA_DEPENDENTS_PRESENT':
|
|
222
|
+
return 'Domain has active dependents.';
|
|
223
|
+
case 'DATA_MIGRATION_REQUIRED':
|
|
224
|
+
return 'Schema change requires an explicit data migration.';
|
|
225
|
+
case 'BACKEND_FEATURE_UNSUPPORTED':
|
|
226
|
+
case 'SCHEMA_UPGRADE_INCOMPATIBLE':
|
|
227
|
+
return 'Schema operation is not supported.';
|
|
228
|
+
case 'SCHEMA_BACKEND_FAILED':
|
|
229
|
+
case 'SCHEMA_ACTIVATION_FAILED':
|
|
230
|
+
return 'Schema backend is unavailable.';
|
|
231
|
+
default:
|
|
232
|
+
return fallback;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
function internal(input) {
|
|
236
|
+
reportInternal(input);
|
|
237
|
+
return publicError('INTERNAL_ERROR', 'Internal application error.');
|
|
238
|
+
}
|
|
239
|
+
function stableCode(input) {
|
|
240
|
+
if (input !== null && typeof input === 'object' && 'code' in input) {
|
|
241
|
+
return typeof input.code === 'string' ? input.code : undefined;
|
|
242
|
+
}
|
|
243
|
+
return undefined;
|
|
244
|
+
}
|
|
245
|
+
function reportInternal(input) {
|
|
246
|
+
const error = input instanceof Error ? input : undefined;
|
|
247
|
+
// Never print the message, cause, input, credentials, query, or backend command.
|
|
248
|
+
// oxlint-disable-next-line no-console
|
|
249
|
+
console.error('[server] Internal dispatch failure', {
|
|
250
|
+
type: error?.constructor.name ?? typeof input,
|
|
251
|
+
code: stableCode(input),
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=classify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../errors/classify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { InstallationUnavailableError, IssuerKeysUnavailableError } from './availability.js';
|
|
2
|
+
export { classifyError } from './classify.js';
|
|
3
|
+
export { RequestBodyInvalidError, RequestBodyTooLargeError } from './request-body.js';
|
|
4
|
+
export { ResponseBodyTooLargeError } from './response-body.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { InstallationUnavailableError, IssuerKeysUnavailableError } from './availability.js';
|
|
2
|
+
export { classifyError } from './classify.js';
|
|
3
|
+
export { RequestBodyInvalidError, RequestBodyTooLargeError } from './request-body.js';
|
|
4
|
+
export { ResponseBodyTooLargeError } from './response-body.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class RequestBodyTooLargeError extends Error {
|
|
2
|
+
readonly maximumBytes: number;
|
|
3
|
+
constructor(maximumBytes: number);
|
|
4
|
+
}
|
|
5
|
+
export declare class RequestBodyInvalidError extends Error {
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=request-body.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-body.d.ts","sourceRoot":"","sources":["../../errors/request-body.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAyB,SAAQ,KAAK;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM;IAAzC,YAAqB,YAAY,EAAE,MAAM,EAGxC;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class RequestBodyTooLargeError extends Error {
|
|
2
|
+
maximumBytes;
|
|
3
|
+
constructor(maximumBytes) {
|
|
4
|
+
super(`Request body exceeds ${maximumBytes} bytes.`);
|
|
5
|
+
this.maximumBytes = maximumBytes;
|
|
6
|
+
this.name = 'RequestBodyTooLargeError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class RequestBodyInvalidError extends Error {
|
|
10
|
+
constructor(message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = 'RequestBodyInvalidError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=request-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-body.js","sourceRoot":"","sources":["../../errors/request-body.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC5B,YAAY;IAAjC,YAAqB,YAAoB;QACvC,KAAK,CAAC,wBAAwB,YAAY,SAAS,CAAC,CAAA;4BADjC,YAAY;QAE/B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-body.d.ts","sourceRoot":"","sources":["../../errors/response-body.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAA0B,SAAQ,KAAK;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM;IAAzC,YAAqB,YAAY,EAAE,MAAM,EAGxC;CACF"}
|