@parity/product-lab 0.0.1-placeholder → 0.1.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/CHANGELOG.md +993 -0
- package/LICENSE +204 -0
- package/README.md +325 -2
- package/adapters/browser/playwright/README.md +214 -0
- package/adapters/browser/playwright/src/axe-scan.d.ts +6 -0
- package/adapters/browser/playwright/src/axe-scan.js +41 -0
- package/adapters/browser/playwright/src/bytes.d.ts +1 -0
- package/adapters/browser/playwright/src/bytes.js +5 -0
- package/adapters/browser/playwright/src/conditioned-socket.d.ts +28 -0
- package/adapters/browser/playwright/src/conditioned-socket.js +40 -0
- package/adapters/browser/playwright/src/devices.d.ts +14 -0
- package/adapters/browser/playwright/src/devices.js +24 -0
- package/adapters/browser/playwright/src/errors.d.ts +2 -0
- package/adapters/browser/playwright/src/errors.js +6 -0
- package/adapters/browser/playwright/src/evidence-url.d.ts +4 -0
- package/adapters/browser/playwright/src/evidence-url.js +29 -0
- package/adapters/browser/playwright/src/faithful-web-socket.d.ts +2 -0
- package/adapters/browser/playwright/src/faithful-web-socket.js +9 -0
- package/adapters/browser/playwright/src/free-loopback-port.d.ts +2 -0
- package/adapters/browser/playwright/src/free-loopback-port.js +13 -0
- package/adapters/browser/playwright/src/headless-app-surface.d.ts +30 -0
- package/adapters/browser/playwright/src/headless-app-surface.js +68 -0
- package/adapters/browser/playwright/src/index.d.ts +16 -0
- package/adapters/browser/playwright/src/index.js +18 -0
- package/adapters/browser/playwright/src/native-rtc.d.ts +11 -0
- package/adapters/browser/playwright/src/native-rtc.js +89 -0
- package/adapters/browser/playwright/src/network-evidence.d.ts +25 -0
- package/adapters/browser/playwright/src/network-evidence.js +575 -0
- package/adapters/browser/playwright/src/page-conditions.d.ts +37 -0
- package/adapters/browser/playwright/src/page-conditions.js +81 -0
- package/adapters/browser/playwright/src/page-console-watch.d.ts +12 -0
- package/adapters/browser/playwright/src/page-console-watch.js +43 -0
- package/adapters/browser/playwright/src/page-frame-capture.d.ts +32 -0
- package/adapters/browser/playwright/src/page-frame-capture.js +87 -0
- package/adapters/browser/playwright/src/page-video.d.ts +15 -0
- package/adapters/browser/playwright/src/page-video.js +25 -0
- package/adapters/browser/playwright/src/playwright-browser-context.d.ts +20 -0
- package/adapters/browser/playwright/src/playwright-browser-context.js +44 -0
- package/adapters/browser/playwright/src/playwright-browser-launcher.d.ts +9 -0
- package/adapters/browser/playwright/src/playwright-browser-launcher.js +53 -0
- package/adapters/browser/playwright/src/playwright-browser.d.ts +57 -0
- package/adapters/browser/playwright/src/playwright-browser.js +71 -0
- package/adapters/browser/playwright/src/playwright-page.d.ts +68 -0
- package/adapters/browser/playwright/src/playwright-page.js +111 -0
- package/adapters/browser/playwright/src/playwright-route.d.ts +13 -0
- package/adapters/browser/playwright/src/playwright-route.js +29 -0
- package/adapters/browser/playwright/src/playwright-slide-renderer.d.ts +11 -0
- package/adapters/browser/playwright/src/playwright-slide-renderer.js +26 -0
- package/adapters/browser/playwright/src/playwright-web-socket-route.d.ts +16 -0
- package/adapters/browser/playwright/src/playwright-web-socket-route.js +27 -0
- package/adapters/browser/playwright/src/press-target.d.ts +76 -0
- package/adapters/browser/playwright/src/press-target.js +186 -0
- package/adapters/browser/playwright/src/socket-routes.d.ts +14 -0
- package/adapters/browser/playwright/src/socket-routes.js +20 -0
- package/adapters/browser/playwright/src/wire-delivery.d.ts +10 -0
- package/adapters/browser/playwright/src/wire-delivery.js +31 -0
- package/adapters/browser/playwright/src/worker-hold.d.ts +26 -0
- package/adapters/browser/playwright/src/worker-hold.js +115 -0
- package/adapters/chain/papi/README.md +203 -0
- package/adapters/chain/papi/src/chain-access.d.ts +178 -0
- package/adapters/chain/papi/src/chain-access.js +530 -0
- package/adapters/chain/papi/src/errors.d.ts +15 -0
- package/adapters/chain/papi/src/errors.js +29 -0
- package/adapters/chain/papi/src/extrinsic-decoder.d.ts +21 -0
- package/adapters/chain/papi/src/extrinsic-decoder.js +396 -0
- package/adapters/chain/papi/src/extrinsic-signer.d.ts +2 -0
- package/adapters/chain/papi/src/extrinsic-signer.js +14 -0
- package/adapters/chain/papi/src/index.d.ts +5 -0
- package/adapters/chain/papi/src/index.js +7 -0
- package/adapters/chain/papi/src/plain-value.d.ts +7 -0
- package/adapters/chain/papi/src/plain-value.js +58 -0
- package/adapters/chain/papi/src/signer.d.ts +27 -0
- package/adapters/chain/papi/src/signer.js +51 -0
- package/adapters/chain/papi/src/statement-store-reader.d.ts +12 -0
- package/adapters/chain/papi/src/statement-store-reader.js +146 -0
- package/adapters/chain/papi/src/track-transaction.d.ts +47 -0
- package/adapters/chain/papi/src/track-transaction.js +97 -0
- package/adapters/chain/papi/src/transaction-submitter.d.ts +87 -0
- package/adapters/chain/papi/src/transaction-submitter.js +132 -0
- package/adapters/deploy/bulletin/README.md +148 -0
- package/adapters/deploy/bulletin/src/bulletin-deployer.d.ts +82 -0
- package/adapters/deploy/bulletin/src/bulletin-deployer.js +234 -0
- package/adapters/deploy/bulletin/src/bytes.d.ts +6 -0
- package/adapters/deploy/bulletin/src/bytes.js +25 -0
- package/adapters/deploy/bulletin/src/content/bulletin-content-reader.d.ts +35 -0
- package/adapters/deploy/bulletin/src/content/bulletin-content-reader.js +58 -0
- package/adapters/deploy/bulletin/src/content/car.d.ts +27 -0
- package/adapters/deploy/bulletin/src/content/car.js +112 -0
- package/adapters/deploy/bulletin/src/content/cid.d.ts +31 -0
- package/adapters/deploy/bulletin/src/content/cid.js +114 -0
- package/adapters/deploy/bulletin/src/content/dag.d.ts +27 -0
- package/adapters/deploy/bulletin/src/content/dag.js +157 -0
- package/adapters/deploy/bulletin/src/content/ipfs-gateway-source.d.ts +10 -0
- package/adapters/deploy/bulletin/src/content/ipfs-gateway-source.js +14 -0
- package/adapters/deploy/bulletin/src/content/retrieve-content.d.ts +3 -0
- package/adapters/deploy/bulletin/src/content/retrieve-content.js +18 -0
- package/adapters/deploy/bulletin/src/content/site.d.ts +16 -0
- package/adapters/deploy/bulletin/src/content/site.js +56 -0
- package/adapters/deploy/bulletin/src/deployment-check.d.ts +25 -0
- package/adapters/deploy/bulletin/src/deployment-check.js +51 -0
- package/adapters/deploy/bulletin/src/dotns/dotns-registrar.d.ts +31 -0
- package/adapters/deploy/bulletin/src/dotns/dotns-registrar.js +53 -0
- package/adapters/deploy/bulletin/src/dotns/dotns-resolver.d.ts +41 -0
- package/adapters/deploy/bulletin/src/dotns/dotns-resolver.js +148 -0
- package/adapters/deploy/bulletin/src/dotns/manifest-freshness.d.ts +66 -0
- package/adapters/deploy/bulletin/src/dotns/manifest-freshness.js +76 -0
- package/adapters/deploy/bulletin/src/dotns/read-only-rpc.d.ts +17 -0
- package/adapters/deploy/bulletin/src/dotns/read-only-rpc.js +23 -0
- package/adapters/deploy/bulletin/src/endpoints.d.ts +20 -0
- package/adapters/deploy/bulletin/src/endpoints.js +36 -0
- package/adapters/deploy/bulletin/src/errors.d.ts +13 -0
- package/adapters/deploy/bulletin/src/errors.js +13 -0
- package/adapters/deploy/bulletin/src/gateway/deployed-content-gateway.d.ts +46 -0
- package/adapters/deploy/bulletin/src/gateway/deployed-content-gateway.js +126 -0
- package/adapters/deploy/bulletin/src/gateway/gateway-destinations.d.ts +35 -0
- package/adapters/deploy/bulletin/src/gateway/gateway-destinations.js +45 -0
- package/adapters/deploy/bulletin/src/gateway/gateway-program.d.ts +79 -0
- package/adapters/deploy/bulletin/src/gateway/gateway-program.js +181 -0
- package/adapters/deploy/bulletin/src/index.d.ts +27 -0
- package/adapters/deploy/bulletin/src/index.js +29 -0
- package/adapters/deploy/bulletin/src/launch/deployed-local-launcher.d.ts +77 -0
- package/adapters/deploy/bulletin/src/launch/deployed-local-launcher.js +90 -0
- package/adapters/deploy/bulletin/src/launch/launch-mode.d.ts +12 -0
- package/adapters/deploy/bulletin/src/launch/launch-mode.js +23 -0
- package/adapters/deploy/bulletin/src/platform/bulletin-store.d.ts +17 -0
- package/adapters/deploy/bulletin/src/platform/bulletin-store.js +28 -0
- package/adapters/deploy/bulletin/src/platform/chain-ports.d.ts +69 -0
- package/adapters/deploy/bulletin/src/platform/chain-ports.js +69 -0
- package/adapters/deploy/bulletin/src/platform/platform-requirements.d.ts +34 -0
- package/adapters/deploy/bulletin/src/platform/platform-requirements.js +12 -0
- package/adapters/deploy/bulletin/src/platform/revive-contracts.d.ts +53 -0
- package/adapters/deploy/bulletin/src/platform/revive-contracts.js +86 -0
- package/adapters/deploy/bulletin/src/platform/statement-store.d.ts +50 -0
- package/adapters/deploy/bulletin/src/platform/statement-store.js +96 -0
- package/adapters/deploy/bulletin/src/tool/bulletin-deploy-library.d.ts +64 -0
- package/adapters/deploy/bulletin/src/tool/bulletin-deploy-library.js +33 -0
- package/adapters/deploy/bulletin/src/tool/bulletin-deploy-tool.d.ts +18 -0
- package/adapters/deploy/bulletin/src/tool/bulletin-deploy-tool.js +73 -0
- package/adapters/deploy/bulletin/src/tool/environment-file.d.ts +34 -0
- package/adapters/deploy/bulletin/src/tool/environment-file.js +36 -0
- package/adapters/environment/attached/README.md +75 -0
- package/adapters/environment/attached/src/index.d.ts +54 -0
- package/adapters/environment/attached/src/index.js +123 -0
- package/adapters/environment/attached/src/live-network.d.ts +62 -0
- package/adapters/environment/attached/src/live-network.js +96 -0
- package/adapters/environment/attached/src/versions.d.ts +29 -0
- package/adapters/environment/attached/src/versions.js +51 -0
- package/adapters/environment/chopsticks/README.md +200 -0
- package/adapters/environment/chopsticks/src/chopsticks-environment-factory.d.ts +140 -0
- package/adapters/environment/chopsticks/src/chopsticks-environment-factory.js +55 -0
- package/adapters/environment/chopsticks/src/chopsticks-topology.d.ts +176 -0
- package/adapters/environment/chopsticks/src/chopsticks-topology.js +287 -0
- package/adapters/environment/chopsticks/src/constants.d.ts +11 -0
- package/adapters/environment/chopsticks/src/constants.js +15 -0
- package/adapters/environment/chopsticks/src/dev-authority.d.ts +21 -0
- package/adapters/environment/chopsticks/src/dev-authority.js +66 -0
- package/adapters/environment/chopsticks/src/environment.d.ts +133 -0
- package/adapters/environment/chopsticks/src/environment.js +358 -0
- package/adapters/environment/chopsticks/src/extensions.d.ts +27 -0
- package/adapters/environment/chopsticks/src/extensions.js +60 -0
- package/adapters/environment/chopsticks/src/general-extrinsic-support.d.ts +17 -0
- package/adapters/environment/chopsticks/src/general-extrinsic-support.js +58 -0
- package/adapters/environment/chopsticks/src/index.d.ts +15 -0
- package/adapters/environment/chopsticks/src/index.js +17 -0
- package/adapters/environment/chopsticks/src/options.d.ts +75 -0
- package/adapters/environment/chopsticks/src/options.js +56 -0
- package/adapters/environment/chopsticks/src/plan.d.ts +49 -0
- package/adapters/environment/chopsticks/src/plan.js +68 -0
- package/adapters/environment/chopsticks/src/provider.d.ts +43 -0
- package/adapters/environment/chopsticks/src/provider.js +78 -0
- package/adapters/environment/chopsticks/src/spec-proxy.d.ts +16 -0
- package/adapters/environment/chopsticks/src/spec-proxy.js +109 -0
- package/adapters/environment/chopsticks/src/sqlite-support.d.ts +15 -0
- package/adapters/environment/chopsticks/src/sqlite-support.js +32 -0
- package/adapters/environment/chopsticks/src/time.d.ts +18 -0
- package/adapters/environment/chopsticks/src/time.js +96 -0
- package/adapters/environment/chopsticks/src/topology-options-schema.d.ts +119 -0
- package/adapters/environment/chopsticks/src/topology-options-schema.js +58 -0
- package/adapters/environment/chopsticks/src/topology.d.ts +11 -0
- package/adapters/environment/chopsticks/src/topology.js +64 -0
- package/adapters/environment/chopsticks/src/upstream.d.ts +22 -0
- package/adapters/environment/chopsticks/src/upstream.js +58 -0
- package/adapters/environment/chopsticks/src/versions.d.ts +31 -0
- package/adapters/environment/chopsticks/src/versions.js +58 -0
- package/adapters/environment/engine/README.md +123 -0
- package/adapters/environment/engine/engine.example.json +9 -0
- package/adapters/environment/engine/src/engine/approval-pin.d.ts +106 -0
- package/adapters/environment/engine/src/engine/approval-pin.js +98 -0
- package/adapters/environment/engine/src/engine/chain-clock.d.ts +55 -0
- package/adapters/environment/engine/src/engine/chain-clock.js +66 -0
- package/adapters/environment/engine/src/engine/checkout-lock.d.ts +52 -0
- package/adapters/environment/engine/src/engine/checkout-lock.js +136 -0
- package/adapters/environment/engine/src/engine/drain.d.ts +54 -0
- package/adapters/environment/engine/src/engine/drain.js +74 -0
- package/adapters/environment/engine/src/engine/engine-config.d.ts +97 -0
- package/adapters/environment/engine/src/engine/engine-config.js +55 -0
- package/adapters/environment/engine/src/engine/engine-health.d.ts +99 -0
- package/adapters/environment/engine/src/engine/engine-health.js +217 -0
- package/adapters/environment/engine/src/engine/engine-ports.d.ts +13 -0
- package/adapters/environment/engine/src/engine/engine-ports.js +60 -0
- package/adapters/environment/engine/src/engine/engine-prepare.d.ts +55 -0
- package/adapters/environment/engine/src/engine/engine-prepare.js +86 -0
- package/adapters/environment/engine/src/engine/engine-setup-jobs.d.ts +16 -0
- package/adapters/environment/engine/src/engine/engine-setup-jobs.js +63 -0
- package/adapters/environment/engine/src/engine/engine-start-phases.d.ts +65 -0
- package/adapters/environment/engine/src/engine/engine-start-phases.js +230 -0
- package/adapters/environment/engine/src/engine/eth-rpc-probe.d.ts +17 -0
- package/adapters/environment/engine/src/engine/eth-rpc-probe.js +23 -0
- package/adapters/environment/engine/src/engine/finality-stall.d.ts +41 -0
- package/adapters/environment/engine/src/engine/finality-stall.js +61 -0
- package/adapters/environment/engine/src/engine/fork-bundle.d.ts +59 -0
- package/adapters/environment/engine/src/engine/fork-bundle.js +159 -0
- package/adapters/environment/engine/src/engine/fork-freshness.d.ts +154 -0
- package/adapters/environment/engine/src/engine/fork-freshness.js +238 -0
- package/adapters/environment/engine/src/engine/fork-isolation.d.ts +19 -0
- package/adapters/environment/engine/src/engine/fork-isolation.js +44 -0
- package/adapters/environment/engine/src/engine/fork-refresh.d.ts +75 -0
- package/adapters/environment/engine/src/engine/fork-refresh.js +193 -0
- package/adapters/environment/engine/src/engine/fork-setup.d.ts +59 -0
- package/adapters/environment/engine/src/engine/fork-setup.js +87 -0
- package/adapters/environment/engine/src/engine/fork-snapshot.d.ts +6 -0
- package/adapters/environment/engine/src/engine/fork-snapshot.js +42 -0
- package/adapters/environment/engine/src/engine/fork-toml.d.ts +110 -0
- package/adapters/environment/engine/src/engine/fork-toml.js +260 -0
- package/adapters/environment/engine/src/engine/fork-topology.d.ts +65 -0
- package/adapters/environment/engine/src/engine/fork-topology.js +61 -0
- package/adapters/environment/engine/src/engine/fork-updates.d.ts +61 -0
- package/adapters/environment/engine/src/engine/fork-updates.js +148 -0
- package/adapters/environment/engine/src/engine/ipfs-isolation.d.ts +38 -0
- package/adapters/environment/engine/src/engine/ipfs-isolation.js +62 -0
- package/adapters/environment/engine/src/engine/live-network.d.ts +32 -0
- package/adapters/environment/engine/src/engine/live-network.js +41 -0
- package/adapters/environment/engine/src/engine/network-adoption.d.ts +56 -0
- package/adapters/environment/engine/src/engine/network-adoption.js +195 -0
- package/adapters/environment/engine/src/engine/network-plan.d.ts +71 -0
- package/adapters/environment/engine/src/engine/network-plan.js +158 -0
- package/adapters/environment/engine/src/engine/network-reset.d.ts +18 -0
- package/adapters/environment/engine/src/engine/network-reset.js +21 -0
- package/adapters/environment/engine/src/engine/network-seed.d.ts +82 -0
- package/adapters/environment/engine/src/engine/network-seed.js +183 -0
- package/adapters/environment/engine/src/engine/network-snapshots.d.ts +64 -0
- package/adapters/environment/engine/src/engine/network-snapshots.js +161 -0
- package/adapters/environment/engine/src/engine/network-template.d.ts +65 -0
- package/adapters/environment/engine/src/engine/network-template.js +98 -0
- package/adapters/environment/engine/src/engine/node-isolation.d.ts +83 -0
- package/adapters/environment/engine/src/engine/node-isolation.js +164 -0
- package/adapters/environment/engine/src/engine/node-temp-dir.d.ts +27 -0
- package/adapters/environment/engine/src/engine/node-temp-dir.js +31 -0
- package/adapters/environment/engine/src/engine/owned-engine.d.ts +312 -0
- package/adapters/environment/engine/src/engine/owned-engine.js +595 -0
- package/adapters/environment/engine/src/engine/owned-environment.d.ts +24 -0
- package/adapters/environment/engine/src/engine/owned-environment.js +84 -0
- package/adapters/environment/engine/src/engine/persisted-data.d.ts +67 -0
- package/adapters/environment/engine/src/engine/persisted-data.js +147 -0
- package/adapters/environment/engine/src/engine/persisted-isolation.d.ts +33 -0
- package/adapters/environment/engine/src/engine/persisted-isolation.js +91 -0
- package/adapters/environment/engine/src/engine/persistent-network.d.ts +354 -0
- package/adapters/environment/engine/src/engine/persistent-network.js +580 -0
- package/adapters/environment/engine/src/engine/plan-ports.d.ts +83 -0
- package/adapters/environment/engine/src/engine/plan-ports.js +165 -0
- package/adapters/environment/engine/src/engine/published-bundle.d.ts +117 -0
- package/adapters/environment/engine/src/engine/published-bundle.js +250 -0
- package/adapters/environment/engine/src/engine/runtime-upgrade.d.ts +131 -0
- package/adapters/environment/engine/src/engine/runtime-upgrade.js +202 -0
- package/adapters/environment/engine/src/engine/saved-tooling.d.ts +10 -0
- package/adapters/environment/engine/src/engine/saved-tooling.js +32 -0
- package/adapters/environment/engine/src/engine/turn-relay.d.ts +80 -0
- package/adapters/environment/engine/src/engine/turn-relay.js +103 -0
- package/adapters/environment/engine/src/errors.d.ts +140 -0
- package/adapters/environment/engine/src/errors.js +131 -0
- package/adapters/environment/engine/src/evidence/engine-logs.d.ts +4 -0
- package/adapters/environment/engine/src/evidence/engine-logs.js +20 -0
- package/adapters/environment/engine/src/evidence/engine-progress.d.ts +18 -0
- package/adapters/environment/engine/src/evidence/engine-progress.js +102 -0
- package/adapters/environment/engine/src/index.d.ts +52 -0
- package/adapters/environment/engine/src/index.js +54 -0
- package/adapters/environment/engine/src/saved-fork/saved-fork-tooling.d.ts +20 -0
- package/adapters/environment/engine/src/saved-fork/saved-fork-tooling.js +66 -0
- package/adapters/environment/engine/src/saved-fork/saved-fork.d.ts +118 -0
- package/adapters/environment/engine/src/saved-fork/saved-fork.js +298 -0
- package/adapters/environment/engine/src/session/chain-observation.d.ts +30 -0
- package/adapters/environment/engine/src/session/chain-observation.js +23 -0
- package/adapters/environment/engine/src/session/engine-networks.d.ts +8 -0
- package/adapters/environment/engine/src/session/engine-networks.js +6 -0
- package/adapters/environment/engine/src/session/network-lock.d.ts +107 -0
- package/adapters/environment/engine/src/session/network-lock.js +125 -0
- package/adapters/environment/engine/src/session/readiness.d.ts +181 -0
- package/adapters/environment/engine/src/session/readiness.js +251 -0
- package/adapters/environment/engine/src/session/runtime-dependency.d.ts +188 -0
- package/adapters/environment/engine/src/session/runtime-dependency.js +20 -0
- package/adapters/environment/engine/src/session/session.d.ts +243 -0
- package/adapters/environment/engine/src/session/session.js +98 -0
- package/adapters/environment/engine/src/setup/engine-build.d.ts +13 -0
- package/adapters/environment/engine/src/setup/engine-build.js +24 -0
- package/adapters/environment/engine/src/setup/patch-catalogue.d.ts +20 -0
- package/adapters/environment/engine/src/setup/patch-catalogue.js +15 -0
- package/adapters/environment/engine/src/setup/patches.d.ts +37 -0
- package/adapters/environment/engine/src/setup/patches.js +48 -0
- package/adapters/environment/engine/src/setup/prepare-engine.d.ts +86 -0
- package/adapters/environment/engine/src/setup/prepare-engine.js +186 -0
- package/adapters/environment/engine/src/setup/setup-command.d.ts +11 -0
- package/adapters/environment/engine/src/setup/setup-command.js +17 -0
- package/adapters/environment/engine/src/setup/sync-command.d.ts +3 -0
- package/adapters/environment/engine/src/setup/sync-command.js +10 -0
- package/adapters/environment/engine/src/testing/engine-dashboard.d.ts +37 -0
- package/adapters/environment/engine/src/testing/engine-dashboard.js +83 -0
- package/adapters/environment/engine/src/topology/engine-environment-factory.d.ts +107 -0
- package/adapters/environment/engine/src/topology/engine-environment-factory.js +37 -0
- package/adapters/environment/engine/src/topology/engine-plan.d.ts +35 -0
- package/adapters/environment/engine/src/topology/engine-plan.js +84 -0
- package/adapters/environment/engine/src/topology/engine-provider.d.ts +25 -0
- package/adapters/environment/engine/src/topology/engine-provider.js +109 -0
- package/adapters/environment/engine/src/topology/engine-run.d.ts +63 -0
- package/adapters/environment/engine/src/topology/engine-run.js +129 -0
- package/adapters/environment/engine/src/topology/engine-topology.d.ts +131 -0
- package/adapters/environment/engine/src/topology/engine-topology.js +236 -0
- package/adapters/environment/engine/src/topology/topology-options-schema.d.ts +79 -0
- package/adapters/environment/engine/src/topology/topology-options-schema.js +57 -0
- package/adapters/environment/engine/src/versions/engine-versions.d.ts +90 -0
- package/adapters/environment/engine/src/versions/engine-versions.js +138 -0
- package/adapters/environment/relayless/README.md +199 -0
- package/adapters/environment/relayless/src/chain-readiness.d.ts +37 -0
- package/adapters/environment/relayless/src/chain-readiness.js +51 -0
- package/adapters/environment/relayless/src/fast-baseline.d.ts +43 -0
- package/adapters/environment/relayless/src/fast-baseline.js +56 -0
- package/adapters/environment/relayless/src/index.d.ts +15 -0
- package/adapters/environment/relayless/src/index.js +17 -0
- package/adapters/environment/relayless/src/manual-seal-session.d.ts +125 -0
- package/adapters/environment/relayless/src/manual-seal-session.js +82 -0
- package/adapters/environment/relayless/src/owned-people-node.d.ts +55 -0
- package/adapters/environment/relayless/src/owned-people-node.js +199 -0
- package/adapters/environment/relayless/src/prepare-people-genesis.d.ts +87 -0
- package/adapters/environment/relayless/src/prepare-people-genesis.js +119 -0
- package/adapters/environment/relayless/src/topology/dev-chain-spec.d.ts +44 -0
- package/adapters/environment/relayless/src/topology/dev-chain-spec.js +131 -0
- package/adapters/environment/relayless/src/topology/dev-node.d.ts +21 -0
- package/adapters/environment/relayless/src/topology/dev-node.js +41 -0
- package/adapters/environment/relayless/src/topology/locked-artifacts.d.ts +35 -0
- package/adapters/environment/relayless/src/topology/locked-artifacts.js +87 -0
- package/adapters/environment/relayless/src/topology/relayless-environment-factory.d.ts +106 -0
- package/adapters/environment/relayless/src/topology/relayless-environment-factory.js +38 -0
- package/adapters/environment/relayless/src/topology/relayless-environment.d.ts +152 -0
- package/adapters/environment/relayless/src/topology/relayless-environment.js +443 -0
- package/adapters/environment/relayless/src/topology/relayless-plan.d.ts +43 -0
- package/adapters/environment/relayless/src/topology/relayless-plan.js +85 -0
- package/adapters/environment/relayless/src/topology/relayless-provider.d.ts +60 -0
- package/adapters/environment/relayless/src/topology/relayless-provider.js +231 -0
- package/adapters/environment/relayless/src/topology/relayless-snapshots.d.ts +24 -0
- package/adapters/environment/relayless/src/topology/relayless-snapshots.js +112 -0
- package/adapters/environment/relayless/src/topology/relayless-time.d.ts +66 -0
- package/adapters/environment/relayless/src/topology/relayless-time.js +124 -0
- package/adapters/environment/relayless/src/topology/relayless-topology.d.ts +122 -0
- package/adapters/environment/relayless/src/topology/relayless-topology.js +178 -0
- package/adapters/environment/relayless/src/topology/spec-cache.d.ts +24 -0
- package/adapters/environment/relayless/src/topology/spec-cache.js +53 -0
- package/adapters/environment/relayless/src/topology/statement-store.d.ts +20 -0
- package/adapters/environment/relayless/src/topology/statement-store.js +60 -0
- package/adapters/environment/relayless/src/topology/topology-options-schema.d.ts +79 -0
- package/adapters/environment/relayless/src/topology/topology-options-schema.js +57 -0
- package/adapters/environment/relayless/src/topology/workspace-record.d.ts +30 -0
- package/adapters/environment/relayless/src/topology/workspace-record.js +49 -0
- package/adapters/features/cucumber/README.md +85 -0
- package/adapters/features/cucumber/src/cucumber-child.d.ts +1 -0
- package/adapters/features/cucumber/src/cucumber-child.js +53 -0
- package/adapters/features/cucumber/src/cucumber-feature-runner.d.ts +49 -0
- package/adapters/features/cucumber/src/cucumber-feature-runner.js +114 -0
- package/adapters/features/cucumber/src/cucumber-installation.d.ts +14 -0
- package/adapters/features/cucumber/src/cucumber-installation.js +44 -0
- package/adapters/features/cucumber/src/cucumber-report.d.ts +11 -0
- package/adapters/features/cucumber/src/cucumber-report.js +121 -0
- package/adapters/features/cucumber/src/cucumber-run.d.ts +38 -0
- package/adapters/features/cucumber/src/cucumber-run.js +126 -0
- package/adapters/features/cucumber/src/glob-feature-source.d.ts +9 -0
- package/adapters/features/cucumber/src/glob-feature-source.js +31 -0
- package/adapters/features/cucumber/src/in-process-cucumber-run.d.ts +20 -0
- package/adapters/features/cucumber/src/in-process-cucumber-run.js +119 -0
- package/adapters/features/cucumber/src/index.d.ts +9 -0
- package/adapters/features/cucumber/src/index.js +11 -0
- package/adapters/features/cucumber/src/plain-format.d.ts +11 -0
- package/adapters/features/cucumber/src/plain-format.js +20 -0
- package/adapters/features/cucumber/src/plain-run.d.ts +153 -0
- package/adapters/features/cucumber/src/plain-run.js +207 -0
- package/adapters/features/cucumber/src/run-log.d.ts +16 -0
- package/adapters/features/cucumber/src/run-log.js +50 -0
- package/adapters/features/cucumber/src/steps/feature-session-settings.d.ts +7 -0
- package/adapters/features/cucumber/src/steps/feature-session-settings.js +15 -0
- package/adapters/features/cucumber/src/steps/register-feature-steps.d.ts +144 -0
- package/adapters/features/cucumber/src/steps/register-feature-steps.js +276 -0
- package/adapters/features/cucumber/src/support/bundled-support.d.ts +1 -0
- package/adapters/features/cucumber/src/support/bundled-support.js +69 -0
- package/adapters/host/dotli/README.md +135 -0
- package/adapters/host/dotli/src/dotli-build.d.ts +85 -0
- package/adapters/host/dotli/src/dotli-build.js +169 -0
- package/adapters/host/dotli/src/dotli-host-factory.d.ts +66 -0
- package/adapters/host/dotli/src/dotli-host-factory.js +82 -0
- package/adapters/host/dotli/src/dotli-host.d.ts +182 -0
- package/adapters/host/dotli/src/dotli-host.js +327 -0
- package/adapters/host/dotli/src/dotli-server.d.ts +9 -0
- package/adapters/host/dotli/src/dotli-server.js +135 -0
- package/adapters/host/dotli/src/framing.d.ts +10 -0
- package/adapters/host/dotli/src/framing.js +20 -0
- package/adapters/host/dotli/src/index.d.ts +40 -0
- package/adapters/host/dotli/src/index.js +21 -0
- package/adapters/host/dotli/src/interception.d.ts +59 -0
- package/adapters/host/dotli/src/interception.js +115 -0
- package/adapters/host/dotli/src/page-console.d.ts +40 -0
- package/adapters/host/dotli/src/page-console.js +44 -0
- package/adapters/host/dotli/src/routing.d.ts +119 -0
- package/adapters/host/dotli/src/routing.js +157 -0
- package/adapters/host/truapi-cli/README.md +807 -0
- package/adapters/host/truapi-cli/host.lock.json +33 -0
- package/adapters/host/truapi-cli/src/acquire.d.ts +81 -0
- package/adapters/host/truapi-cli/src/acquire.js +213 -0
- package/adapters/host/truapi-cli/src/attest-provision.d.ts +49 -0
- package/adapters/host/truapi-cli/src/attest-provision.js +181 -0
- package/adapters/host/truapi-cli/src/build.d.ts +45 -0
- package/adapters/host/truapi-cli/src/build.js +234 -0
- package/adapters/host/truapi-cli/src/capability-probes.d.ts +66 -0
- package/adapters/host/truapi-cli/src/capability-probes.js +272 -0
- package/adapters/host/truapi-cli/src/checkout.d.ts +25 -0
- package/adapters/host/truapi-cli/src/checkout.js +33 -0
- package/adapters/host/truapi-cli/src/cli-identity.d.ts +12 -0
- package/adapters/host/truapi-cli/src/cli-identity.js +31 -0
- package/adapters/host/truapi-cli/src/cli-session.d.ts +12 -0
- package/adapters/host/truapi-cli/src/cli-session.js +245 -0
- package/adapters/host/truapi-cli/src/conditioned-routing.d.ts +17 -0
- package/adapters/host/truapi-cli/src/conditioned-routing.js +48 -0
- package/adapters/host/truapi-cli/src/host-cache.d.ts +25 -0
- package/adapters/host/truapi-cli/src/host-cache.js +131 -0
- package/adapters/host/truapi-cli/src/host-link.d.ts +16 -0
- package/adapters/host/truapi-cli/src/host-link.js +87 -0
- package/adapters/host/truapi-cli/src/host-lock.d.ts +59 -0
- package/adapters/host/truapi-cli/src/host-lock.js +81 -0
- package/adapters/host/truapi-cli/src/host-options.d.ts +65 -0
- package/adapters/host/truapi-cli/src/host-options.js +61 -0
- package/adapters/host/truapi-cli/src/host-process.d.ts +79 -0
- package/adapters/host/truapi-cli/src/host-process.js +160 -0
- package/adapters/host/truapi-cli/src/host-records.d.ts +73 -0
- package/adapters/host/truapi-cli/src/host-records.js +16 -0
- package/adapters/host/truapi-cli/src/host-requests.d.ts +24 -0
- package/adapters/host/truapi-cli/src/host-requests.js +75 -0
- package/adapters/host/truapi-cli/src/host-temp-dir.d.ts +26 -0
- package/adapters/host/truapi-cli/src/host-temp-dir.js +31 -0
- package/adapters/host/truapi-cli/src/host-types.d.ts +115 -0
- package/adapters/host/truapi-cli/src/host-types.js +3 -0
- package/adapters/host/truapi-cli/src/host-verification.d.ts +20 -0
- package/adapters/host/truapi-cli/src/host-verification.js +101 -0
- package/adapters/host/truapi-cli/src/host.d.ts +14 -0
- package/adapters/host/truapi-cli/src/host.js +186 -0
- package/adapters/host/truapi-cli/src/identity-fingerprint.d.ts +3 -0
- package/adapters/host/truapi-cli/src/identity-fingerprint.js +6 -0
- package/adapters/host/truapi-cli/src/index.d.ts +26 -0
- package/adapters/host/truapi-cli/src/index.js +28 -0
- package/adapters/host/truapi-cli/src/launch.d.ts +113 -0
- package/adapters/host/truapi-cli/src/launch.js +244 -0
- package/adapters/host/truapi-cli/src/navigation.d.ts +23 -0
- package/adapters/host/truapi-cli/src/navigation.js +111 -0
- package/adapters/host/truapi-cli/src/network-config.d.ts +35 -0
- package/adapters/host/truapi-cli/src/network-config.js +41 -0
- package/adapters/host/truapi-cli/src/network-guard.d.ts +37 -0
- package/adapters/host/truapi-cli/src/network-guard.js +72 -0
- package/adapters/host/truapi-cli/src/official-behaviours.d.ts +33 -0
- package/adapters/host/truapi-cli/src/official-behaviours.js +57 -0
- package/adapters/host/truapi-cli/src/official-release.d.ts +18 -0
- package/adapters/host/truapi-cli/src/official-release.js +57 -0
- package/adapters/host/truapi-cli/src/patch-catalogue.d.ts +8 -0
- package/adapters/host/truapi-cli/src/patch-catalogue.js +9 -0
- package/adapters/host/truapi-cli/src/patch-manifest.d.ts +78 -0
- package/adapters/host/truapi-cli/src/patch-manifest.js +103 -0
- package/adapters/host/truapi-cli/src/patches.d.ts +36 -0
- package/adapters/host/truapi-cli/src/patches.js +7 -0
- package/adapters/host/truapi-cli/src/probe-script.d.ts +21 -0
- package/adapters/host/truapi-cli/src/probe-script.js +85 -0
- package/adapters/host/truapi-cli/src/probe-stub.d.ts +41 -0
- package/adapters/host/truapi-cli/src/probe-stub.js +187 -0
- package/adapters/host/truapi-cli/src/product-config.d.ts +17 -0
- package/adapters/host/truapi-cli/src/product-config.js +35 -0
- package/adapters/host/truapi-cli/src/provision.d.ts +88 -0
- package/adapters/host/truapi-cli/src/provision.js +172 -0
- package/adapters/host/truapi-cli/src/rebase-check.d.ts +218 -0
- package/adapters/host/truapi-cli/src/rebase-check.js +366 -0
- package/adapters/host/truapi-cli/src/resolved-host.d.ts +23 -0
- package/adapters/host/truapi-cli/src/resolved-host.js +31 -0
- package/adapters/host/truapi-cli/src/route-release.d.ts +65 -0
- package/adapters/host/truapi-cli/src/route-release.js +133 -0
- package/adapters/host/truapi-cli/src/sandbox-spec.d.ts +4 -0
- package/adapters/host/truapi-cli/src/sandbox-spec.js +14 -0
- package/adapters/host/truapi-cli/src/script-account-read.d.ts +48 -0
- package/adapters/host/truapi-cli/src/script-account-read.js +98 -0
- package/adapters/host/truapi-cli/src/serve-persisted.d.ts +47 -0
- package/adapters/host/truapi-cli/src/serve-persisted.js +115 -0
- package/adapters/host/truapi-cli/src/signing-evidence.d.ts +4 -0
- package/adapters/host/truapi-cli/src/signing-evidence.js +71 -0
- package/adapters/host/truapi-cli/src/signing-host-flags.d.ts +9 -0
- package/adapters/host/truapi-cli/src/signing-host-flags.js +24 -0
- package/adapters/host/truapi-cli/src/truapi-cli-host-factory.d.ts +210 -0
- package/adapters/host/truapi-cli/src/truapi-cli-host-factory.js +345 -0
- package/adapters/host/truapi-wasm/README.md +228 -0
- package/adapters/host/truapi-wasm/src/bulletin-read-probe.d.ts +42 -0
- package/adapters/host/truapi-wasm/src/bulletin-read-probe.js +69 -0
- package/adapters/host/truapi-wasm/src/config.d.ts +79 -0
- package/adapters/host/truapi-wasm/src/config.js +80 -0
- package/adapters/host/truapi-wasm/src/endpoint-chains.d.ts +5 -0
- package/adapters/host/truapi-wasm/src/endpoint-chains.js +30 -0
- package/adapters/host/truapi-wasm/src/entropy-patch.d.ts +27 -0
- package/adapters/host/truapi-wasm/src/entropy-patch.js +23 -0
- package/adapters/host/truapi-wasm/src/framing.d.ts +10 -0
- package/adapters/host/truapi-wasm/src/framing.js +20 -0
- package/adapters/host/truapi-wasm/src/host-package.d.ts +38 -0
- package/adapters/host/truapi-wasm/src/host-package.js +119 -0
- package/adapters/host/truapi-wasm/src/host-page-layout.d.ts +12 -0
- package/adapters/host/truapi-wasm/src/host-page-layout.js +16 -0
- package/adapters/host/truapi-wasm/src/identity.d.ts +3 -0
- package/adapters/host/truapi-wasm/src/identity.js +8 -0
- package/adapters/host/truapi-wasm/src/index.d.ts +25 -0
- package/adapters/host/truapi-wasm/src/index.js +15 -0
- package/adapters/host/truapi-wasm/src/own-script.d.ts +4 -0
- package/adapters/host/truapi-wasm/src/own-script.js +4 -0
- package/adapters/host/truapi-wasm/src/provider.d.ts +190 -0
- package/adapters/host/truapi-wasm/src/provider.js +496 -0
- package/adapters/host/truapi-wasm/src/ring-vrf-member.d.ts +4 -0
- package/adapters/host/truapi-wasm/src/ring-vrf-member.js +47 -0
- package/adapters/host/truapi-wasm/src/route-release.d.ts +29 -0
- package/adapters/host/truapi-wasm/src/route-release.js +47 -0
- package/adapters/host/truapi-wasm/src/shared-host.d.ts +94 -0
- package/adapters/host/truapi-wasm/src/shared-host.js +63 -0
- package/adapters/host/truapi-wasm/src/shared-page.d.ts +1 -0
- package/adapters/host/truapi-wasm/src/shared-page.js +336 -0
- package/adapters/host/truapi-wasm/src/sign-in.d.ts +44 -0
- package/adapters/host/truapi-wasm/src/sign-in.js +38 -0
- package/adapters/host/truapi-wasm/src/truapi-pairing.d.ts +7 -0
- package/adapters/host/truapi-wasm/src/truapi-pairing.js +23 -0
- package/adapters/host/truapi-wasm/src/truapi-wasm-host-factory.d.ts +111 -0
- package/adapters/host/truapi-wasm/src/truapi-wasm-host-factory.js +99 -0
- package/adapters/keys/sr25519/README.md +53 -0
- package/adapters/keys/sr25519/src/index.d.ts +3 -0
- package/adapters/keys/sr25519/src/index.js +5 -0
- package/adapters/keys/sr25519/src/sr25519-key-derivation.d.ts +34 -0
- package/adapters/keys/sr25519/src/sr25519-key-derivation.js +66 -0
- package/adapters/keys/sr25519/src/sr25519-product-accounts.d.ts +8 -0
- package/adapters/keys/sr25519/src/sr25519-product-accounts.js +95 -0
- package/adapters/lab/module/src/config-path.d.ts +2 -0
- package/adapters/lab/module/src/config-path.js +10 -0
- package/adapters/lab/module/src/definition-lab-source.d.ts +11 -0
- package/adapters/lab/module/src/definition-lab-source.js +16 -0
- package/adapters/lab/module/src/index.d.ts +6 -0
- package/adapters/lab/module/src/index.js +8 -0
- package/adapters/lab/module/src/module-host-tools.d.ts +11 -0
- package/adapters/lab/module/src/module-host-tools.js +37 -0
- package/adapters/lab/module/src/module-lab-source.d.ts +16 -0
- package/adapters/lab/module/src/module-lab-source.js +50 -0
- package/adapters/lab/module/src/reload-hook.mjs +24 -0
- package/adapters/lab/module/src/source-fingerprint.d.ts +8 -0
- package/adapters/lab/module/src/source-fingerprint.js +48 -0
- package/adapters/lab/module/src/transpiled-client-bundles.d.ts +8 -0
- package/adapters/lab/module/src/transpiled-client-bundles.js +57 -0
- package/adapters/notify/file/README.md +5 -0
- package/adapters/notify/file/src/file-notifier.d.ts +11 -0
- package/adapters/notify/file/src/file-notifier.js +45 -0
- package/adapters/notify/file/src/index.d.ts +2 -0
- package/adapters/notify/file/src/index.js +4 -0
- package/adapters/notify/file/src/noop-notifier.d.ts +6 -0
- package/adapters/notify/file/src/noop-notifier.js +8 -0
- package/adapters/storage/filesystem/README.md +41 -0
- package/adapters/storage/filesystem/src/directory-fixture-source.d.ts +19 -0
- package/adapters/storage/filesystem/src/directory-fixture-source.js +83 -0
- package/adapters/storage/filesystem/src/file-breakpoint-store.d.ts +4 -0
- package/adapters/storage/filesystem/src/file-breakpoint-store.js +5 -0
- package/adapters/storage/filesystem/src/file-environment-option-choices.d.ts +11 -0
- package/adapters/storage/filesystem/src/file-environment-option-choices.js +44 -0
- package/adapters/storage/filesystem/src/file-evidence-journal.d.ts +10 -0
- package/adapters/storage/filesystem/src/file-evidence-journal.js +19 -0
- package/adapters/storage/filesystem/src/file-fixture-archives.d.ts +17 -0
- package/adapters/storage/filesystem/src/file-fixture-archives.js +250 -0
- package/adapters/storage/filesystem/src/file-fixture-store.d.ts +29 -0
- package/adapters/storage/filesystem/src/file-fixture-store.js +209 -0
- package/adapters/storage/filesystem/src/file-journey-docs.d.ts +9 -0
- package/adapters/storage/filesystem/src/file-journey-docs.js +113 -0
- package/adapters/storage/filesystem/src/file-json-document.d.ts +7 -0
- package/adapters/storage/filesystem/src/file-json-document.js +30 -0
- package/adapters/storage/filesystem/src/file-lab-settings-store.d.ts +4 -0
- package/adapters/storage/filesystem/src/file-lab-settings-store.js +5 -0
- package/adapters/storage/filesystem/src/file-lock-store.d.ts +23 -0
- package/adapters/storage/filesystem/src/file-lock-store.js +55 -0
- package/adapters/storage/filesystem/src/file-recording-store.d.ts +22 -0
- package/adapters/storage/filesystem/src/file-recording-store.js +161 -0
- package/adapters/storage/filesystem/src/file-rpc-choices.d.ts +11 -0
- package/adapters/storage/filesystem/src/file-rpc-choices.js +46 -0
- package/adapters/storage/filesystem/src/file-run-bundle-archives.d.ts +8 -0
- package/adapters/storage/filesystem/src/file-run-bundle-archives.js +200 -0
- package/adapters/storage/filesystem/src/file-run-manifest-store.d.ts +17 -0
- package/adapters/storage/filesystem/src/file-run-manifest-store.js +26 -0
- package/adapters/storage/filesystem/src/file-suite-evidence-bundles.d.ts +16 -0
- package/adapters/storage/filesystem/src/file-suite-evidence-bundles.js +168 -0
- package/adapters/storage/filesystem/src/file-visual-baselines.d.ts +10 -0
- package/adapters/storage/filesystem/src/file-visual-baselines.js +42 -0
- package/adapters/storage/filesystem/src/index.d.ts +18 -0
- package/adapters/storage/filesystem/src/index.js +20 -0
- package/adapters/storage/filesystem/src/lock-running-lab-record.d.ts +13 -0
- package/adapters/storage/filesystem/src/lock-running-lab-record.js +63 -0
- package/adapters/storage/filesystem/src/node-file-system.d.ts +21 -0
- package/adapters/storage/filesystem/src/node-file-system.js +122 -0
- package/adapters/storage/filesystem/src/running-lab.d.ts +2 -0
- package/adapters/storage/filesystem/src/running-lab.js +4 -0
- package/adapters/storage/filesystem/src/tar-archive.d.ts +73 -0
- package/adapters/storage/filesystem/src/tar-archive.js +401 -0
- package/adapters/storage/filesystem/src/workspace-store.d.ts +33 -0
- package/adapters/storage/filesystem/src/workspace-store.js +51 -0
- package/adapters/system/node/README.md +141 -0
- package/adapters/system/node/src/app-proxy/bridge-script.d.ts +21 -0
- package/adapters/system/node/src/app-proxy/bridge-script.js +186 -0
- package/adapters/system/node/src/app-proxy/next-turbopack-updates.d.ts +2 -0
- package/adapters/system/node/src/app-proxy/next-turbopack-updates.js +13 -0
- package/adapters/system/node/src/app-proxy/next-webpack-updates.d.ts +2 -0
- package/adapters/system/node/src/app-proxy/next-webpack-updates.js +19 -0
- package/adapters/system/node/src/app-proxy/node-app-proxy.d.ts +15 -0
- package/adapters/system/node/src/app-proxy/node-app-proxy.js +395 -0
- package/adapters/system/node/src/app-proxy/vite-updates.d.ts +2 -0
- package/adapters/system/node/src/app-proxy/vite-updates.js +8 -0
- package/adapters/system/node/src/app-proxy/web-socket-tunnel.d.ts +28 -0
- package/adapters/system/node/src/app-proxy/web-socket-tunnel.js +479 -0
- package/adapters/system/node/src/app-proxy/webpack-dev-server-updates.d.ts +2 -0
- package/adapters/system/node/src/app-proxy/webpack-dev-server-updates.js +13 -0
- package/adapters/system/node/src/console-logger.d.ts +25 -0
- package/adapters/system/node/src/console-logger.js +31 -0
- package/adapters/system/node/src/file-lock-manager.d.ts +26 -0
- package/adapters/system/node/src/file-lock-manager.js +103 -0
- package/adapters/system/node/src/git-change-source.d.ts +37 -0
- package/adapters/system/node/src/git-change-source.js +127 -0
- package/adapters/system/node/src/http-json-rpc-client.d.ts +20 -0
- package/adapters/system/node/src/http-json-rpc-client.js +25 -0
- package/adapters/system/node/src/index.d.ts +35 -0
- package/adapters/system/node/src/index.js +37 -0
- package/adapters/system/node/src/json-rpc-reply.d.ts +6 -0
- package/adapters/system/node/src/json-rpc-reply.js +18 -0
- package/adapters/system/node/src/linux-namespace-sandbox.d.ts +53 -0
- package/adapters/system/node/src/linux-namespace-sandbox.js +143 -0
- package/adapters/system/node/src/linux-network-namespace.mjs +177 -0
- package/adapters/system/node/src/lsof-connection-monitor.d.ts +50 -0
- package/adapters/system/node/src/lsof-connection-monitor.js +208 -0
- package/adapters/system/node/src/node-chain-gates.d.ts +10 -0
- package/adapters/system/node/src/node-chain-gates.js +173 -0
- package/adapters/system/node/src/node-command-runner.d.ts +17 -0
- package/adapters/system/node/src/node-command-runner.js +143 -0
- package/adapters/system/node/src/node-conditioned-links.d.ts +4 -0
- package/adapters/system/node/src/node-conditioned-links.js +140 -0
- package/adapters/system/node/src/node-document-headers.d.ts +28 -0
- package/adapters/system/node/src/node-document-headers.js +38 -0
- package/adapters/system/node/src/node-http-probe.d.ts +21 -0
- package/adapters/system/node/src/node-http-probe.js +39 -0
- package/adapters/system/node/src/node-machine-metrics.d.ts +61 -0
- package/adapters/system/node/src/node-machine-metrics.js +109 -0
- package/adapters/system/node/src/node-os-ports.d.ts +24 -0
- package/adapters/system/node/src/node-os-ports.js +82 -0
- package/adapters/system/node/src/node-owned-processes.d.ts +96 -0
- package/adapters/system/node/src/node-owned-processes.js +440 -0
- package/adapters/system/node/src/node-process-runner.d.ts +51 -0
- package/adapters/system/node/src/node-process-runner.js +110 -0
- package/adapters/system/node/src/node-process-sandbox.d.ts +51 -0
- package/adapters/system/node/src/node-process-sandbox.js +79 -0
- package/adapters/system/node/src/node-source-watcher.d.ts +7 -0
- package/adapters/system/node/src/node-source-watcher.js +91 -0
- package/adapters/system/node/src/node-stdio-worker.d.ts +11 -0
- package/adapters/system/node/src/node-stdio-worker.js +133 -0
- package/adapters/system/node/src/node-sync-command-runner.d.ts +8 -0
- package/adapters/system/node/src/node-sync-command-runner.js +96 -0
- package/adapters/system/node/src/node-terminal-command-runner.d.ts +14 -0
- package/adapters/system/node/src/node-terminal-command-runner.js +23 -0
- package/adapters/system/node/src/node-tree-cloner.d.ts +16 -0
- package/adapters/system/node/src/node-tree-cloner.js +46 -0
- package/adapters/system/node/src/owned-group-anchor.mjs +72 -0
- package/adapters/system/node/src/port-blocks.d.ts +32 -0
- package/adapters/system/node/src/port-blocks.js +132 -0
- package/adapters/system/node/src/process-environment-variables.d.ts +8 -0
- package/adapters/system/node/src/process-environment-variables.js +14 -0
- package/adapters/system/node/src/process-group.d.ts +35 -0
- package/adapters/system/node/src/process-group.js +81 -0
- package/adapters/system/node/src/process-table.d.ts +25 -0
- package/adapters/system/node/src/process-table.js +8 -0
- package/adapters/system/node/src/process.d.ts +7 -0
- package/adapters/system/node/src/process.js +9 -0
- package/adapters/system/node/src/ps-process-table.d.ts +34 -0
- package/adapters/system/node/src/ps-process-table.js +87 -0
- package/adapters/system/node/src/random-id-generator.d.ts +5 -0
- package/adapters/system/node/src/random-id-generator.js +8 -0
- package/adapters/system/node/src/recorded-members.d.ts +10 -0
- package/adapters/system/node/src/recorded-members.js +24 -0
- package/adapters/system/node/src/request-head.d.ts +9 -0
- package/adapters/system/node/src/request-head.js +37 -0
- package/adapters/system/node/src/system-clock.d.ts +7 -0
- package/adapters/system/node/src/system-clock.js +25 -0
- package/adapters/system/node/src/tcp-port-allocator.d.ts +56 -0
- package/adapters/system/node/src/tcp-port-allocator.js +117 -0
- package/adapters/system/node/src/web-socket-json-rpc-client.d.ts +23 -0
- package/adapters/system/node/src/web-socket-json-rpc-client.js +54 -0
- package/adapters/versions/chain/README.md +40 -0
- package/adapters/versions/chain/src/deployed-runtime-source.d.ts +43 -0
- package/adapters/versions/chain/src/deployed-runtime-source.js +97 -0
- package/adapters/versions/chain/src/index.d.ts +1 -0
- package/adapters/versions/chain/src/index.js +3 -0
- package/adapters/versions/github/README.md +108 -0
- package/adapters/versions/github/src/fetch-http-client.d.ts +15 -0
- package/adapters/versions/github/src/fetch-http-client.js +23 -0
- package/adapters/versions/github/src/github-release-artifacts.d.ts +36 -0
- package/adapters/versions/github/src/github-release-artifacts.js +166 -0
- package/adapters/versions/github/src/github-release-fixture-source.d.ts +51 -0
- package/adapters/versions/github/src/github-release-fixture-source.js +193 -0
- package/adapters/versions/github/src/github-version-source.d.ts +78 -0
- package/adapters/versions/github/src/github-version-source.js +281 -0
- package/adapters/versions/github/src/index.d.ts +4 -0
- package/adapters/versions/github/src/index.js +6 -0
- package/adapters/versions/npm/README.md +32 -0
- package/adapters/versions/npm/src/index.d.ts +1 -0
- package/adapters/versions/npm/src/index.js +3 -0
- package/adapters/versions/npm/src/npm-version-source.d.ts +53 -0
- package/adapters/versions/npm/src/npm-version-source.js +151 -0
- package/adapters/video/ffmpeg/README.md +39 -0
- package/adapters/video/ffmpeg/src/ffmpeg-video-editor.d.ts +40 -0
- package/adapters/video/ffmpeg/src/ffmpeg-video-editor.js +105 -0
- package/adapters/video/ffmpeg/src/index.d.ts +1 -0
- package/adapters/video/ffmpeg/src/index.js +3 -0
- package/adapters/visual/pixelmatch/README.md +29 -0
- package/adapters/visual/pixelmatch/src/index.d.ts +1 -0
- package/adapters/visual/pixelmatch/src/index.js +3 -0
- package/adapters/visual/pixelmatch/src/pixelmatch-comparison.d.ts +10 -0
- package/adapters/visual/pixelmatch/src/pixelmatch-comparison.js +19 -0
- package/composition/README.md +281 -0
- package/composition/src/actor-conditions.d.ts +14 -0
- package/composition/src/actor-conditions.js +36 -0
- package/composition/src/actor-funds.d.ts +18 -0
- package/composition/src/actor-funds.js +17 -0
- package/composition/src/adapter-catalogue.d.ts +39 -0
- package/composition/src/adapter-catalogue.js +59 -0
- package/composition/src/app-readiness.d.ts +32 -0
- package/composition/src/app-readiness.js +141 -0
- package/composition/src/app-server.d.ts +52 -0
- package/composition/src/app-server.js +124 -0
- package/composition/src/app-updates.d.ts +1 -0
- package/composition/src/app-updates.js +3 -0
- package/composition/src/artifacts.d.ts +3 -0
- package/composition/src/artifacts.js +6 -0
- package/composition/src/attached/attached-lab-runtime.d.ts +13 -0
- package/composition/src/attached/attached-lab-runtime.js +112 -0
- package/composition/src/attached/attached-runs.d.ts +47 -0
- package/composition/src/attached/attached-runs.js +119 -0
- package/composition/src/attached/following-lab-runtime.d.ts +10 -0
- package/composition/src/attached/following-lab-runtime.js +41 -0
- package/composition/src/attached/headless-lab.d.ts +20 -0
- package/composition/src/attached/headless-lab.js +65 -0
- package/composition/src/attached/lab-window-launcher.d.ts +33 -0
- package/composition/src/attached/lab-window-launcher.js +78 -0
- package/composition/src/attached/window-client.d.ts +21 -0
- package/composition/src/attached/window-client.js +72 -0
- package/composition/src/chain-connections.d.ts +39 -0
- package/composition/src/chain-connections.js +52 -0
- package/composition/src/checkout.d.ts +4 -0
- package/composition/src/checkout.js +11 -0
- package/composition/src/chopsticks-of-fast.d.ts +34 -0
- package/composition/src/chopsticks-of-fast.js +91 -0
- package/composition/src/create-lab-runtime.d.ts +70 -0
- package/composition/src/create-lab-runtime.js +248 -0
- package/composition/src/cucumber.d.ts +8 -0
- package/composition/src/cucumber.js +8 -0
- package/composition/src/default-dev-server.d.ts +20 -0
- package/composition/src/default-dev-server.js +52 -0
- package/composition/src/default-lab.d.ts +79 -0
- package/composition/src/default-lab.js +597 -0
- package/composition/src/default-session-browser.d.ts +7 -0
- package/composition/src/default-session-browser.js +17 -0
- package/composition/src/default-session-keep.d.ts +60 -0
- package/composition/src/default-session-keep.js +86 -0
- package/composition/src/default-session-page.d.ts +35 -0
- package/composition/src/default-session-page.js +40 -0
- package/composition/src/default-session-persons.d.ts +51 -0
- package/composition/src/default-session-persons.js +42 -0
- package/composition/src/default-session.d.ts +12 -0
- package/composition/src/default-session.js +594 -0
- package/composition/src/demo-ports.d.ts +8 -0
- package/composition/src/demo-ports.js +21 -0
- package/composition/src/deployed-app-server.d.ts +36 -0
- package/composition/src/deployed-app-server.js +62 -0
- package/composition/src/deployed-local-app.d.ts +30 -0
- package/composition/src/deployed-local-app.js +48 -0
- package/composition/src/device-browsers.d.ts +6 -0
- package/composition/src/device-browsers.js +16 -0
- package/composition/src/engine-setup.d.ts +1 -0
- package/composition/src/engine-setup.js +37 -0
- package/composition/src/feature-runtime.d.ts +5 -0
- package/composition/src/feature-runtime.js +12 -0
- package/composition/src/fixture-sharing.d.ts +12 -0
- package/composition/src/fixture-sharing.js +62 -0
- package/composition/src/fork-attach.d.ts +31 -0
- package/composition/src/fork-attach.js +80 -0
- package/composition/src/fork-live.d.ts +13 -0
- package/composition/src/fork-live.js +70 -0
- package/composition/src/gateway-program.d.ts +1 -0
- package/composition/src/gateway-program.js +24 -0
- package/composition/src/gateway-shutdown.d.ts +4 -0
- package/composition/src/gateway-shutdown.js +13 -0
- package/composition/src/host-tool-services.d.ts +21 -0
- package/composition/src/host-tool-services.js +27 -0
- package/composition/src/host-words.d.ts +3 -0
- package/composition/src/host-words.js +16 -0
- package/composition/src/identity-funding.d.ts +37 -0
- package/composition/src/identity-funding.js +92 -0
- package/composition/src/index.d.ts +38 -0
- package/composition/src/index.js +40 -0
- package/composition/src/machine-inputs.d.ts +67 -0
- package/composition/src/machine-inputs.js +98 -0
- package/composition/src/network-copies.d.ts +19 -0
- package/composition/src/network-copies.js +44 -0
- package/composition/src/node-system.d.ts +69 -0
- package/composition/src/node-system.js +89 -0
- package/composition/src/observe-browser-page.d.ts +15 -0
- package/composition/src/observe-browser-page.js +39 -0
- package/composition/src/old-environment-state.d.ts +13 -0
- package/composition/src/old-environment-state.js +138 -0
- package/composition/src/people-dev/genesis.d.ts +20 -0
- package/composition/src/people-dev/genesis.js +6 -0
- package/composition/src/people-dev/member-key.d.ts +58 -0
- package/composition/src/people-dev/member-key.js +110 -0
- package/composition/src/people-dev/onboarding.d.ts +142 -0
- package/composition/src/people-dev/onboarding.js +220 -0
- package/composition/src/people-dev/people-chunks.json +14 -0
- package/composition/src/people-dev/readings.d.ts +15 -0
- package/composition/src/people-dev/readings.js +35 -0
- package/composition/src/people-dev/xcm-stand-in.d.ts +163 -0
- package/composition/src/people-dev/xcm-stand-in.js +183 -0
- package/composition/src/people-keep/discard.d.ts +29 -0
- package/composition/src/people-keep/discard.js +59 -0
- package/composition/src/people-keep/kept-people.d.ts +53 -0
- package/composition/src/people-keep/kept-people.js +56 -0
- package/composition/src/people-keep/lifecycle.d.ts +48 -0
- package/composition/src/people-keep/lifecycle.js +69 -0
- package/composition/src/people-keep/saved-people.d.ts +35 -0
- package/composition/src/people-keep/saved-people.js +56 -0
- package/composition/src/platform/index.d.ts +1 -0
- package/composition/src/platform/index.js +3 -0
- package/composition/src/platform/platform-integration.d.ts +41 -0
- package/composition/src/platform/platform-integration.js +251 -0
- package/composition/src/platform/reported-ports.d.ts +4 -0
- package/composition/src/platform/reported-ports.js +31 -0
- package/composition/src/pre-onboarded-identities.d.ts +12 -0
- package/composition/src/pre-onboarded-identities.js +42 -0
- package/composition/src/process.d.ts +22 -0
- package/composition/src/process.js +27 -0
- package/composition/src/product-versions.d.ts +40 -0
- package/composition/src/product-versions.js +51 -0
- package/composition/src/public-identities.d.ts +44 -0
- package/composition/src/public-identities.js +88 -0
- package/composition/src/recording-browsers.d.ts +3 -0
- package/composition/src/recording-browsers.js +9 -0
- package/composition/src/recordings-directory.d.ts +1 -0
- package/composition/src/recordings-directory.js +10 -0
- package/composition/src/redact-console.d.ts +5 -0
- package/composition/src/redact-console.js +10 -0
- package/composition/src/root-call-support.d.ts +3 -0
- package/composition/src/root-call-support.js +16 -0
- package/composition/src/running-lab-variable.d.ts +8 -0
- package/composition/src/running-lab-variable.js +14 -0
- package/composition/src/session-frames.d.ts +5 -0
- package/composition/src/session-frames.js +12 -0
- package/composition/src/session-hosts.d.ts +66 -0
- package/composition/src/session-hosts.js +217 -0
- package/composition/src/session-placement.d.ts +25 -0
- package/composition/src/session-placement.js +21 -0
- package/composition/src/versions/lab-version-ports.d.ts +27 -0
- package/composition/src/versions/lab-version-ports.js +57 -0
- package/composition/src/versions/version-source-catalogue.d.ts +90 -0
- package/composition/src/versions/version-source-catalogue.js +134 -0
- package/contracts/browser/README.md +65 -0
- package/contracts/browser/src/index.d.ts +2 -0
- package/contracts/browser/src/index.js +4 -0
- package/contracts/browser/src/kit.d.ts +83 -0
- package/contracts/browser/src/kit.js +493 -0
- package/contracts/browser/src/runner.d.ts +71 -0
- package/contracts/browser/src/runner.js +156 -0
- package/contracts/chain/README.md +81 -0
- package/contracts/chain/src/cases/access.d.ts +3 -0
- package/contracts/chain/src/cases/access.js +68 -0
- package/contracts/chain/src/cases/history.d.ts +3 -0
- package/contracts/chain/src/cases/history.js +82 -0
- package/contracts/chain/src/cases/keys.d.ts +3 -0
- package/contracts/chain/src/cases/keys.js +131 -0
- package/contracts/chain/src/cases/submit.d.ts +3 -0
- package/contracts/chain/src/cases/submit.js +223 -0
- package/contracts/chain/src/cases/validator.d.ts +3 -0
- package/contracts/chain/src/cases/validator.js +59 -0
- package/contracts/chain/src/context.d.ts +51 -0
- package/contracts/chain/src/context.js +125 -0
- package/contracts/chain/src/index.d.ts +2 -0
- package/contracts/chain/src/index.js +4 -0
- package/contracts/chain/src/kit.d.ts +36 -0
- package/contracts/chain/src/kit.js +33 -0
- package/contracts/chain/src/runner.d.ts +71 -0
- package/contracts/chain/src/runner.js +156 -0
- package/contracts/chain/src/subject.d.ts +75 -0
- package/contracts/chain/src/subject.js +25 -0
- package/contracts/environment/README.md +90 -0
- package/contracts/environment/src/cases/declared-options.d.ts +3 -0
- package/contracts/environment/src/cases/declared-options.js +103 -0
- package/contracts/environment/src/cases/lifecycle.d.ts +3 -0
- package/contracts/environment/src/cases/lifecycle.js +130 -0
- package/contracts/environment/src/cases/options.d.ts +3 -0
- package/contracts/environment/src/cases/options.js +123 -0
- package/contracts/environment/src/cases/probe.d.ts +3 -0
- package/contracts/environment/src/cases/probe.js +63 -0
- package/contracts/environment/src/cases/topology.d.ts +3 -0
- package/contracts/environment/src/cases/topology.js +101 -0
- package/contracts/environment/src/checks.d.ts +31 -0
- package/contracts/environment/src/checks.js +93 -0
- package/contracts/environment/src/context.d.ts +23 -0
- package/contracts/environment/src/context.js +51 -0
- package/contracts/environment/src/index.d.ts +2 -0
- package/contracts/environment/src/index.js +4 -0
- package/contracts/environment/src/kit.d.ts +32 -0
- package/contracts/environment/src/kit.js +34 -0
- package/contracts/environment/src/runner.d.ts +71 -0
- package/contracts/environment/src/runner.js +156 -0
- package/contracts/environment/src/subject.d.ts +83 -0
- package/contracts/environment/src/subject.js +14 -0
- package/contracts/host/README.md +71 -0
- package/contracts/host/src/cases/approvals.d.ts +3 -0
- package/contracts/host/src/cases/approvals.js +112 -0
- package/contracts/host/src/cases/conditions.d.ts +3 -0
- package/contracts/host/src/cases/conditions.js +43 -0
- package/contracts/host/src/cases/hostile.d.ts +3 -0
- package/contracts/host/src/cases/hostile.js +131 -0
- package/contracts/host/src/cases/identity-navigation.d.ts +3 -0
- package/contracts/host/src/cases/identity-navigation.js +85 -0
- package/contracts/host/src/cases/network.d.ts +3 -0
- package/contracts/host/src/cases/network.js +46 -0
- package/contracts/host/src/cases/sessions.d.ts +3 -0
- package/contracts/host/src/cases/sessions.js +113 -0
- package/contracts/host/src/context.d.ts +85 -0
- package/contracts/host/src/context.js +145 -0
- package/contracts/host/src/derivation.d.ts +19 -0
- package/contracts/host/src/derivation.js +76 -0
- package/contracts/host/src/index.d.ts +6 -0
- package/contracts/host/src/index.js +8 -0
- package/contracts/host/src/kit.d.ts +27 -0
- package/contracts/host/src/kit.js +128 -0
- package/contracts/host/src/module-host-verifier.d.ts +19 -0
- package/contracts/host/src/module-host-verifier.js +80 -0
- package/contracts/host/src/probe/channels.d.ts +18 -0
- package/contracts/host/src/probe/channels.js +11 -0
- package/contracts/host/src/probe/page.d.ts +89 -0
- package/contracts/host/src/probe/page.js +253 -0
- package/contracts/host/src/probe/server.d.ts +23 -0
- package/contracts/host/src/probe/server.js +102 -0
- package/contracts/host/src/probe/truapi-version.d.ts +5 -0
- package/contracts/host/src/probe/truapi-version.js +20 -0
- package/contracts/host/src/targets.d.ts +49 -0
- package/contracts/host/src/targets.js +39 -0
- package/core/application/README.md +517 -0
- package/core/application/src/actors/actor-bindings.d.ts +18 -0
- package/core/application/src/actors/actor-bindings.js +38 -0
- package/core/application/src/actors/actor-view.d.ts +35 -0
- package/core/application/src/actors/actor-view.js +40 -0
- package/core/application/src/actors/bind-actors.d.ts +82 -0
- package/core/application/src/actors/bind-actors.js +156 -0
- package/core/application/src/actors/binding-error.d.ts +4 -0
- package/core/application/src/actors/binding-error.js +5 -0
- package/core/application/src/actors/manage-actors.d.ts +64 -0
- package/core/application/src/actors/manage-actors.js +147 -0
- package/core/application/src/apps/app-gate.d.ts +43 -0
- package/core/application/src/apps/app-gate.js +106 -0
- package/core/application/src/apps/app-reloads.d.ts +74 -0
- package/core/application/src/apps/app-reloads.js +470 -0
- package/core/application/src/apps/app-update-hub.d.ts +33 -0
- package/core/application/src/apps/app-update-hub.js +116 -0
- package/core/application/src/apps/inspect-app-framing.d.ts +9 -0
- package/core/application/src/apps/inspect-app-framing.js +25 -0
- package/core/application/src/bisect/bisect-regression.d.ts +52 -0
- package/core/application/src/bisect/bisect-regression.js +168 -0
- package/core/application/src/bisect/probe-session.d.ts +52 -0
- package/core/application/src/bisect/probe-session.js +208 -0
- package/core/application/src/builder/build-scenarios.d.ts +55 -0
- package/core/application/src/builder/build-scenarios.js +261 -0
- package/core/application/src/environment/account-watch.d.ts +41 -0
- package/core/application/src/environment/account-watch.js +117 -0
- package/core/application/src/environment/active-environment.d.ts +165 -0
- package/core/application/src/environment/active-environment.js +361 -0
- package/core/application/src/environment/advance-environment-time.d.ts +37 -0
- package/core/application/src/environment/advance-environment-time.js +52 -0
- package/core/application/src/environment/chain-day-ended.d.ts +7 -0
- package/core/application/src/environment/chain-day-ended.js +8 -0
- package/core/application/src/environment/confirmations.d.ts +15 -0
- package/core/application/src/environment/confirmations.js +23 -0
- package/core/application/src/environment/endpoint-heads.d.ts +4 -0
- package/core/application/src/environment/endpoint-heads.js +26 -0
- package/core/application/src/environment/endpoint-services.d.ts +13 -0
- package/core/application/src/environment/endpoint-services.js +35 -0
- package/core/application/src/environment/environment-option-picker.d.ts +38 -0
- package/core/application/src/environment/environment-option-picker.js +62 -0
- package/core/application/src/environment/environment-option-views.d.ts +30 -0
- package/core/application/src/environment/environment-option-views.js +22 -0
- package/core/application/src/environment/environment-request-error.d.ts +1 -0
- package/core/application/src/environment/environment-request-error.js +3 -0
- package/core/application/src/environment/environment-retention.d.ts +11 -0
- package/core/application/src/environment/environment-retention.js +16 -0
- package/core/application/src/environment/environment-rpc.d.ts +17 -0
- package/core/application/src/environment/environment-rpc.js +39 -0
- package/core/application/src/environment/keep-between-starts.d.ts +18 -0
- package/core/application/src/environment/keep-between-starts.js +44 -0
- package/core/application/src/environment/prepare-environment-tooling.d.ts +21 -0
- package/core/application/src/environment/prepare-environment-tooling.js +65 -0
- package/core/application/src/environment/public-writes.d.ts +5 -0
- package/core/application/src/environment/public-writes.js +9 -0
- package/core/application/src/environment/read-chain-console.d.ts +23 -0
- package/core/application/src/environment/read-chain-console.js +117 -0
- package/core/application/src/environment/reset-environment.d.ts +12 -0
- package/core/application/src/environment/reset-environment.js +38 -0
- package/core/application/src/environment/running-labs.d.ts +13 -0
- package/core/application/src/environment/running-labs.js +22 -0
- package/core/application/src/environment/show-environment.d.ts +19 -0
- package/core/application/src/environment/show-environment.js +63 -0
- package/core/application/src/environment/start-environment.d.ts +85 -0
- package/core/application/src/environment/start-environment.js +223 -0
- package/core/application/src/environment/stop-environment.d.ts +11 -0
- package/core/application/src/environment/stop-environment.js +33 -0
- package/core/application/src/environment/switch-environment.d.ts +62 -0
- package/core/application/src/environment/switch-environment.js +175 -0
- package/core/application/src/explore/exploration-runs.d.ts +21 -0
- package/core/application/src/explore/exploration-runs.js +54 -0
- package/core/application/src/explore/explore-lab.d.ts +30 -0
- package/core/application/src/explore/explore-lab.js +185 -0
- package/core/application/src/explore/what-if-lab.d.ts +27 -0
- package/core/application/src/explore/what-if-lab.js +166 -0
- package/core/application/src/features/breakpoint-error.d.ts +4 -0
- package/core/application/src/features/breakpoint-error.js +5 -0
- package/core/application/src/features/check-host-network.d.ts +29 -0
- package/core/application/src/features/check-host-network.js +82 -0
- package/core/application/src/features/check-host-requests.d.ts +5 -0
- package/core/application/src/features/check-host-requests.js +22 -0
- package/core/application/src/features/coverage-lab.d.ts +9 -0
- package/core/application/src/features/coverage-lab.js +74 -0
- package/core/application/src/features/expand-outline.d.ts +9 -0
- package/core/application/src/features/expand-outline.js +16 -0
- package/core/application/src/features/feature-calls.d.ts +49 -0
- package/core/application/src/features/feature-calls.js +104 -0
- package/core/application/src/features/feature-plan-error.d.ts +16 -0
- package/core/application/src/features/feature-plan-error.js +19 -0
- package/core/application/src/features/feature-run-error.d.ts +6 -0
- package/core/application/src/features/feature-run-error.js +10 -0
- package/core/application/src/features/feature-run.d.ts +75 -0
- package/core/application/src/features/feature-run.js +231 -0
- package/core/application/src/features/feature-scenario.d.ts +156 -0
- package/core/application/src/features/feature-scenario.js +623 -0
- package/core/application/src/features/feature-step-error.d.ts +17 -0
- package/core/application/src/features/feature-step-error.js +17 -0
- package/core/application/src/features/feature-step-gate.d.ts +54 -0
- package/core/application/src/features/feature-step-gate.js +93 -0
- package/core/application/src/features/feature-step-times.d.ts +16 -0
- package/core/application/src/features/feature-step-times.js +30 -0
- package/core/application/src/features/feature-steps.d.ts +3 -0
- package/core/application/src/features/feature-steps.js +22 -0
- package/core/application/src/features/inspect-pause.d.ts +27 -0
- package/core/application/src/features/inspect-pause.js +176 -0
- package/core/application/src/features/inspect-scenario.d.ts +14 -0
- package/core/application/src/features/inspect-scenario.js +98 -0
- package/core/application/src/features/lab-feature-session.d.ts +67 -0
- package/core/application/src/features/lab-feature-session.js +264 -0
- package/core/application/src/features/lint-lab.d.ts +15 -0
- package/core/application/src/features/lint-lab.js +204 -0
- package/core/application/src/features/list-features.d.ts +26 -0
- package/core/application/src/features/list-features.js +92 -0
- package/core/application/src/features/manage-breakpoints.d.ts +45 -0
- package/core/application/src/features/manage-breakpoints.js +105 -0
- package/core/application/src/features/no-funds.d.ts +3 -0
- package/core/application/src/features/no-funds.js +13 -0
- package/core/application/src/features/pause-inspection-error.d.ts +4 -0
- package/core/application/src/features/pause-inspection-error.js +5 -0
- package/core/application/src/features/plan-feature-scenario.d.ts +28 -0
- package/core/application/src/features/plan-feature-scenario.js +66 -0
- package/core/application/src/features/plan-mutants.d.ts +9 -0
- package/core/application/src/features/plan-mutants.js +33 -0
- package/core/application/src/features/prepared-characters.d.ts +13 -0
- package/core/application/src/features/prepared-characters.js +52 -0
- package/core/application/src/features/read-scenario-conditions.d.ts +29 -0
- package/core/application/src/features/read-scenario-conditions.js +38 -0
- package/core/application/src/features/reconcile-host-bypass.d.ts +7 -0
- package/core/application/src/features/reconcile-host-bypass.js +20 -0
- package/core/application/src/features/resolve-run-devices.d.ts +14 -0
- package/core/application/src/features/resolve-run-devices.js +31 -0
- package/core/application/src/features/run-feature-steps.d.ts +41 -0
- package/core/application/src/features/run-feature-steps.js +37 -0
- package/core/application/src/features/run-features.d.ts +112 -0
- package/core/application/src/features/run-features.js +397 -0
- package/core/application/src/features/run-scoped-values.d.ts +17 -0
- package/core/application/src/features/run-scoped-values.js +37 -0
- package/core/application/src/features/scenario-actor-creation.d.ts +60 -0
- package/core/application/src/features/scenario-actor-creation.js +107 -0
- package/core/application/src/features/scenario-conditions.d.ts +13 -0
- package/core/application/src/features/scenario-conditions.js +64 -0
- package/core/application/src/features/scenario-inspection.d.ts +5 -0
- package/core/application/src/features/scenario-inspection.js +34 -0
- package/core/application/src/features/scenario-race.d.ts +8 -0
- package/core/application/src/features/scenario-race.js +8 -0
- package/core/application/src/features/scenario-step-checks.d.ts +22 -0
- package/core/application/src/features/scenario-step-checks.js +114 -0
- package/core/application/src/features/step-checks.d.ts +49 -0
- package/core/application/src/features/step-checks.js +42 -0
- package/core/application/src/features/watch-features.d.ts +23 -0
- package/core/application/src/features/watch-features.js +80 -0
- package/core/application/src/fixtures/build-fixture.d.ts +22 -0
- package/core/application/src/fixtures/build-fixture.js +69 -0
- package/core/application/src/fixtures/check-fixtures.d.ts +15 -0
- package/core/application/src/fixtures/check-fixtures.js +80 -0
- package/core/application/src/fixtures/download-fixture.d.ts +19 -0
- package/core/application/src/fixtures/download-fixture.js +92 -0
- package/core/application/src/fixtures/export-fixture.d.ts +16 -0
- package/core/application/src/fixtures/export-fixture.js +87 -0
- package/core/application/src/fixtures/fixture-characters.d.ts +10 -0
- package/core/application/src/fixtures/fixture-characters.js +24 -0
- package/core/application/src/fixtures/fixture-checkout.d.ts +15 -0
- package/core/application/src/fixtures/fixture-checkout.js +25 -0
- package/core/application/src/fixtures/fixture-context.d.ts +79 -0
- package/core/application/src/fixtures/fixture-context.js +139 -0
- package/core/application/src/fixtures/fixture-maintenance-service.d.ts +23 -0
- package/core/application/src/fixtures/fixture-maintenance-service.js +26 -0
- package/core/application/src/fixtures/fixture-run-guard.d.ts +17 -0
- package/core/application/src/fixtures/fixture-run-guard.js +42 -0
- package/core/application/src/fixtures/fixture-sharing-ports.d.ts +17 -0
- package/core/application/src/fixtures/fixture-sharing-ports.js +3 -0
- package/core/application/src/fixtures/fixture-sharing-service.d.ts +22 -0
- package/core/application/src/fixtures/fixture-sharing-service.js +28 -0
- package/core/application/src/fixtures/import-fixture.d.ts +42 -0
- package/core/application/src/fixtures/import-fixture.js +212 -0
- package/core/application/src/fixtures/isolate-scenario.d.ts +23 -0
- package/core/application/src/fixtures/isolate-scenario.js +104 -0
- package/core/application/src/fixtures/keep-run-start.d.ts +36 -0
- package/core/application/src/fixtures/keep-run-start.js +77 -0
- package/core/application/src/fixtures/list-fixtures.d.ts +16 -0
- package/core/application/src/fixtures/list-fixtures.js +91 -0
- package/core/application/src/fixtures/prepare-scenario-fixture.d.ts +42 -0
- package/core/application/src/fixtures/prepare-scenario-fixture.js +157 -0
- package/core/application/src/fixtures/push-fixture.d.ts +15 -0
- package/core/application/src/fixtures/push-fixture.js +43 -0
- package/core/application/src/fixtures/refresh-fixture.d.ts +27 -0
- package/core/application/src/fixtures/refresh-fixture.js +141 -0
- package/core/application/src/fixtures/restore-fixture.d.ts +36 -0
- package/core/application/src/fixtures/restore-fixture.js +129 -0
- package/core/application/src/fixtures/save-fixture.d.ts +35 -0
- package/core/application/src/fixtures/save-fixture.js +137 -0
- package/core/application/src/fixtures/start-from-fixture.d.ts +23 -0
- package/core/application/src/fixtures/start-from-fixture.js +43 -0
- package/core/application/src/hosts/acquire-host.d.ts +23 -0
- package/core/application/src/hosts/acquire-host.js +59 -0
- package/core/application/src/hosts/host-request-error.d.ts +6 -0
- package/core/application/src/hosts/host-request-error.js +10 -0
- package/core/application/src/hosts/verify-host.d.ts +37 -0
- package/core/application/src/hosts/verify-host.js +93 -0
- package/core/application/src/index.d.ts +96 -0
- package/core/application/src/index.js +96 -0
- package/core/application/src/lab/before-close.d.ts +12 -0
- package/core/application/src/lab/before-close.js +14 -0
- package/core/application/src/lab/check-extensions.d.ts +5 -0
- package/core/application/src/lab/check-extensions.js +12 -0
- package/core/application/src/lab/check-lab.d.ts +35 -0
- package/core/application/src/lab/check-lab.js +82 -0
- package/core/application/src/lab/lab-state.d.ts +87 -0
- package/core/application/src/lab/lab-state.js +38 -0
- package/core/application/src/lab/load-lab.d.ts +15 -0
- package/core/application/src/lab/load-lab.js +35 -0
- package/core/application/src/lab/runtime-events.d.ts +7 -0
- package/core/application/src/lab/runtime-events.js +17 -0
- package/core/application/src/lab-runtime-ports.d.ts +297 -0
- package/core/application/src/lab-runtime-ports.js +3 -0
- package/core/application/src/lab-runtime-service.d.ts +281 -0
- package/core/application/src/lab-runtime-service.js +520 -0
- package/core/application/src/lab-runtime-use-cases.d.ts +3 -0
- package/core/application/src/lab-runtime-use-cases.js +280 -0
- package/core/application/src/load/run-load.d.ts +23 -0
- package/core/application/src/load/run-load.js +88 -0
- package/core/application/src/navigation/resolve-navigation-destination.d.ts +8 -0
- package/core/application/src/navigation/resolve-navigation-destination.js +39 -0
- package/core/application/src/orchestration/activity/monitor.d.ts +16 -0
- package/core/application/src/orchestration/activity/monitor.js +49 -0
- package/core/application/src/orchestration/activity/types.d.ts +1 -0
- package/core/application/src/orchestration/activity/types.js +3 -0
- package/core/application/src/orchestration/capabilities.d.ts +8 -0
- package/core/application/src/orchestration/capabilities.js +3 -0
- package/core/application/src/orchestration/chain/account-queue.d.ts +26 -0
- package/core/application/src/orchestration/chain/account-queue.js +61 -0
- package/core/application/src/orchestration/chain/activity-ids.d.ts +14 -0
- package/core/application/src/orchestration/chain/activity-ids.js +11 -0
- package/core/application/src/orchestration/chain/batch-failed-error.d.ts +13 -0
- package/core/application/src/orchestration/chain/batch-failed-error.js +14 -0
- package/core/application/src/orchestration/chain/batch-submission.d.ts +60 -0
- package/core/application/src/orchestration/chain/batch-submission.js +77 -0
- package/core/application/src/orchestration/chain/chain-connection.d.ts +78 -0
- package/core/application/src/orchestration/chain/chain-connection.js +82 -0
- package/core/application/src/orchestration/chain/dispatch-failed-error.d.ts +12 -0
- package/core/application/src/orchestration/chain/dispatch-failed-error.js +16 -0
- package/core/application/src/orchestration/chain/events.d.ts +56 -0
- package/core/application/src/orchestration/chain/events.js +97 -0
- package/core/application/src/orchestration/chain/funding-batch.d.ts +40 -0
- package/core/application/src/orchestration/chain/funding-batch.js +100 -0
- package/core/application/src/orchestration/chain/index.d.ts +14 -0
- package/core/application/src/orchestration/chain/index.js +15 -0
- package/core/application/src/orchestration/chain/root-call-failed-error.d.ts +6 -0
- package/core/application/src/orchestration/chain/root-call-failed-error.js +8 -0
- package/core/application/src/orchestration/chain/root-call-refused-error.d.ts +6 -0
- package/core/application/src/orchestration/chain/root-call-refused-error.js +8 -0
- package/core/application/src/orchestration/chain/root-caller.d.ts +56 -0
- package/core/application/src/orchestration/chain/root-caller.js +54 -0
- package/core/application/src/orchestration/chain/scenario-journal.d.ts +27 -0
- package/core/application/src/orchestration/chain/scenario-journal.js +28 -0
- package/core/application/src/orchestration/chain/signing-queues.d.ts +28 -0
- package/core/application/src/orchestration/chain/signing-queues.js +93 -0
- package/core/application/src/orchestration/chain/statement-reader.d.ts +79 -0
- package/core/application/src/orchestration/chain/statement-reader.js +108 -0
- package/core/application/src/orchestration/chain/transaction-executor.d.ts +85 -0
- package/core/application/src/orchestration/chain/transaction-executor.js +184 -0
- package/core/application/src/orchestration/chain/unreadable-blocks-error.d.ts +15 -0
- package/core/application/src/orchestration/chain/unreadable-blocks-error.js +17 -0
- package/core/application/src/orchestration/definitions.d.ts +2 -0
- package/core/application/src/orchestration/definitions.js +5 -0
- package/core/application/src/orchestration/host/chain-gate-source.d.ts +34 -0
- package/core/application/src/orchestration/host/chain-gate-source.js +65 -0
- package/core/application/src/orchestration/host/destinations.d.ts +6 -0
- package/core/application/src/orchestration/host/destinations.js +3 -0
- package/core/application/src/orchestration/host/host-registry.d.ts +93 -0
- package/core/application/src/orchestration/host/host-registry.js +255 -0
- package/core/application/src/orchestration/host/host-routes.d.ts +14 -0
- package/core/application/src/orchestration/host/host-routes.js +11 -0
- package/core/application/src/orchestration/host/host-session-registry.d.ts +79 -0
- package/core/application/src/orchestration/host/host-session-registry.js +150 -0
- package/core/application/src/orchestration/host/index.d.ts +8 -0
- package/core/application/src/orchestration/host/index.js +10 -0
- package/core/application/src/orchestration/host/lab-navigation.d.ts +103 -0
- package/core/application/src/orchestration/host/lab-navigation.js +188 -0
- package/core/application/src/orchestration/host/navigation-bridge.d.ts +82 -0
- package/core/application/src/orchestration/host/navigation-bridge.js +123 -0
- package/core/application/src/orchestration/host/port.d.ts +12 -0
- package/core/application/src/orchestration/host/port.js +3 -0
- package/core/application/src/orchestration/host/session-records.d.ts +11 -0
- package/core/application/src/orchestration/host/session-records.js +23 -0
- package/core/application/src/orchestration/identity/index.d.ts +1 -0
- package/core/application/src/orchestration/identity/index.js +3 -0
- package/core/application/src/orchestration/identity/port.d.ts +11 -0
- package/core/application/src/orchestration/identity/port.js +3 -0
- package/core/application/src/orchestration/index.d.ts +52 -0
- package/core/application/src/orchestration/index.js +46 -0
- package/core/application/src/orchestration/integrations/chain-event-assertion.d.ts +49 -0
- package/core/application/src/orchestration/integrations/chain-event-assertion.js +33 -0
- package/core/application/src/orchestration/integrations/define.d.ts +472 -0
- package/core/application/src/orchestration/integrations/define.js +64 -0
- package/core/application/src/orchestration/integrations/generic-sentences.d.ts +1 -0
- package/core/application/src/orchestration/integrations/generic-sentences.js +3 -0
- package/core/application/src/orchestration/integrations/integration-registry.d.ts +53 -0
- package/core/application/src/orchestration/integrations/integration-registry.js +261 -0
- package/core/application/src/orchestration/integrations/integration-scenarios.d.ts +17 -0
- package/core/application/src/orchestration/integrations/integration-scenarios.js +48 -0
- package/core/application/src/orchestration/integrations/integration-sentences.d.ts +78 -0
- package/core/application/src/orchestration/integrations/integration-sentences.js +214 -0
- package/core/application/src/orchestration/integrations/known-submission-error.d.ts +16 -0
- package/core/application/src/orchestration/integrations/known-submission-error.js +22 -0
- package/core/application/src/orchestration/integrations/ui-chain-check.d.ts +104 -0
- package/core/application/src/orchestration/integrations/ui-chain-check.js +191 -0
- package/core/application/src/orchestration/lab/block-availability.d.ts +20 -0
- package/core/application/src/orchestration/lab/block-availability.js +30 -0
- package/core/application/src/orchestration/lab/checked-environment-time.d.ts +29 -0
- package/core/application/src/orchestration/lab/checked-environment-time.js +52 -0
- package/core/application/src/orchestration/lab/compile.d.ts +66 -0
- package/core/application/src/orchestration/lab/compile.js +54 -0
- package/core/application/src/orchestration/lab/declared-lab-catalog.d.ts +132 -0
- package/core/application/src/orchestration/lab/declared-lab-catalog.js +343 -0
- package/core/application/src/orchestration/lab/define.d.ts +377 -0
- package/core/application/src/orchestration/lab/define.js +18 -0
- package/core/application/src/orchestration/lab/environment-actors.d.ts +18 -0
- package/core/application/src/orchestration/lab/environment-actors.js +22 -0
- package/core/application/src/orchestration/lab/environment-fixtures.d.ts +14 -0
- package/core/application/src/orchestration/lab/environment-fixtures.js +43 -0
- package/core/application/src/orchestration/lab/environment-options.d.ts +20 -0
- package/core/application/src/orchestration/lab/environment-options.js +26 -0
- package/core/application/src/orchestration/lab/environment-registry.d.ts +50 -0
- package/core/application/src/orchestration/lab/environment-registry.js +124 -0
- package/core/application/src/orchestration/lab/environment-view.d.ts +12 -0
- package/core/application/src/orchestration/lab/environment-view.js +73 -0
- package/core/application/src/orchestration/lab/environments.d.ts +74 -0
- package/core/application/src/orchestration/lab/environments.js +98 -0
- package/core/application/src/orchestration/lab/holding-browsers.d.ts +16 -0
- package/core/application/src/orchestration/lab/holding-browsers.js +18 -0
- package/core/application/src/orchestration/lab/integration-availability.d.ts +39 -0
- package/core/application/src/orchestration/lab/integration-availability.js +51 -0
- package/core/application/src/orchestration/lab/kept-placements.d.ts +11 -0
- package/core/application/src/orchestration/lab/kept-placements.js +17 -0
- package/core/application/src/orchestration/lab/lab-rpc.d.ts +30 -0
- package/core/application/src/orchestration/lab/lab-rpc.js +153 -0
- package/core/application/src/orchestration/lab/loaded-lab.d.ts +42 -0
- package/core/application/src/orchestration/lab/loaded-lab.js +48 -0
- package/core/application/src/orchestration/lab/product-lab-config.d.ts +244 -0
- package/core/application/src/orchestration/lab/product-lab-config.js +8 -0
- package/core/application/src/orchestration/lab/registry.d.ts +25 -0
- package/core/application/src/orchestration/lab/registry.js +168 -0
- package/core/application/src/orchestration/lab/root-call-access.d.ts +46 -0
- package/core/application/src/orchestration/lab/root-call-access.js +50 -0
- package/core/application/src/orchestration/lab/scenario-conditions.d.ts +25 -0
- package/core/application/src/orchestration/lab/scenario-conditions.js +31 -0
- package/core/application/src/orchestration/lab/session-ports.d.ts +63 -0
- package/core/application/src/orchestration/lab/session-ports.js +132 -0
- package/core/application/src/orchestration/lab/source-lab-loader.d.ts +60 -0
- package/core/application/src/orchestration/lab/source-lab-loader.js +57 -0
- package/core/application/src/orchestration/lab/start-lab-environment.d.ts +6 -0
- package/core/application/src/orchestration/lab/start-lab-environment.js +609 -0
- package/core/application/src/orchestration/lab/topology-overrides.d.ts +3 -0
- package/core/application/src/orchestration/lab/topology-overrides.js +42 -0
- package/core/application/src/orchestration/lab/validate.d.ts +36 -0
- package/core/application/src/orchestration/lab/validate.js +235 -0
- package/core/application/src/orchestration/managed-environment.d.ts +7 -0
- package/core/application/src/orchestration/managed-environment.js +109 -0
- package/core/application/src/orchestration/run/index.d.ts +8 -0
- package/core/application/src/orchestration/run/index.js +3 -0
- package/core/application/src/orchestration/run/resources.d.ts +8 -0
- package/core/application/src/orchestration/run/resources.js +3 -0
- package/core/application/src/orchestration/secrets/dev-account-source.d.ts +10 -0
- package/core/application/src/orchestration/secrets/dev-account-source.js +18 -0
- package/core/application/src/orchestration/secrets/env-source.d.ts +10 -0
- package/core/application/src/orchestration/secrets/env-source.js +19 -0
- package/core/application/src/orchestration/secrets/secret-error.d.ts +5 -0
- package/core/application/src/orchestration/secrets/secret-error.js +10 -0
- package/core/application/src/orchestration/secrets/secret-resolver.d.ts +53 -0
- package/core/application/src/orchestration/secrets/secret-resolver.js +92 -0
- package/core/application/src/orchestration/secrets/secret-source.d.ts +18 -0
- package/core/application/src/orchestration/secrets/secret-source.js +12 -0
- package/core/application/src/orchestration/secrets/sources.d.ts +27 -0
- package/core/application/src/orchestration/secrets/sources.js +42 -0
- package/core/application/src/orchestration/services/authority-error.d.ts +7 -0
- package/core/application/src/orchestration/services/authority-error.js +9 -0
- package/core/application/src/orchestration/services/authorized-service.d.ts +54 -0
- package/core/application/src/orchestration/services/authorized-service.js +59 -0
- package/core/application/src/orchestration/services/define.d.ts +61 -0
- package/core/application/src/orchestration/services/define.js +49 -0
- package/core/application/src/orchestration/services/service-container.d.ts +85 -0
- package/core/application/src/orchestration/services/service-container.js +320 -0
- package/core/application/src/orchestration/services/service-error.d.ts +7 -0
- package/core/application/src/orchestration/services/service-error.js +10 -0
- package/core/application/src/orchestration/services/service-lifetime-scope.d.ts +22 -0
- package/core/application/src/orchestration/services/service-lifetime-scope.js +22 -0
- package/core/application/src/orchestration/services/stale-generation-error.d.ts +5 -0
- package/core/application/src/orchestration/services/stale-generation-error.js +9 -0
- package/core/application/src/orchestration/steps.d.ts +28 -0
- package/core/application/src/orchestration/steps.js +36 -0
- package/core/application/src/orchestration/topology.d.ts +7 -0
- package/core/application/src/orchestration/topology.js +6 -0
- package/core/application/src/orchestration/types.d.ts +4 -0
- package/core/application/src/orchestration/types.js +3 -0
- package/core/application/src/recordings/check-step-speed.d.ts +10 -0
- package/core/application/src/recordings/check-step-speed.js +43 -0
- package/core/application/src/recordings/console-collector.d.ts +21 -0
- package/core/application/src/recordings/console-collector.js +43 -0
- package/core/application/src/recordings/console-log.d.ts +19 -0
- package/core/application/src/recordings/console-log.js +29 -0
- package/core/application/src/recordings/deadline.d.ts +16 -0
- package/core/application/src/recordings/deadline.js +23 -0
- package/core/application/src/recordings/demo-markup.d.ts +66 -0
- package/core/application/src/recordings/demo-markup.js +90 -0
- package/core/application/src/recordings/demo-recording.d.ts +32 -0
- package/core/application/src/recordings/demo-recording.js +213 -0
- package/core/application/src/recordings/frame-sources.d.ts +9 -0
- package/core/application/src/recordings/frame-sources.js +14 -0
- package/core/application/src/recordings/health-sampler.d.ts +33 -0
- package/core/application/src/recordings/health-sampler.js +71 -0
- package/core/application/src/recordings/host-logs.d.ts +17 -0
- package/core/application/src/recordings/host-logs.js +43 -0
- package/core/application/src/recordings/list-recordings.d.ts +11 -0
- package/core/application/src/recordings/list-recordings.js +23 -0
- package/core/application/src/recordings/open-recording.d.ts +17 -0
- package/core/application/src/recordings/open-recording.js +41 -0
- package/core/application/src/recordings/read-run-step-health.d.ts +18 -0
- package/core/application/src/recordings/read-run-step-health.js +39 -0
- package/core/application/src/recordings/record-runs.d.ts +121 -0
- package/core/application/src/recordings/record-runs.js +426 -0
- package/core/application/src/recordings/recording-draft.d.ts +108 -0
- package/core/application/src/recordings/recording-draft.js +214 -0
- package/core/application/src/recordings/recording-stores.d.ts +18 -0
- package/core/application/src/recordings/recording-stores.js +21 -0
- package/core/application/src/recordings/step-chain-reader.d.ts +54 -0
- package/core/application/src/recordings/step-chain-reader.js +176 -0
- package/core/application/src/recordings/step-host-request-reader.d.ts +18 -0
- package/core/application/src/recordings/step-host-request-reader.js +63 -0
- package/core/application/src/recordings/write-journey-docs.d.ts +17 -0
- package/core/application/src/recordings/write-journey-docs.js +119 -0
- package/core/application/src/redaction/bip39-english.d.ts +1 -0
- package/core/application/src/redaction/bip39-english.js +132 -0
- package/core/application/src/redaction/secret-redactor.d.ts +21 -0
- package/core/application/src/redaction/secret-redactor.js +104 -0
- package/core/application/src/runs/activity-log.d.ts +49 -0
- package/core/application/src/runs/activity-log.js +199 -0
- package/core/application/src/runs/after-failure-checks.d.ts +56 -0
- package/core/application/src/runs/after-failure-checks.js +89 -0
- package/core/application/src/runs/after-failure-words.d.ts +9 -0
- package/core/application/src/runs/after-failure-words.js +63 -0
- package/core/application/src/runs/bundles/bundle-paths.d.ts +12 -0
- package/core/application/src/runs/bundles/bundle-paths.js +59 -0
- package/core/application/src/runs/bundles/bundle-recording.d.ts +44 -0
- package/core/application/src/runs/bundles/bundle-recording.js +288 -0
- package/core/application/src/runs/bundles/open-run-bundle.d.ts +23 -0
- package/core/application/src/runs/bundles/open-run-bundle.js +50 -0
- package/core/application/src/runs/bundles/reproduce-run.d.ts +44 -0
- package/core/application/src/runs/bundles/reproduce-run.js +173 -0
- package/core/application/src/runs/bundles/run-bundle-ports.d.ts +7 -0
- package/core/application/src/runs/bundles/run-bundle-ports.js +3 -0
- package/core/application/src/runs/bundles/run-bundle-sources.d.ts +18 -0
- package/core/application/src/runs/bundles/run-bundle-sources.js +43 -0
- package/core/application/src/runs/bundles/run-bundles-service.d.ts +20 -0
- package/core/application/src/runs/bundles/run-bundles-service.js +22 -0
- package/core/application/src/runs/bundles/start-state.d.ts +7 -0
- package/core/application/src/runs/bundles/start-state.js +5 -0
- package/core/application/src/runs/cancelled-error.d.ts +4 -0
- package/core/application/src/runs/cancelled-error.js +5 -0
- package/core/application/src/runs/check-stores.d.ts +28 -0
- package/core/application/src/runs/check-stores.js +103 -0
- package/core/application/src/runs/check-transaction-landed.d.ts +59 -0
- package/core/application/src/runs/check-transaction-landed.js +202 -0
- package/core/application/src/runs/collect-evidence.d.ts +11 -0
- package/core/application/src/runs/collect-evidence.js +48 -0
- package/core/application/src/runs/declared-writes.d.ts +17 -0
- package/core/application/src/runs/declared-writes.js +34 -0
- package/core/application/src/runs/explain-failure.d.ts +4 -0
- package/core/application/src/runs/explain-failure.js +95 -0
- package/core/application/src/runs/failure-rules.d.ts +15 -0
- package/core/application/src/runs/failure-rules.js +197 -0
- package/core/application/src/runs/host-bypass-monitor.d.ts +56 -0
- package/core/application/src/runs/host-bypass-monitor.js +420 -0
- package/core/application/src/runs/judge-negative-control.d.ts +4 -0
- package/core/application/src/runs/judge-negative-control.js +8 -0
- package/core/application/src/runs/node-route-identities.d.ts +9 -0
- package/core/application/src/runs/node-route-identities.js +32 -0
- package/core/application/src/runs/plan-error.d.ts +4 -0
- package/core/application/src/runs/plan-error.js +5 -0
- package/core/application/src/runs/quarantined-resource-error.d.ts +6 -0
- package/core/application/src/runs/quarantined-resource-error.js +12 -0
- package/core/application/src/runs/resource-locks.d.ts +44 -0
- package/core/application/src/runs/resource-locks.js +104 -0
- package/core/application/src/runs/run-console.d.ts +35 -0
- package/core/application/src/runs/run-console.js +43 -0
- package/core/application/src/runs/run-failure-message.d.ts +4 -0
- package/core/application/src/runs/run-failure-message.js +28 -0
- package/core/application/src/runs/run-scenario.d.ts +69 -0
- package/core/application/src/runs/run-scenario.js +240 -0
- package/core/application/src/runs/run-transactions.d.ts +17 -0
- package/core/application/src/runs/run-transactions.js +117 -0
- package/core/application/src/runs/scenario-inputs.d.ts +6 -0
- package/core/application/src/runs/scenario-inputs.js +26 -0
- package/core/application/src/runs/scenario-run.d.ts +244 -0
- package/core/application/src/runs/scenario-run.js +600 -0
- package/core/application/src/runs/scheduler.d.ts +235 -0
- package/core/application/src/runs/scheduler.js +400 -0
- package/core/application/src/runs/settle-failed-step.d.ts +27 -0
- package/core/application/src/runs/settle-failed-step.js +110 -0
- package/core/application/src/runs/statement-window.d.ts +37 -0
- package/core/application/src/runs/statement-window.js +76 -0
- package/core/application/src/runs/step-timeout-error.d.ts +4 -0
- package/core/application/src/runs/step-timeout-error.js +5 -0
- package/core/application/src/runs/submission-window.d.ts +102 -0
- package/core/application/src/runs/submission-window.js +233 -0
- package/core/application/src/settings/manage-lab-settings.d.ts +10 -0
- package/core/application/src/settings/manage-lab-settings.js +70 -0
- package/core/application/src/suites/compare-suite-runs.d.ts +15 -0
- package/core/application/src/suites/compare-suite-runs.js +55 -0
- package/core/application/src/suites/observed-versions-file.d.ts +30 -0
- package/core/application/src/suites/observed-versions-file.js +30 -0
- package/core/application/src/suites/row-combination.d.ts +9 -0
- package/core/application/src/suites/row-combination.js +36 -0
- package/core/application/src/suites/row-host-route.d.ts +26 -0
- package/core/application/src/suites/row-host-route.js +30 -0
- package/core/application/src/suites/run-suite.d.ts +76 -0
- package/core/application/src/suites/run-suite.js +367 -0
- package/core/application/src/suites/run-timings-file.d.ts +21 -0
- package/core/application/src/suites/run-timings-file.js +39 -0
- package/core/application/src/suites/run-workers.d.ts +19 -0
- package/core/application/src/suites/run-workers.js +118 -0
- package/core/application/src/suites/start-together.d.ts +15 -0
- package/core/application/src/suites/start-together.js +30 -0
- package/core/application/src/suites/suite-metrics.d.ts +8 -0
- package/core/application/src/suites/suite-metrics.js +67 -0
- package/core/application/src/suites/summarize-suite-run.d.ts +6 -0
- package/core/application/src/suites/summarize-suite-run.js +57 -0
- package/core/application/src/tools/runtime-tool-context.d.ts +5 -0
- package/core/application/src/tools/runtime-tool-context.js +40 -0
- package/core/application/src/tools/save-scenario.d.ts +18 -0
- package/core/application/src/tools/save-scenario.js +49 -0
- package/core/application/src/tools/tool-catalog.d.ts +27 -0
- package/core/application/src/tools/tool-catalog.js +157 -0
- package/core/application/src/tools/tool-context.d.ts +34 -0
- package/core/application/src/tools/tool-context.js +3 -0
- package/core/application/src/tools/tool-reports.d.ts +56 -0
- package/core/application/src/tools/tool-reports.js +253 -0
- package/core/application/src/tools/tool-runner.d.ts +67 -0
- package/core/application/src/tools/tool-runner.js +423 -0
- package/core/application/src/versions/check-recovery.d.ts +20 -0
- package/core/application/src/versions/check-recovery.js +14 -0
- package/core/application/src/versions/lab-artifacts.d.ts +27 -0
- package/core/application/src/versions/lab-artifacts.js +72 -0
- package/core/application/src/versions/lab-versions-service.d.ts +87 -0
- package/core/application/src/versions/lab-versions-service.js +93 -0
- package/core/application/src/versions/lock-proposal-body.d.ts +5 -0
- package/core/application/src/versions/lock-proposal-body.js +59 -0
- package/core/application/src/versions/lock-proposal-evidence.d.ts +28 -0
- package/core/application/src/versions/lock-proposal-evidence.js +158 -0
- package/core/application/src/versions/lock-writer.d.ts +13 -0
- package/core/application/src/versions/lock-writer.js +24 -0
- package/core/application/src/versions/pin-version.d.ts +21 -0
- package/core/application/src/versions/pin-version.js +23 -0
- package/core/application/src/versions/policy-reader.d.ts +16 -0
- package/core/application/src/versions/policy-reader.js +21 -0
- package/core/application/src/versions/propose-lock.d.ts +23 -0
- package/core/application/src/versions/propose-lock.js +100 -0
- package/core/application/src/versions/resolve-versions.d.ts +52 -0
- package/core/application/src/versions/resolve-versions.js +85 -0
- package/core/application/src/versions/run-versions.d.ts +15 -0
- package/core/application/src/versions/run-versions.js +3 -0
- package/core/application/src/versions/show-versions.d.ts +19 -0
- package/core/application/src/versions/show-versions.js +51 -0
- package/core/application/src/versions/update-lock.d.ts +24 -0
- package/core/application/src/versions/update-lock.js +49 -0
- package/core/application/src/versions/verify-lock.d.ts +21 -0
- package/core/application/src/versions/verify-lock.js +53 -0
- package/core/application/src/versions/version-sources.d.ts +18 -0
- package/core/application/src/versions/version-sources.js +33 -0
- package/core/domain/README.md +197 -0
- package/core/domain/src/accounts/account-address.d.ts +48 -0
- package/core/domain/src/accounts/account-address.js +153 -0
- package/core/domain/src/accounts/account-format-error.d.ts +12 -0
- package/core/domain/src/accounts/account-format-error.js +14 -0
- package/core/domain/src/accounts/account-functions.d.ts +15 -0
- package/core/domain/src/accounts/account-functions.js +16 -0
- package/core/domain/src/accounts/ambiguous-account-error.d.ts +9 -0
- package/core/domain/src/accounts/ambiguous-account-error.js +13 -0
- package/core/domain/src/accounts/expected-account.d.ts +19 -0
- package/core/domain/src/accounts/expected-account.js +35 -0
- package/core/domain/src/accounts/hashes.d.ts +4 -0
- package/core/domain/src/accounts/hashes.js +131 -0
- package/core/domain/src/accounts/index.d.ts +5 -0
- package/core/domain/src/accounts/index.js +7 -0
- package/core/domain/src/actors/actor-alias.d.ts +13 -0
- package/core/domain/src/actors/actor-alias.js +24 -0
- package/core/domain/src/actors/actor-id.d.ts +13 -0
- package/core/domain/src/actors/actor-id.js +24 -0
- package/core/domain/src/actors/actor-roster.d.ts +19 -0
- package/core/domain/src/actors/actor-roster.js +36 -0
- package/core/domain/src/actors/actor.d.ts +122 -0
- package/core/domain/src/actors/actor.js +49 -0
- package/core/domain/src/actors/host-color.d.ts +4 -0
- package/core/domain/src/actors/host-color.js +6 -0
- package/core/domain/src/actors/host-options.d.ts +74 -0
- package/core/domain/src/actors/host-options.js +100 -0
- package/core/domain/src/actors/index.d.ts +8 -0
- package/core/domain/src/actors/index.js +10 -0
- package/core/domain/src/actors/principal.d.ts +42 -0
- package/core/domain/src/actors/principal.js +33 -0
- package/core/domain/src/actors/session.d.ts +20 -0
- package/core/domain/src/actors/session.js +35 -0
- package/core/domain/src/agreement/agreement-judge.d.ts +66 -0
- package/core/domain/src/agreement/agreement-judge.js +272 -0
- package/core/domain/src/agreement/agreement-mode.d.ts +14 -0
- package/core/domain/src/agreement/agreement-mode.js +16 -0
- package/core/domain/src/agreement/agreement-record.d.ts +142 -0
- package/core/domain/src/agreement/agreement-record.js +14 -0
- package/core/domain/src/agreement/agreement-sample.d.ts +65 -0
- package/core/domain/src/agreement/agreement-sample.js +3 -0
- package/core/domain/src/agreement/agreement-settings.d.ts +36 -0
- package/core/domain/src/agreement/agreement-settings.js +55 -0
- package/core/domain/src/agreement/claims.d.ts +9 -0
- package/core/domain/src/agreement/claims.js +55 -0
- package/core/domain/src/agreement/index.d.ts +7 -0
- package/core/domain/src/agreement/index.js +9 -0
- package/core/domain/src/agreement/ui-chain-disagreement-error.d.ts +18 -0
- package/core/domain/src/agreement/ui-chain-disagreement-error.js +22 -0
- package/core/domain/src/apps/app-account-source.d.ts +29 -0
- package/core/domain/src/apps/app-account-source.js +41 -0
- package/core/domain/src/apps/app-announcement-window.d.ts +17 -0
- package/core/domain/src/apps/app-announcement-window.js +30 -0
- package/core/domain/src/apps/app-build-message.d.ts +75 -0
- package/core/domain/src/apps/app-build-message.js +42 -0
- package/core/domain/src/apps/app-deployed-source.d.ts +62 -0
- package/core/domain/src/apps/app-deployed-source.js +100 -0
- package/core/domain/src/apps/app-dev-server.d.ts +115 -0
- package/core/domain/src/apps/app-dev-server.js +186 -0
- package/core/domain/src/apps/app-framing.d.ts +70 -0
- package/core/domain/src/apps/app-framing.js +133 -0
- package/core/domain/src/apps/app-readiness.d.ts +102 -0
- package/core/domain/src/apps/app-readiness.js +138 -0
- package/core/domain/src/apps/app-watch.d.ts +62 -0
- package/core/domain/src/apps/app-watch.js +106 -0
- package/core/domain/src/apps/dev-server-socket.d.ts +27 -0
- package/core/domain/src/apps/dev-server-socket.js +76 -0
- package/core/domain/src/apps/host-bypass-policy.d.ts +5 -0
- package/core/domain/src/apps/host-bypass-policy.js +12 -0
- package/core/domain/src/apps/html-script.d.ts +9 -0
- package/core/domain/src/apps/html-script.js +21 -0
- package/core/domain/src/apps/index.d.ts +15 -0
- package/core/domain/src/apps/index.js +17 -0
- package/core/domain/src/apps/next-turbopack-announcement.d.ts +8 -0
- package/core/domain/src/apps/next-turbopack-announcement.js +62 -0
- package/core/domain/src/apps/next-webpack-announcement.d.ts +5 -0
- package/core/domain/src/apps/next-webpack-announcement.js +42 -0
- package/core/domain/src/apps/vite-app-announcement.d.ts +2 -0
- package/core/domain/src/apps/vite-app-announcement.js +30 -0
- package/core/domain/src/apps/webpack-dev-server-announcement.d.ts +12 -0
- package/core/domain/src/apps/webpack-dev-server-announcement.js +56 -0
- package/core/domain/src/builder/builder-check.d.ts +81 -0
- package/core/domain/src/builder/builder-check.js +253 -0
- package/core/domain/src/builder/builder-document.d.ts +95 -0
- package/core/domain/src/builder/builder-document.js +16 -0
- package/core/domain/src/builder/builder-edit.d.ts +70 -0
- package/core/domain/src/builder/builder-edit.js +190 -0
- package/core/domain/src/builder/builder-error.d.ts +8 -0
- package/core/domain/src/builder/builder-error.js +11 -0
- package/core/domain/src/builder/builder-palette.d.ts +101 -0
- package/core/domain/src/builder/builder-palette.js +90 -0
- package/core/domain/src/builder/feature-reader.d.ts +4 -0
- package/core/domain/src/builder/feature-reader.js +326 -0
- package/core/domain/src/builder/feature-writer.d.ts +51 -0
- package/core/domain/src/builder/feature-writer.js +230 -0
- package/core/domain/src/builder/index.d.ts +8 -0
- package/core/domain/src/builder/index.js +10 -0
- package/core/domain/src/builder/round-trip-error.d.ts +6 -0
- package/core/domain/src/builder/round-trip-error.js +10 -0
- package/core/domain/src/checks/index.d.ts +3 -0
- package/core/domain/src/checks/index.js +5 -0
- package/core/domain/src/checks/side-reading.d.ts +96 -0
- package/core/domain/src/checks/side-reading.js +105 -0
- package/core/domain/src/checks/step-check-error.d.ts +4 -0
- package/core/domain/src/checks/step-check-error.js +5 -0
- package/core/domain/src/checks/step-checks.d.ts +115 -0
- package/core/domain/src/checks/step-checks.js +120 -0
- package/core/domain/src/conditions/condition-error.d.ts +4 -0
- package/core/domain/src/conditions/condition-error.js +8 -0
- package/core/domain/src/conditions/condition-profiles.d.ts +15 -0
- package/core/domain/src/conditions/condition-profiles.js +42 -0
- package/core/domain/src/conditions/condition-step.d.ts +29 -0
- package/core/domain/src/conditions/condition-step.js +45 -0
- package/core/domain/src/conditions/conditioned-traffic.d.ts +25 -0
- package/core/domain/src/conditions/conditioned-traffic.js +31 -0
- package/core/domain/src/conditions/conditioned-wire.d.ts +21 -0
- package/core/domain/src/conditions/conditioned-wire.js +38 -0
- package/core/domain/src/conditions/cpu-slowdown.d.ts +4 -0
- package/core/domain/src/conditions/cpu-slowdown.js +9 -0
- package/core/domain/src/conditions/index.d.ts +7 -0
- package/core/domain/src/conditions/index.js +9 -0
- package/core/domain/src/conditions/network-condition.d.ts +18 -0
- package/core/domain/src/conditions/network-condition.js +25 -0
- package/core/domain/src/devices/device-profile.d.ts +43 -0
- package/core/domain/src/devices/device-profile.js +70 -0
- package/core/domain/src/devices/index.d.ts +2 -0
- package/core/domain/src/devices/index.js +4 -0
- package/core/domain/src/devices/synthetic-media.d.ts +15 -0
- package/core/domain/src/devices/synthetic-media.js +7 -0
- package/core/domain/src/explore/exploration-alphabet.d.ts +30 -0
- package/core/domain/src/explore/exploration-alphabet.js +88 -0
- package/core/domain/src/explore/failure-signature.d.ts +13 -0
- package/core/domain/src/explore/failure-signature.js +14 -0
- package/core/domain/src/explore/index.d.ts +6 -0
- package/core/domain/src/explore/index.js +8 -0
- package/core/domain/src/explore/seeded-random.d.ts +11 -0
- package/core/domain/src/explore/seeded-random.js +27 -0
- package/core/domain/src/explore/shrink-steps.d.ts +15 -0
- package/core/domain/src/explore/shrink-steps.js +42 -0
- package/core/domain/src/explore/what-if-branches.d.ts +34 -0
- package/core/domain/src/explore/what-if-branches.js +62 -0
- package/core/domain/src/explore/what-if-plan-error.d.ts +5 -0
- package/core/domain/src/explore/what-if-plan-error.js +10 -0
- package/core/domain/src/features/cleanup-report.d.ts +22 -0
- package/core/domain/src/features/cleanup-report.js +23 -0
- package/core/domain/src/features/feature-file.d.ts +111 -0
- package/core/domain/src/features/feature-file.js +290 -0
- package/core/domain/src/features/feature-path.d.ts +7 -0
- package/core/domain/src/features/feature-path.js +19 -0
- package/core/domain/src/features/index.d.ts +8 -0
- package/core/domain/src/features/index.js +10 -0
- package/core/domain/src/features/plain-output.d.ts +43 -0
- package/core/domain/src/features/plain-output.js +47 -0
- package/core/domain/src/features/scenario-conditions.d.ts +28 -0
- package/core/domain/src/features/scenario-conditions.js +51 -0
- package/core/domain/src/features/scenario-environments.d.ts +47 -0
- package/core/domain/src/features/scenario-environments.js +47 -0
- package/core/domain/src/features/step-breakpoints.d.ts +48 -0
- package/core/domain/src/features/step-breakpoints.js +75 -0
- package/core/domain/src/features/tag-expression.d.ts +1 -0
- package/core/domain/src/features/tag-expression.js +45 -0
- package/core/domain/src/fixtures/fixture-bundle.d.ts +123 -0
- package/core/domain/src/fixtures/fixture-bundle.js +183 -0
- package/core/domain/src/fixtures/fixture-catalog.d.ts +49 -0
- package/core/domain/src/fixtures/fixture-catalog.js +91 -0
- package/core/domain/src/fixtures/fixture-declaration.d.ts +22 -0
- package/core/domain/src/fixtures/fixture-declaration.js +60 -0
- package/core/domain/src/fixtures/fixture-import-incomplete-error.d.ts +10 -0
- package/core/domain/src/fixtures/fixture-import-incomplete-error.js +10 -0
- package/core/domain/src/fixtures/fixture-key.d.ts +57 -0
- package/core/domain/src/fixtures/fixture-key.js +129 -0
- package/core/domain/src/fixtures/fixture-record.d.ts +89 -0
- package/core/domain/src/fixtures/fixture-record.js +105 -0
- package/core/domain/src/fixtures/fixture-refused-error.d.ts +11 -0
- package/core/domain/src/fixtures/fixture-refused-error.js +13 -0
- package/core/domain/src/fixtures/fixture-source-declaration.d.ts +21 -0
- package/core/domain/src/fixtures/fixture-source-declaration.js +36 -0
- package/core/domain/src/fixtures/index.d.ts +9 -0
- package/core/domain/src/fixtures/index.js +11 -0
- package/core/domain/src/fixtures/scenario-fixture.d.ts +34 -0
- package/core/domain/src/fixtures/scenario-fixture.js +33 -0
- package/core/domain/src/identity/identity.d.ts +50 -0
- package/core/domain/src/identity/identity.js +47 -0
- package/core/domain/src/identity/index.d.ts +2 -0
- package/core/domain/src/identity/index.js +4 -0
- package/core/domain/src/identity/pre-onboarded-actor.d.ts +34 -0
- package/core/domain/src/identity/pre-onboarded-actor.js +66 -0
- package/core/domain/src/index.d.ts +27 -0
- package/core/domain/src/index.js +29 -0
- package/core/domain/src/lab/capability-policy.d.ts +37 -0
- package/core/domain/src/lab/capability-policy.js +50 -0
- package/core/domain/src/lab/capability.d.ts +4 -0
- package/core/domain/src/lab/capability.js +13 -0
- package/core/domain/src/lab/chain-pace.d.ts +20 -0
- package/core/domain/src/lab/chain-pace.js +19 -0
- package/core/domain/src/lab/confirmation-required-error.d.ts +8 -0
- package/core/domain/src/lab/confirmation-required-error.js +10 -0
- package/core/domain/src/lab/environment-options.d.ts +43 -0
- package/core/domain/src/lab/environment-options.js +39 -0
- package/core/domain/src/lab/environment-request-error.d.ts +10 -0
- package/core/domain/src/lab/environment-request-error.js +5 -0
- package/core/domain/src/lab/host-capabilities.d.ts +60 -0
- package/core/domain/src/lab/host-capabilities.js +15 -0
- package/core/domain/src/lab/index.d.ts +24 -0
- package/core/domain/src/lab/index.js +26 -0
- package/core/domain/src/lab/integration-readiness.d.ts +37 -0
- package/core/domain/src/lab/integration-readiness.js +35 -0
- package/core/domain/src/lab/lab-configuration-error.d.ts +5 -0
- package/core/domain/src/lab/lab-configuration-error.js +10 -0
- package/core/domain/src/lab/offer.d.ts +47 -0
- package/core/domain/src/lab/offer.js +62 -0
- package/core/domain/src/lab/public-target.d.ts +94 -0
- package/core/domain/src/lab/public-target.js +114 -0
- package/core/domain/src/lab/requirement-check.d.ts +23 -0
- package/core/domain/src/lab/requirement-check.js +30 -0
- package/core/domain/src/lab/requirement-functions.d.ts +14 -0
- package/core/domain/src/lab/requirement-functions.js +13 -0
- package/core/domain/src/lab/requirements.d.ts +25 -0
- package/core/domain/src/lab/requirements.js +29 -0
- package/core/domain/src/lab/resolved-config.d.ts +81 -0
- package/core/domain/src/lab/resolved-config.js +91 -0
- package/core/domain/src/lab/rpc-selection.d.ts +62 -0
- package/core/domain/src/lab/rpc-selection.js +95 -0
- package/core/domain/src/lab/run-manifest.d.ts +36 -0
- package/core/domain/src/lab/run-manifest.js +24 -0
- package/core/domain/src/lab/running-lab.d.ts +6 -0
- package/core/domain/src/lab/running-lab.js +5 -0
- package/core/domain/src/lab/runtime-wire.d.ts +21 -0
- package/core/domain/src/lab/runtime-wire.js +87 -0
- package/core/domain/src/lab/topology-error.d.ts +5 -0
- package/core/domain/src/lab/topology-error.js +10 -0
- package/core/domain/src/lab/topology-functions.d.ts +66 -0
- package/core/domain/src/lab/topology-functions.js +159 -0
- package/core/domain/src/lab/topology-issues.d.ts +16 -0
- package/core/domain/src/lab/topology-issues.js +45 -0
- package/core/domain/src/lab/topology.d.ts +188 -0
- package/core/domain/src/lab/topology.js +53 -0
- package/core/domain/src/lab/value-tones.d.ts +30 -0
- package/core/domain/src/lab/value-tones.js +66 -0
- package/core/domain/src/load/index.d.ts +3 -0
- package/core/domain/src/load/index.js +5 -0
- package/core/domain/src/load/load-guard.d.ts +14 -0
- package/core/domain/src/load/load-guard.js +13 -0
- package/core/domain/src/load/load-plan.d.ts +26 -0
- package/core/domain/src/load/load-plan.js +32 -0
- package/core/domain/src/load/load-report.d.ts +64 -0
- package/core/domain/src/load/load-report.js +73 -0
- package/core/domain/src/navigation/app-routes.d.ts +27 -0
- package/core/domain/src/navigation/app-routes.js +85 -0
- package/core/domain/src/navigation/app-url.d.ts +9 -0
- package/core/domain/src/navigation/app-url.js +22 -0
- package/core/domain/src/navigation/index.d.ts +7 -0
- package/core/domain/src/navigation/index.js +9 -0
- package/core/domain/src/navigation/named-destination.d.ts +43 -0
- package/core/domain/src/navigation/named-destination.js +49 -0
- package/core/domain/src/navigation/navigation-evidence.d.ts +20 -0
- package/core/domain/src/navigation/navigation-evidence.js +3 -0
- package/core/domain/src/navigation/navigation-expectation.d.ts +16 -0
- package/core/domain/src/navigation/navigation-expectation.js +40 -0
- package/core/domain/src/navigation/navigation-request.d.ts +16 -0
- package/core/domain/src/navigation/navigation-request.js +13 -0
- package/core/domain/src/navigation/navigation-resolution.d.ts +69 -0
- package/core/domain/src/navigation/navigation-resolution.js +37 -0
- package/core/domain/src/network/endpoint-locality.d.ts +14 -0
- package/core/domain/src/network/endpoint-locality.js +39 -0
- package/core/domain/src/network/environment-endpoints.d.ts +36 -0
- package/core/domain/src/network/environment-endpoints.js +49 -0
- package/core/domain/src/network/host-network-routes.d.ts +73 -0
- package/core/domain/src/network/host-network-routes.js +138 -0
- package/core/domain/src/network/host-route-closures.d.ts +9 -0
- package/core/domain/src/network/host-route-closures.js +23 -0
- package/core/domain/src/network/index.d.ts +8 -0
- package/core/domain/src/network/index.js +10 -0
- package/core/domain/src/network/loopback-url.d.ts +33 -0
- package/core/domain/src/network/loopback-url.js +63 -0
- package/core/domain/src/network/mixed-endpoints-error.d.ts +12 -0
- package/core/domain/src/network/mixed-endpoints-error.js +17 -0
- package/core/domain/src/network/network-policy.d.ts +98 -0
- package/core/domain/src/network/network-policy.js +157 -0
- package/core/domain/src/network/observed-endpoints.d.ts +17 -0
- package/core/domain/src/network/observed-endpoints.js +47 -0
- package/core/domain/src/network/worker-hold.d.ts +24 -0
- package/core/domain/src/network/worker-hold.js +14 -0
- package/core/domain/src/products/index.d.ts +3 -0
- package/core/domain/src/products/index.js +5 -0
- package/core/domain/src/products/product-config-policy.d.ts +19 -0
- package/core/domain/src/products/product-config-policy.js +18 -0
- package/core/domain/src/products/product-config-refused.d.ts +4 -0
- package/core/domain/src/products/product-config-refused.js +8 -0
- package/core/domain/src/products/product-config.d.ts +40 -0
- package/core/domain/src/products/product-config.js +75 -0
- package/core/domain/src/recordings/demo-cut.d.ts +91 -0
- package/core/domain/src/recordings/demo-cut.js +179 -0
- package/core/domain/src/recordings/demo-refused-error.d.ts +9 -0
- package/core/domain/src/recordings/demo-refused-error.js +10 -0
- package/core/domain/src/recordings/index.d.ts +16 -0
- package/core/domain/src/recordings/index.js +18 -0
- package/core/domain/src/recordings/journey-document.d.ts +69 -0
- package/core/domain/src/recordings/journey-document.js +93 -0
- package/core/domain/src/recordings/journey-markdown.d.ts +21 -0
- package/core/domain/src/recordings/journey-markdown.js +37 -0
- package/core/domain/src/recordings/journeys-declaration.d.ts +16 -0
- package/core/domain/src/recordings/journeys-declaration.js +17 -0
- package/core/domain/src/recordings/recording-data.d.ts +476 -0
- package/core/domain/src/recordings/recording-data.js +3 -0
- package/core/domain/src/recordings/recording-format-error.d.ts +5 -0
- package/core/domain/src/recordings/recording-format-error.js +9 -0
- package/core/domain/src/recordings/recording-health.d.ts +77 -0
- package/core/domain/src/recordings/recording-health.js +108 -0
- package/core/domain/src/recordings/recording-not-found-error.d.ts +5 -0
- package/core/domain/src/recordings/recording-not-found-error.js +9 -0
- package/core/domain/src/recordings/recording-retention.d.ts +35 -0
- package/core/domain/src/recordings/recording-retention.js +53 -0
- package/core/domain/src/recordings/recording-settings.d.ts +50 -0
- package/core/domain/src/recordings/recording-settings.js +81 -0
- package/core/domain/src/recordings/run-recording.d.ts +65 -0
- package/core/domain/src/recordings/run-recording.js +321 -0
- package/core/domain/src/recordings/step-chain-windows.d.ts +35 -0
- package/core/domain/src/recordings/step-chain-windows.js +50 -0
- package/core/domain/src/recordings/step-console-errors.d.ts +38 -0
- package/core/domain/src/recordings/step-console-errors.js +37 -0
- package/core/domain/src/recordings/step-machine.d.ts +6 -0
- package/core/domain/src/recordings/step-machine.js +15 -0
- package/core/domain/src/recordings/step-speed-limits.d.ts +59 -0
- package/core/domain/src/recordings/step-speed-limits.js +69 -0
- package/core/domain/src/releases/index.d.ts +1 -0
- package/core/domain/src/releases/index.js +3 -0
- package/core/domain/src/releases/release-notes.d.ts +49 -0
- package/core/domain/src/releases/release-notes.js +115 -0
- package/core/domain/src/resources/generation.d.ts +15 -0
- package/core/domain/src/resources/generation.js +26 -0
- package/core/domain/src/resources/index.d.ts +3 -0
- package/core/domain/src/resources/index.js +5 -0
- package/core/domain/src/resources/resource-functions.d.ts +6 -0
- package/core/domain/src/resources/resource-functions.js +12 -0
- package/core/domain/src/resources/resource.d.ts +17 -0
- package/core/domain/src/resources/resource.js +42 -0
- package/core/domain/src/root-calls/index.d.ts +2 -0
- package/core/domain/src/root-calls/index.js +4 -0
- package/core/domain/src/root-calls/known-networks.d.ts +13 -0
- package/core/domain/src/root-calls/known-networks.js +23 -0
- package/core/domain/src/root-calls/root-call-policy.d.ts +44 -0
- package/core/domain/src/root-calls/root-call-policy.js +59 -0
- package/core/domain/src/runs/checkpoint.d.ts +20 -0
- package/core/domain/src/runs/checkpoint.js +22 -0
- package/core/domain/src/runs/evidence.d.ts +66 -0
- package/core/domain/src/runs/evidence.js +126 -0
- package/core/domain/src/runs/failure-description.d.ts +2 -0
- package/core/domain/src/runs/failure-description.js +23 -0
- package/core/domain/src/runs/failure-marker.d.ts +6 -0
- package/core/domain/src/runs/failure-marker.js +32 -0
- package/core/domain/src/runs/failure-reason.d.ts +52 -0
- package/core/domain/src/runs/failure-reason.js +36 -0
- package/core/domain/src/runs/host-bypass-assertion.d.ts +5 -0
- package/core/domain/src/runs/host-bypass-assertion.js +18 -0
- package/core/domain/src/runs/host-bypass-evidence.d.ts +106 -0
- package/core/domain/src/runs/host-bypass-evidence.js +3 -0
- package/core/domain/src/runs/host-bypass-verdict.d.ts +13 -0
- package/core/domain/src/runs/host-bypass-verdict.js +30 -0
- package/core/domain/src/runs/host-request-limits.d.ts +32 -0
- package/core/domain/src/runs/host-request-limits.js +30 -0
- package/core/domain/src/runs/index.d.ts +28 -0
- package/core/domain/src/runs/index.js +30 -0
- package/core/domain/src/runs/lab-failure.d.ts +11 -0
- package/core/domain/src/runs/lab-failure.js +16 -0
- package/core/domain/src/runs/merge-host-bypass-evidence.d.ts +3 -0
- package/core/domain/src/runs/merge-host-bypass-evidence.js +112 -0
- package/core/domain/src/runs/negative-control.d.ts +108 -0
- package/core/domain/src/runs/negative-control.js +123 -0
- package/core/domain/src/runs/race-jitter.d.ts +29 -0
- package/core/domain/src/runs/race-jitter.js +36 -0
- package/core/domain/src/runs/race-seed.d.ts +16 -0
- package/core/domain/src/runs/race-seed.js +35 -0
- package/core/domain/src/runs/run-bundle-data.d.ts +142 -0
- package/core/domain/src/runs/run-bundle-data.js +6 -0
- package/core/domain/src/runs/run-bundle-format-error.d.ts +5 -0
- package/core/domain/src/runs/run-bundle-format-error.js +10 -0
- package/core/domain/src/runs/run-bundle-refused-error.d.ts +7 -0
- package/core/domain/src/runs/run-bundle-refused-error.js +12 -0
- package/core/domain/src/runs/run-bundle-reproduction.d.ts +46 -0
- package/core/domain/src/runs/run-bundle-reproduction.js +57 -0
- package/core/domain/src/runs/run-bundle.d.ts +28 -0
- package/core/domain/src/runs/run-bundle.js +166 -0
- package/core/domain/src/runs/run-transition-error.d.ts +4 -0
- package/core/domain/src/runs/run-transition-error.js +8 -0
- package/core/domain/src/runs/run.d.ts +45 -0
- package/core/domain/src/runs/run.js +91 -0
- package/core/domain/src/runs/scenario-input-error.d.ts +13 -0
- package/core/domain/src/runs/scenario-input-error.js +12 -0
- package/core/domain/src/runs/step-failure.d.ts +18 -0
- package/core/domain/src/runs/step-failure.js +69 -0
- package/core/domain/src/runs/step-submissions.d.ts +73 -0
- package/core/domain/src/runs/step-submissions.js +85 -0
- package/core/domain/src/runs/stored-content.d.ts +17 -0
- package/core/domain/src/runs/stored-content.js +47 -0
- package/core/domain/src/runs/submitted-transaction.d.ts +63 -0
- package/core/domain/src/runs/submitted-transaction.js +108 -0
- package/core/domain/src/runs/transaction-landing.d.ts +82 -0
- package/core/domain/src/runs/transaction-landing.js +76 -0
- package/core/domain/src/runs/workers.d.ts +48 -0
- package/core/domain/src/runs/workers.js +83 -0
- package/core/domain/src/sentences/ambiguous-sentence-error.d.ts +7 -0
- package/core/domain/src/sentences/ambiguous-sentence-error.js +13 -0
- package/core/domain/src/sentences/ambiguous-split-error.d.ts +6 -0
- package/core/domain/src/sentences/ambiguous-split-error.js +14 -0
- package/core/domain/src/sentences/assertion-mutants.d.ts +77 -0
- package/core/domain/src/sentences/assertion-mutants.js +112 -0
- package/core/domain/src/sentences/characters.d.ts +29 -0
- package/core/domain/src/sentences/characters.js +71 -0
- package/core/domain/src/sentences/generic-sentences.d.ts +67 -0
- package/core/domain/src/sentences/generic-sentences.js +66 -0
- package/core/domain/src/sentences/index.d.ts +16 -0
- package/core/domain/src/sentences/index.js +18 -0
- package/core/domain/src/sentences/missing-sentence-error.d.ts +6 -0
- package/core/domain/src/sentences/missing-sentence-error.js +11 -0
- package/core/domain/src/sentences/output-reference.d.ts +14 -0
- package/core/domain/src/sentences/output-reference.js +38 -0
- package/core/domain/src/sentences/scenario-outputs.d.ts +33 -0
- package/core/domain/src/sentences/scenario-outputs.js +36 -0
- package/core/domain/src/sentences/scenario-plan.d.ts +54 -0
- package/core/domain/src/sentences/scenario-plan.js +92 -0
- package/core/domain/src/sentences/sentence-book.d.ts +132 -0
- package/core/domain/src/sentences/sentence-book.js +387 -0
- package/core/domain/src/sentences/sentence-error.d.ts +10 -0
- package/core/domain/src/sentences/sentence-error.js +18 -0
- package/core/domain/src/sentences/sentence-pattern.d.ts +42 -0
- package/core/domain/src/sentences/sentence-pattern.js +139 -0
- package/core/domain/src/sentences/table-error.d.ts +6 -0
- package/core/domain/src/sentences/table-error.js +11 -0
- package/core/domain/src/sentences/table-shape.d.ts +42 -0
- package/core/domain/src/sentences/table-shape.js +121 -0
- package/core/domain/src/sentences/time-advance.d.ts +36 -0
- package/core/domain/src/sentences/time-advance.js +60 -0
- package/core/domain/src/sentences/unresolved-reference-error.d.ts +5 -0
- package/core/domain/src/sentences/unresolved-reference-error.js +9 -0
- package/core/domain/src/shared/adapter-options.d.ts +17 -0
- package/core/domain/src/shared/adapter-options.js +8 -0
- package/core/domain/src/shared/block-unavailable-error.d.ts +15 -0
- package/core/domain/src/shared/block-unavailable-error.js +11 -0
- package/core/domain/src/shared/development-authority.d.ts +12 -0
- package/core/domain/src/shared/development-authority.js +6 -0
- package/core/domain/src/shared/index.d.ts +12 -0
- package/core/domain/src/shared/index.js +14 -0
- package/core/domain/src/shared/json-rpc-error.d.ts +14 -0
- package/core/domain/src/shared/json-rpc-error.js +15 -0
- package/core/domain/src/shared/missing-capability-error.d.ts +4 -0
- package/core/domain/src/shared/missing-capability-error.js +8 -0
- package/core/domain/src/shared/missing-host-tools-error.d.ts +5 -0
- package/core/domain/src/shared/missing-host-tools-error.js +10 -0
- package/core/domain/src/shared/missing-route-error.d.ts +6 -0
- package/core/domain/src/shared/missing-route-error.js +12 -0
- package/core/domain/src/shared/pending-check-error.d.ts +9 -0
- package/core/domain/src/shared/pending-check-error.js +11 -0
- package/core/domain/src/shared/secret-uri.d.ts +27 -0
- package/core/domain/src/shared/secret-uri.js +46 -0
- package/core/domain/src/shared/sibling-module.d.ts +6 -0
- package/core/domain/src/shared/sibling-module.js +9 -0
- package/core/domain/src/shared/unsupported-capability-error.d.ts +6 -0
- package/core/domain/src/shared/unsupported-capability-error.js +11 -0
- package/core/domain/src/shared/unsupported-host-operation.d.ts +7 -0
- package/core/domain/src/shared/unsupported-host-operation.js +14 -0
- package/core/domain/src/statements/content-check.d.ts +16 -0
- package/core/domain/src/statements/content-check.js +52 -0
- package/core/domain/src/statements/index.d.ts +2 -0
- package/core/domain/src/statements/index.js +4 -0
- package/core/domain/src/statements/statement.d.ts +44 -0
- package/core/domain/src/statements/statement.js +118 -0
- package/core/domain/src/suites/bisect-plan.d.ts +87 -0
- package/core/domain/src/suites/bisect-plan.js +76 -0
- package/core/domain/src/suites/bisection.d.ts +73 -0
- package/core/domain/src/suites/bisection.js +113 -0
- package/core/domain/src/suites/change-scopes.d.ts +38 -0
- package/core/domain/src/suites/change-scopes.js +70 -0
- package/core/domain/src/suites/compatibility-notice.d.ts +23 -0
- package/core/domain/src/suites/compatibility-notice.js +115 -0
- package/core/domain/src/suites/compatibility.d.ts +129 -0
- package/core/domain/src/suites/compatibility.js +291 -0
- package/core/domain/src/suites/index.d.ts +15 -0
- package/core/domain/src/suites/index.js +17 -0
- package/core/domain/src/suites/mode-data.d.ts +32 -0
- package/core/domain/src/suites/mode-data.js +3 -0
- package/core/domain/src/suites/path-glob.d.ts +1 -0
- package/core/domain/src/suites/path-glob.js +21 -0
- package/core/domain/src/suites/suite-budget.d.ts +2 -0
- package/core/domain/src/suites/suite-budget.js +15 -0
- package/core/domain/src/suites/suite-config-error.d.ts +4 -0
- package/core/domain/src/suites/suite-config-error.js +8 -0
- package/core/domain/src/suites/suite-config.d.ts +48 -0
- package/core/domain/src/suites/suite-config.js +184 -0
- package/core/domain/src/suites/suite-data.d.ts +52 -0
- package/core/domain/src/suites/suite-data.js +3 -0
- package/core/domain/src/suites/suite-evidence-error.d.ts +20 -0
- package/core/domain/src/suites/suite-evidence-error.js +14 -0
- package/core/domain/src/suites/suite-plan.d.ts +88 -0
- package/core/domain/src/suites/suite-plan.js +123 -0
- package/core/domain/src/suites/suite-run-summary.d.ts +70 -0
- package/core/domain/src/suites/suite-run-summary.js +22 -0
- package/core/domain/src/suites/suite-verdict.d.ts +22 -0
- package/core/domain/src/suites/suite-verdict.js +32 -0
- package/core/domain/src/tools/index.d.ts +1 -0
- package/core/domain/src/tools/index.js +3 -0
- package/core/domain/src/tools/tool-command.d.ts +18 -0
- package/core/domain/src/tools/tool-command.js +61 -0
- package/core/domain/src/versions/component-id.d.ts +17 -0
- package/core/domain/src/versions/component-id.js +40 -0
- package/core/domain/src/versions/digest.d.ts +28 -0
- package/core/domain/src/versions/digest.js +51 -0
- package/core/domain/src/versions/environment-versions.d.ts +41 -0
- package/core/domain/src/versions/environment-versions.js +38 -0
- package/core/domain/src/versions/fork-snapshot.d.ts +16 -0
- package/core/domain/src/versions/fork-snapshot.js +3 -0
- package/core/domain/src/versions/host-route.d.ts +89 -0
- package/core/domain/src/versions/host-route.js +74 -0
- package/core/domain/src/versions/index.d.ts +21 -0
- package/core/domain/src/versions/index.js +23 -0
- package/core/domain/src/versions/lab-lock.d.ts +48 -0
- package/core/domain/src/versions/lab-lock.js +98 -0
- package/core/domain/src/versions/lock-promotion.d.ts +48 -0
- package/core/domain/src/versions/lock-promotion.js +63 -0
- package/core/domain/src/versions/lock-proposal-refusal.d.ts +21 -0
- package/core/domain/src/versions/lock-proposal-refusal.js +41 -0
- package/core/domain/src/versions/locked-component.d.ts +80 -0
- package/core/domain/src/versions/locked-component.js +146 -0
- package/core/domain/src/versions/recovery-policy.d.ts +33 -0
- package/core/domain/src/versions/recovery-policy.js +26 -0
- package/core/domain/src/versions/release-artifact.d.ts +46 -0
- package/core/domain/src/versions/release-artifact.js +70 -0
- package/core/domain/src/versions/release-version.d.ts +17 -0
- package/core/domain/src/versions/release-version.js +52 -0
- package/core/domain/src/versions/resolved-runtime.d.ts +103 -0
- package/core/domain/src/versions/resolved-runtime.js +107 -0
- package/core/domain/src/versions/snapshot-freshness.d.ts +26 -0
- package/core/domain/src/versions/snapshot-freshness.js +25 -0
- package/core/domain/src/versions/version-drift.d.ts +29 -0
- package/core/domain/src/versions/version-drift.js +37 -0
- package/core/domain/src/versions/version-error.d.ts +17 -0
- package/core/domain/src/versions/version-error.js +10 -0
- package/core/domain/src/versions/version-policy.d.ts +19 -0
- package/core/domain/src/versions/version-policy.js +37 -0
- package/core/domain/src/versions/version-resolution.d.ts +103 -0
- package/core/domain/src/versions/version-resolution.js +111 -0
- package/core/domain/src/versions/version-selector.d.ts +58 -0
- package/core/domain/src/versions/version-selector.js +134 -0
- package/core/domain/src/versions/version-workspace-key.d.ts +18 -0
- package/core/domain/src/versions/version-workspace-key.js +41 -0
- package/core/domain/src/versions/versioned-workspace.d.ts +43 -0
- package/core/domain/src/versions/versioned-workspace.js +63 -0
- package/core/lab/README.md +1012 -0
- package/core/lab/src/activity/types.d.ts +1 -0
- package/core/lab/src/activity/types.js +3 -0
- package/core/lab/src/chain/index.d.ts +2 -0
- package/core/lab/src/chain/index.js +4 -0
- package/core/lab/src/chain/transaction-mode-schema.d.ts +11 -0
- package/core/lab/src/chain/transaction-mode-schema.js +5 -0
- package/core/lab/src/host/index.d.ts +1 -0
- package/core/lab/src/host/index.js +3 -0
- package/core/lab/src/identity/index.d.ts +1 -0
- package/core/lab/src/identity/index.js +3 -0
- package/core/lab/src/index.d.ts +2 -0
- package/core/lab/src/index.js +4 -0
- package/core/lab/src/run/index.d.ts +1 -0
- package/core/lab/src/run/index.js +3 -0
- package/core/lab/src/steps.d.ts +1 -0
- package/core/lab/src/steps.js +3 -0
- package/core/lab/src/topology.d.ts +128 -0
- package/core/lab/src/topology.js +58 -0
- package/core/ports/README.md +458 -0
- package/core/ports/src/driven/browser/app-surface.d.ts +41 -0
- package/core/ports/src/driven/browser/app-surface.js +3 -0
- package/core/ports/src/driven/browser/browser.d.ts +79 -0
- package/core/ports/src/driven/browser/browser.js +3 -0
- package/core/ports/src/driven/browser/conditions.d.ts +24 -0
- package/core/ports/src/driven/browser/conditions.js +3 -0
- package/core/ports/src/driven/browser/index.d.ts +6 -0
- package/core/ports/src/driven/browser/index.js +3 -0
- package/core/ports/src/driven/browser/locator.d.ts +55 -0
- package/core/ports/src/driven/browser/locator.js +3 -0
- package/core/ports/src/driven/browser/page.d.ts +71 -0
- package/core/ports/src/driven/browser/page.js +3 -0
- package/core/ports/src/driven/browser/route.d.ts +45 -0
- package/core/ports/src/driven/browser/route.js +3 -0
- package/core/ports/src/driven/chain/bulletin-reader.d.ts +9 -0
- package/core/ports/src/driven/chain/bulletin-reader.js +3 -0
- package/core/ports/src/driven/chain/chain-access.d.ts +37 -0
- package/core/ports/src/driven/chain/chain-access.js +3 -0
- package/core/ports/src/driven/chain/chain-history.d.ts +170 -0
- package/core/ports/src/driven/chain/chain-history.js +3 -0
- package/core/ports/src/driven/chain/chain-readers.d.ts +8 -0
- package/core/ports/src/driven/chain/chain-readers.js +3 -0
- package/core/ports/src/driven/chain/index.d.ts +11 -0
- package/core/ports/src/driven/chain/index.js +3 -0
- package/core/ports/src/driven/chain/key-derivation.d.ts +22 -0
- package/core/ports/src/driven/chain/key-derivation.js +3 -0
- package/core/ports/src/driven/chain/receipt-validator.d.ts +17 -0
- package/core/ports/src/driven/chain/receipt-validator.js +3 -0
- package/core/ports/src/driven/chain/receipt.d.ts +33 -0
- package/core/ports/src/driven/chain/receipt.js +3 -0
- package/core/ports/src/driven/chain/runtime-fingerprint.d.ts +12 -0
- package/core/ports/src/driven/chain/runtime-fingerprint.js +3 -0
- package/core/ports/src/driven/chain/signer.d.ts +16 -0
- package/core/ports/src/driven/chain/signer.js +3 -0
- package/core/ports/src/driven/chain/statement-store-reader.d.ts +53 -0
- package/core/ports/src/driven/chain/statement-store-reader.js +3 -0
- package/core/ports/src/driven/chain/transaction-submitter.d.ts +104 -0
- package/core/ports/src/driven/chain/transaction-submitter.js +3 -0
- package/core/ports/src/driven/deploy/content-archiver.d.ts +21 -0
- package/core/ports/src/driven/deploy/content-archiver.js +3 -0
- package/core/ports/src/driven/deploy/deployer.d.ts +101 -0
- package/core/ports/src/driven/deploy/deployer.js +3 -0
- package/core/ports/src/driven/deploy/destination-directory.d.ts +15 -0
- package/core/ports/src/driven/deploy/destination-directory.js +3 -0
- package/core/ports/src/driven/deploy/destination-server.d.ts +25 -0
- package/core/ports/src/driven/deploy/destination-server.js +3 -0
- package/core/ports/src/driven/deploy/index.d.ts +5 -0
- package/core/ports/src/driven/deploy/index.js +3 -0
- package/core/ports/src/driven/deploy/name-resolver.d.ts +11 -0
- package/core/ports/src/driven/deploy/name-resolver.js +3 -0
- package/core/ports/src/driven/environment/environment-adapter-factory.d.ts +21 -0
- package/core/ports/src/driven/environment/environment-adapter-factory.js +3 -0
- package/core/ports/src/driven/environment/environment-time.d.ts +110 -0
- package/core/ports/src/driven/environment/environment-time.js +3 -0
- package/core/ports/src/driven/environment/environment-tooling.d.ts +51 -0
- package/core/ports/src/driven/environment/environment-tooling.js +3 -0
- package/core/ports/src/driven/environment/index.d.ts +6 -0
- package/core/ports/src/driven/environment/index.js +3 -0
- package/core/ports/src/driven/environment/running-environment.d.ts +267 -0
- package/core/ports/src/driven/environment/running-environment.js +3 -0
- package/core/ports/src/driven/environment/start-phases.d.ts +34 -0
- package/core/ports/src/driven/environment/start-phases.js +3 -0
- package/core/ports/src/driven/environment/topology-adapter-factory.d.ts +52 -0
- package/core/ports/src/driven/environment/topology-adapter-factory.js +3 -0
- package/core/ports/src/driven/factory/adapter-flag.d.ts +21 -0
- package/core/ports/src/driven/factory/adapter-flag.js +3 -0
- package/core/ports/src/driven/factory/index.d.ts +2 -0
- package/core/ports/src/driven/factory/index.js +3 -0
- package/core/ports/src/driven/factory/options-schema.d.ts +21 -0
- package/core/ports/src/driven/factory/options-schema.js +3 -0
- package/core/ports/src/driven/features/custom-step-source.d.ts +33 -0
- package/core/ports/src/driven/features/custom-step-source.js +3 -0
- package/core/ports/src/driven/features/feature-runner.d.ts +193 -0
- package/core/ports/src/driven/features/feature-runner.js +3 -0
- package/core/ports/src/driven/features/feature-source.d.ts +22 -0
- package/core/ports/src/driven/features/feature-source.js +3 -0
- package/core/ports/src/driven/features/index.d.ts +3 -0
- package/core/ports/src/driven/features/index.js +3 -0
- package/core/ports/src/driven/host/host-adapter-factory.d.ts +111 -0
- package/core/ports/src/driven/host/host-adapter-factory.js +3 -0
- package/core/ports/src/driven/host/host-provider.d.ts +71 -0
- package/core/ports/src/driven/host/host-provider.js +3 -0
- package/core/ports/src/driven/host/host-session.d.ts +289 -0
- package/core/ports/src/driven/host/host-session.js +3 -0
- package/core/ports/src/driven/host/host-tool-source.d.ts +19 -0
- package/core/ports/src/driven/host/host-tool-source.js +3 -0
- package/core/ports/src/driven/host/host-upstream.d.ts +24 -0
- package/core/ports/src/driven/host/host-upstream.js +3 -0
- package/core/ports/src/driven/host/host-verifier.d.ts +95 -0
- package/core/ports/src/driven/host/host-verifier.js +3 -0
- package/core/ports/src/driven/host/index.d.ts +7 -0
- package/core/ports/src/driven/host/index.js +3 -0
- package/core/ports/src/driven/identity/identity-provisioner.d.ts +23 -0
- package/core/ports/src/driven/identity/identity-provisioner.js +3 -0
- package/core/ports/src/driven/identity/index.d.ts +2 -0
- package/core/ports/src/driven/identity/index.js +3 -0
- package/core/ports/src/driven/identity/product-account-derivation.d.ts +23 -0
- package/core/ports/src/driven/identity/product-account-derivation.js +3 -0
- package/core/ports/src/driven/lab/client-bundles.d.ts +13 -0
- package/core/ports/src/driven/lab/client-bundles.js +3 -0
- package/core/ports/src/driven/lab/index.d.ts +7 -0
- package/core/ports/src/driven/lab/index.js +3 -0
- package/core/ports/src/driven/lab/lab-configuration.d.ts +86 -0
- package/core/ports/src/driven/lab/lab-configuration.js +3 -0
- package/core/ports/src/driven/lab/lab-definition-source.d.ts +16 -0
- package/core/ports/src/driven/lab/lab-definition-source.js +3 -0
- package/core/ports/src/driven/lab/lab-environment.d.ts +505 -0
- package/core/ports/src/driven/lab/lab-environment.js +3 -0
- package/core/ports/src/driven/lab/lab-sentences.d.ts +113 -0
- package/core/ports/src/driven/lab/lab-sentences.js +3 -0
- package/core/ports/src/driven/lab/loaded-lab.d.ts +297 -0
- package/core/ports/src/driven/lab/loaded-lab.js +3 -0
- package/core/ports/src/driven/lab/scenario.d.ts +137 -0
- package/core/ports/src/driven/lab/scenario.js +3 -0
- package/core/ports/src/driven/notify/index.d.ts +1 -0
- package/core/ports/src/driven/notify/index.js +3 -0
- package/core/ports/src/driven/notify/notifier.d.ts +32 -0
- package/core/ports/src/driven/notify/notifier.js +3 -0
- package/core/ports/src/driven/recording/console-watch.d.ts +28 -0
- package/core/ports/src/driven/recording/console-watch.js +3 -0
- package/core/ports/src/driven/recording/demo-ports.d.ts +53 -0
- package/core/ports/src/driven/recording/demo-ports.js +3 -0
- package/core/ports/src/driven/recording/frame-capture.d.ts +92 -0
- package/core/ports/src/driven/recording/frame-capture.js +3 -0
- package/core/ports/src/driven/recording/index.d.ts +6 -0
- package/core/ports/src/driven/recording/index.js +3 -0
- package/core/ports/src/driven/recording/journey-docs-store.d.ts +35 -0
- package/core/ports/src/driven/recording/journey-docs-store.js +3 -0
- package/core/ports/src/driven/recording/recording-store.d.ts +39 -0
- package/core/ports/src/driven/recording/recording-store.js +3 -0
- package/core/ports/src/driven/recording/step-check-ports.d.ts +29 -0
- package/core/ports/src/driven/recording/step-check-ports.js +3 -0
- package/core/ports/src/driven/storage/breakpoint-store.d.ts +13 -0
- package/core/ports/src/driven/storage/breakpoint-store.js +3 -0
- package/core/ports/src/driven/storage/environment-option-choices.d.ts +4 -0
- package/core/ports/src/driven/storage/environment-option-choices.js +3 -0
- package/core/ports/src/driven/storage/evidence-journal.d.ts +10 -0
- package/core/ports/src/driven/storage/evidence-journal.js +3 -0
- package/core/ports/src/driven/storage/fixture-archives.d.ts +61 -0
- package/core/ports/src/driven/storage/fixture-archives.js +3 -0
- package/core/ports/src/driven/storage/fixture-source.d.ts +53 -0
- package/core/ports/src/driven/storage/fixture-source.js +3 -0
- package/core/ports/src/driven/storage/fixture-store.d.ts +69 -0
- package/core/ports/src/driven/storage/fixture-store.js +3 -0
- package/core/ports/src/driven/storage/index.d.ts +12 -0
- package/core/ports/src/driven/storage/index.js +3 -0
- package/core/ports/src/driven/storage/lab-settings-store.d.ts +8 -0
- package/core/ports/src/driven/storage/lab-settings-store.js +3 -0
- package/core/ports/src/driven/storage/rpc-choices.d.ts +11 -0
- package/core/ports/src/driven/storage/rpc-choices.js +3 -0
- package/core/ports/src/driven/storage/run-bundle-archives.d.ts +46 -0
- package/core/ports/src/driven/storage/run-bundle-archives.js +3 -0
- package/core/ports/src/driven/storage/run-manifest-store.d.ts +18 -0
- package/core/ports/src/driven/storage/run-manifest-store.js +3 -0
- package/core/ports/src/driven/storage/running-lab.d.ts +42 -0
- package/core/ports/src/driven/storage/running-lab.js +3 -0
- package/core/ports/src/driven/storage/suite-evidence-bundles.d.ts +55 -0
- package/core/ports/src/driven/storage/suite-evidence-bundles.js +3 -0
- package/core/ports/src/driven/system/app-proxy.d.ts +123 -0
- package/core/ports/src/driven/system/app-proxy.js +3 -0
- package/core/ports/src/driven/system/chain-gate.d.ts +41 -0
- package/core/ports/src/driven/system/chain-gate.js +3 -0
- package/core/ports/src/driven/system/change-source.d.ts +69 -0
- package/core/ports/src/driven/system/change-source.js +3 -0
- package/core/ports/src/driven/system/clock.d.ts +13 -0
- package/core/ports/src/driven/system/clock.js +3 -0
- package/core/ports/src/driven/system/command-runner.d.ts +33 -0
- package/core/ports/src/driven/system/command-runner.js +3 -0
- package/core/ports/src/driven/system/conditioned-links.d.ts +20 -0
- package/core/ports/src/driven/system/conditioned-links.js +3 -0
- package/core/ports/src/driven/system/connection-monitor.d.ts +40 -0
- package/core/ports/src/driven/system/connection-monitor.js +3 -0
- package/core/ports/src/driven/system/document-headers.d.ts +9 -0
- package/core/ports/src/driven/system/document-headers.js +3 -0
- package/core/ports/src/driven/system/environment-variables.d.ts +9 -0
- package/core/ports/src/driven/system/environment-variables.js +3 -0
- package/core/ports/src/driven/system/file-system.d.ts +41 -0
- package/core/ports/src/driven/system/file-system.js +3 -0
- package/core/ports/src/driven/system/http-probe.d.ts +20 -0
- package/core/ports/src/driven/system/http-probe.js +3 -0
- package/core/ports/src/driven/system/id-generator.d.ts +5 -0
- package/core/ports/src/driven/system/id-generator.js +3 -0
- package/core/ports/src/driven/system/index.d.ts +27 -0
- package/core/ports/src/driven/system/index.js +3 -0
- package/core/ports/src/driven/system/json-rpc-client.d.ts +15 -0
- package/core/ports/src/driven/system/json-rpc-client.js +3 -0
- package/core/ports/src/driven/system/lock-manager.d.ts +55 -0
- package/core/ports/src/driven/system/lock-manager.js +3 -0
- package/core/ports/src/driven/system/logger.d.ts +8 -0
- package/core/ports/src/driven/system/logger.js +3 -0
- package/core/ports/src/driven/system/machine-metrics.d.ts +38 -0
- package/core/ports/src/driven/system/machine-metrics.js +3 -0
- package/core/ports/src/driven/system/os-ports.d.ts +12 -0
- package/core/ports/src/driven/system/os-ports.js +3 -0
- package/core/ports/src/driven/system/port-allocator.d.ts +46 -0
- package/core/ports/src/driven/system/port-allocator.js +3 -0
- package/core/ports/src/driven/system/process-runner.d.ts +133 -0
- package/core/ports/src/driven/system/process-runner.js +3 -0
- package/core/ports/src/driven/system/process-sandbox.d.ts +61 -0
- package/core/ports/src/driven/system/process-sandbox.js +3 -0
- package/core/ports/src/driven/system/redactor.d.ts +12 -0
- package/core/ports/src/driven/system/redactor.js +3 -0
- package/core/ports/src/driven/system/source-watcher.d.ts +29 -0
- package/core/ports/src/driven/system/source-watcher.js +3 -0
- package/core/ports/src/driven/system/stdio-worker.d.ts +21 -0
- package/core/ports/src/driven/system/stdio-worker.js +3 -0
- package/core/ports/src/driven/system/sync-command-runner.d.ts +20 -0
- package/core/ports/src/driven/system/sync-command-runner.js +3 -0
- package/core/ports/src/driven/system/system-ports.d.ts +90 -0
- package/core/ports/src/driven/system/system-ports.js +3 -0
- package/core/ports/src/driven/system/terminal-command-runner.d.ts +22 -0
- package/core/ports/src/driven/system/terminal-command-runner.js +3 -0
- package/core/ports/src/driven/system/tree-cloner.d.ts +19 -0
- package/core/ports/src/driven/system/tree-cloner.js +3 -0
- package/core/ports/src/driven/versions/artifact-store.d.ts +47 -0
- package/core/ports/src/driven/versions/artifact-store.js +3 -0
- package/core/ports/src/driven/versions/http-client.d.ts +22 -0
- package/core/ports/src/driven/versions/http-client.js +3 -0
- package/core/ports/src/driven/versions/index.d.ts +6 -0
- package/core/ports/src/driven/versions/index.js +3 -0
- package/core/ports/src/driven/versions/lab-versions-declaration.d.ts +55 -0
- package/core/ports/src/driven/versions/lab-versions-declaration.js +3 -0
- package/core/ports/src/driven/versions/lock-store.d.ts +29 -0
- package/core/ports/src/driven/versions/lock-store.js +3 -0
- package/core/ports/src/driven/versions/version-policy-source.d.ts +12 -0
- package/core/ports/src/driven/versions/version-policy-source.js +3 -0
- package/core/ports/src/driven/versions/version-source.d.ts +58 -0
- package/core/ports/src/driven/versions/version-source.js +3 -0
- package/core/ports/src/driving/activity.d.ts +244 -0
- package/core/ports/src/driving/activity.js +3 -0
- package/core/ports/src/driving/app-builds.d.ts +91 -0
- package/core/ports/src/driving/app-builds.js +3 -0
- package/core/ports/src/driving/bisect.d.ts +42 -0
- package/core/ports/src/driving/bisect.js +3 -0
- package/core/ports/src/driving/breakpoints.d.ts +148 -0
- package/core/ports/src/driving/breakpoints.js +3 -0
- package/core/ports/src/driving/builder.d.ts +92 -0
- package/core/ports/src/driving/builder.js +3 -0
- package/core/ports/src/driving/chain-console.d.ts +52 -0
- package/core/ports/src/driving/chain-console.js +3 -0
- package/core/ports/src/driving/demo.d.ts +47 -0
- package/core/ports/src/driving/demo.js +3 -0
- package/core/ports/src/driving/environment-rpc.d.ts +16 -0
- package/core/ports/src/driving/environment-rpc.js +3 -0
- package/core/ports/src/driving/environment-tooling.d.ts +40 -0
- package/core/ports/src/driving/environment-tooling.js +3 -0
- package/core/ports/src/driving/exploration.d.ts +58 -0
- package/core/ports/src/driving/exploration.js +3 -0
- package/core/ports/src/driving/feature-session.d.ts +269 -0
- package/core/ports/src/driving/feature-session.js +3 -0
- package/core/ports/src/driving/features.d.ts +260 -0
- package/core/ports/src/driving/features.js +3 -0
- package/core/ports/src/driving/fixture-maintenance.d.ts +95 -0
- package/core/ports/src/driving/fixture-maintenance.js +3 -0
- package/core/ports/src/driving/fixture-sharing.d.ts +159 -0
- package/core/ports/src/driving/fixture-sharing.js +3 -0
- package/core/ports/src/driving/fixtures.d.ts +149 -0
- package/core/ports/src/driving/fixtures.js +3 -0
- package/core/ports/src/driving/hosts.d.ts +49 -0
- package/core/ports/src/driving/hosts.js +3 -0
- package/core/ports/src/driving/index.d.ts +36 -0
- package/core/ports/src/driving/index.js +3 -0
- package/core/ports/src/driving/journeys.d.ts +45 -0
- package/core/ports/src/driving/journeys.js +3 -0
- package/core/ports/src/driving/lab-coverage.d.ts +47 -0
- package/core/ports/src/driving/lab-coverage.js +3 -0
- package/core/ports/src/driving/lab-lint.d.ts +47 -0
- package/core/ports/src/driving/lab-lint.js +3 -0
- package/core/ports/src/driving/lab-mutations.d.ts +16 -0
- package/core/ports/src/driving/lab-mutations.js +3 -0
- package/core/ports/src/driving/lab-registry.d.ts +236 -0
- package/core/ports/src/driving/lab-registry.js +3 -0
- package/core/ports/src/driving/lab-runtime.d.ts +656 -0
- package/core/ports/src/driving/lab-runtime.js +3 -0
- package/core/ports/src/driving/lab-settings.d.ts +29 -0
- package/core/ports/src/driving/lab-settings.js +3 -0
- package/core/ports/src/driving/lab-snapshot.d.ts +361 -0
- package/core/ports/src/driving/lab-snapshot.js +3 -0
- package/core/ports/src/driving/load.d.ts +22 -0
- package/core/ports/src/driving/load.js +3 -0
- package/core/ports/src/driving/navigation-view.d.ts +23 -0
- package/core/ports/src/driving/navigation-view.js +3 -0
- package/core/ports/src/driving/recordings.d.ts +103 -0
- package/core/ports/src/driving/recordings.js +3 -0
- package/core/ports/src/driving/reports.d.ts +411 -0
- package/core/ports/src/driving/reports.js +3 -0
- package/core/ports/src/driving/resolved-config.d.ts +52 -0
- package/core/ports/src/driving/resolved-config.js +3 -0
- package/core/ports/src/driving/run-bundles.d.ts +135 -0
- package/core/ports/src/driving/run-bundles.js +3 -0
- package/core/ports/src/driving/suites.d.ts +188 -0
- package/core/ports/src/driving/suites.js +3 -0
- package/core/ports/src/driving/tools.d.ts +279 -0
- package/core/ports/src/driving/tools.js +3 -0
- package/core/ports/src/driving/ui-extensions.d.ts +77 -0
- package/core/ports/src/driving/ui-extensions.js +3 -0
- package/core/ports/src/driving/versions.d.ts +280 -0
- package/core/ports/src/driving/versions.js +3 -0
- package/core/ports/src/driving/what-if.d.ts +64 -0
- package/core/ports/src/driving/what-if.js +3 -0
- package/core/ports/src/driving/workers.d.ts +52 -0
- package/core/ports/src/driving/workers.js +3 -0
- package/core/ports/src/index.d.ts +15 -0
- package/core/ports/src/index.js +17 -0
- package/entrypoints/cli/README.md +895 -0
- package/entrypoints/cli/ai-kit/agents/product-lab-e2e-debugger.yaml +32 -0
- package/entrypoints/cli/ai-kit/agents/product-lab-scenario-author.yaml +44 -0
- package/entrypoints/cli/ai-kit/agents-md.md +52 -0
- package/entrypoints/cli/ai-kit/mcp.json +11 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-app/SKILL.md +101 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-debug/SKILL.md +54 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-integration/SKILL.md +116 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-integration/references/notes-example.md +192 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-integration/references/notes-lab.md +5700 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-scenario/SKILL.md +122 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-setup/SKILL.md +113 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-setup/references/minimal-lab.md +480 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-test-ids/SKILL.md +79 -0
- package/entrypoints/cli/bin/esbuild-own-session.sh +8 -0
- package/entrypoints/cli/bin/esbuild-session.mjs +70 -0
- package/entrypoints/cli/bin/product-lab.mjs +42 -0
- package/entrypoints/cli/src/agents.d.ts +65 -0
- package/entrypoints/cli/src/agents.js +96 -0
- package/entrypoints/cli/src/ai/command.d.ts +3 -0
- package/entrypoints/cli/src/ai/command.js +79 -0
- package/entrypoints/cli/src/ai/doctor.d.ts +17 -0
- package/entrypoints/cli/src/ai/doctor.js +117 -0
- package/entrypoints/cli/src/ai/examples.d.ts +18 -0
- package/entrypoints/cli/src/ai/examples.js +69 -0
- package/entrypoints/cli/src/ai/init.d.ts +41 -0
- package/entrypoints/cli/src/ai/init.js +229 -0
- package/entrypoints/cli/src/ai/kit-reference.d.ts +46 -0
- package/entrypoints/cli/src/ai/kit-reference.js +300 -0
- package/entrypoints/cli/src/ai/kit.d.ts +37 -0
- package/entrypoints/cli/src/ai/kit.js +73 -0
- package/entrypoints/cli/src/ai/policy.d.ts +28 -0
- package/entrypoints/cli/src/ai/policy.js +56 -0
- package/entrypoints/cli/src/ai/render.d.ts +68 -0
- package/entrypoints/cli/src/ai/render.js +200 -0
- package/entrypoints/cli/src/ai/status.d.ts +21 -0
- package/entrypoints/cli/src/ai/status.js +41 -0
- package/entrypoints/cli/src/ai/sync.d.ts +39 -0
- package/entrypoints/cli/src/ai/sync.js +256 -0
- package/entrypoints/cli/src/bisect-command.d.ts +4 -0
- package/entrypoints/cli/src/bisect-command.js +109 -0
- package/entrypoints/cli/src/breakpoints-command.d.ts +4 -0
- package/entrypoints/cli/src/breakpoints-command.js +67 -0
- package/entrypoints/cli/src/bundle-command.d.ts +5 -0
- package/entrypoints/cli/src/bundle-command.js +74 -0
- package/entrypoints/cli/src/checkout.d.ts +6 -0
- package/entrypoints/cli/src/checkout.js +12 -0
- package/entrypoints/cli/src/cli-app.d.ts +57 -0
- package/entrypoints/cli/src/cli-app.js +506 -0
- package/entrypoints/cli/src/cli-host-release.d.ts +22 -0
- package/entrypoints/cli/src/cli-host-release.js +23 -0
- package/entrypoints/cli/src/commands/chain-day-ended.d.ts +12 -0
- package/entrypoints/cli/src/commands/chain-day-ended.js +33 -0
- package/entrypoints/cli/src/commands/check.d.ts +13 -0
- package/entrypoints/cli/src/commands/check.js +36 -0
- package/entrypoints/cli/src/commands/dev.d.ts +149 -0
- package/entrypoints/cli/src/commands/dev.js +327 -0
- package/entrypoints/cli/src/config-command.d.ts +7 -0
- package/entrypoints/cli/src/config-command.js +69 -0
- package/entrypoints/cli/src/coverage-command.d.ts +4 -0
- package/entrypoints/cli/src/coverage-command.js +75 -0
- package/entrypoints/cli/src/demo-command.d.ts +4 -0
- package/entrypoints/cli/src/demo-command.js +102 -0
- package/entrypoints/cli/src/env-command.d.ts +90 -0
- package/entrypoints/cli/src/env-command.js +203 -0
- package/entrypoints/cli/src/env-files.d.ts +6 -0
- package/entrypoints/cli/src/env-files.js +46 -0
- package/entrypoints/cli/src/environment.d.ts +5 -0
- package/entrypoints/cli/src/environment.js +3 -0
- package/entrypoints/cli/src/every-control.d.ts +74 -0
- package/entrypoints/cli/src/every-control.js +129 -0
- package/entrypoints/cli/src/explore-command.d.ts +4 -0
- package/entrypoints/cli/src/explore-command.js +133 -0
- package/entrypoints/cli/src/fixture-command.d.ts +8 -0
- package/entrypoints/cli/src/fixture-command.js +365 -0
- package/entrypoints/cli/src/fixture-refresh-command.d.ts +11 -0
- package/entrypoints/cli/src/fixture-refresh-command.js +245 -0
- package/entrypoints/cli/src/fixture-setup-marker.d.ts +22 -0
- package/entrypoints/cli/src/fixture-setup-marker.js +52 -0
- package/entrypoints/cli/src/fixture-sharing-command.d.ts +16 -0
- package/entrypoints/cli/src/fixture-sharing-command.js +192 -0
- package/entrypoints/cli/src/fixture-source-command.d.ts +3 -0
- package/entrypoints/cli/src/fixture-source-command.js +161 -0
- package/entrypoints/cli/src/host-command.d.ts +5 -0
- package/entrypoints/cli/src/host-command.js +213 -0
- package/entrypoints/cli/src/init-command.d.ts +49 -0
- package/entrypoints/cli/src/init-command.js +349 -0
- package/entrypoints/cli/src/init-lock.d.ts +48 -0
- package/entrypoints/cli/src/init-lock.js +50 -0
- package/entrypoints/cli/src/journeys-after-test.d.ts +2 -0
- package/entrypoints/cli/src/journeys-after-test.js +13 -0
- package/entrypoints/cli/src/journeys-command.d.ts +5 -0
- package/entrypoints/cli/src/journeys-command.js +61 -0
- package/entrypoints/cli/src/lab-flags.d.ts +54 -0
- package/entrypoints/cli/src/lab-flags.js +53 -0
- package/entrypoints/cli/src/lab-window-closed.d.ts +4 -0
- package/entrypoints/cli/src/lab-window-closed.js +10 -0
- package/entrypoints/cli/src/lint-command.d.ts +4 -0
- package/entrypoints/cli/src/lint-command.js +82 -0
- package/entrypoints/cli/src/load-command.d.ts +5 -0
- package/entrypoints/cli/src/load-command.js +111 -0
- package/entrypoints/cli/src/load-env.d.ts +1 -0
- package/entrypoints/cli/src/load-env.js +4 -0
- package/entrypoints/cli/src/machine-fit.d.ts +60 -0
- package/entrypoints/cli/src/machine-fit.js +63 -0
- package/entrypoints/cli/src/main.d.ts +14 -0
- package/entrypoints/cli/src/main.js +31 -0
- package/entrypoints/cli/src/mcp-command.d.ts +6 -0
- package/entrypoints/cli/src/mcp-command.js +28 -0
- package/entrypoints/cli/src/mutate-command.d.ts +34 -0
- package/entrypoints/cli/src/mutate-command.js +84 -0
- package/entrypoints/cli/src/own-running-record.d.ts +1 -0
- package/entrypoints/cli/src/own-running-record.js +10 -0
- package/entrypoints/cli/src/parse-args-errors.d.ts +2 -0
- package/entrypoints/cli/src/parse-args-errors.js +7 -0
- package/entrypoints/cli/src/plain-output.d.ts +98 -0
- package/entrypoints/cli/src/plain-output.js +179 -0
- package/entrypoints/cli/src/recordings-command.d.ts +15 -0
- package/entrypoints/cli/src/recordings-command.js +232 -0
- package/entrypoints/cli/src/release/notices.d.ts +87 -0
- package/entrypoints/cli/src/release/notices.js +182 -0
- package/entrypoints/cli/src/release/upgrade-command.d.ts +35 -0
- package/entrypoints/cli/src/release/upgrade-command.js +240 -0
- package/entrypoints/cli/src/report-command.d.ts +3 -0
- package/entrypoints/cli/src/report-command.js +207 -0
- package/entrypoints/cli/src/reports/compatibility-html.d.ts +2 -0
- package/entrypoints/cli/src/reports/compatibility-html.js +76 -0
- package/entrypoints/cli/src/reports/evidence-report.d.ts +46 -0
- package/entrypoints/cli/src/reports/evidence-report.js +31 -0
- package/entrypoints/cli/src/reports/host-bypass.d.ts +3 -0
- package/entrypoints/cli/src/reports/host-bypass.js +17 -0
- package/entrypoints/cli/src/reports/html.d.ts +6 -0
- package/entrypoints/cli/src/reports/html.js +178 -0
- package/entrypoints/cli/src/reports/junit.d.ts +2 -0
- package/entrypoints/cli/src/reports/junit.js +93 -0
- package/entrypoints/cli/src/reports/markdown.d.ts +2 -0
- package/entrypoints/cli/src/reports/markdown.js +62 -0
- package/entrypoints/cli/src/reports/metrics-text.d.ts +19 -0
- package/entrypoints/cli/src/reports/metrics-text.js +72 -0
- package/entrypoints/cli/src/reports/pr-comment.d.ts +20 -0
- package/entrypoints/cli/src/reports/pr-comment.js +61 -0
- package/entrypoints/cli/src/reports/write-reports.d.ts +8 -0
- package/entrypoints/cli/src/reports/write-reports.js +30 -0
- package/entrypoints/cli/src/reproduce-command.d.ts +4 -0
- package/entrypoints/cli/src/reproduce-command.js +69 -0
- package/entrypoints/cli/src/rerun-failures.d.ts +8 -0
- package/entrypoints/cli/src/rerun-failures.js +59 -0
- package/entrypoints/cli/src/rpc-flags.d.ts +3 -0
- package/entrypoints/cli/src/rpc-flags.js +23 -0
- package/entrypoints/cli/src/setup-commands.d.ts +36 -0
- package/entrypoints/cli/src/setup-commands.js +344 -0
- package/entrypoints/cli/src/shared-controls.d.ts +6 -0
- package/entrypoints/cli/src/shared-controls.js +49 -0
- package/entrypoints/cli/src/start-progress.d.ts +96 -0
- package/entrypoints/cli/src/start-progress.js +256 -0
- package/entrypoints/cli/src/startup-notices.d.ts +9 -0
- package/entrypoints/cli/src/startup-notices.js +25 -0
- package/entrypoints/cli/src/stop-signals.d.ts +27 -0
- package/entrypoints/cli/src/stop-signals.js +60 -0
- package/entrypoints/cli/src/suite-run-command.d.ts +17 -0
- package/entrypoints/cli/src/suite-run-command.js +48 -0
- package/entrypoints/cli/src/test-command.d.ts +15 -0
- package/entrypoints/cli/src/test-command.js +597 -0
- package/entrypoints/cli/src/test-in-window.d.ts +11 -0
- package/entrypoints/cli/src/test-in-window.js +27 -0
- package/entrypoints/cli/src/test-output.d.ts +9 -0
- package/entrypoints/cli/src/test-output.js +17 -0
- package/entrypoints/cli/src/tool-run.d.ts +3 -0
- package/entrypoints/cli/src/tool-run.js +29 -0
- package/entrypoints/cli/src/tui/agents-menu.d.ts +18 -0
- package/entrypoints/cli/src/tui/agents-menu.js +108 -0
- package/entrypoints/cli/src/tui/app.d.ts +46 -0
- package/entrypoints/cli/src/tui/app.js +483 -0
- package/entrypoints/cli/src/tui/frame.d.ts +23 -0
- package/entrypoints/cli/src/tui/frame.js +24 -0
- package/entrypoints/cli/src/tui/model.d.ts +188 -0
- package/entrypoints/cli/src/tui/model.js +487 -0
- package/entrypoints/cli/src/tui/mouse.d.ts +50 -0
- package/entrypoints/cli/src/tui/mouse.js +91 -0
- package/entrypoints/cli/src/tui/scroll.d.ts +28 -0
- package/entrypoints/cli/src/tui/scroll.js +29 -0
- package/entrypoints/cli/src/tui/start.d.ts +54 -0
- package/entrypoints/cli/src/tui/start.js +168 -0
- package/entrypoints/cli/src/tui/starting.d.ts +52 -0
- package/entrypoints/cli/src/tui/starting.js +67 -0
- package/entrypoints/cli/src/versions-command.d.ts +22 -0
- package/entrypoints/cli/src/versions-command.js +230 -0
- package/entrypoints/cli/src/what-if-command.d.ts +7 -0
- package/entrypoints/cli/src/what-if-command.js +103 -0
- package/entrypoints/cucumber/README.md +53 -0
- package/entrypoints/cucumber/src/ci/change-scope.d.ts +4 -0
- package/entrypoints/cucumber/src/ci/change-scope.js +8 -0
- package/entrypoints/cucumber/src/ci/coverage.d.ts +4 -0
- package/entrypoints/cucumber/src/ci/coverage.js +44 -0
- package/entrypoints/cucumber/src/ci/fast-plan.d.ts +29 -0
- package/entrypoints/cucumber/src/ci/fast-plan.js +79 -0
- package/entrypoints/cucumber/src/ci/owned-command.d.ts +11 -0
- package/entrypoints/cucumber/src/ci/owned-command.js +85 -0
- package/entrypoints/cucumber/src/cucumber/hooks.d.ts +50 -0
- package/entrypoints/cucumber/src/cucumber/hooks.js +132 -0
- package/entrypoints/cucumber/src/cucumber/navigation.d.ts +26 -0
- package/entrypoints/cucumber/src/cucumber/navigation.js +44 -0
- package/entrypoints/cucumber/src/cucumber/rows.d.ts +5 -0
- package/entrypoints/cucumber/src/cucumber/rows.js +26 -0
- package/entrypoints/cucumber/src/cucumber/world.d.ts +11 -0
- package/entrypoints/cucumber/src/cucumber/world.js +41 -0
- package/entrypoints/cucumber/src/index.d.ts +9 -0
- package/entrypoints/cucumber/src/index.js +11 -0
- package/entrypoints/cucumber/src/main.d.ts +44 -0
- package/entrypoints/cucumber/src/main.js +55 -0
- package/entrypoints/cucumber/src/negative/control-result.d.ts +31 -0
- package/entrypoints/cucumber/src/negative/control-result.js +56 -0
- package/entrypoints/mcp/README.md +204 -0
- package/entrypoints/mcp/src/args.d.ts +10 -0
- package/entrypoints/mcp/src/args.js +63 -0
- package/entrypoints/mcp/src/chain.d.ts +75 -0
- package/entrypoints/mcp/src/chain.js +185 -0
- package/entrypoints/mcp/src/deferred-runtime.d.ts +26 -0
- package/entrypoints/mcp/src/deferred-runtime.js +72 -0
- package/entrypoints/mcp/src/describe-sections.d.ts +14 -0
- package/entrypoints/mcp/src/describe-sections.js +38 -0
- package/entrypoints/mcp/src/index.d.ts +7 -0
- package/entrypoints/mcp/src/index.js +9 -0
- package/entrypoints/mcp/src/load-gate.d.ts +27 -0
- package/entrypoints/mcp/src/load-gate.js +65 -0
- package/entrypoints/mcp/src/logs.d.ts +41 -0
- package/entrypoints/mcp/src/logs.js +138 -0
- package/entrypoints/mcp/src/main.d.ts +24 -0
- package/entrypoints/mcp/src/main.js +42 -0
- package/entrypoints/mcp/src/output.d.ts +8 -0
- package/entrypoints/mcp/src/output.js +69 -0
- package/entrypoints/mcp/src/resources.d.ts +18 -0
- package/entrypoints/mcp/src/resources.js +139 -0
- package/entrypoints/mcp/src/server.d.ts +37 -0
- package/entrypoints/mcp/src/server.js +68 -0
- package/entrypoints/mcp/src/session-core.d.ts +42 -0
- package/entrypoints/mcp/src/session-core.js +80 -0
- package/entrypoints/mcp/src/session-debug.d.ts +219 -0
- package/entrypoints/mcp/src/session-debug.js +393 -0
- package/entrypoints/mcp/src/session-discover.d.ts +342 -0
- package/entrypoints/mcp/src/session-discover.js +212 -0
- package/entrypoints/mcp/src/session-environment.d.ts +807 -0
- package/entrypoints/mcp/src/session-environment.js +250 -0
- package/entrypoints/mcp/src/session-host.d.ts +8 -0
- package/entrypoints/mcp/src/session-host.js +40 -0
- package/entrypoints/mcp/src/session-run.d.ts +127 -0
- package/entrypoints/mcp/src/session-run.js +417 -0
- package/entrypoints/mcp/src/session-shared.d.ts +181 -0
- package/entrypoints/mcp/src/session-shared.js +89 -0
- package/entrypoints/mcp/src/session.d.ts +9 -0
- package/entrypoints/mcp/src/session.js +38 -0
- package/entrypoints/mcp/src/stdio.d.ts +62 -0
- package/entrypoints/mcp/src/stdio.js +114 -0
- package/entrypoints/mcp/src/tools.d.ts +20 -0
- package/entrypoints/mcp/src/tools.js +382 -0
- package/entrypoints/panel/README.md +1773 -0
- package/entrypoints/panel/src/agent-routes.d.ts +32 -0
- package/entrypoints/panel/src/agent-routes.js +32 -0
- package/entrypoints/panel/src/builder-input.d.ts +7 -0
- package/entrypoints/panel/src/builder-input.js +66 -0
- package/entrypoints/panel/src/bundle-routes.d.ts +16 -0
- package/entrypoints/panel/src/bundle-routes.js +59 -0
- package/entrypoints/panel/src/chain-console-routes.d.ts +9 -0
- package/entrypoints/panel/src/chain-console-routes.js +18 -0
- package/entrypoints/panel/src/client/activity.d.ts +5 -0
- package/entrypoints/panel/src/client/activity.js +173 -0
- package/entrypoints/panel/src/client/address-bar.css +36 -0
- package/entrypoints/panel/src/client/address-bar.d.ts +62 -0
- package/entrypoints/panel/src/client/address-bar.js +311 -0
- package/entrypoints/panel/src/client/after-failure-view.d.ts +8 -0
- package/entrypoints/panel/src/client/after-failure-view.js +24 -0
- package/entrypoints/panel/src/client/agents-tools.d.ts +5 -0
- package/entrypoints/panel/src/client/agents-tools.js +31 -0
- package/entrypoints/panel/src/client/app-builds.d.ts +16 -0
- package/entrypoints/panel/src/client/app-builds.js +38 -0
- package/entrypoints/panel/src/client/app-tiles.d.ts +30 -0
- package/entrypoints/panel/src/client/app-tiles.js +484 -0
- package/entrypoints/panel/src/client/bindings.d.ts +39 -0
- package/entrypoints/panel/src/client/bindings.js +120 -0
- package/entrypoints/panel/src/client/builder-blocks.d.ts +26 -0
- package/entrypoints/panel/src/client/builder-blocks.js +346 -0
- package/entrypoints/panel/src/client/builder-chrome.d.ts +27 -0
- package/entrypoints/panel/src/client/builder-chrome.js +144 -0
- package/entrypoints/panel/src/client/builder-view.d.ts +86 -0
- package/entrypoints/panel/src/client/builder-view.js +334 -0
- package/entrypoints/panel/src/client/builder.d.ts +34 -0
- package/entrypoints/panel/src/client/builder.js +620 -0
- package/entrypoints/panel/src/client/bundle-actions.d.ts +9 -0
- package/entrypoints/panel/src/client/bundle-actions.js +124 -0
- package/entrypoints/panel/src/client/chain-console.css +31 -0
- package/entrypoints/panel/src/client/chain-console.d.ts +13 -0
- package/entrypoints/panel/src/client/chain-console.js +77 -0
- package/entrypoints/panel/src/client/chain-day.d.ts +29 -0
- package/entrypoints/panel/src/client/chain-day.js +43 -0
- package/entrypoints/panel/src/client/checkpoint.d.ts +5 -0
- package/entrypoints/panel/src/client/checkpoint.js +8 -0
- package/entrypoints/panel/src/client/client.d.ts +1 -0
- package/entrypoints/panel/src/client/client.js +634 -0
- package/entrypoints/panel/src/client/components.css +219 -0
- package/entrypoints/panel/src/client/confirm-dialogs.d.ts +11 -0
- package/entrypoints/panel/src/client/confirm-dialogs.js +54 -0
- package/entrypoints/panel/src/client/detached-tiles.d.ts +39 -0
- package/entrypoints/panel/src/client/detached-tiles.js +106 -0
- package/entrypoints/panel/src/client/dock-status.d.ts +17 -0
- package/entrypoints/panel/src/client/dock-status.js +30 -0
- package/entrypoints/panel/src/client/dock.d.ts +21 -0
- package/entrypoints/panel/src/client/dock.js +74 -0
- package/entrypoints/panel/src/client/dom.d.ts +8 -0
- package/entrypoints/panel/src/client/dom.js +28 -0
- package/entrypoints/panel/src/client/environment-lifecycle.d.ts +19 -0
- package/entrypoints/panel/src/client/environment-lifecycle.js +164 -0
- package/entrypoints/panel/src/client/environment-options.d.ts +18 -0
- package/entrypoints/panel/src/client/environment-options.js +33 -0
- package/entrypoints/panel/src/client/environment.d.ts +189 -0
- package/entrypoints/panel/src/client/environment.js +521 -0
- package/entrypoints/panel/src/client/evidence-controls.d.ts +14 -0
- package/entrypoints/panel/src/client/evidence-controls.js +37 -0
- package/entrypoints/panel/src/client/evidence-model.d.ts +65 -0
- package/entrypoints/panel/src/client/evidence-model.js +179 -0
- package/entrypoints/panel/src/client/evidence-view.css +82 -0
- package/entrypoints/panel/src/client/evidence-view.d.ts +9 -0
- package/entrypoints/panel/src/client/evidence-view.js +56 -0
- package/entrypoints/panel/src/client/extensions.d.ts +21 -0
- package/entrypoints/panel/src/client/extensions.js +345 -0
- package/entrypoints/panel/src/client/features.d.ts +88 -0
- package/entrypoints/panel/src/client/features.js +247 -0
- package/entrypoints/panel/src/client/fixtures.d.ts +16 -0
- package/entrypoints/panel/src/client/fixtures.js +155 -0
- package/entrypoints/panel/src/client/fonts/inter.OFL.txt +93 -0
- package/entrypoints/panel/src/client/fonts/inter.woff2 +0 -0
- package/entrypoints/panel/src/client/fonts/jetbrains-mono.OFL.txt +93 -0
- package/entrypoints/panel/src/client/fonts/jetbrains-mono.woff2 +0 -0
- package/entrypoints/panel/src/client/fonts/unbounded.OFL.txt +93 -0
- package/entrypoints/panel/src/client/fonts/unbounded.woff2 +0 -0
- package/entrypoints/panel/src/client/fonts.css +24 -0
- package/entrypoints/panel/src/client/forms.d.ts +3 -0
- package/entrypoints/panel/src/client/forms.js +58 -0
- package/entrypoints/panel/src/client/frame.css +515 -0
- package/entrypoints/panel/src/client/gallery.css +68 -0
- package/entrypoints/panel/src/client/gallery.d.ts +1 -0
- package/entrypoints/panel/src/client/gallery.html +17 -0
- package/entrypoints/panel/src/client/gallery.js +81 -0
- package/entrypoints/panel/src/client/gherkin-view.d.ts +149 -0
- package/entrypoints/panel/src/client/gherkin-view.js +223 -0
- package/entrypoints/panel/src/client/gherkin.css +88 -0
- package/entrypoints/panel/src/client/host-bypass-model.d.ts +68 -0
- package/entrypoints/panel/src/client/host-bypass-model.js +131 -0
- package/entrypoints/panel/src/client/host-bypass.d.ts +13 -0
- package/entrypoints/panel/src/client/host-bypass.js +50 -0
- package/entrypoints/panel/src/client/host-request-words.d.ts +6 -0
- package/entrypoints/panel/src/client/host-request-words.js +32 -0
- package/entrypoints/panel/src/client/identity-words.d.ts +23 -0
- package/entrypoints/panel/src/client/identity-words.js +46 -0
- package/entrypoints/panel/src/client/index.html +326 -0
- package/entrypoints/panel/src/client/integrations.d.ts +16 -0
- package/entrypoints/panel/src/client/integrations.js +32 -0
- package/entrypoints/panel/src/client/island.css +21 -0
- package/entrypoints/panel/src/client/island.d.ts +99 -0
- package/entrypoints/panel/src/client/island.js +199 -0
- package/entrypoints/panel/src/client/keep-switch.d.ts +7 -0
- package/entrypoints/panel/src/client/keep-switch.js +24 -0
- package/entrypoints/panel/src/client/keep-words.d.ts +24 -0
- package/entrypoints/panel/src/client/keep-words.js +22 -0
- package/entrypoints/panel/src/client/lab-actions.d.ts +9 -0
- package/entrypoints/panel/src/client/lab-actions.js +16 -0
- package/entrypoints/panel/src/client/lab-document.d.ts +10 -0
- package/entrypoints/panel/src/client/lab-document.js +37 -0
- package/entrypoints/panel/src/client/lab-menu.css +11 -0
- package/entrypoints/panel/src/client/lab-menu.d.ts +44 -0
- package/entrypoints/panel/src/client/lab-menu.js +105 -0
- package/entrypoints/panel/src/client/landing.d.ts +4 -0
- package/entrypoints/panel/src/client/landing.js +24 -0
- package/entrypoints/panel/src/client/lanes.d.ts +41 -0
- package/entrypoints/panel/src/client/lanes.js +100 -0
- package/entrypoints/panel/src/client/lucide.LICENSE +43 -0
- package/entrypoints/panel/src/client/lucide.d.ts +95 -0
- package/entrypoints/panel/src/client/lucide.js +95 -0
- package/entrypoints/panel/src/client/navigation-activity.d.ts +34 -0
- package/entrypoints/panel/src/client/navigation-activity.js +97 -0
- package/entrypoints/panel/src/client/navigation-controls.d.ts +18 -0
- package/entrypoints/panel/src/client/navigation-controls.js +29 -0
- package/entrypoints/panel/src/client/operation-phases.d.ts +16 -0
- package/entrypoints/panel/src/client/operation-phases.js +70 -0
- package/entrypoints/panel/src/client/own-window.d.ts +9 -0
- package/entrypoints/panel/src/client/own-window.js +113 -0
- package/entrypoints/panel/src/client/panel-snapshot.d.ts +25 -0
- package/entrypoints/panel/src/client/panel-snapshot.js +3 -0
- package/entrypoints/panel/src/client/panel-tabs.d.ts +21 -0
- package/entrypoints/panel/src/client/panel-tabs.js +41 -0
- package/entrypoints/panel/src/client/pause-inspector.d.ts +14 -0
- package/entrypoints/panel/src/client/pause-inspector.js +104 -0
- package/entrypoints/panel/src/client/principals.d.ts +18 -0
- package/entrypoints/panel/src/client/principals.js +21 -0
- package/entrypoints/panel/src/client/recordings.d.ts +38 -0
- package/entrypoints/panel/src/client/recordings.js +481 -0
- package/entrypoints/panel/src/client/registry.d.ts +53 -0
- package/entrypoints/panel/src/client/registry.js +415 -0
- package/entrypoints/panel/src/client/release-notice.d.ts +2 -0
- package/entrypoints/panel/src/client/release-notice.js +36 -0
- package/entrypoints/panel/src/client/replace-kept.d.ts +21 -0
- package/entrypoints/panel/src/client/replace-kept.js +21 -0
- package/entrypoints/panel/src/client/replay-chain.d.ts +20 -0
- package/entrypoints/panel/src/client/replay-chain.js +31 -0
- package/entrypoints/panel/src/client/request-error.d.ts +11 -0
- package/entrypoints/panel/src/client/request-error.js +17 -0
- package/entrypoints/panel/src/client/request.d.ts +1 -0
- package/entrypoints/panel/src/client/request.js +16 -0
- package/entrypoints/panel/src/client/reset-words.d.ts +9 -0
- package/entrypoints/panel/src/client/reset-words.js +13 -0
- package/entrypoints/panel/src/client/resize.d.ts +18 -0
- package/entrypoints/panel/src/client/resize.js +137 -0
- package/entrypoints/panel/src/client/root-call-confirm.d.ts +11 -0
- package/entrypoints/panel/src/client/root-call-confirm.js +35 -0
- package/entrypoints/panel/src/client/run-mode.d.ts +105 -0
- package/entrypoints/panel/src/client/run-mode.js +49 -0
- package/entrypoints/panel/src/client/run-outcome.d.ts +28 -0
- package/entrypoints/panel/src/client/run-outcome.js +110 -0
- package/entrypoints/panel/src/client/run-preludes.d.ts +54 -0
- package/entrypoints/panel/src/client/run-preludes.js +46 -0
- package/entrypoints/panel/src/client/run-progress.d.ts +117 -0
- package/entrypoints/panel/src/client/run-progress.js +322 -0
- package/entrypoints/panel/src/client/run-steps.d.ts +105 -0
- package/entrypoints/panel/src/client/run-steps.js +319 -0
- package/entrypoints/panel/src/client/run-writes.d.ts +66 -0
- package/entrypoints/panel/src/client/run-writes.js +76 -0
- package/entrypoints/panel/src/client/scenario-environment.d.ts +15 -0
- package/entrypoints/panel/src/client/scenario-environment.js +34 -0
- package/entrypoints/panel/src/client/selection.d.ts +7 -0
- package/entrypoints/panel/src/client/selection.js +32 -0
- package/entrypoints/panel/src/client/settings.d.ts +35 -0
- package/entrypoints/panel/src/client/settings.js +178 -0
- package/entrypoints/panel/src/client/shell-kit.d.ts +89 -0
- package/entrypoints/panel/src/client/shell-kit.js +38 -0
- package/entrypoints/panel/src/client/shell.css +355 -0
- package/entrypoints/panel/src/client/show-cursor.css +55 -0
- package/entrypoints/panel/src/client/show-cursor.d.ts +10 -0
- package/entrypoints/panel/src/client/show-cursor.js +69 -0
- package/entrypoints/panel/src/client/status-actions.d.ts +21 -0
- package/entrypoints/panel/src/client/status-actions.js +40 -0
- package/entrypoints/panel/src/client/step-evidence.css +11 -0
- package/entrypoints/panel/src/client/step-evidence.d.ts +6 -0
- package/entrypoints/panel/src/client/step-evidence.js +62 -0
- package/entrypoints/panel/src/client/switch-run.d.ts +34 -0
- package/entrypoints/panel/src/client/switch-run.js +67 -0
- package/entrypoints/panel/src/client/tile-device.d.ts +55 -0
- package/entrypoints/panel/src/client/tile-device.js +70 -0
- package/entrypoints/panel/src/client/tile-grid.d.ts +54 -0
- package/entrypoints/panel/src/client/tile-grid.js +67 -0
- package/entrypoints/panel/src/client/tile-strip.d.ts +13 -0
- package/entrypoints/panel/src/client/tile-strip.js +66 -0
- package/entrypoints/panel/src/client/timeline.d.ts +82 -0
- package/entrypoints/panel/src/client/timeline.js +195 -0
- package/entrypoints/panel/src/client/tokens.css +206 -0
- package/entrypoints/panel/src/client/tool-report.d.ts +15 -0
- package/entrypoints/panel/src/client/tool-report.js +61 -0
- package/entrypoints/panel/src/client/tools-page.css +168 -0
- package/entrypoints/panel/src/client/ui-calls.d.ts +41 -0
- package/entrypoints/panel/src/client/ui-calls.js +42 -0
- package/entrypoints/panel/src/client/ui.d.ts +251 -0
- package/entrypoints/panel/src/client/ui.js +493 -0
- package/entrypoints/panel/src/client/unawaited.d.ts +5 -0
- package/entrypoints/panel/src/client/unawaited.js +14 -0
- package/entrypoints/panel/src/client/view-builder.css +372 -0
- package/entrypoints/panel/src/client/view-characters.d.ts +3 -0
- package/entrypoints/panel/src/client/view-characters.js +20 -0
- package/entrypoints/panel/src/client/view-config.css +23 -0
- package/entrypoints/panel/src/client/view-config.d.ts +6 -0
- package/entrypoints/panel/src/client/view-config.js +41 -0
- package/entrypoints/panel/src/client/view-environment.css +193 -0
- package/entrypoints/panel/src/client/view-environment.d.ts +42 -0
- package/entrypoints/panel/src/client/view-environment.js +240 -0
- package/entrypoints/panel/src/client/view-identities.css +100 -0
- package/entrypoints/panel/src/client/view-identities.d.ts +21 -0
- package/entrypoints/panel/src/client/view-identities.js +288 -0
- package/entrypoints/panel/src/client/view-recordings.css +9 -0
- package/entrypoints/panel/src/client/view-replay.css +127 -0
- package/entrypoints/panel/src/client/view-report.css +31 -0
- package/entrypoints/panel/src/client/view-run-steps.css +98 -0
- package/entrypoints/panel/src/client/view-runs.css +123 -0
- package/entrypoints/panel/src/client/view-runs.d.ts +9 -0
- package/entrypoints/panel/src/client/view-runs.js +443 -0
- package/entrypoints/panel/src/client/view-scenarios.css +164 -0
- package/entrypoints/panel/src/client/view-scenarios.d.ts +126 -0
- package/entrypoints/panel/src/client/view-scenarios.js +510 -0
- package/entrypoints/panel/src/client/view-settings.css +27 -0
- package/entrypoints/panel/src/client/view-timeline.css +66 -0
- package/entrypoints/panel/src/client/view-timeline.d.ts +22 -0
- package/entrypoints/panel/src/client/view-timeline.js +136 -0
- package/entrypoints/panel/src/client/view-tools.css +114 -0
- package/entrypoints/panel/src/client/view-tools.d.ts +16 -0
- package/entrypoints/panel/src/client/view-tools.js +285 -0
- package/entrypoints/panel/src/client/views.d.ts +47 -0
- package/entrypoints/panel/src/client/views.js +105 -0
- package/entrypoints/panel/src/client/watch-layout.d.ts +47 -0
- package/entrypoints/panel/src/client/watch-layout.js +79 -0
- package/entrypoints/panel/src/client/window-bindings.d.ts +21 -0
- package/entrypoints/panel/src/client/window-bindings.js +61 -0
- package/entrypoints/panel/src/client/window-switch.d.ts +15 -0
- package/entrypoints/panel/src/client/window-switch.js +19 -0
- package/entrypoints/panel/src/client/workspace-shell.d.ts +20 -0
- package/entrypoints/panel/src/client/workspace-shell.js +637 -0
- package/entrypoints/panel/src/controls.d.ts +51 -0
- package/entrypoints/panel/src/controls.js +119 -0
- package/entrypoints/panel/src/device-list.d.ts +5 -0
- package/entrypoints/panel/src/device-list.js +9 -0
- package/entrypoints/panel/src/extensions.d.ts +5 -0
- package/entrypoints/panel/src/extensions.js +28 -0
- package/entrypoints/panel/src/feature-bindings.d.ts +9 -0
- package/entrypoints/panel/src/feature-bindings.js +40 -0
- package/entrypoints/panel/src/feature-control.d.ts +14 -0
- package/entrypoints/panel/src/feature-control.js +25 -0
- package/entrypoints/panel/src/feature-events.d.ts +10 -0
- package/entrypoints/panel/src/feature-events.js +32 -0
- package/entrypoints/panel/src/frame-check.d.ts +28 -0
- package/entrypoints/panel/src/frame-check.js +69 -0
- package/entrypoints/panel/src/index.d.ts +4 -0
- package/entrypoints/panel/src/index.js +5 -0
- package/entrypoints/panel/src/main.d.ts +3 -0
- package/entrypoints/panel/src/main.js +40 -0
- package/entrypoints/panel/src/react/browser.d.ts +9 -0
- package/entrypoints/panel/src/react/browser.js +32 -0
- package/entrypoints/panel/src/react/prepare.d.ts +10 -0
- package/entrypoints/panel/src/react/prepare.js +49 -0
- package/entrypoints/panel/src/rebuild-rule.d.ts +9 -0
- package/entrypoints/panel/src/rebuild-rule.js +18 -0
- package/entrypoints/panel/src/runtime-routes.d.ts +29 -0
- package/entrypoints/panel/src/runtime-routes.js +143 -0
- package/entrypoints/panel/src/served-assets.d.ts +7 -0
- package/entrypoints/panel/src/served-assets.js +39 -0
- package/entrypoints/panel/src/server.d.ts +95 -0
- package/entrypoints/panel/src/server.js +653 -0
- package/entrypoints/panel/src/tool-routes.d.ts +19 -0
- package/entrypoints/panel/src/tool-routes.js +98 -0
- package/entrypoints/panel/src/visible/app-reload.d.ts +6 -0
- package/entrypoints/panel/src/visible/app-reload.js +22 -0
- package/entrypoints/panel/src/visible/app-ui.d.ts +44 -0
- package/entrypoints/panel/src/visible/app-ui.js +189 -0
- package/entrypoints/panel/src/visible/detached-conditions.d.ts +9 -0
- package/entrypoints/panel/src/visible/detached-conditions.js +37 -0
- package/entrypoints/panel/src/visible/detached-identities.d.ts +82 -0
- package/entrypoints/panel/src/visible/detached-identities.js +243 -0
- package/entrypoints/panel/src/visible/detached-surface.d.ts +38 -0
- package/entrypoints/panel/src/visible/detached-surface.js +182 -0
- package/entrypoints/panel/src/visible/detached-window.d.ts +71 -0
- package/entrypoints/panel/src/visible/detached-window.js +161 -0
- package/entrypoints/panel/src/visible/device-catalogue.d.ts +12 -0
- package/entrypoints/panel/src/visible/device-catalogue.js +40 -0
- package/entrypoints/panel/src/visible/embedded-host.d.ts +6 -0
- package/entrypoints/panel/src/visible/embedded-host.js +8 -0
- package/entrypoints/panel/src/visible/frame-locations.d.ts +15 -0
- package/entrypoints/panel/src/visible/frame-locations.js +29 -0
- package/entrypoints/panel/src/visible/index.d.ts +13 -0
- package/entrypoints/panel/src/visible/index.js +15 -0
- package/entrypoints/panel/src/visible/mirror.d.ts +41 -0
- package/entrypoints/panel/src/visible/mirror.js +100 -0
- package/entrypoints/panel/src/visible/png-parts.d.ts +33 -0
- package/entrypoints/panel/src/visible/png-parts.js +38 -0
- package/entrypoints/panel/src/visible/png-work.d.ts +14 -0
- package/entrypoints/panel/src/visible/png-work.js +15 -0
- package/entrypoints/panel/src/visible/png-worker.mjs +13 -0
- package/entrypoints/panel/src/visible/run-view.d.ts +37 -0
- package/entrypoints/panel/src/visible/run-view.js +65 -0
- package/entrypoints/panel/src/visible/runner.d.ts +192 -0
- package/entrypoints/panel/src/visible/runner.js +450 -0
- package/entrypoints/panel/src/visible/surface-session.d.ts +14 -0
- package/entrypoints/panel/src/visible/surface-session.js +10 -0
- package/entrypoints/panel/src/visible/tile-conditions.d.ts +33 -0
- package/entrypoints/panel/src/visible/tile-conditions.js +94 -0
- package/entrypoints/panel/src/visible/tile-placement.d.ts +61 -0
- package/entrypoints/panel/src/visible/tile-placement.js +155 -0
- package/entrypoints/panel/src/visible/tile-ready.d.ts +25 -0
- package/entrypoints/panel/src/visible/tile-ready.js +78 -0
- package/entrypoints/panel/src/visible/ui-activity.d.ts +60 -0
- package/entrypoints/panel/src/visible/ui-activity.js +91 -0
- package/entrypoints/panel/src/visible/ui-timing.d.ts +95 -0
- package/entrypoints/panel/src/visible/ui-timing.js +32 -0
- package/entrypoints/panel/src/visible/verified-typing.d.ts +39 -0
- package/entrypoints/panel/src/visible/verified-typing.js +76 -0
- package/entrypoints/panel/src/visible/viewport-shot.d.ts +29 -0
- package/entrypoints/panel/src/visible/viewport-shot.js +83 -0
- package/entrypoints/panel/src/visible/visible-ui.d.ts +132 -0
- package/entrypoints/panel/src/visible/visible-ui.js +429 -0
- package/entrypoints/panel/src/visible/window-frames.d.ts +35 -0
- package/entrypoints/panel/src/visible/window-frames.js +128 -0
- package/entrypoints/panel/src/visible/window-hold.d.ts +21 -0
- package/entrypoints/panel/src/visible/window-hold.js +29 -0
- package/entrypoints/panel/src/visible/window-video.d.ts +17 -0
- package/entrypoints/panel/src/visible/window-video.js +21 -0
- package/entrypoints/panel/src/visible/window.d.ts +99 -0
- package/entrypoints/panel/src/visible/window.js +184 -0
- package/entrypoints/panel/src/words.d.ts +6 -0
- package/entrypoints/panel/src/words.js +8 -0
- package/package.json +561 -3
|
@@ -0,0 +1,895 @@
|
|
|
1
|
+
# @product-lab/cli
|
|
2
|
+
|
|
3
|
+
The `product-lab` command.
|
|
4
|
+
|
|
5
|
+
The generated minimal starter reference includes its PAPI 3 transaction creator bridge, pinned signer dependencies and the standalone SDK wrapper override. Its relative app imports are checked by `tests/kit-reference.test.ts`.
|
|
6
|
+
|
|
7
|
+
For the default native host, fetching a patch subset covered by the host lock selects
|
|
8
|
+
the complete locked patch set. A cache miss names the build command for that full set.
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
product-lab [dev] [--config lab.config.ts] [--environment configured-id] [--port 5202] [--scenario scenario-id]
|
|
12
|
+
product-lab check [--config lab.config.ts] [--environment configured-id] [--json]
|
|
13
|
+
product-lab [dev] [--browser | --headless] [--video <dir>] [--synthetic-media] [--cursor] [--cursor-speed <speed>] [--plain]
|
|
14
|
+
product-lab test [feature...] [--config lab.config.ts] [--cucumber <file>] [--tags <expr>] [--name <regex>]
|
|
15
|
+
[--environment <id>] [--report-dir <dir>] [--dry-run] [--negative-control]
|
|
16
|
+
[--rebuild-fixtures] [--rerun-failures <n>] [--race <runs> [--race-max-ms <ms>] [--race-seed <seed>]] [--video] [--update-baselines] [--root-calls] [--devices <names|lab>] [--own-lab]
|
|
17
|
+
product-lab test --mutate [feature...] [--tags <expr>] [--name <regex>] [--max <n>] [--plan] [--report-dir <dir>]
|
|
18
|
+
product-lab test --mode <name> [--base <ref>] [--changed <path>…] [--row <id>…] [--plan] [--report-dir <dir>] [--rebuild-fixtures] [--video]
|
|
19
|
+
product-lab test --suite pr|merge|nightly [--base <ref>] [--changed <path>…] [--row <id>…] [--plan] [--report-dir <dir>] [--rebuild-fixtures] [--video]
|
|
20
|
+
product-lab config [<group or key>] [--config lab.config.ts] [--json]
|
|
21
|
+
product-lab lint [--config lab.config.ts] [--environment <id>] [--strict] [--cucumber <file>] [--json]
|
|
22
|
+
product-lab coverage [--config lab.config.ts] [--cucumber <file>] [--controls] [--json]
|
|
23
|
+
product-lab what-if <feature> [--scenario <name>]... [--probe "<assertion>"]... [--environment <id>] [--report-dir <dir>] [--json]
|
|
24
|
+
product-lab explore [--seed <n>] [--samples <n>] [--steps <n>] [--actors <n>] [--budget <s>] [--environment <id>] [--fixture <name>] [--save <dir>] [--report-dir <dir>] [--json]
|
|
25
|
+
product-lab versions [update|pin|verify]
|
|
26
|
+
product-lab versions propose --from <suite-dir> --row <candidate-row> --control <control-row> [--write | --dry-run] [--body <file>] [--json]
|
|
27
|
+
product-lab env show [environment-id] [topology flags]
|
|
28
|
+
product-lab breakpoints [list] [<feature>] [--scenario <name>] | set <feature> --scenario <name> --step <n> | clear <feature> --scenario <name> [--step <n>] [--json]
|
|
29
|
+
product-lab fixture run <name> [feature...] [--no-sources] | save <name> [--fresh] | list | delete <name> [--config lab.config.ts] [--resave] [--json <file>]
|
|
30
|
+
product-lab fixture export <name> [--out <file>] [--part-size 1.9G] [--level 3] | inspect <index> | import <index> [--config lab.config.ts] [--json <file>]
|
|
31
|
+
product-lab host verify --host <id> --config <targets.ts>
|
|
32
|
+
product-lab host fetch|build [--host <kind>] [--config <tools.ts>] [adapter flags]
|
|
33
|
+
product-lab host rebase-check --to <ref> [--host <kind>] [--config <tools.ts>] [adapter flags] [--json]
|
|
34
|
+
product-lab init [--dir <path>] [--dev-server "<cmd>"] [--port <n>] [--ai] [--force]
|
|
35
|
+
product-lab ai init|doctor|sync
|
|
36
|
+
product-lab mcp [--config lab.config.ts] [--allow-public] [--runs-dir <dir>] [--cucumber <file>]
|
|
37
|
+
[--host-targets <module>] [--max-output-chars 20000] [--unprotected]
|
|
38
|
+
# inside this repository
|
|
39
|
+
bun run product-lab -- --config path/to/lab.config.ts
|
|
40
|
+
bun run product-lab -- check --config path/to/lab.config.ts
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
- `dev` (default): takes the `LabRuntime` that `src/main.ts` builds for the consumer's
|
|
44
|
+
`lab.config.ts` (`createLabRuntime`, `@product-lab/composition`), starts the selected environment through it
|
|
45
|
+
(`StartEnvironment`) and serves the panel with `@product-lab/shell` over the
|
|
46
|
+
same runtime. SIGINT, SIGTERM and SIGHUP (also while the environment starts) close the
|
|
47
|
+
server, the sessions, the services and the environment (`src/stop-signals.ts`). SIGHUP is the terminal going away
|
|
48
|
+
(its window closed): it stops the lab like Ctrl-C, and the gone terminal's read and write errors are ignored from
|
|
49
|
+
then on so they never end the stop half way (backlog 191; `tests/stop-signals.test.ts`, and `tests/visible.test.ts`:
|
|
50
|
+
after SIGHUP or SIGTERM the environment is closed and no process the lab started is left). Closing tries every part (window, panel server, runtime)
|
|
51
|
+
even when one fails; a failed stop is a `LabStopError` (`src/commands/dev.ts`) that keeps the failure that ended
|
|
52
|
+
the lab first. An interrupted command otherwise exits 0 quietly, but a failed stop is printed and exits 1: what
|
|
53
|
+
the lab started may still run (`tests/dev-stop.test.ts`).
|
|
54
|
+
- **One lab per configuration** (B1 step a): a second `bun run lab` (`dev`) of a lab whose window another process
|
|
55
|
+
already serves (`LabRuntime.runningLab()`, the record that window keeps in `.product-lab/running/<config name>`; one
|
|
56
|
+
per configuration, so another configuration in the folder starts and prints "Another lab (<name>, <window>) is also
|
|
57
|
+
running from this folder", `LabRuntime.otherLabsInFolder()`, `tests/running-record.test.ts`) starts nothing. With the
|
|
58
|
+
terminal app (B1 step e) it drives that window's lab instead (`src/main.ts` gives it a runtime that follows the record, read only after the flags are checked; `CliApp.besideWindow`):
|
|
59
|
+
Home, chains, people and runs are the window's (read again every half second), a run starts there, `k` says the keep
|
|
60
|
+
switch is the window's, and `q` leaves while the window keeps running (`tests/tui-attached.test.ts`); the window closing ends it, saying so:
|
|
61
|
+
"THE LAB WINDOW CLOSED", the lab it followed has ended, never "did not start" (`LabWindowClosed`, backlog 236,
|
|
62
|
+
`tests/tui.test.ts`). With plain lines it exits 1, in MCP `env_start`'s words (`besideRunningLab`): the window's address, its process, and to use that window
|
|
63
|
+
or stop it first (`tests/dev-running-lab.test.ts`). `--own-lab` (B1) keeps no record and is never refused for
|
|
64
|
+
one; with `--record <dir>` it keeps its record there instead (MCP's headless lab beside the window,
|
|
65
|
+
[the MCP README's Tools](../mcp/README.md#tools)). `product-lab mcp` gets the CLI's own command
|
|
66
|
+
(`labCommand`) to start those.
|
|
67
|
+
- **Later starts** (`followLaterStarts` in `src/commands/dev.ts`): after the first start, `dev` keeps listening, and
|
|
68
|
+
every later start of the running lab, a switch from the lab window, gets a checklist of its own like the first
|
|
69
|
+
start's: headed by the operation (`Switching to …`), from the new environment's first phase until
|
|
70
|
+
`Now running <environment>` or `Could not start <environment>: <error>`.
|
|
71
|
+
- **Start progress** (`src/start-progress.ts`, `StartProgressView`): while the environment starts, `dev` prints the
|
|
72
|
+
one-line stages an environment reports (`EnvironmentStartContext.progress`) and renders the phases it reports
|
|
73
|
+
through the progress port (`StartPhaseUpdate`, RuntimeEvent `environment-phase`) as a checklist. On a terminal
|
|
74
|
+
(`progressMode`: stdout is a TTY, `CI` unset, `TERM` not `dumb`) the list is redrawn in place: a spinner on each
|
|
75
|
+
active phase, ✓ for done or cached, ✗ for failed, the elapsed time, and a bar with a percentage only for a byte
|
|
76
|
+
count whose total is known; other output written meanwhile appears above the list, rows are cut to the terminal's
|
|
77
|
+
width, and `NO_COLOR` turns colours off. Anywhere else it prints one line per change of state, count, detail or
|
|
78
|
+
tenth of a known size (while a phase stays active, at most one such line per 5 s; its last line always prints), plus
|
|
79
|
+
a `(still running)` line for an active phase quiet for 60 s. A phase is shown done only
|
|
80
|
+
when its environment reported it done: a stopped or failed start marks what was active as failed and leaves
|
|
81
|
+
waiting phases waiting. When an environment reported phases, the lab window (or panel) is the last one. An
|
|
82
|
+
environment that reports none prints only its one-line stages.
|
|
83
|
+
- **Agents beside the lab** (`src/agents.ts`, `src/tui/agents-menu.ts`; _artifacts/design/one-lab-three-ways.md,
|
|
84
|
+
point 4): on Home, `a` lists Claude Code and Codex, each found on the PATH or greyed with the line that installs it,
|
|
85
|
+
and opens the one chosen in the lab's folder, where the generated MCP config (`.mcp.json`, the Codex config) attaches
|
|
86
|
+
it to the running lab. Where it opens (`besidePlan`, pure over the variables): a tmux split inside tmux (`TMUX`); else
|
|
87
|
+
a new tab or window of the same terminal app (`TERM_PROGRAM`: Apple Terminal and iTerm through `osascript`, WezTerm
|
|
88
|
+
through `wezterm cli spawn`, Ghostty; kitty by `KITTY_WINDOW_ID` through `kitty @ launch`); else here: the app pauses
|
|
89
|
+
(Ink's `suspendTerminal`: it leaves the alternate screen and raw mode), the agent runs on this terminal in the
|
|
90
|
+
terminal's foreground group (the `TerminalCommandRunner` port) with Ctrl-C its own (`holdInterrupts` in
|
|
91
|
+
`src/stop-signals.ts`), and the lab keeps running; when the agent exits the app draws again. A terminal app that
|
|
92
|
+
refuses to open one (`osascript` without the Automation permission) falls back to here. The window's Tools page gets
|
|
93
|
+
the same list (`agentsService`, `DevOptions.agents`, served as `ServeOptions.agents`). Tests: `tests/agents.test.ts`
|
|
94
|
+
(the PATH lookup, each plan, AppleScript quoting, the launcher over fake runners), `tests/tui.test.ts` (the menu,
|
|
95
|
+
greyed rows, `esc`), and `tests/tui-start-harness.ts` with `HARNESS_AGENTS=1` for a pty proof with a real agent
|
|
96
|
+
binary.
|
|
97
|
+
- **Terminal app** (backlog 182; `src/tui/`): in an interactive terminal, `dev` shows a full-screen app (Ink, React
|
|
98
|
+
for the terminal) instead of plain lines. It takes the terminal from the first moment, as Claude Code and Codex do
|
|
99
|
+
(lane "start in the app"): the CLI opens it (`openTerminalApp` in `src/tui/start.ts`) before the lab is read, so
|
|
100
|
+
nothing is printed under the shell's history; the start's checklist shows in its Starting screen
|
|
101
|
+
(`src/tui/starting.ts`, from the same `StartProgressView` phases and stages), with only `l` (the lab's lines) and `q`
|
|
102
|
+
(stops the start after asking). A kept chain whose day ended asks there whether to replace it (`DevOptions.ask` is
|
|
103
|
+
the session's `ask`: its lines, `y` replaces it, `n`, Enter or esc keeps it and the start fails with the
|
|
104
|
+
`--clean` words; plain lines in a terminal ask with readline). A start that fails (the chain-clock refusal, a port in use) shows inside with its
|
|
105
|
+
words until `q`; then the app leaves the alternate screen and the failure is printed once under the shell's history
|
|
106
|
+
(`insideTerminalApp` and `ShownFailure` in `src/commands/dev.ts`). Proof in a pty: `tests/tui-start-harness.ts`. Home shows the chains (best and final block, a chain with
|
|
107
|
+
no new block for a minute), the people (host, state) and the latest run step by step: each step's screen and chain
|
|
108
|
+
checks (where and at which block the chain was read), its time, why it failed and what the lab found it sent, and
|
|
109
|
+
what the run wrote. Keys open screens: `c` chains (which runs, the saved states with where each came from and where
|
|
110
|
+
it is stored; `s` switches, `x` resets, both ask first; "Keep chain and people between starts" in the window's words, `k`
|
|
111
|
+
turns it), `p` people (where each came from and when, whether they are
|
|
112
|
+
kept between starts as the window's switch says it, from `keepBetweenStarts`, and where; `n` makes one on a host you pick, hosts the lab does not declare greyed with the config line that turns them
|
|
113
|
+
on; `d` removes one after asking), `s` scenarios (every one with who it needs and where it runs, a live-network-only
|
|
114
|
+
one greyed with the command that runs it; `/` filters, `⏎` shows its steps, `r` runs it as the window's Run does,
|
|
115
|
+
asking first before a switch or the session's root calls; with the lab's own window open it goes through the
|
|
116
|
+
window's runner, so each person acts in their tile, `throughWindow` in `src/tui/start.ts`), `r` the run (`←` `→` through the session's runs), `h`
|
|
117
|
+
history (this session's runs and where recordings are kept), `g` config (what the lab's config turns on, the rest
|
|
118
|
+
greyed with the lines that turn it on, docs/feature-map.md; "Chain pace": fast or real time, with how long the chain's day
|
|
119
|
+
has left; the Chains screen says the same), `l` logs (the lab's own lines, then each log file the
|
|
120
|
+
environment reports, as MCP `tail_logs` finds them; `/` filters), `o` brings the lab window forward, `a` opens an
|
|
121
|
+
agent beside the lab (below), `?` help, `q`
|
|
122
|
+
stops the lab after asking (Ctrl-C at once), `esc` back to Home. It reads `LabRuntime.snapshot()` on every runtime
|
|
123
|
+
event and once a second, as the lab window reads it: no second source of truth; the words for people, writes and
|
|
124
|
+
where a scenario runs are the window's own (`@product-lab/shell/words`). What the lab prints while the app shows
|
|
125
|
+
goes to Logs, and is printed when the app closes so the scrollback keeps it. The app is the whole screen and never
|
|
126
|
+
more (lane E1): it draws on the alternate screen (the terminal's own lines come back when it closes, on a signal or
|
|
127
|
+
a crash too), fits the terminal's rows with the key bar at the bottom, cuts every line short of the last column and
|
|
128
|
+
never wraps, and on a resize clears the screen and draws again for the new size. The terminal's title says
|
|
129
|
+
"product-lab · <lab>" while it shows, the title before put back when it closes (lane E2). It takes the mouse while
|
|
130
|
+
it shows (lane tui-wheel, 8 October 2026; `src/tui/mouse.ts`): SGR mouse reporting (`ESC[?1000h ESC[?1006h`), so the
|
|
131
|
+
wheel scrolls the app, never the terminal's buffer behind the alternate screen (macOS Terminal showed the shell's old
|
|
132
|
+
lines above the app). A turn of the wheel is the screen's ↑ or ↓: a list's marker moves, Logs go back through their
|
|
133
|
+
lines and forward again, Home, Run, Help and the start's checklist move a line at a time (`src/tui/scroll.ts`); it
|
|
134
|
+
never answers a question. Ink drops every mouse report as a control sequence that names no key, so none is typed into
|
|
135
|
+
a screen; the wheel is read from the chunks Ink reads (`MouseCapture`). Reporting is off again when the app closes
|
|
136
|
+
(before Ink lets go of the input), at the process's exit (a crash too), and while an agent runs in this terminal.
|
|
137
|
+
Selecting text needs Option+drag in macOS Terminal (Shift+drag in most other terminals); Help says so. Pipes, `CI`, `TERM=dumb` and
|
|
138
|
+
`--plain` keep the plain lines (`terminalAppEnabled` in `src/lab-flags.ts`). Ink 8.0.0 and React 19.3.0 (the
|
|
139
|
+
panel's) are dependencies; Ink loads only when the app shows, and before the lab starts anything (`loadTerminalApp`
|
|
140
|
+
in `src/commands/dev.ts`, lane E3): a package that is not installed is said at once with `bun install`, and the lab
|
|
141
|
+
runs with plain lines instead of stopping once its chain, people and window are up. Render tests over fixed snapshots, with controls:
|
|
142
|
+
`tests/tui.test.ts` (ink-testing-library 4.0.0); the mouse in `tests/tui-wheel.test.ts` (the reports read and the
|
|
143
|
+
ones that are not the wheel, no report typed into a filter, the wheel on Logs, a list, a long Help, a question and an
|
|
144
|
+
agent run here, a crash in a child process, and the app's end, crash and SIGTERM in a pseudo-terminal through
|
|
145
|
+
`script`). `tests/tui-pty-harness.ts` runs the app over the same test doubles
|
|
146
|
+
for a real terminal (a pty), to read its screen with a terminal emulator; it is not a test of its own.
|
|
147
|
+
- **One lab journey** (`src/lab-flags.ts`): `dev`, every example's `bun run lab`, opens the lab in a
|
|
148
|
+
Playwright-controlled Chromium window (`@product-lab/shell/visible`) by default. There Run is **Watch** (drives
|
|
149
|
+
the real app inside its iframe, highlighted) or **Background** (headless through the actor sessions, as CI);
|
|
150
|
+
any other tab on the lab's URL runs in the background and says so. Closing the window stops the lab.
|
|
151
|
+
- `--browser`: open no window; the URL is for your own browser (runs there run in the background).
|
|
152
|
+
- `--headless`: run the lab window without showing it (CI, agents); Watch still drives its frames.
|
|
153
|
+
- `--video <dir>`: record the lab window.
|
|
154
|
+
- `--synthetic-media`: accepted so older commands still run, and changes nothing: since 22 October 2026 the managed Chromium window always uses a synthetic camera and microphone, so no app in it reaches the machine's own devices (a video call holding the camera cannot fail a run). Recordings label the feeds synthetic.
|
|
155
|
+
- `--cursor`: show mode; each identity gets a named cursor in its colour that glides to its target and ripples at the
|
|
156
|
+
click, never later than the highlight delay. It is on by default in the headed lab window (Settings turns it on or
|
|
157
|
+
off and keeps the choice); `--cursor` turns it on in a `--headless` one. `--cursor-speed
|
|
158
|
+
slow|normal|fast|<ms>` sets the glide (0 to 5000 ms, anything else is refused) and implies `--cursor`
|
|
159
|
+
([Identity cursors](../panel/README.md#identity-cursors)).
|
|
160
|
+
- `--visible`: the flag from before the window was the default; accepted for one release, means the default.
|
|
161
|
+
- `--no-hot-reload` / `--hot-reload` (backlog item 5): `dev`
|
|
162
|
+
watches each app's declared source (`apps.<id>.watch`) by default, off when `CI` is set (`hotReloadEnabled`);
|
|
163
|
+
a change reloads each running identity's app between its steps, keeping the environment, host sessions and
|
|
164
|
+
wallets, and prints what it did ("Notes reloaded (build 2, 0.9 s)", a restart path's "not reloaded: … Stop and
|
|
165
|
+
Start each identity", a failed build). Since backlog item 65 it also follows each app's dev server through the
|
|
166
|
+
lab's proxy, with or without a declared `watch`: an
|
|
167
|
+
update passes in place while nothing runs ("Notes updated in place by its dev server (build 4)") and is held
|
|
168
|
+
while a step runs. With `--no-hot-reload` (and under `CI`) no update reaches a page at all. `watchApps` in
|
|
169
|
+
`src/commands/dev.ts`; `startDev` watches only with `hotReload: true`. `tests/lab-flags.test.ts`.
|
|
170
|
+
- Refused before the lab loads: an unknown flag (exit 2, with the accepted list, `DEV_FLAGS`), and `--browser`
|
|
171
|
+
with `--headless`, `--video`, `--synthetic-media`, `--cursor`, `--cursor-speed` or `--visible` (exit 1, naming both).
|
|
172
|
+
`startDev(runtime, options)` (`@product-lab/cli/dev`) is the same path for in-process tests; there the window is
|
|
173
|
+
opt-in (`visible: true`), so existing callers keep a plain panel.
|
|
174
|
+
- `check`: validates `lab.config.ts` and prints, for every environment (or the
|
|
175
|
+
one named by `--environment`), which apps are available and exactly which
|
|
176
|
+
chain, service, capability or secret is missing otherwise. It starts nothing
|
|
177
|
+
and prints no secret values. `--json` prints the panel registry for one
|
|
178
|
+
environment (the default one unless `--environment` is given). The report is
|
|
179
|
+
`CheckLab`'s, the same MCP `check` returns.
|
|
180
|
+
|
|
181
|
+
- `breakpoints` (`src/breakpoints-command.ts`, backlog 17, 30 September 2026):
|
|
182
|
+
lists, sets and clears the lab's step breakpoints
|
|
183
|
+
(`LabRuntime.breakpoints()`), its local state in `<lab>/.product-lab/breakpoints.json`, never the feature file. Steps
|
|
184
|
+
are numbered from 1 with Background steps first, as the panel numbers them; `set` refuses a feature, scenario or step
|
|
185
|
+
that does not exist; `list` shows a breakpoint whose step changed since it was set as stale, with why. A feature run
|
|
186
|
+
in the lab panel (Watch or Background) or an MCP `run_scenario` with `inProcess` pauses before each one; `product-lab
|
|
187
|
+
test` runs Cucumber in its own process without the pause gate, so breakpoints never stop it. Starts nothing; usage
|
|
188
|
+
errors exit 2 before the lab loads (`tests/breakpoints-command.test.ts`).
|
|
189
|
+
|
|
190
|
+
- `fixture` (`src/fixture-command.ts`): scenarios that start from a saved state
|
|
191
|
+
(`defineLab({ fixtures })`). `run <name> [feature...]` starts the fixture's environment; a saved fixture whose key
|
|
192
|
+
is the one computed now is restored before the environment's identities first start (`LabRuntime.startFromFixture`,
|
|
193
|
+
since 30 September 2026: the start opens the sessions for the restore, then restores; `environmentStartMs` covers
|
|
194
|
+
both and `restoreMs` is the restore's own time), nothing saved runs the setup
|
|
195
|
+
feature in this process and saves the state when it passes (`SaveFixture`), and a saved fixture whose key differs is
|
|
196
|
+
refused with every reason, exit 1, nothing restored or run (`--resave` runs the setup again on the running state
|
|
197
|
+
and saves it). Then each feature runs in this process (`RunFeatures` `inProcess`) with its actors bound by name to
|
|
198
|
+
the fixture's identities. The environment stops at the end; `--json` writes the timings and results. `save`,
|
|
199
|
+
`list` (starts nothing) and `delete` manage them. A fixture saved from the running state in the lab (no setup) is
|
|
200
|
+
listed with that origin, restored by `run` when it fits and refused (never rebuilt) when stale or missing.
|
|
201
|
+
A fixture built on another (`from`, backlog 1f, 3 October 2026) restores that
|
|
202
|
+
fixture first and runs its setup on that state with its identities; the base must be saved and fit (else refused
|
|
203
|
+
with its reasons: save the base first). Restoring it restores it alone.
|
|
204
|
+
Every fixture command starts its environment keeping chain and people (backlog 183), `run` too since backlog 232
|
|
205
|
+
(8 October 2026): a fixture saved on a kept start keeps its people in the kept folder, and a run that kept nothing
|
|
206
|
+
refused its restore ("the session keeps its identities in no directory") or, on the relay-less `fast`, restored
|
|
207
|
+
nothing (a chain that is not kept saves nothing). A fixture saved before a reset of the Paseo copy is refused up front:
|
|
208
|
+
its people were kept with the old chain generation, and the words say to save it again with `--fresh`.
|
|
209
|
+
Since 30 September 2026 (backlogs 76 and 77):
|
|
210
|
+
- **A published bundle before the setup.** `run` with nothing saved first asks the lab's fixture sources
|
|
211
|
+
(`defineLab({ fixtureSources })`) for the newest published bundle that fits (same key: setup, lock, inputs,
|
|
212
|
+
runtimes; platform; not expired), downloads it while the environment starts without its first identities
|
|
213
|
+
(`startFromFixture({ importing: true })`), imports it and runs the features on it (`Imported <name> from <source>`,
|
|
214
|
+
`action: "imported"` in `--json`). When no bundle is used it prints why (`No published bundle is used:` and each
|
|
215
|
+
reason, then `The setup runs instead.`) and runs the setup as before; after a failed import the environment is
|
|
216
|
+
started again first. A bundle that was imported and then does not fit the running environment is an error, never
|
|
217
|
+
a silent setup; so is an import that failed after it began replacing the state (`FixtureImportIncompleteError`:
|
|
218
|
+
the environment may hold the bundle's identities, so the setup is not run on it; the message says to run the
|
|
219
|
+
command again or to build with `fixture save <name> --fresh`). `--no-sources` skips the sources.
|
|
220
|
+
- **A failed save can be retried.** Before a setup runs, a marker is written
|
|
221
|
+
(`<lab>/.product-lab/fixture-runs/<name>.setup-unsaved.json`, `src/fixture-setup-marker.ts`) and it is cleared when
|
|
222
|
+
the state is saved. A later `run` or `save` that finds the marker on the same state of the same environment
|
|
223
|
+
refuses before running anything: the setup already ran there and its state was never saved, so running it again
|
|
224
|
+
would run it twice on one chain. The refusal names the one command that cleans it: `fixture save <name> --fresh`,
|
|
225
|
+
which resets the environment (`LabRuntime.resetEnvironment`), runs the setup and saves. An environment that was
|
|
226
|
+
reset or started anew since (another provenance) is not refused. It starts the environment keeping its chain, as
|
|
227
|
+
every save does (a relay-less chain that is not kept saves nothing); the Paseo copy resets while it keeps (backlog
|
|
228
|
+
229). An environment with no reset at all (an attached fork, a workspace its config names) refuses `--fresh`
|
|
229
|
+
before the setup, with its own reason.
|
|
230
|
+
- **A setup never makes its people twice** (backlog 221, 8 October 2026). Before a setup runs (also with `--resave`),
|
|
231
|
+
a running state that already holds identities the saved record says its setup makes (`prepared`) is refused, by
|
|
232
|
+
name, with `fixture save <name> --fresh`; nothing runs. A base fixture's restore (`from`) and `--fresh` replace the
|
|
233
|
+
state first and are not refused. A record naming no `prepared` identities cannot tell; the save then refuses the
|
|
234
|
+
duplicate name before anything is saved (`SaveFixture`, backlog 222).
|
|
235
|
+
`tests/fixture-command.test.ts`.
|
|
236
|
+
Sharing (`src/fixture-sharing-command.ts`, 30 September 2026): `export <name>` writes the
|
|
237
|
+
saved fixture as a bundle (the index `--out`, default `./<name>.fixture.json`, and parts `<name>.fixture.tar.zst.001`,
|
|
238
|
+
… of at most `--part-size`, default 1.9G below GitHub's 2 GiB asset limit), starts nothing and prints the parts, their
|
|
239
|
+
sha256 and the test-key notice; `inspect <index>` says whether a bundle fits this checkout and machine (exit 1 with
|
|
240
|
+
every reason); `import <index>` refuses a bundle that does not fit before anything starts, otherwise starts the
|
|
241
|
+
fixture's environment, imports it (`LabRuntime.fixtureSharing().importFixture` with the session's confirmation),
|
|
242
|
+
prints the moved directories and what the environment moved, says whether the fixture now fits, and stops the
|
|
243
|
+
environment. Sources (`src/fixture-source-command.ts`, backlog 1g): `sources` lists the lab's fixture sources.
|
|
244
|
+
`pull <name> [--source <id>] [--download-only]` downloads the newest published bundle that fits into
|
|
245
|
+
`<PRODUCT_LAB_CACHE_DIR>/fixtures` while the fixture's environment starts, prints the attestation and why other
|
|
246
|
+
bundles were skipped, then imports it as `import` does (a refused download stops the environment again).
|
|
247
|
+
`push <name> [--source <id>]` exports and publishes to a directory source, or prints the `gh release upload` for
|
|
248
|
+
a release, with the notes that the release must exist and that a hand upload has no attestation; it never uploads.
|
|
249
|
+
`tests/fixture-sharing-command.test.ts`. Maintenance (`src/fixture-refresh-command.ts`, backlog 1i): `check` starts
|
|
250
|
+
nothing and exits 1 when a fixture is stale or missing (for a nightly job); since 3 October 2026 (backlog 1d) it gives
|
|
251
|
+
each fixture a cache key (`fixtureCacheKey`, `--json` `cacheKey`) for a CI cache (`tools/ci/fixture-cache.sh`). `refresh <name> [--rebuild]` leaves a
|
|
252
|
+
fixture that fits alone. It upgrades in place when the plan says so. Otherwise it rebuilds. Since 30 September
|
|
253
|
+
2026 a rebuild on an environment that offers a reset starts it as it is and resets it, so the chain and the session's
|
|
254
|
+
records begin together (setting the session directories aside on a resumed chain left records of identities the
|
|
255
|
+
directories no longer held: "Identity … changed account"). An environment without a reset, or one whose saved state
|
|
256
|
+
no longer starts, takes the older path: it sets the session directories aside, starts the environment fresh, runs the
|
|
257
|
+
setup, saves with `rebuilt` and deletes the set-aside directories; if the setup fails, it puts them back after the
|
|
258
|
+
stop. `tests/fixture-refresh-command.test.ts`. `dev`
|
|
259
|
+
(`bun run lab`) takes `--update-runtime` or `--refresh` for its first start (`LabRuntime.startEnvironment({ update })`);
|
|
260
|
+
an environment that does not list the update refuses before starting. `dev` also takes `--rpc <chain>=<url>`
|
|
261
|
+
(repeatable) and `--rpc-reason "…"` (3 October 2026): this start's RPC per chain for an environment that takes one
|
|
262
|
+
(`EnvironmentProvider.rpc`), over lab.config's and the lab window's remembered choice (`src/rpc-flags.ts`,
|
|
263
|
+
`LabRuntime.startEnvironment({ rpc })`). Refused before anything starts: a chain the environment does not take, a URL
|
|
264
|
+
with credentials (it belongs in lab.config.ts as a secret, `fromEnv`; no message names the value), and an endpoint
|
|
265
|
+
off this machine without a reason. The start line names each chain's RPC and where it came from; a secret's URL
|
|
266
|
+
shows as scheme://host or `[redacted]`. `tests/rpc-flags.test.ts` (fixture `tests/fixtures/rpc.lab.config.ts`).
|
|
267
|
+
`dev` takes `--option <id>` (backlog 184): one of the environment's options ("light"), remembered as the person's
|
|
268
|
+
choice for its next starts; without it the start runs the last choice, else the option this machine meets, and says
|
|
269
|
+
why. `check` refuses it (it starts nothing).
|
|
270
|
+
- Keep chain and people between starts (backlog 183, 6 October 2026): the interactive lab (`product-lab`,
|
|
271
|
+
`product-lab dev`) keeps them unless the switch is off, in the lab window or the terminal app's Chains screen (`k`;
|
|
272
|
+
both save the lab's `keepBetweenStarts` setting; `runtimeOptions` gives the runtime its `KeepPolicy`); with `CI` set, and for every other command, a start is clean unless asked. A kept chain that went stale (its clock ran past the wall clock's day at the fast pace) is refused; in a terminal the lab asks "Replace it with a new chain? The people kept with it are discarded. [y/N]" and y starts again with `replaceKept`; otherwise it says how to go on, naming `bun run <script> --clean` when started from a package script (`npm_lifecycle_event`), else `product-lab --clean` (`src/commands/chain-day-ended.ts`, `DevOptions.ask`). `dev --keep` or `--clean`
|
|
273
|
+
chooses for one start (refused together, and for `check`); the start line says what the start did and why
|
|
274
|
+
(`keepLine`). `dev --fixture <name>` (lane speed, 7 October 2026; `DevOptions.fixture`) starts from that saved fixture:
|
|
275
|
+
`LabRuntime.startFromFixture`, its chain and people restored as the environment starts, so the running state is
|
|
276
|
+
exactly the fixture (a scenario naming it is `kept`, an `@isolated` one saves no copy). A fixture that does not fit is
|
|
277
|
+
refused with its state and reasons, `Fixture <name> is <state> here, so the lab did not start from it: …`, and the lab
|
|
278
|
+
is stopped; never a plain start in its place. Refused with `--keep`, `--clean`, `--refresh`, `--update-runtime`,
|
|
279
|
+
`--option`, `--candidate`, `--rpc` and for `check` (`tests/dev-fixture.test.ts`). `product-lab test --keep` exports `PRODUCT_LAB_KEEP=1` to the run, whose lab keeps them; fixture and
|
|
280
|
+
what-if commands always keep (`keep: true`), since they save and restore state.
|
|
281
|
+
- `mcp`: serves the lab to AI agents over MCP on stdio (`@product-lab/mcp`; tools,
|
|
282
|
+
safety model and client registration in [the MCP server's README](../mcp/README.md)). stdout
|
|
283
|
+
belongs to the protocol; everything else goes to stderr.
|
|
284
|
+
- `test`: runs the lab's feature files through its own Cucumber configuration and step files
|
|
285
|
+
(`RunFeatures`, `src/test-command.ts`). B1 (d): with this lab's window open (its running-lab record), `src/main.ts`
|
|
286
|
+
gives `test` a runtime that follows it (`followRunningLab`), and the run goes to the window's lab: in its process, on
|
|
287
|
+
the environment it runs, with the bundled steps, so it shows there live while its output streams here and its report
|
|
288
|
+
is written as usual (`src/test-in-window.ts`). A flag that needs a lab of its own (`--workers`, `--race`, `--suite`,
|
|
289
|
+
`--devices`, `--mutate`, `--negative-control`, `--dry-run`, `--candidate`, `--cucumber`, `--keep`,
|
|
290
|
+
`--rebuild-fixtures`, `--rerun-failures`, `--root-calls`, `--video`, `--update-baselines`), a window with no
|
|
291
|
+
environment and another `--environment` are refused saying what to do; `--own-lab` runs a lab of its own as before
|
|
292
|
+
(`tests/test-in-window.test.ts`). Feature files must be the lab's (its `features` globs,
|
|
293
|
+
else every `.feature` under its directory); without any, the Cucumber configuration's own
|
|
294
|
+
selection runs. `--negative-control` asserts the run fails at exactly one scenario step, not a
|
|
295
|
+
hook, as its tags say (tag-only controls, 6 October 2026; [the scenario skill, "Negative controls"](ai-kit/skills/product-lab-scenario/SKILL.md#negative-controls)):
|
|
296
|
+
its scenario's last step (`@fails-at-step-N`: that one), from that step's own check and never for an infrastructure
|
|
297
|
+
reason (`@fails-with:<reason>`: that reason only; a refusal before the scenario ran counts only when it is named,
|
|
298
|
+
`unsupported-here` or `scenario-refused`). The tags are the only declaration: `--expect-step`/`--expect-marker` and
|
|
299
|
+
lab.config.ts `negativeControls` are gone and refused, saying so (config redesign, step 8). Under
|
|
300
|
+
the verdict the failure it judged: `<reason>: <message>`; a failure elsewhere or for another reason prints
|
|
301
|
+
`NOT a valid negative result: failed for another reason`. With no feature path, `--negative-control` runs every
|
|
302
|
+
tagged control (`every-control.ts`: a tagged feature whole, a tagged scenario alone as `path:line`,
|
|
303
|
+
`@runs-with:keep,rebuild-fixtures` adding those flags), one run each (`--report-dir <dir>/<control>`), and prints
|
|
304
|
+
`Negative controls: N of M failed as intended` with the ones that did not; exit code 0 only when each did. A control
|
|
305
|
+
whose scenarios do not run on the run's environment by their tags (`@environment:`, `@live-network`, `@root-calls`,
|
|
306
|
+
read from the listing's `runsOn`) is listed as not for it and never started; one whose steps were all skipped once
|
|
307
|
+
running (a condition such as `@policy-1` the chain does not meet) is judged `not-run`, `control <path>: not run here:
|
|
308
|
+
<why>; inconclusive`, and exits 3 (`NOT_RUN_EXIT`). Both are listed as `not run here (not passed)`, never counted as
|
|
309
|
+
passed; the whole run passes only when at least one control ran and every one that ran failed as intended. With
|
|
310
|
+
`--dry-run` it plans each control and judges none (`N of M planned (dry run: none judged)`): nothing failed, so a
|
|
311
|
+
judgement would read "passed". `--tags` and `--name` select controls before any runs (lane speed, 7 October 2026): a
|
|
312
|
+
control none of whose scenarios the selection picks (their tags, the feature's included; their names or Examples
|
|
313
|
+
rows' names) is listed as `not selected by --tags "…"`, never run, and neither counts nor fails the run; a selection
|
|
314
|
+
that picks no control runs nothing and exits 1 (`none selected by …`). One start for the controls (lane speed, 7 October 2026; `shared-controls.ts`): a
|
|
315
|
+
control with no flags of its own (no `@runs-with:`; the command's only `--config`, `--environment`, `--tags`, `--name`,
|
|
316
|
+
`--verbose`) runs in this process on an environment the command starts once (`Starting <environment> once for the controls`), as a run
|
|
317
|
+
in the lab window does, instead of in a run that starts and stops its own. Each still starts fresh: the environment
|
|
318
|
+
restarts before the next control when one left it changed (`leftChanged`: a step ran or a fixture was restored, and
|
|
319
|
+
no `@isolated` give-back put the start state back; `The last control changed the environment: restarting it`). A
|
|
320
|
+
control none of whose scenarios fits the chain is refused before it starts, `control <path>: not run here: Not for
|
|
321
|
+
this chain: …; inconclusive`, exit 3 as before, and costs no start. A control with flags of its own runs as before,
|
|
322
|
+
after the shared environment stopped; a dry run shares nothing. A control's run carries `PRODUCT_LAB_CONTROL_RUN=1`
|
|
323
|
+
(`CONTROL_RUN_VARIABLE`: in its Cucumber process's variables, and in this process while the shared environment runs;
|
|
324
|
+
not in a dry run), so a lab may bound the checks its controls fail more tightly and say so (Notes: `checkBound`).
|
|
325
|
+
(`tests/bundled.test.ts`: planted copies with a wrong reason, a wrong
|
|
326
|
+
step and no `@fails-with` are not valid; `tests/every-control.test.ts`). Exit code 0 when the run passed (a negative control: when it
|
|
327
|
+
failed as intended), 3 for a control none of whose steps ran here, 1 otherwise; a run in which no scenario ran fails. With `--report-dir` the
|
|
328
|
+
runner's own report is `<dir>/product-lab-test.json`; the default run directory is
|
|
329
|
+
`<config dir>/.product-lab/test/<run id>`. Every run also writes `junit.xml` and a
|
|
330
|
+
self-contained `report.html` (no script, no external resource; images embedded) beside it
|
|
331
|
+
(`src/reports/`). The report reads in about one screen per scenario (backlog 187): each step's JSON and text
|
|
332
|
+
attachments are closed under a one-line summary ("call trace: 1 call (notes.publish), 4 readings, 24 KB"), its
|
|
333
|
+
screen and chain readings stay open as one verdict line each ("✓ chain, Bulletin #24 (finalized): holds exactly that
|
|
334
|
+
text"; a failed one gives what was expected and what was found), errors and images stay open, and consecutive
|
|
335
|
+
passed hooks fold into one closed line ("2 hooks passed, 2 ms"); a failed hook stays open
|
|
336
|
+
(`tests/report-attachments.test.ts`).
|
|
337
|
+
A scenario tagged `@fixture:<name>` (on it, its Rule or its feature; backlogs 1b and 1c, 30 September 2026)
|
|
338
|
+
starts from that saved fixture: it is restored
|
|
339
|
+
before the scenario, so no scenario sees another's changes (`@fixture-shared` on a feature or Rule restores once for
|
|
340
|
+
its scenarios in a row), and the output lists each scenario's restore and its time. An undeclared fixture is refused
|
|
341
|
+
before anything starts; a missing or stale one refuses its scenario with every reason unless `--rebuild-fixtures`
|
|
342
|
+
(then its setup runs and is saved first, on a state nothing changed since the environment started). Without
|
|
343
|
+
`--environment`, a run whose fixtures all belong to one environment starts that one (`tests/test-fixtures.test.ts`).
|
|
344
|
+
`--rerun-failures <n>` (backlog 26, 3 October 2026):
|
|
345
|
+
after a failed run, each failed scenario is rerun up to n times (1 to 20) from the state it started on, through its
|
|
346
|
+
run bundle (`bundle`, then `reproduce --reruns`), and reported `flaky` (a rerun did not fail) or `failing` (every
|
|
347
|
+
rerun failed); one bundle per scenario keeps every run, and a scenario that cannot be rerun is named with why. The
|
|
348
|
+
exit code is unchanged: flaky never counts as passing (`src/rerun-failures.ts`, `tests/rerun-failures.test.ts`).
|
|
349
|
+
`--race <runs>` (backlog 32, 4 October 2026): race hunting. The selection runs once per seed
|
|
350
|
+
(1 to 100 runs, one at a time, each in `<report dir>/run-<n>-<seed>`; run 1 on `--race-seed`, else a random seed,
|
|
351
|
+
later runs on seeds drawn from it). Before each step an identity takes after another identity's, and before every
|
|
352
|
+
identity's step in a run-together group, the lab waits a time drawn from the scenario's seed, up to `--race-max-ms`
|
|
353
|
+
(default 300); one actor's steps never change order. The command passes only when every run passed, prints each
|
|
354
|
+
failing seed with the command that replays it (`--race 1 --race-seed <seed>`), and writes `product-lab-race.json`;
|
|
355
|
+
each recording keeps its seeds and waits, and `reproduce` applies them again. Refused with `--workers`, `--suite`,
|
|
356
|
+
`--negative-control`, `--dry-run`, `--rerun-failures` and `--mutate` (`tests/test-race.test.ts`). Since backlog 118
|
|
357
|
+
(5 October 2026) the runs are the runtime's own race loop,
|
|
358
|
+
the Tools page's (`LabRuntime.startTool` with the command's selection and folder, `src/tool-run.ts`); its seeds, waits,
|
|
359
|
+
printed lines and `product-lab-race.json` are pinned from the command's own loop before the move
|
|
360
|
+
(`tests/test-race-compat.test.ts`).
|
|
361
|
+
A scenario tagged `@isolated` (backlog 17h, 3 October 2026) gives the state back: it is saved before the scenario
|
|
362
|
+
and restored after it, so a saved local fork is left as the scenario found it; the output says
|
|
363
|
+
`Isolated scenario: the start state was saved|kept|recovered|restored …` with the time.
|
|
364
|
+
Cancellation before or during preparation refuses to start a feature run. If a handle
|
|
365
|
+
arrives after cancellation, the command sends SIGINT once and joins both completion
|
|
366
|
+
and its cleanup before returning.
|
|
367
|
+
- `test` prints a plain, readable run (backlog 186, 6 October 2026, `src/plain-output.ts`):
|
|
368
|
+
the versions line without paths; then the run's own lines, each marked by the run's process (`PLAIN_MARK`):
|
|
369
|
+
the start and end phases with their times, and each scenario as a group of steps, each with its time and its checks in
|
|
370
|
+
the lab window's words (`screen ✓ · chain ✓ Bulletin #28`). A failed step shows the lab's own message without a
|
|
371
|
+
stack. The lab's own console lines are counted and kept in `cucumber.log`; a run that failed outside its steps shows
|
|
372
|
+
their last 12. After the run come the result with its time, where it failed and the lab's answer (`explainFailure`),
|
|
373
|
+
the host check in the window's words (`@product-lab/shell/host-bypass-words`), the reports, the unchanged
|
|
374
|
+
`product-lab test <id>: …` line, a control's verdict, and last `Look at:` (the report, the scenario's recording, the
|
|
375
|
+
hosts' logs the failed run kept, backlog 192, the log). A failed step's error is said once, under the step;
|
|
376
|
+
`What the lab saw:` only when no step said it, with the reasons a refusal lists under its first line (at most three, then how many more). `--verbose` prints the run as before. With `GITHUB_ACTIONS=true` the run's process groups each phase and scenario (`::group::`)
|
|
377
|
+
and annotates a failed step on its line (`::error file=…,line=…`) (`tests/plain-output.test.ts`,
|
|
378
|
+
`tests/test-command.test.ts`). The same for every kind of run (186's leftovers, 6 October 2026):
|
|
379
|
+
- `--suite`: each row opens with `Row <id>: <n> scenario(s) on <environment>` (from `RunSuite`), then its run's own
|
|
380
|
+
lines, then the result with one line per row (`<row>: <status> (<reason>) in <time>`), the unchanged suite line
|
|
381
|
+
and `Look at:` (report, summary, the hosts' logs its failed rows kept).
|
|
382
|
+
- `--workers`: each worker's lines after `[worker <n>]`, without GitHub groups (the workers' lines interleave), an
|
|
383
|
+
annotation at the start of its line. Then the result, one line per worker (a failed step's error is not said
|
|
384
|
+
again), the unchanged workers line and `Look at:` (the record, each failed worker's run, the hosts' logs their
|
|
385
|
+
failed recordings kept).
|
|
386
|
+
- `--race`: each run's header, its own lines, its unchanged run line and its result in words. Then the race's
|
|
387
|
+
lines and `Look at:` (the race record, each failed run's report and the hosts' logs it kept).
|
|
388
|
+
- `test --root-calls` (4 October 2026): confirms this run's root calls (`PRODUCT_LAB_ROOT_CALLS=1` to the Cucumber
|
|
389
|
+
support, which calls `LabRuntime.allowRootCalls` with the session's confirmation). Only an environment whose lab
|
|
390
|
+
declares `rootCalls` has any; without the flag every root call is refused before anything is signed
|
|
391
|
+
([the domain README's `root-calls/`](../../core/domain/README.md#folders-and-exports)).
|
|
392
|
+
- `test --video` (backlog 52 and the headless half of 18b, 4 October 2026):
|
|
393
|
+
sets `PRODUCT_LAB_RECORDINGS_VIDEO=on` for the run (every row of a suite). Every browser the lab's sessions launch
|
|
394
|
+
records each page as video into the recordings directory's `videos/`, one file per page through its navigations;
|
|
395
|
+
each scenario's recording lists, in `capture.videos`, the videos of the pages its steps acted in and when each page
|
|
396
|
+
opened (the recording's own clock), so a step's place in a video is `step.startedAt - openedAt`. Videos are not
|
|
397
|
+
redacted: a value typed into a field, a secret included, can be seen in them. Not with `--workers` (refused).
|
|
398
|
+
- `load --action "<sentence>" (--actors <n> | --ramp <n,n,…>) [--each <k>]` (backlog 43, `src/load-command.ts`): many new
|
|
399
|
+
identities acting at once on the environment, measured from the load's recording (`LabRuntime.runLoad`): finalized
|
|
400
|
+
transactions per second, submission to inclusion and to finality (p50, p95, max; unknown times counted), failed steps
|
|
401
|
+
by error, peak concurrency, chain lag and machine load. A ramp runs one load after another and stops at the first
|
|
402
|
+
that did not complete. The machine guard stops a load starting steps (1.5 load per CPU, load 64, 2 GB free memory)
|
|
403
|
+
and says so; below 15 GB of free disk it does not start. `--max-p95-ms` and `--max-failures` make it a check.
|
|
404
|
+
Record: `product-lab-load.json`. Exit 0 when every load completed and met its thresholds (`tests/load-command.test.ts`).
|
|
405
|
+
- `test --devices <names|lab>` (backlog 31c): the devices resolve first
|
|
406
|
+
(`LabRuntime.runDevices`: `"Pixel 7,Desktop"`, or `lab` for `defineLab({ devices })`; an unknown or repeated name
|
|
407
|
+
refuses the command, with the nearest names, before anything runs); then the same plain run once per device, one after
|
|
408
|
+
the other, each with `PRODUCT_LAB_DEVICE` (every identity's app emulates the device; visual baselines are the
|
|
409
|
+
device's own) and, with `--report-dir`, its own `<report dir>/<device>`. A line per device and a summary are printed;
|
|
410
|
+
the command passes only when every device passed. Not with `--suite`, `--workers`, `--mutate`, `--negative-control`, `--race`
|
|
411
|
+
or `--rerun-failures` (refused). `tests/test-devices.test.ts`.
|
|
412
|
+
- `test --update-baselines` (backlog 40): sets
|
|
413
|
+
`PRODUCT_LAB_BASELINES=update` for the run, so each step's visual check (`@visual`, or the lab's `checks.visual.all`)
|
|
414
|
+
replaces its baseline beside the feature with this run's screenshot. Without it a missing baseline is written and an
|
|
415
|
+
existing one compared; CI sets `PRODUCT_LAB_BASELINES=strict`, where a missing baseline fails the step. Not with
|
|
416
|
+
`--suite`, `--workers`, `--negative-control` or `--mutate` (refused). `tests/test-baselines.test.ts`.
|
|
417
|
+
- `dev` with `PRODUCT_LAB_RECORDINGS_VIDEO=on` (backlog 18b, the window half, 4 October 2026):
|
|
418
|
+
the lab window and each detached identity window record into the recordings' `videos/` (`RecordingListing.videos`),
|
|
419
|
+
and the recordings of the window's runs name them: the lab window's one video for no identity (`lab-window`), a
|
|
420
|
+
detached window's for its identity (`detached-window`). `--video <dir>` still records the lab window where it says,
|
|
421
|
+
never named; a recording then says why. Background runs keep the actors' own pages (`test --video` above).
|
|
422
|
+
- `test --mutate [feature…]` (backlog 38, test the tests, 4 October 2026):
|
|
423
|
+
changes one expectation on purpose and the scenario must fail at that step (`src/mutate-command.ts`; since backlog 118
|
|
424
|
+
the mutants run in the runtime's own test-the-tests loop, the Tools page's, through `LabRuntime.startTool`). The runtime
|
|
425
|
+
plans the mutants (`LabRuntime.mutationPlan`): one per positive assertion step, its first literal value changed (a
|
|
426
|
+
string gets " (changed by product-lab)", an int 1 more); absence checks ("do not include", "at most"), earlier
|
|
427
|
+
steps' outputs, step groups, custom steps, outlines and negative controls are not changed, each with why, and a
|
|
428
|
+
scenario with nothing to change says so. Each mutant is a copy of its feature file with only that line changed, in
|
|
429
|
+
`<lab>/.product-lab/mutants/<run>/<n>/`, run as a negative control of that scenario expecting the changed step:
|
|
430
|
+
killed (it failed there), survived (it passed: the assertion never checked the value; exit 1) or inconclusive (it
|
|
431
|
+
failed elsewhere or did not run, with why). `--plan` lists the mutants and starts nothing; `--max <n>` runs the first
|
|
432
|
+
n and counts the rest as not run; `--tags`, `--name`, `--environment` and `--cucumber` select as usual; the report is
|
|
433
|
+
`mutations.md` and `mutations.json` in `--report-dir` (default the run's mutants folder). Not with `--suite`,
|
|
434
|
+
`--workers`, `--negative-control`, `--rerun-failures`, `--dry-run` or `--rebuild-fixtures`. Test:
|
|
435
|
+
`tests/mutate-command.test.ts`.
|
|
436
|
+
- `test --workers <n> <feature…>` (backlog 34): the given feature files shared out among n workers that run at
|
|
437
|
+
once through `LabRuntime.runWorkers`, each with the variables the lab declares for its ports, state and caches
|
|
438
|
+
(`defineLab({ workers })`); each worker's output prefixed `[worker <i>]`, one line per worker at the end, the record
|
|
439
|
+
in `<report dir>/product-lab-workers.json` (default `.product-lab/test/workers-<time>`). Exit 0 only when every
|
|
440
|
+
worker passed and no two reached the same address. Refused with `--suite` or `--negative-control`.
|
|
441
|
+
- `test --mode <name>` (config redesign, 6 October 2026): runs one of the lab's modes (`defineLab({ modes })`) as a
|
|
442
|
+
suite of its name, with the same options, output and reports as `--suite` (the record's `plan.mode` is true): one
|
|
443
|
+
row per combination of its environments, hosts, versions and devices (named by what varies; one combination is
|
|
444
|
+
one row named after the mode; `versions` takes `locked`, `latest`, `runtime-latest` and `hosts-latest`, the last two
|
|
445
|
+
moving only the runtimes or only the row's host), its tags, `onlyAffected` (changes to feature files only select
|
|
446
|
+
those files; with the mode's `scopes`, `{ glob: tags }`, a change under a glob selects its tag; any other code runs
|
|
447
|
+
everything; documentation nothing), `workers` (rows at once, each with the lab's variables for its
|
|
448
|
+
slot; one combination shared out by feature file) and `budget`. Never runs an old suite of that name; not with
|
|
449
|
+
`--suite` (`tests/suite-command.test.ts`, the fixture's `smoke`, `hosts`, `isolate` and `scoped` modes).
|
|
450
|
+
- `test --suite pr|merge|nightly` (Phase 7): runs one of the lab's suites (`defineLab({ suites })`)
|
|
451
|
+
through `LabRuntime.runSuite`: `pr` (the affected scenarios of its tags, from `git diff` against
|
|
452
|
+
the merge base of `--base`, default `$PRODUCT_LAB_BASE` else `main`, plus uncommitted and untracked
|
|
453
|
+
files, or `--changed` paths; locked; within its budget), `merge` (every non-manual scenario,
|
|
454
|
+
locked), `nightly` (its matrix rows). `--plan` prints the rows and exits (1 when nothing would
|
|
455
|
+
run). Writes `product-lab-suite.json`, `junit.xml`, `report.html` and `summary.md` in the report
|
|
456
|
+
directory, each row's run in `<dir>/<row>`. Exit 0 only when the suite passed: a suite that selects
|
|
457
|
+
nothing fails and says why; unsupported rows are JUnit `<skipped>` and never count as passing
|
|
458
|
+
(`tests/suite-command.test.ts`, fixture `tests/fixtures/suite-lab`). The record's `counts` and
|
|
459
|
+
`timings` (rows by status; scenarios planned, executed, passed, failed, skipped, unsupported and not
|
|
460
|
+
reported; checkpoints; per row version resolution, run, each environment start with `cold`, `warm`
|
|
461
|
+
or `attached` as the environment declares it, reported step time and row total; planning, critical
|
|
462
|
+
path and total) appear in the HTML report (with each row's resolved combination), as JUnit
|
|
463
|
+
`<properties>` (`product-lab.*`) and in the Markdown summary (`src/reports/markdown.ts`,
|
|
464
|
+
`metrics-text.ts`). Nothing is estimated: a value the record lacks reads "not measured"
|
|
465
|
+
(`tests/suite-reports.test.ts`, with negative controls).
|
|
466
|
+
|
|
467
|
+
`src/main.ts` (`cliRuntime`, `main`) is the process entry, the only file of this package that
|
|
468
|
+
imports `@product-lab/composition`. `product-lab mcp` builds no runtime here: `main` runs it (`src/mcp-command.ts`,
|
|
469
|
+
with the AI kit and release notices of `src/startup-notices.ts`) with only `@product-lab/composition/process`, so the
|
|
470
|
+
server answers its client before anything else loads (`entrypoints/mcp/README.md`, "Start"); the composition root
|
|
471
|
+
and `CliApp` load for every other command. `cliRuntime` resolves with the runtime. `main` builds one `LabRuntime` per invocation through
|
|
472
|
+
`createLabRuntime`, from what the command line names (the lab, and whether it only inspects), and
|
|
473
|
+
passes it to `CliApp` (`src/cli-app.ts`) with the composition root's `SyncCommandRunner` for bounded Git, tool and AI guard checks and `StdioWorker` for the MCP fd-3 worker. CLI source never starts a child directly. The
|
|
474
|
+
CLI's runtime starts non-local environments too (the MCP server's does only with
|
|
475
|
+
`--allow-public`). Both configuration shapes are accepted:
|
|
476
|
+
|
|
477
|
+
- declarative `defineLab({ environments: {…}, apps: {…}, secrets, features, sessions })`
|
|
478
|
+
(see [`@product-lab/core`](../../core/lab/README.md#declarative-labs-phase-1)): validated and
|
|
479
|
+
compiled on load, relative paths resolved against the config's directory,
|
|
480
|
+
`--environment` selects a key of `environments` (default `defaultEnvironment`,
|
|
481
|
+
else the first);
|
|
482
|
+
- legacy `defineLab({ name, start, environments?: [...] })`: unchanged.
|
|
483
|
+
|
|
484
|
+
`product-lab host verify|fetch|build|rebase-check` (`src/host-command.ts`, `product-lab host --help`):
|
|
485
|
+
`verify` runs the host conformance kit (`--only <ids>` narrows it) against a targets module
|
|
486
|
+
(`--config <targets.ts>`), on the lab's environment with `--environment <name>` (its chains handed to the targets;
|
|
487
|
+
started for the run and stopped after when none runs; a public network refused); `fetch` downloads and verifies an official truAPI CLI release or finds a
|
|
488
|
+
patched host in the cache; `build` builds a patched host locally; `rebase-check --to <ref>` checks
|
|
489
|
+
whether the adapter's patches still apply to another upstream commit without building, and exits
|
|
490
|
+
with the adapter's code (0 applies, with any 3-way apply flagged "needs refresh"; 1 a conflict or
|
|
491
|
+
skipped patch; 2 invalid input; the truAPI CLI's is described in
|
|
492
|
+
[its README](../../adapters/host/truapi-cli/README.md#patch-rebase-check-product-lab-host-rebase-check-audit-g3-and-g4)).
|
|
493
|
+
`build`, `rebase-check` and `fetch --patches` are for working on product-lab, in its checkout: in a product (an
|
|
494
|
+
installed `@parity/product-lab`, `src/checkout.ts`) they exit 2 before anything loads, saying that a product runs
|
|
495
|
+
released hosts only (`PRODUCT_HOST_TOOLS_REFUSAL`; `tests/product-hosts.test.ts`).
|
|
496
|
+
`fetch`/`build`/`rebase-check` default to the
|
|
497
|
+
host adapters the composition root constructs (`HOST_TOOL_KINDS` in `@product-lab/composition`,
|
|
498
|
+
today `truapi-cli`, the default, and `dotli`), or `--config <tools.ts>` for a tools module of a consumer's own, so the CLI
|
|
499
|
+
keeps no dependency on an adapter. Each host adapter factory's own flags and, for `fetch`/`build`/`rebase-check`,
|
|
500
|
+
its `requiredFor` flags (exit code 2 when missing) come from that module.
|
|
501
|
+
|
|
502
|
+
`product-lab env show [environment-id]` (`src/env-command.ts`, `@product-lab/cli/env`) resolves and
|
|
503
|
+
prints a lab's topology; it needs a lab (`--config <lab.config.ts>`, or `./lab.config.ts`), because
|
|
504
|
+
its profiles and adapter flags come from the lab's registered environment adapters
|
|
505
|
+
(`defineLab({ environmentAdapters })` for the stock ones, `environmentFactories` for its own);
|
|
506
|
+
`env show --help --config <lab.config.ts>` lists them. It is also described by `product-lab env
|
|
507
|
+
--help`. The command parses the flags and layers them over the declared options; the report (text,
|
|
508
|
+
`--json` manifest, what cannot start) is `ShowEnvironment`'s, the same as MCP `env_show`, with
|
|
509
|
+
sensitive customizations redacted, and `--manifest` writes that redacted manifest (private,
|
|
510
|
+
atomic).
|
|
511
|
+
|
|
512
|
+
`product-lab init [--dir <path>] [--dev-server "<cmd>"] [--port <n>] [--ai] [--force]` (backlog 94, `src/init-command.ts`)
|
|
513
|
+
sets the lab up in an existing app's repository and starts nothing. From package.json it reads the name and the dev
|
|
514
|
+
script (`dev`, else `start`), run by the package manager its lockfile names, at the port its tool uses (Vite 5173, Next
|
|
515
|
+
3000, else `--port`). A Vite script runs with `--host 127.0.0.1 --port <port> --strictPort` added on the lab's
|
|
516
|
+
command line where the script does not name them: Vite listens on `localhost`, which is `::1` alone on some machines,
|
|
517
|
+
while the lab reaches the app on 127.0.0.1 (found by the live proof of 4 October 2026). It writes the new layout (config redesign, 7 October 2026): `lab.config.ts` with only what is about the app (`app:
|
|
518
|
+
{ label, steps, chains: ["people"], devServer }`, the chains and the settings marked TODO; the lab works out the
|
|
519
|
+
environments, hosts, ports, readiness and funding), `lab/steps/<id>.ts` (`defineSteps`: one action, `{actor} opens the
|
|
520
|
+
app`, and one assertion, `{actor} sees the app on screen`, wired to a test id the team names: TODO comments; an empty
|
|
521
|
+
screen fails with the reason `screen-mismatch`), `lab/features/first.feature` (a new actor opens the app and sees it), `lab.lock.json` (examples/minimal's pinned polkadot-omni-node and People
|
|
522
|
+
runtime, `src/init-lock.ts`), and adds lines to `.env.example` and `.gitignore` (`.product-lab/`) and the scripts `lab`
|
|
523
|
+
and `lab:test` to package.json. The config's `defaultHost` is decided when `init` runs, from the truAPI CLI host's lock
|
|
524
|
+
(16 October 2026; `src/cli-host-release.ts`, read through the runtime's `host fetch --list`, nothing downloaded):
|
|
525
|
+
`"truapi-cli"` when the locked official release provides `localNetwork` (takes the lab's local endpoints), else
|
|
526
|
+
`"truapi-wasm"`, the released truAPI WASM test host the package installs. The current 0.26.0 lock provides
|
|
527
|
+
`localNetwork` and `navigationEvents`, so `init` writes `"truapi-cli"`. With an older lock lacking local routing,
|
|
528
|
+
the config names the upstream change a local environment waits for. A release that cannot be read gives the WASM test host. The
|
|
529
|
+
summary prints the default host; neither the config, the next steps nor `.env.example` mentions building a host. The generated files import the published package's subpaths (`@parity/product-lab`, `/composition`, `/browser-playwright`, `/ports/browser`: the packer's
|
|
530
|
+
`umbrellaSubpath`). A file that exists, or a script of
|
|
531
|
+
the same name with another command, is never overwritten without `--force`: the command lists them, writes nothing and
|
|
532
|
+
exits 1. The “Next” installation, fetch, config and script commands use the same lockfile-based package manager
|
|
533
|
+
as the dev server (the nearest lockfile in the app or an ancestor: bun.lock or bun.lockb, pnpm-lock.yaml, yarn.lock, otherwise npm), including with an explicit
|
|
534
|
+
`--dev-server`. `--ai` also runs `ai init`. Bad flags exit 2 before anything is read or written. Tests:
|
|
535
|
+
`tests/init-command.test.ts` (manager-specific next steps, explicit dev server, ancestor workspace lockfile; a Vite app's files and scripts, the config holding only the app (planted control: an `environments` line fails it); a second run refused with nothing changed; bad flags;
|
|
536
|
+
the pinned lock equal to examples/minimal's; the generated lab typechecked and accepted by `product-lab lint` against
|
|
537
|
+
the consumer subpaths, served from the workspace sources, with a type error and an unknown step as negative controls).
|
|
538
|
+
|
|
539
|
+
`product-lab ai init|doctor|sync` installs and checks the AI kit for Claude Code
|
|
540
|
+
and Codex (`src/ai/`, kit content in `ai-kit/`, which ships with the package);
|
|
541
|
+
see [the package README, "With an AI assistant"](../../README.md#with-an-ai-assistant). Every other command reads the installed kit's record
|
|
542
|
+
(`.product-lab-ai.json`, from the working directory up to the repository root; `src/ai/status.ts`) and, when it is
|
|
543
|
+
from another version or has other content, prints one line on stderr naming both versions and `npx --no-install product-lab ai
|
|
544
|
+
init`; `product-lab mcp` passes the same status to the server (`aiKit`, [the MCP README's Tools](../mcp/README.md#tools)).
|
|
545
|
+
A missing or broken record says nothing (`ai doctor` reports it). The package's kit is loaded only once a record is
|
|
546
|
+
found: inside this workspace loading it renders the references from `examples/notes` and `examples/minimal`, which
|
|
547
|
+
every command (and every project whose tests start the CLI) would otherwise read. Tests: `tests/ai-status.test.ts`
|
|
548
|
+
(the CLI line in a subprocess; no record, no load, with a record as its control).
|
|
549
|
+
|
|
550
|
+
Version notices and `product-lab upgrade` (2 October 2026):
|
|
551
|
+
`src/release/notices.ts` (`ReleaseNotices`) keeps, in `release-check.json` in the shared cache, the version each
|
|
552
|
+
repository last used, the registry's dist-tags (asked at most once a day by `dev`, `test`, `fixture` and `mcp`, 3 s,
|
|
553
|
+
`npm_config_registry` or npmjs) and the last version announced. Every command except `ai`, `upgrade` and `mcp` prints
|
|
554
|
+
on stderr what is new since the repository's last used version (from the `CHANGELOG.md` the package ships; breaking
|
|
555
|
+
changes first) and, on a terminal and at most once a day, a newer version; `--json`, `--help` and `--version` print
|
|
556
|
+
none. `dev` passes the notice to the lab window, `mcp` to the server (`release` in the instructions and
|
|
557
|
+
`lab_describe`). `CliApp.run` stops the check when the command is done (`ReleaseNotices.stop()`): the request is
|
|
558
|
+
abandoned and its claim given back, so a slow registry never holds a finished command. Off in CI (`inCi`: `CI` or
|
|
559
|
+
`CONTINUOUS_INTEGRATION` not `0`/`false`, or `BUILD_NUMBER` or `RUN_ID` set; an explicit `CI=false` wins), and for any package but `@parity/product-lab` (the workspace's own CLI never checks);
|
|
560
|
+
`PRODUCT_LAB_NO_UPDATE_CHECK` or `NO_UPDATE_NOTIFIER` turn the registry check off. `src/release/upgrade-command.ts`
|
|
561
|
+
(`product-lab upgrade [--to <version|tag>] [--dry-run] [--force]`) installs another version with the project's
|
|
562
|
+
package manager in the `package.json` that declares it, refuses a dirty git tree without `--force`, then runs the new
|
|
563
|
+
version's `ai init` and `fetch` (through the `SyncCommandRunner` port) and prints what is new. A failed pnpm install
|
|
564
|
+
that pnpm's `minimumReleaseAge` explains (`pnpm config get`, the registry's publish time) is named, with when the
|
|
565
|
+
version can be installed and the commands to finish by hand.
|
|
566
|
+
The same daily check reads `productLab.minimumVersion` from the `latest` manifest: below it every command but
|
|
567
|
+
`upgrade` and `ai` refuses to run, naming `npx --no-install product-lab upgrade` (`PRODUCT_LAB_ALLOW_BELOW_MINIMUM=1` runs it
|
|
568
|
+
anyway). An installed version follows its channel's tag: `latest`, `next`, `canary` or `dev`.
|
|
569
|
+
Tests: `tests/release-notices.test.ts` (the package, the registry and the commands are doubles) and
|
|
570
|
+
`tests/release-exit.test.ts` (a child process against a registry that never answers; its control is never stopped).
|
|
571
|
+
|
|
572
|
+
`product-lab test [feature...]` (`src/test-command.ts`, refactor step 8) runs a lab's feature files through
|
|
573
|
+
`RunFeatures` over the `FeatureRunner` port: with a Cucumber configuration next to `lab.config.ts`, that
|
|
574
|
+
configuration and its step files; without one (Phase 4, the bundled run), product-lab's own Cucumber, steps
|
|
575
|
+
generated from the lab's registered sentences and the `step()` files its `steps` globs list, every feature not
|
|
576
|
+
tagged `@negative-control` by default. `--negative-control` requires failure at one expected step. A lab that
|
|
577
|
+
resolves a second copy of `@cucumber/cucumber` is refused. `tests/bundled.test.ts` runs a bundled lab end to end
|
|
578
|
+
(fixture `tests/fixtures/bundled-lab/`: generated and custom steps, a malformed table and a wrong count as
|
|
579
|
+
controls, a duplicate Cucumber refused). Scenario conditions (28 September 2026): the run's Cucumber, once its
|
|
580
|
+
environment runs, skips every scenario with a tag that does not fit it (the lab's integrations' `scenarioConditions`),
|
|
581
|
+
printing one line per such tag with the reason (`[product-lab] Not for this chain: <reason> (@tag); its scenarios
|
|
582
|
+
are skipped`); the summary counts them (`4 scenario(s) (1 passed, 3 skipped)`), and a run in which every selected
|
|
583
|
+
scenario was skipped ran nothing and exits 1 ("No scenario ran: every selected scenario was skipped …").
|
|
584
|
+
`tests/scenario-conditions.test.ts` (fixture `tests/fixtures/conditions-lab/`). The environment starts inside the
|
|
585
|
+
run, so the conditions cannot be read before it starts: the scenarios are skipped, not left out of the selection.
|
|
586
|
+
|
|
587
|
+
- `versions [--available] [--json]`, `versions update [<component>…] [--to <selector>]`,
|
|
588
|
+
`versions pin <component> <version>`, `versions verify` (`src/versions-command.ts`): the lab's
|
|
589
|
+
version selectors (`defineLab({ versions: { policy } })`) against `lab.lock.json`, through the
|
|
590
|
+
`LabRuntime` versions methods.
|
|
591
|
+
`update` and `pin` write the lock all or nothing (exit 1 when a version does not resolve or the
|
|
592
|
+
lock changed meanwhile); `pin` refuses `latest-release`, `deployed` and `locked` with the
|
|
593
|
+
`versions update --to` command to use; `verify` exits 0 (verified), 1 (failed) or 2 (something
|
|
594
|
+
could not be fetched). A bare kind (`host`) names the lab's only component of that kind.
|
|
595
|
+
- `versions propose --from <suite-dir> --row <candidate-row> --control <control-row>` (G2, 29 September 2026;
|
|
596
|
+
`LabRuntime.proposeLock`, `ProposeLock` in `@product-lab/application`): a lock proposal from the sealed execution
|
|
597
|
+
receipts of one `product-lab test --suite <name> --report-dir <suite-dir>` run. The candidate row's exact
|
|
598
|
+
resolution (a moving selector as the artifact it resolved to in that run, never resolved again) replaces the lock's
|
|
599
|
+
entries for its candidates, provided a control row of the same run ran the current lock and both passed. A dry run
|
|
600
|
+
by default: it prints the change, the rows with their run ids and receipt digests, and (`--body <file>`) writes a
|
|
601
|
+
Markdown pull request body naming the rows, versions, digests and run ids. `--write` writes `lab.lock.json` with the
|
|
602
|
+
lock's compare-and-swap; a lock changed since the suite ran is refused (`stale-lock`), as is one changed during the
|
|
603
|
+
write (`lock-conflict`). Exit 0 proposed, 1 refused, printing the refusal's code (`--json`: the typed
|
|
604
|
+
`LockProposalReport`); codes include `unsupported`, `failed`, `dry-run`, `no-receipt`, `receipt-digest-mismatch`,
|
|
605
|
+
`resolution-digest-mismatch`, `report-digest-mismatch`, `cross-suite`, `row-mismatch`, `run-mismatch`,
|
|
606
|
+
`incomparable-rows` (the full list is `LOCK_PROPOSAL_REFUSALS` in `@product-lab/domain/versions`). It opens no pull
|
|
607
|
+
request: that stays a separate step a person authorises. The receipts are local consistency checks, not an
|
|
608
|
+
attestation against a hostile producer (whoever can write the whole suite directory can forge a consistent one).
|
|
609
|
+
`tests/versions-command.test.ts`.
|
|
610
|
+
- `--candidate <component>@<selector>` on `test` and `dev` (repeatable): versions resolve once at run
|
|
611
|
+
start, recorded as a run manifest whose path the run gets in `PRODUCT_LAB_VERSIONS_RESOLUTION`;
|
|
612
|
+
`lab.lock.json` is untouched. Split at the first `@` (`host:truapi-cli@git:host-rust-core@c7449d3a`).
|
|
613
|
+
|
|
614
|
+
`product-lab config [<group or key>] [--config] [--json]` (`src/config-command.ts`, config redesign, 6 October 2026)
|
|
615
|
+
prints the config as the lab runs it, starting nothing: `LabRuntime.registry().config` (the loader's resolved config,
|
|
616
|
+
`ResolvedLabConfig`), grouped and worded by `@product-lab/domain/lab/resolved-config` as the lab window's Config view
|
|
617
|
+
shows it (App, Environments, Hosts, Modes, Checks, Lab, Advanced). Each value says where it came from (`yours`: written
|
|
618
|
+
in lab.config.ts, with its line when known; `default`: the lab's rule, with why; `detected`: read from the product;
|
|
619
|
+
`advanced`: a definition field given under `advanced`), its key, the line that changes it and the other values it
|
|
620
|
+
takes. A group id or a key narrows it; `--json` prints the resolved config. A value from a secret shows its variable's
|
|
621
|
+
name only. Exit 1 when the lab gives no resolved config or the filter names nothing. Tests:
|
|
622
|
+
`tests/config-command.test.ts` (fake runtime; control: no config), `tests/config-command-lab.test.ts` (a product config
|
|
623
|
+
through `createLabRuntime`, a planted phrase never printed).
|
|
624
|
+
|
|
625
|
+
`product-lab lint [--config] [--environment <id>] [--strict] [--cucumber <file>] [--json]` (`src/lint-command.ts`,
|
|
626
|
+
Phase 4) checks a lab through `LabRuntime.lint` (`LintLab`) without starting anything: a lab that does not load (one
|
|
627
|
+
error per problem the loader lists, such as a step group listing a function), a second `@cucumber/cucumber`
|
|
628
|
+
installation or a step file that does not load, and every feature scenario's plan (one scenario per Examples row, the
|
|
629
|
+
Background first): missing or ambiguous sentences, malformed tables, actors not introduced, dangling references,
|
|
630
|
+
invalid literal inputs are errors; a block unavailable in an environment is an error for `--environment`, else a
|
|
631
|
+
warning per environment; custom `step()` definitions are warnings; a scenario tagged `@negative-control` only warns.
|
|
632
|
+
With the lab's own Cucumber configuration a step nothing matches may be hand-written: a warning unless `--strict`.
|
|
633
|
+
Since Phase 5 every declared UI module passes the client-bundle check the panel runs before serving it (rule
|
|
634
|
+
`client-bundle`): a module importing a package or a file outside its UI folder, or holding one of the lab's secret
|
|
635
|
+
values, is an error (the secret is never printed). Exit 1 on any error. `tests/lint.test.ts` (fixture `tests/fixtures/lint-lab/`, and `bundled-lab`) holds its
|
|
636
|
+
controls (`lab.ui.config.ts` and `ui/`: three UI modules that must fail the client-bundle check, one clean).
|
|
637
|
+
|
|
638
|
+
`product-lab coverage [--config] [--cucumber <file>] [--controls] [--json]` (`src/coverage-command.ts`, backlog 44)
|
|
639
|
+
reads `LabRuntime.coverage` (`CoverageLab`) from the same plan `lint` checks, without starting anything: every
|
|
640
|
+
registered sentence with the scenarios and steps that use it, counts per kind (the integrations' actions, assertions,
|
|
641
|
+
repeatable sentences, step groups and run-together groups first, then the framework's own), the integrations' unused
|
|
642
|
+
sentences apart from the framework's own (`lab.…`), and the steps no sentence matches. A step group or a repeat counts
|
|
643
|
+
for itself and for each sentence it expands into, once per step. `@negative-control` scenarios count only with
|
|
644
|
+
`--controls`. Exit 0 with a report, 1 when the lab does not load. `tests/coverage.test.ts` (fixture `bundled-lab`).
|
|
645
|
+
|
|
646
|
+
`product-lab explore` (`src/explore-command.ts`, backlog 39) starts the environment and calls `LabRuntime.explore`
|
|
647
|
+
(`ExploreLab`): seeded random samples of the lab's actions with every declared invariant checked after each step, the
|
|
648
|
+
first failure shrunk, written as Gherkin and confirmed ([the package README, "When a check fails"](../../README.md#when-a-check-fails)).
|
|
649
|
+
It writes `report.json` and `minimal.feature` to `<lab>/.product-lab/explore/<run>/` (or `--report-dir`); `--save <dir>`
|
|
650
|
+
saves the feature as `<dir>/explored-seed-<n>.feature` through the runtime (`LabRuntime.saveExploredScenario`, the same
|
|
651
|
+
save as the lab window's "Save as a feature"): `-2`, `-3` beside a file already there, refused outside the lab's
|
|
652
|
+
directory, and removed again (with a folder made for it) when the lab's features globs would not list it; a refusal
|
|
653
|
+
says why (on stderr with `--json`). Exit 0 no failure, 1 a failure (confirmed, flaky or blocked), 2 a
|
|
654
|
+
usage error. `tests/explore-command.test.ts` (fixture `explore-lab`: a planted fault, its fixed control, an action
|
|
655
|
+
declared `explore: false`).
|
|
656
|
+
|
|
657
|
+
`product-lab what-if <feature>` (`src/what-if-command.ts`, backlog 21) starts the environment and calls
|
|
658
|
+
`LabRuntime.whatIf` (`WhatIfLab`): the feature's Background once, each scenario or outline row from its saved state
|
|
659
|
+
([the package README, "Commands"](../../README.md#commands)). It prints and writes (`report.json`,
|
|
660
|
+
`report.md` under `<lab>/.product-lab/what-if/<run>/` or `--report-dir`) the trunk's one-time cost, each branch's
|
|
661
|
+
result, checks and times, the checks per branch and what differs. Exit 0 when every branch ran, 1 for a failed trunk, a
|
|
662
|
+
branch not planned or not run, or a refusal (an environment without save and restore says how to get one), 2 for a
|
|
663
|
+
usage error. `tests/what-if-command.test.ts` (the refusal on the in-memory `explore-lab`, the Markdown).
|
|
664
|
+
|
|
665
|
+
`product-lab --help` lists the command families; `dev --help` and `check --help`
|
|
666
|
+
show only the options their command uses. `dev --scenario` preselects a scenario
|
|
667
|
+
in the panel without starting it. `--headless`, `--video`, `--synthetic-media` and `--cursor` apply to the lab window, so not with `--browser`.
|
|
668
|
+
The implemented `fetch` and `doctor` commands are described under Locked setup artifacts below.
|
|
669
|
+
|
|
670
|
+
## Package
|
|
671
|
+
|
|
672
|
+
| | |
|
|
673
|
+
| --- | --- |
|
|
674
|
+
| Nx project | `cli` |
|
|
675
|
+
| Tags | `scope:core`, `layer:cli`, `type:driving` |
|
|
676
|
+
| Exports | `.` (`src/cli-app.ts`: `CliApp`, `runtimeOptions`), `./main` (`src/main.ts`: `main`, `cliRuntime` (resolves with the runtime), the process entry `bin/product-lab.mjs` imports), `./dev` (`src/commands/dev.ts`: `startDev`, `dev`, `LabStopError`; `DevOptions.terminalApp` shows the terminal app, `DevOptions.session` one the caller already opened, `insideTerminalApp` runs work with it on screen and shows a failure in it, `ShownFailure` is such a failure; `DevOptions.progress` takes a `StartProgressView`, `DevOptions.env` the variables; the flags' mode is `labWindowMode` in `src/lab-flags.ts`, not exported), `./env` (`src/env-command.ts`: `runEnvCommand`, `envUsage`, `overridesFromFlags`), `./test` (`src/test-command.ts`: `runTestCommand`), `./kit-reference` (`src/ai/kit-reference.ts`: `KIT_REFERENCES`, `writeKitReferences`, `referenceSources`, `PRODUCT_REWRITES`, `forProduct`, the renderers; the packer and the release check use it); bin `product-lab` (`bin/product-lab.mjs`; without installed dependencies it exits 1 naming `bun run setup`) |
|
|
677
|
+
| Depends on | `@product-lab/composition`, `@product-lab/domain`, `@product-lab/mcp`, `@product-lab/ports`, `@product-lab/shell`, `tsx`, `smol-toml`, `yaml`, `ink` 8.0.0 and `react` 19.3.0 (the terminal app), `@types/react` 19.3.0; dev/test only: `@product-lab/contract-host`, `@product-lab/core`, `@cucumber/cucumber`, `ink-testing-library` 4.0.0 |
|
|
678
|
+
| Used by | every example, `tools/verify`; `./kit-reference` by `tools/eval` (packing) and `tools/release` (the tarball check) |
|
|
679
|
+
| Never depends on | an adapter (`type:driving` may not depend on `type:adapter`): host tools and verification targets are loaded at run time from a path. The composition root constructs every adapter; only `src/main.ts` imports it, and no entry point source imports `@product-lab/application` |
|
|
680
|
+
|
|
681
|
+
Console redaction (backlog 89): `src/main.ts` sends every console line of the invocation through the runtime's
|
|
682
|
+
redactor (`redactConsole` from the composition root), so a lab or provider that prints a secret of the lab (a
|
|
683
|
+
`fromEnv` RPC URL with its token) shows it as `[redacted]`; a bundled `product-lab test` run's process does the same
|
|
684
|
+
(`featureRuntime`). `tests/secret-console.test.ts` (fixture `tests/fixtures/secret-console-lab`: the terminal and the
|
|
685
|
+
run's files) and `tests/rpc-flags.test.ts` (`dev` over `tests/fixtures/rpc.lab.config.ts`).
|
|
686
|
+
|
|
687
|
+
Environment variables: `src/main.ts` passes the process's (`NodeSystem.environment`, the `EnvironmentVariables` port)
|
|
688
|
+
to `CliApp` (its fourth argument), which hands them to the commands: `dev` (`DevOptions.env`: `CI`, `TERM`,
|
|
689
|
+
`NO_COLOR` for the progress view), `test --suite` (`runTestCommand`'s fifth argument: `PRODUCT_LAB_BASE`) and
|
|
690
|
+
`doctor` (`PRODUCT_LAB_HOST_BIN`). No file under `src/` reads `process.env`; a programmatic caller that passes no
|
|
691
|
+
variables gets every default (`src/environment.ts`, `tests/command-environment.test.ts`). Only
|
|
692
|
+
`bin/product-lab.mjs` reads `NODE_OPTIONS` itself, before anything loads, and in a terminal it sets `ESBUILD_BINARY_PATH`
|
|
693
|
+
and `PRODUCT_LAB_ESBUILD_BINARY` for tsx's own esbuild, then removes both before the CLI starts anything
|
|
694
|
+
(`bin/esbuild-session.mjs`, lane E2): tsx's esbuild service runs through `bin/esbuild-own-session.sh` (setsid, or perl's
|
|
695
|
+
`POSIX::setsid` on macOS) in a session of its own, so it is never the terminal's foreground process and the title
|
|
696
|
+
names the lab, not "esbuild". It has tsx transform one new file first, so the service starts then (about 0.2 s);
|
|
697
|
+
without a terminal, on Windows, with `ESBUILD_BINARY_PATH` already set, with a wrapper that cannot run (a lost mode) or without setsid or perl, nothing changes
|
|
698
|
+
(`tests/esbuild-session.test.ts`).
|
|
699
|
+
|
|
700
|
+
`ai-kit/` is the consumer AI kit's content (skills, subagents, the AGENTS.md section, the MCP
|
|
701
|
+
registration) that `product-lab ai init` installs; `src/ai/` renders it and, for this repository,
|
|
702
|
+
renders `ai/` (`ai sync`) and puts the consumer kit in every example lab (`src/ai/examples.ts`: what `ai init` installs,
|
|
703
|
+
its MCP server on the example's own lab from this repository's CLI, and an `AGENTS.md` that puts using product-lab
|
|
704
|
+
first). Every Codex MCP table it writes sets `startup_timeout_sec = 60`.
|
|
705
|
+
|
|
706
|
+
Tests: `bunx nx run cli:test` (`tests/run-tests.mjs`: every test file, or with `CLI_TEST_SHARD=<index>/<count>` one share of them, as CI's three CLI runners run them; `node tests/run-tests.mjs plan 3` prints the shares). The fixture labs share `tests/fixtures`, so each test file keeps its labs' running-lab record in a directory of its own (the preload `src/own-running-record.ts`, also the examples' as `@product-lab/cli/own-running-record`: `PRODUCT_LAB_RUNNING_DIR`); `tests/running-record.test.ts` shows the guard still refuses two labs of one folder without it. The lab journey: `tests/lab-flags.test.ts` (each flag's mode, the contradictions and
|
|
707
|
+
the unknown-flag message) and `tests/visible.test.ts` (the process: `--headless` starts only headless browser
|
|
708
|
+
processes, `--browser` starts none, HTTP runs are not refused, Watch over HTTP is, unknown and contradictory flags exit
|
|
709
|
+
before the lab loads). Typed decisions: `tests/typed-errors.test.ts`
|
|
710
|
+
(`host --help` with a missing `--config` module reads the domain's `MissingHostToolsError`, `lint` lists a
|
|
711
|
+
`LabConfigurationError`'s `problems`; a plain Error with the same message is not taken for either); an unknown
|
|
712
|
+
option's name comes from `src/parse-args-errors.ts` (`unknownOption`, the classifier of node:util `parseArgs`'s
|
|
713
|
+
error, listed in `ERROR_CLASSIFIERS`). `tests/partial-of.ts` gives the tests' partial doubles a checked type (`partialOf<T>`, one single
|
|
714
|
+
assertion) instead of double type assertions (q10-types).
|
|
715
|
+
|
|
716
|
+
## Locked setup artifacts
|
|
717
|
+
|
|
718
|
+
`product-lab fetch --config <lab>` fills the shared cache from the lab’s lock. `product-lab doctor --config <lab>` reports cached artifacts, the hosts and Playwright's full Chromium executable without starting a chain or browser.
|
|
719
|
+
The runtime's browser prerequisite port asks the selected launcher for the executable, revision and matching installer;
|
|
720
|
+
this entry point neither imports Playwright nor resolves its modules. Missing Chromium fails both text and JSON.
|
|
721
|
+
Checkout remediation is `bun run setup`; a consumer gets the adapter's quoted installer command with its exact Node/Playwright CLI paths and effective browser cache,
|
|
722
|
+
so another Playwright version in the app cannot select the wrong browser revision. An unavailable inspector fails
|
|
723
|
+
explicitly with a package/inspector remedy, kept outside any shell command chain. The checkout's “in your own repository” hint runs doctor there to obtain that repository's matching browser installer. This checks executable-file access, not whether the OS can launch it.
|
|
724
|
+
`tests/product-hosts.test.ts` covers the real isolated installation, empty browser cache, text/JSON and checkout hints.
|
|
725
|
+
|
|
726
|
+
In product-lab's checkout `doctor` also checks Bun and the patched truAPI CLI host, and its fix is `bun run setup`; in a product (`src/checkout.ts`: the package root's `package.json` is not the workspace's) it checks the truAPI WASM test host the package installs (`@parity/truapi-host`, found as Node finds it), reports the truAPI CLI host's locked official release (`host fetch --list`: the release, cached or not, what it provides, and whether it runs local environments or live networks only, with the upstream change it waits for; a note, never a failure: a session downloads it; `src/cli-host-release.ts`), needs no Bun, and names `npx --no-install product-lab fetch` for missing cached artifacts, combined with the matching browser installer when Chromium is missing (`tests/product-hosts.test.ts`).
|
|
727
|
+
|
|
728
|
+
Since 16 October 2026 `fetch` also prepares what the lab's environments need on this machine and never make themselves
|
|
729
|
+
(`LabRuntime.prepareEnvironmentTooling`; the environments declare it as `EnvironmentProvider.tooling`): the Engine
|
|
730
|
+
checkout a local copy of a network (`paseo-copy`, `previewnet-copy`) starts from, cloned, patched and built once in the
|
|
731
|
+
shared cache (`<cache>/engine`, the folder the saved forks read). Only the lab's default environment's tools and those of
|
|
732
|
+
each `--environment <id>` (repeatable; `all` for every one) are prepared and fail the fetch when missing; the others are
|
|
733
|
+
listed as notes with the command their first start names. That is a choice, not the simplest rule (prepare whatever the
|
|
734
|
+
config offers): a product's config offers `paseo-copy` by default, so every `fetch` (CI's included) would clone and build
|
|
735
|
+
Engine, about 900 MB and a few minutes, for labs that only run the local dev chain, and would fail on a machine without
|
|
736
|
+
Git or GitHub access. `--engine-repository <url|path>`, `--engine-ref <ref>` and `--no-engine-patch` (stock Engine,
|
|
737
|
+
recorded as such) name another Engine; given when no required environment starts from Engine, they are refused (exit 2)
|
|
738
|
+
rather than ignored. `--json` adds `environmentTooling` to the report and keeps Engine's build output off stdout.
|
|
739
|
+
`doctor` reports the same tools (`tooling:engine`), required for the default and each `--environment`, a note otherwise,
|
|
740
|
+
and in a product its fix names the environments (`npx --no-install product-lab fetch --environment paseo-copy`).
|
|
741
|
+
Since 27 October 2026 `doctor` also checks the Engine build the shared cache holds against the release this product-lab
|
|
742
|
+
pins (`cache:engine`; the composition root's runtime checks it with env-engine's `preparedEngine` as its own `cachedTooling`, off the `LabRuntime` port), whatever the lab declares and
|
|
743
|
+
whether or not it loads: a cache copied from one that held the retired patched Engine passed the doctor and refused at
|
|
744
|
+
environment start. Another build (the retired patch, another commit, an `--engine-ref` build, a missing or non-empty
|
|
745
|
+
patch digest, a record over a checkout that is not that build) names the build held and the pinned one. It fails where
|
|
746
|
+
the lab would start from it, as the `tooling:engine` line does: an Engine tool required by the default environment or an
|
|
747
|
+
`--environment`, and, in the product-lab checkout, a lab that declares no Engine tool (an example may start Engine
|
|
748
|
+
itself, undeclared). Elsewhere it is a note: a lab whose Engine environments are not asked for (the quick journey's), or
|
|
749
|
+
a product whose lab starts nothing from Engine. The fix: `bun run setup` in the checkout (it keeps a cache's Engine at
|
|
750
|
+
the pin with or without the private example submodule), else `npx --no-install product-lab fetch --environment <the
|
|
751
|
+
Engine environment>` (with `--config` when doctor had one).
|
|
752
|
+
Each also names the other way out: point `PRODUCT_LAB_CACHE_DIR` at a cache prepared for the pin. A cache holding no
|
|
753
|
+
Engine has no line, as before. Read-only: it reads `engine-build.json` and, for the pinned build, the checkout's HEAD (`tests/environment-tooling.test.ts`).
|
|
754
|
+
A fetch
|
|
755
|
+
whose lab does not load still fetches the locked files and says the tools were not checked
|
|
756
|
+
(`tests/environment-tooling.test.ts`).
|
|
757
|
+
|
|
758
|
+
`doctor` then says what fits this machine (`src/machine-fit.ts`, config redesign, 6 October 2026), from its cores,
|
|
759
|
+
memory and the free disk under the shared cache. Each line is informational and never changes the exit code; `--json`
|
|
760
|
+
has it as `fit`.
|
|
761
|
+
|
|
762
|
+
| Line | What it says | Where the number comes from |
|
|
763
|
+
| --- | --- | --- |
|
|
764
|
+
| `machine` | Cores, memory, free disk | `availableParallelism`, `totalmem`, `statfs` of the cache (or its nearest existing parent) |
|
|
765
|
+
| `people at once: fast` | How many people the local dev chain takes at once | About 1 GB each (a Chromium page, 0.8 GB as an upper bound from RSS, and a host process) beside 1.5 GB for the chain and 3 GB for the system: estimates until the nightly laptop job measures them |
|
|
766
|
+
| `<the lab's copy>` (`Local copy of Paseo`) | Full or Light: the option the lab would start now and why (the person's last choice, else this machine's fit, as `product-lab check` and the window pick it), and each option that does not fit with its needs | The registry (`LabRuntime.registry`); Full needs 8 cores and 16 GB, measured |
|
|
767
|
+
| `people at once: <copy>` | People at once on that option | Its measured peak with two people (Full 6.7 GB, Light 5.2 GB), then 1 GB each |
|
|
768
|
+
| `disk`, `disk: network copy` | Shown only when short: a run needs about 2 GB, a copy's first start about 10 GB (its saved state is 3.6 GB) | |
|
|
769
|
+
| `cache` | Set up, or what is missing (the locked files, the host) | The checks above |
|
|
770
|
+
|
|
771
|
+
A lab with no local copy of a network says so. Tests: `tests/machine-fit.test.ts` (a 4-core 8 GB laptop, a 16-core
|
|
772
|
+
48 GB machine, the person's own choice that does not fit, no copy, low disk, a missing cache). Every CLI invocation loads optional `.env` files from the lab directory to the workspace root (shell wins, nearer file wins). `node --import tsx --import @product-lab/cli/load-env <script>` gives direct scripts the same behavior. `--import @product-lab/cli/own-running-record` gives a test or e2e script that serves a lab window a running-lab record of its own (`PRODUCT_LAB_RUNNING_DIR`, a temporary directory), so two such scripts of one lab run side by side; a person's lab never uses it. Since 6 October 2026 it also keeps a
|
|
773
|
+
`node --test` child's standard output for the test runner (`src/test-output.ts`, also `@product-lab/cli/test-output`):
|
|
774
|
+
there `console.log`, `console.info` and `console.debug` write to standard error, as `startDev`'s progress does, because a
|
|
775
|
+
line in the runner's stream could end the run with "Unable to deserialize cloned data due to invalid or unsupported
|
|
776
|
+
version" (guard: `tests/test-output.test.ts`).
|
|
777
|
+
|
|
778
|
+
## Summarize a suite run
|
|
779
|
+
|
|
780
|
+
`product-lab report summary <run> [--markdown | --json]` prints one suite run (its report directory or
|
|
781
|
+
`product-lab-suite.json`) as the Markdown summary (default) that `test --suite` also writes as
|
|
782
|
+
`summary.md`, for a CI job summary or a pull request comment (`tools/ci/suite.sh` uses it); `--json`
|
|
783
|
+
prints the record's counts and timings. A directory without a suite record exits 1; a usage error
|
|
784
|
+
exits 2 (`tests/suite-command.test.ts`).
|
|
785
|
+
|
|
786
|
+
`product-lab report comment <run> [--recordings <dir>] [--label <text>] [--run-url <url>] [--artifact <name> |
|
|
787
|
+
--video-base <url>] [--out <file>]` (backlog 52) prints a suite run's pull request comment (`src/reports/pr-comment.ts`):
|
|
788
|
+
the marker `<!-- product-lab:pr-suite -->` that makes it self-replacing, the verdict and reason, then one row per
|
|
789
|
+
scenario with its row, result, time and, from its recording in `--recordings`, where it is in each identity's video. A
|
|
790
|
+
recording is matched by its feature run, or by its title and a start inside the row's run (a Cucumber process's
|
|
791
|
+
recordings name no run); the latest wins. With `--artifact` a video's place is text ("starts at 0:42 (to 0:47)"): an
|
|
792
|
+
artifact is a zip and nothing can seek into it. Only with `--video-base` (a direct address serving `videos/`) is a
|
|
793
|
+
video a link that seeks (`#t=42,47`). "no recording" and "no video (run without `--video`)" are said, never left
|
|
794
|
+
blank. It loads no lab. `pr-suite.yml` posts it. Test: `tests/pr-comment.test.ts`.
|
|
795
|
+
|
|
796
|
+
## Recorded runs
|
|
797
|
+
|
|
798
|
+
`product-lab demo [<recording-id>] [--actor <role> | --window] [--out <dir>] [--max-seconds 60] [--format mp4|webm] [--plan | --slide-only] [--failed] [--json]`
|
|
799
|
+
(backlog 36) cuts a recorded feature scenario into a demo through `LabRuntime.demo`: about a
|
|
800
|
+
minute, each action at real speed with its result held, waits sped up and labelled, a caption per Gherkin step in the
|
|
801
|
+
lab window's style, with `demo.vtt`, `demo.json` and a slide (`slide.png`, `slide.html`) in
|
|
802
|
+
`<lab>/.product-lab/demos/<recording-id>`. The video needs `ffmpeg` and `ffprobe` on `PATH` (or `PRODUCT_LAB_FFMPEG`
|
|
803
|
+
naming their folder; never bundled); `--plan` and `--slide-only` do not. Starts nothing. Exit 2 when refused (no such
|
|
804
|
+
recording, no video, a failed run without `--failed`, no ffmpeg) or on usage errors. Tests: `tests/demo-command.test.ts`.
|
|
805
|
+
|
|
806
|
+
`product-lab journeys [--out <dir>] [--tag <tag>]... [--all] [--dry-run] [--json]` (backlog 47,
|
|
807
|
+
`LabRuntime.journeyDocs`) writes a user walkthrough per scenario tagged
|
|
808
|
+
`@journey` (or the lab's `journeys.tags`): `<out>/<scenario>/README.md` with each step's screenshot of the identity that
|
|
809
|
+
acted and captions stating only what its newest passed recording proves, and an index `<out>/README.md` (default
|
|
810
|
+
`<lab>/.product-lab/journeys`, git-ignored). A failed run never replaces a page; a scenario without a passed recording is
|
|
811
|
+
skipped with why. It refuses to write over a file it did not write. With `journeys` declared in `lab.config.ts`,
|
|
812
|
+
`product-lab test` rewrites them after its run (`src/journeys-after-test.ts`; a failure to write is reported and never
|
|
813
|
+
changes the exit code). Tests: `tests/journeys-command.test.ts`.
|
|
814
|
+
|
|
815
|
+
`product-lab recordings [<id>] [--step <n> | --timings] [--json]` (Phase 9)
|
|
816
|
+
lists the lab's recorded runs, newest first (status, identities, steps, frames captured, unavailable and failed), or
|
|
817
|
+
prints one recording's replay timeline: each step's identity, outcome and time, the frames before and after it with a
|
|
818
|
+
note on their timing or why they are missing, the step's transactions and the chain heads the lab had observed. It
|
|
819
|
+
loads the lab and reads the store only: nothing starts or runs, and it works after the environment stopped. Where
|
|
820
|
+
recordings go and how long they stay: `PRODUCT_LAB_RECORDINGS` (`frames` default, `steps`, `off`),
|
|
821
|
+
`PRODUCT_LAB_RECORDINGS_DIR` (default `<lab>/.product-lab/recordings`), `PRODUCT_LAB_RECORDINGS_KEEP` (50),
|
|
822
|
+
`PRODUCT_LAB_RECORDINGS_MAX_AGE_DAYS` (30), `PRODUCT_LAB_RECORDINGS_MAX_MB` (500), `PRODUCT_LAB_RECORDINGS_VIDEO` (`off`
|
|
823
|
+
default, `on`: `test --video`; the videos in `videos/` are removed with the last recording that names them, and are
|
|
824
|
+
not counted in the size limit), `PRODUCT_LAB_RECORDINGS_HOST_LOGS` (backlog 192: `failed` default, `always`, `off`: each
|
|
825
|
+
host's own log is kept with a failed run's recording as `hosts/<person>-<host>.log`, redacted) and
|
|
826
|
+
`PRODUCT_LAB_RECORDINGS_HOST_LOG_KB` (2048: the most of one log kept, its tail). Exit 2 on usage errors. Test:
|
|
827
|
+
`tests/recordings-command.test.ts`.
|
|
828
|
+
`--timings` (backlog 29, `LabRuntime.recordingSpeed`) prints each step of the recording against the same step in
|
|
829
|
+
earlier passed runs of the scenario (same lab and environment): `SLOWER` when it took more than twice its median and at
|
|
830
|
+
least 2 s more, `no history` with fewer than 3 earlier runs, `not timed` without a duration; `--factor`,
|
|
831
|
+
`--min-gap-ms` and `--min-samples` change the limits.
|
|
832
|
+
Since backlog 22 a step also shows what it changed on each chain (`chainChanges`): its block window and event count,
|
|
833
|
+
with the steps it shares blocks with; under `--step` the events (and the scenario accounts they mention), the acting
|
|
834
|
+
identity's nonce and free balance before and after, and the gaps.
|
|
835
|
+
Since backlog 23 a step shows what its identity's app printed (`console: N error(s) (M unexpected), K warning(s)`; the
|
|
836
|
+
messages under `--step`), and the header names each app whose console was not watched; since backlog 41 what the step's
|
|
837
|
+
apps asked their hosts (`asked its host (<app>): …`, or why it is unknown);
|
|
838
|
+
since backlog 25 a step's health findings (`health:
|
|
839
|
+
machine overloaded: …`, a chain without a new block, lagging finality; the machine and chain numbers under `--step`), and
|
|
840
|
+
the header gives the samples taken and what could not be sampled;
|
|
841
|
+
since backlog 241 the header also names the steps the machine
|
|
842
|
+
held back and those the lab's own loop did, each step's finding says how (`the machine was the limit: its CPUs were 4 %
|
|
843
|
+
idle (load 11.0 on 10 CPUs)`, `the lab's own loop was the limit: it was busy 95 % of the time and answered up to 1.4 s
|
|
844
|
+
late`), and `--step` adds the CPUs' idle share, the memory pressure and the loop to the machine line.
|
|
845
|
+
|
|
846
|
+
`product-lab bundle <recording-id> [--out <file>]` and `product-lab bundle open <file> [--dir <directory>]` (backlog 20,
|
|
847
|
+
3 October 2026) write a recorded feature scenario as one run bundle and open one read-only, through
|
|
848
|
+
`LabRuntime.runBundles()`. A bundle is one `<id>.plbundle` (a zstd-compressed tar any `tar --zstd` opens) holding the
|
|
849
|
+
recording, the feature file as it ran, the lab lock, the run manifest and the fixture the scenario started from, with
|
|
850
|
+
every file's sha256. `bundle` prints the file, the
|
|
851
|
+
verdict, the starting state, what was withheld (an identity whose key comes from a lab secret) and every reason it
|
|
852
|
+
cannot be reproduced; `bundle open` prints the run's steps, the failure and its stable marker, and every reason it
|
|
853
|
+
could not be reproduced here (another platform with native state, other app or lab source, a changed feature file, a
|
|
854
|
+
public network, unsaved state). Neither starts anything. Exit 2 on usage errors. Test: `tests/bundle-command.test.ts`.
|
|
855
|
+
|
|
856
|
+
`product-lab reproduce <bundle.plbundle> [--reruns <n>] [--against-current] [--confirm <token>]` rebuilds a bundled failing run here:
|
|
857
|
+
the bundle's fixture imported (or the environment started fresh), the same scenario run in this process at its line,
|
|
858
|
+
and the rerun judged against the bundled failure by the negative-control rule (the same step, the error's stable
|
|
859
|
+
marker: "reproduced"). What cannot be rebuilt is refused before anything starts, naming every reason (`bundle open`'s
|
|
860
|
+
list); `--against-current` accepts other app, lab or feature source and reports a recheck, never a reproduction. A
|
|
861
|
+
bundle holding every run is written beside the extracted one, and the environment it started is stopped.
|
|
862
|
+
`--reruns <n>` (backlog 26) reruns up to n times, each from the same rebuilt state, stopping at the first rerun that does
|
|
863
|
+
not fail: the verdict is then `flaky`, which exits 1 like any failure. Exit 0 when
|
|
864
|
+
reproduced (or the same failure on a recheck), 1 otherwise or refused, 2 on usage errors. Test:
|
|
865
|
+
`tests/reproduce-command.test.ts`. Live on Notes, with an in-process run and a `product-lab test` run.
|
|
866
|
+
|
|
867
|
+
`product-lab bisect <previous> <current> [--change <key> | --row <id> --scenario <name>] [--runs <n>] [--max-probes <n>] [--budget <minutes>] [--out <dir>] [--dry-run]`
|
|
868
|
+
(backlog 37) finds where a regression `report compare` found came in: the two suite runs' changed app, runtime or host
|
|
869
|
+
component is the axis, each probe runs the one scenario as its row ran it, and the ends run again first. It prints
|
|
870
|
+
`summary.md` (the verdict first, then every probe, then one shell command that reruns the first bad value; for the
|
|
871
|
+
lab's source it runs from the repository's top: a worktree at the commit, a frozen install, the run from the lab's
|
|
872
|
+
directory) and writes `product-lab-bisect.json` to `--out` (default `.product-lab/bisect/<time>` in the lab's
|
|
873
|
+
directory). What cannot be bisected is refused by name. Exit 0 when it found the first bad value or planned a dry run,
|
|
874
|
+
1 otherwise, 2 on usage errors. Test: `tests/bisect-command.test.ts`. It was run live on a planted regression in Notes.
|
|
875
|
+
|
|
876
|
+
## Compare saved suites
|
|
877
|
+
|
|
878
|
+
`product-lab report compare <previous> <current> [--out <dir>] [--notify-dir <dir>] [--json]` compares saved suite directories or their `product-lab-suite.json` files. It writes HTML, Markdown and JSON into `<current>/compatibility` by default. The optional notification directory receives deduplicated Markdown/JSON messages and `sent.json`; no message leaves the machine. Exit 1 means regression, new failure or lost coverage; exit 0 includes recovery/unchanged results; exit 2 indicates usage errors. Attribution is based on recorded changes and cross-row evidence, not an independently proven cause. Test with `bunx nx run cli:test`.
|
|
879
|
+
|
|
880
|
+
The generated consumer Notes reference includes the explicit persistent workspace config and its private actor-store helper, the local Chopsticks upstream and saved Paseo fork providers, plus the original optional TSX account panel and fixed React helper preparation script. The reference explains preparation before check/lab and classic JSX typechecking; generated helper bytes are not embedded. The same script renders the minimal reference (every file of `examples/minimal` a consumer needs, with the command that runs its negative control). Both run a product's people on the released truAPI WASM test host (8 October 2026): `PRODUCT_REWRITES` changes the examples' default host and their modes' hosts from the truAPI CLI host, which runs a product's local environment only when its locked release takes the lab's local endpoints (#1166; the locked 0.26.0 does, and the WASM test host runs everywhere), and Notes' config keeps one fixture (`two-writers`, its setup shipped) of its four; each rewrite matches its example exactly once or fails the render; `cli:test` fails when a shipped feature or config names the CLI host, or a shipped config names a fixture setup the reference does not carry (`tests/kit-reference.test.ts`). Neither is committed (backlog 147): `KIT_REFERENCES` names where each sits in the kit (`skills/product-lab-integration/references/notes-lab.md`, `skills/product-lab-setup/references/minimal-lab.md`, both under `ai-kit/`), the packer writes them into the packed kit (`writeKitReferences`, from `tools/eval/src/pack.ts`), and `loadKit` renders them in memory when the kit sits in this workspace, so `ai init` from source installs the current ones. Nothing to regenerate after a Notes or minimal change; to read one, `node --import tsx entrypoints/cli/src/ai/kit-reference.ts --out <dir>`. Such a change ships, so it needs a changeset naming `@parity/product-lab` (`referenceSources`, which `shippedPaths` counts). The list must be closed under relative imports: `unlistedNotesImports` names any file a listed Notes file imports that the list omits (generated `lab/ui/dist/` excepted), and the generator and `cli:test` refuse such a list (`lab/cleanup.ts` and `lab/vite-build.ts` were missing until 29 September 2026). `cli:test` lists `examples/notes/**` and `examples/minimal/**` as Nx inputs (`package.json` `nx.targets.test`), so a Notes change always reruns the reference checks instead of reusing a cached pass.
|
|
881
|
+
|
|
882
|
+
The bundled-run and scenario-condition tests use fresh temporary recording directories for each CLI run,
|
|
883
|
+
so prior fixture recordings cannot affect their result.
|
|
884
|
+
|
|
885
|
+
HTML, Markdown and JUnit reports show host-bypass evidence per scenario and step, including each app's policy and written allowance reason, direct connections, every finalized ledger entry and every coverage gap. This evidence is never clipped by the ordinary HTML attachment size limit. Recording text shows the same run and step evidence; absent evidence is coverage unknown.
|
|
886
|
+
|
|
887
|
+
In `report.html` each host-bypass block is closed by default (backlog 148, 6 October 2026). Its summary is the lab window's host check headline ("Host check: Nothing went around the host", "Host check: Found 2 sent around the host · not complete: …", from `@product-lab/shell/host-bypass-words`), then why, the findings, the explained kinds and each person's app and traffic in words, and the full raw lines below them. The host-bypass heading includes an aggregate verdict: an unexplained foreign extrinsic warns even when individual apps are clean. Strict failures, incomplete coverage and stricter stored verdicts remain visible without assigning the foreign transaction to an app.
|
|
888
|
+
|
|
889
|
+
A generated step that times out can print an additional `After aborting step` diagnostic
|
|
890
|
+
when its action finishes unwinding during scenario cleanup. Its last error is also kept
|
|
891
|
+
in the failed step's separate `abortDetail` field and displayed in HTML and JUnit reports. The timeout remains the
|
|
892
|
+
failure; this detail does not change retries or cancellation. Test:
|
|
893
|
+
`tests/abort-diagnostics.test.ts`.
|
|
894
|
+
|
|
895
|
+
The generated minimal reference uses the released SDK's native PAPI 3 transaction creator and carries its app's current SDK and client install pins. Its file list and dependency test follow that source; no local signer bridge is copied. The rebased migration is awaiting qualification.
|