@workerstack/testing 0.0.0-stage → 0.31.0
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/LICENSE +21 -0
- package/README.md +134 -2
- package/bin/testing.js +4 -0
- package/dist/api/cli/commands/baseline.d.ts +5 -0
- package/dist/api/cli/commands/baseline.js +46 -0
- package/dist/api/cli/commands/conformance-matrix.d.ts +40 -0
- package/dist/api/cli/commands/conformance-matrix.js +193 -0
- package/dist/api/cli/commands/conformance-proven.d.ts +15 -0
- package/dist/api/cli/commands/conformance-proven.js +44 -0
- package/dist/api/cli/commands/conformance-suites.d.ts +11 -0
- package/dist/api/cli/commands/conformance-suites.js +35 -0
- package/dist/api/cli/commands/conformance-tail.d.ts +27 -0
- package/dist/api/cli/commands/conformance-tail.js +61 -0
- package/dist/api/cli/commands/conformance-toolkit.d.ts +19 -0
- package/dist/api/cli/commands/conformance-toolkit.js +33 -0
- package/dist/api/cli/commands/conformance.d.ts +11 -0
- package/dist/api/cli/commands/conformance.js +191 -0
- package/dist/api/cli/commands/diff.d.ts +5 -0
- package/dist/api/cli/commands/diff.js +42 -0
- package/dist/api/cli/commands/doctor.d.ts +5 -0
- package/dist/api/cli/commands/doctor.js +44 -0
- package/dist/api/cli/commands/init-code.d.ts +15 -0
- package/dist/api/cli/commands/init-code.js +54 -0
- package/dist/api/cli/commands/init-config.d.ts +21 -0
- package/dist/api/cli/commands/init-config.js +233 -0
- package/dist/api/cli/commands/init.d.ts +13 -0
- package/dist/api/cli/commands/init.js +68 -0
- package/dist/api/cli/commands/plan.d.ts +11 -0
- package/dist/api/cli/commands/plan.js +64 -0
- package/dist/api/cli/commands/run-options.d.ts +29 -0
- package/dist/api/cli/commands/run-options.js +79 -0
- package/dist/api/cli/commands/run-progress.d.ts +19 -0
- package/dist/api/cli/commands/run-progress.js +47 -0
- package/dist/api/cli/commands/run-report.d.ts +42 -0
- package/dist/api/cli/commands/run-report.js +126 -0
- package/dist/api/cli/commands/run-signals.d.ts +23 -0
- package/dist/api/cli/commands/run-signals.js +32 -0
- package/dist/api/cli/commands/run.d.ts +18 -0
- package/dist/api/cli/commands/run.js +149 -0
- package/dist/api/cli/commands/serve.d.ts +24 -0
- package/dist/api/cli/commands/serve.js +49 -0
- package/dist/api/cli/commands/spec.d.ts +25 -0
- package/dist/api/cli/commands/spec.js +76 -0
- package/dist/api/cli/config.d.ts +19 -0
- package/dist/api/cli/config.js +40 -0
- package/dist/api/cli/flag-kinds.d.ts +40 -0
- package/dist/api/cli/flag-kinds.js +3 -0
- package/dist/api/cli/flags.d.ts +64 -0
- package/dist/api/cli/flags.js +250 -0
- package/dist/api/cli/legacy-run.d.ts +4 -0
- package/dist/api/cli/legacy-run.js +11 -0
- package/dist/api/cli/main.d.ts +25 -0
- package/dist/api/cli/main.js +76 -0
- package/dist/api/cli/writer.d.ts +15 -0
- package/dist/api/cli/writer.js +27 -0
- package/dist/api/cli.d.ts +3 -0
- package/dist/api/cli.js +10 -0
- package/dist/api/client/answer.d.ts +14 -0
- package/dist/api/client/answer.js +143 -0
- package/dist/api/client/attempt.d.ts +77 -0
- package/dist/api/client/attempt.js +3 -0
- package/dist/api/client/bypass.d.ts +18 -0
- package/dist/api/client/bypass.js +15 -0
- package/dist/api/client/cache-signals.d.ts +17 -0
- package/dist/api/client/cache-signals.js +35 -0
- package/dist/api/client/client.d.ts +75 -0
- package/dist/api/client/client.js +185 -0
- package/dist/api/client/control.d.ts +36 -0
- package/dist/api/client/control.js +69 -0
- package/dist/api/client/credential-source.d.ts +142 -0
- package/dist/api/client/credential-source.js +31 -0
- package/dist/api/client/credentials.d.ts +43 -0
- package/dist/api/client/credentials.js +178 -0
- package/dist/api/client/curl.d.ts +24 -0
- package/dist/api/client/curl.js +100 -0
- package/dist/api/client/declared.d.ts +17 -0
- package/dist/api/client/declared.js +57 -0
- package/dist/api/client/fence.d.ts +17 -0
- package/dist/api/client/fence.js +24 -0
- package/dist/api/client/journal.d.ts +42 -0
- package/dist/api/client/journal.js +75 -0
- package/dist/api/client/message.d.ts +15 -0
- package/dist/api/client/message.js +47 -0
- package/dist/api/client/param-style.d.ts +29 -0
- package/dist/api/client/param-style.js +78 -0
- package/dist/api/client/placing.d.ts +87 -0
- package/dist/api/client/placing.js +174 -0
- package/dist/api/client/read-path.d.ts +13 -0
- package/dist/api/client/read-path.js +90 -0
- package/dist/api/client/redirect.d.ts +37 -0
- package/dist/api/client/redirect.js +64 -0
- package/dist/api/client/refresh.d.ts +17 -0
- package/dist/api/client/refresh.js +14 -0
- package/dist/api/client/request.d.ts +20 -0
- package/dist/api/client/request.js +182 -0
- package/dist/api/client/retry.d.ts +29 -0
- package/dist/api/client/retry.js +100 -0
- package/dist/api/client/serialize.d.ts +27 -0
- package/dist/api/client/serialize.js +93 -0
- package/dist/api/client/slots.d.ts +11 -0
- package/dist/api/client/slots.js +20 -0
- package/dist/api/client/types.d.ts +149 -0
- package/dist/api/client/types.js +3 -0
- package/dist/api/config/define/define-config.d.ts +18 -0
- package/dist/api/config/define/define-config.js +19 -0
- package/dist/api/config/define/types.d.ts +13 -0
- package/dist/api/config/define/types.js +9 -0
- package/dist/api/config/env.d.ts +10 -0
- package/dist/api/config/env.js +31 -0
- package/dist/api/config/load.d.ts +19 -0
- package/dist/api/config/load.js +87 -0
- package/dist/api/config/types/config.d.ts +282 -0
- package/dist/api/config/types/config.js +3 -0
- package/dist/api/config/types/hooks.d.ts +265 -0
- package/dist/api/config/types/hooks.js +3 -0
- package/dist/api/config/types/placeholder.d.ts +11 -0
- package/dist/api/config/types/placeholder.js +26 -0
- package/dist/api/config/types/query.d.ts +76 -0
- package/dist/api/config/types/query.js +7 -0
- package/dist/api/config/types/raw.d.ts +17 -0
- package/dist/api/config/types/raw.js +15 -0
- package/dist/api/config/types/security.d.ts +138 -0
- package/dist/api/config/types/security.js +7 -0
- package/dist/api/config/types/steps.d.ts +166 -0
- package/dist/api/config/types/steps.js +3 -0
- package/dist/api/config/validate.d.ts +16 -0
- package/dist/api/config/validate.js +176 -0
- package/dist/api/conformance/effects/backend.d.ts +7 -0
- package/dist/api/conformance/effects/backend.js +56 -0
- package/dist/api/conformance/effects/spec.d.ts +4 -0
- package/dist/api/conformance/effects/spec.js +90 -0
- package/dist/api/conformance/effects.d.ts +10 -0
- package/dist/api/conformance/effects.js +97 -0
- package/dist/api/conformance/expected/composition.d.ts +8 -0
- package/dist/api/conformance/expected/composition.js +81 -0
- package/dist/api/conformance/expected/conformance.d.ts +8 -0
- package/dist/api/conformance/expected/conformance.js +20 -0
- package/dist/api/conformance/expected/consistency.d.ts +8 -0
- package/dist/api/conformance/expected/consistency.js +21 -0
- package/dist/api/conformance/expected/filter.d.ts +8 -0
- package/dist/api/conformance/expected/filter.js +76 -0
- package/dist/api/conformance/expected/isolation.d.ts +8 -0
- package/dist/api/conformance/expected/isolation.js +37 -0
- package/dist/api/conformance/expected/other.d.ts +8 -0
- package/dist/api/conformance/expected/other.js +26 -0
- package/dist/api/conformance/expected/pagination.d.ts +8 -0
- package/dist/api/conformance/expected/pagination.js +23 -0
- package/dist/api/conformance/expected/security.d.ts +8 -0
- package/dist/api/conformance/expected/security.js +29 -0
- package/dist/api/conformance/expected/sort.d.ts +8 -0
- package/dist/api/conformance/expected/sort.js +13 -0
- package/dist/api/conformance/expected/table.d.ts +11 -0
- package/dist/api/conformance/expected/table.js +32 -0
- package/dist/api/conformance/expected/validation.d.ts +8 -0
- package/dist/api/conformance/expected/validation.js +12 -0
- package/dist/api/conformance/expected/write.d.ts +8 -0
- package/dist/api/conformance/expected/write.js +66 -0
- package/dist/api/conformance/expected-failures.d.ts +18 -0
- package/dist/api/conformance/expected-failures.js +18 -0
- package/dist/api/conformance/feature-gate/harness.d.ts +20 -0
- package/dist/api/conformance/feature-gate/harness.js +109 -0
- package/dist/api/conformance/feature-gate/spec.d.ts +5 -0
- package/dist/api/conformance/feature-gate/spec.js +114 -0
- package/dist/api/conformance/feature-gate.d.ts +11 -0
- package/dist/api/conformance/feature-gate.js +189 -0
- package/dist/api/conformance/fuzz/diagnose.d.ts +78 -0
- package/dist/api/conformance/fuzz/diagnose.js +102 -0
- package/dist/api/conformance/fuzz/render.d.ts +11 -0
- package/dist/api/conformance/fuzz/render.js +59 -0
- package/dist/api/conformance/fuzz.d.ts +55 -0
- package/dist/api/conformance/fuzz.js +139 -0
- package/dist/api/conformance/harness/counting.d.ts +62 -0
- package/dist/api/conformance/harness/counting.js +135 -0
- package/dist/api/conformance/harness/launch.d.ts +50 -0
- package/dist/api/conformance/harness/launch.js +46 -0
- package/dist/api/conformance/harness/result.d.ts +8 -0
- package/dist/api/conformance/harness/result.js +2 -0
- package/dist/api/conformance/harness/routes.d.ts +13 -0
- package/dist/api/conformance/harness/routes.js +15 -0
- package/dist/api/conformance/harness/security.d.ts +24 -0
- package/dist/api/conformance/harness/security.js +24 -0
- package/dist/api/conformance/harness/serve.d.ts +13 -0
- package/dist/api/conformance/harness/serve.js +26 -0
- package/dist/api/conformance/leaks.d.ts +30 -0
- package/dist/api/conformance/leaks.js +75 -0
- package/dist/api/conformance/matrix/cases.d.ts +63 -0
- package/dist/api/conformance/matrix/cases.js +157 -0
- package/dist/api/conformance/matrix/defects.d.ts +72 -0
- package/dist/api/conformance/matrix/defects.js +233 -0
- package/dist/api/conformance/matrix/engines.d.ts +26 -0
- package/dist/api/conformance/matrix/engines.js +45 -0
- package/dist/api/conformance/matrix/expected.d.ts +9 -0
- package/dist/api/conformance/matrix/expected.js +14 -0
- package/dist/api/conformance/matrix/opt-in.d.ts +14 -0
- package/dist/api/conformance/matrix/opt-in.js +15 -0
- package/dist/api/conformance/matrix/principals.d.ts +11 -0
- package/dist/api/conformance/matrix/principals.js +51 -0
- package/dist/api/conformance/matrix/render.d.ts +47 -0
- package/dist/api/conformance/matrix/render.js +211 -0
- package/dist/api/conformance/pool.d.ts +46 -0
- package/dist/api/conformance/pool.js +104 -0
- package/dist/api/conformance/rate-limit/backend.d.ts +9 -0
- package/dist/api/conformance/rate-limit/backend.js +90 -0
- package/dist/api/conformance/rate-limit/spec.d.ts +7 -0
- package/dist/api/conformance/rate-limit/spec.js +71 -0
- package/dist/api/conformance/rate-limit.d.ts +9 -0
- package/dist/api/conformance/rate-limit.js +137 -0
- package/dist/api/conformance/scope.d.ts +16 -0
- package/dist/api/conformance/scope.js +87 -0
- package/dist/api/conformance/seed-contract/fixture-walk.d.ts +42 -0
- package/dist/api/conformance/seed-contract/fixture-walk.js +143 -0
- package/dist/api/conformance/seed-contract/members.d.ts +15 -0
- package/dist/api/conformance/seed-contract/members.js +145 -0
- package/dist/api/conformance/seed-contract/project.d.ts +11 -0
- package/dist/api/conformance/seed-contract/project.js +113 -0
- package/dist/api/conformance/seed-contract/users.d.ts +14 -0
- package/dist/api/conformance/seed-contract/users.js +103 -0
- package/dist/api/conformance/seed-contract.d.ts +13 -0
- package/dist/api/conformance/seed-contract.js +152 -0
- package/dist/api/conformance/serve-tasks.d.ts +20 -0
- package/dist/api/conformance/serve-tasks.js +14 -0
- package/dist/api/conformance/shapes.d.ts +69 -0
- package/dist/api/conformance/shapes.js +208 -0
- package/dist/api/conformance/shards.d.ts +20 -0
- package/dist/api/conformance/shards.js +43 -0
- package/dist/api/conformance/specs/documents.d.ts +7 -0
- package/dist/api/conformance/specs/documents.js +131 -0
- package/dist/api/conformance/specs/models.d.ts +5 -0
- package/dist/api/conformance/specs/models.js +252 -0
- package/dist/api/conformance/specs/types.d.ts +10 -0
- package/dist/api/conformance/specs/types.js +2 -0
- package/dist/api/conformance/specs.d.ts +16 -0
- package/dist/api/conformance/specs.js +18 -0
- package/dist/api/conformance/suites/coverage-report.d.ts +9 -0
- package/dist/api/conformance/suites/coverage-report.js +50 -0
- package/dist/api/conformance/suites/example.d.ts +4 -0
- package/dist/api/conformance/suites/example.js +65 -0
- package/dist/api/conformance/suites/parser.d.ts +4 -0
- package/dist/api/conformance/suites/parser.js +92 -0
- package/dist/api/conformance/suites/payload-catalog.d.ts +3 -0
- package/dist/api/conformance/suites/payload-catalog.js +13 -0
- package/dist/api/conformance/suites/public-catalog.d.ts +7 -0
- package/dist/api/conformance/suites/public-catalog.js +168 -0
- package/dist/api/conformance/suites/render.d.ts +6 -0
- package/dist/api/conformance/suites/render.js +19 -0
- package/dist/api/conformance/suites/repro-syntax.d.ts +11 -0
- package/dist/api/conformance/suites/repro-syntax.js +55 -0
- package/dist/api/conformance/suites/tag-unlock.d.ts +19 -0
- package/dist/api/conformance/suites/tag-unlock.js +54 -0
- package/dist/api/conformance/suites/tenant-scope.d.ts +4 -0
- package/dist/api/conformance/suites/tenant-scope.js +125 -0
- package/dist/api/conformance/tasks.d.ts +70 -0
- package/dist/api/conformance/tasks.js +53 -0
- package/dist/api/conformance/unique/backend.d.ts +53 -0
- package/dist/api/conformance/unique/backend.js +152 -0
- package/dist/api/conformance/unique/cases.d.ts +22 -0
- package/dist/api/conformance/unique/cases.js +201 -0
- package/dist/api/conformance/unique/document.d.ts +12 -0
- package/dist/api/conformance/unique/document.js +106 -0
- package/dist/api/conformance/unique/judges.d.ts +28 -0
- package/dist/api/conformance/unique/judges.js +118 -0
- package/dist/api/conformance/unique/spec.d.ts +14 -0
- package/dist/api/conformance/unique/spec.js +139 -0
- package/dist/api/conformance/unique.d.ts +9 -0
- package/dist/api/conformance/unique.js +19 -0
- package/dist/api/conformance/worker.d.ts +3 -0
- package/dist/api/conformance/worker.js +5 -0
- package/dist/api/credentials/anchors.d.ts +24 -0
- package/dist/api/credentials/anchors.js +32 -0
- package/dist/api/credentials/dedicated.d.ts +8 -0
- package/dist/api/credentials/dedicated.js +106 -0
- package/dist/api/credentials/effective.d.ts +5 -0
- package/dist/api/credentials/effective.js +25 -0
- package/dist/api/credentials/expiry.d.ts +18 -0
- package/dist/api/credentials/expiry.js +24 -0
- package/dist/api/credentials/interpolate.d.ts +21 -0
- package/dist/api/credentials/interpolate.js +79 -0
- package/dist/api/credentials/jwt.d.ts +7 -0
- package/dist/api/credentials/jwt.js +20 -0
- package/dist/api/credentials/origin-recipes.d.ts +13 -0
- package/dist/api/credentials/origin-recipes.js +23 -0
- package/dist/api/credentials/placeholders.d.ts +10 -0
- package/dist/api/credentials/placeholders.js +71 -0
- package/dist/api/credentials/placement.d.ts +23 -0
- package/dist/api/credentials/placement.js +41 -0
- package/dist/api/credentials/ports.d.ts +96 -0
- package/dist/api/credentials/ports.js +2 -0
- package/dist/api/credentials/probe-principal.d.ts +9 -0
- package/dist/api/credentials/probe-principal.js +23 -0
- package/dist/api/credentials/read.d.ts +4 -0
- package/dist/api/credentials/read.js +16 -0
- package/dist/api/credentials/recipes/acquire.d.ts +7 -0
- package/dist/api/credentials/recipes/acquire.js +32 -0
- package/dist/api/credentials/recipes/answer.d.ts +14 -0
- package/dist/api/credentials/recipes/answer.js +32 -0
- package/dist/api/credentials/recipes/hook.d.ts +9 -0
- package/dist/api/credentials/recipes/hook.js +21 -0
- package/dist/api/credentials/recipes/login.d.ts +18 -0
- package/dist/api/credentials/recipes/login.js +146 -0
- package/dist/api/credentials/recipes/mint.d.ts +5 -0
- package/dist/api/credentials/recipes/mint.js +60 -0
- package/dist/api/credentials/recipes/oauth2.d.ts +5 -0
- package/dist/api/credentials/recipes/oauth2.js +54 -0
- package/dist/api/credentials/recipes/static.d.ts +8 -0
- package/dist/api/credentials/recipes/static.js +14 -0
- package/dist/api/credentials/recipes/types.d.ts +31 -0
- package/dist/api/credentials/recipes/types.js +2 -0
- package/dist/api/credentials/refresh.d.ts +13 -0
- package/dist/api/credentials/refresh.js +30 -0
- package/dist/api/credentials/satisfy.d.ts +13 -0
- package/dist/api/credentials/satisfy.js +35 -0
- package/dist/api/credentials/sign-in-fields.d.ts +4 -0
- package/dist/api/credentials/sign-in-fields.js +36 -0
- package/dist/api/credentials/signup.d.ts +9 -0
- package/dist/api/credentials/signup.js +24 -0
- package/dist/api/credentials/store-plan.d.ts +94 -0
- package/dist/api/credentials/store-plan.js +144 -0
- package/dist/api/credentials/store-types.d.ts +133 -0
- package/dist/api/credentials/store-types.js +3 -0
- package/dist/api/credentials/store.d.ts +5 -0
- package/dist/api/credentials/store.js +222 -0
- package/dist/api/credentials/validate/document.d.ts +10 -0
- package/dist/api/credentials/validate/document.js +52 -0
- package/dist/api/credentials/validate/origins.d.ts +27 -0
- package/dist/api/credentials/validate/origins.js +41 -0
- package/dist/api/credentials/validate/principals.d.ts +28 -0
- package/dist/api/credentials/validate/principals.js +184 -0
- package/dist/api/credentials/validate/recipe-shape.d.ts +22 -0
- package/dist/api/credentials/validate/recipe-shape.js +169 -0
- package/dist/api/credentials/validate/scenario-placeholders.d.ts +7 -0
- package/dist/api/credentials/validate/scenario-placeholders.js +106 -0
- package/dist/api/credentials/validate/security.d.ts +37 -0
- package/dist/api/credentials/validate/security.js +179 -0
- package/dist/api/credentials/writer.d.ts +5 -0
- package/dist/api/credentials/writer.js +9 -0
- package/dist/api/errors/message.d.ts +3 -0
- package/dist/api/errors/message.js +5 -0
- package/dist/api/errors/missing-value.d.ts +13 -0
- package/dist/api/errors/missing-value.js +16 -0
- package/dist/api/errors/network.d.ts +21 -0
- package/dist/api/errors/network.js +122 -0
- package/dist/api/errors/node-floor.d.ts +8 -0
- package/dist/api/errors/node-floor.js +8 -0
- package/dist/api/errors/suggest.d.ts +5 -0
- package/dist/api/errors/suggest.js +29 -0
- package/dist/api/errors/usage-error.d.ts +9 -0
- package/dist/api/errors/usage-error.js +9 -0
- package/dist/api/index.d.ts +26 -0
- package/dist/api/index.js +18 -0
- package/dist/api/reference/defects/bystanders.d.ts +8 -0
- package/dist/api/reference/defects/bystanders.js +7 -0
- package/dist/api/reference/defects/catalog.d.ts +88 -0
- package/dist/api/reference/defects/catalog.js +88 -0
- package/dist/api/reference/defects/composition.d.ts +59 -0
- package/dist/api/reference/defects/composition.js +59 -0
- package/dist/api/reference/defects/core.d.ts +63 -0
- package/dist/api/reference/defects/core.js +63 -0
- package/dist/api/reference/defects/defect-set.d.ts +10 -0
- package/dist/api/reference/defects/defect-set.js +19 -0
- package/dist/api/reference/defects/freshness.d.ts +8 -0
- package/dist/api/reference/defects/freshness.js +8 -0
- package/dist/api/reference/defects/query.d.ts +58 -0
- package/dist/api/reference/defects/query.js +58 -0
- package/dist/api/reference/defects/records.d.ts +172 -0
- package/dist/api/reference/defects/records.js +172 -0
- package/dist/api/reference/defects/security.d.ts +32 -0
- package/dist/api/reference/defects/security.js +32 -0
- package/dist/api/reference/defects/table.d.ts +21 -0
- package/dist/api/reference/defects/table.js +31 -0
- package/dist/api/reference/dialect/canonical.d.ts +10 -0
- package/dist/api/reference/dialect/canonical.js +42 -0
- package/dist/api/reference/dialect/presets.d.ts +63 -0
- package/dist/api/reference/dialect/presets.js +193 -0
- package/dist/api/reference/dialect/template.d.ts +3 -0
- package/dist/api/reference/dialect/template.js +63 -0
- package/dist/api/reference/dialect/types.d.ts +61 -0
- package/dist/api/reference/dialect/types.js +2 -0
- package/dist/api/reference/http/access.d.ts +27 -0
- package/dist/api/reference/http/access.js +131 -0
- package/dist/api/reference/http/auth/api-keys.d.ts +27 -0
- package/dist/api/reference/http/auth/api-keys.js +83 -0
- package/dist/api/reference/http/auth/credentials.d.ts +12 -0
- package/dist/api/reference/http/auth/credentials.js +33 -0
- package/dist/api/reference/http/auth/jwt.d.ts +11 -0
- package/dist/api/reference/http/auth/jwt.js +38 -0
- package/dist/api/reference/http/auth/sessions.d.ts +18 -0
- package/dist/api/reference/http/auth/sessions.js +105 -0
- package/dist/api/reference/http/auth/throttle.d.ts +8 -0
- package/dist/api/reference/http/auth/throttle.js +28 -0
- package/dist/api/reference/http/auth/types.d.ts +80 -0
- package/dist/api/reference/http/auth/types.js +3 -0
- package/dist/api/reference/http/body.d.ts +11 -0
- package/dist/api/reference/http/body.js +55 -0
- package/dist/api/reference/http/engines.d.ts +46 -0
- package/dist/api/reference/http/engines.js +75 -0
- package/dist/api/reference/http/errors.d.ts +16 -0
- package/dist/api/reference/http/errors.js +47 -0
- package/dist/api/reference/http/fetch.d.ts +4 -0
- package/dist/api/reference/http/fetch.js +12 -0
- package/dist/api/reference/http/handlers/actions.d.ts +6 -0
- package/dist/api/reference/http/handlers/actions.js +59 -0
- package/dist/api/reference/http/handlers/api-keys.d.ts +16 -0
- package/dist/api/reference/http/handlers/api-keys.js +64 -0
- package/dist/api/reference/http/handlers/auth.d.ts +25 -0
- package/dist/api/reference/http/handlers/auth.js +123 -0
- package/dist/api/reference/http/handlers/create.d.ts +6 -0
- package/dist/api/reference/http/handlers/create.js +141 -0
- package/dist/api/reference/http/handlers/entity.d.ts +9 -0
- package/dist/api/reference/http/handlers/entity.js +3 -0
- package/dist/api/reference/http/handlers/fixed.d.ts +16 -0
- package/dist/api/reference/http/handlers/fixed.js +129 -0
- package/dist/api/reference/http/handlers/grants.d.ts +6 -0
- package/dist/api/reference/http/handlers/grants.js +65 -0
- package/dist/api/reference/http/handlers/item.d.ts +8 -0
- package/dist/api/reference/http/handlers/item.js +129 -0
- package/dist/api/reference/http/handlers/list.d.ts +6 -0
- package/dist/api/reference/http/handlers/list.js +139 -0
- package/dist/api/reference/http/handlers/query-route.d.ts +4 -0
- package/dist/api/reference/http/handlers/query-route.js +35 -0
- package/dist/api/reference/http/handlers/styles.d.ts +4 -0
- package/dist/api/reference/http/handlers/styles.js +22 -0
- package/dist/api/reference/http/handlers/totp.d.ts +9 -0
- package/dist/api/reference/http/handlers/totp.js +34 -0
- package/dist/api/reference/http/ids.d.ts +38 -0
- package/dist/api/reference/http/ids.js +82 -0
- package/dist/api/reference/http/listing-query.d.ts +49 -0
- package/dist/api/reference/http/listing-query.js +120 -0
- package/dist/api/reference/http/node.d.ts +15 -0
- package/dist/api/reference/http/node.js +39 -0
- package/dist/api/reference/http/privileged.d.ts +12 -0
- package/dist/api/reference/http/privileged.js +27 -0
- package/dist/api/reference/http/read-cache.d.ts +27 -0
- package/dist/api/reference/http/read-cache.js +39 -0
- package/dist/api/reference/http/records.d.ts +36 -0
- package/dist/api/reference/http/records.js +116 -0
- package/dist/api/reference/http/reference.d.ts +48 -0
- package/dist/api/reference/http/reference.js +155 -0
- package/dist/api/reference/http/router.d.ts +6 -0
- package/dist/api/reference/http/router.js +121 -0
- package/dist/api/reference/http/routes.d.ts +9 -0
- package/dist/api/reference/http/routes.js +31 -0
- package/dist/api/reference/http/server.d.ts +10 -0
- package/dist/api/reference/http/server.js +25 -0
- package/dist/api/reference/http/state.d.ts +102 -0
- package/dist/api/reference/http/state.js +22 -0
- package/dist/api/reference/http/store-ops.d.ts +47 -0
- package/dist/api/reference/http/store-ops.js +161 -0
- package/dist/api/reference/http/validation.d.ts +26 -0
- package/dist/api/reference/http/validation.js +188 -0
- package/dist/api/reference/http/wire.d.ts +28 -0
- package/dist/api/reference/http/wire.js +23 -0
- package/dist/api/reference/listing/axes.d.ts +14 -0
- package/dist/api/reference/listing/axes.js +21 -0
- package/dist/api/reference/listing/order.d.ts +16 -0
- package/dist/api/reference/listing/order.js +37 -0
- package/dist/api/reference/listing/params.d.ts +19 -0
- package/dist/api/reference/listing/params.js +31 -0
- package/dist/api/reference/listing/predicate.d.ts +22 -0
- package/dist/api/reference/listing/predicate.js +56 -0
- package/dist/api/reference/listing/project.d.ts +14 -0
- package/dist/api/reference/listing/project.js +36 -0
- package/dist/api/reference/listing/run.d.ts +22 -0
- package/dist/api/reference/listing/run.js +88 -0
- package/dist/api/reference/listing/select.d.ts +13 -0
- package/dist/api/reference/listing/select.js +56 -0
- package/dist/api/reference/listing/types.d.ts +38 -0
- package/dist/api/reference/listing/types.js +2 -0
- package/dist/api/reference/listing/window.d.ts +23 -0
- package/dist/api/reference/listing/window.js +39 -0
- package/dist/api/reference/model/entities.d.ts +4 -0
- package/dist/api/reference/model/entities.js +7 -0
- package/dist/api/reference/model/fields.d.ts +11 -0
- package/dist/api/reference/model/fields.js +20 -0
- package/dist/api/reference/model/identity.d.ts +8 -0
- package/dist/api/reference/model/identity.js +27 -0
- package/dist/api/reference/model/job.d.ts +7 -0
- package/dist/api/reference/model/job.js +69 -0
- package/dist/api/reference/model/row.d.ts +4 -0
- package/dist/api/reference/model/row.js +46 -0
- package/dist/api/reference/model/shaped.d.ts +10 -0
- package/dist/api/reference/model/shaped.js +33 -0
- package/dist/api/reference/model/string-guard.d.ts +12 -0
- package/dist/api/reference/model/string-guard.js +15 -0
- package/dist/api/reference/model/table-shape.d.ts +7 -0
- package/dist/api/reference/model/table-shape.js +68 -0
- package/dist/api/reference/model/table.d.ts +4 -0
- package/dist/api/reference/model/table.js +72 -0
- package/dist/api/reference/model/timestamps.d.ts +4 -0
- package/dist/api/reference/model/timestamps.js +6 -0
- package/dist/api/reference/model/types.d.ts +92 -0
- package/dist/api/reference/model/types.js +8 -0
- package/dist/api/reference/model/webhook.d.ts +8 -0
- package/dist/api/reference/model/webhook.js +29 -0
- package/dist/api/reference/query/coerce.d.ts +10 -0
- package/dist/api/reference/query/coerce.js +27 -0
- package/dist/api/reference/query/compare.d.ts +6 -0
- package/dist/api/reference/query/compare.js +23 -0
- package/dist/api/reference/query/conventions.d.ts +20 -0
- package/dist/api/reference/query/conventions.js +3 -0
- package/dist/api/reference/query/evaluate.d.ts +6 -0
- package/dist/api/reference/query/evaluate.js +69 -0
- package/dist/api/reference/query/fields.d.ts +7 -0
- package/dist/api/reference/query/fields.js +18 -0
- package/dist/api/reference/query/filter.d.ts +18 -0
- package/dist/api/reference/query/filter.js +75 -0
- package/dist/api/reference/query/like.d.ts +5 -0
- package/dist/api/reference/query/like.js +38 -0
- package/dist/api/reference/query/operator.d.ts +7 -0
- package/dist/api/reference/query/operator.js +54 -0
- package/dist/api/reference/query/order.d.ts +10 -0
- package/dist/api/reference/query/order.js +59 -0
- package/dist/api/reference/query/scalar.d.ts +5 -0
- package/dist/api/reference/query/scalar.js +19 -0
- package/dist/api/reference/query/search.d.ts +9 -0
- package/dist/api/reference/query/search.js +24 -0
- package/dist/api/reference/query/split.d.ts +7 -0
- package/dist/api/reference/query/split.js +29 -0
- package/dist/api/reference/query/term-list.d.ts +7 -0
- package/dist/api/reference/query/term-list.js +40 -0
- package/dist/api/reference/query/term-types.d.ts +17 -0
- package/dist/api/reference/query/term-types.js +2 -0
- package/dist/api/reference/query/term.d.ts +5 -0
- package/dist/api/reference/query/term.js +98 -0
- package/dist/api/reference/query/tree.d.ts +6 -0
- package/dist/api/reference/query/tree.js +24 -0
- package/dist/api/reference/query-types.d.ts +76 -0
- package/dist/api/reference/query-types.js +4 -0
- package/dist/api/reference/shapes/catalog.d.ts +4 -0
- package/dist/api/reference/shapes/catalog.js +203 -0
- package/dist/api/reference/shapes/dialect.d.ts +5 -0
- package/dist/api/reference/shapes/dialect.js +61 -0
- package/dist/api/reference/shapes/named.d.ts +4 -0
- package/dist/api/reference/shapes/named.js +10 -0
- package/dist/api/reference/shapes/types.d.ts +112 -0
- package/dist/api/reference/shapes/types.js +14 -0
- package/dist/api/reference/spec/auth.d.ts +5 -0
- package/dist/api/reference/spec/auth.js +176 -0
- package/dist/api/reference/spec/build.d.ts +13 -0
- package/dist/api/reference/spec/build.js +66 -0
- package/dist/api/reference/spec/caller.d.ts +9 -0
- package/dist/api/reference/spec/caller.js +262 -0
- package/dist/api/reference/spec/collection.d.ts +17 -0
- package/dist/api/reference/spec/collection.js +146 -0
- package/dist/api/reference/spec/components.d.ts +4 -0
- package/dist/api/reference/spec/components.js +38 -0
- package/dist/api/reference/spec/consistency.d.ts +10 -0
- package/dist/api/reference/spec/consistency.js +10 -0
- package/dist/api/reference/spec/errors.d.ts +11 -0
- package/dist/api/reference/spec/errors.js +85 -0
- package/dist/api/reference/spec/invites.d.ts +5 -0
- package/dist/api/reference/spec/invites.js +92 -0
- package/dist/api/reference/spec/item.d.ts +6 -0
- package/dist/api/reference/spec/item.js +95 -0
- package/dist/api/reference/spec/jobs.d.ts +5 -0
- package/dist/api/reference/spec/jobs.js +119 -0
- package/dist/api/reference/spec/layout.d.ts +5 -0
- package/dist/api/reference/spec/layout.js +25 -0
- package/dist/api/reference/spec/operation.d.ts +15 -0
- package/dist/api/reference/spec/operation.js +31 -0
- package/dist/api/reference/spec/params.d.ts +12 -0
- package/dist/api/reference/spec/params.js +126 -0
- package/dist/api/reference/spec/public.d.ts +7 -0
- package/dist/api/reference/spec/public.js +65 -0
- package/dist/api/reference/spec/query-route.d.ts +10 -0
- package/dist/api/reference/spec/query-route.js +55 -0
- package/dist/api/reference/spec/query.d.ts +6 -0
- package/dist/api/reference/spec/query.js +109 -0
- package/dist/api/reference/spec/schemas.d.ts +21 -0
- package/dist/api/reference/spec/schemas.js +204 -0
- package/dist/api/reference/spec/security.d.ts +10 -0
- package/dist/api/reference/spec/security.js +19 -0
- package/dist/api/reference/spec/styles.d.ts +8 -0
- package/dist/api/reference/spec/styles.js +55 -0
- package/dist/api/reference/spec/types.d.ts +9 -0
- package/dist/api/reference/spec/types.js +2 -0
- package/dist/api/reference/store-api.d.ts +34 -0
- package/dist/api/reference/store-api.js +37 -0
- package/dist/api/reference/stores/memory.d.ts +29 -0
- package/dist/api/reference/stores/memory.js +66 -0
- package/dist/api/reference/stores/postgres-driver.d.ts +9 -0
- package/dist/api/reference/stores/postgres-driver.js +27 -0
- package/dist/api/reference/stores/postgres.d.ts +62 -0
- package/dist/api/reference/stores/postgres.js +188 -0
- package/dist/api/reference/stores/sql-compile.d.ts +53 -0
- package/dist/api/reference/stores/sql-compile.js +105 -0
- package/dist/api/reference/stores/sqlite-driver.d.ts +54 -0
- package/dist/api/reference/stores/sqlite-driver.js +100 -0
- package/dist/api/reference/stores/sqlite.d.ts +58 -0
- package/dist/api/reference/stores/sqlite.js +219 -0
- package/dist/api/report/confidence.d.ts +32 -0
- package/dist/api/report/confidence.js +134 -0
- package/dist/api/report/console/bypass.d.ts +13 -0
- package/dist/api/report/console/bypass.js +29 -0
- package/dist/api/report/console/catalog-checks.d.ts +9 -0
- package/dist/api/report/console/catalog-checks.js +106 -0
- package/dist/api/report/console/catalog.d.ts +45 -0
- package/dist/api/report/console/catalog.js +73 -0
- package/dist/api/report/console/describe.d.ts +27 -0
- package/dist/api/report/console/describe.js +58 -0
- package/dist/api/report/console/doctor-facts.d.ts +61 -0
- package/dist/api/report/console/doctor-facts.js +50 -0
- package/dist/api/report/console/doctor-notes.d.ts +12 -0
- package/dist/api/report/console/doctor-notes.js +77 -0
- package/dist/api/report/console/doctor-text.d.ts +12 -0
- package/dist/api/report/console/doctor-text.js +68 -0
- package/dist/api/report/console/doctor.d.ts +26 -0
- package/dist/api/report/console/doctor.js +78 -0
- package/dist/api/report/console/gaps.d.ts +9 -0
- package/dist/api/report/console/gaps.js +23 -0
- package/dist/api/report/console/plan.d.ts +19 -0
- package/dist/api/report/console/plan.js +138 -0
- package/dist/api/report/console/report.d.ts +8 -0
- package/dist/api/report/console/report.js +5 -0
- package/dist/api/report/console/roots.d.ts +28 -0
- package/dist/api/report/console/roots.js +34 -0
- package/dist/api/report/console/security-text.d.ts +8 -0
- package/dist/api/report/console/security-text.js +106 -0
- package/dist/api/report/console/security.d.ts +93 -0
- package/dist/api/report/console/security.js +153 -0
- package/dist/api/report/console/tags.d.ts +23 -0
- package/dist/api/report/console/tags.js +113 -0
- package/dist/api/report/diff.d.ts +57 -0
- package/dist/api/report/diff.js +95 -0
- package/dist/api/report/matrix/band.d.ts +7 -0
- package/dist/api/report/matrix/band.js +113 -0
- package/dist/api/report/matrix/cards.d.ts +9 -0
- package/dist/api/report/matrix/cards.js +41 -0
- package/dist/api/report/matrix/catalog.d.ts +33 -0
- package/dist/api/report/matrix/catalog.js +152 -0
- package/dist/api/report/matrix/graph.d.ts +16 -0
- package/dist/api/report/matrix/graph.js +108 -0
- package/dist/api/report/matrix/invalidate.d.ts +7 -0
- package/dist/api/report/matrix/invalidate.js +30 -0
- package/dist/api/report/matrix/loom.d.ts +7 -0
- package/dist/api/report/matrix/loom.js +117 -0
- package/dist/api/report/matrix/mermaid.d.ts +7 -0
- package/dist/api/report/matrix/mermaid.js +65 -0
- package/dist/api/report/matrix/poster.d.ts +10 -0
- package/dist/api/report/matrix/poster.js +105 -0
- package/dist/api/report/matrix/rows.d.ts +34 -0
- package/dist/api/report/matrix/rows.js +68 -0
- package/dist/api/report/matrix/slice.d.ts +25 -0
- package/dist/api/report/matrix/slice.js +62 -0
- package/dist/api/report/matrix/strips.d.ts +5 -0
- package/dist/api/report/matrix/strips.js +23 -0
- package/dist/api/report/matrix/style.d.ts +4 -0
- package/dist/api/report/matrix/style.js +103 -0
- package/dist/api/report/matrix/summary.d.ts +8 -0
- package/dist/api/report/matrix/summary.js +49 -0
- package/dist/api/report/matrix/text.d.ts +6 -0
- package/dist/api/report/matrix/text.js +10 -0
- package/dist/api/report/matrix/types.d.ts +149 -0
- package/dist/api/report/matrix/types.js +6 -0
- package/dist/api/report/matrix/view.d.ts +6 -0
- package/dist/api/report/matrix/view.js +41 -0
- package/dist/api/report/render/coverage.d.ts +29 -0
- package/dist/api/report/render/coverage.js +78 -0
- package/dist/api/report/render/input.d.ts +88 -0
- package/dist/api/report/render/input.js +2 -0
- package/dist/api/report/render/json.d.ts +9 -0
- package/dist/api/report/render/json.js +108 -0
- package/dist/api/report/render/junit.d.ts +14 -0
- package/dist/api/report/render/junit.js +218 -0
- package/dist/api/report/render/markdown-findings.d.ts +8 -0
- package/dist/api/report/render/markdown-findings.js +53 -0
- package/dist/api/report/render/markdown-head.d.ts +8 -0
- package/dist/api/report/render/markdown-head.js +82 -0
- package/dist/api/report/render/markdown-sections.d.ts +35 -0
- package/dist/api/report/render/markdown-sections.js +125 -0
- package/dist/api/report/render/markdown.d.ts +12 -0
- package/dist/api/report/render/markdown.js +38 -0
- package/dist/api/report/render/repro.d.ts +13 -0
- package/dist/api/report/render/repro.js +47 -0
- package/dist/api/report/render/scope.d.ts +8 -0
- package/dist/api/report/render/scope.js +98 -0
- package/dist/api/report/render/step-summary.d.ts +17 -0
- package/dist/api/report/render/step-summary.js +153 -0
- package/dist/api/report/render/summary.d.ts +3 -0
- package/dist/api/report/render/summary.js +143 -0
- package/dist/api/report/render/text.d.ts +13 -0
- package/dist/api/report/render/text.js +54 -0
- package/dist/api/report/render/traffic.d.ts +37 -0
- package/dist/api/report/render/traffic.js +54 -0
- package/dist/api/report/render/verdicts.d.ts +10 -0
- package/dist/api/report/render/verdicts.js +33 -0
- package/dist/api/runtime/accounts/identity.d.ts +14 -0
- package/dist/api/runtime/accounts/identity.js +30 -0
- package/dist/api/runtime/accounts/ledger.d.ts +68 -0
- package/dist/api/runtime/accounts/ledger.js +96 -0
- package/dist/api/runtime/accounts/ops.d.ts +28 -0
- package/dist/api/runtime/accounts/ops.js +35 -0
- package/dist/api/runtime/accounts/watch.d.ts +19 -0
- package/dist/api/runtime/accounts/watch.js +66 -0
- package/dist/api/runtime/async.d.ts +95 -0
- package/dist/api/runtime/async.js +206 -0
- package/dist/api/runtime/baseline.d.ts +34 -0
- package/dist/api/runtime/baseline.js +103 -0
- package/dist/api/runtime/blocked-check.d.ts +14 -0
- package/dist/api/runtime/blocked-check.js +18 -0
- package/dist/api/runtime/body/encode.d.ts +20 -0
- package/dist/api/runtime/body/encode.js +50 -0
- package/dist/api/runtime/body/form-data.d.ts +16 -0
- package/dist/api/runtime/body/form-data.js +41 -0
- package/dist/api/runtime/body/form-pairs.d.ts +13 -0
- package/dist/api/runtime/body/form-pairs.js +26 -0
- package/dist/api/runtime/body/multipart.d.ts +7 -0
- package/dist/api/runtime/body/multipart.js +78 -0
- package/dist/api/runtime/body/schema.d.ts +12 -0
- package/dist/api/runtime/body/schema.js +68 -0
- package/dist/api/runtime/body/types.d.ts +33 -0
- package/dist/api/runtime/body/types.js +3 -0
- package/dist/api/runtime/body/upload-parts.d.ts +14 -0
- package/dist/api/runtime/body/upload-parts.js +53 -0
- package/dist/api/runtime/check-costs.d.ts +15 -0
- package/dist/api/runtime/check-costs.js +133 -0
- package/dist/api/runtime/check-ids.d.ts +35 -0
- package/dist/api/runtime/check-ids.js +204 -0
- package/dist/api/runtime/checks/core/check.d.ts +116 -0
- package/dist/api/runtime/checks/core/check.js +3 -0
- package/dist/api/runtime/checks/core/context.d.ts +175 -0
- package/dist/api/runtime/checks/core/context.js +10 -0
- package/dist/api/runtime/checks/core/define.d.ts +7 -0
- package/dist/api/runtime/checks/core/define.js +10 -0
- package/dist/api/runtime/checks/core/operation-context.d.ts +162 -0
- package/dist/api/runtime/checks/core/operation-context.js +3 -0
- package/dist/api/runtime/checks/core/operation.d.ts +20 -0
- package/dist/api/runtime/checks/core/operation.js +33 -0
- package/dist/api/runtime/checks/core/plan.d.ts +30 -0
- package/dist/api/runtime/checks/core/plan.js +24 -0
- package/dist/api/runtime/checks/core/registry.d.ts +12 -0
- package/dist/api/runtime/checks/core/registry.js +38 -0
- package/dist/api/runtime/checks/core/run.d.ts +26 -0
- package/dist/api/runtime/checks/core/run.js +65 -0
- package/dist/api/runtime/checks/families/composition/plans.d.ts +35 -0
- package/dist/api/runtime/checks/families/composition/plans.js +147 -0
- package/dist/api/runtime/checks/families/composition/query-axes-compose.d.ts +19 -0
- package/dist/api/runtime/checks/families/composition/query-axes-compose.js +89 -0
- package/dist/api/runtime/checks/families/composition/query-filter-and-select-compose.d.ts +20 -0
- package/dist/api/runtime/checks/families/composition/query-filter-and-select-compose.js +83 -0
- package/dist/api/runtime/checks/families/composition/query-filter-search-select-compose.d.ts +12 -0
- package/dist/api/runtime/checks/families/composition/query-filter-search-select-compose.js +81 -0
- package/dist/api/runtime/checks/families/composition/query-filter-search-sort-compose.d.ts +14 -0
- package/dist/api/runtime/checks/families/composition/query-filter-search-sort-compose.js +84 -0
- package/dist/api/runtime/checks/families/composition/query-filter-search-sort-select-compose.d.ts +9 -0
- package/dist/api/runtime/checks/families/composition/query-filter-search-sort-select-compose.js +75 -0
- package/dist/api/runtime/checks/families/composition/query-filter-selects-from-whole-set.d.ts +19 -0
- package/dist/api/runtime/checks/families/composition/query-filter-selects-from-whole-set.js +101 -0
- package/dist/api/runtime/checks/families/composition/query-filter-sort-select-compose.d.ts +17 -0
- package/dist/api/runtime/checks/families/composition/query-filter-sort-select-compose.js +89 -0
- package/dist/api/runtime/checks/families/composition/query-search-and-filter-compose.d.ts +18 -0
- package/dist/api/runtime/checks/families/composition/query-search-and-filter-compose.js +84 -0
- package/dist/api/runtime/checks/families/composition/query-search-and-select-compose.d.ts +8 -0
- package/dist/api/runtime/checks/families/composition/query-search-and-select-compose.js +57 -0
- package/dist/api/runtime/checks/families/composition/query-search-and-sort-compose.d.ts +7 -0
- package/dist/api/runtime/checks/families/composition/query-search-and-sort-compose.js +79 -0
- package/dist/api/runtime/checks/families/composition/query-sort-and-select-compose.d.ts +7 -0
- package/dist/api/runtime/checks/families/composition/query-sort-and-select-compose.js +57 -0
- package/dist/api/runtime/checks/families/composition/query-unknown-parameter-consistent.d.ts +13 -0
- package/dist/api/runtime/checks/families/composition/query-unknown-parameter-consistent.js +76 -0
- package/dist/api/runtime/checks/families/conformance/response-status-is-documented.d.ts +10 -0
- package/dist/api/runtime/checks/families/conformance/response-status-is-documented.js +117 -0
- package/dist/api/runtime/checks/families/conformance/response-write-only-not-returned.d.ts +13 -0
- package/dist/api/runtime/checks/families/conformance/response-write-only-not-returned.js +116 -0
- package/dist/api/runtime/checks/families/conformance/schema-error-response-matches-document.d.ts +10 -0
- package/dist/api/runtime/checks/families/conformance/schema-error-response-matches-document.js +119 -0
- package/dist/api/runtime/checks/families/conformance/schema-problem-json-shape.d.ts +11 -0
- package/dist/api/runtime/checks/families/conformance/schema-problem-json-shape.js +92 -0
- package/dist/api/runtime/checks/families/conformance/schema-read-response-matches-document.d.ts +15 -0
- package/dist/api/runtime/checks/families/conformance/schema-read-response-matches-document.js +111 -0
- package/dist/api/runtime/checks/families/conformance/schema-success-response-matches-document.d.ts +10 -0
- package/dist/api/runtime/checks/families/conformance/schema-success-response-matches-document.js +58 -0
- package/dist/api/runtime/checks/families/conformance/schema-verdict.d.ts +12 -0
- package/dist/api/runtime/checks/families/conformance/schema-verdict.js +27 -0
- package/dist/api/runtime/checks/families/consistency/bypass-is-fresh.d.ts +12 -0
- package/dist/api/runtime/checks/families/consistency/bypass-is-fresh.js +57 -0
- package/dist/api/runtime/checks/families/consistency/consistency-projections-agree.d.ts +28 -0
- package/dist/api/runtime/checks/families/consistency/consistency-projections-agree.js +165 -0
- package/dist/api/runtime/checks/families/consistency/freshness-write.d.ts +37 -0
- package/dist/api/runtime/checks/families/consistency/freshness-write.js +79 -0
- package/dist/api/runtime/checks/families/consistency/invalidation-declared-route-changes.d.ts +22 -0
- package/dist/api/runtime/checks/families/consistency/invalidation-declared-route-changes.js +130 -0
- package/dist/api/runtime/checks/families/consistency/list-item-matches-listed-row.d.ts +7 -0
- package/dist/api/runtime/checks/families/consistency/list-item-matches-listed-row.js +71 -0
- package/dist/api/runtime/checks/families/consistency/list-read-after-write.d.ts +5 -0
- package/dist/api/runtime/checks/families/consistency/list-read-after-write.js +101 -0
- package/dist/api/runtime/checks/families/consistency/staleness-schedule.d.ts +15 -0
- package/dist/api/runtime/checks/families/consistency/staleness-schedule.js +31 -0
- package/dist/api/runtime/checks/families/consistency/staleness-watch.d.ts +35 -0
- package/dist/api/runtime/checks/families/consistency/staleness-watch.js +32 -0
- package/dist/api/runtime/checks/families/consistency/staleness-within-bound.d.ts +18 -0
- package/dist/api/runtime/checks/families/consistency/staleness-within-bound.js +109 -0
- package/dist/api/runtime/checks/families/effects-async/async-reaches-terminal-state.d.ts +3 -0
- package/dist/api/runtime/checks/families/effects-async/async-reaches-terminal-state.js +161 -0
- package/dist/api/runtime/checks/families/effects-async/async-receipt-identifies-the-job.d.ts +3 -0
- package/dist/api/runtime/checks/families/effects-async/async-receipt-identifies-the-job.js +54 -0
- package/dist/api/runtime/checks/families/effects-async/effect-verdicts.d.ts +27 -0
- package/dist/api/runtime/checks/families/effects-async/effect-verdicts.js +133 -0
- package/dist/api/runtime/checks/families/effects-async/effects-declared-effect-occurs.d.ts +3 -0
- package/dist/api/runtime/checks/families/effects-async/effects-declared-effect-occurs.js +174 -0
- package/dist/api/runtime/checks/families/effects-async/effects-side-effect-arrives.d.ts +7 -0
- package/dist/api/runtime/checks/families/effects-async/effects-side-effect-arrives.js +99 -0
- package/dist/api/runtime/checks/families/effects-async/observe.d.ts +25 -0
- package/dist/api/runtime/checks/families/effects-async/observe.js +39 -0
- package/dist/api/runtime/checks/families/effects-async/requests.d.ts +9 -0
- package/dist/api/runtime/checks/families/effects-async/requests.js +23 -0
- package/dist/api/runtime/checks/families/filter/compound.d.ts +51 -0
- package/dist/api/runtime/checks/families/filter/compound.js +75 -0
- package/dist/api/runtime/checks/families/filter/error-malformed-filter-not-5xx.d.ts +3 -0
- package/dist/api/runtime/checks/families/filter/error-malformed-filter-not-5xx.js +46 -0
- package/dist/api/runtime/checks/families/filter/fields.d.ts +16 -0
- package/dist/api/runtime/checks/families/filter/fields.js +54 -0
- package/dist/api/runtime/checks/families/filter/filter-alias-matches-canonical.d.ts +3 -0
- package/dist/api/runtime/checks/families/filter/filter-alias-matches-canonical.js +60 -0
- package/dist/api/runtime/checks/families/filter/filter-and-composes-as-intersection.d.ts +10 -0
- package/dist/api/runtime/checks/families/filter/filter-and-composes-as-intersection.js +54 -0
- package/dist/api/runtime/checks/families/filter/filter-condition-cap-rejected.d.ts +7 -0
- package/dist/api/runtime/checks/families/filter/filter-condition-cap-rejected.js +39 -0
- package/dist/api/runtime/checks/families/filter/filter-contains-membership.d.ts +8 -0
- package/dist/api/runtime/checks/families/filter/filter-contains-membership.js +66 -0
- package/dist/api/runtime/checks/families/filter/filter-empty-in.d.ts +8 -0
- package/dist/api/runtime/checks/families/filter/filter-empty-in.js +54 -0
- package/dist/api/runtime/checks/families/filter/filter-equality-selects-exactly-one.d.ts +7 -0
- package/dist/api/runtime/checks/families/filter/filter-equality-selects-exactly-one.js +45 -0
- package/dist/api/runtime/checks/families/filter/filter-gte-is-gt-or-eq.d.ts +4 -0
- package/dist/api/runtime/checks/families/filter/filter-gte-is-gt-or-eq.js +21 -0
- package/dist/api/runtime/checks/families/filter/filter-ilike-is-case-insensitive.d.ts +10 -0
- package/dist/api/runtime/checks/families/filter/filter-ilike-is-case-insensitive.js +65 -0
- package/dist/api/runtime/checks/families/filter/filter-illegal-op-rejected.d.ts +17 -0
- package/dist/api/runtime/checks/families/filter/filter-illegal-op-rejected.js +103 -0
- package/dist/api/runtime/checks/families/filter/filter-in-is-union-of-eq.d.ts +10 -0
- package/dist/api/runtime/checks/families/filter/filter-in-is-union-of-eq.js +57 -0
- package/dist/api/runtime/checks/families/filter/filter-in-over-limit-rejected.d.ts +7 -0
- package/dist/api/runtime/checks/families/filter/filter-in-over-limit-rejected.js +38 -0
- package/dist/api/runtime/checks/families/filter/filter-is-null-selects-nulls.d.ts +8 -0
- package/dist/api/runtime/checks/families/filter/filter-is-null-selects-nulls.js +71 -0
- package/dist/api/runtime/checks/families/filter/filter-like-metacharacters-escaped.d.ts +6 -0
- package/dist/api/runtime/checks/families/filter/filter-like-metacharacters-escaped.js +56 -0
- package/dist/api/runtime/checks/families/filter/filter-lte-is-lt-or-eq.d.ts +4 -0
- package/dist/api/runtime/checks/families/filter/filter-lte-is-lt-or-eq.js +21 -0
- package/dist/api/runtime/checks/families/filter/filter-malformed-term-rejected.d.ts +11 -0
- package/dist/api/runtime/checks/families/filter/filter-malformed-term-rejected.js +72 -0
- package/dist/api/runtime/checks/families/filter/filter-negation-partitions-the-set.d.ts +8 -0
- package/dist/api/runtime/checks/families/filter/filter-negation-partitions-the-set.js +99 -0
- package/dist/api/runtime/checks/families/filter/filter-nested-and-or-distributes.d.ts +8 -0
- package/dist/api/runtime/checks/families/filter/filter-nested-and-or-distributes.js +80 -0
- package/dist/api/runtime/checks/families/filter/filter-nin-complements-in.d.ts +8 -0
- package/dist/api/runtime/checks/families/filter/filter-nin-complements-in.js +90 -0
- package/dist/api/runtime/checks/families/filter/filter-numeric-comparison-is-numeric.d.ts +32 -0
- package/dist/api/runtime/checks/families/filter/filter-numeric-comparison-is-numeric.js +125 -0
- package/dist/api/runtime/checks/families/filter/filter-or-composes-as-union.d.ts +10 -0
- package/dist/api/runtime/checks/families/filter/filter-or-composes-as-union.js +58 -0
- package/dist/api/runtime/checks/families/filter/filter-ordered-triple-partitions.d.ts +9 -0
- package/dist/api/runtime/checks/families/filter/filter-ordered-triple-partitions.js +103 -0
- package/dist/api/runtime/checks/families/filter/filter-unknown-field-rejected.d.ts +5 -0
- package/dist/api/runtime/checks/families/filter/filter-unknown-field-rejected.js +53 -0
- package/dist/api/runtime/checks/families/filter/filter-zero-match-returns-none.d.ts +5 -0
- package/dist/api/runtime/checks/families/filter/filter-zero-match-returns-none.js +38 -0
- package/dist/api/runtime/checks/families/filter/range.d.ts +16 -0
- package/dist/api/runtime/checks/families/filter/range.js +57 -0
- package/dist/api/runtime/checks/families/isolation/auth-invite-grants-then-revokes.d.ts +10 -0
- package/dist/api/runtime/checks/families/isolation/auth-invite-grants-then-revokes.js +138 -0
- package/dist/api/runtime/checks/families/isolation/auth-rank-is-monotonic-on-writes.d.ts +14 -0
- package/dist/api/runtime/checks/families/isolation/auth-rank-is-monotonic-on-writes.js +127 -0
- package/dist/api/runtime/checks/families/isolation/auth-rank-is-monotonic.d.ts +18 -0
- package/dist/api/runtime/checks/families/isolation/auth-rank-is-monotonic.js +74 -0
- package/dist/api/runtime/checks/families/isolation/invite-flow.d.ts +66 -0
- package/dist/api/runtime/checks/families/isolation/invite-flow.js +160 -0
- package/dist/api/runtime/checks/families/isolation/tenant-denial-does-not-reveal-existence.d.ts +21 -0
- package/dist/api/runtime/checks/families/isolation/tenant-denial-does-not-reveal-existence.js +71 -0
- package/dist/api/runtime/checks/families/isolation/tenant-filter-does-not-bypass-scope.d.ts +8 -0
- package/dist/api/runtime/checks/families/isolation/tenant-filter-does-not-bypass-scope.js +68 -0
- package/dist/api/runtime/checks/families/isolation/tenant-item-not-readable-cross-tenant.d.ts +9 -0
- package/dist/api/runtime/checks/families/isolation/tenant-item-not-readable-cross-tenant.js +60 -0
- package/dist/api/runtime/checks/families/isolation/tenant-item-not-writable-cross-tenant.d.ts +18 -0
- package/dist/api/runtime/checks/families/isolation/tenant-item-not-writable-cross-tenant.js +120 -0
- package/dist/api/runtime/checks/families/isolation/tenant-parent-not-reachable-from-another-root.d.ts +17 -0
- package/dist/api/runtime/checks/families/isolation/tenant-parent-not-reachable-from-another-root.js +137 -0
- package/dist/api/runtime/checks/families/isolation/tenant.d.ts +8 -0
- package/dist/api/runtime/checks/families/isolation/tenant.js +11 -0
- package/dist/api/runtime/checks/families/pagination/count-consistent-with-returned-page.d.ts +10 -0
- package/dist/api/runtime/checks/families/pagination/count-consistent-with-returned-page.js +43 -0
- package/dist/api/runtime/checks/families/pagination/count-matches-filtered-set.d.ts +5 -0
- package/dist/api/runtime/checks/families/pagination/count-matches-filtered-set.js +44 -0
- package/dist/api/runtime/checks/families/pagination/pagination-bounds-handled.d.ts +14 -0
- package/dist/api/runtime/checks/families/pagination/pagination-bounds-handled.js +74 -0
- package/dist/api/runtime/checks/families/pagination/pagination-cursor-agrees-with-page.d.ts +3 -0
- package/dist/api/runtime/checks/families/pagination/pagination-cursor-agrees-with-page.js +109 -0
- package/dist/api/runtime/checks/families/pagination/pagination-has-more-is-accurate.d.ts +3 -0
- package/dist/api/runtime/checks/families/pagination/pagination-has-more-is-accurate.js +36 -0
- package/dist/api/runtime/checks/families/pagination/pagination-limit-bounds-enforced.d.ts +10 -0
- package/dist/api/runtime/checks/families/pagination/pagination-limit-bounds-enforced.js +54 -0
- package/dist/api/runtime/checks/families/pagination/pagination-limit-bounds-page-size.d.ts +3 -0
- package/dist/api/runtime/checks/families/pagination/pagination-limit-bounds-page-size.js +28 -0
- package/dist/api/runtime/checks/families/pagination/pagination-limit-respects-documented-max.d.ts +6 -0
- package/dist/api/runtime/checks/families/pagination/pagination-limit-respects-documented-max.js +39 -0
- package/dist/api/runtime/checks/families/pagination/pagination-page-walk-covers-set.d.ts +3 -0
- package/dist/api/runtime/checks/families/pagination/pagination-page-walk-covers-set.js +90 -0
- package/dist/api/runtime/checks/families/pagination/walk.d.ts +16 -0
- package/dist/api/runtime/checks/families/pagination/walk.js +23 -0
- package/dist/api/runtime/checks/families/search-select/search-case-insensitive.d.ts +6 -0
- package/dist/api/runtime/checks/families/search-select/search-case-insensitive.js +63 -0
- package/dist/api/runtime/checks/families/search-select/search-empty-q.d.ts +6 -0
- package/dist/api/runtime/checks/families/search-select/search-empty-q.js +51 -0
- package/dist/api/runtime/checks/families/search-select/search-mode-accepted.d.ts +3 -0
- package/dist/api/runtime/checks/families/search-select/search-mode-accepted.js +42 -0
- package/dist/api/runtime/checks/families/search-select/search-q-narrows-result.d.ts +5 -0
- package/dist/api/runtime/checks/families/search-select/search-q-narrows-result.js +38 -0
- package/dist/api/runtime/checks/families/search-select/search-tokens-and.d.ts +6 -0
- package/dist/api/runtime/checks/families/search-select/search-tokens-and.js +64 -0
- package/dist/api/runtime/checks/families/search-select/select-nested-honored.d.ts +10 -0
- package/dist/api/runtime/checks/families/search-select/select-nested-honored.js +60 -0
- package/dist/api/runtime/checks/families/search-select/select-projection-honored.d.ts +6 -0
- package/dist/api/runtime/checks/families/search-select/select-projection-honored.js +42 -0
- package/dist/api/runtime/checks/families/search-select/select-requested-fields-present.d.ts +6 -0
- package/dist/api/runtime/checks/families/search-select/select-requested-fields-present.js +45 -0
- package/dist/api/runtime/checks/families/search-select/select-unknown-field-rejected.d.ts +8 -0
- package/dist/api/runtime/checks/families/search-select/select-unknown-field-rejected.js +48 -0
- package/dist/api/runtime/checks/families/security/auth-alternative-accepted.d.ts +20 -0
- package/dist/api/runtime/checks/families/security/auth-alternative-accepted.js +84 -0
- package/dist/api/runtime/checks/families/security/auth-anonymous-operation-open.d.ts +6 -0
- package/dist/api/runtime/checks/families/security/auth-anonymous-operation-open.js +47 -0
- package/dist/api/runtime/checks/families/security/auth-cross-tenant-key-refused.d.ts +20 -0
- package/dist/api/runtime/checks/families/security/auth-cross-tenant-key-refused.js +89 -0
- package/dist/api/runtime/checks/families/security/auth-invalid-credential-refused.d.ts +16 -0
- package/dist/api/runtime/checks/families/security/auth-invalid-credential-refused.js +67 -0
- package/dist/api/runtime/checks/families/security/auth-login-throttled.d.ts +16 -0
- package/dist/api/runtime/checks/families/security/auth-login-throttled.js +91 -0
- package/dist/api/runtime/checks/families/security/auth-missing-credential-refused.d.ts +4 -0
- package/dist/api/runtime/checks/families/security/auth-missing-credential-refused.js +29 -0
- package/dist/api/runtime/checks/families/security/auth-privileged-field-ignored.d.ts +34 -0
- package/dist/api/runtime/checks/families/security/auth-privileged-field-ignored.js +210 -0
- package/dist/api/runtime/checks/families/security/auth-refresh-reuse-refused.d.ts +10 -0
- package/dist/api/runtime/checks/families/security/auth-refresh-reuse-refused.js +52 -0
- package/dist/api/runtime/checks/families/security/auth-revoked-credential-refused.d.ts +10 -0
- package/dist/api/runtime/checks/families/security/auth-revoked-credential-refused.js +57 -0
- package/dist/api/runtime/checks/families/security/auth-role-enforced.d.ts +21 -0
- package/dist/api/runtime/checks/families/security/auth-role-enforced.js +74 -0
- package/dist/api/runtime/checks/families/security/auth-scope-enforced.d.ts +10 -0
- package/dist/api/runtime/checks/families/security/auth-scope-enforced.js +89 -0
- package/dist/api/runtime/checks/families/security/auth-wrong-scheme-refused.d.ts +10 -0
- package/dist/api/runtime/checks/families/security/auth-wrong-scheme-refused.js +45 -0
- package/dist/api/runtime/checks/families/security/lifecycle.d.ts +70 -0
- package/dist/api/runtime/checks/families/security/lifecycle.js +161 -0
- package/dist/api/runtime/checks/families/security/privileged-signup.d.ts +44 -0
- package/dist/api/runtime/checks/families/security/privileged-signup.js +227 -0
- package/dist/api/runtime/checks/families/security/probing.d.ts +77 -0
- package/dist/api/runtime/checks/families/security/probing.js +148 -0
- package/dist/api/runtime/checks/families/security/writable.d.ts +19 -0
- package/dist/api/runtime/checks/families/security/writable.js +40 -0
- package/dist/api/runtime/checks/families/sort/sort-default-order-applied.d.ts +5 -0
- package/dist/api/runtime/checks/families/sort/sort-default-order-applied.js +47 -0
- package/dist/api/runtime/checks/families/sort/sort-invalid-direction-rejected.d.ts +10 -0
- package/dist/api/runtime/checks/families/sort/sort-invalid-direction-rejected.js +56 -0
- package/dist/api/runtime/checks/families/sort/sort-multi-key-tiebreak.d.ts +8 -0
- package/dist/api/runtime/checks/families/sort/sort-multi-key-tiebreak.js +76 -0
- package/dist/api/runtime/checks/families/sort/sort-nulls-first-last.d.ts +8 -0
- package/dist/api/runtime/checks/families/sort/sort-nulls-first-last.js +67 -0
- package/dist/api/runtime/checks/families/sort/sort-numeric-order-is-numeric.d.ts +6 -0
- package/dist/api/runtime/checks/families/sort/sort-numeric-order-is-numeric.js +44 -0
- package/dist/api/runtime/checks/families/sort/sort-order-is-applied.d.ts +5 -0
- package/dist/api/runtime/checks/families/sort/sort-order-is-applied.js +54 -0
- package/dist/api/runtime/checks/families/sort/sort-reverse-symmetry.d.ts +5 -0
- package/dist/api/runtime/checks/families/sort/sort-reverse-symmetry.js +115 -0
- package/dist/api/runtime/checks/families/sort/sort-stable-tiebreak.d.ts +6 -0
- package/dist/api/runtime/checks/families/sort/sort-stable-tiebreak.js +80 -0
- package/dist/api/runtime/checks/families/sort/sort-unknown-field-rejected.d.ts +3 -0
- package/dist/api/runtime/checks/families/sort/sort-unknown-field-rejected.js +38 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-filterable-is-filterable.d.ts +18 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-filterable-is-filterable.js +139 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-filterable-ops-accepted.d.ts +3 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-filterable-ops-accepted.js +90 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-rate-limit-is-honored.d.ts +14 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-rate-limit-is-honored.js +62 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-selectable-is-selectable.d.ts +8 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-selectable-is-selectable.js +79 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-sortable-is-sortable.d.ts +8 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-sortable-is-sortable.js +76 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-sortable-nulls-accepted.d.ts +3 -0
- package/dist/api/runtime/checks/families/spec-declarations/spec-declared-sortable-nulls-accepted.js +52 -0
- package/dist/api/runtime/checks/families/validation/bodies.d.ts +16 -0
- package/dist/api/runtime/checks/families/validation/bodies.js +30 -0
- package/dist/api/runtime/checks/families/validation/invalid-body.d.ts +29 -0
- package/dist/api/runtime/checks/families/validation/invalid-body.js +52 -0
- package/dist/api/runtime/checks/families/validation/request-invalid-body-refused.d.ts +18 -0
- package/dist/api/runtime/checks/families/validation/request-invalid-body-refused.js +152 -0
- package/dist/api/runtime/checks/families/validation/undeliverable.d.ts +3 -0
- package/dist/api/runtime/checks/families/validation/undeliverable.js +40 -0
- package/dist/api/runtime/checks/families/validation/validation-content-type-enforced.d.ts +9 -0
- package/dist/api/runtime/checks/families/validation/validation-content-type-enforced.js +50 -0
- package/dist/api/runtime/checks/families/validation/validation-enum-enforced.d.ts +6 -0
- package/dist/api/runtime/checks/families/validation/validation-enum-enforced.js +44 -0
- package/dist/api/runtime/checks/families/validation/validation-max-length-enforced.d.ts +6 -0
- package/dist/api/runtime/checks/families/validation/validation-max-length-enforced.js +44 -0
- package/dist/api/runtime/checks/families/validation/validation-required-enforced.d.ts +6 -0
- package/dist/api/runtime/checks/families/validation/validation-required-enforced.js +40 -0
- package/dist/api/runtime/checks/families/write/concurrency-if-match-enforced.d.ts +23 -0
- package/dist/api/runtime/checks/families/write/concurrency-if-match-enforced.js +154 -0
- package/dist/api/runtime/checks/families/write/concurrency-no-lost-update.d.ts +14 -0
- package/dist/api/runtime/checks/families/write/concurrency-no-lost-update.js +216 -0
- package/dist/api/runtime/checks/families/write/create-keeps-submitted-identity.d.ts +11 -0
- package/dist/api/runtime/checks/families/write/create-keeps-submitted-identity.js +122 -0
- package/dist/api/runtime/checks/families/write/create-persists-submitted-fields.d.ts +20 -0
- package/dist/api/runtime/checks/families/write/create-persists-submitted-fields.js +209 -0
- package/dist/api/runtime/checks/families/write/create-status-matches-document.d.ts +7 -0
- package/dist/api/runtime/checks/families/write/create-status-matches-document.js +34 -0
- package/dist/api/runtime/checks/families/write/create-unique-conflict-rejected.d.ts +11 -0
- package/dist/api/runtime/checks/families/write/create-unique-conflict-rejected.js +172 -0
- package/dist/api/runtime/checks/families/write/delete-absent-record-returns-404.d.ts +7 -0
- package/dist/api/runtime/checks/families/write/delete-absent-record-returns-404.js +46 -0
- package/dist/api/runtime/checks/families/write/idempotency-replay-does-not-duplicate.d.ts +21 -0
- package/dist/api/runtime/checks/families/write/idempotency-replay-does-not-duplicate.js +132 -0
- package/dist/api/runtime/checks/families/write/patch-immutable-field-rejected.d.ts +8 -0
- package/dist/api/runtime/checks/families/write/patch-immutable-field-rejected.js +65 -0
- package/dist/api/runtime/checks/families/write/patch-minimality.d.ts +8 -0
- package/dist/api/runtime/checks/families/write/patch-minimality.js +160 -0
- package/dist/api/runtime/checks/families/write/payload-cases.d.ts +37 -0
- package/dist/api/runtime/checks/families/write/payload-cases.js +132 -0
- package/dist/api/runtime/checks/families/write/payload-claims.d.ts +28 -0
- package/dist/api/runtime/checks/families/write/payload-claims.js +46 -0
- package/dist/api/runtime/checks/families/write/payload-probe.d.ts +48 -0
- package/dist/api/runtime/checks/families/write/payload-probe.js +172 -0
- package/dist/api/runtime/checks/families/write/payload-string-survives.d.ts +9 -0
- package/dist/api/runtime/checks/families/write/payload-string-survives.js +135 -0
- package/dist/api/runtime/checks/families/write/records.d.ts +16 -0
- package/dist/api/runtime/checks/families/write/records.js +51 -0
- package/dist/api/runtime/checks/families/write/softdelete-absent-from-default-list.d.ts +6 -0
- package/dist/api/runtime/checks/families/write/softdelete-absent-from-default-list.js +56 -0
- package/dist/api/runtime/checks/families/write/update-persists-submitted-fields.d.ts +17 -0
- package/dist/api/runtime/checks/families/write/update-persists-submitted-fields.js +150 -0
- package/dist/api/runtime/checks/families/write/update-unique-conflict-rejected.d.ts +9 -0
- package/dist/api/runtime/checks/families/write/update-unique-conflict-rejected.js +140 -0
- package/dist/api/runtime/checks/isolation/scratch.d.ts +38 -0
- package/dist/api/runtime/checks/isolation/scratch.js +74 -0
- package/dist/api/runtime/checks/payloads/body.d.ts +36 -0
- package/dist/api/runtime/checks/payloads/body.js +122 -0
- package/dist/api/runtime/checks/payloads/create.d.ts +18 -0
- package/dist/api/runtime/checks/payloads/create.js +26 -0
- package/dist/api/runtime/checks/payloads/identity.d.ts +29 -0
- package/dist/api/runtime/checks/payloads/identity.js +81 -0
- package/dist/api/runtime/checks/payloads/item-schema.d.ts +20 -0
- package/dist/api/runtime/checks/payloads/item-schema.js +39 -0
- package/dist/api/runtime/checks/payloads/lanes.d.ts +12 -0
- package/dist/api/runtime/checks/payloads/lanes.js +10 -0
- package/dist/api/runtime/checks/payloads/stored-as.d.ts +7 -0
- package/dist/api/runtime/checks/payloads/stored-as.js +14 -0
- package/dist/api/runtime/checks/payloads/update-drops.d.ts +10 -0
- package/dist/api/runtime/checks/payloads/update-drops.js +16 -0
- package/dist/api/runtime/checks/planning/declarations.d.ts +7 -0
- package/dist/api/runtime/checks/planning/declarations.js +11 -0
- package/dist/api/runtime/checks/planning/refusal.d.ts +21 -0
- package/dist/api/runtime/checks/planning/refusal.js +39 -0
- package/dist/api/runtime/checks/planning/stand-down.d.ts +26 -0
- package/dist/api/runtime/checks/planning/stand-down.js +47 -0
- package/dist/api/runtime/checks/planning/subjects.d.ts +32 -0
- package/dist/api/runtime/checks/planning/subjects.js +51 -0
- package/dist/api/runtime/checks/query/capabilities.d.ts +66 -0
- package/dist/api/runtime/checks/query/capabilities.js +169 -0
- package/dist/api/runtime/checks/query/order.d.ts +56 -0
- package/dist/api/runtime/checks/query/order.js +145 -0
- package/dist/api/runtime/checks/registry.d.ts +3 -0
- package/dist/api/runtime/checks/registry.js +289 -0
- package/dist/api/runtime/checks/sets/compare.d.ts +76 -0
- package/dist/api/runtime/checks/sets/compare.js +148 -0
- package/dist/api/runtime/checks/sets/list.d.ts +44 -0
- package/dist/api/runtime/checks/sets/list.js +77 -0
- package/dist/api/runtime/checks/sets/read.d.ts +58 -0
- package/dist/api/runtime/checks/sets/read.js +196 -0
- package/dist/api/runtime/contract/calls.d.ts +7 -0
- package/dist/api/runtime/contract/calls.js +88 -0
- package/dist/api/runtime/contract/check.d.ts +13 -0
- package/dist/api/runtime/contract/check.js +19 -0
- package/dist/api/runtime/contract/deletes.d.ts +8 -0
- package/dist/api/runtime/contract/deletes.js +131 -0
- package/dist/api/runtime/contract/judge.d.ts +9 -0
- package/dist/api/runtime/contract/judge.js +47 -0
- package/dist/api/runtime/contract/made-by-run.d.ts +17 -0
- package/dist/api/runtime/contract/made-by-run.js +53 -0
- package/dist/api/runtime/contract/params.d.ts +26 -0
- package/dist/api/runtime/contract/params.js +73 -0
- package/dist/api/runtime/contract/request.d.ts +43 -0
- package/dist/api/runtime/contract/request.js +232 -0
- package/dist/api/runtime/contract/types.d.ts +90 -0
- package/dist/api/runtime/contract/types.js +2 -0
- package/dist/api/runtime/cookies/jar.d.ts +27 -0
- package/dist/api/runtime/cookies/jar.js +112 -0
- package/dist/api/runtime/cookies/redirect.d.ts +28 -0
- package/dist/api/runtime/cookies/redirect.js +40 -0
- package/dist/api/runtime/cookies/save-as.d.ts +30 -0
- package/dist/api/runtime/cookies/save-as.js +50 -0
- package/dist/api/runtime/cookies/set-cookie.d.ts +12 -0
- package/dist/api/runtime/cookies/set-cookie.js +83 -0
- package/dist/api/runtime/create-tracker.d.ts +41 -0
- package/dist/api/runtime/create-tracker.js +181 -0
- package/dist/api/runtime/created-id.d.ts +84 -0
- package/dist/api/runtime/created-id.js +162 -0
- package/dist/api/runtime/credential-records.d.ts +21 -0
- package/dist/api/runtime/credential-records.js +34 -0
- package/dist/api/runtime/disposable/after.d.ts +26 -0
- package/dist/api/runtime/disposable/after.js +96 -0
- package/dist/api/runtime/disposable/check.d.ts +21 -0
- package/dist/api/runtime/disposable/check.js +33 -0
- package/dist/api/runtime/disposable/lists.d.ts +13 -0
- package/dist/api/runtime/disposable/lists.js +47 -0
- package/dist/api/runtime/disposable/one.d.ts +15 -0
- package/dist/api/runtime/disposable/one.js +98 -0
- package/dist/api/runtime/disposable/run.d.ts +7 -0
- package/dist/api/runtime/disposable/run.js +54 -0
- package/dist/api/runtime/disposable/signup.d.ts +11 -0
- package/dist/api/runtime/disposable/signup.js +14 -0
- package/dist/api/runtime/disposable/types.d.ts +48 -0
- package/dist/api/runtime/disposable/types.js +2 -0
- package/dist/api/runtime/dummy.d.ts +23 -0
- package/dist/api/runtime/dummy.js +218 -0
- package/dist/api/runtime/effects/bind.d.ts +31 -0
- package/dist/api/runtime/effects/bind.js +98 -0
- package/dist/api/runtime/effects/cardinality.d.ts +27 -0
- package/dist/api/runtime/effects/cardinality.js +26 -0
- package/dist/api/runtime/effects/ids.d.ts +15 -0
- package/dist/api/runtime/effects/ids.js +95 -0
- package/dist/api/runtime/effects/pointer.d.ts +6 -0
- package/dist/api/runtime/effects/pointer.js +40 -0
- package/dist/api/runtime/effects/scope.d.ts +45 -0
- package/dist/api/runtime/effects/scope.js +87 -0
- package/dist/api/runtime/evidence.d.ts +27 -0
- package/dist/api/runtime/evidence.js +246 -0
- package/dist/api/runtime/exchange.d.ts +141 -0
- package/dist/api/runtime/exchange.js +96 -0
- package/dist/api/runtime/exchanges/blobs.d.ts +19 -0
- package/dist/api/runtime/exchanges/blobs.js +40 -0
- package/dist/api/runtime/exchanges/bytes.d.ts +6 -0
- package/dist/api/runtime/exchanges/bytes.js +21 -0
- package/dist/api/runtime/exchanges/files.d.ts +11 -0
- package/dist/api/runtime/exchanges/files.js +29 -0
- package/dist/api/runtime/exchanges/form-parts.d.ts +14 -0
- package/dist/api/runtime/exchanges/form-parts.js +19 -0
- package/dist/api/runtime/exchanges/journal.d.ts +68 -0
- package/dist/api/runtime/exchanges/journal.js +144 -0
- package/dist/api/runtime/exchanges/media.d.ts +5 -0
- package/dist/api/runtime/exchanges/media.js +23 -0
- package/dist/api/runtime/exchanges/persist.d.ts +6 -0
- package/dist/api/runtime/exchanges/persist.js +84 -0
- package/dist/api/runtime/exit.d.ts +59 -0
- package/dist/api/runtime/exit.js +94 -0
- package/dist/api/runtime/feature-gate.d.ts +14 -0
- package/dist/api/runtime/feature-gate.js +47 -0
- package/dist/api/runtime/fence.d.ts +29 -0
- package/dist/api/runtime/fence.js +39 -0
- package/dist/api/runtime/fill-path.d.ts +8 -0
- package/dist/api/runtime/fill-path.js +16 -0
- package/dist/api/runtime/finding-key.d.ts +12 -0
- package/dist/api/runtime/finding-key.js +33 -0
- package/dist/api/runtime/finding.d.ts +142 -0
- package/dist/api/runtime/finding.js +151 -0
- package/dist/api/runtime/fixture.d.ts +87 -0
- package/dist/api/runtime/fixture.js +197 -0
- package/dist/api/runtime/generate/algebra.d.ts +14 -0
- package/dist/api/runtime/generate/algebra.js +112 -0
- package/dist/api/runtime/generate/array.d.ts +4 -0
- package/dist/api/runtime/generate/array.js +45 -0
- package/dist/api/runtime/generate/branches.d.ts +12 -0
- package/dist/api/runtime/generate/branches.js +63 -0
- package/dist/api/runtime/generate/expand.d.ts +3 -0
- package/dist/api/runtime/generate/expand.js +66 -0
- package/dist/api/runtime/generate/format.d.ts +7 -0
- package/dist/api/runtime/generate/format.js +61 -0
- package/dist/api/runtime/generate/generate.d.ts +18 -0
- package/dist/api/runtime/generate/generate.js +43 -0
- package/dist/api/runtime/generate/identifiers.d.ts +14 -0
- package/dist/api/runtime/generate/identifiers.js +64 -0
- package/dist/api/runtime/generate/instance.d.ts +4 -0
- package/dist/api/runtime/generate/instance.js +59 -0
- package/dist/api/runtime/generate/nonce.d.ts +3 -0
- package/dist/api/runtime/generate/nonce.js +8 -0
- package/dist/api/runtime/generate/number.d.ts +5 -0
- package/dist/api/runtime/generate/number.js +64 -0
- package/dist/api/runtime/generate/object.d.ts +4 -0
- package/dist/api/runtime/generate/object.js +31 -0
- package/dist/api/runtime/generate/pattern.d.ts +9 -0
- package/dist/api/runtime/generate/pattern.js +46 -0
- package/dist/api/runtime/generate/probes.d.ts +9 -0
- package/dist/api/runtime/generate/probes.js +36 -0
- package/dist/api/runtime/generate/string-constraints.d.ts +19 -0
- package/dist/api/runtime/generate/string-constraints.js +48 -0
- package/dist/api/runtime/generate/string.d.ts +5 -0
- package/dist/api/runtime/generate/string.js +80 -0
- package/dist/api/runtime/generate/text.d.ts +6 -0
- package/dist/api/runtime/generate/text.js +20 -0
- package/dist/api/runtime/generate/types.d.ts +45 -0
- package/dist/api/runtime/generate/types.js +3 -0
- package/dist/api/runtime/generate/unconstructible.d.ts +7 -0
- package/dist/api/runtime/generate/unconstructible.js +11 -0
- package/dist/api/runtime/grades.d.ts +40 -0
- package/dist/api/runtime/grades.js +47 -0
- package/dist/api/runtime/headers.d.ts +6 -0
- package/dist/api/runtime/headers.js +16 -0
- package/dist/api/runtime/inferred-create.d.ts +31 -0
- package/dist/api/runtime/inferred-create.js +99 -0
- package/dist/api/runtime/input.d.ts +13 -0
- package/dist/api/runtime/input.js +47 -0
- package/dist/api/runtime/network/fetch.d.ts +19 -0
- package/dist/api/runtime/network/fetch.js +86 -0
- package/dist/api/runtime/network/gate.d.ts +23 -0
- package/dist/api/runtime/network/gate.js +63 -0
- package/dist/api/runtime/network/interfaces.d.ts +6 -0
- package/dist/api/runtime/network/interfaces.js +17 -0
- package/dist/api/runtime/network/policy.d.ts +17 -0
- package/dist/api/runtime/network/policy.js +25 -0
- package/dist/api/runtime/network/probe.d.ts +8 -0
- package/dist/api/runtime/network/probe.js +29 -0
- package/dist/api/runtime/no-security.d.ts +4 -0
- package/dist/api/runtime/no-security.js +9 -0
- package/dist/api/runtime/nonexistent-identity.d.ts +9 -0
- package/dist/api/runtime/nonexistent-identity.js +18 -0
- package/dist/api/runtime/one-shot.d.ts +27 -0
- package/dist/api/runtime/one-shot.js +76 -0
- package/dist/api/runtime/own-record.d.ts +76 -0
- package/dist/api/runtime/own-record.js +188 -0
- package/dist/api/runtime/payloads.d.ts +25 -0
- package/dist/api/runtime/payloads.js +252 -0
- package/dist/api/runtime/poll.d.ts +29 -0
- package/dist/api/runtime/poll.js +59 -0
- package/dist/api/runtime/principals.d.ts +66 -0
- package/dist/api/runtime/principals.js +133 -0
- package/dist/api/runtime/privileged-create.d.ts +13 -0
- package/dist/api/runtime/privileged-create.js +21 -0
- package/dist/api/runtime/probe-judging.d.ts +9 -0
- package/dist/api/runtime/probe-judging.js +26 -0
- package/dist/api/runtime/profile.d.ts +36 -0
- package/dist/api/runtime/profile.js +63 -0
- package/dist/api/runtime/progress/columns.d.ts +14 -0
- package/dist/api/runtime/progress/columns.js +49 -0
- package/dist/api/runtime/progress/fields.d.ts +27 -0
- package/dist/api/runtime/progress/fields.js +78 -0
- package/dist/api/runtime/progress/format.d.ts +6 -0
- package/dist/api/runtime/progress/format.js +96 -0
- package/dist/api/runtime/progress/pump.d.ts +16 -0
- package/dist/api/runtime/progress/pump.js +69 -0
- package/dist/api/runtime/progress/types.d.ts +39 -0
- package/dist/api/runtime/progress/types.js +3 -0
- package/dist/api/runtime/proven-id.d.ts +31 -0
- package/dist/api/runtime/proven-id.js +38 -0
- package/dist/api/runtime/query-capabilities.d.ts +27 -0
- package/dist/api/runtime/query-capabilities.js +69 -0
- package/dist/api/runtime/query.d.ts +11 -0
- package/dist/api/runtime/query.js +21 -0
- package/dist/api/runtime/rate-limit/bucket.d.ts +21 -0
- package/dist/api/runtime/rate-limit/bucket.js +54 -0
- package/dist/api/runtime/rate-limit/limiter.d.ts +52 -0
- package/dist/api/runtime/rate-limit/limiter.js +103 -0
- package/dist/api/runtime/rate-limit/match.d.ts +26 -0
- package/dist/api/runtime/rate-limit/match.js +55 -0
- package/dist/api/runtime/rate-limit/retry-after.d.ts +40 -0
- package/dist/api/runtime/rate-limit/retry-after.js +81 -0
- package/dist/api/runtime/rate-limit/rules.d.ts +35 -0
- package/dist/api/runtime/rate-limit/rules.js +61 -0
- package/dist/api/runtime/root-read.d.ts +22 -0
- package/dist/api/runtime/root-read.js +78 -0
- package/dist/api/runtime/run/account-hook.d.ts +19 -0
- package/dist/api/runtime/run/account-hook.js +67 -0
- package/dist/api/runtime/run/accounts.d.ts +22 -0
- package/dist/api/runtime/run/accounts.js +215 -0
- package/dist/api/runtime/run/acting.d.ts +5 -0
- package/dist/api/runtime/run/acting.js +36 -0
- package/dist/api/runtime/run/check-accounts.d.ts +5 -0
- package/dist/api/runtime/run/check-accounts.js +28 -0
- package/dist/api/runtime/run/client-setup.d.ts +8 -0
- package/dist/api/runtime/run/client-setup.js +117 -0
- package/dist/api/runtime/run/context.d.ts +141 -0
- package/dist/api/runtime/run/context.js +2 -0
- package/dist/api/runtime/run/contract-floor.d.ts +7 -0
- package/dist/api/runtime/run/contract-floor.js +51 -0
- package/dist/api/runtime/run/credential-records.d.ts +12 -0
- package/dist/api/runtime/run/credential-records.js +91 -0
- package/dist/api/runtime/run/disposable.d.ts +14 -0
- package/dist/api/runtime/run/disposable.js +90 -0
- package/dist/api/runtime/run/entity/actors.d.ts +5 -0
- package/dist/api/runtime/run/entity/actors.js +55 -0
- package/dist/api/runtime/run/entity/capabilities.d.ts +19 -0
- package/dist/api/runtime/run/entity/capabilities.js +32 -0
- package/dist/api/runtime/run/entity/check-context.d.ts +5 -0
- package/dist/api/runtime/run/entity/check-context.js +108 -0
- package/dist/api/runtime/run/entity/check-loop.d.ts +16 -0
- package/dist/api/runtime/run/entity/check-loop.js +118 -0
- package/dist/api/runtime/run/entity/direct.d.ts +8 -0
- package/dist/api/runtime/run/entity/direct.js +19 -0
- package/dist/api/runtime/run/entity/fallback.d.ts +25 -0
- package/dist/api/runtime/run/entity/fallback.js +55 -0
- package/dist/api/runtime/run/entity/root-read.d.ts +5 -0
- package/dist/api/runtime/run/entity/root-read.js +39 -0
- package/dist/api/runtime/run/entity/run-check.d.ts +45 -0
- package/dist/api/runtime/run/entity/run-check.js +173 -0
- package/dist/api/runtime/run/entity/seed-cohort.d.ts +11 -0
- package/dist/api/runtime/run/entity/seed-cohort.js +136 -0
- package/dist/api/runtime/run/entity/seed-failure.d.ts +9 -0
- package/dist/api/runtime/run/entity/seed-failure.js +92 -0
- package/dist/api/runtime/run/entity/seed.d.ts +17 -0
- package/dist/api/runtime/run/entity/seed.js +65 -0
- package/dist/api/runtime/run/entity/self.d.ts +5 -0
- package/dist/api/runtime/run/entity/self.js +24 -0
- package/dist/api/runtime/run/entity/state.d.ts +59 -0
- package/dist/api/runtime/run/entity/state.js +11 -0
- package/dist/api/runtime/run/entity/test-entity.d.ts +17 -0
- package/dist/api/runtime/run/entity/test-entity.js +91 -0
- package/dist/api/runtime/run/errors.d.ts +8 -0
- package/dist/api/runtime/run/errors.js +11 -0
- package/dist/api/runtime/run/exclusion.d.ts +3 -0
- package/dist/api/runtime/run/exclusion.js +29 -0
- package/dist/api/runtime/run/floor-credentials.d.ts +15 -0
- package/dist/api/runtime/run/floor-credentials.js +91 -0
- package/dist/api/runtime/run/fresh.d.ts +31 -0
- package/dist/api/runtime/run/fresh.js +87 -0
- package/dist/api/runtime/run/identity.d.ts +9 -0
- package/dist/api/runtime/run/identity.js +28 -0
- package/dist/api/runtime/run/index.d.ts +4 -0
- package/dist/api/runtime/run/index.js +3 -0
- package/dist/api/runtime/run/interrupt.d.ts +6 -0
- package/dist/api/runtime/run/interrupt.js +15 -0
- package/dist/api/runtime/run/lanes.d.ts +23 -0
- package/dist/api/runtime/run/lanes.js +147 -0
- package/dist/api/runtime/run/load.d.ts +17 -0
- package/dist/api/runtime/run/load.js +95 -0
- package/dist/api/runtime/run/network.d.ts +33 -0
- package/dist/api/runtime/run/network.js +82 -0
- package/dist/api/runtime/run/origins.d.ts +36 -0
- package/dist/api/runtime/run/origins.js +146 -0
- package/dist/api/runtime/run/own-records.d.ts +5 -0
- package/dist/api/runtime/run/own-records.js +41 -0
- package/dist/api/runtime/run/peer.d.ts +9 -0
- package/dist/api/runtime/run/peer.js +10 -0
- package/dist/api/runtime/run/pipeline.d.ts +19 -0
- package/dist/api/runtime/run/pipeline.js +96 -0
- package/dist/api/runtime/run/principals.d.ts +19 -0
- package/dist/api/runtime/run/principals.js +134 -0
- package/dist/api/runtime/run/probe-credentials.d.ts +9 -0
- package/dist/api/runtime/run/probe-credentials.js +68 -0
- package/dist/api/runtime/run/progress.d.ts +49 -0
- package/dist/api/runtime/run/progress.js +128 -0
- package/dist/api/runtime/run/public-gets.d.ts +4 -0
- package/dist/api/runtime/run/public-gets.js +14 -0
- package/dist/api/runtime/run/record-scope.d.ts +4 -0
- package/dist/api/runtime/run/record-scope.js +17 -0
- package/dist/api/runtime/run/result.d.ts +22 -0
- package/dist/api/runtime/run/result.js +98 -0
- package/dist/api/runtime/run/scenarios.d.ts +4 -0
- package/dist/api/runtime/run/scenarios.js +50 -0
- package/dist/api/runtime/run/scope-plan.d.ts +7 -0
- package/dist/api/runtime/run/scope-plan.js +64 -0
- package/dist/api/runtime/run/security-target.d.ts +39 -0
- package/dist/api/runtime/run/security-target.js +139 -0
- package/dist/api/runtime/run/security-throwaway.d.ts +27 -0
- package/dist/api/runtime/run/security-throwaway.js +126 -0
- package/dist/api/runtime/run/security.d.ts +11 -0
- package/dist/api/runtime/run/security.js +172 -0
- package/dist/api/runtime/run/server-errors.d.ts +4 -0
- package/dist/api/runtime/run/server-errors.js +15 -0
- package/dist/api/runtime/run/state.d.ts +58 -0
- package/dist/api/runtime/run/state.js +33 -0
- package/dist/api/runtime/run/store.d.ts +24 -0
- package/dist/api/runtime/run/store.js +106 -0
- package/dist/api/runtime/run/target-version.d.ts +7 -0
- package/dist/api/runtime/run/target-version.js +16 -0
- package/dist/api/runtime/run/teardown.d.ts +31 -0
- package/dist/api/runtime/run/teardown.js +146 -0
- package/dist/api/runtime/run/transcript-options.d.ts +4 -0
- package/dist/api/runtime/run/transcript-options.js +35 -0
- package/dist/api/runtime/run/types.d.ts +238 -0
- package/dist/api/runtime/run/types.js +2 -0
- package/dist/api/runtime/runs.d.ts +33 -0
- package/dist/api/runtime/runs.js +80 -0
- package/dist/api/runtime/scenario/failure.d.ts +19 -0
- package/dist/api/runtime/scenario/failure.js +28 -0
- package/dist/api/runtime/scenario/grade.d.ts +20 -0
- package/dist/api/runtime/scenario/grade.js +51 -0
- package/dist/api/runtime/scenario/lineage.d.ts +40 -0
- package/dist/api/runtime/scenario/lineage.js +55 -0
- package/dist/api/runtime/scenario/poll.d.ts +10 -0
- package/dist/api/runtime/scenario/poll.js +20 -0
- package/dist/api/runtime/scenario/record.d.ts +20 -0
- package/dist/api/runtime/scenario/record.js +100 -0
- package/dist/api/runtime/scenario/request.d.ts +8 -0
- package/dist/api/runtime/scenario/request.js +89 -0
- package/dist/api/runtime/scenario/run.d.ts +7 -0
- package/dist/api/runtime/scenario/run.js +90 -0
- package/dist/api/runtime/scenario/state.d.ts +10 -0
- package/dist/api/runtime/scenario/state.js +40 -0
- package/dist/api/runtime/scenario/step.d.ts +8 -0
- package/dist/api/runtime/scenario/step.js +51 -0
- package/dist/api/runtime/scenario/types.d.ts +63 -0
- package/dist/api/runtime/scenario/types.js +2 -0
- package/dist/api/runtime/scenario/validate.d.ts +17 -0
- package/dist/api/runtime/scenario/validate.js +64 -0
- package/dist/api/runtime/scenario/want.d.ts +21 -0
- package/dist/api/runtime/scenario/want.js +59 -0
- package/dist/api/runtime/scope/entities.d.ts +44 -0
- package/dist/api/runtime/scope/entities.js +158 -0
- package/dist/api/runtime/scope/grading.d.ts +20 -0
- package/dist/api/runtime/scope/grading.js +42 -0
- package/dist/api/runtime/scope/match.d.ts +9 -0
- package/dist/api/runtime/scope/match.js +22 -0
- package/dist/api/runtime/scope/operation-for.d.ts +5 -0
- package/dist/api/runtime/scope/operation-for.js +29 -0
- package/dist/api/runtime/scope/plan.d.ts +10 -0
- package/dist/api/runtime/scope/plan.js +81 -0
- package/dist/api/runtime/scope/reason.d.ts +13 -0
- package/dist/api/runtime/scope/reason.js +37 -0
- package/dist/api/runtime/scope/report.d.ts +3 -0
- package/dist/api/runtime/scope/report.js +68 -0
- package/dist/api/runtime/scope/scope-error.d.ts +5 -0
- package/dist/api/runtime/scope/scope-error.js +5 -0
- package/dist/api/runtime/scope/sufficiency.d.ts +8 -0
- package/dist/api/runtime/scope/sufficiency.js +19 -0
- package/dist/api/runtime/scope/target.d.ts +4 -0
- package/dist/api/runtime/scope/target.js +62 -0
- package/dist/api/runtime/scope/targeting.d.ts +19 -0
- package/dist/api/runtime/scope/targeting.js +82 -0
- package/dist/api/runtime/scope/types.d.ts +149 -0
- package/dist/api/runtime/scope/types.js +11 -0
- package/dist/api/runtime/seed-error.d.ts +23 -0
- package/dist/api/runtime/seed-error.js +19 -0
- package/dist/api/runtime/self/actions.d.ts +12 -0
- package/dist/api/runtime/self/actions.js +59 -0
- package/dist/api/runtime/self/check.d.ts +3 -0
- package/dist/api/runtime/self/check.js +26 -0
- package/dist/api/runtime/self/create.d.ts +26 -0
- package/dist/api/runtime/self/create.js +96 -0
- package/dist/api/runtime/self/guard.d.ts +16 -0
- package/dist/api/runtime/self/guard.js +56 -0
- package/dist/api/runtime/self/identity.d.ts +4 -0
- package/dist/api/runtime/self/identity.js +94 -0
- package/dist/api/runtime/self/input.d.ts +19 -0
- package/dist/api/runtime/self/input.js +2 -0
- package/dist/api/runtime/self/locate.d.ts +10 -0
- package/dist/api/runtime/self/locate.js +31 -0
- package/dist/api/runtime/self/operations.d.ts +15 -0
- package/dist/api/runtime/self/operations.js +34 -0
- package/dist/api/runtime/self/probe-field.d.ts +10 -0
- package/dist/api/runtime/self/probe-field.js +88 -0
- package/dist/api/runtime/self/requests.d.ts +22 -0
- package/dist/api/runtime/self/requests.js +27 -0
- package/dist/api/runtime/self/verdicts.d.ts +41 -0
- package/dist/api/runtime/self/verdicts.js +95 -0
- package/dist/api/runtime/server-errors.d.ts +29 -0
- package/dist/api/runtime/server-errors.js +74 -0
- package/dist/api/runtime/sse.d.ts +38 -0
- package/dist/api/runtime/sse.js +115 -0
- package/dist/api/runtime/steps/engine.d.ts +27 -0
- package/dist/api/runtime/steps/engine.js +134 -0
- package/dist/api/runtime/steps/interpolate.d.ts +3 -0
- package/dist/api/runtime/steps/interpolate.js +30 -0
- package/dist/api/runtime/steps/jwt.d.ts +3 -0
- package/dist/api/runtime/steps/jwt.js +13 -0
- package/dist/api/runtime/steps/out-of-band.d.ts +27 -0
- package/dist/api/runtime/steps/out-of-band.js +53 -0
- package/dist/api/runtime/steps/request.d.ts +39 -0
- package/dist/api/runtime/steps/request.js +117 -0
- package/dist/api/runtime/steps/runner.d.ts +5 -0
- package/dist/api/runtime/steps/runner.js +19 -0
- package/dist/api/runtime/target-version.d.ts +34 -0
- package/dist/api/runtime/target-version.js +68 -0
- package/dist/api/runtime/teardown/ledger.d.ts +68 -0
- package/dist/api/runtime/teardown/ledger.js +124 -0
- package/dist/api/runtime/teardown/never-seen.d.ts +10 -0
- package/dist/api/runtime/teardown/never-seen.js +27 -0
- package/dist/api/runtime/teardown/remove.d.ts +27 -0
- package/dist/api/runtime/teardown/remove.js +110 -0
- package/dist/api/runtime/teardown/render.d.ts +7 -0
- package/dist/api/runtime/teardown/render.js +51 -0
- package/dist/api/runtime/teardown/routes.d.ts +26 -0
- package/dist/api/runtime/teardown/routes.js +83 -0
- package/dist/api/runtime/teardown/still-listed.d.ts +29 -0
- package/dist/api/runtime/teardown/still-listed.js +116 -0
- package/dist/api/runtime/teardown/types.d.ts +76 -0
- package/dist/api/runtime/teardown/types.js +2 -0
- package/dist/api/runtime/teardown/unwind.d.ts +20 -0
- package/dist/api/runtime/teardown/unwind.js +83 -0
- package/dist/api/runtime/teardown/verify-gone.d.ts +21 -0
- package/dist/api/runtime/teardown/verify-gone.js +87 -0
- package/dist/api/runtime/teardown/verify-hook.d.ts +20 -0
- package/dist/api/runtime/teardown/verify-hook.js +61 -0
- package/dist/api/runtime/transcript/compact-request.d.ts +5 -0
- package/dist/api/runtime/transcript/compact-request.js +65 -0
- package/dist/api/runtime/transcript/compact-response.d.ts +4 -0
- package/dist/api/runtime/transcript/compact-response.js +70 -0
- package/dist/api/runtime/transcript/live.d.ts +13 -0
- package/dist/api/runtime/transcript/live.js +21 -0
- package/dist/api/runtime/transcript/payload.d.ts +9 -0
- package/dist/api/runtime/transcript/payload.js +45 -0
- package/dist/api/runtime/transcript/release.d.ts +6 -0
- package/dist/api/runtime/transcript/release.js +15 -0
- package/dist/api/runtime/transcript/spool.d.ts +42 -0
- package/dist/api/runtime/transcript/spool.js +102 -0
- package/dist/api/runtime/transcript/sse-payload.d.ts +5 -0
- package/dist/api/runtime/transcript/sse-payload.js +65 -0
- package/dist/api/runtime/transcript/types.d.ts +22 -0
- package/dist/api/runtime/transcript/types.js +3 -0
- package/dist/api/runtime/unique.d.ts +80 -0
- package/dist/api/runtime/unique.js +169 -0
- package/dist/api/runtime/upload-each.d.ts +14 -0
- package/dist/api/runtime/upload-each.js +69 -0
- package/dist/api/runtime/upload.d.ts +58 -0
- package/dist/api/runtime/upload.js +241 -0
- package/dist/api/runtime/validate.d.ts +41 -0
- package/dist/api/runtime/validate.js +145 -0
- package/dist/api/runtime/wait.d.ts +48 -0
- package/dist/api/runtime/wait.js +105 -0
- package/dist/api/runtime/world/adopt.d.ts +6 -0
- package/dist/api/runtime/world/adopt.js +18 -0
- package/dist/api/runtime/world/ancestor-create.d.ts +13 -0
- package/dist/api/runtime/world/ancestor-create.js +129 -0
- package/dist/api/runtime/world/client-identity.d.ts +42 -0
- package/dist/api/runtime/world/client-identity.js +77 -0
- package/dist/api/runtime/world/cohort.d.ts +47 -0
- package/dist/api/runtime/world/cohort.js +123 -0
- package/dist/api/runtime/world/confirm.d.ts +33 -0
- package/dist/api/runtime/world/confirm.js +57 -0
- package/dist/api/runtime/world/created-record.d.ts +29 -0
- package/dist/api/runtime/world/created-record.js +57 -0
- package/dist/api/runtime/world/list-existing.d.ts +12 -0
- package/dist/api/runtime/world/list-existing.js +29 -0
- package/dist/api/runtime/world/path-scope.d.ts +16 -0
- package/dist/api/runtime/world/path-scope.js +98 -0
- package/dist/api/runtime/world/plan-limit.d.ts +8 -0
- package/dist/api/runtime/world/plan-limit.js +41 -0
- package/dist/api/runtime/world/probe-fixtures.d.ts +7 -0
- package/dist/api/runtime/world/probe-fixtures.js +23 -0
- package/dist/api/runtime/world/read-back.d.ts +61 -0
- package/dist/api/runtime/world/read-back.js +120 -0
- package/dist/api/runtime/world/records.d.ts +29 -0
- package/dist/api/runtime/world/records.js +45 -0
- package/dist/api/runtime/world/schema.d.ts +7 -0
- package/dist/api/runtime/world/schema.js +21 -0
- package/dist/api/runtime/world/seed-cohort.d.ts +8 -0
- package/dist/api/runtime/world/seed-cohort.js +193 -0
- package/dist/api/runtime/world/types.d.ts +118 -0
- package/dist/api/runtime/world/types.js +3 -0
- package/dist/api/runtime/world/upload-context.d.ts +5 -0
- package/dist/api/runtime/world/upload-context.js +7 -0
- package/dist/api/security/credential-names.d.ts +7 -0
- package/dist/api/security/credential-names.js +30 -0
- package/dist/api/security/issued-secrets.d.ts +9 -0
- package/dist/api/security/issued-secrets.js +50 -0
- package/dist/api/security/redact.d.ts +51 -0
- package/dist/api/security/redact.js +222 -0
- package/dist/api/security/strip.d.ts +7 -0
- package/dist/api/security/strip.js +18 -0
- package/dist/api/spec/allow.d.ts +28 -0
- package/dist/api/spec/allow.js +83 -0
- package/dist/api/spec/collection/cursor.d.ts +7 -0
- package/dist/api/spec/collection/cursor.js +11 -0
- package/dist/api/spec/collection/effective.d.ts +9 -0
- package/dist/api/spec/collection/effective.js +49 -0
- package/dist/api/spec/collection/identity.d.ts +13 -0
- package/dist/api/spec/collection/identity.js +43 -0
- package/dist/api/spec/collection/request.d.ts +19 -0
- package/dist/api/spec/collection/request.js +67 -0
- package/dist/api/spec/collection/responses.d.ts +6 -0
- package/dist/api/spec/collection/responses.js +32 -0
- package/dist/api/spec/collection/shape.d.ts +47 -0
- package/dist/api/spec/collection/shape.js +123 -0
- package/dist/api/spec/configured-model.d.ts +22 -0
- package/dist/api/spec/configured-model.js +58 -0
- package/dist/api/spec/conventions/derive.d.ts +26 -0
- package/dist/api/spec/conventions/derive.js +125 -0
- package/dist/api/spec/conventions/envelope-names.d.ts +21 -0
- package/dist/api/spec/conventions/envelope-names.js +25 -0
- package/dist/api/spec/conventions/filter.d.ts +31 -0
- package/dist/api/spec/conventions/filter.js +51 -0
- package/dist/api/spec/conventions/infer.d.ts +22 -0
- package/dist/api/spec/conventions/infer.js +59 -0
- package/dist/api/spec/conventions/query-params.d.ts +27 -0
- package/dist/api/spec/conventions/query-params.js +44 -0
- package/dist/api/spec/conventions/roles.d.ts +28 -0
- package/dist/api/spec/conventions/roles.js +153 -0
- package/dist/api/spec/conventions/select.d.ts +9 -0
- package/dist/api/spec/conventions/select.js +19 -0
- package/dist/api/spec/conventions/sort.d.ts +14 -0
- package/dist/api/spec/conventions/sort.js +25 -0
- package/dist/api/spec/conventions/types.d.ts +106 -0
- package/dist/api/spec/conventions/types.js +15 -0
- package/dist/api/spec/endpoints.d.ts +4 -0
- package/dist/api/spec/endpoints.js +42 -0
- package/dist/api/spec/extensions/async.d.ts +24 -0
- package/dist/api/spec/extensions/async.js +38 -0
- package/dist/api/spec/extensions/consistency.d.ts +18 -0
- package/dist/api/spec/extensions/consistency.js +27 -0
- package/dist/api/spec/extensions/effects.d.ts +13 -0
- package/dist/api/spec/extensions/effects.js +36 -0
- package/dist/api/spec/extensions/entity.d.ts +28 -0
- package/dist/api/spec/extensions/entity.js +103 -0
- package/dist/api/spec/extensions/flags.d.ts +30 -0
- package/dist/api/spec/extensions/flags.js +59 -0
- package/dist/api/spec/extensions/gaps.d.ts +11 -0
- package/dist/api/spec/extensions/gaps.js +8 -0
- package/dist/api/spec/extensions/invite.d.ts +33 -0
- package/dist/api/spec/extensions/invite.js +30 -0
- package/dist/api/spec/extensions/privileged.d.ts +27 -0
- package/dist/api/spec/extensions/privileged.js +84 -0
- package/dist/api/spec/extensions/query-tag.d.ts +36 -0
- package/dist/api/spec/extensions/query-tag.js +92 -0
- package/dist/api/spec/extensions/routes.d.ts +5 -0
- package/dist/api/spec/extensions/routes.js +19 -0
- package/dist/api/spec/extensions/tag.d.ts +16 -0
- package/dist/api/spec/extensions/tag.js +22 -0
- package/dist/api/spec/extensions/tenant.d.ts +9 -0
- package/dist/api/spec/extensions/tenant.js +35 -0
- package/dist/api/spec/extensions/unique.d.ts +20 -0
- package/dist/api/spec/extensions/unique.js +63 -0
- package/dist/api/spec/grammar-overrides.d.ts +23 -0
- package/dist/api/spec/grammar-overrides.js +70 -0
- package/dist/api/spec/graph/build.d.ts +18 -0
- package/dist/api/spec/graph/build.js +89 -0
- package/dist/api/spec/graph/dangling.d.ts +19 -0
- package/dist/api/spec/graph/dangling.js +94 -0
- package/dist/api/spec/graph/demote.d.ts +14 -0
- package/dist/api/spec/graph/demote.js +94 -0
- package/dist/api/spec/graph/entities.d.ts +7 -0
- package/dist/api/spec/graph/entities.js +77 -0
- package/dist/api/spec/graph/identity.d.ts +19 -0
- package/dist/api/spec/graph/identity.js +14 -0
- package/dist/api/spec/graph/naming.d.ts +9 -0
- package/dist/api/spec/graph/naming.js +71 -0
- package/dist/api/spec/graph/operation.d.ts +16 -0
- package/dist/api/spec/graph/operation.js +176 -0
- package/dist/api/spec/graph/paging.d.ts +16 -0
- package/dist/api/spec/graph/paging.js +23 -0
- package/dist/api/spec/graph/parameters.d.ts +46 -0
- package/dist/api/spec/graph/parameters.js +119 -0
- package/dist/api/spec/graph/resolver.d.ts +25 -0
- package/dist/api/spec/graph/resolver.js +38 -0
- package/dist/api/spec/graph/roots.d.ts +32 -0
- package/dist/api/spec/graph/roots.js +89 -0
- package/dist/api/spec/graph/segments.d.ts +10 -0
- package/dist/api/spec/graph/segments.js +19 -0
- package/dist/api/spec/graph/statuses.d.ts +7 -0
- package/dist/api/spec/graph/statuses.js +26 -0
- package/dist/api/spec/graph/surface.d.ts +21 -0
- package/dist/api/spec/graph/surface.js +59 -0
- package/dist/api/spec/graph/types.d.ts +162 -0
- package/dist/api/spec/graph/types.js +3 -0
- package/dist/api/spec/graph/unmodeled.d.ts +18 -0
- package/dist/api/spec/graph/unmodeled.js +65 -0
- package/dist/api/spec/load/bundle.d.ts +16 -0
- package/dist/api/spec/load/bundle.js +112 -0
- package/dist/api/spec/load/defs.d.ts +7 -0
- package/dist/api/spec/load/defs.js +9 -0
- package/dist/api/spec/load/dereference.d.ts +23 -0
- package/dist/api/spec/load/dereference.js +55 -0
- package/dist/api/spec/load/parse.d.ts +16 -0
- package/dist/api/spec/load/parse.js +76 -0
- package/dist/api/spec/load/pointer.d.ts +6 -0
- package/dist/api/spec/load/pointer.js +24 -0
- package/dist/api/spec/load/source.d.ts +27 -0
- package/dist/api/spec/load/source.js +58 -0
- package/dist/api/spec/load/version.d.ts +14 -0
- package/dist/api/spec/load/version.js +16 -0
- package/dist/api/spec/load/walk.d.ts +44 -0
- package/dist/api/spec/load/walk.js +162 -0
- package/dist/api/spec/methods.d.ts +31 -0
- package/dist/api/spec/methods.js +37 -0
- package/dist/api/spec/operation-name.d.ts +23 -0
- package/dist/api/spec/operation-name.js +46 -0
- package/dist/api/spec/overlay.d.ts +18 -0
- package/dist/api/spec/overlay.js +72 -0
- package/dist/api/spec/prepare.d.ts +18 -0
- package/dist/api/spec/prepare.js +16 -0
- package/dist/api/spec/query/catalog-layers.d.ts +10 -0
- package/dist/api/spec/query/catalog-layers.js +80 -0
- package/dist/api/spec/query/effective.d.ts +68 -0
- package/dist/api/spec/query/effective.js +9 -0
- package/dist/api/spec/query/field-ops.d.ts +10 -0
- package/dist/api/spec/query/field-ops.js +39 -0
- package/dist/api/spec/query/harvest.d.ts +14 -0
- package/dist/api/spec/query/harvest.js +29 -0
- package/dist/api/spec/query/hook.d.ts +8 -0
- package/dist/api/spec/query/hook.js +46 -0
- package/dist/api/spec/query/infer-type.d.ts +6 -0
- package/dist/api/spec/query/infer-type.js +34 -0
- package/dist/api/spec/query/json-path.d.ts +6 -0
- package/dist/api/spec/query/json-path.js +87 -0
- package/dist/api/spec/query/merge.d.ts +9 -0
- package/dist/api/spec/query/merge.js +118 -0
- package/dist/api/spec/query/ops.d.ts +14 -0
- package/dist/api/spec/query/ops.js +33 -0
- package/dist/api/spec/query/parse-blocks.d.ts +13 -0
- package/dist/api/spec/query/parse-blocks.js +103 -0
- package/dist/api/spec/query/parse-catalog.d.ts +11 -0
- package/dist/api/spec/query/parse-catalog.js +97 -0
- package/dist/api/spec/query/parse-fields.d.ts +12 -0
- package/dist/api/spec/query/parse-fields.js +54 -0
- package/dist/api/spec/query/sendable.d.ts +60 -0
- package/dist/api/spec/query/sendable.js +113 -0
- package/dist/api/spec/query/tag.d.ts +36 -0
- package/dist/api/spec/query/tag.js +3 -0
- package/dist/api/spec/query/union.d.ts +7 -0
- package/dist/api/spec/query/union.js +22 -0
- package/dist/api/spec/render/filter-combine.d.ts +17 -0
- package/dist/api/spec/render/filter-combine.js +62 -0
- package/dist/api/spec/render/filter-describe.d.ts +5 -0
- package/dist/api/spec/render/filter-describe.js +29 -0
- package/dist/api/spec/render/filter-parse-steps.d.ts +55 -0
- package/dist/api/spec/render/filter-parse-steps.js +155 -0
- package/dist/api/spec/render/filter-parse.d.ts +8 -0
- package/dist/api/spec/render/filter-parse.js +77 -0
- package/dist/api/spec/render/filter-presets.d.ts +6 -0
- package/dist/api/spec/render/filter-presets.js +55 -0
- package/dist/api/spec/render/filter-probe.d.ts +24 -0
- package/dist/api/spec/render/filter-probe.js +57 -0
- package/dist/api/spec/render/filter-term.d.ts +17 -0
- package/dist/api/spec/render/filter-term.js +100 -0
- package/dist/api/spec/render/filter-types.d.ts +77 -0
- package/dist/api/spec/render/filter-types.js +10 -0
- package/dist/api/spec/render/sort-parse.d.ts +14 -0
- package/dist/api/spec/render/sort-parse.js +56 -0
- package/dist/api/spec/render/sort.d.ts +48 -0
- package/dist/api/spec/render/sort.js +45 -0
- package/dist/api/spec/routes.d.ts +16 -0
- package/dist/api/spec/routes.js +48 -0
- package/dist/api/spec/schema.d.ts +36 -0
- package/dist/api/spec/schema.js +265 -0
- package/dist/api/spec/security/placement.d.ts +11 -0
- package/dist/api/spec/security/placement.js +16 -0
- package/dist/api/spec/security/requirements.d.ts +19 -0
- package/dist/api/spec/security/requirements.js +21 -0
- package/dist/api/spec/security/schemes.d.ts +40 -0
- package/dist/api/spec/security/schemes.js +86 -0
- package/dist/api/spec/sign-in.d.ts +4 -0
- package/dist/api/spec/sign-in.js +4 -0
- package/dist/api/spec/sign-up.d.ts +34 -0
- package/dist/api/spec/sign-up.js +77 -0
- package/dist/api/spec/tags/checks.d.ts +23 -0
- package/dist/api/spec/tags/checks.js +47 -0
- package/dist/api/spec/tags/query.d.ts +4 -0
- package/dist/api/spec/tags/query.js +113 -0
- package/dist/api/spec/tags/validate.d.ts +12 -0
- package/dist/api/spec/tags/validate.js +117 -0
- package/dist/api/spec/types.d.ts +120 -0
- package/dist/api/spec/types.js +3 -0
- package/dist/api/steps/external.d.ts +31 -0
- package/dist/api/steps/external.js +17 -0
- package/dist/api/steps/index.d.ts +9 -0
- package/dist/api/steps/index.js +5 -0
- package/dist/api/steps/out-of-band.d.ts +17 -0
- package/dist/api/steps/out-of-band.js +19 -0
- package/dist/api/steps/request.d.ts +30 -0
- package/dist/api/steps/request.js +72 -0
- package/dist/api/steps/scenario.d.ts +18 -0
- package/dist/api/steps/scenario.js +18 -0
- package/dist/api/steps/sender.d.ts +34 -0
- package/dist/api/steps/sender.js +53 -0
- package/dist/api/steps/steps.d.ts +51 -0
- package/dist/api/steps/steps.js +30 -0
- package/dist/api/steps/types.d.ts +90 -0
- package/dist/api/steps/types.js +7 -0
- package/dist/api/steps/view.d.ts +20 -0
- package/dist/api/steps/view.js +41 -0
- package/dist/cli/main.d.ts +8 -0
- package/dist/cli/main.js +38 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +11 -0
- package/docs/api/api.md +78 -0
- package/docs/api/assumptions.md +119 -0
- package/docs/api/checks.md +265 -0
- package/docs/api/commands.md +309 -0
- package/docs/api/configuration/hooks.md +162 -0
- package/docs/api/configuration/origins-and-uploads.md +85 -0
- package/docs/api/configuration/principals-and-security.md +173 -0
- package/docs/api/configuration/reference.md +283 -0
- package/docs/api/limits.md +23 -0
- package/docs/api/migrating-0.25.md +40 -0
- package/docs/api/migrating-from-oat.md +70 -0
- package/docs/api/model.md +230 -0
- package/docs/api/reference-defects.md +181 -0
- package/docs/api/releasing.md +52 -0
- package/docs/api/reports.md +287 -0
- package/docs/api/roadmaps/1-freshness-program-20261028T232448Z.md +90 -0
- package/docs/api/steps.md +162 -0
- package/docs/api/tags.md +536 -0
- package/labs/api/README.md +130 -0
- package/labs/api/annotated-openapi.yaml +421 -0
- package/labs/api/demo.mjs +119 -0
- package/labs/api/local.config.ts +33 -0
- package/labs/api/minimal.config.ts +31 -0
- package/labs/api/oob-auth.config.ts +152 -0
- package/package.json +145 -5
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { defineCheck } from "../../core/define.js";
|
|
2
|
+
import { isUntested } from "../../core/operation.js";
|
|
3
|
+
import { isRefused, lifecyclePlan, settle } from "./lifecycle.js";
|
|
4
|
+
/**
|
|
5
|
+
* A revoked credential stops working. For each scheme whose recipe declares a revoke, anchored on
|
|
6
|
+
* that revoke operation, the check acquires a dedicated credential (never the principal's own),
|
|
7
|
+
* proves it on one read it can send whole (`readRoute`), revokes it through the declared path, and sends it to the same read again,
|
|
8
|
+
* which must now refuse it with 401 or 403.
|
|
9
|
+
*/
|
|
10
|
+
export const revokedCredentialRefused = defineCheck({
|
|
11
|
+
id: "auth.revoked-credential-refused",
|
|
12
|
+
mutates: true,
|
|
13
|
+
mutatesCredentials: true,
|
|
14
|
+
needs: "a recipe that declares a revoke, and a GET the credential authenticates",
|
|
15
|
+
plan: (ctx) => lifecyclePlan(ctx, "revoke"),
|
|
16
|
+
subject: "operation",
|
|
17
|
+
async run(ctx, planned) {
|
|
18
|
+
const outcomes = [];
|
|
19
|
+
for (const lifecycle of planned)
|
|
20
|
+
outcomes.push(await revokeAndProbe(ctx, lifecycle));
|
|
21
|
+
return settle(outcomes);
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const CHECK = "auth.revoked-credential-refused";
|
|
25
|
+
async function revokeAndProbe(ctx, { actor, route, scheme }) {
|
|
26
|
+
const { method, operation, path, scopes } = route;
|
|
27
|
+
const reads = operation.operationId;
|
|
28
|
+
const dedicated = await ctx.probe.dedicated({ principal: actor, scheme, scopes });
|
|
29
|
+
if (isUntested(dedicated))
|
|
30
|
+
return { untested: `${scheme}: ${dedicated.untested}` };
|
|
31
|
+
const { revoke } = dedicated;
|
|
32
|
+
if (revoke === undefined)
|
|
33
|
+
return { untested: `${scheme}: the dedicated credential has no declared revoke` };
|
|
34
|
+
const as = { principal: dedicated.actor.principal, scheme };
|
|
35
|
+
const query = operation.requiredQuery;
|
|
36
|
+
const before = await ctx.client.request(method, path, { as, operationId: reads, query });
|
|
37
|
+
if (before.status >= 300) {
|
|
38
|
+
const reason = `a fresh ${scheme} credential was refused (${before.status}) on ${reads} before its revoke`;
|
|
39
|
+
return ctx.findings.unresolved(CHECK, ctx.subject, reason);
|
|
40
|
+
}
|
|
41
|
+
await revoke();
|
|
42
|
+
const after = await ctx.client.request(method, path, { as, operationId: reads, probe: true, query });
|
|
43
|
+
if (isRefused(after.status))
|
|
44
|
+
return { kind: "asserted" };
|
|
45
|
+
if (after.status >= 300) {
|
|
46
|
+
const reason = `after its revoke, a ${scheme} credential drew ${after.status} on ${reads}, neither a refusal nor a success`;
|
|
47
|
+
return ctx.findings.unresolved(CHECK, ctx.subject, reason);
|
|
48
|
+
}
|
|
49
|
+
return ctx.findings.security(CHECK, ctx.subject, {
|
|
50
|
+
detail: `${actor}'s ${scheme} credential, issued for this probe alone and revoked through ` +
|
|
51
|
+
`${ctx.subject}, was still accepted: ${reads} answered ${after.status}. A credential that ` +
|
|
52
|
+
"survives its revoke cannot be taken back from whoever holds it.",
|
|
53
|
+
evidence: [before, after],
|
|
54
|
+
summary: `a revoked ${scheme} credential still authenticates`,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=auth-revoked-credential-refused.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { OperationCheck } from "../../core/check.ts";
|
|
2
|
+
import type { Actor } from "../../core/context.ts";
|
|
3
|
+
import type { WriteTarget } from "../../core/operation-context.ts";
|
|
4
|
+
/** The record written to, what is sent (a delete sends nothing), and the readOnly principal that writes. */
|
|
5
|
+
interface RoleProbe {
|
|
6
|
+
target: WriteTarget;
|
|
7
|
+
send: {
|
|
8
|
+
body?: Record<string, unknown>;
|
|
9
|
+
};
|
|
10
|
+
readOnly: Actor;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A read-only role cannot write. Only the config says which principal is read-only (`readOnly: true`);
|
|
14
|
+
* rank alone never does. That principal's write to a record this run created, in its own tenant, with
|
|
15
|
+
* the record's current state cut to what the request body accepts (a delete sends none), must be
|
|
16
|
+
* refused with 401 or 403. Unlike
|
|
17
|
+
* auth.rank-is-monotonic-on-writes this fires when every rank may write, which is still monotonic.
|
|
18
|
+
*/
|
|
19
|
+
export declare const roleEnforced: OperationCheck<RoleProbe>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=auth-role-enforced.d.ts.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { defineCheck } from "../../core/define.js";
|
|
2
|
+
import { isReadMethod, targetPlan } from "../../core/operation.js";
|
|
3
|
+
import { andThen, cannot, ready } from "../../core/plan.js";
|
|
4
|
+
import { ASSERTED } from "../../../finding.js";
|
|
5
|
+
import { noSecurityReason } from "../../../no-security.js";
|
|
6
|
+
import { isRefused, settle, unlessUnsatisfied } from "./lifecycle.js";
|
|
7
|
+
import { BY_VALIDATION, byValidation } from "./probing.js";
|
|
8
|
+
import { currentOf, writableBody } from "./writable.js";
|
|
9
|
+
/**
|
|
10
|
+
* A read-only role cannot write. Only the config says which principal is read-only (`readOnly: true`);
|
|
11
|
+
* rank alone never does. That principal's write to a record this run created, in its own tenant, with
|
|
12
|
+
* the record's current state cut to what the request body accepts (a delete sends none), must be
|
|
13
|
+
* refused with 401 or 403. Unlike
|
|
14
|
+
* auth.rank-is-monotonic-on-writes this fires when every rank may write, which is still monotonic.
|
|
15
|
+
*/
|
|
16
|
+
export const roleEnforced = defineCheck({
|
|
17
|
+
id: "auth.role-enforced",
|
|
18
|
+
mutates: true,
|
|
19
|
+
needs: "a principal marked readOnly, and a run-created record in its tenant to write to",
|
|
20
|
+
plan: (ctx) => {
|
|
21
|
+
const undeclared = noSecurityReason(ctx.operation);
|
|
22
|
+
if (undeclared !== undefined)
|
|
23
|
+
return cannot(undeclared);
|
|
24
|
+
if (isReadMethod(ctx.operation))
|
|
25
|
+
return cannot("a write method");
|
|
26
|
+
if (ctx.operation.security.alternatives.some((set) => set.length === 0)) {
|
|
27
|
+
return cannot("a write the document secures");
|
|
28
|
+
}
|
|
29
|
+
return andThen(targetPlan(ctx), (target) => {
|
|
30
|
+
const record = currentOf(target);
|
|
31
|
+
const deletes = ctx.operation.method.toUpperCase() === "DELETE";
|
|
32
|
+
if (!deletes && record === undefined)
|
|
33
|
+
return cannot("the target record's current state, for a harmless body");
|
|
34
|
+
const send = deletes || record === undefined ? {} : { body: writableBody(ctx, record) };
|
|
35
|
+
return andThen(readOnlyOf(ctx, target), (readOnly) => ready({ readOnly, send, target }));
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
subject: "operation",
|
|
39
|
+
async run(ctx, planned) {
|
|
40
|
+
return settle([await unlessUnsatisfied(`${planned.readOnly.id}'s write`, () => writeAs(ctx, planned))]);
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
const CHECK = "auth.role-enforced";
|
|
44
|
+
/* The read-only principal's harmless write to the run's record: refused passes, applied is the finding. */
|
|
45
|
+
async function writeAs(ctx, { readOnly, send, target }) {
|
|
46
|
+
const { method, operationId, requiredQuery: query } = ctx.operation;
|
|
47
|
+
const as = { principal: readOnly.id };
|
|
48
|
+
const wrote = await ctx.client.request(method, target.path, { ...send, as, operationId, probe: true, query });
|
|
49
|
+
if (isRefused(wrote.status))
|
|
50
|
+
return ASSERTED;
|
|
51
|
+
if (byValidation(wrote.status)) {
|
|
52
|
+
return ctx.findings.unresolved(CHECK, ctx.subject, `${readOnly.id}'s write drew ${wrote.status}: ${BY_VALIDATION}`);
|
|
53
|
+
}
|
|
54
|
+
if (wrote.status >= 300) {
|
|
55
|
+
const reason = `${readOnly.id}'s write drew ${wrote.status}, neither a refusal nor a success`;
|
|
56
|
+
return ctx.findings.unresolved(CHECK, ctx.subject, reason);
|
|
57
|
+
}
|
|
58
|
+
return ctx.findings.security(CHECK, ctx.subject, {
|
|
59
|
+
detail: `${readOnly.id}, marked readOnly in tenant ${String(readOnly.tenant)}, wrote to a record this ` +
|
|
60
|
+
`run created, and ${operationId} answered ${wrote.status}. Roles must be enforced on writes.`,
|
|
61
|
+
evidence: [wrote],
|
|
62
|
+
summary: "a read-only principal's write is accepted",
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/* The first principal marked readOnly in the target owner's tenant. */
|
|
66
|
+
function readOnlyOf(ctx, target) {
|
|
67
|
+
const marked = ctx.principals.filter((actor) => actor.readOnly === true);
|
|
68
|
+
if (marked.length === 0)
|
|
69
|
+
return cannot("no principal is marked readOnly");
|
|
70
|
+
const owner = ctx.principals.find((actor) => actor.id === target.owner) ?? ctx.actor;
|
|
71
|
+
const readOnly = marked.find((actor) => actor.tenant === owner.tenant);
|
|
72
|
+
return readOnly === undefined ? cannot("a readOnly principal sharing the target owner's tenant") : ready(readOnly);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=auth-role-enforced.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OperationCheck } from "../../core/check.ts";
|
|
2
|
+
import type { Requirement } from "../../../../spec/security/requirements.ts";
|
|
3
|
+
import { type Address } from "./probing.ts";
|
|
4
|
+
interface Planned {
|
|
5
|
+
address: Address;
|
|
6
|
+
scoped: Requirement[];
|
|
7
|
+
}
|
|
8
|
+
export declare const scopeEnforced: OperationCheck<Planned>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=auth-scope-enforced.d.ts.map
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A credential without the scope an operation requires must be refused. For each alternative of one
|
|
3
|
+
* scheme that names scopes, the actor's credential for that scheme issued with no scope at all is
|
|
4
|
+
* sent in its place. Only a mint recipe issues a credential for the scopes asked: a login holds
|
|
5
|
+
* whatever the server grants, and a grant asked for no scope gets the server's default, so either
|
|
6
|
+
* would send a fully scoped credential and report a refusal that is not due. The key is acquired
|
|
7
|
+
* through the store, once per run for the empty scope set, so teardown revokes it with the rest; it
|
|
8
|
+
* is a real value, sent as a derived forged one and redacted. A refusal counts only once the same
|
|
9
|
+
* actor's credential issued with the scopes is let in: a server that refuses the scheme outright, as
|
|
10
|
+
* one whose API keys are broken does, refuses the bare credential too, and that is no scope check. The
|
|
11
|
+
* control goes second, so a write it lets through never takes the record from the probe. Probes go
|
|
12
|
+
* where `addressOf` puts them; mutating, since some write.
|
|
13
|
+
*/
|
|
14
|
+
import { ASSERTED, standDown } from "../../../finding.js";
|
|
15
|
+
import { defineCheck } from "../../core/define.js";
|
|
16
|
+
import { isUntested } from "../../core/operation.js";
|
|
17
|
+
import { andThen, cannot, ready } from "../../core/plan.js";
|
|
18
|
+
import { addressOf, judgeRefusals, refused, securedPlan, send, singleSchemes, } from "./probing.js";
|
|
19
|
+
const ID = "auth.scope-enforced";
|
|
20
|
+
export const scopeEnforced = defineCheck({
|
|
21
|
+
id: ID,
|
|
22
|
+
mutates: true,
|
|
23
|
+
needs: "an operation that requires a scope, of a scheme a mint recipe issues",
|
|
24
|
+
plan: (ctx) => andThen(securedPlan(ctx), () => andThen(mintedPlan(ctx), (scoped) => andThen(addressOf(ctx), (address) => ready({ address, scoped })))),
|
|
25
|
+
async run(ctx, { address, scoped }) {
|
|
26
|
+
const probes = [];
|
|
27
|
+
const untested = [];
|
|
28
|
+
for (const requirement of scoped) {
|
|
29
|
+
const probe = await probeWithout(ctx, address, requirement);
|
|
30
|
+
if (typeof probe === "string")
|
|
31
|
+
untested.push(probe);
|
|
32
|
+
else
|
|
33
|
+
probes.push(probe);
|
|
34
|
+
}
|
|
35
|
+
if (probes.length === 0)
|
|
36
|
+
return standDown(untested.join("; "));
|
|
37
|
+
const judged = judgeRefusals(ctx, ID, probes);
|
|
38
|
+
return judged.kind === "asserted" ? controlled(ctx, address, scoped) : judged;
|
|
39
|
+
},
|
|
40
|
+
subject: "operation",
|
|
41
|
+
});
|
|
42
|
+
/* The actor's credential for `requirement`'s scheme issued without its scopes, sent; or why it cannot be had. */
|
|
43
|
+
async function probeWithout(ctx, address, { scheme, scopes }) {
|
|
44
|
+
const bare = await ctx.probe.held({ principal: ctx.actor.id, scheme, scopes: [] });
|
|
45
|
+
if (isUntested(bare))
|
|
46
|
+
return bare.untested;
|
|
47
|
+
return {
|
|
48
|
+
exchange: await send(ctx, address, { forged: { derived: true, scheme, value: bare.value } }),
|
|
49
|
+
sent: `${ctx.actor.id}'s ${scheme} credential issued without ${scopes.join(" ")}`,
|
|
50
|
+
summary: "an operation accepted a credential without the scope it requires",
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/*
|
|
54
|
+
* Every bare credential was refused: asserted once the actor's credential issued with the scopes is
|
|
55
|
+
* let in, for each scheme, and unresolved where it is refused too.
|
|
56
|
+
*/
|
|
57
|
+
async function controlled(ctx, address, scoped) {
|
|
58
|
+
for (const { scheme, scopes } of scoped) {
|
|
59
|
+
const full = await ctx.probe.held({ principal: ctx.actor.id, scheme, scopes });
|
|
60
|
+
if (isUntested(full))
|
|
61
|
+
return standDown(full.untested);
|
|
62
|
+
const control = await send(ctx, address, { forged: { derived: true, scheme, value: full.value } });
|
|
63
|
+
if (refused(control.status)) {
|
|
64
|
+
return ctx.findings.unresolved(ID, ctx.subject, `${ctx.subject} refused ${ctx.actor.id}'s ${scheme} credential issued with ${scopes.join(" ")} too ` +
|
|
65
|
+
`(${control.status}), so the refusal without the scope proves nothing`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return ASSERTED;
|
|
69
|
+
}
|
|
70
|
+
/* The scoped alternatives of one scheme whose recipe is a mint, or why there are none. */
|
|
71
|
+
function mintedPlan(ctx) {
|
|
72
|
+
const scoped = singleSchemes(ctx.security).filter((requirement) => requirement.scopes.length > 0);
|
|
73
|
+
if (scoped.length === 0)
|
|
74
|
+
return cannot("an alternative that requires a scope");
|
|
75
|
+
const minted = [];
|
|
76
|
+
const reasons = [];
|
|
77
|
+
for (const requirement of scoped) {
|
|
78
|
+
const recipe = ctx.probe.recipe({ principal: ctx.actor.id, scheme: requirement.scheme });
|
|
79
|
+
if (isUntested(recipe))
|
|
80
|
+
reasons.push(recipe.untested);
|
|
81
|
+
else if (recipe.kind === "mint")
|
|
82
|
+
minted.push(requirement);
|
|
83
|
+
else {
|
|
84
|
+
reasons.push(`a mint recipe, which issues a credential for the scopes asked; ${ctx.actor.id}'s ${requirement.scheme} recipe is a ${recipe.kind} recipe`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return minted.length === 0 ? cannot(reasons.join("; ")) : ready(minted);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=auth-scope-enforced.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OperationCheck } from "../../core/check.ts";
|
|
2
|
+
import type { Requirement } from "../../../../spec/security/requirements.ts";
|
|
3
|
+
import { type Address } from "./probing.ts";
|
|
4
|
+
interface Planned {
|
|
5
|
+
address: Address;
|
|
6
|
+
others: Requirement[];
|
|
7
|
+
}
|
|
8
|
+
export declare const wrongSchemeRefused: OperationCheck<Planned>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=auth-wrong-scheme-refused.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A secured operation must refuse a valid credential of a scheme it does not list: a route the
|
|
3
|
+
* document secures with jwt alone takes no API key, however real. For each declared scheme another
|
|
4
|
+
* operation of the document names and this one does not, the actor's own credential for it (with the
|
|
5
|
+
* scopes it is first named with) is sent in its place. It is a real value, so it is sent as a derived
|
|
6
|
+
* forged one, redacted like the credential. Probes go where `addressOf` puts them; mutating, since
|
|
7
|
+
* some write.
|
|
8
|
+
*/
|
|
9
|
+
import { standDown } from "../../../finding.js";
|
|
10
|
+
import { defineCheck } from "../../core/define.js";
|
|
11
|
+
import { isUntested } from "../../core/operation.js";
|
|
12
|
+
import { andThen, cannot, ready } from "../../core/plan.js";
|
|
13
|
+
import { addressOf, documentSchemes, judgeRefusals, securedPlan, send } from "./probing.js";
|
|
14
|
+
const ID = "auth.wrong-scheme-refused";
|
|
15
|
+
export const wrongSchemeRefused = defineCheck({
|
|
16
|
+
id: ID,
|
|
17
|
+
mutates: true,
|
|
18
|
+
needs: "an operation whose security requires a credential, and a scheme it does not list",
|
|
19
|
+
plan: (ctx) => andThen(securedPlan(ctx), () => {
|
|
20
|
+
const listed = new Set(ctx.security.alternatives.flat().map((requirement) => requirement.scheme));
|
|
21
|
+
const others = documentSchemes(ctx.model).filter((requirement) => !listed.has(requirement.scheme));
|
|
22
|
+
if (others.length === 0)
|
|
23
|
+
return cannot(`a scheme the document uses that ${ctx.subject} does not list`);
|
|
24
|
+
return andThen(addressOf(ctx), (address) => ready({ address, others }));
|
|
25
|
+
}),
|
|
26
|
+
async run(ctx, { address, others }) {
|
|
27
|
+
const probes = [];
|
|
28
|
+
const untested = [];
|
|
29
|
+
for (const { scheme, scopes } of others) {
|
|
30
|
+
const held = await ctx.probe.held({ principal: ctx.actor.id, scheme, scopes });
|
|
31
|
+
if (isUntested(held)) {
|
|
32
|
+
untested.push(held.untested);
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
probes.push({
|
|
36
|
+
exchange: await send(ctx, address, { forged: { derived: true, scheme, value: held.value } }),
|
|
37
|
+
sent: `${ctx.actor.id}'s ${scheme} credential, a scheme it does not list`,
|
|
38
|
+
summary: "an operation accepted a credential of a scheme it does not list",
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return probes.length === 0 ? standDown(untested.join("; ")) : judgeRefusals(ctx, ID, probes);
|
|
42
|
+
},
|
|
43
|
+
subject: "operation",
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=auth-wrong-scheme-refused.js.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { OperationModel } from "../../../../spec/graph/types.ts";
|
|
2
|
+
import type { SafeMethod } from "../../../../spec/methods.ts";
|
|
3
|
+
import { type Outcome } from "../../../finding.ts";
|
|
4
|
+
import type { OperationContext } from "../../core/operation-context.ts";
|
|
5
|
+
import { type Plan } from "../../core/plan.ts";
|
|
6
|
+
/** The recipe step a check anchors on. */
|
|
7
|
+
export type AnchorKind = "issue" | "refresh" | "revoke";
|
|
8
|
+
/** Which step, and whether only a login recipe's counts. */
|
|
9
|
+
export interface Anchoring {
|
|
10
|
+
kind: AnchorKind;
|
|
11
|
+
login?: true;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The schemes whose recipe, for the actor, names this operation for the step: the check runs here,
|
|
15
|
+
* once for each. Elsewhere it stands down naming where it runs; with no anchor at all, giving each
|
|
16
|
+
* scheme's reason.
|
|
17
|
+
*/
|
|
18
|
+
export declare function anchoredSchemes(ctx: OperationContext, anchoring: Anchoring): Plan<string[]>;
|
|
19
|
+
/** The one read a lifecycle check proves a credential on. */
|
|
20
|
+
export interface ReadRoute {
|
|
21
|
+
operation: OperationModel;
|
|
22
|
+
/** The method it is sent with: GET or HEAD. */
|
|
23
|
+
method: SafeMethod;
|
|
24
|
+
/** Its path, filled from the scope of the principal the credential is proven as (`acceptorOf`). */
|
|
25
|
+
path: string;
|
|
26
|
+
/** The scopes the scheme's alternative asks for, which a minted credential must carry. */
|
|
27
|
+
scopes: string[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The read a lifecycle probe proves a credential on: a GET or HEAD that takes `scheme` alone and that
|
|
31
|
+
* The API tester can send whole. Its path is filled from the scope of the principal the probe acts as (the
|
|
32
|
+
* target's creator, which expects acceptance, else the actor), or a path parameter's declared enum;
|
|
33
|
+
* every required query, header and cookie parameter has a declared value (`unfilledRequired`). A
|
|
34
|
+
* read that cannot be sent whole never answers 2xx, and the check could never conclude. Among the
|
|
35
|
+
* reads that can, the first in document order of the best rank (`rankOf`).
|
|
36
|
+
*/
|
|
37
|
+
export declare function readRoute(ctx: OperationContext, scheme: string): ReadRoute | undefined;
|
|
38
|
+
/** One scheme a lifecycle check runs for, the read it proves the credential on, and whose credential it is. */
|
|
39
|
+
export interface Lifecycle {
|
|
40
|
+
scheme: string;
|
|
41
|
+
route: ReadRoute;
|
|
42
|
+
/** The principal whose dedicated credential is proven, then revoked or rotated (`acceptorOf`). */
|
|
43
|
+
actor: string;
|
|
44
|
+
}
|
|
45
|
+
/** Why a lifecycle check stands down when no scheme it anchors has a read `readRoute` can send. */
|
|
46
|
+
export declare const NO_READ = "no read this credential protects that the API tester can send";
|
|
47
|
+
/**
|
|
48
|
+
* A lifecycle check's plan: the schemes anchored on this operation, each with its read. A scheme
|
|
49
|
+
* with no such read is left out; with none left, the check stands down naming what it needs.
|
|
50
|
+
*/
|
|
51
|
+
export declare function lifecyclePlan(ctx: OperationContext, kind: AnchorKind): Plan<Lifecycle[]>;
|
|
52
|
+
/** A refusal of a credential: 401, or 403. */
|
|
53
|
+
export declare function isRefused(status: number): boolean;
|
|
54
|
+
/** What probing one scheme came to: an outcome, or why that scheme could not be probed. */
|
|
55
|
+
export type SchemeOutcome = Outcome | {
|
|
56
|
+
untested: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* What `work` decided, or untested with why when a credential it sends cannot be: BLOCKED by a failed
|
|
60
|
+
* login, mint or renewal, or none that meets the security. `label` names whose request it was.
|
|
61
|
+
*/
|
|
62
|
+
export declare function unlessUnsatisfied<T = Outcome>(label: string, work: () => Promise<T>): Promise<T | {
|
|
63
|
+
untested: string;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* One outcome for every scheme a check probed: a finding first, then an unresolved run, then a pass
|
|
67
|
+
* that notes what stayed untested. With no scheme tested, the check stands down with every reason.
|
|
68
|
+
*/
|
|
69
|
+
export declare function settle(outcomes: readonly SchemeOutcome[]): Outcome;
|
|
70
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* What the credential-lifecycle checks share. A session's issue, refresh and revoke are properties of
|
|
3
|
+
* the credential, not of a route, so each check anchors once per scheme on the operation the actor's
|
|
4
|
+
* recipe names for that step. It proves the credential on one read the API tester can send whole (`readRoute`).
|
|
5
|
+
* Per-route guard coverage is the missing- and invalid-credential checks'.
|
|
6
|
+
*/
|
|
7
|
+
import { UnsatisfiedSecurity } from "../../../../client/credential-source.js";
|
|
8
|
+
import { unfilledRequired } from "../../../../spec/graph/parameters.js";
|
|
9
|
+
import { SELF_IDENTITY } from "../../../../spec/sign-up.js";
|
|
10
|
+
import { fillPath } from "../../../fill-path.js";
|
|
11
|
+
import { ASSERTED, asserted, standDown } from "../../../finding.js";
|
|
12
|
+
import { noSecurityReason } from "../../../no-security.js";
|
|
13
|
+
import { isUntested } from "../../core/operation.js";
|
|
14
|
+
import { andThen, cannot, ready } from "../../core/plan.js";
|
|
15
|
+
import { acceptorOf } from "./probing.js";
|
|
16
|
+
const NAMED = {
|
|
17
|
+
issue: "documented issuing step",
|
|
18
|
+
refresh: "refresh",
|
|
19
|
+
revoke: "revoke",
|
|
20
|
+
};
|
|
21
|
+
/* Why this recipe cannot anchor the step at all, or undefined when it names one. */
|
|
22
|
+
function refusalOf(recipe, { kind, login }) {
|
|
23
|
+
if (login === true && recipe.kind !== "login")
|
|
24
|
+
return `${recipe.kind} recipes have no login step`;
|
|
25
|
+
return recipe[kind] === undefined ? `the ${recipe.kind} recipe declares no ${NAMED[kind]}` : undefined;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The schemes whose recipe, for the actor, names this operation for the step: the check runs here,
|
|
29
|
+
* once for each. Elsewhere it stands down naming where it runs; with no anchor at all, giving each
|
|
30
|
+
* scheme's reason.
|
|
31
|
+
*/
|
|
32
|
+
export function anchoredSchemes(ctx, anchoring) {
|
|
33
|
+
const here = [];
|
|
34
|
+
const elsewhere = new Set();
|
|
35
|
+
const reasons = [];
|
|
36
|
+
for (const scheme of ctx.model.securitySchemes) {
|
|
37
|
+
const recipe = ctx.probe.recipe({ principal: ctx.actor.id, scheme });
|
|
38
|
+
const refused = isUntested(recipe) ? recipe.untested : refusalOf(recipe, anchoring);
|
|
39
|
+
const anchor = isUntested(recipe) ? undefined : recipe[anchoring.kind];
|
|
40
|
+
if (refused !== undefined)
|
|
41
|
+
reasons.push(`${scheme}: ${refused}`);
|
|
42
|
+
else if (anchor === ctx.operation.operationId)
|
|
43
|
+
here.push(scheme);
|
|
44
|
+
else
|
|
45
|
+
elsewhere.add(anchor);
|
|
46
|
+
}
|
|
47
|
+
if (here.length > 0)
|
|
48
|
+
return ready(here);
|
|
49
|
+
if (elsewhere.size > 0) {
|
|
50
|
+
return cannot(`the ${anchoring.kind} operation of a recipe; this check runs on ${[...elsewhere].join(", ")}`);
|
|
51
|
+
}
|
|
52
|
+
return cannot(reasons.length > 0 ? reasons.join("; ") : "a declared security scheme");
|
|
53
|
+
}
|
|
54
|
+
/** The safe methods a credential is proven with: neither carries a body. */
|
|
55
|
+
const PROVING = /* @__PURE__ */ new Set(["GET", "HEAD"]);
|
|
56
|
+
/**
|
|
57
|
+
* The read a lifecycle probe proves a credential on: a GET or HEAD that takes `scheme` alone and that
|
|
58
|
+
* The API tester can send whole. Its path is filled from the scope of the principal the probe acts as (the
|
|
59
|
+
* target's creator, which expects acceptance, else the actor), or a path parameter's declared enum;
|
|
60
|
+
* every required query, header and cookie parameter has a declared value (`unfilledRequired`). A
|
|
61
|
+
* read that cannot be sent whole never answers 2xx, and the check could never conclude. Among the
|
|
62
|
+
* reads that can, the first in document order of the best rank (`rankOf`).
|
|
63
|
+
*/
|
|
64
|
+
export function readRoute(ctx, scheme) {
|
|
65
|
+
const { scope } = acceptorOf(ctx);
|
|
66
|
+
let best;
|
|
67
|
+
for (const operation of ctx.model.operations) {
|
|
68
|
+
if (!PROVING.has(operation.method.toUpperCase()) || operation.security.source === "none")
|
|
69
|
+
continue;
|
|
70
|
+
const alone = operation.security.alternatives.find((set) => set.length === 1 && set[0]?.scheme === scheme)?.[0];
|
|
71
|
+
if (alone === undefined)
|
|
72
|
+
continue;
|
|
73
|
+
const raw = ctx.model.rawOperations.get(operation.operationId);
|
|
74
|
+
const values = pathValues(operation, raw, scope);
|
|
75
|
+
if (values === undefined || unfilledRequired(raw).length > 0)
|
|
76
|
+
continue;
|
|
77
|
+
const rank = rankOf(operation, raw);
|
|
78
|
+
if (best !== undefined && best.rank <= rank)
|
|
79
|
+
continue;
|
|
80
|
+
const path = fillPath(operation.path, values);
|
|
81
|
+
const method = operation.method.toUpperCase();
|
|
82
|
+
best = { rank, route: { method, operation, path, scopes: [...alone.scopes] } };
|
|
83
|
+
}
|
|
84
|
+
return best?.route;
|
|
85
|
+
}
|
|
86
|
+
/* Each path parameter's value from the scope, else its declared enum's first; undefined once one has neither. */
|
|
87
|
+
function pathValues(operation, raw, scope) {
|
|
88
|
+
const values = {};
|
|
89
|
+
for (const name of operation.pathParams) {
|
|
90
|
+
const enumerated = raw.parameters?.find((param) => param.in === "path" && param.name === name)?.schema?.["enum"];
|
|
91
|
+
const value = Object.hasOwn(scope, name) ? scope[name] : Array.isArray(enumerated) ? enumerated[0] : undefined;
|
|
92
|
+
if (value === undefined || value === null)
|
|
93
|
+
return undefined;
|
|
94
|
+
values[name] = String(value);
|
|
95
|
+
}
|
|
96
|
+
return values;
|
|
97
|
+
}
|
|
98
|
+
/*
|
|
99
|
+
* Lower is better: a read that needs no parameter at all, then the caller's own read or a list, which
|
|
100
|
+
* any credential of the scheme should be let into, over a read of one record it may not reach. A GET
|
|
101
|
+
* breaks a tie with a HEAD: some stacks answer HEAD outside their auth middleware (an automatic
|
|
102
|
+
* HEAD, a static or proxy layer), and its 2xx would read a revoked credential as accepted.
|
|
103
|
+
*/
|
|
104
|
+
function rankOf(operation, raw) {
|
|
105
|
+
const bare = operation.pathParams.length === 0 && !(raw.parameters ?? []).some((param) => param.required === true);
|
|
106
|
+
const open = operation.identity === SELF_IDENTITY || operation.action === "list";
|
|
107
|
+
const head = operation.method.toUpperCase() === "HEAD";
|
|
108
|
+
return (bare ? 0 : 4) + (open ? 0 : 2) + (head ? 1 : 0);
|
|
109
|
+
}
|
|
110
|
+
/** Why a lifecycle check stands down when no scheme it anchors has a read `readRoute` can send. */
|
|
111
|
+
export const NO_READ = "no read this credential protects that the API tester can send";
|
|
112
|
+
/**
|
|
113
|
+
* A lifecycle check's plan: the schemes anchored on this operation, each with its read. A scheme
|
|
114
|
+
* with no such read is left out; with none left, the check stands down naming what it needs.
|
|
115
|
+
*/
|
|
116
|
+
export function lifecyclePlan(ctx, kind) {
|
|
117
|
+
const undeclared = noSecurityReason(ctx.operation);
|
|
118
|
+
if (undeclared !== undefined)
|
|
119
|
+
return cannot(undeclared);
|
|
120
|
+
const actor = acceptorOf(ctx).id;
|
|
121
|
+
return andThen(anchoredSchemes(ctx, { kind }), (schemes) => {
|
|
122
|
+
const planned = schemes.flatMap((scheme) => {
|
|
123
|
+
const route = readRoute(ctx, scheme);
|
|
124
|
+
return route === undefined ? [] : [{ actor, route, scheme }];
|
|
125
|
+
});
|
|
126
|
+
return planned.length > 0 ? ready(planned) : cannot(NO_READ);
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/** A refusal of a credential: 401, or 403. */
|
|
130
|
+
export function isRefused(status) {
|
|
131
|
+
return status === 401 || status === 403;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* What `work` decided, or untested with why when a credential it sends cannot be: BLOCKED by a failed
|
|
135
|
+
* login, mint or renewal, or none that meets the security. `label` names whose request it was.
|
|
136
|
+
*/
|
|
137
|
+
export async function unlessUnsatisfied(label, work) {
|
|
138
|
+
try {
|
|
139
|
+
return await work();
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
if (!(error instanceof UnsatisfiedSecurity))
|
|
143
|
+
throw error;
|
|
144
|
+
return { untested: `${label}: ${error.reason}` };
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* One outcome for every scheme a check probed: a finding first, then an unresolved run, then a pass
|
|
149
|
+
* that notes what stayed untested. With no scheme tested, the check stands down with every reason.
|
|
150
|
+
*/
|
|
151
|
+
export function settle(outcomes) {
|
|
152
|
+
const ran = outcomes.filter((outcome) => !("untested" in outcome));
|
|
153
|
+
const untested = outcomes.flatMap((outcome) => ("untested" in outcome ? [outcome.untested] : []));
|
|
154
|
+
const decided = ran.find((outcome) => outcome.kind === "finding") ?? ran.find((o) => o.kind === "unresolved");
|
|
155
|
+
if (decided !== undefined)
|
|
156
|
+
return decided;
|
|
157
|
+
if (ran.length === 0)
|
|
158
|
+
return standDown(untested.join("; "));
|
|
159
|
+
return untested.length > 0 ? asserted(`untested: ${untested.join("; ")}`) : ASSERTED;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { OperationModel } from "../../../../spec/graph/types.ts";
|
|
2
|
+
import { type Outcome } from "../../../finding.ts";
|
|
3
|
+
import type { Actor } from "../../core/context.ts";
|
|
4
|
+
import type { OperationContext, OperationWriteContext } from "../../core/operation-context.ts";
|
|
5
|
+
import { type Plan } from "../../core/plan.ts";
|
|
6
|
+
type Fields = Record<string, unknown>;
|
|
7
|
+
/** A read that shows the account the sign-up made, and how it is sent. */
|
|
8
|
+
export type ReadBack =
|
|
9
|
+
/** The account's own read, sent as the account. */
|
|
10
|
+
{
|
|
11
|
+
kind: "self";
|
|
12
|
+
op: OperationModel;
|
|
13
|
+
}
|
|
14
|
+
/** The listing of the entity the sign-up makes, sent as `as`; the account's row is the one `identity` names. */
|
|
15
|
+
| {
|
|
16
|
+
kind: "listing";
|
|
17
|
+
op: OperationModel;
|
|
18
|
+
as: Actor;
|
|
19
|
+
path: string;
|
|
20
|
+
identity: Record<string, string>;
|
|
21
|
+
}
|
|
22
|
+
/** The sign-up's own answer. */
|
|
23
|
+
| {
|
|
24
|
+
kind: "answer";
|
|
25
|
+
};
|
|
26
|
+
/** The body the sign-up sends, each marked property with the value it is set to, and the reads that show it. */
|
|
27
|
+
export interface SignUpProbe {
|
|
28
|
+
kind: "signup";
|
|
29
|
+
body: Fields;
|
|
30
|
+
values: ReadonlyArray<[path: string, value: unknown]>;
|
|
31
|
+
reads: readonly ReadBack[];
|
|
32
|
+
}
|
|
33
|
+
/** Whether the operation signs an account up: marked x-fresh-principal, or a sign-up the document leaves unmarked. */
|
|
34
|
+
export declare function isSignUp(ctx: Pick<OperationContext, "model" | "operation">): boolean;
|
|
35
|
+
/** What the sign-up probe sends and reads; a stand-down naming what is missing, before anything is sent. */
|
|
36
|
+
export declare function signUpPlan(ctx: OperationContext): Plan<SignUpProbe>;
|
|
37
|
+
/**
|
|
38
|
+
* Signs the account up, anonymously as any sign-up is sent, and judges by the first read that shows
|
|
39
|
+
* it: a marked property holding the value it was set to is the finding. A sign-up refused made no
|
|
40
|
+
* account with it, which passes; a server error leaves it unresolved.
|
|
41
|
+
*/
|
|
42
|
+
export declare function signUpAndJudge(ctx: OperationWriteContext, probe: SignUpProbe): Promise<Outcome>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=privileged-signup.d.ts.map
|