@astrale-os/kernel-protocol 0.5.0-beta.2 → 0.5.0-beta.4
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/invocation/admission.d.ts +4 -2
- package/dist/invocation/admission.d.ts.map +1 -1
- package/dist/invocation/admission.js +15 -3
- package/dist/invocation/admission.js.map +1 -1
- package/dist/invocation/binary.d.ts +3 -1
- package/dist/invocation/binary.d.ts.map +1 -1
- package/dist/invocation/binary.js +5 -4
- package/dist/invocation/binary.js.map +1 -1
- package/dist/invocation/cancellation.d.ts +1 -1
- package/dist/invocation/cancellation.d.ts.map +1 -1
- package/dist/invocation/cancellation.js +3 -3
- package/dist/invocation/cancellation.js.map +1 -1
- package/dist/invocation/http/binary.d.ts +7 -0
- package/dist/invocation/http/binary.d.ts.map +1 -1
- package/dist/invocation/http/binary.js +46 -2
- package/dist/invocation/http/binary.js.map +1 -1
- package/dist/invocation/http/index.d.ts +1 -1
- package/dist/invocation/http/index.d.ts.map +1 -1
- package/dist/invocation/http/index.js +1 -1
- package/dist/invocation/http/index.js.map +1 -1
- package/dist/invocation/identity.d.ts +17 -0
- package/dist/invocation/identity.d.ts.map +1 -0
- package/dist/invocation/identity.js +56 -0
- package/dist/invocation/identity.js.map +1 -0
- package/dist/invocation/index.d.ts +4 -3
- package/dist/invocation/index.d.ts.map +1 -1
- package/dist/invocation/index.js +3 -2
- package/dist/invocation/index.js.map +1 -1
- package/dist/invocation/miss.d.ts +4 -2
- package/dist/invocation/miss.d.ts.map +1 -1
- package/dist/invocation/miss.js +10 -6
- package/dist/invocation/miss.js.map +1 -1
- package/dist/invocation/redirect.d.ts +19 -11
- package/dist/invocation/redirect.d.ts.map +1 -1
- package/dist/invocation/redirect.js +30 -16
- package/dist/invocation/redirect.js.map +1 -1
- package/dist/invocation/request.d.ts +1 -1
- package/dist/invocation/request.d.ts.map +1 -1
- package/dist/invocation/request.js +3 -3
- package/dist/invocation/request.js.map +1 -1
- package/dist/invocation/response.d.ts +9 -6
- package/dist/invocation/response.d.ts.map +1 -1
- package/dist/invocation/response.js +14 -9
- package/dist/invocation/response.js.map +1 -1
- package/dist/invocation/routing.d.ts +3 -2
- package/dist/invocation/routing.d.ts.map +1 -1
- package/dist/invocation/routing.js +4 -3
- package/dist/invocation/routing.js.map +1 -1
- package/dist/invocation/schema.d.ts +2 -2
- package/dist/invocation/schema.d.ts.map +1 -1
- package/dist/invocation/schema.js +2 -2
- package/dist/invocation/schema.js.map +1 -1
- package/dist/invocation/service-reason.d.ts +17 -9
- package/dist/invocation/service-reason.d.ts.map +1 -1
- package/dist/invocation/service-reason.js +18 -6
- package/dist/invocation/service-reason.js.map +1 -1
- package/dist/invocation/stale-route.d.ts +4 -2
- package/dist/invocation/stale-route.d.ts.map +1 -1
- package/dist/invocation/stale-route.js +7 -6
- package/dist/invocation/stale-route.js.map +1 -1
- package/dist/invocation/stream.d.ts +6 -4
- package/dist/invocation/stream.d.ts.map +1 -1
- package/dist/invocation/stream.js +17 -13
- package/dist/invocation/stream.js.map +1 -1
- package/dist/invocation/target.d.ts +2 -7
- package/dist/invocation/target.d.ts.map +1 -1
- package/dist/invocation/target.js.map +1 -1
- package/dist/invocation/websocket/binary.d.ts.map +1 -1
- package/dist/invocation/websocket/binary.js +2 -1
- package/dist/invocation/websocket/binary.js.map +1 -1
- package/dist/issuer/configuration.d.ts +1 -1
- package/dist/issuer/configuration.d.ts.map +1 -1
- package/dist/issuer/hosted.d.ts +1 -1
- package/dist/issuer/hosted.d.ts.map +1 -1
- package/dist/issuer/key-set.d.ts +1 -1
- package/dist/issuer/key-set.d.ts.map +1 -1
- package/dist/issuer/key-set.js +3 -2
- package/dist/issuer/key-set.js.map +1 -1
- package/dist/issuer/url.d.ts +1 -1
- package/dist/issuer/url.d.ts.map +1 -1
- package/dist/issuer/url.js +3 -2
- package/dist/issuer/url.js.map +1 -1
- package/dist/publication/bindings/callable.d.ts +1 -1
- package/dist/publication/bindings/callable.d.ts.map +1 -1
- package/dist/publication/bindings/callable.js +1 -1
- package/dist/publication/bindings/callable.js.map +1 -1
- package/dist/publication/bindings/view.d.ts +1 -1
- package/dist/publication/bindings/view.d.ts.map +1 -1
- package/dist/publication/bindings/view.js +1 -1
- package/dist/publication/bindings/view.js.map +1 -1
- package/dist/publication/bundle-admission.d.ts +5 -0
- package/dist/publication/bundle-admission.d.ts.map +1 -0
- package/dist/publication/bundle-admission.js +66 -0
- package/dist/publication/bundle-admission.js.map +1 -0
- package/dist/publication/bundle-descriptor.d.ts +10 -0
- package/dist/publication/bundle-descriptor.d.ts.map +1 -0
- package/dist/publication/bundle-descriptor.js +20 -0
- package/dist/publication/bundle-descriptor.js.map +1 -0
- package/dist/publication/bundle-evidence.d.ts +4 -0
- package/dist/publication/bundle-evidence.d.ts.map +1 -0
- package/dist/publication/bundle-evidence.js +14 -0
- package/dist/publication/bundle-evidence.js.map +1 -0
- package/dist/publication/bundle.d.ts +4 -10
- package/dist/publication/bundle.d.ts.map +1 -1
- package/dist/publication/bundle.js +5 -25
- package/dist/publication/bundle.js.map +1 -1
- package/dist/publication/declaration.d.ts +12 -0
- package/dist/publication/declaration.d.ts.map +1 -0
- package/dist/publication/declaration.js +2 -0
- package/dist/publication/declaration.js.map +1 -0
- package/dist/publication/delivery/claims.d.ts +8 -7
- package/dist/publication/delivery/claims.d.ts.map +1 -1
- package/dist/publication/delivery/claims.js +6 -6
- package/dist/publication/delivery/claims.js.map +1 -1
- package/dist/publication/delivery/delivery.d.ts +1 -1
- package/dist/publication/delivery/delivery.d.ts.map +1 -1
- package/dist/publication/delivery/delivery.js +1 -1
- package/dist/publication/delivery/delivery.js.map +1 -1
- package/dist/publication/delivery/request.d.ts +3 -3
- package/dist/publication/delivery/request.d.ts.map +1 -1
- package/dist/publication/delivery/request.js +4 -3
- package/dist/publication/delivery/request.js.map +1 -1
- package/dist/publication/delivery-declaration.d.ts +5 -0
- package/dist/publication/delivery-declaration.d.ts.map +1 -0
- package/dist/publication/delivery-declaration.js +26 -0
- package/dist/publication/delivery-declaration.js.map +1 -0
- package/dist/publication/index.d.ts +6 -2
- package/dist/publication/index.d.ts.map +1 -1
- package/dist/publication/index.js +4 -1
- package/dist/publication/index.js.map +1 -1
- package/dist/publication/manifest.d.ts +1 -1
- package/dist/publication/manifest.d.ts.map +1 -1
- package/dist/publication/manifest.js +1 -1
- package/dist/publication/manifest.js.map +1 -1
- package/dist/publication/publication.d.ts +3 -5
- package/dist/publication/publication.d.ts.map +1 -1
- package/dist/publication/publication.js +7 -66
- package/dist/publication/publication.js.map +1 -1
- package/dist/publication/reference.d.ts +3 -2
- package/dist/publication/reference.d.ts.map +1 -1
- package/dist/publication/reference.js +7 -6
- package/dist/publication/reference.js.map +1 -1
- package/dist/publication/requirements.d.ts +3 -2
- package/dist/publication/requirements.d.ts.map +1 -1
- package/dist/publication/requirements.js +16 -11
- package/dist/publication/requirements.js.map +1 -1
- package/dist/publication/route.d.ts +6 -1
- package/dist/publication/route.d.ts.map +1 -1
- package/dist/publication/route.js +31 -8
- package/dist/publication/route.js.map +1 -1
- package/dist/publication/schema.d.ts +3 -3
- package/dist/publication/schema.d.ts.map +1 -1
- package/dist/publication/schema.js +3 -3
- package/dist/publication/schema.js.map +1 -1
- package/dist/routes/admission.d.ts +4 -0
- package/dist/routes/admission.d.ts.map +1 -0
- package/dist/routes/admission.js +90 -0
- package/dist/routes/admission.js.map +1 -0
- package/dist/routes/binding.d.ts +7 -0
- package/dist/routes/binding.d.ts.map +1 -0
- package/dist/routes/binding.js +28 -0
- package/dist/routes/binding.js.map +1 -0
- package/dist/routes/collision.d.ts +3 -0
- package/dist/routes/collision.d.ts.map +1 -0
- package/dist/routes/collision.js +17 -0
- package/dist/routes/collision.js.map +1 -0
- package/dist/routes/compiler.d.ts +9 -0
- package/dist/routes/compiler.d.ts.map +1 -0
- package/dist/routes/compiler.js +48 -0
- package/dist/routes/compiler.js.map +1 -0
- package/dist/routes/credential.d.ts +7 -7
- package/dist/routes/credential.d.ts.map +1 -1
- package/dist/routes/credential.js +7 -7
- package/dist/routes/credential.js.map +1 -1
- package/dist/routes/decode.d.ts +4 -2
- package/dist/routes/decode.d.ts.map +1 -1
- package/dist/routes/decode.js +36 -31
- package/dist/routes/decode.js.map +1 -1
- package/dist/routes/encode.d.ts +3 -2
- package/dist/routes/encode.d.ts.map +1 -1
- package/dist/routes/encode.js +25 -22
- package/dist/routes/encode.js.map +1 -1
- package/dist/routes/evidence.d.ts +6 -0
- package/dist/routes/evidence.d.ts.map +1 -0
- package/dist/routes/evidence.js +38 -0
- package/dist/routes/evidence.js.map +1 -0
- package/dist/routes/index.d.ts +9 -2
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +6 -2
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/mapping.d.ts +1 -1
- package/dist/routes/mapping.d.ts.map +1 -1
- package/dist/routes/mapping.js +4 -12
- package/dist/routes/mapping.js.map +1 -1
- package/dist/routes/match.d.ts +3 -3
- package/dist/routes/match.d.ts.map +1 -1
- package/dist/routes/match.js +3 -4
- package/dist/routes/match.js.map +1 -1
- package/dist/routes/placement.d.ts +6 -0
- package/dist/routes/placement.d.ts.map +1 -0
- package/dist/routes/placement.js +19 -0
- package/dist/routes/placement.js.map +1 -0
- package/dist/routes/plan.d.ts +24 -0
- package/dist/routes/plan.d.ts.map +1 -0
- package/dist/routes/plan.js +2 -0
- package/dist/routes/plan.js.map +1 -0
- package/dist/routes/release-unavailable.d.ts +9 -0
- package/dist/routes/release-unavailable.d.ts.map +1 -0
- package/dist/routes/release-unavailable.js +33 -0
- package/dist/routes/release-unavailable.js.map +1 -0
- package/dist/routes/reservation.d.ts +3 -3
- package/dist/routes/reservation.d.ts.map +1 -1
- package/dist/routes/reservation.js +4 -4
- package/dist/routes/reservation.js.map +1 -1
- package/dist/routes/scalar.d.ts +4 -3
- package/dist/routes/scalar.d.ts.map +1 -1
- package/dist/routes/scalar.js +14 -10
- package/dist/routes/scalar.js.map +1 -1
- package/dist/routes/select.d.ts +2 -2
- package/dist/routes/select.d.ts.map +1 -1
- package/dist/routes/select.js +2 -2
- package/dist/routes/select.js.map +1 -1
- package/dist/routes/table.d.ts +10 -0
- package/dist/routes/table.d.ts.map +1 -0
- package/dist/routes/table.js +2 -0
- package/dist/routes/table.js.map +1 -0
- package/dist/routes/target.d.ts +14 -0
- package/dist/routes/target.d.ts.map +1 -0
- package/dist/routes/target.js +4 -0
- package/dist/routes/target.js.map +1 -0
- package/dist/runtime/artifact.d.ts +1 -1
- package/dist/runtime/artifact.d.ts.map +1 -1
- package/dist/runtime/artifact.js +2 -2
- package/dist/runtime/artifact.js.map +1 -1
- package/package.json +96 -3
- package/dist/routes/compile.d.ts +0 -5
- package/dist/routes/compile.d.ts.map +0 -1
- package/dist/routes/compile.js +0 -69
- package/dist/routes/compile.js.map +0 -1
- package/dist/routes/route.d.ts +0 -13
- package/dist/routes/route.d.ts.map +0 -1
- package/dist/routes/route.js +0 -6
- package/dist/routes/route.js.map +0 -1
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { type IssuerId } from '@astrale-os/kernel-core/auth';
|
|
1
|
+
import { type IssuerId } from '@astrale-os/kernel-core/auth/issuer';
|
|
2
2
|
import { NodePath } from '@astrale-os/kernel-core/path';
|
|
3
|
-
import { Key } from '@astrale-os/kernel-dsl/v1';
|
|
3
|
+
import { Key } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
4
4
|
import { type Object as ValueObject } from '@astrale-os/kernel-dsl/value';
|
|
5
5
|
import type { ErrorPayload } from '../errors/index.js';
|
|
6
6
|
import type { Etag } from '../publication/index.js';
|
|
7
7
|
import { type RequestId } from './correlation.js';
|
|
8
|
+
import { type InvocationId } from './identity.js';
|
|
8
9
|
export declare function portableObject(input: unknown, label: string): ValueObject;
|
|
9
10
|
export declare function exactDataObject(input: unknown, label: string): Record<string, unknown>;
|
|
10
11
|
export declare function exactFields(object: Record<string, unknown>, allowed: ReadonlySet<string>, label: string): void;
|
|
11
12
|
export declare function required(object: Record<string, unknown>, fields: readonly string[], label: string): void;
|
|
12
13
|
export declare function requestId(input: unknown, label: string): RequestId;
|
|
14
|
+
export declare function invocation(input: unknown, label: string): InvocationId;
|
|
13
15
|
export declare function nodePath(input: unknown, label: string): NodePath;
|
|
14
16
|
export declare function issuerId(input: unknown, label: string): IssuerId;
|
|
15
17
|
export declare function string(input: unknown, label: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../invocation/admission.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../invocation/admission.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC3F,OAAO,EAAE,QAAQ,EAAa,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,GAAG,EAAO,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAGL,KAAK,MAAM,IAAI,WAAW,EAE3B,MAAM,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAEtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAYzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBtF;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAOlE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAOtE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAQhE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAShE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAavE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAOxE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqB9E;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAE9C"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { AuthValueError
|
|
1
|
+
import { AuthValueError } from '@astrale-os/kernel-core/auth/error';
|
|
2
|
+
import { accept as acceptIssuer } from '@astrale-os/kernel-core/auth/issuer';
|
|
2
3
|
import { NodePath, PathError } from '@astrale-os/kernel-core/path';
|
|
3
|
-
import { Key, Ref } from '@astrale-os/kernel-dsl/v1';
|
|
4
|
+
import { Key, Ref } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
4
5
|
import { accept as acceptValue, BoundaryError, } from '@astrale-os/kernel-dsl/value';
|
|
5
6
|
import { CODES, acceptPayload, ProtocolError } from '../errors/index.js';
|
|
6
7
|
import { acceptRequestId } from './correlation.js';
|
|
8
|
+
import { acceptInvocationId, InvocationError } from './identity.js';
|
|
7
9
|
export function portableObject(input, label) {
|
|
8
10
|
let cloned;
|
|
9
11
|
try {
|
|
@@ -61,6 +63,16 @@ export function requestId(input, label) {
|
|
|
61
63
|
throw cause;
|
|
62
64
|
}
|
|
63
65
|
}
|
|
66
|
+
export function invocation(input, label) {
|
|
67
|
+
try {
|
|
68
|
+
return acceptInvocationId(input);
|
|
69
|
+
}
|
|
70
|
+
catch (cause) {
|
|
71
|
+
if (cause instanceof InvocationError)
|
|
72
|
+
return invalid(`${label} must be a valid Invocation`);
|
|
73
|
+
throw cause;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
64
76
|
export function nodePath(input, label) {
|
|
65
77
|
if (typeof input !== 'string')
|
|
66
78
|
invalid(`${label} must be a NodePath string`);
|
|
@@ -77,7 +89,7 @@ export function issuerId(input, label) {
|
|
|
77
89
|
if (typeof input !== 'string')
|
|
78
90
|
invalid(`${label} must be an issuer identifier`);
|
|
79
91
|
try {
|
|
80
|
-
return
|
|
92
|
+
return acceptIssuer(input);
|
|
81
93
|
}
|
|
82
94
|
catch (cause) {
|
|
83
95
|
if (cause instanceof AuthValueError)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../invocation/admission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../invocation/admission.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { RequestId } from './correlation.js';
|
|
2
|
+
import type { InvocationId } from './identity.js';
|
|
2
3
|
export interface BinaryResponse {
|
|
3
4
|
readonly kind: 'binary';
|
|
4
|
-
readonly
|
|
5
|
+
readonly requestId: RequestId;
|
|
6
|
+
readonly invocation: InvocationId;
|
|
5
7
|
readonly body: Uint8Array;
|
|
6
8
|
readonly mediaType: string;
|
|
7
9
|
readonly headers?: Readonly<Record<string, string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../invocation/binary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../invocation/binary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAajD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAmBnE"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { acceptHeaders, exactDataObject, exactFields, invalid, requestId, required, string, } from './admission.js';
|
|
2
|
-
const FIELDS = new Set(['kind', '
|
|
1
|
+
import { acceptHeaders, exactDataObject, exactFields, invalid, invocation, requestId, required, string, } from './admission.js';
|
|
2
|
+
const FIELDS = new Set(['kind', 'requestId', 'invocation', 'body', 'mediaType', 'headers']);
|
|
3
3
|
const MEDIA_TYPE = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u;
|
|
4
4
|
export function decodeBinaryResponse(input) {
|
|
5
5
|
const object = exactDataObject(input, 'binary response');
|
|
6
6
|
exactFields(object, FIELDS, 'binary response');
|
|
7
|
-
required(object, ['kind', '
|
|
7
|
+
required(object, ['kind', 'requestId', 'invocation', 'body', 'mediaType'], 'binary response');
|
|
8
8
|
if (object.kind !== 'binary')
|
|
9
9
|
invalid('binary response.kind must be "binary"');
|
|
10
10
|
if (!(object.body instanceof Uint8Array))
|
|
@@ -15,7 +15,8 @@ export function decodeBinaryResponse(input) {
|
|
|
15
15
|
const headers = object.headers === undefined ? undefined : acceptHeaders(object.headers);
|
|
16
16
|
return Object.freeze({
|
|
17
17
|
kind: 'binary',
|
|
18
|
-
|
|
18
|
+
requestId: requestId(object.requestId, 'binary response.requestId'),
|
|
19
|
+
invocation: invocation(object.invocation, 'binary response.invocation'),
|
|
19
20
|
body: new Uint8Array(object.body),
|
|
20
21
|
mediaType,
|
|
21
22
|
...(headers === undefined ? {} : { headers }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../invocation/binary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../invocation/binary.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,MAAM,GACP,MAAM,gBAAgB,CAAA;AAWvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;AAC3F,MAAM,UAAU,GAAG,6DAA6D,CAAA;AAEhF,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IACxD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC9C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAC7F,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,uCAAuC,CAAC,CAAA;IAC9E,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,YAAY,UAAU,CAAC;QAAE,OAAO,CAAC,2CAA2C,CAAC,CAAA;IAE9F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAA;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,sCAAsC,CAAC,CAAA;IAChF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAExF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC;QACnE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC;QACvE,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,SAAS;QACT,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;KAC9C,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -3,7 +3,7 @@ import type { Version } from './version.js';
|
|
|
3
3
|
export interface CancelRequest {
|
|
4
4
|
readonly version: Version;
|
|
5
5
|
readonly kind: 'cancel';
|
|
6
|
-
readonly
|
|
6
|
+
readonly requestId: RequestId;
|
|
7
7
|
}
|
|
8
8
|
export declare function decodeCancelRequest(input: unknown): CancelRequest;
|
|
9
9
|
//# sourceMappingURL=cancellation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../../invocation/cancellation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAI3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../../invocation/cancellation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAI3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAWjE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { exactFields, invalid, portableObject, requestId, required } from './admission.js';
|
|
2
|
-
const FIELDS = new Set(['version', 'kind', '
|
|
2
|
+
const FIELDS = new Set(['version', 'kind', 'requestId']);
|
|
3
3
|
export function decodeCancelRequest(input) {
|
|
4
4
|
const object = portableObject(input, 'cancel request');
|
|
5
5
|
exactFields(object, FIELDS, 'cancel request');
|
|
6
|
-
required(object, ['version', 'kind', '
|
|
6
|
+
required(object, ['version', 'kind', 'requestId'], 'cancel request');
|
|
7
7
|
if (object.version !== 2)
|
|
8
8
|
invalid('cancel request.version must be 2');
|
|
9
9
|
if (object.kind !== 'cancel')
|
|
@@ -11,7 +11,7 @@ export function decodeCancelRequest(input) {
|
|
|
11
11
|
return Object.freeze({
|
|
12
12
|
version: 2,
|
|
13
13
|
kind: 'cancel',
|
|
14
|
-
|
|
14
|
+
requestId: requestId(object.requestId, 'cancel request.requestId'),
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=cancellation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../invocation/cancellation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAQ1F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../invocation/cancellation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAQ1F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AAExD,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACtD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC7C,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACpE,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,kCAAkC,CAAC,CAAA;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,sCAAsC,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KACnE,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
import { type InvocationId } from '../identity.js';
|
|
1
2
|
export declare const BINARY_HEADERS_FIELD: 'x-astrale-binary-headers';
|
|
2
3
|
export declare const REQUEST_ID_FIELD: 'x-astrale-request-id';
|
|
4
|
+
export declare const INVOCATION_FIELD: 'x-astrale-invocation';
|
|
5
|
+
export declare const MAXIMUM_INVOCATION_FIELD_BYTES = 8192;
|
|
6
|
+
/** Encode one admitted InvocationId as percent-encoded source plus opaque ID. */
|
|
7
|
+
export declare function encodeInvocationId(input: InvocationId): string;
|
|
8
|
+
/** Decode one complete finite-binary InvocationId field. */
|
|
9
|
+
export declare function decodeInvocationId(input: string | null): InvocationId;
|
|
3
10
|
export declare function isApplicationBinaryHeader(name: string): boolean;
|
|
4
11
|
export declare function encodeBinaryHeaderNames(headers: Readonly<Record<string, string>> | undefined): string;
|
|
5
12
|
export declare function decodeBinaryHeaderNames(input: string | null): readonly string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEtE,eAAO,MAAM,oBAAoB,EAAG,0BAAmC,CAAA;AACvE,eAAO,MAAM,gBAAgB,EAAG,sBAA+B,CAAA;AAC/D,eAAO,MAAM,gBAAgB,EAAG,sBAA+B,CAAA;AAC/D,eAAO,MAAM,8BAA8B,OAAQ,CAAA;AAqCnD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAY9D;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,CAuBrE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GACpD,MAAM,CAcR;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,MAAM,EAAE,CAgB/E"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { CODES, ProtocolError } from '../../errors/index.js';
|
|
2
|
+
import { acceptInvocationId } from '../identity.js';
|
|
2
3
|
export const BINARY_HEADERS_FIELD = 'x-astrale-binary-headers';
|
|
3
4
|
export const REQUEST_ID_FIELD = 'x-astrale-request-id';
|
|
5
|
+
export const INVOCATION_FIELD = 'x-astrale-invocation';
|
|
6
|
+
export const MAXIMUM_INVOCATION_FIELD_BYTES = 8_192;
|
|
4
7
|
const HEADER_NAME = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u;
|
|
5
8
|
const MAXIMUM_MANIFEST_BYTES = 8_192;
|
|
6
9
|
const MAXIMUM_MANIFEST_NAMES = 128;
|
|
@@ -30,9 +33,50 @@ const RESERVED = new Set([
|
|
|
30
33
|
'www-authenticate',
|
|
31
34
|
EMPTY_MANIFEST,
|
|
32
35
|
BINARY_HEADERS_FIELD,
|
|
36
|
+
INVOCATION_FIELD,
|
|
33
37
|
REQUEST_ID_FIELD,
|
|
34
38
|
'x-astrale-stream-framing',
|
|
35
39
|
]);
|
|
40
|
+
/** Encode one admitted InvocationId as percent-encoded source plus opaque ID. */
|
|
41
|
+
export function encodeInvocationId(input) {
|
|
42
|
+
let source;
|
|
43
|
+
try {
|
|
44
|
+
source = encodeURIComponent(input.source);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return invalid('HTTP binary InvocationId field is invalid.');
|
|
48
|
+
}
|
|
49
|
+
const encoded = `${source};${input.id}`;
|
|
50
|
+
if (new TextEncoder().encode(encoded).byteLength > MAXIMUM_INVOCATION_FIELD_BYTES) {
|
|
51
|
+
invalid('HTTP binary InvocationId field is invalid.');
|
|
52
|
+
}
|
|
53
|
+
return encoded;
|
|
54
|
+
}
|
|
55
|
+
/** Decode one complete finite-binary InvocationId field. */
|
|
56
|
+
export function decodeInvocationId(input) {
|
|
57
|
+
if (input === null ||
|
|
58
|
+
input.length === 0 ||
|
|
59
|
+
new TextEncoder().encode(input).byteLength > MAXIMUM_INVOCATION_FIELD_BYTES) {
|
|
60
|
+
return invalid('HTTP binary InvocationId field is invalid.');
|
|
61
|
+
}
|
|
62
|
+
const separator = input.indexOf(';');
|
|
63
|
+
if (separator < 1 || input.indexOf(';', separator + 1) !== -1) {
|
|
64
|
+
invalid('HTTP binary InvocationId field is invalid.');
|
|
65
|
+
}
|
|
66
|
+
let source;
|
|
67
|
+
try {
|
|
68
|
+
source = decodeURIComponent(input.slice(0, separator));
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return invalid('HTTP binary InvocationId field is invalid.');
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
return acceptInvocationId({ source, id: input.slice(separator + 1) });
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return invalid('HTTP binary InvocationId field is invalid.');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
36
80
|
export function isApplicationBinaryHeader(name) {
|
|
37
81
|
const normalized = name.toLowerCase();
|
|
38
82
|
return (HEADER_NAME.test(normalized) &&
|
|
@@ -80,10 +124,10 @@ export function decodeBinaryHeaderNames(input) {
|
|
|
80
124
|
}
|
|
81
125
|
return Object.freeze(admitted);
|
|
82
126
|
}
|
|
83
|
-
function invalid() {
|
|
127
|
+
function invalid(message = 'HTTP binary application-header manifest is invalid.') {
|
|
84
128
|
throw new ProtocolError({
|
|
85
129
|
code: CODES.INVALID_REQUEST,
|
|
86
|
-
message
|
|
130
|
+
message,
|
|
87
131
|
});
|
|
88
132
|
}
|
|
89
133
|
//# sourceMappingURL=binary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../invocation/http/binary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, encodeBinaryHeaderNames, isApplicationBinaryHeader, REQUEST_ID_FIELD, } from './binary.js';
|
|
1
|
+
export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, decodeInvocationId, encodeBinaryHeaderNames, encodeInvocationId, isApplicationBinaryHeader, MAXIMUM_INVOCATION_FIELD_BYTES, INVOCATION_FIELD, REQUEST_ID_FIELD, } from './binary.js';
|
|
2
2
|
export { codecForContentType, negotiateResponseCodec } from './negotiation.js';
|
|
3
3
|
export { encodeStreamFrame, LENGTH_PREFIX_V1, STREAM_FRAMING_FIELD } from './stream.js';
|
|
4
4
|
export { BAGGAGE_FIELD, decodeTraceHeaders, encodeTraceHeaders, TRACEPARENT_FIELD, TRACESTATE_FIELD, } from './trace.js';
|
|
@@ -1 +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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../invocation/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAC9B,gBAAgB,EAChB,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, encodeBinaryHeaderNames, isApplicationBinaryHeader, REQUEST_ID_FIELD, } from './binary.js';
|
|
1
|
+
export { BINARY_HEADERS_FIELD, decodeBinaryHeaderNames, decodeInvocationId, encodeBinaryHeaderNames, encodeInvocationId, isApplicationBinaryHeader, MAXIMUM_INVOCATION_FIELD_BYTES, INVOCATION_FIELD, REQUEST_ID_FIELD, } from './binary.js';
|
|
2
2
|
export { codecForContentType, negotiateResponseCodec } from './negotiation.js';
|
|
3
3
|
export { encodeStreamFrame, LENGTH_PREFIX_V1, STREAM_FRAMING_FIELD } from './stream.js';
|
|
4
4
|
export { BAGGAGE_FIELD, decodeTraceHeaders, encodeTraceHeaders, TRACEPARENT_FIELD, TRACESTATE_FIELD, } from './trace.js';
|
|
@@ -1 +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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../invocation/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAC9B,gBAAgB,EAChB,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,17 @@
|
|
|
1
|
+
import type { IssuerId } from '@astrale-os/kernel-core/auth';
|
|
2
|
+
export declare const MAXIMUM_INVOCATION_ID_LENGTH = 255;
|
|
3
|
+
/** Portable identity of one source-owned Invocation attempt; it grants no authority. */
|
|
4
|
+
export interface InvocationId {
|
|
5
|
+
readonly source: IssuerId;
|
|
6
|
+
readonly id: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class InvocationError extends TypeError {
|
|
9
|
+
readonly input: unknown;
|
|
10
|
+
readonly code: 'INVOCATION_INVALID';
|
|
11
|
+
constructor(input: unknown, message?: string, options?: ErrorOptions);
|
|
12
|
+
}
|
|
13
|
+
/** Admit, canonicalize, detach, and freeze one exact source-qualified Invocation identity. */
|
|
14
|
+
export declare function acceptInvocationId(input: unknown): InvocationId;
|
|
15
|
+
/** Compare both canonical coordinate fields exactly. */
|
|
16
|
+
export declare function sameInvocationId(left: InvocationId, right: InvocationId): boolean;
|
|
17
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../invocation/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAI5D,eAAO,MAAM,4BAA4B,MAAM,CAAA;AAM/C,wFAAwF;AACxF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAI1C,QAAQ,CAAC,KAAK,EAAE,OAAO;IAHzB,QAAQ,CAAC,IAAI,EAAG,oBAAoB,CAAS;IAE7C,YACW,KAAK,EAAE,OAAO,EACvB,OAAO,SAA2B,EAClC,OAAO,CAAC,EAAE,YAAY,EAIvB;CACF;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CA2B/D;AAED,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAEjF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { issuer } from '@astrale-os/kernel-core/auth';
|
|
2
|
+
export const MAXIMUM_INVOCATION_ID_LENGTH = 255;
|
|
3
|
+
const INVALID_ID_CHARACTER = /[^A-Za-z0-9._-]/u;
|
|
4
|
+
const ID_ERROR_MESSAGE = 'InvocationId must contain 1-255 ASCII characters drawn from [A-Za-z0-9._-].';
|
|
5
|
+
export class InvocationError extends TypeError {
|
|
6
|
+
input;
|
|
7
|
+
code = 'INVOCATION_INVALID';
|
|
8
|
+
constructor(input, message = 'Invocation is invalid.', options) {
|
|
9
|
+
super(message, options);
|
|
10
|
+
this.input = input;
|
|
11
|
+
this.name = 'InvocationError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/** Admit, canonicalize, detach, and freeze one exact source-qualified Invocation identity. */
|
|
15
|
+
export function acceptInvocationId(input) {
|
|
16
|
+
if (input === null || typeof input !== 'object' || Array.isArray(input))
|
|
17
|
+
invalid(input);
|
|
18
|
+
const candidate = input;
|
|
19
|
+
const source = Object.getOwnPropertyDescriptor(candidate, 'source');
|
|
20
|
+
const id = Object.getOwnPropertyDescriptor(candidate, 'id');
|
|
21
|
+
if (Reflect.ownKeys(candidate).some((key) => key !== 'source' && key !== 'id') ||
|
|
22
|
+
source === undefined ||
|
|
23
|
+
id === undefined ||
|
|
24
|
+
!source.enumerable ||
|
|
25
|
+
!id.enumerable ||
|
|
26
|
+
!('value' in source) ||
|
|
27
|
+
!('value' in id) ||
|
|
28
|
+
typeof source.value !== 'string' ||
|
|
29
|
+
typeof id.value !== 'string') {
|
|
30
|
+
invalid(input);
|
|
31
|
+
}
|
|
32
|
+
let admittedSource;
|
|
33
|
+
try {
|
|
34
|
+
admittedSource = issuer.accept(source.value);
|
|
35
|
+
}
|
|
36
|
+
catch (cause) {
|
|
37
|
+
throw new InvocationError(input, 'Invocation source is invalid.', { cause });
|
|
38
|
+
}
|
|
39
|
+
if (!isLocalInvocationId(id.value))
|
|
40
|
+
throw new InvocationError(input, ID_ERROR_MESSAGE);
|
|
41
|
+
return Object.freeze({ source: admittedSource, id: id.value });
|
|
42
|
+
}
|
|
43
|
+
/** Compare both canonical coordinate fields exactly. */
|
|
44
|
+
export function sameInvocationId(left, right) {
|
|
45
|
+
return left.source === right.source && left.id === right.id;
|
|
46
|
+
}
|
|
47
|
+
function isLocalInvocationId(input) {
|
|
48
|
+
return (typeof input === 'string' &&
|
|
49
|
+
input.length > 0 &&
|
|
50
|
+
input.length <= MAXIMUM_INVOCATION_ID_LENGTH &&
|
|
51
|
+
!INVALID_ID_CHARACTER.test(input));
|
|
52
|
+
}
|
|
53
|
+
function invalid(input) {
|
|
54
|
+
throw new InvocationError(input);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../invocation/identity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAE/C,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AAC/C,MAAM,gBAAgB,GACpB,6EAA6E,CAAA;AAQ/E,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAIjC,KAAK;IAHP,IAAI,GAAG,oBAA6B,CAAA;IAE7C,YACW,KAAc,EACvB,OAAO,GAAG,wBAAwB,EAClC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;qBAJd,KAAK;QAKd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,8FAA8F;AAC9F,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACvF,MAAM,SAAS,GAAG,KAAe,CAAA;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACnE,MAAM,EAAE,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC3D,IACE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC;QAC1E,MAAM,KAAK,SAAS;QACpB,EAAE,KAAK,SAAS;QAChB,CAAC,MAAM,CAAC,UAAU;QAClB,CAAC,EAAE,CAAC,UAAU;QACd,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC;QACpB,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,EAC5B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,cAAwB,CAAA;IAC5B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,IAAkB,EAAE,KAAmB;IACtE,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAA;AAC7D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,IAAI,4BAA4B;QAC5C,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAClC,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -2,16 +2,17 @@ export { decodeBinaryResponse, type BinaryResponse } from './binary.js';
|
|
|
2
2
|
export { decodeCancelRequest, type CancelRequest } from './cancellation.js';
|
|
3
3
|
export { type RequestId } from './correlation.js';
|
|
4
4
|
export { acceptIdempotencyKey, HTTP_IDEMPOTENCY_KEY, MAXIMUM_IDEMPOTENCY_KEY_LENGTH, type IdempotencyKey, } from './idempotency.js';
|
|
5
|
+
export { acceptInvocationId, InvocationError, MAXIMUM_INVOCATION_ID_LENGTH, sameInvocationId, type InvocationId, } from './identity.js';
|
|
5
6
|
export * as http from './http/index.js';
|
|
6
7
|
export { acceptDelegate, type Delegate } from './delegate.js';
|
|
7
8
|
export { decodeMiss, miss, type Miss } from './miss.js';
|
|
8
|
-
export { acceptRoute,
|
|
9
|
+
export { acceptRoute, acceptRedirection, decodeRedirectResponse, remoteRoute, type RemoteBindingInput, type Redirection, type RedirectResponse, type Route, } from './redirect.js';
|
|
9
10
|
export { decodeRequest, type Request } from './request.js';
|
|
10
11
|
export { admitTrace, MAXIMUM_TRACEPARENT_BYTES, MAXIMUM_TRACESTATE_BYTES, MAXIMUM_TRACESTATE_MEMBERS, type Trace, } from './trace.js';
|
|
11
12
|
export { acceptRouting, type Refresh, type Routing, type Via } from './routing.js';
|
|
12
13
|
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';
|
|
14
|
+
export { decodeResponse, type ErrorResponse, type Response, type ResponseContext, type SuccessResponse, } from './response.js';
|
|
15
|
+
export { SCHEMA_UPGRADE_REQUIRED, SCHEMA_REVISION_MISMATCH, SERVICE_CANDIDATE_INVALID, SERVICE_TRUST_REQUIRED, SERVICE_UNAVAILABLE, serviceErrorOf, type SchemaUpgradeRequiredDetails, type SchemaUpgradeRequiredReason, type SchemaRevisionMismatchDetails, type SchemaRevisionMismatchReason, type ServiceCandidateInvalidDetails, type ServiceCandidateInvalidReason, type ServiceErrorPayload, type ServiceReason, type ServiceTrustRequiredDetails, type ServiceTrustRequiredReason, type ServiceUnavailableDetails, type ServiceUnavailableReason, } from './service-reason.js';
|
|
15
16
|
export { decodeStale, stale, type Stale } from './stale-route.js';
|
|
16
17
|
export { decodeStreamFrame, type StreamEndFrame, type StreamErrorFrame, type StreamFrame, type StreamItemFrame, type StreamStartFrame, } from './stream.js';
|
|
17
18
|
export { acceptCall, type Call } from './target.js';
|
|
@@ -1 +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,
|
|
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,EACL,kBAAkB,EAClB,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,EAChB,KAAK,YAAY,GAClB,MAAM,eAAe,CAAA;AACtB,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,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,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,EACpB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,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"}
|
package/dist/invocation/index.js
CHANGED
|
@@ -2,16 +2,17 @@ export { decodeBinaryResponse } from './binary.js';
|
|
|
2
2
|
export { decodeCancelRequest } from './cancellation.js';
|
|
3
3
|
export {} from './correlation.js';
|
|
4
4
|
export { acceptIdempotencyKey, HTTP_IDEMPOTENCY_KEY, MAXIMUM_IDEMPOTENCY_KEY_LENGTH, } from './idempotency.js';
|
|
5
|
+
export { acceptInvocationId, InvocationError, MAXIMUM_INVOCATION_ID_LENGTH, sameInvocationId, } from './identity.js';
|
|
5
6
|
export * as http from './http/index.js';
|
|
6
7
|
export { acceptDelegate } from './delegate.js';
|
|
7
8
|
export { decodeMiss, miss } from './miss.js';
|
|
8
|
-
export { acceptRoute,
|
|
9
|
+
export { acceptRoute, acceptRedirection, decodeRedirectResponse, remoteRoute, } from './redirect.js';
|
|
9
10
|
export { decodeRequest } from './request.js';
|
|
10
11
|
export { admitTrace, MAXIMUM_TRACEPARENT_BYTES, MAXIMUM_TRACESTATE_BYTES, MAXIMUM_TRACESTATE_MEMBERS, } from './trace.js';
|
|
11
12
|
export { acceptRouting } from './routing.js';
|
|
12
13
|
export { acceptSchemaTarget } from './schema.js';
|
|
13
14
|
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 { SCHEMA_UPGRADE_REQUIRED, SCHEMA_REVISION_MISMATCH, SERVICE_CANDIDATE_INVALID, SERVICE_TRUST_REQUIRED, SERVICE_UNAVAILABLE, serviceErrorOf, } from './service-reason.js';
|
|
15
16
|
export { decodeStale, stale } from './stale-route.js';
|
|
16
17
|
export { decodeStreamFrame, } from './stream.js';
|
|
17
18
|
export { acceptCall } from './target.js';
|
|
@@ -1 +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,
|
|
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,EACL,kBAAkB,EAClB,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,GAEjB,MAAM,eAAe,CAAA;AACtB,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,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,GAKZ,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,GAKf,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,GAaf,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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { RequestId } from './correlation.js';
|
|
2
|
+
import type { InvocationId } from './identity.js';
|
|
2
3
|
export interface Miss {
|
|
3
4
|
readonly kind: 'miss';
|
|
4
|
-
readonly
|
|
5
|
+
readonly requestId: RequestId;
|
|
6
|
+
readonly invocation: InvocationId;
|
|
5
7
|
}
|
|
6
8
|
export declare function decodeMiss(input: unknown): Miss;
|
|
7
|
-
export declare function miss(
|
|
9
|
+
export declare function miss(requestId: RequestId, assigned: InvocationId): Miss;
|
|
8
10
|
//# sourceMappingURL=miss.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miss.d.ts","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"miss.d.ts","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAWjD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;CAClC;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAU/C;AAED,wBAAgB,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAEvE"}
|
package/dist/invocation/miss.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import { exactFields, invalid, portableObject, requestId, required } from './admission.js';
|
|
2
|
-
const FIELDS = new Set(['kind', '
|
|
1
|
+
import { exactFields, invalid, invocation, portableObject, requestId, required, } from './admission.js';
|
|
2
|
+
const FIELDS = new Set(['kind', 'requestId', 'invocation']);
|
|
3
3
|
export function decodeMiss(input) {
|
|
4
4
|
const object = portableObject(input, 'miss control');
|
|
5
5
|
exactFields(object, FIELDS, 'miss control');
|
|
6
|
-
required(object, ['kind', '
|
|
6
|
+
required(object, ['kind', 'requestId', 'invocation'], 'miss control');
|
|
7
7
|
if (object.kind !== 'miss')
|
|
8
8
|
invalid('miss control.kind must be "miss"');
|
|
9
|
-
return Object.freeze({
|
|
9
|
+
return Object.freeze({
|
|
10
|
+
kind: 'miss',
|
|
11
|
+
requestId: requestId(object.requestId, 'miss control.requestId'),
|
|
12
|
+
invocation: invocation(object.invocation, 'miss control.invocation'),
|
|
13
|
+
});
|
|
10
14
|
}
|
|
11
|
-
export function miss(
|
|
12
|
-
return
|
|
15
|
+
export function miss(requestId, assigned) {
|
|
16
|
+
return decodeMiss({ kind: 'miss', requestId, invocation: assigned });
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=miss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miss.js","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"miss.js","sourceRoot":"","sources":["../../invocation/miss.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,GACT,MAAM,gBAAgB,CAAA;AAQvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;AAE3D,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,WAAW,EAAE,YAAY,CAAC,EAAE,cAAc,CAAC,CAAA;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,kCAAkC,CAAC,CAAA;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC;QAChE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KACrE,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,SAAoB,EAAE,QAAsB;IAC/D,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAA;AACtE,CAAC"}
|
|
@@ -1,33 +1,41 @@
|
|
|
1
|
-
import type { IssuerId } from '@astrale-os/kernel-core/auth';
|
|
1
|
+
import type { IssuerId } from '@astrale-os/kernel-core/auth/issuer';
|
|
2
2
|
import type { Key } from '@astrale-os/kernel-dsl/v1';
|
|
3
|
+
import type { InvocationEndpoints } from '../publication/bindings/invocation.js';
|
|
4
|
+
import type { Etag } from '../publication/etag.js';
|
|
5
|
+
import type { PublicationRef } from '../publication/reference.js';
|
|
3
6
|
import type { RequestId } from './correlation.js';
|
|
7
|
+
import type { InvocationId } from './identity.js';
|
|
4
8
|
import type { Trace } from './trace.js';
|
|
5
|
-
import * as publication from '../publication/index.js';
|
|
6
9
|
export interface Route {
|
|
7
|
-
readonly endpoint:
|
|
10
|
+
readonly endpoint: InvocationEndpoints;
|
|
8
11
|
readonly via: {
|
|
9
12
|
readonly kind: 'via';
|
|
10
|
-
readonly publication:
|
|
13
|
+
readonly publication: PublicationRef;
|
|
11
14
|
readonly issuer: IssuerId;
|
|
12
15
|
};
|
|
13
16
|
}
|
|
14
|
-
export interface
|
|
15
|
-
readonly kind: 'redirect';
|
|
16
|
-
readonly id: RequestId;
|
|
17
|
+
export interface Redirection {
|
|
17
18
|
readonly route: Route;
|
|
18
19
|
readonly credential?: string;
|
|
19
20
|
/** Ephemeral one-hop correlation hint; never cached or treated as authority. */
|
|
20
21
|
readonly trace?: Trace;
|
|
21
22
|
}
|
|
23
|
+
export interface RedirectResponse {
|
|
24
|
+
readonly kind: 'redirect';
|
|
25
|
+
readonly requestId: RequestId;
|
|
26
|
+
readonly invocation: InvocationId;
|
|
27
|
+
readonly redirect: Redirection;
|
|
28
|
+
}
|
|
22
29
|
export interface RemoteBindingInput {
|
|
23
|
-
readonly endpoint:
|
|
30
|
+
readonly endpoint: InvocationEndpoints;
|
|
24
31
|
readonly issuer: IssuerId;
|
|
25
32
|
readonly subject: string;
|
|
26
|
-
readonly revision:
|
|
27
|
-
readonly etag:
|
|
33
|
+
readonly revision: PublicationRef['revision'];
|
|
34
|
+
readonly etag: Etag;
|
|
28
35
|
}
|
|
29
36
|
export declare function acceptRoute(input: unknown): Route;
|
|
30
37
|
/** Project one semantic remote binding into its admitted protocol route representation. */
|
|
31
38
|
export declare function remoteRoute(origin: Key.Origin, binding: RemoteBindingInput, issuer: IssuerId): Route;
|
|
32
|
-
export declare function
|
|
39
|
+
export declare function acceptRedirection(input: unknown): Redirection;
|
|
40
|
+
export declare function decodeRedirectResponse(input: unknown): RedirectResponse;
|
|
33
41
|
//# sourceMappingURL=redirect.d.ts.map
|