@astrale-os/kernel-protocol 0.5.0-beta.6 → 0.5.0-beta.60
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 +4 -2
- 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 +10 -4
- package/dist/invocation/schema.js +7 -7
- package/dist/invocation/service-reason.d.ts +16 -12
- package/dist/invocation/service-reason.js +15 -9
- 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 +9 -1
- package/dist/publication/bindings/view.js +122 -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 +6 -8
- 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 +71 -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 +5 -3
- package/dist/schema/installation/introspection/codec.js +184 -192
- 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 +36 -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,24 +1,28 @@
|
|
|
1
1
|
import type { IssuerId } from '@astrale-os/kernel-core/auth/issuer';
|
|
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 { Object as ValueObject } from '@astrale-os/kernel-dsl/value';
|
|
4
|
-
import {
|
|
4
|
+
import { Key } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
5
5
|
import type { ErrorPayload, ErrorReason } from '../errors/index.js';
|
|
6
|
+
import type { Sha256Digest } from '../publication/index.js';
|
|
6
7
|
import { CODES } from '../errors/index.js';
|
|
7
|
-
|
|
8
|
+
/** @deprecated Emitted only for the deprecated revision pin; fingerprint pins report CALLABLE_FINGERPRINT_MISMATCH. */
|
|
8
9
|
export declare const SCHEMA_REVISION_MISMATCH: 'SCHEMA_REVISION_MISMATCH';
|
|
10
|
+
export declare const CALLABLE_FINGERPRINT_MISMATCH: 'CALLABLE_FINGERPRINT_MISMATCH';
|
|
9
11
|
export declare const SERVICE_TRUST_REQUIRED: 'SERVICE_TRUST_REQUIRED';
|
|
10
12
|
export declare const SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE';
|
|
11
13
|
export declare const SERVICE_CANDIDATE_INVALID: 'SERVICE_CANDIDATE_INVALID';
|
|
12
|
-
|
|
13
|
-
readonly origin: Key.Origin;
|
|
14
|
-
readonly installedRevision: Revision;
|
|
15
|
-
readonly candidateRevision: Revision;
|
|
16
|
-
};
|
|
14
|
+
/** @deprecated Detail shape of the deprecated revision pin conflict. */
|
|
17
15
|
export type SchemaRevisionMismatchDetails = ValueObject & {
|
|
18
16
|
readonly origin: Key.Origin;
|
|
19
17
|
readonly expectedRevision: Revision;
|
|
20
18
|
readonly installedRevision: Revision;
|
|
21
19
|
};
|
|
20
|
+
export type CallableFingerprintMismatchDetails = ValueObject & {
|
|
21
|
+
readonly origin: Key.Origin;
|
|
22
|
+
readonly callable: Key.Callable;
|
|
23
|
+
readonly expectedFingerprint: Sha256Digest;
|
|
24
|
+
readonly installedFingerprint: Sha256Digest;
|
|
25
|
+
};
|
|
22
26
|
export type ServiceTrustRequiredDetails = ValueObject & {
|
|
23
27
|
readonly origin: Key.Origin;
|
|
24
28
|
readonly installedIssuer: IssuerId;
|
|
@@ -31,19 +35,19 @@ export type ServiceUnavailableDetails = ValueObject & {
|
|
|
31
35
|
export type ServiceCandidateInvalidDetails = ValueObject & {
|
|
32
36
|
readonly origin: Key.Origin;
|
|
33
37
|
};
|
|
34
|
-
|
|
38
|
+
/** @deprecated Detail shape of the deprecated revision pin conflict. */
|
|
35
39
|
export type SchemaRevisionMismatchReason = ErrorReason<typeof SCHEMA_REVISION_MISMATCH, SchemaRevisionMismatchDetails>;
|
|
40
|
+
export type CallableFingerprintMismatchReason = ErrorReason<typeof CALLABLE_FINGERPRINT_MISMATCH, CallableFingerprintMismatchDetails>;
|
|
36
41
|
export type ServiceTrustRequiredReason = ErrorReason<typeof SERVICE_TRUST_REQUIRED, ServiceTrustRequiredDetails>;
|
|
37
42
|
export type ServiceUnavailableReason = ErrorReason<typeof SERVICE_UNAVAILABLE, ServiceUnavailableDetails>;
|
|
38
43
|
export type ServiceCandidateInvalidReason = ErrorReason<typeof SERVICE_CANDIDATE_INVALID, ServiceCandidateInvalidDetails>;
|
|
39
|
-
export type ServiceReason = SchemaRevisionMismatchReason |
|
|
44
|
+
export type ServiceReason = SchemaRevisionMismatchReason | CallableFingerprintMismatchReason | ServiceTrustRequiredReason | ServiceUnavailableReason | ServiceCandidateInvalidReason;
|
|
40
45
|
export type ServiceErrorPayload = (Omit<ErrorPayload, 'code' | 'data'> & {
|
|
41
46
|
readonly code: typeof CODES.CONFLICT;
|
|
42
|
-
readonly data: SchemaRevisionMismatchReason |
|
|
47
|
+
readonly data: SchemaRevisionMismatchReason | CallableFingerprintMismatchReason | ServiceTrustRequiredReason;
|
|
43
48
|
}) | (Omit<ErrorPayload, 'code' | 'data'> & {
|
|
44
49
|
readonly code: typeof CODES.BACKEND_UNAVAILABLE;
|
|
45
50
|
readonly data: ServiceUnavailableReason | ServiceCandidateInvalidReason;
|
|
46
51
|
});
|
|
47
52
|
/** Recognize only exact outer-code, reason-code, and detail-shape combinations. */
|
|
48
53
|
export declare function serviceErrorOf(input: ErrorPayload): ServiceErrorPayload | undefined;
|
|
49
|
-
//# sourceMappingURL=service-reason.d.ts.map
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { AuthValueError } from '@astrale-os/kernel-core/auth/error';
|
|
2
2
|
import { accept as acceptIssuer } from '@astrale-os/kernel-core/auth/issuer';
|
|
3
|
-
import { patterns } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
3
|
+
import { Key, patterns } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
4
4
|
import { CODES, reasonOf } from '../errors/index.js';
|
|
5
|
-
|
|
5
|
+
/** @deprecated Emitted only for the deprecated revision pin; fingerprint pins report CALLABLE_FINGERPRINT_MISMATCH. */
|
|
6
6
|
export const SCHEMA_REVISION_MISMATCH = 'SCHEMA_REVISION_MISMATCH';
|
|
7
|
+
export const CALLABLE_FINGERPRINT_MISMATCH = 'CALLABLE_FINGERPRINT_MISMATCH';
|
|
7
8
|
export const SERVICE_TRUST_REQUIRED = 'SERVICE_TRUST_REQUIRED';
|
|
8
9
|
export const SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE';
|
|
9
10
|
export const SERVICE_CANDIDATE_INVALID = 'SERVICE_CANDIDATE_INVALID';
|
|
@@ -17,8 +18,8 @@ export function serviceErrorOf(input) {
|
|
|
17
18
|
return input.code === CODES.CONFLICT && schemaRevisionMismatchDetails(reason.details)
|
|
18
19
|
? input
|
|
19
20
|
: undefined;
|
|
20
|
-
case
|
|
21
|
-
return input.code === CODES.CONFLICT &&
|
|
21
|
+
case CALLABLE_FINGERPRINT_MISMATCH:
|
|
22
|
+
return input.code === CODES.CONFLICT && callableFingerprintMismatchDetails(reason.details)
|
|
22
23
|
? input
|
|
23
24
|
: undefined;
|
|
24
25
|
case SERVICE_TRUST_REQUIRED:
|
|
@@ -43,11 +44,14 @@ function schemaRevisionMismatchDetails(input) {
|
|
|
43
44
|
isRevision(input.expectedRevision) &&
|
|
44
45
|
isRevision(input.installedRevision));
|
|
45
46
|
}
|
|
46
|
-
function
|
|
47
|
-
return (exact(input, ['origin', '
|
|
47
|
+
function callableFingerprintMismatchDetails(input) {
|
|
48
|
+
return (exact(input, ['origin', 'callable', 'expectedFingerprint', 'installedFingerprint']) &&
|
|
48
49
|
isOrigin(input.origin) &&
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
typeof input.callable === 'string' &&
|
|
51
|
+
Key.is(input.callable) &&
|
|
52
|
+
Key.origin(input.callable) === input.origin &&
|
|
53
|
+
isDigest(input.expectedFingerprint) &&
|
|
54
|
+
isDigest(input.installedFingerprint));
|
|
51
55
|
}
|
|
52
56
|
function serviceTrustDetails(input) {
|
|
53
57
|
return (exact(input, ['origin', 'installedIssuer', 'candidateIssuer']) &&
|
|
@@ -71,6 +75,9 @@ function isOrigin(input) {
|
|
|
71
75
|
function isRevision(input) {
|
|
72
76
|
return typeof input === 'string' && patterns.revision.test(input);
|
|
73
77
|
}
|
|
78
|
+
function isDigest(input) {
|
|
79
|
+
return typeof input === 'string' && /^sha256:[0-9a-f]{64}$/u.test(input);
|
|
80
|
+
}
|
|
74
81
|
function isIssuer(input) {
|
|
75
82
|
if (typeof input !== 'string')
|
|
76
83
|
return false;
|
|
@@ -83,4 +90,3 @@ function isIssuer(input) {
|
|
|
83
90
|
throw cause;
|
|
84
91
|
}
|
|
85
92
|
}
|
|
86
|
-
//# sourceMappingURL=service-reason.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export type
|
|
1
|
+
import { type Call } from '@astrale-os/kernel-core/callable';
|
|
2
|
+
export { Target, targetPath, type Call } from '@astrale-os/kernel-core/callable';
|
|
3
3
|
export declare function acceptCall(input: unknown): Call;
|
|
4
|
-
//# sourceMappingURL=target.d.ts.map
|
|
@@ -1,12 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Target } from '@astrale-os/kernel-core/callable';
|
|
2
|
+
import { PathError } from '@astrale-os/kernel-core/path';
|
|
3
|
+
import { exactFields, invalid, nodePath, portableObject, required } from './admission.js';
|
|
4
|
+
export { Target, targetPath } from '@astrale-os/kernel-core/callable';
|
|
2
5
|
const CALL_FIELDS = new Set(['target', 'input']);
|
|
3
6
|
export function acceptCall(input) {
|
|
4
7
|
const object = portableObject(input, 'call');
|
|
5
8
|
exactFields(object, CALL_FIELDS, 'call');
|
|
6
9
|
required(object, ['target', 'input'], 'call');
|
|
7
10
|
return Object.freeze({
|
|
8
|
-
target:
|
|
11
|
+
target: acceptTarget(object.target),
|
|
9
12
|
input: object.input,
|
|
10
13
|
});
|
|
11
14
|
}
|
|
12
|
-
|
|
15
|
+
function acceptTarget(input) {
|
|
16
|
+
if (typeof input === 'string')
|
|
17
|
+
return nodePath(input, 'call.target');
|
|
18
|
+
try {
|
|
19
|
+
return Target(input);
|
|
20
|
+
}
|
|
21
|
+
catch (cause) {
|
|
22
|
+
if (cause instanceof TypeError || cause instanceof PathError)
|
|
23
|
+
return invalid('call.target must be a canonical NodePath or declaration Target');
|
|
24
|
+
throw cause;
|
|
25
|
+
}
|
|
26
|
+
}
|
package/dist/invocation/trace.js
CHANGED
|
@@ -4,7 +4,7 @@ const MAGIC = new Uint8Array([0x41, 0x53, 0x54, 0x42, 0x01]);
|
|
|
4
4
|
const LENGTH_BYTES = 4;
|
|
5
5
|
const MAXIMUM_METADATA_BYTES = 65_536;
|
|
6
6
|
const encoder = new TextEncoder();
|
|
7
|
-
const decoder = new TextDecoder('utf-8', { fatal: true });
|
|
7
|
+
const decoder = new TextDecoder('utf-8', { fatal: true, ignoreBOM: false });
|
|
8
8
|
export function encodeBinary(response) {
|
|
9
9
|
const headers = response.headers === undefined
|
|
10
10
|
? undefined
|
|
@@ -14,6 +14,7 @@ export function encodeBinary(response) {
|
|
|
14
14
|
requestId: response.requestId,
|
|
15
15
|
invocation: response.invocation,
|
|
16
16
|
mediaType: response.mediaType,
|
|
17
|
+
status: response.status,
|
|
17
18
|
...(headers === undefined ? {} : { headers }),
|
|
18
19
|
}));
|
|
19
20
|
if (metadata.byteLength > MAXIMUM_METADATA_BYTES)
|
|
@@ -69,4 +70,3 @@ function invalid() {
|
|
|
69
70
|
message: 'WebSocket binary response is invalid.',
|
|
70
71
|
});
|
|
71
72
|
}
|
|
72
|
-
//# sourceMappingURL=binary.js.map
|
|
@@ -8,4 +8,3 @@ export interface SubprotocolSelection {
|
|
|
8
8
|
}
|
|
9
9
|
export declare function subprotocolFor(codec: Codec): Subprotocol;
|
|
10
10
|
export declare function selectSubprotocol(offered: string | null, supported: readonly Codec[]): SubprotocolSelection | undefined;
|
|
11
|
-
//# sourceMappingURL=subprotocol.d.ts.map
|
|
@@ -12,4 +12,3 @@ export interface ConfigurationOptions {
|
|
|
12
12
|
export declare function configuration(issuer: string, algorithms: readonly [string, ...string[]], options?: ConfigurationOptions): Configuration;
|
|
13
13
|
export declare function acceptConfiguration(input: unknown, expectedIssuer?: string): Configuration;
|
|
14
14
|
export declare function acceptAlgorithms(input: unknown): readonly [string, ...string[]];
|
|
15
|
-
//# sourceMappingURL=configuration.d.ts.map
|
package/dist/issuer/error.d.ts
CHANGED
package/dist/issuer/error.js
CHANGED
|
@@ -23,4 +23,3 @@ export declare function acceptResponse(input: unknown): Response;
|
|
|
23
23
|
export declare function acceptErrorResponse(input: unknown): ErrorResponse;
|
|
24
24
|
export declare function acceptHttpRequest(input: HttpRequest): Request;
|
|
25
25
|
export declare function responseHeaders(): Readonly<Record<string, string>>;
|
|
26
|
-
//# sourceMappingURL=exchange.d.ts.map
|
package/dist/issuer/exchange.js
CHANGED
package/dist/issuer/hosted.d.ts
CHANGED
package/dist/issuer/hosted.js
CHANGED
package/dist/issuer/index.d.ts
CHANGED
package/dist/issuer/index.js
CHANGED
package/dist/issuer/key-set.d.ts
CHANGED
|
@@ -4,4 +4,3 @@ export interface KeySet {
|
|
|
4
4
|
}
|
|
5
5
|
export declare function keySet(keys: readonly JsonWebKey[], algorithms: readonly [string, ...string[]]): KeySet;
|
|
6
6
|
export declare function acceptKeySet(input: unknown, algorithms: readonly [string, ...string[]]): KeySet;
|
|
7
|
-
//# sourceMappingURL=key-set.d.ts.map
|
package/dist/issuer/key-set.js
CHANGED
package/dist/issuer/paths.d.ts
CHANGED
package/dist/issuer/paths.js
CHANGED
package/dist/issuer/url.d.ts
CHANGED
package/dist/issuer/url.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { callableAddress, Key } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
2
|
import { exact, record } from '../content.js';
|
|
3
3
|
import { fail } from '../error.js';
|
|
4
4
|
import { acceptInvocationEndpoints } from './invocation.js';
|
|
@@ -21,12 +21,14 @@ export function admitCallableKey(input, origin) {
|
|
|
21
21
|
}
|
|
22
22
|
throw cause;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
if (Key.origin(callable) !== origin ||
|
|
26
|
-
(!Ref.isDefinition(reference) && !Ref.isMethod(reference)) ||
|
|
27
|
-
(!reference.startsWith('function.') && !Ref.isMethod(reference))) {
|
|
24
|
+
if (Key.origin(callable) !== origin) {
|
|
28
25
|
fail('PUBLICATION_BINDING_INVALID', 'Binding must name one callable owned by the root Domain.');
|
|
29
26
|
}
|
|
27
|
+
try {
|
|
28
|
+
callableAddress(callable);
|
|
29
|
+
}
|
|
30
|
+
catch (cause) {
|
|
31
|
+
return fail('PUBLICATION_BINDING_INVALID', 'Binding must name one callable owned by the root Domain.', cause);
|
|
32
|
+
}
|
|
30
33
|
return callable;
|
|
31
34
|
}
|
|
32
|
-
//# sourceMappingURL=callable.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export { admitCallableBinding, admitCallableKey, type CallableBinding } from './callable.js';
|
|
2
2
|
export { acceptInvocationEndpoints, type InvocationEndpoints } from './invocation.js';
|
|
3
|
-
export { admitViewBinding, type ViewBinding } from './view.js';
|
|
4
|
-
//# sourceMappingURL=index.d.ts.map
|
|
3
|
+
export { admitViewBinding, type IframeRequirements, type ViewBinding } from './view.js';
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
import { type ViewHostRequirements } from '@astrale-os/kernel-core/schema/kernel/syscalls/view-resolution';
|
|
1
2
|
import { Key } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
3
|
export interface ViewBinding {
|
|
3
4
|
readonly view: Key.View;
|
|
4
5
|
readonly href: string;
|
|
5
6
|
readonly handshake: 'shell' | 'none';
|
|
7
|
+
readonly iframe?: IframeRequirements;
|
|
8
|
+
readonly host?: ViewHostRequirements;
|
|
9
|
+
}
|
|
10
|
+
export interface IframeRequirements {
|
|
11
|
+
readonly sandbox?: readonly string[];
|
|
12
|
+
readonly allow?: readonly string[];
|
|
6
13
|
}
|
|
7
14
|
export declare function admitViewBinding(input: unknown, origin: string): ViewBinding;
|
|
8
|
-
|
|
15
|
+
/** Authoring-only normalization used before a Publication receives its canonical ETag. */
|
|
16
|
+
export declare function canonicalizeViewBinding(input: unknown, origin: string): ViewBinding;
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
+
import { acceptViewHostRequirements, } from '@astrale-os/kernel-core/schema/kernel/syscalls/view-resolution';
|
|
1
2
|
import { Key } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
2
3
|
import { absoluteHttpUrl, exact, record } from '../content.js';
|
|
3
4
|
import { fail } from '../error.js';
|
|
5
|
+
const TOKEN = /^[a-z][a-z0-9-]*$/u;
|
|
4
6
|
export function admitViewBinding(input, origin) {
|
|
7
|
+
return readViewBinding(input, origin, false);
|
|
8
|
+
}
|
|
9
|
+
/** Authoring-only normalization used before a Publication receives its canonical ETag. */
|
|
10
|
+
export function canonicalizeViewBinding(input, origin) {
|
|
11
|
+
return readViewBinding(input, origin, true);
|
|
12
|
+
}
|
|
13
|
+
function readViewBinding(input, origin, canonicalize) {
|
|
5
14
|
const value = record(input, 'PUBLICATION_VIEW_INVALID', 'Published View binding is invalid.');
|
|
6
|
-
exact(value, ['view', 'href', 'handshake'], 'PUBLICATION_VIEW_INVALID');
|
|
15
|
+
exact(value, ['view', 'href', 'handshake', 'iframe', 'host'], 'PUBLICATION_VIEW_INVALID');
|
|
7
16
|
let view;
|
|
8
17
|
try {
|
|
9
18
|
view = Key(String(value.view));
|
|
@@ -14,16 +23,126 @@ export function admitViewBinding(input, origin) {
|
|
|
14
23
|
}
|
|
15
24
|
throw cause;
|
|
16
25
|
}
|
|
17
|
-
if (Key.origin(view) !== origin || !
|
|
26
|
+
if (Key.origin(view) !== origin || !view.slice(view.indexOf(':') + 1).startsWith('view.')) {
|
|
18
27
|
fail('PUBLICATION_VIEW_INVALID', 'View binding must name a root View.');
|
|
19
28
|
}
|
|
20
29
|
if (value.handshake !== 'shell' && value.handshake !== 'none') {
|
|
21
30
|
fail('PUBLICATION_VIEW_INVALID', 'View handshake is invalid.');
|
|
22
31
|
}
|
|
32
|
+
const iframe = admitIframeRequirements(dataValue(value, 'iframe'), value.handshake, canonicalize);
|
|
33
|
+
let host;
|
|
34
|
+
try {
|
|
35
|
+
host = acceptViewHostRequirements(dataValue(value, 'host'), value.handshake, canonicalize);
|
|
36
|
+
}
|
|
37
|
+
catch (cause) {
|
|
38
|
+
if (cause instanceof TypeError)
|
|
39
|
+
return fail('PUBLICATION_VIEW_INVALID', 'View host requirements are invalid.', cause);
|
|
40
|
+
throw cause;
|
|
41
|
+
}
|
|
23
42
|
return Object.freeze({
|
|
24
43
|
view,
|
|
25
44
|
href: absoluteHttpUrl(value.href, true, 'PUBLICATION_VIEW_INVALID'),
|
|
26
45
|
handshake: value.handshake,
|
|
46
|
+
...(iframe === undefined ? {} : { iframe }),
|
|
47
|
+
...(host === undefined ? {} : { host }),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function admitIframeRequirements(input, handshake, canonicalize) {
|
|
51
|
+
if (input === undefined)
|
|
52
|
+
return undefined;
|
|
53
|
+
const value = plainRecord(input);
|
|
54
|
+
exactOwnKeys(value, ['sandbox', 'allow']);
|
|
55
|
+
if (!canonicalize && (!Object.hasOwn(value, 'sandbox') || !Object.hasOwn(value, 'allow'))) {
|
|
56
|
+
invalid();
|
|
57
|
+
}
|
|
58
|
+
const sandbox = tokens(dataValue(value, 'sandbox'), canonicalize);
|
|
59
|
+
const allow = tokens(dataValue(value, 'allow'), canonicalize);
|
|
60
|
+
assertRelationships(sandbox);
|
|
61
|
+
const baselineSandbox = handshake === 'shell' ? ['allow-same-origin', 'allow-scripts'] : ['allow-scripts'];
|
|
62
|
+
const baselineAllow = handshake === 'shell' ? ['clipboard-write'] : [];
|
|
63
|
+
if (!canonicalize &&
|
|
64
|
+
(sandbox.some((token) => baselineSandbox.includes(token)) ||
|
|
65
|
+
allow.some((feature) => baselineAllow.includes(feature)))) {
|
|
66
|
+
invalid();
|
|
67
|
+
}
|
|
68
|
+
const canonicalSandbox = canonicalize
|
|
69
|
+
? sandbox.filter((token) => !baselineSandbox.includes(token))
|
|
70
|
+
: sandbox;
|
|
71
|
+
const canonicalAllow = canonicalize
|
|
72
|
+
? allow.filter((feature) => !baselineAllow.includes(feature))
|
|
73
|
+
: allow;
|
|
74
|
+
if (!canonicalize && canonicalSandbox.length === 0 && canonicalAllow.length === 0)
|
|
75
|
+
invalid();
|
|
76
|
+
if (canonicalSandbox.length === 0 && canonicalAllow.length === 0)
|
|
77
|
+
return undefined;
|
|
78
|
+
return Object.freeze({
|
|
79
|
+
sandbox: Object.freeze(canonicalSandbox),
|
|
80
|
+
allow: Object.freeze(canonicalAllow),
|
|
27
81
|
});
|
|
28
82
|
}
|
|
29
|
-
|
|
83
|
+
function plainRecord(input) {
|
|
84
|
+
if (input === null || typeof input !== 'object' || Array.isArray(input))
|
|
85
|
+
invalid();
|
|
86
|
+
const prototype = Object.getPrototypeOf(input);
|
|
87
|
+
if (prototype !== Object.prototype && prototype !== null)
|
|
88
|
+
invalid();
|
|
89
|
+
return input;
|
|
90
|
+
}
|
|
91
|
+
function exactOwnKeys(input, allowed) {
|
|
92
|
+
const keys = new Set(allowed);
|
|
93
|
+
if (Reflect.ownKeys(input).some((key) => typeof key !== 'string' || !keys.has(key)))
|
|
94
|
+
invalid();
|
|
95
|
+
}
|
|
96
|
+
function dataValue(input, key) {
|
|
97
|
+
const descriptor = Object.getOwnPropertyDescriptor(input, key);
|
|
98
|
+
if (descriptor === undefined)
|
|
99
|
+
return undefined;
|
|
100
|
+
if (!('value' in descriptor))
|
|
101
|
+
invalid();
|
|
102
|
+
return descriptor.value;
|
|
103
|
+
}
|
|
104
|
+
function tokens(input, canonicalize) {
|
|
105
|
+
if (input === undefined)
|
|
106
|
+
return [];
|
|
107
|
+
if (!Array.isArray(input))
|
|
108
|
+
invalid();
|
|
109
|
+
const descriptors = Object.getOwnPropertyDescriptors(input);
|
|
110
|
+
const values = [];
|
|
111
|
+
for (let index = 0; index < input.length; index += 1) {
|
|
112
|
+
const descriptor = descriptors[String(index)];
|
|
113
|
+
if (descriptor === undefined || !('value' in descriptor))
|
|
114
|
+
invalid();
|
|
115
|
+
if (typeof descriptor.value !== 'string' || !TOKEN.test(descriptor.value))
|
|
116
|
+
invalid();
|
|
117
|
+
values.push(descriptor.value);
|
|
118
|
+
}
|
|
119
|
+
for (const key of Reflect.ownKeys(descriptors)) {
|
|
120
|
+
if (key === 'length')
|
|
121
|
+
continue;
|
|
122
|
+
if (typeof key !== 'string' || !/^(0|[1-9][0-9]*)$/u.test(key) || Number(key) >= input.length) {
|
|
123
|
+
invalid();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (canonicalize)
|
|
127
|
+
return [...new Set(values)].sort();
|
|
128
|
+
for (let index = 1; index < values.length; index += 1) {
|
|
129
|
+
if (values[index - 1] >= values[index])
|
|
130
|
+
invalid();
|
|
131
|
+
}
|
|
132
|
+
return values;
|
|
133
|
+
}
|
|
134
|
+
function assertRelationships(sandbox) {
|
|
135
|
+
const tokens = new Set(sandbox);
|
|
136
|
+
if (tokens.has('allow-popups-to-escape-sandbox') && !tokens.has('allow-popups'))
|
|
137
|
+
invalid();
|
|
138
|
+
if (tokens.has('allow-top-navigation') && tokens.has('allow-top-navigation-by-user-activation')) {
|
|
139
|
+
invalid();
|
|
140
|
+
}
|
|
141
|
+
if (tokens.has('allow-top-navigation-to-custom-protocols') &&
|
|
142
|
+
(tokens.has('allow-top-navigation') || tokens.has('allow-popups'))) {
|
|
143
|
+
invalid();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function invalid() {
|
|
147
|
+
return fail('PUBLICATION_VIEW_INVALID', 'View iframe requirements are invalid.');
|
|
148
|
+
}
|
|
@@ -2,4 +2,3 @@ import * as dslBundle from '@astrale-os/kernel-dsl/v1/bundle';
|
|
|
2
2
|
import type { Publication } from './publication.js';
|
|
3
3
|
export declare function acceptBundle(input: Publication, artifact: unknown): dslBundle.Bundle;
|
|
4
4
|
export declare function decodeBundle(input: Publication, bytes: Uint8Array): dslBundle.Bundle;
|
|
5
|
-
//# sourceMappingURL=bundle-admission.d.ts.map
|