@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,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The id a create's answer gives the record it made.
|
|
3
|
+
*
|
|
4
|
+
* Teardown deletes by this id, so where it comes from decides whether a delete removes the API tester's own
|
|
5
|
+
* row or somebody else's. A declared `x-entity.createdIdFrom`, or the identity at the top of the
|
|
6
|
+
* answer, names the record by contract. Anything else is a candidate: the record under an
|
|
7
|
+
* envelope, or a conventional id key found by walking the answer — which can just as well be a
|
|
8
|
+
* related record's (`Status: { ID: 1 }`). A candidate counts only once a read under it shows what
|
|
9
|
+
* was sent (`confirmSubmitted`). A create whose body names no id at all may still name the record by
|
|
10
|
+
* its URL, in `Location` (`createdIdOf`).
|
|
11
|
+
*/
|
|
12
|
+
import { createdIdKeys, findCreatedId } from "./effects/ids.js";
|
|
13
|
+
import { readPath } from "../client/read-path.js";
|
|
14
|
+
import { headerValue } from "./headers.js";
|
|
15
|
+
import { createdId } from "./proven-id.js";
|
|
16
|
+
function isScalarId(value) {
|
|
17
|
+
return typeof value === "string" || typeof value === "number";
|
|
18
|
+
}
|
|
19
|
+
function isPlainRecord(value) {
|
|
20
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
21
|
+
}
|
|
22
|
+
/** Keys a create may wrap the record it made in: `{ success, id, data: { ... } }`. */
|
|
23
|
+
const CREATE_ENVELOPE_KEYS = ["data", "item", "result", "record"];
|
|
24
|
+
/**
|
|
25
|
+
* The record a create answered with. Some creates wrap it — `{ success, id, data: { ID, ... } }` —
|
|
26
|
+
* and taking the envelope for the record compares the wrong object and loses the id. The record
|
|
27
|
+
* is the top level or the object under an envelope key, whichever holds more of what was sent, so
|
|
28
|
+
* a record that merely has an object field named `data` keeps its top level. When the record
|
|
29
|
+
* lacks its identity, the envelope's identity (or `id`) is the one the create answered.
|
|
30
|
+
*/
|
|
31
|
+
export function createdRecordOf(response, identity, sent) {
|
|
32
|
+
if (!isPlainRecord(response))
|
|
33
|
+
return {};
|
|
34
|
+
const submitted = isPlainRecord(sent)
|
|
35
|
+
? Object.entries(sent).filter(([, value]) => isScalarId(value) || typeof value === "boolean")
|
|
36
|
+
: [];
|
|
37
|
+
const holds = (candidate) => submitted.filter(([key, value]) => candidate[key] === value).length;
|
|
38
|
+
let record = response;
|
|
39
|
+
for (const key of CREATE_ENVELOPE_KEYS) {
|
|
40
|
+
const inner = response[key];
|
|
41
|
+
if (isPlainRecord(inner) && holds(inner) > holds(record))
|
|
42
|
+
record = inner;
|
|
43
|
+
}
|
|
44
|
+
if (record === response || isScalarId(record[identity]))
|
|
45
|
+
return record;
|
|
46
|
+
const answered = isScalarId(response[identity]) ? response[identity] : response["id"];
|
|
47
|
+
return isScalarId(answered) ? { ...record, [identity]: answered } : record;
|
|
48
|
+
}
|
|
49
|
+
function asCreatedId(value, trusted) {
|
|
50
|
+
const id = createdId(value);
|
|
51
|
+
/* `createdId` proves only a string or a number. */
|
|
52
|
+
return id === undefined ? undefined : { id, trusted, value: value };
|
|
53
|
+
}
|
|
54
|
+
/** The created record's id: declared, then the answer's own identity, then candidates. */
|
|
55
|
+
export function resolveCreatedId(input) {
|
|
56
|
+
const { body, identity, source } = input;
|
|
57
|
+
if (source.createdIdFrom !== null) {
|
|
58
|
+
const declared = asCreatedId(readPath(body, source.createdIdFrom), true);
|
|
59
|
+
if (declared !== undefined)
|
|
60
|
+
return declared;
|
|
61
|
+
}
|
|
62
|
+
if (isPlainRecord(body)) {
|
|
63
|
+
const own = asCreatedId(body[identity], true);
|
|
64
|
+
if (own !== undefined)
|
|
65
|
+
return own;
|
|
66
|
+
}
|
|
67
|
+
if (source.recordPath !== null) {
|
|
68
|
+
const record = readPath(body, source.recordPath);
|
|
69
|
+
const inRecord = isPlainRecord(record) ? asCreatedId(record[identity], false) : undefined;
|
|
70
|
+
if (inRecord !== undefined)
|
|
71
|
+
return inRecord;
|
|
72
|
+
}
|
|
73
|
+
return (asCreatedId(createdRecordOf(body, identity, input.sent)[identity], false) ??
|
|
74
|
+
asCreatedId(findCreatedId(body, createdIdKeys(input.entity, identity)), false));
|
|
75
|
+
}
|
|
76
|
+
/* A path segment as it was meant: percent-decoded, or as sent when it is not valid encoding. */
|
|
77
|
+
function decoded(segment) {
|
|
78
|
+
try {
|
|
79
|
+
return decodeURIComponent(segment);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return segment;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* The id a `Location` header names: the segment the item route's last parameter takes, with the
|
|
87
|
+
* route laid over the URL's path from its end, so a mount or a base path in front does not matter
|
|
88
|
+
* and a URL to anything else (a literal segment that differs) names nothing. Without an item route
|
|
89
|
+
* it is the last segment. A relative Location resolves against `base`, the create's own URL.
|
|
90
|
+
*/
|
|
91
|
+
export function locatedId(location, template, base) {
|
|
92
|
+
if (location === undefined)
|
|
93
|
+
return undefined;
|
|
94
|
+
let pathname;
|
|
95
|
+
try {
|
|
96
|
+
pathname = new URL(location, base ?? "http://testing.invalid/").pathname;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
const segments = pathname.split("/").filter(Boolean).map(decoded);
|
|
102
|
+
if (template === undefined)
|
|
103
|
+
return segments.at(-1);
|
|
104
|
+
const route = template.split("/").filter(Boolean);
|
|
105
|
+
const at = route.findLastIndex((segment) => segment.startsWith("{"));
|
|
106
|
+
const offset = segments.length - route.length;
|
|
107
|
+
if (at + offset < 0)
|
|
108
|
+
return undefined;
|
|
109
|
+
for (let index = Math.max(0, -offset); index < route.length; index++) {
|
|
110
|
+
const segment = route[index];
|
|
111
|
+
if (!segment.startsWith("{") && segment !== segments[index + offset])
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
return segments[at + offset];
|
|
115
|
+
}
|
|
116
|
+
/* The route one record of the entity lives at: its read's, else its delete's or its update's. */
|
|
117
|
+
function itemPathOf(model, entity) {
|
|
118
|
+
const routes = entity === null ? undefined : model.entities.get(entity);
|
|
119
|
+
const itemOp = [routes?.read, routes?.delete, routes?.update]
|
|
120
|
+
.map((operationId) => (operationId === undefined ? undefined : model.byOperationId.get(operationId)))
|
|
121
|
+
.find((op) => op !== undefined);
|
|
122
|
+
return itemOp?.path;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* The id a create's answer gives the record it made: its body's (`resolveCreatedId`), else the one
|
|
126
|
+
* its `Location` header names under the entity's item route. A Location is the record's URL by
|
|
127
|
+
* contract, so its id is trusted as a declared one is. Every reader of a created id goes through here.
|
|
128
|
+
*/
|
|
129
|
+
export function createdIdOf(input) {
|
|
130
|
+
const { createOp, exchange, model } = input;
|
|
131
|
+
const entity = createOp.entity;
|
|
132
|
+
const identity = (entity === null ? undefined : model.entities.get(entity))?.identity ?? "id";
|
|
133
|
+
const answered = resolveCreatedId({
|
|
134
|
+
body: exchange.responseBody ?? {},
|
|
135
|
+
entity: entity ?? "",
|
|
136
|
+
identity,
|
|
137
|
+
sent: input.sent,
|
|
138
|
+
source: { createdIdFrom: createOp.createdIdFrom, recordPath: createOp.recordPath },
|
|
139
|
+
});
|
|
140
|
+
return answered ?? locatedCreatedId(input);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The id a create's `Location` header names under the entity's item route, trusted: a Location is
|
|
144
|
+
* the record's URL by contract. A reader that takes the id from the body its own way falls back to
|
|
145
|
+
* this one; every other reader takes both through `createdIdOf`.
|
|
146
|
+
*/
|
|
147
|
+
export function locatedCreatedId(input) {
|
|
148
|
+
const { exchange } = input;
|
|
149
|
+
const location = headerValue(exchange.responseHeaders, "location");
|
|
150
|
+
return asCreatedId(locatedId(location, itemPathOf(input.model, input.createOp.entity), exchange.url), true);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* The id a create's answer names for the record it made, read the way a check reads an echo: the
|
|
154
|
+
* answered record's identity (`createdRecordOf`), never a candidate found deeper in the answer,
|
|
155
|
+
* else the one its `Location` names.
|
|
156
|
+
*/
|
|
157
|
+
export function answeredIdOf(input) {
|
|
158
|
+
const { exchange, identity } = input;
|
|
159
|
+
const echoed = createdRecordOf(exchange.responseBody ?? {}, identity, exchange.requestBody)[identity];
|
|
160
|
+
return isScalarId(echoed) ? echoed : locatedCreatedId(input)?.value;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=created-id.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { OperationModel, SpecModel } from "../spec/graph/types.ts";
|
|
2
|
+
import type { Exchange } from "./exchange.ts";
|
|
3
|
+
/** A record a credential recipe minted: its entity, its id, and the operation that minted it. */
|
|
4
|
+
export interface CredentialRecord {
|
|
5
|
+
entity: string;
|
|
6
|
+
id: string;
|
|
7
|
+
operationId: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Every record a recipe's mint made, from the exchanges the credential store sent: those to a mint
|
|
11
|
+
* operation that answered 2xx with an id. A mint whose answer names no id is not here; its entity
|
|
12
|
+
* stays out of the run (`authOwnedReason`), rather than risk the credential.
|
|
13
|
+
*/
|
|
14
|
+
export declare function mintedRecords(input: {
|
|
15
|
+
exchanges: readonly Exchange[];
|
|
16
|
+
mintOps: ReadonlySet<string>;
|
|
17
|
+
model: Pick<SpecModel, "byOperationId" | "entities">;
|
|
18
|
+
}): CredentialRecord[];
|
|
19
|
+
/** The held record a request names by its resolved path, on that record's own entity; `undefined` when none. */
|
|
20
|
+
export declare function heldCredential(op: Pick<OperationModel, "entity">, pathParams: Readonly<Record<string, string>>, held: readonly CredentialRecord[]): CredentialRecord | undefined;
|
|
21
|
+
//# sourceMappingURL=credential-records.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The records that hold a live credential the run depends on: each API key a security recipe minted,
|
|
3
|
+
* say. A check may read one; it may never change or remove one, or the run would lock itself out
|
|
4
|
+
* halfway through. Each is known by the mint answer that made it, its id read the way every created
|
|
5
|
+
* id is (`createdIdOf`: the body by the entity's identity, or Location), so the rest of its entity
|
|
6
|
+
* stays testable on records the run makes for its checks.
|
|
7
|
+
*/
|
|
8
|
+
import { createdIdOf } from "./created-id.js";
|
|
9
|
+
/**
|
|
10
|
+
* Every record a recipe's mint made, from the exchanges the credential store sent: those to a mint
|
|
11
|
+
* operation that answered 2xx with an id. A mint whose answer names no id is not here; its entity
|
|
12
|
+
* stays out of the run (`authOwnedReason`), rather than risk the credential.
|
|
13
|
+
*/
|
|
14
|
+
export function mintedRecords(input) {
|
|
15
|
+
const { exchanges, mintOps, model } = input;
|
|
16
|
+
return exchanges.flatMap((exchange) => {
|
|
17
|
+
const operationId = exchange.operationId;
|
|
18
|
+
if (exchange.issuedBy !== "credentials" || operationId === undefined || !mintOps.has(operationId))
|
|
19
|
+
return [];
|
|
20
|
+
if (exchange.status < 200 || exchange.status >= 300)
|
|
21
|
+
return [];
|
|
22
|
+
const createOp = model.byOperationId.get(operationId);
|
|
23
|
+
if (createOp === undefined || createOp.entity === null)
|
|
24
|
+
return [];
|
|
25
|
+
const id = createdIdOf({ createOp, exchange, model, sent: exchange.requestBody });
|
|
26
|
+
return id === undefined ? [] : [{ entity: createOp.entity, id: String(id.value), operationId }];
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/** The held record a request names by its resolved path, on that record's own entity; `undefined` when none. */
|
|
30
|
+
export function heldCredential(op, pathParams, held) {
|
|
31
|
+
const named = new Set(Object.values(pathParams));
|
|
32
|
+
return held.find((record) => record.entity === op.entity && named.has(record.id));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=credential-records.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What must hold after a destructive call the backend accepted: the suite caller still reads
|
|
3
|
+
* itself, a deleted record is no longer listed, and a session the call ended is refused and no
|
|
4
|
+
* longer renews.
|
|
5
|
+
*/
|
|
6
|
+
import type { OperationModel } from "../../spec/graph/types.ts";
|
|
7
|
+
import type { Exchange } from "../exchange.ts";
|
|
8
|
+
import type { FindingCollector } from "../finding.ts";
|
|
9
|
+
import type { DisposableInput, Session } from "./types.ts";
|
|
10
|
+
/** Where a failure lands: the operation's collector, under its entity. */
|
|
11
|
+
export interface Blame {
|
|
12
|
+
collector: FindingCollector;
|
|
13
|
+
entity: string;
|
|
14
|
+
}
|
|
15
|
+
/** An accepted destructive call and what it ran with. */
|
|
16
|
+
export interface Accepted {
|
|
17
|
+
op: OperationModel;
|
|
18
|
+
session: Session;
|
|
19
|
+
read: OperationModel;
|
|
20
|
+
ends: boolean;
|
|
21
|
+
blame: Blame;
|
|
22
|
+
called: Exchange;
|
|
23
|
+
values: Record<string, string>;
|
|
24
|
+
}
|
|
25
|
+
export declare function afterCall(input: DisposableInput, call: Accepted): Promise<void>;
|
|
26
|
+
//# sourceMappingURL=after.d.ts.map
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What must hold after a destructive call the backend accepted: the suite caller still reads
|
|
3
|
+
* itself, a deleted record is no longer listed, and a session the call ended is refused and no
|
|
4
|
+
* longer renews.
|
|
5
|
+
*/
|
|
6
|
+
import { fillPath } from "../fill-path.js";
|
|
7
|
+
import { DISPOSABLE_CHECK_ID } from "./check.js";
|
|
8
|
+
import { identityOf, parentList, recordsOf } from "./lists.js";
|
|
9
|
+
/* A failure was reported: nothing is proved. */
|
|
10
|
+
const BLAMED = "blamed";
|
|
11
|
+
export async function afterCall(input, call) {
|
|
12
|
+
const { op, read, blame, called } = call;
|
|
13
|
+
const caller = await input.client.request(read.method, read.path, {
|
|
14
|
+
as: { principal: input.principal },
|
|
15
|
+
operationId: read.operationId,
|
|
16
|
+
});
|
|
17
|
+
if (caller.status !== 200) {
|
|
18
|
+
blame.collector.backend(DISPOSABLE_CHECK_ID, read.entity ?? "caller", {
|
|
19
|
+
summary: "the suite caller was logged out",
|
|
20
|
+
detail: `${op.operationId} ran as the second user, and the suite ${read.operationId} then returned ${caller.status}.`,
|
|
21
|
+
evidence: [called, caller],
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
let observation = await listedGone(input, call);
|
|
26
|
+
if (observation === BLAMED)
|
|
27
|
+
return;
|
|
28
|
+
if (call.ends) {
|
|
29
|
+
observation = await sessionEnded(input, call);
|
|
30
|
+
if (observation === BLAMED)
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
input.grades.prove(op.operationId, observation === undefined ? { call: called.seq } : { call: called.seq, observation });
|
|
34
|
+
}
|
|
35
|
+
/** A deleted record read back from the list one level up: absent proves it, present fails it. */
|
|
36
|
+
async function listedGone(input, call) {
|
|
37
|
+
const { op, session, values, blame, called } = call;
|
|
38
|
+
const param = op.pathParams.at(-1);
|
|
39
|
+
const list = parentList(input.model, op);
|
|
40
|
+
if (op.method.toUpperCase() !== "DELETE" || param === undefined || list === undefined)
|
|
41
|
+
return undefined;
|
|
42
|
+
const listed = await input.client.request(list.method, fillPath(list.path, values), {
|
|
43
|
+
as: { principal: session.principal },
|
|
44
|
+
operationId: list.operationId,
|
|
45
|
+
});
|
|
46
|
+
const field = identityOf(list, input.model, param);
|
|
47
|
+
/* `runOne` filled every path parameter before the call. */
|
|
48
|
+
const value = values[param];
|
|
49
|
+
if (listed.status < 200 || listed.status >= 300)
|
|
50
|
+
return undefined;
|
|
51
|
+
if (recordsOf(listed.responseBody, list, input.model).some((row) => row[field] === value)) {
|
|
52
|
+
blame.collector.backend(DISPOSABLE_CHECK_ID, blame.entity, {
|
|
53
|
+
summary: "the credential was still listed",
|
|
54
|
+
detail: `${op.operationId} returned ${called.status}, and the follow-up list still contained ${value}.`,
|
|
55
|
+
evidence: [called, listed],
|
|
56
|
+
});
|
|
57
|
+
return BLAMED;
|
|
58
|
+
}
|
|
59
|
+
return { absent: true, path: "$", seq: listed.seq, value };
|
|
60
|
+
}
|
|
61
|
+
/** The ended session read again, and its refresh tried: both must be refused. */
|
|
62
|
+
async function sessionEnded(input, call) {
|
|
63
|
+
const { op, session, read, blame, called } = call;
|
|
64
|
+
/* A probe: the refusal is the answer, never renewed and retried, or the session would look alive. */
|
|
65
|
+
const gone = await input.client.request(read.method, read.path, {
|
|
66
|
+
as: { principal: session.principal },
|
|
67
|
+
operationId: read.operationId,
|
|
68
|
+
probe: true,
|
|
69
|
+
});
|
|
70
|
+
const renewed = session.renew === undefined ? undefined : await session.renew();
|
|
71
|
+
const refused = gone.status === 401 || gone.status === 403 || gone.status === 404;
|
|
72
|
+
/* A declared refresh that answered anything but a 4xx still renews. */
|
|
73
|
+
const renews = renewed !== undefined && !(renewed.status >= 400 && renewed.status < 500);
|
|
74
|
+
/* A read still answered proves the session ended only beside a refresh that was refused. With
|
|
75
|
+
* no refresh declared, or one that sent nothing, nothing shows the session ended. */
|
|
76
|
+
if (!refused && (renewed === undefined || renews)) {
|
|
77
|
+
blame.collector.backend(DISPOSABLE_CHECK_ID, blame.entity, {
|
|
78
|
+
summary: "the disposable session was still accepted",
|
|
79
|
+
detail: `${op.operationId} invalidates ${read.operationId}, and that read then returned ${gone.status} with the second user's credential.`,
|
|
80
|
+
evidence: renewed === undefined ? [called, gone] : [called, gone, renewed],
|
|
81
|
+
});
|
|
82
|
+
return BLAMED;
|
|
83
|
+
}
|
|
84
|
+
if (refused && renews) {
|
|
85
|
+
blame.collector.backend(DISPOSABLE_CHECK_ID, blame.entity, {
|
|
86
|
+
summary: "the refresh token still renews after the session ended",
|
|
87
|
+
detail: `${op.operationId} ended the session, and the declared refresh then returned ${renewed.status}.`,
|
|
88
|
+
evidence: [called, gone, renewed],
|
|
89
|
+
});
|
|
90
|
+
return BLAMED;
|
|
91
|
+
}
|
|
92
|
+
/* Not refused here means the refresh was: the branch above took every other case. */
|
|
93
|
+
const proof = refused ? gone : renewed;
|
|
94
|
+
return { seq: proof.seq, status: proof.status };
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=after.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `x-destructive` runs as a second user, never the suite caller. That user signs up through the
|
|
3
|
+
* document's `x-fresh-principal` operation and is a principal of its own in the run's store.
|
|
4
|
+
* Afterwards the suite caller's own read still answers 200. An operation that invalidates the
|
|
5
|
+
* caller read must leave that second user's credential refused, and a declared refresh must no
|
|
6
|
+
* longer renew it.
|
|
7
|
+
*
|
|
8
|
+
* What a destructive call needs beforehand — a second factor enabled, a credential registered,
|
|
9
|
+
* ownership handed off — is product knowledge. When the call is refused for want of it, the
|
|
10
|
+
* operation stays untested and a scenario sets the scene.
|
|
11
|
+
*/
|
|
12
|
+
import type { OperationModel, SpecModel } from "../../spec/graph/types.ts";
|
|
13
|
+
import type { CheckId } from "../check-ids.ts";
|
|
14
|
+
import type { Check } from "../checks/core/check.ts";
|
|
15
|
+
export declare const DISPOSABLE_CHECK_ID: Extract<CheckId, "auth.destructive-spares-the-caller">;
|
|
16
|
+
export declare const disposableCheck: Check;
|
|
17
|
+
export declare function destructiveOps(model: SpecModel): OperationModel[];
|
|
18
|
+
/** The caller reading itself: an `identity: self` read with nothing to fill in. */
|
|
19
|
+
export declare function callerRead(model: SpecModel): OperationModel | undefined;
|
|
20
|
+
export declare function invalidatesCaller(op: OperationModel, read: OperationModel): boolean;
|
|
21
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `x-destructive` runs as a second user, never the suite caller. That user signs up through the
|
|
3
|
+
* document's `x-fresh-principal` operation and is a principal of its own in the run's store.
|
|
4
|
+
* Afterwards the suite caller's own read still answers 200. An operation that invalidates the
|
|
5
|
+
* caller read must leave that second user's credential refused, and a declared refresh must no
|
|
6
|
+
* longer renew it.
|
|
7
|
+
*
|
|
8
|
+
* What a destructive call needs beforehand — a second factor enabled, a credential registered,
|
|
9
|
+
* ownership handed off — is product knowledge. When the call is refused for want of it, the
|
|
10
|
+
* operation stays untested and a scenario sets the scene.
|
|
11
|
+
*/
|
|
12
|
+
import { ASSERTED } from "../finding.js";
|
|
13
|
+
export const DISPOSABLE_CHECK_ID = "auth.destructive-spares-the-caller";
|
|
14
|
+
export const disposableCheck = {
|
|
15
|
+
id: DISPOSABLE_CHECK_ID,
|
|
16
|
+
mutates: true,
|
|
17
|
+
needs: "x-destructive, a way to sign up a second user, and a caller read",
|
|
18
|
+
plan: () => ({ ok: false }),
|
|
19
|
+
run: () => Promise.resolve(ASSERTED),
|
|
20
|
+
/* Destructive routes have no entity. `runDisposableOps` grades them after the entity loop. */
|
|
21
|
+
subjects: () => [],
|
|
22
|
+
};
|
|
23
|
+
export function destructiveOps(model) {
|
|
24
|
+
return model.operations.filter((op) => op.destructive && op.unsendable === null);
|
|
25
|
+
}
|
|
26
|
+
/** The caller reading itself: an `identity: self` read with nothing to fill in. */
|
|
27
|
+
export function callerRead(model) {
|
|
28
|
+
return model.operations.find((op) => op.identity === "self" && op.action === "read" && op.pathParams.length === 0);
|
|
29
|
+
}
|
|
30
|
+
export function invalidatesCaller(op, read) {
|
|
31
|
+
return op.invalidates.some((route) => route === `${read.method.toUpperCase()} ${read.path}` || route === read.route);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The list one level up from a destructive route, read for the id it needs and again to see the
|
|
3
|
+
* record gone; and the body a destructive call sends.
|
|
4
|
+
*/
|
|
5
|
+
import type { JsonSchema } from "../../spec/types.ts";
|
|
6
|
+
import type { OperationModel, SpecModel } from "../../spec/graph/types.ts";
|
|
7
|
+
export declare function recordsOf(body: unknown, op: OperationModel, model: SpecModel): Record<string, unknown>[];
|
|
8
|
+
export declare function identityOf(list: OperationModel, model: SpecModel, param: string): string;
|
|
9
|
+
/** The collection read one level up — `GET /a/{id}` lists for `DELETE /a/{id}/b/{item}`. */
|
|
10
|
+
export declare function parentList(model: SpecModel, op: OperationModel): OperationModel | undefined;
|
|
11
|
+
/** The generated body with every field the signup already knows by name; none without a schema. */
|
|
12
|
+
export declare function bodyFor(schema: JsonSchema | null, known: Record<string, unknown>, generated: Record<string, unknown>): unknown;
|
|
13
|
+
//# sourceMappingURL=lists.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The list one level up from a destructive route, read for the id it needs and again to see the
|
|
3
|
+
* record gone; and the body a destructive call sends.
|
|
4
|
+
*/
|
|
5
|
+
import { effective } from "../../spec/collection/effective.js";
|
|
6
|
+
import { deriveIdentity } from "../../spec/collection/identity.js";
|
|
7
|
+
import { successSchema } from "../../spec/collection/responses.js";
|
|
8
|
+
import { deriveCollectionShape } from "../../spec/collection/shape.js";
|
|
9
|
+
/** The collection shape `list` answers with. Every operation of a built model has its raw operation. */
|
|
10
|
+
function shapeOf(list, model) {
|
|
11
|
+
return deriveCollectionShape(successSchema(model.rawOperations.get(list.operationId)));
|
|
12
|
+
}
|
|
13
|
+
export function recordsOf(body, op, model) {
|
|
14
|
+
const shape = shapeOf(op, model);
|
|
15
|
+
if (body === null || typeof body !== "object")
|
|
16
|
+
return [];
|
|
17
|
+
const value = shape?.key === null || shape?.key === undefined ? body : body[shape.key];
|
|
18
|
+
if (!Array.isArray(value))
|
|
19
|
+
return [];
|
|
20
|
+
return value.filter((item) => item !== null && typeof item === "object" && !Array.isArray(item));
|
|
21
|
+
}
|
|
22
|
+
export function identityOf(list, model, param) {
|
|
23
|
+
const shape = shapeOf(list, model);
|
|
24
|
+
const props = effective(shape?.itemSchema ?? null)?.properties;
|
|
25
|
+
if (props !== null && props !== undefined && typeof props === "object" && param in props)
|
|
26
|
+
return param;
|
|
27
|
+
return deriveIdentity(shape?.itemSchema ?? null, param) ?? "id";
|
|
28
|
+
}
|
|
29
|
+
/** The collection read one level up — `GET /a/{id}` lists for `DELETE /a/{id}/b/{item}`. */
|
|
30
|
+
export function parentList(model, op) {
|
|
31
|
+
const parent = op.path.replace(/\/\{[^}]+\}$/, "");
|
|
32
|
+
return model.operations.find((item) => item.method.toUpperCase() === "GET" && item.path === parent);
|
|
33
|
+
}
|
|
34
|
+
/** The generated body with every field the signup already knows by name; none without a schema. */
|
|
35
|
+
export function bodyFor(schema, known, generated) {
|
|
36
|
+
if (schema === null)
|
|
37
|
+
return undefined;
|
|
38
|
+
const out = { ...generated };
|
|
39
|
+
const props = schema.properties;
|
|
40
|
+
if (props !== null && props !== undefined && typeof props === "object") {
|
|
41
|
+
for (const name of Object.keys(props))
|
|
42
|
+
if (name in known)
|
|
43
|
+
out[name] = known[name];
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=lists.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One destructive operation, run as the second user: its path filled from that user's lists, its
|
|
3
|
+
* body from the schema and what the signup knows, and its answer graded.
|
|
4
|
+
*/
|
|
5
|
+
import type { OperationModel } from "../../spec/graph/types.ts";
|
|
6
|
+
import type { DisposableInput, Session } from "./types.ts";
|
|
7
|
+
/** A destructive operation, the session it runs as, the caller read, and whether it ends the session. */
|
|
8
|
+
export interface DisposableCall {
|
|
9
|
+
op: OperationModel;
|
|
10
|
+
session: Session;
|
|
11
|
+
read: OperationModel;
|
|
12
|
+
ends: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function runOne(input: DisposableInput, call: DisposableCall): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=one.d.ts.map
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One destructive operation, run as the second user: its path filled from that user's lists, its
|
|
3
|
+
* body from the schema and what the signup knows, and its answer graded.
|
|
4
|
+
*/
|
|
5
|
+
import { requestSchema } from "../../spec/collection/request.js";
|
|
6
|
+
import { fillPath } from "../fill-path.js";
|
|
7
|
+
import { buildCohort } from "../fixture.js";
|
|
8
|
+
import { applyResolveInput } from "../input.js";
|
|
9
|
+
import { afterCall } from "./after.js";
|
|
10
|
+
import { DISPOSABLE_CHECK_ID } from "./check.js";
|
|
11
|
+
import { bodyFor, identityOf, parentList, recordsOf } from "./lists.js";
|
|
12
|
+
export async function runOne(input, call) {
|
|
13
|
+
const { op, session } = call;
|
|
14
|
+
const blame = {
|
|
15
|
+
collector: input.findings.attributed([op.operationId]).ownedBy(DISPOSABLE_CHECK_ID),
|
|
16
|
+
entity: op.entity ?? call.read.entity ?? "caller",
|
|
17
|
+
};
|
|
18
|
+
const values = await pathValues(input, op, session);
|
|
19
|
+
if (values === null)
|
|
20
|
+
return;
|
|
21
|
+
const body = await destructiveBody(input, op, session);
|
|
22
|
+
const called = await input.client.request(op.method, fillPath(op.path, values), {
|
|
23
|
+
as: { principal: session.principal },
|
|
24
|
+
...(body === undefined ? {} : { body }),
|
|
25
|
+
operationId: op.operationId,
|
|
26
|
+
});
|
|
27
|
+
if (called.status >= 500) {
|
|
28
|
+
input.grades.graded([op.operationId], DISPOSABLE_CHECK_ID);
|
|
29
|
+
blame.collector.backend(DISPOSABLE_CHECK_ID, blame.entity, {
|
|
30
|
+
summary: "the disposable call failed",
|
|
31
|
+
detail: `${op.operationId} returned ${called.status}.`,
|
|
32
|
+
evidence: [called],
|
|
33
|
+
});
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (called.status < 200 || called.status >= 300) {
|
|
37
|
+
input.grades.skipped([op.operationId], `destructive call returned ${called.status}; a scenario must set the scene`);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
input.grades.graded([op.operationId], DISPOSABLE_CHECK_ID);
|
|
41
|
+
await afterCall(input, { ...call, blame, called, values });
|
|
42
|
+
}
|
|
43
|
+
/** The path, each parameter the session's scope lacks read from the list one level up; `null` once one cannot be. */
|
|
44
|
+
async function pathValues(input, op, session) {
|
|
45
|
+
const values = { ...session.scope };
|
|
46
|
+
for (const param of op.pathParams) {
|
|
47
|
+
if (values[param] !== undefined)
|
|
48
|
+
continue;
|
|
49
|
+
const list = parentList(input.model, op);
|
|
50
|
+
if (list === undefined) {
|
|
51
|
+
input.grades.skipped([op.operationId], `unresolved param ${param}`);
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const listed = await input.client.request(list.method, fillPath(list.path, values), {
|
|
55
|
+
as: { principal: session.principal },
|
|
56
|
+
operationId: list.operationId,
|
|
57
|
+
});
|
|
58
|
+
/* A refusal, a session the server ended and the API tester could not renew say, lists nothing to read. */
|
|
59
|
+
if (listed.status < 200 || listed.status >= 300) {
|
|
60
|
+
input.grades.skipped([op.operationId], `${list.operationId} answered ${listed.status}`);
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
const field = identityOf(list, input.model, param);
|
|
64
|
+
const row = recordsOf(listed.responseBody, list, input.model).find((item) => typeof item[field] === "string");
|
|
65
|
+
if (row === undefined) {
|
|
66
|
+
input.grades.skipped([op.operationId], "the list returned no id");
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
values[param] = String(row[field]);
|
|
70
|
+
}
|
|
71
|
+
return values;
|
|
72
|
+
}
|
|
73
|
+
/** The schema-built body with what the signup knows overlaid; none when the operation takes none. */
|
|
74
|
+
async function destructiveBody(input, op, session) {
|
|
75
|
+
/* Every operation of a built model has its raw operation. */
|
|
76
|
+
const schema = requestSchema(input.model.rawOperations.get(op.operationId));
|
|
77
|
+
let generated = {};
|
|
78
|
+
if (schema !== null) {
|
|
79
|
+
try {
|
|
80
|
+
/* One variant asked for, one member back, and its body is always an object. */
|
|
81
|
+
const [member] = buildCohort(schema, input.seed ?? 1, {
|
|
82
|
+
variants: ["baseline"],
|
|
83
|
+
nonce: `${input.nonce ?? "user"}d`,
|
|
84
|
+
operationId: op.operationId,
|
|
85
|
+
});
|
|
86
|
+
generated = member.body;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
/* `buildCohort` throws only an overflow (a `FixtureOverflow`, or a `RangeError` past its
|
|
90
|
+
* depth): the body stays empty, and what the signup knows still fills it. */
|
|
91
|
+
}
|
|
92
|
+
if (input.resolveInput !== undefined) {
|
|
93
|
+
generated = await applyResolveInput(generated, input.resolveInput, { operationId: op.operationId, schema });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return bodyFor(schema, session.known, generated);
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=one.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every destructive operation in scope, each run as a second user: one shared by the operations
|
|
3
|
+
* that leave the session standing, and one of its own for each that ends it.
|
|
4
|
+
*/
|
|
5
|
+
import type { DisposableInput } from "./types.ts";
|
|
6
|
+
export declare function runDisposableOps(input: DisposableInput): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every destructive operation in scope, each run as a second user: one shared by the operations
|
|
3
|
+
* that leave the session standing, and one of its own for each that ends it.
|
|
4
|
+
*/
|
|
5
|
+
import { UnsatisfiedSecurity } from "../../client/credential-source.js";
|
|
6
|
+
import { FencedError } from "../fence.js";
|
|
7
|
+
import { callerRead, destructiveOps, DISPOSABLE_CHECK_ID, invalidatesCaller } from "./check.js";
|
|
8
|
+
import { runOne } from "./one.js";
|
|
9
|
+
import { signUp } from "./signup.js";
|
|
10
|
+
export async function runDisposableOps(input) {
|
|
11
|
+
const ops = destructiveOps(input.model).filter((op) => input.mode === "full" || input.inScope(op.operationId));
|
|
12
|
+
if (ops.length === 0)
|
|
13
|
+
return;
|
|
14
|
+
input.checksRun?.add(DISPOSABLE_CHECK_ID);
|
|
15
|
+
const read = callerRead(input.model);
|
|
16
|
+
if (read === undefined) {
|
|
17
|
+
input.grades.skipped(ops.map((op) => op.operationId), "no caller read (an identity: self read)");
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
/* An operation that ends the session gets a user of its own, so no order between them matters. */
|
|
21
|
+
let shared;
|
|
22
|
+
for (const [index, op] of ops.entries()) {
|
|
23
|
+
const ends = invalidatesCaller(op, read);
|
|
24
|
+
let session;
|
|
25
|
+
try {
|
|
26
|
+
session = ends ? await signUp(input, `${index}`) : (shared ?? (await signUp(input, "shared")));
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
session = { blocked: error instanceof Error ? error.message : String(error) };
|
|
30
|
+
}
|
|
31
|
+
if ("blocked" in session) {
|
|
32
|
+
input.grades.skipped([op.operationId], `the second user could not sign up: ${session.blocked}`);
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (!ends)
|
|
36
|
+
shared = session;
|
|
37
|
+
await runAsSecondUser(input, { ends, op, read, session });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/*
|
|
41
|
+
* One operation as the second user. A credential it cannot hold (a renewal that would sign up
|
|
42
|
+
* again), or a request the fence refused, skips it, with why: nothing reached the backend to judge.
|
|
43
|
+
*/
|
|
44
|
+
async function runAsSecondUser(input, run) {
|
|
45
|
+
try {
|
|
46
|
+
await runOne(input, run);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (!(error instanceof UnsatisfiedSecurity) && !(error instanceof FencedError))
|
|
50
|
+
throw error;
|
|
51
|
+
input.grades.skipped([run.op.operationId], error.message);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signing up the second user: a principal of the run's own, enrolled in its store through the
|
|
3
|
+
* document's `x-fresh-principal` operation, so its requests go `as` it and are placed by each
|
|
4
|
+
* operation's security, refreshed and retried on a 401 like any configured principal's.
|
|
5
|
+
*/
|
|
6
|
+
import type { DisposableInput, Session } from "./types.ts";
|
|
7
|
+
/** The second user labeled `label`, as a session; BLOCKED with the reason when it cannot be signed up. */
|
|
8
|
+
export declare function signUp(input: DisposableInput, label: string): Promise<Session | {
|
|
9
|
+
blocked: string;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=signup.d.ts.map
|