@toa.io/extensions.exposition 1.0.0-alpha.282 → 1.0.0-alpha.284
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/CHANGELOG.md +56 -0
- package/components/exposition.octets/manifest.toa.yaml +11 -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/operations/transit.js +1 -1
- package/components/identity.bans/tsconfig.json +1 -1
- package/components/identity.bans/tsconfig.tsbuildinfo +1 -1
- package/components/identity.bans/types/index.d.ts +3 -0
- package/components/identity.bans/types/toa.d.ts +34 -0
- package/components/identity.basic/manifest.toa.yaml +13 -2
- package/components/identity.basic/operations/add.js +1 -1
- package/components/identity.basic/operations/authenticate.js +1 -1
- package/components/identity.basic/operations/check.js +1 -1
- package/components/identity.basic/operations/delete.js +1 -1
- package/components/identity.basic/operations/incept.js +18 -2
- package/components/identity.basic/operations/info.js +1 -1
- package/components/identity.basic/operations/lib/credentials.js +1 -1
- package/components/identity.basic/operations/transit.js +3 -2
- package/components/identity.basic/source/add.ts +3 -3
- package/components/identity.basic/source/authenticate.ts +2 -2
- package/components/identity.basic/source/check.ts +1 -1
- package/components/identity.basic/source/delete.ts +2 -2
- package/components/identity.basic/source/incept.ts +31 -3
- package/components/identity.basic/source/info.ts +1 -1
- package/components/identity.basic/source/transit.ts +6 -4
- package/components/identity.basic/tsconfig.json +1 -1
- package/components/identity.basic/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/types/index.d.ts +22 -0
- package/components/identity.basic/types/toa.d.ts +121 -0
- package/components/identity.clients/manifest.toa.yaml +243 -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 +86 -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 +32 -0
- package/components/identity.clients/operations/register.js +84 -0
- package/components/identity.clients/source/describe.ts +65 -0
- package/components/identity.clients/source/lib/Context.ts +38 -0
- package/components/identity.clients/source/lib/Entity.ts +31 -0
- package/components/identity.clients/source/lib/canonical.test.ts +43 -0
- package/components/identity.clients/source/lib/canonical.ts +27 -0
- package/components/identity.clients/source/lib/cimd.test.ts +120 -0
- package/components/identity.clients/source/lib/cimd.ts +107 -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.test.ts +41 -0
- package/components/identity.clients/source/lib/redirect.ts +35 -0
- package/components/identity.clients/source/register.ts +125 -0
- package/components/identity.clients/tsconfig.json +10 -0
- package/components/identity.clients/tsconfig.tsbuildinfo +1 -0
- package/components/identity.clients/types/index.d.ts +3 -0
- package/components/identity.clients/types/toa.d.ts +109 -0
- package/components/identity.credentials/operations/list.js +1 -1
- package/components/identity.credentials/source/list.ts +2 -1
- package/components/identity.credentials/tsconfig.json +4 -2
- package/components/identity.credentials/tsconfig.tsbuildinfo +1 -1
- package/components/identity.credentials/types/index.d.ts +3 -0
- package/components/identity.credentials/types/toa.d.ts +30 -0
- package/components/identity.federation/manifest.toa.yaml +37 -1
- package/components/identity.federation/operations/authenticate.js +7 -3
- package/components/identity.federation/operations/create.js +1 -1
- package/components/identity.federation/operations/decode.js +1 -1
- package/components/identity.federation/operations/delete.js +1 -1
- package/components/identity.federation/operations/incept.js +6 -2
- package/components/identity.federation/operations/lib/Configuration.js +1 -1
- package/components/identity.federation/operations/lib/Ctx.js +1 -1
- package/components/identity.federation/operations/lib/Payload.js +1 -1
- package/components/identity.federation/operations/lib/decode.js +23 -9
- package/components/identity.federation/operations/lib/discovery.js +1 -1
- package/components/identity.federation/operations/lib/errors.js +5 -1
- package/components/identity.federation/operations/lib/exchange.js +12 -7
- package/components/identity.federation/operations/lib/index.js +2 -1
- package/components/identity.federation/operations/lib/jose.js +1 -1
- package/components/identity.federation/operations/lib/principal.js +14 -0
- package/components/identity.federation/operations/lib/resolve.js +1 -1
- package/components/identity.federation/operations/list.js +1 -1
- package/components/identity.federation/operations/types/Scheme.js +1 -1
- package/components/identity.federation/operations/types/configuration.js +1 -1
- package/components/identity.federation/operations/types/context.js +1 -1
- package/components/identity.federation/operations/types/entity.js +1 -1
- package/components/identity.federation/operations/types/index.js +1 -1
- package/components/identity.federation/source/authenticate.ts +9 -3
- package/components/identity.federation/source/incept.ts +7 -1
- package/components/identity.federation/source/lib/Ctx.ts +2 -2
- package/components/identity.federation/source/lib/decode.ts +25 -9
- package/components/identity.federation/source/lib/errors.ts +5 -0
- package/components/identity.federation/source/lib/exchange.ts +11 -7
- package/components/identity.federation/source/lib/index.ts +1 -0
- package/components/identity.federation/source/lib/principal.ts +17 -0
- package/components/identity.federation/source/types/configuration.ts +1 -1
- package/components/identity.federation/source/types/context.ts +6 -2
- package/components/identity.federation/tsconfig.json +4 -2
- package/components/identity.federation/tsconfig.tsbuildinfo +1 -1
- package/components/identity.federation/types/index.d.ts +3 -0
- package/components/identity.federation/types/toa.d.ts +127 -0
- package/components/identity.grants/manifest.toa.yaml +245 -0
- package/components/identity.grants/operations/authorize.js +54 -0
- package/components/identity.grants/operations/exchange.js +89 -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 +25 -0
- package/components/identity.grants/source/authorize.ts +90 -0
- package/components/identity.grants/source/exchange.ts +130 -0
- package/components/identity.grants/source/lib/code.ts +39 -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 +38 -0
- package/components/identity.grants/tsconfig.json +10 -0
- package/components/identity.grants/tsconfig.tsbuildinfo +1 -0
- package/components/identity.grants/types/index.d.ts +60 -0
- package/components/identity.grants/types/toa.d.ts +108 -0
- package/components/identity.keys/manifest.toa.yaml +1 -0
- package/components/identity.keys/operations/create.js +1 -1
- package/components/identity.keys/operations/disable.js +1 -1
- package/components/identity.keys/operations/revoke.js +1 -1
- package/components/identity.keys/source/create.ts +1 -1
- package/components/identity.keys/source/revoke.ts +1 -1
- package/components/identity.keys/tsconfig.json +1 -1
- package/components/identity.keys/tsconfig.tsbuildinfo +1 -1
- package/components/identity.keys/types/index.d.ts +3 -0
- package/components/identity.keys/types/toa.d.ts +47 -0
- package/components/identity.otp/operations/authenticate.js +1 -1
- package/components/identity.otp/operations/issue.js +1 -1
- package/components/identity.otp/operations/lib/Context.js +1 -1
- package/components/identity.otp/operations/lib/Entity.js +1 -1
- package/components/identity.otp/operations/lib/index.js +1 -1
- package/components/identity.otp/source/lib/Context.ts +4 -2
- package/components/identity.otp/tsconfig.json +1 -1
- package/components/identity.otp/tsconfig.tsbuildinfo +1 -1
- package/components/identity.otp/types/index.d.ts +3 -0
- package/components/identity.otp/types/toa.d.ts +56 -0
- package/components/identity.passkeys/manifest.toa.yaml +3 -0
- package/components/identity.passkeys/operations/authenticate.js +1 -1
- package/components/identity.passkeys/operations/challenge.js +1 -1
- package/components/identity.passkeys/operations/create.js +1 -1
- package/components/identity.passkeys/operations/delete.js +1 -1
- package/components/identity.passkeys/operations/lib/const.js +1 -1
- package/components/identity.passkeys/operations/list.js +1 -1
- package/components/identity.passkeys/operations/types/Configuration.js +1 -1
- package/components/identity.passkeys/operations/types/Context.js +1 -1
- package/components/identity.passkeys/operations/types/Passkey.js +1 -1
- package/components/identity.passkeys/operations/types/index.js +1 -1
- package/components/identity.passkeys/operations/use.js +1 -1
- package/components/identity.passkeys/source/authenticate.ts +1 -1
- package/components/identity.passkeys/source/challenge.ts +1 -1
- package/components/identity.passkeys/source/create.ts +1 -1
- package/components/identity.passkeys/source/types/Context.ts +2 -1
- package/components/identity.passkeys/source/use.ts +1 -1
- package/components/identity.passkeys/tsconfig.json +1 -1
- package/components/identity.passkeys/tsconfig.tsbuildinfo +1 -1
- package/components/identity.passkeys/types/index.d.ts +3 -0
- package/components/identity.passkeys/types/toa.d.ts +120 -0
- package/components/identity.roles/operations/grant.js +1 -1
- package/components/identity.roles/operations/lib/Entity.js +1 -1
- package/components/identity.roles/operations/list.js +1 -1
- package/components/identity.roles/operations/principal.js +29 -5
- package/components/identity.roles/source/principal.ts +33 -5
- package/components/identity.roles/tsconfig.json +1 -1
- package/components/identity.roles/tsconfig.tsbuildinfo +1 -1
- package/components/identity.roles/types/index.d.ts +3 -0
- package/components/identity.roles/types/toa.d.ts +43 -0
- package/components/identity.tokens/manifest.toa.yaml +34 -3
- package/components/identity.tokens/operations/authenticate.js +9 -1
- package/components/identity.tokens/operations/decrypt.js +3 -3
- package/components/identity.tokens/operations/encrypt.js +1 -1
- package/components/identity.tokens/operations/issue.js +3 -2
- package/components/identity.tokens/operations/lib/form.js +24 -0
- package/components/identity.tokens/operations/lib/index.js +2 -2
- package/components/identity.tokens/operations/lib/jose.js +1 -1
- package/components/identity.tokens/operations/lib/key.js +1 -1
- package/components/identity.tokens/operations/lib/pad.js +1 -1
- package/components/identity.tokens/operations/revoke.js +1 -1
- package/components/identity.tokens/source/authenticate.test.ts +8 -5
- package/components/identity.tokens/source/authenticate.ts +12 -1
- package/components/identity.tokens/source/decrypt.test.ts +1 -1
- package/components/identity.tokens/source/decrypt.ts +4 -3
- package/components/identity.tokens/source/encrypt.test.ts +1 -1
- package/components/identity.tokens/source/encrypt.ts +2 -1
- package/components/identity.tokens/source/issue.test.ts +71 -0
- package/components/identity.tokens/source/issue.ts +4 -2
- package/components/identity.tokens/source/lib/form.test.ts +25 -0
- package/components/identity.tokens/source/lib/form.ts +31 -0
- package/components/identity.tokens/source/lib/index.ts +2 -1
- package/components/identity.tokens/tsconfig.json +1 -1
- package/components/identity.tokens/tsconfig.tsbuildinfo +1 -1
- package/components/identity.tokens/types/index.d.ts +61 -0
- package/components/identity.tokens/types/toa.d.ts +113 -0
- package/documentation/access.md +13 -0
- package/documentation/cache.md +10 -1
- package/documentation/components.md +3 -0
- package/documentation/consent.md +101 -0
- package/documentation/identity.md +3 -1
- package/documentation/introspection.md +13 -5
- package/documentation/io.md +42 -2
- package/documentation/map.md +8 -0
- package/documentation/mcp.md +180 -0
- package/documentation/oauth.md +180 -0
- package/documentation/protocol.md +4 -0
- package/documentation/rpc.md +140 -0
- package/documentation/tree.md +3 -0
- package/features/auth.bearer.feature +120 -0
- package/features/cache.feature +46 -0
- package/features/identity.basic.feature +44 -0
- package/features/identity.federation.feature +2 -5
- package/features/introspection.feature +333 -0
- package/features/mcp.feature +687 -0
- package/features/oauth.clients.feature +195 -0
- package/features/oauth.discovery.feature +164 -0
- package/features/oauth.grants.feature +299 -0
- package/features/octets.cloudinary.feature +1 -0
- package/features/rpc.feature +429 -0
- package/features/steps/Cloudinary.ts +13 -0
- package/features/steps/Components.ts +0 -4
- package/features/steps/Gateway.ts +23 -2
- package/features/steps/Parameters.ts +22 -7
- package/features/steps/Realtime.ts +3 -0
- package/features/steps/components/echo/manifest.toa.yaml +3 -0
- package/features/steps/components/octets.tester/manifest.toa.yaml +2 -0
- package/features/steps/components/octets.tester/operations/redirect.js +6 -1
- package/features/steps/components/pots/manifest.toa.yaml +2 -0
- package/features/steps/components/users/manifest.toa.yaml +1 -0
- package/package.json +8 -6
- package/readme.md +6 -0
- package/schemas/annotation.cos.yaml +63 -0
- package/schemas/call.cos.yaml +18 -0
- package/source/Annotation.ts +54 -0
- package/source/Directive.test.ts +15 -15
- package/source/Directive.ts +77 -9
- package/source/Endpoint.test.ts +67 -0
- package/source/Endpoint.ts +31 -11
- package/source/Factory.ts +6 -2
- package/source/Gateway.ts +73 -11
- package/source/HTTP/Context.ts +7 -0
- package/source/HTTP/Server.ts +15 -5
- package/source/HTTP/exceptions.ts +2 -2
- package/source/HTTP/formats/form.ts +21 -0
- package/source/HTTP/formats/index.ts +17 -2
- package/source/HTTP/messages.test.ts +25 -1
- package/source/HTTP/messages.ts +20 -4
- package/source/Interception.ts +8 -2
- package/source/Introspection.ts +102 -0
- package/source/MCP/Server.ts +275 -0
- package/source/MCP/discover.ts +52 -0
- package/source/MCP/errors.ts +81 -0
- package/source/MCP/index.ts +1 -0
- package/source/MCP/schema.test.ts +85 -0
- package/source/MCP/schema.ts +87 -0
- package/source/MCP/tools.ts +156 -0
- package/source/MCP/types.ts +81 -0
- package/source/Query.ts +48 -8
- package/source/RPC/Context.ts +78 -0
- package/source/RPC/Dispatcher.ts +130 -0
- package/source/RPC/errors.test.ts +52 -0
- package/source/RPC/errors.ts +83 -0
- package/source/RPC/index.ts +1 -0
- package/source/RPC/names.test.ts +122 -0
- package/source/RPC/names.ts +182 -0
- package/source/RPC/types.ts +34 -0
- package/source/RTD/Directives.ts +52 -2
- package/source/RTD/Endpoint.ts +2 -1
- package/source/RTD/Method.ts +14 -11
- package/source/RTD/Node.ts +38 -7
- package/source/RTD/Route.ts +30 -3
- package/source/RTD/Tree.ts +37 -1
- package/source/RTD/expiration.test.ts +1 -1
- package/source/RTD/walk.test.ts +110 -0
- package/source/const.ts +15 -0
- package/source/deployment.ts +11 -1
- package/source/directives/auth/Anonymous.test.ts +38 -0
- package/source/directives/auth/Anonymous.ts +12 -0
- package/source/directives/auth/Anyone.ts +4 -0
- package/source/directives/auth/Authorization.ts +108 -22
- package/source/directives/auth/Delegate.test.ts +36 -0
- package/source/directives/auth/Delegate.ts +14 -0
- package/source/directives/auth/Echo.ts +5 -0
- package/source/directives/auth/Incept.ts +16 -10
- package/source/directives/auth/Role.ts +13 -0
- package/source/directives/auth/Rule.ts +29 -0
- package/source/directives/auth/Scheme.ts +5 -0
- package/source/directives/auth/schemes.test.ts +8 -4
- package/source/directives/auth/schemes.ts +22 -9
- package/source/directives/auth/types.ts +26 -2
- package/source/directives/cache/Cache.ts +14 -5
- package/source/directives/cache/Control.ts +0 -3
- package/source/directives/dev/Development.ts +1 -1
- package/source/directives/flow/Fetch.ts +1 -1
- package/source/directives/flow/Flow.ts +1 -1
- package/source/directives/index.ts +5 -2
- package/source/directives/io/Directive.ts +1 -1
- package/source/directives/io/IO.ts +34 -3
- package/source/directives/io/Input.ts +3 -2
- package/source/directives/io/Output.ts +10 -4
- package/source/directives/io/Status.test.ts +84 -0
- package/source/directives/io/Status.ts +46 -0
- package/source/directives/io/Throttle.ts +1 -1
- package/source/directives/io/lib/throttle/Quotas.ts +2 -2
- package/source/directives/map/Headers.ts +11 -0
- package/source/directives/map/Map.ts +10 -1
- package/source/directives/map/Mapping.ts +23 -0
- package/source/directives/map/Segments.ts +12 -0
- package/source/directives/mcp/MCP.ts +33 -0
- package/source/directives/mcp/Tool.test.ts +66 -0
- package/source/directives/mcp/Tool.ts +28 -0
- package/source/directives/mcp/index.ts +6 -0
- package/source/directives/oauth/Discovery.ts +70 -0
- package/source/directives/oauth/documents.ts +113 -0
- package/source/directives/oauth/index.ts +3 -0
- package/source/directives/octets/Delete.ts +1 -1
- package/source/directives/octets/Get.ts +1 -1
- package/source/directives/octets/Octets.ts +1 -1
- package/source/directives/octets/Workflow.ts +1 -1
- package/source/directives/octets/workflows/Execution.ts +1 -1
- package/source/directives/require/Directive.ts +1 -1
- package/source/directives/require/Headers.ts +1 -1
- package/source/directives/require/Require.ts +2 -2
- package/source/index.ts +6 -0
- package/source/octets.d.ts +17 -0
- package/source/schemas.ts +2 -0
- package/source/userland.ts +47 -0
- package/transpiled/Annotation.d.ts +41 -0
- package/transpiled/Directive.d.ts +18 -1
- package/transpiled/Directive.js +50 -6
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Endpoint.d.ts +9 -0
- package/transpiled/Endpoint.js +27 -11
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.js +6 -2
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +19 -2
- package/transpiled/Gateway.js +51 -9
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +6 -0
- package/transpiled/HTTP/Context.js +6 -0
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +8 -1
- package/transpiled/HTTP/Server.js +4 -3
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/exceptions.d.ts +1 -1
- package/transpiled/HTTP/exceptions.js +2 -2
- 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 -2
- package/transpiled/HTTP/formats/index.js +10 -0
- package/transpiled/HTTP/formats/index.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +12 -0
- package/transpiled/HTTP/messages.js +12 -4
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/Interception.d.ts +4 -1
- package/transpiled/Interception.js +4 -2
- package/transpiled/Interception.js.map +1 -1
- package/transpiled/Introspection.d.ts +40 -0
- package/transpiled/Introspection.js +50 -1
- package/transpiled/Introspection.js.map +1 -1
- package/transpiled/MCP/Server.d.ts +41 -0
- package/transpiled/MCP/Server.js +180 -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 +64 -0
- package/transpiled/MCP/schema.js.map +1 -0
- package/transpiled/MCP/tools.d.ts +31 -0
- package/transpiled/MCP/tools.js +121 -0
- package/transpiled/MCP/tools.js.map +1 -0
- package/transpiled/MCP/types.d.ts +64 -0
- package/transpiled/MCP/types.js +13 -0
- package/transpiled/MCP/types.js.map +1 -0
- package/transpiled/Query.d.ts +7 -0
- package/transpiled/Query.js +38 -7
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RPC/Context.d.ts +11 -0
- package/transpiled/RPC/Context.js +63 -0
- package/transpiled/RPC/Context.js.map +1 -0
- package/transpiled/RPC/Dispatcher.d.ts +19 -0
- package/transpiled/RPC/Dispatcher.js +100 -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 +30 -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/Directives.d.ts +41 -2
- package/transpiled/RTD/Endpoint.d.ts +2 -1
- package/transpiled/RTD/Method.d.ts +8 -3
- package/transpiled/RTD/Method.js +12 -10
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +20 -2
- package/transpiled/RTD/Node.js +22 -4
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Route.d.ts +2 -1
- package/transpiled/RTD/Route.js +27 -2
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/Tree.d.ts +3 -1
- package/transpiled/RTD/Tree.js +26 -0
- package/transpiled/RTD/Tree.js.map +1 -1
- package/transpiled/const.d.ts +12 -0
- package/transpiled/const.js +12 -0
- package/transpiled/const.js.map +1 -1
- package/transpiled/deployment.js +6 -0
- package/transpiled/deployment.js.map +1 -1
- package/transpiled/directives/auth/Anonymous.d.ts +6 -0
- package/transpiled/directives/auth/Anonymous.js +10 -0
- package/transpiled/directives/auth/Anonymous.js.map +1 -1
- package/transpiled/directives/auth/Anyone.d.ts +1 -0
- package/transpiled/directives/auth/Anyone.js +3 -0
- package/transpiled/directives/auth/Anyone.js.map +1 -1
- package/transpiled/directives/auth/Authorization.d.ts +28 -2
- package/transpiled/directives/auth/Authorization.js +87 -19
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Delegate.d.ts +5 -0
- package/transpiled/directives/auth/Delegate.js +10 -0
- package/transpiled/directives/auth/Delegate.js.map +1 -1
- package/transpiled/directives/auth/Echo.d.ts +2 -0
- package/transpiled/directives/auth/Echo.js +4 -0
- package/transpiled/directives/auth/Echo.js.map +1 -1
- package/transpiled/directives/auth/Incept.d.ts +1 -1
- package/transpiled/directives/auth/Incept.js +13 -8
- package/transpiled/directives/auth/Incept.js.map +1 -1
- package/transpiled/directives/auth/Role.d.ts +2 -0
- package/transpiled/directives/auth/Role.js +9 -0
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/auth/Rule.d.ts +5 -0
- package/transpiled/directives/auth/Rule.js +20 -0
- package/transpiled/directives/auth/Rule.js.map +1 -1
- package/transpiled/directives/auth/Scheme.d.ts +2 -0
- package/transpiled/directives/auth/Scheme.js +4 -0
- package/transpiled/directives/auth/Scheme.js.map +1 -1
- package/transpiled/directives/auth/schemes.d.ts +16 -4
- package/transpiled/directives/auth/schemes.js +20 -8
- package/transpiled/directives/auth/schemes.js.map +1 -1
- package/transpiled/directives/auth/types.d.ts +20 -2
- package/transpiled/directives/cache/Cache.d.ts +1 -1
- package/transpiled/directives/cache/Cache.js +10 -3
- package/transpiled/directives/cache/Cache.js.map +1 -1
- package/transpiled/directives/cache/Control.js +0 -2
- package/transpiled/directives/cache/Control.js.map +1 -1
- package/transpiled/directives/dev/Development.d.ts +1 -1
- package/transpiled/directives/dev/Development.js +1 -1
- package/transpiled/directives/dev/Development.js.map +1 -1
- package/transpiled/directives/flow/Flow.d.ts +1 -1
- package/transpiled/directives/flow/Flow.js +1 -1
- package/transpiled/directives/flow/Flow.js.map +1 -1
- package/transpiled/directives/index.js +4 -2
- package/transpiled/directives/index.js.map +1 -1
- package/transpiled/directives/io/Directive.d.ts +1 -1
- package/transpiled/directives/io/IO.d.ts +7 -1
- package/transpiled/directives/io/IO.js +25 -3
- package/transpiled/directives/io/IO.js.map +1 -1
- package/transpiled/directives/io/Input.d.ts +3 -2
- package/transpiled/directives/io/Input.js +2 -1
- package/transpiled/directives/io/Input.js.map +1 -1
- package/transpiled/directives/io/Output.d.ts +5 -3
- package/transpiled/directives/io/Output.js +8 -3
- package/transpiled/directives/io/Output.js.map +1 -1
- package/transpiled/directives/io/Status.d.ts +19 -0
- package/transpiled/directives/io/Status.js +34 -0
- package/transpiled/directives/io/Status.js.map +1 -0
- package/transpiled/directives/io/Throttle.d.ts +1 -1
- package/transpiled/directives/io/Throttle.js +1 -1
- package/transpiled/directives/io/Throttle.js.map +1 -1
- package/transpiled/directives/io/lib/throttle/Quotas.d.ts +1 -1
- package/transpiled/directives/io/lib/throttle/Quotas.js +2 -2
- package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -1
- package/transpiled/directives/map/Headers.d.ts +2 -0
- package/transpiled/directives/map/Headers.js +8 -0
- package/transpiled/directives/map/Headers.js.map +1 -1
- package/transpiled/directives/map/Map.d.ts +3 -1
- package/transpiled/directives/map/Map.js +7 -1
- package/transpiled/directives/map/Map.js.map +1 -1
- package/transpiled/directives/map/Mapping.d.ts +13 -0
- package/transpiled/directives/map/Mapping.js +20 -0
- package/transpiled/directives/map/Mapping.js.map +1 -1
- package/transpiled/directives/map/Segments.d.ts +3 -0
- package/transpiled/directives/map/Segments.js +9 -0
- package/transpiled/directives/map/Segments.js.map +1 -1
- package/transpiled/directives/mcp/MCP.d.ts +15 -0
- package/transpiled/directives/mcp/MCP.js +23 -0
- package/transpiled/directives/mcp/MCP.js.map +1 -0
- package/transpiled/directives/mcp/Tool.d.ts +13 -0
- package/transpiled/directives/mcp/Tool.js +23 -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/Octets.d.ts +1 -1
- package/transpiled/directives/octets/Octets.js +1 -1
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/require/Directive.d.ts +1 -1
- package/transpiled/directives/require/Headers.d.ts +1 -1
- package/transpiled/directives/require/Headers.js +1 -1
- package/transpiled/directives/require/Headers.js.map +1 -1
- package/transpiled/directives/require/Require.d.ts +1 -1
- package/transpiled/directives/require/Require.js +2 -2
- package/transpiled/directives/require/Require.js.map +1 -1
- package/transpiled/index.d.ts +2 -0
- package/transpiled/schemas.d.ts +2 -0
- package/transpiled/schemas.js +1 -0
- package/transpiled/schemas.js.map +1 -1
- package/transpiled/userland.d.ts +39 -0
- package/transpiled/userland.js +7 -0
- package/transpiled/userland.js.map +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/components/identity.bans/operations/transit.d.ts +0 -14
- package/components/identity.bans/operations/transit.js.map +0 -1
- package/components/identity.basic/operations/add.d.ts +0 -3
- package/components/identity.basic/operations/add.js.map +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/check.d.ts +0 -7
- package/components/identity.basic/operations/check.js.map +0 -1
- package/components/identity.basic/operations/delete.d.ts +0 -7
- package/components/identity.basic/operations/delete.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/info.d.ts +0 -10
- package/components/identity.basic/operations/info.js.map +0 -1
- package/components/identity.basic/operations/lib/credentials.d.ts +0 -5
- package/components/identity.basic/operations/lib/credentials.js.map +0 -1
- package/components/identity.basic/operations/transit.d.ts +0 -14
- package/components/identity.basic/operations/transit.js.map +0 -1
- package/components/identity.basic/operations/types.d.ts +0 -61
- package/components/identity.basic/operations/types.js +0 -2
- package/components/identity.basic/operations/types.js.map +0 -1
- package/components/identity.basic/source/types.ts +0 -69
- package/components/identity.credentials/operations/list.d.ts +0 -51
- package/components/identity.credentials/operations/list.js.map +0 -1
- package/components/identity.federation/operations/authenticate.d.ts +0 -16
- package/components/identity.federation/operations/authenticate.js.map +0 -1
- package/components/identity.federation/operations/create.d.ts +0 -8
- package/components/identity.federation/operations/create.js.map +0 -1
- package/components/identity.federation/operations/decode.d.ts +0 -3
- package/components/identity.federation/operations/decode.js.map +0 -1
- package/components/identity.federation/operations/delete.d.ts +0 -8
- package/components/identity.federation/operations/delete.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/Configuration.d.ts +0 -39
- package/components/identity.federation/operations/lib/Configuration.js.map +0 -1
- package/components/identity.federation/operations/lib/Ctx.d.ts +0 -8
- package/components/identity.federation/operations/lib/Ctx.js.map +0 -1
- package/components/identity.federation/operations/lib/Payload.d.ts +0 -5
- package/components/identity.federation/operations/lib/Payload.js.map +0 -1
- package/components/identity.federation/operations/lib/decode.d.ts +0 -3
- package/components/identity.federation/operations/lib/decode.js.map +0 -1
- package/components/identity.federation/operations/lib/discovery.d.ts +0 -5
- package/components/identity.federation/operations/lib/discovery.js.map +0 -1
- package/components/identity.federation/operations/lib/errors.d.ts +0 -70
- package/components/identity.federation/operations/lib/errors.js.map +0 -1
- package/components/identity.federation/operations/lib/exchange.d.ts +0 -3
- package/components/identity.federation/operations/lib/exchange.js.map +0 -1
- package/components/identity.federation/operations/lib/index.d.ts +0 -4
- package/components/identity.federation/operations/lib/index.js.map +0 -1
- package/components/identity.federation/operations/lib/jose.d.ts +0 -1
- package/components/identity.federation/operations/lib/jose.js.map +0 -1
- package/components/identity.federation/operations/lib/resolve.d.ts +0 -3
- package/components/identity.federation/operations/lib/resolve.js.map +0 -1
- package/components/identity.federation/operations/list.d.ts +0 -7
- package/components/identity.federation/operations/list.js.map +0 -1
- package/components/identity.federation/operations/types/Scheme.d.ts +0 -1
- package/components/identity.federation/operations/types/Scheme.js.map +0 -1
- package/components/identity.federation/operations/types/configuration.d.ts +0 -22
- package/components/identity.federation/operations/types/configuration.js.map +0 -1
- package/components/identity.federation/operations/types/context.d.ts +0 -35
- package/components/identity.federation/operations/types/context.js.map +0 -1
- package/components/identity.federation/operations/types/entity.d.ts +0 -9
- package/components/identity.federation/operations/types/entity.js.map +0 -1
- package/components/identity.federation/operations/types/index.d.ts +0 -4
- package/components/identity.federation/operations/types/index.js.map +0 -1
- package/components/identity.keys/operations/create.d.ts +0 -22
- package/components/identity.keys/operations/create.js.map +0 -1
- package/components/identity.keys/operations/disable.d.ts +0 -5
- package/components/identity.keys/operations/disable.js.map +0 -1
- package/components/identity.keys/operations/revoke.d.ts +0 -15
- package/components/identity.keys/operations/revoke.js.map +0 -1
- package/components/identity.otp/operations/authenticate.d.ts +0 -12
- package/components/identity.otp/operations/authenticate.js.map +0 -1
- package/components/identity.otp/operations/issue.d.ts +0 -12
- package/components/identity.otp/operations/issue.js.map +0 -1
- package/components/identity.otp/operations/lib/Context.d.ts +0 -14
- package/components/identity.otp/operations/lib/Context.js.map +0 -1
- package/components/identity.otp/operations/lib/Entity.d.ts +0 -6
- package/components/identity.otp/operations/lib/Entity.js.map +0 -1
- package/components/identity.otp/operations/lib/index.d.ts +0 -1
- package/components/identity.otp/operations/lib/index.js.map +0 -1
- package/components/identity.passkeys/operations/authenticate.d.ts +0 -16
- package/components/identity.passkeys/operations/authenticate.js.map +0 -1
- package/components/identity.passkeys/operations/challenge.d.ts +0 -35
- package/components/identity.passkeys/operations/challenge.js.map +0 -1
- package/components/identity.passkeys/operations/create.d.ts +0 -19
- package/components/identity.passkeys/operations/create.js.map +0 -1
- package/components/identity.passkeys/operations/delete.d.ts +0 -8
- package/components/identity.passkeys/operations/delete.js.map +0 -1
- package/components/identity.passkeys/operations/lib/const.d.ts +0 -1
- package/components/identity.passkeys/operations/lib/const.js.map +0 -1
- package/components/identity.passkeys/operations/list.d.ts +0 -7
- package/components/identity.passkeys/operations/list.js.map +0 -1
- package/components/identity.passkeys/operations/types/Configuration.d.ts +0 -6
- package/components/identity.passkeys/operations/types/Configuration.js.map +0 -1
- package/components/identity.passkeys/operations/types/Context.d.ts +0 -15
- package/components/identity.passkeys/operations/types/Context.js.map +0 -1
- package/components/identity.passkeys/operations/types/Passkey.d.ts +0 -12
- package/components/identity.passkeys/operations/types/Passkey.js.map +0 -1
- package/components/identity.passkeys/operations/types/index.d.ts +0 -2
- package/components/identity.passkeys/operations/types/index.js.map +0 -1
- package/components/identity.passkeys/operations/use.d.ts +0 -16
- package/components/identity.passkeys/operations/use.js.map +0 -1
- 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.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 -15
- 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/issue.d.ts +0 -24
- package/components/identity.tokens/operations/issue.js.map +0 -1
- package/components/identity.tokens/operations/lib/index.d.ts +0 -3
- package/components/identity.tokens/operations/lib/index.js.map +0 -1
- package/components/identity.tokens/operations/lib/jose.d.ts +0 -1
- package/components/identity.tokens/operations/lib/jose.js.map +0 -1
- package/components/identity.tokens/operations/lib/key.d.ts +0 -1
- package/components/identity.tokens/operations/lib/key.js.map +0 -1
- package/components/identity.tokens/operations/lib/pad.d.ts +0 -1
- package/components/identity.tokens/operations/lib/pad.js.map +0 -1
- package/components/identity.tokens/operations/lib/types.d.ts +0 -88
- package/components/identity.tokens/operations/lib/types.js +0 -2
- package/components/identity.tokens/operations/lib/types.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/source/lib/types.ts +0 -102
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../source/RTD/Node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../source/RTD/Node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Segment } from './segment.js';
|
|
2
2
|
import { type Match, type Parameter } from './Match.js';
|
|
3
|
-
import type { Node } from './Node.js';
|
|
3
|
+
import type { Mount, Node } from './Node.js';
|
|
4
4
|
export declare class Route {
|
|
5
5
|
readonly root: boolean;
|
|
6
6
|
readonly variables: number;
|
|
@@ -9,6 +9,7 @@ export declare class Route {
|
|
|
9
9
|
private readonly wildcard;
|
|
10
10
|
constructor(segments: Segment[], node: Node);
|
|
11
11
|
match(fragments: string[], parameters: Parameter[]): Match | null;
|
|
12
|
+
walk(prefix: Segment[]): Generator<Mount>;
|
|
12
13
|
equals(route: Route): boolean;
|
|
13
14
|
merge(route: Route): Node[];
|
|
14
15
|
private matchNested;
|
package/transpiled/RTD/Route.js
CHANGED
|
@@ -22,9 +22,12 @@ export class Route {
|
|
|
22
22
|
if (segment.fragment !== null && segment.fragment !== fragments[i])
|
|
23
23
|
return null;
|
|
24
24
|
if (segment.fragment === null && segment.placeholder !== null)
|
|
25
|
-
parameters.push({ name: segment.placeholder, value: fragments[i] });
|
|
25
|
+
parameters.push({ name: segment.placeholder, value: decode(fragments[i]) });
|
|
26
26
|
if (segment.fragment === null && segment.wildcard === true)
|
|
27
|
-
parameters.push({
|
|
27
|
+
parameters.push({
|
|
28
|
+
name: '**',
|
|
29
|
+
value: fragments.slice(this.segments.length - 1).map(decode).join('/')
|
|
30
|
+
});
|
|
28
31
|
}
|
|
29
32
|
const exact = this.segments.length === fragments.length;
|
|
30
33
|
if ((exact && !this.node.intermediate) || this.wildcard)
|
|
@@ -32,6 +35,12 @@ export class Route {
|
|
|
32
35
|
else
|
|
33
36
|
return this.matchNested(fragments, parameters);
|
|
34
37
|
}
|
|
38
|
+
*walk(prefix) {
|
|
39
|
+
// an expired branch is not matched, so nothing under it is reachable to name
|
|
40
|
+
if (Date.now() >= this.node.expiration)
|
|
41
|
+
return;
|
|
42
|
+
yield* this.node.walk(prefix.concat(this.segments));
|
|
43
|
+
}
|
|
35
44
|
equals(route) {
|
|
36
45
|
if (route.segments.length !== this.segments.length)
|
|
37
46
|
return false;
|
|
@@ -48,4 +57,20 @@ export class Route {
|
|
|
48
57
|
return this.node.match(fragments, parameters);
|
|
49
58
|
}
|
|
50
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* What the segment says, rather than how it was written: a value is percent-encoded to
|
|
62
|
+
* survive the path, and an operation reads what a caller meant — a `client_id` that is a
|
|
63
|
+
* URL arrives as one. A literal segment is matched as written, which is how it is declared.
|
|
64
|
+
*
|
|
65
|
+
* An escape that decodes to nothing valid is left as it stands; refusing the route over it
|
|
66
|
+
* would answer `404` to a request whose only fault is its spelling.
|
|
67
|
+
*/
|
|
68
|
+
function decode(fragment) {
|
|
69
|
+
try {
|
|
70
|
+
return decodeURIComponent(fragment);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return fragment;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
51
76
|
//# sourceMappingURL=Route.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../source/RTD/Route.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,KAAK;IACA,IAAI,CAAS;IACb,SAAS,GAAW,CAAC,CAAA;IACrB,QAAQ,CAAW;IACnB,IAAI,CAAM;IACT,QAAQ,GAAY,KAAK,CAAA;IAE1C,YAAoB,QAAmB,EAAE,IAAU;QACjD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,KAAK,MAAM,OAAO,IAAI,QAAQ;YAC5B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE,CAAA;gBAChB,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAA;YAC7C,CAAC;IACL,CAAC;IAEM,KAAK,CAAE,SAAmB,EAAE,UAAuB;QACxD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;YACpC,OAAO,IAAI,CAAA;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAEhC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAA;YAEb,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI;gBAC3D,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../source/RTD/Route.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,KAAK;IACA,IAAI,CAAS;IACb,SAAS,GAAW,CAAC,CAAA;IACrB,QAAQ,CAAW;IACnB,IAAI,CAAM;IACT,QAAQ,GAAY,KAAK,CAAA;IAE1C,YAAoB,QAAmB,EAAE,IAAU;QACjD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,KAAK,MAAM,OAAO,IAAI,QAAQ;YAC5B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE,CAAA;gBAChB,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAA;YAC7C,CAAC;IACL,CAAC;IAEM,KAAK,CAAE,SAAmB,EAAE,UAAuB;QACxD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;YACpC,OAAO,IAAI,CAAA;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAEhC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAA;YAEb,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI;gBAC3D,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAE7E,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;gBACxD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;iBACvE,CAAC,CAAA;QACN,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAA;QAEvD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ;YACrD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAA;;YAEtC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAEM,CAAE,IAAI,CAAE,MAAiB;QAC9B,6EAA6E;QAC7E,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;YACpC,OAAM;QAER,KAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACtD,CAAC;IAEM,MAAM,CAAE,KAAY;QACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM;YAChD,OAAO,KAAK,CAAA;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC1D,OAAO,KAAK,CAAA;QAEhB,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAE,KAAY;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAEO,WAAW,CAAE,SAAmB,EAAE,UAAuB;QAC/D,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAEjD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC/C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,SAAS,MAAM,CAAE,QAAgB;IAC/B,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC"}
|
package/transpiled/RTD/Tree.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Node } from './Node.js';
|
|
1
|
+
import type { Mount, Node } from './Node.js';
|
|
2
2
|
import type { Match } from './Match.js';
|
|
3
3
|
import type { DirectiveFactory } from './Directives.js';
|
|
4
4
|
import type { EndpointsFactory } from './Endpoint.js';
|
|
@@ -10,6 +10,8 @@ export declare class Tree {
|
|
|
10
10
|
private readonly directives;
|
|
11
11
|
constructor(node: syntax.Node, endpoints: EndpointsFactory, directives: DirectiveFactory);
|
|
12
12
|
match(path: string): Match | null;
|
|
13
|
+
/** Every method in the tree, with the template it answers at. */
|
|
14
|
+
walk(): Generator<Mount>;
|
|
13
15
|
merge(node: syntax.Node, extension: unknown): Node[];
|
|
14
16
|
/**
|
|
15
17
|
* Extends the expiration of an already merged branch, leaving its endpoints
|
package/transpiled/RTD/Tree.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { console } from 'openspan';
|
|
2
|
+
import { refusal, template } from '../RPC/names.js';
|
|
1
3
|
import { branchTTL, createNode } from './factory.js';
|
|
2
4
|
import { fragment } from './segment.js';
|
|
3
5
|
export class Tree {
|
|
@@ -10,6 +12,7 @@ export class Tree {
|
|
|
10
12
|
this.directives = directives;
|
|
11
13
|
this.root = node;
|
|
12
14
|
this.trunk = this.createNode(node, PROTECTED);
|
|
15
|
+
unnameable(this.trunk);
|
|
13
16
|
}
|
|
14
17
|
match(path) {
|
|
15
18
|
if (path === '/')
|
|
@@ -20,8 +23,13 @@ export class Tree {
|
|
|
20
23
|
const fragments = fragment(path);
|
|
21
24
|
return this.trunk.match(fragments);
|
|
22
25
|
}
|
|
26
|
+
/** Every method in the tree, with the template it answers at. */
|
|
27
|
+
walk() {
|
|
28
|
+
return this.trunk.walk([], TRUNK);
|
|
29
|
+
}
|
|
23
30
|
merge(node, extension) {
|
|
24
31
|
const branch = this.createNode(node, !PROTECTED, extension);
|
|
32
|
+
unnameable(branch);
|
|
25
33
|
return this.trunk.merge(branch);
|
|
26
34
|
}
|
|
27
35
|
/**
|
|
@@ -53,6 +61,23 @@ export class Tree {
|
|
|
53
61
|
return createNode(node, context);
|
|
54
62
|
}
|
|
55
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* What is served but cannot be called by name. Said once per route as it is built, because a
|
|
66
|
+
* procedure that is missing is otherwise noticed only by the caller who cannot find it.
|
|
67
|
+
*/
|
|
68
|
+
function unnameable(node) {
|
|
69
|
+
const said = new Set();
|
|
70
|
+
for (const { segments } of node.walk([], TRUNK)) {
|
|
71
|
+
const segment = refusal(segments);
|
|
72
|
+
if (segment === null)
|
|
73
|
+
continue;
|
|
74
|
+
const route = template(segments);
|
|
75
|
+
if (said.has(route))
|
|
76
|
+
continue;
|
|
77
|
+
said.add(route);
|
|
78
|
+
console.warn('Route cannot be addressed as a procedure', { route, segment });
|
|
79
|
+
}
|
|
80
|
+
}
|
|
56
81
|
/**
|
|
57
82
|
* A branch's routes are relative to wherever it is merged, and the mount point is not
|
|
58
83
|
* known while it is being built — so the component it came from is what keeps two
|
|
@@ -67,4 +92,5 @@ function label(extension) {
|
|
|
67
92
|
: '';
|
|
68
93
|
}
|
|
69
94
|
const PROTECTED = true;
|
|
95
|
+
const TRUNK = true;
|
|
70
96
|
//# sourceMappingURL=Tree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../source/RTD/Tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAQvC,MAAM,OAAO,IAAI;IACE,IAAI,CAAa;IACjB,KAAK,CAAM;IACX,SAAS,CAAkB;IAC3B,UAAU,CAAkB;IAE7C,YAAoB,IAAiB,EAAE,SAA2B,EAAE,UAA4B;QAC9F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../source/RTD/Tree.ts"],"names":[],"mappings":"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"}
|
package/transpiled/const.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
export declare const BRANCH_TTL = 1800000;
|
|
2
2
|
/** The replicas of the gateway decide together, whatever context they serve. */
|
|
3
3
|
export declare const ATOM_GROUP = "exposition";
|
|
4
|
+
/**
|
|
5
|
+
* Where JSON-RPC is served, for every procedure at once. Pinned rather than configured: a
|
|
6
|
+
* path an application could choose is a path it could collide with a route of its own.
|
|
7
|
+
*/
|
|
8
|
+
export declare const RPC = "/.rpc";
|
|
9
|
+
/** Calls one request may carry where the annotation does not say. */
|
|
10
|
+
export declare const BATCH = 32;
|
|
11
|
+
/**
|
|
12
|
+
* Where the Model Context Protocol is served. Pinned for the reason `/.rpc` is: a path an
|
|
13
|
+
* application could choose is a path it could collide with a route of its own.
|
|
14
|
+
*/
|
|
15
|
+
export declare const MCP = "/.mcp";
|
package/transpiled/const.js
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
export const BRANCH_TTL = 1_800_000;
|
|
2
2
|
/** The replicas of the gateway decide together, whatever context they serve. */
|
|
3
3
|
export const ATOM_GROUP = 'exposition';
|
|
4
|
+
/**
|
|
5
|
+
* Where JSON-RPC is served, for every procedure at once. Pinned rather than configured: a
|
|
6
|
+
* path an application could choose is a path it could collide with a route of its own.
|
|
7
|
+
*/
|
|
8
|
+
export const RPC = '/.rpc';
|
|
9
|
+
/** Calls one request may carry where the annotation does not say. */
|
|
10
|
+
export const BATCH = 32;
|
|
11
|
+
/**
|
|
12
|
+
* Where the Model Context Protocol is served. Pinned for the reason `/.rpc` is: a path an
|
|
13
|
+
* application could choose is a path it could collide with a route of its own.
|
|
14
|
+
*/
|
|
15
|
+
export const MCP = '/.mcp';
|
|
4
16
|
//# sourceMappingURL=const.js.map
|
package/transpiled/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../source/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAA;AAEnC,gFAAgF;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../source/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAA;AAEnC,gFAAgF;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAA;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAA;AAE1B,qEAAqE;AACrE,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAA;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAA"}
|
package/transpiled/deployment.js
CHANGED
|
@@ -49,6 +49,12 @@ export function deployment(_, annotation) {
|
|
|
49
49
|
properties.ip = annotation.ip;
|
|
50
50
|
if (annotation.bouncer !== undefined)
|
|
51
51
|
properties.bouncer = annotation.bouncer;
|
|
52
|
+
if (annotation.oauth !== undefined)
|
|
53
|
+
properties.oauth = annotation.oauth;
|
|
54
|
+
if (annotation.rpc !== undefined)
|
|
55
|
+
properties.rpc = annotation.rpc;
|
|
56
|
+
if (annotation.mcp !== undefined)
|
|
57
|
+
properties.mcp = annotation.mcp;
|
|
52
58
|
service.variables.push({
|
|
53
59
|
name: 'TOA_EXPOSITION_PROPERTIES',
|
|
54
60
|
value: JSON.stringify(properties)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../source/deployment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../source/deployment.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,11 @@ import { type Directive, type Context } from './types.js';
|
|
|
2
2
|
export declare class Anonymous implements Directive {
|
|
3
3
|
private readonly allow;
|
|
4
4
|
constructor(allow: boolean);
|
|
5
|
+
/**
|
|
6
|
+
* A credential refuses, because it would make the reply uncacheable — which is the whole
|
|
7
|
+
* of the rule, and none of it applies to a procedure: what a procedure answers is a value
|
|
8
|
+
* in an envelope, and the envelope is the one thing that is cached or not.
|
|
9
|
+
*/
|
|
5
10
|
authorize(_: any, context: Context): boolean;
|
|
11
|
+
admits(_: any, context: Context): boolean;
|
|
6
12
|
}
|
|
@@ -3,10 +3,20 @@ export class Anonymous {
|
|
|
3
3
|
constructor(allow) {
|
|
4
4
|
this.allow = allow;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* A credential refuses, because it would make the reply uncacheable — which is the whole
|
|
8
|
+
* of the rule, and none of it applies to a procedure: what a procedure answers is a value
|
|
9
|
+
* in an envelope, and the envelope is the one thing that is cached or not.
|
|
10
|
+
*/
|
|
6
11
|
authorize(_, context) {
|
|
12
|
+
if (context.procedural)
|
|
13
|
+
return this.allow;
|
|
7
14
|
return 'authorization' in context.request.headers
|
|
8
15
|
? false
|
|
9
16
|
: this.allow;
|
|
10
17
|
}
|
|
18
|
+
admits(_, context) {
|
|
19
|
+
return this.authorize(_, context);
|
|
20
|
+
}
|
|
11
21
|
}
|
|
12
22
|
//# sourceMappingURL=Anonymous.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Anonymous.js","sourceRoot":"","sources":["../../../source/directives/auth/Anonymous.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,SAAS;IACH,KAAK,CAAS;IAE/B,YAAoB,KAAc;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"Anonymous.js","sourceRoot":"","sources":["../../../source/directives/auth/Anonymous.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,SAAS;IACH,KAAK,CAAS;IAE/B,YAAoB,KAAc;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAE,CAAM,EAAE,OAAgB;QACxC,IAAI,OAAO,CAAC,UAAU;YACpB,OAAO,IAAI,CAAC,KAAK,CAAA;QAEnB,OAAO,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO;YAC/C,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;IAChB,CAAC;IAEM,MAAM,CAAE,CAAM,EAAE,OAAgB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Anyone.js","sourceRoot":"","sources":["../../../source/directives/auth/Anyone.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,MAAM;IACA,KAAK,CAAS;IAE/B,YAAoB,KAAc;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAEM,SAAS,CAAE,CAAM,EAAE,OAAgB;QACxC,OAAO,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAA;IAChD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"Anyone.js","sourceRoot":"","sources":["../../../source/directives/auth/Anyone.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,MAAM;IACA,KAAK,CAAS;IAE/B,YAAoB,KAAc;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAEM,SAAS,CAAE,CAAM,EAAE,OAAgB;QACxC,OAAO,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAA;IAChD,CAAC;IAEM,MAAM,CAAE,CAAM,EAAE,OAAgB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as http from '../../HTTP/index.js';
|
|
2
2
|
import type { Output } from '../../io.js';
|
|
3
|
+
import type { Introspection } from '../../Introspection.js';
|
|
3
4
|
import type { Remotes } from '../../Remotes.js';
|
|
4
5
|
import type { Parameter, DirectiveFamily } from '../../RTD/index.js';
|
|
5
6
|
import type { Host } from '../../Factory.js';
|
|
@@ -8,7 +9,7 @@ export declare class Authorization implements DirectiveFamily<Directive, Extensi
|
|
|
8
9
|
readonly depends: string[];
|
|
9
10
|
readonly name: string;
|
|
10
11
|
readonly mandatory: boolean;
|
|
11
|
-
private readonly
|
|
12
|
+
private readonly components;
|
|
12
13
|
private readonly discovery;
|
|
13
14
|
private tokens;
|
|
14
15
|
private bans;
|
|
@@ -19,8 +20,33 @@ export declare class Authorization implements DirectiveFamily<Directive, Extensi
|
|
|
19
20
|
dispose(): void;
|
|
20
21
|
create(name: string, value: any, remotes: Remotes): Directive;
|
|
21
22
|
arrange(directives: Directive[]): void;
|
|
22
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Authentication: who the credential names, if one is presented. A credential belongs to
|
|
25
|
+
* the request, so it is read once however many calls the request carries.
|
|
26
|
+
*/
|
|
27
|
+
preflight(context: Context): Promise<void>;
|
|
28
|
+
/** Authorization: whether that identity may make this call, which every call asks anew. */
|
|
29
|
+
precall(directives: Directive[], context: Context, parameters: Parameter[]): Promise<Output>;
|
|
30
|
+
/**
|
|
31
|
+
* The same disjunction as `precall`, over what can be told without a request. A method no
|
|
32
|
+
* directive admits, and none is undecided about, is not this caller's to be told about —
|
|
33
|
+
* `null` takes it out of the answer.
|
|
34
|
+
*
|
|
35
|
+
* A permission is matched against a path, and a description is not a request to one, so
|
|
36
|
+
* `permits` has no say here. The call it describes is still checked, which is where a
|
|
37
|
+
* token's permissions belong.
|
|
38
|
+
*
|
|
39
|
+
* A method that is described is then described by each of them, which is a separate pass:
|
|
40
|
+
* admission is a disjunction and stops at the first that admits, while what the directives
|
|
41
|
+
* fill is not any one of them's to state alone.
|
|
42
|
+
*/
|
|
43
|
+
explain(directives: Directive[], context: Context, introspection: Introspection): Promise<Introspection | null>;
|
|
23
44
|
settle(directives: Directive[], context: Context, response: http.OutgoingMessage): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Re-issuing a credential, and refusing a ban, are the request's business: the header
|
|
47
|
+
* carries one token however many calls were made, and a ban refuses all of them.
|
|
48
|
+
*/
|
|
49
|
+
depart(context: Context, response: http.OutgoingMessage): Promise<void>;
|
|
24
50
|
private resolve;
|
|
25
51
|
private permitted;
|
|
26
52
|
private banned;
|
|
@@ -16,7 +16,7 @@ import { Federation } from './Federation.js';
|
|
|
16
16
|
import { Anyone } from './Anyone.js';
|
|
17
17
|
import { Input } from './Input.js';
|
|
18
18
|
import { split } from './split.js';
|
|
19
|
-
import { PRIMARY,
|
|
19
|
+
import { PRIMARY, UNRECOGNIZED, providers as providersOf } from './schemes.js';
|
|
20
20
|
import { ATOM_GROUP } from '../../const.js';
|
|
21
21
|
import { Quotas, Sync } from '../io/lib/throttle/index.js';
|
|
22
22
|
import { Keys } from '../io/lib/throttle/Keys.js';
|
|
@@ -24,7 +24,7 @@ export class Authorization {
|
|
|
24
24
|
depends = ['Vary'];
|
|
25
25
|
name = 'auth';
|
|
26
26
|
mandatory = true;
|
|
27
|
-
|
|
27
|
+
components = {};
|
|
28
28
|
discovery = {};
|
|
29
29
|
tokens = null;
|
|
30
30
|
bans = null;
|
|
@@ -62,8 +62,15 @@ export class Authorization {
|
|
|
62
62
|
arrange(directives) {
|
|
63
63
|
directives.sort((a, b) => (a.priority ?? 1) - (b.priority ?? 1));
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Authentication: who the credential names, if one is presented. A credential belongs to
|
|
67
|
+
* the request, so it is read once however many calls the request carries.
|
|
68
|
+
*/
|
|
69
|
+
async preflight(context) {
|
|
66
70
|
context.identity = await this.resolve(context);
|
|
71
|
+
}
|
|
72
|
+
/** Authorization: whether that identity may make this call, which every call asks anew. */
|
|
73
|
+
async precall(directives, context, parameters) {
|
|
67
74
|
for (const directive of directives) {
|
|
68
75
|
const allow = await directive.authorize(context.identity, context, parameters);
|
|
69
76
|
if (allow)
|
|
@@ -77,18 +84,59 @@ export class Authorization {
|
|
|
77
84
|
else
|
|
78
85
|
throw new http.Forbidden();
|
|
79
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* The same disjunction as `precall`, over what can be told without a request. A method no
|
|
89
|
+
* directive admits, and none is undecided about, is not this caller's to be told about —
|
|
90
|
+
* `null` takes it out of the answer.
|
|
91
|
+
*
|
|
92
|
+
* A permission is matched against a path, and a description is not a request to one, so
|
|
93
|
+
* `permits` has no say here. The call it describes is still checked, which is where a
|
|
94
|
+
* token's permissions belong.
|
|
95
|
+
*
|
|
96
|
+
* A method that is described is then described by each of them, which is a separate pass:
|
|
97
|
+
* admission is a disjunction and stops at the first that admits, while what the directives
|
|
98
|
+
* fill is not any one of them's to state alone.
|
|
99
|
+
*/
|
|
100
|
+
async explain(directives, context, introspection) {
|
|
101
|
+
let untold = false;
|
|
102
|
+
let admitted = false;
|
|
103
|
+
for (const directive of directives) {
|
|
104
|
+
const admits = await directive.admits?.(context.identity, context);
|
|
105
|
+
if (admits === undefined) {
|
|
106
|
+
untold = true;
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
if (admits) {
|
|
110
|
+
admitted = true;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (!admitted && !untold)
|
|
115
|
+
return null;
|
|
116
|
+
// whichever of them admitted, a property any of them fills from the identity is filled
|
|
117
|
+
// from the identity: what a caller sent there would be overwritten or forged
|
|
118
|
+
for (const directive of directives)
|
|
119
|
+
introspection = directive.describe?.(introspection) ?? introspection;
|
|
120
|
+
return introspection;
|
|
121
|
+
}
|
|
80
122
|
async settle(directives, context, response) {
|
|
81
123
|
await Promise.all(directives.map(async (directive) => directive.settle?.(context, response)));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Re-issuing a credential, and refusing a ban, are the request's business: the header
|
|
127
|
+
* carries one token however many calls were made, and a ban refuses all of them.
|
|
128
|
+
*/
|
|
129
|
+
async depart(context, response) {
|
|
82
130
|
const identity = context.identity;
|
|
83
131
|
if (identity === null)
|
|
84
132
|
return;
|
|
85
|
-
if (identity.
|
|
133
|
+
if (identity.provider === PRIMARY && !identity.refresh)
|
|
86
134
|
return;
|
|
87
135
|
if (await this.banned(identity))
|
|
88
136
|
throw new http.Unauthorized();
|
|
89
137
|
// a token carries the roles it was issued with, and the refresh is where they are read again;
|
|
90
138
|
// any other scheme has just read them, unless a Role directive already did
|
|
91
|
-
if (identity.
|
|
139
|
+
if (identity.provider === PRIMARY)
|
|
92
140
|
identity.roles = await Role.get(identity, this.discovery.roles);
|
|
93
141
|
else
|
|
94
142
|
identity.roles ??= await Role.get(identity, this.discovery.roles);
|
|
@@ -110,20 +158,31 @@ export class Authorization {
|
|
|
110
158
|
if (retry > 0)
|
|
111
159
|
throw new http.TooManyRequests(retry);
|
|
112
160
|
const [scheme, credentials] = split(authorization);
|
|
113
|
-
const
|
|
114
|
-
if (
|
|
161
|
+
const candidates = providersOf(scheme);
|
|
162
|
+
if (candidates === undefined)
|
|
115
163
|
throw new http.Unauthorized(`Unknown authentication scheme '${scheme}'`);
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
164
|
+
let provider = null;
|
|
165
|
+
let result = null;
|
|
166
|
+
// the first provider that does not decline has claimed the credentials, and answers
|
|
167
|
+
// for them: a rejection from one that never recognized them is not the rejection
|
|
168
|
+
for (const candidate of candidates) {
|
|
169
|
+
this.components[candidate] ??= await this.discovery[candidate];
|
|
170
|
+
const answer = await this.components[candidate].invoke('authenticate', {
|
|
171
|
+
input: {
|
|
172
|
+
scheme,
|
|
173
|
+
authority,
|
|
174
|
+
credentials
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
if (declined(answer))
|
|
178
|
+
continue;
|
|
179
|
+
provider = candidate;
|
|
180
|
+
result = answer;
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
if (result === null || result instanceof Error) {
|
|
184
|
+
const code = result === null ? UNRECOGNIZED : codeOf(result);
|
|
185
|
+
if (code !== undefined) {
|
|
127
186
|
console.info('Authentication failed', { code });
|
|
128
187
|
context.rejection = code;
|
|
129
188
|
}
|
|
@@ -131,9 +190,10 @@ export class Authorization {
|
|
|
131
190
|
return null;
|
|
132
191
|
}
|
|
133
192
|
const identity = result.identity;
|
|
134
|
-
if (
|
|
193
|
+
if (provider !== PRIMARY && (await this.banned(identity)))
|
|
135
194
|
throw new http.Unauthorized();
|
|
136
195
|
identity.scheme = scheme;
|
|
196
|
+
identity.provider = provider;
|
|
137
197
|
identity.refresh = result.refresh;
|
|
138
198
|
return identity;
|
|
139
199
|
}
|
|
@@ -150,6 +210,14 @@ export class Authorization {
|
|
|
150
210
|
return ban.banned;
|
|
151
211
|
}
|
|
152
212
|
}
|
|
213
|
+
/** Whether a provider says the credentials are not of its kind, so the next is asked. */
|
|
214
|
+
function declined(result) {
|
|
215
|
+
return result instanceof Error && codeOf(result) === UNRECOGNIZED;
|
|
216
|
+
}
|
|
217
|
+
function codeOf(result) {
|
|
218
|
+
const code = result.code;
|
|
219
|
+
return typeof code === 'string' ? code : undefined;
|
|
220
|
+
}
|
|
153
221
|
/** Whether the permissions admit the method on the path the request is routed by. */
|
|
154
222
|
export function permits(permissions, method, pathname) {
|
|
155
223
|
return Object.entries(permissions).some(([pattern, methods]) => methods.some((allowed) => allowed === '*' || allowed === method) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Introspection } from '../../Introspection.js';
|
|
1
2
|
import type { Context, Directive, Identity } from './types.js';
|
|
2
3
|
import type { Component } from '@toa.io/core';
|
|
3
4
|
export declare class Delegate implements Directive {
|
|
@@ -5,5 +6,9 @@ export declare class Delegate implements Directive {
|
|
|
5
6
|
private readonly discovery;
|
|
6
7
|
constructor(property: string, discovery: Promise<Component>);
|
|
7
8
|
authorize(identity: Identity | null, context: Context): Promise<boolean>;
|
|
9
|
+
/** It admits whoever there is, and embedding the identity is the request's business. */
|
|
10
|
+
admits(identity: Identity | null): boolean;
|
|
11
|
+
/** The property it embeds is the identity's, so a caller has nothing to put there. */
|
|
12
|
+
describe(introspection: Introspection): Introspection;
|
|
8
13
|
private embed;
|
|
9
14
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BadRequest } from '../../HTTP/index.js';
|
|
2
|
+
import { take } from '../../Introspection.js';
|
|
2
3
|
import { Role } from './Role.js';
|
|
3
4
|
export class Delegate {
|
|
4
5
|
property;
|
|
@@ -14,6 +15,15 @@ export class Delegate {
|
|
|
14
15
|
context.pipelines.body.push((body) => this.embed(body, identity));
|
|
15
16
|
return true;
|
|
16
17
|
}
|
|
18
|
+
/** It admits whoever there is, and embedding the identity is the request's business. */
|
|
19
|
+
admits(identity) {
|
|
20
|
+
return identity !== null;
|
|
21
|
+
}
|
|
22
|
+
/** The property it embeds is the identity's, so a caller has nothing to put there. */
|
|
23
|
+
describe(introspection) {
|
|
24
|
+
take(introspection, this.property);
|
|
25
|
+
return introspection;
|
|
26
|
+
}
|
|
17
27
|
embed(body, identity) {
|
|
18
28
|
if (body === undefined)
|
|
19
29
|
body = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delegate.js","sourceRoot":"","sources":["../../../source/directives/auth/Delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Delegate.js","sourceRoot":"","sources":["../../../source/directives/auth/Delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAKhC,MAAM,OAAO,QAAQ;IACF,QAAQ,CAAQ;IAChB,SAAS,CAAoB;IAE9C,YAAoB,QAAgB,EAAE,SAA6B;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,SAAS,CAAE,QAAyB,EAAE,OAAgB;QACjE,IAAI,QAAQ,KAAK,IAAI;YACnB,OAAO,KAAK,CAAA;QAEd,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC3D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;QAEjE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,wFAAwF;IACjF,MAAM,CAAE,QAAyB;QACtC,OAAO,QAAQ,KAAK,IAAI,CAAA;IAC1B,CAAC;IAED,sFAAsF;IAC/E,QAAQ,CAAE,aAA4B;QAC3C,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAElC,OAAO,aAAa,CAAA;IACtB,CAAC;IAEO,KAAK,CAAE,IAAa,EAAE,QAAkB;QAC9C,IAAI,IAAI,KAAK,SAAS;YACpB,IAAI,GAAG,EAAE,CAAA;QAEX,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;QAE/C,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,SAAS,KAAK,CAAE,IAAa;IAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAC3C,MAAM,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAA;AAChD,CAAC"}
|