@toa.io/extensions.exposition 1.0.0-alpha.292 → 1.0.0-alpha.293
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/identity.basic/package.json +8 -0
- package/components/identity.federation/package.json +8 -0
- package/components/identity.passkeys/package.json +8 -0
- package/components/identity.tokens/package.json +10 -0
- package/package.json +24 -13
- package/transpiled/Endpoint.js +3 -0
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Introspection.d.ts +6 -0
- package/transpiled/Introspection.js +1 -0
- package/transpiled/Introspection.js.map +1 -1
- package/transpiled/MCP/schema.js +2 -2
- package/transpiled/Query.d.ts +2 -12
- package/transpiled/Query.js +2 -12
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Endpoint.d.ts +2 -3
- package/ui/dist/_app/immutable/assets/0.Cu0AnR_8.css +2 -0
- package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
- package/ui/dist/_app/immutable/assets/ui.C8aD6zzF.css +1 -0
- package/ui/dist/_app/immutable/chunks/B8GvXrmq.js +1 -0
- package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
- package/ui/dist/_app/immutable/chunks/D6q28_Ok.js +86 -0
- package/ui/dist/_app/immutable/chunks/{aLpTDmOc.js → DVlaUfVU.js} +1 -1
- package/ui/dist/_app/immutable/chunks/DpB73ZB6.js +6 -0
- package/ui/dist/_app/immutable/entry/app.CTava8yn.js +2 -0
- package/ui/dist/_app/immutable/entry/start.yWN0gSLA.js +1 -0
- package/ui/dist/_app/immutable/nodes/0.HKRDBYrC.js +1 -0
- package/ui/dist/_app/immutable/nodes/1.CLa0ydOi.js +1 -0
- package/ui/dist/_app/immutable/nodes/2.C9Kaym8C.js +8 -0
- package/ui/dist/_app/immutable/nodes/3.C1X4_rXZ.js +1 -0
- package/ui/dist/_app/immutable/nodes/4.DdzDIi9E.js +1 -0
- package/ui/dist/_app/immutable/nodes/5.DpbmCMdw.js +1 -0
- package/ui/dist/_app/version.json +1 -1
- package/ui/dist/index.html +12 -12
- package/CHANGELOG.md +0 -42
- package/components/identity.bans/tsconfig.tsbuildinfo +0 -1
- package/components/identity.basic/source/lib/credentials.test.ts +0 -18
- package/components/identity.basic/tsconfig.tsbuildinfo +0 -1
- package/components/identity.clients/source/lib/canonical.test.ts +0 -43
- package/components/identity.clients/source/lib/cimd.test.ts +0 -122
- package/components/identity.clients/source/lib/redirect.test.ts +0 -47
- package/components/identity.clients/tsconfig.tsbuildinfo +0 -1
- package/components/identity.credentials/source/list.test.ts +0 -70
- package/components/identity.credentials/tsconfig.tsbuildinfo +0 -1
- package/components/identity.federation/source/lib/discovery.test.ts +0 -60
- package/components/identity.federation/source/list.test.ts +0 -41
- package/components/identity.federation/tsconfig.tsbuildinfo +0 -1
- package/components/identity.grants/tsconfig.tsbuildinfo +0 -1
- package/components/identity.keys/tsconfig.tsbuildinfo +0 -1
- package/components/identity.otp/tsconfig.tsbuildinfo +0 -1
- package/components/identity.passkeys/source/errors.test.ts +0 -34
- package/components/identity.passkeys/source/webauthn.test.ts +0 -26
- package/components/identity.passkeys/tsconfig.tsbuildinfo +0 -1
- package/components/identity.roles/tsconfig.tsbuildinfo +0 -1
- package/components/identity.tokens/source/authenticate.test.ts +0 -112
- package/components/identity.tokens/source/decrypt.test.ts +0 -216
- package/components/identity.tokens/source/encrypt.test.ts +0 -150
- package/components/identity.tokens/source/issue.test.ts +0 -73
- package/components/identity.tokens/source/lib/form.test.ts +0 -25
- package/components/identity.tokens/source/lib/paseto.test.ts +0 -62
- package/components/identity.tokens/tsconfig.tsbuildinfo +0 -1
- package/context.toa.yaml +0 -31
- package/cucumber.mjs +0 -7
- package/documentation/.assets/ia3-dark.jpg +0 -0
- package/documentation/.assets/ia3-light.jpg +0 -0
- package/documentation/.assets/overview-dark.jpg +0 -0
- package/documentation/.assets/overview-light.jpg +0 -0
- package/documentation/.assets/role-scopes-dark.jpg +0 -0
- package/documentation/.assets/role-scopes-light.jpg +0 -0
- package/documentation/.assets/rtd-dark.jpg +0 -0
- package/documentation/.assets/rtd-light.jpg +0 -0
- package/documentation/access.md +0 -350
- package/documentation/authorities.md +0 -51
- package/documentation/cache.md +0 -72
- package/documentation/components.md +0 -472
- package/documentation/consent.md +0 -101
- package/documentation/credentials.md +0 -88
- package/documentation/dev.md +0 -30
- package/documentation/discovery.md +0 -81
- package/documentation/flow.md +0 -44
- package/documentation/help.md +0 -122
- package/documentation/identity.md +0 -304
- package/documentation/introspection.md +0 -123
- package/documentation/io.md +0 -167
- package/documentation/ip.md +0 -24
- package/documentation/map.md +0 -123
- package/documentation/mcp.md +0 -183
- package/documentation/notes/desync.jpg +0 -0
- package/documentation/notes/peers.md +0 -59
- package/documentation/notes/sse.md +0 -71
- package/documentation/notes/throttling.md +0 -122
- package/documentation/oauth.md +0 -180
- package/documentation/octets.md +0 -334
- package/documentation/passkeys.md +0 -11
- package/documentation/protocol.md +0 -120
- package/documentation/query.md +0 -324
- package/documentation/require.md +0 -15
- package/documentation/rpc.md +0 -154
- package/documentation/tracing.md +0 -70
- package/documentation/tree.md +0 -199
- package/features/access.feature +0 -596
- package/features/annotation.feature +0 -32
- package/features/auth.assert.feature +0 -55
- package/features/auth.bearer.feature +0 -120
- package/features/auth.claims.feature +0 -171
- package/features/auth.incept.feature +0 -166
- package/features/auth.input.feature +0 -59
- package/features/authorities.basic.feature +0 -141
- package/features/authorities.feature +0 -71
- package/features/authorities.federation.feature +0 -100
- package/features/authorities.tokens.feature +0 -117
- package/features/body.feature +0 -76
- package/features/cache.feature +0 -368
- package/features/configuration.feature +0 -206
- package/features/cors.feature +0 -127
- package/features/credentials.feature +0 -106
- package/features/debug.feature +0 -34
- package/features/dev.feature +0 -90
- package/features/directives.feature +0 -61
- package/features/discovery.feature +0 -213
- package/features/discovery.ui.feature +0 -213
- package/features/dynamic.feature +0 -192
- package/features/errors.feature +0 -258
- package/features/etag.feature +0 -239
- package/features/flow.feature +0 -148
- package/features/help.feature +0 -512
- package/features/identity.bans.feature +0 -200
- package/features/identity.basic.feature +0 -666
- package/features/identity.feature +0 -240
- package/features/identity.federation.feature +0 -396
- package/features/identity.otp.feature +0 -142
- package/features/identity.roles.feature +0 -568
- package/features/identity.tokens.custom.feature +0 -430
- package/features/identity.tokens.feature +0 -131
- package/features/interruptions.feature +0 -20
- package/features/introspection.feature +0 -565
- package/features/introspection.map.feature +0 -108
- package/features/io.feature +0 -204
- package/features/io.throttle.feature +0 -166
- package/features/map.feature +0 -360
- package/features/mcp.feature +0 -753
- package/features/methods.feature +0 -48
- package/features/oauth.clients.feature +0 -195
- package/features/oauth.discovery.feature +0 -164
- package/features/oauth.grants.feature +0 -301
- package/features/octets.cloudinary.feature +0 -233
- package/features/octets.download.feature +0 -194
- package/features/octets.entries.feature +0 -83
- package/features/octets.feature +0 -306
- package/features/octets.head.feature +0 -40
- package/features/octets.location.feature +0 -83
- package/features/octets.meta.feature +0 -117
- package/features/octets.workflows.feature +0 -565
- package/features/passkeys.feature +0 -66
- package/features/probes.feature +0 -18
- package/features/query.feature +0 -389
- package/features/realtime.feature +0 -34
- package/features/require.feature +0 -66
- package/features/response.feature +0 -103
- package/features/routes.feature +0 -224
- package/features/rpc.feature +0 -429
- package/features/server.feature +0 -21
- package/features/site/_app/immutable/asset.js +0 -1
- package/features/site/favicon.ico +0 -0
- package/features/site/index.html +0 -10
- package/features/steps/.env.example +0 -5
- package/features/steps/Captures.ts +0 -20
- package/features/steps/Cloudinary.ts +0 -12
- package/features/steps/Common.ts +0 -38
- package/features/steps/Components.ts +0 -115
- package/features/steps/Database.ts +0 -106
- package/features/steps/Gateway.ts +0 -239
- package/features/steps/HTTP.ts +0 -96
- package/features/steps/IDP.ts +0 -361
- package/features/steps/Identity.ts +0 -54
- package/features/steps/OTP.ts +0 -42
- package/features/steps/Parameters.ts +0 -162
- package/features/steps/Probe.ts +0 -38
- package/features/steps/Realtime.ts +0 -175
- package/features/steps/Workspace.ts +0 -48
- package/features/steps/components/audit/manifest.toa.yaml +0 -20
- package/features/steps/components/audit/operations/record.js +0 -5
- package/features/steps/components/echo/manifest.toa.yaml +0 -59
- package/features/steps/components/echo/operations/affect.js +0 -3
- package/features/steps/components/echo/operations/compute.js +0 -3
- package/features/steps/components/echo/operations/echo.js +0 -3
- package/features/steps/components/echo/operations/error.js +0 -7
- package/features/steps/components/echo/operations/identity.js +0 -3
- package/features/steps/components/echo/operations/parameters.js +0 -3
- package/features/steps/components/echo/operations/ping.js +0 -3
- package/features/steps/components/echo/operations/unwrap.js +0 -3
- package/features/steps/components/echo.beacon/manifest.toa.yaml +0 -2
- package/features/steps/components/echo.beacon/operations/hello.js +0 -3
- package/features/steps/components/greeter/manifest.toa.yaml +0 -5
- package/features/steps/components/greeter/operations/greet.js +0 -3
- package/features/steps/components/notify/manifest.toa.yaml +0 -20
- package/features/steps/components/notify/operations/send.js +0 -5
- package/features/steps/components/octets.tester/manifest.toa.yaml +0 -73
- package/features/steps/components/octets.tester/operations/authority.js +0 -3
- package/features/steps/components/octets.tester/operations/bar.js +0 -9
- package/features/steps/components/octets.tester/operations/baz.js +0 -9
- package/features/steps/components/octets.tester/operations/concat.js +0 -5
- package/features/steps/components/octets.tester/operations/echo.js +0 -5
- package/features/steps/components/octets.tester/operations/err.js +0 -14
- package/features/steps/components/octets.tester/operations/foo.js +0 -5
- package/features/steps/components/octets.tester/operations/id.js +0 -5
- package/features/steps/components/octets.tester/operations/identity.js +0 -5
- package/features/steps/components/octets.tester/operations/lenna.png +0 -0
- package/features/steps/components/octets.tester/operations/redirect.js +0 -17
- package/features/steps/components/octets.tester/operations/yex.js +0 -14
- package/features/steps/components/octets.tester/operations/yield.js +0 -11
- package/features/steps/components/orders/manifest.toa.yaml +0 -30
- package/features/steps/components/orders/operations/create.js +0 -7
- package/features/steps/components/pots/manifest.toa.yaml +0 -91
- package/features/steps/components/pots/migrations/0002-indexes.yaml +0 -4
- package/features/steps/components/pricing/manifest.toa.yaml +0 -13
- package/features/steps/components/pricing/operations/quote.js +0 -3
- package/features/steps/components/sequences/manifest.toa.yaml +0 -11
- package/features/steps/components/sequences/operations/numbers.js +0 -5
- package/features/steps/components/sequences/operations/tokens.js +0 -14
- package/features/steps/components/users/manifest.toa.yaml +0 -30
- package/features/steps/components/users/operations/create.js +0 -11
- package/features/steps/components/users.properties/manifest.toa.yaml +0 -22
- package/features/steps/map.ts +0 -30
- package/features/steps/tsconfig.json +0 -9
- package/features/streams.feature +0 -35
- package/features/timestamps.feature +0 -41
- package/features/timing.feature +0 -49
- package/features/tracing.feature +0 -123
- package/source/Branch.test.ts +0 -40
- package/source/Branch.ts +0 -44
- package/source/Composition.ts +0 -51
- package/source/Context.ts +0 -11
- package/source/Directive.test.ts +0 -199
- package/source/Directive.ts +0 -248
- package/source/Discovery/Explorer.ts +0 -34
- package/source/Discovery/Site.test.ts +0 -147
- package/source/Discovery/Site.ts +0 -202
- package/source/Discovery/index.ts +0 -3
- package/source/Discovery/tree.test.ts +0 -175
- package/source/Discovery/tree.ts +0 -77
- package/source/Discovery/trunk.ts +0 -33
- package/source/Endpoint.test.ts +0 -67
- package/source/Endpoint.ts +0 -157
- package/source/Factory.ts +0 -42
- package/source/Gateway.ts +0 -390
- package/source/HTTP/Context.ts +0 -143
- package/source/HTTP/Probe.ts +0 -99
- package/source/HTTP/Server.ts +0 -435
- package/source/HTTP/Timing.ts +0 -14
- package/source/HTTP/address.test.ts +0 -28
- package/source/HTTP/address.ts +0 -16
- package/source/HTTP/exceptions.ts +0 -99
- package/source/HTTP/formats/form.ts +0 -21
- package/source/HTTP/formats/index.ts +0 -36
- package/source/HTTP/formats/json.ts +0 -14
- package/source/HTTP/formats/msgpack.ts +0 -14
- package/source/HTTP/formats/text.ts +0 -10
- package/source/HTTP/formats/yaml.test.ts +0 -22
- package/source/HTTP/formats/yaml.ts +0 -40
- package/source/HTTP/index.ts +0 -6
- package/source/HTTP/messages.test.ts +0 -196
- package/source/HTTP/messages.ts +0 -186
- package/source/HTTP/types.ts +0 -39
- package/source/Interception.ts +0 -37
- package/source/Introspection.ts +0 -179
- package/source/MCP/Server.ts +0 -335
- package/source/MCP/discover.ts +0 -51
- package/source/MCP/errors.ts +0 -80
- package/source/MCP/index.ts +0 -1
- package/source/MCP/schema.test.ts +0 -91
- package/source/MCP/schema.ts +0 -94
- package/source/MCP/tools.ts +0 -144
- package/source/MCP/types.ts +0 -84
- package/source/Mapping.ts +0 -101
- package/source/Query.test.ts +0 -54
- package/source/Query.ts +0 -277
- package/source/RPC/Context.ts +0 -75
- package/source/RPC/Dispatcher.ts +0 -150
- package/source/RPC/errors.test.ts +0 -77
- package/source/RPC/errors.ts +0 -82
- package/source/RPC/index.ts +0 -1
- package/source/RPC/names.test.ts +0 -141
- package/source/RPC/names.ts +0 -176
- package/source/RPC/types.ts +0 -34
- package/source/RTD/Context.ts +0 -16
- package/source/RTD/Directives.ts +0 -126
- package/source/RTD/Endpoint.ts +0 -27
- package/source/RTD/Match.ts +0 -11
- package/source/RTD/Method.ts +0 -39
- package/source/RTD/Node.ts +0 -169
- package/source/RTD/Route.ts +0 -93
- package/source/RTD/Tree.ts +0 -137
- package/source/RTD/expiration.test.ts +0 -81
- package/source/RTD/factory.ts +0 -105
- package/source/RTD/index.ts +0 -8
- package/source/RTD/segment.test.ts +0 -35
- package/source/RTD/segment.ts +0 -51
- package/source/RTD/syntax/index.ts +0 -1
- package/source/RTD/walk.test.ts +0 -147
- package/source/Remotes.test.ts +0 -79
- package/source/Remotes.ts +0 -39
- package/source/Tenant.ts +0 -73
- package/source/directives/auth/Anonymous.test.ts +0 -70
- package/source/directives/auth/Anonymous.ts +0 -36
- package/source/directives/auth/Anyone.ts +0 -23
- package/source/directives/auth/Assert.ts +0 -43
- package/source/directives/auth/Authorization.test.ts +0 -24
- package/source/directives/auth/Authorization.ts +0 -388
- package/source/directives/auth/Delegate.test.ts +0 -36
- package/source/directives/auth/Delegate.ts +0 -54
- package/source/directives/auth/Echo.ts +0 -24
- package/source/directives/auth/Federation.ts +0 -104
- package/source/directives/auth/Id.ts +0 -37
- package/source/directives/auth/Incept.ts +0 -117
- package/source/directives/auth/Input.ts +0 -92
- package/source/directives/auth/Role.test.ts +0 -147
- package/source/directives/auth/Role.ts +0 -99
- package/source/directives/auth/Rule.ts +0 -59
- package/source/directives/auth/Scheme.ts +0 -31
- package/source/directives/auth/create.ts +0 -11
- package/source/directives/auth/index.ts +0 -3
- package/source/directives/auth/schemes.test.ts +0 -18
- package/source/directives/auth/schemes.ts +0 -39
- package/source/directives/auth/split.ts +0 -14
- package/source/directives/auth/types.ts +0 -75
- package/source/directives/cache/Cache.ts +0 -92
- package/source/directives/cache/Control.ts +0 -81
- package/source/directives/cache/Exact.ts +0 -7
- package/source/directives/cache/etag.ts +0 -38
- package/source/directives/cache/index.ts +0 -3
- package/source/directives/cache/types.ts +0 -9
- package/source/directives/cors/CORS.test.ts +0 -75
- package/source/directives/cors/CORS.ts +0 -88
- package/source/directives/cors/index.ts +0 -3
- package/source/directives/dev/Development.ts +0 -41
- package/source/directives/dev/Faulty.ts +0 -31
- package/source/directives/dev/Sleep.ts +0 -53
- package/source/directives/dev/Stub.ts +0 -14
- package/source/directives/dev/Throw.ts +0 -14
- package/source/directives/dev/index.ts +0 -3
- package/source/directives/dev/types.ts +0 -5
- package/source/directives/flow/Compose.ts +0 -98
- package/source/directives/flow/Fetch.ts +0 -86
- package/source/directives/flow/Flow.ts +0 -43
- package/source/directives/flow/index.ts +0 -3
- package/source/directives/flow/types.ts +0 -7
- package/source/directives/help/Family.ts +0 -122
- package/source/directives/help/Help.test.ts +0 -227
- package/source/directives/help/Help.ts +0 -47
- package/source/directives/help/Parameters.ts +0 -47
- package/source/directives/help/described.ts +0 -57
- package/source/directives/help/index.ts +0 -45
- package/source/directives/index.ts +0 -33
- package/source/directives/io/Directive.ts +0 -17
- package/source/directives/io/IO.ts +0 -118
- package/source/directives/io/Input.ts +0 -55
- package/source/directives/io/Message.ts +0 -1
- package/source/directives/io/Output.ts +0 -81
- package/source/directives/io/Status.test.ts +0 -88
- package/source/directives/io/Status.ts +0 -47
- package/source/directives/io/Throttle.ts +0 -30
- package/source/directives/io/index.ts +0 -3
- package/source/directives/io/lib/throttle/Configuration.test.ts +0 -72
- package/source/directives/io/lib/throttle/Configuration.ts +0 -68
- package/source/directives/io/lib/throttle/Keys.ts +0 -53
- package/source/directives/io/lib/throttle/Quotas.test.ts +0 -411
- package/source/directives/io/lib/throttle/Quotas.ts +0 -190
- package/source/directives/io/lib/throttle/Sync.test.ts +0 -163
- package/source/directives/io/lib/throttle/Sync.ts +0 -93
- package/source/directives/io/lib/throttle/Warning.test.ts +0 -32
- package/source/directives/io/lib/throttle/Warning.ts +0 -29
- package/source/directives/io/lib/throttle/components/Component.ts +0 -7
- package/source/directives/io/lib/throttle/components/IP.ts +0 -30
- package/source/directives/io/lib/throttle/components/Identity.ts +0 -19
- package/source/directives/io/lib/throttle/components/Path.ts +0 -8
- package/source/directives/io/lib/throttle/components/Route.ts +0 -19
- package/source/directives/io/lib/throttle/components/Segment.ts +0 -19
- package/source/directives/io/lib/throttle/components/index.ts +0 -19
- package/source/directives/io/lib/throttle/conditions/Condition.ts +0 -5
- package/source/directives/io/lib/throttle/conditions/Status.ts +0 -17
- package/source/directives/io/lib/throttle/conditions/index.ts +0 -11
- package/source/directives/io/lib/throttle/index.ts +0 -4
- package/source/directives/io/schemas.test.ts +0 -40
- package/source/directives/io/schemas.ts +0 -16
- package/source/directives/map/Authority.ts +0 -15
- package/source/directives/map/Buffer.ts +0 -15
- package/source/directives/map/Claims.ts +0 -63
- package/source/directives/map/Directive.ts +0 -4
- package/source/directives/map/Headers.ts +0 -60
- package/source/directives/map/Language.ts +0 -45
- package/source/directives/map/Languages.ts +0 -17
- package/source/directives/map/Map.ts +0 -85
- package/source/directives/map/Mapping.ts +0 -45
- package/source/directives/map/Properties.ts +0 -15
- package/source/directives/map/Segments.ts +0 -52
- package/source/directives/map/index.ts +0 -3
- package/source/directives/mcp/MCP.ts +0 -33
- package/source/directives/mcp/Tool.test.ts +0 -56
- package/source/directives/mcp/Tool.ts +0 -32
- package/source/directives/mcp/index.ts +0 -6
- package/source/directives/oauth/Discovery.ts +0 -66
- package/source/directives/oauth/documents.ts +0 -110
- package/source/directives/oauth/index.ts +0 -3
- package/source/directives/octets/Context.ts +0 -23
- package/source/directives/octets/Delete.ts +0 -96
- package/source/directives/octets/Directive.ts +0 -21
- package/source/directives/octets/Get.ts +0 -88
- package/source/directives/octets/Octets.ts +0 -82
- package/source/directives/octets/Put.ts +0 -186
- package/source/directives/octets/Workflow.ts +0 -60
- package/source/directives/octets/bytes.test.ts +0 -33
- package/source/directives/octets/bytes.ts +0 -18
- package/source/directives/octets/index.ts +0 -3
- package/source/directives/octets/schemas.test.ts +0 -20
- package/source/directives/octets/schemas.ts +0 -15
- package/source/directives/octets/types.ts +0 -9
- package/source/directives/octets/workflows/Execution.ts +0 -130
- package/source/directives/octets/workflows/Workflow.ts +0 -51
- package/source/directives/octets/workflows/index.ts +0 -1
- package/source/directives/require/Directive.ts +0 -5
- package/source/directives/require/Headers.ts +0 -19
- package/source/directives/require/Require.ts +0 -27
- package/source/directives/require/index.ts +0 -3
- package/source/discovery.ts +0 -1
- package/source/exceptions.ts +0 -47
- package/source/index.ts +0 -10
- package/source/io.ts +0 -4
- package/source/octets.d.ts +0 -17
- package/source/root.ts +0 -59
- package/source/service.ts +0 -95
- package/source/userland.ts +0 -47
- package/tsconfig.json +0 -13
- package/tsconfig.tsbuildinfo +0 -1
- package/ui/dist/_app/immutable/assets/0.Bl7vLmIK.css +0 -2
- package/ui/dist/_app/immutable/assets/2.BC0-Jhqu.css +0 -1
- package/ui/dist/_app/immutable/chunks/BaWe3aOV.js +0 -1
- package/ui/dist/_app/immutable/chunks/DjIYL2zC.js +0 -3
- package/ui/dist/_app/immutable/chunks/GZTfV0ks.js +0 -6
- package/ui/dist/_app/immutable/entry/app.D5v4JoUx.js +0 -2
- package/ui/dist/_app/immutable/entry/start.CWxFoIyZ.js +0 -1
- package/ui/dist/_app/immutable/nodes/0.DIh5T_5-.js +0 -1
- package/ui/dist/_app/immutable/nodes/1.CY-bFzHC.js +0 -1
- package/ui/dist/_app/immutable/nodes/2.6Ubd1ItY.js +0 -14
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
@manual @cloudinary
|
|
2
|
-
Feature: Octets with Cloudinary storage
|
|
3
|
-
|
|
4
|
-
Background:
|
|
5
|
-
Given the annotation:
|
|
6
|
-
"""yaml
|
|
7
|
-
/:
|
|
8
|
-
io:output: true
|
|
9
|
-
auth:anonymous: true
|
|
10
|
-
octets:context: cloudinary
|
|
11
|
-
POST:
|
|
12
|
-
octets:put: ~
|
|
13
|
-
/*:
|
|
14
|
-
GET:
|
|
15
|
-
octets:get: ~
|
|
16
|
-
DELETE:
|
|
17
|
-
octets:delete: ~
|
|
18
|
-
/video:
|
|
19
|
-
octets:context: cloudinary_video
|
|
20
|
-
POST:
|
|
21
|
-
octets:put: ~
|
|
22
|
-
/*:
|
|
23
|
-
GET:
|
|
24
|
-
octets:get: ~
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
Scenario: Upload an image
|
|
28
|
-
When the stream of `lenna.png` is received with the following headers:
|
|
29
|
-
"""
|
|
30
|
-
POST / HTTP/1.1
|
|
31
|
-
host: nex.toa.io
|
|
32
|
-
accept: application/yaml
|
|
33
|
-
content-type: application/octet-stream
|
|
34
|
-
"""
|
|
35
|
-
Then the following reply is sent:
|
|
36
|
-
"""
|
|
37
|
-
201 Created
|
|
38
|
-
content-type: application/yaml
|
|
39
|
-
|
|
40
|
-
id: ${{ id }}
|
|
41
|
-
size: 473831
|
|
42
|
-
type: image/png
|
|
43
|
-
"""
|
|
44
|
-
When the following request is received:
|
|
45
|
-
"""
|
|
46
|
-
GET /${{ id }} HTTP/1.1
|
|
47
|
-
host: nex.toa.io
|
|
48
|
-
origin: https://toa.io
|
|
49
|
-
"""
|
|
50
|
-
Then the stream equals to `lenna.png` is sent with the following headers:
|
|
51
|
-
"""
|
|
52
|
-
200 OK
|
|
53
|
-
access-control-allow-origin: https://toa.io
|
|
54
|
-
content-length: 473831
|
|
55
|
-
content-type: image/png
|
|
56
|
-
"""
|
|
57
|
-
|
|
58
|
-
# SVG has no binary signature, so the type on upload is whatever the client states;
|
|
59
|
-
# on the way back it is what Cloudinary serves
|
|
60
|
-
Scenario: Upload an svg
|
|
61
|
-
When the stream of `sample.svg` is received with the following headers:
|
|
62
|
-
"""
|
|
63
|
-
POST / HTTP/1.1
|
|
64
|
-
host: nex.toa.io
|
|
65
|
-
accept: application/yaml
|
|
66
|
-
content-type: image/svg+xml
|
|
67
|
-
"""
|
|
68
|
-
Then the following reply is sent:
|
|
69
|
-
"""
|
|
70
|
-
201 Created
|
|
71
|
-
content-type: application/yaml
|
|
72
|
-
|
|
73
|
-
id: ${{ id }}
|
|
74
|
-
type: image/svg+xml
|
|
75
|
-
"""
|
|
76
|
-
When the following request is received:
|
|
77
|
-
"""
|
|
78
|
-
GET /${{ id }} HTTP/1.1
|
|
79
|
-
host: nex.toa.io
|
|
80
|
-
"""
|
|
81
|
-
# Cloudinary rewrites the SVG it stores, so only the type is asserted
|
|
82
|
-
Then the following reply is sent:
|
|
83
|
-
"""
|
|
84
|
-
200 OK
|
|
85
|
-
content-type: image/svg+xml
|
|
86
|
-
"""
|
|
87
|
-
|
|
88
|
-
Scenario: Image transformations
|
|
89
|
-
When the stream of `lenna.png` is received with the following headers:
|
|
90
|
-
"""
|
|
91
|
-
POST / HTTP/1.1
|
|
92
|
-
host: nex.toa.io
|
|
93
|
-
content-type: image/png
|
|
94
|
-
accept: application/yaml
|
|
95
|
-
"""
|
|
96
|
-
Then the following reply is sent:
|
|
97
|
-
"""
|
|
98
|
-
201 Created
|
|
99
|
-
|
|
100
|
-
id: ${{ id }}
|
|
101
|
-
"""
|
|
102
|
-
When the following request is received:
|
|
103
|
-
"""
|
|
104
|
-
GET /${{ id }}.48x48.jpeg HTTP/1.1
|
|
105
|
-
host: nex.toa.io
|
|
106
|
-
"""
|
|
107
|
-
Then the stream equals to `lenna.48x48.jpeg` is sent with the following headers:
|
|
108
|
-
"""
|
|
109
|
-
200 OK
|
|
110
|
-
content-type: image/jpeg
|
|
111
|
-
"""
|
|
112
|
-
When the following request is received:
|
|
113
|
-
"""
|
|
114
|
-
GET /${{ id }}.icon.jpeg HTTP/1.1
|
|
115
|
-
host: nex.toa.io
|
|
116
|
-
"""
|
|
117
|
-
Then the following reply is sent:
|
|
118
|
-
"""
|
|
119
|
-
200 OK
|
|
120
|
-
content-type: image/jpeg
|
|
121
|
-
"""
|
|
122
|
-
|
|
123
|
-
Scenario: Upload a video
|
|
124
|
-
When the stream of `plank.mp4` is received with the following headers:
|
|
125
|
-
"""
|
|
126
|
-
POST /video/ HTTP/1.1
|
|
127
|
-
host: nex.toa.io
|
|
128
|
-
accept: application/yaml
|
|
129
|
-
content-type: video/mp4
|
|
130
|
-
"""
|
|
131
|
-
Then the following reply is sent:
|
|
132
|
-
"""
|
|
133
|
-
201 Created
|
|
134
|
-
|
|
135
|
-
id: ${{ id }}
|
|
136
|
-
"""
|
|
137
|
-
|
|
138
|
-
# initially Cloudinary returns a chunked response
|
|
139
|
-
When the following request is received:
|
|
140
|
-
"""
|
|
141
|
-
GET /video/${{ id }}.mp4 HTTP/1.1
|
|
142
|
-
host: nex.toa.io
|
|
143
|
-
"""
|
|
144
|
-
Then the following reply is sent:
|
|
145
|
-
"""
|
|
146
|
-
200 OK
|
|
147
|
-
content-type: video/mp4
|
|
148
|
-
"""
|
|
149
|
-
And the reply does not contain:
|
|
150
|
-
"""
|
|
151
|
-
content-length
|
|
152
|
-
"""
|
|
153
|
-
|
|
154
|
-
# after a while, Cloudinary returns a content-length response
|
|
155
|
-
When the following request is received:
|
|
156
|
-
"""
|
|
157
|
-
GET /video/${{ id }}.mp4 HTTP/1.1
|
|
158
|
-
host: nex.toa.io
|
|
159
|
-
"""
|
|
160
|
-
Then the following reply is sent:
|
|
161
|
-
"""
|
|
162
|
-
200 OK
|
|
163
|
-
content-length: 175043
|
|
164
|
-
content-type: video/mp4
|
|
165
|
-
"""
|
|
166
|
-
|
|
167
|
-
When the following request is received:
|
|
168
|
-
"""
|
|
169
|
-
GET /video/${{ id }}.200x200.mp4 HTTP/1.1
|
|
170
|
-
host: nex.toa.io
|
|
171
|
-
"""
|
|
172
|
-
Then the following reply is sent:
|
|
173
|
-
"""
|
|
174
|
-
200 OK
|
|
175
|
-
content-type: video/mp4
|
|
176
|
-
"""
|
|
177
|
-
And the reply does not contain:
|
|
178
|
-
"""
|
|
179
|
-
content-length
|
|
180
|
-
"""
|
|
181
|
-
|
|
182
|
-
When the following request is received:
|
|
183
|
-
"""
|
|
184
|
-
HEAD /video/${{ id }}.200x200.mp4 HTTP/1.1
|
|
185
|
-
host: nex.toa.io
|
|
186
|
-
"""
|
|
187
|
-
Then the following reply is sent:
|
|
188
|
-
"""
|
|
189
|
-
200 OK
|
|
190
|
-
content-type: video/mp4
|
|
191
|
-
"""
|
|
192
|
-
|
|
193
|
-
Scenario: Range headers and gif support
|
|
194
|
-
When the stream of `plank.mp4` is received with the following headers:
|
|
195
|
-
"""
|
|
196
|
-
POST /video/ HTTP/1.1
|
|
197
|
-
host: nex.toa.io
|
|
198
|
-
accept: application/yaml
|
|
199
|
-
content-type: video/mp4
|
|
200
|
-
"""
|
|
201
|
-
Then the following reply is sent:
|
|
202
|
-
"""
|
|
203
|
-
201 Created
|
|
204
|
-
|
|
205
|
-
id: ${{ id }}
|
|
206
|
-
"""
|
|
207
|
-
|
|
208
|
-
When the following request is received:
|
|
209
|
-
"""
|
|
210
|
-
GET /video/${{ id }}.mp4 HTTP/1.1
|
|
211
|
-
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Safari/605.1.15
|
|
212
|
-
host: nex.toa.io
|
|
213
|
-
range: bytes=0-1
|
|
214
|
-
"""
|
|
215
|
-
|
|
216
|
-
Then the following reply is sent:
|
|
217
|
-
"""
|
|
218
|
-
206 Partial Content
|
|
219
|
-
content-length: 2
|
|
220
|
-
content-type: video/mp4
|
|
221
|
-
"""
|
|
222
|
-
|
|
223
|
-
# gif
|
|
224
|
-
When the following request is received:
|
|
225
|
-
"""
|
|
226
|
-
GET /video/${{ id }}.200x200.gif HTTP/1.1
|
|
227
|
-
host: nex.toa.io
|
|
228
|
-
"""
|
|
229
|
-
Then the following reply is sent:
|
|
230
|
-
"""
|
|
231
|
-
200 OK
|
|
232
|
-
content-type: image/gif
|
|
233
|
-
"""
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
@network
|
|
2
|
-
Feature: Download external resources
|
|
3
|
-
|
|
4
|
-
Scenario Outline: Download from trusted location defined as <type>
|
|
5
|
-
Given the annotation:
|
|
6
|
-
"""yaml
|
|
7
|
-
/:
|
|
8
|
-
io:output: true
|
|
9
|
-
auth:anonymous: true
|
|
10
|
-
octets:context: octets
|
|
11
|
-
POST:
|
|
12
|
-
octets:put:
|
|
13
|
-
trust:
|
|
14
|
-
- <location> # <type>
|
|
15
|
-
- https://github.com
|
|
16
|
-
/*:
|
|
17
|
-
GET:
|
|
18
|
-
octets:get:
|
|
19
|
-
meta: true
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
Given the length of `https://avatars.githubusercontent.com/u/92763022?s=48&v=4` is captured as `length`
|
|
23
|
-
|
|
24
|
-
When the following request is received:
|
|
25
|
-
"""
|
|
26
|
-
POST / HTTP/1.1
|
|
27
|
-
host: nex.toa.io
|
|
28
|
-
content-location: https://avatars.githubusercontent.com/u/92763022?s=48&v=4
|
|
29
|
-
content-length: 0
|
|
30
|
-
accept: application/yaml
|
|
31
|
-
"""
|
|
32
|
-
Then the following reply is sent:
|
|
33
|
-
"""
|
|
34
|
-
201 Created
|
|
35
|
-
|
|
36
|
-
id: ${{ id }}
|
|
37
|
-
type: image/png
|
|
38
|
-
checksum: ${{ checksum }}
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
When the following request is received:
|
|
42
|
-
"""
|
|
43
|
-
GET /${{ id }} HTTP/1.1
|
|
44
|
-
host: nex.toa.io
|
|
45
|
-
"""
|
|
46
|
-
Then the following reply is sent:
|
|
47
|
-
"""
|
|
48
|
-
200 OK
|
|
49
|
-
content-length: ${{ length }}
|
|
50
|
-
content-type: image/png
|
|
51
|
-
etag: "${{ checksum }}"
|
|
52
|
-
"""
|
|
53
|
-
|
|
54
|
-
# origin is stored in the entry
|
|
55
|
-
When the following request is received:
|
|
56
|
-
"""
|
|
57
|
-
GET /${{ id }} HTTP/1.1
|
|
58
|
-
host: nex.toa.io
|
|
59
|
-
accept: application/vnd.toa.octets.entry+yaml
|
|
60
|
-
"""
|
|
61
|
-
Then the following reply is sent:
|
|
62
|
-
"""
|
|
63
|
-
200 OK
|
|
64
|
-
content-type: application/yaml
|
|
65
|
-
|
|
66
|
-
id: ${{ id }}
|
|
67
|
-
type: image/png
|
|
68
|
-
origin: https://avatars.githubusercontent.com/u/92763022?s=48&v=4
|
|
69
|
-
"""
|
|
70
|
-
|
|
71
|
-
# untrusted location
|
|
72
|
-
When the following request is received:
|
|
73
|
-
"""
|
|
74
|
-
POST / HTTP/1.1
|
|
75
|
-
host: nex.toa.io
|
|
76
|
-
content-location: https://github.githubassets.com/assets/yolo-default-be0bbff04951.png
|
|
77
|
-
content-length: 0
|
|
78
|
-
accept: application/yaml
|
|
79
|
-
"""
|
|
80
|
-
Then the following reply is sent:
|
|
81
|
-
"""
|
|
82
|
-
403 Forbidden
|
|
83
|
-
|
|
84
|
-
Location is not trusted
|
|
85
|
-
"""
|
|
86
|
-
|
|
87
|
-
# content-length must be 0
|
|
88
|
-
When the following request is received:
|
|
89
|
-
"""
|
|
90
|
-
POST / HTTP/1.1
|
|
91
|
-
host: nex.toa.io
|
|
92
|
-
content-location: https://avatars.githubusercontent.com/u/92763022?s=48&v=4
|
|
93
|
-
content-length: 1
|
|
94
|
-
accept: application/yaml
|
|
95
|
-
|
|
96
|
-
1
|
|
97
|
-
"""
|
|
98
|
-
Then the following reply is sent:
|
|
99
|
-
"""
|
|
100
|
-
400 Bad Request
|
|
101
|
-
|
|
102
|
-
Content-Length must be 0 when Content-Location is used
|
|
103
|
-
"""
|
|
104
|
-
|
|
105
|
-
# invalid content-location
|
|
106
|
-
When the following request is received:
|
|
107
|
-
"""
|
|
108
|
-
POST / HTTP/1.1
|
|
109
|
-
host: nex.toa.io
|
|
110
|
-
content-location: Hello there!
|
|
111
|
-
content-length: 0
|
|
112
|
-
accept: application/yaml
|
|
113
|
-
"""
|
|
114
|
-
Then the following reply is sent:
|
|
115
|
-
"""
|
|
116
|
-
403 Forbidden
|
|
117
|
-
|
|
118
|
-
Location is not trusted
|
|
119
|
-
"""
|
|
120
|
-
|
|
121
|
-
# unavailable location
|
|
122
|
-
When the following request is received:
|
|
123
|
-
"""
|
|
124
|
-
POST / HTTP/1.1
|
|
125
|
-
host: nex.toa.io
|
|
126
|
-
content-location: https://github.com/toa-io/no
|
|
127
|
-
content-length: 0
|
|
128
|
-
accept: application/yaml
|
|
129
|
-
"""
|
|
130
|
-
Then the following reply is sent:
|
|
131
|
-
"""
|
|
132
|
-
404 Not Found
|
|
133
|
-
|
|
134
|
-
Location is not available
|
|
135
|
-
"""
|
|
136
|
-
|
|
137
|
-
Examples:
|
|
138
|
-
| type | location |
|
|
139
|
-
| origin | https://avatars.githubusercontent.com |
|
|
140
|
-
| expression | /^https://avatars\.githubusercontent\.com/ |
|
|
141
|
-
|
|
142
|
-
Scenario: Download size limit
|
|
143
|
-
Given the annotation:
|
|
144
|
-
"""yaml
|
|
145
|
-
/:
|
|
146
|
-
io:output: true
|
|
147
|
-
auth:anonymous: true
|
|
148
|
-
octets:context: octets
|
|
149
|
-
POST:
|
|
150
|
-
octets:put:
|
|
151
|
-
limit: 1kb
|
|
152
|
-
trust:
|
|
153
|
-
- https://avatars.githubusercontent.com
|
|
154
|
-
"""
|
|
155
|
-
When the following request is received:
|
|
156
|
-
"""
|
|
157
|
-
POST / HTTP/1.1
|
|
158
|
-
host: nex.toa.io
|
|
159
|
-
content-location: https://avatars.githubusercontent.com/u/92763022?s=48&v=4
|
|
160
|
-
content-length: 0
|
|
161
|
-
accept: text/plain
|
|
162
|
-
"""
|
|
163
|
-
Then the following reply is sent:
|
|
164
|
-
"""
|
|
165
|
-
413 Request Entity Too Large
|
|
166
|
-
|
|
167
|
-
Size limit is 1kb
|
|
168
|
-
"""
|
|
169
|
-
|
|
170
|
-
Scenario: Allow `content-location` request header
|
|
171
|
-
Given the annotation:
|
|
172
|
-
"""yaml
|
|
173
|
-
/:
|
|
174
|
-
io:output: true
|
|
175
|
-
auth:anonymous: true
|
|
176
|
-
octets:context: octets
|
|
177
|
-
POST:
|
|
178
|
-
octets:put:
|
|
179
|
-
limit: 1kb
|
|
180
|
-
trust:
|
|
181
|
-
- https://avatars.githubusercontent.com
|
|
182
|
-
"""
|
|
183
|
-
When the following request is received:
|
|
184
|
-
"""
|
|
185
|
-
OPTIONS / HTTP/1.1
|
|
186
|
-
access-control-request-method: GET
|
|
187
|
-
host: nex.toa.io
|
|
188
|
-
origin: https://hello.world
|
|
189
|
-
"""
|
|
190
|
-
Then the following reply is sent:
|
|
191
|
-
"""
|
|
192
|
-
204 No Content
|
|
193
|
-
access-control-allow-headers: accept, authorization, content-attributes, content-location, content-type, if-match, if-none-match
|
|
194
|
-
"""
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
Feature: Accessing metadata
|
|
2
|
-
|
|
3
|
-
Scenario: Metadata is not accessible by default
|
|
4
|
-
Given the annotation:
|
|
5
|
-
"""yaml
|
|
6
|
-
/:
|
|
7
|
-
io:output: true
|
|
8
|
-
auth:anonymous: true
|
|
9
|
-
octets:context: octets
|
|
10
|
-
POST:
|
|
11
|
-
octets:put: ~
|
|
12
|
-
/*:
|
|
13
|
-
GET:
|
|
14
|
-
octets:get: ~
|
|
15
|
-
"""
|
|
16
|
-
When the stream of `lenna.ascii` is received with the following headers:
|
|
17
|
-
"""
|
|
18
|
-
POST / HTTP/1.1
|
|
19
|
-
host: nex.toa.io
|
|
20
|
-
content-type: application/octet-stream
|
|
21
|
-
"""
|
|
22
|
-
Then the following reply is sent:
|
|
23
|
-
"""
|
|
24
|
-
201 Created
|
|
25
|
-
"""
|
|
26
|
-
When the following request is received:
|
|
27
|
-
"""
|
|
28
|
-
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
29
|
-
host: nex.toa.io
|
|
30
|
-
accept: text/vnd.toa.octets.entry+plain
|
|
31
|
-
"""
|
|
32
|
-
Then the following reply is sent:
|
|
33
|
-
"""
|
|
34
|
-
403 Forbidden
|
|
35
|
-
|
|
36
|
-
Metadata is not accessible
|
|
37
|
-
"""
|
|
38
|
-
|
|
39
|
-
Scenario: Accessing metadata
|
|
40
|
-
Given the annotation:
|
|
41
|
-
"""yaml
|
|
42
|
-
/:
|
|
43
|
-
io:output: true
|
|
44
|
-
auth:anonymous: true
|
|
45
|
-
octets:context: octets
|
|
46
|
-
POST:
|
|
47
|
-
octets:put: ~
|
|
48
|
-
/*:
|
|
49
|
-
GET:
|
|
50
|
-
octets:get:
|
|
51
|
-
meta: true
|
|
52
|
-
"""
|
|
53
|
-
When the stream of `lenna.ascii` is received with the following headers:
|
|
54
|
-
"""
|
|
55
|
-
POST / HTTP/1.1
|
|
56
|
-
host: nex.toa.io
|
|
57
|
-
accept: application/yaml
|
|
58
|
-
content-type: application/octet-stream
|
|
59
|
-
content-id: lenna-ascii
|
|
60
|
-
"""
|
|
61
|
-
And the stream of `lenna.png` is received with the following headers:
|
|
62
|
-
"""
|
|
63
|
-
POST / HTTP/1.1
|
|
64
|
-
host: nex.toa.io
|
|
65
|
-
accept: application/yaml
|
|
66
|
-
content-type: application/octet-stream
|
|
67
|
-
content-id: lenna-png
|
|
68
|
-
"""
|
|
69
|
-
When the following request is received:
|
|
70
|
-
"""
|
|
71
|
-
GET /lenna-ascii HTTP/1.1
|
|
72
|
-
host: nex.toa.io
|
|
73
|
-
accept: application/vnd.toa.octets.entry+yaml
|
|
74
|
-
"""
|
|
75
|
-
Then the following reply is sent:
|
|
76
|
-
"""
|
|
77
|
-
200 OK
|
|
78
|
-
content-type: application/yaml
|
|
79
|
-
|
|
80
|
-
id: lenna-ascii
|
|
81
|
-
size: 8169
|
|
82
|
-
type: application/octet-stream
|
|
83
|
-
"""
|