@toa.io/extensions.exposition 1.0.0-alpha.31 → 1.0.0-alpha.310
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/components/exposition.octets/manifest.toa.yaml +58 -0
- package/components/exposition.octets/operations/delete.js +3 -0
- package/components/exposition.octets/operations/get.js +6 -0
- package/components/exposition.octets/operations/head.js +3 -0
- package/components/exposition.octets/operations/put.js +140 -0
- package/components/exposition.octets/package.json +10 -0
- package/components/exposition.octets/types/index.d.ts +3 -0
- package/components/exposition.octets/types/toa.d.ts +41 -0
- package/components/identity.bans/manifest.toa.yaml +26 -8
- package/components/identity.bans/operations/transit.js +2 -6
- package/components/identity.bans/source/transit.ts +1 -1
- package/components/identity.bans/tsconfig.json +2 -1
- package/components/identity.bans/types/index.d.ts +3 -0
- package/components/identity.bans/types/toa.d.ts +35 -0
- package/components/identity.basic/events/principal.js +8 -4
- package/components/identity.basic/manifest.toa.yaml +202 -29
- package/components/identity.basic/migrations/0002-indexes.yaml +13 -0
- package/components/identity.basic/operations/add.js +13 -0
- package/components/identity.basic/operations/authenticate.js +20 -17
- package/components/identity.basic/operations/check.js +14 -0
- package/components/identity.basic/operations/delete.js +7 -0
- package/components/identity.basic/operations/incept.js +34 -16
- package/components/identity.basic/operations/info.js +11 -0
- package/components/identity.basic/operations/lib/credentials.js +12 -0
- package/components/identity.basic/operations/transit.js +42 -21
- package/components/identity.basic/package.json +8 -0
- package/components/identity.basic/source/add.ts +18 -0
- package/components/identity.basic/source/authenticate.ts +31 -23
- package/components/identity.basic/source/check.ts +24 -0
- package/components/identity.basic/source/delete.ts +18 -0
- package/components/identity.basic/source/incept.ts +52 -14
- package/components/identity.basic/source/info.ts +26 -0
- package/components/identity.basic/source/lib/credentials.ts +12 -0
- package/components/identity.basic/source/transit.ts +64 -27
- package/components/identity.basic/tsconfig.json +2 -1
- package/components/identity.basic/types/index.d.ts +26 -0
- package/components/identity.basic/types/toa.d.ts +122 -0
- package/components/identity.clients/manifest.toa.yaml +239 -0
- package/components/identity.clients/migrations/0002-indexes.yaml +4 -0
- package/components/identity.clients/operations/describe.js +44 -0
- package/components/identity.clients/operations/lib/Context.js +2 -0
- package/components/identity.clients/operations/lib/Entity.js +2 -0
- package/components/identity.clients/operations/lib/canonical.js +24 -0
- package/components/identity.clients/operations/lib/cimd.js +87 -0
- package/components/identity.clients/operations/lib/errors.js +5 -0
- package/components/identity.clients/operations/lib/index.js +7 -0
- package/components/identity.clients/operations/lib/redirect.js +35 -0
- package/components/identity.clients/operations/register.js +84 -0
- package/components/identity.clients/source/describe.ts +63 -0
- package/components/identity.clients/source/lib/Context.ts +40 -0
- package/components/identity.clients/source/lib/Entity.ts +31 -0
- package/components/identity.clients/source/lib/canonical.ts +27 -0
- package/components/identity.clients/source/lib/cimd.ts +112 -0
- package/components/identity.clients/source/lib/errors.ts +4 -0
- package/components/identity.clients/source/lib/index.ts +6 -0
- package/components/identity.clients/source/lib/redirect.ts +39 -0
- package/components/identity.clients/source/register.ts +125 -0
- package/components/identity.clients/tsconfig.json +10 -0
- package/components/identity.clients/types/index.d.ts +3 -0
- package/components/identity.clients/types/toa.d.ts +110 -0
- package/components/identity.credentials/manifest.toa.yaml +78 -0
- package/components/identity.credentials/operations/list.js +32 -0
- package/components/identity.credentials/source/list.ts +92 -0
- package/components/identity.credentials/tsconfig.json +10 -0
- package/components/identity.credentials/types/index.d.ts +3 -0
- package/components/identity.credentials/types/toa.d.ts +31 -0
- package/components/identity.federation/events/principal.js +7 -8
- package/components/identity.federation/manifest.toa.yaml +258 -65
- package/components/identity.federation/migrations/0002-indexes.yaml +25 -0
- package/components/identity.federation/operations/authenticate.js +31 -20
- package/components/identity.federation/operations/create.js +29 -0
- package/components/identity.federation/operations/decode.js +9 -0
- package/components/identity.federation/operations/delete.js +7 -0
- package/components/identity.federation/operations/incept.js +9 -13
- package/components/identity.federation/operations/lib/Configuration.js +2 -0
- package/components/identity.federation/operations/lib/Ctx.js +2 -0
- package/components/identity.federation/operations/lib/Payload.js +2 -0
- package/components/identity.federation/operations/lib/decode.js +36 -0
- package/components/identity.federation/operations/lib/discovery.js +34 -0
- package/components/identity.federation/operations/lib/errors.js +45 -0
- package/components/identity.federation/operations/lib/exchange.js +90 -0
- package/components/identity.federation/operations/lib/index.js +5 -0
- package/components/identity.federation/operations/lib/jose.js +2 -0
- package/components/identity.federation/operations/lib/principal.js +14 -0
- package/components/identity.federation/operations/lib/resolve.js +13 -0
- package/components/identity.federation/operations/list.js +12 -0
- package/components/identity.federation/operations/types/Scheme.js +2 -0
- package/components/identity.federation/operations/types/configuration.js +2 -3
- package/components/identity.federation/operations/types/context.js +2 -3
- package/components/identity.federation/operations/types/entity.js +2 -3
- package/components/identity.federation/operations/types/index.js +5 -20
- package/components/identity.federation/package.json +8 -0
- package/components/identity.federation/source/authenticate.ts +50 -19
- package/components/identity.federation/source/create.ts +44 -0
- package/components/identity.federation/source/decode.ts +14 -0
- package/components/identity.federation/source/delete.ts +19 -0
- package/components/identity.federation/source/incept.ts +12 -15
- package/components/identity.federation/source/lib/Configuration.ts +39 -0
- package/components/identity.federation/source/lib/Ctx.ts +9 -0
- package/components/identity.federation/source/lib/Payload.ts +6 -0
- package/components/identity.federation/source/lib/decode.ts +44 -0
- package/components/identity.federation/source/lib/discovery.ts +50 -0
- package/components/identity.federation/source/lib/errors.ts +54 -0
- package/components/identity.federation/source/lib/exchange.ts +123 -0
- package/components/identity.federation/source/lib/index.ts +5 -0
- package/components/identity.federation/source/lib/jose.d.ts +1 -0
- package/components/identity.federation/source/lib/jose.js +1 -0
- package/components/identity.federation/source/lib/principal.ts +19 -0
- package/components/identity.federation/source/lib/resolve.ts +21 -0
- package/components/identity.federation/source/list.ts +21 -0
- package/components/identity.federation/source/types/Scheme.ts +1 -0
- package/components/identity.federation/source/types/configuration.ts +12 -4
- package/components/identity.federation/source/types/context.ts +22 -38
- package/components/identity.federation/source/types/entity.ts +3 -0
- package/components/identity.federation/source/types/index.ts +4 -3
- package/components/identity.federation/tsconfig.json +3 -2
- package/components/identity.federation/types/index.d.ts +3 -0
- package/components/identity.federation/types/toa.d.ts +128 -0
- package/components/identity.grants/manifest.toa.yaml +243 -0
- package/components/identity.grants/migrations/0002-indexes.yaml +5 -0
- package/components/identity.grants/operations/authorize.js +53 -0
- package/components/identity.grants/operations/exchange.js +92 -0
- package/components/identity.grants/operations/lib/code.js +30 -0
- package/components/identity.grants/operations/lib/identify.js +15 -0
- package/components/identity.grants/operations/lib/index.js +3 -0
- package/components/identity.grants/operations/list.js +18 -0
- package/components/identity.grants/operations/revoke.js +26 -0
- package/components/identity.grants/source/authorize.ts +97 -0
- package/components/identity.grants/source/exchange.ts +134 -0
- package/components/identity.grants/source/lib/code.ts +51 -0
- package/components/identity.grants/source/lib/identify.ts +16 -0
- package/components/identity.grants/source/lib/index.ts +3 -0
- package/components/identity.grants/source/list.ts +28 -0
- package/components/identity.grants/source/revoke.ts +40 -0
- package/components/identity.grants/tsconfig.json +10 -0
- package/components/identity.grants/types/index.d.ts +60 -0
- package/components/identity.grants/types/toa.d.ts +109 -0
- package/components/identity.keys/manifest.toa.yaml +79 -0
- package/components/identity.keys/migrations/0002-indexes.yaml +4 -0
- package/components/identity.keys/operations/create.js +12 -0
- package/components/identity.keys/operations/disable.js +5 -0
- package/components/identity.keys/operations/revoke.js +12 -0
- package/components/identity.keys/receivers/identity.bans.created.js +1 -0
- package/components/identity.keys/receivers/identity.bans.updated.js +1 -0
- package/components/identity.keys/receivers/identity.roles.deleted.js +1 -0
- package/components/identity.keys/source/create.ts +34 -0
- package/components/identity.keys/source/disable.ts +9 -0
- package/components/identity.keys/source/revoke.ts +30 -0
- package/components/identity.keys/tsconfig.json +10 -0
- package/components/identity.keys/types/index.d.ts +3 -0
- package/components/identity.keys/types/toa.d.ts +48 -0
- package/components/identity.otp/manifest.toa.yaml +96 -0
- package/components/identity.otp/migrations/0002-indexes.yaml +5 -0
- package/components/identity.otp/operations/authenticate.js +44 -0
- package/components/identity.otp/operations/issue.js +19 -0
- package/components/identity.otp/operations/lib/Context.js +2 -0
- package/components/identity.otp/operations/lib/Entity.js +2 -0
- package/components/identity.otp/operations/lib/index.js +2 -0
- package/components/identity.otp/source/authenticate.ts +70 -0
- package/components/identity.otp/source/issue.ts +35 -0
- package/components/identity.otp/source/lib/Context.ts +17 -0
- package/components/identity.otp/source/lib/Entity.ts +6 -0
- package/components/identity.otp/source/lib/index.ts +1 -0
- package/components/identity.otp/tsconfig.json +10 -0
- package/components/identity.otp/types/index.d.ts +3 -0
- package/components/identity.otp/types/toa.d.ts +57 -0
- package/components/identity.passkeys/manifest.toa.yaml +302 -0
- package/components/identity.passkeys/migrations/0002-indexes.yaml +11 -0
- package/components/identity.passkeys/operations/authenticate.js +32 -0
- package/components/identity.passkeys/operations/challenge.js +72 -0
- package/components/identity.passkeys/operations/create.js +57 -0
- package/components/identity.passkeys/operations/delete.js +9 -0
- package/components/identity.passkeys/operations/lib/const.js +2 -0
- package/components/identity.passkeys/operations/list.js +12 -0
- package/components/identity.passkeys/operations/types/Configuration.js +2 -0
- package/components/identity.passkeys/operations/types/Context.js +2 -0
- package/components/identity.passkeys/operations/types/Passkey.js +2 -0
- package/components/identity.passkeys/operations/types/index.js +2 -0
- package/components/identity.passkeys/operations/use.js +56 -0
- package/components/identity.passkeys/package.json +8 -0
- package/components/identity.passkeys/source/authenticate.ts +49 -0
- package/components/identity.passkeys/source/challenge.ts +119 -0
- package/components/identity.passkeys/source/create.ts +83 -0
- package/components/identity.passkeys/source/delete.ts +19 -0
- package/components/identity.passkeys/source/lib/const.ts +1 -0
- package/components/identity.passkeys/source/list.ts +21 -0
- package/components/identity.passkeys/source/types/Configuration.ts +6 -0
- package/components/identity.passkeys/source/types/Context.ts +17 -0
- package/components/identity.passkeys/source/types/Passkey.ts +12 -0
- package/components/identity.passkeys/source/types/index.ts +2 -0
- package/components/identity.passkeys/source/use.ts +81 -0
- package/components/identity.passkeys/tsconfig.json +10 -0
- package/components/identity.passkeys/types/index.d.ts +3 -0
- package/components/identity.passkeys/types/toa.d.ts +121 -0
- package/components/identity.roles/manifest.toa.yaml +42 -13
- package/components/identity.roles/migrations/0002-indexes.yaml +8 -0
- package/components/identity.roles/operations/grant.js +11 -11
- package/components/identity.roles/operations/lib/Entity.js +2 -3
- package/components/identity.roles/operations/list.js +2 -6
- package/components/identity.roles/operations/principal.js +30 -10
- package/components/identity.roles/receivers/identity.federation.principal.js +4 -0
- package/components/identity.roles/source/grant.ts +16 -10
- package/components/identity.roles/source/list.ts +2 -2
- package/components/identity.roles/source/principal.ts +34 -8
- package/components/identity.roles/tsconfig.json +2 -1
- package/components/identity.roles/types/index.d.ts +3 -0
- package/components/identity.roles/types/toa.d.ts +44 -0
- package/components/identity.tokens/manifest.toa.yaml +235 -29
- package/components/identity.tokens/operations/authenticate.js +35 -21
- package/components/identity.tokens/operations/decrypt.js +186 -25
- package/components/identity.tokens/operations/encrypt.js +35 -18
- package/components/identity.tokens/operations/issue.js +56 -0
- package/components/identity.tokens/operations/lib/form.js +24 -0
- package/components/identity.tokens/operations/lib/index.js +4 -0
- package/components/identity.tokens/operations/lib/jose.js +5 -0
- package/components/identity.tokens/operations/lib/key.js +7 -0
- package/components/identity.tokens/operations/lib/pad.js +2 -0
- package/components/identity.tokens/operations/revoke.js +2 -6
- package/components/identity.tokens/package.json +10 -0
- package/components/identity.tokens/receivers/identity.bans.created.js +1 -3
- package/components/identity.tokens/receivers/identity.bans.updated.js +1 -3
- package/components/identity.tokens/source/authenticate.ts +40 -20
- package/components/identity.tokens/source/decrypt.ts +253 -21
- package/components/identity.tokens/source/encrypt.ts +49 -17
- package/components/identity.tokens/source/issue.ts +85 -0
- package/components/identity.tokens/source/lib/form.ts +27 -0
- package/components/identity.tokens/source/lib/index.ts +4 -0
- package/components/identity.tokens/source/lib/jose.d.ts +1 -0
- package/components/identity.tokens/source/lib/jose.js +5 -0
- package/components/identity.tokens/source/lib/key.ts +8 -0
- package/components/identity.tokens/source/lib/pad.ts +1 -0
- package/components/identity.tokens/source/revoke.ts +2 -2
- package/components/identity.tokens/tsconfig.json +2 -1
- package/components/identity.tokens/types/index.d.ts +66 -0
- package/components/identity.tokens/types/toa.d.ts +120 -0
- package/package.json +47 -25
- package/readme.md +39 -7
- package/schemas/io/throttle.cos.yaml +81 -0
- package/schemas/octets/delete.cos.yaml +15 -2
- package/schemas/octets/get.cos.yaml +5 -0
- package/schemas/octets/put.cos.yaml +31 -0
- package/schemas/octets/workflow.cos.yaml +0 -1
- package/transpiled/Announcements.d.ts +26 -0
- package/transpiled/Announcements.js +34 -0
- package/transpiled/Announcements.js.map +1 -0
- package/transpiled/Branch.d.ts +42 -1
- package/transpiled/Branch.js +15 -2
- package/transpiled/Branch.js.map +1 -1
- package/transpiled/Composition.d.ts +7 -8
- package/transpiled/Composition.js +13 -29
- package/transpiled/Composition.js.map +1 -1
- package/transpiled/Context.d.ts +5 -2
- package/transpiled/Context.js +1 -2
- package/transpiled/Directive.d.ts +40 -8
- package/transpiled/Directive.js +156 -32
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Discovery/Explorer.d.ts +11 -0
- package/transpiled/Discovery/Explorer.js +29 -0
- package/transpiled/Discovery/Explorer.js.map +1 -0
- package/transpiled/Discovery/Site.d.ts +43 -0
- package/transpiled/Discovery/Site.js +171 -0
- package/transpiled/Discovery/Site.js.map +1 -0
- package/transpiled/Discovery/index.d.ts +3 -0
- package/transpiled/Discovery/index.js +4 -0
- package/transpiled/Discovery/index.js.map +1 -0
- package/transpiled/Discovery/tree.d.ts +26 -0
- package/transpiled/Discovery/tree.js +50 -0
- package/transpiled/Discovery/tree.js.map +1 -0
- package/transpiled/Discovery/trunk.d.ts +13 -0
- package/transpiled/Discovery/trunk.js +29 -0
- package/transpiled/Discovery/trunk.js.map +1 -0
- package/transpiled/Endpoint.d.ts +32 -8
- package/transpiled/Endpoint.js +125 -61
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.d.ts +22 -7
- package/transpiled/Factory.js +46 -68
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +59 -6
- package/transpiled/Gateway.js +250 -51
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +56 -14
- package/transpiled/HTTP/Context.js +106 -34
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Probe.d.ts +26 -0
- package/transpiled/HTTP/Probe.js +80 -0
- package/transpiled/HTTP/Probe.js.map +1 -0
- package/transpiled/HTTP/Server.d.ts +59 -10
- package/transpiled/HTTP/Server.js +330 -93
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/Timing.d.ts +2 -6
- package/transpiled/HTTP/Timing.js +5 -25
- package/transpiled/HTTP/Timing.js.map +1 -1
- package/transpiled/HTTP/address.d.ts +7 -0
- package/transpiled/HTTP/address.js +14 -0
- package/transpiled/HTTP/address.js.map +1 -0
- package/transpiled/HTTP/exceptions.d.ts +26 -8
- package/transpiled/HTTP/exceptions.js +49 -35
- package/transpiled/HTTP/exceptions.js.map +1 -1
- package/transpiled/HTTP/formats/form.d.ts +9 -0
- package/transpiled/HTTP/formats/form.js +18 -0
- package/transpiled/HTTP/formats/form.js.map +1 -0
- package/transpiled/HTTP/formats/index.d.ts +10 -4
- package/transpiled/HTTP/formats/index.js +19 -35
- package/transpiled/HTTP/formats/index.js.map +1 -1
- package/transpiled/HTTP/formats/json.d.ts +1 -3
- package/transpiled/HTTP/formats/json.js +6 -12
- package/transpiled/HTTP/formats/json.js.map +1 -1
- package/transpiled/HTTP/formats/msgpack.d.ts +0 -2
- package/transpiled/HTTP/formats/msgpack.js +7 -12
- package/transpiled/HTTP/formats/msgpack.js.map +1 -1
- package/transpiled/HTTP/formats/text.d.ts +1 -3
- package/transpiled/HTTP/formats/text.js +6 -12
- package/transpiled/HTTP/formats/text.js.map +1 -1
- package/transpiled/HTTP/formats/yaml.d.ts +1 -3
- package/transpiled/HTTP/formats/yaml.js +26 -37
- package/transpiled/HTTP/formats/yaml.js.map +1 -1
- package/transpiled/HTTP/index.d.ts +6 -4
- package/transpiled/HTTP/index.js +6 -20
- package/transpiled/HTTP/index.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +28 -4
- package/transpiled/HTTP/messages.js +187 -41
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/HTTP/types.d.ts +38 -0
- package/transpiled/HTTP/types.js +2 -0
- package/transpiled/HTTP/types.js.map +1 -0
- package/transpiled/Interception.d.ts +7 -2
- package/transpiled/Interception.js +8 -6
- package/transpiled/Interception.js.map +1 -1
- package/transpiled/Introspection.d.ts +103 -0
- package/transpiled/Introspection.js +82 -0
- package/transpiled/Introspection.js.map +1 -0
- package/transpiled/MCP/Server.d.ts +41 -0
- package/transpiled/MCP/Server.js +191 -0
- package/transpiled/MCP/Server.js.map +1 -0
- package/transpiled/MCP/discover.d.ts +13 -0
- package/transpiled/MCP/discover.js +29 -0
- package/transpiled/MCP/discover.js.map +1 -0
- package/transpiled/MCP/errors.d.ts +24 -0
- package/transpiled/MCP/errors.js +67 -0
- package/transpiled/MCP/errors.js.map +1 -0
- package/transpiled/MCP/index.d.ts +1 -0
- package/transpiled/MCP/index.js +2 -0
- package/transpiled/MCP/index.js.map +1 -0
- package/transpiled/MCP/schema.d.ts +22 -0
- package/transpiled/MCP/schema.js +74 -0
- package/transpiled/MCP/schema.js.map +1 -0
- package/transpiled/MCP/tools.d.ts +31 -0
- package/transpiled/MCP/tools.js +144 -0
- package/transpiled/MCP/tools.js.map +1 -0
- package/transpiled/MCP/types.d.ts +66 -0
- package/transpiled/MCP/types.js +13 -0
- package/transpiled/MCP/types.js.map +1 -0
- package/transpiled/Mapping.d.ts +17 -6
- package/transpiled/Mapping.js +50 -24
- package/transpiled/Mapping.js.map +1 -1
- package/transpiled/Query.d.ts +29 -6
- package/transpiled/Query.js +137 -48
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RPC/Context.d.ts +11 -0
- package/transpiled/RPC/Context.js +56 -0
- package/transpiled/RPC/Context.js.map +1 -0
- package/transpiled/RPC/Dispatcher.d.ts +19 -0
- package/transpiled/RPC/Dispatcher.js +103 -0
- package/transpiled/RPC/Dispatcher.js.map +1 -0
- package/transpiled/RPC/errors.d.ts +18 -0
- package/transpiled/RPC/errors.js +67 -0
- package/transpiled/RPC/errors.js.map +1 -0
- package/transpiled/RPC/index.d.ts +1 -0
- package/transpiled/RPC/index.js +2 -0
- package/transpiled/RPC/index.js.map +1 -0
- package/transpiled/RPC/names.d.ts +31 -0
- package/transpiled/RPC/names.js +121 -0
- package/transpiled/RPC/names.js.map +1 -0
- package/transpiled/RPC/types.d.ts +27 -0
- package/transpiled/RPC/types.js +8 -0
- package/transpiled/RPC/types.js.map +1 -0
- package/transpiled/RTD/Context.d.ts +6 -4
- package/transpiled/RTD/Context.js +1 -2
- package/transpiled/RTD/Directives.d.ts +90 -7
- package/transpiled/RTD/Directives.js +1 -2
- package/transpiled/RTD/Endpoint.d.ts +11 -4
- package/transpiled/RTD/Endpoint.js +1 -2
- package/transpiled/RTD/Match.d.ts +7 -1
- package/transpiled/RTD/Match.js +1 -2
- package/transpiled/RTD/Method.d.ts +23 -2
- package/transpiled/RTD/Method.js +32 -5
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +46 -6
- package/transpiled/RTD/Node.js +79 -23
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Route.d.ts +9 -7
- package/transpiled/RTD/Route.js +48 -15
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/Tree.d.ts +26 -5
- package/transpiled/RTD/Tree.js +89 -13
- package/transpiled/RTD/Tree.js.map +1 -1
- package/transpiled/RTD/factory.d.ts +4 -3
- package/transpiled/RTD/factory.js +56 -15
- package/transpiled/RTD/factory.js.map +1 -1
- package/transpiled/RTD/index.d.ts +8 -8
- package/transpiled/RTD/index.js +8 -37
- package/transpiled/RTD/index.js.map +1 -1
- package/transpiled/RTD/segment.d.ts +10 -0
- package/transpiled/RTD/segment.js +36 -7
- package/transpiled/RTD/segment.js.map +1 -1
- package/transpiled/RTD/syntax/index.d.ts +1 -2
- package/transpiled/RTD/syntax/index.js +1 -18
- package/transpiled/RTD/syntax/index.js.map +1 -1
- package/transpiled/Remotes.d.ts +12 -7
- package/transpiled/Remotes.js +36 -16
- package/transpiled/Remotes.js.map +1 -1
- package/transpiled/Tenant.d.ts +16 -7
- package/transpiled/Tenant.js +47 -18
- package/transpiled/Tenant.js.map +1 -1
- package/transpiled/directives/auth/Anonymous.d.ts +17 -2
- package/transpiled/directives/auth/Anonymous.js +23 -9
- package/transpiled/directives/auth/Anonymous.js.map +1 -1
- package/transpiled/directives/auth/Anyone.d.ts +10 -0
- package/transpiled/directives/auth/Anyone.js +17 -0
- package/transpiled/directives/auth/Anyone.js.map +1 -0
- package/transpiled/directives/auth/Assert.d.ts +9 -0
- package/transpiled/directives/auth/Assert.js +33 -0
- package/transpiled/directives/auth/Assert.js.map +1 -0
- package/transpiled/directives/auth/Authorization.d.ts +52 -8
- package/transpiled/directives/auth/Authorization.js +257 -85
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Delegate.d.ts +13 -4
- package/transpiled/directives/auth/Delegate.js +23 -10
- package/transpiled/directives/auth/Delegate.js.map +1 -1
- package/transpiled/directives/auth/Echo.d.ts +6 -4
- package/transpiled/directives/auth/Echo.js +14 -9
- package/transpiled/directives/auth/Echo.js.map +1 -1
- package/transpiled/directives/auth/Federation.d.ts +21 -0
- package/transpiled/directives/auth/Federation.js +54 -0
- package/transpiled/directives/auth/Federation.js.map +1 -0
- package/transpiled/directives/auth/Id.d.ts +12 -3
- package/transpiled/directives/auth/Id.js +13 -5
- package/transpiled/directives/auth/Id.js.map +1 -1
- package/transpiled/directives/auth/Incept.d.ts +11 -6
- package/transpiled/directives/auth/Incept.js +68 -50
- package/transpiled/directives/auth/Incept.js.map +1 -1
- package/transpiled/directives/auth/Input.d.ts +15 -0
- package/transpiled/directives/auth/Input.js +49 -0
- package/transpiled/directives/auth/Input.js.map +1 -0
- package/transpiled/directives/auth/Role.d.ts +12 -3
- package/transpiled/directives/auth/Role.js +28 -16
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/auth/Rule.d.ts +8 -5
- package/transpiled/directives/auth/Rule.js +23 -7
- package/transpiled/directives/auth/Rule.js.map +1 -1
- package/transpiled/directives/auth/Scheme.d.ts +4 -2
- package/transpiled/directives/auth/Scheme.js +11 -35
- package/transpiled/directives/auth/Scheme.js.map +1 -1
- package/transpiled/directives/auth/create.d.ts +2 -0
- package/transpiled/directives/auth/create.js +10 -0
- package/transpiled/directives/auth/create.js.map +1 -0
- package/transpiled/directives/auth/index.d.ts +1 -1
- package/transpiled/directives/auth/index.js +2 -5
- package/transpiled/directives/auth/index.js.map +1 -1
- package/transpiled/directives/auth/schemes.d.ts +26 -3
- package/transpiled/directives/auth/schemes.js +32 -8
- package/transpiled/directives/auth/schemes.js.map +1 -1
- package/transpiled/directives/auth/split.d.ts +1 -1
- package/transpiled/directives/auth/split.js +3 -30
- package/transpiled/directives/auth/split.js.map +1 -1
- package/transpiled/directives/auth/types.d.ts +42 -12
- package/transpiled/directives/auth/types.js +1 -2
- package/transpiled/directives/cache/Cache.d.ts +17 -6
- package/transpiled/directives/cache/Cache.js +53 -14
- package/transpiled/directives/cache/Cache.js.map +1 -1
- package/transpiled/directives/cache/Control.d.ts +3 -3
- package/transpiled/directives/cache/Control.js +16 -22
- package/transpiled/directives/cache/Control.js.map +1 -1
- package/transpiled/directives/cache/Exact.d.ts +1 -1
- package/transpiled/directives/cache/Exact.js +2 -6
- package/transpiled/directives/cache/Exact.js.map +1 -1
- package/transpiled/directives/cache/etag.d.ts +13 -0
- package/transpiled/directives/cache/etag.js +33 -0
- package/transpiled/directives/cache/etag.js.map +1 -0
- package/transpiled/directives/cache/index.d.ts +1 -1
- package/transpiled/directives/cache/index.js +2 -5
- package/transpiled/directives/cache/index.js.map +1 -1
- package/transpiled/directives/cache/types.d.ts +1 -1
- package/transpiled/directives/cache/types.js +1 -2
- package/transpiled/directives/censor/Censor.d.ts +10 -0
- package/transpiled/directives/censor/Censor.js +20 -0
- package/transpiled/directives/censor/Censor.js.map +1 -0
- package/transpiled/directives/censor/index.d.ts +2 -0
- package/transpiled/directives/censor/index.js +3 -0
- package/transpiled/directives/censor/index.js.map +1 -0
- package/transpiled/directives/cors/CORS.d.ts +10 -3
- package/transpiled/directives/cors/CORS.js +38 -21
- package/transpiled/directives/cors/CORS.js.map +1 -1
- package/transpiled/directives/cors/index.d.ts +1 -1
- package/transpiled/directives/cors/index.js +2 -5
- package/transpiled/directives/cors/index.js.map +1 -1
- package/transpiled/directives/dev/Development.d.ts +4 -4
- package/transpiled/directives/dev/Development.js +19 -15
- package/transpiled/directives/dev/Development.js.map +1 -1
- package/transpiled/directives/dev/Faulty.d.ts +8 -0
- package/transpiled/directives/dev/Faulty.js +20 -0
- package/transpiled/directives/dev/Faulty.js.map +1 -0
- package/transpiled/directives/dev/Sleep.d.ts +9 -0
- package/transpiled/directives/dev/Sleep.js +41 -0
- package/transpiled/directives/dev/Sleep.js.map +1 -0
- package/transpiled/directives/dev/Stub.d.ts +2 -2
- package/transpiled/directives/dev/Stub.js +1 -5
- package/transpiled/directives/dev/Stub.js.map +1 -1
- package/transpiled/directives/dev/Throw.d.ts +2 -2
- package/transpiled/directives/dev/Throw.js +1 -5
- package/transpiled/directives/dev/Throw.js.map +1 -1
- package/transpiled/directives/dev/index.d.ts +1 -1
- package/transpiled/directives/dev/index.js +2 -5
- package/transpiled/directives/dev/index.js.map +1 -1
- package/transpiled/directives/dev/types.d.ts +2 -2
- package/transpiled/directives/dev/types.js +1 -2
- package/transpiled/directives/flow/Compose.d.ts +9 -0
- package/transpiled/directives/flow/Compose.js +74 -0
- package/transpiled/directives/flow/Compose.js.map +1 -0
- package/transpiled/directives/flow/Fetch.d.ts +12 -0
- package/transpiled/directives/flow/Fetch.js +51 -0
- package/transpiled/directives/flow/Fetch.js.map +1 -0
- package/transpiled/directives/flow/Flow.d.ts +10 -0
- package/transpiled/directives/flow/Flow.js +29 -0
- package/transpiled/directives/flow/Flow.js.map +1 -0
- package/transpiled/directives/flow/index.d.ts +2 -0
- package/transpiled/directives/flow/index.js +3 -0
- package/transpiled/directives/flow/index.js.map +1 -0
- package/transpiled/directives/flow/types.d.ts +6 -0
- package/transpiled/directives/flow/types.js +2 -0
- package/transpiled/directives/flow/types.js.map +1 -0
- package/transpiled/directives/help/Family.d.ts +26 -0
- package/transpiled/directives/help/Family.js +83 -0
- package/transpiled/directives/help/Family.js.map +1 -0
- package/transpiled/directives/help/Help.d.ts +22 -0
- package/transpiled/directives/help/Help.js +36 -0
- package/transpiled/directives/help/Help.js.map +1 -0
- package/transpiled/directives/help/Parameters.d.ts +18 -0
- package/transpiled/directives/help/Parameters.js +34 -0
- package/transpiled/directives/help/Parameters.js.map +1 -0
- package/transpiled/directives/help/described.d.ts +16 -0
- package/transpiled/directives/help/described.js +27 -0
- package/transpiled/directives/help/described.js.map +1 -0
- package/transpiled/directives/help/index.d.ts +22 -0
- package/transpiled/directives/help/index.js +34 -0
- package/transpiled/directives/help/index.js.map +1 -0
- package/transpiled/directives/index.d.ts +7 -2
- package/transpiled/directives/index.js +32 -13
- package/transpiled/directives/index.js.map +1 -1
- package/transpiled/directives/io/Directive.d.ts +8 -3
- package/transpiled/directives/io/Directive.js +1 -2
- package/transpiled/directives/io/IO.d.ts +24 -5
- package/transpiled/directives/io/IO.js +64 -17
- package/transpiled/directives/io/IO.js.map +1 -1
- package/transpiled/directives/io/Input.d.ts +5 -4
- package/transpiled/directives/io/Input.js +18 -38
- package/transpiled/directives/io/Input.js.map +1 -1
- package/transpiled/directives/io/Message.js +1 -2
- package/transpiled/directives/io/Output.d.ts +12 -6
- package/transpiled/directives/io/Output.js +19 -59
- package/transpiled/directives/io/Output.js.map +1 -1
- package/transpiled/directives/io/Readonly.d.ts +14 -0
- package/transpiled/directives/io/Readonly.js +20 -0
- package/transpiled/directives/io/Readonly.js.map +1 -0
- package/transpiled/directives/io/Status.d.ts +19 -0
- package/transpiled/directives/io/Status.js +37 -0
- package/transpiled/directives/io/Status.js.map +1 -0
- package/transpiled/directives/io/Throttle.d.ts +11 -0
- package/transpiled/directives/io/Throttle.js +22 -0
- package/transpiled/directives/io/Throttle.js.map +1 -0
- package/transpiled/directives/io/index.d.ts +1 -1
- package/transpiled/directives/io/index.js +2 -5
- package/transpiled/directives/io/index.js.map +1 -1
- package/transpiled/directives/io/lib/throttle/Configuration.d.ts +26 -0
- package/transpiled/directives/io/lib/throttle/Configuration.js +31 -0
- package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Keys.d.ts +14 -0
- package/transpiled/directives/io/lib/throttle/Keys.js +32 -0
- package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Quotas.d.ts +70 -0
- package/transpiled/directives/io/lib/throttle/Quotas.js +142 -0
- package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Sync.d.ts +29 -0
- package/transpiled/directives/io/lib/throttle/Sync.js +70 -0
- package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Warning.d.ts +11 -0
- package/transpiled/directives/io/lib/throttle/Warning.js +24 -0
- package/transpiled/directives/io/lib/throttle/Warning.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/Component.d.ts +6 -0
- package/transpiled/directives/io/lib/throttle/components/Component.js +2 -0
- package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/IP.d.ts +14 -0
- package/transpiled/directives/io/lib/throttle/components/IP.js +24 -0
- package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/Identity.d.ts +11 -0
- package/transpiled/directives/io/lib/throttle/components/Identity.js +12 -0
- package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
- package/transpiled/directives/io/lib/throttle/components/Path.js +6 -0
- package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/Route.d.ts +12 -0
- package/transpiled/directives/io/lib/throttle/components/Route.js +16 -0
- package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/Segment.d.ts +9 -0
- package/transpiled/directives/io/lib/throttle/components/Segment.js +13 -0
- package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
- package/transpiled/directives/io/lib/throttle/components/index.js +13 -0
- package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
- package/transpiled/directives/io/lib/throttle/conditions/Condition.js +2 -0
- package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
- package/transpiled/directives/io/lib/throttle/conditions/Status.js +12 -0
- package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
- package/transpiled/directives/io/lib/throttle/conditions/index.js +5 -0
- package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/index.d.ts +4 -0
- package/transpiled/directives/io/lib/throttle/index.js +5 -0
- package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
- package/transpiled/directives/io/schemas.d.ts +6 -4
- package/transpiled/directives/io/schemas.js +8 -13
- package/transpiled/directives/io/schemas.js.map +1 -1
- package/transpiled/directives/map/Authority.d.ts +6 -0
- package/transpiled/directives/map/Authority.js +12 -0
- package/transpiled/directives/map/Authority.js.map +1 -0
- package/transpiled/directives/map/Buffer.d.ts +6 -0
- package/transpiled/directives/map/Buffer.js +12 -0
- package/transpiled/directives/map/Buffer.js.map +1 -0
- package/transpiled/directives/map/Claims.d.ts +10 -0
- package/transpiled/directives/map/Claims.js +38 -0
- package/transpiled/directives/map/Claims.js.map +1 -0
- package/transpiled/directives/map/Directive.d.ts +3 -0
- package/transpiled/directives/map/Directive.js +2 -0
- package/transpiled/directives/map/Directive.js.map +1 -0
- package/transpiled/directives/map/Headers.d.ts +14 -0
- package/transpiled/directives/map/Headers.js +44 -0
- package/transpiled/directives/map/Headers.js.map +1 -0
- package/transpiled/directives/map/Instance.d.ts +15 -0
- package/transpiled/directives/map/Instance.js +27 -0
- package/transpiled/directives/map/Instance.js.map +1 -0
- package/transpiled/directives/map/Language.d.ts +10 -0
- package/transpiled/directives/map/Language.js +31 -0
- package/transpiled/directives/map/Language.js.map +1 -0
- package/transpiled/directives/map/Languages.d.ts +4 -0
- package/transpiled/directives/map/Languages.js +11 -0
- package/transpiled/directives/map/Languages.js.map +1 -0
- package/transpiled/directives/map/Map.d.ts +15 -0
- package/transpiled/directives/map/Map.js +60 -0
- package/transpiled/directives/map/Map.js.map +1 -0
- package/transpiled/directives/map/Mapping.d.ts +26 -0
- package/transpiled/directives/map/Mapping.js +29 -0
- package/transpiled/directives/map/Mapping.js.map +1 -0
- package/transpiled/directives/map/Properties.d.ts +9 -0
- package/transpiled/directives/map/Properties.js +10 -0
- package/transpiled/directives/map/Properties.js.map +1 -0
- package/transpiled/directives/map/Segments.d.ts +9 -0
- package/transpiled/directives/map/Segments.js +34 -0
- package/transpiled/directives/map/Segments.js.map +1 -0
- package/transpiled/directives/map/index.d.ts +2 -0
- package/transpiled/directives/map/index.js +3 -0
- package/transpiled/directives/map/index.js.map +1 -0
- package/transpiled/directives/mcp/MCP.d.ts +17 -0
- package/transpiled/directives/mcp/MCP.js +25 -0
- package/transpiled/directives/mcp/MCP.js.map +1 -0
- package/transpiled/directives/mcp/Tool.d.ts +12 -0
- package/transpiled/directives/mcp/Tool.js +24 -0
- package/transpiled/directives/mcp/Tool.js.map +1 -0
- package/transpiled/directives/mcp/index.d.ts +4 -0
- package/transpiled/directives/mcp/index.js +4 -0
- package/transpiled/directives/mcp/index.js.map +1 -0
- package/transpiled/directives/oauth/Discovery.d.ts +23 -0
- package/transpiled/directives/oauth/Discovery.js +55 -0
- package/transpiled/directives/oauth/Discovery.js.map +1 -0
- package/transpiled/directives/oauth/documents.d.ts +9 -0
- package/transpiled/directives/oauth/documents.js +82 -0
- package/transpiled/directives/oauth/documents.js.map +1 -0
- package/transpiled/directives/oauth/index.d.ts +2 -0
- package/transpiled/directives/oauth/index.js +3 -0
- package/transpiled/directives/oauth/index.js.map +1 -0
- package/transpiled/directives/octets/Context.d.ts +2 -2
- package/transpiled/directives/octets/Context.js +4 -31
- package/transpiled/directives/octets/Context.js.map +1 -1
- package/transpiled/directives/octets/Delete.d.ts +11 -6
- package/transpiled/directives/octets/Delete.js +46 -53
- package/transpiled/directives/octets/Delete.js.map +1 -1
- package/transpiled/directives/octets/Directive.d.ts +9 -3
- package/transpiled/directives/octets/Directive.js +1 -5
- package/transpiled/directives/octets/Directive.js.map +1 -1
- package/transpiled/directives/octets/Get.d.ts +17 -0
- package/transpiled/directives/octets/Get.js +69 -0
- package/transpiled/directives/octets/Get.js.map +1 -0
- package/transpiled/directives/octets/Octets.d.ts +9 -6
- package/transpiled/directives/octets/Octets.js +27 -26
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/octets/Put.d.ts +33 -0
- package/transpiled/directives/octets/Put.js +84 -0
- package/transpiled/directives/octets/Put.js.map +1 -0
- package/transpiled/directives/octets/Workflow.d.ts +6 -6
- package/transpiled/directives/octets/Workflow.js +14 -36
- package/transpiled/directives/octets/Workflow.js.map +1 -1
- package/transpiled/directives/octets/bytes.d.ts +1 -0
- package/transpiled/directives/octets/bytes.js +14 -0
- package/transpiled/directives/octets/bytes.js.map +1 -0
- package/transpiled/directives/octets/index.d.ts +1 -1
- package/transpiled/directives/octets/index.js +2 -5
- package/transpiled/directives/octets/index.js.map +1 -1
- package/transpiled/directives/octets/schemas.d.ts +6 -10
- package/transpiled/directives/octets/schemas.js +8 -17
- package/transpiled/directives/octets/schemas.js.map +1 -1
- package/transpiled/directives/octets/types.d.ts +3 -1
- package/transpiled/directives/octets/types.js +1 -2
- package/transpiled/directives/octets/workflows/Execution.d.ts +22 -4
- package/transpiled/directives/octets/workflows/Execution.js +69 -15
- package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
- package/transpiled/directives/octets/workflows/Workflow.d.ts +10 -5
- package/transpiled/directives/octets/workflows/Workflow.js +16 -14
- package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
- package/transpiled/directives/octets/workflows/index.d.ts +2 -1
- package/transpiled/directives/octets/workflows/index.js +1 -5
- package/transpiled/directives/octets/workflows/index.js.map +1 -1
- package/transpiled/directives/require/Directive.d.ts +2 -2
- package/transpiled/directives/require/Directive.js +1 -2
- package/transpiled/directives/require/Headers.d.ts +3 -3
- package/transpiled/directives/require/Headers.js +4 -8
- package/transpiled/directives/require/Headers.js.map +1 -1
- package/transpiled/directives/require/Require.d.ts +4 -4
- package/transpiled/directives/require/Require.js +8 -15
- package/transpiled/directives/require/Require.js.map +1 -1
- package/transpiled/directives/require/index.d.ts +1 -1
- package/transpiled/directives/require/index.js +2 -5
- package/transpiled/directives/require/index.js.map +1 -1
- package/transpiled/discovery.js +1 -2
- package/transpiled/exceptions.d.ts +1 -1
- package/transpiled/exceptions.js +23 -34
- package/transpiled/exceptions.js.map +1 -1
- package/transpiled/index.d.ts +5 -5
- package/transpiled/index.js +2 -11
- package/transpiled/index.js.map +1 -1
- package/transpiled/io.d.ts +1 -1
- package/transpiled/io.js +1 -2
- package/transpiled/measurements.d.ts +22 -0
- package/transpiled/measurements.js +37 -0
- package/transpiled/measurements.js.map +1 -0
- package/transpiled/root.d.ts +1 -1
- package/transpiled/root.js +22 -11
- package/transpiled/root.js.map +1 -1
- package/transpiled/service.d.ts +7 -0
- package/transpiled/service.js +119 -0
- package/transpiled/service.js.map +1 -0
- package/transpiled/userland.d.ts +39 -0
- package/transpiled/userland.js +7 -0
- package/transpiled/userland.js.map +1 -0
- package/ui/dist/_app/env.js +1 -0
- package/ui/dist/_app/immutable/assets/0.DKJjMwRs.css +2 -0
- package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
- package/ui/dist/_app/immutable/assets/ui.DWW-43mU.css +1 -0
- package/ui/dist/_app/immutable/chunks/BCJPed3-.js +6 -0
- package/ui/dist/_app/immutable/chunks/BDuDJR9X.js +1 -0
- package/ui/dist/_app/immutable/chunks/BFtcFZWO.js +1 -0
- package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
- package/ui/dist/_app/immutable/chunks/Bjy-W4x2.js +81 -0
- package/ui/dist/_app/immutable/chunks/ck6CK-dV.js +88 -0
- package/ui/dist/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/ui/dist/_app/immutable/entry/app.CwA5shUx.js +2 -0
- package/ui/dist/_app/immutable/entry/start.BxffyCG_.js +1 -0
- package/ui/dist/_app/immutable/nodes/0.BFAzzuc1.js +1 -0
- package/ui/dist/_app/immutable/nodes/1.3yaVV_1F.js +1 -0
- package/ui/dist/_app/immutable/nodes/2.B023p_6N.js +8 -0
- package/ui/dist/_app/immutable/nodes/3.DqbaMF3I.js +1 -0
- package/ui/dist/_app/immutable/nodes/4.CoCUKIsu.js +1 -0
- package/ui/dist/_app/immutable/nodes/5.CTjWt55g.js +1 -0
- package/ui/dist/_app/immutable/nodes/6.DArHyhJL.js +1 -0
- package/ui/dist/_app/version.json +1 -0
- package/ui/dist/apple-touch-icon.png +0 -0
- package/ui/dist/favicon-96x96.png +0 -0
- package/ui/dist/favicon.ico +0 -0
- package/ui/dist/index.html +66 -0
- package/components/context.toa.yaml +0 -27
- package/components/identity.bans/operations/transit.d.ts +0 -14
- package/components/identity.bans/operations/transit.js.map +0 -1
- package/components/identity.bans/operations/tsconfig.tsbuildinfo +0 -1
- package/components/identity.basic/operations/authenticate.d.ts +0 -13
- package/components/identity.basic/operations/authenticate.js.map +0 -1
- package/components/identity.basic/operations/incept.d.ts +0 -12
- package/components/identity.basic/operations/incept.js.map +0 -1
- package/components/identity.basic/operations/transit.d.ts +0 -12
- package/components/identity.basic/operations/transit.js.map +0 -1
- package/components/identity.basic/operations/tsconfig.tsbuildinfo +0 -1
- package/components/identity.basic/operations/types.d.ts +0 -40
- package/components/identity.basic/operations/types.js +0 -3
- package/components/identity.basic/operations/types.js.map +0 -1
- package/components/identity.basic/source/types.ts +0 -44
- package/components/identity.federation/operations/authenticate.d.ts +0 -3
- package/components/identity.federation/operations/authenticate.js.map +0 -1
- package/components/identity.federation/operations/incept.d.ts +0 -11
- package/components/identity.federation/operations/incept.js.map +0 -1
- package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
- package/components/identity.federation/operations/lib/assertions-as-values.js +0 -45
- package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
- package/components/identity.federation/operations/lib/jwt.d.ts +0 -19
- package/components/identity.federation/operations/lib/jwt.js +0 -136
- package/components/identity.federation/operations/lib/jwt.js.map +0 -1
- package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
- package/components/identity.federation/operations/types/configuration.d.ts +0 -15
- package/components/identity.federation/operations/types/configuration.js.map +0 -1
- package/components/identity.federation/operations/types/context.d.ts +0 -56
- package/components/identity.federation/operations/types/context.js.map +0 -1
- package/components/identity.federation/operations/types/entity.d.ts +0 -6
- package/components/identity.federation/operations/types/entity.js.map +0 -1
- package/components/identity.federation/operations/types/index.d.ts +0 -3
- package/components/identity.federation/operations/types/index.js.map +0 -1
- package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
- package/components/identity.federation/source/lib/jwt.test.ts +0 -56
- package/components/identity.federation/source/lib/jwt.ts +0 -170
- package/components/identity.roles/operations/grant.d.ts +0 -10
- package/components/identity.roles/operations/grant.js.map +0 -1
- package/components/identity.roles/operations/lib/Entity.d.ts +0 -5
- package/components/identity.roles/operations/lib/Entity.js.map +0 -1
- package/components/identity.roles/operations/list.d.ts +0 -2
- package/components/identity.roles/operations/list.js.map +0 -1
- package/components/identity.roles/operations/principal.d.ts +0 -13
- package/components/identity.roles/operations/principal.js.map +0 -1
- package/components/identity.roles/operations/tsconfig.tsbuildinfo +0 -1
- package/components/identity.tokens/operations/authenticate.d.ts +0 -9
- package/components/identity.tokens/operations/authenticate.js.map +0 -1
- package/components/identity.tokens/operations/decrypt.d.ts +0 -3
- package/components/identity.tokens/operations/decrypt.js.map +0 -1
- package/components/identity.tokens/operations/encrypt.d.ts +0 -8
- package/components/identity.tokens/operations/encrypt.js.map +0 -1
- package/components/identity.tokens/operations/revoke.d.ts +0 -2
- package/components/identity.tokens/operations/revoke.js.map +0 -1
- package/components/identity.tokens/operations/tsconfig.tsbuildinfo +0 -1
- package/components/identity.tokens/operations/types.d.ts +0 -46
- package/components/identity.tokens/operations/types.js +0 -3
- package/components/identity.tokens/operations/types.js.map +0 -1
- package/components/identity.tokens/source/authenticate.test.ts +0 -63
- package/components/identity.tokens/source/decrypt.test.ts +0 -61
- package/components/identity.tokens/source/encrypt.test.ts +0 -59
- package/components/identity.tokens/source/types.ts +0 -55
- package/components/octets.storage/manifest.toa.yaml +0 -21
- package/components/octets.storage/operations/delete.js +0 -7
- package/components/octets.storage/operations/fetch.js +0 -46
- package/components/octets.storage/operations/get.js +0 -7
- package/components/octets.storage/operations/list.js +0 -7
- package/components/octets.storage/operations/store.js +0 -11
- package/cucumber.js +0 -7
- package/documentation/.assets/ia3-dark.jpg +0 -0
- package/documentation/.assets/ia3-light.jpg +0 -0
- package/documentation/.assets/overview-dark.jpg +0 -0
- package/documentation/.assets/overview-light.jpg +0 -0
- package/documentation/.assets/role-scopes-dark.jpg +0 -0
- package/documentation/.assets/role-scopes-light.jpg +0 -0
- package/documentation/.assets/rtd-dark.jpg +0 -0
- package/documentation/.assets/rtd-light.jpg +0 -0
- package/documentation/access.md +0 -266
- package/documentation/authorities.md +0 -53
- package/documentation/cache.md +0 -49
- package/documentation/components.md +0 -331
- package/documentation/identity.md +0 -158
- package/documentation/io.md +0 -56
- package/documentation/notes/sse.md +0 -71
- package/documentation/octets.md +0 -261
- package/documentation/protocol.md +0 -85
- package/documentation/query.md +0 -275
- package/documentation/require.md +0 -15
- package/documentation/tree.md +0 -183
- package/documentation/vary.md +0 -69
- package/entity.json +0 -0
- package/features/access.feature +0 -476
- package/features/annotation.feature +0 -32
- package/features/authorities.basic.feature +0 -141
- package/features/authorities.feature +0 -32
- package/features/authorities.federation.feature +0 -99
- package/features/authorities.tokens.feature +0 -118
- package/features/body.feature +0 -49
- package/features/cache.feature +0 -233
- package/features/cors.feature +0 -76
- package/features/debug.feature +0 -34
- package/features/directives.feature +0 -61
- package/features/dynamic.feature +0 -110
- package/features/errors.feature +0 -225
- package/features/etag.feature +0 -103
- package/features/identity.bans.feature +0 -137
- package/features/identity.basic.feature +0 -401
- package/features/identity.feature +0 -82
- package/features/identity.federation.feature +0 -208
- package/features/identity.roles.feature +0 -267
- package/features/identity.tokens.feature +0 -229
- package/features/io.feature +0 -205
- package/features/octets.entries.feature +0 -131
- package/features/octets.feature +0 -265
- package/features/octets.meta.feature +0 -69
- package/features/octets.workflows.feature +0 -300
- package/features/probes.feature +0 -14
- package/features/query.feature +0 -261
- package/features/require.feature +0 -67
- package/features/response.feature +0 -74
- package/features/routes.feature +0 -139
- package/features/steps/Captures.ts +0 -6
- package/features/steps/Common.ts +0 -10
- package/features/steps/Components.ts +0 -55
- package/features/steps/Database.ts +0 -65
- package/features/steps/Gateway.ts +0 -132
- package/features/steps/HTTP.ts +0 -74
- package/features/steps/IdP.ts +0 -154
- package/features/steps/Parameters.ts +0 -21
- package/features/steps/Workspace.ts +0 -41
- package/features/steps/components/echo/manifest.toa.yaml +0 -14
- package/features/steps/components/echo/operations/affect.js +0 -7
- package/features/steps/components/echo/operations/compute.js +0 -7
- package/features/steps/components/echo/operations/error.js +0 -11
- package/features/steps/components/echo/operations/identity.js +0 -7
- package/features/steps/components/greeter/manifest.toa.yaml +0 -6
- package/features/steps/components/greeter/operations/greet.js +0 -7
- package/features/steps/components/octets.tester/manifest.toa.yaml +0 -19
- package/features/steps/components/octets.tester/operations/bar.js +0 -12
- package/features/steps/components/octets.tester/operations/baz.js +0 -11
- package/features/steps/components/octets.tester/operations/concat.js +0 -7
- package/features/steps/components/octets.tester/operations/diversify.js +0 -14
- package/features/steps/components/octets.tester/operations/echo.js +0 -7
- package/features/steps/components/octets.tester/operations/err.js +0 -16
- package/features/steps/components/octets.tester/operations/foo.js +0 -7
- package/features/steps/components/octets.tester/operations/lenna.png +0 -0
- package/features/steps/components/pots/manifest.toa.yaml +0 -29
- package/features/steps/components/sequences/manifest.toa.yaml +0 -11
- package/features/steps/components/sequences/operations/numbers.js +0 -7
- package/features/steps/components/sequences/operations/tokens.js +0 -16
- package/features/steps/components/users/manifest.toa.yaml +0 -14
- package/features/steps/components/users.properties/manifest.toa.yaml +0 -14
- package/features/steps/tsconfig.json +0 -9
- package/features/streams.feature +0 -31
- package/features/timing.feature +0 -69
- package/features/vary.feature +0 -252
- package/schemas/annotation.cos.yaml +0 -6
- package/schemas/directive.cos.yaml +0 -3
- package/schemas/method.cos.yaml +0 -8
- package/schemas/node.cos.yaml +0 -5
- package/schemas/octets/context.cos.yaml +0 -1
- package/schemas/octets/fetch.cos.yaml +0 -3
- package/schemas/octets/list.cos.yaml +0 -2
- package/schemas/octets/permute.cos.yaml +0 -1
- package/schemas/octets/store.cos.yaml +0 -3
- package/schemas/query.cos.yaml +0 -17
- package/schemas/querystring.cos.yaml +0 -6
- package/schemas/range.cos.yaml +0 -2
- package/schemas/route.cos.yaml +0 -2
- package/source/Annotation.ts +0 -8
- package/source/Branch.ts +0 -8
- package/source/Composition.ts +0 -57
- package/source/Context.ts +0 -8
- package/source/Directive.test.ts +0 -97
- package/source/Directive.ts +0 -96
- package/source/Endpoint.ts +0 -108
- package/source/Factory.ts +0 -60
- package/source/Gateway.ts +0 -97
- package/source/HTTP/Context.ts +0 -89
- package/source/HTTP/Server.ts +0 -171
- package/source/HTTP/Timing.ts +0 -40
- package/source/HTTP/exceptions.ts +0 -73
- package/source/HTTP/formats/index.ts +0 -22
- package/source/HTTP/formats/json.ts +0 -16
- package/source/HTTP/formats/msgpack.ts +0 -16
- package/source/HTTP/formats/text.ts +0 -12
- package/source/HTTP/formats/yaml.ts +0 -17
- package/source/HTTP/index.ts +0 -4
- package/source/HTTP/messages.test.ts +0 -89
- package/source/HTTP/messages.ts +0 -110
- package/source/Interception.ts +0 -24
- package/source/Mapping.ts +0 -55
- package/source/Query.test.ts +0 -37
- package/source/Query.ts +0 -116
- package/source/RTD/Context.ts +0 -13
- package/source/RTD/Directives.ts +0 -33
- package/source/RTD/Endpoint.ts +0 -13
- package/source/RTD/Match.ts +0 -11
- package/source/RTD/Method.ts +0 -18
- package/source/RTD/Node.ts +0 -84
- package/source/RTD/Route.ts +0 -59
- package/source/RTD/Tree.ts +0 -58
- package/source/RTD/factory.ts +0 -44
- package/source/RTD/index.ts +0 -8
- package/source/RTD/segment.test.ts +0 -32
- package/source/RTD/segment.ts +0 -26
- package/source/RTD/syntax/index.ts +0 -2
- package/source/RTD/syntax/parse.test.ts +0 -188
- package/source/RTD/syntax/parse.ts +0 -154
- package/source/RTD/syntax/types.ts +0 -48
- package/source/Remotes.test.ts +0 -42
- package/source/Remotes.ts +0 -30
- package/source/Tenant.ts +0 -35
- package/source/deployment.ts +0 -64
- package/source/directives/auth/Anonymous.ts +0 -15
- package/source/directives/auth/Authorization.ts +0 -157
- package/source/directives/auth/Delegate.ts +0 -35
- package/source/directives/auth/Echo.ts +0 -12
- package/source/directives/auth/Id.ts +0 -19
- package/source/directives/auth/Incept.ts +0 -48
- package/source/directives/auth/Role.test.ts +0 -109
- package/source/directives/auth/Role.ts +0 -66
- package/source/directives/auth/Rule.ts +0 -28
- package/source/directives/auth/Scheme.ts +0 -26
- package/source/directives/auth/index.ts +0 -3
- package/source/directives/auth/schemes.ts +0 -9
- package/source/directives/auth/split.ts +0 -15
- package/source/directives/auth/types.ts +0 -40
- package/source/directives/cache/Cache.ts +0 -35
- package/source/directives/cache/Control.ts +0 -85
- package/source/directives/cache/Exact.ts +0 -7
- package/source/directives/cache/index.ts +0 -3
- package/source/directives/cache/types.ts +0 -9
- package/source/directives/cors/CORS.ts +0 -62
- package/source/directives/cors/index.ts +0 -3
- package/source/directives/dev/Development.ts +0 -35
- package/source/directives/dev/Stub.ts +0 -14
- package/source/directives/dev/Throw.ts +0 -14
- package/source/directives/dev/index.ts +0 -3
- package/source/directives/dev/types.ts +0 -5
- package/source/directives/index.ts +0 -13
- package/source/directives/io/Directive.ts +0 -11
- package/source/directives/io/IO.ts +0 -43
- package/source/directives/io/Input.ts +0 -50
- package/source/directives/io/Message.ts +0 -1
- package/source/directives/io/Output.ts +0 -69
- package/source/directives/io/index.ts +0 -3
- package/source/directives/io/schemas.ts +0 -12
- package/source/directives/octets/Context.ts +0 -19
- package/source/directives/octets/Delete.ts +0 -85
- package/source/directives/octets/Directive.ts +0 -10
- package/source/directives/octets/Fetch.ts +0 -100
- package/source/directives/octets/List.ts +0 -72
- package/source/directives/octets/Octets.ts +0 -71
- package/source/directives/octets/Store.ts +0 -126
- package/source/directives/octets/Workflow.ts +0 -48
- package/source/directives/octets/index.ts +0 -3
- package/source/directives/octets/schemas.test.ts +0 -21
- package/source/directives/octets/schemas.ts +0 -19
- package/source/directives/octets/types.ts +0 -7
- package/source/directives/octets/workflows/Execution.ts +0 -76
- package/source/directives/octets/workflows/Workflow.ts +0 -37
- package/source/directives/octets/workflows/index.ts +0 -1
- package/source/directives/require/Directive.ts +0 -5
- package/source/directives/require/Headers.ts +0 -20
- package/source/directives/require/Require.ts +0 -28
- package/source/directives/require/index.ts +0 -3
- package/source/directives/vary/Directive.ts +0 -7
- package/source/directives/vary/Embed.ts +0 -68
- package/source/directives/vary/Properties.ts +0 -17
- package/source/directives/vary/Vary.ts +0 -50
- package/source/directives/vary/embeddings/Authority.ts +0 -8
- package/source/directives/vary/embeddings/Embedding.ts +0 -7
- package/source/directives/vary/embeddings/Header.ts +0 -32
- package/source/directives/vary/embeddings/Language.ts +0 -31
- package/source/directives/vary/embeddings/Parameter.ts +0 -14
- package/source/directives/vary/embeddings/index.ts +0 -13
- package/source/directives/vary/index.ts +0 -3
- package/source/discovery.ts +0 -1
- package/source/exceptions.ts +0 -28
- package/source/index.test.ts +0 -9
- package/source/index.ts +0 -6
- package/source/io.ts +0 -4
- package/source/manifest.test.ts +0 -51
- package/source/manifest.ts +0 -51
- package/source/root.ts +0 -43
- package/source/schemas.ts +0 -13
- package/transpiled/Annotation.d.ts +0 -8
- package/transpiled/Annotation.js +0 -3
- package/transpiled/Annotation.js.map +0 -1
- package/transpiled/RTD/syntax/parse.d.ts +0 -4
- package/transpiled/RTD/syntax/parse.js +0 -128
- package/transpiled/RTD/syntax/parse.js.map +0 -1
- package/transpiled/RTD/syntax/types.d.ts +0 -41
- package/transpiled/RTD/syntax/types.js +0 -5
- package/transpiled/RTD/syntax/types.js.map +0 -1
- package/transpiled/deployment.d.ts +0 -3
- package/transpiled/deployment.js +0 -79
- package/transpiled/deployment.js.map +0 -1
- package/transpiled/directives/octets/Fetch.d.ts +0 -18
- package/transpiled/directives/octets/Fetch.js +0 -92
- package/transpiled/directives/octets/Fetch.js.map +0 -1
- package/transpiled/directives/octets/List.d.ts +0 -16
- package/transpiled/directives/octets/List.js +0 -74
- package/transpiled/directives/octets/List.js.map +0 -1
- package/transpiled/directives/octets/Store.d.ts +0 -24
- package/transpiled/directives/octets/Store.js +0 -95
- package/transpiled/directives/octets/Store.js.map +0 -1
- package/transpiled/directives/vary/Directive.d.ts +0 -6
- package/transpiled/directives/vary/Directive.js +0 -3
- package/transpiled/directives/vary/Directive.js.map +0 -1
- package/transpiled/directives/vary/Embed.d.ts +0 -11
- package/transpiled/directives/vary/Embed.js +0 -51
- package/transpiled/directives/vary/Embed.js.map +0 -1
- package/transpiled/directives/vary/Properties.d.ts +0 -9
- package/transpiled/directives/vary/Properties.js +0 -16
- package/transpiled/directives/vary/Properties.js.map +0 -1
- package/transpiled/directives/vary/Vary.d.ts +0 -10
- package/transpiled/directives/vary/Vary.js +0 -36
- package/transpiled/directives/vary/Vary.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Authority.d.ts +0 -5
- package/transpiled/directives/vary/embeddings/Authority.js +0 -10
- package/transpiled/directives/vary/embeddings/Authority.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
- package/transpiled/directives/vary/embeddings/Embedding.js +0 -3
- package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
- package/transpiled/directives/vary/embeddings/Header.js +0 -28
- package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
- package/transpiled/directives/vary/embeddings/Language.js +0 -28
- package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
- package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
- package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
- package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
- package/transpiled/directives/vary/embeddings/index.js +0 -14
- package/transpiled/directives/vary/embeddings/index.js.map +0 -1
- package/transpiled/directives/vary/index.d.ts +0 -2
- package/transpiled/directives/vary/index.js +0 -6
- package/transpiled/directives/vary/index.js.map +0 -1
- package/transpiled/manifest.d.ts +0 -3
- package/transpiled/manifest.js +0 -66
- package/transpiled/manifest.js.map +0 -1
- package/transpiled/schemas.d.ts +0 -7
- package/transpiled/schemas.js +0 -14
- package/transpiled/schemas.js.map +0 -1
- package/transpiled/tsconfig.tsbuildinfo +0 -1
- package/tsconfig.json +0 -12
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Described } from '../directives/help/index.ts';
|
|
2
|
+
import type * as http from '../HTTP/index.ts';
|
|
3
|
+
import type { Tree } from '../RTD/index.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Every route in the tree this caller may reach, keyed by the template it answers at, and
|
|
6
|
+
* each described exactly as `OPTIONS` on that path describes it — so a key can be taken
|
|
7
|
+
* from the answer and sent back as a request.
|
|
8
|
+
*
|
|
9
|
+
* A route a name cannot spell is here, unlike at `/.rpc` and `/.mcp`: HTTP addresses a
|
|
10
|
+
* route by its path, so leaving one out would make this disagree with the router. A
|
|
11
|
+
* resource no method of which this caller may reach is not here at all — `OPTIONS` answers
|
|
12
|
+
* `403` to one, and an empty entry would still say it exists.
|
|
13
|
+
*
|
|
14
|
+
* Sorted, because a branch is merged whenever its tenant answers and two replicas would
|
|
15
|
+
* otherwise order the same tree differently. Verbs keep the order they were declared in,
|
|
16
|
+
* which is the order `OPTIONS` answers them in.
|
|
17
|
+
*/
|
|
18
|
+
export declare function describe(tree: Tree, request: http.Context): Promise<Discovered>;
|
|
19
|
+
/** What the tree answers. An object, so that what is said of the whole of it has somewhere to go. */
|
|
20
|
+
export interface Discovered {
|
|
21
|
+
routes: Record<string, Resource>;
|
|
22
|
+
}
|
|
23
|
+
/** What one resource is, and what it serves; a verb is upper case, and nothing else here is. */
|
|
24
|
+
export interface Resource extends Described {
|
|
25
|
+
[verb: string]: unknown;
|
|
26
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { describing } from '../Introspection.js';
|
|
2
|
+
import { template } from '../RPC/names.js';
|
|
3
|
+
import { variables } from '../RTD/segment.js';
|
|
4
|
+
import { guarded, resource } from '../directives/help/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Every route in the tree this caller may reach, keyed by the template it answers at, and
|
|
7
|
+
* each described exactly as `OPTIONS` on that path describes it — so a key can be taken
|
|
8
|
+
* from the answer and sent back as a request.
|
|
9
|
+
*
|
|
10
|
+
* A route a name cannot spell is here, unlike at `/.rpc` and `/.mcp`: HTTP addresses a
|
|
11
|
+
* route by its path, so leaving one out would make this disagree with the router. A
|
|
12
|
+
* resource no method of which this caller may reach is not here at all — `OPTIONS` answers
|
|
13
|
+
* `403` to one, and an empty entry would still say it exists.
|
|
14
|
+
*
|
|
15
|
+
* Sorted, because a branch is merged whenever its tenant answers and two replicas would
|
|
16
|
+
* otherwise order the same tree differently. Verbs keep the order they were declared in,
|
|
17
|
+
* which is the order `OPTIONS` answers them in.
|
|
18
|
+
*/
|
|
19
|
+
export async function describe(tree, request) {
|
|
20
|
+
const context = describing(request);
|
|
21
|
+
const routes = new Map();
|
|
22
|
+
/*
|
|
23
|
+
* Sequentially: there is no I/O to overlap — an endpoint's own description is read once
|
|
24
|
+
* and memoized — so awaiting the whole tree at once would only allocate every clone of
|
|
25
|
+
* it at the same moment.
|
|
26
|
+
*/
|
|
27
|
+
for (const { segments, verb, method } of tree.walk()) {
|
|
28
|
+
const introspection = await method.explain(context, variables(segments));
|
|
29
|
+
if (introspection === null)
|
|
30
|
+
continue;
|
|
31
|
+
const route = template(segments);
|
|
32
|
+
let mounted = routes.get(route);
|
|
33
|
+
if (mounted === undefined) {
|
|
34
|
+
mounted = { described: resource(method.directives), methods: {} };
|
|
35
|
+
routes.set(route, mounted);
|
|
36
|
+
}
|
|
37
|
+
// two declarations can walk to one template — `/a/b` and `/a: { /b: }` — and the walk
|
|
38
|
+
// is in the order `match` tries them, so the first is the one a request would reach
|
|
39
|
+
mounted.methods[verb] ??= introspection;
|
|
40
|
+
}
|
|
41
|
+
const described = {};
|
|
42
|
+
for (const route of Array.from(routes.keys()).sort()) {
|
|
43
|
+
const { described: stated, methods } = routes.get(route);
|
|
44
|
+
// what the resource is, beside the methods it serves; a verb is upper case and cannot
|
|
45
|
+
// collide with either key
|
|
46
|
+
described[route] = { ...stated, ...guarded(methods), ...methods };
|
|
47
|
+
}
|
|
48
|
+
return { routes: described };
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../source/Discovery/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,6BAA6B,CAAA;AAK/E;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAU,EAAE,OAAqB;IAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAA;IAEzC;;;;OAIG;IACH,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;QAExE,IAAI,aAAa,KAAK,IAAI;YAAE,SAAQ;QAEpC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAE/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;YACjE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC5B,CAAC;QAED,sFAAsF;QACtF,oFAAoF;QACpF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,aAAa,CAAA;IACzC,CAAC;IAED,MAAM,SAAS,GAA6B,EAAE,CAAA;IAE9C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QAEzD,sFAAsF;QACtF,0BAA0B;QAC1B,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,CAAA;IACnE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Context, OutgoingMessage } from '../HTTP/index.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Where a browser that asked for the trunk is sent. An application serves what it declares,
|
|
4
|
+
* and `/` is usually not one of those — a person who typed the address into a browser is
|
|
5
|
+
* looking for something to look at, and the page is the only thing here that is one.
|
|
6
|
+
*
|
|
7
|
+
* A client that asked for something in particular gets what it asked for: only an `accept`
|
|
8
|
+
* that prefers a page, or one that names no preference at all, is sent here. The second is
|
|
9
|
+
* what an unfurler sends — several ask for anything, and a link to an application would
|
|
10
|
+
* otherwise show nothing — and what `curl` sends, which the page serves no worse than the
|
|
11
|
+
* `405` it used to get.
|
|
12
|
+
*/
|
|
13
|
+
export declare function looking(context: Context): OutgoingMessage | null;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import Negotiator from 'negotiator';
|
|
2
|
+
import { types } from '../HTTP/formats/index.js';
|
|
3
|
+
import { DISCOVERY } from '@toa.io/definitions/extensions.exposition';
|
|
4
|
+
/** What a browser asks for, and what nothing else here answers with. */
|
|
5
|
+
const HTML = 'text/html';
|
|
6
|
+
/**
|
|
7
|
+
* Where a browser that asked for the trunk is sent. An application serves what it declares,
|
|
8
|
+
* and `/` is usually not one of those — a person who typed the address into a browser is
|
|
9
|
+
* looking for something to look at, and the page is the only thing here that is one.
|
|
10
|
+
*
|
|
11
|
+
* A client that asked for something in particular gets what it asked for: only an `accept`
|
|
12
|
+
* that prefers a page, or one that names no preference at all, is sent here. The second is
|
|
13
|
+
* what an unfurler sends — several ask for anything, and a link to an application would
|
|
14
|
+
* otherwise show nothing — and what `curl` sends, which the page serves no worse than the
|
|
15
|
+
* `405` it used to get.
|
|
16
|
+
*/
|
|
17
|
+
export function looking(context) {
|
|
18
|
+
if (context.request.method !== 'GET' || context.procedural)
|
|
19
|
+
return null;
|
|
20
|
+
const accept = context.request.headers.accept;
|
|
21
|
+
if (accept !== undefined && accept.trim() !== ANYTHING) {
|
|
22
|
+
if (new Negotiator(context.request).mediaType([...types, HTML]) !== HTML)
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return { status: 302, headers: new Headers({ location: DISCOVERY + '/' }) };
|
|
26
|
+
}
|
|
27
|
+
/** An `accept` that names nothing, which is the same as naming none. */
|
|
28
|
+
const ANYTHING = '*/*';
|
|
29
|
+
//# sourceMappingURL=trunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trunk.js","sourceRoot":"","sources":["../../source/Discovery/trunk.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAGrE,wEAAwE;AACxE,MAAM,IAAI,GAAG,WAAW,CAAA;AAExB;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAC,OAAgB;IACtC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAEvE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;IAE7C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACvD,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;IACvF,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;AAC7E,CAAC;AAED,wEAAwE;AACxE,MAAM,QAAQ,GAAG,KAAK,CAAA"}
|
package/transpiled/Endpoint.d.ts
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import type
|
|
1
|
+
import { Mapping } from './Mapping.ts';
|
|
2
|
+
import * as http from './HTTP/index.ts';
|
|
3
|
+
import type { Introspection, Schema } from './Introspection.ts';
|
|
4
|
+
import type { Remote } from '@toa.io/core';
|
|
5
|
+
import type { Remotes } from './Remotes.ts';
|
|
6
|
+
import type { Context } from './Context.ts';
|
|
7
|
+
import type * as RTD from './RTD/index.ts';
|
|
7
8
|
export declare class Endpoint implements RTD.Endpoint {
|
|
8
9
|
private readonly endpoint;
|
|
9
10
|
private readonly mapping;
|
|
10
11
|
private readonly discovery;
|
|
11
12
|
private remote;
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
/** Whether the method this serves is a safe one, which `io:readonly` overrides per request. */
|
|
14
|
+
private readonly safe;
|
|
15
|
+
/** What the operation says, with what the route takes already split out of it. */
|
|
16
|
+
private introspection;
|
|
17
|
+
constructor(endpoint: string, mapping: Mapping, discovery: Promise<Remote>, safe?: boolean);
|
|
18
|
+
call(context: http.Context & Authenticated, parameters: RTD.Parameter[]): Promise<http.OutgoingMessage>;
|
|
19
|
+
selection(): Record<string, Schema> | null;
|
|
20
|
+
explain(parameters: RTD.Parameter[]): Promise<Introspection>;
|
|
21
|
+
/**
|
|
22
|
+
* `Remote.explain` answers the contract's own object, whose `input` is the manifest's by
|
|
23
|
+
* reference. What follows takes properties out of it, and two routes mounting one endpoint
|
|
24
|
+
* share one remote — so the copy is what keeps the second from describing what the first
|
|
25
|
+
* took away.
|
|
26
|
+
*/
|
|
27
|
+
private introspect;
|
|
14
28
|
close(): Promise<void>;
|
|
15
29
|
private query;
|
|
16
30
|
private version;
|
|
@@ -20,3 +34,13 @@ export declare class EndpointsFactory implements RTD.EndpointsFactory {
|
|
|
20
34
|
constructor(remotes: Remotes);
|
|
21
35
|
create(method: RTD.syntax.Method, context: Context): Endpoint;
|
|
22
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* What the auth family leaves on the context, as much of it as this reads. Declared here rather
|
|
39
|
+
* than imported, the way `cache` declares its own: the property is that family's.
|
|
40
|
+
*/
|
|
41
|
+
interface Authenticated {
|
|
42
|
+
identity?: {
|
|
43
|
+
id: string;
|
|
44
|
+
} | null;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
package/transpiled/Endpoint.js
CHANGED
|
@@ -1,65 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.EndpointsFactory = exports.Endpoint = void 0;
|
|
27
|
-
const Mapping_1 = require("./Mapping");
|
|
28
|
-
const http = __importStar(require("./HTTP"));
|
|
29
|
-
class Endpoint {
|
|
1
|
+
import { entities } from '@toa.io/core';
|
|
2
|
+
import { Mapping } from './Mapping.js';
|
|
3
|
+
import { take } from './Introspection.js';
|
|
4
|
+
import { parse } from './directives/cache/etag.js';
|
|
5
|
+
import * as http from './HTTP/index.js';
|
|
6
|
+
/** What a reply may travel as bytes in, which is the one format a component encodes. */
|
|
7
|
+
const JSON_TYPE = 'application/json';
|
|
8
|
+
export class Endpoint {
|
|
30
9
|
endpoint;
|
|
31
10
|
mapping;
|
|
32
11
|
discovery;
|
|
33
12
|
remote = null;
|
|
34
|
-
|
|
13
|
+
/** Whether the method this serves is a safe one, which `io:readonly` overrides per request. */
|
|
14
|
+
safe;
|
|
15
|
+
/** What the operation says, with what the route takes already split out of it. */
|
|
16
|
+
introspection = null;
|
|
17
|
+
// eslint-disable-next-line max-params
|
|
18
|
+
constructor(endpoint, mapping, discovery, safe = false) {
|
|
35
19
|
this.endpoint = endpoint;
|
|
36
20
|
this.mapping = mapping;
|
|
37
21
|
this.discovery = discovery;
|
|
22
|
+
this.safe = safe;
|
|
38
23
|
}
|
|
39
24
|
async call(context, parameters) {
|
|
40
25
|
const body = await context.body();
|
|
41
26
|
const query = this.query(context);
|
|
42
27
|
const request = this.mapping.fit(body, query, parameters);
|
|
28
|
+
// a header sent twice is an ambiguity, not a key; the client repeats one value or none
|
|
29
|
+
const key = context.request.headers[IDEMPOTENCY_KEY];
|
|
30
|
+
if (typeof key === 'string' && key !== '')
|
|
31
|
+
request.id = identity(context, key);
|
|
32
|
+
// the process a stateful operation is called on, where the route carries one
|
|
33
|
+
if (context.instance !== undefined)
|
|
34
|
+
request.instance = context.instance;
|
|
35
|
+
// what this request receives of the output, which the operation answers of it
|
|
36
|
+
if (context.output !== undefined)
|
|
37
|
+
request.output = context.output;
|
|
38
|
+
/*
|
|
39
|
+
* Bytes to write on rather than values to read: the response is JSON, nothing on the way out
|
|
40
|
+
* reads the body, and this is a request to a resource rather than a procedure of one, whose
|
|
41
|
+
* reply is wrapped in an envelope of its own.
|
|
42
|
+
*/
|
|
43
|
+
if (context.encoder?.type === JSON_TYPE && context.reads !== true && !context.procedural)
|
|
44
|
+
request.encoded = true;
|
|
45
|
+
// what the method means, unless a route said otherwise; see `documentation/readonly.md`
|
|
46
|
+
if (context.readonly ?? this.safe)
|
|
47
|
+
request.readonly = true;
|
|
43
48
|
this.remote ??= await this.discovery;
|
|
44
49
|
const reply = await this.remote.invoke(this.endpoint, request);
|
|
45
|
-
if (context.debug)
|
|
46
|
-
console.debug('Call', `${this.remote.locator.id}.${this.endpoint}`, request);
|
|
47
50
|
if (reply instanceof Error)
|
|
48
51
|
throw new http.UnprocessableEntity(reply);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
return { body: reply };
|
|
53
|
+
}
|
|
54
|
+
selection() {
|
|
55
|
+
return this.mapping.selection();
|
|
56
|
+
}
|
|
57
|
+
async explain(parameters) {
|
|
58
|
+
this.introspection ??= await this.introspect(parameters);
|
|
59
|
+
// what a directive narrows is this caller's answer, not the next caller's
|
|
60
|
+
return structuredClone(this.introspection);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* `Remote.explain` answers the contract's own object, whose `input` is the manifest's by
|
|
64
|
+
* reference. What follows takes properties out of it, and two routes mounting one endpoint
|
|
65
|
+
* share one remote — so the copy is what keeps the second from describing what the first
|
|
66
|
+
* took away.
|
|
67
|
+
*/
|
|
68
|
+
async introspect(parameters) {
|
|
69
|
+
this.remote ??= await this.discovery;
|
|
70
|
+
const operation = structuredClone(await this.remote.explain(this.endpoint));
|
|
71
|
+
// what the operation states it is, is the Introspection's to read and not a resource's:
|
|
72
|
+
// an operation is written without knowledge of any route, and the same one mounted twice
|
|
73
|
+
// is two methods. What a method states is what its route states, which `mcp:tool` gives.
|
|
74
|
+
delete operation.description;
|
|
75
|
+
let route = null;
|
|
76
|
+
// a variable the operation names is taken by the path, so it is not the body's to send
|
|
77
|
+
for (const parameter of parameters) {
|
|
78
|
+
const schema = take(operation, parameter.name);
|
|
79
|
+
if (schema === undefined)
|
|
80
|
+
continue;
|
|
81
|
+
route ??= {};
|
|
82
|
+
route[parameter.name] = schema;
|
|
60
83
|
}
|
|
61
|
-
|
|
62
|
-
|
|
84
|
+
const query = this.mapping.explain(operation);
|
|
85
|
+
const selection = this.mapping.selection();
|
|
86
|
+
const introspection = {};
|
|
87
|
+
if (route !== null)
|
|
88
|
+
introspection.route = route;
|
|
89
|
+
if (query !== null)
|
|
90
|
+
introspection.query = query;
|
|
91
|
+
if (selection !== null)
|
|
92
|
+
introspection.selection = selection;
|
|
93
|
+
Object.assign(introspection, operation);
|
|
94
|
+
return introspection;
|
|
63
95
|
}
|
|
64
96
|
async close() {
|
|
65
97
|
this.remote ??= await this.discovery;
|
|
@@ -68,36 +100,68 @@ class Endpoint {
|
|
|
68
100
|
query(context) {
|
|
69
101
|
const query = Object.fromEntries(context.url.searchParams);
|
|
70
102
|
const etag = context.request.headers['if-match'];
|
|
71
|
-
if (etag !== undefined)
|
|
103
|
+
if (etag !== undefined && this.mapping.queryable)
|
|
72
104
|
query.version = this.version(etag);
|
|
73
105
|
return query;
|
|
74
106
|
}
|
|
75
107
|
version(etag) {
|
|
76
|
-
const
|
|
77
|
-
if (
|
|
78
|
-
throw new http.BadRequest('Invalid ETag
|
|
79
|
-
return
|
|
108
|
+
const version = parse(etag);
|
|
109
|
+
if (version === null)
|
|
110
|
+
throw new http.BadRequest('Invalid ETag');
|
|
111
|
+
return version;
|
|
80
112
|
}
|
|
81
113
|
}
|
|
82
|
-
|
|
83
|
-
class EndpointsFactory {
|
|
114
|
+
export class EndpointsFactory {
|
|
84
115
|
remotes;
|
|
85
116
|
constructor(remotes) {
|
|
86
117
|
this.remotes = remotes;
|
|
87
118
|
}
|
|
88
119
|
create(method, context) {
|
|
89
120
|
if (method.mapping === undefined)
|
|
90
|
-
throw new Error('Cannot create Endpoint without mapping
|
|
91
|
-
const mapping =
|
|
92
|
-
const
|
|
93
|
-
const
|
|
121
|
+
throw new Error('Cannot create Endpoint without mapping');
|
|
122
|
+
const mapping = Mapping.create(method.mapping.query, method.mapping.paged);
|
|
123
|
+
const branch = context.extension;
|
|
124
|
+
const namespace = method.mapping.namespace ?? branch?.namespace;
|
|
125
|
+
const component = method.mapping.component ?? branch?.component;
|
|
94
126
|
if (namespace === undefined || component === undefined)
|
|
95
|
-
throw new Error('Annotation endpoints must be fully qualified
|
|
96
|
-
const discovery = this.remotes.discover(namespace, component);
|
|
97
|
-
return new Endpoint(method.mapping.endpoint, mapping, discovery);
|
|
127
|
+
throw new Error('Annotation endpoints must be fully qualified');
|
|
128
|
+
const discovery = this.remotes.discover(namespace, component, branch?.contract);
|
|
129
|
+
return new Endpoint(method.mapping.endpoint, mapping, discovery, SAFE.has(method.verb));
|
|
98
130
|
}
|
|
99
131
|
}
|
|
100
|
-
|
|
101
|
-
|
|
132
|
+
/**
|
|
133
|
+
* The methods that only read, as RFC 9110 defines safe ones. `OPTIONS` is not among them because it
|
|
134
|
+
* reaches no endpoint, and `TRACE` because the server answers it `501`.
|
|
135
|
+
*/
|
|
136
|
+
const SAFE = new Set(['GET', 'HEAD']);
|
|
102
137
|
const INTERRUPT = true;
|
|
138
|
+
/**
|
|
139
|
+
* What a client's idempotency key names, as an identity the runtime can hold: it is what the
|
|
140
|
+
* operation records the call under, so a retry under the same key is the same call.
|
|
141
|
+
*
|
|
142
|
+
* Four things, and each of them earns its place. The **principal**, because two clients that
|
|
143
|
+
* both pick `1` would otherwise be answered with each other's replies — and worse, either could
|
|
144
|
+
* suppress the other's write by getting there first. The **key** itself, which is what the
|
|
145
|
+
* client repeats. The **method** and the **path**, because one key sent to two routes is two
|
|
146
|
+
* calls: the path carries the record the call is about, so a key reused across orders does not
|
|
147
|
+
* collapse them into one.
|
|
148
|
+
*
|
|
149
|
+
* Not the payload. A client that sends one key with two different bodies is answered with what
|
|
150
|
+
* the first one answered, which is what an idempotency key means; telling them off for it costs
|
|
151
|
+
* a stored fingerprint and buys a diagnostic.
|
|
152
|
+
*
|
|
153
|
+
* Hashed rather than taken as it is, so that a key is opaque input: a client cannot name an
|
|
154
|
+
* identity the runtime would have minted, and cannot reach one another client's key derives.
|
|
155
|
+
*/
|
|
156
|
+
function identity(context, key) {
|
|
157
|
+
return entities.derive(context.identity?.id ?? ANONYMOUS, key, context.request.method, context.url.pathname);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* A route nothing authenticates has no principal to scope a key by, so every client of one
|
|
161
|
+
* shares a namespace. Keys are still honoured there — the alternative is refusing a header the
|
|
162
|
+
* client is entitled to send — and what it costs is that two anonymous clients picking one key
|
|
163
|
+
* on one path collide. Anonymous routes that change state are the case to watch.
|
|
164
|
+
*/
|
|
165
|
+
const ANONYMOUS = '';
|
|
166
|
+
const IDEMPOTENCY_KEY = 'idempotency-key';
|
|
103
167
|
//# sourceMappingURL=Endpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../source/Endpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../source/Endpoint.ts"],"names":[],"mappings":"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"}
|
package/transpiled/Factory.d.ts
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
|
-
import { syntax } from './RTD';
|
|
2
|
-
import type { Connector,
|
|
1
|
+
import type { syntax } from './RTD/index.ts';
|
|
2
|
+
import type { Connector, Contract, Locator } from '@toa.io/core';
|
|
3
|
+
import type { extensions } from '@toa.io/core/types';
|
|
3
4
|
export declare class Factory implements extensions.Factory {
|
|
4
|
-
private readonly
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
private readonly host;
|
|
6
|
+
private announcing;
|
|
7
|
+
private announcements;
|
|
8
|
+
constructor(host: Host);
|
|
9
|
+
tenant(locator: Locator, node: syntax.Node, manifest: Manifest): Promise<Connector>;
|
|
10
|
+
/**
|
|
11
|
+
* The announcements this process holds, made if there are none. A factory is loaded once and
|
|
12
|
+
* outlives every composition it hands a tenant to, so what it remembers is replaced rather
|
|
13
|
+
* than handed out again once it has been taken down.
|
|
14
|
+
*/
|
|
15
|
+
private shared;
|
|
16
|
+
private announce;
|
|
17
|
+
service(): Promise<Connector | null>;
|
|
8
18
|
}
|
|
9
|
-
export type
|
|
19
|
+
export type Host = extensions.Host;
|
|
20
|
+
/** What a tenant reads of the component it announces: what it provides, and which version. */
|
|
21
|
+
type Manifest = Contract & {
|
|
22
|
+
version: string;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
package/transpiled/Factory.js
CHANGED
|
@@ -1,74 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { contract } from '@toa.io/core';
|
|
3
|
+
import { Announcements } from './Announcements.js';
|
|
4
|
+
import { Tenant } from './Tenant.js';
|
|
5
|
+
import { CHANNEL } from '@toa.io/definitions/extensions.exposition';
|
|
6
|
+
export class Factory {
|
|
7
|
+
host;
|
|
8
|
+
announcing;
|
|
9
|
+
announcements;
|
|
10
|
+
constructor(host) {
|
|
11
|
+
this.host = host;
|
|
7
12
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.Factory = void 0;
|
|
30
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
31
|
-
const generic_1 = require("@toa.io/generic");
|
|
32
|
-
const Tenant_1 = require("./Tenant");
|
|
33
|
-
const Gateway_1 = require("./Gateway");
|
|
34
|
-
const Remotes_1 = require("./Remotes");
|
|
35
|
-
const RTD_1 = require("./RTD");
|
|
36
|
-
const Endpoint_1 = require("./Endpoint");
|
|
37
|
-
const directives_1 = require("./directives");
|
|
38
|
-
const Directive_1 = require("./Directive");
|
|
39
|
-
const Composition_1 = require("./Composition");
|
|
40
|
-
const root = __importStar(require("./root"));
|
|
41
|
-
const Interception_1 = require("./Interception");
|
|
42
|
-
const http = __importStar(require("./HTTP"));
|
|
43
|
-
class Factory {
|
|
44
|
-
boot;
|
|
45
|
-
constructor(boot) {
|
|
46
|
-
this.boot = boot;
|
|
13
|
+
async tenant(locator, node, manifest) {
|
|
14
|
+
const announcements = await this.shared();
|
|
15
|
+
const routes = createHash('sha256').update(JSON.stringify(node)).digest('hex');
|
|
16
|
+
// no timestamp: the tenant stamps each announcement with its own start time
|
|
17
|
+
const branch = {
|
|
18
|
+
// boot only ever hands a tenant a component's locator, which always has a namespace
|
|
19
|
+
namespace: locator.namespace,
|
|
20
|
+
component: locator.name,
|
|
21
|
+
isolated: locator.namespace === 'identity',
|
|
22
|
+
node,
|
|
23
|
+
version: manifest.version,
|
|
24
|
+
contract: contract.component(manifest),
|
|
25
|
+
routes
|
|
26
|
+
};
|
|
27
|
+
return new Tenant(announcements, branch);
|
|
47
28
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
29
|
+
/**
|
|
30
|
+
* The announcements this process holds, made if there are none. A factory is loaded once and
|
|
31
|
+
* outlives every composition it hands a tenant to, so what it remembers is replaced rather
|
|
32
|
+
* than handed out again once it has been taken down.
|
|
33
|
+
*/
|
|
34
|
+
async shared() {
|
|
35
|
+
if (this.announcements?.disposed === true) {
|
|
36
|
+
this.announcing = undefined;
|
|
37
|
+
this.announcements = undefined;
|
|
38
|
+
}
|
|
39
|
+
this.announcing ??= this.announce();
|
|
40
|
+
return await this.announcing;
|
|
51
41
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
const directives = new Directive_1.DirectivesFactory(directives_1.families, remotes);
|
|
61
|
-
const interception = new Interception_1.Interception(directives_1.interceptors);
|
|
62
|
-
const tree = new RTD_1.Tree(node, methods, directives);
|
|
63
|
-
const composition = new Composition_1.Composition(this.boot);
|
|
64
|
-
const gateway = new Gateway_1.Gateway(broadcast, tree, interception);
|
|
65
|
-
gateway.depends(remotes);
|
|
66
|
-
gateway.depends(composition);
|
|
67
|
-
server.attach(gateway.process.bind(gateway));
|
|
68
|
-
server.depends(gateway);
|
|
69
|
-
return server;
|
|
42
|
+
async announce() {
|
|
43
|
+
const announcements = new Announcements(await this.host.broadcast(CHANNEL));
|
|
44
|
+
this.announcements = announcements;
|
|
45
|
+
return announcements;
|
|
46
|
+
}
|
|
47
|
+
async service() {
|
|
48
|
+
const { service } = await import('./service.js');
|
|
49
|
+
return await service(this.host);
|
|
70
50
|
}
|
|
71
51
|
}
|
|
72
|
-
exports.Factory = Factory;
|
|
73
|
-
const CHANNEL = 'exposition';
|
|
74
52
|
//# sourceMappingURL=Factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Factory.js","sourceRoot":"","sources":["../source/Factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Factory.js","sourceRoot":"","sources":["../source/Factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AAMnE,MAAM,OAAO,OAAO;IACD,IAAI,CAAM;IACnB,UAAU,CAAoC;IAC9C,aAAa,CAA2B;IAEhD,YAAmB,IAAU;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,OAAgB,EAChB,IAAiB,EACjB,QAAkB;QAElB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QACzC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE9E,4EAA4E;QAC5E,MAAM,MAAM,GAA8B;YACxC,oFAAoF;YACpF,SAAS,EAAE,OAAO,CAAC,SAAU;YAC7B,SAAS,EAAE,OAAO,CAAC,IAAI;YACvB,QAAQ,EAAE,OAAO,CAAC,SAAS,KAAK,UAAU;YAC1C,IAAI;YACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;YACtC,MAAM;SACP,CAAA;QAED,OAAO,IAAI,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,MAAM;QAClB,IAAI,IAAI,CAAC,aAAa,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;YAC3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEnC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAE3E,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAElC,OAAO,aAAa,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;QAEhD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACF"}
|