@astrale-os/kernel-protocol 0.5.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/dist/artifact/index.d.ts +2 -0
- package/dist/artifact/index.d.ts.map +1 -0
- package/dist/artifact/index.js +2 -0
- package/dist/artifact/index.js.map +1 -0
- package/dist/artifact/ref.d.ts +11 -0
- package/dist/artifact/ref.d.ts.map +1 -0
- package/dist/artifact/ref.js +71 -0
- package/dist/artifact/ref.js.map +1 -0
- package/dist/codecs/codec.d.ts +14 -0
- package/dist/codecs/codec.d.ts.map +1 -0
- package/dist/codecs/codec.js +7 -0
- package/dist/codecs/codec.js.map +1 -0
- package/dist/codecs/index.d.ts +5 -0
- package/dist/codecs/index.d.ts.map +1 -0
- package/dist/codecs/index.js +5 -0
- package/dist/codecs/index.js.map +1 -0
- package/dist/codecs/json.d.ts +3 -0
- package/dist/codecs/json.d.ts.map +1 -0
- package/dist/codecs/json.js +21 -0
- package/dist/codecs/json.js.map +1 -0
- package/dist/codecs/media-types.d.ts +3 -0
- package/dist/codecs/media-types.d.ts.map +1 -0
- package/dist/codecs/media-types.js +3 -0
- package/dist/codecs/media-types.js.map +1 -0
- package/dist/codecs/msgpack.d.ts +5 -0
- package/dist/codecs/msgpack.d.ts.map +1 -0
- package/dist/codecs/msgpack.js +51 -0
- package/dist/codecs/msgpack.js.map +1 -0
- package/dist/errors/codes.d.ts +24 -0
- package/dist/errors/codes.d.ts.map +1 -0
- package/dist/errors/codes.js +23 -0
- package/dist/errors/codes.js.map +1 -0
- package/dist/errors/http-status.d.ts +3 -0
- package/dist/errors/http-status.d.ts.map +1 -0
- package/dist/errors/http-status.js +26 -0
- package/dist/errors/http-status.js.map +1 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +6 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/payload.d.ts +9 -0
- package/dist/errors/payload.d.ts.map +1 -0
- package/dist/errors/payload.js +37 -0
- package/dist/errors/payload.js.map +1 -0
- package/dist/errors/protocol-error.d.ts +7 -0
- package/dist/errors/protocol-error.d.ts.map +1 -0
- package/dist/errors/protocol-error.js +10 -0
- package/dist/errors/protocol-error.js.map +1 -0
- package/dist/errors/reason.d.ts +8 -0
- package/dist/errors/reason.d.ts.map +1 -0
- package/dist/errors/reason.js +44 -0
- package/dist/errors/reason.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/invocation/admission.d.ts +22 -0
- package/dist/invocation/admission.d.ts.map +1 -0
- package/dist/invocation/admission.js +169 -0
- package/dist/invocation/admission.js.map +1 -0
- package/dist/invocation/binary.d.ts +10 -0
- package/dist/invocation/binary.d.ts.map +1 -0
- package/dist/invocation/binary.js +24 -0
- package/dist/invocation/binary.js.map +1 -0
- package/dist/invocation/binding-codecs.d.ts +9 -0
- package/dist/invocation/binding-codecs.d.ts.map +1 -0
- package/dist/invocation/binding-codecs.js +28 -0
- package/dist/invocation/binding-codecs.js.map +1 -0
- package/dist/invocation/cancellation.d.ts +9 -0
- package/dist/invocation/cancellation.d.ts.map +1 -0
- package/dist/invocation/cancellation.js +17 -0
- package/dist/invocation/cancellation.js.map +1 -0
- package/dist/invocation/correlation.d.ts +3 -0
- package/dist/invocation/correlation.d.ts.map +1 -0
- package/dist/invocation/correlation.js +8 -0
- package/dist/invocation/correlation.js.map +1 -0
- package/dist/invocation/delegate.d.ts +25 -0
- package/dist/invocation/delegate.d.ts.map +1 -0
- package/dist/invocation/delegate.js +44 -0
- package/dist/invocation/delegate.js.map +1 -0
- package/dist/invocation/http/binary.d.ts +6 -0
- package/dist/invocation/http/binary.d.ts.map +1 -0
- package/dist/invocation/http/binary.js +89 -0
- package/dist/invocation/http/binary.js.map +1 -0
- package/dist/invocation/http/index.d.ts +5 -0
- package/dist/invocation/http/index.d.ts.map +1 -0
- package/dist/invocation/http/index.js +5 -0
- package/dist/invocation/http/index.js.map +1 -0
- package/dist/invocation/http/negotiation.d.ts +4 -0
- package/dist/invocation/http/negotiation.d.ts.map +1 -0
- package/dist/invocation/http/negotiation.js +208 -0
- package/dist/invocation/http/negotiation.js.map +1 -0
- package/dist/invocation/http/stream.d.ts +6 -0
- package/dist/invocation/http/stream.d.ts.map +1 -0
- package/dist/invocation/http/stream.js +16 -0
- package/dist/invocation/http/stream.js.map +1 -0
- package/dist/invocation/http/trace.d.ts +7 -0
- package/dist/invocation/http/trace.d.ts.map +1 -0
- package/dist/invocation/http/trace.js +25 -0
- package/dist/invocation/http/trace.js.map +1 -0
- package/dist/invocation/idempotency.d.ts +11 -0
- package/dist/invocation/idempotency.d.ts.map +1 -0
- package/dist/invocation/idempotency.js +14 -0
- package/dist/invocation/idempotency.js.map +1 -0
- package/dist/invocation/index.d.ts +20 -0
- package/dist/invocation/index.d.ts.map +1 -0
- package/dist/invocation/index.js +20 -0
- package/dist/invocation/index.js.map +1 -0
- package/dist/invocation/miss.d.ts +8 -0
- package/dist/invocation/miss.d.ts.map +1 -0
- package/dist/invocation/miss.js +14 -0
- package/dist/invocation/miss.js.map +1 -0
- package/dist/invocation/redirect.d.ts +33 -0
- package/dist/invocation/redirect.d.ts.map +1 -0
- package/dist/invocation/redirect.js +68 -0
- package/dist/invocation/redirect.js.map +1 -0
- package/dist/invocation/request.d.ts +22 -0
- package/dist/invocation/request.d.ts.map +1 -0
- package/dist/invocation/request.js +55 -0
- package/dist/invocation/request.js.map +1 -0
- package/dist/invocation/response.d.ts +17 -0
- package/dist/invocation/response.d.ts.map +1 -0
- package/dist/invocation/response.js +34 -0
- package/dist/invocation/response.js.map +1 -0
- package/dist/invocation/routing.d.ts +14 -0
- package/dist/invocation/routing.d.ts.map +1 -0
- package/dist/invocation/routing.js +34 -0
- package/dist/invocation/routing.js.map +1 -0
- package/dist/invocation/schema.d.ts +10 -0
- package/dist/invocation/schema.d.ts.map +1 -0
- package/dist/invocation/schema.js +20 -0
- package/dist/invocation/schema.js.map +1 -0
- package/dist/invocation/service-reason.d.ts +41 -0
- package/dist/invocation/service-reason.d.ts.map +1 -0
- package/dist/invocation/service-reason.js +74 -0
- package/dist/invocation/service-reason.js.map +1 -0
- package/dist/invocation/stale-route.d.ts +11 -0
- package/dist/invocation/stale-route.d.ts.map +1 -0
- package/dist/invocation/stale-route.js +19 -0
- package/dist/invocation/stale-route.js.map +1 -0
- package/dist/invocation/stream.d.ts +26 -0
- package/dist/invocation/stream.d.ts.map +1 -0
- package/dist/invocation/stream.js +41 -0
- package/dist/invocation/stream.js.map +1 -0
- package/dist/invocation/target.d.ts +9 -0
- package/dist/invocation/target.d.ts.map +1 -0
- package/dist/invocation/target.js +12 -0
- package/dist/invocation/target.js.map +1 -0
- package/dist/invocation/trace.d.ts +10 -0
- package/dist/invocation/trace.d.ts.map +1 -0
- package/dist/invocation/trace.js +87 -0
- package/dist/invocation/trace.js.map +1 -0
- package/dist/invocation/version.d.ts +3 -0
- package/dist/invocation/version.d.ts.map +1 -0
- package/dist/invocation/version.js +2 -0
- package/dist/invocation/version.js.map +1 -0
- package/dist/invocation/websocket/binary.d.ts +4 -0
- package/dist/invocation/websocket/binary.d.ts.map +1 -0
- package/dist/invocation/websocket/binary.js +71 -0
- package/dist/invocation/websocket/binary.js.map +1 -0
- package/dist/invocation/websocket/index.d.ts +3 -0
- package/dist/invocation/websocket/index.d.ts.map +1 -0
- package/dist/invocation/websocket/index.js +3 -0
- package/dist/invocation/websocket/index.js.map +1 -0
- package/dist/invocation/websocket/subprotocol.d.ts +11 -0
- package/dist/invocation/websocket/subprotocol.d.ts.map +1 -0
- package/dist/invocation/websocket/subprotocol.js +30 -0
- package/dist/invocation/websocket/subprotocol.js.map +1 -0
- package/dist/issuer/configuration.d.ts +15 -0
- package/dist/issuer/configuration.d.ts.map +1 -0
- package/dist/issuer/configuration.js +87 -0
- package/dist/issuer/configuration.js.map +1 -0
- package/dist/issuer/error.d.ts +8 -0
- package/dist/issuer/error.d.ts.map +1 -0
- package/dist/issuer/error.js +12 -0
- package/dist/issuer/error.js.map +1 -0
- package/dist/issuer/exchange.d.ts +26 -0
- package/dist/issuer/exchange.d.ts.map +1 -0
- package/dist/issuer/exchange.js +130 -0
- package/dist/issuer/exchange.js.map +1 -0
- package/dist/issuer/hosted.d.ts +3 -0
- package/dist/issuer/hosted.d.ts.map +1 -0
- package/dist/issuer/hosted.js +8 -0
- package/dist/issuer/hosted.js.map +1 -0
- package/dist/issuer/index.d.ts +7 -0
- package/dist/issuer/index.d.ts.map +1 -0
- package/dist/issuer/index.js +7 -0
- package/dist/issuer/index.js.map +1 -0
- package/dist/issuer/key-set.d.ts +7 -0
- package/dist/issuer/key-set.d.ts.map +1 -0
- package/dist/issuer/key-set.js +48 -0
- package/dist/issuer/key-set.js.map +1 -0
- package/dist/issuer/paths.d.ts +7 -0
- package/dist/issuer/paths.d.ts.map +1 -0
- package/dist/issuer/paths.js +11 -0
- package/dist/issuer/paths.js.map +1 -0
- package/dist/issuer/url.d.ts +3 -0
- package/dist/issuer/url.d.ts.map +1 -0
- package/dist/issuer/url.js +34 -0
- package/dist/issuer/url.js.map +1 -0
- package/dist/publication/bindings/callable.d.ts +9 -0
- package/dist/publication/bindings/callable.d.ts.map +1 -0
- package/dist/publication/bindings/callable.js +32 -0
- package/dist/publication/bindings/callable.js.map +1 -0
- package/dist/publication/bindings/index.d.ts +4 -0
- package/dist/publication/bindings/index.d.ts.map +1 -0
- package/dist/publication/bindings/index.js +4 -0
- package/dist/publication/bindings/index.js.map +1 -0
- package/dist/publication/bindings/invocation.d.ts +6 -0
- package/dist/publication/bindings/invocation.d.ts.map +1 -0
- package/dist/publication/bindings/invocation.js +14 -0
- package/dist/publication/bindings/invocation.js.map +1 -0
- package/dist/publication/bindings/view.d.ts +8 -0
- package/dist/publication/bindings/view.d.ts.map +1 -0
- package/dist/publication/bindings/view.js +29 -0
- package/dist/publication/bindings/view.js.map +1 -0
- package/dist/publication/bundle.d.ts +16 -0
- package/dist/publication/bundle.d.ts.map +1 -0
- package/dist/publication/bundle.js +65 -0
- package/dist/publication/bundle.js.map +1 -0
- package/dist/publication/content.d.ts +11 -0
- package/dist/publication/content.d.ts.map +1 -0
- package/dist/publication/content.js +56 -0
- package/dist/publication/content.js.map +1 -0
- package/dist/publication/delivery/attestation.d.ts +7 -0
- package/dist/publication/delivery/attestation.d.ts.map +1 -0
- package/dist/publication/delivery/attestation.js +11 -0
- package/dist/publication/delivery/attestation.js.map +1 -0
- package/dist/publication/delivery/claims.d.ts +16 -0
- package/dist/publication/delivery/claims.d.ts.map +1 -0
- package/dist/publication/delivery/claims.js +62 -0
- package/dist/publication/delivery/claims.js.map +1 -0
- package/dist/publication/delivery/delivery.d.ts +10 -0
- package/dist/publication/delivery/delivery.d.ts.map +1 -0
- package/dist/publication/delivery/delivery.js +30 -0
- package/dist/publication/delivery/delivery.js.map +1 -0
- package/dist/publication/delivery/error.d.ts +8 -0
- package/dist/publication/delivery/error.d.ts.map +1 -0
- package/dist/publication/delivery/error.js +12 -0
- package/dist/publication/delivery/error.js.map +1 -0
- package/dist/publication/delivery/index.d.ts +7 -0
- package/dist/publication/delivery/index.d.ts.map +1 -0
- package/dist/publication/delivery/index.js +7 -0
- package/dist/publication/delivery/index.js.map +1 -0
- package/dist/publication/delivery/limits.d.ts +5 -0
- package/dist/publication/delivery/limits.d.ts.map +1 -0
- package/dist/publication/delivery/limits.js +5 -0
- package/dist/publication/delivery/limits.js.map +1 -0
- package/dist/publication/delivery/request.d.ts +16 -0
- package/dist/publication/delivery/request.d.ts.map +1 -0
- package/dist/publication/delivery/request.js +52 -0
- package/dist/publication/delivery/request.js.map +1 -0
- package/dist/publication/delivery-endpoint.d.ts +12 -0
- package/dist/publication/delivery-endpoint.d.ts.map +1 -0
- package/dist/publication/delivery-endpoint.js +23 -0
- package/dist/publication/delivery-endpoint.js.map +1 -0
- package/dist/publication/error.d.ts +8 -0
- package/dist/publication/error.d.ts.map +1 -0
- package/dist/publication/error.js +12 -0
- package/dist/publication/error.js.map +1 -0
- package/dist/publication/etag.d.ts +7 -0
- package/dist/publication/etag.d.ts.map +1 -0
- package/dist/publication/etag.js +80 -0
- package/dist/publication/etag.js.map +1 -0
- package/dist/publication/index.d.ts +14 -0
- package/dist/publication/index.d.ts.map +1 -0
- package/dist/publication/index.js +8 -0
- package/dist/publication/index.js.map +1 -0
- package/dist/publication/manifest.d.ts +7 -0
- package/dist/publication/manifest.d.ts.map +1 -0
- package/dist/publication/manifest.js +26 -0
- package/dist/publication/manifest.js.map +1 -0
- package/dist/publication/publication.d.ts +39 -0
- package/dist/publication/publication.d.ts.map +1 -0
- package/dist/publication/publication.js +190 -0
- package/dist/publication/publication.js.map +1 -0
- package/dist/publication/reference.d.ts +17 -0
- package/dist/publication/reference.d.ts.map +1 -0
- package/dist/publication/reference.js +68 -0
- package/dist/publication/reference.js.map +1 -0
- package/dist/publication/requirements.d.ts +26 -0
- package/dist/publication/requirements.d.ts.map +1 -0
- package/dist/publication/requirements.js +180 -0
- package/dist/publication/requirements.js.map +1 -0
- package/dist/publication/route.d.ts +33 -0
- package/dist/publication/route.d.ts.map +1 -0
- package/dist/publication/route.js +132 -0
- package/dist/publication/route.js.map +1 -0
- package/dist/publication/schema.d.ts +8 -0
- package/dist/publication/schema.d.ts.map +1 -0
- package/dist/publication/schema.js +16 -0
- package/dist/publication/schema.js.map +1 -0
- package/dist/routes/compile.d.ts +5 -0
- package/dist/routes/compile.d.ts.map +1 -0
- package/dist/routes/compile.js +69 -0
- package/dist/routes/compile.js.map +1 -0
- package/dist/routes/credential.d.ts +9 -0
- package/dist/routes/credential.d.ts.map +1 -0
- package/dist/routes/credential.js +119 -0
- package/dist/routes/credential.js.map +1 -0
- package/dist/routes/decode.d.ts +4 -0
- package/dist/routes/decode.d.ts.map +1 -0
- package/dist/routes/decode.js +147 -0
- package/dist/routes/decode.js.map +1 -0
- package/dist/routes/encode.d.ts +4 -0
- package/dist/routes/encode.d.ts.map +1 -0
- package/dist/routes/encode.js +147 -0
- package/dist/routes/encode.js.map +1 -0
- package/dist/routes/error-response.d.ts +6 -0
- package/dist/routes/error-response.d.ts.map +1 -0
- package/dist/routes/error-response.js +32 -0
- package/dist/routes/error-response.js.map +1 -0
- package/dist/routes/error.d.ts +9 -0
- package/dist/routes/error.d.ts.map +1 -0
- package/dist/routes/error.js +15 -0
- package/dist/routes/error.js.map +1 -0
- package/dist/routes/index.d.ts +13 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +13 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/mapping.d.ts +6 -0
- package/dist/routes/mapping.d.ts.map +1 -0
- package/dist/routes/mapping.js +135 -0
- package/dist/routes/mapping.js.map +1 -0
- package/dist/routes/match.d.ts +5 -0
- package/dist/routes/match.d.ts.map +1 -0
- package/dist/routes/match.js +9 -0
- package/dist/routes/match.js.map +1 -0
- package/dist/routes/request.d.ts +27 -0
- package/dist/routes/request.d.ts.map +1 -0
- package/dist/routes/request.js +52 -0
- package/dist/routes/request.js.map +1 -0
- package/dist/routes/reservation.d.ts +4 -0
- package/dist/routes/reservation.d.ts.map +1 -0
- package/dist/routes/reservation.js +34 -0
- package/dist/routes/reservation.js.map +1 -0
- package/dist/routes/route.d.ts +13 -0
- package/dist/routes/route.d.ts.map +1 -0
- package/dist/routes/route.js +6 -0
- package/dist/routes/route.js.map +1 -0
- package/dist/routes/routing.d.ts +23 -0
- package/dist/routes/routing.d.ts.map +1 -0
- package/dist/routes/routing.js +88 -0
- package/dist/routes/routing.js.map +1 -0
- package/dist/routes/scalar.d.ts +7 -0
- package/dist/routes/scalar.d.ts.map +1 -0
- package/dist/routes/scalar.js +58 -0
- package/dist/routes/scalar.js.map +1 -0
- package/dist/routes/select.d.ts +4 -0
- package/dist/routes/select.d.ts.map +1 -0
- package/dist/routes/select.js +17 -0
- package/dist/routes/select.js.map +1 -0
- package/dist/routes/stream.d.ts +15 -0
- package/dist/routes/stream.d.ts.map +1 -0
- package/dist/routes/stream.js +51 -0
- package/dist/routes/stream.js.map +1 -0
- package/dist/routes/template.d.ts +9 -0
- package/dist/routes/template.d.ts.map +1 -0
- package/dist/routes/template.js +228 -0
- package/dist/routes/template.js.map +1 -0
- package/dist/runtime/artifact.d.ts +48 -0
- package/dist/runtime/artifact.d.ts.map +1 -0
- package/dist/runtime/artifact.js +177 -0
- package/dist/runtime/artifact.js.map +1 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +2 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +2 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/installation/index.d.ts +2 -0
- package/dist/schema/installation/index.d.ts.map +1 -0
- package/dist/schema/installation/index.js +2 -0
- package/dist/schema/installation/index.js.map +1 -0
- package/dist/schema/installation/introspection/codec.d.ts +6 -0
- package/dist/schema/installation/introspection/codec.d.ts.map +1 -0
- package/dist/schema/installation/introspection/codec.js +273 -0
- package/dist/schema/installation/introspection/codec.js.map +1 -0
- package/dist/schema/installation/introspection/index.d.ts +3 -0
- package/dist/schema/installation/introspection/index.d.ts.map +1 -0
- package/dist/schema/installation/introspection/index.js +2 -0
- package/dist/schema/installation/introspection/index.js.map +1 -0
- package/dist/schema/installation/introspection/result.d.ts +34 -0
- package/dist/schema/installation/introspection/result.d.ts.map +1 -0
- package/dist/schema/installation/introspection/result.js +2 -0
- package/dist/schema/installation/introspection/result.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CODES, ProtocolError } from '../../errors/index.js';
|
|
2
|
+
export const BINARY_HEADERS_FIELD = 'x-astrale-binary-headers';
|
|
3
|
+
export const REQUEST_ID_FIELD = 'x-astrale-request-id';
|
|
4
|
+
const HEADER_NAME = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u;
|
|
5
|
+
const MAXIMUM_MANIFEST_BYTES = 8_192;
|
|
6
|
+
const MAXIMUM_MANIFEST_NAMES = 128;
|
|
7
|
+
const EMPTY_MANIFEST = '-';
|
|
8
|
+
const RESERVED = new Set([
|
|
9
|
+
'authorization',
|
|
10
|
+
'cache-control',
|
|
11
|
+
'connection',
|
|
12
|
+
'content-encoding',
|
|
13
|
+
'content-length',
|
|
14
|
+
'content-type',
|
|
15
|
+
'cookie',
|
|
16
|
+
'date',
|
|
17
|
+
'etag',
|
|
18
|
+
'host',
|
|
19
|
+
'keep-alive',
|
|
20
|
+
'location',
|
|
21
|
+
'proxy-authenticate',
|
|
22
|
+
'proxy-authorization',
|
|
23
|
+
'referrer-policy',
|
|
24
|
+
'server',
|
|
25
|
+
'set-cookie',
|
|
26
|
+
'trailer',
|
|
27
|
+
'transfer-encoding',
|
|
28
|
+
'upgrade',
|
|
29
|
+
'vary',
|
|
30
|
+
'www-authenticate',
|
|
31
|
+
EMPTY_MANIFEST,
|
|
32
|
+
BINARY_HEADERS_FIELD,
|
|
33
|
+
REQUEST_ID_FIELD,
|
|
34
|
+
'x-astrale-stream-framing',
|
|
35
|
+
]);
|
|
36
|
+
export function isApplicationBinaryHeader(name) {
|
|
37
|
+
const normalized = name.toLowerCase();
|
|
38
|
+
return (HEADER_NAME.test(normalized) &&
|
|
39
|
+
!normalized.startsWith('access-control-') &&
|
|
40
|
+
!normalized.startsWith('sec-websocket-') &&
|
|
41
|
+
!RESERVED.has(normalized));
|
|
42
|
+
}
|
|
43
|
+
export function encodeBinaryHeaderNames(headers) {
|
|
44
|
+
const names = [];
|
|
45
|
+
const seen = new Set();
|
|
46
|
+
for (const input of Object.keys(headers ?? {})) {
|
|
47
|
+
const name = input.toLowerCase();
|
|
48
|
+
if (!HEADER_NAME.test(name) || seen.has(name))
|
|
49
|
+
invalid();
|
|
50
|
+
seen.add(name);
|
|
51
|
+
if (!isApplicationBinaryHeader(name))
|
|
52
|
+
continue;
|
|
53
|
+
names.push(name);
|
|
54
|
+
}
|
|
55
|
+
if (names.length > MAXIMUM_MANIFEST_NAMES)
|
|
56
|
+
invalid();
|
|
57
|
+
const manifest = names.length === 0 ? EMPTY_MANIFEST : names.sort().join(', ');
|
|
58
|
+
if (new TextEncoder().encode(manifest).byteLength > MAXIMUM_MANIFEST_BYTES)
|
|
59
|
+
invalid();
|
|
60
|
+
return manifest;
|
|
61
|
+
}
|
|
62
|
+
export function decodeBinaryHeaderNames(input) {
|
|
63
|
+
if (input === EMPTY_MANIFEST)
|
|
64
|
+
return Object.freeze([]);
|
|
65
|
+
if (input === null || input === '')
|
|
66
|
+
invalid();
|
|
67
|
+
if (new TextEncoder().encode(input).byteLength > MAXIMUM_MANIFEST_BYTES)
|
|
68
|
+
invalid();
|
|
69
|
+
const names = input.split(',');
|
|
70
|
+
if (names.length > MAXIMUM_MANIFEST_NAMES)
|
|
71
|
+
invalid();
|
|
72
|
+
const admitted = [];
|
|
73
|
+
const seen = new Set();
|
|
74
|
+
for (const item of names) {
|
|
75
|
+
const name = item.trim().toLowerCase();
|
|
76
|
+
if (!isApplicationBinaryHeader(name) || seen.has(name))
|
|
77
|
+
invalid();
|
|
78
|
+
seen.add(name);
|
|
79
|
+
admitted.push(name);
|
|
80
|
+
}
|
|
81
|
+
return Object.freeze(admitted);
|
|
82
|
+
}
|
|
83
|
+
function invalid() {
|
|
84
|
+
throw new ProtocolError({
|
|
85
|
+
code: CODES.INVALID_REQUEST,
|
|
86
|
+
message: 'HTTP binary application-header manifest is invalid.',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=binary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, encodeBinaryHeaderNames, isApplicationBinaryHeader, REQUEST_ID_FIELD, } from './binary.js';
|
|
2
|
+
export { codecForContentType, negotiateResponseCodec } from './negotiation.js';
|
|
3
|
+
export { encodeStreamFrame, LENGTH_PREFIX_V1, STREAM_FRAMING_FIELD } from './stream.js';
|
|
4
|
+
export { BAGGAGE_FIELD, decodeTraceHeaders, encodeTraceHeaders, TRACEPARENT_FIELD, TRACESTATE_FIELD, } from './trace.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../invocation/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, encodeBinaryHeaderNames, isApplicationBinaryHeader, REQUEST_ID_FIELD, } from './binary.js';
|
|
2
|
+
export { codecForContentType, negotiateResponseCodec } from './negotiation.js';
|
|
3
|
+
export { encodeStreamFrame, LENGTH_PREFIX_V1, STREAM_FRAMING_FIELD } from './stream.js';
|
|
4
|
+
export { BAGGAGE_FIELD, decodeTraceHeaders, encodeTraceHeaders, TRACEPARENT_FIELD, TRACESTATE_FIELD, } from './trace.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../invocation/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Codec } from '../../codecs/index.js';
|
|
2
|
+
export declare function codecForContentType(contentType: string | null, supported: readonly Codec[]): Codec | undefined;
|
|
3
|
+
export declare function negotiateResponseCodec(accept: string | null, requestCodec: Codec, supported: readonly Codec[]): Codec | undefined;
|
|
4
|
+
//# sourceMappingURL=negotiation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negotiation.d.ts","sourceRoot":"","sources":["../../../invocation/http/negotiation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAiBlD,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,SAAS,EAAE,SAAS,KAAK,EAAE,GAC1B,KAAK,GAAG,SAAS,CAYnB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,SAAS,KAAK,EAAE,GAC1B,KAAK,GAAG,SAAS,CAmCnB"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { CONTENT_TYPE_JSON, CONTENT_TYPE_MSGPACK } from '../../codecs/index.js';
|
|
2
|
+
import { admitSupportedCodecs } from '../binding-codecs.js';
|
|
3
|
+
const TOKEN = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u;
|
|
4
|
+
const QVALUE = /^(?:0(?:\.\d{0,3})?|1(?:\.0{0,3})?)$/u;
|
|
5
|
+
export function codecForContentType(contentType, supported) {
|
|
6
|
+
const admitted = admitSupportedCodecs(supported);
|
|
7
|
+
if (contentType === null || contentType.trim() === '')
|
|
8
|
+
return undefined;
|
|
9
|
+
const mediaType = parseContentType(contentType);
|
|
10
|
+
if (mediaType === undefined)
|
|
11
|
+
return undefined;
|
|
12
|
+
const profile = mediaType === CONTENT_TYPE_JSON
|
|
13
|
+
? 'json'
|
|
14
|
+
: mediaType === CONTENT_TYPE_MSGPACK
|
|
15
|
+
? 'msgpack'
|
|
16
|
+
: undefined;
|
|
17
|
+
return admitted.find((entry) => entry.profile === profile)?.codec;
|
|
18
|
+
}
|
|
19
|
+
export function negotiateResponseCodec(accept, requestCodec, supported) {
|
|
20
|
+
const admitted = admitSupportedCodecs(supported);
|
|
21
|
+
const request = admitted.find((entry) => entry.codec === requestCodec);
|
|
22
|
+
if (request === undefined)
|
|
23
|
+
throw new TypeError('requestCodec must occur exactly once in supported.');
|
|
24
|
+
if (accept === null || accept.trim() === '')
|
|
25
|
+
return request.codec;
|
|
26
|
+
const ranges = parseAccept(accept);
|
|
27
|
+
if (ranges.length === 0)
|
|
28
|
+
return undefined;
|
|
29
|
+
const candidates = admitted.flatMap((entry) => {
|
|
30
|
+
const [type, subtype] = contentTypeOf(entry.profile).split('/');
|
|
31
|
+
const governing = ranges
|
|
32
|
+
.filter((range) => range.mediaParameters === 0 &&
|
|
33
|
+
(range.type === '*' || range.type === type) &&
|
|
34
|
+
(range.subtype === '*' || range.subtype === subtype))
|
|
35
|
+
.sort((left, right) => right.specificity - left.specificity || left.index - right.index)[0];
|
|
36
|
+
return governing === undefined || governing.quality === 0 ? [] : [{ ...entry, governing }];
|
|
37
|
+
});
|
|
38
|
+
if (candidates.length === 0)
|
|
39
|
+
return undefined;
|
|
40
|
+
candidates.sort((left, right) => {
|
|
41
|
+
const quality = right.governing.quality - left.governing.quality;
|
|
42
|
+
if (quality !== 0)
|
|
43
|
+
return quality;
|
|
44
|
+
if (left.codec === request.codec)
|
|
45
|
+
return -1;
|
|
46
|
+
if (right.codec === request.codec)
|
|
47
|
+
return 1;
|
|
48
|
+
const order = left.governing.index - right.governing.index;
|
|
49
|
+
if (order !== 0)
|
|
50
|
+
return order;
|
|
51
|
+
if (left.profile === 'json')
|
|
52
|
+
return -1;
|
|
53
|
+
if (right.profile === 'json')
|
|
54
|
+
return 1;
|
|
55
|
+
return 0;
|
|
56
|
+
});
|
|
57
|
+
return candidates[0]?.codec;
|
|
58
|
+
}
|
|
59
|
+
function contentTypeOf(profile) {
|
|
60
|
+
return profile === 'json' ? CONTENT_TYPE_JSON : CONTENT_TYPE_MSGPACK;
|
|
61
|
+
}
|
|
62
|
+
function parseContentType(input) {
|
|
63
|
+
if (splitOutsideQuotes(input, ',')?.length !== 1)
|
|
64
|
+
return undefined;
|
|
65
|
+
const parts = splitOutsideQuotes(input, ';');
|
|
66
|
+
if (parts === undefined)
|
|
67
|
+
return undefined;
|
|
68
|
+
const mediaType = parts.shift()?.trim().toLowerCase();
|
|
69
|
+
if (mediaType === undefined || parseType(mediaType, false) === undefined)
|
|
70
|
+
return undefined;
|
|
71
|
+
const names = new Set();
|
|
72
|
+
for (const part of parts) {
|
|
73
|
+
const parameter = parseParameter(part);
|
|
74
|
+
if (parameter === undefined || names.has(parameter.name))
|
|
75
|
+
return undefined;
|
|
76
|
+
names.add(parameter.name);
|
|
77
|
+
}
|
|
78
|
+
return mediaType;
|
|
79
|
+
}
|
|
80
|
+
function parseAccept(input) {
|
|
81
|
+
const members = splitOutsideQuotes(input, ',');
|
|
82
|
+
if (members === undefined)
|
|
83
|
+
return [];
|
|
84
|
+
const ranges = [];
|
|
85
|
+
for (const [index, member] of members.entries()) {
|
|
86
|
+
const parts = splitOutsideQuotes(member, ';');
|
|
87
|
+
if (parts === undefined)
|
|
88
|
+
continue;
|
|
89
|
+
const media = parseType(parts.shift()?.trim().toLowerCase() ?? '', true);
|
|
90
|
+
if (media === undefined)
|
|
91
|
+
continue;
|
|
92
|
+
let quality = 1;
|
|
93
|
+
let qualitySeen = false;
|
|
94
|
+
let mediaParameters = 0;
|
|
95
|
+
let invalid = false;
|
|
96
|
+
const names = new Set();
|
|
97
|
+
for (const part of parts) {
|
|
98
|
+
const parameter = parseParameter(part);
|
|
99
|
+
if (parameter === undefined || names.has(parameter.name)) {
|
|
100
|
+
invalid = true;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
names.add(parameter.name);
|
|
104
|
+
if (parameter.name === 'q') {
|
|
105
|
+
if (qualitySeen || !QVALUE.test(parameter.value)) {
|
|
106
|
+
invalid = true;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
qualitySeen = true;
|
|
110
|
+
quality = Number(parameter.value);
|
|
111
|
+
}
|
|
112
|
+
else if (!qualitySeen) {
|
|
113
|
+
mediaParameters += 1;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (invalid)
|
|
117
|
+
continue;
|
|
118
|
+
ranges.push({
|
|
119
|
+
...media,
|
|
120
|
+
quality,
|
|
121
|
+
specificity: media.type === '*' ? 0 : media.subtype === '*' ? 1 : 2,
|
|
122
|
+
index,
|
|
123
|
+
mediaParameters,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return ranges;
|
|
127
|
+
}
|
|
128
|
+
function parseType(input, wildcards) {
|
|
129
|
+
const separator = input.indexOf('/');
|
|
130
|
+
if (separator <= 0 || separator !== input.lastIndexOf('/'))
|
|
131
|
+
return undefined;
|
|
132
|
+
const type = input.slice(0, separator);
|
|
133
|
+
const subtype = input.slice(separator + 1);
|
|
134
|
+
if (subtype === '')
|
|
135
|
+
return undefined;
|
|
136
|
+
const typeValid = TOKEN.test(type) || (wildcards && type === '*');
|
|
137
|
+
const subtypeValid = TOKEN.test(subtype) || (wildcards && subtype === '*');
|
|
138
|
+
if (!typeValid || !subtypeValid || (type === '*' && subtype !== '*'))
|
|
139
|
+
return undefined;
|
|
140
|
+
return { type, subtype };
|
|
141
|
+
}
|
|
142
|
+
function parseParameter(input) {
|
|
143
|
+
const separator = input.indexOf('=');
|
|
144
|
+
if (separator <= 0)
|
|
145
|
+
return undefined;
|
|
146
|
+
const name = input.slice(0, separator).trim().toLowerCase();
|
|
147
|
+
const value = input.slice(separator + 1).trim();
|
|
148
|
+
if (!TOKEN.test(name) || (!TOKEN.test(value) && !quotedString(value)))
|
|
149
|
+
return undefined;
|
|
150
|
+
return { name, value: unquote(value) };
|
|
151
|
+
}
|
|
152
|
+
function quotedString(input) {
|
|
153
|
+
if (input.length < 2 || input[0] !== '"' || input.at(-1) !== '"')
|
|
154
|
+
return false;
|
|
155
|
+
for (let index = 1; index < input.length - 1; index += 1) {
|
|
156
|
+
const code = input.charCodeAt(index);
|
|
157
|
+
if (input[index] === '\\') {
|
|
158
|
+
index += 1;
|
|
159
|
+
if (index >= input.length - 1)
|
|
160
|
+
return false;
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
if (input[index] === '"' || code === 0x7f || (code < 0x20 && code !== 0x09))
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
function unquote(input) {
|
|
169
|
+
if (input[0] !== '"')
|
|
170
|
+
return input;
|
|
171
|
+
let output = '';
|
|
172
|
+
for (let index = 1; index < input.length - 1; index += 1) {
|
|
173
|
+
if (input[index] === '\\')
|
|
174
|
+
index += 1;
|
|
175
|
+
output += input[index];
|
|
176
|
+
}
|
|
177
|
+
return output;
|
|
178
|
+
}
|
|
179
|
+
function splitOutsideQuotes(input, separator) {
|
|
180
|
+
const parts = [];
|
|
181
|
+
let quoted = false;
|
|
182
|
+
let escaped = false;
|
|
183
|
+
let start = 0;
|
|
184
|
+
for (let index = 0; index < input.length; index += 1) {
|
|
185
|
+
const character = input[index];
|
|
186
|
+
if (escaped) {
|
|
187
|
+
escaped = false;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (quoted && character === '\\') {
|
|
191
|
+
escaped = true;
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
if (character === '"') {
|
|
195
|
+
quoted = !quoted;
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
if (!quoted && character === separator) {
|
|
199
|
+
parts.push(input.slice(start, index));
|
|
200
|
+
start = index + 1;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
if (quoted || escaped)
|
|
204
|
+
return undefined;
|
|
205
|
+
parts.push(input.slice(start));
|
|
206
|
+
return parts;
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=negotiation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negotiation.js","sourceRoot":"","sources":["../../../invocation/http/negotiation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Codec } from '../../codecs/index.js';
|
|
2
|
+
import type { StreamFrame } from '../stream.js';
|
|
3
|
+
export declare const STREAM_FRAMING_FIELD: 'x-astrale-stream-framing';
|
|
4
|
+
export declare const LENGTH_PREFIX_V1: 'length-prefix-v1';
|
|
5
|
+
export declare function encodeStreamFrame(codec: Codec, frame: StreamFrame): Uint8Array;
|
|
6
|
+
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../invocation/http/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,eAAO,MAAM,oBAAoB,EAAG,0BAAmC,CAAA;AACvE,eAAO,MAAM,gBAAgB,EAAG,kBAA2B,CAAA;AAK3D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,GAAG,UAAU,CAU9E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const STREAM_FRAMING_FIELD = 'x-astrale-stream-framing';
|
|
2
|
+
export const LENGTH_PREFIX_V1 = 'length-prefix-v1';
|
|
3
|
+
const encoder = new TextEncoder();
|
|
4
|
+
const MAXIMUM_UINT32 = 0xffff_ffff;
|
|
5
|
+
export function encodeStreamFrame(codec, frame) {
|
|
6
|
+
const encoded = codec.encode(frame);
|
|
7
|
+
const payload = typeof encoded === 'string' ? encoder.encode(encoded) : encoded;
|
|
8
|
+
if (payload.byteLength > MAXIMUM_UINT32) {
|
|
9
|
+
throw new RangeError('stream frame exceeds the uint32 length-prefix-v1 payload bound.');
|
|
10
|
+
}
|
|
11
|
+
const output = new Uint8Array(4 + payload.byteLength);
|
|
12
|
+
new DataView(output.buffer).setUint32(0, payload.byteLength);
|
|
13
|
+
output.set(payload, 4);
|
|
14
|
+
return output;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../invocation/http/stream.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAAmC,CAAA;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAA2B,CAAA;AAE3D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AACjC,MAAM,cAAc,GAAG,WAAW,CAAA;AAElC,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,KAAkB;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC/E,IAAI,OAAO,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,iEAAiE,CAAC,CAAA;IACzF,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC5D,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACtB,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Trace } from '../trace.js';
|
|
2
|
+
export declare const TRACEPARENT_FIELD = "traceparent";
|
|
3
|
+
export declare const TRACESTATE_FIELD = "tracestate";
|
|
4
|
+
export declare const BAGGAGE_FIELD = "baggage";
|
|
5
|
+
export declare function decodeTraceHeaders(traceparent: string | null, tracestate: string | null): Trace | undefined;
|
|
6
|
+
export declare function encodeTraceHeaders(carrier: Trace | undefined): Readonly<Record<string, string>>;
|
|
7
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../invocation/http/trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAIxC,eAAO,MAAM,iBAAiB,gBAAgB,CAAA;AAC9C,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,aAAa,YAAY,CAAA;AAItC,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,KAAK,GAAG,SAAS,CAMnB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAQ/F"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { admitTrace } from '../trace.js';
|
|
2
|
+
export const TRACEPARENT_FIELD = 'traceparent';
|
|
3
|
+
export const TRACESTATE_FIELD = 'tracestate';
|
|
4
|
+
export const BAGGAGE_FIELD = 'baggage';
|
|
5
|
+
const EMPTY_HEADERS = Object.freeze({});
|
|
6
|
+
export function decodeTraceHeaders(traceparent, tracestate) {
|
|
7
|
+
if (traceparent === null)
|
|
8
|
+
return undefined;
|
|
9
|
+
return admitTrace({
|
|
10
|
+
traceparent,
|
|
11
|
+
...(tracestate === null ? {} : { tracestate }),
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export function encodeTraceHeaders(carrier) {
|
|
15
|
+
if (carrier === undefined)
|
|
16
|
+
return EMPTY_HEADERS;
|
|
17
|
+
const admitted = admitTrace(carrier);
|
|
18
|
+
if (admitted === undefined)
|
|
19
|
+
return EMPTY_HEADERS;
|
|
20
|
+
return Object.freeze({
|
|
21
|
+
[TRACEPARENT_FIELD]: admitted.traceparent,
|
|
22
|
+
...(admitted.tracestate === undefined ? {} : { [TRACESTATE_FIELD]: admitted.tracestate }),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../invocation/http/trace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAA;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA;AAEtC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAEvC,MAAM,UAAU,kBAAkB,CAChC,WAA0B,EAC1B,UAAyB;IAEzB,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAC1C,OAAO,UAAU,CAAC;QAChB,WAAW;QACX,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KAC/C,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA0B;IAC3D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,aAAa,CAAA;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,aAAa,CAAA;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,WAAW;QACzC,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;KAC1F,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare const IDEMPOTENCY_KEY: unique symbol;
|
|
2
|
+
/** Caller-selected identity for one logical root invocation attempt group. */
|
|
3
|
+
export type IdempotencyKey = string & {
|
|
4
|
+
readonly [IDEMPOTENCY_KEY]: true;
|
|
5
|
+
};
|
|
6
|
+
export declare const HTTP_IDEMPOTENCY_KEY: 'x-astrale-idempotency-key';
|
|
7
|
+
export declare const MAXIMUM_IDEMPOTENCY_KEY_LENGTH = 128;
|
|
8
|
+
/** Admit an opaque URL-safe ASCII key without assigning it semantic structure. */
|
|
9
|
+
export declare function acceptIdempotencyKey(input: unknown, label?: string): IdempotencyKey;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=idempotency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../invocation/idempotency.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAA;AAE5C,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAE1E,eAAO,MAAM,oBAAoB,EAAG,2BAAoC,CAAA;AACxE,eAAO,MAAM,8BAA8B,MAAM,CAAA;AAEjD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAoB,GAAG,cAAc,CAU9F"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { invalid } from './admission.js';
|
|
2
|
+
export const HTTP_IDEMPOTENCY_KEY = 'x-astrale-idempotency-key';
|
|
3
|
+
export const MAXIMUM_IDEMPOTENCY_KEY_LENGTH = 128;
|
|
4
|
+
/** Admit an opaque URL-safe ASCII key without assigning it semantic structure. */
|
|
5
|
+
export function acceptIdempotencyKey(input, label = 'idempotency key') {
|
|
6
|
+
if (typeof input !== 'string' ||
|
|
7
|
+
input.length < 1 ||
|
|
8
|
+
input.length > MAXIMUM_IDEMPOTENCY_KEY_LENGTH ||
|
|
9
|
+
!/^[A-Za-z0-9._~-]+$/u.test(input)) {
|
|
10
|
+
invalid(`${label} must contain 1-128 URL-safe ASCII characters`);
|
|
11
|
+
}
|
|
12
|
+
return input;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=idempotency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../invocation/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAOxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAAoC,CAAA;AACxE,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAA;AAEjD,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,KAAK,GAAG,iBAAiB;IAC5E,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,GAAG,8BAA8B;QAC7C,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAClC,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,+CAA+C,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,KAAuB,CAAA;AAChC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { decodeBinaryResponse, type BinaryResponse } from './binary.js';
|
|
2
|
+
export { decodeCancelRequest, type CancelRequest } from './cancellation.js';
|
|
3
|
+
export { type RequestId } from './correlation.js';
|
|
4
|
+
export { acceptIdempotencyKey, HTTP_IDEMPOTENCY_KEY, MAXIMUM_IDEMPOTENCY_KEY_LENGTH, type IdempotencyKey, } from './idempotency.js';
|
|
5
|
+
export * as http from './http/index.js';
|
|
6
|
+
export { acceptDelegate, type Delegate } from './delegate.js';
|
|
7
|
+
export { decodeMiss, miss, type Miss } from './miss.js';
|
|
8
|
+
export { acceptRoute, decodeRedirect, remoteRoute, type RemoteBindingInput, type Redirect, type Route, } from './redirect.js';
|
|
9
|
+
export { decodeRequest, type Request } from './request.js';
|
|
10
|
+
export { admitTrace, MAXIMUM_TRACEPARENT_BYTES, MAXIMUM_TRACESTATE_BYTES, MAXIMUM_TRACESTATE_MEMBERS, type Trace, } from './trace.js';
|
|
11
|
+
export { acceptRouting, type Refresh, type Routing, type Via } from './routing.js';
|
|
12
|
+
export { acceptSchemaTarget, type SchemaTarget } from './schema.js';
|
|
13
|
+
export { decodeResponse, type ErrorResponse, type Response, type SuccessResponse, } from './response.js';
|
|
14
|
+
export { SCHEMA_UPGRADE_REQUIRED, SERVICE_CANDIDATE_INVALID, SERVICE_TRUST_REQUIRED, SERVICE_UNAVAILABLE, serviceErrorOf, type SchemaUpgradeRequiredDetails, type SchemaUpgradeRequiredReason, type ServiceCandidateInvalidDetails, type ServiceCandidateInvalidReason, type ServiceErrorPayload, type ServiceReason, type ServiceTrustRequiredDetails, type ServiceTrustRequiredReason, type ServiceUnavailableDetails, type ServiceUnavailableReason, } from './service-reason.js';
|
|
15
|
+
export { decodeStale, stale, type Stale } from './stale-route.js';
|
|
16
|
+
export { decodeStreamFrame, type StreamEndFrame, type StreamErrorFrame, type StreamFrame, type StreamItemFrame, type StreamStartFrame, } from './stream.js';
|
|
17
|
+
export { acceptCall, type Call } from './target.js';
|
|
18
|
+
export { VERSION, type Version } from './version.js';
|
|
19
|
+
export * as websocket from './websocket/index.js';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,KAAK,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,KAAK,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { decodeBinaryResponse } from './binary.js';
|
|
2
|
+
export { decodeCancelRequest } from './cancellation.js';
|
|
3
|
+
export {} from './correlation.js';
|
|
4
|
+
export { acceptIdempotencyKey, HTTP_IDEMPOTENCY_KEY, MAXIMUM_IDEMPOTENCY_KEY_LENGTH, } from './idempotency.js';
|
|
5
|
+
export * as http from './http/index.js';
|
|
6
|
+
export { acceptDelegate } from './delegate.js';
|
|
7
|
+
export { decodeMiss, miss } from './miss.js';
|
|
8
|
+
export { acceptRoute, decodeRedirect, remoteRoute, } from './redirect.js';
|
|
9
|
+
export { decodeRequest } from './request.js';
|
|
10
|
+
export { admitTrace, MAXIMUM_TRACEPARENT_BYTES, MAXIMUM_TRACESTATE_BYTES, MAXIMUM_TRACESTATE_MEMBERS, } from './trace.js';
|
|
11
|
+
export { acceptRouting } from './routing.js';
|
|
12
|
+
export { acceptSchemaTarget } from './schema.js';
|
|
13
|
+
export { decodeResponse, } from './response.js';
|
|
14
|
+
export { SCHEMA_UPGRADE_REQUIRED, SERVICE_CANDIDATE_INVALID, SERVICE_TRUST_REQUIRED, SERVICE_UNAVAILABLE, serviceErrorOf, } from './service-reason.js';
|
|
15
|
+
export { decodeStale, stale } from './stale-route.js';
|
|
16
|
+
export { decodeStreamFrame, } from './stream.js';
|
|
17
|
+
export { acceptCall } from './target.js';
|
|
18
|
+
export { VERSION } from './version.js';
|
|
19
|
+
export * as websocket from './websocket/index.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAkB,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,GAE/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAa,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,GAIZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAA;AAC1D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,GAE3B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAwC,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAqB,MAAM,aAAa,CAAA;AACnE,OAAO,EACL,cAAc,GAIf,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,GAWf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAc,MAAM,kBAAkB,CAAA;AACjE,OAAO,EACL,iBAAiB,GAMlB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RequestId } from './correlation.js';
|
|
2
|
+
export interface Miss {
|
|
3
|
+
readonly kind: 'miss';
|
|
4
|
+
readonly id: RequestId;
|
|
5
|
+
}
|
|
6
|
+
export declare function decodeMiss(input: unknown): Miss;
|
|
7
|
+
export declare function miss(id: RequestId): Miss;
|
|
8
|
+
//# sourceMappingURL=miss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"miss.d.ts","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;CACvB;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAM/C;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAExC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { exactFields, invalid, portableObject, requestId, required } from './admission.js';
|
|
2
|
+
const FIELDS = new Set(['kind', 'id']);
|
|
3
|
+
export function decodeMiss(input) {
|
|
4
|
+
const object = portableObject(input, 'miss control');
|
|
5
|
+
exactFields(object, FIELDS, 'miss control');
|
|
6
|
+
required(object, ['kind', 'id'], 'miss control');
|
|
7
|
+
if (object.kind !== 'miss')
|
|
8
|
+
invalid('miss control.kind must be "miss"');
|
|
9
|
+
return Object.freeze({ kind: 'miss', id: requestId(object.id, 'miss control.id') });
|
|
10
|
+
}
|
|
11
|
+
export function miss(id) {
|
|
12
|
+
return Object.freeze({ kind: 'miss', id });
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=miss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"miss.js","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAO1F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAEtC,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACpD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAA;IAChD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,kCAAkC,CAAC,CAAA;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAA;AACrF,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAa;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { IssuerId } from '@astrale-os/kernel-core/auth';
|
|
2
|
+
import type { Key } from '@astrale-os/kernel-dsl/v1';
|
|
3
|
+
import type { RequestId } from './correlation.js';
|
|
4
|
+
import type { Trace } from './trace.js';
|
|
5
|
+
import * as publication from '../publication/index.js';
|
|
6
|
+
export interface Route {
|
|
7
|
+
readonly endpoint: publication.InvocationEndpoints;
|
|
8
|
+
readonly via: {
|
|
9
|
+
readonly kind: 'via';
|
|
10
|
+
readonly publication: publication.PublicationRef;
|
|
11
|
+
readonly issuer: IssuerId;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface Redirect {
|
|
15
|
+
readonly kind: 'redirect';
|
|
16
|
+
readonly id: RequestId;
|
|
17
|
+
readonly route: Route;
|
|
18
|
+
readonly credential?: string;
|
|
19
|
+
/** Ephemeral one-hop correlation hint; never cached or treated as authority. */
|
|
20
|
+
readonly trace?: Trace;
|
|
21
|
+
}
|
|
22
|
+
export interface RemoteBindingInput {
|
|
23
|
+
readonly endpoint: publication.InvocationEndpoints;
|
|
24
|
+
readonly issuer: IssuerId;
|
|
25
|
+
readonly subject: string;
|
|
26
|
+
readonly revision: publication.PublicationRef['revision'];
|
|
27
|
+
readonly etag: publication.Etag;
|
|
28
|
+
}
|
|
29
|
+
export declare function acceptRoute(input: unknown): Route;
|
|
30
|
+
/** Project one semantic remote binding into its admitted protocol route representation. */
|
|
31
|
+
export declare function remoteRoute(origin: Key.Origin, binding: RemoteBindingInput, issuer: IssuerId): Route;
|
|
32
|
+
export declare function decodeRedirect(input: unknown): Redirect;
|
|
33
|
+
//# sourceMappingURL=redirect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../invocation/redirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAA;AAYtD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAA;IAClD,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;QACpB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,cAAc,CAAA;QAChD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;KAC1B,CAAA;CACF;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAA;IAClD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAChC;AAMD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAuBjD;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CACzB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,QAAQ,GACf,KAAK,CAcP;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAoBvD"}
|