@toa.io/extensions.exposition 1.0.0-alpha.28 → 1.0.0-alpha.283
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 +512 -0
- package/components/exposition.octets/manifest.toa.yaml +58 -0
- package/components/{octets.storage → exposition.octets}/operations/delete.js +1 -3
- package/components/exposition.octets/operations/get.js +5 -0
- package/components/exposition.octets/operations/head.js +5 -0
- package/components/exposition.octets/operations/put.js +150 -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 -7
- package/components/identity.bans/operations/transit.js +1 -5
- package/components/identity.bans/operations/transit.js.map +1 -1
- package/components/identity.bans/tsconfig.json +1 -0
- package/components/identity.bans/tsconfig.tsbuildinfo +1 -0
- package/components/identity.bans/types/index.d.ts +3 -0
- package/components/identity.bans/types/toa.d.ts +34 -0
- package/components/identity.basic/events/principal.js +6 -4
- package/components/identity.basic/manifest.toa.yaml +206 -27
- package/components/identity.basic/operations/add.d.ts +3 -0
- package/components/identity.basic/operations/add.js +13 -0
- package/components/identity.basic/operations/add.js.map +1 -0
- package/components/identity.basic/operations/authenticate.d.ts +2 -2
- package/components/identity.basic/operations/authenticate.js +19 -16
- package/components/identity.basic/operations/authenticate.js.map +1 -1
- package/components/identity.basic/operations/check.d.ts +7 -0
- package/components/identity.basic/operations/check.js +12 -0
- package/components/identity.basic/operations/check.js.map +1 -0
- package/components/identity.basic/operations/delete.d.ts +7 -0
- package/components/identity.basic/operations/delete.js +7 -0
- package/components/identity.basic/operations/delete.js.map +1 -0
- package/components/identity.basic/operations/incept.d.ts +2 -2
- package/components/identity.basic/operations/incept.js +16 -14
- package/components/identity.basic/operations/incept.js.map +1 -1
- package/components/identity.basic/operations/info.d.ts +10 -0
- package/components/identity.basic/operations/info.js +7 -0
- package/components/identity.basic/operations/info.js.map +1 -0
- package/components/identity.basic/operations/lib/credentials.d.ts +5 -0
- package/components/identity.basic/operations/lib/credentials.js +12 -0
- package/components/identity.basic/operations/lib/credentials.js.map +1 -0
- package/components/identity.basic/operations/transit.d.ts +5 -2
- package/components/identity.basic/operations/transit.js +42 -20
- package/components/identity.basic/operations/transit.js.map +1 -1
- package/components/identity.basic/source/add.ts +15 -0
- package/components/identity.basic/source/authenticate.ts +21 -11
- package/components/identity.basic/source/check.ts +21 -0
- package/components/identity.basic/source/delete.ts +15 -0
- package/components/identity.basic/source/incept.ts +18 -11
- package/components/identity.basic/source/info.ts +19 -0
- package/components/identity.basic/source/lib/credentials.test.ts +18 -0
- package/components/identity.basic/source/lib/credentials.ts +13 -0
- package/components/identity.basic/source/transit.ts +48 -17
- package/components/identity.basic/tsconfig.json +1 -0
- package/components/identity.basic/tsconfig.tsbuildinfo +1 -0
- package/components/identity.basic/types/index.d.ts +21 -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.d.ts +27 -0
- package/components/identity.clients/operations/describe.js +44 -0
- package/components/identity.clients/operations/describe.js.map +1 -0
- package/components/identity.clients/operations/lib/Context.d.ts +29 -0
- package/components/identity.clients/operations/lib/Context.js +2 -0
- package/components/identity.clients/operations/lib/Context.js.map +1 -0
- package/components/identity.clients/operations/lib/Entity.d.ts +29 -0
- package/components/identity.clients/operations/lib/Entity.js +2 -0
- package/components/identity.clients/operations/lib/Entity.js.map +1 -0
- package/components/identity.clients/operations/lib/canonical.d.ts +11 -0
- package/components/identity.clients/operations/lib/canonical.js +24 -0
- package/components/identity.clients/operations/lib/canonical.js.map +1 -0
- package/components/identity.clients/operations/lib/cimd.d.ts +8 -0
- package/components/identity.clients/operations/lib/cimd.js +86 -0
- package/components/identity.clients/operations/lib/cimd.js.map +1 -0
- package/components/identity.clients/operations/lib/errors.d.ts +7 -0
- package/components/identity.clients/operations/lib/errors.js +5 -0
- package/components/identity.clients/operations/lib/errors.js.map +1 -0
- package/components/identity.clients/operations/lib/index.d.ts +6 -0
- package/components/identity.clients/operations/lib/index.js +7 -0
- package/components/identity.clients/operations/lib/index.js.map +1 -0
- package/components/identity.clients/operations/lib/redirect.d.ts +10 -0
- package/components/identity.clients/operations/lib/redirect.js +32 -0
- package/components/identity.clients/operations/lib/redirect.js.map +1 -0
- package/components/identity.clients/operations/register.d.ts +37 -0
- package/components/identity.clients/operations/register.js +84 -0
- package/components/identity.clients/operations/register.js.map +1 -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/manifest.toa.yaml +78 -0
- package/components/identity.credentials/operations/list.d.ts +52 -0
- package/components/identity.credentials/operations/list.js +28 -0
- package/components/identity.credentials/operations/list.js.map +1 -0
- package/components/identity.credentials/source/list.test.ts +51 -0
- package/components/identity.credentials/source/list.ts +88 -0
- package/components/identity.credentials/tsconfig.json +8 -0
- package/components/identity.credentials/tsconfig.tsbuildinfo +1 -0
- package/components/identity.credentials/types/index.d.ts +3 -0
- package/components/identity.credentials/types/toa.d.ts +30 -0
- package/components/identity.federation/events/principal.js +7 -8
- package/components/identity.federation/manifest.toa.yaml +248 -46
- package/components/identity.federation/operations/authenticate.d.ts +16 -3
- package/components/identity.federation/operations/authenticate.js +24 -19
- package/components/identity.federation/operations/authenticate.js.map +1 -1
- package/components/identity.federation/operations/create.d.ts +8 -0
- package/components/identity.federation/operations/create.js +29 -0
- package/components/identity.federation/operations/create.js.map +1 -0
- package/components/identity.federation/operations/decode.d.ts +3 -0
- package/components/identity.federation/operations/decode.js +9 -0
- package/components/identity.federation/operations/decode.js.map +1 -0
- package/components/identity.federation/operations/delete.d.ts +8 -0
- package/components/identity.federation/operations/delete.js +7 -0
- package/components/identity.federation/operations/delete.js.map +1 -0
- package/components/identity.federation/operations/incept.d.ts +6 -6
- package/components/identity.federation/operations/incept.js +4 -12
- package/components/identity.federation/operations/incept.js.map +1 -1
- package/components/identity.federation/operations/lib/Configuration.d.ts +39 -0
- package/components/identity.federation/operations/lib/Configuration.js +2 -0
- package/components/identity.federation/operations/lib/Configuration.js.map +1 -0
- package/components/identity.federation/operations/lib/Ctx.d.ts +8 -0
- package/components/identity.federation/operations/lib/Ctx.js +2 -0
- package/components/identity.federation/operations/lib/Ctx.js.map +1 -0
- package/components/identity.federation/operations/lib/Payload.d.ts +5 -0
- package/components/identity.federation/operations/lib/Payload.js +2 -0
- package/components/identity.federation/operations/lib/Payload.js.map +1 -0
- package/components/identity.federation/operations/lib/decode.d.ts +3 -0
- package/components/identity.federation/operations/lib/decode.js +36 -0
- package/components/identity.federation/operations/lib/decode.js.map +1 -0
- package/components/identity.federation/operations/lib/discovery.d.ts +5 -0
- package/components/identity.federation/operations/lib/discovery.js +34 -0
- package/components/identity.federation/operations/lib/discovery.js.map +1 -0
- package/components/identity.federation/operations/lib/errors.d.ts +77 -0
- package/components/identity.federation/operations/lib/errors.js +45 -0
- package/components/identity.federation/operations/lib/errors.js.map +1 -0
- package/components/identity.federation/operations/lib/exchange.d.ts +3 -0
- package/components/identity.federation/operations/lib/exchange.js +86 -0
- package/components/identity.federation/operations/lib/exchange.js.map +1 -0
- package/components/identity.federation/operations/lib/index.d.ts +4 -0
- package/components/identity.federation/operations/lib/index.js +4 -0
- package/components/identity.federation/operations/lib/index.js.map +1 -0
- package/components/identity.federation/operations/lib/jose.d.ts +1 -0
- package/components/identity.federation/operations/lib/jose.js +2 -0
- package/components/identity.federation/operations/lib/jose.js.map +1 -0
- package/components/identity.federation/operations/lib/resolve.d.ts +3 -0
- package/components/identity.federation/operations/lib/resolve.js +13 -0
- package/components/identity.federation/operations/lib/resolve.js.map +1 -0
- package/components/identity.federation/operations/list.d.ts +7 -0
- package/components/identity.federation/operations/list.js +12 -0
- package/components/identity.federation/operations/list.js.map +1 -0
- package/components/identity.federation/operations/types/Scheme.d.ts +1 -0
- package/components/identity.federation/operations/types/Scheme.js +2 -0
- package/components/identity.federation/operations/types/Scheme.js.map +1 -0
- package/components/identity.federation/operations/types/configuration.d.ts +22 -0
- package/components/identity.federation/operations/types/configuration.js +2 -0
- package/components/identity.federation/operations/types/configuration.js.map +1 -0
- package/components/identity.federation/operations/types/context.d.ts +36 -0
- package/components/identity.federation/operations/types/context.js +2 -0
- package/components/identity.federation/operations/types/context.js.map +1 -0
- package/components/identity.federation/operations/types/entity.d.ts +9 -0
- package/components/identity.federation/operations/types/entity.js +2 -0
- package/components/identity.federation/operations/types/entity.js.map +1 -0
- package/components/identity.federation/operations/types/index.d.ts +4 -0
- package/components/identity.federation/operations/types/index.js +5 -0
- package/components/identity.federation/operations/types/index.js.map +1 -0
- package/components/identity.federation/source/authenticate.ts +43 -22
- package/components/identity.federation/source/create.ts +45 -0
- package/components/identity.federation/source/decode.ts +11 -0
- package/components/identity.federation/source/delete.ts +16 -0
- package/components/identity.federation/source/incept.ts +9 -17
- 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 +47 -0
- package/components/identity.federation/source/lib/discovery.test.ts +50 -0
- package/components/identity.federation/source/lib/discovery.ts +49 -0
- package/components/identity.federation/source/lib/errors.ts +54 -0
- package/components/identity.federation/source/lib/exchange.ts +120 -0
- package/components/identity.federation/source/lib/index.ts +4 -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/resolve.ts +17 -0
- package/components/identity.federation/source/list.test.ts +25 -0
- package/components/identity.federation/source/list.ts +18 -0
- package/components/identity.federation/source/types/Scheme.ts +1 -0
- package/components/identity.federation/source/types/configuration.ts +24 -0
- package/components/identity.federation/source/types/context.ts +39 -0
- package/components/identity.federation/source/types/entity.ts +9 -0
- package/components/identity.federation/source/types/index.ts +4 -0
- package/components/identity.federation/tsconfig.json +3 -4
- package/components/identity.federation/tsconfig.tsbuildinfo +1 -0
- 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.d.ts +35 -0
- package/components/identity.grants/operations/authorize.js +54 -0
- package/components/identity.grants/operations/authorize.js.map +1 -0
- package/components/identity.grants/operations/exchange.d.ts +37 -0
- package/components/identity.grants/operations/exchange.js +89 -0
- package/components/identity.grants/operations/exchange.js.map +1 -0
- package/components/identity.grants/operations/lib/code.d.ts +15 -0
- package/components/identity.grants/operations/lib/code.js +30 -0
- package/components/identity.grants/operations/lib/code.js.map +1 -0
- package/components/identity.grants/operations/lib/identify.d.ts +6 -0
- package/components/identity.grants/operations/lib/identify.js +15 -0
- package/components/identity.grants/operations/lib/identify.js.map +1 -0
- package/components/identity.grants/operations/lib/index.d.ts +3 -0
- package/components/identity.grants/operations/lib/index.js +3 -0
- package/components/identity.grants/operations/lib/index.js.map +1 -0
- package/components/identity.grants/operations/list.d.ts +13 -0
- package/components/identity.grants/operations/list.js +18 -0
- package/components/identity.grants/operations/list.js.map +1 -0
- package/components/identity.grants/operations/revoke.d.ts +18 -0
- package/components/identity.grants/operations/revoke.js +25 -0
- package/components/identity.grants/operations/revoke.js.map +1 -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 +84 -0
- package/components/identity.keys/operations/create.d.ts +22 -0
- package/components/identity.keys/operations/create.js +12 -0
- package/components/identity.keys/operations/create.js.map +1 -0
- package/components/identity.keys/operations/disable.d.ts +5 -0
- package/components/identity.keys/operations/disable.js +5 -0
- package/components/identity.keys/operations/disable.js.map +1 -0
- package/components/identity.keys/operations/revoke.d.ts +15 -0
- package/components/identity.keys/operations/revoke.js +12 -0
- package/components/identity.keys/operations/revoke.js.map +1 -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 +35 -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/tsconfig.tsbuildinfo +1 -0
- package/components/identity.keys/types/index.d.ts +3 -0
- package/components/identity.keys/types/toa.d.ts +47 -0
- package/components/identity.otp/manifest.toa.yaml +104 -0
- package/components/identity.otp/operations/authenticate.d.ts +12 -0
- package/components/identity.otp/operations/authenticate.js +44 -0
- package/components/identity.otp/operations/authenticate.js.map +1 -0
- package/components/identity.otp/operations/issue.d.ts +12 -0
- package/components/identity.otp/operations/issue.js +19 -0
- package/components/identity.otp/operations/issue.js.map +1 -0
- package/components/identity.otp/operations/lib/Context.d.ts +16 -0
- package/components/identity.otp/operations/lib/Context.js +2 -0
- package/components/identity.otp/operations/lib/Context.js.map +1 -0
- package/components/identity.otp/operations/lib/Entity.d.ts +6 -0
- package/components/identity.otp/operations/lib/Entity.js +2 -0
- package/components/identity.otp/operations/lib/Entity.js.map +1 -0
- package/components/identity.otp/operations/lib/index.d.ts +1 -0
- package/components/identity.otp/operations/lib/index.js +2 -0
- package/components/identity.otp/operations/lib/index.js.map +1 -0
- package/components/identity.otp/source/authenticate.ts +73 -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/tsconfig.tsbuildinfo +1 -0
- 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 +309 -0
- package/components/identity.passkeys/operations/authenticate.d.ts +16 -0
- package/components/identity.passkeys/operations/authenticate.js +32 -0
- package/components/identity.passkeys/operations/authenticate.js.map +1 -0
- package/components/identity.passkeys/operations/challenge.d.ts +35 -0
- package/components/identity.passkeys/operations/challenge.js +69 -0
- package/components/identity.passkeys/operations/challenge.js.map +1 -0
- package/components/identity.passkeys/operations/create.d.ts +19 -0
- package/components/identity.passkeys/operations/create.js +57 -0
- package/components/identity.passkeys/operations/create.js.map +1 -0
- package/components/identity.passkeys/operations/delete.d.ts +8 -0
- package/components/identity.passkeys/operations/delete.js +9 -0
- package/components/identity.passkeys/operations/delete.js.map +1 -0
- package/components/identity.passkeys/operations/lib/const.d.ts +1 -0
- package/components/identity.passkeys/operations/lib/const.js +2 -0
- package/components/identity.passkeys/operations/lib/const.js.map +1 -0
- package/components/identity.passkeys/operations/list.d.ts +7 -0
- package/components/identity.passkeys/operations/list.js +12 -0
- package/components/identity.passkeys/operations/list.js.map +1 -0
- package/components/identity.passkeys/operations/types/Configuration.d.ts +6 -0
- package/components/identity.passkeys/operations/types/Configuration.js +2 -0
- package/components/identity.passkeys/operations/types/Configuration.js.map +1 -0
- package/components/identity.passkeys/operations/types/Context.d.ts +16 -0
- package/components/identity.passkeys/operations/types/Context.js +2 -0
- package/components/identity.passkeys/operations/types/Context.js.map +1 -0
- package/components/identity.passkeys/operations/types/Passkey.d.ts +12 -0
- package/components/identity.passkeys/operations/types/Passkey.js +2 -0
- package/components/identity.passkeys/operations/types/Passkey.js.map +1 -0
- package/components/identity.passkeys/operations/types/index.d.ts +2 -0
- package/components/identity.passkeys/operations/types/index.js +2 -0
- package/components/identity.passkeys/operations/types/index.js.map +1 -0
- package/components/identity.passkeys/operations/use.d.ts +16 -0
- package/components/identity.passkeys/operations/use.js +56 -0
- package/components/identity.passkeys/operations/use.js.map +1 -0
- package/components/identity.passkeys/source/authenticate.ts +50 -0
- package/components/identity.passkeys/source/challenge.ts +115 -0
- package/components/identity.passkeys/source/create.ts +81 -0
- package/components/identity.passkeys/source/delete.ts +16 -0
- package/components/identity.passkeys/source/lib/const.ts +1 -0
- package/components/identity.passkeys/source/list.ts +18 -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 +79 -0
- package/components/identity.passkeys/tsconfig.json +10 -0
- package/components/identity.passkeys/tsconfig.tsbuildinfo +1 -0
- package/components/identity.passkeys/types/index.d.ts +3 -0
- package/components/identity.passkeys/types/toa.d.ts +120 -0
- package/components/identity.roles/manifest.toa.yaml +47 -10
- package/components/identity.roles/operations/grant.d.ts +1 -1
- package/components/identity.roles/operations/grant.js +10 -10
- package/components/identity.roles/operations/grant.js.map +1 -1
- package/components/identity.roles/operations/lib/Entity.js +1 -2
- package/components/identity.roles/operations/list.d.ts +1 -1
- package/components/identity.roles/operations/list.js +1 -5
- package/components/identity.roles/operations/list.js.map +1 -1
- package/components/identity.roles/operations/principal.d.ts +3 -3
- package/components/identity.roles/operations/principal.js +1 -5
- package/components/identity.roles/operations/principal.js.map +1 -1
- package/components/identity.roles/receivers/identity.federation.principal.js +4 -0
- package/components/identity.roles/source/grant.ts +11 -6
- package/components/identity.roles/source/list.ts +1 -1
- package/components/identity.roles/source/principal.ts +3 -3
- package/components/identity.roles/tsconfig.json +1 -0
- package/components/identity.roles/tsconfig.tsbuildinfo +1 -0
- 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 +219 -28
- package/components/identity.tokens/operations/authenticate.d.ts +3 -2
- package/components/identity.tokens/operations/authenticate.js +28 -19
- package/components/identity.tokens/operations/authenticate.js.map +1 -1
- package/components/identity.tokens/operations/decrypt.d.ts +16 -3
- package/components/identity.tokens/operations/decrypt.js +131 -24
- package/components/identity.tokens/operations/decrypt.js.map +1 -1
- package/components/identity.tokens/operations/encrypt.d.ts +4 -3
- package/components/identity.tokens/operations/encrypt.js +33 -18
- package/components/identity.tokens/operations/encrypt.js.map +1 -1
- package/components/identity.tokens/operations/issue.d.ts +25 -0
- package/components/identity.tokens/operations/issue.js +57 -0
- package/components/identity.tokens/operations/issue.js.map +1 -0
- package/components/identity.tokens/operations/lib/form.d.ts +8 -0
- package/components/identity.tokens/operations/lib/form.js +24 -0
- package/components/identity.tokens/operations/lib/form.js.map +1 -0
- package/components/identity.tokens/operations/lib/index.d.ts +4 -0
- package/components/identity.tokens/operations/lib/index.js +4 -0
- package/components/identity.tokens/operations/lib/index.js.map +1 -0
- package/components/identity.tokens/operations/lib/jose.d.ts +1 -0
- package/components/identity.tokens/operations/lib/jose.js +2 -0
- package/components/identity.tokens/operations/lib/jose.js.map +1 -0
- package/components/identity.tokens/operations/lib/key.d.ts +1 -0
- package/components/identity.tokens/operations/lib/key.js +7 -0
- package/components/identity.tokens/operations/lib/key.js.map +1 -0
- package/components/identity.tokens/operations/lib/pad.d.ts +1 -0
- package/components/identity.tokens/operations/lib/pad.js +2 -0
- package/components/identity.tokens/operations/lib/pad.js.map +1 -0
- package/components/identity.tokens/operations/revoke.d.ts +2 -2
- package/components/identity.tokens/operations/revoke.js +1 -5
- package/components/identity.tokens/operations/revoke.js.map +1 -1
- 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.test.ts +61 -18
- package/components/identity.tokens/source/authenticate.ts +33 -16
- package/components/identity.tokens/source/decrypt.test.ts +140 -18
- package/components/identity.tokens/source/decrypt.ts +177 -21
- package/components/identity.tokens/source/encrypt.test.ts +102 -16
- package/components/identity.tokens/source/encrypt.ts +46 -16
- package/components/identity.tokens/source/issue.test.ts +71 -0
- package/components/identity.tokens/source/issue.ts +85 -0
- 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 +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/lib/paseto.test.ts +51 -0
- package/components/identity.tokens/source/revoke.ts +2 -2
- package/components/identity.tokens/tsconfig.json +1 -0
- package/components/identity.tokens/tsconfig.tsbuildinfo +1 -0
- package/components/identity.tokens/types/index.d.ts +61 -0
- package/components/identity.tokens/types/toa.d.ts +113 -0
- package/{components/context.toa.yaml → context.toa.yaml} +6 -2
- package/cucumber.mjs +4 -0
- package/documentation/access.md +78 -27
- package/documentation/authorities.md +9 -11
- package/documentation/cache.md +10 -1
- package/documentation/components.md +200 -62
- package/documentation/consent.md +101 -0
- package/documentation/credentials.md +88 -0
- package/documentation/dev.md +30 -0
- package/documentation/flow.md +44 -0
- package/documentation/identity.md +165 -17
- package/documentation/introspection.md +82 -0
- package/documentation/io.md +109 -4
- package/documentation/ip.md +24 -0
- package/documentation/map.md +115 -0
- package/documentation/notes/desync.jpg +0 -0
- package/documentation/notes/peers.md +59 -0
- package/documentation/notes/throttling.md +122 -0
- package/documentation/oauth.md +179 -0
- package/documentation/octets.md +122 -69
- package/documentation/passkeys.md +11 -0
- package/documentation/protocol.md +39 -4
- package/documentation/query.md +43 -0
- package/documentation/tracing.md +70 -0
- package/documentation/tree.md +13 -0
- package/features/access.feature +123 -3
- package/features/auth.assert.feature +55 -0
- package/features/auth.bearer.feature +120 -0
- package/features/auth.claims.feature +171 -0
- package/features/auth.incept.feature +166 -0
- package/features/auth.input.feature +59 -0
- package/features/authorities.feature +41 -2
- package/features/authorities.federation.feature +21 -20
- package/features/authorities.tokens.feature +1 -2
- package/features/body.feature +27 -0
- package/features/cache.feature +143 -8
- package/features/configuration.feature +207 -0
- package/features/cors.feature +29 -8
- package/features/credentials.feature +106 -0
- package/features/dev.feature +87 -0
- package/features/dynamic.feature +82 -1
- package/features/errors.feature +17 -5
- package/features/etag.feature +223 -1
- package/features/flow.feature +148 -0
- package/features/identity.bans.feature +63 -0
- package/features/identity.basic.feature +231 -10
- package/features/identity.feature +158 -0
- package/features/identity.federation.feature +226 -35
- package/features/identity.otp.feature +142 -0
- package/features/identity.roles.feature +305 -4
- package/features/identity.tokens.custom.feature +430 -0
- package/features/identity.tokens.feature +4 -102
- package/features/interruptions.feature +19 -0
- package/features/introspection.feature +146 -0
- package/features/introspection.map.feature +108 -0
- package/features/io.feature +0 -1
- package/features/io.throttle.feature +165 -0
- package/features/map.feature +359 -0
- package/features/methods.feature +47 -0
- package/features/oauth.clients.feature +195 -0
- package/features/oauth.discovery.feature +165 -0
- package/features/oauth.grants.feature +286 -0
- package/features/octets.cloudinary.feature +232 -0
- package/features/octets.download.feature +192 -0
- package/features/octets.entries.feature +13 -61
- package/features/octets.feature +52 -70
- package/features/octets.head.feature +40 -0
- package/features/octets.location.feature +83 -0
- package/features/octets.meta.feature +63 -16
- package/features/octets.workflows.feature +333 -68
- package/features/passkeys.feature +66 -0
- package/features/probes.feature +8 -4
- package/features/query.feature +128 -0
- package/features/realtime.feature +34 -0
- package/features/require.feature +2 -2
- package/features/response.feature +30 -1
- package/features/routes.feature +85 -0
- package/features/server.feature +21 -0
- package/features/steps/.env.example +5 -0
- package/features/steps/Captures.ts +15 -1
- package/features/steps/Common.ts +31 -2
- package/features/steps/Components.ts +63 -6
- package/features/steps/Database.ts +19 -3
- package/features/steps/Gateway.ts +129 -23
- package/features/steps/HTTP.ts +36 -11
- package/features/steps/IDP.ts +337 -0
- package/features/steps/Identity.ts +54 -0
- package/features/steps/OTP.ts +42 -0
- package/features/steps/Parameters.ts +103 -4
- package/features/steps/Probe.ts +36 -0
- package/features/steps/Realtime.ts +154 -0
- package/features/steps/Workspace.ts +10 -6
- package/features/steps/components/audit/manifest.toa.yaml +20 -0
- package/features/steps/components/audit/operations/record.js +5 -0
- package/features/steps/components/echo/manifest.toa.yaml +49 -5
- package/features/steps/components/echo/operations/affect.js +1 -5
- package/features/steps/components/echo/operations/compute.js +1 -5
- package/features/steps/components/echo/operations/echo.js +3 -0
- package/features/steps/components/echo/operations/error.js +1 -5
- package/features/steps/components/echo/operations/identity.js +1 -5
- package/features/steps/components/echo/operations/parameters.js +3 -0
- package/features/steps/components/echo/operations/ping.js +3 -0
- package/features/steps/components/echo/operations/unwrap.js +3 -0
- package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
- package/features/steps/components/echo.beacon/operations/hello.js +3 -0
- package/features/steps/components/greeter/manifest.toa.yaml +0 -1
- package/features/steps/components/greeter/operations/greet.js +1 -5
- package/features/steps/components/notify/manifest.toa.yaml +20 -0
- package/features/steps/components/notify/operations/send.js +5 -0
- package/features/steps/components/octets.tester/manifest.toa.yaml +60 -6
- package/features/steps/components/octets.tester/operations/authority.js +3 -0
- package/features/steps/components/octets.tester/operations/bar.js +1 -4
- package/features/steps/components/octets.tester/operations/baz.js +2 -4
- package/features/steps/components/octets.tester/operations/concat.js +1 -3
- package/features/steps/components/octets.tester/operations/echo.js +2 -4
- package/features/steps/components/octets.tester/operations/err.js +1 -3
- package/features/steps/components/octets.tester/operations/foo.js +3 -5
- package/features/steps/components/octets.tester/operations/id.js +5 -0
- package/features/steps/components/octets.tester/operations/identity.js +5 -0
- package/features/steps/components/octets.tester/operations/redirect.js +15 -0
- package/features/steps/components/octets.tester/operations/yex.js +14 -0
- package/features/steps/components/octets.tester/operations/yield.js +11 -0
- package/features/steps/components/orders/manifest.toa.yaml +32 -0
- package/features/steps/components/orders/operations/create.js +5 -0
- package/features/steps/components/pots/manifest.toa.yaml +79 -14
- package/features/steps/components/pricing/manifest.toa.yaml +13 -0
- package/features/steps/components/pricing/operations/quote.js +3 -0
- package/features/steps/components/sequences/manifest.toa.yaml +3 -2
- package/features/steps/components/sequences/operations/numbers.js +1 -3
- package/features/steps/components/sequences/operations/tokens.js +2 -4
- package/features/steps/components/users/manifest.toa.yaml +21 -3
- package/features/steps/components/users/operations/create.js +11 -0
- package/features/steps/components/users.properties/manifest.toa.yaml +12 -3
- package/features/steps/map.ts +30 -0
- package/features/streams.feature +4 -0
- package/features/timestamps.feature +41 -0
- package/features/timing.feature +2 -22
- package/features/tracing.feature +123 -0
- package/package.json +33 -26
- package/readme.md +25 -1
- package/schemas/annotation.cos.yaml +94 -6
- package/schemas/directive.cos.yaml +7 -3
- package/schemas/io/throttle.cos.yaml +81 -0
- package/schemas/method.cos.yaml +21 -8
- package/schemas/node.cos.yaml +22 -5
- 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/schemas/query.cos.yaml +31 -17
- package/schemas/querystring.cos.yaml +19 -6
- package/schemas/range.cos.yaml +10 -2
- package/schemas/route.cos.yaml +6 -2
- package/source/Annotation.ts +51 -1
- package/source/Branch.test.ts +40 -0
- package/source/Branch.ts +39 -1
- package/source/Composition.ts +6 -12
- package/source/Context.ts +5 -2
- package/source/Directive.test.ts +111 -27
- package/source/Directive.ts +97 -20
- package/source/Endpoint.ts +118 -28
- package/source/Factory.ts +75 -28
- package/source/Gateway.ts +208 -18
- package/source/HTTP/Context.ts +79 -32
- package/source/HTTP/Probe.ts +112 -0
- package/source/HTTP/Server.ts +301 -66
- package/source/HTTP/Timing.ts +2 -13
- package/source/HTTP/address.test.ts +22 -0
- package/source/HTTP/address.ts +17 -0
- package/source/HTTP/exceptions.ts +38 -14
- package/source/HTTP/formats/form.ts +21 -0
- package/source/HTTP/formats/index.ts +24 -10
- package/source/HTTP/formats/json.ts +2 -4
- package/source/HTTP/formats/msgpack.ts +0 -1
- package/source/HTTP/formats/text.ts +2 -4
- package/source/HTTP/formats/yaml.test.ts +19 -0
- package/source/HTTP/formats/yaml.ts +25 -5
- package/source/HTTP/index.ts +6 -4
- package/source/HTTP/messages.test.ts +116 -19
- package/source/HTTP/messages.ts +158 -39
- package/source/HTTP/types.ts +39 -0
- package/source/Interception.ts +16 -2
- package/source/Introspection.ts +11 -0
- package/source/Mapping.ts +67 -24
- package/source/Query.test.ts +22 -5
- package/source/Query.ts +114 -22
- package/source/RTD/Context.ts +7 -4
- package/source/RTD/Directives.ts +27 -5
- package/source/RTD/Endpoint.ts +7 -4
- package/source/RTD/Match.ts +1 -1
- package/source/RTD/Method.ts +18 -2
- package/source/RTD/Node.ts +68 -26
- package/source/RTD/Route.ts +21 -11
- package/source/RTD/Tree.ts +49 -16
- package/source/RTD/expiration.test.ts +81 -0
- package/source/RTD/factory.ts +36 -8
- package/source/RTD/index.ts +8 -8
- package/source/RTD/segment.test.ts +13 -10
- package/source/RTD/segment.ts +2 -0
- package/source/RTD/syntax/index.ts +2 -2
- package/source/RTD/syntax/parse.test.ts +30 -28
- package/source/RTD/syntax/parse.ts +39 -26
- package/source/RTD/syntax/types.ts +9 -4
- package/source/Remotes.test.ts +34 -18
- package/source/Remotes.ts +15 -11
- package/source/Tenant.ts +52 -14
- package/source/const.ts +4 -0
- package/source/deployment.ts +47 -22
- package/source/directives/auth/Anonymous.ts +3 -3
- package/source/directives/auth/Anyone.ts +13 -0
- package/source/directives/auth/Assert.ts +38 -0
- package/source/directives/auth/Authorization.test.ts +24 -0
- package/source/directives/auth/Authorization.ts +207 -49
- package/source/directives/auth/Delegate.ts +10 -6
- package/source/directives/auth/Echo.ts +16 -6
- package/source/directives/auth/Federation.ts +84 -0
- package/source/directives/auth/Id.ts +3 -3
- package/source/directives/auth/Incept.ts +87 -25
- package/source/directives/auth/Input.ts +71 -0
- package/source/directives/auth/Role.test.ts +34 -22
- package/source/directives/auth/Role.ts +10 -14
- package/source/directives/auth/Rule.ts +4 -7
- package/source/directives/auth/Scheme.ts +7 -7
- package/source/directives/auth/create.ts +11 -0
- package/source/directives/auth/index.ts +1 -1
- package/source/directives/auth/schemes.test.ts +18 -0
- package/source/directives/auth/schemes.ts +36 -6
- package/source/directives/auth/split.ts +3 -3
- package/source/directives/auth/types.ts +23 -12
- package/source/directives/cache/Cache.ts +33 -11
- package/source/directives/cache/Control.ts +17 -20
- package/source/directives/cache/Exact.ts +1 -1
- package/source/directives/cache/index.ts +1 -1
- package/source/directives/cache/types.ts +1 -1
- package/source/directives/cors/CORS.ts +37 -20
- package/source/directives/cors/index.ts +1 -1
- package/source/directives/dev/Development.ts +19 -12
- package/source/directives/dev/Faulty.ts +26 -0
- package/source/directives/dev/Sleep.ts +55 -0
- package/source/directives/dev/Stub.ts +2 -2
- package/source/directives/dev/Throw.ts +2 -2
- package/source/directives/dev/index.ts +1 -1
- package/source/directives/dev/types.ts +2 -2
- package/source/directives/flow/Compose.ts +92 -0
- package/source/directives/flow/Fetch.ts +86 -0
- package/source/directives/flow/Flow.ts +42 -0
- package/source/directives/flow/index.ts +3 -0
- package/source/directives/flow/types.ts +7 -0
- package/source/directives/index.ts +14 -12
- package/source/directives/io/Directive.ts +9 -3
- package/source/directives/io/IO.ts +50 -13
- package/source/directives/io/Input.ts +22 -15
- package/source/directives/io/Output.ts +27 -15
- package/source/directives/io/Status.test.ts +84 -0
- package/source/directives/io/Status.ts +46 -0
- package/source/directives/io/Throttle.ts +31 -0
- package/source/directives/io/index.ts +1 -1
- package/source/directives/io/lib/throttle/Configuration.test.ts +63 -0
- package/source/directives/io/lib/throttle/Configuration.ts +63 -0
- package/source/directives/io/lib/throttle/Keys.ts +48 -0
- package/source/directives/io/lib/throttle/Quotas.test.ts +395 -0
- package/source/directives/io/lib/throttle/Quotas.ts +196 -0
- package/source/directives/io/lib/throttle/Sync.test.ts +159 -0
- package/source/directives/io/lib/throttle/Sync.ts +96 -0
- package/source/directives/io/lib/throttle/Warning.test.ts +32 -0
- package/source/directives/io/lib/throttle/Warning.ts +30 -0
- package/source/directives/io/lib/throttle/components/Component.ts +7 -0
- package/source/directives/io/lib/throttle/components/IP.ts +31 -0
- package/source/directives/io/lib/throttle/components/Identity.ts +19 -0
- package/source/directives/io/lib/throttle/components/Path.ts +8 -0
- package/source/directives/io/lib/throttle/components/Route.ts +19 -0
- package/source/directives/io/lib/throttle/components/Segment.ts +19 -0
- package/source/directives/io/lib/throttle/components/index.ts +19 -0
- package/source/directives/io/lib/throttle/conditions/Condition.ts +5 -0
- package/source/directives/io/lib/throttle/conditions/Status.ts +17 -0
- package/source/directives/io/lib/throttle/conditions/index.ts +11 -0
- package/source/directives/io/lib/throttle/index.ts +4 -0
- package/source/directives/io/schemas.test.ts +34 -0
- package/source/directives/io/schemas.ts +9 -5
- package/source/directives/map/Authority.ts +15 -0
- package/source/directives/map/Buffer.ts +15 -0
- package/source/directives/map/Claims.ts +58 -0
- package/source/directives/map/Directive.ts +4 -0
- package/source/directives/map/Headers.ts +45 -0
- package/source/directives/map/Language.ts +42 -0
- package/source/directives/map/Languages.ts +11 -0
- package/source/directives/map/Map.ts +63 -0
- package/source/directives/map/Mapping.ts +19 -0
- package/source/directives/{vary → map}/Properties.ts +2 -4
- package/source/directives/map/Segments.ts +33 -0
- package/source/directives/map/index.ts +3 -0
- package/source/directives/oauth/Discovery.ts +76 -0
- package/source/directives/oauth/documents.ts +113 -0
- package/source/directives/oauth/index.ts +3 -0
- package/source/directives/octets/Context.ts +5 -4
- package/source/directives/octets/Delete.ts +31 -28
- package/source/directives/octets/Directive.ts +3 -3
- package/source/directives/octets/Get.ts +96 -0
- package/source/directives/octets/Octets.ts +20 -22
- package/source/directives/octets/Put.ts +141 -0
- package/source/directives/octets/Workflow.ts +18 -12
- package/source/directives/octets/bytes.test.ts +33 -0
- package/source/directives/octets/bytes.ts +18 -0
- package/source/directives/octets/index.ts +1 -1
- package/source/directives/octets/schemas.test.ts +10 -5
- package/source/directives/octets/schemas.ts +8 -12
- package/source/directives/octets/types.ts +3 -1
- package/source/directives/octets/workflows/Execution.ts +67 -11
- package/source/directives/octets/workflows/Workflow.ts +21 -10
- package/source/directives/octets/workflows/index.ts +1 -1
- package/source/directives/require/Directive.ts +1 -1
- package/source/directives/require/Headers.ts +3 -3
- package/source/directives/require/Require.ts +4 -4
- package/source/directives/require/index.ts +1 -1
- package/source/exceptions.ts +18 -6
- package/source/index.ts +11 -5
- package/source/io.ts +1 -1
- package/source/manifest.test.ts +12 -10
- package/source/manifest.ts +13 -14
- package/source/octets.d.ts +17 -0
- package/source/redact.test.ts +27 -0
- package/source/redact.ts +21 -0
- package/source/root.ts +19 -4
- package/source/schemas.test.ts +17 -0
- package/source/schemas.ts +5 -5
- package/source/userland.ts +47 -0
- package/transpiled/Annotation.d.ts +39 -1
- package/transpiled/Annotation.js +1 -2
- 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 +14 -6
- package/transpiled/Directive.js +71 -23
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Endpoint.d.ts +11 -7
- package/transpiled/Endpoint.js +84 -52
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.d.ts +6 -6
- package/transpiled/Factory.js +69 -62
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +35 -4
- package/transpiled/Gateway.js +159 -46
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +13 -12
- package/transpiled/HTTP/Context.js +61 -32
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Probe.d.ts +36 -0
- package/transpiled/HTTP/Probe.js +90 -0
- package/transpiled/HTTP/Probe.js.map +1 -0
- package/transpiled/HTTP/Server.d.ts +26 -9
- package/transpiled/HTTP/Server.js +235 -93
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/Timing.d.ts +1 -4
- package/transpiled/HTTP/Timing.js +6 -18
- 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 +21 -9
- package/transpiled/HTTP/exceptions.js +40 -36
- 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 +23 -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 +19 -4
- package/transpiled/HTTP/messages.js +112 -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 +9 -0
- package/transpiled/Introspection.js +2 -0
- package/transpiled/Introspection.js.map +1 -0
- package/transpiled/Mapping.d.ts +14 -5
- package/transpiled/Mapping.js +48 -24
- package/transpiled/Mapping.js.map +1 -1
- package/transpiled/Query.d.ts +14 -4
- package/transpiled/Query.js +81 -45
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Context.d.ts +6 -4
- package/transpiled/RTD/Context.js +1 -2
- package/transpiled/RTD/Directives.d.ts +23 -5
- package/transpiled/RTD/Directives.js +1 -2
- package/transpiled/RTD/Endpoint.d.ts +5 -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 +6 -2
- package/transpiled/RTD/Method.js +12 -5
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +16 -5
- package/transpiled/RTD/Node.js +47 -22
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Route.d.ts +7 -6
- package/transpiled/RTD/Route.js +11 -9
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/Tree.d.ts +12 -5
- package/transpiled/RTD/Tree.js +37 -12
- package/transpiled/RTD/Tree.js.map +1 -1
- package/transpiled/RTD/factory.d.ts +4 -3
- package/transpiled/RTD/factory.js +31 -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 +1 -0
- package/transpiled/RTD/segment.js +4 -7
- package/transpiled/RTD/segment.js.map +1 -1
- package/transpiled/RTD/syntax/index.d.ts +2 -2
- package/transpiled/RTD/syntax/index.js +2 -18
- package/transpiled/RTD/syntax/index.js.map +1 -1
- package/transpiled/RTD/syntax/parse.d.ts +1 -1
- package/transpiled/RTD/syntax/parse.js +38 -54
- package/transpiled/RTD/syntax/parse.js.map +1 -1
- package/transpiled/RTD/syntax/types.d.ts +8 -3
- package/transpiled/RTD/syntax/types.js +1 -4
- package/transpiled/RTD/syntax/types.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/const.d.ts +3 -0
- package/transpiled/const.js +4 -0
- package/transpiled/const.js.map +1 -0
- package/transpiled/deployment.d.ts +1 -1
- package/transpiled/deployment.js +42 -54
- package/transpiled/deployment.js.map +1 -1
- package/transpiled/directives/auth/Anonymous.d.ts +2 -2
- package/transpiled/directives/auth/Anonymous.js +3 -7
- package/transpiled/directives/auth/Anonymous.js.map +1 -1
- package/transpiled/directives/auth/Anyone.d.ts +6 -0
- package/transpiled/directives/auth/Anyone.js +10 -0
- package/transpiled/directives/auth/Anyone.js.map +1 -0
- package/transpiled/directives/auth/Assert.d.ts +7 -0
- package/transpiled/directives/auth/Assert.js +29 -0
- package/transpiled/directives/auth/Assert.js.map +1 -0
- package/transpiled/directives/auth/Authorization.d.ts +18 -8
- package/transpiled/directives/auth/Authorization.js +171 -85
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Delegate.d.ts +5 -4
- package/transpiled/directives/auth/Delegate.js +10 -10
- package/transpiled/directives/auth/Delegate.js.map +1 -1
- package/transpiled/directives/auth/Echo.d.ts +4 -4
- package/transpiled/directives/auth/Echo.js +12 -9
- package/transpiled/directives/auth/Echo.js.map +1 -1
- package/transpiled/directives/auth/Federation.d.ts +16 -0
- package/transpiled/directives/auth/Federation.js +50 -0
- package/transpiled/directives/auth/Federation.js.map +1 -0
- package/transpiled/directives/auth/Id.d.ts +3 -3
- package/transpiled/directives/auth/Id.js +1 -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 +66 -50
- package/transpiled/directives/auth/Incept.js.map +1 -1
- package/transpiled/directives/auth/Input.d.ts +13 -0
- package/transpiled/directives/auth/Input.js +45 -0
- package/transpiled/directives/auth/Input.js.map +1 -0
- package/transpiled/directives/auth/Role.d.ts +3 -3
- package/transpiled/directives/auth/Role.js +8 -16
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/auth/Rule.d.ts +3 -5
- package/transpiled/directives/auth/Rule.js +3 -7
- package/transpiled/directives/auth/Rule.js.map +1 -1
- package/transpiled/directives/auth/Scheme.d.ts +2 -2
- package/transpiled/directives/auth/Scheme.js +7 -34
- 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 +19 -12
- package/transpiled/directives/auth/types.js +1 -2
- package/transpiled/directives/cache/Cache.d.ts +5 -5
- package/transpiled/directives/cache/Cache.js +27 -13
- package/transpiled/directives/cache/Cache.js.map +1 -1
- package/transpiled/directives/cache/Control.d.ts +3 -3
- package/transpiled/directives/cache/Control.js +15 -21
- 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/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/cors/CORS.d.ts +10 -3
- package/transpiled/directives/cors/CORS.js +31 -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 +19 -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 +67 -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/index.d.ts +2 -2
- package/transpiled/directives/index.js +12 -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 +18 -5
- package/transpiled/directives/io/IO.js +40 -17
- package/transpiled/directives/io/IO.js.map +1 -1
- package/transpiled/directives/io/Input.d.ts +4 -4
- package/transpiled/directives/io/Input.js +16 -37
- package/transpiled/directives/io/Input.js.map +1 -1
- package/transpiled/directives/io/Message.js +1 -2
- package/transpiled/directives/io/Output.d.ts +5 -3
- package/transpiled/directives/io/Output.js +20 -38
- 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 +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 +25 -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 +141 -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 +37 -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 +7 -0
- package/transpiled/directives/map/Headers.js +33 -0
- package/transpiled/directives/map/Headers.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 +10 -0
- package/transpiled/directives/map/Languages.js.map +1 -0
- package/transpiled/directives/map/Map.d.ts +13 -0
- package/transpiled/directives/map/Map.js +44 -0
- package/transpiled/directives/map/Map.js.map +1 -0
- package/transpiled/directives/map/Mapping.d.ts +13 -0
- package/transpiled/directives/map/Mapping.js +9 -0
- package/transpiled/directives/map/Mapping.js.map +1 -0
- package/transpiled/directives/{vary → map}/Properties.d.ts +2 -2
- package/transpiled/directives/map/Properties.js +10 -0
- package/transpiled/directives/map/Properties.js.map +1 -0
- package/transpiled/directives/map/Segments.d.ts +6 -0
- package/transpiled/directives/map/Segments.js +23 -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/oauth/Discovery.d.ts +23 -0
- package/transpiled/directives/oauth/Discovery.js +58 -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 +6 -6
- package/transpiled/directives/octets/Delete.js +23 -47
- package/transpiled/directives/octets/Delete.js.map +1 -1
- package/transpiled/directives/octets/Directive.d.ts +3 -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 +5 -5
- package/transpiled/directives/octets/Octets.js +19 -24
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/octets/{Store.d.ts → Put.d.ts} +14 -8
- package/transpiled/directives/octets/Put.js +74 -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 +9 -4
- package/transpiled/directives/octets/workflows/Execution.js +46 -13
- 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 +1 -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 +1 -1
- package/transpiled/directives/require/Directive.js +1 -2
- package/transpiled/directives/require/Headers.d.ts +2 -2
- package/transpiled/directives/require/Headers.js +3 -7
- package/transpiled/directives/require/Headers.js.map +1 -1
- package/transpiled/directives/require/Require.d.ts +3 -3
- package/transpiled/directives/require/Require.js +6 -13
- 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 +16 -34
- package/transpiled/exceptions.js.map +1 -1
- package/transpiled/index.d.ts +7 -5
- package/transpiled/index.js +4 -11
- package/transpiled/index.js.map +1 -1
- package/transpiled/io.d.ts +1 -1
- package/transpiled/io.js +1 -2
- package/transpiled/manifest.d.ts +1 -1
- package/transpiled/manifest.js +17 -48
- package/transpiled/manifest.js.map +1 -1
- package/transpiled/redact.d.ts +5 -0
- package/transpiled/redact.js +17 -0
- package/transpiled/redact.js.map +1 -0
- package/transpiled/root.d.ts +1 -1
- package/transpiled/root.js +21 -10
- package/transpiled/root.js.map +1 -1
- package/transpiled/schemas.d.ts +3 -3
- package/transpiled/schemas.js +7 -13
- 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.json +2 -1
- package/tsconfig.tsbuildinfo +1 -0
- package/components/identity.bans/operations/tsconfig.tsbuildinfo +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/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 -20
- 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/schemas.d.ts +0 -63
- package/components/identity.federation/operations/schemas.js +0 -9
- package/components/identity.federation/operations/schemas.js.map +0 -1
- package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
- package/components/identity.federation/operations/types.d.ts +0 -56
- package/components/identity.federation/operations/types.js +0 -3
- package/components/identity.federation/operations/types.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 -171
- package/components/identity.federation/source/schemas.ts +0 -65
- package/components/identity.federation/source/types.ts +0 -62
- package/components/identity.roles/operations/tsconfig.tsbuildinfo +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/types.ts +0 -55
- package/components/octets.storage/manifest.toa.yaml +0 -21
- 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/vary.md +0 -69
- package/features/steps/IdP.ts +0 -154
- package/features/steps/components/octets.tester/operations/diversify.js +0 -14
- package/features/vary.feature +0 -252
- 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/source/directives/octets/Fetch.ts +0 -100
- package/source/directives/octets/List.ts +0 -72
- package/source/directives/octets/Store.ts +0 -126
- package/source/directives/vary/Directive.ts +0 -7
- package/source/directives/vary/Embed.ts +0 -68
- 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/index.test.ts +0 -9
- 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.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.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/tsconfig.tsbuildinfo +0 -1
|
@@ -5,6 +5,9 @@ configured in the same
|
|
|
5
5
|
way as if they were a part of the Context. Resources exposed by the components
|
|
6
6
|
are [isolated](tree.md#directives).
|
|
7
7
|
|
|
8
|
+
See [Persistent credentials](credentials.md) for the centralized Basic, federation, and passkey
|
|
9
|
+
management API.
|
|
10
|
+
|
|
8
11
|
## Basic credentials
|
|
9
12
|
|
|
10
13
|
The `identity.basic` component stores basic credentials.
|
|
@@ -20,7 +23,7 @@ and pepper.
|
|
|
20
23
|
configuration:
|
|
21
24
|
identity.basic:
|
|
22
25
|
rounds: 10 # salt rounds
|
|
23
|
-
pepper:
|
|
26
|
+
pepper: $IDENTITY_BASIC_PEPPER # hashing pepper, a secret
|
|
24
27
|
```
|
|
25
28
|
|
|
26
29
|
### Credentials constraints
|
|
@@ -54,12 +57,14 @@ This issue is addressed by using the `principal` key in the configuration:
|
|
|
54
57
|
|
|
55
58
|
configuration:
|
|
56
59
|
identity.basic:
|
|
57
|
-
principal:
|
|
60
|
+
principal:
|
|
61
|
+
authority: example
|
|
62
|
+
username: root
|
|
58
63
|
```
|
|
59
64
|
|
|
60
|
-
|
|
61
|
-
credentials are
|
|
62
|
-
|
|
65
|
+
`principal` names the authority and the `username` of the basic credentials. Once these
|
|
66
|
+
credentials are created in that authority, the associated Identity is assigned the `system` Role.
|
|
67
|
+
The same username in another authority is ordinary credentials.
|
|
63
68
|
|
|
64
69
|
Once created, the username of the principal cannot be modified.
|
|
65
70
|
|
|
@@ -74,6 +79,12 @@ username: string
|
|
|
74
79
|
password: string
|
|
75
80
|
```
|
|
76
81
|
|
|
82
|
+
Returns `201 Created` if the Identity is created,
|
|
83
|
+
or `422 Unprocessable Entity` with one of the error codes:
|
|
84
|
+
|
|
85
|
+
- `INVALID_USERNAME` - `username` does not match constraints
|
|
86
|
+
- `INVALID_PASSWORD` - `password` does not match constraints
|
|
87
|
+
|
|
77
88
|
Access is [anonymous](access.md#anonymous).
|
|
78
89
|
|
|
79
90
|
#### `/identity/basic/:id/`
|
|
@@ -89,6 +100,23 @@ password?: string
|
|
|
89
100
|
|
|
90
101
|
Access requires basic credentials of the modified Identity or `system:identity:basic` role.
|
|
91
102
|
|
|
103
|
+
<code>POST</code> Incept new basic credentials. Request body is as follows:
|
|
104
|
+
|
|
105
|
+
```yaml
|
|
106
|
+
username: string
|
|
107
|
+
password: string
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Identity should not have associated basic credentials. Access requires any credentials of the Identity.
|
|
111
|
+
|
|
112
|
+
#### `/identity/basic/usernames/:username/`
|
|
113
|
+
|
|
114
|
+
<code>GET</code> Check if the username is available.
|
|
115
|
+
|
|
116
|
+
`username` must be Base64 URL encoded.
|
|
117
|
+
|
|
118
|
+
Returns empty response with status `204` if the username is already taken or `404` if it is available.
|
|
119
|
+
|
|
92
120
|
## Identity federation (OpenID connect)
|
|
93
121
|
|
|
94
122
|
The `identity.federation` component manages OpenID Connect federated identities.
|
|
@@ -102,8 +130,10 @@ the [component manifest](../components/identity.federation/manifest.toa.yaml).
|
|
|
102
130
|
No federated tokens are accepted by default until at least one entry is added to the `trust`
|
|
103
131
|
configuration.
|
|
104
132
|
|
|
105
|
-
|
|
106
|
-
|
|
133
|
+
Issuer metadata is loaded from `<iss>/.well-known/openid-configuration`; signing keys are then
|
|
134
|
+
loaded from its `jwks_uri`. These requests, including Authorization Code token exchange, use the
|
|
135
|
+
built-in `context.fetch`, so they participate in standard HTTP telemetry and connection pooling.
|
|
136
|
+
JWKS resolvers are cached per fetch instance and issuer.
|
|
107
137
|
|
|
108
138
|
```yaml
|
|
109
139
|
# context.toa.yaml
|
|
@@ -116,15 +146,13 @@ configuration:
|
|
|
116
146
|
- https://github.com/tinovyatkin
|
|
117
147
|
- https://github.com/temich
|
|
118
148
|
|
|
119
|
-
-
|
|
120
|
-
|
|
121
|
-
HS256:
|
|
122
|
-
k1: <secret-to-be-used-for-hs256>
|
|
149
|
+
- iss: https://accounts.google.com
|
|
150
|
+
aud: <GOOGLE_CLIENT_ID>
|
|
123
151
|
```
|
|
124
152
|
|
|
125
|
-
##
|
|
153
|
+
## Local tokens
|
|
126
154
|
|
|
127
|
-
The `identity.tokens` component manages
|
|
155
|
+
The `identity.tokens` component manages local authentication tokens.
|
|
128
156
|
|
|
129
157
|
These tokens carry the information required to authenticate the Identity and authorize access.
|
|
130
158
|
|
|
@@ -143,21 +171,114 @@ authorization: Token ...
|
|
|
143
171
|
cache-control: no-store
|
|
144
172
|
```
|
|
145
173
|
|
|
174
|
+
### Custom tokens
|
|
175
|
+
|
|
176
|
+
Custom tokens can be issued with a specific set of permissions and scopes for the own Identity or by
|
|
177
|
+
an Identity with the `system:identity:tokens` role.
|
|
178
|
+
|
|
179
|
+
Tokens are issued with custom secret keys and are not subject to [token rotation](#token-rotation).
|
|
180
|
+
To invalidate a custom token, its secret key must be deleted.
|
|
181
|
+
|
|
182
|
+
Custom tokens have no `refresh` period, that is, never become obsolete and never refreshed.
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
POST /identity/tokens/<identity>/
|
|
186
|
+
host: nex.toa.io
|
|
187
|
+
authorization: ...
|
|
188
|
+
accept: application/yaml
|
|
189
|
+
content-type: application/yaml
|
|
190
|
+
|
|
191
|
+
lifetime: 3600
|
|
192
|
+
label: CI deployment token
|
|
193
|
+
scopes: [app:developer]
|
|
194
|
+
permissions:
|
|
195
|
+
/users/fc8e66dd/: [GET, PUT]
|
|
196
|
+
/posts/fc8e66dd/**/comments/: [*]
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
201 Created
|
|
201
|
+
content-type: application/yaml
|
|
202
|
+
|
|
203
|
+
kid: <key-id>
|
|
204
|
+
exp: <unix-time-ms>
|
|
205
|
+
token: <token>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
- `lifetime`: Issued token will be valid for this period
|
|
209
|
+
(default is specified in [the configuration](#token-rotation)).
|
|
210
|
+
The value of `0` means the token will not expire, which is supported, but
|
|
211
|
+
**strongly not recommended** for production environments.
|
|
212
|
+
- `label`: Required human-readable name used when listing and revoking issued tokens.
|
|
213
|
+
- `scopes`: Issued token will assume only specified [role scopes](access.md#roles).
|
|
214
|
+
- `permissions`: Issued token will have permissions to access only specified resources and methods.
|
|
215
|
+
Supports [glob patterns](https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html)
|
|
216
|
+
and a wildcard method.
|
|
217
|
+
Patterns are matched against the request path as it is routed: normalized, without the query
|
|
218
|
+
string.
|
|
219
|
+
|
|
220
|
+
> `roles` and `permissions` are additional restrictions applied on top of the Identity’s inherent
|
|
221
|
+
> privileges.
|
|
222
|
+
|
|
223
|
+
### Custom token invalidation
|
|
224
|
+
|
|
225
|
+
A custom token is invalidated through its secret key. The key is revoked, and every token issued
|
|
226
|
+
with it is refused, when the Identity is [banned](#banned-identities), its
|
|
227
|
+
[Basic credentials](#basic-credentials) are modified, or one of its [roles](#roles) is revoked.
|
|
228
|
+
The key can also be deleted by the Identity that issued the token or by an Identity with the
|
|
229
|
+
`system:identity:keys` role.
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
DELETE /identity/keys/<identity>/<key.id>/
|
|
233
|
+
authorization: ...
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
The key `id` is returned as `kid` when the token is issued, is visible in the JWE protected header,
|
|
237
|
+
and can also be obtained by listing issued token keys. The secret key itself is never returned by
|
|
238
|
+
the listing endpoint.
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
GET /identity/keys/<identity>/
|
|
242
|
+
authorization: ...
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
The listing returns `id`, `label`, optional `expires`, `revokedAt` where the key is revoked, and
|
|
246
|
+
`_created`. Revocation and deletion prevent new cache lookups from finding a usable key. A runtime
|
|
247
|
+
that already cached it can continue accepting the token for up to `identity.tokens.cache.ttl`
|
|
248
|
+
milliseconds (10 minutes by default).
|
|
249
|
+
|
|
250
|
+
Both listing and deletion require credentials of the owning Identity or the
|
|
251
|
+
`system:identity:keys` role. Key creation is internal to `identity.tokens`; there is no public
|
|
252
|
+
endpoint that returns a stored secret.
|
|
253
|
+
|
|
146
254
|
### Token encryption
|
|
147
255
|
|
|
148
|
-
Issued tokens are encrypted
|
|
149
|
-
|
|
150
|
-
|
|
256
|
+
Issued tokens are compact JWE tokens encrypted with direct symmetric encryption. Their protected
|
|
257
|
+
header is `{ alg: 'dir', enc: 'A256GCM', typ: 'JWT', kid: <key id> }`. Keys are configured in one
|
|
258
|
+
`keys` array. The first entry whose `format` is `jwe` or omitted is the active issuance key.
|
|
259
|
+
Keys are 256-bit secrets encoded with base64url and can be generated with `toa key`.
|
|
260
|
+
|
|
261
|
+
The optional `format` is `jwe` by default. Entries with `format: paseto` contain legacy PASETO
|
|
262
|
+
V3.local secrets and are used only to read old tokens. Legacy tokens are always marked for refresh;
|
|
263
|
+
only JWE tokens are issued.
|
|
264
|
+
The `format` property is transitional and can be removed together with the PASETO entries after the
|
|
265
|
+
legacy compatibility window ends.
|
|
151
266
|
|
|
152
267
|
```yaml
|
|
153
268
|
# context.toa.yaml
|
|
154
269
|
|
|
155
270
|
configuration:
|
|
156
271
|
identity.tokens:
|
|
157
|
-
|
|
272
|
+
keys:
|
|
273
|
+
- id: 2026q3
|
|
274
|
+
key: $IDENTITY_TOKENS_ENCRYPTION_KEY0
|
|
275
|
+
- id: legacy
|
|
276
|
+
key: $IDENTITY_TOKENS_KEY0
|
|
277
|
+
format: paseto
|
|
158
278
|
```
|
|
159
279
|
|
|
160
|
-
|
|
280
|
+
At least one JWE entry is required. PASETO entries are required only while previously issued legacy
|
|
281
|
+
tokens must remain readable.
|
|
161
282
|
|
|
162
283
|
> Valid secret key may be generated using the [`toa key` command](/runtime/cli/readme.md#key).
|
|
163
284
|
|
|
@@ -172,6 +293,9 @@ will always have a valid token to authenticate with.
|
|
|
172
293
|
Also, token revocation or changing roles of an Identity will take effect once the `refresh` period
|
|
173
294
|
of the currently issued tokens has expired.
|
|
174
295
|
|
|
296
|
+
A change of what an Identity may do reaches every credential it holds: a token issued by the
|
|
297
|
+
gateway within `refresh`, a [custom token](#custom-tokens) within `cache.ttl`.
|
|
298
|
+
|
|
175
299
|
Adjusting these two values is a delicate trade-off between security, performance and client
|
|
176
300
|
convenience.
|
|
177
301
|
|
|
@@ -190,73 +314,64 @@ configuration:
|
|
|
190
314
|
|
|
191
315
|
All currently issued tokens of an Identity are revoked when:
|
|
192
316
|
|
|
193
|
-
1. Basic credentials associated with the Identity are
|
|
317
|
+
1. [Basic credentials](#basic-credentials) associated with the Identity are modified.
|
|
194
318
|
2. Identity is [banned](#banned-identities).
|
|
195
319
|
|
|
196
320
|
Token revocation takes effect once the `refresh` period of the currently issued tokens has expired.
|
|
321
|
+
[Custom tokens](#custom-tokens) are revoked through their keys, within `cache.ttl`.
|
|
197
322
|
|
|
198
323
|
### Secret rotation
|
|
199
324
|
|
|
200
|
-
Tokens are always encrypted using the
|
|
201
|
-
|
|
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.
|
|
325
|
+
Tokens are always encrypted using the first JWE entry of the `keys` array and decrypted by the
|
|
326
|
+
entry in the corresponding format branch whose `id` matches the token's `kid`.
|
|
223
327
|
|
|
224
|
-
|
|
328
|
+
Rotation uses array order rather than object property order: index `0` is active for issuance and
|
|
329
|
+
the remaining entries are decrypt-only. Use the staged procedure below so every runtime knows the
|
|
330
|
+
new key before it becomes active.
|
|
225
331
|
|
|
226
|
-
|
|
332
|
+
Old keys must remain configured until every token issued with them has expired. In the default
|
|
333
|
+
configuration this means retaining them for at least `lifetime` (30 days) after making a new key
|
|
334
|
+
active. The shorter `refresh` interval only controls replacement during active client use and is
|
|
335
|
+
not a safe removal window for clients that remain idle.
|
|
227
336
|
|
|
228
|
-
>
|
|
229
|
-
>
|
|
230
|
-
>
|
|
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.
|
|
337
|
+
> Let's say you are adding a new secret key each quarter: `2024Q1`, `2024Q2` and so on.
|
|
338
|
+
> The old key `2024Q1` must be removed only after the maximum lifetime of tokens issued with it has
|
|
339
|
+
> elapsed.
|
|
237
340
|
|
|
238
341
|
```yaml
|
|
239
342
|
# context.toa.yaml
|
|
240
343
|
|
|
241
344
|
configuration:
|
|
242
345
|
identity.tokens:
|
|
243
|
-
|
|
244
|
-
|
|
346
|
+
keys:
|
|
347
|
+
- id: 2026q3
|
|
348
|
+
key: $TOKEN_ENCRYPTION_KEY_2026Q3
|
|
349
|
+
- id: 2026q4
|
|
350
|
+
key: $TOKEN_ENCRYPTION_KEY_2026Q4
|
|
245
351
|
```
|
|
246
352
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
353
|
+
1. First deploy both keys everywhere with the current key at index `0`, as shown above.
|
|
354
|
+
2. In an atomic rollout, move the new entry to index `0` and keep the current entry after it.
|
|
355
|
+
All instances can then decrypt tokens encrypted with both the new key and the current key.
|
|
250
356
|
|
|
251
357
|
```yaml
|
|
252
358
|
# context.toa.yaml
|
|
253
359
|
|
|
254
360
|
configuration:
|
|
255
361
|
identity.tokens:
|
|
256
|
-
|
|
257
|
-
|
|
362
|
+
keys:
|
|
363
|
+
- id: 2026q4
|
|
364
|
+
key: $TOKEN_ENCRYPTION_KEY_2026Q4
|
|
365
|
+
- id: 2026q3
|
|
366
|
+
key: $TOKEN_ENCRYPTION_KEY_2026Q3
|
|
258
367
|
```
|
|
259
368
|
|
|
369
|
+
3. Remove `2026q3` only after its last possible token has expired.
|
|
370
|
+
|
|
371
|
+
The PASETO-to-JWE runtime migration must also be atomic: legacy runtimes cannot decrypt newly
|
|
372
|
+
issued JWE tokens. Keep every `format: paseto` entry until its last token has expired;
|
|
373
|
+
`toa key --format paseto` exists only for maintaining those legacy secrets.
|
|
374
|
+
|
|
260
375
|
### Token resources
|
|
261
376
|
|
|
262
377
|
`/identity/tokens/`
|
|
@@ -291,13 +406,22 @@ role: string
|
|
|
291
406
|
To assign arbitrary roles, the `system:identity:roles` role is required.
|
|
292
407
|
|
|
293
408
|
An Identity having `system:identity:roles:delegation` role can delegate roles within its own
|
|
294
|
-
Role Scopes (see [Role Hierarchies](access.md#hierarchies))
|
|
409
|
+
Role Scopes (see [Role Hierarchies](access.md#hierarchies)), except roles within the
|
|
410
|
+
`system:identity:roles` scope: the right to delegate is not delegated.
|
|
411
|
+
|
|
412
|
+
### `/identity/roles/:id/:role/`
|
|
413
|
+
|
|
414
|
+
`DELETE` Revoke a role of an Identity. The `system:identity:roles` role is required.
|
|
415
|
+
|
|
416
|
+
A Token carries the roles it was issued with; a change reaches its holder when the token is
|
|
417
|
+
[refreshed](#token-rotation). Revoking a role also revokes the [custom tokens](#custom-tokens) of
|
|
418
|
+
the Identity, which are issued again with the roles it has left.
|
|
295
419
|
|
|
296
420
|
## Banned Identities
|
|
297
421
|
|
|
298
422
|
The `identity.bans` component manages banned identities.
|
|
299
423
|
A banned identity will fail to authenticate with any associated credentials
|
|
300
|
-
(except [tokens](#
|
|
424
|
+
(except [tokens](#local-tokens) within the `refresh` period).
|
|
301
425
|
|
|
302
426
|
```http
|
|
303
427
|
PUT /identity/bans/:id/
|
|
@@ -329,3 +453,17 @@ roles:
|
|
|
329
453
|
- developer
|
|
330
454
|
- system:identity:roles
|
|
331
455
|
```
|
|
456
|
+
|
|
457
|
+
When no credentials are provided, transient Identity is created.
|
|
458
|
+
|
|
459
|
+
```http
|
|
460
|
+
GET /identity/
|
|
461
|
+
accept: application/yaml
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
```
|
|
465
|
+
201 Created
|
|
466
|
+
|
|
467
|
+
id: 332017649c814649b25ee466c1fe4534
|
|
468
|
+
roles: []
|
|
469
|
+
```
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Consent
|
|
2
|
+
|
|
3
|
+
The one endpoint of the [authorization server](oauth.md) that needs a person, and so the one this
|
|
4
|
+
extension does not serve. An application serves it at the URL its `exposition.oauth.authorize`
|
|
5
|
+
names.
|
|
6
|
+
|
|
7
|
+
The page is reached by a client opening it in the user's browser. It authenticates the user, shows
|
|
8
|
+
them who is asking, and on their assent redirects back to the client with a code.
|
|
9
|
+
|
|
10
|
+
## What the page receives
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
GET https://app.example.com/oauth/authorize
|
|
14
|
+
?response_type=code
|
|
15
|
+
&client_id=https%3A%2F%2Fclaude.ai%2Foauth%2Fclaude-code-client-metadata
|
|
16
|
+
&redirect_uri=http%3A%2F%2Flocalhost%3A3118%2Fcallback
|
|
17
|
+
&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
|
|
18
|
+
&code_challenge_method=S256
|
|
19
|
+
&state=af0ifjsldkj
|
|
20
|
+
&resource=https%3A%2F%2Fapi.example.com%2Fmcp
|
|
21
|
+
&scope=app:notes
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`state` is the client's and is returned untouched. `code_challenge`, `code_challenge_method`,
|
|
25
|
+
`client_id`, `redirect_uri` and `resource` are passed on as they arrived.
|
|
26
|
+
|
|
27
|
+
## What the page does
|
|
28
|
+
|
|
29
|
+
The user is authenticated by whatever means the application already offers. The page then holds
|
|
30
|
+
that identity's own `Token`, and makes two calls with it.
|
|
31
|
+
|
|
32
|
+
Who is asking:
|
|
33
|
+
|
|
34
|
+
```http
|
|
35
|
+
GET /identity/clients/https%3A%2F%2Fclaude.ai%2Foauth%2Fclaude-code-client-metadata/ HTTP/1.1
|
|
36
|
+
authorization: Token …
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```yaml
|
|
40
|
+
client_id: https://claude.ai/oauth/claude-code-client-metadata
|
|
41
|
+
client_name: Claude Code
|
|
42
|
+
client_uri: https://claude.ai
|
|
43
|
+
logo_uri: https://claude.ai/logo.png
|
|
44
|
+
redirect_uris: [http://localhost/callback, http://127.0.0.1/callback]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The page displays `client_name`, and **the host of `redirect_uri`**. A loopback redirect is
|
|
48
|
+
indistinguishable from any other local process, so the user is told where the code will be sent.
|
|
49
|
+
|
|
50
|
+
On assent:
|
|
51
|
+
|
|
52
|
+
```http
|
|
53
|
+
POST /identity/grants/:identity/ HTTP/1.1
|
|
54
|
+
authorization: Token …
|
|
55
|
+
content-type: application/json
|
|
56
|
+
|
|
57
|
+
{"client": "…", "redirect": "…", "challenge": "…", "method": "S256",
|
|
58
|
+
"scope": ["app:notes"], "resource": ["https://api.example.com/mcp"]}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
```http
|
|
62
|
+
201 Created
|
|
63
|
+
cache-control: no-store
|
|
64
|
+
|
|
65
|
+
{"code": "SplxlOBeZQQYbYS6WxSbIA", "expires_in": 60}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`:identity` is the id of the identity that consents, which is the one the page authenticated.
|
|
69
|
+
|
|
70
|
+
## What the page answers
|
|
71
|
+
|
|
72
|
+
On assent, a redirect carrying the code, the client's `state`, and the issuer:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
302 Found
|
|
76
|
+
location: http://localhost:3118/callback?code=SplxlOBeZQQYbYS6WxSbIA&state=af0ifjsldkj&iss=https%3A%2F%2Fapi.example.com
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
A single-page application does this with `location.assign`; nothing requires a server redirect.
|
|
80
|
+
|
|
81
|
+
`iss` is [RFC 9207](https://www.rfc-editor.org/rfc/rfc9207), and the metadata declares that it is
|
|
82
|
+
sent, so a client rejects a response without it. Its value is the `issuer` of
|
|
83
|
+
`/.well-known/oauth-authorization-server`, which the page may read.
|
|
84
|
+
|
|
85
|
+
On refusal, a redirect saying so, not an error page:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
302 Found
|
|
89
|
+
location: http://localhost:3118/callback?error=access_denied&state=af0ifjsldkj&iss=https%3A%2F%2Fapi.example.com
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Errors
|
|
93
|
+
|
|
94
|
+
`400` with `error` and `error_description` is answered when the client is unknown, when the
|
|
95
|
+
redirect is not one that client may receive a code at, or when the challenge method is not `S256`.
|
|
96
|
+
A redirect that was not registered must not be redirected to; the page states the refusal itself.
|
|
97
|
+
|
|
98
|
+
## Consent is asked every time
|
|
99
|
+
|
|
100
|
+
A grant is recorded, and `GET /identity/grants/:identity/` lists what a user allowed, but it is
|
|
101
|
+
not consulted to skip this page.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Persistent credentials
|
|
2
|
+
|
|
3
|
+
Persistent credentials associate an [Identity](identity.md) with a reusable authentication method.
|
|
4
|
+
Exposition stores Basic, OpenID Connect federation, and WebAuthn passkey credentials. Local tokens
|
|
5
|
+
and one-time passwords are not persistent credentials: tokens are stateless and OTP records expire.
|
|
6
|
+
|
|
7
|
+
See [Features](../features/credentials.feature).
|
|
8
|
+
|
|
9
|
+
## Listing credentials
|
|
10
|
+
|
|
11
|
+
`GET /identity/credentials/:identity/` returns all persistent credentials associated with the
|
|
12
|
+
Identity in the current authority. Access requires credentials of that Identity.
|
|
13
|
+
|
|
14
|
+
```http
|
|
15
|
+
GET /identity/credentials/fc8e66ddd51d45eea89602c9dd38a542/ HTTP/1.1
|
|
16
|
+
authorization: Token ...
|
|
17
|
+
accept: application/yaml
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
basic:
|
|
22
|
+
username: user@example.com
|
|
23
|
+
federation:
|
|
24
|
+
- id: 09200d0bcc2448c5863e3f50ae18af84
|
|
25
|
+
iss: https://accounts.google.com
|
|
26
|
+
_created: 1754899200000
|
|
27
|
+
passkeys:
|
|
28
|
+
- id: 54ed430804324e81b39756ea4708b546
|
|
29
|
+
aid: adce0002-35bc-c60a-648b-0b25f1f05503
|
|
30
|
+
synced: true
|
|
31
|
+
label: Personal iPhone
|
|
32
|
+
_created: 1754899200000
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`basic` is `null` when Basic credentials do not exist. `federation` and `passkeys` are always
|
|
36
|
+
arrays. Secret and authentication data, including password hashes, federation subjects, public
|
|
37
|
+
keys, signature counters, and transports, are not returned.
|
|
38
|
+
|
|
39
|
+
The federation issuer identifies the provider. For example, Google uses
|
|
40
|
+
`https://accounts.google.com` and Apple uses `https://appleid.apple.com`. Applications should map
|
|
41
|
+
trusted issuers to their own provider names and presentation.
|
|
42
|
+
|
|
43
|
+
The passkey `aid` is its
|
|
44
|
+
[AAGUID](https://www.w3.org/TR/webauthn-2/#aaguid), which can be resolved against an authenticator
|
|
45
|
+
metadata catalog. `synced` indicates whether the credential was backed up and is therefore likely
|
|
46
|
+
available on more than one device.
|
|
47
|
+
|
|
48
|
+
## Basic credentials
|
|
49
|
+
|
|
50
|
+
- `POST /identity/basic/:identity/` adds Basic credentials to an Identity.
|
|
51
|
+
- `PATCH /identity/basic/:identity/` changes its username or password.
|
|
52
|
+
- `DELETE /identity/basic/:identity/` removes its Basic credentials.
|
|
53
|
+
|
|
54
|
+
An Identity can have at most one Basic credential in an authority. See
|
|
55
|
+
[Basic credentials configuration](components.md#basic-credentials) for password hashing,
|
|
56
|
+
constraints, and principal configuration.
|
|
57
|
+
|
|
58
|
+
## Federated credentials
|
|
59
|
+
|
|
60
|
+
- `POST /identity/federation/:identity/` associates credentials from a trusted issuer and returns
|
|
61
|
+
the associated credential as it is listed.
|
|
62
|
+
- `GET /identity/federation/:identity/` lists federated credentials.
|
|
63
|
+
- `DELETE /identity/federation/:identity/:credential/` removes one federated credential.
|
|
64
|
+
|
|
65
|
+
If the credentials are already associated with the Identity, the existing credential is returned.
|
|
66
|
+
|
|
67
|
+
An Identity can have credentials from multiple issuers and can have multiple subjects from the
|
|
68
|
+
same issuer. The `:credential` segment is the `id` returned by any of these resources. Federation
|
|
69
|
+
resources are provider-independent; issuer-specific authorization flows remain the responsibility
|
|
70
|
+
of the application.
|
|
71
|
+
|
|
72
|
+
## Passkeys
|
|
73
|
+
|
|
74
|
+
Passkey registration consists of a challenge followed by credential creation:
|
|
75
|
+
|
|
76
|
+
- `POST /identity/passkeys/challenges/:identity/` creates a registration challenge.
|
|
77
|
+
- `POST /identity/passkeys/:identity/` verifies the response and stores the passkey.
|
|
78
|
+
- `GET /identity/passkeys/:identity/` lists passkeys.
|
|
79
|
+
- `DELETE /identity/passkeys/:identity/:credential/` removes one passkey.
|
|
80
|
+
|
|
81
|
+
See [Web Authentication](passkeys.md) for standards and feature scenarios.
|
|
82
|
+
|
|
83
|
+
## Removing the last credential
|
|
84
|
+
|
|
85
|
+
Credential components intentionally do not coordinate with one another. Consequently, credentials
|
|
86
|
+
can be removed without checking whether another persistent credential exists.
|
|
87
|
+
Applications that require a recoverable login must prevent removal of the last usable credential
|
|
88
|
+
in their client workflow.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Development tools
|
|
2
|
+
|
|
3
|
+
## `dev:stub`
|
|
4
|
+
|
|
5
|
+
Returns a successful response with the given body.
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
/foo:
|
|
9
|
+
dev:sub: Hello!
|
|
10
|
+
/bar:
|
|
11
|
+
dev:sub:
|
|
12
|
+
hello: world
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## `dev:sleep`
|
|
16
|
+
|
|
17
|
+
Enables random delay before processing the request, up to given maximum time in milliseconds.
|
|
18
|
+
|
|
19
|
+
Desired delay range can be set in the `sleep` request header as a JSON array of two numbers, the minimum
|
|
20
|
+
and maximum delay in milliseconds.
|
|
21
|
+
|
|
22
|
+
```yaml
|
|
23
|
+
/foo:
|
|
24
|
+
dev:sleep: 1000
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```http
|
|
28
|
+
GET /foo/ HTTP/1.1
|
|
29
|
+
sleep: [500, 1000]
|
|
30
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Request flow
|
|
2
|
+
|
|
3
|
+
## `flow:fetch`
|
|
4
|
+
|
|
5
|
+
Fetches the content from the resource returned by the specified endpoint.
|
|
6
|
+
|
|
7
|
+
The value of the directive is a `string` specifying endpoint to be called for the redirection
|
|
8
|
+
request.
|
|
9
|
+
|
|
10
|
+
Request `authority`, `path` and `parameters` are passed as input to the redirection endpoint,
|
|
11
|
+
and it must return a URL `string`, an `Error` or an object with the following properties:
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
url: string
|
|
15
|
+
options?:
|
|
16
|
+
method?: string
|
|
17
|
+
headers?: Record<string, string>
|
|
18
|
+
body?: string
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
If it returns a URL or Request, then the response to the specified request is returned as the
|
|
22
|
+
response to the original request, along with the `content-type`, `content-length`, and `etag`
|
|
23
|
+
headers.
|
|
24
|
+
|
|
25
|
+
## `flow:compose`
|
|
26
|
+
|
|
27
|
+
Compose an object from a response stream in object mode.
|
|
28
|
+
|
|
29
|
+
The value of the directive is an object whose values are JavaScript expressions
|
|
30
|
+
accessing the response stream objects composed into an array named `$`.
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
flow:compose:
|
|
34
|
+
one: $[0].status
|
|
35
|
+
two: $[1].data.foo
|
|
36
|
+
three: $[2].amount
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```yaml
|
|
40
|
+
flow:compose:
|
|
41
|
+
sum: $[0].value + $[1].value
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Be careful.
|