@astrale-os/kernel-protocol 0.5.0-beta.4 → 0.5.0-beta.41
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 +1 -2
- package/dist/invocation/index.js +1 -2
- 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 +0 -1
- 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 +12 -13
- 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 +1 -2
- package/dist/publication/bundle.js +3 -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 +0 -1
- package/dist/publication/index.d.ts +2 -3
- package/dist/publication/index.js +0 -1
- package/dist/publication/manifest.d.ts +2 -3
- package/dist/publication/manifest.js +10 -6
- package/dist/publication/publication.d.ts +0 -1
- package/dist/publication/publication.js +9 -5
- package/dist/publication/reference.d.ts +1 -2
- package/dist/publication/reference.js +0 -1
- package/dist/publication/requirements.d.ts +14 -7
- package/dist/publication/requirements.js +141 -44
- 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 +12 -10
- 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 +15 -20
- package/dist/routes/encode.d.ts +2 -3
- package/dist/routes/encode.js +10 -15
- 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 +14 -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 +5 -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 +2 -3
- package/dist/runtime/artifact.js +3 -4
- package/dist/runtime/index.d.ts +0 -1
- package/dist/runtime/index.js +0 -1
- 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 +23 -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
package/dist/routes/admission.js
CHANGED
|
@@ -2,7 +2,7 @@ import { accept as acceptPortable } from '@astrale-os/kernel-dsl/value';
|
|
|
2
2
|
import { acceptReference } from '../publication/reference.js';
|
|
3
3
|
import { admitRoute } from '../publication/route.js';
|
|
4
4
|
import { fail } from './error.js';
|
|
5
|
-
const
|
|
5
|
+
const AUTH = new Set(['anonymous', 'authenticated', 'authorized']);
|
|
6
6
|
const OUTPUT = new Set(['value', 'stream', 'binary']);
|
|
7
7
|
/** Admit one emitted portable Table before Server composition. */
|
|
8
8
|
export function acceptTable(input) {
|
|
@@ -19,11 +19,11 @@ export function acceptTable(input) {
|
|
|
19
19
|
}
|
|
20
20
|
function acceptRoute(input, origin) {
|
|
21
21
|
const value = object(input, 'Route Table entry');
|
|
22
|
-
exact(value, ['name', 'callable', 'target', '
|
|
22
|
+
exact(value, ['name', 'callable', 'target', 'auth', 'output', 'href', 'method', 'default'], 'Route Table entry', ['requestMethod', 'query', 'headers', 'body', 'credential']);
|
|
23
23
|
if (typeof value.default !== 'boolean')
|
|
24
24
|
invalid('Route Table default');
|
|
25
|
-
if (typeof value.
|
|
26
|
-
invalid('Route Table
|
|
25
|
+
if (typeof value.auth !== 'string' || !AUTH.has(value.auth)) {
|
|
26
|
+
invalid('Route Table auth');
|
|
27
27
|
}
|
|
28
28
|
if (typeof value.output !== 'string' || !OUTPUT.has(value.output))
|
|
29
29
|
invalid('Route Table output');
|
|
@@ -44,7 +44,7 @@ function acceptRoute(input, origin) {
|
|
|
44
44
|
return Object.freeze({
|
|
45
45
|
...common,
|
|
46
46
|
target: target(value.target),
|
|
47
|
-
|
|
47
|
+
auth: value.auth,
|
|
48
48
|
output: value.output,
|
|
49
49
|
default: value.default,
|
|
50
50
|
});
|
|
@@ -87,4 +87,3 @@ function exact(value, required, label, optional = []) {
|
|
|
87
87
|
function invalid(label) {
|
|
88
88
|
return fail('NATIVE_ROUTE_BINDING_INVALID', `${label} is invalid.`);
|
|
89
89
|
}
|
|
90
|
-
//# sourceMappingURL=admission.js.map
|
package/dist/routes/binding.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Domain } from '@astrale-os/kernel-dsl/v1';
|
|
2
2
|
import type { Publication } from '../publication/publication.js';
|
|
3
3
|
import type { Plan } from './plan.js';
|
|
4
4
|
import type { Table } from './table.js';
|
|
5
|
-
/** Bind one Plan to an exact placed Publication and matching
|
|
6
|
-
export declare function bind(plan: Plan, deployed: Publication,
|
|
7
|
-
//# sourceMappingURL=binding.d.ts.map
|
|
5
|
+
/** Bind one Plan to an exact placed Publication and matching resolved Domain. */
|
|
6
|
+
export declare function bind(plan: Plan, deployed: Publication, domain: Domain): Table;
|
package/dist/routes/binding.js
CHANGED
|
@@ -3,13 +3,13 @@ import { reference } from '../publication/reference.js';
|
|
|
3
3
|
import { fail } from './error.js';
|
|
4
4
|
import { place } from './placement.js';
|
|
5
5
|
import { rejectReserved } from './reservation.js';
|
|
6
|
-
/** Bind one Plan to an exact placed Publication and matching
|
|
7
|
-
export function bind(plan, deployed,
|
|
6
|
+
/** Bind one Plan to an exact placed Publication and matching resolved Domain. */
|
|
7
|
+
export function bind(plan, deployed, domain) {
|
|
8
8
|
if (plan.origin !== deployed.origin ||
|
|
9
|
-
plan.origin !==
|
|
9
|
+
plan.origin !== domain.origin ||
|
|
10
10
|
plan.revision !== deployed.schema.revision ||
|
|
11
|
-
plan.revision !==
|
|
12
|
-
fail('NATIVE_ROUTE_BINDING_INVALID', 'Route Plan, Publication, and
|
|
11
|
+
plan.revision !== domain.revision) {
|
|
12
|
+
fail('NATIVE_ROUTE_BINDING_INVALID', 'Route Plan, Publication, and Domain identity differ.');
|
|
13
13
|
}
|
|
14
14
|
if (json.serialize(place(plan, deployed.identity.issuer)) !==
|
|
15
15
|
json.serialize(deployed.routes)) {
|
|
@@ -25,4 +25,3 @@ export function bind(plan, deployed, validator) {
|
|
|
25
25
|
entries: Object.freeze(entries),
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=binding.js.map
|
package/dist/routes/collision.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Domain } from '@astrale-os/kernel-dsl/v1';
|
|
2
2
|
import type * as publication from '../publication/index.js';
|
|
3
3
|
import type { Plan } from './plan.js';
|
|
4
4
|
export interface CompileInput {
|
|
5
5
|
readonly routes: readonly publication.HttpRouteDeclaration[];
|
|
6
|
-
readonly
|
|
6
|
+
readonly domain: Domain;
|
|
7
7
|
}
|
|
8
8
|
export declare function compile(input: CompileInput): Plan;
|
|
9
|
-
//# sourceMappingURL=compiler.d.ts.map
|
package/dist/routes/compiler.js
CHANGED
|
@@ -8,41 +8,43 @@ export function compile(input) {
|
|
|
8
8
|
if (input === null || typeof input !== 'object' || !Array.isArray(input.routes)) {
|
|
9
9
|
throw new TypeError('Route compilation input is invalid.');
|
|
10
10
|
}
|
|
11
|
-
const authored = input.routes.map((entry) => admitRouteDeclaration(entry, input.
|
|
11
|
+
const authored = input.routes.map((entry) => admitRouteDeclaration(entry, input.domain.origin));
|
|
12
12
|
const entries = authored.map((declaration) => {
|
|
13
|
-
const meaning = input.
|
|
13
|
+
const meaning = input.domain.callable(declaration.callable);
|
|
14
14
|
if (meaning === undefined) {
|
|
15
15
|
fail('NATIVE_ROUTE_BINDING_INVALID', `Unknown callable ${declaration.callable}.`);
|
|
16
16
|
}
|
|
17
17
|
const href = placePath(declaration.path, 'https://routes.invalid');
|
|
18
18
|
const route = { ...declaration, href };
|
|
19
19
|
validateTemplate(href);
|
|
20
|
-
validateMapping(route, meaning.
|
|
20
|
+
validateMapping(route, meaning.inputFields, isMethod(meaning) && !meaning.static);
|
|
21
21
|
validateWireMapping(route);
|
|
22
22
|
validateCredentialMapping(route);
|
|
23
23
|
if (route.method === 'GET' && route.body !== undefined) {
|
|
24
24
|
fail('NATIVE_ROUTE_DECLARATION_INVALID', `GET route ${route.name} cannot declare a body.`);
|
|
25
25
|
}
|
|
26
|
-
const target = meaning
|
|
26
|
+
const target = !isMethod(meaning)
|
|
27
27
|
? { kind: 'function' }
|
|
28
|
-
: meaning.
|
|
28
|
+
: meaning.static
|
|
29
29
|
? { kind: 'method', dispatch: 'static' }
|
|
30
30
|
: { kind: 'method', dispatch: 'instance', receiver: route.receiver };
|
|
31
31
|
const { href: _href, receiver: _receiver, ...portable } = route;
|
|
32
32
|
return Object.freeze({
|
|
33
33
|
...portable,
|
|
34
34
|
target,
|
|
35
|
-
|
|
36
|
-
output: meaning.output,
|
|
35
|
+
auth: meaning.auth,
|
|
36
|
+
output: meaning.output.mode,
|
|
37
37
|
path: declaration.path,
|
|
38
38
|
default: declaration.default === true,
|
|
39
39
|
});
|
|
40
40
|
});
|
|
41
41
|
rejectCollisions(entries.map((entry) => ({ ...entry, href: placePath(entry.path, 'https://routes.invalid') })));
|
|
42
42
|
return Object.freeze({
|
|
43
|
-
origin: input.
|
|
44
|
-
revision: input.
|
|
43
|
+
origin: input.domain.origin,
|
|
44
|
+
revision: input.domain.revision,
|
|
45
45
|
entries: Object.freeze(entries),
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
function isMethod(meaning) {
|
|
49
|
+
return 'owner' in meaning;
|
|
50
|
+
}
|
|
@@ -6,4 +6,3 @@ export declare function specificHeaderWires(entry: Route): ReadonlySet<string>;
|
|
|
6
6
|
export declare function putCredential(entry: Route, url: URL, headers: Record<string, string>, credential: string): void;
|
|
7
7
|
export declare function withoutCredentialHeaders(entry: Route, input: Readonly<Record<string, string>>): Record<string, string>;
|
|
8
8
|
export declare function readCredential(entry: Route, url: URL, headers: Record<string, string>): string | undefined;
|
|
9
|
-
//# sourceMappingURL=credential.d.ts.map
|
package/dist/routes/decode.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Domain } from '@astrale-os/kernel-dsl/v1';
|
|
2
2
|
import type { PublicationRef } from '../publication/index.js';
|
|
3
3
|
import type { HttpRequest, Invocation } from './request.js';
|
|
4
4
|
import type { Route } from './table.js';
|
|
5
|
-
export declare function decode(entry: Route, request: HttpRequest,
|
|
6
|
-
//# sourceMappingURL=decode.d.ts.map
|
|
5
|
+
export declare function decode(entry: Route, request: HttpRequest, domain: Domain, served: PublicationRef): Invocation;
|
package/dist/routes/decode.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NodePath, Path } from '@astrale-os/kernel-core/path';
|
|
2
|
-
import {
|
|
2
|
+
import { callableAddress } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
3
3
|
import * as portable from '@astrale-os/kernel-dsl/value';
|
|
4
4
|
import { readCredential, specificHeaderWires, withoutCredentialHeaders } from './credential.js';
|
|
5
5
|
import { fail, invalidRequest } from './error.js';
|
|
@@ -10,7 +10,7 @@ import { decodeRouting } from './routing.js';
|
|
|
10
10
|
import { decodeScalar } from './scalar.js';
|
|
11
11
|
import { requiresReceiver } from './target.js';
|
|
12
12
|
import { matchTemplate, PLACEHOLDER } from './template.js';
|
|
13
|
-
export function decode(entry, request,
|
|
13
|
+
export function decode(entry, request, domain, served) {
|
|
14
14
|
if (!methodMatches(entry, request.method))
|
|
15
15
|
invalidRequest('HTTP method does not match the route.');
|
|
16
16
|
const matched = matchTemplate(entry.href, request.url);
|
|
@@ -18,10 +18,10 @@ export function decode(entry, request, validator, served) {
|
|
|
18
18
|
invalidRequest('URL does not match the route template.');
|
|
19
19
|
const values = {};
|
|
20
20
|
for (const [name, value] of Object.entries(matched)) {
|
|
21
|
-
values[name] = decodeScalar(entry, name, value,
|
|
21
|
+
values[name] = decodeScalar(entry, name, value, domain);
|
|
22
22
|
}
|
|
23
23
|
if (entry.requestMethod !== undefined) {
|
|
24
|
-
values[entry.requestMethod] = decodeScalar(entry, entry.requestMethod, request.method.toUpperCase(),
|
|
24
|
+
values[entry.requestMethod] = decodeScalar(entry, entry.requestMethod, request.method.toUpperCase(), domain);
|
|
25
25
|
}
|
|
26
26
|
let url;
|
|
27
27
|
try {
|
|
@@ -41,7 +41,7 @@ export function decode(entry, request, validator, served) {
|
|
|
41
41
|
const found = url.searchParams.getAll(wire);
|
|
42
42
|
if (found.length !== 1)
|
|
43
43
|
invalidRequest(`Query parameter ${wire} must occur exactly once.`);
|
|
44
|
-
values[name] = decodeScalar(entry, name, found[0],
|
|
44
|
+
values[name] = decodeScalar(entry, name, found[0], domain);
|
|
45
45
|
}
|
|
46
46
|
for (const [name, pick] of Object.entries(entry.headers ?? {})) {
|
|
47
47
|
if (pick === '*') {
|
|
@@ -55,12 +55,12 @@ export function decode(entry, request, validator, served) {
|
|
|
55
55
|
const value = headers[pick.toLowerCase()];
|
|
56
56
|
if (value === undefined)
|
|
57
57
|
invalidRequest(`Missing header ${pick}.`);
|
|
58
|
-
values[name] = decodeScalar(entry, name, value,
|
|
58
|
+
values[name] = decodeScalar(entry, name, value, domain);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
if (entry.body === '*') {
|
|
62
62
|
const body = parseJsonObject(request.body);
|
|
63
|
-
const allowed = remainderFields(entry,
|
|
63
|
+
const allowed = remainderFields(entry, domain);
|
|
64
64
|
for (const name of Object.keys(body)) {
|
|
65
65
|
if (!allowed.has(name)) {
|
|
66
66
|
invalidRequest(`JSON body field ${name} is not owned by the route remainder mapping.`);
|
|
@@ -112,19 +112,15 @@ export function decode(entry, request, validator, served) {
|
|
|
112
112
|
}
|
|
113
113
|
throw cause;
|
|
114
114
|
}
|
|
115
|
-
const
|
|
116
|
-
const target =
|
|
115
|
+
const coordinate = callableAddress(entry.callable);
|
|
116
|
+
const target = coordinate.kind === 'method'
|
|
117
117
|
? receiver === undefined
|
|
118
|
-
? Path.staticMethod(Path.project(
|
|
119
|
-
|
|
120
|
-
kind: Ref.namespace(ref),
|
|
121
|
-
name: Ref.member(ref),
|
|
122
|
-
}), Ref.child(ref)).raw
|
|
123
|
-
: Path.instanceMethod(Path.from(receiver), Ref.child(ref)).raw
|
|
118
|
+
? Path.staticMethod(Path.project(coordinate.owner), coordinate.name).raw
|
|
119
|
+
: Path.instanceMethod(Path.from(receiver), coordinate.name).raw
|
|
124
120
|
: Path.project({
|
|
125
|
-
origin:
|
|
121
|
+
origin: coordinate.origin,
|
|
126
122
|
kind: 'function',
|
|
127
|
-
name:
|
|
123
|
+
name: coordinate.name,
|
|
128
124
|
}).raw;
|
|
129
125
|
return Object.freeze({
|
|
130
126
|
call: Object.freeze({ target, input }),
|
|
@@ -132,14 +128,14 @@ export function decode(entry, request, validator, served) {
|
|
|
132
128
|
...(routing === undefined ? {} : { routing }),
|
|
133
129
|
});
|
|
134
130
|
}
|
|
135
|
-
function remainderFields(entry,
|
|
131
|
+
function remainderFields(entry, domain) {
|
|
136
132
|
const claimed = new Set([
|
|
137
133
|
...[...entry.href.matchAll(PLACEHOLDER)].map((item) => item[1]),
|
|
138
134
|
...(entry.requestMethod === undefined ? [] : [entry.requestMethod]),
|
|
139
135
|
...Object.keys(entry.query ?? {}),
|
|
140
136
|
...Object.keys(entry.headers ?? {}),
|
|
141
137
|
]);
|
|
142
|
-
const fields =
|
|
138
|
+
const fields = domain.callable(entry.callable)?.inputFields ?? [];
|
|
143
139
|
const allowed = new Set(fields.filter((name) => !claimed.has(name)));
|
|
144
140
|
const receiver = entry.target.kind === 'method' && entry.target.dispatch === 'instance'
|
|
145
141
|
? entry.target.receiver
|
|
@@ -149,4 +145,3 @@ function remainderFields(entry, validator) {
|
|
|
149
145
|
}
|
|
150
146
|
return allowed;
|
|
151
147
|
}
|
|
152
|
-
//# sourceMappingURL=decode.js.map
|
package/dist/routes/encode.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Domain } from '@astrale-os/kernel-dsl/v1';
|
|
2
2
|
import type { Invocation, Request } from './request.js';
|
|
3
3
|
import type { Route } from './table.js';
|
|
4
|
-
export declare function encode(entry: Route, invocation: Invocation,
|
|
5
|
-
//# sourceMappingURL=encode.d.ts.map
|
|
4
|
+
export declare function encode(entry: Route, invocation: Invocation, domain: Domain): Request;
|
package/dist/routes/encode.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Path } from '@astrale-os/kernel-core/path';
|
|
2
|
-
import {
|
|
2
|
+
import { callableAddress } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
3
3
|
import * as portable from '@astrale-os/kernel-dsl/value';
|
|
4
4
|
import { firstCredentialIsAmbient, putCredential, specificHeaderWires, withoutCredentialHeaders, } from './credential.js';
|
|
5
5
|
import { fail, invalidRequest } from './error.js';
|
|
@@ -8,26 +8,22 @@ import { encodeStrongEtag, HTTP_ROUTE_ISSUER, HTTP_ROUTE_PUBLICATION } from './r
|
|
|
8
8
|
import { asObject, encodeScalar, scalar } from './scalar.js';
|
|
9
9
|
import { requiresReceiver } from './target.js';
|
|
10
10
|
import { authorityEnd, encodeTemplate, PLACEHOLDER } from './template.js';
|
|
11
|
-
export function encode(entry, invocation,
|
|
11
|
+
export function encode(entry, invocation, domain) {
|
|
12
12
|
const input = asObject(invocation.call.input);
|
|
13
13
|
const target = Path.from(invocation.call.target);
|
|
14
14
|
const needsReceiver = requiresReceiver(entry);
|
|
15
|
-
const
|
|
16
|
-
const methodName =
|
|
15
|
+
const coordinate = callableAddress(entry.callable);
|
|
16
|
+
const methodName = coordinate.kind === 'method' ? coordinate.name : undefined;
|
|
17
17
|
const receiver = needsReceiver ? instanceSource(target, methodName) : undefined;
|
|
18
18
|
const source = receiver?.raw;
|
|
19
19
|
const expected = needsReceiver
|
|
20
20
|
? Path.instanceMethod(receiver, methodName).raw
|
|
21
|
-
:
|
|
22
|
-
? Path.staticMethod(Path.project(
|
|
23
|
-
origin: Key.origin(entry.callable),
|
|
24
|
-
kind: Ref.namespace(ref),
|
|
25
|
-
name: Ref.member(ref),
|
|
26
|
-
}), methodName).raw
|
|
21
|
+
: coordinate.kind === 'method'
|
|
22
|
+
? Path.staticMethod(Path.project(coordinate.owner), methodName).raw
|
|
27
23
|
: Path.project({
|
|
28
|
-
origin:
|
|
24
|
+
origin: coordinate.origin,
|
|
29
25
|
kind: 'function',
|
|
30
|
-
name:
|
|
26
|
+
name: coordinate.name,
|
|
31
27
|
}).raw;
|
|
32
28
|
if (target.raw !== expected)
|
|
33
29
|
invalidRequest('Invocation Path does not match the selected route.');
|
|
@@ -35,7 +31,7 @@ export function encode(entry, invocation, validator) {
|
|
|
35
31
|
? entry.target.receiver
|
|
36
32
|
: undefined;
|
|
37
33
|
const field = (name) => (name === receiverName ? source : input[name]);
|
|
38
|
-
const wireField = (name) => encodeScalar(entry, name, field(name),
|
|
34
|
+
const wireField = (name) => encodeScalar(entry, name, field(name), domain);
|
|
39
35
|
const hostEnd = authorityEnd(entry.href);
|
|
40
36
|
let url = entry.href.replaceAll(PLACEHOLDER, (_whole, name, catchall, offset) => encodeTemplate(wireField(name), catchall, offset < hostEnd));
|
|
41
37
|
const parsed = new URL(url);
|
|
@@ -113,7 +109,7 @@ export function encode(entry, invocation, validator) {
|
|
|
113
109
|
url = parsed.toString();
|
|
114
110
|
const mappedMethod = entry.requestMethod === undefined
|
|
115
111
|
? undefined
|
|
116
|
-
: encodeScalar(entry, entry.requestMethod, input[entry.requestMethod],
|
|
112
|
+
: encodeScalar(entry, entry.requestMethod, input[entry.requestMethod], domain).toUpperCase();
|
|
117
113
|
const requestedMethod = invocation.method?.toUpperCase();
|
|
118
114
|
if (mappedMethod !== undefined &&
|
|
119
115
|
requestedMethod !== undefined &&
|
|
@@ -147,4 +143,3 @@ function instanceSource(target, name) {
|
|
|
147
143
|
}
|
|
148
144
|
return Path.fromAST({ anchor: target.ast.anchor, steps: steps.slice(0, -1) });
|
|
149
145
|
}
|
|
150
|
-
//# sourceMappingURL=encode.js.map
|
package/dist/routes/error.d.ts
CHANGED
package/dist/routes/error.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Domain } from '@astrale-os/kernel-dsl/v1';
|
|
2
2
|
import type { Publication } from '../publication/publication.js';
|
|
3
3
|
import type { Table } from './table.js';
|
|
4
|
-
/** Verify that an admitted Table carries the exact published wire and
|
|
5
|
-
export declare function verifyTable(table: Table, deployed: Publication,
|
|
6
|
-
//# sourceMappingURL=evidence.d.ts.map
|
|
4
|
+
/** Verify that an admitted Table carries the exact published wire and Domain meaning. */
|
|
5
|
+
export declare function verifyTable(table: Table, deployed: Publication, domain: Pick<Domain, 'origin' | 'revision' | 'callable'>): Table;
|
package/dist/routes/evidence.js
CHANGED
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
import { json } from '@astrale-os/kernel-dsl/value';
|
|
2
2
|
import { compareReferences, reference } from '../publication/reference.js';
|
|
3
3
|
import { fail } from './error.js';
|
|
4
|
-
/** Verify that an admitted Table carries the exact published wire and
|
|
5
|
-
export function verifyTable(table, deployed,
|
|
4
|
+
/** Verify that an admitted Table carries the exact published wire and Domain meaning. */
|
|
5
|
+
export function verifyTable(table, deployed, domain) {
|
|
6
6
|
if (compareReferences(table.publication, reference(deployed)) !== 'exact' ||
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
domain.origin !== deployed.origin ||
|
|
8
|
+
domain.revision !== deployed.schema.revision ||
|
|
9
9
|
json.serialize(table.entries.map(wireRoute)) !==
|
|
10
10
|
json.serialize(deployed.routes)) {
|
|
11
11
|
fail('NATIVE_ROUTE_BINDING_INVALID', 'Route Table evidence differs from its Publication.');
|
|
12
12
|
}
|
|
13
13
|
for (const entry of table.entries) {
|
|
14
|
-
const meaning =
|
|
14
|
+
const meaning = domain.callable(entry.callable);
|
|
15
15
|
const targetMatches = meaning !== undefined &&
|
|
16
|
-
((entry.target.kind === 'function' && meaning
|
|
16
|
+
((entry.target.kind === 'function' && !isMethod(meaning)) ||
|
|
17
17
|
(entry.target.kind === 'method' &&
|
|
18
|
-
meaning
|
|
19
|
-
entry.target.dispatch === meaning.
|
|
20
|
-
if (!targetMatches ||
|
|
21
|
-
|
|
22
|
-
meaning.output !== entry.output) {
|
|
23
|
-
fail('NATIVE_ROUTE_BINDING_INVALID', `Route ${entry.name} differs from Validator meaning.`);
|
|
18
|
+
isMethod(meaning) &&
|
|
19
|
+
entry.target.dispatch === (meaning.static ? 'static' : 'instance')));
|
|
20
|
+
if (!targetMatches || meaning.auth !== entry.auth || meaning.output.mode !== entry.output) {
|
|
21
|
+
fail('NATIVE_ROUTE_BINDING_INVALID', `Route ${entry.name} differs from Domain meaning.`);
|
|
24
22
|
}
|
|
25
23
|
}
|
|
26
24
|
return table;
|
|
27
25
|
}
|
|
26
|
+
function isMethod(meaning) {
|
|
27
|
+
return 'owner' in meaning;
|
|
28
|
+
}
|
|
28
29
|
function wireRoute(entry) {
|
|
29
|
-
const { target,
|
|
30
|
+
const { target, auth: _auth, output: _output, default: isDefault, ...wire } = entry;
|
|
30
31
|
return {
|
|
31
32
|
...wire,
|
|
32
33
|
...(isDefault ? { default: true } : {}),
|
|
@@ -35,4 +36,3 @@ function wireRoute(entry) {
|
|
|
35
36
|
: {}),
|
|
36
37
|
};
|
|
37
38
|
}
|
|
38
|
-
//# sourceMappingURL=evidence.js.map
|
package/dist/routes/index.d.ts
CHANGED
|
@@ -17,4 +17,3 @@ export { decodeRouting, decodeMiss, decodeStale, HTTP_ROUTE_PUBLICATION, HTTP_RO
|
|
|
17
17
|
export { select } from './select.js';
|
|
18
18
|
export { decodeStreamFrame, encodeStreamFrame, STREAM_MEDIA_TYPE, type StreamFrame, } from './stream.js';
|
|
19
19
|
export { templatesOverlap } from './template.js';
|
|
20
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/routes/index.js
CHANGED
|
@@ -14,4 +14,3 @@ export { decodeRouting, decodeMiss, decodeStale, HTTP_ROUTE_PUBLICATION, HTTP_RO
|
|
|
14
14
|
export { select } from './select.js';
|
|
15
15
|
export { decodeStreamFrame, encodeStreamFrame, STREAM_MEDIA_TYPE, } from './stream.js';
|
|
16
16
|
export { templatesOverlap } from './template.js';
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
package/dist/routes/mapping.d.ts
CHANGED
|
@@ -3,4 +3,3 @@ export declare function validateMapping(route: HttpRoute, fields: readonly strin
|
|
|
3
3
|
export declare function validateWireMapping(route: HttpRoute): void;
|
|
4
4
|
export declare function validateCredentialMapping(route: HttpRoute): void;
|
|
5
5
|
export declare function isReservedHeader(input: string): boolean;
|
|
6
|
-
//# sourceMappingURL=mapping.d.ts.map
|
package/dist/routes/mapping.js
CHANGED
package/dist/routes/match.d.ts
CHANGED
|
@@ -2,4 +2,3 @@ import type { HttpRequest } from './request.js';
|
|
|
2
2
|
import type { Route, Table } from './table.js';
|
|
3
3
|
export declare function match(table: Table, request: Pick<HttpRequest, 'url' | 'method'>): Route | undefined;
|
|
4
4
|
export declare function methodMatches(entry: Route, method: string): boolean;
|
|
5
|
-
//# sourceMappingURL=match.d.ts.map
|
package/dist/routes/match.js
CHANGED
|
@@ -3,4 +3,3 @@ import type { Plan } from './plan.js';
|
|
|
3
3
|
/** Resolve a provider-neutral Plan beneath one exact serving issuer. */
|
|
4
4
|
export declare function place(plan: Plan, issuer: string): readonly publication.HttpRoute[];
|
|
5
5
|
export declare function placePath(path: string, issuer: string): string;
|
|
6
|
-
//# sourceMappingURL=placement.d.ts.map
|
package/dist/routes/placement.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Resolve a provider-neutral Plan beneath one exact serving issuer. */
|
|
2
2
|
export function place(plan, issuer) {
|
|
3
3
|
return Object.freeze(plan.entries.map((entry) => {
|
|
4
|
-
const { path, target,
|
|
4
|
+
const { path, target, auth: _auth, output: _output, default: isDefault, ...wire } = entry;
|
|
5
5
|
return Object.freeze({
|
|
6
6
|
...wire,
|
|
7
7
|
href: placePath(path, issuer),
|
|
@@ -16,4 +16,3 @@ export function placePath(path, issuer) {
|
|
|
16
16
|
const base = new URL(issuer);
|
|
17
17
|
return `${base.origin}${path}`;
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=placement.js.map
|
package/dist/routes/plan.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type { Key,
|
|
1
|
+
import type { FunctionAuth, Key, Revision } from '@astrale-os/kernel-dsl/v1';
|
|
2
|
+
import type { OutputMode } from '@astrale-os/kernel-dsl/v1/language';
|
|
2
3
|
import type { CredentialSource, HttpMethod, RouteBody, RouteHeaders } from '../publication/index.js';
|
|
3
4
|
import type { RouteTarget } from './target.js';
|
|
4
5
|
export interface PlanEntry {
|
|
5
6
|
readonly name: string;
|
|
6
7
|
readonly callable: Key.Callable;
|
|
7
8
|
readonly target: RouteTarget;
|
|
8
|
-
readonly
|
|
9
|
-
readonly output:
|
|
9
|
+
readonly auth: FunctionAuth;
|
|
10
|
+
readonly output: OutputMode;
|
|
10
11
|
readonly path: string;
|
|
11
12
|
readonly method: HttpMethod;
|
|
12
13
|
readonly requestMethod?: string;
|
|
@@ -18,7 +19,6 @@ export interface PlanEntry {
|
|
|
18
19
|
}
|
|
19
20
|
export interface Plan {
|
|
20
21
|
readonly origin: Key.Origin;
|
|
21
|
-
readonly revision:
|
|
22
|
+
readonly revision: Revision;
|
|
22
23
|
readonly entries: readonly PlanEntry[];
|
|
23
24
|
}
|
|
24
|
-
//# sourceMappingURL=plan.d.ts.map
|
package/dist/routes/plan.js
CHANGED
|
@@ -6,4 +6,3 @@ export declare const HTTP_ROUTE_RELEASE_UNAVAILABLE: 'x-astrale-release-unavaila
|
|
|
6
6
|
export declare const HTTP_ROUTE_RELEASE_UNAVAILABLE_STATUS: 410;
|
|
7
7
|
export declare function releaseUnavailableHeaders(): Readonly<Record<string, string>>;
|
|
8
8
|
export declare function decodeReleaseUnavailable(status: number, headers: HttpRequest['headers']): ReleaseUnavailable | undefined;
|
|
9
|
-
//# sourceMappingURL=release-unavailable.d.ts.map
|
package/dist/routes/request.d.ts
CHANGED
|
@@ -24,4 +24,3 @@ export interface HttpRequest {
|
|
|
24
24
|
export declare function bodyText(body: HttpRequest['body']): string;
|
|
25
25
|
export declare function parseJsonObject(body: HttpRequest['body']): Record<string, Value>;
|
|
26
26
|
export declare function normalizeHeaders(input: HttpRequest['headers']): Record<string, string>;
|
|
27
|
-
//# sourceMappingURL=request.d.ts.map
|
package/dist/routes/request.js
CHANGED
|
@@ -4,7 +4,9 @@ export function bodyText(body) {
|
|
|
4
4
|
if (body === undefined)
|
|
5
5
|
return '';
|
|
6
6
|
try {
|
|
7
|
-
return typeof body === 'string'
|
|
7
|
+
return typeof body === 'string'
|
|
8
|
+
? body
|
|
9
|
+
: new TextDecoder('utf-8', { fatal: true, ignoreBOM: false }).decode(body);
|
|
8
10
|
}
|
|
9
11
|
catch (cause) {
|
|
10
12
|
if (cause instanceof TypeError) {
|
|
@@ -49,4 +51,3 @@ export function normalizeHeaders(input) {
|
|
|
49
51
|
}
|
|
50
52
|
return output;
|
|
51
53
|
}
|
|
52
|
-
//# sourceMappingURL=request.js.map
|
|
@@ -16,7 +16,7 @@ export function rejectReserved(publication, entries) {
|
|
|
16
16
|
];
|
|
17
17
|
for (const entry of entries) {
|
|
18
18
|
const claimed = [...reservedPaths].some((path) => templateClaimsPath(entry.href, path)) ||
|
|
19
|
-
reservedUrls.some((reserved) => templatesOverlap(entry.href, reserved));
|
|
19
|
+
reservedUrls.some((reserved) => templatesOverlap(entry.href, routeLocation(reserved)));
|
|
20
20
|
if (claimed) {
|
|
21
21
|
fail('NATIVE_ROUTE_RESERVED', `Route ${entry.name} claims reserved URL ${templateUrl(entry.href).href}.`);
|
|
22
22
|
}
|
|
@@ -27,8 +27,11 @@ function httpUrlForWebSocket(input) {
|
|
|
27
27
|
url.protocol = url.protocol === 'wss:' ? 'https:' : 'http:';
|
|
28
28
|
return url.toString();
|
|
29
29
|
}
|
|
30
|
+
function routeLocation(input) {
|
|
31
|
+
const url = new URL(input);
|
|
32
|
+
return `${url.origin}${url.pathname}`;
|
|
33
|
+
}
|
|
30
34
|
function templateClaimsPath(template, path) {
|
|
31
35
|
const url = templateUrl(template);
|
|
32
36
|
return templatesOverlap(template, `${url.origin}${path}`);
|
|
33
37
|
}
|
|
34
|
-
//# sourceMappingURL=reservation.js.map
|
package/dist/routes/routing.d.ts
CHANGED
|
@@ -20,4 +20,3 @@ export declare function decodeStale(status: number, headers: HttpRequest['header
|
|
|
20
20
|
export declare function missHeaders(): Readonly<Record<string, string>>;
|
|
21
21
|
export declare function decodeMiss(status: number, headers: HttpRequest['headers']): MissControl | undefined;
|
|
22
22
|
export declare function encodeStrongEtag(input: Etag): string;
|
|
23
|
-
//# sourceMappingURL=routing.d.ts.map
|
package/dist/routes/routing.js
CHANGED
package/dist/routes/scalar.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Domain } from '@astrale-os/kernel-dsl/v1';
|
|
2
2
|
import type * as portable from '@astrale-os/kernel-dsl/value';
|
|
3
3
|
import type { Route } from './table.js';
|
|
4
|
-
export declare function encodeScalar(entry: Route, name: string, value: unknown,
|
|
5
|
-
export declare function decodeScalar(entry: Route, name: string, encoded: string,
|
|
4
|
+
export declare function encodeScalar(entry: Route, name: string, value: unknown, domain: Domain): string;
|
|
5
|
+
export declare function decodeScalar(entry: Route, name: string, encoded: string, domain: Domain): portable.Value;
|
|
6
6
|
export declare function scalar(value: unknown): string;
|
|
7
7
|
export declare function asObject(value: unknown): Record<string, portable.Value>;
|
|
8
|
-
//# sourceMappingURL=scalar.d.ts.map
|