@toa.io/extensions.exposition 1.0.0-alpha.30 → 1.0.0-alpha.301
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 +7 -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 +22 -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 +241 -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 +140 -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 +2 -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 +182 -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 +1 -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 +65 -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/Branch.d.ts +25 -1
- package/transpiled/Branch.js +14 -2
- package/transpiled/Branch.js.map +1 -1
- package/transpiled/Composition.d.ts +3 -4
- package/transpiled/Composition.js +13 -22
- package/transpiled/Composition.js.map +1 -1
- package/transpiled/Context.d.ts +3 -2
- package/transpiled/Context.js +1 -2
- package/transpiled/Directive.d.ts +33 -8
- package/transpiled/Directive.js +120 -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 +30 -8
- package/transpiled/Endpoint.js +108 -58
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.d.ts +8 -7
- package/transpiled/Factory.js +23 -69
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +59 -6
- package/transpiled/Gateway.js +241 -51
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +34 -14
- package/transpiled/HTTP/Context.js +84 -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 +42 -10
- package/transpiled/HTTP/Server.js +293 -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 +26 -4
- package/transpiled/HTTP/messages.js +159 -41
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/HTTP/types.d.ts +37 -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 +98 -0
- package/transpiled/Introspection.js +81 -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 +18 -0
- package/transpiled/MCP/schema.js +70 -0
- package/transpiled/MCP/schema.js.map +1 -0
- package/transpiled/MCP/tools.d.ts +31 -0
- package/transpiled/MCP/tools.js +109 -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 +135 -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 +72 -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 +1 -1
- package/transpiled/RTD/Match.js +1 -2
- package/transpiled/RTD/Method.d.ts +11 -2
- package/transpiled/RTD/Method.js +12 -5
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +43 -5
- package/transpiled/RTD/Node.js +75 -21
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Route.d.ts +8 -6
- package/transpiled/RTD/Route.js +40 -10
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/Tree.d.ts +14 -5
- package/transpiled/RTD/Tree.js +70 -12
- 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 +8 -0
- package/transpiled/RTD/segment.js +21 -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 +7 -7
- package/transpiled/Remotes.js +15 -16
- package/transpiled/Remotes.js.map +1 -1
- package/transpiled/Tenant.d.ts +15 -4
- package/transpiled/Tenant.js +39 -14
- 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 +50 -8
- package/transpiled/directives/auth/Authorization.js +256 -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 +6 -6
- package/transpiled/directives/cache/Cache.js +54 -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 +10 -0
- package/transpiled/directives/cache/etag.js +30 -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 +72 -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 +27 -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 +60 -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 +8 -4
- package/transpiled/directives/io/Output.js +24 -40
- package/transpiled/directives/io/Output.js.map +1 -1
- package/transpiled/directives/io/Status.d.ts +19 -0
- package/transpiled/directives/io/Status.js +35 -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 +18 -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/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 +74 -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/BE7eB5v5.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/D4j-xChx.js +6 -0
- package/ui/dist/_app/immutable/chunks/VDPx7_k6.js +1 -0
- package/ui/dist/_app/immutable/chunks/sa0pbjcV.js +88 -0
- package/ui/dist/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/ui/dist/_app/immutable/entry/app.AkuFmFm5.js +2 -0
- package/ui/dist/_app/immutable/entry/start.Bf-Wtlxj.js +1 -0
- package/ui/dist/_app/immutable/nodes/0.tjrDhK2K.js +1 -0
- package/ui/dist/_app/immutable/nodes/1.BBstrUMk.js +1 -0
- package/ui/dist/_app/immutable/nodes/2.kK-1mow1.js +8 -0
- package/ui/dist/_app/immutable/nodes/3.DyUOxgbQ.js +1 -0
- package/ui/dist/_app/immutable/nodes/4.DRJYPW3m.js +1 -0
- package/ui/dist/_app/immutable/nodes/5.3gnA7sEW.js +1 -0
- package/ui/dist/_app/immutable/nodes/6.DNBe1ELW.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
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
# Components and resources
|
|
2
|
-
|
|
3
|
-
Exposition comes with a set of components that run within the same process. These components are
|
|
4
|
-
configured in the same
|
|
5
|
-
way as if they were a part of the Context. Resources exposed by the components
|
|
6
|
-
are [isolated](tree.md#directives).
|
|
7
|
-
|
|
8
|
-
## Basic credentials
|
|
9
|
-
|
|
10
|
-
The `identity.basic` component stores basic credentials.
|
|
11
|
-
|
|
12
|
-
### Password hashing
|
|
13
|
-
|
|
14
|
-
Passwords are hashed using the [bcrypt](https://github.com/dcodeIO/bcrypt.js) algorithm with salt
|
|
15
|
-
and pepper.
|
|
16
|
-
|
|
17
|
-
```yaml
|
|
18
|
-
# context.toa.yaml
|
|
19
|
-
|
|
20
|
-
configuration:
|
|
21
|
-
identity.basic:
|
|
22
|
-
rounds: 10 # salt rounds
|
|
23
|
-
pepper: '' # hashing pepper
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### Credentials constraints
|
|
27
|
-
|
|
28
|
-
Credential constraints are defined using a set of regular expressions (values must match all of
|
|
29
|
-
them).
|
|
30
|
-
|
|
31
|
-
```yaml
|
|
32
|
-
# context.toa.yaml
|
|
33
|
-
|
|
34
|
-
configuration:
|
|
35
|
-
identity.basic:
|
|
36
|
-
username:
|
|
37
|
-
- ^\S{1,128}$
|
|
38
|
-
password:
|
|
39
|
-
- ^\S{8,32}$
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
> Values in the example above are the default values.
|
|
43
|
-
|
|
44
|
-
### Principal
|
|
45
|
-
|
|
46
|
-
When an application is deployed for the first time, there are no credentials, and therefore, there
|
|
47
|
-
is no Identity that
|
|
48
|
-
could have a Role to manage Roles of other Identities.
|
|
49
|
-
|
|
50
|
-
This issue is addressed by using the `principal` key in the configuration:
|
|
51
|
-
|
|
52
|
-
```yaml
|
|
53
|
-
# context.toa.yaml
|
|
54
|
-
|
|
55
|
-
configuration:
|
|
56
|
-
identity.basic:
|
|
57
|
-
principal: root
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The value of the `principal` key corresponds to the `username` of the basic credentials. Once these
|
|
61
|
-
credentials are
|
|
62
|
-
created, the associated Identity will be assigned the `system` Role.
|
|
63
|
-
|
|
64
|
-
Once created, the username of the principal cannot be modified.
|
|
65
|
-
|
|
66
|
-
### Resources
|
|
67
|
-
|
|
68
|
-
#### `/identity/basic/`
|
|
69
|
-
|
|
70
|
-
<code>POST</code> Create new Identity with Basic credentials. Request body is as follows:
|
|
71
|
-
|
|
72
|
-
```yaml
|
|
73
|
-
username: string
|
|
74
|
-
password: string
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Access is [anonymous](access.md#anonymous).
|
|
78
|
-
|
|
79
|
-
#### `/identity/basic/:id/`
|
|
80
|
-
|
|
81
|
-
> `:id` placeholder refers to an Identity.
|
|
82
|
-
|
|
83
|
-
<code>PUT</code> Update basic credentials. Request body is as follows:
|
|
84
|
-
|
|
85
|
-
```yaml
|
|
86
|
-
username?: string
|
|
87
|
-
password?: string
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Access requires basic credentials of the modified Identity or `system:identity:basic` role.
|
|
91
|
-
|
|
92
|
-
## Identity federation (OpenID connect)
|
|
93
|
-
|
|
94
|
-
The `identity.federation` component manages OpenID Connect federated identities.
|
|
95
|
-
|
|
96
|
-
Both implicit identities creation and forced [identity inception](./identity.md) are supported
|
|
97
|
-
as in case with basic credentials. `principal` is also working in the same way.
|
|
98
|
-
|
|
99
|
-
The configuration schema alongside default values is described in
|
|
100
|
-
the [component manifest](../components/identity.federation/manifest.toa.yaml).
|
|
101
|
-
|
|
102
|
-
No federated tokens are accepted by default until at least one entry is added to the `trust`
|
|
103
|
-
configuration.
|
|
104
|
-
|
|
105
|
-
Toa supports either asymmetric RS256 or symmetric HS256 / HS384 / HS512 tokens with pre-shared
|
|
106
|
-
secrets.
|
|
107
|
-
|
|
108
|
-
```yaml
|
|
109
|
-
# context.toa.yaml
|
|
110
|
-
|
|
111
|
-
configuration:
|
|
112
|
-
identity.federation:
|
|
113
|
-
trust:
|
|
114
|
-
- iss: https://token.actions.githubusercontent.com
|
|
115
|
-
aud:
|
|
116
|
-
- https://github.com/tinovyatkin
|
|
117
|
-
- https://github.com/temich
|
|
118
|
-
|
|
119
|
-
- issuer: some.private.issuer
|
|
120
|
-
secrets:
|
|
121
|
-
HS256:
|
|
122
|
-
k1: <secret-to-be-used-for-hs256>
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## Stateless tokens
|
|
126
|
-
|
|
127
|
-
The `identity.tokens` component manages stateless authentication tokens.
|
|
128
|
-
|
|
129
|
-
These tokens carry the information required to authenticate the Identity and authorize access.
|
|
130
|
-
|
|
131
|
-
### Issuing tokens
|
|
132
|
-
|
|
133
|
-
The new token is issued each time the request is made:
|
|
134
|
-
|
|
135
|
-
1. Using authentication scheme other than `Token`.
|
|
136
|
-
2. Using `Token` authentication scheme with an [obsolete token](#token-rotation).
|
|
137
|
-
|
|
138
|
-
When the token is issued it is sent in the `authorization` response header and the `cache-control`
|
|
139
|
-
is set to `no-store`.
|
|
140
|
-
|
|
141
|
-
```http
|
|
142
|
-
authorization: Token ...
|
|
143
|
-
cache-control: no-store
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Token encryption
|
|
147
|
-
|
|
148
|
-
Issued tokens are encrypted
|
|
149
|
-
with [PASETO V3 encryption](https://github.com/panva/paseto/blob/main/docs/README.md#v3encryptpayload-key-options)
|
|
150
|
-
using the `key0` configuration value as a secret.
|
|
151
|
-
|
|
152
|
-
```yaml
|
|
153
|
-
# context.toa.yaml
|
|
154
|
-
|
|
155
|
-
configuration:
|
|
156
|
-
identity.tokens:
|
|
157
|
-
key0: $TOKEN_ENCRYPTION_KEY
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
The `key0` configuration value is required.
|
|
161
|
-
|
|
162
|
-
> Valid secret key may be generated using the [`toa key` command](/runtime/cli/readme.md#key).
|
|
163
|
-
|
|
164
|
-
### Token rotation
|
|
165
|
-
|
|
166
|
-
Issued tokens are valid for a `lifetime` period defined in the configuration. After the `refresh`
|
|
167
|
-
period, the token is considered obsolete (yet still valid), and a new token
|
|
168
|
-
is [issued](#issuing-tokens) unless the provided one has been [revoked](#token-revocation).
|
|
169
|
-
|
|
170
|
-
This essentially means that if the client uses the token at least once every `lifetime` period, it
|
|
171
|
-
will always have a valid token to authenticate with.
|
|
172
|
-
Also, token revocation or changing roles of an Identity will take effect once the `refresh` period
|
|
173
|
-
of the currently issued tokens has expired.
|
|
174
|
-
|
|
175
|
-
Adjusting these two values is a delicate trade-off between security, performance and client
|
|
176
|
-
convenience.
|
|
177
|
-
|
|
178
|
-
```yaml
|
|
179
|
-
# context.toa.yaml
|
|
180
|
-
|
|
181
|
-
configuration:
|
|
182
|
-
identity.tokens:
|
|
183
|
-
lifetime: 2592000 # seconds, 30 days
|
|
184
|
-
refresh: 600 # seconds, 10 minutes
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
> Values in the example above are the default values.
|
|
188
|
-
|
|
189
|
-
### Token revocation
|
|
190
|
-
|
|
191
|
-
All currently issued tokens of an Identity are revoked when:
|
|
192
|
-
|
|
193
|
-
1. Basic credentials associated with the Identity are [modified](#identitybasicid).
|
|
194
|
-
2. Identity is [banned](#banned-identities).
|
|
195
|
-
|
|
196
|
-
Token revocation takes effect once the `refresh` period of the currently issued tokens has expired.
|
|
197
|
-
|
|
198
|
-
### Secret rotation
|
|
199
|
-
|
|
200
|
-
Tokens are always encrypted using the `key0` configuration value, and they will be decrypted by
|
|
201
|
-
attempting both
|
|
202
|
-
the `key0` and `key1` values in order.
|
|
203
|
-
|
|
204
|
-
`key0` is considered the "current key," and `key1` is considered the "previous key."
|
|
205
|
-
|
|
206
|
-
```yaml
|
|
207
|
-
# context.toa.yaml
|
|
208
|
-
|
|
209
|
-
configuration:
|
|
210
|
-
identity.tokens:
|
|
211
|
-
key0: $TOKEN_ENCRYPTION_KEY_2023Q3
|
|
212
|
-
key1: $TOKEN_ENCRYPTION_KEY_2023Q2
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
Secret rotation is performed by adding a new key as the `key0` value and moving the existing `key0`
|
|
216
|
-
to the `key1` value.
|
|
217
|
-
|
|
218
|
-
When rolling out the new secret key, there will be a period of time when the new key is deployed to
|
|
219
|
-
some Exposition
|
|
220
|
-
instances. During this time, these instances will start using the new key to encrypt tokens, while
|
|
221
|
-
other instances will
|
|
222
|
-
continue using the current key and will not be able to decrypt tokens encrypted with the new key.
|
|
223
|
-
|
|
224
|
-
To address this issue, the `key1` configuration value may be used as a "transient key."
|
|
225
|
-
|
|
226
|
-
The secret rotation is a 2-step process:
|
|
227
|
-
|
|
228
|
-
> The process **must not** be performed earlier than the `lifetime` period since the last rotation,
|
|
229
|
-
> as it may invalidate
|
|
230
|
-
> tokens before they expire. Therefore, it is guaranteed that there are no valid tokens issued with
|
|
231
|
-
> the current `key1`
|
|
232
|
-
> value.
|
|
233
|
-
|
|
234
|
-
1. Deploy the new secret key to all Exposition instances as `key1`. This enables all instances to
|
|
235
|
-
decrypt tokens
|
|
236
|
-
encrypted with the new key while still using the current key for encryption.
|
|
237
|
-
|
|
238
|
-
```yaml
|
|
239
|
-
# context.toa.yaml
|
|
240
|
-
|
|
241
|
-
configuration:
|
|
242
|
-
identity.tokens:
|
|
243
|
-
key0: $TOKEN_ENCRYPTION_KEY_2023Q3
|
|
244
|
-
key1: $TOKEN_ENCRYPTION_KEY_2023Q4
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
2. Move the new secret key from `key1` to `key0`, and move the current key from `key0` to `key1`.
|
|
248
|
-
During this rollout,
|
|
249
|
-
all instances can decrypt tokens encrypted with both the new key and the current key.
|
|
250
|
-
|
|
251
|
-
```yaml
|
|
252
|
-
# context.toa.yaml
|
|
253
|
-
|
|
254
|
-
configuration:
|
|
255
|
-
identity.tokens:
|
|
256
|
-
key0: $TOKEN_ENCRYPTION_KEY_2023Q4
|
|
257
|
-
key1: $TOKEN_ENCRYPTION_KEY_2023Q3
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### Token resources
|
|
261
|
-
|
|
262
|
-
`/identity/tokens/`
|
|
263
|
-
|
|
264
|
-
`POST` Issue a new token for the Identity. Request body is as follows:
|
|
265
|
-
|
|
266
|
-
```yaml
|
|
267
|
-
lifetime?: number # seconds
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
Providing a value of `0` will result in the token being issued with no expiration.
|
|
271
|
-
However, it will still become invalid once the encryption key used is out
|
|
272
|
-
of [rotation](#secret-rotation).
|
|
273
|
-
|
|
274
|
-
## Roles
|
|
275
|
-
|
|
276
|
-
The `identity.roles` component manages roles of an Identity used
|
|
277
|
-
by [access authorization](access.md#role).
|
|
278
|
-
|
|
279
|
-
### `/identity/roles/:id/`
|
|
280
|
-
|
|
281
|
-
`GET` Get roles of an Identity.
|
|
282
|
-
|
|
283
|
-
Access requires credentials of the Identity or `system:identity:roles` role.
|
|
284
|
-
|
|
285
|
-
`POST` Add a role to an Identity. Request body is as follows:
|
|
286
|
-
|
|
287
|
-
```yaml
|
|
288
|
-
role: string
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
To assign arbitrary roles, the `system:identity:roles` role is required.
|
|
292
|
-
|
|
293
|
-
An Identity having `system:identity:roles:delegation` role can delegate roles within its own
|
|
294
|
-
Role Scopes (see [Role Hierarchies](access.md#hierarchies)).
|
|
295
|
-
|
|
296
|
-
## Banned Identities
|
|
297
|
-
|
|
298
|
-
The `identity.bans` component manages banned identities.
|
|
299
|
-
A banned identity will fail to authenticate with any associated credentials
|
|
300
|
-
(except [tokens](#stateless-tokens) within the `refresh` period).
|
|
301
|
-
|
|
302
|
-
```http
|
|
303
|
-
PUT /identity/bans/:id/
|
|
304
|
-
authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
|
|
305
|
-
content-type: application/yaml
|
|
306
|
-
|
|
307
|
-
banned: true
|
|
308
|
-
comment: Bye bye
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
Access requires `system:identity:bans` role.
|
|
312
|
-
|
|
313
|
-
## Authentication echo
|
|
314
|
-
|
|
315
|
-
Exposition implements a predefined resource `/identity/` with the `GET` method, which returns the
|
|
316
|
-
Identity resolved by the provided credentials.
|
|
317
|
-
|
|
318
|
-
```http
|
|
319
|
-
GET /identity/
|
|
320
|
-
authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
|
|
321
|
-
accept: application/yaml
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
```
|
|
325
|
-
200 OK
|
|
326
|
-
|
|
327
|
-
id: fc8e66ddd51d45eea89602c9dd38a542
|
|
328
|
-
roles:
|
|
329
|
-
- developer
|
|
330
|
-
- system:identity:roles
|
|
331
|
-
```
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
# Identity
|
|
2
|
-
|
|
3
|
-
Identity is the fundamental entity within an authentication system that represents the **unique
|
|
4
|
-
identifier** of an individual, organization, application or device.
|
|
5
|
-
|
|
6
|
-
To prove its Identity, the request originator must provide a valid _credentials_ that are associated
|
|
7
|
-
with that Identity.
|
|
8
|
-
|
|
9
|
-
Identity is intrinsically linked to credentials, as an Identity is established only when the first
|
|
10
|
-
set of credentials for that Identity is created.
|
|
11
|
-
In other words, the creation of credentials marks the inception of an Identity.
|
|
12
|
-
Once the last credentials are removed from the Identity, it ceases to exist.
|
|
13
|
-
Without credentials, there is no basis for defining or asserting an Identity.
|
|
14
|
-
|
|
15
|
-
## Authentication
|
|
16
|
-
|
|
17
|
-
The Authentication system resolves provided credentials to an Identity using one of the supported
|
|
18
|
-
authentication schemes.
|
|
19
|
-
|
|
20
|
-
The Authentication is request-agnostic, meaning it does not depend on the specific URL being
|
|
21
|
-
requested or the content of the request body.
|
|
22
|
-
The only information it handles is the value of the `Authorization` header.
|
|
23
|
-
|
|
24
|
-
> Except for its own [management resources](components.md).
|
|
25
|
-
|
|
26
|
-
If the provided credentials are not valid or not associated with an Identity, then Authentication
|
|
27
|
-
interrupts request processing and responds with an authentication error.
|
|
28
|
-
|
|
29
|
-
### Basic scheme
|
|
30
|
-
|
|
31
|
-
Classic username/password pair. See [RFC7617](https://datatracker.ietf.org/doc/html/rfc7617).
|
|
32
|
-
|
|
33
|
-
```http
|
|
34
|
-
Authorization: Basic aGVsbG86d29ybGQK
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
See [`identity.basic` component](components.md#basic-credentials).
|
|
38
|
-
|
|
39
|
-
### Token scheme
|
|
40
|
-
|
|
41
|
-
Tokens issued by the Authentication system. These tokens are [PASETO](https://paseto.io).
|
|
42
|
-
|
|
43
|
-
```http
|
|
44
|
-
Authrization: Token v4.local.eyJzdWIiOiJqb2hu...
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
The `Token` is the **primary** authentication scheme.
|
|
48
|
-
If request originators use an alternative authentication scheme, they will receive a response
|
|
49
|
-
containing `Token`credentials and will be required to switch to the `Token` scheme for any
|
|
50
|
-
subsequent requests.
|
|
51
|
-
Continued use of other authentication schemes will result in temporary blocking of requests.
|
|
52
|
-
|
|
53
|
-
See [`identity.tokens` component](components.md#stateless-tokens).
|
|
54
|
-
|
|
55
|
-
### Bearer scheme
|
|
56
|
-
|
|
57
|
-
OpenID tokens issued by trusted providers.
|
|
58
|
-
For more information, refer
|
|
59
|
-
to [OpenID Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html),
|
|
60
|
-
[RFC6750](https://datatracker.ietf.org/doc/html/rfc6750).
|
|
61
|
-
|
|
62
|
-
```http
|
|
63
|
-
Authorization: Bearer eyJhbGciOiJIUzI1...
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Trusted providers are specified using the `identity.federation` property within the configuration
|
|
67
|
-
annotation.
|
|
68
|
-
|
|
69
|
-
```yaml
|
|
70
|
-
# context.toa.yaml
|
|
71
|
-
|
|
72
|
-
configuration:
|
|
73
|
-
identity.federation:
|
|
74
|
-
trust:
|
|
75
|
-
- iss: https://accounts.google.com
|
|
76
|
-
aud:
|
|
77
|
-
- <GOOGLE_CLIENT_ID>
|
|
78
|
-
|
|
79
|
-
- iss: https://appleid.apple.com
|
|
80
|
-
|
|
81
|
-
- iss: private.entity
|
|
82
|
-
secrets:
|
|
83
|
-
HS384:
|
|
84
|
-
key0: <THE-SECRET-STRING-FOR-HS384>
|
|
85
|
-
key1: <THE-SECRET-STRING-FOR-HS384> # selected by `kid` in the JWT header
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Identity inception
|
|
89
|
-
|
|
90
|
-
The simplest way to establish a relationship between an Identity and an entity representing a user
|
|
91
|
-
is to synchronize their identifiers.
|
|
92
|
-
|
|
93
|
-
This can be achieved by using the `auth:incept` directive as follows:
|
|
94
|
-
|
|
95
|
-
```yaml
|
|
96
|
-
# manifest.toa.yaml
|
|
97
|
-
name: users
|
|
98
|
-
|
|
99
|
-
entity:
|
|
100
|
-
schema:
|
|
101
|
-
name: string
|
|
102
|
-
|
|
103
|
-
exposition:
|
|
104
|
-
/:
|
|
105
|
-
POST:
|
|
106
|
-
incept: id
|
|
107
|
-
endpoint: transit
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
The value of the `auth:incept` directive refers to the name of the response property that will be
|
|
111
|
-
returned by the `POST` operation, containing the created entity identifier.
|
|
112
|
-
|
|
113
|
-
A request with Identity inception must contain (non-existent) credentials that will be associated
|
|
114
|
-
with the created Identity.
|
|
115
|
-
|
|
116
|
-
```http
|
|
117
|
-
POST /users/
|
|
118
|
-
authorization: Basic dXNlcjpwYXNz
|
|
119
|
-
accept: application/yaml
|
|
120
|
-
content-type: application/yaml
|
|
121
|
-
|
|
122
|
-
name: John
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
201 Created
|
|
127
|
-
content-type: application/yaml
|
|
128
|
-
|
|
129
|
-
id: 2428c31ecb6e4a51a24ef52f0c4181b9
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
As a result of processing the above request, the provided Basic credentials associated with the
|
|
133
|
-
Identity `2428c31ecb6e4a51a24ef52f0c4181b9` are created.
|
|
134
|
-
|
|
135
|
-
## FAQ
|
|
136
|
-
|
|
137
|
-
<dl>
|
|
138
|
-
<dt>How can I log in a user?</dt>
|
|
139
|
-
<dd>
|
|
140
|
-
Technically speaking, since the Authentication is request-agnostic, user credentials
|
|
141
|
-
can be sent with any request.
|
|
142
|
-
|
|
143
|
-
However, it is most likely that a request originator will need to obtain an Identity value for
|
|
144
|
-
subsequent requests.
|
|
145
|
-
For this reason, it is recommended to make a `GET /identity/` request.
|
|
146
|
-
</dd>
|
|
147
|
-
<dt>How can I log out a user?</dt>
|
|
148
|
-
<dd>Delete <code>Token</code> credentials from the device.</dd>
|
|
149
|
-
<dt>Where are the sessions?</dt>
|
|
150
|
-
<dd>
|
|
151
|
-
The Authentication is stateless, meaning it does not store any information between
|
|
152
|
-
requests except for persistent credentials.</dd>
|
|
153
|
-
<dt>How can I pass the Identity to an operation call?</dt>
|
|
154
|
-
<dd>
|
|
155
|
-
This is not possible. Refer to the Resource Design Guidelines for more information.
|
|
156
|
-
<a href="https://github.com/toa-io/toa/issues/353">#353</a>
|
|
157
|
-
</dd>
|
|
158
|
-
</dl>
|
package/documentation/io.md
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# I/O restrictions
|
|
2
|
-
|
|
3
|
-
The Exposition comes with `io` directives to control access to the operation's input and output
|
|
4
|
-
properties.
|
|
5
|
-
|
|
6
|
-
## `io:input`
|
|
7
|
-
|
|
8
|
-
The `io:input` optional directive contains a list of properties that are allowed to be specified in
|
|
9
|
-
the request body.
|
|
10
|
-
|
|
11
|
-
```yaml
|
|
12
|
-
POST:
|
|
13
|
-
endpoint: create
|
|
14
|
-
io:input: [name, location]
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
The list must be a valid subset of the operation's input properties.
|
|
18
|
-
|
|
19
|
-
If `io:input` is specified and the request body is not an object, or contains properties that are
|
|
20
|
-
not in the list, the request will be rejected with a `400` status code.
|
|
21
|
-
|
|
22
|
-
> Therefore, `io:input` is only applicable to operations which input is an object or an
|
|
23
|
-
> array of objects.
|
|
24
|
-
|
|
25
|
-
## `io:output`
|
|
26
|
-
|
|
27
|
-
The `io:output` mandatory directive contains a list of properties that are allowed to be included in
|
|
28
|
-
the response body.
|
|
29
|
-
|
|
30
|
-
```yaml
|
|
31
|
-
GET:
|
|
32
|
-
endpoint: observe
|
|
33
|
-
io:output: [name, location]
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
When an operation does not return an object (e.g., a primitive or a stream), or an object is dynamic
|
|
37
|
-
and its properties are not known in advance, `io:output` may have a value of `true` to disable
|
|
38
|
-
output restrictions.
|
|
39
|
-
|
|
40
|
-
```yaml
|
|
41
|
-
GET:
|
|
42
|
-
endpoint: proxy
|
|
43
|
-
io:output: true
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
If a method declaration lacks `io:output` directive, it will trigger a warning, and its
|
|
47
|
-
response will consistently be empty.
|
|
48
|
-
If this behavior is intended, a `false` value can be employed to suppress warnings.
|
|
49
|
-
|
|
50
|
-
```yaml
|
|
51
|
-
GET:
|
|
52
|
-
endpoint: conceal
|
|
53
|
-
io:output: false
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Output restrictions are not applied to stream responses and errors.
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Note: Server Sent Events
|
|
2
|
-
|
|
3
|
-
## TL;DR
|
|
4
|
-
|
|
5
|
-
1. Doesn't exist.
|
|
6
|
-
2. Ridiculous.
|
|
7
|
-
3. Redundant.
|
|
8
|
-
|
|
9
|
-
## There is no SSE
|
|
10
|
-
|
|
11
|
-
The initial premise of SSE is to deliver real-time events specifically targeted at a particular user. It's evident that
|
|
12
|
-
to access these events, user authentication is essential, typically implemented through
|
|
13
|
-
an [HTTP Authentication framework](https://datatracker.ietf.org/doc/html/rfc2617).
|
|
14
|
-
|
|
15
|
-
However, despite this being the most straightforward
|
|
16
|
-
scenario, [it does not work this way](https://github.com/whatwg/html/issues/2177). The only viable way to use SSE is
|
|
17
|
-
to avoid the standard `EventSource` implementation.
|
|
18
|
-
|
|
19
|
-
## Peculiar event format
|
|
20
|
-
|
|
21
|
-
### SLAP
|
|
22
|
-
|
|
23
|
-
[Event stream format](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#event_stream_format)
|
|
24
|
-
defines four fields: `event`, `data`, `id`, `retry`.
|
|
25
|
-
|
|
26
|
-
In practice, code capable of producing such an object is forced to break the Single Level of Abstraction Principle. This
|
|
27
|
-
requires knowledge of both event structures and connection properties. In real-world systems, these may be handled by
|
|
28
|
-
different processes, such as an Events microservice and an API Gateway.
|
|
29
|
-
|
|
30
|
-
### Content negotiation
|
|
31
|
-
|
|
32
|
-
The `data` property is expected to be an arbitrary string, although real-world event data is often structured as an
|
|
33
|
-
object.
|
|
34
|
-
|
|
35
|
-
Furthermore, since the Event stream format defines its own content type, there is no built-in way to negotiate the
|
|
36
|
-
format of the events.
|
|
37
|
-
|
|
38
|
-
Additionally, the `data` value is limited to a single line, which hinders the use of
|
|
39
|
-
more [human-friendly formats](https://yaml.org) in a straightforward manner.
|
|
40
|
-
|
|
41
|
-
## HTTP is enough
|
|
42
|
-
|
|
43
|
-
Rather than resorting to a non-standard client and a predefined content format, a basic HTTP request can provide a
|
|
44
|
-
solution:
|
|
45
|
-
|
|
46
|
-
```http
|
|
47
|
-
GET /events/ HTTP/1.1
|
|
48
|
-
accept: application/yaml
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
200 OK
|
|
53
|
-
content-type: application/yaml
|
|
54
|
-
transfer-encoding: chunked
|
|
55
|
-
|
|
56
|
-
id: 1
|
|
57
|
-
event: created
|
|
58
|
-
data:
|
|
59
|
-
foo: bar
|
|
60
|
-
|
|
61
|
-
id: 2
|
|
62
|
-
event: deleted
|
|
63
|
-
data:
|
|
64
|
-
bar: baz
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Server-side implementation with flow control and stream termination handling is trivial:
|
|
68
|
-
|
|
69
|
-
```javascript
|
|
70
|
-
eventStream.pipe(response)
|
|
71
|
-
```
|