@gfdelarue/testkit 0.4.5 → 0.6.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/README.md +724 -495
- package/bin/testkit-windows-owner-arm64.exe +0 -0
- package/bin/testkit-windows-owner-x64.exe +0 -0
- package/dist/app/bugs/ci-report.js +2 -2
- package/dist/app/bugs/ci-summary.js +3 -3
- package/dist/app/bugs/draft.js +3 -3
- package/dist/app/bugs/file.js +1 -1
- package/dist/app/bugs/gate.js +1 -1
- package/dist/app/bugs/guide.js +3 -3
- package/dist/app/bugs/issue.js +4 -4
- package/dist/app/bugs/known-failures.js +1 -1
- package/dist/app/bugs/record.js +1 -1
- package/dist/app/bugs/run-reading.js +1 -1
- package/dist/app/bugs/supplied-reproduce.js +1 -0
- package/dist/app/campaigns/campaign.js +1 -1
- package/dist/app/campaigns/index.js +2 -2
- package/dist/app/cleanup/index.js +1 -1
- package/dist/app/db-schema/prepare.js +1 -1
- package/dist/app/destroy/index.js +1 -1
- package/dist/app/discover/index.js +2 -2
- package/dist/app/doctor/index.js +1 -1
- package/dist/app/environments/config-driven.js +1 -1
- package/dist/app/environments/environment-file.js +1 -0
- package/dist/app/environments/file-setup.js +1 -0
- package/dist/app/environments/routing.js +1 -1
- package/dist/app/environments/static-values.js +1 -0
- package/dist/app/environments/supplied-input.js +1 -0
- package/dist/app/environments/supplied.js +1 -1
- package/dist/app/environments/task-databases.js +2 -0
- package/dist/app/inspect/artifacts.js +1 -1
- package/dist/app/inspect/index.js +1 -1
- package/dist/app/lint/index.js +1 -1
- package/dist/app/lint/native.js +1 -1
- package/dist/app/lint/options.js +1 -1
- package/dist/app/lint/rules/engine-imports.js +1 -1
- package/dist/app/lint/rules/syntax.js +1 -1
- package/dist/app/lint/rules/unit.js +1 -1
- package/dist/app/reports/prepare.js +1 -1
- package/dist/app/run/caller-redaction.js +1 -0
- package/dist/app/run/engine-execution-failures.js +1 -1
- package/dist/app/run/engine-execution-reporting.js +1 -1
- package/dist/app/run/engine-execution.js +1 -1
- package/dist/app/run/engine-orchestration.js +1 -1
- package/dist/app/run/environment.js +1 -1
- package/dist/app/run/failure-details.js +1 -1
- package/dist/app/run/live-run.js +1 -1
- package/dist/app/run/orchestrator.js +1 -1
- package/dist/app/run/planning.js +1 -1
- package/dist/app/run/request.js +1 -1
- package/dist/app/run/results.js +1 -1
- package/dist/app/run/run-events.js +1 -1
- package/dist/app/run/run-finalization.js +1 -1
- package/dist/app/run/scheduler/estimates.js +1 -1
- package/dist/app/run/scheduler/identity.js +1 -1
- package/dist/app/run/scheduler/index.js +1 -1
- package/dist/app/run/setup/runtime-node-setup-protocol.js +1 -1
- package/dist/app/run/setup/runtime-node-setup-worker.js +1 -1
- package/dist/app/run/setup/runtime-node-setup.js +2 -2
- package/dist/app/run/task-batches.js +1 -1
- package/dist/app/run/worker-loop.js +1 -1
- package/dist/app/status/model.js +1 -1
- package/dist/app/status/runs.js +1 -1
- package/dist/app/typecheck/index.js +4 -4
- package/dist/cli/command-catalog.js +1 -1
- package/dist/cli/command-flags.js +1 -1
- package/dist/cli/commands/artifacts.js +2 -2
- package/dist/cli/commands/bug/file.js +2 -2
- package/dist/cli/commands/bug/record.js +2 -2
- package/dist/cli/commands/discover.js +1 -1
- package/dist/cli/commands/guard/unsafe-entrypoint.js +1 -1
- package/dist/cli/commands/run.js +2 -2
- package/dist/cli/commands/typecheck.js +1 -1
- package/dist/cli/commands/workspace.js +1 -1
- package/dist/cli/framework/errors.js +1 -1
- package/dist/cli/framework/execute.js +7 -6
- package/dist/cli/framework/parser.js +1 -1
- package/dist/cli/operations/run/operation.js +2 -2
- package/dist/cli/renderers/bug/text.js +1 -1
- package/dist/cli/renderers/discover/report.js +1 -1
- package/dist/cli/renderers/run/events.js +2 -2
- package/dist/cli/renderers/run/formatting.js +1 -1
- package/dist/cli/renderers/run/status.js +1 -1
- package/dist/cli/renderers/run/text-reporter.js +24 -22
- package/dist/cli/terminal/colors.js +1 -1
- package/dist/cli/terminal/layout.js +2 -2
- package/dist/config/authoring/database-fixture-discovery.js +1 -0
- package/dist/config/authoring/http-methods.js +1 -1
- package/dist/config/authoring/index.js +1 -1
- package/dist/config/loader/config-loader.js +1 -1
- package/dist/config/loader/decode-discovery.js +1 -1
- package/dist/config/loader/decode-execution.js +1 -1
- package/dist/config/loader/dependencies.js +1 -1
- package/dist/config/loader/discover-tests.js +1 -1
- package/dist/config/loader/discovery-summary.js +1 -1
- package/dist/config/loader/discovery.js +2 -2
- package/dist/config/loader/env.js +1 -1
- package/dist/config/loader/file-metadata.js +1 -1
- package/dist/config/loader/groups.js +2 -1
- package/dist/config/loader/index.js +1 -1
- package/dist/config/loader/load.js +1 -1
- package/dist/config/loader/managed-configs.js +1 -1
- package/dist/config/loader/owned-discovery.js +1 -0
- package/dist/config/loader/path-policy.js +1 -1
- package/dist/config/loader/runtime-isolation.js +1 -1
- package/dist/config/loader/runtime.js +1 -1
- package/dist/config/loader/skip-config.js +1 -1
- package/dist/config/loader/task-policy.js +1 -0
- package/dist/config/loader/test-selection.js +1 -1
- package/dist/config/loader/validation.js +1 -1
- package/dist/database/admin.js +2 -2
- package/dist/database/bindings.js +1 -0
- package/dist/database/cleanup.js +1 -1
- package/dist/database/configured-steps.js +1 -1
- package/dist/database/docker-metadata.js +3 -3
- package/dist/database/docker.js +3 -3
- package/dist/database/index.js +1 -1
- package/dist/database/local-postgres.js +1 -1
- package/dist/database/naming.js +1 -1
- package/dist/database/postgres/connection-check.js +1 -0
- package/dist/database/postgres/protocol.js +2 -0
- package/dist/database/schema-operations.js +1 -1
- package/dist/database/schema-source.js +3 -3
- package/dist/database/source-schema-env.js +1 -0
- package/dist/database/state-files.js +1 -1
- package/dist/database/state.js +1 -1
- package/dist/database/steps.js +3 -3
- package/dist/domain/file-timeout.js +1 -1
- package/dist/domain/identifiers.js +1 -1
- package/dist/domain/retired-test-types.js +1 -0
- package/dist/domain/runtime-isolation-contract.js +1 -1
- package/dist/domain/suite-selection.js +1 -1
- package/dist/domain/test-types.js +1 -1
- package/dist/engines/adapters/evidence-files.js +1 -1
- package/dist/engines/adapters/execution.js +1 -1
- package/dist/engines/adapters/json-bounds.js +2 -0
- package/dist/engines/adapters/native-report.js +1 -1
- package/dist/engines/api/execution.js +1 -1
- package/dist/engines/api/index.js +1 -1
- package/dist/engines/api/runtime-artifact.js +1 -1
- package/dist/engines/catalog.js +1 -1
- package/dist/engines/contracts/environment-values.js +1 -0
- package/dist/engines/definitions.js +1 -1
- package/dist/engines/environment/handles.js +1 -0
- package/dist/engines/environment/index.js +1 -0
- package/dist/engines/factory.js +1 -1
- package/dist/engines/installations/node-vitest.js +1 -1
- package/dist/engines/installations/package-resolution.js +1 -1
- package/dist/engines/installations/playwright.js +1 -1
- package/dist/engines/managed-module-resolution.js +8 -4
- package/dist/engines/manager.js +1 -1
- package/dist/engines/node-vitest/adapter/adapter.js +1 -1
- package/dist/engines/node-vitest/adapter/driver.js +2 -0
- package/dist/engines/node-vitest/adapter/evidence.js +2 -2
- package/dist/engines/node-vitest/adapter/failure-details.js +4 -2
- package/dist/engines/node-vitest/adapter/reporter.js +1 -1
- package/dist/engines/node-vitest/adapter/workspace.js +17 -195
- package/dist/engines/node-vitest/inventory/index.js +2 -0
- package/dist/engines/node-vitest/inventory/list-files.js +3 -0
- package/dist/engines/node-vitest/runtime/data/index.js +1 -1
- package/dist/engines/node-vitest/runtime/data/report.js +5 -6
- package/dist/engines/node-vitest/runtime/data/scenario.js +2 -2
- package/dist/engines/node-vitest/runtime/runtime-input.js +1 -1
- package/dist/engines/node-vitest/selection.js +1 -0
- package/dist/engines/playwright/adapter/adapter.js +1 -1
- package/dist/engines/playwright/adapter/config.js +3 -3
- package/dist/engines/playwright/adapter/evidence-validation.js +1 -1
- package/dist/engines/playwright/adapter/evidence.js +1 -1
- package/dist/engines/playwright/adapter/reporter.js +1 -1
- package/dist/engines/playwright/runtime/config-file.js +1 -1
- package/dist/engines/playwright/runtime/config.js +1 -1
- package/dist/engines/playwright/runtime/managed-test.js +1 -0
- package/dist/engines/playwright/runtime/runtime-input.js +29 -10
- package/dist/engines/runtime-input-file.js +1 -1
- package/dist/environment/lifecycle-controller.js +1 -1
- package/dist/environment/lifecycle.js +1 -1
- package/dist/environment/ready-environment.js +1 -1
- package/dist/environment/run-environment.js +1 -1
- package/dist/environment/run-stopping.js +1 -1
- package/dist/environment/runtime-contexts.js +1 -1
- package/dist/environment/runtime-manager.js +1 -1
- package/dist/environment/runtime-planning.js +1 -1
- package/dist/environment/runtime-preparation.js +1 -1
- package/dist/environment/services.js +3 -3
- package/dist/environment/template.js +1 -1
- package/dist/evidence/artifact-config.js +1 -1
- package/dist/evidence/artifacts.js +2 -2
- package/dist/evidence/bundles.js +1 -1
- package/dist/evidence/environment-record.js +1 -1
- package/dist/evidence/index.js +1 -1
- package/dist/evidence/maintenance.js +1 -0
- package/dist/evidence/read-run.js +1 -1
- package/dist/evidence/reading.js +1 -1
- package/dist/evidence/redaction.js +4 -0
- package/dist/evidence/reporting.js +1 -1
- package/dist/evidence/run-model.js +1 -0
- package/dist/evidence/storage.js +2 -2
- package/dist/evidence/timing.js +1 -1
- package/dist/kernel/error-serialization.js +1 -1
- package/dist/kernel/known-keys.js +1 -0
- package/dist/kernel/redaction-targets.js +1 -0
- package/dist/kernel/redaction.js +4 -1
- package/dist/kernel/unknown-values.js +1 -1
- package/dist/process/environment.js +1 -1
- package/dist/process/execa-bundle.json +3 -3
- package/dist/process/files/json-file.js +1 -1
- package/dist/process/host/platform.js +1 -1
- package/dist/process/host-process.js +1 -1
- package/dist/process/index.js +1 -1
- package/dist/process/locks.js +4 -4
- package/dist/process/port-listener.js +2 -0
- package/dist/process/process-group.js +1 -1
- package/dist/process/process.js +32 -32
- package/dist/process/readiness.js +1 -1
- package/dist/process/ready-deadline.js +1 -0
- package/dist/process/runs/ownership.js +1 -1
- package/dist/process/runs/stop.js +1 -1
- package/dist/process/service-processes.js +1 -1
- package/dist/process/windows-cli-owner.js +3 -3
- package/dist/process/windows-native.js +1 -1
- package/dist/repo/fingerprint-policy.js +1 -1
- package/dist/repo/managed-git.js +1 -1
- package/dist/repo/physical-tree.js +1 -1
- package/dist/repo/state.js +4 -4
- package/dist/steps/build-config.js +1 -1
- package/dist/steps/configured-step-testkit-modules.js +1 -1
- package/dist/steps/configured-steps.js +1 -1
- package/dist/steps/environment.js +1 -1
- package/dist/steps/index.js +1 -1
- package/dist/toolchains/index.js +3 -3
- package/dist/toolchains/semver.js +1 -1
- package/dist/toolchains/vitest/index.js +1 -1
- package/dist/tracker/redaction.js +1 -2
- package/dist/{config/runtime/build-assets.d.ts → types/config-build-assets.d.ts} +5 -3
- package/dist/{database/steps.d.ts → types/config-database-steps.d.ts} +7 -7
- package/dist/{config/runtime/next-runtime-tsconfig.d.ts → types/config-next-runtime-tsconfig.d.ts} +5 -3
- package/dist/types/config.d.ts +422 -0
- package/dist/types/drizzle.d.ts +13 -0
- package/dist/{config/runtime/env/index.d.ts → types/env.d.ts} +22 -20
- package/dist/types/environment.d.ts +46 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/node-vitest-data.d.ts +191 -0
- package/dist/types/playwright.d.ts +130 -0
- package/dist/types/tooling-vitest.d.ts +13 -0
- package/dist/types/workspace.d.ts +633 -0
- package/docs/bug-records.md +35 -40
- package/docs/engines.md +259 -0
- package/docs/release-notes.md +2116 -0
- package/docs/test-types.md +37 -85
- package/package.json +22 -32
- package/testkit-config-schema.md +391 -260
- package/dist/app/bugs/areas.d.ts +0 -38
- package/dist/app/bugs/assessment.d.ts +0 -9
- package/dist/app/bugs/categories.d.ts +0 -41
- package/dist/app/bugs/ci-report.d.ts +0 -21
- package/dist/app/bugs/ci-summary.d.ts +0 -13
- package/dist/app/bugs/draft.d.ts +0 -70
- package/dist/app/bugs/facts.d.ts +0 -49
- package/dist/app/bugs/file.d.ts +0 -45
- package/dist/app/bugs/gate.d.ts +0 -22
- package/dist/app/bugs/guide.d.ts +0 -20
- package/dist/app/bugs/issue.d.ts +0 -18
- package/dist/app/bugs/known-failures.d.ts +0 -49
- package/dist/app/bugs/record.d.ts +0 -14
- package/dist/app/bugs/run-reading.d.ts +0 -51
- package/dist/app/bugs/store.d.ts +0 -34
- package/dist/app/campaigns/brief.d.ts +0 -7
- package/dist/app/campaigns/campaign.d.ts +0 -14
- package/dist/app/campaigns/index.d.ts +0 -38
- package/dist/app/campaigns/store.d.ts +0 -5
- package/dist/app/campaigns/summary.d.ts +0 -13
- package/dist/app/cleanup/index.d.ts +0 -52
- package/dist/app/db-schema/prepare.d.ts +0 -11
- package/dist/app/db-schema/refresh.d.ts +0 -17
- package/dist/app/db-schema/verify.d.ts +0 -11
- package/dist/app/destroy/index.d.ts +0 -16
- package/dist/app/discover/index.d.ts +0 -8
- package/dist/app/doctor/index.d.ts +0 -17
- package/dist/app/environments/config-driven.d.ts +0 -5
- package/dist/app/environments/routing.d.ts +0 -6
- package/dist/app/environments/supplied.d.ts +0 -3
- package/dist/app/file-selection.d.ts +0 -1
- package/dist/app/inspect/artifacts.d.ts +0 -30
- package/dist/app/inspect/index.d.ts +0 -112
- package/dist/app/lint/index.d.ts +0 -28
- package/dist/app/lint/native.d.ts +0 -10
- package/dist/app/lint/options.d.ts +0 -66
- package/dist/app/lint/policy.d.ts +0 -21
- package/dist/app/lint/rules/data.d.ts +0 -3
- package/dist/app/lint/rules/data.js +0 -1
- package/dist/app/lint/rules/engine-imports.d.ts +0 -3
- package/dist/app/lint/rules/syntax.d.ts +0 -4
- package/dist/app/lint/rules/unit.d.ts +0 -3
- package/dist/app/lint/shared.d.ts +0 -34
- package/dist/app/package-inspection.d.ts +0 -20
- package/dist/app/reports/files.d.ts +0 -13
- package/dist/app/reports/prepare.d.ts +0 -20
- package/dist/app/reports/publish.d.ts +0 -21
- package/dist/app/run/endpoint-readiness.d.ts +0 -43
- package/dist/app/run/endpoint-readiness.js +0 -1
- package/dist/app/run/engine-evidence-persistence.d.ts +0 -39
- package/dist/app/run/engine-execution-cleanup.d.ts +0 -8
- package/dist/app/run/engine-execution-cleanup.js +0 -1
- package/dist/app/run/engine-execution-failures.d.ts +0 -41
- package/dist/app/run/engine-execution-observer.d.ts +0 -21
- package/dist/app/run/engine-execution-reporting.d.ts +0 -17
- package/dist/app/run/engine-execution.d.ts +0 -65
- package/dist/app/run/engine-failure-stack.d.ts +0 -1
- package/dist/app/run/engine-orchestration.d.ts +0 -30
- package/dist/app/run/environment.d.ts +0 -33
- package/dist/app/run/failure-details.d.ts +0 -37
- package/dist/app/run/live-run.d.ts +0 -29
- package/dist/app/run/operation-progress.d.ts +0 -13
- package/dist/app/run/orchestrator.d.ts +0 -75
- package/dist/app/run/planning-types.d.ts +0 -68
- package/dist/app/run/planning.d.ts +0 -14
- package/dist/app/run/request.d.ts +0 -30
- package/dist/app/run/results.d.ts +0 -161
- package/dist/app/run/run-events.d.ts +0 -144
- package/dist/app/run/run-finalization.d.ts +0 -56
- package/dist/app/run/run-guards.d.ts +0 -3
- package/dist/app/run/runtime-failures.d.ts +0 -18
- package/dist/app/run/runtime-fixtures.d.ts +0 -2
- package/dist/app/run/runtime-task-types.d.ts +0 -20
- package/dist/app/run/scheduler/estimates.d.ts +0 -32
- package/dist/app/run/scheduler/identity.d.ts +0 -9
- package/dist/app/run/scheduler/index.d.ts +0 -124
- package/dist/app/run/scheduler/locks.d.ts +0 -6
- package/dist/app/run/scheduler/observations.d.ts +0 -20
- package/dist/app/run/selection.d.ts +0 -9
- package/dist/app/run/setup/runtime-node-setup-errors.d.ts +0 -13
- package/dist/app/run/setup/runtime-node-setup-protocol.d.ts +0 -85
- package/dist/app/run/setup/runtime-node-setup-worker.d.ts +0 -1
- package/dist/app/run/setup/runtime-node-setup.d.ts +0 -48
- package/dist/app/run/task-batches.d.ts +0 -23
- package/dist/app/run/task-leases.d.ts +0 -15
- package/dist/app/run/worker-loop.d.ts +0 -66
- package/dist/app/setup/playwright.d.ts +0 -22
- package/dist/app/status/index.d.ts +0 -9
- package/dist/app/status/model.d.ts +0 -29
- package/dist/app/status/runs.d.ts +0 -99
- package/dist/app/stop/index.d.ts +0 -14
- package/dist/app/tracker/index.d.ts +0 -13
- package/dist/app/tracker/remote.d.ts +0 -13
- package/dist/app/tracker/token.d.ts +0 -7
- package/dist/app/typecheck/index.d.ts +0 -63
- package/dist/cli/command-catalog.d.ts +0 -156
- package/dist/cli/command-flags.d.ts +0 -19
- package/dist/cli/command-registry.d.ts +0 -3
- package/dist/cli/commands/artifacts.d.ts +0 -48
- package/dist/cli/commands/bug/file.d.ts +0 -16
- package/dist/cli/commands/bug/guide.d.ts +0 -5
- package/dist/cli/commands/bug/record.d.ts +0 -9
- package/dist/cli/commands/campaign/finish.d.ts +0 -10
- package/dist/cli/commands/campaign/start.d.ts +0 -7
- package/dist/cli/commands/campaign/status.d.ts +0 -13
- package/dist/cli/commands/ci/report.d.ts +0 -15
- package/dist/cli/commands/cleanup.d.ts +0 -13
- package/dist/cli/commands/db/schema/refresh.d.ts +0 -2
- package/dist/cli/commands/db/schema/verify.d.ts +0 -2
- package/dist/cli/commands/destroy.d.ts +0 -9
- package/dist/cli/commands/discover.d.ts +0 -2
- package/dist/cli/commands/doctor.d.ts +0 -2
- package/dist/cli/commands/guard/unsafe-entrypoint.d.ts +0 -2
- package/dist/cli/commands/lint.d.ts +0 -2
- package/dist/cli/commands/report/prepare.d.ts +0 -12
- package/dist/cli/commands/report/publish.d.ts +0 -13
- package/dist/cli/commands/run/status.d.ts +0 -5
- package/dist/cli/commands/run/stop.d.ts +0 -7
- package/dist/cli/commands/run.d.ts +0 -9
- package/dist/cli/commands/setup/playwright.d.ts +0 -2
- package/dist/cli/commands/status.d.ts +0 -5
- package/dist/cli/commands/stop.d.ts +0 -12
- package/dist/cli/commands/typecheck.d.ts +0 -2
- package/dist/cli/commands/workspace.d.ts +0 -2
- package/dist/cli/entrypoint.d.ts +0 -1
- package/dist/cli/framework/command.d.ts +0 -21
- package/dist/cli/framework/definitions.d.ts +0 -100
- package/dist/cli/framework/errors.d.ts +0 -6
- package/dist/cli/framework/execute.d.ts +0 -14
- package/dist/cli/framework/help.d.ts +0 -11
- package/dist/cli/framework/index.d.ts +0 -3
- package/dist/cli/framework/parser.d.ts +0 -6
- package/dist/cli/index.d.ts +0 -4
- package/dist/cli/json-errors.d.ts +0 -3
- package/dist/cli/operations/db/schema/refresh/operation.d.ts +0 -7
- package/dist/cli/operations/db/schema/verify/operation.d.ts +0 -7
- package/dist/cli/operations/run/operation.d.ts +0 -26
- package/dist/cli/process-signal.d.ts +0 -1
- package/dist/cli/renderers/bug/text.d.ts +0 -8
- package/dist/cli/renderers/campaign/text.d.ts +0 -2
- package/dist/cli/renderers/ci/text.d.ts +0 -2
- package/dist/cli/renderers/cleanup/format.d.ts +0 -14
- package/dist/cli/renderers/db-schema/text.d.ts +0 -4
- package/dist/cli/renderers/destroy/text.d.ts +0 -4
- package/dist/cli/renderers/discover/report.d.ts +0 -7
- package/dist/cli/renderers/discover/text.d.ts +0 -3
- package/dist/cli/renderers/doctor/text.d.ts +0 -2
- package/dist/cli/renderers/lint/text.d.ts +0 -2
- package/dist/cli/renderers/run/events.d.ts +0 -8
- package/dist/cli/renderers/run/failure.d.ts +0 -8
- package/dist/cli/renderers/run/formatting.d.ts +0 -79
- package/dist/cli/renderers/run/status.d.ts +0 -6
- package/dist/cli/renderers/run/text-reporter.d.ts +0 -19
- package/dist/cli/renderers/status/text.d.ts +0 -2
- package/dist/cli/renderers/stop/text.d.ts +0 -7
- package/dist/cli/renderers/typecheck/text.d.ts +0 -2
- package/dist/cli/terminal/colors.d.ts +0 -10
- package/dist/cli/terminal/layout.d.ts +0 -11
- package/dist/cli/version-drift.d.ts +0 -25
- package/dist/config/authoring/build-config-contract.d.ts +0 -27
- package/dist/config/authoring/configured-step-contract.d.ts +0 -18
- package/dist/config/authoring/http-execution-contract.d.ts +0 -70
- package/dist/config/authoring/http-methods.d.ts +0 -18
- package/dist/config/authoring/index.d.ts +0 -372
- package/dist/config/authoring/preset-env.d.ts +0 -19
- package/dist/config/authoring/runtime.d.ts +0 -64
- package/dist/config/authoring/runtime.js +0 -1
- package/dist/config/loader/bugs.d.ts +0 -15
- package/dist/config/loader/config-loader.d.ts +0 -9
- package/dist/config/loader/database-materialization.d.ts +0 -19
- package/dist/config/loader/database-roles.d.ts +0 -2
- package/dist/config/loader/database.d.ts +0 -55
- package/dist/config/loader/decode-discovery.d.ts +0 -5
- package/dist/config/loader/decode-execution.d.ts +0 -7
- package/dist/config/loader/dependencies.d.ts +0 -7
- package/dist/config/loader/discover-tests.d.ts +0 -111
- package/dist/config/loader/discovery-summary.d.ts +0 -29
- package/dist/config/loader/discovery.d.ts +0 -53
- package/dist/config/loader/env.d.ts +0 -4
- package/dist/config/loader/execution-model.d.ts +0 -15
- package/dist/config/loader/file-metadata.d.ts +0 -19
- package/dist/config/loader/groups.d.ts +0 -33
- package/dist/config/loader/index.d.ts +0 -10
- package/dist/config/loader/load.d.ts +0 -89
- package/dist/config/loader/managed-configs.d.ts +0 -23
- package/dist/config/loader/path-policy.d.ts +0 -9
- package/dist/config/loader/paths.d.ts +0 -5
- package/dist/config/loader/runtime-isolation.d.ts +0 -44
- package/dist/config/loader/runtime.d.ts +0 -16
- package/dist/config/loader/skip-config.d.ts +0 -44
- package/dist/config/loader/test-selection.d.ts +0 -15
- package/dist/config/loader/validation.d.ts +0 -15
- package/dist/config/loader/values.d.ts +0 -3
- package/dist/config/loader/values.js +0 -1
- package/dist/database/activity-gate.d.ts +0 -22
- package/dist/database/admin.d.ts +0 -31
- package/dist/database/cleanup.d.ts +0 -36
- package/dist/database/configured-steps.d.ts +0 -27
- package/dist/database/constants.d.ts +0 -11
- package/dist/database/docker-metadata.d.ts +0 -3
- package/dist/database/docker.d.ts +0 -65
- package/dist/database/drizzle/index.d.ts +0 -13
- package/dist/database/fingerprint.d.ts +0 -12
- package/dist/database/index.d.ts +0 -39
- package/dist/database/lifecycle-cleanup.d.ts +0 -8
- package/dist/database/local-postgres.d.ts +0 -71
- package/dist/database/naming.d.ts +0 -17
- package/dist/database/postgres/index.d.ts +0 -71
- package/dist/database/progress.d.ts +0 -6
- package/dist/database/roles.d.ts +0 -19
- package/dist/database/runtime-config.d.ts +0 -16
- package/dist/database/runtime-reservations.d.ts +0 -19
- package/dist/database/schema-operations.d.ts +0 -18
- package/dist/database/schema-source.d.ts +0 -96
- package/dist/database/source-refresh-lock.d.ts +0 -8
- package/dist/database/source-url.d.ts +0 -21
- package/dist/database/state-files.d.ts +0 -13
- package/dist/database/state.d.ts +0 -26
- package/dist/database/template-steps.d.ts +0 -39
- package/dist/domain/file-timeout.d.ts +0 -25
- package/dist/domain/identifiers.d.ts +0 -9
- package/dist/domain/operation-display.d.ts +0 -10
- package/dist/domain/operation-reason.d.ts +0 -5
- package/dist/domain/postgres-route.d.ts +0 -4
- package/dist/domain/runtime-identity.d.ts +0 -1
- package/dist/domain/runtime-isolation-contract.d.ts +0 -5
- package/dist/domain/service-name.d.ts +0 -2
- package/dist/domain/suite-selection.d.ts +0 -20
- package/dist/domain/test-outcomes.d.ts +0 -2
- package/dist/domain/test-types.d.ts +0 -16
- package/dist/engines/adapters/evidence-files.d.ts +0 -32
- package/dist/engines/adapters/evidence-identity.d.ts +0 -12
- package/dist/engines/adapters/execution.d.ts +0 -41
- package/dist/engines/adapters/native-report.d.ts +0 -25
- package/dist/engines/adapters/node-startup-cache.d.ts +0 -8
- package/dist/engines/adapters/workspace.d.ts +0 -4
- package/dist/engines/api/capabilities.d.ts +0 -21
- package/dist/engines/api/capabilities.js +0 -1
- package/dist/engines/api/evidence.d.ts +0 -38
- package/dist/engines/api/execution-observer.d.ts +0 -8
- package/dist/engines/api/execution-scope.d.ts +0 -17
- package/dist/engines/api/execution.d.ts +0 -101
- package/dist/engines/api/index.d.ts +0 -5
- package/dist/engines/api/k6-runtime-input.d.ts +0 -26
- package/dist/engines/api/k6-runtime-input.js +0 -1
- package/dist/engines/api/runtime-artifact.d.ts +0 -19
- package/dist/engines/bundle-cache.d.ts +0 -32
- package/dist/engines/catalog.d.ts +0 -27
- package/dist/engines/contracts/fixture-manifest.d.ts +0 -34
- package/dist/engines/contracts/json-bounds.d.ts +0 -36
- package/dist/engines/contracts/json-bounds.js +0 -2
- package/dist/engines/contracts/k6-repository-configuration.d.ts +0 -12
- package/dist/engines/contracts/k6-repository-configuration.js +0 -1
- package/dist/engines/contracts/test-context.d.ts +0 -15
- package/dist/engines/contracts/test-context.js +0 -1
- package/dist/engines/definitions.d.ts +0 -23
- package/dist/engines/factory.d.ts +0 -6
- package/dist/engines/generated-performance.d.ts +0 -1
- package/dist/engines/installation-catalog.d.ts +0 -27
- package/dist/engines/installation-catalog.js +0 -1
- package/dist/engines/installations/k6.d.ts +0 -98
- package/dist/engines/installations/k6.js +0 -1
- package/dist/engines/installations/node-vitest.d.ts +0 -33
- package/dist/engines/installations/package-requirements.d.ts +0 -28
- package/dist/engines/installations/package-resolution.d.ts +0 -51
- package/dist/engines/installations/playwright-resolution-child.d.ts +0 -1
- package/dist/engines/installations/playwright.d.ts +0 -75
- package/dist/engines/installations/types.d.ts +0 -10
- package/dist/engines/k6/adapter/bundle.d.ts +0 -25
- package/dist/engines/k6/adapter/bundle.js +0 -112
- package/dist/engines/k6/adapter/evidence.d.ts +0 -15
- package/dist/engines/k6/adapter/evidence.js +0 -4
- package/dist/engines/k6/adapter/executor.d.ts +0 -13
- package/dist/engines/k6/adapter/executor.js +0 -1
- package/dist/engines/k6/adapter/index.d.ts +0 -1
- package/dist/engines/k6/adapter/index.js +0 -1
- package/dist/engines/k6/adapter/input.d.ts +0 -21
- package/dist/engines/k6/adapter/input.js +0 -1
- package/dist/engines/k6/adapter/native-summary.d.ts +0 -11
- package/dist/engines/k6/adapter/native-summary.js +0 -1
- package/dist/engines/k6/adapter/repository-configuration.d.ts +0 -2
- package/dist/engines/k6/adapter/repository-configuration.js +0 -1
- package/dist/engines/k6/authoring-type-paths.d.ts +0 -3
- package/dist/engines/k6/authoring-type-paths.js +0 -1
- package/dist/engines/k6/runtime/ambient-types/bundle-manifest.json +0 -146
- package/dist/engines/k6/runtime/ambient-types/k6/LICENSE +0 -21
- package/dist/engines/k6/runtime/ambient-types/k6/browser/index.d.ts +0 -6332
- package/dist/engines/k6/runtime/ambient-types/k6/crypto/index.d.ts +0 -218
- package/dist/engines/k6/runtime/ambient-types/k6/data/index.d.ts +0 -16
- package/dist/engines/k6/runtime/ambient-types/k6/encoding/index.d.ts +0 -46
- package/dist/engines/k6/runtime/ambient-types/k6/execution/index.d.ts +0 -127
- package/dist/engines/k6/runtime/ambient-types/k6/experimental/csv/index.d.ts +0 -96
- package/dist/engines/k6/runtime/ambient-types/k6/experimental/fs/index.d.ts +0 -104
- package/dist/engines/k6/runtime/ambient-types/k6/experimental/redis/index.d.ts +0 -821
- package/dist/engines/k6/runtime/ambient-types/k6/experimental/streams/index.d.ts +0 -198
- package/dist/engines/k6/runtime/ambient-types/k6/global.d.ts +0 -83
- package/dist/engines/k6/runtime/ambient-types/k6/html/index.d.ts +0 -1325
- package/dist/engines/k6/runtime/ambient-types/k6/http/index.d.ts +0 -806
- package/dist/engines/k6/runtime/ambient-types/k6/index.d.ts +0 -126
- package/dist/engines/k6/runtime/ambient-types/k6/metrics/index.d.ts +0 -66
- package/dist/engines/k6/runtime/ambient-types/k6/net/grpc/index.d.ts +0 -247
- package/dist/engines/k6/runtime/ambient-types/k6/options/index.d.ts +0 -459
- package/dist/engines/k6/runtime/ambient-types/k6/package.json +0 -79
- package/dist/engines/k6/runtime/ambient-types/k6/secrets/index.d.ts +0 -36
- package/dist/engines/k6/runtime/ambient-types/k6/timers/index.d.ts +0 -47
- package/dist/engines/k6/runtime/ambient-types/k6/websockets/index.d.ts +0 -324
- package/dist/engines/k6/runtime/ambient-types/k6/ws/index.d.ts +0 -283
- package/dist/engines/k6/runtime/ambient-types/xk6-sql/LICENSE +0 -201
- package/dist/engines/k6/runtime/ambient-types/xk6-sql/index.d.ts +0 -397
- package/dist/engines/k6/runtime/ambient-types/xk6-sql/package.json +0 -15
- package/dist/engines/k6/runtime/artifacts.d.ts +0 -2
- package/dist/engines/k6/runtime/artifacts.js +0 -1
- package/dist/engines/k6/runtime/checks.d.ts +0 -17
- package/dist/engines/k6/runtime/checks.js +0 -1
- package/dist/engines/k6/runtime/dal-fixtures.d.ts +0 -24
- package/dist/engines/k6/runtime/dal-fixtures.js +0 -1
- package/dist/engines/k6/runtime/dal-suite.d.ts +0 -24
- package/dist/engines/k6/runtime/dal-suite.js +0 -1
- package/dist/engines/k6/runtime/dal.d.ts +0 -10
- package/dist/engines/k6/runtime/dal.js +0 -1
- package/dist/engines/k6/runtime/fixtures.d.ts +0 -3
- package/dist/engines/k6/runtime/fixtures.js +0 -1
- package/dist/engines/k6/runtime/http-assertions.d.ts +0 -19
- package/dist/engines/k6/runtime/http-assertions.js +0 -1
- package/dist/engines/k6/runtime/http-checks.d.ts +0 -19
- package/dist/engines/k6/runtime/http-checks.js +0 -1
- package/dist/engines/k6/runtime/http-suite-runtime.d.ts +0 -103
- package/dist/engines/k6/runtime/http-suite-runtime.js +0 -1
- package/dist/engines/k6/runtime/http.d.ts +0 -15
- package/dist/engines/k6/runtime/http.js +0 -1
- package/dist/engines/k6/runtime/index.d.ts +0 -11
- package/dist/engines/k6/runtime/index.js +0 -1
- package/dist/engines/k6/runtime/input.d.ts +0 -3
- package/dist/engines/k6/runtime/input.js +0 -1
- package/dist/engines/k6/runtime/k6-repository-configuration.d.ts +0 -9
- package/dist/engines/k6/runtime/k6-repository-configuration.js +0 -1
- package/dist/engines/k6/runtime/node-setup.d.ts +0 -13
- package/dist/engines/k6/runtime/node-setup.js +0 -1
- package/dist/engines/k6/runtime/runtime-globals.d.ts +0 -10
- package/dist/engines/k6/runtime/runtime.d.ts +0 -54
- package/dist/engines/k6/runtime/runtime.js +0 -1
- package/dist/engines/k6/runtime/shared/assertion-details.d.ts +0 -19
- package/dist/engines/k6/runtime/shared/assertion-details.js +0 -2
- package/dist/engines/k6/runtime/shared/db-normalization.d.ts +0 -19
- package/dist/engines/k6/runtime/shared/db-normalization.js +0 -1
- package/dist/engines/k6/runtime/shared/error-body.d.ts +0 -3
- package/dist/engines/k6/runtime/shared/error-body.js +0 -1
- package/dist/engines/k6/runtime/shared/file-data.d.ts +0 -1
- package/dist/engines/k6/runtime/shared/file-data.js +0 -1
- package/dist/engines/k6/runtime/shared/fixture-engine.d.ts +0 -8
- package/dist/engines/k6/runtime/shared/fixture-engine.js +0 -2
- package/dist/engines/k6/runtime/shared/http-check-plan.d.ts +0 -29
- package/dist/engines/k6/runtime/shared/http-check-plan.js +0 -1
- package/dist/engines/k6/runtime/shared/http-parsing.d.ts +0 -10
- package/dist/engines/k6/runtime/shared/http-parsing.js +0 -3
- package/dist/engines/k6/runtime/shared/ordering.d.ts +0 -2
- package/dist/engines/k6/runtime/shared/ordering.js +0 -1
- package/dist/engines/k6/runtime/shared/properties.d.ts +0 -1
- package/dist/engines/k6/runtime/shared/properties.js +0 -1
- package/dist/engines/k6/runtime/suite.d.ts +0 -4
- package/dist/engines/k6/runtime/suite.js +0 -1
- package/dist/engines/k6/runtime/types.d.ts +0 -244
- package/dist/engines/k6/runtime/types.js +0 -1
- package/dist/engines/k6/runtime/xk6-sql-driver-postgres.d.ts +0 -7
- package/dist/engines/k6/runtime/xk6-sql-driver-postgres.js +0 -1
- package/dist/engines/managed-module-resolution-policy-input.d.ts +0 -8
- package/dist/engines/managed-module-resolution-policy.d.ts +0 -25
- package/dist/engines/managed-module-resolution.d.ts +0 -13
- package/dist/engines/manager.d.ts +0 -25
- package/dist/engines/node-vitest/adapter/adapter.d.ts +0 -16
- package/dist/engines/node-vitest/adapter/consumer-typescript-paths.d.ts +0 -17
- package/dist/engines/node-vitest/adapter/consumer-typescript-paths.js +0 -3
- package/dist/engines/node-vitest/adapter/evidence.d.ts +0 -33
- package/dist/engines/node-vitest/adapter/failure-details.d.ts +0 -3
- package/dist/engines/node-vitest/adapter/index.d.ts +0 -1
- package/dist/engines/node-vitest/adapter/reporter.d.ts +0 -7
- package/dist/engines/node-vitest/adapter/resolution.d.ts +0 -12
- package/dist/engines/node-vitest/adapter/resolution.js +0 -1
- package/dist/engines/node-vitest/adapter/workspace.d.ts +0 -19
- package/dist/engines/node-vitest/runtime/contract/index.d.ts +0 -64
- package/dist/engines/node-vitest/runtime/contract/index.js +0 -1
- package/dist/engines/node-vitest/runtime/data/http.d.ts +0 -4
- package/dist/engines/node-vitest/runtime/data/http.js +0 -1
- package/dist/engines/node-vitest/runtime/data/index.d.ts +0 -8
- package/dist/engines/node-vitest/runtime/data/primitives.d.ts +0 -1
- package/dist/engines/node-vitest/runtime/data/report.d.ts +0 -3
- package/dist/engines/node-vitest/runtime/data/runner.d.ts +0 -4
- package/dist/engines/node-vitest/runtime/data/runner.js +0 -1
- package/dist/engines/node-vitest/runtime/data/scenario.d.ts +0 -11
- package/dist/engines/node-vitest/runtime/data/types.d.ts +0 -384
- package/dist/engines/node-vitest/runtime/runtime-input.d.ts +0 -64
- package/dist/engines/playwright/adapter/adapter.d.ts +0 -18
- package/dist/engines/playwright/adapter/attachments.d.ts +0 -26
- package/dist/engines/playwright/adapter/config.d.ts +0 -45
- package/dist/engines/playwright/adapter/evidence-validation.d.ts +0 -9
- package/dist/engines/playwright/adapter/evidence.d.ts +0 -32
- package/dist/engines/playwright/adapter/failure-details.d.ts +0 -2
- package/dist/engines/playwright/adapter/index.d.ts +0 -3
- package/dist/engines/playwright/adapter/reporter.d.ts +0 -12
- package/dist/engines/playwright/runtime/config-file.d.ts +0 -2
- package/dist/engines/playwright/runtime/config.d.ts +0 -24
- package/dist/engines/playwright/runtime/index.d.ts +0 -4
- package/dist/engines/playwright/runtime/runtime-input.d.ts +0 -36
- package/dist/engines/playwright/runtime/sandbox.d.ts +0 -84
- package/dist/engines/runtime-input-file.d.ts +0 -27
- package/dist/environment/lifecycle-artifacts.d.ts +0 -7
- package/dist/environment/lifecycle-controller.d.ts +0 -60
- package/dist/environment/lifecycle.d.ts +0 -32
- package/dist/environment/maintenance.d.ts +0 -68
- package/dist/environment/planning-types.d.ts +0 -33
- package/dist/environment/ports.d.ts +0 -10
- package/dist/environment/ready-environment.d.ts +0 -16
- package/dist/environment/run-environment.d.ts +0 -39
- package/dist/environment/run-stopping.d.ts +0 -13
- package/dist/environment/runtime-contexts.d.ts +0 -37
- package/dist/environment/runtime-manager.d.ts +0 -87
- package/dist/environment/runtime-planning.d.ts +0 -16
- package/dist/environment/runtime-preparation.d.ts +0 -30
- package/dist/environment/runtime-service.d.ts +0 -12
- package/dist/environment/services.d.ts +0 -56
- package/dist/environment/state.d.ts +0 -15
- package/dist/environment/status-runtime.d.ts +0 -53
- package/dist/environment/template.d.ts +0 -164
- package/dist/evidence/artifact-config.d.ts +0 -14
- package/dist/evidence/artifact-validation.d.ts +0 -4
- package/dist/evidence/artifacts.d.ts +0 -75
- package/dist/evidence/bundles.d.ts +0 -27
- package/dist/evidence/ci-provenance.d.ts +0 -9
- package/dist/evidence/contracts.d.ts +0 -154
- package/dist/evidence/environment-record.d.ts +0 -22
- package/dist/evidence/file-evidence.d.ts +0 -23
- package/dist/evidence/finalization.d.ts +0 -9
- package/dist/evidence/index.d.ts +0 -8
- package/dist/evidence/logs.d.ts +0 -31
- package/dist/evidence/operation-timings.d.ts +0 -60
- package/dist/evidence/read-bundle.d.ts +0 -4
- package/dist/evidence/read-fields.d.ts +0 -21
- package/dist/evidence/read-provenance.d.ts +0 -2
- package/dist/evidence/read-redaction.d.ts +0 -2
- package/dist/evidence/read-retention.d.ts +0 -2
- package/dist/evidence/read-run.d.ts +0 -2
- package/dist/evidence/reading.d.ts +0 -28
- package/dist/evidence/reporting-types.d.ts +0 -349
- package/dist/evidence/reporting.d.ts +0 -3
- package/dist/evidence/secure-file-copy.d.ts +0 -24
- package/dist/evidence/setup-progress.d.ts +0 -63
- package/dist/evidence/step-output.d.ts +0 -16
- package/dist/evidence/storage-inventory.d.ts +0 -27
- package/dist/evidence/storage.d.ts +0 -25
- package/dist/evidence/timing.d.ts +0 -23
- package/dist/file.d.ts +0 -11
- package/dist/index.d.ts +0 -4
- package/dist/kernel/error-serialization.d.ts +0 -40
- package/dist/kernel/redaction.d.ts +0 -2
- package/dist/kernel/unknown-values.d.ts +0 -11
- package/dist/kernel/work-metrics.d.ts +0 -6
- package/dist/process/capture-output.d.ts +0 -7
- package/dist/process/command-shell.d.ts +0 -1
- package/dist/process/environment-overlay.d.ts +0 -17
- package/dist/process/environment.d.ts +0 -33
- package/dist/process/files/contained-path.d.ts +0 -8
- package/dist/process/files/directory-status.d.ts +0 -14
- package/dist/process/files/dotenv.d.ts +0 -2
- package/dist/process/files/file-snapshot.d.ts +0 -34
- package/dist/process/files/json-file.d.ts +0 -11
- package/dist/process/files/paths.d.ts +0 -3
- package/dist/process/files/product-dir.d.ts +0 -1
- package/dist/process/files/temp-dir.d.ts +0 -11
- package/dist/process/host/metadata.d.ts +0 -6
- package/dist/process/host/platform.d.ts +0 -57
- package/dist/process/host-command.d.ts +0 -4
- package/dist/process/host-inspection-command.d.ts +0 -13
- package/dist/process/host-process.d.ts +0 -19
- package/dist/process/index.d.ts +0 -9
- package/dist/process/lifecycle-fence.d.ts +0 -10
- package/dist/process/locks.d.ts +0 -28
- package/dist/process/process-contracts.d.ts +0 -78
- package/dist/process/process-group.d.ts +0 -12
- package/dist/process/process-identity.d.ts +0 -27
- package/dist/process/process-limits.d.ts +0 -6
- package/dist/process/process.d.ts +0 -12
- package/dist/process/readiness.d.ts +0 -43
- package/dist/process/recovery.d.ts +0 -3
- package/dist/process/runs/inspection.d.ts +0 -5
- package/dist/process/runs/manifest.d.ts +0 -86
- package/dist/process/runs/ownership.d.ts +0 -11
- package/dist/process/runs/product-state.d.ts +0 -2
- package/dist/process/runs/schema.d.ts +0 -3
- package/dist/process/runs/stop.d.ts +0 -19
- package/dist/process/runtime-socket.d.ts +0 -4
- package/dist/process/service-processes.d.ts +0 -13
- package/dist/process/shutdown.d.ts +0 -10
- package/dist/process/stoppable-settlement.d.ts +0 -26
- package/dist/process/url-redaction.d.ts +0 -1
- package/dist/process/windows-cli-owner.d.ts +0 -2
- package/dist/process/windows-native.d.ts +0 -12
- package/dist/process/windows-process-identity.d.ts +0 -4
- package/dist/repo/ci-environment.d.ts +0 -7
- package/dist/repo/fingerprint-policy.d.ts +0 -13
- package/dist/repo/git-path.d.ts +0 -2
- package/dist/repo/history.d.ts +0 -17
- package/dist/repo/managed-git.d.ts +0 -10
- package/dist/repo/metadata.d.ts +0 -3
- package/dist/repo/physical-tree.d.ts +0 -37
- package/dist/repo/publish-directory.d.ts +0 -20
- package/dist/repo/remote.d.ts +0 -6
- package/dist/repo/state.d.ts +0 -26
- package/dist/repo/tree-listing.d.ts +0 -10
- package/dist/steps/build-config.d.ts +0 -34
- package/dist/steps/configured-step-testkit-modules.d.ts +0 -19
- package/dist/steps/configured-steps.d.ts +0 -51
- package/dist/steps/environment.d.ts +0 -82
- package/dist/steps/index.d.ts +0 -2
- package/dist/steps/module-runner.d.ts +0 -1
- package/dist/steps/run.d.ts +0 -36
- package/dist/toolchains/archive.d.ts +0 -53
- package/dist/toolchains/esbuild.d.ts +0 -9
- package/dist/toolchains/host-node-support.d.ts +0 -3
- package/dist/toolchains/index.d.ts +0 -114
- package/dist/toolchains/managed-node-releases.d.ts +0 -28
- package/dist/toolchains/node-cache.d.ts +0 -20
- package/dist/toolchains/node-integrity.d.ts +0 -18
- package/dist/toolchains/node-provisioning.d.ts +0 -29
- package/dist/toolchains/semver.d.ts +0 -13
- package/dist/toolchains/shared-operation.d.ts +0 -11
- package/dist/toolchains/timeouts.d.ts +0 -1
- package/dist/toolchains/vitest/index.d.ts +0 -13
- package/dist/tracker/gitea.d.ts +0 -14
- package/dist/tracker/github.d.ts +0 -14
- package/dist/tracker/http.d.ts +0 -33
- package/dist/tracker/index.d.ts +0 -4
- package/dist/tracker/redaction.d.ts +0 -4
- package/dist/tracker/requests.d.ts +0 -17
- package/dist/tracker/responses.d.ts +0 -24
- package/dist/tracker/types.d.ts +0 -51
- package/docs/engine-architecture.md +0 -682
- /package/dist/engines/{k6/runtime/runtime-globals.js → api/profiles.js} +0 -0
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
export declare const TESTKIT_PACKAGE_NAME = "@gfdelarue/testkit";
|
|
2
|
-
export type RootDependencyGroup = "dependencies" | "optionalDependencies";
|
|
3
|
-
export interface PackageResolutionRequest {
|
|
4
|
-
readonly dependencyGroup: RootDependencyGroup;
|
|
5
|
-
readonly packageName: string;
|
|
6
|
-
readonly publicEntrypoint: string;
|
|
7
|
-
}
|
|
8
|
-
export interface ResolvedPackage {
|
|
9
|
-
readonly entrypoint: string;
|
|
10
|
-
readonly manifestPath: string;
|
|
11
|
-
readonly name: string;
|
|
12
|
-
readonly root: string;
|
|
13
|
-
readonly version: string;
|
|
14
|
-
}
|
|
15
|
-
export type ResolvedPackageEntrypoint = Pick<ResolvedPackage, "entrypoint" | "name" | "version">;
|
|
16
|
-
export interface RootPackageResolverOptions {
|
|
17
|
-
readonly packageJsonPath?: string;
|
|
18
|
-
readonly resolveImportFromRoot?: (specifier: string) => string;
|
|
19
|
-
}
|
|
20
|
-
export declare class RootPackageDeclarationError extends Error {
|
|
21
|
-
readonly code = "TESTKIT_ROOT_PACKAGE_DECLARATION_INVALID";
|
|
22
|
-
constructor(message: string, options?: ErrorOptions);
|
|
23
|
-
}
|
|
24
|
-
export declare class MissingDirectPackageError extends Error {
|
|
25
|
-
readonly code = "TESTKIT_DIRECT_PACKAGE_MISSING";
|
|
26
|
-
readonly packageName: string;
|
|
27
|
-
readonly version: string;
|
|
28
|
-
constructor(packageName: string, version: string, publicEntrypoint: string, optionalDependency: boolean, options: ErrorOptions);
|
|
29
|
-
}
|
|
30
|
-
export declare class BrokenPackageInstallationError extends Error {
|
|
31
|
-
readonly code = "TESTKIT_PACKAGE_INSTALLATION_BROKEN";
|
|
32
|
-
readonly packageName: string;
|
|
33
|
-
readonly version: string;
|
|
34
|
-
constructor(packageName: string, version: string, problem: string, options?: ErrorOptions);
|
|
35
|
-
}
|
|
36
|
-
export declare class RootPackageResolver {
|
|
37
|
-
readonly packageJsonPath: string;
|
|
38
|
-
readonly packageRoot: string;
|
|
39
|
-
private readonly manifest;
|
|
40
|
-
private readonly requireFromRoot;
|
|
41
|
-
private readonly resolveRootImport;
|
|
42
|
-
constructor(options?: Readonly<RootPackageResolverOptions>);
|
|
43
|
-
resolveImportFromRoot(request: Readonly<PackageResolutionRequest>): ResolvedPackage;
|
|
44
|
-
resolveRequireFromRoot(request: Readonly<PackageResolutionRequest>): ResolvedPackage;
|
|
45
|
-
resolveRequireFromPackage(parent: Readonly<ResolvedPackage>, request: Readonly<PackageResolutionRequest>): ResolvedPackage;
|
|
46
|
-
resolveRequirePublicEntrypoint(selectedPackage: Readonly<ResolvedPackage>, publicEntrypoint: string): string;
|
|
47
|
-
resolveRootPublicEntrypoint(publicEntrypoint: string): string;
|
|
48
|
-
brokenInstallation(selectedPackage: Readonly<ResolvedPackage>, problem: string, cause: unknown): BrokenPackageInstallationError;
|
|
49
|
-
private declaredVersion;
|
|
50
|
-
}
|
|
51
|
-
export declare function importResolvedPackageEntrypoint(selectedPackage: Readonly<ResolvedPackageEntrypoint>): Promise<unknown>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
export { PLAYWRIGHT_PACKAGE_FAMILY_REQUIREMENTS } from "./package-requirements.js";
|
|
2
|
-
import { type ManagedProcessResult } from "../../process/index.js";
|
|
3
|
-
import { type LinuxLibc, type PlatformTarget } from "../../process/host/platform.js";
|
|
4
|
-
import { RootPackageResolver } from "./package-resolution.js";
|
|
5
|
-
import type { DirectPackageInstallation, EngineResolutionContext } from "./types.js";
|
|
6
|
-
export interface PlaywrightPackageFamily {
|
|
7
|
-
readonly cli: string;
|
|
8
|
-
readonly playwright: DirectPackageInstallation<"playwright">;
|
|
9
|
-
readonly playwrightCore: DirectPackageInstallation<"playwright-core">;
|
|
10
|
-
readonly playwrightTest: DirectPackageInstallation<"@playwright/test">;
|
|
11
|
-
}
|
|
12
|
-
export type PlaywrightRegistryMode = "configured-absolute" | "configured-relative" | "default" | "hermetic";
|
|
13
|
-
export interface PlaywrightRegistrySelection {
|
|
14
|
-
readonly canonicalValue: string;
|
|
15
|
-
readonly mode: PlaywrightRegistryMode;
|
|
16
|
-
}
|
|
17
|
-
export interface PlaywrightInstallation {
|
|
18
|
-
readonly authoringEntrypoints: {
|
|
19
|
-
readonly authoring: string;
|
|
20
|
-
readonly root: string;
|
|
21
|
-
readonly rootPackageJson: string;
|
|
22
|
-
};
|
|
23
|
-
readonly browserExecutable: string;
|
|
24
|
-
readonly engineId: "playwright";
|
|
25
|
-
readonly family: PlaywrightPackageFamily;
|
|
26
|
-
readonly registry: PlaywrightRegistrySelection;
|
|
27
|
-
}
|
|
28
|
-
export interface PlaywrightResolutionOptions {
|
|
29
|
-
readonly ambientEnvironment?: Readonly<NodeJS.ProcessEnv>;
|
|
30
|
-
readonly configuredRegistry?: string;
|
|
31
|
-
}
|
|
32
|
-
export interface PlaywrightHost {
|
|
33
|
-
readonly linuxLibc: LinuxLibc | null;
|
|
34
|
-
readonly target: PlatformTarget;
|
|
35
|
-
}
|
|
36
|
-
interface PlaywrightChildRequest {
|
|
37
|
-
readonly family: PlaywrightPackageFamily;
|
|
38
|
-
readonly registry: PlaywrightRegistrySelection;
|
|
39
|
-
}
|
|
40
|
-
interface PlaywrightChildSuccess extends PlaywrightChildRequest {
|
|
41
|
-
readonly browserExecutable: string;
|
|
42
|
-
readonly ok: true;
|
|
43
|
-
}
|
|
44
|
-
export declare class PlaywrightInstallationError extends Error {
|
|
45
|
-
readonly code = "TESTKIT_PLAYWRIGHT_INSTALLATION_INVALID";
|
|
46
|
-
constructor(problem: string, options?: ErrorOptions);
|
|
47
|
-
}
|
|
48
|
-
export declare class UnsupportedPlaywrightPlatformError extends Error {
|
|
49
|
-
readonly code = "TESTKIT_PLAYWRIGHT_PLATFORM_UNSUPPORTED";
|
|
50
|
-
constructor(target: Readonly<PlatformTarget>, linuxLibc: LinuxLibc | null);
|
|
51
|
-
}
|
|
52
|
-
export declare function resolvePlaywrightPackageFamily(resolver?: RootPackageResolver): PlaywrightPackageFamily;
|
|
53
|
-
export declare function resolvePlaywrightRegistry(options: {
|
|
54
|
-
readonly ambientEnvironment: Readonly<NodeJS.ProcessEnv>;
|
|
55
|
-
readonly configuredValue?: string;
|
|
56
|
-
readonly homeDirectory?: string;
|
|
57
|
-
readonly platform: PlatformTarget["platform"];
|
|
58
|
-
readonly productRoot: string;
|
|
59
|
-
}): PlaywrightRegistrySelection;
|
|
60
|
-
export declare function playwrightRegistryEnvironment(ambientEnvironment: Readonly<NodeJS.ProcessEnv>, registry: Readonly<PlaywrightRegistrySelection>): Readonly<Record<string, string>>;
|
|
61
|
-
export declare function resolvePlaywrightInstallation(context: Readonly<EngineResolutionContext>, options?: Readonly<PlaywrightResolutionOptions>): Promise<PlaywrightInstallation>;
|
|
62
|
-
export declare function throwIfPlaywrightProcessAborted(signal: AbortSignal, result: Readonly<ManagedProcessResult>, processFailure: Error | null): void;
|
|
63
|
-
type ParsedChildOutput = PlaywrightChildSuccess | Readonly<{
|
|
64
|
-
error: Readonly<{
|
|
65
|
-
code?: string;
|
|
66
|
-
message: string;
|
|
67
|
-
name: string;
|
|
68
|
-
}>;
|
|
69
|
-
ok: false;
|
|
70
|
-
}>;
|
|
71
|
-
export declare function requireBoundedPlaywrightChildOutput(stdout: string): void;
|
|
72
|
-
export declare function parsePlaywrightChildOutput(stdout: string): ParsedChildOutput;
|
|
73
|
-
export declare function requireMatchingPlaywrightChildRequest(output: Readonly<PlaywrightChildSuccess>, request: Readonly<PlaywrightChildRequest>): void;
|
|
74
|
-
export declare function requireBrowserExecutable(value: string, target: Readonly<PlatformTarget>): string;
|
|
75
|
-
export declare function requireSupportedPlaywrightHost(host: Readonly<PlaywrightHost>): void;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface EngineResolutionContext {
|
|
2
|
-
readonly productRoot: string;
|
|
3
|
-
readonly signal: AbortSignal;
|
|
4
|
-
}
|
|
5
|
-
export interface DirectPackageInstallation<Name extends string = string> {
|
|
6
|
-
readonly entrypoint: string;
|
|
7
|
-
readonly name: Name;
|
|
8
|
-
readonly root: string;
|
|
9
|
-
readonly version: string;
|
|
10
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { EngineCancellationSignal, EngineJsonObject } from "../../api/index.js";
|
|
2
|
-
import { type BuildFailure } from "esbuild";
|
|
3
|
-
export declare class K6ConsumerCompilationError extends Error {
|
|
4
|
-
constructor(error: BuildFailure);
|
|
5
|
-
}
|
|
6
|
-
export interface K6BundleRequest {
|
|
7
|
-
readonly configuration?: EngineJsonObject;
|
|
8
|
-
readonly entrypoints: Readonly<{
|
|
9
|
-
authoring: string;
|
|
10
|
-
config: string;
|
|
11
|
-
root: string;
|
|
12
|
-
rootPackageJson: string;
|
|
13
|
-
}>;
|
|
14
|
-
readonly nativeSummaryDirectory: string;
|
|
15
|
-
readonly outputFile: string;
|
|
16
|
-
readonly rootDirectory: string;
|
|
17
|
-
readonly signal: EngineCancellationSignal;
|
|
18
|
-
readonly sourceFile: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Builds a self-contained Sobek/k6 module. Testkit public imports resolve only
|
|
22
|
-
* to the selected root package entrypoints; native k6/xk6 modules remain
|
|
23
|
-
* external for Sobek to provide.
|
|
24
|
-
*/
|
|
25
|
-
export declare function bundleK6Suite({ configuration, entrypoints, outputFile, nativeSummaryDirectory, rootDirectory, signal, sourceFile, }: Readonly<K6BundleRequest>): Promise<void>;
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import n from"node:fs/promises";import k from"node:path";import{context as T}from"esbuild";import{parseK6RepositoryConfiguration as R}from"../../contracts/k6-repository-configuration.js";const v=/^@gfdelarue\/testkit(?:\/|$)/,I=/^@gfdelarue\/testkit-engine-/,C=/^(?:@playwright\/|@vitest\/|playwright(?:-core)?(?:\/|$)|vitest(?:\/|$))/;export class K6ConsumerCompilationError extends Error{constructor(t){super(t.message,{cause:t}),this.name="K6ConsumerCompilationError"}}export async function bundleK6Suite({configuration:e,entrypoints:t,outputFile:r,nativeSummaryDirectory:o,rootDirectory:s,signal:i,sourceFile:w}){g(i);const S=await A(t),l=R(e);await n.mkdir(k.dirname(r),{recursive:!0});const m=`${r}.entry.mjs`,a=l===null?null:`${r}.configuration.mjs`;try{const y=[n.writeFile(m,N(w,a,o),"utf8")];a!==null&&l!==null&&y.push(n.writeFile(a,x(l),"utf8")),await Promise.all(y);const E={absWorkingDir:s,bundle:!0,charset:"utf8",define:{"process.env":"__ENV"},entryPoints:[m],external:["k6","k6/*","xk6-sql","xk6-sql/*"],format:"esm",legalComments:"none",logLevel:"silent",outfile:r,platform:"neutral",plugins:[P(S)],sourcemap:"inline",target:"es2020",treeShaking:!0,write:!1},f=await T(E),h=()=>{f.cancel().catch(()=>{})};i.addEventListener("abort",h,{once:!0});try{g(i);let c;try{c=await f.rebuild()}catch(d){throw b(d)?new K6ConsumerCompilationError(d):d}g(i);const _=c.outputFiles?.at(0);if(c.outputFiles?.length!==1||_===void 0)throw new Error("k6 bundler did not produce exactly one output file");await n.writeFile(r,_.contents)}finally{i.removeEventListener("abort",h),await f.dispose()}}finally{await Promise.all([n.rm(m,{force:!0}),...a===null?[]:[n.rm(a,{force:!0})]])}}function b(e){return e instanceof Error&&Array.isArray(Reflect.get(e,"errors"))&&Array.isArray(Reflect.get(e,"warnings"))}function g(e){if(e.aborted)throw new Error("k6 bundle preparation was cancelled")}function P(e){return{name:"testkit-managed-public-entrypoints",setup(t){t.onResolve({filter:/^@gfdelarue\/testkit\/config$/},()=>({path:e.config})),t.onResolve({filter:/^@gfdelarue\/testkit\/k6$/},()=>({path:e.authoring})),t.onResolve({filter:/^@gfdelarue\/testkit$/},()=>({path:e.root})),t.onResolve({filter:/^@gfdelarue\/testkit\/package\.json$/},()=>({path:e.rootPackageJson})),t.onResolve({filter:v},r=>p(r.path,"unsupported Testkit package subpath")),t.onResolve({filter:I},r=>p(r.path,"internal engine package")),t.onResolve({filter:C},r=>p(r.path,"another engine's package"))}}}function p(e,t){return{errors:[{text:`k6 consumer modules may not import ${t} "${e}"`}]}}async function A(e){const[t,r,o,s]=await Promise.all([u(e.authoring,"authoring"),u(e.config,"config"),u(e.root,"root"),u(e.rootPackageJson,"rootPackageJson")]);return Object.freeze({authoring:t,config:r,root:o,rootPackageJson:s})}async function u(e,t){if(!k.isAbsolute(e))throw new Error(`Resolved k6 installation must provide an absolute ${t} entrypoint`);const r=await n.realpath(e);if(!(await n.stat(r)).isFile())throw new Error(`Resolved k6 installation ${t} entrypoint must be a regular file`);return r}function N(e,t,r){const o=JSON.stringify(e);return`
|
|
2
|
-
${t===null?"":`import ${JSON.stringify(t)};`}
|
|
3
|
-
import { sha256 as __testkitSha256 } from "k6/crypto";
|
|
4
|
-
import * as __testkitConsumerModule from ${o};
|
|
5
|
-
const __testkitDefault = __testkitConsumerModule.default;
|
|
6
|
-
export { __testkitDefault as default };
|
|
7
|
-
export * from ${o};
|
|
8
|
-
// All k6 lifecycle functions, options, and named scenario executors remain
|
|
9
|
-
// native re-exports. Testkit suite helpers must be exported in native k6 module
|
|
10
|
-
// shape by their authoring file. The optional default binding remains undefined
|
|
11
|
-
// when a native named-scenarios-only module has no default export.
|
|
12
|
-
// handleSummary is delegated below so consumer files can only be written under
|
|
13
|
-
// the executor-owned invocation workspace and then promoted as bounded evidence.
|
|
14
|
-
|
|
15
|
-
export async function handleSummary(data) {
|
|
16
|
-
const consumerHandleSummary = __testkitConsumerModule.handleSummary;
|
|
17
|
-
if (typeof consumerHandleSummary !== "function") return {};
|
|
18
|
-
const outputs = await consumerHandleSummary(data);
|
|
19
|
-
if (outputs === null || typeof outputs !== "object" || Array.isArray(outputs)) {
|
|
20
|
-
throw new Error(
|
|
21
|
-
"TESTKIT_K6_SUMMARY_OUTPUT_INVALID: handleSummary must return an object",
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
const redirected = {};
|
|
25
|
-
const manifest = [];
|
|
26
|
-
let fileCount = 0;
|
|
27
|
-
let totalBytes = 0;
|
|
28
|
-
for (const [name, value] of Object.entries(outputs)) {
|
|
29
|
-
const sizeBytes = __testkitSummaryOutputBytes(value, name);
|
|
30
|
-
totalBytes += sizeBytes;
|
|
31
|
-
if (totalBytes > 16 * 1024 * 1024) {
|
|
32
|
-
throw new Error(
|
|
33
|
-
"TESTKIT_K6_SUMMARY_OUTPUT_INVALID: handleSummary output exceeds the 16777216 byte aggregate limit",
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
if (name === "stdout" || name === "stderr") {
|
|
37
|
-
redirected[name] = value;
|
|
38
|
-
continue;
|
|
39
|
-
}
|
|
40
|
-
__testkitRequireSafeSummaryName(name);
|
|
41
|
-
fileCount += 1;
|
|
42
|
-
if (fileCount > 128) {
|
|
43
|
-
throw new Error(
|
|
44
|
-
"TESTKIT_K6_SUMMARY_OUTPUT_INVALID: handleSummary returned more than 128 file outputs",
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
const storedName = __testkitSha256(name, "hex") + ".output";
|
|
48
|
-
redirected[${JSON.stringify(r)} + "/" + storedName] = value;
|
|
49
|
-
manifest.push({
|
|
50
|
-
name,
|
|
51
|
-
sha256: __testkitSha256(value, "hex"),
|
|
52
|
-
sizeBytes,
|
|
53
|
-
storedName,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
if (manifest.length > 0) {
|
|
57
|
-
redirected[${JSON.stringify(r)} + "/manifest.json"] =
|
|
58
|
-
JSON.stringify({ entries: manifest, version: 1 });
|
|
59
|
-
}
|
|
60
|
-
return redirected;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function __testkitRequireSafeSummaryName(name) {
|
|
64
|
-
if (
|
|
65
|
-
typeof name !== "string" ||
|
|
66
|
-
name.length === 0 ||
|
|
67
|
-
name.length > 240 ||
|
|
68
|
-
name.includes("\\0") ||
|
|
69
|
-
name.startsWith("/") ||
|
|
70
|
-
name.startsWith("\\\\") ||
|
|
71
|
-
/^[a-z]:/iu.test(name)
|
|
72
|
-
) {
|
|
73
|
-
throw new Error(
|
|
74
|
-
"TESTKIT_K6_SUMMARY_OUTPUT_INVALID: handleSummary output name must be a safe relative path",
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
const segments = name.split(/[\\\\/]/u);
|
|
78
|
-
if (segments.some((segment) => segment === "" || segment === "." || segment === "..")) {
|
|
79
|
-
throw new Error(
|
|
80
|
-
"TESTKIT_K6_SUMMARY_OUTPUT_INVALID: handleSummary output name contains traversal",
|
|
81
|
-
);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
function __testkitSummaryOutputBytes(value, name) {
|
|
86
|
-
let sizeBytes;
|
|
87
|
-
if (typeof value === "string") {
|
|
88
|
-
sizeBytes = 0;
|
|
89
|
-
for (const character of value) {
|
|
90
|
-
const codePoint = character.codePointAt(0);
|
|
91
|
-
sizeBytes += codePoint <= 0x7f ? 1 : codePoint <= 0x7ff ? 2 : codePoint <= 0xffff ? 3 : 4;
|
|
92
|
-
}
|
|
93
|
-
} else if (value instanceof ArrayBuffer) {
|
|
94
|
-
sizeBytes = value.byteLength;
|
|
95
|
-
} else {
|
|
96
|
-
throw new Error(
|
|
97
|
-
"TESTKIT_K6_SUMMARY_OUTPUT_INVALID: handleSummary output " + name + " must be a string or ArrayBuffer",
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
if (sizeBytes > 8 * 1024 * 1024) {
|
|
101
|
-
throw new Error(
|
|
102
|
-
"TESTKIT_K6_SUMMARY_OUTPUT_INVALID: handleSummary output " + name + " exceeds the 8388608 byte limit",
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
return sizeBytes;
|
|
106
|
-
}
|
|
107
|
-
`}function x(e){return`
|
|
108
|
-
import { registerRepoConfig as __testkitRegisterPublicConfig } from "@gfdelarue/testkit/config";
|
|
109
|
-
import { __testkitRegisterK6RepositoryConfiguration as __testkitRegisterRuntimeConfig } from "@gfdelarue/testkit/k6";
|
|
110
|
-
const __testkitRepositoryConfiguration = ${JSON.stringify(e)};
|
|
111
|
-
__testkitRegisterPublicConfig(__testkitRegisterRuntimeConfig(__testkitRepositoryConfiguration));
|
|
112
|
-
`}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type EvidenceFileAccess } from "../../adapters/evidence-files.js";
|
|
2
|
-
import type { EngineEvidence, EngineJsonObject } from "../../api/index.js";
|
|
3
|
-
export interface K6EvidenceRequest {
|
|
4
|
-
readonly artifactDirectory: string;
|
|
5
|
-
readonly stderr: string;
|
|
6
|
-
readonly stdout: string;
|
|
7
|
-
readonly summaryFile: string;
|
|
8
|
-
}
|
|
9
|
-
export declare const K6_SUMMARY_MAX_BYTES: number;
|
|
10
|
-
export interface K6EvidenceResult {
|
|
11
|
-
readonly evidence: EngineEvidence;
|
|
12
|
-
readonly summary: EngineJsonObject | null;
|
|
13
|
-
readonly summaryError: Error | null;
|
|
14
|
-
}
|
|
15
|
-
export declare function collectK6Evidence({ artifactDirectory, stderr, stdout, summaryFile }: Readonly<K6EvidenceRequest>, fileAccess?: EvidenceFileAccess): Promise<K6EvidenceResult>;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{decodeEngineRuntimeArtifactPayload as g}from"../../api/runtime-artifact.js";import S from"node:fs/promises";import{ENGINE_RUNTIME_ARTIFACT_MARKER as w,findEncodedEngineRuntimeArtifacts as E}from"../../api/index.js";import{evidenceFileAccess as A,readStableEvidenceFile as _,writeOwnedEvidenceFile as m}from"../../adapters/evidence-files.js";import{isUnknownRecord as c}from"../../../kernel/unknown-values.js";import{toError as l}from"../../../kernel/error-serialization.js";export const K6_SUMMARY_MAX_BYTES=16*1024*1024;const f=64,d=1e5,p=1024*1024,y=1e5;export async function collectK6Evidence({artifactDirectory:n,stderr:t,stdout:i,summaryFile:a},e=A){await S.mkdir(n,{recursive:!0});const r=[],o=[];i.length>0&&(o.push({stream:"stdout",text:i}),r.push(await h(n,"stdout.log","k6-stdout","engine.output",i))),t.length>0&&(o.push({stream:"stderr",text:t}),r.push(await h(n,"stderr.log","k6-stderr","engine.output",t)));const s=await $(n,`${i}
|
|
2
|
-
${t}`);r.push(...s);const u=await O(a,e);if(u.value!==null){const v=await m(n,"k6-summary.json",`${JSON.stringify(u.value,null,2)}
|
|
3
|
-
`);r.push({contentType:"application/json",kind:"engine.summary",name:"k6-summary",path:v,summary:"k6 execution summary"})}return{evidence:{artifacts:r,logs:o,metrics:u.value===null?[]:N(u.value),...u.value===null?{}:{native:{k6Summary:u.value}}},summary:u.value,summaryError:u.error}}async function h(n,t,i,a,e){const r=await m(n,t,e);return{contentType:"text/plain; charset=utf-8",kind:a,name:i,path:r,summary:`${i} captured`}}async function $(n,t){const i=[];let a=0;for(const e of E(t)){const r=M(e),o=`${a.toString().padStart(3,"0")}-${R(r.name)}.json`,s=await m(n,o,`${JSON.stringify(r.data,null,2)}
|
|
4
|
-
`);i.push({contentType:r.contentType,data:r.data,kind:r.kind,metadata:r.metadata,name:r.name,path:s,...r.summary===null?{}:{summary:r.summary}}),a+=1}return i}function M(n){const t=g(n),i={emittedAt:t.emittedAt,marker:w};return{contentType:t.contentType,data:t.data,kind:t.kind??"testkit.runtime",metadata:i,name:t.name,summary:t.summary}}async function O(n,t){let i;try{({contents:i}=await _(n,K6_SUMMARY_MAX_BYTES,"k6 summary export",t))}catch(a){return{error:l(a),value:null}}try{const a=JSON.parse(i.toString("utf8")),e=T(a,"k6 summary export");return{error:null,value:k(e)}}catch(a){return{error:l(a),value:null}}}function k(n){return Object.fromEntries(Object.entries(n).filter(([t])=>t!=="setup_data"))}function N(n){const t=n.metrics;if(!c(t))return[];const i=[];for(const[a,e]of Object.entries(t)){if(!c(e))continue;const r=c(e.values)?e.values:e;for(const[o,s]of Object.entries(r))typeof s!="number"||!Number.isFinite(s)||i.push({dimensions:{statistic:o},name:a,value:s})}return i}function R(n){const t=n.trim().toLowerCase().replace(/[^a-z0-9._-]+/gu,"-").replace(/^-+|-+$/gu,"").slice(0,80);return t.length>0?t:"artifact"}function T(n,t){if(!c(n))throw new Error(`${t} must contain a JSON object`);const i=[{depth:0,value:n}];let a=0;for(;i.length>0;){const e=i.pop();if(e===void 0)continue;if(a+=1,a>d)throw new Error(`${t} exceeds the ${d.toString()} JSON node limit`);if(e.depth>f)throw new Error(`${t} exceeds the ${f.toString()} level JSON depth limit`);if(typeof e.value=="string"){if(Buffer.byteLength(e.value,"utf8")>p)throw new Error(`${t} contains a string exceeding the ${p.toString()} byte limit`);continue}if(e.value===null||typeof e.value=="boolean")continue;if(typeof e.value=="number"){if(!Number.isFinite(e.value))throw new Error(`${t} contains a non-finite number`);continue}const r=Array.isArray(e.value)?e.value:c(e.value)?Object.values(e.value):null;if(r===null)throw new Error(`${t} contains a non-JSON value`);if(r.length>y)throw new Error(`${t} contains a collection exceeding the ${y.toString()} entry limit`);for(const o of r)i.push({depth:e.depth+1,value:o})}return n}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type ProcessClassification } from "../../adapters/execution.js";
|
|
2
|
-
import { type EngineExecutionRequest, type EngineExecutionResult, type EngineFailureEvidence, type EngineInvocationScope } from "../../api/index.js";
|
|
3
|
-
import { type ManagedProcessResult } from "../../../process/index.js";
|
|
4
|
-
import type { K6Installation } from "../../installations/k6.js";
|
|
5
|
-
import { writeOwnedK6RuntimeInput } from "./input.js";
|
|
6
|
-
export interface K6ExecutorDependencies {
|
|
7
|
-
removeOwnedDirectory(directory: string): Promise<void>;
|
|
8
|
-
writeRuntimeInput(taskDirectory: string, document: Parameters<typeof writeOwnedK6RuntimeInput>[1]): ReturnType<typeof writeOwnedK6RuntimeInput>;
|
|
9
|
-
}
|
|
10
|
-
export declare const k6ExecutorDependencies: K6ExecutorDependencies;
|
|
11
|
-
export declare function executeK6Engine(request: Readonly<EngineExecutionRequest<"k6">>, installation: Readonly<K6Installation>, scope: EngineInvocationScope, dependencies?: K6ExecutorDependencies): Promise<EngineExecutionResult>;
|
|
12
|
-
export declare function classifyK6ProcessResult(result: ManagedProcessResult, summary: Readonly<Record<string, unknown>> | null, summaryError: Error | null, timeoutMs: number, deadlineExceeded: boolean): ProcessClassification;
|
|
13
|
-
export declare function k6EvidenceCollectionFailure(result: ManagedProcessResult, error: unknown): EngineFailureEvidence;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{makeTempDirAsync as S}from"../../../process/files/temp-dir.js";import{toError as k}from"../../../kernel/error-serialization.js";import{classifyManagedProcessResult as b,terminalOutcome as y,emptyEvidence as M,failureFromError as E,processExitDetails as K,processExitFailure as A,executeEngineTasks as F,managedProcessFailure as P}from"../../adapters/execution.js";import{requireRootDirectory as U,requireAbsoluteWorkspacePath as R,requireConsumerFile as L,safeSegment as h}from"../../adapters/workspace.js";import d from"node:fs/promises";import v from"node:path";import{isEngineTaskDeadlineExceededReason as C,resolveEngineTaskInputs as V}from"../../api/index.js";import{createInvocationProcessEnvironment as j,runManagedProcess as $}from"../../../process/index.js";import{bundleK6Suite as Y,K6ConsumerCompilationError as H}from"./bundle.js";import{collectK6Evidence as z}from"./evidence.js";import{assertK6SpawnEnvironmentBudget as B,createK6RuntimeInputDocument as G,K6_RUNTIME_INPUT_FILE_ENV as J,K6_RUNTIME_INPUT_SHA256_ENV as W,mergeK6Environment as X,selectK6CustomEnvironment as w,verifyOwnedK6RuntimeInput as Q,writeOwnedK6RuntimeInput as Z}from"./input.js";import{K6_RUNTIME_INVOCATION_ID_ENV as q,K6_RUNTIME_TASK_ID_ENV as ee}from"../../api/k6-runtime-input.js";import{collectK6NativeSummaryArtifacts as te,K6_NATIVE_SUMMARY_DIRECTORY as re}from"./native-summary.js";import{engineEvidenceIdentity as ne}from"../../adapters/evidence-identity.js";import{isUnknownRecord as f}from"../../../kernel/unknown-values.js";const I={codePrefix:"K6",label:"k6"},ie=/^Uncaught testkit suite error during (setup|exec): /u;class N extends Error{constructor(t){const r=k(t);super(r.message,{cause:r}),this.name="K6ConsumerPreparationError"}}export const k6ExecutorDependencies={removeOwnedDirectory:e=>d.rm(e,{force:!0,recursive:!0}),writeRuntimeInput:Z};export async function executeK6Engine(e,t,r,n=k6ExecutorDependencies){const i=await oe(e,t,n,r);return F(e,i.tasks,I,(o,u)=>ae(e,i,o,u),pe(e,i.installation))}async function oe(e,t,r,n){const i=t.executable,o=await U(e.workspace.rootDirectory);R(e.workspace.temporaryDirectory,"temporary directory"),R(e.workspace.artifactDirectory,"artifact directory"),await d.mkdir(e.workspace.temporaryDirectory,{recursive:!0}),await d.mkdir(e.workspace.artifactDirectory,{recursive:!0});const u=await S(`k6-${h(e.invocationId)}-`,{parentDir:e.workspace.temporaryDirectory});n.defer(()=>r.removeOwnedDirectory(u));const s=await j(u),a=[];for(const[l,c]of e.tasks.entries()){const m=V(e,c),T=await S(`${l.toString().padStart(3,"0")}-${h(c.id)}-`,{parentDir:e.workspace.artifactDirectory}),p=v.join(u,`${l.toString().padStart(3,"0")}-${h(c.id)}`),D=v.join(p,"suite.js"),_=v.join(p,re);try{await d.mkdir(p,{mode:448,recursive:!1}),await d.mkdir(_,{mode:448,recursive:!1});const g=await x(()=>L(o,c.file,"k6 task file"));await x(()=>{fe(m.supportModules),w(m.environment)});const O=await r.writeRuntimeInput(p,G(e,c,m));await Y({configuration:m.configuration,entrypoints:t.authoringEntrypoints,nativeSummaryDirectory:_,outputFile:D,rootDirectory:o,signal:e.signal,sourceFile:g}),a.push({artifactDirectory:T,inputs:m,task:c,preparationFailure:null,prepared:{bundleFile:D,nativeSummaryDirectory:_,runtimeInput:O}})}catch(g){a.push({artifactDirectory:T,inputs:m,task:c,preparationFailure:Ee(g),prepared:null})}}return Object.freeze({executable:i,installation:t,invocationEnvironment:s.environment,rootDirectory:o,tasks:Object.freeze(a)})}async function ae(e,t,r,n){const i=Math.max(0,r.task.deadlineMs-n);try{await Q(r.prepared.runtimeInput)}catch(c){return y(r.task.id,"failed",n,M(),{...E(c,"K6_INPUT_INVALID"),classification:"infra"})}const o=`${r.prepared.bundleFile}.summary.json`,u=de(e,t,r),s=await $({args:["run","--address","127.0.0.1:0","--no-color","--quiet","--summary-export",o,r.prepared.bundleFile],cwd:t.rootDirectory,displayLabel:"k6",env:u,executable:t.executable,signal:e.signal,timeoutMs:i});let a;try{a=await z({artifactDirectory:r.artifactDirectory,stderr:s.stderr,stdout:s.stdout,summaryFile:o});const c=await te(r.prepared.nativeSummaryDirectory,r.artifactDirectory);c.length>0&&(a={...a,evidence:{...a.evidence,artifacts:[...a.evidence.artifacts,...c]}})}catch(c){return y(r.task.id,"failed",n,{artifacts:[],logs:[...s.stdout.length>0?[{stream:"stdout",text:s.stdout}]:[],...s.stderr.length>0?[{stream:"stderr",text:s.stderr}]:[]],metrics:[]},k6EvidenceCollectionFailure(s,c))}const l=classifyK6ProcessResult(s,a.summary,a.summaryError,r.task.timeoutMs,C(e.signal.reason));return y(r.task.id,l.status,n,a.evidence,l.failure)}export function classifyK6ProcessResult(e,t,r,n,i){const o=b(e,n,i,I);if(o!==null)return o;const u=se(e.stderr),s=ce(e.stderr);if(s!==null)return{failure:{code:"K6_SUMMARY_OUTPUT_INVALID",message:s,stack:e.stderr},status:"failed"};if(u!==null){const l=ie.exec(u)?.[1];return{failure:{code:"K6_RUNTIME_EXCEPTION",details:{...l===void 0?{}:{phase:l},...K(e),summaryRead:r===null},message:u,stack:e.stderr},status:"failed"}}const a=le(t);if(a.length>0){const l=me(t);return{failure:{code:"K6_THRESHOLDS_FAILED",details:{...K(e),...l===null?{}:{failedChecks:l},thresholds:a},message:`k6 thresholds failed: ${a.join(", ")}`},status:"failed"}}return e.exitCode!==0?A(e,I):r!==null?{failure:{...E(r,"K6_SUMMARY_INVALID"),classification:"infra"},status:"failed"}:{failure:null,status:"passed"}}export function k6EvidenceCollectionFailure(e,t){const r=k(t);return P(e,I,r)??{...E(r,"K6_EVIDENCE_FAILED"),classification:"infra"}}function ce(e){return e.match(/TESTKIT_K6_SUMMARY_OUTPUT_INVALID:\s*([^\n"]+)/u)?.[1]?.trim()??null}function se(e){for(const t of e.split(/\r?\n/u)){if(!t.includes("level=error")||!t.includes("source=stacktrace")&&!t.includes('hint="script exception"'))continue;const r=t.match(/\bmsg="((?:\\.|[^"\\])*)"/u)?.[1];if(r===void 0)continue;const n=ue(r).split(/\r?\n/u)[0]?.trim();if(!n)continue;return n.match(/^(?:Error|GoError|TypeError|ReferenceError|RangeError):\s*(.+)$/u)?.[1]?.trim()??n}return null}function ue(e){try{const t=JSON.parse(`"${e}"`);if(typeof t=="string")return t}catch{}return e}function le(e){if(e===null||!f(e.metrics))return[];const t=[];for(const[r,n]of Object.entries(e.metrics))if(!(!f(n)||!f(n.thresholds)))for(const[i,o]of Object.entries(n.thresholds))o===!0&&t.push(`${r}(${i})`);return t.sort()}function me(e){if(e===null||!f(e.metrics)||!f(e.metrics.checks))return null;const{fails:t}=e.metrics.checks;return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0?t:null}function de(e,t,r){const n=r.task,i=X(t.invocationEnvironment,w(r.inputs.environment),{K6_NO_USAGE_REPORT:"true",TESTKIT_ACTIVE:"1",[J]:r.prepared.runtimeInput.file,[W]:r.prepared.runtimeInput.sha256,TESTKIT_INTERNAL_FILE_DEADLINE_MS:String(n.deadlineMs),TESTKIT_INTERNAL_FILE_TIMEOUT_SECONDS:String(Math.max(1,Math.ceil(n.timeoutMs/1e3))),[q]:e.invocationId,TESTKIT_LEASE_DIR:n.orchestration.lease.directory,TESTKIT_LEASE_ID:n.orchestration.lease.id,TESTKIT_MODE:n.orchestration.mode,...n.orchestration.runtimeId===void 0?{}:{TESTKIT_RUNTIME_ID:n.orchestration.runtimeId},TESTKIT_TEST_FILE:n.file,[ee]:n.id}),o=Object.hasOwn(e.target.endpoints,n.serviceName)?e.target.endpoints[n.serviceName]:null;return o!==null&&Object.defineProperty(i,"BASE_URL",{configurable:!0,enumerable:!0,value:o,writable:!0}),B(i),Object.freeze(i)}function fe(e){const t=Object.keys(e);if(t.length!==0)throw new Error(`k6 does not accept support modules (${t.join(", ")}); repository configuration must cross the engine boundary as validated JSON`)}function pe(e,t){return{...ne({engineId:"k6",installationKind:"direct-package",profile:e.profile,target:t.target}),packageName:t.targetPackage.name,packageVersion:t.targetPackage.version,runtimeObservedVersion:t.engineVersion}}function Ee(e){return{...E(e,"K6_PREPARE_FAILED"),classification:e instanceof N||e instanceof H?"product":"infra"}}async function x(e){try{return await e()}catch(t){throw new N(t)}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { executeK6Engine } from "./executor.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{executeK6Engine}from"./executor.js";
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { EngineExecutionInputs, EngineExecutionRequest } from "../../api/index.js";
|
|
2
|
-
import { type OwnedFileRecord } from "../../runtime-input-file.js";
|
|
3
|
-
import { K6_RUNTIME_INPUT_VERSION, type K6RuntimeInputDocument } from "../../api/k6-runtime-input.js";
|
|
4
|
-
export { K6_RUNTIME_INPUT_FILE_ENV, K6_RUNTIME_INPUT_SHA256_ENV } from "../../api/k6-runtime-input.js";
|
|
5
|
-
export { K6_RUNTIME_INPUT_VERSION, type K6RuntimeInputDocument };
|
|
6
|
-
export declare const K6_RUNTIME_INPUT_FILENAME = "runtime-input.json";
|
|
7
|
-
/**
|
|
8
|
-
* k6 receives custom values through its real process environment. Keeping this
|
|
9
|
-
* below half of Windows' 32,767-character environment-block limit leaves room
|
|
10
|
-
* for Testkit controls and the small invocation-owned process environment.
|
|
11
|
-
*/
|
|
12
|
-
export declare const MAX_K6_CUSTOM_ENVIRONMENT_ENTRIES = 128;
|
|
13
|
-
export declare const MAX_K6_CUSTOM_ENVIRONMENT_UNITS: number;
|
|
14
|
-
export declare const MAX_K6_SPAWN_ENVIRONMENT_UNITS: number;
|
|
15
|
-
export type OwnedK6RuntimeInput = OwnedFileRecord;
|
|
16
|
-
export declare function createK6RuntimeInputDocument(request: Pick<EngineExecutionRequest, "invocationId">, task: EngineExecutionRequest["tasks"][number], inputs: EngineExecutionInputs): K6RuntimeInputDocument;
|
|
17
|
-
export declare function writeOwnedK6RuntimeInput(taskDirectory: string, document: K6RuntimeInputDocument): Promise<OwnedK6RuntimeInput>;
|
|
18
|
-
export declare function verifyOwnedK6RuntimeInput(input: OwnedK6RuntimeInput): Promise<void>;
|
|
19
|
-
export declare function selectK6CustomEnvironment(input: Readonly<Record<string, string>>): Readonly<Record<string, string>>;
|
|
20
|
-
export declare function mergeK6Environment(...sources: readonly Readonly<Record<string, string>>[]): Record<string, string>;
|
|
21
|
-
export declare function assertK6SpawnEnvironmentBudget(environment: Readonly<Record<string, string>>): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ENGINE_PROCESS_RESERVED_ENVIRONMENT_KEYS as f}from"../../../process/index.js";import{readVerifiedOwnedFile as p,writeOwnedRuntimeInput as I}from"../../runtime-input-file.js";import{K6_RUNTIME_INPUT_VERSION as c,parseK6RuntimeInputDocument as d}from"../../api/k6-runtime-input.js";export{K6_RUNTIME_INPUT_FILE_ENV,K6_RUNTIME_INPUT_SHA256_ENV}from"../../api/k6-runtime-input.js";export{c as K6_RUNTIME_INPUT_VERSION};export const K6_RUNTIME_INPUT_FILENAME="runtime-input.json";const s={filename:K6_RUNTIME_INPUT_FILENAME,label:"k6 runtime input",maxSizeBytes:8*1024*1024},v=new Set(["BASE_URL","GODEBUG",...f].map(e=>e.toUpperCase()));export const MAX_K6_CUSTOM_ENVIRONMENT_ENTRIES=128,MAX_K6_CUSTOM_ENVIRONMENT_UNITS=16*1024,MAX_K6_SPAWN_ENVIRONMENT_UNITS=24*1024;export function createK6RuntimeInputDocument(e,n,t){return{engineId:"k6",fixtures:t.fixtures,invocationId:e.invocationId,...t.setupData===void 0?{}:{setupData:t.setupData},taskId:n.id,version:c}}export async function writeOwnedK6RuntimeInput(e,n){return I(e,d(n),s)}export async function verifyOwnedK6RuntimeInput(e){await p(e,s)}export function selectK6CustomEnvironment(e){const n=E(),t=new Set;for(const[r,o]of Object.entries(e)){R(r,o,"k6 custom environment");const i=r.toUpperCase();if(t.has(i))throw new Error(`k6 custom environment contains case-insensitive duplicate key ${r}`);if(t.add(i),i.startsWith("K6_")||i.startsWith("TESTKIT_")||v.has(i))throw new Error(`k6 custom environment contains reserved key ${r}`);a(n,r,o)}return u(n,MAX_K6_CUSTOM_ENVIRONMENT_ENTRIES,MAX_K6_CUSTOM_ENVIRONMENT_UNITS,"k6 custom runtime environment"),Object.freeze(n)}export function mergeK6Environment(...e){const n=E();for(const t of e)for(const[r,o]of Object.entries(t))a(n,r,o);return n}export function assertK6SpawnEnvironmentBudget(e){u(e,Number.MAX_SAFE_INTEGER,MAX_K6_SPAWN_ENVIRONMENT_UNITS,"k6 process environment")}function u(e,n,t,r){const o=Object.entries(e);if(o.length>n)throw new Error(`${r} exceeds the ${n.toString()} entry limit`);if(o.reduce((m,[_,N])=>m+_.length+N.length+2,1)>t)throw new Error(`${r} exceeds the ${t.toString()} character environment-block budget`)}function R(e,n,t){if(e.length===0||e.includes("=")||e.includes("\0"))throw new Error(`${t} contains an invalid variable name`);if(n.includes("\0"))throw new Error(`${t}.${e} contains a NUL character`)}function E(){return Object.create(null)}function a(e,n,t){Object.defineProperty(e,n,{configurable:!0,enumerable:!0,value:t,writable:!0})}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { EngineArtifactEvidence } from "../../api/index.js";
|
|
2
|
-
import { type EvidenceFileAccess } from "../../adapters/evidence-files.js";
|
|
3
|
-
export declare const K6_NATIVE_SUMMARY_DIRECTORY = "native-summary";
|
|
4
|
-
export interface K6NativeSummaryPersistence {
|
|
5
|
-
createStagingDirectory(artifactDirectory: string): Promise<string>;
|
|
6
|
-
promoteDirectory(stagingDirectory: string, outputDirectory: string): Promise<void>;
|
|
7
|
-
removeDirectory(directory: string): Promise<void>;
|
|
8
|
-
writeOutput(destination: string, contents: Buffer): Promise<void>;
|
|
9
|
-
}
|
|
10
|
-
export declare const k6NativeSummaryPersistence: K6NativeSummaryPersistence;
|
|
11
|
-
export declare function collectK6NativeSummaryArtifacts(sourceDirectory: string, artifactDirectory: string, fileAccess?: EvidenceFileAccess, persistence?: K6NativeSummaryPersistence): Promise<readonly EngineArtifactEvidence[]>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import u from"node:fs/promises";import n from"node:path";import{evidenceFileAccess as k,readStableEvidenceFile as y,writeOwnedEvidenceFile as A}from"../../adapters/evidence-files.js";import{isUnknownRecord as g}from"../../../kernel/unknown-values.js";import{hasErrorCode as _}from"../../../kernel/error-serialization.js";export const K6_NATIVE_SUMMARY_DIRECTORY="native-summary";const b="manifest.json",$=128*1024,F=128,E=8*1024*1024,O=16*1024*1024,B=/^[a-f0-9]{64}$/u,M=/^[a-f0-9]{64}\.output$/u;export const k6NativeSummaryPersistence={createStagingDirectory:async t=>(await u.mkdir(t,{recursive:!0}),u.mkdtemp(n.join(t,`.${K6_NATIVE_SUMMARY_DIRECTORY}-`))),promoteDirectory:async(t,r)=>{await u.rename(t,r)},removeDirectory:async t=>{await u.rm(t,{force:!0,recursive:!0})},writeOutput:async(t,r)=>{await A(n.dirname(t),n.basename(t),r)}};export async function collectK6NativeSummaryArtifacts(t,r,s=k,e=k6NativeSummaryPersistence){const c=n.join(t,b);let p;try{p=await s.lstat(c)}catch(a){if(_(a,"ENOENT"))return[];throw a}const{contents:S}=await y(c,$,"k6 native summary manifest",s,p),v=JSON.parse(S.toString("utf8")),T=x(v),f=[];let l=0;for(const a of T){const o=n.join(t,a.storedName),i=`k6 native summary output ${a.name}`,{contents:m,sha256:N}=await y(o,E,i,s);if(m.byteLength!==a.sizeBytes)throw new Error(`k6 native summary output ${a.name} has an invalid size`);if(l+=m.byteLength,l>O)throw new Error("k6 native summary outputs exceed their aggregate byte limit");if(N!==a.sha256)throw new Error(`k6 native summary output ${a.name} failed integrity validation`);f.push({contents:m,entry:a})}if(f.length===0)return[];const d=n.join(r,"native-summary"),h=await e.createStagingDirectory(r),w=[];try{for(const[a,{contents:o,entry:i}]of f.entries()){const m=`${a.toString().padStart(3,"0")}-${I(n.basename(i.name))}`;await e.writeOutput(n.join(h,m),o),w.push({contentType:P(i.name),kind:"engine.native-summary",metadata:{originalPath:i.name,sha256:i.sha256},name:`k6-handle-summary:${i.name}`,path:n.join(d,m),summary:`k6 handleSummary output ${i.name}`})}await e.promoteDirectory(h,d)}catch(a){const o=await j(()=>e.removeDirectory(h));throw o!==null?new AggregateError([a,o.error],"k6 native summary publication and staging cleanup both failed",{cause:a}):a}return w}async function j(t){try{return await t(),null}catch(r){return{error:r}}}function x(t){if(!g(t)||t.version!==1||!Array.isArray(t.entries))throw new Error("k6 native summary manifest has an invalid schema");if(t.entries.length>F)throw new Error("k6 native summary manifest exceeds its file-count limit");const r=new Set,s=new Set;return t.entries.map((e,c)=>{if(!g(e))throw new Error(`k6 native summary manifest entry ${c.toString()} must be an object`);if(typeof e.name!="string"||e.name.length===0||e.name.length>240||!z(e.name)||typeof e.sha256!="string"||!B.test(e.sha256)||typeof e.storedName!="string"||!M.test(e.storedName)||typeof e.sizeBytes!="number"||!Number.isSafeInteger(e.sizeBytes)||e.sizeBytes<0||e.sizeBytes>E)throw new Error(`k6 native summary manifest entry ${c.toString()} is invalid`);if(r.has(e.name)||s.has(e.storedName))throw new Error("k6 native summary manifest contains duplicate outputs");return r.add(e.name),s.add(e.storedName),{name:e.name,sha256:e.sha256,sizeBytes:e.sizeBytes,storedName:e.storedName}})}function z(t){return n.isAbsolute(t)||t.includes("\0")||t.startsWith("\\\\")||/^[a-z]:/iu.test(t)?!1:t.split(/[\\/]/u).every(s=>s.length>0&&s!=="."&&s!=="..")}function P(t){switch(n.extname(t).toLowerCase()){case".json":return"application/json";case".html":return"text/html; charset=utf-8";case".md":return"text/markdown; charset=utf-8";case".txt":case".log":case".csv":return"text/plain; charset=utf-8";default:return"application/octet-stream"}}function I(t){const r=t.trim().toLowerCase().replace(/[^a-z0-9._-]+/gu,"-").replace(/^-+|-+$/gu,"").slice(0,120);return r.length>0?r:"summary-output"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{normalizeEngineJsonValue as c}from"../../api/runtime-artifact.js";import{K6_REPOSITORY_CONFIGURATION_VERSION as u}from"../../contracts/k6-repository-configuration.js";export function buildK6RepositoryConfiguration(e){const t=i(e,"profiles","testkit config profiles");if(t===void 0)return;const o=i(t,"http","testkit config profiles.http");if(o===void 0)return;const r=[];for(const[n,s]of Object.entries(o)){if(n.trim().length===0)throw new TypeError("testkit config profiles.http keys must be non-empty");r.push([n,p(s,`testkit config profiles.http.${n}`)])}const f=Object.fromEntries(r);return Object.freeze({httpProfiles:Object.freeze(f),kind:"testkit-k6-repository-configuration",version:u})}function p(e,t){try{return Object.freeze({kind:"json",value:l(c(e,t),t)})}catch(o){throw new TypeError(`${t} cannot cross the Node/k6 runtime boundary. Repository profiles must be JSON-only. Define setup and header functions in the k6 suite module instead.`,{cause:o})}}function l(e,t){if(e===null||Array.isArray(e)||typeof e!="object")throw new TypeError(`${t} must be a JSON object`);return e}function i(e,t,o){const r=Reflect.get(e,t);if(r!=null){if(!d(r))throw new TypeError(`${o} must be an object`);return r}}function d(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export declare const K6_POSTGRES_DRIVER_SPECIFIER: "k6/x/sql/driver/postgres";
|
|
2
|
-
export declare const K6_RUNTIME_GLOBAL_TYPE_FILE: readonly ["engines", "k6", "runtime", "runtime-globals.d.ts"];
|
|
3
|
-
export declare const K6_POSTGRES_DRIVER_TYPE_FILE: readonly ["engines", "k6", "runtime", "xk6-sql-driver-postgres.d.ts"];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const K6_POSTGRES_DRIVER_SPECIFIER="k6/x/sql/driver/postgres",K6_RUNTIME_GLOBAL_TYPE_FILE=["engines","k6","runtime","runtime-globals.d.ts"],K6_POSTGRES_DRIVER_TYPE_FILE=["engines","k6","runtime","xk6-sql-driver-postgres.d.ts"];
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"packages": [
|
|
3
|
-
{
|
|
4
|
-
"dependencySpecifier": "1.6.0",
|
|
5
|
-
"directory": "k6",
|
|
6
|
-
"files": [
|
|
7
|
-
{
|
|
8
|
-
"path": "LICENSE",
|
|
9
|
-
"sha256": "c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383",
|
|
10
|
-
"sizeBytes": 1141
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"path": "browser/index.d.ts",
|
|
14
|
-
"sha256": "3b6b16b7717c2ba82fc342f54a86cd64d876f61a3ee41d2a32f86b4533fcca08",
|
|
15
|
-
"sizeBytes": 201598
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"path": "crypto/index.d.ts",
|
|
19
|
-
"sha256": "0e80b25c79ecb9142fcad45a27bffe92bfc915ea883e21b213185d74d475838d",
|
|
20
|
-
"sizeBytes": 6586
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"path": "data/index.d.ts",
|
|
24
|
-
"sha256": "9e19f737d83f1fb72a4327130be7bce29fbde55ae499a5625aa425431125d601",
|
|
25
|
-
"sizeBytes": 849
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"path": "encoding/index.d.ts",
|
|
29
|
-
"sha256": "7139edf4b3384ecca9a7467395138c9020f1b4715c607a99acef2a0aa8a8fdf5",
|
|
30
|
-
"sizeBytes": 1777
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"path": "execution/index.d.ts",
|
|
34
|
-
"sha256": "2c50fe74a2d25f5644a13e688b190af2f1cefa25edf7462f7f794dd6c64454c6",
|
|
35
|
-
"sizeBytes": 3359
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"path": "experimental/csv/index.d.ts",
|
|
39
|
-
"sha256": "eb01b457567bf8c386e382d4675c8a114199ee30531b163abb3f8e9f830e4670",
|
|
40
|
-
"sizeBytes": 3570
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"path": "experimental/fs/index.d.ts",
|
|
44
|
-
"sha256": "c0f09ad10411a9246e9ffcf40946fea7216c83b607583d46906ceb140c168303",
|
|
45
|
-
"sizeBytes": 3222
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"path": "experimental/redis/index.d.ts",
|
|
49
|
-
"sha256": "b1c5ac01602070f6e60bcbecb1839fb91349df42e7b77a8483a487936cfc7c5a",
|
|
50
|
-
"sizeBytes": 33409
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"path": "experimental/streams/index.d.ts",
|
|
54
|
-
"sha256": "73b621b2a5dcb431c4d073375240af6d2ac17802c9f0e9b82229a6b5f2bbf64e",
|
|
55
|
-
"sizeBytes": 8021
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"path": "global.d.ts",
|
|
59
|
-
"sha256": "88033a3b6d5106b4d2040f7b637a06bebf7d7509fd28857988cad0646458aa1b",
|
|
60
|
-
"sizeBytes": 2503
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"path": "html/index.d.ts",
|
|
64
|
-
"sha256": "c420140b7e9781b84f2d2a39fae4631c903e126273afcea2974e3382c41a0a77",
|
|
65
|
-
"sizeBytes": 35638
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"path": "http/index.d.ts",
|
|
69
|
-
"sha256": "9b1908eb4133f4694b35e03592864b1cbbb0f2a280f90385545fd9d6e1d62579",
|
|
70
|
-
"sizeBytes": 22241
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"path": "index.d.ts",
|
|
74
|
-
"sha256": "383d7989a787558bcca38e2e06b5f647ffcbf54332db7c434181d8ffb67d952d",
|
|
75
|
-
"sizeBytes": 3393
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"path": "metrics/index.d.ts",
|
|
79
|
-
"sha256": "9a9439eace3496915a17f2c4be7bb41d0cf275c6a28de63ec93c2ac066187022",
|
|
80
|
-
"sizeBytes": 1480
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"path": "net/grpc/index.d.ts",
|
|
84
|
-
"sha256": "d394aa311ff20b5bf522e3e85dd2f653a312427c6d73b444022afe71615cd387",
|
|
85
|
-
"sizeBytes": 6163
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"path": "options/index.d.ts",
|
|
89
|
-
"sha256": "aac1e93694c51e42dcf867180d3deff890d65a53f46d7f878c11daa561a063a3",
|
|
90
|
-
"sizeBytes": 11760
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"path": "package.json",
|
|
94
|
-
"sha256": "794fd9c9b13c4a00a2196f1deb811e0bf7d2de4b88ebcc6c32ea8cd29dc71776",
|
|
95
|
-
"sizeBytes": 2702
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"path": "secrets/index.d.ts",
|
|
99
|
-
"sha256": "eb7b3b86e80f6b11e06c5270e25794be4f83cf129b876d8d3edc1bd6ccba9ef2",
|
|
100
|
-
"sizeBytes": 886
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"path": "timers/index.d.ts",
|
|
104
|
-
"sha256": "b2f9413eea7fc4f3f02ab2a6dfe968f21a3e46d3d2284b58467ce71063f20a2e",
|
|
105
|
-
"sizeBytes": 1331
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"path": "websockets/index.d.ts",
|
|
109
|
-
"sha256": "3de284da42bbf099a550ab8acfdd6adaf576e241cda6b839cb588fa3e3514004",
|
|
110
|
-
"sizeBytes": 9312
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"path": "ws/index.d.ts",
|
|
114
|
-
"sha256": "427788b9a3f8754dfc69260ec4653395e98d2424ad8d64eadceef9d0b716835e",
|
|
115
|
-
"sizeBytes": 7059
|
|
116
|
-
}
|
|
117
|
-
],
|
|
118
|
-
"name": "@types/k6",
|
|
119
|
-
"version": "1.6.0"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"dependencySpecifier": "https://github.com/grafana/xk6-sql/archive/refs/tags/v1.0.6.tar.gz",
|
|
123
|
-
"directory": "xk6-sql",
|
|
124
|
-
"files": [
|
|
125
|
-
{
|
|
126
|
-
"path": "LICENSE",
|
|
127
|
-
"sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
|
|
128
|
-
"sizeBytes": 11357
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
"path": "index.d.ts",
|
|
132
|
-
"sha256": "f26d1b7701582334330a38f53bb5b630e671d63d8267c4a6063dbf4eb7feb3ad",
|
|
133
|
-
"sizeBytes": 12929
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"path": "package.json",
|
|
137
|
-
"sha256": "39c1bc1ebf524281237197fbd411b18c8ef67d77101e65841a00c02d7897a7c0",
|
|
138
|
-
"sizeBytes": 302
|
|
139
|
-
}
|
|
140
|
-
],
|
|
141
|
-
"name": "xk6-sql",
|
|
142
|
-
"version": "1.0.5"
|
|
143
|
-
}
|
|
144
|
-
],
|
|
145
|
-
"schemaVersion": 1
|
|
146
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) Microsoft Corporation.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE
|