@astrale-os/kernel-protocol 0.5.0-beta.6 → 0.5.0-beta.61
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 +1 -2
- package/dist/artifact/index.js +1 -2
- package/dist/artifact/ref.d.ts +2 -1
- package/dist/artifact/ref.js +4 -4
- 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 +21 -5
- 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 +2 -2
- package/dist/invocation/http/index.js +2 -2
- package/dist/invocation/http/negotiation.d.ts +0 -1
- package/dist/invocation/http/negotiation.js +0 -1
- package/dist/invocation/http/request.d.ts +9 -0
- package/dist/invocation/http/request.js +61 -0
- 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 +18 -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
package/dist/routes/compiler.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isBinaryInput } from '@astrale-os/kernel-dsl/v1';
|
|
1
2
|
import { admitRouteDeclaration } from '../publication/route.js';
|
|
2
3
|
import { rejectCollisions } from './collision.js';
|
|
3
4
|
import { fail } from './error.js';
|
|
@@ -8,41 +9,46 @@ export function compile(input) {
|
|
|
8
9
|
if (input === null || typeof input !== 'object' || !Array.isArray(input.routes)) {
|
|
9
10
|
throw new TypeError('Route compilation input is invalid.');
|
|
10
11
|
}
|
|
11
|
-
const authored = input.routes.map((entry) => admitRouteDeclaration(entry, input.
|
|
12
|
+
const authored = input.routes.map((entry) => admitRouteDeclaration(entry, input.domain.origin));
|
|
12
13
|
const entries = authored.map((declaration) => {
|
|
13
|
-
const meaning = input.
|
|
14
|
-
if (meaning === undefined) {
|
|
15
|
-
fail('NATIVE_ROUTE_BINDING_INVALID', `
|
|
14
|
+
const meaning = input.domain.callable(declaration.callable);
|
|
15
|
+
if (meaning === undefined || (isMethod(meaning) && !meaning.executable)) {
|
|
16
|
+
fail('NATIVE_ROUTE_BINDING_INVALID', `Unavailable callable ${declaration.callable}.`);
|
|
17
|
+
}
|
|
18
|
+
if (isBinaryInput(meaning.definition.input)) {
|
|
19
|
+
fail('NATIVE_ROUTE_BINDING_INVALID', `Native route ${declaration.name} cannot bind a binary-input Function.`);
|
|
16
20
|
}
|
|
17
21
|
const href = placePath(declaration.path, 'https://routes.invalid');
|
|
18
22
|
const route = { ...declaration, href };
|
|
19
23
|
validateTemplate(href);
|
|
20
|
-
validateMapping(route, meaning.
|
|
24
|
+
validateMapping(route, meaning.inputFields, isMethod(meaning) && !meaning.static);
|
|
21
25
|
validateWireMapping(route);
|
|
22
26
|
validateCredentialMapping(route);
|
|
23
27
|
if (route.method === 'GET' && route.body !== undefined) {
|
|
24
28
|
fail('NATIVE_ROUTE_DECLARATION_INVALID', `GET route ${route.name} cannot declare a body.`);
|
|
25
29
|
}
|
|
26
|
-
const target = meaning
|
|
30
|
+
const target = !isMethod(meaning)
|
|
27
31
|
? { kind: 'function' }
|
|
28
|
-
: meaning.
|
|
32
|
+
: meaning.static
|
|
29
33
|
? { kind: 'method', dispatch: 'static' }
|
|
30
34
|
: { kind: 'method', dispatch: 'instance', receiver: route.receiver };
|
|
31
35
|
const { href: _href, receiver: _receiver, ...portable } = route;
|
|
32
36
|
return Object.freeze({
|
|
33
37
|
...portable,
|
|
34
38
|
target,
|
|
35
|
-
|
|
36
|
-
output: meaning.output,
|
|
39
|
+
auth: meaning.auth,
|
|
40
|
+
output: meaning.output.mode,
|
|
37
41
|
path: declaration.path,
|
|
38
42
|
default: declaration.default === true,
|
|
39
43
|
});
|
|
40
44
|
});
|
|
41
45
|
rejectCollisions(entries.map((entry) => ({ ...entry, href: placePath(entry.path, 'https://routes.invalid') })));
|
|
42
46
|
return Object.freeze({
|
|
43
|
-
origin: input.
|
|
44
|
-
revision: input.
|
|
47
|
+
origin: input.domain.origin,
|
|
48
|
+
revision: input.domain.revision,
|
|
45
49
|
entries: Object.freeze(entries),
|
|
46
50
|
});
|
|
47
51
|
}
|
|
48
|
-
|
|
52
|
+
function isMethod(meaning) {
|
|
53
|
+
return 'owner' in meaning;
|
|
54
|
+
}
|
|
@@ -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,4 @@
|
|
|
1
|
-
import { NodePath
|
|
2
|
-
import { Key, Ref } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
1
|
+
import { NodePath } from '@astrale-os/kernel-core/path';
|
|
3
2
|
import * as portable from '@astrale-os/kernel-dsl/value';
|
|
4
3
|
import { readCredential, specificHeaderWires, withoutCredentialHeaders } from './credential.js';
|
|
5
4
|
import { fail, invalidRequest } from './error.js';
|
|
@@ -10,7 +9,7 @@ import { decodeRouting } from './routing.js';
|
|
|
10
9
|
import { decodeScalar } from './scalar.js';
|
|
11
10
|
import { requiresReceiver } from './target.js';
|
|
12
11
|
import { matchTemplate, PLACEHOLDER } from './template.js';
|
|
13
|
-
export function decode(entry, request,
|
|
12
|
+
export function decode(entry, request, domain, served) {
|
|
14
13
|
if (!methodMatches(entry, request.method))
|
|
15
14
|
invalidRequest('HTTP method does not match the route.');
|
|
16
15
|
const matched = matchTemplate(entry.href, request.url);
|
|
@@ -18,10 +17,10 @@ export function decode(entry, request, validator, served) {
|
|
|
18
17
|
invalidRequest('URL does not match the route template.');
|
|
19
18
|
const values = {};
|
|
20
19
|
for (const [name, value] of Object.entries(matched)) {
|
|
21
|
-
values[name] = decodeScalar(entry, name, value,
|
|
20
|
+
values[name] = decodeScalar(entry, name, value, domain);
|
|
22
21
|
}
|
|
23
22
|
if (entry.requestMethod !== undefined) {
|
|
24
|
-
values[entry.requestMethod] = decodeScalar(entry, entry.requestMethod, request.method.toUpperCase(),
|
|
23
|
+
values[entry.requestMethod] = decodeScalar(entry, entry.requestMethod, request.method.toUpperCase(), domain);
|
|
25
24
|
}
|
|
26
25
|
let url;
|
|
27
26
|
try {
|
|
@@ -41,7 +40,7 @@ export function decode(entry, request, validator, served) {
|
|
|
41
40
|
const found = url.searchParams.getAll(wire);
|
|
42
41
|
if (found.length !== 1)
|
|
43
42
|
invalidRequest(`Query parameter ${wire} must occur exactly once.`);
|
|
44
|
-
values[name] = decodeScalar(entry, name, found[0],
|
|
43
|
+
values[name] = decodeScalar(entry, name, found[0], domain);
|
|
45
44
|
}
|
|
46
45
|
for (const [name, pick] of Object.entries(entry.headers ?? {})) {
|
|
47
46
|
if (pick === '*') {
|
|
@@ -55,12 +54,12 @@ export function decode(entry, request, validator, served) {
|
|
|
55
54
|
const value = headers[pick.toLowerCase()];
|
|
56
55
|
if (value === undefined)
|
|
57
56
|
invalidRequest(`Missing header ${pick}.`);
|
|
58
|
-
values[name] = decodeScalar(entry, name, value,
|
|
57
|
+
values[name] = decodeScalar(entry, name, value, domain);
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
if (entry.body === '*') {
|
|
62
61
|
const body = parseJsonObject(request.body);
|
|
63
|
-
const allowed = remainderFields(entry,
|
|
62
|
+
const allowed = remainderFields(entry, domain);
|
|
64
63
|
for (const name of Object.keys(body)) {
|
|
65
64
|
if (!allowed.has(name)) {
|
|
66
65
|
invalidRequest(`JSON body field ${name} is not owned by the route remainder mapping.`);
|
|
@@ -112,34 +111,25 @@ export function decode(entry, request, validator, served) {
|
|
|
112
111
|
}
|
|
113
112
|
throw cause;
|
|
114
113
|
}
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
|
124
|
-
: Path.project({
|
|
125
|
-
origin: Key.origin(entry.callable),
|
|
126
|
-
kind: 'function',
|
|
127
|
-
name: Ref.member(ref),
|
|
128
|
-
}).raw;
|
|
114
|
+
const target = Object.freeze({
|
|
115
|
+
callable: entry.callable,
|
|
116
|
+
revision: domain.revision,
|
|
117
|
+
...(receiver === undefined ? {} : { instance: receiver }),
|
|
118
|
+
});
|
|
129
119
|
return Object.freeze({
|
|
130
120
|
call: Object.freeze({ target, input }),
|
|
131
121
|
...(credential === undefined ? {} : { credential }),
|
|
132
122
|
...(routing === undefined ? {} : { routing }),
|
|
133
123
|
});
|
|
134
124
|
}
|
|
135
|
-
function remainderFields(entry,
|
|
125
|
+
function remainderFields(entry, domain) {
|
|
136
126
|
const claimed = new Set([
|
|
137
127
|
...[...entry.href.matchAll(PLACEHOLDER)].map((item) => item[1]),
|
|
138
128
|
...(entry.requestMethod === undefined ? [] : [entry.requestMethod]),
|
|
139
129
|
...Object.keys(entry.query ?? {}),
|
|
140
130
|
...Object.keys(entry.headers ?? {}),
|
|
141
131
|
]);
|
|
142
|
-
const fields =
|
|
132
|
+
const fields = domain.callable(entry.callable)?.inputFields ?? [];
|
|
143
133
|
const allowed = new Set(fields.filter((name) => !claimed.has(name)));
|
|
144
134
|
const receiver = entry.target.kind === 'method' && entry.target.dispatch === 'instance'
|
|
145
135
|
? entry.target.receiver
|
|
@@ -149,4 +139,3 @@ function remainderFields(entry, validator) {
|
|
|
149
139
|
}
|
|
150
140
|
return allowed;
|
|
151
141
|
}
|
|
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,6 @@
|
|
|
1
|
+
import { targetPath } from '@astrale-os/kernel-core/callable';
|
|
1
2
|
import { Path } from '@astrale-os/kernel-core/path';
|
|
2
|
-
import {
|
|
3
|
+
import { callableAddress } from '@astrale-os/kernel-dsl/v1/addressing';
|
|
3
4
|
import * as portable from '@astrale-os/kernel-dsl/value';
|
|
4
5
|
import { firstCredentialIsAmbient, putCredential, specificHeaderWires, withoutCredentialHeaders, } from './credential.js';
|
|
5
6
|
import { fail, invalidRequest } from './error.js';
|
|
@@ -8,26 +9,27 @@ import { encodeStrongEtag, HTTP_ROUTE_ISSUER, HTTP_ROUTE_PUBLICATION } from './r
|
|
|
8
9
|
import { asObject, encodeScalar, scalar } from './scalar.js';
|
|
9
10
|
import { requiresReceiver } from './target.js';
|
|
10
11
|
import { authorityEnd, encodeTemplate, PLACEHOLDER } from './template.js';
|
|
11
|
-
export function encode(entry, invocation,
|
|
12
|
+
export function encode(entry, invocation, domain) {
|
|
13
|
+
if (typeof invocation.call.target !== 'string' &&
|
|
14
|
+
invocation.call.target.revision !== undefined &&
|
|
15
|
+
invocation.call.target.revision !== domain.revision) {
|
|
16
|
+
invalidRequest('Invocation Target revision does not match the selected route Domain.');
|
|
17
|
+
}
|
|
12
18
|
const input = asObject(invocation.call.input);
|
|
13
|
-
const target = Path.from(invocation.call.target);
|
|
19
|
+
const target = Path.from(targetPath(invocation.call.target));
|
|
14
20
|
const needsReceiver = requiresReceiver(entry);
|
|
15
|
-
const
|
|
16
|
-
const methodName =
|
|
21
|
+
const coordinate = callableAddress(entry.callable);
|
|
22
|
+
const methodName = coordinate.kind === 'method' ? coordinate.name : undefined;
|
|
17
23
|
const receiver = needsReceiver ? instanceSource(target, methodName) : undefined;
|
|
18
24
|
const source = receiver?.raw;
|
|
19
25
|
const expected = needsReceiver
|
|
20
|
-
? Path.instanceMethod(receiver,
|
|
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
|
|
26
|
+
? Path.instanceMethod(receiver, entry.callable).raw
|
|
27
|
+
: coordinate.kind === 'method'
|
|
28
|
+
? Path.staticMethod(Path.project(coordinate.owner), methodName).raw
|
|
27
29
|
: Path.project({
|
|
28
|
-
origin:
|
|
30
|
+
origin: coordinate.origin,
|
|
29
31
|
kind: 'function',
|
|
30
|
-
name:
|
|
32
|
+
name: coordinate.name,
|
|
31
33
|
}).raw;
|
|
32
34
|
if (target.raw !== expected)
|
|
33
35
|
invalidRequest('Invocation Path does not match the selected route.');
|
|
@@ -35,7 +37,7 @@ export function encode(entry, invocation, validator) {
|
|
|
35
37
|
? entry.target.receiver
|
|
36
38
|
: undefined;
|
|
37
39
|
const field = (name) => (name === receiverName ? source : input[name]);
|
|
38
|
-
const wireField = (name) => encodeScalar(entry, name, field(name),
|
|
40
|
+
const wireField = (name) => encodeScalar(entry, name, field(name), domain);
|
|
39
41
|
const hostEnd = authorityEnd(entry.href);
|
|
40
42
|
let url = entry.href.replaceAll(PLACEHOLDER, (_whole, name, catchall, offset) => encodeTemplate(wireField(name), catchall, offset < hostEnd));
|
|
41
43
|
const parsed = new URL(url);
|
|
@@ -113,7 +115,7 @@ export function encode(entry, invocation, validator) {
|
|
|
113
115
|
url = parsed.toString();
|
|
114
116
|
const mappedMethod = entry.requestMethod === undefined
|
|
115
117
|
? undefined
|
|
116
|
-
: encodeScalar(entry, entry.requestMethod, input[entry.requestMethod],
|
|
118
|
+
: encodeScalar(entry, entry.requestMethod, input[entry.requestMethod], domain).toUpperCase();
|
|
117
119
|
const requestedMethod = invocation.method?.toUpperCase();
|
|
118
120
|
if (mappedMethod !== undefined &&
|
|
119
121
|
requestedMethod !== undefined &&
|
|
@@ -147,4 +149,3 @@ function instanceSource(target, name) {
|
|
|
147
149
|
}
|
|
148
150
|
return Path.fromAST({ anchor: target.ast.anchor, steps: steps.slice(0, -1) });
|
|
149
151
|
}
|
|
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,34 @@
|
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
fail('NATIVE_ROUTE_BINDING_INVALID', `Route ${entry.name} differs from Validator meaning.`);
|
|
18
|
+
isMethod(meaning) &&
|
|
19
|
+
meaning.executable &&
|
|
20
|
+
entry.target.dispatch === (meaning.static ? 'static' : 'instance')));
|
|
21
|
+
if (!targetMatches || meaning.auth !== entry.auth || meaning.output.mode !== entry.output) {
|
|
22
|
+
fail('NATIVE_ROUTE_BINDING_INVALID', `Route ${entry.name} differs from Domain meaning.`);
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
25
|
return table;
|
|
27
26
|
}
|
|
27
|
+
function isMethod(meaning) {
|
|
28
|
+
return 'owner' in meaning;
|
|
29
|
+
}
|
|
28
30
|
function wireRoute(entry) {
|
|
29
|
-
const { target,
|
|
31
|
+
const { target, auth: _auth, output: _output, default: isDefault, ...wire } = entry;
|
|
30
32
|
return {
|
|
31
33
|
...wire,
|
|
32
34
|
...(isDefault ? { default: true } : {}),
|
|
@@ -35,4 +37,3 @@ function wireRoute(entry) {
|
|
|
35
37
|
: {}),
|
|
36
38
|
};
|
|
37
39
|
}
|
|
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
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as issuer from '../issuer/index.js';
|
|
2
|
+
import { bundleUrl } from '../publication/bundle.js';
|
|
2
3
|
import { PATH as PUBLICATION_PATH } from '../publication/publication.js';
|
|
3
4
|
import { fail } from './error.js';
|
|
4
5
|
import { templateUrl, templatesOverlap } from './template.js';
|
|
@@ -14,8 +15,13 @@ export function rejectReserved(publication, entries) {
|
|
|
14
15
|
...(endpoint.websocket === undefined ? [] : [httpUrlForWebSocket(endpoint.websocket)]),
|
|
15
16
|
]),
|
|
16
17
|
];
|
|
18
|
+
const addressed = bundleUrl(publication.identity.issuer, publication.schema.bundle.ref);
|
|
19
|
+
const bundlePattern = publication.schema.bundle.href === addressed
|
|
20
|
+
? `${addressed.slice(0, addressed.lastIndexOf('/') + 1)}{artifact}`
|
|
21
|
+
: undefined;
|
|
17
22
|
for (const entry of entries) {
|
|
18
|
-
const claimed =
|
|
23
|
+
const claimed = (bundlePattern !== undefined && templatesOverlap(entry.href, bundlePattern)) ||
|
|
24
|
+
[...reservedPaths].some((path) => templateClaimsPath(entry.href, path)) ||
|
|
19
25
|
reservedUrls.some((reserved) => templatesOverlap(entry.href, routeLocation(reserved)));
|
|
20
26
|
if (claimed) {
|
|
21
27
|
fail('NATIVE_ROUTE_RESERVED', `Route ${entry.name} claims reserved URL ${templateUrl(entry.href).href}.`);
|
|
@@ -35,4 +41,3 @@ function templateClaimsPath(template, path) {
|
|
|
35
41
|
const url = templateUrl(template);
|
|
36
42
|
return templatesOverlap(template, `${url.origin}${path}`);
|
|
37
43
|
}
|
|
38
|
-
//# 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
|
package/dist/routes/scalar.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { invalidRequest } from './error.js';
|
|
2
2
|
const JSON_NUMBER = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/u;
|
|
3
|
-
export function encodeScalar(entry, name, value,
|
|
3
|
+
export function encodeScalar(entry, name, value, domain) {
|
|
4
4
|
const encoded = scalar(value);
|
|
5
5
|
if (name === receiver(entry))
|
|
6
6
|
return encoded;
|
|
7
|
-
const decoded = decodeScalar(entry, name, encoded,
|
|
7
|
+
const decoded = decodeScalar(entry, name, encoded, domain);
|
|
8
8
|
if (!sameScalar(decoded, value)) {
|
|
9
9
|
invalidRequest(`Native route field ${name} does not round-trip through its declared value schema.`);
|
|
10
10
|
}
|
|
11
11
|
return encoded;
|
|
12
12
|
}
|
|
13
|
-
export function decodeScalar(entry, name, encoded,
|
|
13
|
+
export function decodeScalar(entry, name, encoded, domain) {
|
|
14
14
|
if (name === receiver(entry))
|
|
15
15
|
return encoded;
|
|
16
|
-
const meaning =
|
|
17
|
-
if (meaning?.
|
|
16
|
+
const meaning = domain.callable(entry.callable);
|
|
17
|
+
if (meaning?.inputFields?.includes(name) !== true) {
|
|
18
18
|
invalidRequest(`Native route maps unknown input field ${name}.`);
|
|
19
19
|
}
|
|
20
20
|
const candidates = [encoded];
|
|
@@ -59,4 +59,3 @@ function sameScalar(left, right) {
|
|
|
59
59
|
return (Object.is(left, right) ||
|
|
60
60
|
(typeof left === 'number' && typeof right === 'number' && left === 0 && right === 0));
|
|
61
61
|
}
|
|
62
|
-
//# sourceMappingURL=scalar.js.map
|
package/dist/routes/select.d.ts
CHANGED
package/dist/routes/select.js
CHANGED
package/dist/routes/stream.d.ts
CHANGED
package/dist/routes/stream.js
CHANGED
package/dist/routes/table.d.ts
CHANGED
package/dist/routes/table.js
CHANGED
package/dist/routes/target.d.ts
CHANGED
package/dist/routes/target.js
CHANGED
|
@@ -6,4 +6,3 @@ export declare function templatesOverlap(left: string, right: string): boolean;
|
|
|
6
6
|
export declare function matchTemplate(template: string, input: string): Record<string, string> | undefined;
|
|
7
7
|
export declare function encodeTemplate(value: unknown, catchall: string | undefined, host: boolean): string;
|
|
8
8
|
export declare function authorityEnd(input: string): number;
|
|
9
|
-
//# sourceMappingURL=template.d.ts.map
|