@astrale-os/kernel-protocol 0.5.0-beta.5 → 0.5.0-beta.51
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/artifact/index.d.ts +0 -1
- package/dist/artifact/index.js +0 -1
- package/dist/artifact/ref.d.ts +0 -1
- package/dist/artifact/ref.js +0 -1
- package/dist/codecs/codec.d.ts +0 -1
- package/dist/codecs/codec.js +0 -1
- package/dist/codecs/index.d.ts +0 -1
- package/dist/codecs/index.js +0 -1
- package/dist/codecs/json.d.ts +0 -1
- package/dist/codecs/json.js +0 -1
- package/dist/codecs/media-types.d.ts +0 -1
- package/dist/codecs/media-types.js +0 -1
- package/dist/codecs/msgpack.d.ts +0 -1
- package/dist/codecs/msgpack.js +1 -5
- package/dist/errors/codes.d.ts +0 -1
- package/dist/errors/codes.js +0 -1
- package/dist/errors/http-status.d.ts +0 -1
- package/dist/errors/http-status.js +0 -1
- package/dist/errors/index.d.ts +0 -1
- package/dist/errors/index.js +0 -1
- package/dist/errors/payload.d.ts +0 -1
- package/dist/errors/payload.js +3 -3
- package/dist/errors/protocol-error.d.ts +0 -1
- package/dist/errors/protocol-error.js +4 -3
- package/dist/errors/reason.d.ts +0 -1
- package/dist/errors/reason.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/invocation/admission.d.ts +0 -1
- package/dist/invocation/admission.js +2 -6
- package/dist/invocation/binary.d.ts +1 -1
- package/dist/invocation/binary.js +14 -2
- package/dist/invocation/binding-codecs.d.ts +0 -1
- package/dist/invocation/binding-codecs.js +0 -1
- package/dist/invocation/cancellation.d.ts +0 -1
- package/dist/invocation/cancellation.js +0 -1
- package/dist/invocation/correlation.d.ts +0 -1
- package/dist/invocation/correlation.js +0 -1
- package/dist/invocation/delegate.d.ts +0 -1
- package/dist/invocation/delegate.js +0 -1
- package/dist/invocation/http/binary.d.ts +3 -2
- package/dist/invocation/http/binary.js +4 -2
- package/dist/invocation/http/index.d.ts +1 -2
- package/dist/invocation/http/index.js +1 -2
- package/dist/invocation/http/negotiation.d.ts +0 -1
- package/dist/invocation/http/negotiation.js +0 -1
- package/dist/invocation/http/stream.d.ts +0 -1
- package/dist/invocation/http/stream.js +0 -1
- package/dist/invocation/http/trace.d.ts +0 -1
- package/dist/invocation/http/trace.js +0 -1
- package/dist/invocation/idempotency.d.ts +0 -1
- package/dist/invocation/idempotency.js +0 -1
- package/dist/invocation/identity.d.ts +0 -1
- package/dist/invocation/identity.js +0 -1
- package/dist/invocation/index.d.ts +2 -3
- package/dist/invocation/index.js +2 -3
- package/dist/invocation/miss.d.ts +0 -1
- package/dist/invocation/miss.js +0 -1
- package/dist/invocation/redirect.d.ts +0 -1
- package/dist/invocation/redirect.js +0 -1
- package/dist/invocation/request.d.ts +0 -1
- package/dist/invocation/request.js +0 -1
- package/dist/invocation/response.d.ts +0 -1
- package/dist/invocation/response.js +0 -1
- package/dist/invocation/routing.d.ts +0 -1
- package/dist/invocation/routing.js +0 -1
- package/dist/invocation/schema.d.ts +1 -2
- package/dist/invocation/schema.js +0 -1
- package/dist/invocation/service-reason.d.ts +3 -11
- package/dist/invocation/service-reason.js +0 -12
- package/dist/invocation/stale-route.d.ts +0 -1
- package/dist/invocation/stale-route.js +0 -1
- package/dist/invocation/stream.d.ts +0 -1
- package/dist/invocation/stream.js +0 -1
- package/dist/invocation/target.d.ts +2 -3
- package/dist/invocation/target.js +17 -3
- package/dist/invocation/trace.d.ts +0 -1
- package/dist/invocation/trace.js +0 -1
- package/dist/invocation/version.d.ts +0 -1
- package/dist/invocation/version.js +0 -1
- package/dist/invocation/websocket/binary.d.ts +0 -1
- package/dist/invocation/websocket/binary.js +2 -2
- package/dist/invocation/websocket/index.d.ts +0 -1
- package/dist/invocation/websocket/index.js +0 -1
- package/dist/invocation/websocket/subprotocol.d.ts +0 -1
- package/dist/invocation/websocket/subprotocol.js +0 -1
- package/dist/issuer/configuration.d.ts +0 -1
- package/dist/issuer/configuration.js +0 -1
- package/dist/issuer/error.d.ts +0 -1
- package/dist/issuer/error.js +0 -1
- package/dist/issuer/exchange.d.ts +0 -1
- package/dist/issuer/exchange.js +0 -1
- package/dist/issuer/hosted.d.ts +0 -1
- package/dist/issuer/hosted.js +0 -1
- package/dist/issuer/index.d.ts +0 -1
- package/dist/issuer/index.js +0 -1
- package/dist/issuer/key-set.d.ts +0 -1
- package/dist/issuer/key-set.js +0 -1
- package/dist/issuer/paths.d.ts +0 -1
- package/dist/issuer/paths.js +0 -1
- package/dist/issuer/url.d.ts +0 -1
- package/dist/issuer/url.js +0 -1
- package/dist/publication/bindings/callable.d.ts +0 -1
- package/dist/publication/bindings/callable.js +8 -6
- package/dist/publication/bindings/index.d.ts +1 -2
- package/dist/publication/bindings/index.js +0 -1
- package/dist/publication/bindings/invocation.d.ts +0 -1
- package/dist/publication/bindings/invocation.js +0 -1
- package/dist/publication/bindings/view.d.ts +7 -1
- package/dist/publication/bindings/view.js +111 -3
- package/dist/publication/bundle-admission.d.ts +0 -1
- package/dist/publication/bundle-admission.js +14 -14
- package/dist/publication/bundle-descriptor.d.ts +0 -1
- package/dist/publication/bundle-descriptor.js +0 -1
- package/dist/publication/bundle-evidence.d.ts +0 -1
- package/dist/publication/bundle-evidence.js +0 -1
- package/dist/publication/bundle.d.ts +4 -2
- package/dist/publication/bundle.js +9 -4
- package/dist/publication/content.d.ts +0 -1
- package/dist/publication/content.js +0 -1
- package/dist/publication/declaration.d.ts +0 -1
- package/dist/publication/declaration.js +0 -1
- package/dist/publication/delivery/attestation.d.ts +0 -1
- package/dist/publication/delivery/attestation.js +0 -1
- package/dist/publication/delivery/claims.d.ts +1 -2
- package/dist/publication/delivery/claims.js +0 -1
- package/dist/publication/delivery/delivery.d.ts +0 -1
- package/dist/publication/delivery/delivery.js +0 -1
- package/dist/publication/delivery/error.d.ts +0 -1
- package/dist/publication/delivery/error.js +0 -1
- package/dist/publication/delivery/index.d.ts +0 -1
- package/dist/publication/delivery/index.js +0 -1
- package/dist/publication/delivery/limits.d.ts +0 -1
- package/dist/publication/delivery/limits.js +0 -1
- package/dist/publication/delivery/request.d.ts +0 -1
- package/dist/publication/delivery/request.js +0 -1
- package/dist/publication/delivery-declaration.d.ts +0 -1
- package/dist/publication/delivery-declaration.js +0 -1
- package/dist/publication/delivery-endpoint.d.ts +0 -1
- package/dist/publication/delivery-endpoint.js +0 -1
- package/dist/publication/error.d.ts +0 -1
- package/dist/publication/error.js +0 -1
- package/dist/publication/etag.d.ts +0 -1
- package/dist/publication/etag.js +5 -2
- package/dist/publication/index.d.ts +4 -5
- package/dist/publication/index.js +2 -3
- package/dist/publication/legacy-requirements.d.ts +12 -0
- package/dist/publication/legacy-requirements.js +23 -0
- package/dist/publication/manifest.d.ts +2 -3
- package/dist/publication/manifest.js +10 -6
- package/dist/publication/publication.d.ts +4 -3
- package/dist/publication/publication.js +27 -12
- package/dist/publication/reference.d.ts +1 -2
- package/dist/publication/reference.js +0 -1
- package/dist/publication/requirements.d.ts +15 -8
- package/dist/publication/requirements.js +147 -45
- package/dist/publication/route.d.ts +0 -1
- package/dist/publication/route.js +0 -1
- package/dist/publication/schema.d.ts +1 -2
- package/dist/publication/schema.js +0 -1
- package/dist/routes/admission.d.ts +0 -1
- package/dist/routes/admission.js +5 -6
- package/dist/routes/binding.d.ts +3 -4
- package/dist/routes/binding.js +5 -6
- package/dist/routes/collision.d.ts +0 -1
- package/dist/routes/collision.js +0 -1
- package/dist/routes/compiler.d.ts +2 -3
- package/dist/routes/compiler.js +14 -12
- package/dist/routes/credential.d.ts +0 -1
- package/dist/routes/credential.js +0 -1
- package/dist/routes/decode.d.ts +2 -3
- package/dist/routes/decode.js +14 -25
- package/dist/routes/encode.d.ts +2 -3
- package/dist/routes/encode.js +18 -17
- package/dist/routes/error-response.d.ts +0 -1
- package/dist/routes/error-response.js +0 -1
- package/dist/routes/error.d.ts +0 -1
- package/dist/routes/error.js +0 -1
- package/dist/routes/evidence.d.ts +3 -4
- package/dist/routes/evidence.js +15 -14
- package/dist/routes/index.d.ts +0 -1
- package/dist/routes/index.js +0 -1
- package/dist/routes/mapping.d.ts +0 -1
- package/dist/routes/mapping.js +0 -1
- package/dist/routes/match.d.ts +0 -1
- package/dist/routes/match.js +0 -1
- package/dist/routes/placement.d.ts +0 -1
- package/dist/routes/placement.js +1 -2
- package/dist/routes/plan.d.ts +5 -5
- package/dist/routes/plan.js +0 -1
- package/dist/routes/release-unavailable.d.ts +0 -1
- package/dist/routes/release-unavailable.js +0 -1
- package/dist/routes/request.d.ts +0 -1
- package/dist/routes/request.js +3 -2
- package/dist/routes/reservation.d.ts +0 -1
- package/dist/routes/reservation.js +7 -2
- package/dist/routes/routing.d.ts +0 -1
- package/dist/routes/routing.js +0 -1
- package/dist/routes/scalar.d.ts +3 -4
- package/dist/routes/scalar.js +5 -6
- package/dist/routes/select.d.ts +0 -1
- package/dist/routes/select.js +0 -1
- package/dist/routes/stream.d.ts +0 -1
- package/dist/routes/stream.js +0 -1
- package/dist/routes/table.d.ts +0 -1
- package/dist/routes/table.js +0 -1
- package/dist/routes/target.d.ts +0 -1
- package/dist/routes/target.js +0 -1
- package/dist/routes/template.d.ts +0 -1
- package/dist/routes/template.js +0 -1
- package/dist/runtime/artifact.d.ts +6 -5
- package/dist/runtime/artifact.js +22 -10
- package/dist/runtime/index.d.ts +1 -2
- package/dist/runtime/index.js +1 -2
- package/dist/schema/index.d.ts +0 -1
- package/dist/schema/index.js +0 -1
- package/dist/schema/installation/codec.d.ts +4 -0
- package/dist/schema/installation/codec.js +70 -0
- package/dist/schema/installation/index.d.ts +2 -1
- package/dist/schema/installation/index.js +1 -1
- package/dist/schema/installation/introspection/codec.d.ts +3 -3
- package/dist/schema/installation/introspection/codec.js +144 -204
- package/dist/schema/installation/introspection/index.d.ts +2 -3
- package/dist/schema/installation/introspection/index.js +1 -2
- package/dist/schema/installation/introspection/result.d.ts +18 -23
- package/dist/schema/installation/introspection/result.js +0 -1
- package/dist/schema/installation/result.d.ts +9 -0
- package/dist/schema/installation/result.js +1 -0
- package/package.json +27 -13
- package/dist/artifact/index.d.ts.map +0 -1
- package/dist/artifact/index.js.map +0 -1
- package/dist/artifact/ref.d.ts.map +0 -1
- package/dist/artifact/ref.js.map +0 -1
- package/dist/codecs/codec.d.ts.map +0 -1
- package/dist/codecs/codec.js.map +0 -1
- package/dist/codecs/index.d.ts.map +0 -1
- package/dist/codecs/index.js.map +0 -1
- package/dist/codecs/json.d.ts.map +0 -1
- package/dist/codecs/json.js.map +0 -1
- package/dist/codecs/media-types.d.ts.map +0 -1
- package/dist/codecs/media-types.js.map +0 -1
- package/dist/codecs/msgpack.d.ts.map +0 -1
- package/dist/codecs/msgpack.js.map +0 -1
- package/dist/errors/codes.d.ts.map +0 -1
- package/dist/errors/codes.js.map +0 -1
- package/dist/errors/http-status.d.ts.map +0 -1
- package/dist/errors/http-status.js.map +0 -1
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/payload.d.ts.map +0 -1
- package/dist/errors/payload.js.map +0 -1
- package/dist/errors/protocol-error.d.ts.map +0 -1
- package/dist/errors/protocol-error.js.map +0 -1
- package/dist/errors/reason.d.ts.map +0 -1
- package/dist/errors/reason.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/invocation/admission.d.ts.map +0 -1
- package/dist/invocation/admission.js.map +0 -1
- package/dist/invocation/binary.d.ts.map +0 -1
- package/dist/invocation/binary.js.map +0 -1
- package/dist/invocation/binding-codecs.d.ts.map +0 -1
- package/dist/invocation/binding-codecs.js.map +0 -1
- package/dist/invocation/cancellation.d.ts.map +0 -1
- package/dist/invocation/cancellation.js.map +0 -1
- package/dist/invocation/correlation.d.ts.map +0 -1
- package/dist/invocation/correlation.js.map +0 -1
- package/dist/invocation/delegate.d.ts.map +0 -1
- package/dist/invocation/delegate.js.map +0 -1
- package/dist/invocation/http/binary.d.ts.map +0 -1
- package/dist/invocation/http/binary.js.map +0 -1
- package/dist/invocation/http/index.d.ts.map +0 -1
- package/dist/invocation/http/index.js.map +0 -1
- package/dist/invocation/http/negotiation.d.ts.map +0 -1
- package/dist/invocation/http/negotiation.js.map +0 -1
- package/dist/invocation/http/stream.d.ts.map +0 -1
- package/dist/invocation/http/stream.js.map +0 -1
- package/dist/invocation/http/trace.d.ts.map +0 -1
- package/dist/invocation/http/trace.js.map +0 -1
- package/dist/invocation/idempotency.d.ts.map +0 -1
- package/dist/invocation/idempotency.js.map +0 -1
- package/dist/invocation/identity.d.ts.map +0 -1
- package/dist/invocation/identity.js.map +0 -1
- package/dist/invocation/index.d.ts.map +0 -1
- package/dist/invocation/index.js.map +0 -1
- package/dist/invocation/miss.d.ts.map +0 -1
- package/dist/invocation/miss.js.map +0 -1
- package/dist/invocation/redirect.d.ts.map +0 -1
- package/dist/invocation/redirect.js.map +0 -1
- package/dist/invocation/request.d.ts.map +0 -1
- package/dist/invocation/request.js.map +0 -1
- package/dist/invocation/response.d.ts.map +0 -1
- package/dist/invocation/response.js.map +0 -1
- package/dist/invocation/routing.d.ts.map +0 -1
- package/dist/invocation/routing.js.map +0 -1
- package/dist/invocation/schema.d.ts.map +0 -1
- package/dist/invocation/schema.js.map +0 -1
- package/dist/invocation/service-reason.d.ts.map +0 -1
- package/dist/invocation/service-reason.js.map +0 -1
- package/dist/invocation/stale-route.d.ts.map +0 -1
- package/dist/invocation/stale-route.js.map +0 -1
- package/dist/invocation/stream.d.ts.map +0 -1
- package/dist/invocation/stream.js.map +0 -1
- package/dist/invocation/target.d.ts.map +0 -1
- package/dist/invocation/target.js.map +0 -1
- package/dist/invocation/trace.d.ts.map +0 -1
- package/dist/invocation/trace.js.map +0 -1
- package/dist/invocation/version.d.ts.map +0 -1
- package/dist/invocation/version.js.map +0 -1
- package/dist/invocation/websocket/binary.d.ts.map +0 -1
- package/dist/invocation/websocket/binary.js.map +0 -1
- package/dist/invocation/websocket/index.d.ts.map +0 -1
- package/dist/invocation/websocket/index.js.map +0 -1
- package/dist/invocation/websocket/subprotocol.d.ts.map +0 -1
- package/dist/invocation/websocket/subprotocol.js.map +0 -1
- package/dist/issuer/configuration.d.ts.map +0 -1
- package/dist/issuer/configuration.js.map +0 -1
- package/dist/issuer/error.d.ts.map +0 -1
- package/dist/issuer/error.js.map +0 -1
- package/dist/issuer/exchange.d.ts.map +0 -1
- package/dist/issuer/exchange.js.map +0 -1
- package/dist/issuer/hosted.d.ts.map +0 -1
- package/dist/issuer/hosted.js.map +0 -1
- package/dist/issuer/index.d.ts.map +0 -1
- package/dist/issuer/index.js.map +0 -1
- package/dist/issuer/key-set.d.ts.map +0 -1
- package/dist/issuer/key-set.js.map +0 -1
- package/dist/issuer/paths.d.ts.map +0 -1
- package/dist/issuer/paths.js.map +0 -1
- package/dist/issuer/url.d.ts.map +0 -1
- package/dist/issuer/url.js.map +0 -1
- package/dist/publication/bindings/callable.d.ts.map +0 -1
- package/dist/publication/bindings/callable.js.map +0 -1
- package/dist/publication/bindings/index.d.ts.map +0 -1
- package/dist/publication/bindings/index.js.map +0 -1
- package/dist/publication/bindings/invocation.d.ts.map +0 -1
- package/dist/publication/bindings/invocation.js.map +0 -1
- package/dist/publication/bindings/view.d.ts.map +0 -1
- package/dist/publication/bindings/view.js.map +0 -1
- package/dist/publication/bundle-admission.d.ts.map +0 -1
- package/dist/publication/bundle-admission.js.map +0 -1
- package/dist/publication/bundle-descriptor.d.ts.map +0 -1
- package/dist/publication/bundle-descriptor.js.map +0 -1
- package/dist/publication/bundle-evidence.d.ts.map +0 -1
- package/dist/publication/bundle-evidence.js.map +0 -1
- package/dist/publication/bundle.d.ts.map +0 -1
- package/dist/publication/bundle.js.map +0 -1
- package/dist/publication/content.d.ts.map +0 -1
- package/dist/publication/content.js.map +0 -1
- package/dist/publication/declaration.d.ts.map +0 -1
- package/dist/publication/declaration.js.map +0 -1
- package/dist/publication/delivery/attestation.d.ts.map +0 -1
- package/dist/publication/delivery/attestation.js.map +0 -1
- package/dist/publication/delivery/claims.d.ts.map +0 -1
- package/dist/publication/delivery/claims.js.map +0 -1
- package/dist/publication/delivery/delivery.d.ts.map +0 -1
- package/dist/publication/delivery/delivery.js.map +0 -1
- package/dist/publication/delivery/error.d.ts.map +0 -1
- package/dist/publication/delivery/error.js.map +0 -1
- package/dist/publication/delivery/index.d.ts.map +0 -1
- package/dist/publication/delivery/index.js.map +0 -1
- package/dist/publication/delivery/limits.d.ts.map +0 -1
- package/dist/publication/delivery/limits.js.map +0 -1
- package/dist/publication/delivery/request.d.ts.map +0 -1
- package/dist/publication/delivery/request.js.map +0 -1
- package/dist/publication/delivery-declaration.d.ts.map +0 -1
- package/dist/publication/delivery-declaration.js.map +0 -1
- package/dist/publication/delivery-endpoint.d.ts.map +0 -1
- package/dist/publication/delivery-endpoint.js.map +0 -1
- package/dist/publication/error.d.ts.map +0 -1
- package/dist/publication/error.js.map +0 -1
- package/dist/publication/etag.d.ts.map +0 -1
- package/dist/publication/etag.js.map +0 -1
- package/dist/publication/index.d.ts.map +0 -1
- package/dist/publication/index.js.map +0 -1
- package/dist/publication/manifest.d.ts.map +0 -1
- package/dist/publication/manifest.js.map +0 -1
- package/dist/publication/publication.d.ts.map +0 -1
- package/dist/publication/publication.js.map +0 -1
- package/dist/publication/reference.d.ts.map +0 -1
- package/dist/publication/reference.js.map +0 -1
- package/dist/publication/requirements.d.ts.map +0 -1
- package/dist/publication/requirements.js.map +0 -1
- package/dist/publication/route.d.ts.map +0 -1
- package/dist/publication/route.js.map +0 -1
- package/dist/publication/schema.d.ts.map +0 -1
- package/dist/publication/schema.js.map +0 -1
- package/dist/routes/admission.d.ts.map +0 -1
- package/dist/routes/admission.js.map +0 -1
- package/dist/routes/binding.d.ts.map +0 -1
- package/dist/routes/binding.js.map +0 -1
- package/dist/routes/collision.d.ts.map +0 -1
- package/dist/routes/collision.js.map +0 -1
- package/dist/routes/compiler.d.ts.map +0 -1
- package/dist/routes/compiler.js.map +0 -1
- package/dist/routes/credential.d.ts.map +0 -1
- package/dist/routes/credential.js.map +0 -1
- package/dist/routes/decode.d.ts.map +0 -1
- package/dist/routes/decode.js.map +0 -1
- package/dist/routes/encode.d.ts.map +0 -1
- package/dist/routes/encode.js.map +0 -1
- package/dist/routes/error-response.d.ts.map +0 -1
- package/dist/routes/error-response.js.map +0 -1
- package/dist/routes/error.d.ts.map +0 -1
- package/dist/routes/error.js.map +0 -1
- package/dist/routes/evidence.d.ts.map +0 -1
- package/dist/routes/evidence.js.map +0 -1
- package/dist/routes/index.d.ts.map +0 -1
- package/dist/routes/index.js.map +0 -1
- package/dist/routes/mapping.d.ts.map +0 -1
- package/dist/routes/mapping.js.map +0 -1
- package/dist/routes/match.d.ts.map +0 -1
- package/dist/routes/match.js.map +0 -1
- package/dist/routes/placement.d.ts.map +0 -1
- package/dist/routes/placement.js.map +0 -1
- package/dist/routes/plan.d.ts.map +0 -1
- package/dist/routes/plan.js.map +0 -1
- package/dist/routes/release-unavailable.d.ts.map +0 -1
- package/dist/routes/release-unavailable.js.map +0 -1
- package/dist/routes/request.d.ts.map +0 -1
- package/dist/routes/request.js.map +0 -1
- package/dist/routes/reservation.d.ts.map +0 -1
- package/dist/routes/reservation.js.map +0 -1
- package/dist/routes/routing.d.ts.map +0 -1
- package/dist/routes/routing.js.map +0 -1
- package/dist/routes/scalar.d.ts.map +0 -1
- package/dist/routes/scalar.js.map +0 -1
- package/dist/routes/select.d.ts.map +0 -1
- package/dist/routes/select.js.map +0 -1
- package/dist/routes/stream.d.ts.map +0 -1
- package/dist/routes/stream.js.map +0 -1
- package/dist/routes/table.d.ts.map +0 -1
- package/dist/routes/table.js.map +0 -1
- package/dist/routes/target.d.ts.map +0 -1
- package/dist/routes/target.js.map +0 -1
- package/dist/routes/template.d.ts.map +0 -1
- package/dist/routes/template.js.map +0 -1
- package/dist/runtime/artifact.d.ts.map +0 -1
- package/dist/runtime/artifact.js.map +0 -1
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js.map +0 -1
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js.map +0 -1
- package/dist/schema/installation/index.d.ts.map +0 -1
- package/dist/schema/installation/index.js.map +0 -1
- package/dist/schema/installation/introspection/codec.d.ts.map +0 -1
- package/dist/schema/installation/introspection/codec.js.map +0 -1
- package/dist/schema/installation/introspection/index.d.ts.map +0 -1
- package/dist/schema/installation/introspection/index.js.map +0 -1
- package/dist/schema/installation/introspection/result.d.ts.map +0 -1
- package/dist/schema/installation/introspection/result.js.map +0 -1
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as bundle from '@astrale-os/kernel-dsl/v1/bundle/transport';
|
|
2
2
|
import * as artifact from '../artifact/index.js';
|
|
3
3
|
import { BUNDLE_MEDIA_TYPE } from './bundle-descriptor.js';
|
|
4
4
|
import { verifyBundleBytes } from './bundle-evidence.js';
|
|
5
5
|
import { absoluteHttpUrl } from './content.js';
|
|
6
6
|
import { fail } from './error.js';
|
|
7
|
+
import { url as publicationUrl } from './publication.js';
|
|
8
|
+
/** Resolve immutable bundle bytes beneath the exact serving issuer. */
|
|
9
|
+
export function bundleUrl(issuer, ref) {
|
|
10
|
+
const digest = ref.digest.slice('sha256:'.length);
|
|
11
|
+
return `${publicationUrl(issuer).slice(0, -'domain.json'.length)}bundles/sha256/${digest}.json`;
|
|
12
|
+
}
|
|
7
13
|
export function describeBundle(input, href) {
|
|
8
14
|
const bytes = bundle.encode(input);
|
|
9
15
|
return Object.freeze({
|
|
@@ -19,7 +25,7 @@ export function acceptBundleValue(input) {
|
|
|
19
25
|
return bundle.accept(input);
|
|
20
26
|
}
|
|
21
27
|
catch (cause) {
|
|
22
|
-
if (cause instanceof
|
|
28
|
+
if (cause instanceof bundle.Error) {
|
|
23
29
|
return fail('PUBLICATION_INVALID', 'Publication bundle is invalid.', cause);
|
|
24
30
|
}
|
|
25
31
|
throw cause;
|
|
@@ -34,7 +40,7 @@ export function decodeBundleValue(publication, bytes) {
|
|
|
34
40
|
return bundle.decode(bytes);
|
|
35
41
|
}
|
|
36
42
|
catch (cause) {
|
|
37
|
-
if (cause instanceof
|
|
43
|
+
if (cause instanceof bundle.Error) {
|
|
38
44
|
return fail('PUBLICATION_INVALID', 'Bundle artifact cannot be decoded.', cause);
|
|
39
45
|
}
|
|
40
46
|
throw cause;
|
|
@@ -42,4 +48,3 @@ export function decodeBundleValue(publication, bytes) {
|
|
|
42
48
|
}
|
|
43
49
|
export { verifyBundleBytes };
|
|
44
50
|
export { admitBundleDescriptor, BUNDLE_MEDIA_TYPE, } from './bundle-descriptor.js';
|
|
45
|
-
//# sourceMappingURL=bundle.js.map
|
|
@@ -8,4 +8,3 @@ export declare function unique(values: readonly string[], code: PublicationError
|
|
|
8
8
|
export declare function deepFreeze<T>(value: T): T;
|
|
9
9
|
export declare function absoluteHttpUrl(input: unknown, allowSearch: boolean, code: PublicationErrorCode, allowTemplate?: boolean): string;
|
|
10
10
|
export declare function absoluteUrl(input: unknown, protocols: readonly string[], allowSearch: boolean, code: PublicationErrorCode, allowTemplate?: boolean): string;
|
|
11
|
-
//# sourceMappingURL=content.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Subject } from '@astrale-os/kernel-core/auth/identity';
|
|
2
|
-
import type { Revision } from '@astrale-os/kernel-dsl/v1/
|
|
2
|
+
import type { Revision } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
3
3
|
import { type IssuerId } from '@astrale-os/kernel-core/auth/issuer';
|
|
4
4
|
import type { Etag } from '../etag.js';
|
|
5
5
|
import { PURPOSE } from './limits.js';
|
|
@@ -14,4 +14,3 @@ export interface Claims {
|
|
|
14
14
|
readonly exp: number;
|
|
15
15
|
}
|
|
16
16
|
export declare function acceptClaims(input: unknown): Claims;
|
|
17
|
-
//# sourceMappingURL=claims.d.ts.map
|
|
@@ -4,4 +4,3 @@ export { DeliveryError as Error, type DeliveryErrorCode as ErrorCode } from './e
|
|
|
4
4
|
export { accept, type Delivery } from './delivery.js';
|
|
5
5
|
export { ATTESTATION_MAX_BYTES, NONCE_MAX_LENGTH, NONCE_MIN_LENGTH, PURPOSE } from './limits.js';
|
|
6
6
|
export { acceptRequest, type Token, type Request } from './request.js';
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -4,4 +4,3 @@ export { DeliveryError as Error } from './error.js';
|
|
|
4
4
|
export { accept } from './delivery.js';
|
|
5
5
|
export { ATTESTATION_MAX_BYTES, NONCE_MAX_LENGTH, NONCE_MIN_LENGTH, PURPOSE } from './limits.js';
|
|
6
6
|
export { acceptRequest } from './request.js';
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -2,4 +2,3 @@ import type { DeliveryDeclaration } from './declaration.js';
|
|
|
2
2
|
import type { Endpoint } from './delivery-endpoint.js';
|
|
3
3
|
/** Place one provider-neutral Delivery declaration beneath an exact serving issuer. */
|
|
4
4
|
export declare function placeDelivery(input: DeliveryDeclaration, issuer: string, bundleHref: string): Endpoint;
|
|
5
|
-
//# sourceMappingURL=delivery-declaration.d.ts.map
|
|
@@ -5,4 +5,3 @@ export declare class PublicationError extends Error {
|
|
|
5
5
|
constructor(code: PublicationErrorCode, message: string, options?: ErrorOptions);
|
|
6
6
|
}
|
|
7
7
|
export declare function fail(code: PublicationErrorCode, message: string, cause?: unknown): never;
|
|
8
|
-
//# sourceMappingURL=error.d.ts.map
|
package/dist/publication/etag.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as portable from '@astrale-os/kernel-dsl/value';
|
|
2
2
|
import { fail } from './error.js';
|
|
3
|
+
import { encodeLegacyRequirements } from './legacy-requirements.js';
|
|
3
4
|
const DIGEST = /^sha256:[0-9a-f]{64}$/u;
|
|
4
5
|
export function admitDigest(input) {
|
|
5
6
|
if (typeof input !== 'string' || !DIGEST.test(input)) {
|
|
@@ -8,7 +9,10 @@ export function admitDigest(input) {
|
|
|
8
9
|
return input;
|
|
9
10
|
}
|
|
10
11
|
export function computeEtag(input) {
|
|
11
|
-
const
|
|
12
|
+
const wire = input.version === 2
|
|
13
|
+
? { ...input, requirements: encodeLegacyRequirements(input.requirements) }
|
|
14
|
+
: input;
|
|
15
|
+
const bytes = portable.json.encode(wire);
|
|
12
16
|
return `sha256:${sha256Hex(bytes)}`;
|
|
13
17
|
}
|
|
14
18
|
export function sha256Hex(input) {
|
|
@@ -77,4 +81,3 @@ const ROUND = new Uint32Array([
|
|
|
77
81
|
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
78
82
|
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
|
|
79
83
|
]);
|
|
80
|
-
//# sourceMappingURL=etag.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { MEDIA_TYPE, PATH, url, seal, accept, encode, type Publication } from './publication.js';
|
|
1
|
+
export { MEDIA_TYPE, LEGACY_MEDIA_TYPE, mediaType, PATH, url, seal, accept, encode, type Publication, } from './publication.js';
|
|
2
2
|
export { acceptBundle, decodeBundle } from './bundle-admission.js';
|
|
3
|
-
export { BUNDLE_MEDIA_TYPE, describeBundle, type BundleDescriptor } from './bundle.js';
|
|
3
|
+
export { BUNDLE_MEDIA_TYPE, bundleUrl, describeBundle, type BundleDescriptor } from './bundle.js';
|
|
4
4
|
export { verifyBundleBytes } from './bundle-evidence.js';
|
|
5
5
|
export type { Content } from './content.js';
|
|
6
6
|
export type { Declaration, DeliveryDeclaration } from './declaration.js';
|
|
@@ -10,9 +10,8 @@ export { PublicationError, type PublicationErrorCode } from './error.js';
|
|
|
10
10
|
export * as delivery from './delivery/index.js';
|
|
11
11
|
export type { Authentication as DeliveryAuthentication, Endpoint as DeliveryEndpoint, } from './delivery-endpoint.js';
|
|
12
12
|
export type { Manifest } from './manifest.js';
|
|
13
|
-
export { ClassOperationOrder, admitRequirements, validateRequirements, type
|
|
13
|
+
export { ClassOperationOrder, admitRequirements, validateRequirements, type CapabilityAuthorityRequirements, type CoreCapabilityRequirement, type CapabilityRequirements, type ClassCapabilityRequirement, type ClassOperation, type NonEmpty, type PublicationRequirements, } from './requirements.js';
|
|
14
14
|
export { acceptReference, compareReference, compareReferences, matchesReference, reference, type PublicationRef, type PublicationReferenceRelation, } from './reference.js';
|
|
15
15
|
export type { BodyPick, CredentialSource, HttpMethod, HttpRoute, HttpRouteDeclaration, RouteBody, RouteHeaders, SingleCredentialSource, } from './route.js';
|
|
16
16
|
export type { Schema } from './schema.js';
|
|
17
|
-
export { acceptInvocationEndpoints, type CallableBinding, type InvocationEndpoints, type ViewBinding, } from './bindings/index.js';
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
|
17
|
+
export { acceptInvocationEndpoints, type CallableBinding, type IframeRequirements, type InvocationEndpoints, type ViewBinding, } from './bindings/index.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { MEDIA_TYPE, PATH, url, seal, accept, encode } from './publication.js';
|
|
1
|
+
export { MEDIA_TYPE, LEGACY_MEDIA_TYPE, mediaType, PATH, url, seal, accept, encode, } from './publication.js';
|
|
2
2
|
export { acceptBundle, decodeBundle } from './bundle-admission.js';
|
|
3
|
-
export { BUNDLE_MEDIA_TYPE, describeBundle } from './bundle.js';
|
|
3
|
+
export { BUNDLE_MEDIA_TYPE, bundleUrl, describeBundle } from './bundle.js';
|
|
4
4
|
export { verifyBundleBytes } from './bundle-evidence.js';
|
|
5
5
|
export { placeDelivery } from './delivery-declaration.js';
|
|
6
6
|
export { PublicationError } from './error.js';
|
|
@@ -8,4 +8,3 @@ export * as delivery from './delivery/index.js';
|
|
|
8
8
|
export { ClassOperationOrder, admitRequirements, validateRequirements, } from './requirements.js';
|
|
9
9
|
export { acceptReference, compareReference, compareReferences, matchesReference, reference, } from './reference.js';
|
|
10
10
|
export { acceptInvocationEndpoints, } from './bindings/index.js';
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PublicationRequirements } from './requirements.js';
|
|
2
|
+
/** Read the retired v2 wire coordinate without exposing it in canonical requirements. */
|
|
3
|
+
export declare function decodeLegacyRequirements(input: unknown): PublicationRequirements;
|
|
4
|
+
/** Preserve immutable v2 bytes and the historical installation-target digest vocabulary. */
|
|
5
|
+
export declare function encodeLegacyRequirements(input: PublicationRequirements): Readonly<{
|
|
6
|
+
capabilities: Readonly<{
|
|
7
|
+
functions?: import("./requirements.js").NonEmpty<import("@astrale-os/kernel-dsl/v1").Key.Callable>;
|
|
8
|
+
classes?: import("./requirements.js").NonEmpty<import("./requirements.js").ClassCapabilityRequirement>;
|
|
9
|
+
authority?: import("./requirements.js").CapabilityAuthorityRequirements;
|
|
10
|
+
profiles?: import("./requirements.js").NonEmpty<import("./requirements.js").CoreCapabilityRequirement> | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { exact, record } from './content.js';
|
|
2
|
+
import { admitRequirements } from './requirements.js';
|
|
3
|
+
/** Read the retired v2 wire coordinate without exposing it in canonical requirements. */
|
|
4
|
+
export function decodeLegacyRequirements(input) {
|
|
5
|
+
const requirements = record(input, 'PUBLICATION_INVALID', 'Publication requirements are invalid.');
|
|
6
|
+
exact(requirements, ['capabilities'], 'PUBLICATION_INVALID');
|
|
7
|
+
const capabilities = record(requirements.capabilities, 'PUBLICATION_INVALID', 'Publication capability requirements are invalid.');
|
|
8
|
+
exact(capabilities, ['authority', 'classes', 'functions', 'profiles'], 'PUBLICATION_INVALID');
|
|
9
|
+
const { profiles, ...principal } = capabilities;
|
|
10
|
+
return admitRequirements({
|
|
11
|
+
capabilities: { ...principal, ...(profiles === undefined ? {} : { core: profiles }) },
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
/** Preserve immutable v2 bytes and the historical installation-target digest vocabulary. */
|
|
15
|
+
export function encodeLegacyRequirements(input) {
|
|
16
|
+
const { core, ...principal } = input.capabilities;
|
|
17
|
+
return Object.freeze({
|
|
18
|
+
capabilities: Object.freeze({
|
|
19
|
+
...principal,
|
|
20
|
+
...(core === undefined ? {} : { profiles: core }),
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type ViewRef } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
2
|
export interface Manifest {
|
|
3
3
|
readonly logo?: string;
|
|
4
|
-
readonly entrypoint?:
|
|
4
|
+
readonly entrypoint?: ViewRef;
|
|
5
5
|
}
|
|
6
6
|
export declare function admitManifest(input: unknown): Manifest | undefined;
|
|
7
|
-
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { acceptDefinitionRef } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
2
|
import { exact, record } from './content.js';
|
|
3
3
|
import { fail } from './error.js';
|
|
4
4
|
export function admitManifest(input) {
|
|
@@ -11,16 +11,20 @@ export function admitManifest(input) {
|
|
|
11
11
|
}
|
|
12
12
|
let entrypoint;
|
|
13
13
|
if (value.entrypoint !== undefined) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
let ref;
|
|
15
|
+
try {
|
|
16
|
+
ref = acceptDefinitionRef(value.entrypoint);
|
|
17
|
+
}
|
|
18
|
+
catch (cause) {
|
|
19
|
+
return fail('PUBLICATION_INVALID', 'Manifest entrypoint must be a root View reference.', cause);
|
|
20
|
+
}
|
|
21
|
+
if (ref.kind !== 'view') {
|
|
17
22
|
fail('PUBLICATION_INVALID', 'Manifest entrypoint must be a root View reference.');
|
|
18
23
|
}
|
|
19
|
-
entrypoint =
|
|
24
|
+
entrypoint = ref;
|
|
20
25
|
}
|
|
21
26
|
return Object.freeze({
|
|
22
27
|
...(value.logo === undefined ? {} : { logo: value.logo }),
|
|
23
28
|
...(entrypoint === undefined ? {} : { entrypoint }),
|
|
24
29
|
});
|
|
25
30
|
}
|
|
26
|
-
//# sourceMappingURL=manifest.js.map
|
|
@@ -9,12 +9,14 @@ import type { PublicationRequirements } from './requirements.js';
|
|
|
9
9
|
import type { HttpRoute } from './route.js';
|
|
10
10
|
import type { Schema } from './schema.js';
|
|
11
11
|
export declare const PATH: '/.well-known/astrale/domain.json';
|
|
12
|
-
export declare const MEDIA_TYPE: 'application/vnd.astrale.domain-publication+json;v=
|
|
12
|
+
export declare const MEDIA_TYPE: 'application/vnd.astrale.domain-publication+json;v=3';
|
|
13
|
+
export declare const LEGACY_MEDIA_TYPE: 'application/vnd.astrale.domain-publication+json;v=2';
|
|
14
|
+
export declare function mediaType(input: Pick<Publication, 'version'>): typeof MEDIA_TYPE | typeof LEGACY_MEDIA_TYPE;
|
|
13
15
|
/** Resolve the canonical Publication URL beneath one exact HTTP(S) serving issuer. */
|
|
14
16
|
export declare function url(input: string): string;
|
|
15
17
|
export interface Publication {
|
|
16
18
|
readonly format: 'astrale.domain.publication';
|
|
17
|
-
readonly version: 2;
|
|
19
|
+
readonly version: 2 | 3;
|
|
18
20
|
readonly origin: Key.Origin;
|
|
19
21
|
readonly identity: {
|
|
20
22
|
readonly issuer: IssuerId;
|
|
@@ -34,4 +36,3 @@ export interface Publication {
|
|
|
34
36
|
export declare function seal(input: Content): Publication;
|
|
35
37
|
export declare function accept(input: unknown): Publication;
|
|
36
38
|
export declare function encode(input: Publication): Uint8Array;
|
|
37
|
-
//# sourceMappingURL=publication.d.ts.map
|
|
@@ -3,16 +3,22 @@ import { accept as acceptIssuerId } from '@astrale-os/kernel-core/auth/issuer';
|
|
|
3
3
|
import { Key, patterns } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
4
4
|
import * as portable from '@astrale-os/kernel-dsl/value';
|
|
5
5
|
import { admitCallableBinding, admitViewBinding } from './bindings/index.js';
|
|
6
|
+
import { canonicalizeViewBinding } from './bindings/view.js';
|
|
6
7
|
import { array, deepFreeze, exact, record, unique } from './content.js';
|
|
7
8
|
import { admitEndpoint as admitDeliveryEndpoint } from './delivery-endpoint.js';
|
|
8
9
|
import { fail } from './error.js';
|
|
9
10
|
import { admitDigest, computeEtag } from './etag.js';
|
|
11
|
+
import { decodeLegacyRequirements, encodeLegacyRequirements } from './legacy-requirements.js';
|
|
10
12
|
import { admitManifest } from './manifest.js';
|
|
11
13
|
import { admitRequirements } from './requirements.js';
|
|
12
14
|
import { admitRoute } from './route.js';
|
|
13
15
|
import { admitSchema } from './schema.js';
|
|
14
16
|
export const PATH = '/.well-known/astrale/domain.json';
|
|
15
|
-
export const MEDIA_TYPE = 'application/vnd.astrale.domain-publication+json;v=
|
|
17
|
+
export const MEDIA_TYPE = 'application/vnd.astrale.domain-publication+json;v=3';
|
|
18
|
+
export const LEGACY_MEDIA_TYPE = 'application/vnd.astrale.domain-publication+json;v=2';
|
|
19
|
+
export function mediaType(input) {
|
|
20
|
+
return input.version === 2 ? LEGACY_MEDIA_TYPE : MEDIA_TYPE;
|
|
21
|
+
}
|
|
16
22
|
/** Resolve the canonical Publication URL beneath one exact HTTP(S) serving issuer. */
|
|
17
23
|
export function url(input) {
|
|
18
24
|
const admitted = admitIssuer(input);
|
|
@@ -33,19 +39,23 @@ export function url(input) {
|
|
|
33
39
|
return `${admitted.replace(/\/+$/u, '')}${PATH}`;
|
|
34
40
|
}
|
|
35
41
|
export function seal(input) {
|
|
36
|
-
|
|
42
|
+
const canonical = withoutEtag(acceptPublication({ ...input, etag: 'canonicalizing' }, 'seal'));
|
|
43
|
+
return acceptPublication({ ...canonical, etag: computeEtag(canonical) }, 'canonical');
|
|
37
44
|
}
|
|
38
45
|
export function accept(input) {
|
|
39
|
-
const publication = acceptPublication(input,
|
|
46
|
+
const publication = acceptPublication(input, 'wire');
|
|
40
47
|
if (publication.etag !== computeEtag(withoutEtag(publication))) {
|
|
41
48
|
fail('PUBLICATION_ETAG_MISMATCH', 'Publication ETag does not match its canonical content.');
|
|
42
49
|
}
|
|
43
50
|
return publication;
|
|
44
51
|
}
|
|
45
52
|
export function encode(input) {
|
|
46
|
-
|
|
53
|
+
const wire = input.version === 2
|
|
54
|
+
? { ...input, requirements: encodeLegacyRequirements(input.requirements) }
|
|
55
|
+
: input;
|
|
56
|
+
return portable.json.encode(wire);
|
|
47
57
|
}
|
|
48
|
-
function acceptPublication(input,
|
|
58
|
+
function acceptPublication(input, mode) {
|
|
49
59
|
const value = record(input, 'PUBLICATION_INVALID', 'Expected a Publication object.');
|
|
50
60
|
exact(value, [
|
|
51
61
|
'format',
|
|
@@ -60,7 +70,8 @@ function acceptPublication(input, requireEtag) {
|
|
|
60
70
|
'routes',
|
|
61
71
|
'delivery',
|
|
62
72
|
], 'PUBLICATION_INVALID');
|
|
63
|
-
if (value.format !== 'astrale.domain.publication' ||
|
|
73
|
+
if (value.format !== 'astrale.domain.publication' ||
|
|
74
|
+
(value.version !== 2 && value.version !== 3)) {
|
|
64
75
|
fail('PUBLICATION_INVALID', 'Unsupported Publication format or version.');
|
|
65
76
|
}
|
|
66
77
|
if (typeof value.origin !== 'string' || !patterns.origin.test(value.origin)) {
|
|
@@ -74,13 +85,15 @@ function acceptPublication(input, requireEtag) {
|
|
|
74
85
|
fail('PUBLICATION_INVALID', 'Publication identity subject must equal its root origin.');
|
|
75
86
|
}
|
|
76
87
|
const publishedSchema = admitSchema(value.schema);
|
|
77
|
-
const requirements =
|
|
88
|
+
const requirements = value.version === 2 && mode === 'wire'
|
|
89
|
+
? decodeLegacyRequirements(value.requirements)
|
|
90
|
+
: admitRequirements(value.requirements);
|
|
78
91
|
const manifest = admitManifest(value.manifest);
|
|
79
92
|
const bindingSet = record(value.bindings, 'PUBLICATION_BINDING_INVALID', 'Publication bindings are invalid.');
|
|
80
93
|
exact(bindingSet, ['callables', 'views'], 'PUBLICATION_BINDING_INVALID');
|
|
81
94
|
const callables = array(bindingSet.callables, 'PUBLICATION_BINDING_INVALID').map((entry) => admitCallableBinding(entry, origin));
|
|
82
95
|
unique(callables.map(({ callable }) => callable), 'PUBLICATION_BINDING_INVALID', 'callable binding');
|
|
83
|
-
const views = array(bindingSet.views, 'PUBLICATION_VIEW_INVALID').map((entry) => admitViewBinding(entry, origin));
|
|
96
|
+
const views = array(bindingSet.views, 'PUBLICATION_VIEW_INVALID').map((entry) => mode === 'seal' ? canonicalizeViewBinding(entry, origin) : admitViewBinding(entry, origin));
|
|
84
97
|
unique(views.map(({ view }) => view), 'PUBLICATION_VIEW_INVALID', 'View binding');
|
|
85
98
|
const routes = array(value.routes, 'PUBLICATION_ROUTE_INVALID').map((entry) => admitRoute(entry, origin));
|
|
86
99
|
unique(routes.map(({ name }) => name), 'PUBLICATION_ROUTE_INVALID', 'route name');
|
|
@@ -90,18 +103,21 @@ function acceptPublication(input, requireEtag) {
|
|
|
90
103
|
}
|
|
91
104
|
}
|
|
92
105
|
if (manifest?.entrypoint !== undefined) {
|
|
93
|
-
|
|
106
|
+
if (manifest.entrypoint.origin !== origin) {
|
|
107
|
+
fail('PUBLICATION_VIEW_INVALID', 'Manifest entrypoint must belong to the root origin.');
|
|
108
|
+
}
|
|
109
|
+
const key = Key.of(manifest.entrypoint);
|
|
94
110
|
if (!views.some(({ view }) => view === key)) {
|
|
95
111
|
fail('PUBLICATION_VIEW_INVALID', 'Manifest entrypoint must have a published View binding.');
|
|
96
112
|
}
|
|
97
113
|
}
|
|
98
114
|
const delivery = admitDeliveryEndpoint(value.delivery, publishedSchema.bundle.href);
|
|
99
|
-
const admittedEtag =
|
|
115
|
+
const admittedEtag = mode === 'wire' ? admitDigest(value.etag) : value.etag;
|
|
100
116
|
if (typeof admittedEtag !== 'string')
|
|
101
117
|
fail('PUBLICATION_INVALID', 'Publication ETag is missing.');
|
|
102
118
|
return deepFreeze({
|
|
103
119
|
format: 'astrale.domain.publication',
|
|
104
|
-
version:
|
|
120
|
+
version: value.version,
|
|
105
121
|
origin,
|
|
106
122
|
identity: { issuer, subject: origin },
|
|
107
123
|
etag: admittedEtag,
|
|
@@ -128,4 +144,3 @@ function withoutEtag(input) {
|
|
|
128
144
|
const { etag: _etag, ...content } = input;
|
|
129
145
|
return content;
|
|
130
146
|
}
|
|
131
|
-
//# sourceMappingURL=publication.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Revision } from '@astrale-os/kernel-dsl/v1/
|
|
1
|
+
import type { Revision } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
2
|
import { type Key } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
3
3
|
import type { Etag } from './etag.js';
|
|
4
4
|
import type { Publication } from './publication.js';
|
|
@@ -15,4 +15,3 @@ export declare function acceptReference(input: unknown): PublicationRef;
|
|
|
15
15
|
export declare function compareReferences(input: PublicationRef, expected: PublicationRef): PublicationReferenceRelation;
|
|
16
16
|
export declare function compareReference(input: Publication, expected: PublicationRef): PublicationReferenceRelation;
|
|
17
17
|
export declare function matchesReference(input: Publication, expected: PublicationRef): boolean;
|
|
18
|
-
//# sourceMappingURL=reference.d.ts.map
|
|
@@ -1,27 +1,34 @@
|
|
|
1
1
|
import type { AuthorityOperation } from '@astrale-os/kernel-core/schema/authority/operation';
|
|
2
|
-
import type { schema } from '@astrale-os/kernel-dsl/v1';
|
|
3
|
-
import type { Key as SemanticKey } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
|
+
import type { schema as schemaLanguage } from '@astrale-os/kernel-dsl/v1';
|
|
3
|
+
import type { ClassRef, CoreRef, Key as SemanticKey } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
4
4
|
export type NonEmpty<Value> = readonly [Value, ...Value[]];
|
|
5
5
|
export declare const ClassOperationOrder: readonly ["create", "read", "traverse", "update", "delete"];
|
|
6
6
|
export type ClassOperation = (typeof ClassOperationOrder)[number];
|
|
7
7
|
export interface ClassCapabilityRequirement {
|
|
8
|
-
readonly class:
|
|
8
|
+
readonly class: ClassRef;
|
|
9
9
|
readonly operations: NonEmpty<ClassOperation>;
|
|
10
10
|
}
|
|
11
|
-
export interface
|
|
11
|
+
export interface CapabilityAuthorityRequirements {
|
|
12
12
|
readonly grant?: NonEmpty<AuthorityOperation>;
|
|
13
13
|
readonly revoke?: NonEmpty<AuthorityOperation>;
|
|
14
14
|
}
|
|
15
15
|
export interface CapabilityRequirements {
|
|
16
16
|
readonly functions?: NonEmpty<SemanticKey.Callable>;
|
|
17
17
|
readonly classes?: NonEmpty<ClassCapabilityRequirement>;
|
|
18
|
-
readonly
|
|
18
|
+
readonly authority?: CapabilityAuthorityRequirements;
|
|
19
|
+
readonly core?: NonEmpty<CoreCapabilityRequirement>;
|
|
20
|
+
}
|
|
21
|
+
/** Installation-owned authority materialized onto one local Core Identity. */
|
|
22
|
+
export interface CoreCapabilityRequirement {
|
|
23
|
+
readonly subject: CoreRef;
|
|
24
|
+
readonly functions?: NonEmpty<SemanticKey.Callable>;
|
|
25
|
+
readonly classes?: NonEmpty<ClassCapabilityRequirement>;
|
|
26
|
+
readonly authority?: CapabilityAuthorityRequirements;
|
|
19
27
|
}
|
|
20
28
|
export interface PublicationRequirements {
|
|
21
29
|
readonly capabilities: CapabilityRequirements;
|
|
22
30
|
}
|
|
23
|
-
/** Admit the exact closed
|
|
31
|
+
/** Admit the exact closed canonical requirements object used by Publication v3. */
|
|
24
32
|
export declare function admitRequirements(input: unknown): PublicationRequirements;
|
|
25
33
|
/** Bind explicit capability targets to exact functional dependencies in the bundle closure. */
|
|
26
|
-
export declare function validateRequirements(root:
|
|
27
|
-
//# sourceMappingURL=requirements.d.ts.map
|
|
34
|
+
export declare function validateRequirements(root: schemaLanguage.DomainSchema, closure: readonly schemaLanguage.DomainSchema[], requirements: PublicationRequirements): void;
|