@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,188 @@
|
|
|
1
|
+
/** What a write body may carry, coerced to the types the schema declares. */
|
|
2
|
+
import { writableFields } from "../model/fields.js";
|
|
3
|
+
import { HttpError } from "./errors.js";
|
|
4
|
+
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
5
|
+
const DATE_TIME = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/i;
|
|
6
|
+
const invalid = (message) => new HttpError(400, "invalid_input", message);
|
|
7
|
+
export function validateBody(body, rules) {
|
|
8
|
+
const { entity, mode, defects } = rules;
|
|
9
|
+
if (body === null || typeof body !== "object" || Array.isArray(body)) {
|
|
10
|
+
throw invalid("request body must be a JSON object");
|
|
11
|
+
}
|
|
12
|
+
const input = body;
|
|
13
|
+
const allowed = new Map(writableFields(entity, mode === "create" ? "create" : "update").map((f) => [f.name, f]));
|
|
14
|
+
for (const key of Object.keys(input))
|
|
15
|
+
admit(key, allowed, rules);
|
|
16
|
+
/* A create, and a replacing update, must carry every required field. */
|
|
17
|
+
if (mode !== "update" && !defects.has("REQUIRED_NOT_VALIDATED") && rules.lenient !== true) {
|
|
18
|
+
const missing = [...allowed.values()].find((field) => field.required === true && input[field.name] === undefined);
|
|
19
|
+
if (missing !== undefined)
|
|
20
|
+
throw invalid(`field "${missing.name}" is required`);
|
|
21
|
+
}
|
|
22
|
+
const out = {};
|
|
23
|
+
for (const [key, value] of Object.entries(input)) {
|
|
24
|
+
const field = allowed.get(key);
|
|
25
|
+
if (field === undefined)
|
|
26
|
+
continue;
|
|
27
|
+
const kept = rules.lenient === true ? parsed(field, value, defects) : { value: coerceField(field, value, defects) };
|
|
28
|
+
if (kept !== undefined)
|
|
29
|
+
out[key] = kept.value;
|
|
30
|
+
}
|
|
31
|
+
return out;
|
|
32
|
+
}
|
|
33
|
+
/* The value as the field takes it, or undefined when it refuses it: a lenient update drops that one. */
|
|
34
|
+
function parsed(field, value, defects) {
|
|
35
|
+
try {
|
|
36
|
+
return { value: coerceField(field, value, defects) };
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/* A key the body may carry: writable, or — under the defect — immutable or generated too. */
|
|
43
|
+
function admit(key, allowed, { entity, defects }) {
|
|
44
|
+
if (allowed.has(key))
|
|
45
|
+
return;
|
|
46
|
+
const known = entity.fields.find((f) => f.name === key);
|
|
47
|
+
if (known === undefined)
|
|
48
|
+
throw invalid(`unknown field "${key}"`);
|
|
49
|
+
if (known.immutable !== true && known.generated !== true)
|
|
50
|
+
throw invalid(`unknown field "${key}"`);
|
|
51
|
+
if (!defects.has("IMMUTABLE_WRITABLE"))
|
|
52
|
+
throw invalid(`field "${key}" is not writable`);
|
|
53
|
+
allowed.set(key, known);
|
|
54
|
+
}
|
|
55
|
+
export function coerceField(field, value, defects) {
|
|
56
|
+
if (value === null) {
|
|
57
|
+
if (field.nullable !== true)
|
|
58
|
+
throw invalid(`field "${field.name}" is not nullable`);
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
switch (field.type) {
|
|
62
|
+
case "integer":
|
|
63
|
+
case "number":
|
|
64
|
+
return coerceNumber(field, value);
|
|
65
|
+
case "array":
|
|
66
|
+
return coerceArray(field, value);
|
|
67
|
+
case "object":
|
|
68
|
+
return coerceObject(field, value);
|
|
69
|
+
case "boolean":
|
|
70
|
+
if (typeof value !== "boolean")
|
|
71
|
+
throw invalid(`field "${field.name}" must be a boolean`);
|
|
72
|
+
return value;
|
|
73
|
+
default:
|
|
74
|
+
return coerceString(field, value, defects);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function coerceNumber(field, value) {
|
|
78
|
+
if (typeof value !== "number" || !Number.isFinite(value))
|
|
79
|
+
throw invalid(`field "${field.name}" must be a number`);
|
|
80
|
+
if (field.type === "integer" && !Number.isInteger(value))
|
|
81
|
+
throw invalid(`field "${field.name}" must be an integer`);
|
|
82
|
+
if ((field.minimum !== undefined && value < field.minimum) ||
|
|
83
|
+
(field.maximum !== undefined && value > field.maximum) ||
|
|
84
|
+
(field.multipleOf !== undefined && !Number.isInteger(value / field.multipleOf))) {
|
|
85
|
+
throw invalid(`field "${field.name}" is out of range`);
|
|
86
|
+
}
|
|
87
|
+
return value;
|
|
88
|
+
}
|
|
89
|
+
function coerceArray(field, value) {
|
|
90
|
+
const allowed = field.items ?? [];
|
|
91
|
+
if (!Array.isArray(value) ||
|
|
92
|
+
value.length > 5 ||
|
|
93
|
+
value.some((element) => typeof element !== "string" || !allowed.includes(element))) {
|
|
94
|
+
throw invalid(`field "${field.name}" must be a list of ${allowed.join(", ")}`);
|
|
95
|
+
}
|
|
96
|
+
return [...value];
|
|
97
|
+
}
|
|
98
|
+
function coerceObject(field, value) {
|
|
99
|
+
if (field.ref !== "Point" || !isPoint(value))
|
|
100
|
+
throw invalid(`field "${field.name}" must be a ${field.ref ?? "object"}`);
|
|
101
|
+
return { x: value.x, y: value.y };
|
|
102
|
+
}
|
|
103
|
+
function coerceString(field, value, defects) {
|
|
104
|
+
if (typeof value !== "string")
|
|
105
|
+
throw invalid(`field "${field.name}" must be a string`);
|
|
106
|
+
if (field.maxLength !== undefined && value.length > field.maxLength && !defects.has("MAXLENGTH_NOT_VALIDATED")) {
|
|
107
|
+
throw invalid(`field "${field.name}" exceeds maxLength`);
|
|
108
|
+
}
|
|
109
|
+
if (field.enum !== undefined && !field.enum.includes(value) && !defects.has("ENUM_NOT_VALIDATED")) {
|
|
110
|
+
throw invalid(`field "${field.name}" must be one of ${field.enum.join(", ")}`);
|
|
111
|
+
}
|
|
112
|
+
if (field.const !== undefined && value !== field.const)
|
|
113
|
+
throw invalid(`field "${field.name}" must be "${field.const}"`);
|
|
114
|
+
assertFormat(field, value);
|
|
115
|
+
assertPatterns(field, value);
|
|
116
|
+
return defects.has("STRING_PAYLOAD_MANGLED") ? value.replace(/[^\x20-\x7E]/g, "").trim() : value;
|
|
117
|
+
}
|
|
118
|
+
/* The minimum, in code points, and every pattern the field declares. */
|
|
119
|
+
function assertPatterns(field, value) {
|
|
120
|
+
if (field.minLength !== undefined && [...value].length < field.minLength) {
|
|
121
|
+
throw invalid(`field "${field.name}" is shorter than ${field.minLength}`);
|
|
122
|
+
}
|
|
123
|
+
for (const pattern of field.patterns ?? []) {
|
|
124
|
+
if (!new RegExp(pattern, "u").test(value))
|
|
125
|
+
throw invalid(`field "${field.name}" must match ${pattern}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function assertFormat(field, value) {
|
|
129
|
+
if (field.format === "date-time" && (!DATE_TIME.test(value) || Number.isNaN(Date.parse(value)))) {
|
|
130
|
+
throw invalid(`field "${field.name}" must be an RFC 3339 date-time`);
|
|
131
|
+
}
|
|
132
|
+
if (field.format === "uuid" && !UUID.test(value))
|
|
133
|
+
throw invalid(`field "${field.name}" must be a UUID`);
|
|
134
|
+
}
|
|
135
|
+
/** The value a field takes when nobody supplied one. */
|
|
136
|
+
export function emptyValue(field) {
|
|
137
|
+
if (field.nullable === true)
|
|
138
|
+
return null;
|
|
139
|
+
if (field.type === "array")
|
|
140
|
+
return [];
|
|
141
|
+
if (field.type === "boolean")
|
|
142
|
+
return false;
|
|
143
|
+
if (field.type === "integer" || field.type === "number")
|
|
144
|
+
return 0;
|
|
145
|
+
return field.enum?.[0] ?? "";
|
|
146
|
+
}
|
|
147
|
+
function isPoint(value) {
|
|
148
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
149
|
+
return false;
|
|
150
|
+
const { x, y } = value;
|
|
151
|
+
return Object.keys(value).length === 2 && Number.isInteger(x) && Number.isInteger(y);
|
|
152
|
+
}
|
|
153
|
+
/** A path identifier as the type its entity declares: a malformed one is a 400, as real frameworks answer before a handler runs. */
|
|
154
|
+
export function pathId(entities, param, raw) {
|
|
155
|
+
const owner = entities.find((entity) => entity.itemParam === param);
|
|
156
|
+
const identity = owner?.fields.find((field) => field.name === owner.identity);
|
|
157
|
+
if (identity?.type === "integer") {
|
|
158
|
+
if (!/^[1-9]\d{0,14}$/.test(raw))
|
|
159
|
+
throw invalid(`"${raw}" is not a valid ${param}`);
|
|
160
|
+
return Number(raw);
|
|
161
|
+
}
|
|
162
|
+
if (identity?.format === "uuid" && !UUID.test(raw))
|
|
163
|
+
throw invalid(`"${raw}" is not a valid ${param}`);
|
|
164
|
+
return raw;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Reads a form-encoded body into the types the schema declares.
|
|
168
|
+
*
|
|
169
|
+
* A form carries only strings, so a correct backend coerces each field by its declared type —
|
|
170
|
+
* exactly what it would have to do in production.
|
|
171
|
+
*/
|
|
172
|
+
export function formFields(entity, text) {
|
|
173
|
+
const out = {};
|
|
174
|
+
for (const [key, raw] of new URLSearchParams(text)) {
|
|
175
|
+
const field = entity.fields.find((candidate) => candidate.name === key);
|
|
176
|
+
/* A form repeats the key once per element. */
|
|
177
|
+
out[key] = field?.type === "array" ? [...(out[key] ?? []), raw] : formValue(field, raw);
|
|
178
|
+
}
|
|
179
|
+
return out;
|
|
180
|
+
}
|
|
181
|
+
function formValue(field, raw) {
|
|
182
|
+
if (field?.type === "integer" || field?.type === "number")
|
|
183
|
+
return raw.trim() === "" ? raw : Number(raw);
|
|
184
|
+
if (field?.type === "boolean")
|
|
185
|
+
return raw === "true" ? true : raw === "false" ? false : raw;
|
|
186
|
+
return raw;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** A request and its answer as the reference sees them, whichever transport carried them. */
|
|
2
|
+
export type Json = Record<string, unknown>;
|
|
3
|
+
export interface ReferenceRequest {
|
|
4
|
+
/** Upper-cased. */
|
|
5
|
+
method: string;
|
|
6
|
+
/** Below the base path, when the shape mounts one. */
|
|
7
|
+
url: URL;
|
|
8
|
+
/** Lower-cased names. */
|
|
9
|
+
headers: Readonly<Record<string, string>>;
|
|
10
|
+
/** The body as text; read once, however often asked. */
|
|
11
|
+
text: () => Promise<string>;
|
|
12
|
+
}
|
|
13
|
+
export interface ReferenceResponse {
|
|
14
|
+
status: number;
|
|
15
|
+
headers: Record<string, string>;
|
|
16
|
+
body: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function respond(status: number, body: unknown, extraHeaders?: Record<string, string>): ReferenceResponse;
|
|
19
|
+
/** A 204: nothing in the body, so no content type either. */
|
|
20
|
+
export declare function noContent(): ReferenceResponse;
|
|
21
|
+
/** What a request carries beside its method and URL: its headers, and how to read its body. */
|
|
22
|
+
export interface ReferenceInit {
|
|
23
|
+
headers: Readonly<Record<string, string>>;
|
|
24
|
+
read: () => Promise<string>;
|
|
25
|
+
}
|
|
26
|
+
/** A request whose body is read at most once. */
|
|
27
|
+
export declare function referenceRequest(method: string, url: URL, { headers, read }: ReferenceInit): ReferenceRequest;
|
|
28
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** A request and its answer as the reference sees them, whichever transport carried them. */
|
|
2
|
+
export function respond(status, body, extraHeaders = {}) {
|
|
3
|
+
const payload = JSON.stringify(body);
|
|
4
|
+
return {
|
|
5
|
+
body: payload,
|
|
6
|
+
headers: {
|
|
7
|
+
"content-length": String(Buffer.byteLength(payload)),
|
|
8
|
+
"content-type": "application/json",
|
|
9
|
+
...extraHeaders,
|
|
10
|
+
},
|
|
11
|
+
status,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/** A 204: nothing in the body, so no content type either. */
|
|
15
|
+
export function noContent() {
|
|
16
|
+
return { body: "", headers: {}, status: 204 };
|
|
17
|
+
}
|
|
18
|
+
/** A request whose body is read at most once. */
|
|
19
|
+
export function referenceRequest(method, url, { headers, read }) {
|
|
20
|
+
let body;
|
|
21
|
+
return { headers, method: method.toUpperCase(), text: () => (body ??= read()), url };
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=wire.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DefectSet } from "../defects/defect-set.ts";
|
|
2
|
+
import type { ListingRequest } from "./types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Which axes a request combines. Each FILTER_DROPPED_WHEN_* defect keeps the filter while it is
|
|
5
|
+
* alone and drops it once its named combination is present — the combination is the bug.
|
|
6
|
+
*/
|
|
7
|
+
export interface Axes {
|
|
8
|
+
sorted: boolean;
|
|
9
|
+
selected: boolean;
|
|
10
|
+
searched: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function axesOf(request: ListingRequest): Axes;
|
|
13
|
+
export declare function filterDropped(defects: DefectSet, axes: Axes): boolean;
|
|
14
|
+
//# sourceMappingURL=axes.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* Each defect and the axes that, all present, drop the filter. */
|
|
2
|
+
const FILTER_DROPS = [
|
|
3
|
+
["FILTER_DROPPED_WHEN_SORTED_SEARCHED_AND_SELECTED", ["sorted", "searched", "selected"]],
|
|
4
|
+
["FILTER_DROPPED_WHEN_SORTED", ["sorted"]],
|
|
5
|
+
["FILTER_DROPPED_WHEN_SELECTED", ["selected"]],
|
|
6
|
+
["FILTER_DROPPED_WHEN_SEARCHED", ["searched"]],
|
|
7
|
+
["FILTER_DROPPED_WHEN_SORTED_AND_SELECTED", ["sorted", "selected"]],
|
|
8
|
+
["FILTER_DROPPED_WHEN_SORTED_AND_SEARCHED", ["sorted", "searched"]],
|
|
9
|
+
["FILTER_DROPPED_WHEN_SEARCHED_AND_SELECTED", ["searched", "selected"]],
|
|
10
|
+
];
|
|
11
|
+
export function axesOf(request) {
|
|
12
|
+
return {
|
|
13
|
+
searched: request.q !== undefined && request.q.trim() !== "",
|
|
14
|
+
selected: request.select !== undefined && request.select !== "" && request.select !== "*",
|
|
15
|
+
sorted: request.order !== undefined && request.order !== "",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function filterDropped(defects, axes) {
|
|
19
|
+
return FILTER_DROPS.some(([name, needs]) => defects.has(name) && needs.every((axis) => axes[axis]));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=axes.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ParseContext } from "../query/conventions.ts";
|
|
2
|
+
import type { FilterNode, OrderTerm } from "../query-types.ts";
|
|
3
|
+
import type { Axes } from "./axes.ts";
|
|
4
|
+
import type { ListingRequest } from "./types.ts";
|
|
5
|
+
/** The order a listing's rows take, and what that order changes about which rows there are. */
|
|
6
|
+
export interface ListingOrder {
|
|
7
|
+
/** The order with its tiebreaks: a total order, unless the sort is unstable. */
|
|
8
|
+
fullOrder: OrderTerm[];
|
|
9
|
+
/** Under SORT_DESC_DROPS_NULLS: a not-null test per descending key. */
|
|
10
|
+
dropNulls: FilterNode[];
|
|
11
|
+
/** Ties come back in an arbitrary order: UNSTABLE_SORT. */
|
|
12
|
+
unstable: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** The listing's order. Throws `SqlError` for an order a correct backend refuses. */
|
|
15
|
+
export declare function listingOrder(request: ListingRequest, ctx: ParseContext, axes: Axes): ListingOrder;
|
|
16
|
+
//# sourceMappingURL=order.d.ts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { parseOrder } from "../query/order.js";
|
|
2
|
+
/** The listing's order. Throws `SqlError` for an order a correct backend refuses. */
|
|
3
|
+
export function listingOrder(request, ctx, axes) {
|
|
4
|
+
const { defects, entity } = ctx;
|
|
5
|
+
const order = chosenOrder(request, ctx, axes);
|
|
6
|
+
const dropNulls = defects.has("SORT_DESC_DROPS_NULLS")
|
|
7
|
+
? order.filter((term) => term.descending).map((term) => ({ field: term.field, kind: "isnull", negate: true }))
|
|
8
|
+
: [];
|
|
9
|
+
/* A sort without a total order is not a sort: equal keys may come back in any order, and
|
|
10
|
+
* paging over it silently loses rows. The identity tiebreak is what makes paging sound. */
|
|
11
|
+
const unstable = defects.has("UNSTABLE_SORT");
|
|
12
|
+
return { dropNulls, fullOrder: unstable ? order : withTiebreaks(order, entity, defects), unstable };
|
|
13
|
+
}
|
|
14
|
+
/* The order asked for, or the documented default where none is asked for or the asked one is dropped. */
|
|
15
|
+
function chosenOrder(request, ctx, axes) {
|
|
16
|
+
const { defects, entity } = ctx;
|
|
17
|
+
/* Without an order the documented default applies — unless the backend forgets it. */
|
|
18
|
+
const named = request.order === undefined || request.order === "" ? undefined : request.order;
|
|
19
|
+
const fallback = defects.has("DEFAULT_ORDER_IGNORED") ? undefined : entity.defaultOrder;
|
|
20
|
+
const implicit = parseOrder(fallback ?? "", ctx, true);
|
|
21
|
+
const requested = named === undefined ? implicit : parseOrder(named, ctx);
|
|
22
|
+
const orderDropped = defects.has("ORDER_DROPPED_WHEN_SELECTED") && axes.selected && named !== undefined;
|
|
23
|
+
return defects.has("ORDER_IGNORED") || orderDropped ? implicit : requested;
|
|
24
|
+
}
|
|
25
|
+
function withTiebreaks(order, entity, defects) {
|
|
26
|
+
/* Ties broken by a text field instead of the declared tiebreak: still a total order, so pages
|
|
27
|
+
* are sound, but not the one the document promises. */
|
|
28
|
+
const tiebreak = defects.has("TIEBREAK_NOT_APPLIED")
|
|
29
|
+
? entity.fields.find((field) => field.searchable === true && field.name !== entity.identity)?.name
|
|
30
|
+
: undefined;
|
|
31
|
+
return [
|
|
32
|
+
...order,
|
|
33
|
+
...(tiebreak === undefined ? [] : [{ asText: true, descending: false, field: tiebreak, nullsFirst: false }]),
|
|
34
|
+
{ asText: false, descending: false, field: entity.identity, nullsFirst: false },
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=order.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ParseContext } from "../query/conventions.ts";
|
|
2
|
+
import type { ListingOptions, ListingRequest } from "./types.ts";
|
|
3
|
+
/** The paging parameters, validated against the ranges the document publishes. */
|
|
4
|
+
export interface Paging {
|
|
5
|
+
/** The page size served: the request's, the default, or a ceiling's. */
|
|
6
|
+
servedLimit: number;
|
|
7
|
+
page: number | undefined;
|
|
8
|
+
offset: number | undefined;
|
|
9
|
+
}
|
|
10
|
+
/** The integers a paging parameter may take: from `min`, up to `max` when there is one. */
|
|
11
|
+
export interface IntegerRange {
|
|
12
|
+
min: number;
|
|
13
|
+
max?: number | undefined;
|
|
14
|
+
}
|
|
15
|
+
export declare function integerParam(raw: string | undefined, name: string, { min, max }: IntegerRange): number | undefined;
|
|
16
|
+
export declare function nearestLimit(raw: string | undefined, max: number | undefined): number | undefined;
|
|
17
|
+
/** Reads the limit, then the page, then the offset; throws `SqlError` for the first out of range. */
|
|
18
|
+
export declare function pagingOf(ctx: Pick<ParseContext, "defects" | "entity">, request: ListingRequest, options: ListingOptions): Paging;
|
|
19
|
+
//# sourceMappingURL=params.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SqlError } from "../store-api.js";
|
|
2
|
+
export function integerParam(raw, name, { min, max }) {
|
|
3
|
+
if (raw === undefined)
|
|
4
|
+
return undefined;
|
|
5
|
+
const value = Number(raw);
|
|
6
|
+
if (raw.trim() === "" || !Number.isInteger(value) || value < min || (max !== undefined && value > max)) {
|
|
7
|
+
const range = max === undefined ? `>= ${min}` : `between ${min} and ${max}`;
|
|
8
|
+
throw new SqlError("invalid_paging", `query parameter "${name}" must be an integer ${range}`);
|
|
9
|
+
}
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
/* LIMIT_OUT_OF_RANGE_SERVED: a page size outside the published range is quietly moved inside it. */
|
|
13
|
+
export function nearestLimit(raw, max) {
|
|
14
|
+
const value = integerParam(raw, "limit", { min: Number.MIN_SAFE_INTEGER });
|
|
15
|
+
return value === undefined ? undefined : Math.min(Math.max(value, 1), max ?? Number.POSITIVE_INFINITY);
|
|
16
|
+
}
|
|
17
|
+
/** Reads the limit, then the page, then the offset; throws `SqlError` for the first out of range. */
|
|
18
|
+
export function pagingOf(ctx, request, options) {
|
|
19
|
+
const { defects, entity } = ctx;
|
|
20
|
+
const ceiling = defects.has("LIMIT_EXCEEDS_MAX") || options.clampLimit !== undefined ? undefined : entity.maxLimit;
|
|
21
|
+
const requestedLimit = (defects.has("LIMIT_OUT_OF_RANGE_SERVED")
|
|
22
|
+
? nearestLimit(request.limit, ceiling)
|
|
23
|
+
: integerParam(request.limit, "limit", { max: ceiling, min: 1 })) ?? entity.defaultLimit;
|
|
24
|
+
const servedLimit = defects.has("LIMIT_EXCEEDS_MAX")
|
|
25
|
+
? requestedLimit
|
|
26
|
+
: Math.min(requestedLimit, options.clampLimit ?? entity.maxLimit);
|
|
27
|
+
const page = integerParam(request.page, "page", { min: 1 });
|
|
28
|
+
const offset = integerParam(request.offset, "offset", { min: 0 });
|
|
29
|
+
return { offset, page, servedLimit };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=params.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ParseContext } from "../query/conventions.ts";
|
|
2
|
+
import type { FilterNode } from "../query-types.ts";
|
|
3
|
+
import { type Axes } from "./axes.ts";
|
|
4
|
+
import type { ListingOptions, ListingRequest } from "./types.ts";
|
|
5
|
+
/** Which rows a listing holds, as the parts its queries combine. */
|
|
6
|
+
export interface ListingPredicate {
|
|
7
|
+
axes: Axes;
|
|
8
|
+
/** The tenant and parent constraints from the path. */
|
|
9
|
+
scope: FilterNode[];
|
|
10
|
+
/** The scope as the listing applies it: a defect drops it once a filter is present. */
|
|
11
|
+
scoped: FilterNode[];
|
|
12
|
+
filter: FilterNode | null;
|
|
13
|
+
search: FilterNode | null;
|
|
14
|
+
/** Hides soft-deleted rows; `null` when nothing hides them. */
|
|
15
|
+
tombstones: FilterNode | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The listing's predicate. Validates the select, then the filter, then the search, and throws
|
|
19
|
+
* `SqlError` for the first a correct backend refuses.
|
|
20
|
+
*/
|
|
21
|
+
export declare function listingPredicate(request: ListingRequest, options: ListingOptions, ctx: ParseContext): ListingPredicate;
|
|
22
|
+
//# sourceMappingURL=predicate.d.ts.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { SEARCH_MODES } from "../query/conventions.js";
|
|
2
|
+
import { parseFilter } from "../query/filter.js";
|
|
3
|
+
import { parseSearch } from "../query/search.js";
|
|
4
|
+
import { fieldsIn } from "../query/tree.js";
|
|
5
|
+
import { SqlError } from "../store-api.js";
|
|
6
|
+
import { axesOf, filterDropped } from "./axes.js";
|
|
7
|
+
import { checkSelect } from "./select.js";
|
|
8
|
+
/**
|
|
9
|
+
* The listing's predicate. Validates the select, then the filter, then the search, and throws
|
|
10
|
+
* `SqlError` for the first a correct backend refuses.
|
|
11
|
+
*/
|
|
12
|
+
export function listingPredicate(request, options, ctx) {
|
|
13
|
+
const { defects, entity } = ctx;
|
|
14
|
+
const scope = scopeTerms(entity, options.scope);
|
|
15
|
+
const axes = axesOf(request);
|
|
16
|
+
checkSelect(request.select, entity, defects);
|
|
17
|
+
const filter = request.filter === undefined || request.filter === "" || filterDropped(defects, axes)
|
|
18
|
+
? null
|
|
19
|
+
: parseFilter(request.filter, ctx);
|
|
20
|
+
const search = searchOf(request, ctx, axes);
|
|
21
|
+
const soft = entity.softDeleteField;
|
|
22
|
+
/* Tombstones are hidden unless the caller asked about them by name. */
|
|
23
|
+
const tombstones = soft === undefined || defects.has("SOFT_DELETE_LEAK") || (filter !== null && fieldsIn(filter).includes(soft))
|
|
24
|
+
? null
|
|
25
|
+
: { field: soft, kind: "isnull", negate: false };
|
|
26
|
+
/* The tenant predicate is applied to the plain listing but dropped once a filter is present,
|
|
27
|
+
* which is how a filter turns into an authorization bypass. */
|
|
28
|
+
const scoped = defects.has("TENANT_LEAK_VIA_FILTER") && filter !== null ? [] : scope;
|
|
29
|
+
return { axes, filter, scope, scoped, search, tombstones };
|
|
30
|
+
}
|
|
31
|
+
/* An equality per path constraint the entity has a field for. */
|
|
32
|
+
function scopeTerms(entity, scope) {
|
|
33
|
+
return Object.entries(scope)
|
|
34
|
+
.filter(([name]) => entity.fields.some((field) => field.name === name))
|
|
35
|
+
.map(([field, value]) => ({ asText: false, field, kind: "cmp", nullsMatch: false, op: "eq", value }));
|
|
36
|
+
}
|
|
37
|
+
/* The free-text search, its mode validated first. */
|
|
38
|
+
function searchOf(request, ctx, axes) {
|
|
39
|
+
const { defects } = ctx;
|
|
40
|
+
const mode = request.searchMode ?? "contains";
|
|
41
|
+
if (!SEARCH_MODES.includes(mode)) {
|
|
42
|
+
throw new SqlError("invalid_search", `search mode "${mode}" is not one of ${SEARCH_MODES.join(", ")}`);
|
|
43
|
+
}
|
|
44
|
+
if (mode === "prefix" && defects.has("SEARCH_MODE_REJECTED")) {
|
|
45
|
+
throw new SqlError("invalid_search", 'search mode "prefix" is not supported');
|
|
46
|
+
}
|
|
47
|
+
return request.q === undefined || defects.has("SEARCH_IGNORED") || searchDropped(defects, axes)
|
|
48
|
+
? null
|
|
49
|
+
: parseSearch(request.q, mode, ctx);
|
|
50
|
+
}
|
|
51
|
+
/* Each of these keeps the search while it is alone and drops it once its axis joins. */
|
|
52
|
+
function searchDropped(defects, axes) {
|
|
53
|
+
return ((defects.has("SEARCH_DROPPED_WHEN_SELECTED") && axes.selected) ||
|
|
54
|
+
(defects.has("SEARCH_DROPPED_WHEN_SORTED") && axes.sorted));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=predicate.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DefectSet } from "../defects/defect-set.ts";
|
|
2
|
+
import type { EntityDef } from "../model/types.ts";
|
|
3
|
+
import type { Row } from "../store-api.ts";
|
|
4
|
+
import type { ListingOptions } from "./types.ts";
|
|
5
|
+
/** What a projection reads besides the row: the sparse fieldset, and how to load a relation. */
|
|
6
|
+
export interface Projection {
|
|
7
|
+
select: string | undefined;
|
|
8
|
+
entity: EntityDef;
|
|
9
|
+
defects: DefectSet;
|
|
10
|
+
embed?: ListingOptions["embed"];
|
|
11
|
+
}
|
|
12
|
+
/** The row cut to its sparse fieldset, a nested entry embedding the related record's fields. */
|
|
13
|
+
export declare function project(row: Row, { select, entity, defects, embed }: Projection): Promise<Row>;
|
|
14
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NESTED, nestedFields, selectEntries, wholeRow } from "./select.js";
|
|
2
|
+
/** The row cut to its sparse fieldset, a nested entry embedding the related record's fields. */
|
|
3
|
+
export async function project(row, { select, entity, defects, embed }) {
|
|
4
|
+
if (wholeRow(select))
|
|
5
|
+
return { ...row };
|
|
6
|
+
if (defects.has("SELECT_IGNORED"))
|
|
7
|
+
return { ...row };
|
|
8
|
+
const out = {};
|
|
9
|
+
for (const entry of selectEntries(select)) {
|
|
10
|
+
const nested = NESTED.exec(entry);
|
|
11
|
+
if (nested !== null) {
|
|
12
|
+
const name = nested[1];
|
|
13
|
+
const related = embed === undefined ? null : await embed(name, row);
|
|
14
|
+
if (related === null) {
|
|
15
|
+
out[name] = null;
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
/* The defect embeds the whole related record instead of the fields asked for. */
|
|
19
|
+
out[name] = defects.has("NESTED_SELECT_IGNORED") ? related : picked(related, nested[2]);
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
if (!Object.hasOwn(row, entry))
|
|
23
|
+
continue;
|
|
24
|
+
if (defects.has("SELECT_FIELD_MISSING") && entry !== entity.identity)
|
|
25
|
+
continue;
|
|
26
|
+
out[entry] = row[entry];
|
|
27
|
+
}
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
/* The fields of `related` a nested entry lists, those it holds, in the order listed. */
|
|
31
|
+
function picked(related, list) {
|
|
32
|
+
return Object.fromEntries(nestedFields(list)
|
|
33
|
+
.filter((field) => Object.hasOwn(related, field))
|
|
34
|
+
.map((f) => [f, related[f]]));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A collection read, end to end, above any store.
|
|
3
|
+
*
|
|
4
|
+
* The store answers one question — which rows match, in what order — and everything a listing
|
|
5
|
+
* adds on top is decided here once: validating the paging parameters, resolving a cursor, cutting
|
|
6
|
+
* the window, counting, projecting a sparse fieldset. Every defect that corrupts one of those
|
|
7
|
+
* steps is applied here too, so a broken count or an off-by-one page is the same bug on every
|
|
8
|
+
* engine rather than three bugs that happen to share a name.
|
|
9
|
+
*/
|
|
10
|
+
import type { DefectSet } from "../defects/defect-set.ts";
|
|
11
|
+
import type { EntityDef } from "../model/types.ts";
|
|
12
|
+
import { type Store } from "../store-api.ts";
|
|
13
|
+
import type { ListingOptions, ListingRequest, ListingResult } from "./types.ts";
|
|
14
|
+
/** One listing to run: the entity, the request in the canonical grammar, the options, the defects. */
|
|
15
|
+
export interface Listing {
|
|
16
|
+
entity: EntityDef;
|
|
17
|
+
request: ListingRequest;
|
|
18
|
+
options: ListingOptions;
|
|
19
|
+
defects: DefectSet;
|
|
20
|
+
}
|
|
21
|
+
export declare function runListing(store: Store, { entity, request, options, defects }: Listing): Promise<ListingResult>;
|
|
22
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A collection read, end to end, above any store.
|
|
3
|
+
*
|
|
4
|
+
* The store answers one question — which rows match, in what order — and everything a listing
|
|
5
|
+
* adds on top is decided here once: validating the paging parameters, resolving a cursor, cutting
|
|
6
|
+
* the window, counting, projecting a sparse fieldset. Every defect that corrupts one of those
|
|
7
|
+
* steps is applied here too, so a broken count or an off-by-one page is the same bug on every
|
|
8
|
+
* engine rather than three bugs that happen to share a name.
|
|
9
|
+
*/
|
|
10
|
+
import { and } from "../query/tree.js";
|
|
11
|
+
import { decodeCursor, encodeCursor } from "../store-api.js";
|
|
12
|
+
import { listingOrder } from "./order.js";
|
|
13
|
+
import { pagingOf } from "./params.js";
|
|
14
|
+
import { listingPredicate } from "./predicate.js";
|
|
15
|
+
import { project } from "./project.js";
|
|
16
|
+
import { cursorOffset, cut, filteredWindow, invert, numberedStart } from "./window.js";
|
|
17
|
+
/*
|
|
18
|
+
* Every await of a listing is here, in the order the stores are asked: the rows, the empty-result
|
|
19
|
+
* fallback, the count, the cursor's other collation, the post-paging filter, the projections.
|
|
20
|
+
* Everything between them is synchronous, so the await sequence is the listing's own.
|
|
21
|
+
*/
|
|
22
|
+
export async function runListing(store, { entity, request, options, defects }) {
|
|
23
|
+
const ctx = { conventions: options.conventions, defects, entity };
|
|
24
|
+
const paging = pagingOf(ctx, request, options);
|
|
25
|
+
const predicate = listingPredicate(request, options, ctx);
|
|
26
|
+
const { filter, scope, scoped, search, tombstones } = predicate;
|
|
27
|
+
const { dropNulls, fullOrder, unstable } = listingOrder(request, ctx, predicate.axes);
|
|
28
|
+
const plan = planner(fullOrder, unstable, options.conventions.collation);
|
|
29
|
+
/* Paging before filtering: the window is cut from the unfiltered set and the predicate is then
|
|
30
|
+
* applied to whatever that window held. */
|
|
31
|
+
const pageBeforeFilter = defects.has("FILTER_AFTER_PAGINATION") && filter !== null;
|
|
32
|
+
const listingWhere = and(...scoped, tombstones, pageBeforeFilter ? null : filter, search, ...dropNulls);
|
|
33
|
+
let rows = await store.select(entity, plan(listingWhere));
|
|
34
|
+
if (fallsBackToAll(defects, rows, predicate))
|
|
35
|
+
rows = await store.select(entity, plan(and(...scope, tombstones)));
|
|
36
|
+
const count = defects.has("COUNT_ALWAYS_ZERO")
|
|
37
|
+
? 0
|
|
38
|
+
: defects.has("COUNT_IGNORES_FILTER")
|
|
39
|
+
? (await store.select(entity, plan(and(...scope, tombstones)))).length
|
|
40
|
+
: rows.length;
|
|
41
|
+
let start;
|
|
42
|
+
if (request.cursor !== undefined && request.cursor !== "") {
|
|
43
|
+
const afterId = decodeCursor(request.cursor);
|
|
44
|
+
/* The boundary must be resolved under exactly the listing's ordering. Under the defect it
|
|
45
|
+
* is resolved under the other collation, and that position is then used as an offset into
|
|
46
|
+
* the listing — a boundary the listing never had, so rows are skipped or repeated. */
|
|
47
|
+
const ordered = defects.has("COLLATION_INCONSISTENT")
|
|
48
|
+
? await store.select(entity, plan(listingWhere, invert(options.conventions.collation)))
|
|
49
|
+
: rows;
|
|
50
|
+
start = { offset: cursorOffset(ctx, ordered, afterId), page: null };
|
|
51
|
+
}
|
|
52
|
+
else
|
|
53
|
+
start = numberedStart(paging, rows.length, defects);
|
|
54
|
+
let window = cut(ctx, rows, start, paging.servedLimit);
|
|
55
|
+
if (pageBeforeFilter) {
|
|
56
|
+
const matching = await store.select(entity, plan(and(...scoped, tombstones, filter, search)));
|
|
57
|
+
window = filteredWindow(ctx, window, matching);
|
|
58
|
+
}
|
|
59
|
+
const projection = { defects, embed: options.embed, entity, select: request.select };
|
|
60
|
+
const items = await Promise.all(window
|
|
61
|
+
.map((row) => (options.transform === undefined ? row : options.transform(row)))
|
|
62
|
+
.map((row) => project(row, projection)));
|
|
63
|
+
return listingResult(ctx, { count, items, limit: paging.servedLimit, rows, start, window });
|
|
64
|
+
}
|
|
65
|
+
/* The select plan for a predicate: the listing's order, under its collation unless told another. */
|
|
66
|
+
function planner(order, unstable, listing) {
|
|
67
|
+
return (where, collation = listing) => ({ collation, order, shuffleTies: unstable, where });
|
|
68
|
+
}
|
|
69
|
+
/* The "no results must mean the query was wrong" guard: an empty filtered set falls back to the
|
|
70
|
+
* unfiltered listing, which makes an empty result impossible to express. */
|
|
71
|
+
function fallsBackToAll(defects, rows, { filter, search }) {
|
|
72
|
+
return defects.has("EMPTY_RESULT_RETURNS_ALL") && rows.length === 0 && (filter !== null || search !== null);
|
|
73
|
+
}
|
|
74
|
+
/* What the listing answers: the rows served, the count, and where the page sits among the rest. */
|
|
75
|
+
function listingResult({ defects, entity }, { count, items, limit, rows, start, window }) {
|
|
76
|
+
const hasMore = defects.has("HASMORE_ALWAYS_FALSE") ? false : start.offset + window.length < rows.length;
|
|
77
|
+
const last = window.at(-1);
|
|
78
|
+
return {
|
|
79
|
+
count,
|
|
80
|
+
hasMore,
|
|
81
|
+
items,
|
|
82
|
+
limit,
|
|
83
|
+
nextCursor: hasMore && last !== undefined ? encodeCursor(String(last[entity.identity])) : null,
|
|
84
|
+
offset: start.offset,
|
|
85
|
+
page: start.page,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DefectSet } from "../defects/defect-set.ts";
|
|
2
|
+
import type { EntityDef } from "../model/types.ts";
|
|
3
|
+
/** `relation(field,field)` inside a sparse fieldset. Both groups take part in every match. */
|
|
4
|
+
export declare const NESTED: RegExp;
|
|
5
|
+
/** No sparse fieldset at all: every field is served. */
|
|
6
|
+
export declare function wholeRow(select: string | undefined): boolean;
|
|
7
|
+
/** Splits a sparse fieldset on top-level commas, so `id,table(name,status)` is two entries. */
|
|
8
|
+
export declare function selectEntries(select: string): string[];
|
|
9
|
+
/** The fields a nested entry names: `name,status` of `table(name,status)`. */
|
|
10
|
+
export declare function nestedFields(list: string): string[];
|
|
11
|
+
/** Validates a sparse fieldset against the entity before any row is read. */
|
|
12
|
+
export declare function checkSelect(select: string | undefined, entity: EntityDef, defects: DefectSet): void;
|
|
13
|
+
//# sourceMappingURL=select.d.ts.map
|