@astrale-os/kernel-protocol 0.5.0-beta.3 → 0.5.0-beta.5
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 +2 -2
- package/dist/invocation/admission.d.ts.map +1 -1
- package/dist/invocation/admission.js +4 -3
- package/dist/invocation/admission.js.map +1 -1
- package/dist/invocation/index.d.ts +1 -1
- package/dist/invocation/index.d.ts.map +1 -1
- package/dist/invocation/index.js +1 -1
- package/dist/invocation/index.js.map +1 -1
- package/dist/invocation/redirect.d.ts +9 -7
- package/dist/invocation/redirect.d.ts.map +1 -1
- package/dist/invocation/redirect.js +6 -4
- package/dist/invocation/redirect.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/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 +8 -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callable.js","sourceRoot":"","sources":["../../../publication/bindings/callable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"callable.js","sourceRoot":"","sources":["../../../publication/bindings/callable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,sCAAsC,CAAA;AAI/D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAO3D,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,MAAc;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,6BAA6B,EAAE,8BAA8B,CAAC,CAAA;IAC1F,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,6BAA6B,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;QAClD,QAAQ,EAAE,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC;KACpD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,MAAc;IAC7D,IAAI,QAAsB,CAAA;IAC1B,IAAI,CAAC;QACH,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAiB,CAAA;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,6BAA6B,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAC/E,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnC,IACE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM;QAC/B,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAChE,CAAC;QACD,IAAI,CAAC,6BAA6B,EAAE,0DAA0D,CAAC,CAAA;IACjG,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../publication/bindings/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../publication/bindings/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sCAAsC,CAAA;AAK1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAA;CACrC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAyB5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../publication/bindings/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../publication/bindings/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sCAAsC,CAAA;AAE1D,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAQlC,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,MAAc;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,0BAA0B,EAAE,oCAAoC,CAAC,CAAA;IAC7F,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,0BAA0B,CAAC,CAAA;IAEvE,IAAI,IAAc,CAAA;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAa,CAAA;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,0BAA0B,EAAE,qCAAqC,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC9D,IAAI,CAAC,0BAA0B,EAAE,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,0BAA0B,CAAC;QACnE,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as dslBundle from '@astrale-os/kernel-dsl/v1/bundle';
|
|
2
|
+
import type { Publication } from './publication.js';
|
|
3
|
+
export declare function acceptBundle(input: Publication, artifact: unknown): dslBundle.Bundle;
|
|
4
|
+
export declare function decodeBundle(input: Publication, bytes: Uint8Array): dslBundle.Bundle;
|
|
5
|
+
//# sourceMappingURL=bundle-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-admission.d.ts","sourceRoot":"","sources":["../../publication/bundle-admission.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,kCAAkC,CAAA;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMnD,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC,MAAM,CAKpF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,CAIpF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Key, Ref } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
|
+
import * as dslBundle from '@astrale-os/kernel-dsl/v1/bundle';
|
|
3
|
+
import { revisionOfDomainSchema } from '@astrale-os/kernel-dsl/v1/schema/revision';
|
|
4
|
+
import { acceptBundleValue, decodeBundleValue, verifyBundleBytes } from './bundle.js';
|
|
5
|
+
import { fail } from './error.js';
|
|
6
|
+
import { validateRequirements } from './requirements.js';
|
|
7
|
+
export function acceptBundle(input, artifact) {
|
|
8
|
+
const accepted = acceptBundleValue(artifact);
|
|
9
|
+
verifyBundleBytes(input, dslBundle.encode(accepted));
|
|
10
|
+
validateInventory(input, accepted);
|
|
11
|
+
return accepted;
|
|
12
|
+
}
|
|
13
|
+
export function decodeBundle(input, bytes) {
|
|
14
|
+
const decoded = decodeBundleValue(input, bytes);
|
|
15
|
+
validateInventory(input, decoded);
|
|
16
|
+
return decoded;
|
|
17
|
+
}
|
|
18
|
+
function validateInventory(publication, bundle) {
|
|
19
|
+
const root = bundle.root;
|
|
20
|
+
if (root.origin !== publication.origin ||
|
|
21
|
+
revisionOfDomainSchema(root) !== publication.schema.revision) {
|
|
22
|
+
fail('PUBLICATION_INVALID', 'Bundle root does not match the Publication schema.');
|
|
23
|
+
}
|
|
24
|
+
validateRequirements(root, bundle.closure, publication.requirements);
|
|
25
|
+
const callables = concreteCallables(root);
|
|
26
|
+
const publishedCallables = new Set(publication.bindings.callables.map(({ callable }) => callable));
|
|
27
|
+
if (publishedCallables.size !== callables.size ||
|
|
28
|
+
[...callables].some((key) => !publishedCallables.has(key))) {
|
|
29
|
+
fail('PUBLICATION_BINDING_INVALID', 'Callable bindings must exhaust the root Domain.');
|
|
30
|
+
}
|
|
31
|
+
const views = new Set(Object.keys(root.views).map((name) => Key.of(root.origin, Ref.definition('view', name))));
|
|
32
|
+
const publishedViews = new Set(publication.bindings.views.map(({ view }) => view));
|
|
33
|
+
if (publishedViews.size !== views.size || [...views].some((key) => !publishedViews.has(key))) {
|
|
34
|
+
fail('PUBLICATION_VIEW_INVALID', 'View bindings must exhaust the root Domain.');
|
|
35
|
+
}
|
|
36
|
+
if (publication.manifest?.entrypoint !== undefined &&
|
|
37
|
+
root.views[Ref.member(publication.manifest.entrypoint)] === undefined) {
|
|
38
|
+
fail('PUBLICATION_INVALID', 'Manifest entrypoint does not exist in the root schema.');
|
|
39
|
+
}
|
|
40
|
+
for (const route of publication.routes) {
|
|
41
|
+
if (!callables.has(route.callable)) {
|
|
42
|
+
fail('PUBLICATION_ROUTE_INVALID', `Route ${route.name} names an unknown callable.`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function concreteCallables(root) {
|
|
47
|
+
const result = new Set();
|
|
48
|
+
for (const name of Object.keys(root.functions)) {
|
|
49
|
+
result.add(Key.of(root.origin, Ref.definition('function', name)));
|
|
50
|
+
}
|
|
51
|
+
addConcreteMethods(result, root.origin, 'class', root.classes);
|
|
52
|
+
addConcreteMethods(result, root.origin, 'interface', root.interfaces);
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
function addConcreteMethods(result, origin, kind, definitions) {
|
|
56
|
+
for (const [owner, declaration] of Object.entries(definitions)) {
|
|
57
|
+
if (declaration.family !== 'node')
|
|
58
|
+
continue;
|
|
59
|
+
for (const [name, method] of Object.entries(declaration.methods)) {
|
|
60
|
+
if (method.inheritance === 'abstract')
|
|
61
|
+
continue;
|
|
62
|
+
result.add(Key.of(origin, Ref.method(Ref.definition(kind, owner), name)));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=bundle-admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-admission.js","sourceRoot":"","sources":["../../publication/bundle-admission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as artifact from '../artifact/index.js';
|
|
2
|
+
export declare const BUNDLE_MEDIA_TYPE: 'application/vnd.astrale.domain-bundle+json;v=1';
|
|
3
|
+
export interface BundleDescriptor {
|
|
4
|
+
readonly href: string;
|
|
5
|
+
readonly ref: artifact.Ref & {
|
|
6
|
+
readonly mediaType: typeof BUNDLE_MEDIA_TYPE;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare function admitBundleDescriptor(input: unknown): BundleDescriptor;
|
|
10
|
+
//# sourceMappingURL=bundle-descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-descriptor.d.ts","sourceRoot":"","sources":["../../publication/bundle-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAIhD,eAAO,MAAM,iBAAiB,EAAG,gDAAyD,CAAA;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG;QAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,iBAAiB,CAAA;KAAE,CAAA;CAC9E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CActE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as artifact from '../artifact/index.js';
|
|
2
|
+
import { absoluteHttpUrl, exact, record } from './content.js';
|
|
3
|
+
import { fail } from './error.js';
|
|
4
|
+
export const BUNDLE_MEDIA_TYPE = 'application/vnd.astrale.domain-bundle+json;v=1';
|
|
5
|
+
export function admitBundleDescriptor(input) {
|
|
6
|
+
const value = record(input, 'PUBLICATION_INVALID', 'Bundle descriptor is invalid.');
|
|
7
|
+
exact(value, ['href', 'ref'], 'PUBLICATION_INVALID');
|
|
8
|
+
const ref = artifact.accept(value.ref);
|
|
9
|
+
if (ref.mediaType !== BUNDLE_MEDIA_TYPE) {
|
|
10
|
+
fail('PUBLICATION_INVALID', 'Bundle media type is unsupported.');
|
|
11
|
+
}
|
|
12
|
+
if (ref.size < 1) {
|
|
13
|
+
fail('PUBLICATION_INVALID', 'Bundle size is invalid.');
|
|
14
|
+
}
|
|
15
|
+
return Object.freeze({
|
|
16
|
+
href: absoluteHttpUrl(value.href, true, 'PUBLICATION_INVALID'),
|
|
17
|
+
ref: Object.freeze({ ...ref, mediaType: BUNDLE_MEDIA_TYPE }),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=bundle-descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-descriptor.js","sourceRoot":"","sources":["../../publication/bundle-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,gDAAyD,CAAA;AAO1F,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,+BAA+B,CAAC,CAAA;IACnF,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAA;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtC,IAAI,GAAG,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QACxC,IAAI,CAAC,qBAAqB,EAAE,mCAAmC,CAAC,CAAA;IAClE,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,qBAAqB,CAAC;QAC9D,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;KAC7D,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Publication } from './publication.js';
|
|
2
|
+
/** Verify exact artifact bytes without decoding an authored Schema Bundle. */
|
|
3
|
+
export declare function verifyBundleBytes(publication: Publication, bytes: Uint8Array): void;
|
|
4
|
+
//# sourceMappingURL=bundle-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-evidence.d.ts","sourceRoot":"","sources":["../../publication/bundle-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAKnD,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAWnF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { fail } from './error.js';
|
|
2
|
+
import { sha256Hex } from './etag.js';
|
|
3
|
+
/** Verify exact artifact bytes without decoding an authored Schema Bundle. */
|
|
4
|
+
export function verifyBundleBytes(publication, bytes) {
|
|
5
|
+
if (!(bytes instanceof Uint8Array)) {
|
|
6
|
+
fail('PUBLICATION_INVALID', 'Bundle artifact bytes are invalid.');
|
|
7
|
+
}
|
|
8
|
+
const descriptor = publication.schema.bundle;
|
|
9
|
+
if (bytes.byteLength !== descriptor.ref.size ||
|
|
10
|
+
`sha256:${sha256Hex(bytes)}` !== descriptor.ref.digest) {
|
|
11
|
+
fail('PUBLICATION_INVALID', 'Bundle artifact does not match its descriptor.');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=bundle-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-evidence.js","sourceRoot":"","sources":["../../publication/bundle-evidence.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,WAAwB,EAAE,KAAiB;IAC3E,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,EAAE,oCAAoC,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAA;IAC5C,IACE,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,GAAG,CAAC,IAAI;QACxC,UAAU,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,GAAG,CAAC,MAAM,EACtD,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,gDAAgD,CAAC,CAAA;IAC/E,CAAC;AACH,CAAC"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import { bundle } from '@astrale-os/kernel-dsl/v1';
|
|
2
|
+
import type { BundleDescriptor } from './bundle-descriptor.js';
|
|
2
3
|
import type { Publication } from './publication.js';
|
|
3
|
-
import
|
|
4
|
-
export declare const BUNDLE_MEDIA_TYPE: 'application/vnd.astrale.domain-bundle+json;v=1';
|
|
5
|
-
export interface BundleDescriptor {
|
|
6
|
-
readonly href: string;
|
|
7
|
-
readonly ref: artifact.Ref & {
|
|
8
|
-
readonly mediaType: typeof BUNDLE_MEDIA_TYPE;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
export declare function admitBundleDescriptor(input: unknown): BundleDescriptor;
|
|
4
|
+
import { verifyBundleBytes } from './bundle-evidence.js';
|
|
12
5
|
export declare function describeBundle(input: bundle.Bundle, href: string): BundleDescriptor;
|
|
13
6
|
export declare function acceptBundleValue(input: unknown): bundle.Bundle;
|
|
14
|
-
export declare function verifyBundleBytes(publication: Publication, bytes: Uint8Array): void;
|
|
15
7
|
export declare function decodeBundleValue(publication: Publication, bytes: Uint8Array): bundle.Bundle;
|
|
8
|
+
export { verifyBundleBytes };
|
|
9
|
+
export { admitBundleDescriptor, BUNDLE_MEDIA_TYPE, type BundleDescriptor, } from './bundle-descriptor.js';
|
|
16
10
|
//# sourceMappingURL=bundle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../publication/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,2BAA2B,CAAA;AAE1D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../publication/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,2BAA2B,CAAA;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAInD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIxD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CASnF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAS/D;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAa5F;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAA"}
|
|
@@ -1,24 +1,9 @@
|
|
|
1
1
|
import { bundle, schema } from '@astrale-os/kernel-dsl/v1';
|
|
2
2
|
import * as artifact from '../artifact/index.js';
|
|
3
|
-
import {
|
|
3
|
+
import { BUNDLE_MEDIA_TYPE } from './bundle-descriptor.js';
|
|
4
|
+
import { verifyBundleBytes } from './bundle-evidence.js';
|
|
5
|
+
import { absoluteHttpUrl } from './content.js';
|
|
4
6
|
import { fail } from './error.js';
|
|
5
|
-
import { sha256Hex } from './etag.js';
|
|
6
|
-
export const BUNDLE_MEDIA_TYPE = 'application/vnd.astrale.domain-bundle+json;v=1';
|
|
7
|
-
export function admitBundleDescriptor(input) {
|
|
8
|
-
const value = record(input, 'PUBLICATION_INVALID', 'Bundle descriptor is invalid.');
|
|
9
|
-
exact(value, ['href', 'ref'], 'PUBLICATION_INVALID');
|
|
10
|
-
const ref = artifact.accept(value.ref);
|
|
11
|
-
if (ref.mediaType !== BUNDLE_MEDIA_TYPE) {
|
|
12
|
-
fail('PUBLICATION_INVALID', 'Bundle media type is unsupported.');
|
|
13
|
-
}
|
|
14
|
-
if (ref.size < 1) {
|
|
15
|
-
fail('PUBLICATION_INVALID', 'Bundle size is invalid.');
|
|
16
|
-
}
|
|
17
|
-
return Object.freeze({
|
|
18
|
-
href: absoluteHttpUrl(value.href, true, 'PUBLICATION_INVALID'),
|
|
19
|
-
ref: Object.freeze({ ...ref, mediaType: BUNDLE_MEDIA_TYPE }),
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
7
|
export function describeBundle(input, href) {
|
|
23
8
|
const bytes = bundle.encode(input);
|
|
24
9
|
return Object.freeze({
|
|
@@ -40,13 +25,6 @@ export function acceptBundleValue(input) {
|
|
|
40
25
|
throw cause;
|
|
41
26
|
}
|
|
42
27
|
}
|
|
43
|
-
export function verifyBundleBytes(publication, bytes) {
|
|
44
|
-
const descriptor = publication.schema.bundle;
|
|
45
|
-
if (bytes.byteLength !== descriptor.ref.size ||
|
|
46
|
-
`sha256:${sha256Hex(bytes)}` !== descriptor.ref.digest) {
|
|
47
|
-
fail('PUBLICATION_INVALID', 'Bundle artifact does not match its descriptor.');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
28
|
export function decodeBundleValue(publication, bytes) {
|
|
51
29
|
if (!(bytes instanceof Uint8Array)) {
|
|
52
30
|
fail('PUBLICATION_INVALID', 'Bundle artifact bytes are invalid.');
|
|
@@ -62,4 +40,6 @@ export function decodeBundleValue(publication, bytes) {
|
|
|
62
40
|
throw cause;
|
|
63
41
|
}
|
|
64
42
|
}
|
|
43
|
+
export { verifyBundleBytes };
|
|
44
|
+
export { admitBundleDescriptor, BUNDLE_MEDIA_TYPE, } from './bundle-descriptor.js';
|
|
65
45
|
//# sourceMappingURL=bundle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../publication/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../publication/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAK1D,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,IAAY;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACxD,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;YACjB,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;YAC9C,SAAS,EAAE,iBAAiB;SAC7B,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,qBAAqB,EAAE,gCAAgC,EAAE,KAAK,CAAC,CAAA;QAC7E,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAwB,EAAE,KAAiB;IAC3E,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,EAAE,oCAAoC,CAAC,CAAA;IACnE,CAAC;IACD,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,qBAAqB,EAAE,oCAAoC,EAAE,KAAK,CAAC,CAAA;QACjF,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Authentication as DeliveryAuthentication } from './delivery-endpoint.js';
|
|
2
|
+
import type { HttpRouteDeclaration } from './route.js';
|
|
3
|
+
export interface DeliveryDeclaration {
|
|
4
|
+
readonly path: string;
|
|
5
|
+
readonly authentication: DeliveryAuthentication;
|
|
6
|
+
}
|
|
7
|
+
/** Provider-neutral deployment input selected independently from Domain and Adapter. */
|
|
8
|
+
export interface Declaration {
|
|
9
|
+
readonly routes: readonly HttpRouteDeclaration[];
|
|
10
|
+
readonly delivery?: DeliveryDeclaration;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=declaration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../publication/declaration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAA;CAChD;AAED,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAA;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../publication/declaration.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import type
|
|
1
|
+
import type { Subject } from '@astrale-os/kernel-core/auth/identity';
|
|
2
|
+
import type { Revision } from '@astrale-os/kernel-dsl/v1/schema';
|
|
3
|
+
import { type IssuerId } from '@astrale-os/kernel-core/auth/issuer';
|
|
4
|
+
import type { Etag } from '../etag.js';
|
|
4
5
|
import { PURPOSE } from './limits.js';
|
|
5
6
|
export interface Claims {
|
|
6
7
|
readonly purpose: typeof PURPOSE;
|
|
7
|
-
readonly iss:
|
|
8
|
-
readonly sub:
|
|
9
|
-
readonly aud:
|
|
8
|
+
readonly iss: IssuerId;
|
|
9
|
+
readonly sub: Subject;
|
|
10
|
+
readonly aud: IssuerId;
|
|
10
11
|
readonly nonce: string;
|
|
11
12
|
readonly etag: Etag;
|
|
12
|
-
readonly schemaRevision:
|
|
13
|
+
readonly schemaRevision: Revision;
|
|
13
14
|
readonly exp: number;
|
|
14
15
|
}
|
|
15
16
|
export declare function acceptClaims(input: unknown): Claims;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../publication/delivery/claims.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../publication/delivery/claims.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAA;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAGhE,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAG7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGtC,OAAO,EAAsC,OAAO,EAAE,MAAM,aAAa,CAAA;AAEzE,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,OAAO,CAAA;IAChC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAA;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAyCnD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { AuthValueError } from '@astrale-os/kernel-core/auth/error';
|
|
2
|
+
import { accept as acceptIssuerId } from '@astrale-os/kernel-core/auth/issuer';
|
|
3
|
+
import { patterns } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
3
4
|
import { fail } from './error.js';
|
|
4
5
|
import { NONCE_MAX_LENGTH, NONCE_MIN_LENGTH, PURPOSE } from './limits.js';
|
|
5
6
|
export function acceptClaims(input) {
|
|
@@ -26,8 +27,7 @@ export function acceptClaims(input) {
|
|
|
26
27
|
if (typeof value.etag !== 'string' || !/^sha256:[0-9a-f]{64}$/u.test(value.etag)) {
|
|
27
28
|
fail('DELIVERY_CLAIMS_INVALID', 'Delivery claims ETag is invalid.');
|
|
28
29
|
}
|
|
29
|
-
if (typeof value.schemaRevision !== 'string' ||
|
|
30
|
-
!dslSchema.patterns.revision.test(value.schemaRevision)) {
|
|
30
|
+
if (typeof value.schemaRevision !== 'string' || !patterns.revision.test(value.schemaRevision)) {
|
|
31
31
|
fail('DELIVERY_CLAIMS_INVALID', 'Schema revision is invalid.');
|
|
32
32
|
}
|
|
33
33
|
return deepFreeze({
|
|
@@ -43,10 +43,10 @@ export function acceptClaims(input) {
|
|
|
43
43
|
}
|
|
44
44
|
function acceptIssuer(input) {
|
|
45
45
|
try {
|
|
46
|
-
return
|
|
46
|
+
return acceptIssuerId(String(input));
|
|
47
47
|
}
|
|
48
48
|
catch (cause) {
|
|
49
|
-
if (cause instanceof
|
|
49
|
+
if (cause instanceof AuthValueError) {
|
|
50
50
|
return fail('DELIVERY_CLAIMS_INVALID', 'Delivery claims issuer is invalid.', cause);
|
|
51
51
|
}
|
|
52
52
|
throw cause;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../publication/delivery/claims.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../publication/delivery/claims.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../publication/delivery/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../publication/delivery/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMnD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CAClC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAmB/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../publication/delivery/delivery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../publication/delivery/delivery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AASjC,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAA;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,KAAgC,CAAA;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAA;IAC7E,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,yBAAyB,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAA;IACrE,CAAC;IAED,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC;QACjD,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC;KAClD,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAI,KAAQ;IAC7B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC;QAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IACxF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { Etag } from '../
|
|
1
|
+
import { type IssuerId } from '@astrale-os/kernel-core/auth/issuer';
|
|
2
|
+
import type { Etag } from '../etag.js';
|
|
3
3
|
export interface Request {
|
|
4
4
|
readonly version: 1;
|
|
5
|
-
readonly kernel:
|
|
5
|
+
readonly kernel: IssuerId;
|
|
6
6
|
readonly nonce: string;
|
|
7
7
|
readonly etag: Etag;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../publication/delivery/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../publication/delivery/request.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAE3F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAKtC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACpB;AAED,yEAAyE;AACzE,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiDrD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
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 { fail } from './error.js';
|
|
3
4
|
import { NONCE_MAX_LENGTH, NONCE_MIN_LENGTH } from './limits.js';
|
|
4
5
|
/** Admit the exact request representation accepted by a Delivery transport boundary. */
|
|
@@ -34,10 +35,10 @@ export function acceptRequest(input) {
|
|
|
34
35
|
}
|
|
35
36
|
let kernel;
|
|
36
37
|
try {
|
|
37
|
-
kernel =
|
|
38
|
+
kernel = acceptIssuer(value.kernel);
|
|
38
39
|
}
|
|
39
40
|
catch (cause) {
|
|
40
|
-
if (cause instanceof
|
|
41
|
+
if (cause instanceof AuthValueError) {
|
|
41
42
|
return fail('DELIVERY_REQUEST_INVALID', 'Delivery request issuer is invalid.', cause);
|
|
42
43
|
}
|
|
43
44
|
throw cause;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../publication/delivery/request.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../publication/delivery/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAiB,MAAM,qCAAqC,CAAA;AAI3F,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAehE,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACvD,MAAM,KAAK,GAA4B,EAAE,CAAA;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;IAClE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;QAClE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAChE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;QAClE,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAA;IACjC,CAAC;IACD,IACE,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,KAAK,CAAC,OAAO,KAAK,CAAC;QACnB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB;QACrC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB;QACrC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAC1C,CAAC;QACD,IAAI,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,MAAgB,CAAA;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,0BAA0B,EAAE,qCAAqC,EAAE,KAAK,CAAC,CAAA;QACvF,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC;QACV,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAY;KACzB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DeliveryDeclaration } from './declaration.js';
|
|
2
|
+
import type { Endpoint } from './delivery-endpoint.js';
|
|
3
|
+
/** Place one provider-neutral Delivery declaration beneath an exact serving issuer. */
|
|
4
|
+
export declare function placeDelivery(input: DeliveryDeclaration, issuer: string, bundleHref: string): Endpoint;
|
|
5
|
+
//# sourceMappingURL=delivery-declaration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-declaration.d.ts","sourceRoot":"","sources":["../../publication/delivery-declaration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAKtD,uFAAuF;AACvF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,QAAQ,CAsBV"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { admitEndpoint } from './delivery-endpoint.js';
|
|
2
|
+
import { fail } from './error.js';
|
|
3
|
+
/** Place one provider-neutral Delivery declaration beneath an exact serving issuer. */
|
|
4
|
+
export function placeDelivery(input, issuer, bundleHref) {
|
|
5
|
+
if (input === null || typeof input !== 'object' || Array.isArray(input)) {
|
|
6
|
+
fail('PUBLICATION_INVALID', 'Delivery declaration is invalid.');
|
|
7
|
+
}
|
|
8
|
+
if (Reflect.ownKeys(input).some((key) => key !== 'path' && key !== 'authentication') ||
|
|
9
|
+
typeof input.path !== 'string' ||
|
|
10
|
+
!input.path.startsWith('/')) {
|
|
11
|
+
fail('PUBLICATION_INVALID', 'Delivery declaration is invalid.');
|
|
12
|
+
}
|
|
13
|
+
let href;
|
|
14
|
+
try {
|
|
15
|
+
const url = new URL(input.path, issuer);
|
|
16
|
+
if (url.origin !== new URL(issuer).origin || url.search !== '' || url.hash !== '') {
|
|
17
|
+
fail('PUBLICATION_INVALID', 'Delivery declaration must be one relative path.');
|
|
18
|
+
}
|
|
19
|
+
href = url.href;
|
|
20
|
+
}
|
|
21
|
+
catch (cause) {
|
|
22
|
+
return fail('PUBLICATION_INVALID', 'Delivery declaration path is invalid.', cause);
|
|
23
|
+
}
|
|
24
|
+
return admitEndpoint({ href, method: 'POST', authentication: input.authentication }, bundleHref);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=delivery-declaration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-declaration.js","sourceRoot":"","sources":["../../publication/delivery-declaration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAC3B,KAA0B,EAC1B,MAAc,EACd,UAAkB;IAElB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAA;IACjE,CAAC;IACD,IACE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,gBAAgB,CAAC;QAChF,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAC3B,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAA;IACjE,CAAC;IACD,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YAClF,IAAI,CAAC,qBAAqB,EAAE,iDAAiD,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,KAAK,CAAC,CAAA;IACpF,CAAC;IACD,OAAO,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,UAAU,CAAE,CAAA;AACnG,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export { MEDIA_TYPE, PATH, url, seal, accept, encode,
|
|
1
|
+
export { MEDIA_TYPE, PATH, url, seal, accept, encode, type Publication } from './publication.js';
|
|
2
|
+
export { acceptBundle, decodeBundle } from './bundle-admission.js';
|
|
2
3
|
export { BUNDLE_MEDIA_TYPE, describeBundle, type BundleDescriptor } from './bundle.js';
|
|
4
|
+
export { verifyBundleBytes } from './bundle-evidence.js';
|
|
3
5
|
export type { Content } from './content.js';
|
|
6
|
+
export type { Declaration, DeliveryDeclaration } from './declaration.js';
|
|
7
|
+
export { placeDelivery } from './delivery-declaration.js';
|
|
4
8
|
export type { Etag, Sha256Digest } from './etag.js';
|
|
5
9
|
export { PublicationError, type PublicationErrorCode } from './error.js';
|
|
6
10
|
export * as delivery from './delivery/index.js';
|
|
@@ -8,7 +12,7 @@ export type { Authentication as DeliveryAuthentication, Endpoint as DeliveryEndp
|
|
|
8
12
|
export type { Manifest } from './manifest.js';
|
|
9
13
|
export { ClassOperationOrder, admitRequirements, validateRequirements, type CapabilityAdminRequirements, type CapabilityRequirements, type ClassCapabilityRequirement, type ClassOperation, type NonEmpty, type PublicationRequirements, } from './requirements.js';
|
|
10
14
|
export { acceptReference, compareReference, compareReferences, matchesReference, reference, type PublicationRef, type PublicationReferenceRelation, } from './reference.js';
|
|
11
|
-
export type { BodyPick, CredentialSource, HttpMethod, HttpRoute, RouteBody, RouteHeaders, SingleCredentialSource, } from './route.js';
|
|
15
|
+
export type { BodyPick, CredentialSource, HttpMethod, HttpRoute, HttpRouteDeclaration, RouteBody, RouteHeaders, SingleCredentialSource, } from './route.js';
|
|
12
16
|
export type { Schema } from './schema.js';
|
|
13
17
|
export { acceptInvocationEndpoints, type CallableBinding, type InvocationEndpoints, type ViewBinding, } from './bindings/index.js';
|
|
14
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../publication/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../publication/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,YAAY,EACV,cAAc,IAAI,sBAAsB,EACxC,QAAQ,IAAI,gBAAgB,GAC7B,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,uBAAuB,GAC7B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,4BAA4B,GAClC,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,sBAAsB,GACvB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EACL,yBAAyB,EACzB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAA"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
export { MEDIA_TYPE, PATH, url, seal, accept, encode
|
|
1
|
+
export { MEDIA_TYPE, PATH, url, seal, accept, encode } from './publication.js';
|
|
2
|
+
export { acceptBundle, decodeBundle } from './bundle-admission.js';
|
|
2
3
|
export { BUNDLE_MEDIA_TYPE, describeBundle } from './bundle.js';
|
|
4
|
+
export { verifyBundleBytes } from './bundle-evidence.js';
|
|
5
|
+
export { placeDelivery } from './delivery-declaration.js';
|
|
3
6
|
export { PublicationError } from './error.js';
|
|
4
7
|
export * as delivery from './delivery/index.js';
|
|
5
8
|
export { ClassOperationOrder, admitRequirements, validateRequirements, } from './requirements.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../publication/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../publication/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAoB,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAyB,MAAM,aAAa,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,EAAE,gBAAgB,EAA6B,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAM/C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GAOrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GAGV,MAAM,gBAAgB,CAAA;AAYvB,OAAO,EACL,yBAAyB,GAI1B,MAAM,qBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../publication/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../publication/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sCAAsC,CAAA;AAK1D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,IAAI,CAAA;CAC/B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAyBlE"}
|