@gfdelarue/testkit 0.3.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 +68 -0
- package/README.md +1125 -0
- package/bin/testkit-windows-owner-arm64.exe +0 -0
- package/bin/testkit-windows-owner-x64.exe +0 -0
- package/bin/testkit.mjs +60 -0
- package/dist/app/cleanup/index.d.ts +52 -0
- package/dist/app/cleanup/index.js +1 -0
- package/dist/app/cloud/campaigns.d.ts +6 -0
- package/dist/app/cloud/campaigns.js +1 -0
- package/dist/app/cloud/control-actions.d.ts +12 -0
- package/dist/app/cloud/control-actions.js +2 -0
- package/dist/app/cloud/control-links.d.ts +5 -0
- package/dist/app/cloud/control-links.js +1 -0
- package/dist/app/cloud/control-read.d.ts +24 -0
- package/dist/app/cloud/control-read.js +1 -0
- package/dist/app/cloud/control-resources.d.ts +3 -0
- package/dist/app/cloud/control-resources.js +1 -0
- package/dist/app/cloud/control.d.ts +34 -0
- package/dist/app/cloud/control.js +5 -0
- package/dist/app/cloud/credentials.d.ts +11 -0
- package/dist/app/cloud/credentials.js +2 -0
- package/dist/app/cloud/index.d.ts +22 -0
- package/dist/app/cloud/index.js +2 -0
- package/dist/app/cloud/login.d.ts +63 -0
- package/dist/app/cloud/login.js +2 -0
- package/dist/app/cloud/migration/archive.d.ts +13 -0
- package/dist/app/cloud/migration/archive.js +1 -0
- package/dist/app/cloud/migration/commands.d.ts +8 -0
- package/dist/app/cloud/migration/commands.js +1 -0
- package/dist/app/cloud/migration/evidence.d.ts +13 -0
- package/dist/app/cloud/migration/evidence.js +2 -0
- package/dist/app/cloud/migration/files.d.ts +16 -0
- package/dist/app/cloud/migration/files.js +2 -0
- package/dist/app/cloud/migration/index.d.ts +6 -0
- package/dist/app/cloud/migration/index.js +1 -0
- package/dist/app/cloud/migration/journal.d.ts +64 -0
- package/dist/app/cloud/migration/journal.js +1 -0
- package/dist/app/cloud/migration/mapping-dispositions.d.ts +3 -0
- package/dist/app/cloud/migration/mapping-dispositions.js +1 -0
- package/dist/app/cloud/migration/mapping.d.ts +11 -0
- package/dist/app/cloud/migration/mapping.js +2 -0
- package/dist/app/cloud/migration/model.d.ts +175 -0
- package/dist/app/cloud/migration/model.js +1 -0
- package/dist/app/cloud/migration/plan.d.ts +7 -0
- package/dist/app/cloud/migration/plan.js +1 -0
- package/dist/app/cloud/migration/progress.d.ts +19 -0
- package/dist/app/cloud/migration/progress.js +1 -0
- package/dist/app/cloud/migration/reconcile.d.ts +22 -0
- package/dist/app/cloud/migration/reconcile.js +1 -0
- package/dist/app/cloud/migration/reconciliation-spool.d.ts +4 -0
- package/dist/app/cloud/migration/reconciliation-spool.js +1 -0
- package/dist/app/cloud/migration/state.d.ts +15 -0
- package/dist/app/cloud/migration/state.js +1 -0
- package/dist/app/cloud/migration/transfer.d.ts +6 -0
- package/dist/app/cloud/migration/transfer.js +1 -0
- package/dist/app/db-schema/prepare.d.ts +11 -0
- package/dist/app/db-schema/prepare.js +1 -0
- package/dist/app/db-schema/refresh.d.ts +17 -0
- package/dist/app/db-schema/refresh.js +1 -0
- package/dist/app/db-schema/verify.d.ts +11 -0
- package/dist/app/db-schema/verify.js +1 -0
- package/dist/app/destroy/index.d.ts +16 -0
- package/dist/app/destroy/index.js +1 -0
- package/dist/app/discover/index.d.ts +8 -0
- package/dist/app/discover/index.js +2 -0
- package/dist/app/doctor/index.d.ts +17 -0
- package/dist/app/doctor/index.js +1 -0
- package/dist/app/file-selection.d.ts +1 -0
- package/dist/app/file-selection.js +1 -0
- package/dist/app/inspect/artifacts.d.ts +29 -0
- package/dist/app/inspect/artifacts.js +1 -0
- package/dist/app/inspect/index.d.ts +112 -0
- package/dist/app/inspect/index.js +1 -0
- package/dist/app/lint/index.d.ts +28 -0
- package/dist/app/lint/index.js +2 -0
- package/dist/app/lint/native.d.ts +10 -0
- package/dist/app/lint/native.js +1 -0
- package/dist/app/lint/options.d.ts +67 -0
- package/dist/app/lint/options.js +1 -0
- package/dist/app/lint/policy.d.ts +21 -0
- package/dist/app/lint/policy.js +1 -0
- package/dist/app/lint/rules/data.d.ts +3 -0
- package/dist/app/lint/rules/data.js +1 -0
- package/dist/app/lint/rules/engine-imports.d.ts +3 -0
- package/dist/app/lint/rules/engine-imports.js +1 -0
- package/dist/app/lint/rules/syntax.d.ts +4 -0
- package/dist/app/lint/rules/syntax.js +1 -0
- package/dist/app/lint/rules/unit.d.ts +3 -0
- package/dist/app/lint/rules/unit.js +1 -0
- package/dist/app/lint/shared.d.ts +36 -0
- package/dist/app/lint/shared.js +1 -0
- package/dist/app/package-inspection.d.ts +20 -0
- package/dist/app/package-inspection.js +1 -0
- package/dist/app/run/endpoint-readiness.d.ts +43 -0
- package/dist/app/run/endpoint-readiness.js +1 -0
- package/dist/app/run/engine-evidence-persistence.d.ts +39 -0
- package/dist/app/run/engine-evidence-persistence.js +1 -0
- package/dist/app/run/engine-execution-cleanup.d.ts +8 -0
- package/dist/app/run/engine-execution-cleanup.js +1 -0
- package/dist/app/run/engine-execution-failures.d.ts +41 -0
- package/dist/app/run/engine-execution-failures.js +1 -0
- package/dist/app/run/engine-execution-observer.d.ts +21 -0
- package/dist/app/run/engine-execution-observer.js +1 -0
- package/dist/app/run/engine-execution-reporting.d.ts +17 -0
- package/dist/app/run/engine-execution-reporting.js +1 -0
- package/dist/app/run/engine-execution.d.ts +60 -0
- package/dist/app/run/engine-execution.js +1 -0
- package/dist/app/run/engine-orchestration.d.ts +49 -0
- package/dist/app/run/engine-orchestration.js +1 -0
- package/dist/app/run/failure-details.d.ts +36 -0
- package/dist/app/run/failure-details.js +1 -0
- package/dist/app/run/live-run.d.ts +27 -0
- package/dist/app/run/live-run.js +1 -0
- package/dist/app/run/operation-progress.d.ts +13 -0
- package/dist/app/run/operation-progress.js +1 -0
- package/dist/app/run/orchestrator.d.ts +68 -0
- package/dist/app/run/orchestrator.js +1 -0
- package/dist/app/run/planning-types.d.ts +68 -0
- package/dist/app/run/planning-types.js +1 -0
- package/dist/app/run/planning.d.ts +15 -0
- package/dist/app/run/planning.js +1 -0
- package/dist/app/run/playwright-configuration.d.ts +2 -0
- package/dist/app/run/playwright-configuration.js +1 -0
- package/dist/app/run/request.d.ts +30 -0
- package/dist/app/run/request.js +1 -0
- package/dist/app/run/results.d.ts +161 -0
- package/dist/app/run/results.js +1 -0
- package/dist/app/run/run-events.d.ts +144 -0
- package/dist/app/run/run-events.js +1 -0
- package/dist/app/run/run-finalization.d.ts +52 -0
- package/dist/app/run/run-finalization.js +1 -0
- package/dist/app/run/run-guards.d.ts +3 -0
- package/dist/app/run/run-guards.js +3 -0
- package/dist/app/run/runtime-failures.d.ts +18 -0
- package/dist/app/run/runtime-failures.js +1 -0
- package/dist/app/run/runtime-fixtures.d.ts +2 -0
- package/dist/app/run/runtime-fixtures.js +1 -0
- package/dist/app/run/runtime-task-types.d.ts +20 -0
- package/dist/app/run/runtime-task-types.js +1 -0
- package/dist/app/run/scheduler/estimates.d.ts +32 -0
- package/dist/app/run/scheduler/estimates.js +1 -0
- package/dist/app/run/scheduler/identity.d.ts +9 -0
- package/dist/app/run/scheduler/identity.js +1 -0
- package/dist/app/run/scheduler/index.d.ts +124 -0
- package/dist/app/run/scheduler/index.js +1 -0
- package/dist/app/run/scheduler/observations.d.ts +20 -0
- package/dist/app/run/scheduler/observations.js +1 -0
- package/dist/app/run/selection.d.ts +10 -0
- package/dist/app/run/selection.js +1 -0
- package/dist/app/run/setup/runtime-node-setup-errors.d.ts +13 -0
- package/dist/app/run/setup/runtime-node-setup-errors.js +1 -0
- package/dist/app/run/setup/runtime-node-setup-protocol.d.ts +85 -0
- package/dist/app/run/setup/runtime-node-setup-protocol.js +1 -0
- package/dist/app/run/setup/runtime-node-setup-worker.d.ts +1 -0
- package/dist/app/run/setup/runtime-node-setup-worker.js +1 -0
- package/dist/app/run/setup/runtime-node-setup.d.ts +48 -0
- package/dist/app/run/setup/runtime-node-setup.js +3 -0
- package/dist/app/run/task-batches.d.ts +23 -0
- package/dist/app/run/task-batches.js +1 -0
- package/dist/app/run/worker-loop.d.ts +57 -0
- package/dist/app/run/worker-loop.js +1 -0
- package/dist/app/setup/playwright.d.ts +22 -0
- package/dist/app/setup/playwright.js +1 -0
- package/dist/app/status/index.d.ts +7 -0
- package/dist/app/status/index.js +1 -0
- package/dist/app/status/model.d.ts +29 -0
- package/dist/app/status/model.js +1 -0
- package/dist/app/status/runs.d.ts +99 -0
- package/dist/app/status/runs.js +1 -0
- package/dist/app/stop/index.d.ts +14 -0
- package/dist/app/stop/index.js +1 -0
- package/dist/app/typecheck/index.d.ts +61 -0
- package/dist/app/typecheck/index.js +4 -0
- package/dist/app/typecheck/unavailable.d.ts +1 -0
- package/dist/app/typecheck/unavailable.js +1 -0
- package/dist/cli/cloud-apply-help.d.ts +1 -0
- package/dist/cli/cloud-apply-help.js +56 -0
- package/dist/cli/cloud-selection.d.ts +2 -0
- package/dist/cli/cloud-selection.js +3 -0
- package/dist/cli/command-catalog.d.ts +238 -0
- package/dist/cli/command-catalog.js +1 -0
- package/dist/cli/command-flags.d.ts +19 -0
- package/dist/cli/command-flags.js +1 -0
- package/dist/cli/command-registry.d.ts +2 -0
- package/dist/cli/command-registry.js +1 -0
- package/dist/cli/commands/artifacts.d.ts +48 -0
- package/dist/cli/commands/artifacts.js +3 -0
- package/dist/cli/commands/cleanup.d.ts +13 -0
- package/dist/cli/commands/cleanup.js +1 -0
- package/dist/cli/commands/cloud/apply.d.ts +5 -0
- package/dist/cli/commands/cloud/apply.js +1 -0
- package/dist/cli/commands/cloud/campaign/create.d.ts +5 -0
- package/dist/cli/commands/cloud/campaign/create.js +1 -0
- package/dist/cli/commands/cloud/download.d.ts +5 -0
- package/dist/cli/commands/cloud/download.js +1 -0
- package/dist/cli/commands/cloud/list.d.ts +5 -0
- package/dist/cli/commands/cloud/list.js +1 -0
- package/dist/cli/commands/cloud/login.d.ts +13 -0
- package/dist/cli/commands/cloud/login.js +2 -0
- package/dist/cli/commands/cloud/logout.d.ts +7 -0
- package/dist/cli/commands/cloud/logout.js +1 -0
- package/dist/cli/commands/cloud/migrate/apply.d.ts +2 -0
- package/dist/cli/commands/cloud/migrate/apply.js +1 -0
- package/dist/cli/commands/cloud/migrate/plan.d.ts +7 -0
- package/dist/cli/commands/cloud/migrate/plan.js +1 -0
- package/dist/cli/commands/cloud/migrate/progress.d.ts +2 -0
- package/dist/cli/commands/cloud/migrate/progress.js +2 -0
- package/dist/cli/commands/cloud/migrate/reconcile.d.ts +2 -0
- package/dist/cli/commands/cloud/migrate/reconcile.js +1 -0
- package/dist/cli/commands/cloud/policy/preview.d.ts +5 -0
- package/dist/cli/commands/cloud/policy/preview.js +1 -0
- package/dist/cli/commands/cloud/project/create.d.ts +5 -0
- package/dist/cli/commands/cloud/project/create.js +1 -0
- package/dist/cli/commands/cloud/publish.d.ts +7 -0
- package/dist/cli/commands/cloud/publish.js +1 -0
- package/dist/cli/commands/cloud/session/revoke.d.ts +8 -0
- package/dist/cli/commands/cloud/session/revoke.js +1 -0
- package/dist/cli/commands/cloud/show.d.ts +5 -0
- package/dist/cli/commands/cloud/show.js +1 -0
- package/dist/cli/commands/cloud/snapshot.d.ts +5 -0
- package/dist/cli/commands/cloud/snapshot.js +1 -0
- package/dist/cli/commands/cloud/status.d.ts +33 -0
- package/dist/cli/commands/cloud/status.js +1 -0
- package/dist/cli/commands/db/schema/refresh.d.ts +2 -0
- package/dist/cli/commands/db/schema/refresh.js +1 -0
- package/dist/cli/commands/db/schema/verify.d.ts +2 -0
- package/dist/cli/commands/db/schema/verify.js +1 -0
- package/dist/cli/commands/destroy.d.ts +9 -0
- package/dist/cli/commands/destroy.js +1 -0
- package/dist/cli/commands/discover.d.ts +2 -0
- package/dist/cli/commands/discover.js +1 -0
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.js +1 -0
- package/dist/cli/commands/guard/unsafe-entrypoint.d.ts +2 -0
- package/dist/cli/commands/guard/unsafe-entrypoint.js +2 -0
- package/dist/cli/commands/lint.d.ts +2 -0
- package/dist/cli/commands/lint.js +1 -0
- package/dist/cli/commands/run/status.d.ts +5 -0
- package/dist/cli/commands/run/status.js +1 -0
- package/dist/cli/commands/run/stop.d.ts +7 -0
- package/dist/cli/commands/run/stop.js +1 -0
- package/dist/cli/commands/run.d.ts +9 -0
- package/dist/cli/commands/run.js +1 -0
- package/dist/cli/commands/setup/playwright.d.ts +2 -0
- package/dist/cli/commands/setup/playwright.js +1 -0
- package/dist/cli/commands/status.d.ts +5 -0
- package/dist/cli/commands/status.js +1 -0
- package/dist/cli/commands/stop.d.ts +12 -0
- package/dist/cli/commands/stop.js +1 -0
- package/dist/cli/commands/typecheck.d.ts +2 -0
- package/dist/cli/commands/typecheck.js +1 -0
- package/dist/cli/commands/workspace.d.ts +2 -0
- package/dist/cli/commands/workspace.js +1 -0
- package/dist/cli/entrypoint.d.ts +1 -0
- package/dist/cli/entrypoint.js +1 -0
- package/dist/cli/framework/command.d.ts +21 -0
- package/dist/cli/framework/command.js +1 -0
- package/dist/cli/framework/definitions.d.ts +100 -0
- package/dist/cli/framework/definitions.js +1 -0
- package/dist/cli/framework/errors.d.ts +6 -0
- package/dist/cli/framework/errors.js +1 -0
- package/dist/cli/framework/execute.d.ts +13 -0
- package/dist/cli/framework/execute.js +6 -0
- package/dist/cli/framework/help.d.ts +11 -0
- package/dist/cli/framework/help.js +8 -0
- package/dist/cli/framework/index.d.ts +3 -0
- package/dist/cli/framework/index.js +1 -0
- package/dist/cli/framework/parser.d.ts +6 -0
- package/dist/cli/framework/parser.js +1 -0
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.js +1 -0
- package/dist/cli/json-errors.d.ts +3 -0
- package/dist/cli/json-errors.js +1 -0
- package/dist/cli/operations/db/schema/refresh/operation.d.ts +6 -0
- package/dist/cli/operations/db/schema/refresh/operation.js +1 -0
- package/dist/cli/operations/db/schema/verify/operation.d.ts +6 -0
- package/dist/cli/operations/db/schema/verify/operation.js +1 -0
- package/dist/cli/operations/run/operation.d.ts +24 -0
- package/dist/cli/operations/run/operation.js +2 -0
- package/dist/cli/process-signal.d.ts +1 -0
- package/dist/cli/process-signal.js +1 -0
- package/dist/cli/renderers/artifact-preview.d.ts +4 -0
- package/dist/cli/renderers/artifact-preview.js +1 -0
- package/dist/cli/renderers/cleanup/format.d.ts +14 -0
- package/dist/cli/renderers/cleanup/format.js +1 -0
- package/dist/cli/renderers/db-schema/text.d.ts +4 -0
- package/dist/cli/renderers/db-schema/text.js +1 -0
- package/dist/cli/renderers/destroy/text.d.ts +4 -0
- package/dist/cli/renderers/destroy/text.js +1 -0
- package/dist/cli/renderers/discover/report.d.ts +7 -0
- package/dist/cli/renderers/discover/report.js +1 -0
- package/dist/cli/renderers/discover/text.d.ts +3 -0
- package/dist/cli/renderers/discover/text.js +1 -0
- package/dist/cli/renderers/doctor/text.d.ts +2 -0
- package/dist/cli/renderers/doctor/text.js +1 -0
- package/dist/cli/renderers/lint/text.d.ts +2 -0
- package/dist/cli/renderers/lint/text.js +1 -0
- package/dist/cli/renderers/run/events.d.ts +8 -0
- package/dist/cli/renderers/run/events.js +2 -0
- package/dist/cli/renderers/run/failure.d.ts +8 -0
- package/dist/cli/renderers/run/failure.js +1 -0
- package/dist/cli/renderers/run/formatting.d.ts +79 -0
- package/dist/cli/renderers/run/formatting.js +1 -0
- package/dist/cli/renderers/run/status.d.ts +6 -0
- package/dist/cli/renderers/run/status.js +1 -0
- package/dist/cli/renderers/run/text-reporter.d.ts +19 -0
- package/dist/cli/renderers/run/text-reporter.js +23 -0
- package/dist/cli/renderers/status/text.d.ts +2 -0
- package/dist/cli/renderers/status/text.js +1 -0
- package/dist/cli/renderers/stop/text.d.ts +7 -0
- package/dist/cli/renderers/stop/text.js +1 -0
- package/dist/cli/renderers/typecheck/text.d.ts +2 -0
- package/dist/cli/renderers/typecheck/text.js +1 -0
- package/dist/cli/terminal/colors.d.ts +10 -0
- package/dist/cli/terminal/colors.js +1 -0
- package/dist/cli/terminal/layout.d.ts +11 -0
- package/dist/cli/terminal/layout.js +2 -0
- package/dist/cli/version-drift.d.ts +25 -0
- package/dist/cli/version-drift.js +7 -0
- package/dist/cloud/account.d.ts +34 -0
- package/dist/cloud/account.js +1 -0
- package/dist/cloud/archive-contract.d.ts +1 -0
- package/dist/cloud/archive-contract.js +1 -0
- package/dist/cloud/archive.d.ts +12 -0
- package/dist/cloud/archive.js +1 -0
- package/dist/cloud/campaigns.d.ts +200 -0
- package/dist/cloud/campaigns.js +2 -0
- package/dist/cloud/client.d.ts +68 -0
- package/dist/cloud/client.js +4 -0
- package/dist/cloud/download.d.ts +5 -0
- package/dist/cloud/download.js +1 -0
- package/dist/cloud/historical-contract.d.ts +224 -0
- package/dist/cloud/historical-contract.js +1 -0
- package/dist/cloud/historical-json.d.ts +16 -0
- package/dist/cloud/historical-json.js +1 -0
- package/dist/cloud/historical.d.ts +69 -0
- package/dist/cloud/historical.js +1 -0
- package/dist/cloud/pagination.d.ts +5 -0
- package/dist/cloud/pagination.js +1 -0
- package/dist/cloud/transport.d.ts +18 -0
- package/dist/cloud/transport.js +1 -0
- package/dist/config/authoring/build-config-contract.d.ts +27 -0
- package/dist/config/authoring/build-config-contract.js +1 -0
- package/dist/config/authoring/configured-step-contract.d.ts +18 -0
- package/dist/config/authoring/configured-step-contract.js +1 -0
- package/dist/config/authoring/http-execution-contract.d.ts +70 -0
- package/dist/config/authoring/http-execution-contract.js +1 -0
- package/dist/config/authoring/http-methods.d.ts +18 -0
- package/dist/config/authoring/http-methods.js +1 -0
- package/dist/config/authoring/index.d.ts +376 -0
- package/dist/config/authoring/index.js +1 -0
- package/dist/config/authoring/preset-env.d.ts +19 -0
- package/dist/config/authoring/preset-env.js +1 -0
- package/dist/config/authoring/runtime.d.ts +64 -0
- package/dist/config/authoring/runtime.js +1 -0
- package/dist/config/loader/cloud.d.ts +2 -0
- package/dist/config/loader/cloud.js +1 -0
- package/dist/config/loader/config-loader.d.ts +9 -0
- package/dist/config/loader/config-loader.js +1 -0
- package/dist/config/loader/database-materialization.d.ts +19 -0
- package/dist/config/loader/database-materialization.js +1 -0
- package/dist/config/loader/database-roles.d.ts +2 -0
- package/dist/config/loader/database-roles.js +1 -0
- package/dist/config/loader/database.d.ts +55 -0
- package/dist/config/loader/database.js +1 -0
- package/dist/config/loader/decode-discovery.d.ts +5 -0
- package/dist/config/loader/decode-discovery.js +1 -0
- package/dist/config/loader/decode-execution.d.ts +9 -0
- package/dist/config/loader/decode-execution.js +1 -0
- package/dist/config/loader/dependencies.d.ts +7 -0
- package/dist/config/loader/dependencies.js +1 -0
- package/dist/config/loader/discover-tests.d.ts +101 -0
- package/dist/config/loader/discover-tests.js +1 -0
- package/dist/config/loader/discovery-summary.d.ts +29 -0
- package/dist/config/loader/discovery-summary.js +1 -0
- package/dist/config/loader/discovery.d.ts +54 -0
- package/dist/config/loader/discovery.js +2 -0
- package/dist/config/loader/env.d.ts +4 -0
- package/dist/config/loader/env.js +1 -0
- package/dist/config/loader/execution-model.d.ts +16 -0
- package/dist/config/loader/execution-model.js +1 -0
- package/dist/config/loader/file-metadata.d.ts +19 -0
- package/dist/config/loader/file-metadata.js +1 -0
- package/dist/config/loader/index.d.ts +10 -0
- package/dist/config/loader/index.js +1 -0
- package/dist/config/loader/load.d.ts +89 -0
- package/dist/config/loader/load.js +1 -0
- package/dist/config/loader/managed-configs.d.ts +21 -0
- package/dist/config/loader/managed-configs.js +1 -0
- package/dist/config/loader/path-policy.d.ts +9 -0
- package/dist/config/loader/path-policy.js +1 -0
- package/dist/config/loader/paths.d.ts +5 -0
- package/dist/config/loader/paths.js +1 -0
- package/dist/config/loader/runtime-isolation.d.ts +44 -0
- package/dist/config/loader/runtime-isolation.js +1 -0
- package/dist/config/loader/runtime.d.ts +25 -0
- package/dist/config/loader/runtime.js +1 -0
- package/dist/config/loader/skip-config.d.ts +44 -0
- package/dist/config/loader/skip-config.js +1 -0
- package/dist/config/loader/validation.d.ts +16 -0
- package/dist/config/loader/validation.js +1 -0
- package/dist/config/loader/values.d.ts +4 -0
- package/dist/config/loader/values.js +1 -0
- package/dist/config/runtime/build-assets.d.ts +6 -0
- package/dist/config/runtime/build-assets.js +1 -0
- package/dist/config/runtime/env/index.d.ts +35 -0
- package/dist/config/runtime/env/index.js +1 -0
- package/dist/config/runtime/next-runtime-tsconfig.d.ts +6 -0
- package/dist/config/runtime/next-runtime-tsconfig.js +2 -0
- package/dist/database/activity-gate.d.ts +22 -0
- package/dist/database/activity-gate.js +1 -0
- package/dist/database/admin.d.ts +31 -0
- package/dist/database/admin.js +2 -0
- package/dist/database/cleanup.d.ts +36 -0
- package/dist/database/cleanup.js +1 -0
- package/dist/database/configured-steps.d.ts +27 -0
- package/dist/database/configured-steps.js +1 -0
- package/dist/database/constants.d.ts +11 -0
- package/dist/database/constants.js +1 -0
- package/dist/database/docker.d.ts +65 -0
- package/dist/database/docker.js +5 -0
- package/dist/database/drizzle/index.d.ts +13 -0
- package/dist/database/drizzle/index.js +1 -0
- package/dist/database/fingerprint.d.ts +12 -0
- package/dist/database/fingerprint.js +1 -0
- package/dist/database/index.d.ts +41 -0
- package/dist/database/index.js +1 -0
- package/dist/database/local-postgres.d.ts +71 -0
- package/dist/database/local-postgres.js +2 -0
- package/dist/database/naming.d.ts +17 -0
- package/dist/database/naming.js +1 -0
- package/dist/database/postgres/index.d.ts +71 -0
- package/dist/database/postgres/index.js +2 -0
- package/dist/database/progress.d.ts +6 -0
- package/dist/database/progress.js +1 -0
- package/dist/database/roles.d.ts +19 -0
- package/dist/database/roles.js +41 -0
- package/dist/database/runtime-config.d.ts +16 -0
- package/dist/database/runtime-config.js +1 -0
- package/dist/database/runtime-reservations.d.ts +19 -0
- package/dist/database/runtime-reservations.js +1 -0
- package/dist/database/schema-operations.d.ts +18 -0
- package/dist/database/schema-operations.js +1 -0
- package/dist/database/schema-source.d.ts +93 -0
- package/dist/database/schema-source.js +3 -0
- package/dist/database/source-refresh-lock.d.ts +8 -0
- package/dist/database/source-refresh-lock.js +1 -0
- package/dist/database/source-url.d.ts +22 -0
- package/dist/database/source-url.js +2 -0
- package/dist/database/state-files.d.ts +13 -0
- package/dist/database/state-files.js +1 -0
- package/dist/database/state.d.ts +26 -0
- package/dist/database/state.js +1 -0
- package/dist/database/steps.d.ts +16 -0
- package/dist/database/steps.js +4 -0
- package/dist/database/template-steps.d.ts +35 -0
- package/dist/database/template-steps.js +4 -0
- package/dist/domain/file-timeout.d.ts +28 -0
- package/dist/domain/file-timeout.js +1 -0
- package/dist/domain/identifiers.d.ts +9 -0
- package/dist/domain/identifiers.js +1 -0
- package/dist/domain/operation-display.d.ts +10 -0
- package/dist/domain/operation-display.js +1 -0
- package/dist/domain/operation-reason.d.ts +5 -0
- package/dist/domain/operation-reason.js +1 -0
- package/dist/domain/postgres-route.d.ts +4 -0
- package/dist/domain/postgres-route.js +1 -0
- package/dist/domain/runtime-identity.d.ts +1 -0
- package/dist/domain/runtime-identity.js +1 -0
- package/dist/domain/runtime-isolation-contract.d.ts +5 -0
- package/dist/domain/runtime-isolation-contract.js +1 -0
- package/dist/domain/service-name.d.ts +2 -0
- package/dist/domain/service-name.js +1 -0
- package/dist/domain/suite-selection.d.ts +20 -0
- package/dist/domain/suite-selection.js +1 -0
- package/dist/domain/test-outcomes.d.ts +3 -0
- package/dist/domain/test-outcomes.js +1 -0
- package/dist/domain/test-types.d.ts +16 -0
- package/dist/domain/test-types.js +1 -0
- package/dist/engines/adapters/evidence-files.d.ts +32 -0
- package/dist/engines/adapters/evidence-files.js +1 -0
- package/dist/engines/adapters/evidence-identity.d.ts +12 -0
- package/dist/engines/adapters/evidence-identity.js +1 -0
- package/dist/engines/adapters/execution.d.ts +38 -0
- package/dist/engines/adapters/execution.js +1 -0
- package/dist/engines/adapters/native-report.d.ts +25 -0
- package/dist/engines/adapters/native-report.js +1 -0
- package/dist/engines/adapters/workspace.d.ts +4 -0
- package/dist/engines/adapters/workspace.js +1 -0
- package/dist/engines/api/capabilities.d.ts +31 -0
- package/dist/engines/api/capabilities.js +1 -0
- package/dist/engines/api/evidence.d.ts +38 -0
- package/dist/engines/api/evidence.js +1 -0
- package/dist/engines/api/execution-observer.d.ts +8 -0
- package/dist/engines/api/execution-observer.js +1 -0
- package/dist/engines/api/execution-scope.d.ts +17 -0
- package/dist/engines/api/execution-scope.js +1 -0
- package/dist/engines/api/execution.d.ts +99 -0
- package/dist/engines/api/execution.js +1 -0
- package/dist/engines/api/index.d.ts +5 -0
- package/dist/engines/api/index.js +1 -0
- package/dist/engines/api/k6-runtime-input.d.ts +26 -0
- package/dist/engines/api/k6-runtime-input.js +1 -0
- package/dist/engines/api/runtime-artifact.d.ts +19 -0
- package/dist/engines/api/runtime-artifact.js +1 -0
- package/dist/engines/bundle-cache.d.ts +32 -0
- package/dist/engines/bundle-cache.js +1 -0
- package/dist/engines/catalog.d.ts +32 -0
- package/dist/engines/catalog.js +1 -0
- package/dist/engines/contracts/fixture-manifest.d.ts +34 -0
- package/dist/engines/contracts/fixture-manifest.js +1 -0
- package/dist/engines/contracts/json-bounds.d.ts +36 -0
- package/dist/engines/contracts/json-bounds.js +2 -0
- package/dist/engines/contracts/k6-repository-configuration.d.ts +12 -0
- package/dist/engines/contracts/k6-repository-configuration.js +1 -0
- package/dist/engines/contracts/test-context.d.ts +15 -0
- package/dist/engines/contracts/test-context.js +1 -0
- package/dist/engines/definitions.d.ts +15 -0
- package/dist/engines/definitions.js +1 -0
- package/dist/engines/factory.d.ts +6 -0
- package/dist/engines/factory.js +1 -0
- package/dist/engines/installation-catalog.d.ts +27 -0
- package/dist/engines/installation-catalog.js +1 -0
- package/dist/engines/installations/k6.d.ts +98 -0
- package/dist/engines/installations/k6.js +1 -0
- package/dist/engines/installations/node-vitest.d.ts +47 -0
- package/dist/engines/installations/node-vitest.js +1 -0
- package/dist/engines/installations/package-resolution.d.ts +51 -0
- package/dist/engines/installations/package-resolution.js +1 -0
- package/dist/engines/installations/playwright-resolution-child.d.ts +1 -0
- package/dist/engines/installations/playwright-resolution-child.js +2 -0
- package/dist/engines/installations/playwright.d.ts +85 -0
- package/dist/engines/installations/playwright.js +1 -0
- package/dist/engines/installations/types.d.ts +10 -0
- package/dist/engines/installations/types.js +1 -0
- package/dist/engines/k6/adapter/bundle.d.ts +25 -0
- package/dist/engines/k6/adapter/bundle.js +112 -0
- package/dist/engines/k6/adapter/evidence.d.ts +15 -0
- package/dist/engines/k6/adapter/evidence.js +4 -0
- package/dist/engines/k6/adapter/executor.d.ts +13 -0
- package/dist/engines/k6/adapter/executor.js +1 -0
- package/dist/engines/k6/adapter/index.d.ts +1 -0
- package/dist/engines/k6/adapter/index.js +1 -0
- package/dist/engines/k6/adapter/input.d.ts +21 -0
- package/dist/engines/k6/adapter/input.js +1 -0
- package/dist/engines/k6/adapter/native-summary.d.ts +11 -0
- package/dist/engines/k6/adapter/native-summary.js +1 -0
- package/dist/engines/k6/adapter/repository-configuration.d.ts +2 -0
- package/dist/engines/k6/adapter/repository-configuration.js +1 -0
- package/dist/engines/k6/authoring-type-paths.d.ts +3 -0
- package/dist/engines/k6/authoring-type-paths.js +1 -0
- package/dist/engines/k6/runtime/ambient-types/bundle-manifest.json +146 -0
- package/dist/engines/k6/runtime/ambient-types/k6/LICENSE +21 -0
- package/dist/engines/k6/runtime/ambient-types/k6/browser/index.d.ts +6332 -0
- package/dist/engines/k6/runtime/ambient-types/k6/crypto/index.d.ts +218 -0
- package/dist/engines/k6/runtime/ambient-types/k6/data/index.d.ts +16 -0
- package/dist/engines/k6/runtime/ambient-types/k6/encoding/index.d.ts +46 -0
- package/dist/engines/k6/runtime/ambient-types/k6/execution/index.d.ts +127 -0
- package/dist/engines/k6/runtime/ambient-types/k6/experimental/csv/index.d.ts +96 -0
- package/dist/engines/k6/runtime/ambient-types/k6/experimental/fs/index.d.ts +104 -0
- package/dist/engines/k6/runtime/ambient-types/k6/experimental/redis/index.d.ts +821 -0
- package/dist/engines/k6/runtime/ambient-types/k6/experimental/streams/index.d.ts +198 -0
- package/dist/engines/k6/runtime/ambient-types/k6/global.d.ts +83 -0
- package/dist/engines/k6/runtime/ambient-types/k6/html/index.d.ts +1325 -0
- package/dist/engines/k6/runtime/ambient-types/k6/http/index.d.ts +806 -0
- package/dist/engines/k6/runtime/ambient-types/k6/index.d.ts +126 -0
- package/dist/engines/k6/runtime/ambient-types/k6/metrics/index.d.ts +66 -0
- package/dist/engines/k6/runtime/ambient-types/k6/net/grpc/index.d.ts +247 -0
- package/dist/engines/k6/runtime/ambient-types/k6/options/index.d.ts +459 -0
- package/dist/engines/k6/runtime/ambient-types/k6/package.json +79 -0
- package/dist/engines/k6/runtime/ambient-types/k6/secrets/index.d.ts +36 -0
- package/dist/engines/k6/runtime/ambient-types/k6/timers/index.d.ts +47 -0
- package/dist/engines/k6/runtime/ambient-types/k6/websockets/index.d.ts +324 -0
- package/dist/engines/k6/runtime/ambient-types/k6/ws/index.d.ts +283 -0
- package/dist/engines/k6/runtime/ambient-types/xk6-sql/LICENSE +201 -0
- package/dist/engines/k6/runtime/ambient-types/xk6-sql/index.d.ts +397 -0
- package/dist/engines/k6/runtime/ambient-types/xk6-sql/package.json +15 -0
- package/dist/engines/k6/runtime/artifacts.d.ts +2 -0
- package/dist/engines/k6/runtime/artifacts.js +1 -0
- package/dist/engines/k6/runtime/checks.d.ts +17 -0
- package/dist/engines/k6/runtime/checks.js +1 -0
- package/dist/engines/k6/runtime/dal-fixtures.d.ts +24 -0
- package/dist/engines/k6/runtime/dal-fixtures.js +1 -0
- package/dist/engines/k6/runtime/dal-suite.d.ts +24 -0
- package/dist/engines/k6/runtime/dal-suite.js +1 -0
- package/dist/engines/k6/runtime/dal.d.ts +10 -0
- package/dist/engines/k6/runtime/dal.js +1 -0
- package/dist/engines/k6/runtime/fixtures.d.ts +3 -0
- package/dist/engines/k6/runtime/fixtures.js +1 -0
- package/dist/engines/k6/runtime/http-assertions.d.ts +19 -0
- package/dist/engines/k6/runtime/http-assertions.js +1 -0
- package/dist/engines/k6/runtime/http-checks.d.ts +19 -0
- package/dist/engines/k6/runtime/http-checks.js +1 -0
- package/dist/engines/k6/runtime/http-suite-runtime.d.ts +103 -0
- package/dist/engines/k6/runtime/http-suite-runtime.js +1 -0
- package/dist/engines/k6/runtime/http.d.ts +15 -0
- package/dist/engines/k6/runtime/http.js +1 -0
- package/dist/engines/k6/runtime/index.d.ts +11 -0
- package/dist/engines/k6/runtime/index.js +1 -0
- package/dist/engines/k6/runtime/input.d.ts +3 -0
- package/dist/engines/k6/runtime/input.js +1 -0
- package/dist/engines/k6/runtime/k6-repository-configuration.d.ts +9 -0
- package/dist/engines/k6/runtime/k6-repository-configuration.js +1 -0
- package/dist/engines/k6/runtime/node-setup.d.ts +13 -0
- package/dist/engines/k6/runtime/node-setup.js +1 -0
- package/dist/engines/k6/runtime/runtime-globals.d.ts +10 -0
- package/dist/engines/k6/runtime/runtime-globals.js +1 -0
- package/dist/engines/k6/runtime/runtime.d.ts +54 -0
- package/dist/engines/k6/runtime/runtime.js +1 -0
- package/dist/engines/k6/runtime/shared/assertion-details.d.ts +19 -0
- package/dist/engines/k6/runtime/shared/assertion-details.js +2 -0
- package/dist/engines/k6/runtime/shared/db-normalization.d.ts +19 -0
- package/dist/engines/k6/runtime/shared/db-normalization.js +1 -0
- package/dist/engines/k6/runtime/shared/error-body.d.ts +3 -0
- package/dist/engines/k6/runtime/shared/error-body.js +1 -0
- package/dist/engines/k6/runtime/shared/file-data.d.ts +1 -0
- package/dist/engines/k6/runtime/shared/file-data.js +1 -0
- package/dist/engines/k6/runtime/shared/fixture-engine.d.ts +8 -0
- package/dist/engines/k6/runtime/shared/fixture-engine.js +2 -0
- package/dist/engines/k6/runtime/shared/http-check-plan.d.ts +29 -0
- package/dist/engines/k6/runtime/shared/http-check-plan.js +1 -0
- package/dist/engines/k6/runtime/shared/http-parsing.d.ts +10 -0
- package/dist/engines/k6/runtime/shared/http-parsing.js +3 -0
- package/dist/engines/k6/runtime/shared/ordering.d.ts +2 -0
- package/dist/engines/k6/runtime/shared/ordering.js +1 -0
- package/dist/engines/k6/runtime/shared/properties.d.ts +1 -0
- package/dist/engines/k6/runtime/shared/properties.js +1 -0
- package/dist/engines/k6/runtime/suite.d.ts +4 -0
- package/dist/engines/k6/runtime/suite.js +1 -0
- package/dist/engines/k6/runtime/types.d.ts +242 -0
- package/dist/engines/k6/runtime/types.js +1 -0
- package/dist/engines/k6/runtime/xk6-sql-driver-postgres.d.ts +7 -0
- package/dist/engines/k6/runtime/xk6-sql-driver-postgres.js +1 -0
- package/dist/engines/managed-module-resolution-policy-input.d.ts +9 -0
- package/dist/engines/managed-module-resolution-policy-input.js +1 -0
- package/dist/engines/managed-module-resolution-policy.d.ts +25 -0
- package/dist/engines/managed-module-resolution-policy.js +1 -0
- package/dist/engines/managed-module-resolution.d.ts +13 -0
- package/dist/engines/managed-module-resolution.js +697 -0
- package/dist/engines/manager.d.ts +24 -0
- package/dist/engines/manager.js +1 -0
- package/dist/engines/node-vitest/adapter/adapter.d.ts +16 -0
- package/dist/engines/node-vitest/adapter/adapter.js +1 -0
- package/dist/engines/node-vitest/adapter/consumer-typescript-paths.d.ts +17 -0
- package/dist/engines/node-vitest/adapter/consumer-typescript-paths.js +3 -0
- package/dist/engines/node-vitest/adapter/evidence.d.ts +33 -0
- package/dist/engines/node-vitest/adapter/evidence.js +2 -0
- package/dist/engines/node-vitest/adapter/failure-details.d.ts +2 -0
- package/dist/engines/node-vitest/adapter/failure-details.js +2 -0
- package/dist/engines/node-vitest/adapter/index.d.ts +1 -0
- package/dist/engines/node-vitest/adapter/index.js +1 -0
- package/dist/engines/node-vitest/adapter/reporter.d.ts +7 -0
- package/dist/engines/node-vitest/adapter/reporter.js +1 -0
- package/dist/engines/node-vitest/adapter/resolution.d.ts +12 -0
- package/dist/engines/node-vitest/adapter/resolution.js +1 -0
- package/dist/engines/node-vitest/adapter/workspace.d.ts +19 -0
- package/dist/engines/node-vitest/adapter/workspace.js +177 -0
- package/dist/engines/node-vitest/runtime/contract/index.d.ts +64 -0
- package/dist/engines/node-vitest/runtime/contract/index.js +1 -0
- package/dist/engines/node-vitest/runtime/data/http.d.ts +4 -0
- package/dist/engines/node-vitest/runtime/data/http.js +1 -0
- package/dist/engines/node-vitest/runtime/data/index.d.ts +8 -0
- package/dist/engines/node-vitest/runtime/data/index.js +1 -0
- package/dist/engines/node-vitest/runtime/data/primitives.d.ts +1 -0
- package/dist/engines/node-vitest/runtime/data/primitives.js +1 -0
- package/dist/engines/node-vitest/runtime/data/report.d.ts +3 -0
- package/dist/engines/node-vitest/runtime/data/report.js +6 -0
- package/dist/engines/node-vitest/runtime/data/runner.d.ts +4 -0
- package/dist/engines/node-vitest/runtime/data/runner.js +1 -0
- package/dist/engines/node-vitest/runtime/data/scenario.d.ts +12 -0
- package/dist/engines/node-vitest/runtime/data/scenario.js +2 -0
- package/dist/engines/node-vitest/runtime/data/types.d.ts +412 -0
- package/dist/engines/node-vitest/runtime/data/types.js +1 -0
- package/dist/engines/node-vitest/runtime/runtime-input.d.ts +63 -0
- package/dist/engines/node-vitest/runtime/runtime-input.js +1 -0
- package/dist/engines/playwright/adapter/adapter.d.ts +18 -0
- package/dist/engines/playwright/adapter/adapter.js +1 -0
- package/dist/engines/playwright/adapter/attachments.d.ts +25 -0
- package/dist/engines/playwright/adapter/attachments.js +1 -0
- package/dist/engines/playwright/adapter/config.d.ts +45 -0
- package/dist/engines/playwright/adapter/config.js +167 -0
- package/dist/engines/playwright/adapter/evidence-validation.d.ts +12 -0
- package/dist/engines/playwright/adapter/evidence-validation.js +1 -0
- package/dist/engines/playwright/adapter/evidence.d.ts +32 -0
- package/dist/engines/playwright/adapter/evidence.js +1 -0
- package/dist/engines/playwright/adapter/failure-details.d.ts +2 -0
- package/dist/engines/playwright/adapter/failure-details.js +2 -0
- package/dist/engines/playwright/adapter/index.d.ts +3 -0
- package/dist/engines/playwright/adapter/index.js +1 -0
- package/dist/engines/playwright/adapter/reporter.d.ts +12 -0
- package/dist/engines/playwright/adapter/reporter.js +1 -0
- package/dist/engines/playwright/runtime/config-file.d.ts +2 -0
- package/dist/engines/playwright/runtime/config-file.js +1 -0
- package/dist/engines/playwright/runtime/config.d.ts +24 -0
- package/dist/engines/playwright/runtime/config.js +1 -0
- package/dist/engines/playwright/runtime/index.d.ts +4 -0
- package/dist/engines/playwright/runtime/index.js +1 -0
- package/dist/engines/playwright/runtime/runtime-input.d.ts +36 -0
- package/dist/engines/playwright/runtime/runtime-input.js +151 -0
- package/dist/engines/playwright/runtime/sandbox.d.ts +84 -0
- package/dist/engines/playwright/runtime/sandbox.js +1 -0
- package/dist/engines/runtime-input-file.d.ts +25 -0
- package/dist/engines/runtime-input-file.js +1 -0
- package/dist/environment/lifecycle-artifacts.d.ts +7 -0
- package/dist/environment/lifecycle-artifacts.js +1 -0
- package/dist/environment/lifecycle-controller.d.ts +71 -0
- package/dist/environment/lifecycle-controller.js +1 -0
- package/dist/environment/lifecycle.d.ts +29 -0
- package/dist/environment/lifecycle.js +1 -0
- package/dist/environment/maintenance.d.ts +68 -0
- package/dist/environment/maintenance.js +1 -0
- package/dist/environment/planning-types.d.ts +35 -0
- package/dist/environment/planning-types.js +1 -0
- package/dist/environment/readiness.d.ts +12 -0
- package/dist/environment/readiness.js +1 -0
- package/dist/environment/ready-environment.d.ts +17 -0
- package/dist/environment/ready-environment.js +1 -0
- package/dist/environment/run-environment.d.ts +38 -0
- package/dist/environment/run-environment.js +1 -0
- package/dist/environment/run-stopping.d.ts +13 -0
- package/dist/environment/run-stopping.js +1 -0
- package/dist/environment/runtime-contexts.d.ts +32 -0
- package/dist/environment/runtime-contexts.js +1 -0
- package/dist/environment/runtime-manager.d.ts +95 -0
- package/dist/environment/runtime-manager.js +1 -0
- package/dist/environment/runtime-planning.d.ts +16 -0
- package/dist/environment/runtime-planning.js +1 -0
- package/dist/environment/runtime-preparation.d.ts +30 -0
- package/dist/environment/runtime-preparation.js +1 -0
- package/dist/environment/runtime-service.d.ts +18 -0
- package/dist/environment/runtime-service.js +1 -0
- package/dist/environment/services.d.ts +48 -0
- package/dist/environment/services.js +1 -0
- package/dist/environment/state.d.ts +18 -0
- package/dist/environment/state.js +1 -0
- package/dist/environment/status-runtime.d.ts +53 -0
- package/dist/environment/status-runtime.js +1 -0
- package/dist/environment/template.d.ts +180 -0
- package/dist/environment/template.js +1 -0
- package/dist/evidence/artifact-config.d.ts +14 -0
- package/dist/evidence/artifact-config.js +1 -0
- package/dist/evidence/artifact-validation.d.ts +5 -0
- package/dist/evidence/artifact-validation.js +1 -0
- package/dist/evidence/artifacts.d.ts +75 -0
- package/dist/evidence/artifacts.js +2 -0
- package/dist/evidence/bundles.d.ts +28 -0
- package/dist/evidence/bundles.js +1 -0
- package/dist/evidence/ci-provenance.d.ts +9 -0
- package/dist/evidence/ci-provenance.js +1 -0
- package/dist/evidence/contracts.d.ts +162 -0
- package/dist/evidence/contracts.js +1 -0
- package/dist/evidence/file-evidence.d.ts +23 -0
- package/dist/evidence/file-evidence.js +1 -0
- package/dist/evidence/finalization.d.ts +9 -0
- package/dist/evidence/finalization.js +1 -0
- package/dist/evidence/index.d.ts +8 -0
- package/dist/evidence/index.js +1 -0
- package/dist/evidence/logs.d.ts +31 -0
- package/dist/evidence/logs.js +2 -0
- package/dist/evidence/operation-timings.d.ts +60 -0
- package/dist/evidence/operation-timings.js +1 -0
- package/dist/evidence/read-bundle.d.ts +4 -0
- package/dist/evidence/read-bundle.js +1 -0
- package/dist/evidence/read-fields.d.ts +22 -0
- package/dist/evidence/read-fields.js +1 -0
- package/dist/evidence/read-provenance.d.ts +2 -0
- package/dist/evidence/read-provenance.js +1 -0
- package/dist/evidence/read-redaction.d.ts +2 -0
- package/dist/evidence/read-redaction.js +1 -0
- package/dist/evidence/read-retention.d.ts +2 -0
- package/dist/evidence/read-retention.js +1 -0
- package/dist/evidence/read-run.d.ts +2 -0
- package/dist/evidence/read-run.js +1 -0
- package/dist/evidence/reading.d.ts +28 -0
- package/dist/evidence/reading.js +1 -0
- package/dist/evidence/reporting-types.d.ts +330 -0
- package/dist/evidence/reporting-types.js +1 -0
- package/dist/evidence/reporting.d.ts +3 -0
- package/dist/evidence/reporting.js +1 -0
- package/dist/evidence/secure-file-copy.d.ts +24 -0
- package/dist/evidence/secure-file-copy.js +1 -0
- package/dist/evidence/setup-progress.d.ts +63 -0
- package/dist/evidence/setup-progress.js +1 -0
- package/dist/evidence/step-output.d.ts +16 -0
- package/dist/evidence/step-output.js +6 -0
- package/dist/evidence/storage-inventory.d.ts +27 -0
- package/dist/evidence/storage-inventory.js +1 -0
- package/dist/evidence/storage.d.ts +27 -0
- package/dist/evidence/storage.js +2 -0
- package/dist/evidence/timing.d.ts +23 -0
- package/dist/evidence/timing.js +1 -0
- package/dist/file.d.ts +11 -0
- package/dist/file.js +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +1 -0
- package/dist/kernel/error-serialization.d.ts +38 -0
- package/dist/kernel/error-serialization.js +1 -0
- package/dist/kernel/redaction.d.ts +1 -0
- package/dist/kernel/redaction.js +1 -0
- package/dist/kernel/unknown-values.d.ts +6 -0
- package/dist/kernel/unknown-values.js +1 -0
- package/dist/process/capture-output.d.ts +7 -0
- package/dist/process/capture-output.js +1 -0
- package/dist/process/command-shell.d.ts +1 -0
- package/dist/process/command-shell.js +1 -0
- package/dist/process/environment-overlay.d.ts +17 -0
- package/dist/process/environment-overlay.js +1 -0
- package/dist/process/environment.d.ts +33 -0
- package/dist/process/environment.js +1 -0
- package/dist/process/files/contained-path.d.ts +8 -0
- package/dist/process/files/contained-path.js +1 -0
- package/dist/process/files/directory-status.d.ts +14 -0
- package/dist/process/files/directory-status.js +1 -0
- package/dist/process/files/dotenv.d.ts +2 -0
- package/dist/process/files/dotenv.js +1 -0
- package/dist/process/files/file-snapshot.d.ts +34 -0
- package/dist/process/files/file-snapshot.js +1 -0
- package/dist/process/files/json-file.d.ts +11 -0
- package/dist/process/files/json-file.js +1 -0
- package/dist/process/files/paths.d.ts +1 -0
- package/dist/process/files/paths.js +1 -0
- package/dist/process/files/temp-dir.d.ts +11 -0
- package/dist/process/files/temp-dir.js +1 -0
- package/dist/process/host/metadata.d.ts +6 -0
- package/dist/process/host/metadata.js +1 -0
- package/dist/process/host/platform.d.ts +57 -0
- package/dist/process/host/platform.js +1 -0
- package/dist/process/host-command.d.ts +4 -0
- package/dist/process/host-command.js +3 -0
- package/dist/process/host-inspection-command.d.ts +13 -0
- package/dist/process/host-inspection-command.js +1 -0
- package/dist/process/host-process.d.ts +14 -0
- package/dist/process/host-process.js +1 -0
- package/dist/process/index.d.ts +9 -0
- package/dist/process/index.js +1 -0
- package/dist/process/lifecycle-fence.d.ts +11 -0
- package/dist/process/lifecycle-fence.js +1 -0
- package/dist/process/locks.d.ts +28 -0
- package/dist/process/locks.js +4 -0
- package/dist/process/process-contracts.d.ts +70 -0
- package/dist/process/process-contracts.js +1 -0
- package/dist/process/process-group.d.ts +12 -0
- package/dist/process/process-group.js +1 -0
- package/dist/process/process-identity.d.ts +27 -0
- package/dist/process/process-identity.js +1 -0
- package/dist/process/process-limits.d.ts +6 -0
- package/dist/process/process-limits.js +1 -0
- package/dist/process/process.d.ts +11 -0
- package/dist/process/process.js +1 -0
- package/dist/process/readiness.d.ts +37 -0
- package/dist/process/readiness.js +1 -0
- package/dist/process/recovery.d.ts +3 -0
- package/dist/process/recovery.js +1 -0
- package/dist/process/runs/manifest.d.ts +85 -0
- package/dist/process/runs/manifest.js +1 -0
- package/dist/process/runs/ownership.d.ts +11 -0
- package/dist/process/runs/ownership.js +1 -0
- package/dist/process/runs/product-state.d.ts +2 -0
- package/dist/process/runs/product-state.js +1 -0
- package/dist/process/runs/schema.d.ts +3 -0
- package/dist/process/runs/schema.js +1 -0
- package/dist/process/runs/stop.d.ts +19 -0
- package/dist/process/runs/stop.js +1 -0
- package/dist/process/runtime-socket.d.ts +4 -0
- package/dist/process/runtime-socket.js +1 -0
- package/dist/process/service-processes.d.ts +13 -0
- package/dist/process/service-processes.js +1 -0
- package/dist/process/shutdown.d.ts +10 -0
- package/dist/process/shutdown.js +1 -0
- package/dist/process/windows-cli-owner.d.ts +2 -0
- package/dist/process/windows-cli-owner.js +3 -0
- package/dist/process/windows-native.d.ts +6 -0
- package/dist/process/windows-native.js +1 -0
- package/dist/process/windows-process-identity.d.ts +4 -0
- package/dist/process/windows-process-identity.js +1 -0
- package/dist/repo/ci-environment.d.ts +7 -0
- package/dist/repo/ci-environment.js +1 -0
- package/dist/repo/fingerprint-policy.d.ts +15 -0
- package/dist/repo/fingerprint-policy.js +1 -0
- package/dist/repo/git-path.d.ts +2 -0
- package/dist/repo/git-path.js +1 -0
- package/dist/repo/managed-git.d.ts +10 -0
- package/dist/repo/managed-git.js +1 -0
- package/dist/repo/metadata.d.ts +3 -0
- package/dist/repo/metadata.js +1 -0
- package/dist/repo/physical-tree.d.ts +37 -0
- package/dist/repo/physical-tree.js +1 -0
- package/dist/repo/remote.d.ts +6 -0
- package/dist/repo/remote.js +1 -0
- package/dist/repo/state.d.ts +25 -0
- package/dist/repo/state.js +5 -0
- package/dist/steps/build-config.d.ts +35 -0
- package/dist/steps/build-config.js +1 -0
- package/dist/steps/configured-step-testkit-modules.d.ts +19 -0
- package/dist/steps/configured-step-testkit-modules.js +1 -0
- package/dist/steps/configured-steps.d.ts +51 -0
- package/dist/steps/configured-steps.js +1 -0
- package/dist/steps/environment.d.ts +78 -0
- package/dist/steps/environment.js +1 -0
- package/dist/steps/index.d.ts +2 -0
- package/dist/steps/index.js +1 -0
- package/dist/steps/module-runner.d.ts +1 -0
- package/dist/steps/module-runner.js +1 -0
- package/dist/steps/run.d.ts +36 -0
- package/dist/steps/run.js +3 -0
- package/dist/toolchains/archive.d.ts +53 -0
- package/dist/toolchains/archive.js +1 -0
- package/dist/toolchains/esbuild.d.ts +9 -0
- package/dist/toolchains/esbuild.js +1 -0
- package/dist/toolchains/host-node-support.d.ts +3 -0
- package/dist/toolchains/host-node-support.js +1 -0
- package/dist/toolchains/index.d.ts +114 -0
- package/dist/toolchains/index.js +4 -0
- package/dist/toolchains/managed-node-releases.d.ts +28 -0
- package/dist/toolchains/managed-node-releases.js +1 -0
- package/dist/toolchains/node-cache.d.ts +20 -0
- package/dist/toolchains/node-cache.js +1 -0
- package/dist/toolchains/node-integrity.d.ts +16 -0
- package/dist/toolchains/node-integrity.js +1 -0
- package/dist/toolchains/node-provisioning.d.ts +29 -0
- package/dist/toolchains/node-provisioning.js +2 -0
- package/dist/toolchains/semver.d.ts +13 -0
- package/dist/toolchains/semver.js +1 -0
- package/dist/toolchains/shared-operation.d.ts +11 -0
- package/dist/toolchains/shared-operation.js +1 -0
- package/dist/toolchains/timeouts.d.ts +1 -0
- package/dist/toolchains/timeouts.js +1 -0
- package/dist/toolchains/vitest/index.d.ts +13 -0
- package/dist/toolchains/vitest/index.js +1 -0
- package/docs/cloud-control.md +105 -0
- package/docs/engine-architecture.md +631 -0
- package/docs/test-types.md +120 -0
- package/docs/testkit-cloud-boundary.md +640 -0
- package/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
- package/node_modules/@isaacs/fs-minipass/README.md +71 -0
- package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts +118 -0
- package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
- package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map +1 -0
- package/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
- package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts +118 -0
- package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts.map +1 -0
- package/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
- package/node_modules/@isaacs/fs-minipass/dist/esm/index.js.map +1 -0
- package/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
- package/node_modules/@isaacs/fs-minipass/package.json +72 -0
- package/node_modules/buffer-crc32/LICENSE +19 -0
- package/node_modules/buffer-crc32/README.md +55 -0
- package/node_modules/buffer-crc32/dist/index.cjs +306 -0
- package/node_modules/buffer-crc32/dist/index.d.cts +35 -0
- package/node_modules/buffer-crc32/dist/index.d.mts +35 -0
- package/node_modules/buffer-crc32/dist/index.mjs +304 -0
- package/node_modules/buffer-crc32/index.d.ts +35 -0
- package/node_modules/buffer-crc32/package.json +54 -0
- package/node_modules/chownr/LICENSE.md +63 -0
- package/node_modules/chownr/README.md +3 -0
- package/node_modules/chownr/dist/commonjs/index.d.ts +3 -0
- package/node_modules/chownr/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/chownr/dist/commonjs/index.js +93 -0
- package/node_modules/chownr/dist/commonjs/index.js.map +1 -0
- package/node_modules/chownr/dist/commonjs/package.json +3 -0
- package/node_modules/chownr/dist/esm/index.d.ts +3 -0
- package/node_modules/chownr/dist/esm/index.d.ts.map +1 -0
- package/node_modules/chownr/dist/esm/index.js +85 -0
- package/node_modules/chownr/dist/esm/index.js.map +1 -0
- package/node_modules/chownr/dist/esm/package.json +3 -0
- package/node_modules/chownr/package.json +69 -0
- package/node_modules/diff/CONTRIBUTING.md +28 -0
- package/node_modules/diff/LICENSE +29 -0
- package/node_modules/diff/README.md +468 -0
- package/node_modules/diff/dist/diff.js +2313 -0
- package/node_modules/diff/dist/diff.min.js +1 -0
- package/node_modules/diff/eslint.config.mjs +182 -0
- package/node_modules/diff/libcjs/convert/dmp.d.ts +8 -0
- package/node_modules/diff/libcjs/convert/dmp.d.ts.map +1 -0
- package/node_modules/diff/libcjs/convert/dmp.js +24 -0
- package/node_modules/diff/libcjs/convert/xml.d.ts +6 -0
- package/node_modules/diff/libcjs/convert/xml.d.ts.map +1 -0
- package/node_modules/diff/libcjs/convert/xml.js +34 -0
- package/node_modules/diff/libcjs/diff/array.d.ts +19 -0
- package/node_modules/diff/libcjs/diff/array.d.ts.map +1 -0
- package/node_modules/diff/libcjs/diff/array.js +23 -0
- package/node_modules/diff/libcjs/diff/base.d.ts +20 -0
- package/node_modules/diff/libcjs/diff/base.d.ts.map +1 -0
- package/node_modules/diff/libcjs/diff/base.js +256 -0
- package/node_modules/diff/libcjs/diff/character.d.ts +19 -0
- package/node_modules/diff/libcjs/diff/character.d.ts.map +1 -0
- package/node_modules/diff/libcjs/diff/character.js +14 -0
- package/node_modules/diff/libcjs/diff/css.d.ts +18 -0
- package/node_modules/diff/libcjs/diff/css.d.ts.map +1 -0
- package/node_modules/diff/libcjs/diff/css.js +17 -0
- package/node_modules/diff/libcjs/diff/json.d.ts +24 -0
- package/node_modules/diff/libcjs/diff/json.d.ts.map +1 -0
- package/node_modules/diff/libcjs/diff/json.js +86 -0
- package/node_modules/diff/libcjs/diff/line.d.ts +24 -0
- package/node_modules/diff/libcjs/diff/line.d.ts.map +1 -0
- package/node_modules/diff/libcjs/diff/line.js +74 -0
- package/node_modules/diff/libcjs/diff/sentence.d.ts +21 -0
- package/node_modules/diff/libcjs/diff/sentence.d.ts.map +1 -0
- package/node_modules/diff/libcjs/diff/sentence.js +50 -0
- package/node_modules/diff/libcjs/diff/word.d.ts +35 -0
- package/node_modules/diff/libcjs/diff/word.d.ts.map +1 -0
- package/node_modules/diff/libcjs/diff/word.js +289 -0
- package/node_modules/diff/libcjs/index.d.ts +20 -0
- package/node_modules/diff/libcjs/index.d.ts.map +1 -0
- package/node_modules/diff/libcjs/index.js +67 -0
- package/node_modules/diff/libcjs/package.json +1 -0
- package/node_modules/diff/libcjs/patch/apply.d.ts +62 -0
- package/node_modules/diff/libcjs/patch/apply.d.ts.map +1 -0
- package/node_modules/diff/libcjs/patch/apply.js +264 -0
- package/node_modules/diff/libcjs/patch/create.d.ts +131 -0
- package/node_modules/diff/libcjs/patch/create.d.ts.map +1 -0
- package/node_modules/diff/libcjs/patch/create.js +364 -0
- package/node_modules/diff/libcjs/patch/line-endings.d.ts +17 -0
- package/node_modules/diff/libcjs/patch/line-endings.d.ts.map +1 -0
- package/node_modules/diff/libcjs/patch/line-endings.js +50 -0
- package/node_modules/diff/libcjs/patch/parse.d.ts +16 -0
- package/node_modules/diff/libcjs/patch/parse.d.ts.map +1 -0
- package/node_modules/diff/libcjs/patch/parse.js +515 -0
- package/node_modules/diff/libcjs/patch/reverse.d.ts +22 -0
- package/node_modules/diff/libcjs/patch/reverse.d.ts.map +1 -0
- package/node_modules/diff/libcjs/patch/reverse.js +63 -0
- package/node_modules/diff/libcjs/types.d.ts +260 -0
- package/node_modules/diff/libcjs/types.d.ts.map +1 -0
- package/node_modules/diff/libcjs/types.js +2 -0
- package/node_modules/diff/libcjs/util/array.d.ts +3 -0
- package/node_modules/diff/libcjs/util/array.d.ts.map +1 -0
- package/node_modules/diff/libcjs/util/array.js +21 -0
- package/node_modules/diff/libcjs/util/distance-iterator.d.ts +2 -0
- package/node_modules/diff/libcjs/util/distance-iterator.d.ts.map +1 -0
- package/node_modules/diff/libcjs/util/distance-iterator.js +40 -0
- package/node_modules/diff/libcjs/util/params.d.ts +4 -0
- package/node_modules/diff/libcjs/util/params.d.ts.map +1 -0
- package/node_modules/diff/libcjs/util/params.js +17 -0
- package/node_modules/diff/libcjs/util/string.d.ts +30 -0
- package/node_modules/diff/libcjs/util/string.d.ts.map +1 -0
- package/node_modules/diff/libcjs/util/string.js +199 -0
- package/node_modules/diff/libesm/convert/dmp.d.ts +8 -0
- package/node_modules/diff/libesm/convert/dmp.d.ts.map +1 -0
- package/node_modules/diff/libesm/convert/dmp.js +21 -0
- package/node_modules/diff/libesm/convert/xml.d.ts +6 -0
- package/node_modules/diff/libesm/convert/xml.d.ts.map +1 -0
- package/node_modules/diff/libesm/convert/xml.js +31 -0
- package/node_modules/diff/libesm/diff/array.d.ts +19 -0
- package/node_modules/diff/libesm/diff/array.d.ts.map +1 -0
- package/node_modules/diff/libesm/diff/array.js +16 -0
- package/node_modules/diff/libesm/diff/base.d.ts +20 -0
- package/node_modules/diff/libesm/diff/base.d.ts.map +1 -0
- package/node_modules/diff/libesm/diff/base.js +253 -0
- package/node_modules/diff/libesm/diff/character.d.ts +19 -0
- package/node_modules/diff/libesm/diff/character.d.ts.map +1 -0
- package/node_modules/diff/libesm/diff/character.js +7 -0
- package/node_modules/diff/libesm/diff/css.d.ts +18 -0
- package/node_modules/diff/libesm/diff/css.d.ts.map +1 -0
- package/node_modules/diff/libesm/diff/css.js +10 -0
- package/node_modules/diff/libesm/diff/json.d.ts +24 -0
- package/node_modules/diff/libesm/diff/json.d.ts.map +1 -0
- package/node_modules/diff/libesm/diff/json.js +78 -0
- package/node_modules/diff/libesm/diff/line.d.ts +24 -0
- package/node_modules/diff/libesm/diff/line.d.ts.map +1 -0
- package/node_modules/diff/libesm/diff/line.js +65 -0
- package/node_modules/diff/libesm/diff/sentence.d.ts +21 -0
- package/node_modules/diff/libesm/diff/sentence.d.ts.map +1 -0
- package/node_modules/diff/libesm/diff/sentence.js +43 -0
- package/node_modules/diff/libesm/diff/word.d.ts +35 -0
- package/node_modules/diff/libesm/diff/word.d.ts.map +1 -0
- package/node_modules/diff/libesm/diff/word.js +281 -0
- package/node_modules/diff/libesm/index.d.ts +20 -0
- package/node_modules/diff/libesm/index.d.ts.map +1 -0
- package/node_modules/diff/libesm/index.js +30 -0
- package/node_modules/diff/libesm/package.json +1 -0
- package/node_modules/diff/libesm/patch/apply.d.ts +62 -0
- package/node_modules/diff/libesm/patch/apply.d.ts.map +1 -0
- package/node_modules/diff/libesm/patch/apply.js +257 -0
- package/node_modules/diff/libesm/patch/create.d.ts +131 -0
- package/node_modules/diff/libesm/patch/create.d.ts.map +1 -0
- package/node_modules/diff/libesm/patch/create.js +357 -0
- package/node_modules/diff/libesm/patch/line-endings.d.ts +17 -0
- package/node_modules/diff/libesm/patch/line-endings.d.ts.map +1 -0
- package/node_modules/diff/libesm/patch/line-endings.js +44 -0
- package/node_modules/diff/libesm/patch/parse.d.ts +16 -0
- package/node_modules/diff/libesm/patch/parse.d.ts.map +1 -0
- package/node_modules/diff/libesm/patch/parse.js +512 -0
- package/node_modules/diff/libesm/patch/reverse.d.ts +22 -0
- package/node_modules/diff/libesm/patch/reverse.d.ts.map +1 -0
- package/node_modules/diff/libesm/patch/reverse.js +60 -0
- package/node_modules/diff/libesm/types.d.ts +260 -0
- package/node_modules/diff/libesm/types.d.ts.map +1 -0
- package/node_modules/diff/libesm/types.js +1 -0
- package/node_modules/diff/libesm/util/array.d.ts +3 -0
- package/node_modules/diff/libesm/util/array.d.ts.map +1 -0
- package/node_modules/diff/libesm/util/array.js +17 -0
- package/node_modules/diff/libesm/util/distance-iterator.d.ts +2 -0
- package/node_modules/diff/libesm/util/distance-iterator.d.ts.map +1 -0
- package/node_modules/diff/libesm/util/distance-iterator.js +37 -0
- package/node_modules/diff/libesm/util/params.d.ts +4 -0
- package/node_modules/diff/libesm/util/params.d.ts.map +1 -0
- package/node_modules/diff/libesm/util/params.js +14 -0
- package/node_modules/diff/libesm/util/string.d.ts +30 -0
- package/node_modules/diff/libesm/util/string.d.ts.map +1 -0
- package/node_modules/diff/libesm/util/string.js +184 -0
- package/node_modules/diff/package.json +130 -0
- package/node_modules/diff/release-notes.md +474 -0
- package/node_modules/minipass/LICENSE.md +55 -0
- package/node_modules/minipass/README.md +825 -0
- package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
- package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/minipass/dist/commonjs/index.js +1038 -0
- package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
- package/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/node_modules/minipass/dist/esm/index.d.ts +545 -0
- package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
- package/node_modules/minipass/dist/esm/index.js +1020 -0
- package/node_modules/minipass/dist/esm/index.js.map +1 -0
- package/node_modules/minipass/dist/esm/package.json +3 -0
- package/node_modules/minipass/package.json +77 -0
- package/node_modules/minizlib/LICENSE +26 -0
- package/node_modules/minizlib/README.md +64 -0
- package/node_modules/minizlib/dist/commonjs/constants.d.ts +2 -0
- package/node_modules/minizlib/dist/commonjs/constants.d.ts.map +1 -0
- package/node_modules/minizlib/dist/commonjs/constants.js +123 -0
- package/node_modules/minizlib/dist/commonjs/constants.js.map +1 -0
- package/node_modules/minizlib/dist/commonjs/index.d.ts +99 -0
- package/node_modules/minizlib/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/minizlib/dist/commonjs/index.js +416 -0
- package/node_modules/minizlib/dist/commonjs/index.js.map +1 -0
- package/node_modules/minizlib/dist/commonjs/package.json +3 -0
- package/node_modules/minizlib/dist/esm/constants.d.ts +2 -0
- package/node_modules/minizlib/dist/esm/constants.d.ts.map +1 -0
- package/node_modules/minizlib/dist/esm/constants.js +117 -0
- package/node_modules/minizlib/dist/esm/constants.js.map +1 -0
- package/node_modules/minizlib/dist/esm/index.d.ts +99 -0
- package/node_modules/minizlib/dist/esm/index.d.ts.map +1 -0
- package/node_modules/minizlib/dist/esm/index.js +363 -0
- package/node_modules/minizlib/dist/esm/index.js.map +1 -0
- package/node_modules/minizlib/dist/esm/package.json +3 -0
- package/node_modules/minizlib/package.json +80 -0
- package/node_modules/pend/LICENSE +23 -0
- package/node_modules/pend/README.md +41 -0
- package/node_modules/pend/index.js +55 -0
- package/node_modules/pend/package.json +18 -0
- package/node_modules/pend/test.js +137 -0
- package/node_modules/tar/LICENSE.md +55 -0
- package/node_modules/tar/README.md +1233 -0
- package/node_modules/tar/dist/commonjs/create.d.ts +3 -0
- package/node_modules/tar/dist/commonjs/create.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/create.js +82 -0
- package/node_modules/tar/dist/commonjs/create.js.map +1 -0
- package/node_modules/tar/dist/commonjs/cwd-error.d.ts +8 -0
- package/node_modules/tar/dist/commonjs/cwd-error.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
- package/node_modules/tar/dist/commonjs/cwd-error.js.map +1 -0
- package/node_modules/tar/dist/commonjs/extract.d.ts +3 -0
- package/node_modules/tar/dist/commonjs/extract.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/extract.js +88 -0
- package/node_modules/tar/dist/commonjs/extract.js.map +1 -0
- package/node_modules/tar/dist/commonjs/get-write-flag.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/get-write-flag.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
- package/node_modules/tar/dist/commonjs/get-write-flag.js.map +1 -0
- package/node_modules/tar/dist/commonjs/header.d.ts +53 -0
- package/node_modules/tar/dist/commonjs/header.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/header.js +348 -0
- package/node_modules/tar/dist/commonjs/header.js.map +1 -0
- package/node_modules/tar/dist/commonjs/index.d.ts +20 -0
- package/node_modules/tar/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/index.js +64 -0
- package/node_modules/tar/dist/commonjs/index.js.map +1 -0
- package/node_modules/tar/dist/commonjs/index.min.js +4 -0
- package/node_modules/tar/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/tar/dist/commonjs/large-numbers.d.ts +3 -0
- package/node_modules/tar/dist/commonjs/large-numbers.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
- package/node_modules/tar/dist/commonjs/large-numbers.js.map +1 -0
- package/node_modules/tar/dist/commonjs/list.d.ts +7 -0
- package/node_modules/tar/dist/commonjs/list.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/list.js +153 -0
- package/node_modules/tar/dist/commonjs/list.js.map +1 -0
- package/node_modules/tar/dist/commonjs/make-command.d.ts +49 -0
- package/node_modules/tar/dist/commonjs/make-command.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/make-command.js +52 -0
- package/node_modules/tar/dist/commonjs/make-command.js.map +1 -0
- package/node_modules/tar/dist/commonjs/mkdir.d.ts +25 -0
- package/node_modules/tar/dist/commonjs/mkdir.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/mkdir.js +187 -0
- package/node_modules/tar/dist/commonjs/mkdir.js.map +1 -0
- package/node_modules/tar/dist/commonjs/mode-fix.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/mode-fix.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
- package/node_modules/tar/dist/commonjs/mode-fix.js.map +1 -0
- package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
- package/node_modules/tar/dist/commonjs/normalize-unicode.js.map +1 -0
- package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
- package/node_modules/tar/dist/commonjs/normalize-windows-path.js.map +1 -0
- package/node_modules/tar/dist/commonjs/options.d.ts +604 -0
- package/node_modules/tar/dist/commonjs/options.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/options.js +66 -0
- package/node_modules/tar/dist/commonjs/options.js.map +1 -0
- package/node_modules/tar/dist/commonjs/pack.d.ts +105 -0
- package/node_modules/tar/dist/commonjs/pack.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/pack.js +544 -0
- package/node_modules/tar/dist/commonjs/pack.js.map +1 -0
- package/node_modules/tar/dist/commonjs/package.json +3 -0
- package/node_modules/tar/dist/commonjs/parse.d.ts +92 -0
- package/node_modules/tar/dist/commonjs/parse.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/parse.js +655 -0
- package/node_modules/tar/dist/commonjs/parse.js.map +1 -0
- package/node_modules/tar/dist/commonjs/path-reservations.d.ts +11 -0
- package/node_modules/tar/dist/commonjs/path-reservations.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
- package/node_modules/tar/dist/commonjs/path-reservations.js.map +1 -0
- package/node_modules/tar/dist/commonjs/pax.d.ts +26 -0
- package/node_modules/tar/dist/commonjs/pax.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/pax.js +182 -0
- package/node_modules/tar/dist/commonjs/pax.js.map +1 -0
- package/node_modules/tar/dist/commonjs/process-umask.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/process-umask.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/process-umask.js +7 -0
- package/node_modules/tar/dist/commonjs/process-umask.js.map +1 -0
- package/node_modules/tar/dist/commonjs/read-entry.d.ts +36 -0
- package/node_modules/tar/dist/commonjs/read-entry.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/read-entry.js +136 -0
- package/node_modules/tar/dist/commonjs/read-entry.js.map +1 -0
- package/node_modules/tar/dist/commonjs/replace.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/replace.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/replace.js +227 -0
- package/node_modules/tar/dist/commonjs/replace.js.map +1 -0
- package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
- package/node_modules/tar/dist/commonjs/strip-absolute-path.js.map +1 -0
- package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
- package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js.map +1 -0
- package/node_modules/tar/dist/commonjs/symlink-error.d.ts +9 -0
- package/node_modules/tar/dist/commonjs/symlink-error.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
- package/node_modules/tar/dist/commonjs/symlink-error.js.map +1 -0
- package/node_modules/tar/dist/commonjs/types.d.ts +16 -0
- package/node_modules/tar/dist/commonjs/types.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/types.js +70 -0
- package/node_modules/tar/dist/commonjs/types.js.map +1 -0
- package/node_modules/tar/dist/commonjs/unpack.d.ts +101 -0
- package/node_modules/tar/dist/commonjs/unpack.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/unpack.js +932 -0
- package/node_modules/tar/dist/commonjs/unpack.js.map +1 -0
- package/node_modules/tar/dist/commonjs/update.d.ts +2 -0
- package/node_modules/tar/dist/commonjs/update.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/update.js +33 -0
- package/node_modules/tar/dist/commonjs/update.js.map +1 -0
- package/node_modules/tar/dist/commonjs/warn-method.d.ts +24 -0
- package/node_modules/tar/dist/commonjs/warn-method.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/warn-method.js +31 -0
- package/node_modules/tar/dist/commonjs/warn-method.js.map +1 -0
- package/node_modules/tar/dist/commonjs/winchars.d.ts +3 -0
- package/node_modules/tar/dist/commonjs/winchars.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/winchars.js +14 -0
- package/node_modules/tar/dist/commonjs/winchars.js.map +1 -0
- package/node_modules/tar/dist/commonjs/write-entry.d.ts +129 -0
- package/node_modules/tar/dist/commonjs/write-entry.d.ts.map +1 -0
- package/node_modules/tar/dist/commonjs/write-entry.js +698 -0
- package/node_modules/tar/dist/commonjs/write-entry.js.map +1 -0
- package/node_modules/tar/dist/esm/create.d.ts +3 -0
- package/node_modules/tar/dist/esm/create.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/create.js +76 -0
- package/node_modules/tar/dist/esm/create.js.map +1 -0
- package/node_modules/tar/dist/esm/cwd-error.d.ts +8 -0
- package/node_modules/tar/dist/esm/cwd-error.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/cwd-error.js +14 -0
- package/node_modules/tar/dist/esm/cwd-error.js.map +1 -0
- package/node_modules/tar/dist/esm/extract.d.ts +3 -0
- package/node_modules/tar/dist/esm/extract.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/extract.js +49 -0
- package/node_modules/tar/dist/esm/extract.js.map +1 -0
- package/node_modules/tar/dist/esm/get-write-flag.d.ts +2 -0
- package/node_modules/tar/dist/esm/get-write-flag.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/get-write-flag.js +26 -0
- package/node_modules/tar/dist/esm/get-write-flag.js.map +1 -0
- package/node_modules/tar/dist/esm/header.d.ts +53 -0
- package/node_modules/tar/dist/esm/header.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/header.js +311 -0
- package/node_modules/tar/dist/esm/header.js.map +1 -0
- package/node_modules/tar/dist/esm/index.d.ts +20 -0
- package/node_modules/tar/dist/esm/index.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/index.js +20 -0
- package/node_modules/tar/dist/esm/index.js.map +1 -0
- package/node_modules/tar/dist/esm/index.min.js +4 -0
- package/node_modules/tar/dist/esm/index.min.js.map +7 -0
- package/node_modules/tar/dist/esm/large-numbers.d.ts +3 -0
- package/node_modules/tar/dist/esm/large-numbers.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/large-numbers.js +94 -0
- package/node_modules/tar/dist/esm/large-numbers.js.map +1 -0
- package/node_modules/tar/dist/esm/list.d.ts +7 -0
- package/node_modules/tar/dist/esm/list.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/list.js +113 -0
- package/node_modules/tar/dist/esm/list.js.map +1 -0
- package/node_modules/tar/dist/esm/make-command.d.ts +49 -0
- package/node_modules/tar/dist/esm/make-command.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/make-command.js +48 -0
- package/node_modules/tar/dist/esm/make-command.js.map +1 -0
- package/node_modules/tar/dist/esm/mkdir.d.ts +25 -0
- package/node_modules/tar/dist/esm/mkdir.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/mkdir.js +179 -0
- package/node_modules/tar/dist/esm/mkdir.js.map +1 -0
- package/node_modules/tar/dist/esm/mode-fix.d.ts +2 -0
- package/node_modules/tar/dist/esm/mode-fix.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/mode-fix.js +25 -0
- package/node_modules/tar/dist/esm/mode-fix.js.map +1 -0
- package/node_modules/tar/dist/esm/normalize-unicode.d.ts +2 -0
- package/node_modules/tar/dist/esm/normalize-unicode.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
- package/node_modules/tar/dist/esm/normalize-unicode.js.map +1 -0
- package/node_modules/tar/dist/esm/normalize-windows-path.d.ts +2 -0
- package/node_modules/tar/dist/esm/normalize-windows-path.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
- package/node_modules/tar/dist/esm/normalize-windows-path.js.map +1 -0
- package/node_modules/tar/dist/esm/options.d.ts +604 -0
- package/node_modules/tar/dist/esm/options.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/options.js +54 -0
- package/node_modules/tar/dist/esm/options.js.map +1 -0
- package/node_modules/tar/dist/esm/pack.d.ts +105 -0
- package/node_modules/tar/dist/esm/pack.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/pack.js +502 -0
- package/node_modules/tar/dist/esm/pack.js.map +1 -0
- package/node_modules/tar/dist/esm/package.json +3 -0
- package/node_modules/tar/dist/esm/parse.d.ts +92 -0
- package/node_modules/tar/dist/esm/parse.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/parse.js +651 -0
- package/node_modules/tar/dist/esm/parse.js.map +1 -0
- package/node_modules/tar/dist/esm/path-reservations.d.ts +11 -0
- package/node_modules/tar/dist/esm/path-reservations.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/path-reservations.js +166 -0
- package/node_modules/tar/dist/esm/path-reservations.js.map +1 -0
- package/node_modules/tar/dist/esm/pax.d.ts +26 -0
- package/node_modules/tar/dist/esm/pax.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/pax.js +178 -0
- package/node_modules/tar/dist/esm/pax.js.map +1 -0
- package/node_modules/tar/dist/esm/process-umask.d.ts +2 -0
- package/node_modules/tar/dist/esm/process-umask.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/process-umask.js +3 -0
- package/node_modules/tar/dist/esm/process-umask.js.map +1 -0
- package/node_modules/tar/dist/esm/read-entry.d.ts +36 -0
- package/node_modules/tar/dist/esm/read-entry.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/read-entry.js +132 -0
- package/node_modules/tar/dist/esm/read-entry.js.map +1 -0
- package/node_modules/tar/dist/esm/replace.d.ts +2 -0
- package/node_modules/tar/dist/esm/replace.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/replace.js +221 -0
- package/node_modules/tar/dist/esm/replace.js.map +1 -0
- package/node_modules/tar/dist/esm/strip-absolute-path.d.ts +2 -0
- package/node_modules/tar/dist/esm/strip-absolute-path.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
- package/node_modules/tar/dist/esm/strip-absolute-path.js.map +1 -0
- package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts +2 -0
- package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
- package/node_modules/tar/dist/esm/strip-trailing-slashes.js.map +1 -0
- package/node_modules/tar/dist/esm/symlink-error.d.ts +9 -0
- package/node_modules/tar/dist/esm/symlink-error.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/symlink-error.js +15 -0
- package/node_modules/tar/dist/esm/symlink-error.js.map +1 -0
- package/node_modules/tar/dist/esm/types.d.ts +16 -0
- package/node_modules/tar/dist/esm/types.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/types.js +65 -0
- package/node_modules/tar/dist/esm/types.js.map +1 -0
- package/node_modules/tar/dist/esm/unpack.d.ts +101 -0
- package/node_modules/tar/dist/esm/unpack.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/unpack.js +891 -0
- package/node_modules/tar/dist/esm/unpack.js.map +1 -0
- package/node_modules/tar/dist/esm/update.d.ts +2 -0
- package/node_modules/tar/dist/esm/update.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/update.js +30 -0
- package/node_modules/tar/dist/esm/update.js.map +1 -0
- package/node_modules/tar/dist/esm/warn-method.d.ts +24 -0
- package/node_modules/tar/dist/esm/warn-method.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/warn-method.js +27 -0
- package/node_modules/tar/dist/esm/warn-method.js.map +1 -0
- package/node_modules/tar/dist/esm/winchars.d.ts +3 -0
- package/node_modules/tar/dist/esm/winchars.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/winchars.js +9 -0
- package/node_modules/tar/dist/esm/winchars.js.map +1 -0
- package/node_modules/tar/dist/esm/write-entry.d.ts +129 -0
- package/node_modules/tar/dist/esm/write-entry.d.ts.map +1 -0
- package/node_modules/tar/dist/esm/write-entry.js +656 -0
- package/node_modules/tar/dist/esm/write-entry.js.map +1 -0
- package/node_modules/tar/package.json +298 -0
- package/node_modules/typescript/LICENSE.txt +55 -0
- package/node_modules/typescript/README.md +50 -0
- package/node_modules/typescript/SECURITY.md +41 -0
- package/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
- package/node_modules/typescript/bin/tsc +2 -0
- package/node_modules/typescript/bin/tsserver +2 -0
- package/node_modules/typescript/lib/_tsc.js +133818 -0
- package/node_modules/typescript/lib/_tsserver.js +659 -0
- package/node_modules/typescript/lib/_typingsInstaller.js +222 -0
- package/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/lib.d.ts +22 -0
- package/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
- package/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
- package/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
- package/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
- package/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
- package/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
- package/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
- package/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
- package/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
- package/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
- package/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
- package/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
- package/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
- package/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
- package/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
- package/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
- package/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
- package/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
- package/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
- package/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
- package/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
- package/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
- package/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
- package/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
- package/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
- package/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
- package/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
- package/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
- package/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
- package/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
- package/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
- package/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
- package/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
- package/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
- package/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
- package/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
- package/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
- package/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
- package/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
- package/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
- package/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
- package/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
- package/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
- package/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
- package/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
- package/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
- package/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
- package/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
- package/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
- package/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
- package/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
- package/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
- package/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
- package/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
- package/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
- package/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
- package/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
- package/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
- package/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
- package/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
- package/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
- package/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
- package/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
- package/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
- package/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
- package/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
- package/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
- package/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
- package/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
- package/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
- package/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
- package/node_modules/typescript/lib/lib.es6.d.ts +23 -0
- package/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
- package/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
- package/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
- package/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
- package/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
- package/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
- package/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
- package/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
- package/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
- package/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
- package/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
- package/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
- package/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
- package/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
- package/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
- package/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
- package/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
- package/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/tsc.js +8 -0
- package/node_modules/typescript/lib/tsserver.js +8 -0
- package/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
- package/node_modules/typescript/lib/tsserverlibrary.js +21 -0
- package/node_modules/typescript/lib/typesMap.json +497 -0
- package/node_modules/typescript/lib/typescript.d.ts +11437 -0
- package/node_modules/typescript/lib/typescript.js +200276 -0
- package/node_modules/typescript/lib/typingsInstaller.js +8 -0
- package/node_modules/typescript/lib/watchGuard.js +53 -0
- package/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
- package/node_modules/typescript/package.json +120 -0
- package/node_modules/yallist/LICENSE.md +63 -0
- package/node_modules/yallist/README.md +205 -0
- package/node_modules/yallist/dist/commonjs/index.d.ts +39 -0
- package/node_modules/yallist/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/yallist/dist/commonjs/index.js +384 -0
- package/node_modules/yallist/dist/commonjs/index.js.map +1 -0
- package/node_modules/yallist/dist/commonjs/package.json +3 -0
- package/node_modules/yallist/dist/esm/index.d.ts +39 -0
- package/node_modules/yallist/dist/esm/index.d.ts.map +1 -0
- package/node_modules/yallist/dist/esm/index.js +379 -0
- package/node_modules/yallist/dist/esm/index.js.map +1 -0
- package/node_modules/yallist/dist/esm/package.json +3 -0
- package/node_modules/yallist/package.json +68 -0
- package/node_modules/yauzl/LICENSE +21 -0
- package/node_modules/yauzl/README.md +1015 -0
- package/node_modules/yauzl/crc32.js +45 -0
- package/node_modules/yauzl/fd-slicer.js +188 -0
- package/node_modules/yauzl/index.js +1096 -0
- package/node_modules/yauzl/package.json +40 -0
- package/node_modules/yazl/LICENSE +21 -0
- package/node_modules/yazl/README.md +457 -0
- package/node_modules/yazl/index.js +826 -0
- package/node_modules/yazl/package.json +34 -0
- package/package.json +163 -0
- package/testkit-config-schema.md +718 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type UnknownRecord = Record<string, unknown>;
|
|
2
|
+
export interface DatabaseBindingEnvConfig {
|
|
3
|
+
prefix: string;
|
|
4
|
+
service: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PresetEnvConfig {
|
|
7
|
+
databases?: Record<string, DatabaseBindingEnvConfig>;
|
|
8
|
+
values?: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
interface NextPresetEnvOptions {
|
|
11
|
+
api?: string | {
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare function normalizePresetEnv(env: PresetEnvConfig | null | undefined): Record<string, string>;
|
|
16
|
+
export declare function normalizePresetEnv(env: unknown): UnknownRecord;
|
|
17
|
+
export declare function normalizeDatabaseEnvToken(value: unknown, label: string, sanitize?: boolean): string;
|
|
18
|
+
export declare function normalizeNextPresetEnv({ api }?: NextPresetEnvOptions): Record<string, string>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const i=String;export function normalizePresetEnv(e){if(!e)return{};if(!o(e))throw new Error("Preset env must be an object");const t=new Set(["values","databases"]),n=Object.keys(e).filter(a=>!t.has(a));if(n.length>0)throw new Error(`Preset env only supports "values" and "databases". Received unexpected key(s): ${n.join(", ")}`);const s=o(e.values)?e.values:{},r=o(e.databases)?e.databases:{};return{...c(r),...s}}export function normalizeDatabaseEnvToken(e,t,n=!0){const s=i(e||"").trim(),r=n?s.replace(/[^A-Za-z0-9]+/g,"_").replace(/^_+|_+$/g,""):s;if(!r)throw new Error(`${t} must be a non-empty string`);return r}export function normalizeNextPresetEnv({api:e}={}){const t={};if(e){const n=typeof e=="string"?e:e.baseUrl;n&&(t.NEXT_PUBLIC_API_URL=n)}return t}function c(e){const t={};for(const[n,s]of Object.entries(e)){if(!o(s))throw new Error(`env.databases.${n} must be an object`);const r=normalizeDatabaseEnvToken(s.prefix,`env.databases.${n}.prefix`),a=normalizeDatabaseEnvToken(s.service,`env.databases.${n}.service`,!1);t[`${r}_DATABASE_HOST`]=`{dbHost:${a}}`,t[`${r}_DATABASE_PORT`]=`{dbPort:${a}}`,t[`${r}_DATABASE_NAME`]=`{dbName:${a}}`,t[`${r}_DATABASE_USER`]=`{dbUser:${a}}`,t[`${r}_DATABASE_PASSWORD`]=`{dbPassword:${a}}`,t[`${r}_DATABASE_SSL`]=`{dbSsl:${a}}`}return t}function o(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { RuntimeEnv, RuntimeHeaders, RuntimeHttpClient, RuntimeOptions } from "./http-execution-contract.js";
|
|
2
|
+
export type HttpProfileEnvironment = Readonly<Record<string, string | undefined>>;
|
|
3
|
+
export interface HttpProfileEnv {
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
BASE?: string;
|
|
6
|
+
rawEnv?: HttpProfileEnvironment;
|
|
7
|
+
}
|
|
8
|
+
export type HttpProfileResolvedEnv = HttpProfileEnv & RuntimeEnv;
|
|
9
|
+
export interface HttpProfileHeaderContext {
|
|
10
|
+
actor?: string | null;
|
|
11
|
+
env?: HttpProfileEnv;
|
|
12
|
+
}
|
|
13
|
+
export type HttpProfileHeaderBuilder<TSetup = unknown> = (setupData: TSetup | null, context?: HttpProfileHeaderContext & {
|
|
14
|
+
env: HttpProfileResolvedEnv;
|
|
15
|
+
}) => RuntimeHeaders | undefined;
|
|
16
|
+
type HttpProfileRequestMethod = "del" | "get" | "patch" | "post" | "put";
|
|
17
|
+
/** Response shape the in-process profile setup client resolves to. */
|
|
18
|
+
export interface HttpProfileResponse {
|
|
19
|
+
body: string;
|
|
20
|
+
cookies?: Record<string, Array<{
|
|
21
|
+
value: string;
|
|
22
|
+
}> | undefined>;
|
|
23
|
+
headers?: Record<string, string>;
|
|
24
|
+
status: number;
|
|
25
|
+
}
|
|
26
|
+
/** HTTP verbs an execution engine hands to a profile's setup step. */
|
|
27
|
+
export type HttpProfileRequestClient<TResult = Promise<HttpProfileResponse>> = {
|
|
28
|
+
[Method in HttpProfileRequestMethod]: (...args: Parameters<RuntimeHttpClient[Method]>) => TResult;
|
|
29
|
+
};
|
|
30
|
+
export interface HttpProfileSetupContext {
|
|
31
|
+
env: HttpProfileResolvedEnv;
|
|
32
|
+
http: HttpProfileRequestClient;
|
|
33
|
+
json(response: unknown): unknown;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Explicit, test-owned authentication for a named HTTP profile. The execution
|
|
37
|
+
* engine runs `setup` (or `setupAsync` where it can await) once and passes the
|
|
38
|
+
* result to `headers` for every request.
|
|
39
|
+
*/
|
|
40
|
+
export interface HttpProfileAuth<TSetup = unknown> {
|
|
41
|
+
headers?: HttpProfileHeaderBuilder<TSetup>;
|
|
42
|
+
setup?(context: HttpProfileSetupContext): TSetup;
|
|
43
|
+
setupAsync?(context: HttpProfileSetupContext): Promise<TSetup>;
|
|
44
|
+
}
|
|
45
|
+
export interface HttpProfileConfig<TSetup = unknown> {
|
|
46
|
+
[key: string]: unknown;
|
|
47
|
+
auth?: HttpProfileAuth<TSetup> | null;
|
|
48
|
+
baseUrl?: string;
|
|
49
|
+
env?: HttpProfileEnv;
|
|
50
|
+
headers?: HttpProfileHeaderBuilder<TSetup>;
|
|
51
|
+
options?: RuntimeOptions;
|
|
52
|
+
rawHeaders?: HttpProfileHeaderBuilder<TSetup>;
|
|
53
|
+
}
|
|
54
|
+
export interface RepoConfig {
|
|
55
|
+
[key: string]: unknown;
|
|
56
|
+
profiles?: {
|
|
57
|
+
http?: Record<string, HttpProfileConfig>;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export declare function registerRepoConfig(config: RepoConfig | null | undefined): void;
|
|
61
|
+
export declare function getRepoConfig(): RepoConfig | null;
|
|
62
|
+
export declare function clearRepoConfig(): void;
|
|
63
|
+
export declare function resolveHttpProfile(name: string | null | undefined): HttpProfileConfig | null;
|
|
64
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let o=null;export function registerRepoConfig(n){o=n??null}export function getRepoConfig(){return o}export function clearRepoConfig(){o=null}export function resolveHttpProfile(n){if(!n)return null;const t=getRepoConfig();if(!t)return null;const r=t.profiles?.http?.[n];if(!r)throw new Error(`Unknown testkit HTTP profile "${n}"`);return r}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isUnknownRecord as e}from"../../kernel/unknown-values.js";import{attachErrorDiagnostics as t}from"../../kernel/error-serialization.js";export function minimumConfirmingRuns(o){let i=o;for(const r of["cloud","verification","minimumConfirmingRuns"]){if(!e(i))throw n();if(i=i[r],i===void 0)return 2}if(typeof i!="number"||!Number.isSafeInteger(i)||i<1||i>64)throw n();return i}function n(){return t(Object.assign(new Error("cloud.verification.minimumConfirmingRuns must be an integer from 1 through 64"),{code:"invalid_cloud_verification_config"}),{source:"local",field:"cloud.verification.minimumConfirmingRuns"})}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface LoadTestkitConfigOptions {
|
|
2
|
+
importCacheSalt?: string;
|
|
3
|
+
}
|
|
4
|
+
export interface LoadedTestkitConfig {
|
|
5
|
+
config: object;
|
|
6
|
+
configFile: null | string;
|
|
7
|
+
}
|
|
8
|
+
export declare function findConfigFile(productDir: string): null | string;
|
|
9
|
+
export declare function loadTestkitConfig(productDir: string, options?: Readonly<LoadTestkitConfigOptions>): Promise<LoadedTestkitConfig>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import m from"node:crypto";import o from"node:fs";import n from"node:path";import{fileURLToPath as d,pathToFileURL as p}from"node:url";import{buildWithEsbuildRetry as h}from"../../toolchains/esbuild.js";import{isObjectRecord as c}from"./values.js";const u=n.resolve(n.dirname(d(import.meta.url)),"..","..",".."),k=n.join(u,"dist","index.js"),j=n.join(u,"dist","config","authoring","index.js"),b=new Set(["/k6","/node-vitest/data","/node-vitest/contract","/playwright"]),y=["testkit.config.ts","testkit.config.mts","testkit.config.mjs","testkit.config.js"];export function findConfigFile(t){for(const e of y){const i=n.join(t,e);if(o.existsSync(i))return i}return null}export async function loadTestkitConfig(t,e={}){const i=findConfigFile(t);if(!i)return{config:{},configFile:null};const r=n.join(t,".testkit","_config");o.mkdirSync(r,{recursive:!0});const s=w(i),a=n.join(r,`config-${s.slice(0,12)}.mjs`);await h({absWorkingDir:t,bundle:!0,entryPoints:[i],format:"esm",legalComments:"none",outfile:a,platform:"node",sourcemap:"inline",target:"es2020",plugins:[C()]});const l=[s,e.importCacheSalt||""].filter(Boolean).join("-"),g=await import(`${p(a).href}?v=${l}`),f=S(g);if(!c(f))throw new Error(`testkit config file must export an object: ${n.basename(i)}`);return{config:f,configFile:i}}function w(t){const e=o.readFileSync(t,"utf8");return m.createHash("sha256").update(t).update("\0").update(e).digest("hex")}function C(){return{name:"testkit-config-alias",setup(t){t.onResolve({filter:/^@gfdelarue\/testkit(?:\/.*)?$/},e=>({namespace:"file",path:E(e.path)}))}}}function E(t){const e=t.slice(18);if(!e)return k;if(e==="/config")return j;throw b.has(e)?new Error(`testkit.config.ts may not import engine authoring module "${t}". Use repository config helpers from @gfdelarue/testkit/config instead.`):new Error(`Unsupported @gfdelarue/testkit import "${t}" while loading testkit config`)}function S(t){if(c(t))return t.default||t.config||{}}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface DatabaseMaterializationInput {
|
|
2
|
+
image?: string;
|
|
3
|
+
maxConnections?: number;
|
|
4
|
+
password?: string;
|
|
5
|
+
reservedConnections?: number;
|
|
6
|
+
runtimeConnections?: number;
|
|
7
|
+
user?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface MaterializedDatabaseDefaults {
|
|
10
|
+
image: string;
|
|
11
|
+
maxConnections: number;
|
|
12
|
+
password: string;
|
|
13
|
+
reservedConnections: number;
|
|
14
|
+
runtimeConnections: number;
|
|
15
|
+
user: string;
|
|
16
|
+
}
|
|
17
|
+
export type MaterializedDatabaseConfig<T extends object = DatabaseMaterializationInput> = Omit<T, keyof DatabaseMaterializationInput> & MaterializedDatabaseDefaults;
|
|
18
|
+
export declare function materializeDatabaseConfig<T extends object>(database: T & DatabaseMaterializationInput): MaterializedDatabaseConfig<T>;
|
|
19
|
+
export declare function materializeDatabaseConfig(database: null | undefined): undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const C="pgvector/pgvector:pg16",o="testkit",E="testkit",e=200,L=20,_=20;export function materializeDatabaseConfig(n){if(n)return{...n,image:n.image||C,user:n.user||o,password:n.password||E,maxConnections:n.maxConnections||200,reservedConnections:n.reservedConnections??20,runtimeConnections:n.runtimeConnections??20}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Buffer as f}from"node:buffer";export function normalizeDatabaseRoles(r,n,t){if(r===void 0)return[];const e=`Service "${n}" database.roles`;if(!Array.isArray(r))throw new Error(`${e} must be an array`);const m=new Set;return Array.from(r,(i,s)=>{const a=`${e}[${String(s)}]`,o=w(i,a);if(o.name===t)throw new Error(`${a}.name must not match the bootstrap user`);if(m.has(o.name))throw new Error(`${a}.name duplicates role ${JSON.stringify(o.name)}`);return m.add(o.name),o}).sort((i,s)=>i.name<s.name?-1:i.name>s.name?1:0)}function w(r,n){if(!r||typeof r!="object"||Array.isArray(r))throw new Error(`${n} must be an object`);for(const e of Reflect.ownKeys(r))if(e!=="name"&&e!=="login")throw new Error(`${n} has unsupported attribute ${String(e)}`);if(!Object.hasOwn(r,"login")||!("login"in r)||r.login!==!1)throw new Error(`${n}.login must be explicitly false`);if(!Object.hasOwn(r,"name")||!("name"in r)||typeof r.name!="string"||r.name.length===0)throw new Error(`${n}.name must be a non-empty string`);const t=r.name;if(t.includes("\0"))throw new Error(`${n}.name must not contain NUL`);if(f.from(t,"utf8").toString("utf8")!==t)throw new Error(`${n}.name must contain valid Unicode`);if(f.byteLength(t,"utf8")>63)throw new Error(`${n}.name must not exceed 63 UTF-8 bytes`);if(t==="public"||t==="none"||t.startsWith("pg_"))throw new Error(`${n}.name is reserved by PostgreSQL`);return{name:t,login:!1}}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type DatabaseBinding } from "./execution-model.js";
|
|
2
|
+
import type { DatabaseRoleConfig, PostgresDatabaseConfig } from "../authoring/index.js";
|
|
3
|
+
import { type NormalizedConfiguredStep } from "../../steps/configured-steps.js";
|
|
4
|
+
type FalsyDatabaseConfig = "" | 0 | false | null | undefined;
|
|
5
|
+
export type DatabaseConfigInput = PostgresDatabaseConfig;
|
|
6
|
+
export interface DatabaseServiceConfigInput {
|
|
7
|
+
readonly database?: unknown;
|
|
8
|
+
readonly databaseFrom?: unknown;
|
|
9
|
+
}
|
|
10
|
+
export interface NormalizedDatabaseTemplateConfig {
|
|
11
|
+
inputs: string[];
|
|
12
|
+
migrate: NormalizedConfiguredStep[];
|
|
13
|
+
seed: NormalizedConfiguredStep[];
|
|
14
|
+
verify: NormalizedConfiguredStep[];
|
|
15
|
+
}
|
|
16
|
+
export interface NormalizedSourceSchemaConfigBase {
|
|
17
|
+
refresh: NormalizedSourceSchemaRefresh;
|
|
18
|
+
unavailable: NormalizedSourceSchemaUnavailable;
|
|
19
|
+
verify: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface NormalizedAutomaticSourceSchemaConfig extends NormalizedSourceSchemaConfigBase {
|
|
22
|
+
kind: "auto";
|
|
23
|
+
}
|
|
24
|
+
export interface NormalizedEnvironmentSourceSchemaConfig extends NormalizedSourceSchemaConfigBase {
|
|
25
|
+
env: string;
|
|
26
|
+
kind: "env";
|
|
27
|
+
}
|
|
28
|
+
export type NormalizedSourceSchemaConfig = NormalizedAutomaticSourceSchemaConfig | NormalizedEnvironmentSourceSchemaConfig;
|
|
29
|
+
export type NormalizedSourceSchemaRefresh = {
|
|
30
|
+
mode: "always" | "auto";
|
|
31
|
+
} | {
|
|
32
|
+
mode: "ttl";
|
|
33
|
+
ttlSeconds: number;
|
|
34
|
+
};
|
|
35
|
+
export type NormalizedSourceSchemaUnavailable = "auto" | "fail" | "warn-cache";
|
|
36
|
+
export interface NormalizedDatabaseFields {
|
|
37
|
+
binding: DatabaseBinding;
|
|
38
|
+
maxConnections: number | undefined;
|
|
39
|
+
reservedConnections: number | undefined;
|
|
40
|
+
reset: boolean;
|
|
41
|
+
roles: DatabaseRoleConfig[];
|
|
42
|
+
runtimeConnections: number | undefined;
|
|
43
|
+
serviceName: string;
|
|
44
|
+
sourceSchema: NormalizedSourceSchemaConfig | null;
|
|
45
|
+
template: NormalizedDatabaseTemplateConfig;
|
|
46
|
+
}
|
|
47
|
+
export type NormalizedDatabaseConfig<Input extends object = DatabaseConfigInput> = Omit<Input, keyof NormalizedDatabaseFields> & NormalizedDatabaseFields;
|
|
48
|
+
export type LooselyNormalizedDatabaseConfig = NormalizedDatabaseFields & Record<PropertyKey, unknown>;
|
|
49
|
+
type CompatibleDatabaseConfigInput<Input extends object> = Input & Pick<DatabaseConfigInput, Extract<keyof DatabaseConfigInput, keyof Input>>;
|
|
50
|
+
export declare function normalizeDatabaseConfig<Input extends object>(explicitService: Readonly<DatabaseServiceConfigInput & {
|
|
51
|
+
database?: CompatibleDatabaseConfigInput<Input> | FalsyDatabaseConfig;
|
|
52
|
+
}>, serviceName: string): NormalizedDatabaseConfig<Input> | undefined;
|
|
53
|
+
export declare function normalizeDatabaseConfig(explicitService: Readonly<DatabaseServiceConfigInput>, serviceName: string): LooselyNormalizedDatabaseConfig | undefined;
|
|
54
|
+
export declare function normalizeDatabaseTemplateConfig(value: unknown, serviceName: string): NormalizedDatabaseTemplateConfig;
|
|
55
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{normalizeDatabaseBinding as u}from"./decode-execution.js";import{normalizeDatabaseRoles as m}from"./database-roles.js";import{materializeDatabaseConfig as b}from"./database-materialization.js";import"./execution-model.js";import{normalizeConfiguredInputs as d,normalizeConfiguredSteps as i}from"../../steps/configured-steps.js";export function normalizeDatabaseConfig(e,r){if(s(e.databaseFrom))return;const t=e.database;if(!s(t))return;const o=n(t,"user"),a=b({user:typeof o=="string"?o:void 0}).user;return{...g(t),binding:u(f(n(t,"binding"),"per-runtime"),`Service "${r}" database.binding`),maxConnections:c(n(t,"maxConnections"),`Service "${r}" database.maxConnections`),reservedConnections:p(n(t,"reservedConnections"),`Service "${r}" database.reservedConnections`),runtimeConnections:c(n(t,"runtimeConnections"),`Service "${r}" database.runtimeConnections`),reset:n(t,"reset")!==!1,roles:m(n(t,"roles"),r,a),sourceSchema:l(n(t,"sourceSchema"),r),template:normalizeDatabaseTemplateConfig(n(t,"template"),r),serviceName:r}}function c(e,r){if(e==null)return;const t=Number(e);if(!Number.isInteger(t)||t<=0)throw new Error(`${r} must be a positive integer`);return t}function p(e,r){if(e==null)return;const t=Number(e);if(!Number.isInteger(t)||t<0)throw new Error(`${r} must be a non-negative integer`);return t}export function normalizeDatabaseTemplateConfig(e,r){if(e==null)return{inputs:[],migrate:[],seed:[],verify:[]};if(typeof e!="object")throw new Error(`Service "${r}" database.template must be an object`);if(Object.prototype.hasOwnProperty.call(e,"schema"))throw new Error(`Service "${r}" database.template.schema has been removed. Configure database.sourceSchema instead.`);return{inputs:d(n(e,"inputs"),`Service "${r}" database.template`),migrate:i(n(e,"migrate"),`Service "${r}" database.template.migrate`),seed:i(n(e,"seed"),`Service "${r}" database.template.seed`),verify:i(n(e,"verify"),`Service "${r}" database.template.verify`)}}function l(e,r){if(e===!1||e===null)return null;if(e===void 0)return{kind:"auto",refresh:{mode:"auto"},unavailable:"auto",verify:!0};if(typeof e!="object"||Array.isArray(e))throw new Error(`Service "${r}" database.sourceSchema must be an object or false`);const t=f(n(e,"kind"),"env");if(t!=="env")throw new Error(`Service "${r}" database.sourceSchema.kind must be "env"`);if(Object.prototype.hasOwnProperty.call(e,"cachePath"))throw new Error(`Service "${r}" database.sourceSchema.cachePath has been removed. Testkit now manages commit-scoped source schema caches automatically.`);const o=n(e,"env");if(typeof o!="string"||o.trim().length===0)throw new Error(`Service "${r}" database.sourceSchema.env must be a non-empty string`);return{kind:t,env:o.trim(),refresh:h(n(e,"refresh"),r),unavailable:y(n(e,"unavailable"),r),verify:n(e,"verify")!==!1}}function h(e,r){if(e==null||e==="auto")return{mode:"auto"};if(e==="always")return{mode:"always"};if(typeof e=="object"&&!Array.isArray(e)){const t=n(e,"ttlSeconds");if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new Error(`Service "${r}" database.sourceSchema.refresh.ttlSeconds must be a non-negative integer`);return{mode:"ttl",ttlSeconds:t}}throw new Error(`Service "${r}" database.sourceSchema.refresh must be "auto", "always", or { ttlSeconds }`)}function y(e,r){if(e==null||e==="auto")return"auto";if(e==="fail"||e==="warn-cache")return e;throw new Error(`Service "${r}" database.sourceSchema.unavailable must be "auto", "fail", or "warn-cache"`)}function s(e){return!!e}function f(e,r){return s(e)?e:r}function n(e,r){if(!(e===null||typeof e!="object"&&typeof e!="function"))return Reflect.get(e,r)}function g(e){const r={};if(typeof e=="string"){for(let t=0;t<e.length;t+=1)Object.defineProperty(r,String(t),{configurable:!0,enumerable:!0,value:e[t],writable:!0});return r}if(e===null||typeof e!="object"&&typeof e!="function")return r;for(const t of Reflect.ownKeys(e))if(Object.getOwnPropertyDescriptor(e,t)?.enumerable){const a=Reflect.get(e,t);Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:a,writable:!0})}return r}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type NormalizedDiscoveryConfig } from "./path-policy.js";
|
|
2
|
+
export interface DiscoveryConfigNormalizationOptions {
|
|
3
|
+
allowRoots?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function normalizeDiscoveryConfig(value: unknown, { allowRoots }?: DiscoveryConfigNormalizationOptions): NormalizedDiscoveryConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import s from"node:path";import{normalizeDiscoveryPath as n}from"./path-policy.js";export function normalizeDiscoveryConfig(r,{allowRoots:t=!0}={}){if(r==null)return{};if(typeof r!="object"||Array.isArray(r))throw new Error("testkit discovery config must be an object");const e={};return t&&Object.prototype.hasOwnProperty.call(r,"roots")&&(e.roots=i(Reflect.get(r,"roots"),"testkit discovery roots")),Object.prototype.hasOwnProperty.call(r,"exclude")&&(e.exclude=i(Reflect.get(r,"exclude"),"testkit discovery exclude")),e}function i(r,t){if(!Array.isArray(r))throw new Error(`${t} must be an array of relative paths`);const e=r.map(o=>{if(typeof o!="string"||o.trim().length===0)throw new Error(`${t} entries must be non-empty strings`);if(s.isAbsolute(o))throw new Error(`${t} entries must be relative paths`);return n(o)}).filter(Boolean);return[...new Set(e)]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DatabaseBinding, ExecutionConfigInput, ResolveExecutionConfigInput, NormalizedExecutionConfig } from "./execution-model.js";
|
|
2
|
+
export declare function parseTaskConcurrencyOptions(taskConcurrency: unknown, workers?: unknown): number | null;
|
|
3
|
+
export declare function parseRuntimeInstancesOption(value: unknown, label?: string): number;
|
|
4
|
+
export declare function normalizeRuntimeInstances(value: unknown, label?: string): number;
|
|
5
|
+
export declare function parseRuntimeMaxConcurrentTasksOption(value: unknown, label?: string): number;
|
|
6
|
+
export declare function normalizeRuntimeMaxConcurrentTasks(value: unknown, label?: string): number;
|
|
7
|
+
export declare function normalizeDatabaseBinding(value: unknown, label?: string): DatabaseBinding;
|
|
8
|
+
export declare function resolveExecutionConfig({ cli, repo, }?: ResolveExecutionConfigInput): NormalizedExecutionConfig;
|
|
9
|
+
export declare function normalizeExecutionConfig(input?: ExecutionConfigInput): NormalizedExecutionConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{DEFAULT_FILE_TIMEOUT_SECONDS as c,normalizeFileTimeoutSeconds as a}from"../../domain/file-timeout.js";export function parseTaskConcurrencyOptions(e,n){return i(e,n,"--task-concurrency","--workers")??null}export function parseRuntimeInstancesOption(e,n="runtime.instances"){return d(e,n)}export function normalizeRuntimeInstances(e,n="runtime.instances"){return s(e,n)}export function parseRuntimeMaxConcurrentTasksOption(e,n="runtime.maxConcurrentTasks"){return d(e,n)}export function normalizeRuntimeMaxConcurrentTasks(e,n="runtime.maxConcurrentTasks"){return e==null?Number.POSITIVE_INFINITY:s(e,n)}export function normalizeDatabaseBinding(e,n="database.binding"){const r=String(e).trim();if(r!=="shared"&&r!=="per-runtime")throw new Error(`Invalid ${n} value "${String(e)}". Expected one of: shared, per-runtime.`);return r}export function resolveExecutionConfig({cli:e={},repo:n={}}={}){const r=i(n.taskConcurrency,n.workers);return{taskConcurrency:i(e.taskConcurrency,e.workers,"--task-concurrency","--workers")??r??1,fileTimeoutSeconds:a(e.fileTimeoutSeconds??n.fileTimeoutSeconds??c)}}export function normalizeExecutionConfig(e={}){const n=new Set(["workers","taskConcurrency","fileTimeoutSeconds"]),r=Object.keys(e).filter(t=>!n.has(t));if(r.length>0)throw new Error(`execution received unexpected key(s): ${r.join(", ")}`);return{taskConcurrency:i(e.taskConcurrency,e.workers)??1,fileTimeoutSeconds:a(e.fileTimeoutSeconds??c)}}function i(e,n,r="execution.taskConcurrency",o="execution.workers"){const t=e==null?void 0:s(e,r),u=n==null?void 0:s(n,o);if(t!==void 0&&u!==void 0&&t!==u)throw new Error(`${r} and ${o} must match when both are provided.`);return t??u}function d(e,n){const r=Number.parseInt(String(e),10);if(!Number.isInteger(r)||r<=0)throw new Error(`Invalid ${n} value "${String(e)}". Expected a positive integer.`);return r}function s(e,n){const r=Number(e);if(!Number.isInteger(r)||r<=0)throw new Error(`${n} must be a positive integer.`);return r}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface RuntimeDependencyConfig {
|
|
2
|
+
name: string;
|
|
3
|
+
testkit: {
|
|
4
|
+
dependsOn?: readonly string[];
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export declare function resolveRuntimeConfigs<Config extends RuntimeDependencyConfig>(targetConfig: Config, configMap: ReadonlyMap<string, Config>): Config[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function resolveRuntimeConfigs(o,m){const t=[],n=new Set,r=new Set,s=e=>{if(!r.has(e.name)){if(n.has(e.name))throw new Error(`Dependency cycle detected involving "${e.name}"`);n.add(e.name);for(const d of e.testkit.dependsOn||[]){const a=m.get(d);if(!a)throw new Error(`Service "${e.name}" depends on unknown service "${d}"`);s(a)}n.delete(e.name),r.add(e.name),t.push(e)}};return s(o),t}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { EngineId, RunnerProfileId } from "../../domain/identifiers.js";
|
|
2
|
+
import { type RunType } from "../../domain/test-types.js";
|
|
3
|
+
import { type PublicTestType } from "../../domain/identifiers.js";
|
|
4
|
+
import { type RuntimeIsolationPolicy as ConfigRuntimeIsolationPolicy } from "./runtime-isolation.js";
|
|
5
|
+
import { resolveEngineProfile } from "../../engines/catalog.js";
|
|
6
|
+
import { type DiscoverySummary } from "./discovery-summary.js";
|
|
7
|
+
declare const DISCOVERY_SCHEMA_VERSION: 9;
|
|
8
|
+
export type DiscoveryTestType = PublicTestType;
|
|
9
|
+
export type RuntimeIsolationPolicy = ConfigRuntimeIsolationPolicy;
|
|
10
|
+
export type { DiscoverySummary } from "./discovery-summary.js";
|
|
11
|
+
export interface DiscoveryDiagnostic {
|
|
12
|
+
code: string;
|
|
13
|
+
message: string;
|
|
14
|
+
path?: string;
|
|
15
|
+
serviceNames?: string[];
|
|
16
|
+
severity: "error" | "warning";
|
|
17
|
+
}
|
|
18
|
+
export interface DiscoveryService {
|
|
19
|
+
activeFileCount: number;
|
|
20
|
+
dependsOn: string[];
|
|
21
|
+
discovered: boolean;
|
|
22
|
+
fileCount: number;
|
|
23
|
+
localCwd: string;
|
|
24
|
+
name: string;
|
|
25
|
+
skippedFileCount: number;
|
|
26
|
+
suiteCount: number;
|
|
27
|
+
}
|
|
28
|
+
export interface DiscoveryTestContract {
|
|
29
|
+
authoringApi?: string;
|
|
30
|
+
executionHost: ReturnType<typeof resolveEngineProfile>["capabilities"]["executionHost"];
|
|
31
|
+
summary?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface DiscoverySuite {
|
|
34
|
+
activeFileCount: number;
|
|
35
|
+
contract: DiscoveryTestContract;
|
|
36
|
+
dependsOn: string[];
|
|
37
|
+
displayName: string;
|
|
38
|
+
engineId: EngineId;
|
|
39
|
+
fileCount: number;
|
|
40
|
+
filePaths: string[];
|
|
41
|
+
groupLabel: string;
|
|
42
|
+
id: string;
|
|
43
|
+
locks: string[];
|
|
44
|
+
name: string;
|
|
45
|
+
profileId: RunnerProfileId;
|
|
46
|
+
service: string;
|
|
47
|
+
skippedFileCount: number;
|
|
48
|
+
testType: DiscoveryTestType;
|
|
49
|
+
}
|
|
50
|
+
export interface DiscoveryFile {
|
|
51
|
+
contract: DiscoveryTestContract;
|
|
52
|
+
dependsOn: string[];
|
|
53
|
+
displayName: string;
|
|
54
|
+
engineId: EngineId;
|
|
55
|
+
groupLabel: string;
|
|
56
|
+
id: string;
|
|
57
|
+
locks: string[];
|
|
58
|
+
path: string;
|
|
59
|
+
profileId: RunnerProfileId;
|
|
60
|
+
runtimeIsolation: RuntimeIsolationPolicy;
|
|
61
|
+
service: string;
|
|
62
|
+
skipped: boolean;
|
|
63
|
+
skipReason: null | string;
|
|
64
|
+
suiteName: string;
|
|
65
|
+
testType: DiscoveryTestType;
|
|
66
|
+
}
|
|
67
|
+
export interface DiscoveryResult {
|
|
68
|
+
configFile: null | string;
|
|
69
|
+
diagnostics: DiscoveryDiagnostic[];
|
|
70
|
+
files: DiscoveryFile[];
|
|
71
|
+
filters: {
|
|
72
|
+
diagnostics: "error" | "report";
|
|
73
|
+
fileNames: string[];
|
|
74
|
+
runnableOnly: boolean;
|
|
75
|
+
service: null | string;
|
|
76
|
+
suiteSelectors: string[];
|
|
77
|
+
types: RunType[];
|
|
78
|
+
};
|
|
79
|
+
product: {
|
|
80
|
+
directory: string;
|
|
81
|
+
name: string;
|
|
82
|
+
};
|
|
83
|
+
schemaVersion: typeof DISCOVERY_SCHEMA_VERSION;
|
|
84
|
+
services: DiscoveryService[];
|
|
85
|
+
source: "testkit-discovery";
|
|
86
|
+
suites: DiscoverySuite[];
|
|
87
|
+
summary: DiscoverySummary;
|
|
88
|
+
}
|
|
89
|
+
export interface DiscoverTestsOptions {
|
|
90
|
+
diagnostics?: "error" | "report";
|
|
91
|
+
dir?: null | string;
|
|
92
|
+
file?: null | string | readonly string[];
|
|
93
|
+
runnableOnly?: boolean;
|
|
94
|
+
service?: null | string;
|
|
95
|
+
suite?: null | string | readonly string[];
|
|
96
|
+
type?: null | string | readonly string[];
|
|
97
|
+
}
|
|
98
|
+
export declare function discoverTests(options?: Readonly<DiscoverTestsOptions>): Promise<DiscoveryResult>;
|
|
99
|
+
export declare function formatDisplayName(value: unknown): string;
|
|
100
|
+
export declare function testTypeContract(testType: DiscoveryTestType, engineId: EngineId, profileId: RunnerProfileId): DiscoveryTestContract;
|
|
101
|
+
export declare function fileDisplayName(filePath: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import g from"path";import{loadConfigContext as M,resolveProductDir as z}from"./load.js";import{discoverProject as A}from"./discovery.js";import{loadTestkitConfig as B}from"./config-loader.js";import{TEST_TYPE_ORDER as H,isRunType as L}from"../../domain/test-types.js";import"../../domain/identifiers.js";import{DEFAULT_RUNTIME_ISOLATION_POLICY as V,resolveRuntimeIsolationPolicy as _}from"./runtime-isolation.js";import{resolveEngineProfile as q}from"../../engines/catalog.js";import{readTestFileMetadata as U}from"./file-metadata.js";import{normalizeDiscoveryConfig as G}from"./decode-discovery.js";import"./path-policy.js";import{buildDiscoverySummary as Y,emptyDiscoverySummary as K}from"./discovery-summary.js";import{matchesSelectedTypes as J,matchesSuiteSelectors as k,normalizeTypeValues as Q,parseSuiteSelectors as W}from"../../domain/suite-selection.js";import{errorMessage as P}from"../../kernel/error-serialization.js";import{isObjectRecord as R,readObjectRecord as I,readProperty as f}from"./values.js";const X=9,h=String;export async function discoverTests(e={}){const t=z(process.cwd(),e.dir),i=se(e),o=await Z(t,i.diagnosticsMode),s={schemaVersion:X,source:"testkit-discovery",product:{name:g.basename(t),directory:t},configFile:o.configFile?g.relative(t,o.configFile)||g.basename(o.configFile):null,filters:{service:i.serviceFilter,types:i.typeValues,suiteSelectors:i.suiteSelectors.map(p=>p.raw),fileNames:i.fileNames,runnableOnly:i.runnableOnly,diagnostics:i.diagnosticsMode},services:[],suites:[],files:[],diagnostics:[...o.diagnostics],summary:K()};if(!o.config)return x(s);const r=ae(o.config),u=le(r.services),a=A(t,u,{strict:i.diagnosticsMode==="error",discovery:r.discovery}),m={project:a,fileMetadataByPath:new Map};s.diagnostics.push(...a.diagnostics),re(i.serviceFilter,r.services,a);let y=null;try{y=await M({dir:t,preparedDiscovery:m,configContext:{config:o.config,configFile:o.configFile},discoveryOptions:{strict:i.diagnosticsMode==="error"}})}catch(p){if(i.diagnosticsMode==="error")throw p;s.diagnostics.push({code:"config_invalid",severity:"error",message:P(p)})}const C=ie({productDir:t,rawDiscovery:a,explicitServices:r.services,configs:y?.configs??[],fileMetadataByPath:m.fileMetadataByPath,filters:i});return x({...s,...C})}export function formatDisplayName(e){return h(e||"").split(/[-_/]+/g).filter(Boolean).map(t=>t.replace(/^\w/,i=>i.toUpperCase())).join(" ")}export function testTypeContract(e,t,i){const o=q(e,t);if(o.id!==i)throw new Error(`Discovery profile mismatch for ${e}: metadata resolved ${i}, catalog resolved ${o.id}`);return e==="data"?{authoringApi:"@gfdelarue/testkit/node-vitest/data",executionHost:o.capabilities.executionHost,summary:"Data suites use the node-vitest engine and record Testkit data evidence; they are not raw Vitest or service-namespace tests."}:e==="contract"?{authoringApi:"@gfdelarue/testkit/node-vitest/contract",executionHost:o.capabilities.executionHost,summary:"Contract suites use the node-vitest engine for Node-backed service/runtime contracts without data-flow evidence requirements."}:t==="k6"?{authoringApi:"@gfdelarue/testkit/k6",executionHost:o.capabilities.executionHost}:t==="playwright"?{authoringApi:"@gfdelarue/testkit/playwright",executionHost:o.capabilities.executionHost}:{executionHost:o.capabilities.executionHost}}async function Z(e,t){try{const i=await B(e),{config:o,configFile:s}=ee(i);return{config:o,configFile:s,diagnostics:[]}}catch(i){if(t==="error")throw i;return{config:null,configFile:null,diagnostics:[{code:"config_invalid",severity:"error",message:P(i)}]}}}function ee(e){if(!R(e))throw new Error("testkit config loader must return an object");const t=f(e,"config"),i=f(e,"configFile");if(!R(t)){const o=typeof i=="string"?g.basename(i):"testkit config file";throw new Error(`testkit config file must export an object: ${o}`)}if(i!==null&&typeof i!="string")throw new Error("testkit config loader returned an invalid config path");return{config:t,configFile:i}}function ie({configs:e,fileMetadataByPath:t,productDir:i,rawDiscovery:o,explicitServices:s,filters:r}){const u=new Map(e.map(n=>[n.name,n])),a=new Map,m=new Map,y=[],C=new Set([...Object.keys(s),...Object.keys(o.services),...u.keys()]);for(const n of C){if(r.serviceFilter&&n!==r.serviceFilter)continue;const c=u.get(n),d=o.services[n],l=s[n];a.set(n,{name:n,discovered:c!==void 0||!!d,localCwd:c?c.testkit.local?.cwd||".":l?.localCwd||d?.inferredLocalCwd||".",dependsOn:[...c?.testkit.dependsOn??l?.dependsOn??[]],suiteCount:0,fileCount:0,activeFileCount:0,skippedFileCount:0})}for(const n of o.files){const c=n.testType;if(!J(c,r.typeValues)||!k(c,n.suiteName,r.suiteSelectors)||r.serviceFilter&&n.serviceName!==r.serviceFilter||r.fileNameSet.size>0&&!r.fileNameSet.has(n.filePath))continue;const d=t.get(n.filePath)??U(i,n.filePath);t.set(n.filePath,d);const l=u.get(n.serviceName),v=l?.suites[c]?.find($=>$.name===n.suiteName);if(l&&(!v||v.testType!==c||v.engineId!==d.engineId||v.profileId!==d.profileId))throw new Error(`Normalized suite ${n.serviceName}/${c}:${n.suiteName} conflicts with file ${n.filePath}`);const S=l&&(d.skipReason||l.testkit.skip?.fileReasonByPath.get(n.filePath)||de(l,c,n.suiteName))||null;if(r.runnableOnly&&S)continue;const T=l?[...new Set([...fe(l,c,n.suiteName),...l.testkit.requirements.fileLocksByPath.get(n.filePath)||[],...d.locks])].sort():[],j=a.get(n.serviceName)?.dependsOn||[],w=te({serviceName:n.serviceName,suiteName:n.suiteName,testType:c,filePath:n.filePath,engineId:d.engineId,profileId:d.profileId,skipReason:S,locks:T,runtimeIsolation:l&&v?_(l,v,n.filePath):V,dependsOn:j});y.push(w);const O=[n.serviceName,c,n.suiteName].join("|"),F=m.get(O);F?F.files.push(w):m.set(O,{serviceName:n.serviceName,testType:c,suiteName:n.suiteName,files:[w]})}const p=[...m.values()].map(n=>oe(n.serviceName,n.testType,n.suiteName,n.files,a.get(n.serviceName)?.dependsOn||[]));for(const n of p){const c=a.get(n.service)||{name:n.service,discovered:!0,localCwd:o.services[n.service]?.inferredLocalCwd||".",dependsOn:[...s[n.service]?.dependsOn||[]],suiteCount:0,fileCount:0,activeFileCount:0,skippedFileCount:0};c.suiteCount+=1,c.fileCount+=n.fileCount,c.activeFileCount+=n.activeFileCount,c.skippedFileCount+=n.skippedFileCount,a.set(n.service,c)}return{services:[...a.values()].sort((n,c)=>n.name.localeCompare(c.name)),suites:p.sort(ve),files:y.sort(ge)}}function te(e){const t=testTypeContract(e.testType,e.engineId,e.profileId);return{id:me(e.serviceName,e.testType,e.engineId,e.profileId,e.filePath),path:e.filePath,displayName:fileDisplayName(e.filePath),service:e.serviceName,suiteName:e.suiteName,groupLabel:formatDisplayName(e.suiteName),testType:e.testType,engineId:e.engineId,profileId:e.profileId,skipped:!!e.skipReason,skipReason:e.skipReason,locks:e.locks,runtimeIsolation:e.runtimeIsolation,dependsOn:[...e.dependsOn],contract:t}}function oe(e,t,i,o,s){const r=ne(e,t,i,o),u=o.filter(a=>a.skipped).length;return{id:pe(e,t,r.engineId,r.profileId,i),service:e,name:i,displayName:formatDisplayName(i),testType:t,engineId:r.engineId,profileId:r.profileId,groupLabel:formatDisplayName(i),fileCount:o.length,activeFileCount:o.length-u,skippedFileCount:u,dependsOn:[...s],locks:[...new Set(o.flatMap(a=>a.locks))].sort(),filePaths:o.map(a=>a.path),contract:r.contract}}function ne(e,t,i,o){const s=o[0];for(const r of o.slice(1))if(r.engineId!==s.engineId||r.profileId!==s.profileId)throw new Error(`Discovery suite ${e}/${t}:${i} mixes engine profiles ${s.engineId}/${s.profileId} and ${r.engineId}/${r.profileId}`);return{contract:s.contract,engineId:s.engineId,profileId:s.profileId}}function x(e){return{...e,diagnostics:e.diagnostics.sort(ye),summary:Y({diagnostics:e.diagnostics,files:e.files,serviceCount:e.services.length,suiteCount:e.suites.length})}}function re(e,t,i){if(!e)return;const o=new Set([...Object.keys(t),...Object.keys(i.services),...Object.keys(i.suitesByService)]);if(o.has(e))return;const s=[...o].sort((r,u)=>r.localeCompare(u)).join(", ");throw new Error(s.length>0?`Service "${e}" not found. Available: ${s}`:`Service "${e}" not found.`)}function se(e){const t=ce(Q(N(e.type))),i=W(N(e.suite)),o=N(e.file).map(b);return{typeValues:t,suiteSelectors:i,fileNames:o,fileNameSet:new Set(o),serviceFilter:e.service||null,runnableOnly:!!e.runnableOnly,diagnosticsMode:e.diagnostics==="error"?"error":"report"}}function ce(e){const t=[];for(const i of e){if(!L(i))throw new Error(`Discovery produced unsupported test type "${i}".`);t.push(i)}return t}function ae(e){const t=I(f(e,"services")),i={};for(const[o,s]of Object.entries(t)){const r=I(s),u=I(f(r,"local"));i[o]={dependsOn:ue(f(r,"dependsOn")),discovery:D(f(r,"discovery")),localCwd:b(f(u,"cwd")||"."),localDisabled:f(r,"local")===!1}}return{discovery:D(f(e,"discovery")),services:i}}function le(e){const t={};for(const[i,o]of Object.entries(e))o&&(t[i]={discovery:o.discovery,local:o.localDisabled?!1:{baseUrl:"",cwd:o.localCwd,env:{},start:""}});return t}function D(e){try{return G(e,{allowRoots:!0})}catch{return{}}}function ue(e){return Array.isArray(e)?e.filter(i=>typeof i=="string"):[]}function de(e,t,i){for(const o of e.testkit.skip?.suites||[])if(k(t,i,[o.selector]))return o.reason;return null}function fe(e,t,i){const o=new Set;for(const s of e.testkit.requirements.suites)if(k(t,i,[s.selector]))for(const r of s.locks)o.add(r);return[...o].sort()}function N(e){return Array.isArray(e)?e.filter(i=>i!=null).map(i=>h(i)):e==null||e===""?[]:[h(e)]}function b(e){return h(e).split(g.sep).join("/").replace(/^\.\/+/,"")}export function fileDisplayName(e){const t=new RegExp(`\\.(${H.join("|")})\\.testkit\\.ts$`),i=g.posix.basename(e).replace(t,"");return formatDisplayName(i)}function pe(e,t,i,o,s){return[e,t,i,o,s].join("|")}function me(e,t,i,o,s){return[e,t,i,o,b(s)].join("|")}function ve(e,t){return e.service.localeCompare(t.service)||e.testType.localeCompare(t.testType)||e.name.localeCompare(t.name)}function ge(e,t){return e.service.localeCompare(t.service)||e.testType.localeCompare(t.testType)||e.suiteName.localeCompare(t.suiteName)||e.path.localeCompare(t.path)}function ye(e,t){return E(e.severity)-E(t.severity)||e.code.localeCompare(t.code)||(e.path||"").localeCompare(t.path||"")}function E(e){return e==="error"?1:2}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface DiscoverySummary {
|
|
2
|
+
activeFiles: number;
|
|
3
|
+
byService: Record<string, number>;
|
|
4
|
+
byTestType: Record<string, number>;
|
|
5
|
+
diagnostics: {
|
|
6
|
+
errors: number;
|
|
7
|
+
warnings: number;
|
|
8
|
+
};
|
|
9
|
+
files: number;
|
|
10
|
+
services: number;
|
|
11
|
+
skippedFiles: number;
|
|
12
|
+
suites: number;
|
|
13
|
+
}
|
|
14
|
+
export interface DiscoverySummaryDiagnosticInput {
|
|
15
|
+
severity: "error" | "warning";
|
|
16
|
+
}
|
|
17
|
+
export interface DiscoverySummaryFileInput {
|
|
18
|
+
service: string;
|
|
19
|
+
skipped: boolean;
|
|
20
|
+
testType: string;
|
|
21
|
+
}
|
|
22
|
+
export interface BuildDiscoverySummaryInput {
|
|
23
|
+
diagnostics: readonly DiscoverySummaryDiagnosticInput[];
|
|
24
|
+
files: readonly DiscoverySummaryFileInput[];
|
|
25
|
+
serviceCount: number;
|
|
26
|
+
suiteCount: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function buildDiscoverySummary(input: Readonly<BuildDiscoverySummaryInput>): DiscoverySummary;
|
|
29
|
+
export declare function emptyDiscoverySummary(): DiscoverySummary;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function buildDiscoverySummary(s){const i={},r={};for(const e of s.files)i[e.service]=(i[e.service]||0)+1,r[e.testType]=(r[e.testType]||0)+1;return{activeFiles:s.files.filter(e=>!e.skipped).length,byService:i,byTestType:r,diagnostics:{errors:s.diagnostics.filter(e=>e.severity==="error").length,warnings:s.diagnostics.filter(e=>e.severity==="warning").length},files:s.files.length,services:s.serviceCount,skippedFiles:s.files.filter(e=>e.skipped).length,suites:s.suiteCount}}export function emptyDiscoverySummary(){return{activeFiles:0,byService:{},byTestType:{},diagnostics:{errors:0,warnings:0},files:0,services:0,skippedFiles:0,suites:0}}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { PublicTestType } from "../../domain/identifiers.js";
|
|
2
|
+
import type { ServiceConfig } from "../authoring/index.js";
|
|
3
|
+
export type DiscoveryServiceConfig = Pick<ServiceConfig, "discovery" | "local">;
|
|
4
|
+
export type DiscoveryServices = Readonly<Record<string, DiscoveryServiceConfig | null | undefined>>;
|
|
5
|
+
export interface DiscoveryOptions {
|
|
6
|
+
discovery?: unknown;
|
|
7
|
+
strict?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface DiscoveredService {
|
|
10
|
+
inferredLocalCwd: string;
|
|
11
|
+
name: string;
|
|
12
|
+
source: string;
|
|
13
|
+
}
|
|
14
|
+
export interface DiscoveredSuite {
|
|
15
|
+
files: string[];
|
|
16
|
+
name: string;
|
|
17
|
+
}
|
|
18
|
+
export type DiscoveredSuitesByService = Partial<Record<string, Partial<Record<PublicTestType, DiscoveredSuite[]>>>>;
|
|
19
|
+
export interface DiscoveredFile {
|
|
20
|
+
filePath: string;
|
|
21
|
+
serviceName: string;
|
|
22
|
+
suiteName: string;
|
|
23
|
+
suitePath: string[];
|
|
24
|
+
testType: PublicTestType;
|
|
25
|
+
}
|
|
26
|
+
interface DiscoveryDiagnosticBase {
|
|
27
|
+
message: string;
|
|
28
|
+
path: string;
|
|
29
|
+
severity: "error";
|
|
30
|
+
}
|
|
31
|
+
export interface LegacyDiscoveryDiagnostic extends DiscoveryDiagnosticBase {
|
|
32
|
+
code: "legacy_path";
|
|
33
|
+
}
|
|
34
|
+
export interface UnownedDiscoveryDiagnostic extends DiscoveryDiagnosticBase {
|
|
35
|
+
code: "unowned_test";
|
|
36
|
+
}
|
|
37
|
+
export interface AmbiguousDiscoveryDiagnostic extends DiscoveryDiagnosticBase {
|
|
38
|
+
code: "ambiguous_test";
|
|
39
|
+
serviceNames: string[];
|
|
40
|
+
}
|
|
41
|
+
export type DiscoveryDiagnostic = AmbiguousDiscoveryDiagnostic | LegacyDiscoveryDiagnostic | UnownedDiscoveryDiagnostic;
|
|
42
|
+
export interface DiscoveryProject {
|
|
43
|
+
diagnostics: DiscoveryDiagnostic[];
|
|
44
|
+
files: DiscoveredFile[];
|
|
45
|
+
services: Partial<Record<string, DiscoveredService>>;
|
|
46
|
+
suitesByService: DiscoveredSuitesByService;
|
|
47
|
+
}
|
|
48
|
+
export declare function discoverProject(productDir: string, explicitServices?: DiscoveryServices, options?: DiscoveryOptions): DiscoveryProject;
|
|
49
|
+
export declare function discoverSuites(productDir: string, explicitServices?: DiscoveryServices, options?: DiscoveryOptions): DiscoveredSuitesByService;
|
|
50
|
+
export declare function hasDiscoveryErrors(diagnostics?: readonly ({
|
|
51
|
+
severity?: unknown;
|
|
52
|
+
} | null | undefined)[]): boolean;
|
|
53
|
+
export declare function buildDiscoveryErrorFromDiagnostics(diagnostics?: readonly DiscoveryDiagnostic[]): Error;
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import R from"fs";import h from"path";import{DEFAULT_DISCOVERY_EXCLUDES as k,normalizeDiscoveryPath as L,resolveDiscoveryRoots as K,shouldExcludeDiscoveryPath as F}from"./path-policy.js";import{normalizeDiscoveryConfig as D}from"./decode-discovery.js";const C=String,E="__testkit__",z=[{suffix:".int.testkit.ts",testType:"int"},{suffix:".e2e.testkit.ts",testType:"e2e"},{suffix:".contract.testkit.ts",testType:"contract"},{suffix:".data.testkit.ts",testType:"data"},{suffix:".dal.testkit.ts",testType:"dal"},{suffix:".load.testkit.ts",testType:"load"},{suffix:".ui.testkit.ts",testType:"ui"}];export function discoverProject(t,e={},n={}){const r=n.strict!==!1,o=D(n.discovery,{allowRoots:!0}),{suiteFiles:s,legacyFiles:a}=O(t,o),i={},p={},u=Y(a),g=[];for(const c of s){const l=N(c);if(!l)continue;const f=A(c,e,o);if(f===null)continue;if(f.length===0){u.push({code:"unowned_test",severity:"error",message:`Unowned test file: ${c}`,path:c});continue}if(f.length>1){u.push({code:"ambiguous_test",severity:"error",message:`Ambiguous test file: ${c} -> ${f.map(v=>v.name).sort((v,m)=>v.localeCompare(m)).join(", ")}`,path:c,serviceNames:f.map(v=>v.name).sort((v,m)=>v.localeCompare(m))});continue}const d=f[0];p[d.name]=W(p[d.name],d);const y=V(d,c),w=q(y,l.suffix);g.push({serviceName:d.name,testType:l.testType,filePath:c,suitePath:w.suitePath})}if(r&&hasDiscoveryErrors(u))throw buildDiscoveryErrorFromDiagnostics(u);for(const c of g){const l=i[c.serviceName]||{},f=l[c.testType]||[],d=c.suitePath.join("/");let y=f.find(w=>w._suiteKey===d);y||(y={files:[],_suiteKey:d,_suitePath:c.suitePath},f.push(y),l[c.testType]=f,i[c.serviceName]=l),y.files.push(c.filePath)}const _=[],T={};for(const[c,l]of Object.entries(i)){if(!l)continue;const f={};for(const[d,y]of Object.entries(l)){if(!y)continue;const w=B(y),v=[];for(const m of y){const P=M(w,m._suiteKey);m.files.sort((S,$)=>S.localeCompare($));for(const S of m.files)_.push({serviceName:c,testType:d,suiteName:P,suitePath:[...m._suitePath],filePath:S});v.push({name:P,files:m.files})}f[d]=v.sort((m,P)=>m.name.localeCompare(P.name))}T[c]=f}return{services:p,suitesByService:T,files:_.sort((c,l)=>c.serviceName.localeCompare(l.serviceName)||c.testType.localeCompare(l.testType)||c.suiteName.localeCompare(l.suiteName)||c.filePath.localeCompare(l.filePath)),diagnostics:u}}export function discoverSuites(t,e={},n={}){return discoverProject(t,e,n).suitesByService}export function hasDiscoveryErrors(t=[]){return t.some(e=>e?.severity==="error")}export function buildDiscoveryErrorFromDiagnostics(t=[]){const e=["Filesystem discovery failed for one or more .testkit.ts files."],n=t.filter(s=>s.code==="legacy_path").map(s=>s.path),r=t.filter(s=>s.code==="unowned_test").map(s=>s.path),o=t.filter(s=>s.code==="ambiguous_test");if(n.length>0){e.push(""),e.push("Legacy test files outside __testkit__:");for(const s of n)e.push(`- ${s}`)}if(r.length>0){e.push(""),e.push("Unowned test files:");for(const s of r)e.push(`- ${s}`)}if(o.length>0){e.push(""),e.push("Ambiguous test files:");for(const s of o)e.push(`- ${s.path} -> ${s.serviceNames.join(", ")}`)}return e.push(""),e.push('Expected test files to live under a "__testkit__" directory within a service root.'),new Error(e.join(`
|
|
2
|
+
`))}function O(t,e={}){const n=[],r=[],o=[...new Set([...k,...(e.exclude||[]).map(x)])],s=K(t,e.roots,".");for(;s.length>0;){const a=s.pop();if(a!==void 0)for(const i of R.readdirSync(a,{withFileTypes:!0})){const p=h.join(a,i.name);if(i.isSymbolicLink())continue;if(i.isDirectory()){const g=L(h.relative(t,p));if(F(g,o))continue;s.push(p);continue}if(!i.isFile())continue;const u=x(h.relative(t,p));N(u)&&(u.split("/").includes(E)?n.push(u):r.push(u))}}return{suiteFiles:n.sort((a,i)=>a.localeCompare(i)),legacyFiles:r.sort((a,i)=>a.localeCompare(i))}}function A(t,e,n={}){const r=Object.entries(e).flatMap(([i,p])=>I(i,p,n));if(r.length===0)return[{name:"app",source:"implicit-root",cwdPrefix:"."}];const o=r.filter(i=>i.depth===0||i.matchPrefix&&b(t,i.matchPrefix)),s=o.filter(i=>U(i,t));if(s.length===0)return o.length>0&&o.every(i=>j(i,t))?null:[];const a=Math.max(...s.map(i=>i.depth));return s.filter(i=>i.depth===a)}function B(t){const e=new Map,n=new Map;for(const r of t){const o=r._suitePath;let s="";for(let a=1;a<=o.length;a+=1){s=o.slice(-a).join("-");const i=e.get(s);if(!i){e.set(s,r._suiteKey);break}if(i===r._suiteKey)break;s=""}s||(s=o.join("-")),n.set(r._suiteKey,s)}if(n.size!==t.length)for(const r of t)n.has(r._suiteKey)||n.set(r._suiteKey,r._suitePath.join("-"));if(new Set(n.values()).size!==t.length){const r=new Map;for(const o of t){const s=o._suitePath.join("-"),a=r.get(s)||0;r.set(s,a+1),n.set(o._suiteKey,a===0?s:`${s}-${C(a+1)}`)}}return n}function M(t,e){const n=t.get(e);if(n===void 0)throw new Error(`Discovery suite name was not resolved for "${e}"`);return n}function I(t,e,n={}){const r=e?.local,o=x(r&&r.cwd||"."),s=D(e?.discovery,{allowRoots:!0}),a=Array.isArray(s.roots)&&s.roots.length>0?s.roots:["."],i=(s.exclude||[]).map(u=>x(o==="."?u:h.posix.join(o,u))),p=[...new Set([...k,...(n.exclude||[]).map(x),...i])];return a.map(u=>{const g=x(u||"."),_=o==="."?g:g==="."?o:x(h.posix.join(o,g));return{name:t,source:"cwd",cwdPrefix:o==="."?null:o,matchPrefix:_==="."?null:_,depth:_==="."?0:_.split("/").filter(Boolean).length,exclude:p}})}function U(t,e){return j(t,e)?!1:!!(t.depth===0||t.matchPrefix&&b(e,t.matchPrefix))}function V(t,e){return t.matchPrefix&&b(e,t.matchPrefix)?h.posix.relative(t.matchPrefix,e):t.cwdPrefix&&b(e,t.cwdPrefix)?h.posix.relative(t.cwdPrefix,e):e}function j(t,e){return F(x(e),t.exclude)}function q(t,e){const n=t.split("/").filter(Boolean),r=n.indexOf(E);if(r===-1)return{suitePath:[h.posix.basename(t,e)]};const o=n.slice(0,r),s=n.slice(r+1);return s.length===0?{suitePath:[h.posix.basename(t,e)]}:s.length===1?o.length===0?{suitePath:[h.posix.basename(s[0],e)]}:{suitePath:o}:{suitePath:[...o,s[0]]}}function W(t,e){return t?{...t,inferredLocalCwd:t.inferredLocalCwd==="."?e.cwdPrefix||".":t.inferredLocalCwd}:{name:e.name,inferredLocalCwd:e.cwdPrefix||".",source:e.source}}function N(t){return z.find(e=>t.endsWith(e.suffix))||null}function b(t,e){return t===e||t.startsWith(`${e}/`)}function x(t){const e=C(t).split(h.sep).join("/");return e==="."||e==="./"?".":e.replace(/^\.\/+/,"").replace(/\/+$/,"")||"."}function Y(t){return t.map(e=>({code:"legacy_path",severity:"error",message:`Legacy test file outside __testkit__: ${e}`,path:e}))}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { parseDotenv } from "../../process/files/dotenv.js";
|
|
2
|
+
export { parseDotenv };
|
|
3
|
+
export declare function inferEnvFiles(productDir: string, explicitService: unknown, local: unknown): string[];
|
|
4
|
+
export declare function loadServiceEnv(productDir: string, envFiles: readonly string[]): Record<string, string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import h from"fs";import p from"path";import{parseDotenv as u}from"../../process/files/dotenv.js";import{resolveServiceCwd as l}from"./paths.js";export{u as parseDotenv};export function inferEnvFiles(n,r,e){const o=m(r,"service config"),d=m(e,"local config"),s=a(o?.envFile,"service.envFile"),f=v(o?.envFiles,"service.envFiles");if(s||f){const t=[];return s&&t.push(s),f&&t.push(...f),t}const i=[],c=a(d?.cwd,"service.local.cwd")??".";return c!=="."&&(i.push(p.posix.join(c,".env.testkit")),i.push(p.posix.join(c,".env"))),i.push(".env.testkit"),i.push(".env"),[...new Set(i)].map(t=>t.split(p.sep).join("/")).filter(t=>h.existsSync(l(n,t)))}export function loadServiceEnv(n,r){const e={};for(const o of r)Object.assign(e,u(l(n,o)));return e}function m(n,r){if(n!=null){if(!w(n))throw new Error(`${r} must be an object`);return n}}function a(n,r){if(n!=null){if(typeof n!="string"||n.trim().length===0)throw new Error(`${r} must be a non-empty string`);return n.trim()}}function v(n,r){if(n!=null){if(!g(n))throw new Error(`${r} must be an array of non-empty strings`);return n.map(e=>{if(typeof e!="string"||e.trim().length===0)throw new Error(`${r} must be an array of non-empty strings`);return e.trim()})}}function w(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function g(n){return Array.isArray(n)}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type DatabaseBinding = "per-runtime" | "shared";
|
|
2
|
+
export interface ExecutionConfigInput {
|
|
3
|
+
readonly [key: string]: unknown;
|
|
4
|
+
readonly fileTimeoutSeconds?: unknown;
|
|
5
|
+
readonly taskConcurrency?: unknown;
|
|
6
|
+
readonly workers?: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface ResolveExecutionConfigInput {
|
|
9
|
+
cli?: ExecutionConfigInput;
|
|
10
|
+
repo?: ExecutionConfigInput;
|
|
11
|
+
}
|
|
12
|
+
export interface NormalizedExecutionConfig {
|
|
13
|
+
fileTimeoutSeconds: number;
|
|
14
|
+
taskConcurrency: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const DATABASE_BINDINGS: Set<DatabaseBinding>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const DATABASE_BINDINGS=new Set(["shared","per-runtime"]);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { type EngineId, type RunnerProfileId } from "../../domain/identifiers.js";
|
|
3
|
+
import { type RuntimeIsolationPolicy } from "./runtime-isolation.js";
|
|
4
|
+
import { type EngineAuthoringProfile } from "../../engines/catalog.js";
|
|
5
|
+
export interface TestFileMetadata {
|
|
6
|
+
engineId: EngineId;
|
|
7
|
+
locks: string[];
|
|
8
|
+
profileId: RunnerProfileId;
|
|
9
|
+
runtimeIsolation: null | RuntimeIsolationPolicy;
|
|
10
|
+
skipReason: null | string;
|
|
11
|
+
}
|
|
12
|
+
export interface TestFileMetadataSuite {
|
|
13
|
+
files?: readonly string[];
|
|
14
|
+
}
|
|
15
|
+
export type TestFileMetadataSuitesByService = Readonly<Record<string, Readonly<Record<string, readonly TestFileMetadataSuite[] | undefined>> | undefined>>;
|
|
16
|
+
export declare function loadTestFileMetadataMap(productDir: string, suitesByService?: null | TestFileMetadataSuitesByService, metadataByPath?: Map<string, TestFileMetadata>): Map<string, TestFileMetadata>;
|
|
17
|
+
export declare function readTestFileMetadata(productDir: string, filePath: string): TestFileMetadata;
|
|
18
|
+
export declare function requireMatchingEngineAuthoringImports(sourceFile: ts.SourceFile, filePath: string, metadata: Readonly<EngineAuthoringProfile>): void;
|
|
19
|
+
export declare function collectModuleSpecifiers(sourceFile: ts.SourceFile): ReadonlySet<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isPathWithin as w}from"../../process/files/paths.js";import g from"fs";import S from"path";import i from"typescript";import{ENGINE_IDS as $,PUBLIC_TEST_TYPES as M,isEngineId as R}from"../../domain/identifiers.js";import{normalizeRuntimeIsolationPolicy as A}from"./runtime-isolation.js";import{resolveEngineProfile as O,expectedEngineAuthoringModule as j,invalidEngineAuthoringImport as B,requireMatchingHostImport as K}from"../../engines/catalog.js";const f="@gfdelarue/testkit",V="@gfdelarue/testkit-engine-";export function loadTestFileMetadataMap(e,t={},r=new Map){for(const s of Object.values(t||{}))for(const n of Object.values(s||{}))for(const o of n||[])for(const a of o.files||[])r.has(a)||r.set(a,readTestFileMetadata(e,a));return r}export function readTestFileMetadata(e,t){const r=pe(e,t),s=fe(t),n=g.readFileSync(r,"utf8"),o=i.createSourceFile(r,n,i.ScriptTarget.Latest,!0,i.ScriptKind.TS),a=me(o);if(a.length>0){const p=a.map(m=>i.flattenDiagnosticMessageText(m.messageText," ")).join("; ");throw c(t,`TypeScript syntax is invalid: ${p}`)}let u=null,l=null;for(const p of o.statements)if(!(!i.isVariableStatement(p)||!H(p))){for(const m of p.declarationList.declarations)if(!(!i.isIdentifier(m.name)||m.name.text!=="testkit")){if(u)throw c(t,'exported "testkit" metadata must be declared exactly once');if(!X(p))throw c(t,'exported "testkit" metadata must be const');u=m,l=p}}if(!u||!l)throw c(t,'export const testkit = defineFile({ engine: "..." }) is required');Q(o,l,t);const y=_(u.initializer,t,s);return requireMatchingEngineAuthoringImports(o,t,y),y}function _(e,t,r){if(!e)throw c(t,'exported "testkit" metadata has no value');if(!i.isCallExpression(e))throw c(t,"testkit metadata must use defineFile({ ... })");if(J(e.expression)!=="defineFile")throw c(t,"testkit metadata must call defineFile");if(e.arguments.length!==1)throw c(t,"defineFile metadata must receive exactly one object literal");const s=e.arguments[0];if(!i.isObjectLiteralExpression(s))throw c(t,"defineFile metadata must receive an object literal");return W(s,t,r)}function W(e,t,r){const s={locks:[],runtimeIsolation:null,skipReason:null};let n=null;const o=new Set;for(const u of e.properties){if(i.isSpreadAssignment(u))throw c(t,"testkit metadata may not contain spread properties");if(!i.isPropertyAssignment(u))throw c(t,"testkit metadata properties must use key: value assignments");const l=L(u.name,t,"testkit metadata");if(!Y(l))throw c(t,`unknown metadata property "${l}"`);if(o.has(l))throw c(t,`duplicate metadata property "${l}"`);if(o.add(l),l==="engine"){n=I(u.initializer,t,'metadata property "engine"');continue}if(l==="locks"){s.locks=z(u.initializer,t);continue}if(l==="skip"){s.skipReason=G(u.initializer,t);continue}s.runtimeIsolation=U(u.initializer,t)}if(!n)throw c(t,'a literal "engine" property is required');if(!R(n))throw c(t,`unsupported engine "${n}"; expected one of: ${$.join(", ")}`);let a;try{a=O(r,n)}catch(u){throw c(t,C(u),u)}return{engineId:n,locks:s.locks,profileId:a.id,runtimeIsolation:s.runtimeIsolation,skipReason:s.skipReason}}function z(e,t){if(!i.isArrayLiteralExpression(e))throw c(t,'metadata property "locks" must be an array');const r=[];for(const s of e.elements){if(i.isSpreadElement(s)||i.isOmittedExpression(s))throw c(t,'metadata property "locks" must contain only string literals');r.push(h(s,t,'metadata property "locks" entry'))}return[...new Set(r)].sort()}function G(e,t){const r=x(e);if(r!==null)return b(r,t,'metadata property "skip"').trim();if(!i.isObjectLiteralExpression(e))throw c(t,'metadata property "skip" must be a string literal or { reason: string literal }');if(e.properties.length!==1)throw c(t,'metadata property "skip" object must contain exactly one reason property');const s=e.properties[0];if(!i.isPropertyAssignment(s))throw c(t,'metadata property "skip" reason must use a string-literal assignment');if(L(s.name,t,'metadata property "skip"')!=="reason")throw c(t,'metadata property "skip" object only accepts "reason"');return h(s.initializer,t,'metadata property "skip.reason"')}function U(e,t){const r=I(e,t,'metadata property "runtimeIsolation"');try{return A(r,"defineFile runtimeIsolation")}catch(s){throw c(t,C(s),s)}}function J(e){return i.isIdentifier(e)?e.text:null}function L(e,t,r){if(i.isIdentifier(e)||i.isStringLiteral(e))return e.text;throw c(t,`${r} property names must be plain identifiers or string literals`)}function x(e){return i.isStringLiteral(e)||i.isNoSubstitutionTemplateLiteral(e)?e.text:null}function I(e,t,r){const s=x(e);if(s===null)throw c(t,`${r} must be a string literal`);return b(s,t,r)}function h(e,t,r){return I(e,t,r).trim()}function b(e,t,r){if(e.trim().length===0)throw c(t,`${r} must not be empty`);return e}function H(e){return(e.modifiers||[]).some(t=>t.kind===i.SyntaxKind.ExportKeyword)}function X(e){return(e.declarationList.flags&i.NodeFlags.Const)!==0}function Y(e){return["engine","locks","runtimeIsolation","skip"].includes(e)}function Q(e,t,r){let s=null,n=0;for(const o of e.statements){if(i.isImportDeclaration(o)){const a=o.importClause;if(!a||a.phaseModifier===i.SyntaxKind.TypeKeyword)continue;a.name?.text==="defineFile"&&(n+=1);const u=a.namedBindings;if(u&&i.isNamespaceImport(u)){u.name.text==="defineFile"&&(n+=1);continue}if(!u||!i.isNamedImports(u))continue;for(const l of u.elements){if(l.isTypeOnly||l.name.text!=="defineFile")continue;if(n+=1,(l.propertyName?.text??l.name.text)==="defineFile"&&i.isStringLiteral(o.moduleSpecifier)&&o.moduleSpecifier.text===f){if(s)throw c(r,`defineFile must have exactly one named value import from "${f}"`);s=o}}continue}n+=le(o)}if(!s)throw c(r,`defineFile must be a named value import from "${f}"`);if(n!==1)throw c(r,"the imported defineFile binding may not be shadowed or redeclared");if(s.getStart(e)>t.getStart(e))throw c(r,"the defineFile import must precede metadata")}export function requireMatchingEngineAuthoringImports(e,t,r){Z(e,t,r);const s=j(r.profileId);for(const n of collectModuleSpecifiers(e))if(K(t,r,n),!(n===f||n===s||!n.startsWith(`${f}/`)&&!n.startsWith(V)))throw B(t,r,n,s)}function Z(e,t,r){const s=F(e),n=o=>{if(P(o,t,r),ee(o,s,t,r),i.isCallExpression(o)&&D(o,s)){const a=o.arguments.at(0);if(!a||!i.isStringLiteralLike(a)){const u=o.expression.kind===i.SyntaxKind.ImportKeyword?"import()":"require()";throw new Error(`Invalid Testkit authoring in "${t}": ${r.engineId}/${r.profileId} may not use non-literal ${u}; module specifiers must be string literals so engine boundaries can be verified`)}}for(const a of q(o))n(a);i.forEachChild(o,n)};n(e)}function D(e,t){return e.expression.kind===i.SyntaxKind.ImportKeyword||i.isIdentifier(e.expression)&&e.expression.text==="require"&&!E(e.expression,t)}function P(e,t,r){if(i.isImportDeclaration(e)){const n=e.importClause?.namedBindings;if(n&&i.isNamedImports(n)&&n.elements.find(a=>!a.isTypeOnly&&(a.propertyName?.text??a.name.text)==="createRequire"))throw d(t,r,"createRequire")}if(i.isPropertyAccessExpression(e)&&e.name.text==="createRequire"||i.isElementAccessExpression(e)&&x(e.argumentExpression)==="createRequire"||i.isBindingElement(e)&&(ne(e)==="createRequire"||i.isIdentifier(e.name)&&e.name.text==="createRequire"))throw d(t,r,"createRequire")}function ee(e,t,r,s){if(i.isPropertyAccessExpression(e)&&e.name.text==="require"&&T(e.expression,t)||i.isElementAccessExpression(e)&&x(e.argumentExpression)==="require"&&T(e.expression,t))throw d(r,s,e.getText());if(i.isIdentifier(e)&&e.text==="require"&&!E(e,t)&&!te(e)&&!ie(e))throw d(r,s,"global require")}function d(e,t,r){return new Error(`Invalid Testkit authoring in "${e}": ${t.engineId}/${t.profileId} may not alias or indirectly access the module loader through ${r}; use literal import and require specifiers so engine boundaries can be verified`)}function T(e,t){return i.isIdentifier(e)&&(e.text==="globalThis"||e.text==="module")&&!E(e,t)}function te(e){return i.isCallExpression(e.parent)&&e.parent.expression===e}function ie(e){const t=e.parent;return re(e)||i.isPropertyAccessExpression(t)&&t.name===e||i.isPropertyAssignment(t)&&t.name===e||i.isImportSpecifier(t)&&t.propertyName===e||i.isExportSpecifier(t)&&t.parent.parent.moduleSpecifier!==void 0}function re(e){const t=e.parent;return t.name===e&&!i.isShorthandPropertyAssignment(t)&&!i.isExportSpecifier(t)}function ne(e){const t=e.propertyName;return t&&(i.isIdentifier(t)||i.isStringLiteralLike(t))?t.text:null}function F(e){const t=new WeakMap,r=(n,o)=>{let a=t.get(n);a||(a=new Set,t.set(n,a)),N(a,o)},s=n=>{if(i.isImportDeclaration(n))se(n,e,r);else if(i.isImportEqualsDeclaration(n)&&!n.isTypeOnly)r(e,n.name);else if(i.isVariableDeclaration(n)){const o=n.parent,a=i.isVariableDeclarationList(o)&&(o.flags&i.NodeFlags.BlockScoped)===0?oe(n):k(n);r(a,n.name)}else i.isParameter(n)?r(ae(n),n.name):i.isFunctionDeclaration(n)&&n.name?r(k(n),n.name):i.isFunctionExpression(n)&&n.name?r(n,n.name):(i.isClassDeclaration(n)||i.isEnumDeclaration(n)||i.isModuleDeclaration(n))&&n.name&&i.isIdentifier(n.name)?r(k(n),n.name):i.isClassExpression(n)&&n.name?r(n,n.name):i.isCatchClause(n)&&n.variableDeclaration&&r(n,n.variableDeclaration.name);i.forEachChild(n,s)};return s(e),t}function se(e,t,r){const s=e.importClause;if(!s||s.phaseModifier===i.SyntaxKind.TypeKeyword)return;s.name&&r(t,s.name);const n=s.namedBindings;if(n&&i.isNamespaceImport(n))r(t,n.name);else if(n&&i.isNamedImports(n))for(const o of n.elements)o.isTypeOnly||r(t,o.name)}function N(e,t){if(i.isIdentifier(t)){e.add(t.text);return}for(const r of t.elements)i.isOmittedExpression(r)||N(e,r.name)}function E(e,t){let r=e;for(;;){if(t.get(r)?.has(e.text))return!0;if(i.isSourceFile(r))return!1;r=r.parent}}function k(e){let t=e.parent;for(;;){if(ce(t))return t;t=t.parent}}function oe(e){let t=e.parent;for(;;){if(i.isFunctionLike(t)||i.isSourceFile(t))return t;t=t.parent}}function ae(e){let t=e.parent;for(;;){if(i.isFunctionLike(t)||i.isSourceFile(t))return t;t=t.parent}}function ce(e){return i.isSourceFile(e)||i.isBlock(e)||i.isCaseBlock(e)||i.isCatchClause(e)||i.isForStatement(e)||i.isForInStatement(e)||i.isForOfStatement(e)||i.isFunctionLike(e)||i.isClassStaticBlockDeclaration(e)}export function collectModuleSpecifiers(e){const t=new Set,r=F(e),s=n=>{const o=ue(n,r);o&&t.add(o);for(const a of q(n))s(a);i.forEachChild(n,s)};return s(e),t}function q(e){return e.jsDoc??[]}function ue(e,t){if(i.isJSDocImportTag(e)&&i.isStringLiteralLike(e.moduleSpecifier)||(i.isImportDeclaration(e)||i.isExportDeclaration(e))&&e.moduleSpecifier&&i.isStringLiteralLike(e.moduleSpecifier))return e.moduleSpecifier.text;if(i.isImportEqualsDeclaration(e)&&i.isExternalModuleReference(e.moduleReference)&&i.isStringLiteralLike(e.moduleReference.expression))return e.moduleReference.expression.text;if(i.isImportTypeNode(e)){const s=e.argument;if(i.isLiteralTypeNode(s)&&i.isStringLiteralLike(s.literal))return s.literal.text}if(!i.isCallExpression(e)||!D(e,t))return null;const r=e.arguments[0];return i.isStringLiteralLike(r)?r.text:null}function le(e){return i.isVariableStatement(e)?e.declarationList.declarations.reduce((t,r)=>t+v(r.name,"defineFile"),0):(i.isClassDeclaration(e)||i.isEnumDeclaration(e)||i.isFunctionDeclaration(e))&&e.name?.text==="defineFile"?1:0}function v(e,t){return i.isIdentifier(e)?e.text===t?1:0:e.elements.reduce((r,s)=>i.isOmittedExpression(s)?r:r+v(s.name,t),0)}function pe(e,t){const r=S.resolve(e);if(S.isAbsolute(t))throw new Error(`Test file metadata path must be product-relative: ${t}`);const s=S.resolve(r,t);if(!w(r,s))throw new Error(`Test file metadata path escapes the product root: ${t}`);if(!g.existsSync(s))throw new Error(`Test file metadata source does not exist: ${t}`);const n=g.realpathSync(r),o=g.realpathSync(s);if(!w(n,o))throw new Error(`Test file metadata path resolves outside the product root: ${t}`);return o}function me(e){return e.parseDiagnostics??[]}function fe(e){const t=M.find(r=>e.endsWith(`.${r}.testkit.ts`));if(t)return t;throw new Error(`Cannot read Testkit file metadata from noncanonical path: ${e}`)}function c(e,t,r){return new Error(`Invalid testkit metadata in "${e}": ${t}.`,{cause:r})}function C(e){return e instanceof Error?e.message.replace(/\.$/u,""):String(e)}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { loadConfigContext, loadConfigs, parseDotenv, resolveProductDir, resolveServiceCwd, type LoadConfigContextOptions, type LoadConfigsOptions, type NormalizedConfigContext, type NormalizedLoadedDatabaseConfig, type NormalizedLocalServiceConfig, type NormalizedServiceConfig, type NormalizedServiceTestkitConfig, type NormalizedSuiteConfig, type ServiceSuites, } from "./load.js";
|
|
2
|
+
export { discoverTests, fileDisplayName, formatDisplayName, testTypeContract, type DiscoverTestsOptions, type DiscoveryDiagnostic, type DiscoveryFile, type DiscoveryResult, type DiscoveryService, type DiscoverySuite, type DiscoverySummary, type DiscoveryTestContract, type DiscoveryTestType, } from "./discover-tests.js";
|
|
3
|
+
export { findConfigFile, loadTestkitConfig } from "./config-loader.js";
|
|
4
|
+
export { materializeDatabaseConfig, type DatabaseMaterializationInput, type MaterializedDatabaseConfig, } from "./database-materialization.js";
|
|
5
|
+
export type { NormalizedDatabaseConfig, NormalizedDatabaseTemplateConfig, NormalizedSourceSchemaConfig, } from "./database.js";
|
|
6
|
+
export { detectNextApp, type NormalizedRuntimeConfig } from "./runtime.js";
|
|
7
|
+
export { DEFAULT_RUNTIME_ISOLATION_POLICY, resolveRuntimeIsolationPolicy, type RuntimeIsolationFileMetadata, type RuntimeIsolationPolicy, type RuntimeIsolationResolutionSuite, type RuntimeIsolationResolverConfig, type RuntimeIsolationResolverTestkitConfig, } from "./runtime-isolation.js";
|
|
8
|
+
export { collectModuleSpecifiers, requireMatchingEngineAuthoringImports, type TestFileMetadata, } from "./file-metadata.js";
|
|
9
|
+
export type { NormalizedSkipConfig } from "./skip-config.js";
|
|
10
|
+
export { minimumConfirmingRuns } from "./cloud.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{loadConfigContext,loadConfigs,parseDotenv,resolveProductDir,resolveServiceCwd}from"./load.js";export{discoverTests,fileDisplayName,formatDisplayName,testTypeContract}from"./discover-tests.js";export{findConfigFile,loadTestkitConfig}from"./config-loader.js";export{materializeDatabaseConfig}from"./database-materialization.js";export{detectNextApp}from"./runtime.js";export{DEFAULT_RUNTIME_ISOLATION_POLICY,resolveRuntimeIsolationPolicy}from"./runtime-isolation.js";export{collectModuleSpecifiers,requireMatchingEngineAuthoringImports}from"./file-metadata.js";export{minimumConfirmingRuns}from"./cloud.js";
|