@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.
Files changed (2987) hide show
  1. package/CHANGELOG.md +993 -0
  2. package/LICENSE +204 -0
  3. package/README.md +325 -2
  4. package/adapters/browser/playwright/README.md +214 -0
  5. package/adapters/browser/playwright/src/axe-scan.d.ts +6 -0
  6. package/adapters/browser/playwright/src/axe-scan.js +41 -0
  7. package/adapters/browser/playwright/src/bytes.d.ts +1 -0
  8. package/adapters/browser/playwright/src/bytes.js +5 -0
  9. package/adapters/browser/playwright/src/conditioned-socket.d.ts +28 -0
  10. package/adapters/browser/playwright/src/conditioned-socket.js +40 -0
  11. package/adapters/browser/playwright/src/devices.d.ts +14 -0
  12. package/adapters/browser/playwright/src/devices.js +24 -0
  13. package/adapters/browser/playwright/src/errors.d.ts +2 -0
  14. package/adapters/browser/playwright/src/errors.js +6 -0
  15. package/adapters/browser/playwright/src/evidence-url.d.ts +4 -0
  16. package/adapters/browser/playwright/src/evidence-url.js +29 -0
  17. package/adapters/browser/playwright/src/faithful-web-socket.d.ts +2 -0
  18. package/adapters/browser/playwright/src/faithful-web-socket.js +9 -0
  19. package/adapters/browser/playwright/src/free-loopback-port.d.ts +2 -0
  20. package/adapters/browser/playwright/src/free-loopback-port.js +13 -0
  21. package/adapters/browser/playwright/src/headless-app-surface.d.ts +30 -0
  22. package/adapters/browser/playwright/src/headless-app-surface.js +68 -0
  23. package/adapters/browser/playwright/src/index.d.ts +16 -0
  24. package/adapters/browser/playwright/src/index.js +18 -0
  25. package/adapters/browser/playwright/src/native-rtc.d.ts +11 -0
  26. package/adapters/browser/playwright/src/native-rtc.js +89 -0
  27. package/adapters/browser/playwright/src/network-evidence.d.ts +25 -0
  28. package/adapters/browser/playwright/src/network-evidence.js +575 -0
  29. package/adapters/browser/playwright/src/page-conditions.d.ts +37 -0
  30. package/adapters/browser/playwright/src/page-conditions.js +81 -0
  31. package/adapters/browser/playwright/src/page-console-watch.d.ts +12 -0
  32. package/adapters/browser/playwright/src/page-console-watch.js +43 -0
  33. package/adapters/browser/playwright/src/page-frame-capture.d.ts +32 -0
  34. package/adapters/browser/playwright/src/page-frame-capture.js +87 -0
  35. package/adapters/browser/playwright/src/page-video.d.ts +15 -0
  36. package/adapters/browser/playwright/src/page-video.js +25 -0
  37. package/adapters/browser/playwright/src/playwright-browser-context.d.ts +20 -0
  38. package/adapters/browser/playwright/src/playwright-browser-context.js +44 -0
  39. package/adapters/browser/playwright/src/playwright-browser-launcher.d.ts +9 -0
  40. package/adapters/browser/playwright/src/playwright-browser-launcher.js +53 -0
  41. package/adapters/browser/playwright/src/playwright-browser.d.ts +57 -0
  42. package/adapters/browser/playwright/src/playwright-browser.js +71 -0
  43. package/adapters/browser/playwright/src/playwright-page.d.ts +68 -0
  44. package/adapters/browser/playwright/src/playwright-page.js +111 -0
  45. package/adapters/browser/playwright/src/playwright-route.d.ts +13 -0
  46. package/adapters/browser/playwright/src/playwright-route.js +29 -0
  47. package/adapters/browser/playwright/src/playwright-slide-renderer.d.ts +11 -0
  48. package/adapters/browser/playwright/src/playwright-slide-renderer.js +26 -0
  49. package/adapters/browser/playwright/src/playwright-web-socket-route.d.ts +16 -0
  50. package/adapters/browser/playwright/src/playwright-web-socket-route.js +27 -0
  51. package/adapters/browser/playwright/src/press-target.d.ts +76 -0
  52. package/adapters/browser/playwright/src/press-target.js +186 -0
  53. package/adapters/browser/playwright/src/socket-routes.d.ts +14 -0
  54. package/adapters/browser/playwright/src/socket-routes.js +20 -0
  55. package/adapters/browser/playwright/src/wire-delivery.d.ts +10 -0
  56. package/adapters/browser/playwright/src/wire-delivery.js +31 -0
  57. package/adapters/browser/playwright/src/worker-hold.d.ts +26 -0
  58. package/adapters/browser/playwright/src/worker-hold.js +115 -0
  59. package/adapters/chain/papi/README.md +203 -0
  60. package/adapters/chain/papi/src/chain-access.d.ts +178 -0
  61. package/adapters/chain/papi/src/chain-access.js +530 -0
  62. package/adapters/chain/papi/src/errors.d.ts +15 -0
  63. package/adapters/chain/papi/src/errors.js +29 -0
  64. package/adapters/chain/papi/src/extrinsic-decoder.d.ts +21 -0
  65. package/adapters/chain/papi/src/extrinsic-decoder.js +396 -0
  66. package/adapters/chain/papi/src/extrinsic-signer.d.ts +2 -0
  67. package/adapters/chain/papi/src/extrinsic-signer.js +14 -0
  68. package/adapters/chain/papi/src/index.d.ts +5 -0
  69. package/adapters/chain/papi/src/index.js +7 -0
  70. package/adapters/chain/papi/src/plain-value.d.ts +7 -0
  71. package/adapters/chain/papi/src/plain-value.js +58 -0
  72. package/adapters/chain/papi/src/signer.d.ts +27 -0
  73. package/adapters/chain/papi/src/signer.js +51 -0
  74. package/adapters/chain/papi/src/statement-store-reader.d.ts +12 -0
  75. package/adapters/chain/papi/src/statement-store-reader.js +146 -0
  76. package/adapters/chain/papi/src/track-transaction.d.ts +47 -0
  77. package/adapters/chain/papi/src/track-transaction.js +97 -0
  78. package/adapters/chain/papi/src/transaction-submitter.d.ts +87 -0
  79. package/adapters/chain/papi/src/transaction-submitter.js +132 -0
  80. package/adapters/deploy/bulletin/README.md +148 -0
  81. package/adapters/deploy/bulletin/src/bulletin-deployer.d.ts +82 -0
  82. package/adapters/deploy/bulletin/src/bulletin-deployer.js +234 -0
  83. package/adapters/deploy/bulletin/src/bytes.d.ts +6 -0
  84. package/adapters/deploy/bulletin/src/bytes.js +25 -0
  85. package/adapters/deploy/bulletin/src/content/bulletin-content-reader.d.ts +35 -0
  86. package/adapters/deploy/bulletin/src/content/bulletin-content-reader.js +58 -0
  87. package/adapters/deploy/bulletin/src/content/car.d.ts +27 -0
  88. package/adapters/deploy/bulletin/src/content/car.js +112 -0
  89. package/adapters/deploy/bulletin/src/content/cid.d.ts +31 -0
  90. package/adapters/deploy/bulletin/src/content/cid.js +114 -0
  91. package/adapters/deploy/bulletin/src/content/dag.d.ts +27 -0
  92. package/adapters/deploy/bulletin/src/content/dag.js +157 -0
  93. package/adapters/deploy/bulletin/src/content/ipfs-gateway-source.d.ts +10 -0
  94. package/adapters/deploy/bulletin/src/content/ipfs-gateway-source.js +14 -0
  95. package/adapters/deploy/bulletin/src/content/retrieve-content.d.ts +3 -0
  96. package/adapters/deploy/bulletin/src/content/retrieve-content.js +18 -0
  97. package/adapters/deploy/bulletin/src/content/site.d.ts +16 -0
  98. package/adapters/deploy/bulletin/src/content/site.js +56 -0
  99. package/adapters/deploy/bulletin/src/deployment-check.d.ts +25 -0
  100. package/adapters/deploy/bulletin/src/deployment-check.js +51 -0
  101. package/adapters/deploy/bulletin/src/dotns/dotns-registrar.d.ts +31 -0
  102. package/adapters/deploy/bulletin/src/dotns/dotns-registrar.js +53 -0
  103. package/adapters/deploy/bulletin/src/dotns/dotns-resolver.d.ts +41 -0
  104. package/adapters/deploy/bulletin/src/dotns/dotns-resolver.js +148 -0
  105. package/adapters/deploy/bulletin/src/dotns/manifest-freshness.d.ts +66 -0
  106. package/adapters/deploy/bulletin/src/dotns/manifest-freshness.js +76 -0
  107. package/adapters/deploy/bulletin/src/dotns/read-only-rpc.d.ts +17 -0
  108. package/adapters/deploy/bulletin/src/dotns/read-only-rpc.js +23 -0
  109. package/adapters/deploy/bulletin/src/endpoints.d.ts +20 -0
  110. package/adapters/deploy/bulletin/src/endpoints.js +36 -0
  111. package/adapters/deploy/bulletin/src/errors.d.ts +13 -0
  112. package/adapters/deploy/bulletin/src/errors.js +13 -0
  113. package/adapters/deploy/bulletin/src/gateway/deployed-content-gateway.d.ts +46 -0
  114. package/adapters/deploy/bulletin/src/gateway/deployed-content-gateway.js +126 -0
  115. package/adapters/deploy/bulletin/src/gateway/gateway-destinations.d.ts +35 -0
  116. package/adapters/deploy/bulletin/src/gateway/gateway-destinations.js +45 -0
  117. package/adapters/deploy/bulletin/src/gateway/gateway-program.d.ts +79 -0
  118. package/adapters/deploy/bulletin/src/gateway/gateway-program.js +181 -0
  119. package/adapters/deploy/bulletin/src/index.d.ts +27 -0
  120. package/adapters/deploy/bulletin/src/index.js +29 -0
  121. package/adapters/deploy/bulletin/src/launch/deployed-local-launcher.d.ts +77 -0
  122. package/adapters/deploy/bulletin/src/launch/deployed-local-launcher.js +90 -0
  123. package/adapters/deploy/bulletin/src/launch/launch-mode.d.ts +12 -0
  124. package/adapters/deploy/bulletin/src/launch/launch-mode.js +23 -0
  125. package/adapters/deploy/bulletin/src/platform/bulletin-store.d.ts +17 -0
  126. package/adapters/deploy/bulletin/src/platform/bulletin-store.js +28 -0
  127. package/adapters/deploy/bulletin/src/platform/chain-ports.d.ts +69 -0
  128. package/adapters/deploy/bulletin/src/platform/chain-ports.js +69 -0
  129. package/adapters/deploy/bulletin/src/platform/platform-requirements.d.ts +34 -0
  130. package/adapters/deploy/bulletin/src/platform/platform-requirements.js +12 -0
  131. package/adapters/deploy/bulletin/src/platform/revive-contracts.d.ts +53 -0
  132. package/adapters/deploy/bulletin/src/platform/revive-contracts.js +86 -0
  133. package/adapters/deploy/bulletin/src/platform/statement-store.d.ts +50 -0
  134. package/adapters/deploy/bulletin/src/platform/statement-store.js +96 -0
  135. package/adapters/deploy/bulletin/src/tool/bulletin-deploy-library.d.ts +64 -0
  136. package/adapters/deploy/bulletin/src/tool/bulletin-deploy-library.js +33 -0
  137. package/adapters/deploy/bulletin/src/tool/bulletin-deploy-tool.d.ts +18 -0
  138. package/adapters/deploy/bulletin/src/tool/bulletin-deploy-tool.js +73 -0
  139. package/adapters/deploy/bulletin/src/tool/environment-file.d.ts +34 -0
  140. package/adapters/deploy/bulletin/src/tool/environment-file.js +36 -0
  141. package/adapters/environment/attached/README.md +75 -0
  142. package/adapters/environment/attached/src/index.d.ts +54 -0
  143. package/adapters/environment/attached/src/index.js +123 -0
  144. package/adapters/environment/attached/src/live-network.d.ts +62 -0
  145. package/adapters/environment/attached/src/live-network.js +96 -0
  146. package/adapters/environment/attached/src/versions.d.ts +29 -0
  147. package/adapters/environment/attached/src/versions.js +51 -0
  148. package/adapters/environment/chopsticks/README.md +200 -0
  149. package/adapters/environment/chopsticks/src/chopsticks-environment-factory.d.ts +140 -0
  150. package/adapters/environment/chopsticks/src/chopsticks-environment-factory.js +55 -0
  151. package/adapters/environment/chopsticks/src/chopsticks-topology.d.ts +176 -0
  152. package/adapters/environment/chopsticks/src/chopsticks-topology.js +287 -0
  153. package/adapters/environment/chopsticks/src/constants.d.ts +11 -0
  154. package/adapters/environment/chopsticks/src/constants.js +15 -0
  155. package/adapters/environment/chopsticks/src/dev-authority.d.ts +21 -0
  156. package/adapters/environment/chopsticks/src/dev-authority.js +66 -0
  157. package/adapters/environment/chopsticks/src/environment.d.ts +133 -0
  158. package/adapters/environment/chopsticks/src/environment.js +358 -0
  159. package/adapters/environment/chopsticks/src/extensions.d.ts +27 -0
  160. package/adapters/environment/chopsticks/src/extensions.js +60 -0
  161. package/adapters/environment/chopsticks/src/general-extrinsic-support.d.ts +17 -0
  162. package/adapters/environment/chopsticks/src/general-extrinsic-support.js +58 -0
  163. package/adapters/environment/chopsticks/src/index.d.ts +15 -0
  164. package/adapters/environment/chopsticks/src/index.js +17 -0
  165. package/adapters/environment/chopsticks/src/options.d.ts +75 -0
  166. package/adapters/environment/chopsticks/src/options.js +56 -0
  167. package/adapters/environment/chopsticks/src/plan.d.ts +49 -0
  168. package/adapters/environment/chopsticks/src/plan.js +68 -0
  169. package/adapters/environment/chopsticks/src/provider.d.ts +43 -0
  170. package/adapters/environment/chopsticks/src/provider.js +78 -0
  171. package/adapters/environment/chopsticks/src/spec-proxy.d.ts +16 -0
  172. package/adapters/environment/chopsticks/src/spec-proxy.js +109 -0
  173. package/adapters/environment/chopsticks/src/sqlite-support.d.ts +15 -0
  174. package/adapters/environment/chopsticks/src/sqlite-support.js +32 -0
  175. package/adapters/environment/chopsticks/src/time.d.ts +18 -0
  176. package/adapters/environment/chopsticks/src/time.js +96 -0
  177. package/adapters/environment/chopsticks/src/topology-options-schema.d.ts +119 -0
  178. package/adapters/environment/chopsticks/src/topology-options-schema.js +58 -0
  179. package/adapters/environment/chopsticks/src/topology.d.ts +11 -0
  180. package/adapters/environment/chopsticks/src/topology.js +64 -0
  181. package/adapters/environment/chopsticks/src/upstream.d.ts +22 -0
  182. package/adapters/environment/chopsticks/src/upstream.js +58 -0
  183. package/adapters/environment/chopsticks/src/versions.d.ts +31 -0
  184. package/adapters/environment/chopsticks/src/versions.js +58 -0
  185. package/adapters/environment/engine/README.md +123 -0
  186. package/adapters/environment/engine/engine.example.json +9 -0
  187. package/adapters/environment/engine/src/engine/approval-pin.d.ts +106 -0
  188. package/adapters/environment/engine/src/engine/approval-pin.js +98 -0
  189. package/adapters/environment/engine/src/engine/chain-clock.d.ts +55 -0
  190. package/adapters/environment/engine/src/engine/chain-clock.js +66 -0
  191. package/adapters/environment/engine/src/engine/checkout-lock.d.ts +52 -0
  192. package/adapters/environment/engine/src/engine/checkout-lock.js +136 -0
  193. package/adapters/environment/engine/src/engine/drain.d.ts +54 -0
  194. package/adapters/environment/engine/src/engine/drain.js +74 -0
  195. package/adapters/environment/engine/src/engine/engine-config.d.ts +97 -0
  196. package/adapters/environment/engine/src/engine/engine-config.js +55 -0
  197. package/adapters/environment/engine/src/engine/engine-health.d.ts +99 -0
  198. package/adapters/environment/engine/src/engine/engine-health.js +217 -0
  199. package/adapters/environment/engine/src/engine/engine-ports.d.ts +13 -0
  200. package/adapters/environment/engine/src/engine/engine-ports.js +60 -0
  201. package/adapters/environment/engine/src/engine/engine-prepare.d.ts +55 -0
  202. package/adapters/environment/engine/src/engine/engine-prepare.js +86 -0
  203. package/adapters/environment/engine/src/engine/engine-setup-jobs.d.ts +16 -0
  204. package/adapters/environment/engine/src/engine/engine-setup-jobs.js +63 -0
  205. package/adapters/environment/engine/src/engine/engine-start-phases.d.ts +65 -0
  206. package/adapters/environment/engine/src/engine/engine-start-phases.js +230 -0
  207. package/adapters/environment/engine/src/engine/eth-rpc-probe.d.ts +17 -0
  208. package/adapters/environment/engine/src/engine/eth-rpc-probe.js +23 -0
  209. package/adapters/environment/engine/src/engine/finality-stall.d.ts +41 -0
  210. package/adapters/environment/engine/src/engine/finality-stall.js +61 -0
  211. package/adapters/environment/engine/src/engine/fork-bundle.d.ts +59 -0
  212. package/adapters/environment/engine/src/engine/fork-bundle.js +159 -0
  213. package/adapters/environment/engine/src/engine/fork-freshness.d.ts +154 -0
  214. package/adapters/environment/engine/src/engine/fork-freshness.js +238 -0
  215. package/adapters/environment/engine/src/engine/fork-isolation.d.ts +19 -0
  216. package/adapters/environment/engine/src/engine/fork-isolation.js +44 -0
  217. package/adapters/environment/engine/src/engine/fork-refresh.d.ts +75 -0
  218. package/adapters/environment/engine/src/engine/fork-refresh.js +193 -0
  219. package/adapters/environment/engine/src/engine/fork-setup.d.ts +59 -0
  220. package/adapters/environment/engine/src/engine/fork-setup.js +87 -0
  221. package/adapters/environment/engine/src/engine/fork-snapshot.d.ts +6 -0
  222. package/adapters/environment/engine/src/engine/fork-snapshot.js +42 -0
  223. package/adapters/environment/engine/src/engine/fork-toml.d.ts +110 -0
  224. package/adapters/environment/engine/src/engine/fork-toml.js +260 -0
  225. package/adapters/environment/engine/src/engine/fork-topology.d.ts +65 -0
  226. package/adapters/environment/engine/src/engine/fork-topology.js +61 -0
  227. package/adapters/environment/engine/src/engine/fork-updates.d.ts +61 -0
  228. package/adapters/environment/engine/src/engine/fork-updates.js +148 -0
  229. package/adapters/environment/engine/src/engine/ipfs-isolation.d.ts +38 -0
  230. package/adapters/environment/engine/src/engine/ipfs-isolation.js +62 -0
  231. package/adapters/environment/engine/src/engine/live-network.d.ts +32 -0
  232. package/adapters/environment/engine/src/engine/live-network.js +41 -0
  233. package/adapters/environment/engine/src/engine/network-adoption.d.ts +56 -0
  234. package/adapters/environment/engine/src/engine/network-adoption.js +195 -0
  235. package/adapters/environment/engine/src/engine/network-plan.d.ts +71 -0
  236. package/adapters/environment/engine/src/engine/network-plan.js +158 -0
  237. package/adapters/environment/engine/src/engine/network-reset.d.ts +18 -0
  238. package/adapters/environment/engine/src/engine/network-reset.js +21 -0
  239. package/adapters/environment/engine/src/engine/network-seed.d.ts +82 -0
  240. package/adapters/environment/engine/src/engine/network-seed.js +183 -0
  241. package/adapters/environment/engine/src/engine/network-snapshots.d.ts +64 -0
  242. package/adapters/environment/engine/src/engine/network-snapshots.js +161 -0
  243. package/adapters/environment/engine/src/engine/network-template.d.ts +65 -0
  244. package/adapters/environment/engine/src/engine/network-template.js +98 -0
  245. package/adapters/environment/engine/src/engine/node-isolation.d.ts +83 -0
  246. package/adapters/environment/engine/src/engine/node-isolation.js +164 -0
  247. package/adapters/environment/engine/src/engine/node-temp-dir.d.ts +27 -0
  248. package/adapters/environment/engine/src/engine/node-temp-dir.js +31 -0
  249. package/adapters/environment/engine/src/engine/owned-engine.d.ts +312 -0
  250. package/adapters/environment/engine/src/engine/owned-engine.js +595 -0
  251. package/adapters/environment/engine/src/engine/owned-environment.d.ts +24 -0
  252. package/adapters/environment/engine/src/engine/owned-environment.js +84 -0
  253. package/adapters/environment/engine/src/engine/persisted-data.d.ts +67 -0
  254. package/adapters/environment/engine/src/engine/persisted-data.js +147 -0
  255. package/adapters/environment/engine/src/engine/persisted-isolation.d.ts +33 -0
  256. package/adapters/environment/engine/src/engine/persisted-isolation.js +91 -0
  257. package/adapters/environment/engine/src/engine/persistent-network.d.ts +354 -0
  258. package/adapters/environment/engine/src/engine/persistent-network.js +580 -0
  259. package/adapters/environment/engine/src/engine/plan-ports.d.ts +83 -0
  260. package/adapters/environment/engine/src/engine/plan-ports.js +165 -0
  261. package/adapters/environment/engine/src/engine/published-bundle.d.ts +117 -0
  262. package/adapters/environment/engine/src/engine/published-bundle.js +250 -0
  263. package/adapters/environment/engine/src/engine/runtime-upgrade.d.ts +131 -0
  264. package/adapters/environment/engine/src/engine/runtime-upgrade.js +202 -0
  265. package/adapters/environment/engine/src/engine/saved-tooling.d.ts +10 -0
  266. package/adapters/environment/engine/src/engine/saved-tooling.js +32 -0
  267. package/adapters/environment/engine/src/engine/turn-relay.d.ts +80 -0
  268. package/adapters/environment/engine/src/engine/turn-relay.js +103 -0
  269. package/adapters/environment/engine/src/errors.d.ts +140 -0
  270. package/adapters/environment/engine/src/errors.js +131 -0
  271. package/adapters/environment/engine/src/evidence/engine-logs.d.ts +4 -0
  272. package/adapters/environment/engine/src/evidence/engine-logs.js +20 -0
  273. package/adapters/environment/engine/src/evidence/engine-progress.d.ts +18 -0
  274. package/adapters/environment/engine/src/evidence/engine-progress.js +102 -0
  275. package/adapters/environment/engine/src/index.d.ts +52 -0
  276. package/adapters/environment/engine/src/index.js +54 -0
  277. package/adapters/environment/engine/src/saved-fork/saved-fork-tooling.d.ts +20 -0
  278. package/adapters/environment/engine/src/saved-fork/saved-fork-tooling.js +66 -0
  279. package/adapters/environment/engine/src/saved-fork/saved-fork.d.ts +118 -0
  280. package/adapters/environment/engine/src/saved-fork/saved-fork.js +298 -0
  281. package/adapters/environment/engine/src/session/chain-observation.d.ts +30 -0
  282. package/adapters/environment/engine/src/session/chain-observation.js +23 -0
  283. package/adapters/environment/engine/src/session/engine-networks.d.ts +8 -0
  284. package/adapters/environment/engine/src/session/engine-networks.js +6 -0
  285. package/adapters/environment/engine/src/session/network-lock.d.ts +107 -0
  286. package/adapters/environment/engine/src/session/network-lock.js +125 -0
  287. package/adapters/environment/engine/src/session/readiness.d.ts +181 -0
  288. package/adapters/environment/engine/src/session/readiness.js +251 -0
  289. package/adapters/environment/engine/src/session/runtime-dependency.d.ts +188 -0
  290. package/adapters/environment/engine/src/session/runtime-dependency.js +20 -0
  291. package/adapters/environment/engine/src/session/session.d.ts +243 -0
  292. package/adapters/environment/engine/src/session/session.js +98 -0
  293. package/adapters/environment/engine/src/setup/engine-build.d.ts +13 -0
  294. package/adapters/environment/engine/src/setup/engine-build.js +24 -0
  295. package/adapters/environment/engine/src/setup/patch-catalogue.d.ts +20 -0
  296. package/adapters/environment/engine/src/setup/patch-catalogue.js +15 -0
  297. package/adapters/environment/engine/src/setup/patches.d.ts +37 -0
  298. package/adapters/environment/engine/src/setup/patches.js +48 -0
  299. package/adapters/environment/engine/src/setup/prepare-engine.d.ts +86 -0
  300. package/adapters/environment/engine/src/setup/prepare-engine.js +186 -0
  301. package/adapters/environment/engine/src/setup/setup-command.d.ts +11 -0
  302. package/adapters/environment/engine/src/setup/setup-command.js +17 -0
  303. package/adapters/environment/engine/src/setup/sync-command.d.ts +3 -0
  304. package/adapters/environment/engine/src/setup/sync-command.js +10 -0
  305. package/adapters/environment/engine/src/testing/engine-dashboard.d.ts +37 -0
  306. package/adapters/environment/engine/src/testing/engine-dashboard.js +83 -0
  307. package/adapters/environment/engine/src/topology/engine-environment-factory.d.ts +107 -0
  308. package/adapters/environment/engine/src/topology/engine-environment-factory.js +37 -0
  309. package/adapters/environment/engine/src/topology/engine-plan.d.ts +35 -0
  310. package/adapters/environment/engine/src/topology/engine-plan.js +84 -0
  311. package/adapters/environment/engine/src/topology/engine-provider.d.ts +25 -0
  312. package/adapters/environment/engine/src/topology/engine-provider.js +109 -0
  313. package/adapters/environment/engine/src/topology/engine-run.d.ts +63 -0
  314. package/adapters/environment/engine/src/topology/engine-run.js +129 -0
  315. package/adapters/environment/engine/src/topology/engine-topology.d.ts +131 -0
  316. package/adapters/environment/engine/src/topology/engine-topology.js +236 -0
  317. package/adapters/environment/engine/src/topology/topology-options-schema.d.ts +79 -0
  318. package/adapters/environment/engine/src/topology/topology-options-schema.js +57 -0
  319. package/adapters/environment/engine/src/versions/engine-versions.d.ts +90 -0
  320. package/adapters/environment/engine/src/versions/engine-versions.js +138 -0
  321. package/adapters/environment/relayless/README.md +199 -0
  322. package/adapters/environment/relayless/src/chain-readiness.d.ts +37 -0
  323. package/adapters/environment/relayless/src/chain-readiness.js +51 -0
  324. package/adapters/environment/relayless/src/fast-baseline.d.ts +43 -0
  325. package/adapters/environment/relayless/src/fast-baseline.js +56 -0
  326. package/adapters/environment/relayless/src/index.d.ts +15 -0
  327. package/adapters/environment/relayless/src/index.js +17 -0
  328. package/adapters/environment/relayless/src/manual-seal-session.d.ts +125 -0
  329. package/adapters/environment/relayless/src/manual-seal-session.js +82 -0
  330. package/adapters/environment/relayless/src/owned-people-node.d.ts +55 -0
  331. package/adapters/environment/relayless/src/owned-people-node.js +199 -0
  332. package/adapters/environment/relayless/src/prepare-people-genesis.d.ts +87 -0
  333. package/adapters/environment/relayless/src/prepare-people-genesis.js +119 -0
  334. package/adapters/environment/relayless/src/topology/dev-chain-spec.d.ts +44 -0
  335. package/adapters/environment/relayless/src/topology/dev-chain-spec.js +131 -0
  336. package/adapters/environment/relayless/src/topology/dev-node.d.ts +21 -0
  337. package/adapters/environment/relayless/src/topology/dev-node.js +41 -0
  338. package/adapters/environment/relayless/src/topology/locked-artifacts.d.ts +35 -0
  339. package/adapters/environment/relayless/src/topology/locked-artifacts.js +87 -0
  340. package/adapters/environment/relayless/src/topology/relayless-environment-factory.d.ts +106 -0
  341. package/adapters/environment/relayless/src/topology/relayless-environment-factory.js +38 -0
  342. package/adapters/environment/relayless/src/topology/relayless-environment.d.ts +152 -0
  343. package/adapters/environment/relayless/src/topology/relayless-environment.js +443 -0
  344. package/adapters/environment/relayless/src/topology/relayless-plan.d.ts +43 -0
  345. package/adapters/environment/relayless/src/topology/relayless-plan.js +85 -0
  346. package/adapters/environment/relayless/src/topology/relayless-provider.d.ts +60 -0
  347. package/adapters/environment/relayless/src/topology/relayless-provider.js +231 -0
  348. package/adapters/environment/relayless/src/topology/relayless-snapshots.d.ts +24 -0
  349. package/adapters/environment/relayless/src/topology/relayless-snapshots.js +112 -0
  350. package/adapters/environment/relayless/src/topology/relayless-time.d.ts +66 -0
  351. package/adapters/environment/relayless/src/topology/relayless-time.js +124 -0
  352. package/adapters/environment/relayless/src/topology/relayless-topology.d.ts +122 -0
  353. package/adapters/environment/relayless/src/topology/relayless-topology.js +178 -0
  354. package/adapters/environment/relayless/src/topology/spec-cache.d.ts +24 -0
  355. package/adapters/environment/relayless/src/topology/spec-cache.js +53 -0
  356. package/adapters/environment/relayless/src/topology/statement-store.d.ts +20 -0
  357. package/adapters/environment/relayless/src/topology/statement-store.js +60 -0
  358. package/adapters/environment/relayless/src/topology/topology-options-schema.d.ts +79 -0
  359. package/adapters/environment/relayless/src/topology/topology-options-schema.js +57 -0
  360. package/adapters/environment/relayless/src/topology/workspace-record.d.ts +30 -0
  361. package/adapters/environment/relayless/src/topology/workspace-record.js +49 -0
  362. package/adapters/features/cucumber/README.md +85 -0
  363. package/adapters/features/cucumber/src/cucumber-child.d.ts +1 -0
  364. package/adapters/features/cucumber/src/cucumber-child.js +53 -0
  365. package/adapters/features/cucumber/src/cucumber-feature-runner.d.ts +49 -0
  366. package/adapters/features/cucumber/src/cucumber-feature-runner.js +114 -0
  367. package/adapters/features/cucumber/src/cucumber-installation.d.ts +14 -0
  368. package/adapters/features/cucumber/src/cucumber-installation.js +44 -0
  369. package/adapters/features/cucumber/src/cucumber-report.d.ts +11 -0
  370. package/adapters/features/cucumber/src/cucumber-report.js +121 -0
  371. package/adapters/features/cucumber/src/cucumber-run.d.ts +38 -0
  372. package/adapters/features/cucumber/src/cucumber-run.js +126 -0
  373. package/adapters/features/cucumber/src/glob-feature-source.d.ts +9 -0
  374. package/adapters/features/cucumber/src/glob-feature-source.js +31 -0
  375. package/adapters/features/cucumber/src/in-process-cucumber-run.d.ts +20 -0
  376. package/adapters/features/cucumber/src/in-process-cucumber-run.js +119 -0
  377. package/adapters/features/cucumber/src/index.d.ts +9 -0
  378. package/adapters/features/cucumber/src/index.js +11 -0
  379. package/adapters/features/cucumber/src/plain-format.d.ts +11 -0
  380. package/adapters/features/cucumber/src/plain-format.js +20 -0
  381. package/adapters/features/cucumber/src/plain-run.d.ts +153 -0
  382. package/adapters/features/cucumber/src/plain-run.js +207 -0
  383. package/adapters/features/cucumber/src/run-log.d.ts +16 -0
  384. package/adapters/features/cucumber/src/run-log.js +50 -0
  385. package/adapters/features/cucumber/src/steps/feature-session-settings.d.ts +7 -0
  386. package/adapters/features/cucumber/src/steps/feature-session-settings.js +15 -0
  387. package/adapters/features/cucumber/src/steps/register-feature-steps.d.ts +144 -0
  388. package/adapters/features/cucumber/src/steps/register-feature-steps.js +276 -0
  389. package/adapters/features/cucumber/src/support/bundled-support.d.ts +1 -0
  390. package/adapters/features/cucumber/src/support/bundled-support.js +69 -0
  391. package/adapters/host/dotli/README.md +135 -0
  392. package/adapters/host/dotli/src/dotli-build.d.ts +85 -0
  393. package/adapters/host/dotli/src/dotli-build.js +169 -0
  394. package/adapters/host/dotli/src/dotli-host-factory.d.ts +66 -0
  395. package/adapters/host/dotli/src/dotli-host-factory.js +82 -0
  396. package/adapters/host/dotli/src/dotli-host.d.ts +182 -0
  397. package/adapters/host/dotli/src/dotli-host.js +327 -0
  398. package/adapters/host/dotli/src/dotli-server.d.ts +9 -0
  399. package/adapters/host/dotli/src/dotli-server.js +135 -0
  400. package/adapters/host/dotli/src/framing.d.ts +10 -0
  401. package/adapters/host/dotli/src/framing.js +20 -0
  402. package/adapters/host/dotli/src/index.d.ts +40 -0
  403. package/adapters/host/dotli/src/index.js +21 -0
  404. package/adapters/host/dotli/src/interception.d.ts +59 -0
  405. package/adapters/host/dotli/src/interception.js +115 -0
  406. package/adapters/host/dotli/src/page-console.d.ts +40 -0
  407. package/adapters/host/dotli/src/page-console.js +44 -0
  408. package/adapters/host/dotli/src/routing.d.ts +119 -0
  409. package/adapters/host/dotli/src/routing.js +157 -0
  410. package/adapters/host/truapi-cli/README.md +807 -0
  411. package/adapters/host/truapi-cli/host.lock.json +33 -0
  412. package/adapters/host/truapi-cli/src/acquire.d.ts +81 -0
  413. package/adapters/host/truapi-cli/src/acquire.js +213 -0
  414. package/adapters/host/truapi-cli/src/attest-provision.d.ts +49 -0
  415. package/adapters/host/truapi-cli/src/attest-provision.js +181 -0
  416. package/adapters/host/truapi-cli/src/build.d.ts +45 -0
  417. package/adapters/host/truapi-cli/src/build.js +234 -0
  418. package/adapters/host/truapi-cli/src/capability-probes.d.ts +66 -0
  419. package/adapters/host/truapi-cli/src/capability-probes.js +272 -0
  420. package/adapters/host/truapi-cli/src/checkout.d.ts +25 -0
  421. package/adapters/host/truapi-cli/src/checkout.js +33 -0
  422. package/adapters/host/truapi-cli/src/cli-identity.d.ts +12 -0
  423. package/adapters/host/truapi-cli/src/cli-identity.js +31 -0
  424. package/adapters/host/truapi-cli/src/cli-session.d.ts +12 -0
  425. package/adapters/host/truapi-cli/src/cli-session.js +245 -0
  426. package/adapters/host/truapi-cli/src/conditioned-routing.d.ts +17 -0
  427. package/adapters/host/truapi-cli/src/conditioned-routing.js +48 -0
  428. package/adapters/host/truapi-cli/src/host-cache.d.ts +25 -0
  429. package/adapters/host/truapi-cli/src/host-cache.js +131 -0
  430. package/adapters/host/truapi-cli/src/host-link.d.ts +16 -0
  431. package/adapters/host/truapi-cli/src/host-link.js +87 -0
  432. package/adapters/host/truapi-cli/src/host-lock.d.ts +59 -0
  433. package/adapters/host/truapi-cli/src/host-lock.js +81 -0
  434. package/adapters/host/truapi-cli/src/host-options.d.ts +65 -0
  435. package/adapters/host/truapi-cli/src/host-options.js +61 -0
  436. package/adapters/host/truapi-cli/src/host-process.d.ts +79 -0
  437. package/adapters/host/truapi-cli/src/host-process.js +160 -0
  438. package/adapters/host/truapi-cli/src/host-records.d.ts +73 -0
  439. package/adapters/host/truapi-cli/src/host-records.js +16 -0
  440. package/adapters/host/truapi-cli/src/host-requests.d.ts +24 -0
  441. package/adapters/host/truapi-cli/src/host-requests.js +75 -0
  442. package/adapters/host/truapi-cli/src/host-temp-dir.d.ts +26 -0
  443. package/adapters/host/truapi-cli/src/host-temp-dir.js +31 -0
  444. package/adapters/host/truapi-cli/src/host-types.d.ts +115 -0
  445. package/adapters/host/truapi-cli/src/host-types.js +3 -0
  446. package/adapters/host/truapi-cli/src/host-verification.d.ts +20 -0
  447. package/adapters/host/truapi-cli/src/host-verification.js +101 -0
  448. package/adapters/host/truapi-cli/src/host.d.ts +14 -0
  449. package/adapters/host/truapi-cli/src/host.js +186 -0
  450. package/adapters/host/truapi-cli/src/identity-fingerprint.d.ts +3 -0
  451. package/adapters/host/truapi-cli/src/identity-fingerprint.js +6 -0
  452. package/adapters/host/truapi-cli/src/index.d.ts +26 -0
  453. package/adapters/host/truapi-cli/src/index.js +28 -0
  454. package/adapters/host/truapi-cli/src/launch.d.ts +113 -0
  455. package/adapters/host/truapi-cli/src/launch.js +244 -0
  456. package/adapters/host/truapi-cli/src/navigation.d.ts +23 -0
  457. package/adapters/host/truapi-cli/src/navigation.js +111 -0
  458. package/adapters/host/truapi-cli/src/network-config.d.ts +35 -0
  459. package/adapters/host/truapi-cli/src/network-config.js +41 -0
  460. package/adapters/host/truapi-cli/src/network-guard.d.ts +37 -0
  461. package/adapters/host/truapi-cli/src/network-guard.js +72 -0
  462. package/adapters/host/truapi-cli/src/official-behaviours.d.ts +33 -0
  463. package/adapters/host/truapi-cli/src/official-behaviours.js +57 -0
  464. package/adapters/host/truapi-cli/src/official-release.d.ts +18 -0
  465. package/adapters/host/truapi-cli/src/official-release.js +57 -0
  466. package/adapters/host/truapi-cli/src/patch-catalogue.d.ts +8 -0
  467. package/adapters/host/truapi-cli/src/patch-catalogue.js +9 -0
  468. package/adapters/host/truapi-cli/src/patch-manifest.d.ts +78 -0
  469. package/adapters/host/truapi-cli/src/patch-manifest.js +103 -0
  470. package/adapters/host/truapi-cli/src/patches.d.ts +36 -0
  471. package/adapters/host/truapi-cli/src/patches.js +7 -0
  472. package/adapters/host/truapi-cli/src/probe-script.d.ts +21 -0
  473. package/adapters/host/truapi-cli/src/probe-script.js +85 -0
  474. package/adapters/host/truapi-cli/src/probe-stub.d.ts +41 -0
  475. package/adapters/host/truapi-cli/src/probe-stub.js +187 -0
  476. package/adapters/host/truapi-cli/src/product-config.d.ts +17 -0
  477. package/adapters/host/truapi-cli/src/product-config.js +35 -0
  478. package/adapters/host/truapi-cli/src/provision.d.ts +88 -0
  479. package/adapters/host/truapi-cli/src/provision.js +172 -0
  480. package/adapters/host/truapi-cli/src/rebase-check.d.ts +218 -0
  481. package/adapters/host/truapi-cli/src/rebase-check.js +366 -0
  482. package/adapters/host/truapi-cli/src/resolved-host.d.ts +23 -0
  483. package/adapters/host/truapi-cli/src/resolved-host.js +31 -0
  484. package/adapters/host/truapi-cli/src/route-release.d.ts +65 -0
  485. package/adapters/host/truapi-cli/src/route-release.js +133 -0
  486. package/adapters/host/truapi-cli/src/sandbox-spec.d.ts +4 -0
  487. package/adapters/host/truapi-cli/src/sandbox-spec.js +14 -0
  488. package/adapters/host/truapi-cli/src/script-account-read.d.ts +48 -0
  489. package/adapters/host/truapi-cli/src/script-account-read.js +98 -0
  490. package/adapters/host/truapi-cli/src/serve-persisted.d.ts +47 -0
  491. package/adapters/host/truapi-cli/src/serve-persisted.js +115 -0
  492. package/adapters/host/truapi-cli/src/signing-evidence.d.ts +4 -0
  493. package/adapters/host/truapi-cli/src/signing-evidence.js +71 -0
  494. package/adapters/host/truapi-cli/src/signing-host-flags.d.ts +9 -0
  495. package/adapters/host/truapi-cli/src/signing-host-flags.js +24 -0
  496. package/adapters/host/truapi-cli/src/truapi-cli-host-factory.d.ts +210 -0
  497. package/adapters/host/truapi-cli/src/truapi-cli-host-factory.js +345 -0
  498. package/adapters/host/truapi-wasm/README.md +228 -0
  499. package/adapters/host/truapi-wasm/src/bulletin-read-probe.d.ts +42 -0
  500. package/adapters/host/truapi-wasm/src/bulletin-read-probe.js +69 -0
  501. package/adapters/host/truapi-wasm/src/config.d.ts +79 -0
  502. package/adapters/host/truapi-wasm/src/config.js +80 -0
  503. package/adapters/host/truapi-wasm/src/endpoint-chains.d.ts +5 -0
  504. package/adapters/host/truapi-wasm/src/endpoint-chains.js +30 -0
  505. package/adapters/host/truapi-wasm/src/entropy-patch.d.ts +27 -0
  506. package/adapters/host/truapi-wasm/src/entropy-patch.js +23 -0
  507. package/adapters/host/truapi-wasm/src/framing.d.ts +10 -0
  508. package/adapters/host/truapi-wasm/src/framing.js +20 -0
  509. package/adapters/host/truapi-wasm/src/host-package.d.ts +38 -0
  510. package/adapters/host/truapi-wasm/src/host-package.js +119 -0
  511. package/adapters/host/truapi-wasm/src/host-page-layout.d.ts +12 -0
  512. package/adapters/host/truapi-wasm/src/host-page-layout.js +16 -0
  513. package/adapters/host/truapi-wasm/src/identity.d.ts +3 -0
  514. package/adapters/host/truapi-wasm/src/identity.js +8 -0
  515. package/adapters/host/truapi-wasm/src/index.d.ts +25 -0
  516. package/adapters/host/truapi-wasm/src/index.js +15 -0
  517. package/adapters/host/truapi-wasm/src/own-script.d.ts +4 -0
  518. package/adapters/host/truapi-wasm/src/own-script.js +4 -0
  519. package/adapters/host/truapi-wasm/src/provider.d.ts +190 -0
  520. package/adapters/host/truapi-wasm/src/provider.js +496 -0
  521. package/adapters/host/truapi-wasm/src/ring-vrf-member.d.ts +4 -0
  522. package/adapters/host/truapi-wasm/src/ring-vrf-member.js +47 -0
  523. package/adapters/host/truapi-wasm/src/route-release.d.ts +29 -0
  524. package/adapters/host/truapi-wasm/src/route-release.js +47 -0
  525. package/adapters/host/truapi-wasm/src/shared-host.d.ts +94 -0
  526. package/adapters/host/truapi-wasm/src/shared-host.js +63 -0
  527. package/adapters/host/truapi-wasm/src/shared-page.d.ts +1 -0
  528. package/adapters/host/truapi-wasm/src/shared-page.js +336 -0
  529. package/adapters/host/truapi-wasm/src/sign-in.d.ts +44 -0
  530. package/adapters/host/truapi-wasm/src/sign-in.js +38 -0
  531. package/adapters/host/truapi-wasm/src/truapi-pairing.d.ts +7 -0
  532. package/adapters/host/truapi-wasm/src/truapi-pairing.js +23 -0
  533. package/adapters/host/truapi-wasm/src/truapi-wasm-host-factory.d.ts +111 -0
  534. package/adapters/host/truapi-wasm/src/truapi-wasm-host-factory.js +99 -0
  535. package/adapters/keys/sr25519/README.md +53 -0
  536. package/adapters/keys/sr25519/src/index.d.ts +3 -0
  537. package/adapters/keys/sr25519/src/index.js +5 -0
  538. package/adapters/keys/sr25519/src/sr25519-key-derivation.d.ts +34 -0
  539. package/adapters/keys/sr25519/src/sr25519-key-derivation.js +66 -0
  540. package/adapters/keys/sr25519/src/sr25519-product-accounts.d.ts +8 -0
  541. package/adapters/keys/sr25519/src/sr25519-product-accounts.js +95 -0
  542. package/adapters/lab/module/src/config-path.d.ts +2 -0
  543. package/adapters/lab/module/src/config-path.js +10 -0
  544. package/adapters/lab/module/src/definition-lab-source.d.ts +11 -0
  545. package/adapters/lab/module/src/definition-lab-source.js +16 -0
  546. package/adapters/lab/module/src/index.d.ts +6 -0
  547. package/adapters/lab/module/src/index.js +8 -0
  548. package/adapters/lab/module/src/module-host-tools.d.ts +11 -0
  549. package/adapters/lab/module/src/module-host-tools.js +37 -0
  550. package/adapters/lab/module/src/module-lab-source.d.ts +16 -0
  551. package/adapters/lab/module/src/module-lab-source.js +50 -0
  552. package/adapters/lab/module/src/reload-hook.mjs +24 -0
  553. package/adapters/lab/module/src/source-fingerprint.d.ts +8 -0
  554. package/adapters/lab/module/src/source-fingerprint.js +48 -0
  555. package/adapters/lab/module/src/transpiled-client-bundles.d.ts +8 -0
  556. package/adapters/lab/module/src/transpiled-client-bundles.js +57 -0
  557. package/adapters/notify/file/README.md +5 -0
  558. package/adapters/notify/file/src/file-notifier.d.ts +11 -0
  559. package/adapters/notify/file/src/file-notifier.js +45 -0
  560. package/adapters/notify/file/src/index.d.ts +2 -0
  561. package/adapters/notify/file/src/index.js +4 -0
  562. package/adapters/notify/file/src/noop-notifier.d.ts +6 -0
  563. package/adapters/notify/file/src/noop-notifier.js +8 -0
  564. package/adapters/storage/filesystem/README.md +41 -0
  565. package/adapters/storage/filesystem/src/directory-fixture-source.d.ts +19 -0
  566. package/adapters/storage/filesystem/src/directory-fixture-source.js +83 -0
  567. package/adapters/storage/filesystem/src/file-breakpoint-store.d.ts +4 -0
  568. package/adapters/storage/filesystem/src/file-breakpoint-store.js +5 -0
  569. package/adapters/storage/filesystem/src/file-environment-option-choices.d.ts +11 -0
  570. package/adapters/storage/filesystem/src/file-environment-option-choices.js +44 -0
  571. package/adapters/storage/filesystem/src/file-evidence-journal.d.ts +10 -0
  572. package/adapters/storage/filesystem/src/file-evidence-journal.js +19 -0
  573. package/adapters/storage/filesystem/src/file-fixture-archives.d.ts +17 -0
  574. package/adapters/storage/filesystem/src/file-fixture-archives.js +250 -0
  575. package/adapters/storage/filesystem/src/file-fixture-store.d.ts +29 -0
  576. package/adapters/storage/filesystem/src/file-fixture-store.js +209 -0
  577. package/adapters/storage/filesystem/src/file-journey-docs.d.ts +9 -0
  578. package/adapters/storage/filesystem/src/file-journey-docs.js +113 -0
  579. package/adapters/storage/filesystem/src/file-json-document.d.ts +7 -0
  580. package/adapters/storage/filesystem/src/file-json-document.js +30 -0
  581. package/adapters/storage/filesystem/src/file-lab-settings-store.d.ts +4 -0
  582. package/adapters/storage/filesystem/src/file-lab-settings-store.js +5 -0
  583. package/adapters/storage/filesystem/src/file-lock-store.d.ts +23 -0
  584. package/adapters/storage/filesystem/src/file-lock-store.js +55 -0
  585. package/adapters/storage/filesystem/src/file-recording-store.d.ts +22 -0
  586. package/adapters/storage/filesystem/src/file-recording-store.js +161 -0
  587. package/adapters/storage/filesystem/src/file-rpc-choices.d.ts +11 -0
  588. package/adapters/storage/filesystem/src/file-rpc-choices.js +46 -0
  589. package/adapters/storage/filesystem/src/file-run-bundle-archives.d.ts +8 -0
  590. package/adapters/storage/filesystem/src/file-run-bundle-archives.js +200 -0
  591. package/adapters/storage/filesystem/src/file-run-manifest-store.d.ts +17 -0
  592. package/adapters/storage/filesystem/src/file-run-manifest-store.js +26 -0
  593. package/adapters/storage/filesystem/src/file-suite-evidence-bundles.d.ts +16 -0
  594. package/adapters/storage/filesystem/src/file-suite-evidence-bundles.js +168 -0
  595. package/adapters/storage/filesystem/src/file-visual-baselines.d.ts +10 -0
  596. package/adapters/storage/filesystem/src/file-visual-baselines.js +42 -0
  597. package/adapters/storage/filesystem/src/index.d.ts +18 -0
  598. package/adapters/storage/filesystem/src/index.js +20 -0
  599. package/adapters/storage/filesystem/src/lock-running-lab-record.d.ts +13 -0
  600. package/adapters/storage/filesystem/src/lock-running-lab-record.js +63 -0
  601. package/adapters/storage/filesystem/src/node-file-system.d.ts +21 -0
  602. package/adapters/storage/filesystem/src/node-file-system.js +122 -0
  603. package/adapters/storage/filesystem/src/running-lab.d.ts +2 -0
  604. package/adapters/storage/filesystem/src/running-lab.js +4 -0
  605. package/adapters/storage/filesystem/src/tar-archive.d.ts +73 -0
  606. package/adapters/storage/filesystem/src/tar-archive.js +401 -0
  607. package/adapters/storage/filesystem/src/workspace-store.d.ts +33 -0
  608. package/adapters/storage/filesystem/src/workspace-store.js +51 -0
  609. package/adapters/system/node/README.md +141 -0
  610. package/adapters/system/node/src/app-proxy/bridge-script.d.ts +21 -0
  611. package/adapters/system/node/src/app-proxy/bridge-script.js +186 -0
  612. package/adapters/system/node/src/app-proxy/next-turbopack-updates.d.ts +2 -0
  613. package/adapters/system/node/src/app-proxy/next-turbopack-updates.js +13 -0
  614. package/adapters/system/node/src/app-proxy/next-webpack-updates.d.ts +2 -0
  615. package/adapters/system/node/src/app-proxy/next-webpack-updates.js +19 -0
  616. package/adapters/system/node/src/app-proxy/node-app-proxy.d.ts +15 -0
  617. package/adapters/system/node/src/app-proxy/node-app-proxy.js +395 -0
  618. package/adapters/system/node/src/app-proxy/vite-updates.d.ts +2 -0
  619. package/adapters/system/node/src/app-proxy/vite-updates.js +8 -0
  620. package/adapters/system/node/src/app-proxy/web-socket-tunnel.d.ts +28 -0
  621. package/adapters/system/node/src/app-proxy/web-socket-tunnel.js +479 -0
  622. package/adapters/system/node/src/app-proxy/webpack-dev-server-updates.d.ts +2 -0
  623. package/adapters/system/node/src/app-proxy/webpack-dev-server-updates.js +13 -0
  624. package/adapters/system/node/src/console-logger.d.ts +25 -0
  625. package/adapters/system/node/src/console-logger.js +31 -0
  626. package/adapters/system/node/src/file-lock-manager.d.ts +26 -0
  627. package/adapters/system/node/src/file-lock-manager.js +103 -0
  628. package/adapters/system/node/src/git-change-source.d.ts +37 -0
  629. package/adapters/system/node/src/git-change-source.js +127 -0
  630. package/adapters/system/node/src/http-json-rpc-client.d.ts +20 -0
  631. package/adapters/system/node/src/http-json-rpc-client.js +25 -0
  632. package/adapters/system/node/src/index.d.ts +35 -0
  633. package/adapters/system/node/src/index.js +37 -0
  634. package/adapters/system/node/src/json-rpc-reply.d.ts +6 -0
  635. package/adapters/system/node/src/json-rpc-reply.js +18 -0
  636. package/adapters/system/node/src/linux-namespace-sandbox.d.ts +53 -0
  637. package/adapters/system/node/src/linux-namespace-sandbox.js +143 -0
  638. package/adapters/system/node/src/linux-network-namespace.mjs +177 -0
  639. package/adapters/system/node/src/lsof-connection-monitor.d.ts +50 -0
  640. package/adapters/system/node/src/lsof-connection-monitor.js +208 -0
  641. package/adapters/system/node/src/node-chain-gates.d.ts +10 -0
  642. package/adapters/system/node/src/node-chain-gates.js +173 -0
  643. package/adapters/system/node/src/node-command-runner.d.ts +17 -0
  644. package/adapters/system/node/src/node-command-runner.js +143 -0
  645. package/adapters/system/node/src/node-conditioned-links.d.ts +4 -0
  646. package/adapters/system/node/src/node-conditioned-links.js +140 -0
  647. package/adapters/system/node/src/node-document-headers.d.ts +28 -0
  648. package/adapters/system/node/src/node-document-headers.js +38 -0
  649. package/adapters/system/node/src/node-http-probe.d.ts +21 -0
  650. package/adapters/system/node/src/node-http-probe.js +39 -0
  651. package/adapters/system/node/src/node-machine-metrics.d.ts +61 -0
  652. package/adapters/system/node/src/node-machine-metrics.js +109 -0
  653. package/adapters/system/node/src/node-os-ports.d.ts +24 -0
  654. package/adapters/system/node/src/node-os-ports.js +82 -0
  655. package/adapters/system/node/src/node-owned-processes.d.ts +96 -0
  656. package/adapters/system/node/src/node-owned-processes.js +440 -0
  657. package/adapters/system/node/src/node-process-runner.d.ts +51 -0
  658. package/adapters/system/node/src/node-process-runner.js +110 -0
  659. package/adapters/system/node/src/node-process-sandbox.d.ts +51 -0
  660. package/adapters/system/node/src/node-process-sandbox.js +79 -0
  661. package/adapters/system/node/src/node-source-watcher.d.ts +7 -0
  662. package/adapters/system/node/src/node-source-watcher.js +91 -0
  663. package/adapters/system/node/src/node-stdio-worker.d.ts +11 -0
  664. package/adapters/system/node/src/node-stdio-worker.js +133 -0
  665. package/adapters/system/node/src/node-sync-command-runner.d.ts +8 -0
  666. package/adapters/system/node/src/node-sync-command-runner.js +96 -0
  667. package/adapters/system/node/src/node-terminal-command-runner.d.ts +14 -0
  668. package/adapters/system/node/src/node-terminal-command-runner.js +23 -0
  669. package/adapters/system/node/src/node-tree-cloner.d.ts +16 -0
  670. package/adapters/system/node/src/node-tree-cloner.js +46 -0
  671. package/adapters/system/node/src/owned-group-anchor.mjs +72 -0
  672. package/adapters/system/node/src/port-blocks.d.ts +32 -0
  673. package/adapters/system/node/src/port-blocks.js +132 -0
  674. package/adapters/system/node/src/process-environment-variables.d.ts +8 -0
  675. package/adapters/system/node/src/process-environment-variables.js +14 -0
  676. package/adapters/system/node/src/process-group.d.ts +35 -0
  677. package/adapters/system/node/src/process-group.js +81 -0
  678. package/adapters/system/node/src/process-table.d.ts +25 -0
  679. package/adapters/system/node/src/process-table.js +8 -0
  680. package/adapters/system/node/src/process.d.ts +7 -0
  681. package/adapters/system/node/src/process.js +9 -0
  682. package/adapters/system/node/src/ps-process-table.d.ts +34 -0
  683. package/adapters/system/node/src/ps-process-table.js +87 -0
  684. package/adapters/system/node/src/random-id-generator.d.ts +5 -0
  685. package/adapters/system/node/src/random-id-generator.js +8 -0
  686. package/adapters/system/node/src/recorded-members.d.ts +10 -0
  687. package/adapters/system/node/src/recorded-members.js +24 -0
  688. package/adapters/system/node/src/request-head.d.ts +9 -0
  689. package/adapters/system/node/src/request-head.js +37 -0
  690. package/adapters/system/node/src/system-clock.d.ts +7 -0
  691. package/adapters/system/node/src/system-clock.js +25 -0
  692. package/adapters/system/node/src/tcp-port-allocator.d.ts +56 -0
  693. package/adapters/system/node/src/tcp-port-allocator.js +117 -0
  694. package/adapters/system/node/src/web-socket-json-rpc-client.d.ts +23 -0
  695. package/adapters/system/node/src/web-socket-json-rpc-client.js +54 -0
  696. package/adapters/versions/chain/README.md +40 -0
  697. package/adapters/versions/chain/src/deployed-runtime-source.d.ts +43 -0
  698. package/adapters/versions/chain/src/deployed-runtime-source.js +97 -0
  699. package/adapters/versions/chain/src/index.d.ts +1 -0
  700. package/adapters/versions/chain/src/index.js +3 -0
  701. package/adapters/versions/github/README.md +108 -0
  702. package/adapters/versions/github/src/fetch-http-client.d.ts +15 -0
  703. package/adapters/versions/github/src/fetch-http-client.js +23 -0
  704. package/adapters/versions/github/src/github-release-artifacts.d.ts +36 -0
  705. package/adapters/versions/github/src/github-release-artifacts.js +166 -0
  706. package/adapters/versions/github/src/github-release-fixture-source.d.ts +51 -0
  707. package/adapters/versions/github/src/github-release-fixture-source.js +193 -0
  708. package/adapters/versions/github/src/github-version-source.d.ts +78 -0
  709. package/adapters/versions/github/src/github-version-source.js +281 -0
  710. package/adapters/versions/github/src/index.d.ts +4 -0
  711. package/adapters/versions/github/src/index.js +6 -0
  712. package/adapters/versions/npm/README.md +32 -0
  713. package/adapters/versions/npm/src/index.d.ts +1 -0
  714. package/adapters/versions/npm/src/index.js +3 -0
  715. package/adapters/versions/npm/src/npm-version-source.d.ts +53 -0
  716. package/adapters/versions/npm/src/npm-version-source.js +151 -0
  717. package/adapters/video/ffmpeg/README.md +39 -0
  718. package/adapters/video/ffmpeg/src/ffmpeg-video-editor.d.ts +40 -0
  719. package/adapters/video/ffmpeg/src/ffmpeg-video-editor.js +105 -0
  720. package/adapters/video/ffmpeg/src/index.d.ts +1 -0
  721. package/adapters/video/ffmpeg/src/index.js +3 -0
  722. package/adapters/visual/pixelmatch/README.md +29 -0
  723. package/adapters/visual/pixelmatch/src/index.d.ts +1 -0
  724. package/adapters/visual/pixelmatch/src/index.js +3 -0
  725. package/adapters/visual/pixelmatch/src/pixelmatch-comparison.d.ts +10 -0
  726. package/adapters/visual/pixelmatch/src/pixelmatch-comparison.js +19 -0
  727. package/composition/README.md +281 -0
  728. package/composition/src/actor-conditions.d.ts +14 -0
  729. package/composition/src/actor-conditions.js +36 -0
  730. package/composition/src/actor-funds.d.ts +18 -0
  731. package/composition/src/actor-funds.js +17 -0
  732. package/composition/src/adapter-catalogue.d.ts +39 -0
  733. package/composition/src/adapter-catalogue.js +59 -0
  734. package/composition/src/app-readiness.d.ts +32 -0
  735. package/composition/src/app-readiness.js +141 -0
  736. package/composition/src/app-server.d.ts +52 -0
  737. package/composition/src/app-server.js +124 -0
  738. package/composition/src/app-updates.d.ts +1 -0
  739. package/composition/src/app-updates.js +3 -0
  740. package/composition/src/artifacts.d.ts +3 -0
  741. package/composition/src/artifacts.js +6 -0
  742. package/composition/src/attached/attached-lab-runtime.d.ts +13 -0
  743. package/composition/src/attached/attached-lab-runtime.js +112 -0
  744. package/composition/src/attached/attached-runs.d.ts +47 -0
  745. package/composition/src/attached/attached-runs.js +119 -0
  746. package/composition/src/attached/following-lab-runtime.d.ts +10 -0
  747. package/composition/src/attached/following-lab-runtime.js +41 -0
  748. package/composition/src/attached/headless-lab.d.ts +20 -0
  749. package/composition/src/attached/headless-lab.js +65 -0
  750. package/composition/src/attached/lab-window-launcher.d.ts +33 -0
  751. package/composition/src/attached/lab-window-launcher.js +78 -0
  752. package/composition/src/attached/window-client.d.ts +21 -0
  753. package/composition/src/attached/window-client.js +72 -0
  754. package/composition/src/chain-connections.d.ts +39 -0
  755. package/composition/src/chain-connections.js +52 -0
  756. package/composition/src/checkout.d.ts +4 -0
  757. package/composition/src/checkout.js +11 -0
  758. package/composition/src/chopsticks-of-fast.d.ts +34 -0
  759. package/composition/src/chopsticks-of-fast.js +91 -0
  760. package/composition/src/create-lab-runtime.d.ts +70 -0
  761. package/composition/src/create-lab-runtime.js +248 -0
  762. package/composition/src/cucumber.d.ts +8 -0
  763. package/composition/src/cucumber.js +8 -0
  764. package/composition/src/default-dev-server.d.ts +20 -0
  765. package/composition/src/default-dev-server.js +52 -0
  766. package/composition/src/default-lab.d.ts +79 -0
  767. package/composition/src/default-lab.js +597 -0
  768. package/composition/src/default-session-browser.d.ts +7 -0
  769. package/composition/src/default-session-browser.js +17 -0
  770. package/composition/src/default-session-keep.d.ts +60 -0
  771. package/composition/src/default-session-keep.js +86 -0
  772. package/composition/src/default-session-page.d.ts +35 -0
  773. package/composition/src/default-session-page.js +40 -0
  774. package/composition/src/default-session-persons.d.ts +51 -0
  775. package/composition/src/default-session-persons.js +42 -0
  776. package/composition/src/default-session.d.ts +12 -0
  777. package/composition/src/default-session.js +594 -0
  778. package/composition/src/demo-ports.d.ts +8 -0
  779. package/composition/src/demo-ports.js +21 -0
  780. package/composition/src/deployed-app-server.d.ts +36 -0
  781. package/composition/src/deployed-app-server.js +62 -0
  782. package/composition/src/deployed-local-app.d.ts +30 -0
  783. package/composition/src/deployed-local-app.js +48 -0
  784. package/composition/src/device-browsers.d.ts +6 -0
  785. package/composition/src/device-browsers.js +16 -0
  786. package/composition/src/engine-setup.d.ts +1 -0
  787. package/composition/src/engine-setup.js +37 -0
  788. package/composition/src/feature-runtime.d.ts +5 -0
  789. package/composition/src/feature-runtime.js +12 -0
  790. package/composition/src/fixture-sharing.d.ts +12 -0
  791. package/composition/src/fixture-sharing.js +62 -0
  792. package/composition/src/fork-attach.d.ts +31 -0
  793. package/composition/src/fork-attach.js +80 -0
  794. package/composition/src/fork-live.d.ts +13 -0
  795. package/composition/src/fork-live.js +70 -0
  796. package/composition/src/gateway-program.d.ts +1 -0
  797. package/composition/src/gateway-program.js +24 -0
  798. package/composition/src/gateway-shutdown.d.ts +4 -0
  799. package/composition/src/gateway-shutdown.js +13 -0
  800. package/composition/src/host-tool-services.d.ts +21 -0
  801. package/composition/src/host-tool-services.js +27 -0
  802. package/composition/src/host-words.d.ts +3 -0
  803. package/composition/src/host-words.js +16 -0
  804. package/composition/src/identity-funding.d.ts +37 -0
  805. package/composition/src/identity-funding.js +92 -0
  806. package/composition/src/index.d.ts +38 -0
  807. package/composition/src/index.js +40 -0
  808. package/composition/src/machine-inputs.d.ts +67 -0
  809. package/composition/src/machine-inputs.js +98 -0
  810. package/composition/src/network-copies.d.ts +19 -0
  811. package/composition/src/network-copies.js +44 -0
  812. package/composition/src/node-system.d.ts +69 -0
  813. package/composition/src/node-system.js +89 -0
  814. package/composition/src/observe-browser-page.d.ts +15 -0
  815. package/composition/src/observe-browser-page.js +39 -0
  816. package/composition/src/old-environment-state.d.ts +13 -0
  817. package/composition/src/old-environment-state.js +138 -0
  818. package/composition/src/people-dev/genesis.d.ts +20 -0
  819. package/composition/src/people-dev/genesis.js +6 -0
  820. package/composition/src/people-dev/member-key.d.ts +58 -0
  821. package/composition/src/people-dev/member-key.js +110 -0
  822. package/composition/src/people-dev/onboarding.d.ts +142 -0
  823. package/composition/src/people-dev/onboarding.js +220 -0
  824. package/composition/src/people-dev/people-chunks.json +14 -0
  825. package/composition/src/people-dev/readings.d.ts +15 -0
  826. package/composition/src/people-dev/readings.js +35 -0
  827. package/composition/src/people-dev/xcm-stand-in.d.ts +163 -0
  828. package/composition/src/people-dev/xcm-stand-in.js +183 -0
  829. package/composition/src/people-keep/discard.d.ts +29 -0
  830. package/composition/src/people-keep/discard.js +59 -0
  831. package/composition/src/people-keep/kept-people.d.ts +53 -0
  832. package/composition/src/people-keep/kept-people.js +56 -0
  833. package/composition/src/people-keep/lifecycle.d.ts +48 -0
  834. package/composition/src/people-keep/lifecycle.js +69 -0
  835. package/composition/src/people-keep/saved-people.d.ts +35 -0
  836. package/composition/src/people-keep/saved-people.js +56 -0
  837. package/composition/src/platform/index.d.ts +1 -0
  838. package/composition/src/platform/index.js +3 -0
  839. package/composition/src/platform/platform-integration.d.ts +41 -0
  840. package/composition/src/platform/platform-integration.js +251 -0
  841. package/composition/src/platform/reported-ports.d.ts +4 -0
  842. package/composition/src/platform/reported-ports.js +31 -0
  843. package/composition/src/pre-onboarded-identities.d.ts +12 -0
  844. package/composition/src/pre-onboarded-identities.js +42 -0
  845. package/composition/src/process.d.ts +22 -0
  846. package/composition/src/process.js +27 -0
  847. package/composition/src/product-versions.d.ts +40 -0
  848. package/composition/src/product-versions.js +51 -0
  849. package/composition/src/public-identities.d.ts +44 -0
  850. package/composition/src/public-identities.js +88 -0
  851. package/composition/src/recording-browsers.d.ts +3 -0
  852. package/composition/src/recording-browsers.js +9 -0
  853. package/composition/src/recordings-directory.d.ts +1 -0
  854. package/composition/src/recordings-directory.js +10 -0
  855. package/composition/src/redact-console.d.ts +5 -0
  856. package/composition/src/redact-console.js +10 -0
  857. package/composition/src/root-call-support.d.ts +3 -0
  858. package/composition/src/root-call-support.js +16 -0
  859. package/composition/src/running-lab-variable.d.ts +8 -0
  860. package/composition/src/running-lab-variable.js +14 -0
  861. package/composition/src/session-frames.d.ts +5 -0
  862. package/composition/src/session-frames.js +12 -0
  863. package/composition/src/session-hosts.d.ts +66 -0
  864. package/composition/src/session-hosts.js +217 -0
  865. package/composition/src/session-placement.d.ts +25 -0
  866. package/composition/src/session-placement.js +21 -0
  867. package/composition/src/versions/lab-version-ports.d.ts +27 -0
  868. package/composition/src/versions/lab-version-ports.js +57 -0
  869. package/composition/src/versions/version-source-catalogue.d.ts +90 -0
  870. package/composition/src/versions/version-source-catalogue.js +134 -0
  871. package/contracts/browser/README.md +65 -0
  872. package/contracts/browser/src/index.d.ts +2 -0
  873. package/contracts/browser/src/index.js +4 -0
  874. package/contracts/browser/src/kit.d.ts +83 -0
  875. package/contracts/browser/src/kit.js +493 -0
  876. package/contracts/browser/src/runner.d.ts +71 -0
  877. package/contracts/browser/src/runner.js +156 -0
  878. package/contracts/chain/README.md +81 -0
  879. package/contracts/chain/src/cases/access.d.ts +3 -0
  880. package/contracts/chain/src/cases/access.js +68 -0
  881. package/contracts/chain/src/cases/history.d.ts +3 -0
  882. package/contracts/chain/src/cases/history.js +82 -0
  883. package/contracts/chain/src/cases/keys.d.ts +3 -0
  884. package/contracts/chain/src/cases/keys.js +131 -0
  885. package/contracts/chain/src/cases/submit.d.ts +3 -0
  886. package/contracts/chain/src/cases/submit.js +223 -0
  887. package/contracts/chain/src/cases/validator.d.ts +3 -0
  888. package/contracts/chain/src/cases/validator.js +59 -0
  889. package/contracts/chain/src/context.d.ts +51 -0
  890. package/contracts/chain/src/context.js +125 -0
  891. package/contracts/chain/src/index.d.ts +2 -0
  892. package/contracts/chain/src/index.js +4 -0
  893. package/contracts/chain/src/kit.d.ts +36 -0
  894. package/contracts/chain/src/kit.js +33 -0
  895. package/contracts/chain/src/runner.d.ts +71 -0
  896. package/contracts/chain/src/runner.js +156 -0
  897. package/contracts/chain/src/subject.d.ts +75 -0
  898. package/contracts/chain/src/subject.js +25 -0
  899. package/contracts/environment/README.md +90 -0
  900. package/contracts/environment/src/cases/declared-options.d.ts +3 -0
  901. package/contracts/environment/src/cases/declared-options.js +103 -0
  902. package/contracts/environment/src/cases/lifecycle.d.ts +3 -0
  903. package/contracts/environment/src/cases/lifecycle.js +130 -0
  904. package/contracts/environment/src/cases/options.d.ts +3 -0
  905. package/contracts/environment/src/cases/options.js +123 -0
  906. package/contracts/environment/src/cases/probe.d.ts +3 -0
  907. package/contracts/environment/src/cases/probe.js +63 -0
  908. package/contracts/environment/src/cases/topology.d.ts +3 -0
  909. package/contracts/environment/src/cases/topology.js +101 -0
  910. package/contracts/environment/src/checks.d.ts +31 -0
  911. package/contracts/environment/src/checks.js +93 -0
  912. package/contracts/environment/src/context.d.ts +23 -0
  913. package/contracts/environment/src/context.js +51 -0
  914. package/contracts/environment/src/index.d.ts +2 -0
  915. package/contracts/environment/src/index.js +4 -0
  916. package/contracts/environment/src/kit.d.ts +32 -0
  917. package/contracts/environment/src/kit.js +34 -0
  918. package/contracts/environment/src/runner.d.ts +71 -0
  919. package/contracts/environment/src/runner.js +156 -0
  920. package/contracts/environment/src/subject.d.ts +83 -0
  921. package/contracts/environment/src/subject.js +14 -0
  922. package/contracts/host/README.md +71 -0
  923. package/contracts/host/src/cases/approvals.d.ts +3 -0
  924. package/contracts/host/src/cases/approvals.js +112 -0
  925. package/contracts/host/src/cases/conditions.d.ts +3 -0
  926. package/contracts/host/src/cases/conditions.js +43 -0
  927. package/contracts/host/src/cases/hostile.d.ts +3 -0
  928. package/contracts/host/src/cases/hostile.js +131 -0
  929. package/contracts/host/src/cases/identity-navigation.d.ts +3 -0
  930. package/contracts/host/src/cases/identity-navigation.js +85 -0
  931. package/contracts/host/src/cases/network.d.ts +3 -0
  932. package/contracts/host/src/cases/network.js +46 -0
  933. package/contracts/host/src/cases/sessions.d.ts +3 -0
  934. package/contracts/host/src/cases/sessions.js +113 -0
  935. package/contracts/host/src/context.d.ts +85 -0
  936. package/contracts/host/src/context.js +145 -0
  937. package/contracts/host/src/derivation.d.ts +19 -0
  938. package/contracts/host/src/derivation.js +76 -0
  939. package/contracts/host/src/index.d.ts +6 -0
  940. package/contracts/host/src/index.js +8 -0
  941. package/contracts/host/src/kit.d.ts +27 -0
  942. package/contracts/host/src/kit.js +128 -0
  943. package/contracts/host/src/module-host-verifier.d.ts +19 -0
  944. package/contracts/host/src/module-host-verifier.js +80 -0
  945. package/contracts/host/src/probe/channels.d.ts +18 -0
  946. package/contracts/host/src/probe/channels.js +11 -0
  947. package/contracts/host/src/probe/page.d.ts +89 -0
  948. package/contracts/host/src/probe/page.js +253 -0
  949. package/contracts/host/src/probe/server.d.ts +23 -0
  950. package/contracts/host/src/probe/server.js +102 -0
  951. package/contracts/host/src/probe/truapi-version.d.ts +5 -0
  952. package/contracts/host/src/probe/truapi-version.js +20 -0
  953. package/contracts/host/src/targets.d.ts +49 -0
  954. package/contracts/host/src/targets.js +39 -0
  955. package/core/application/README.md +517 -0
  956. package/core/application/src/actors/actor-bindings.d.ts +18 -0
  957. package/core/application/src/actors/actor-bindings.js +38 -0
  958. package/core/application/src/actors/actor-view.d.ts +35 -0
  959. package/core/application/src/actors/actor-view.js +40 -0
  960. package/core/application/src/actors/bind-actors.d.ts +82 -0
  961. package/core/application/src/actors/bind-actors.js +156 -0
  962. package/core/application/src/actors/binding-error.d.ts +4 -0
  963. package/core/application/src/actors/binding-error.js +5 -0
  964. package/core/application/src/actors/manage-actors.d.ts +64 -0
  965. package/core/application/src/actors/manage-actors.js +147 -0
  966. package/core/application/src/apps/app-gate.d.ts +43 -0
  967. package/core/application/src/apps/app-gate.js +106 -0
  968. package/core/application/src/apps/app-reloads.d.ts +74 -0
  969. package/core/application/src/apps/app-reloads.js +470 -0
  970. package/core/application/src/apps/app-update-hub.d.ts +33 -0
  971. package/core/application/src/apps/app-update-hub.js +116 -0
  972. package/core/application/src/apps/inspect-app-framing.d.ts +9 -0
  973. package/core/application/src/apps/inspect-app-framing.js +25 -0
  974. package/core/application/src/bisect/bisect-regression.d.ts +52 -0
  975. package/core/application/src/bisect/bisect-regression.js +168 -0
  976. package/core/application/src/bisect/probe-session.d.ts +52 -0
  977. package/core/application/src/bisect/probe-session.js +208 -0
  978. package/core/application/src/builder/build-scenarios.d.ts +55 -0
  979. package/core/application/src/builder/build-scenarios.js +261 -0
  980. package/core/application/src/environment/account-watch.d.ts +41 -0
  981. package/core/application/src/environment/account-watch.js +117 -0
  982. package/core/application/src/environment/active-environment.d.ts +165 -0
  983. package/core/application/src/environment/active-environment.js +361 -0
  984. package/core/application/src/environment/advance-environment-time.d.ts +37 -0
  985. package/core/application/src/environment/advance-environment-time.js +52 -0
  986. package/core/application/src/environment/chain-day-ended.d.ts +7 -0
  987. package/core/application/src/environment/chain-day-ended.js +8 -0
  988. package/core/application/src/environment/confirmations.d.ts +15 -0
  989. package/core/application/src/environment/confirmations.js +23 -0
  990. package/core/application/src/environment/endpoint-heads.d.ts +4 -0
  991. package/core/application/src/environment/endpoint-heads.js +26 -0
  992. package/core/application/src/environment/endpoint-services.d.ts +13 -0
  993. package/core/application/src/environment/endpoint-services.js +35 -0
  994. package/core/application/src/environment/environment-option-picker.d.ts +38 -0
  995. package/core/application/src/environment/environment-option-picker.js +62 -0
  996. package/core/application/src/environment/environment-option-views.d.ts +30 -0
  997. package/core/application/src/environment/environment-option-views.js +22 -0
  998. package/core/application/src/environment/environment-request-error.d.ts +1 -0
  999. package/core/application/src/environment/environment-request-error.js +3 -0
  1000. package/core/application/src/environment/environment-retention.d.ts +11 -0
  1001. package/core/application/src/environment/environment-retention.js +16 -0
  1002. package/core/application/src/environment/environment-rpc.d.ts +17 -0
  1003. package/core/application/src/environment/environment-rpc.js +39 -0
  1004. package/core/application/src/environment/keep-between-starts.d.ts +18 -0
  1005. package/core/application/src/environment/keep-between-starts.js +44 -0
  1006. package/core/application/src/environment/prepare-environment-tooling.d.ts +21 -0
  1007. package/core/application/src/environment/prepare-environment-tooling.js +65 -0
  1008. package/core/application/src/environment/public-writes.d.ts +5 -0
  1009. package/core/application/src/environment/public-writes.js +9 -0
  1010. package/core/application/src/environment/read-chain-console.d.ts +23 -0
  1011. package/core/application/src/environment/read-chain-console.js +117 -0
  1012. package/core/application/src/environment/reset-environment.d.ts +12 -0
  1013. package/core/application/src/environment/reset-environment.js +38 -0
  1014. package/core/application/src/environment/running-labs.d.ts +13 -0
  1015. package/core/application/src/environment/running-labs.js +22 -0
  1016. package/core/application/src/environment/show-environment.d.ts +19 -0
  1017. package/core/application/src/environment/show-environment.js +63 -0
  1018. package/core/application/src/environment/start-environment.d.ts +85 -0
  1019. package/core/application/src/environment/start-environment.js +223 -0
  1020. package/core/application/src/environment/stop-environment.d.ts +11 -0
  1021. package/core/application/src/environment/stop-environment.js +33 -0
  1022. package/core/application/src/environment/switch-environment.d.ts +62 -0
  1023. package/core/application/src/environment/switch-environment.js +175 -0
  1024. package/core/application/src/explore/exploration-runs.d.ts +21 -0
  1025. package/core/application/src/explore/exploration-runs.js +54 -0
  1026. package/core/application/src/explore/explore-lab.d.ts +30 -0
  1027. package/core/application/src/explore/explore-lab.js +185 -0
  1028. package/core/application/src/explore/what-if-lab.d.ts +27 -0
  1029. package/core/application/src/explore/what-if-lab.js +166 -0
  1030. package/core/application/src/features/breakpoint-error.d.ts +4 -0
  1031. package/core/application/src/features/breakpoint-error.js +5 -0
  1032. package/core/application/src/features/check-host-network.d.ts +29 -0
  1033. package/core/application/src/features/check-host-network.js +82 -0
  1034. package/core/application/src/features/check-host-requests.d.ts +5 -0
  1035. package/core/application/src/features/check-host-requests.js +22 -0
  1036. package/core/application/src/features/coverage-lab.d.ts +9 -0
  1037. package/core/application/src/features/coverage-lab.js +74 -0
  1038. package/core/application/src/features/expand-outline.d.ts +9 -0
  1039. package/core/application/src/features/expand-outline.js +16 -0
  1040. package/core/application/src/features/feature-calls.d.ts +49 -0
  1041. package/core/application/src/features/feature-calls.js +104 -0
  1042. package/core/application/src/features/feature-plan-error.d.ts +16 -0
  1043. package/core/application/src/features/feature-plan-error.js +19 -0
  1044. package/core/application/src/features/feature-run-error.d.ts +6 -0
  1045. package/core/application/src/features/feature-run-error.js +10 -0
  1046. package/core/application/src/features/feature-run.d.ts +75 -0
  1047. package/core/application/src/features/feature-run.js +231 -0
  1048. package/core/application/src/features/feature-scenario.d.ts +156 -0
  1049. package/core/application/src/features/feature-scenario.js +623 -0
  1050. package/core/application/src/features/feature-step-error.d.ts +17 -0
  1051. package/core/application/src/features/feature-step-error.js +17 -0
  1052. package/core/application/src/features/feature-step-gate.d.ts +54 -0
  1053. package/core/application/src/features/feature-step-gate.js +93 -0
  1054. package/core/application/src/features/feature-step-times.d.ts +16 -0
  1055. package/core/application/src/features/feature-step-times.js +30 -0
  1056. package/core/application/src/features/feature-steps.d.ts +3 -0
  1057. package/core/application/src/features/feature-steps.js +22 -0
  1058. package/core/application/src/features/inspect-pause.d.ts +27 -0
  1059. package/core/application/src/features/inspect-pause.js +176 -0
  1060. package/core/application/src/features/inspect-scenario.d.ts +14 -0
  1061. package/core/application/src/features/inspect-scenario.js +98 -0
  1062. package/core/application/src/features/lab-feature-session.d.ts +67 -0
  1063. package/core/application/src/features/lab-feature-session.js +264 -0
  1064. package/core/application/src/features/lint-lab.d.ts +15 -0
  1065. package/core/application/src/features/lint-lab.js +204 -0
  1066. package/core/application/src/features/list-features.d.ts +26 -0
  1067. package/core/application/src/features/list-features.js +92 -0
  1068. package/core/application/src/features/manage-breakpoints.d.ts +45 -0
  1069. package/core/application/src/features/manage-breakpoints.js +105 -0
  1070. package/core/application/src/features/no-funds.d.ts +3 -0
  1071. package/core/application/src/features/no-funds.js +13 -0
  1072. package/core/application/src/features/pause-inspection-error.d.ts +4 -0
  1073. package/core/application/src/features/pause-inspection-error.js +5 -0
  1074. package/core/application/src/features/plan-feature-scenario.d.ts +28 -0
  1075. package/core/application/src/features/plan-feature-scenario.js +66 -0
  1076. package/core/application/src/features/plan-mutants.d.ts +9 -0
  1077. package/core/application/src/features/plan-mutants.js +33 -0
  1078. package/core/application/src/features/prepared-characters.d.ts +13 -0
  1079. package/core/application/src/features/prepared-characters.js +52 -0
  1080. package/core/application/src/features/read-scenario-conditions.d.ts +29 -0
  1081. package/core/application/src/features/read-scenario-conditions.js +38 -0
  1082. package/core/application/src/features/reconcile-host-bypass.d.ts +7 -0
  1083. package/core/application/src/features/reconcile-host-bypass.js +20 -0
  1084. package/core/application/src/features/resolve-run-devices.d.ts +14 -0
  1085. package/core/application/src/features/resolve-run-devices.js +31 -0
  1086. package/core/application/src/features/run-feature-steps.d.ts +41 -0
  1087. package/core/application/src/features/run-feature-steps.js +37 -0
  1088. package/core/application/src/features/run-features.d.ts +112 -0
  1089. package/core/application/src/features/run-features.js +397 -0
  1090. package/core/application/src/features/run-scoped-values.d.ts +17 -0
  1091. package/core/application/src/features/run-scoped-values.js +37 -0
  1092. package/core/application/src/features/scenario-actor-creation.d.ts +60 -0
  1093. package/core/application/src/features/scenario-actor-creation.js +107 -0
  1094. package/core/application/src/features/scenario-conditions.d.ts +13 -0
  1095. package/core/application/src/features/scenario-conditions.js +64 -0
  1096. package/core/application/src/features/scenario-inspection.d.ts +5 -0
  1097. package/core/application/src/features/scenario-inspection.js +34 -0
  1098. package/core/application/src/features/scenario-race.d.ts +8 -0
  1099. package/core/application/src/features/scenario-race.js +8 -0
  1100. package/core/application/src/features/scenario-step-checks.d.ts +22 -0
  1101. package/core/application/src/features/scenario-step-checks.js +114 -0
  1102. package/core/application/src/features/step-checks.d.ts +49 -0
  1103. package/core/application/src/features/step-checks.js +42 -0
  1104. package/core/application/src/features/watch-features.d.ts +23 -0
  1105. package/core/application/src/features/watch-features.js +80 -0
  1106. package/core/application/src/fixtures/build-fixture.d.ts +22 -0
  1107. package/core/application/src/fixtures/build-fixture.js +69 -0
  1108. package/core/application/src/fixtures/check-fixtures.d.ts +15 -0
  1109. package/core/application/src/fixtures/check-fixtures.js +80 -0
  1110. package/core/application/src/fixtures/download-fixture.d.ts +19 -0
  1111. package/core/application/src/fixtures/download-fixture.js +92 -0
  1112. package/core/application/src/fixtures/export-fixture.d.ts +16 -0
  1113. package/core/application/src/fixtures/export-fixture.js +87 -0
  1114. package/core/application/src/fixtures/fixture-characters.d.ts +10 -0
  1115. package/core/application/src/fixtures/fixture-characters.js +24 -0
  1116. package/core/application/src/fixtures/fixture-checkout.d.ts +15 -0
  1117. package/core/application/src/fixtures/fixture-checkout.js +25 -0
  1118. package/core/application/src/fixtures/fixture-context.d.ts +79 -0
  1119. package/core/application/src/fixtures/fixture-context.js +139 -0
  1120. package/core/application/src/fixtures/fixture-maintenance-service.d.ts +23 -0
  1121. package/core/application/src/fixtures/fixture-maintenance-service.js +26 -0
  1122. package/core/application/src/fixtures/fixture-run-guard.d.ts +17 -0
  1123. package/core/application/src/fixtures/fixture-run-guard.js +42 -0
  1124. package/core/application/src/fixtures/fixture-sharing-ports.d.ts +17 -0
  1125. package/core/application/src/fixtures/fixture-sharing-ports.js +3 -0
  1126. package/core/application/src/fixtures/fixture-sharing-service.d.ts +22 -0
  1127. package/core/application/src/fixtures/fixture-sharing-service.js +28 -0
  1128. package/core/application/src/fixtures/import-fixture.d.ts +42 -0
  1129. package/core/application/src/fixtures/import-fixture.js +212 -0
  1130. package/core/application/src/fixtures/isolate-scenario.d.ts +23 -0
  1131. package/core/application/src/fixtures/isolate-scenario.js +104 -0
  1132. package/core/application/src/fixtures/keep-run-start.d.ts +36 -0
  1133. package/core/application/src/fixtures/keep-run-start.js +77 -0
  1134. package/core/application/src/fixtures/list-fixtures.d.ts +16 -0
  1135. package/core/application/src/fixtures/list-fixtures.js +91 -0
  1136. package/core/application/src/fixtures/prepare-scenario-fixture.d.ts +42 -0
  1137. package/core/application/src/fixtures/prepare-scenario-fixture.js +157 -0
  1138. package/core/application/src/fixtures/push-fixture.d.ts +15 -0
  1139. package/core/application/src/fixtures/push-fixture.js +43 -0
  1140. package/core/application/src/fixtures/refresh-fixture.d.ts +27 -0
  1141. package/core/application/src/fixtures/refresh-fixture.js +141 -0
  1142. package/core/application/src/fixtures/restore-fixture.d.ts +36 -0
  1143. package/core/application/src/fixtures/restore-fixture.js +129 -0
  1144. package/core/application/src/fixtures/save-fixture.d.ts +35 -0
  1145. package/core/application/src/fixtures/save-fixture.js +137 -0
  1146. package/core/application/src/fixtures/start-from-fixture.d.ts +23 -0
  1147. package/core/application/src/fixtures/start-from-fixture.js +43 -0
  1148. package/core/application/src/hosts/acquire-host.d.ts +23 -0
  1149. package/core/application/src/hosts/acquire-host.js +59 -0
  1150. package/core/application/src/hosts/host-request-error.d.ts +6 -0
  1151. package/core/application/src/hosts/host-request-error.js +10 -0
  1152. package/core/application/src/hosts/verify-host.d.ts +37 -0
  1153. package/core/application/src/hosts/verify-host.js +93 -0
  1154. package/core/application/src/index.d.ts +96 -0
  1155. package/core/application/src/index.js +96 -0
  1156. package/core/application/src/lab/before-close.d.ts +12 -0
  1157. package/core/application/src/lab/before-close.js +14 -0
  1158. package/core/application/src/lab/check-extensions.d.ts +5 -0
  1159. package/core/application/src/lab/check-extensions.js +12 -0
  1160. package/core/application/src/lab/check-lab.d.ts +35 -0
  1161. package/core/application/src/lab/check-lab.js +82 -0
  1162. package/core/application/src/lab/lab-state.d.ts +87 -0
  1163. package/core/application/src/lab/lab-state.js +38 -0
  1164. package/core/application/src/lab/load-lab.d.ts +15 -0
  1165. package/core/application/src/lab/load-lab.js +35 -0
  1166. package/core/application/src/lab/runtime-events.d.ts +7 -0
  1167. package/core/application/src/lab/runtime-events.js +17 -0
  1168. package/core/application/src/lab-runtime-ports.d.ts +297 -0
  1169. package/core/application/src/lab-runtime-ports.js +3 -0
  1170. package/core/application/src/lab-runtime-service.d.ts +281 -0
  1171. package/core/application/src/lab-runtime-service.js +520 -0
  1172. package/core/application/src/lab-runtime-use-cases.d.ts +3 -0
  1173. package/core/application/src/lab-runtime-use-cases.js +280 -0
  1174. package/core/application/src/load/run-load.d.ts +23 -0
  1175. package/core/application/src/load/run-load.js +88 -0
  1176. package/core/application/src/navigation/resolve-navigation-destination.d.ts +8 -0
  1177. package/core/application/src/navigation/resolve-navigation-destination.js +39 -0
  1178. package/core/application/src/orchestration/activity/monitor.d.ts +16 -0
  1179. package/core/application/src/orchestration/activity/monitor.js +49 -0
  1180. package/core/application/src/orchestration/activity/types.d.ts +1 -0
  1181. package/core/application/src/orchestration/activity/types.js +3 -0
  1182. package/core/application/src/orchestration/capabilities.d.ts +8 -0
  1183. package/core/application/src/orchestration/capabilities.js +3 -0
  1184. package/core/application/src/orchestration/chain/account-queue.d.ts +26 -0
  1185. package/core/application/src/orchestration/chain/account-queue.js +61 -0
  1186. package/core/application/src/orchestration/chain/activity-ids.d.ts +14 -0
  1187. package/core/application/src/orchestration/chain/activity-ids.js +11 -0
  1188. package/core/application/src/orchestration/chain/batch-failed-error.d.ts +13 -0
  1189. package/core/application/src/orchestration/chain/batch-failed-error.js +14 -0
  1190. package/core/application/src/orchestration/chain/batch-submission.d.ts +60 -0
  1191. package/core/application/src/orchestration/chain/batch-submission.js +77 -0
  1192. package/core/application/src/orchestration/chain/chain-connection.d.ts +78 -0
  1193. package/core/application/src/orchestration/chain/chain-connection.js +82 -0
  1194. package/core/application/src/orchestration/chain/dispatch-failed-error.d.ts +12 -0
  1195. package/core/application/src/orchestration/chain/dispatch-failed-error.js +16 -0
  1196. package/core/application/src/orchestration/chain/events.d.ts +56 -0
  1197. package/core/application/src/orchestration/chain/events.js +97 -0
  1198. package/core/application/src/orchestration/chain/funding-batch.d.ts +40 -0
  1199. package/core/application/src/orchestration/chain/funding-batch.js +100 -0
  1200. package/core/application/src/orchestration/chain/index.d.ts +14 -0
  1201. package/core/application/src/orchestration/chain/index.js +15 -0
  1202. package/core/application/src/orchestration/chain/root-call-failed-error.d.ts +6 -0
  1203. package/core/application/src/orchestration/chain/root-call-failed-error.js +8 -0
  1204. package/core/application/src/orchestration/chain/root-call-refused-error.d.ts +6 -0
  1205. package/core/application/src/orchestration/chain/root-call-refused-error.js +8 -0
  1206. package/core/application/src/orchestration/chain/root-caller.d.ts +56 -0
  1207. package/core/application/src/orchestration/chain/root-caller.js +54 -0
  1208. package/core/application/src/orchestration/chain/scenario-journal.d.ts +27 -0
  1209. package/core/application/src/orchestration/chain/scenario-journal.js +28 -0
  1210. package/core/application/src/orchestration/chain/signing-queues.d.ts +28 -0
  1211. package/core/application/src/orchestration/chain/signing-queues.js +93 -0
  1212. package/core/application/src/orchestration/chain/statement-reader.d.ts +79 -0
  1213. package/core/application/src/orchestration/chain/statement-reader.js +108 -0
  1214. package/core/application/src/orchestration/chain/transaction-executor.d.ts +85 -0
  1215. package/core/application/src/orchestration/chain/transaction-executor.js +184 -0
  1216. package/core/application/src/orchestration/chain/unreadable-blocks-error.d.ts +15 -0
  1217. package/core/application/src/orchestration/chain/unreadable-blocks-error.js +17 -0
  1218. package/core/application/src/orchestration/definitions.d.ts +2 -0
  1219. package/core/application/src/orchestration/definitions.js +5 -0
  1220. package/core/application/src/orchestration/host/chain-gate-source.d.ts +34 -0
  1221. package/core/application/src/orchestration/host/chain-gate-source.js +65 -0
  1222. package/core/application/src/orchestration/host/destinations.d.ts +6 -0
  1223. package/core/application/src/orchestration/host/destinations.js +3 -0
  1224. package/core/application/src/orchestration/host/host-registry.d.ts +93 -0
  1225. package/core/application/src/orchestration/host/host-registry.js +255 -0
  1226. package/core/application/src/orchestration/host/host-routes.d.ts +14 -0
  1227. package/core/application/src/orchestration/host/host-routes.js +11 -0
  1228. package/core/application/src/orchestration/host/host-session-registry.d.ts +79 -0
  1229. package/core/application/src/orchestration/host/host-session-registry.js +150 -0
  1230. package/core/application/src/orchestration/host/index.d.ts +8 -0
  1231. package/core/application/src/orchestration/host/index.js +10 -0
  1232. package/core/application/src/orchestration/host/lab-navigation.d.ts +103 -0
  1233. package/core/application/src/orchestration/host/lab-navigation.js +188 -0
  1234. package/core/application/src/orchestration/host/navigation-bridge.d.ts +82 -0
  1235. package/core/application/src/orchestration/host/navigation-bridge.js +123 -0
  1236. package/core/application/src/orchestration/host/port.d.ts +12 -0
  1237. package/core/application/src/orchestration/host/port.js +3 -0
  1238. package/core/application/src/orchestration/host/session-records.d.ts +11 -0
  1239. package/core/application/src/orchestration/host/session-records.js +23 -0
  1240. package/core/application/src/orchestration/identity/index.d.ts +1 -0
  1241. package/core/application/src/orchestration/identity/index.js +3 -0
  1242. package/core/application/src/orchestration/identity/port.d.ts +11 -0
  1243. package/core/application/src/orchestration/identity/port.js +3 -0
  1244. package/core/application/src/orchestration/index.d.ts +52 -0
  1245. package/core/application/src/orchestration/index.js +46 -0
  1246. package/core/application/src/orchestration/integrations/chain-event-assertion.d.ts +49 -0
  1247. package/core/application/src/orchestration/integrations/chain-event-assertion.js +33 -0
  1248. package/core/application/src/orchestration/integrations/define.d.ts +472 -0
  1249. package/core/application/src/orchestration/integrations/define.js +64 -0
  1250. package/core/application/src/orchestration/integrations/generic-sentences.d.ts +1 -0
  1251. package/core/application/src/orchestration/integrations/generic-sentences.js +3 -0
  1252. package/core/application/src/orchestration/integrations/integration-registry.d.ts +53 -0
  1253. package/core/application/src/orchestration/integrations/integration-registry.js +261 -0
  1254. package/core/application/src/orchestration/integrations/integration-scenarios.d.ts +17 -0
  1255. package/core/application/src/orchestration/integrations/integration-scenarios.js +48 -0
  1256. package/core/application/src/orchestration/integrations/integration-sentences.d.ts +78 -0
  1257. package/core/application/src/orchestration/integrations/integration-sentences.js +214 -0
  1258. package/core/application/src/orchestration/integrations/known-submission-error.d.ts +16 -0
  1259. package/core/application/src/orchestration/integrations/known-submission-error.js +22 -0
  1260. package/core/application/src/orchestration/integrations/ui-chain-check.d.ts +104 -0
  1261. package/core/application/src/orchestration/integrations/ui-chain-check.js +191 -0
  1262. package/core/application/src/orchestration/lab/block-availability.d.ts +20 -0
  1263. package/core/application/src/orchestration/lab/block-availability.js +30 -0
  1264. package/core/application/src/orchestration/lab/checked-environment-time.d.ts +29 -0
  1265. package/core/application/src/orchestration/lab/checked-environment-time.js +52 -0
  1266. package/core/application/src/orchestration/lab/compile.d.ts +66 -0
  1267. package/core/application/src/orchestration/lab/compile.js +54 -0
  1268. package/core/application/src/orchestration/lab/declared-lab-catalog.d.ts +132 -0
  1269. package/core/application/src/orchestration/lab/declared-lab-catalog.js +343 -0
  1270. package/core/application/src/orchestration/lab/define.d.ts +377 -0
  1271. package/core/application/src/orchestration/lab/define.js +18 -0
  1272. package/core/application/src/orchestration/lab/environment-actors.d.ts +18 -0
  1273. package/core/application/src/orchestration/lab/environment-actors.js +22 -0
  1274. package/core/application/src/orchestration/lab/environment-fixtures.d.ts +14 -0
  1275. package/core/application/src/orchestration/lab/environment-fixtures.js +43 -0
  1276. package/core/application/src/orchestration/lab/environment-options.d.ts +20 -0
  1277. package/core/application/src/orchestration/lab/environment-options.js +26 -0
  1278. package/core/application/src/orchestration/lab/environment-registry.d.ts +50 -0
  1279. package/core/application/src/orchestration/lab/environment-registry.js +124 -0
  1280. package/core/application/src/orchestration/lab/environment-view.d.ts +12 -0
  1281. package/core/application/src/orchestration/lab/environment-view.js +73 -0
  1282. package/core/application/src/orchestration/lab/environments.d.ts +74 -0
  1283. package/core/application/src/orchestration/lab/environments.js +98 -0
  1284. package/core/application/src/orchestration/lab/holding-browsers.d.ts +16 -0
  1285. package/core/application/src/orchestration/lab/holding-browsers.js +18 -0
  1286. package/core/application/src/orchestration/lab/integration-availability.d.ts +39 -0
  1287. package/core/application/src/orchestration/lab/integration-availability.js +51 -0
  1288. package/core/application/src/orchestration/lab/kept-placements.d.ts +11 -0
  1289. package/core/application/src/orchestration/lab/kept-placements.js +17 -0
  1290. package/core/application/src/orchestration/lab/lab-rpc.d.ts +30 -0
  1291. package/core/application/src/orchestration/lab/lab-rpc.js +153 -0
  1292. package/core/application/src/orchestration/lab/loaded-lab.d.ts +42 -0
  1293. package/core/application/src/orchestration/lab/loaded-lab.js +48 -0
  1294. package/core/application/src/orchestration/lab/product-lab-config.d.ts +244 -0
  1295. package/core/application/src/orchestration/lab/product-lab-config.js +8 -0
  1296. package/core/application/src/orchestration/lab/registry.d.ts +25 -0
  1297. package/core/application/src/orchestration/lab/registry.js +168 -0
  1298. package/core/application/src/orchestration/lab/root-call-access.d.ts +46 -0
  1299. package/core/application/src/orchestration/lab/root-call-access.js +50 -0
  1300. package/core/application/src/orchestration/lab/scenario-conditions.d.ts +25 -0
  1301. package/core/application/src/orchestration/lab/scenario-conditions.js +31 -0
  1302. package/core/application/src/orchestration/lab/session-ports.d.ts +63 -0
  1303. package/core/application/src/orchestration/lab/session-ports.js +132 -0
  1304. package/core/application/src/orchestration/lab/source-lab-loader.d.ts +60 -0
  1305. package/core/application/src/orchestration/lab/source-lab-loader.js +57 -0
  1306. package/core/application/src/orchestration/lab/start-lab-environment.d.ts +6 -0
  1307. package/core/application/src/orchestration/lab/start-lab-environment.js +609 -0
  1308. package/core/application/src/orchestration/lab/topology-overrides.d.ts +3 -0
  1309. package/core/application/src/orchestration/lab/topology-overrides.js +42 -0
  1310. package/core/application/src/orchestration/lab/validate.d.ts +36 -0
  1311. package/core/application/src/orchestration/lab/validate.js +235 -0
  1312. package/core/application/src/orchestration/managed-environment.d.ts +7 -0
  1313. package/core/application/src/orchestration/managed-environment.js +109 -0
  1314. package/core/application/src/orchestration/run/index.d.ts +8 -0
  1315. package/core/application/src/orchestration/run/index.js +3 -0
  1316. package/core/application/src/orchestration/run/resources.d.ts +8 -0
  1317. package/core/application/src/orchestration/run/resources.js +3 -0
  1318. package/core/application/src/orchestration/secrets/dev-account-source.d.ts +10 -0
  1319. package/core/application/src/orchestration/secrets/dev-account-source.js +18 -0
  1320. package/core/application/src/orchestration/secrets/env-source.d.ts +10 -0
  1321. package/core/application/src/orchestration/secrets/env-source.js +19 -0
  1322. package/core/application/src/orchestration/secrets/secret-error.d.ts +5 -0
  1323. package/core/application/src/orchestration/secrets/secret-error.js +10 -0
  1324. package/core/application/src/orchestration/secrets/secret-resolver.d.ts +53 -0
  1325. package/core/application/src/orchestration/secrets/secret-resolver.js +92 -0
  1326. package/core/application/src/orchestration/secrets/secret-source.d.ts +18 -0
  1327. package/core/application/src/orchestration/secrets/secret-source.js +12 -0
  1328. package/core/application/src/orchestration/secrets/sources.d.ts +27 -0
  1329. package/core/application/src/orchestration/secrets/sources.js +42 -0
  1330. package/core/application/src/orchestration/services/authority-error.d.ts +7 -0
  1331. package/core/application/src/orchestration/services/authority-error.js +9 -0
  1332. package/core/application/src/orchestration/services/authorized-service.d.ts +54 -0
  1333. package/core/application/src/orchestration/services/authorized-service.js +59 -0
  1334. package/core/application/src/orchestration/services/define.d.ts +61 -0
  1335. package/core/application/src/orchestration/services/define.js +49 -0
  1336. package/core/application/src/orchestration/services/service-container.d.ts +85 -0
  1337. package/core/application/src/orchestration/services/service-container.js +320 -0
  1338. package/core/application/src/orchestration/services/service-error.d.ts +7 -0
  1339. package/core/application/src/orchestration/services/service-error.js +10 -0
  1340. package/core/application/src/orchestration/services/service-lifetime-scope.d.ts +22 -0
  1341. package/core/application/src/orchestration/services/service-lifetime-scope.js +22 -0
  1342. package/core/application/src/orchestration/services/stale-generation-error.d.ts +5 -0
  1343. package/core/application/src/orchestration/services/stale-generation-error.js +9 -0
  1344. package/core/application/src/orchestration/steps.d.ts +28 -0
  1345. package/core/application/src/orchestration/steps.js +36 -0
  1346. package/core/application/src/orchestration/topology.d.ts +7 -0
  1347. package/core/application/src/orchestration/topology.js +6 -0
  1348. package/core/application/src/orchestration/types.d.ts +4 -0
  1349. package/core/application/src/orchestration/types.js +3 -0
  1350. package/core/application/src/recordings/check-step-speed.d.ts +10 -0
  1351. package/core/application/src/recordings/check-step-speed.js +43 -0
  1352. package/core/application/src/recordings/console-collector.d.ts +21 -0
  1353. package/core/application/src/recordings/console-collector.js +43 -0
  1354. package/core/application/src/recordings/console-log.d.ts +19 -0
  1355. package/core/application/src/recordings/console-log.js +29 -0
  1356. package/core/application/src/recordings/deadline.d.ts +16 -0
  1357. package/core/application/src/recordings/deadline.js +23 -0
  1358. package/core/application/src/recordings/demo-markup.d.ts +66 -0
  1359. package/core/application/src/recordings/demo-markup.js +90 -0
  1360. package/core/application/src/recordings/demo-recording.d.ts +32 -0
  1361. package/core/application/src/recordings/demo-recording.js +213 -0
  1362. package/core/application/src/recordings/frame-sources.d.ts +9 -0
  1363. package/core/application/src/recordings/frame-sources.js +14 -0
  1364. package/core/application/src/recordings/health-sampler.d.ts +33 -0
  1365. package/core/application/src/recordings/health-sampler.js +71 -0
  1366. package/core/application/src/recordings/host-logs.d.ts +17 -0
  1367. package/core/application/src/recordings/host-logs.js +43 -0
  1368. package/core/application/src/recordings/list-recordings.d.ts +11 -0
  1369. package/core/application/src/recordings/list-recordings.js +23 -0
  1370. package/core/application/src/recordings/open-recording.d.ts +17 -0
  1371. package/core/application/src/recordings/open-recording.js +41 -0
  1372. package/core/application/src/recordings/read-run-step-health.d.ts +18 -0
  1373. package/core/application/src/recordings/read-run-step-health.js +39 -0
  1374. package/core/application/src/recordings/record-runs.d.ts +121 -0
  1375. package/core/application/src/recordings/record-runs.js +426 -0
  1376. package/core/application/src/recordings/recording-draft.d.ts +108 -0
  1377. package/core/application/src/recordings/recording-draft.js +214 -0
  1378. package/core/application/src/recordings/recording-stores.d.ts +18 -0
  1379. package/core/application/src/recordings/recording-stores.js +21 -0
  1380. package/core/application/src/recordings/step-chain-reader.d.ts +54 -0
  1381. package/core/application/src/recordings/step-chain-reader.js +176 -0
  1382. package/core/application/src/recordings/step-host-request-reader.d.ts +18 -0
  1383. package/core/application/src/recordings/step-host-request-reader.js +63 -0
  1384. package/core/application/src/recordings/write-journey-docs.d.ts +17 -0
  1385. package/core/application/src/recordings/write-journey-docs.js +119 -0
  1386. package/core/application/src/redaction/bip39-english.d.ts +1 -0
  1387. package/core/application/src/redaction/bip39-english.js +132 -0
  1388. package/core/application/src/redaction/secret-redactor.d.ts +21 -0
  1389. package/core/application/src/redaction/secret-redactor.js +104 -0
  1390. package/core/application/src/runs/activity-log.d.ts +49 -0
  1391. package/core/application/src/runs/activity-log.js +199 -0
  1392. package/core/application/src/runs/after-failure-checks.d.ts +56 -0
  1393. package/core/application/src/runs/after-failure-checks.js +89 -0
  1394. package/core/application/src/runs/after-failure-words.d.ts +9 -0
  1395. package/core/application/src/runs/after-failure-words.js +63 -0
  1396. package/core/application/src/runs/bundles/bundle-paths.d.ts +12 -0
  1397. package/core/application/src/runs/bundles/bundle-paths.js +59 -0
  1398. package/core/application/src/runs/bundles/bundle-recording.d.ts +44 -0
  1399. package/core/application/src/runs/bundles/bundle-recording.js +288 -0
  1400. package/core/application/src/runs/bundles/open-run-bundle.d.ts +23 -0
  1401. package/core/application/src/runs/bundles/open-run-bundle.js +50 -0
  1402. package/core/application/src/runs/bundles/reproduce-run.d.ts +44 -0
  1403. package/core/application/src/runs/bundles/reproduce-run.js +173 -0
  1404. package/core/application/src/runs/bundles/run-bundle-ports.d.ts +7 -0
  1405. package/core/application/src/runs/bundles/run-bundle-ports.js +3 -0
  1406. package/core/application/src/runs/bundles/run-bundle-sources.d.ts +18 -0
  1407. package/core/application/src/runs/bundles/run-bundle-sources.js +43 -0
  1408. package/core/application/src/runs/bundles/run-bundles-service.d.ts +20 -0
  1409. package/core/application/src/runs/bundles/run-bundles-service.js +22 -0
  1410. package/core/application/src/runs/bundles/start-state.d.ts +7 -0
  1411. package/core/application/src/runs/bundles/start-state.js +5 -0
  1412. package/core/application/src/runs/cancelled-error.d.ts +4 -0
  1413. package/core/application/src/runs/cancelled-error.js +5 -0
  1414. package/core/application/src/runs/check-stores.d.ts +28 -0
  1415. package/core/application/src/runs/check-stores.js +103 -0
  1416. package/core/application/src/runs/check-transaction-landed.d.ts +59 -0
  1417. package/core/application/src/runs/check-transaction-landed.js +202 -0
  1418. package/core/application/src/runs/collect-evidence.d.ts +11 -0
  1419. package/core/application/src/runs/collect-evidence.js +48 -0
  1420. package/core/application/src/runs/declared-writes.d.ts +17 -0
  1421. package/core/application/src/runs/declared-writes.js +34 -0
  1422. package/core/application/src/runs/explain-failure.d.ts +4 -0
  1423. package/core/application/src/runs/explain-failure.js +95 -0
  1424. package/core/application/src/runs/failure-rules.d.ts +15 -0
  1425. package/core/application/src/runs/failure-rules.js +197 -0
  1426. package/core/application/src/runs/host-bypass-monitor.d.ts +56 -0
  1427. package/core/application/src/runs/host-bypass-monitor.js +420 -0
  1428. package/core/application/src/runs/judge-negative-control.d.ts +4 -0
  1429. package/core/application/src/runs/judge-negative-control.js +8 -0
  1430. package/core/application/src/runs/node-route-identities.d.ts +9 -0
  1431. package/core/application/src/runs/node-route-identities.js +32 -0
  1432. package/core/application/src/runs/plan-error.d.ts +4 -0
  1433. package/core/application/src/runs/plan-error.js +5 -0
  1434. package/core/application/src/runs/quarantined-resource-error.d.ts +6 -0
  1435. package/core/application/src/runs/quarantined-resource-error.js +12 -0
  1436. package/core/application/src/runs/resource-locks.d.ts +44 -0
  1437. package/core/application/src/runs/resource-locks.js +104 -0
  1438. package/core/application/src/runs/run-console.d.ts +35 -0
  1439. package/core/application/src/runs/run-console.js +43 -0
  1440. package/core/application/src/runs/run-failure-message.d.ts +4 -0
  1441. package/core/application/src/runs/run-failure-message.js +28 -0
  1442. package/core/application/src/runs/run-scenario.d.ts +69 -0
  1443. package/core/application/src/runs/run-scenario.js +240 -0
  1444. package/core/application/src/runs/run-transactions.d.ts +17 -0
  1445. package/core/application/src/runs/run-transactions.js +117 -0
  1446. package/core/application/src/runs/scenario-inputs.d.ts +6 -0
  1447. package/core/application/src/runs/scenario-inputs.js +26 -0
  1448. package/core/application/src/runs/scenario-run.d.ts +244 -0
  1449. package/core/application/src/runs/scenario-run.js +600 -0
  1450. package/core/application/src/runs/scheduler.d.ts +235 -0
  1451. package/core/application/src/runs/scheduler.js +400 -0
  1452. package/core/application/src/runs/settle-failed-step.d.ts +27 -0
  1453. package/core/application/src/runs/settle-failed-step.js +110 -0
  1454. package/core/application/src/runs/statement-window.d.ts +37 -0
  1455. package/core/application/src/runs/statement-window.js +76 -0
  1456. package/core/application/src/runs/step-timeout-error.d.ts +4 -0
  1457. package/core/application/src/runs/step-timeout-error.js +5 -0
  1458. package/core/application/src/runs/submission-window.d.ts +102 -0
  1459. package/core/application/src/runs/submission-window.js +233 -0
  1460. package/core/application/src/settings/manage-lab-settings.d.ts +10 -0
  1461. package/core/application/src/settings/manage-lab-settings.js +70 -0
  1462. package/core/application/src/suites/compare-suite-runs.d.ts +15 -0
  1463. package/core/application/src/suites/compare-suite-runs.js +55 -0
  1464. package/core/application/src/suites/observed-versions-file.d.ts +30 -0
  1465. package/core/application/src/suites/observed-versions-file.js +30 -0
  1466. package/core/application/src/suites/row-combination.d.ts +9 -0
  1467. package/core/application/src/suites/row-combination.js +36 -0
  1468. package/core/application/src/suites/row-host-route.d.ts +26 -0
  1469. package/core/application/src/suites/row-host-route.js +30 -0
  1470. package/core/application/src/suites/run-suite.d.ts +76 -0
  1471. package/core/application/src/suites/run-suite.js +367 -0
  1472. package/core/application/src/suites/run-timings-file.d.ts +21 -0
  1473. package/core/application/src/suites/run-timings-file.js +39 -0
  1474. package/core/application/src/suites/run-workers.d.ts +19 -0
  1475. package/core/application/src/suites/run-workers.js +118 -0
  1476. package/core/application/src/suites/start-together.d.ts +15 -0
  1477. package/core/application/src/suites/start-together.js +30 -0
  1478. package/core/application/src/suites/suite-metrics.d.ts +8 -0
  1479. package/core/application/src/suites/suite-metrics.js +67 -0
  1480. package/core/application/src/suites/summarize-suite-run.d.ts +6 -0
  1481. package/core/application/src/suites/summarize-suite-run.js +57 -0
  1482. package/core/application/src/tools/runtime-tool-context.d.ts +5 -0
  1483. package/core/application/src/tools/runtime-tool-context.js +40 -0
  1484. package/core/application/src/tools/save-scenario.d.ts +18 -0
  1485. package/core/application/src/tools/save-scenario.js +49 -0
  1486. package/core/application/src/tools/tool-catalog.d.ts +27 -0
  1487. package/core/application/src/tools/tool-catalog.js +157 -0
  1488. package/core/application/src/tools/tool-context.d.ts +34 -0
  1489. package/core/application/src/tools/tool-context.js +3 -0
  1490. package/core/application/src/tools/tool-reports.d.ts +56 -0
  1491. package/core/application/src/tools/tool-reports.js +253 -0
  1492. package/core/application/src/tools/tool-runner.d.ts +67 -0
  1493. package/core/application/src/tools/tool-runner.js +423 -0
  1494. package/core/application/src/versions/check-recovery.d.ts +20 -0
  1495. package/core/application/src/versions/check-recovery.js +14 -0
  1496. package/core/application/src/versions/lab-artifacts.d.ts +27 -0
  1497. package/core/application/src/versions/lab-artifacts.js +72 -0
  1498. package/core/application/src/versions/lab-versions-service.d.ts +87 -0
  1499. package/core/application/src/versions/lab-versions-service.js +93 -0
  1500. package/core/application/src/versions/lock-proposal-body.d.ts +5 -0
  1501. package/core/application/src/versions/lock-proposal-body.js +59 -0
  1502. package/core/application/src/versions/lock-proposal-evidence.d.ts +28 -0
  1503. package/core/application/src/versions/lock-proposal-evidence.js +158 -0
  1504. package/core/application/src/versions/lock-writer.d.ts +13 -0
  1505. package/core/application/src/versions/lock-writer.js +24 -0
  1506. package/core/application/src/versions/pin-version.d.ts +21 -0
  1507. package/core/application/src/versions/pin-version.js +23 -0
  1508. package/core/application/src/versions/policy-reader.d.ts +16 -0
  1509. package/core/application/src/versions/policy-reader.js +21 -0
  1510. package/core/application/src/versions/propose-lock.d.ts +23 -0
  1511. package/core/application/src/versions/propose-lock.js +100 -0
  1512. package/core/application/src/versions/resolve-versions.d.ts +52 -0
  1513. package/core/application/src/versions/resolve-versions.js +85 -0
  1514. package/core/application/src/versions/run-versions.d.ts +15 -0
  1515. package/core/application/src/versions/run-versions.js +3 -0
  1516. package/core/application/src/versions/show-versions.d.ts +19 -0
  1517. package/core/application/src/versions/show-versions.js +51 -0
  1518. package/core/application/src/versions/update-lock.d.ts +24 -0
  1519. package/core/application/src/versions/update-lock.js +49 -0
  1520. package/core/application/src/versions/verify-lock.d.ts +21 -0
  1521. package/core/application/src/versions/verify-lock.js +53 -0
  1522. package/core/application/src/versions/version-sources.d.ts +18 -0
  1523. package/core/application/src/versions/version-sources.js +33 -0
  1524. package/core/domain/README.md +197 -0
  1525. package/core/domain/src/accounts/account-address.d.ts +48 -0
  1526. package/core/domain/src/accounts/account-address.js +153 -0
  1527. package/core/domain/src/accounts/account-format-error.d.ts +12 -0
  1528. package/core/domain/src/accounts/account-format-error.js +14 -0
  1529. package/core/domain/src/accounts/account-functions.d.ts +15 -0
  1530. package/core/domain/src/accounts/account-functions.js +16 -0
  1531. package/core/domain/src/accounts/ambiguous-account-error.d.ts +9 -0
  1532. package/core/domain/src/accounts/ambiguous-account-error.js +13 -0
  1533. package/core/domain/src/accounts/expected-account.d.ts +19 -0
  1534. package/core/domain/src/accounts/expected-account.js +35 -0
  1535. package/core/domain/src/accounts/hashes.d.ts +4 -0
  1536. package/core/domain/src/accounts/hashes.js +131 -0
  1537. package/core/domain/src/accounts/index.d.ts +5 -0
  1538. package/core/domain/src/accounts/index.js +7 -0
  1539. package/core/domain/src/actors/actor-alias.d.ts +13 -0
  1540. package/core/domain/src/actors/actor-alias.js +24 -0
  1541. package/core/domain/src/actors/actor-id.d.ts +13 -0
  1542. package/core/domain/src/actors/actor-id.js +24 -0
  1543. package/core/domain/src/actors/actor-roster.d.ts +19 -0
  1544. package/core/domain/src/actors/actor-roster.js +36 -0
  1545. package/core/domain/src/actors/actor.d.ts +122 -0
  1546. package/core/domain/src/actors/actor.js +49 -0
  1547. package/core/domain/src/actors/host-color.d.ts +4 -0
  1548. package/core/domain/src/actors/host-color.js +6 -0
  1549. package/core/domain/src/actors/host-options.d.ts +74 -0
  1550. package/core/domain/src/actors/host-options.js +100 -0
  1551. package/core/domain/src/actors/index.d.ts +8 -0
  1552. package/core/domain/src/actors/index.js +10 -0
  1553. package/core/domain/src/actors/principal.d.ts +42 -0
  1554. package/core/domain/src/actors/principal.js +33 -0
  1555. package/core/domain/src/actors/session.d.ts +20 -0
  1556. package/core/domain/src/actors/session.js +35 -0
  1557. package/core/domain/src/agreement/agreement-judge.d.ts +66 -0
  1558. package/core/domain/src/agreement/agreement-judge.js +272 -0
  1559. package/core/domain/src/agreement/agreement-mode.d.ts +14 -0
  1560. package/core/domain/src/agreement/agreement-mode.js +16 -0
  1561. package/core/domain/src/agreement/agreement-record.d.ts +142 -0
  1562. package/core/domain/src/agreement/agreement-record.js +14 -0
  1563. package/core/domain/src/agreement/agreement-sample.d.ts +65 -0
  1564. package/core/domain/src/agreement/agreement-sample.js +3 -0
  1565. package/core/domain/src/agreement/agreement-settings.d.ts +36 -0
  1566. package/core/domain/src/agreement/agreement-settings.js +55 -0
  1567. package/core/domain/src/agreement/claims.d.ts +9 -0
  1568. package/core/domain/src/agreement/claims.js +55 -0
  1569. package/core/domain/src/agreement/index.d.ts +7 -0
  1570. package/core/domain/src/agreement/index.js +9 -0
  1571. package/core/domain/src/agreement/ui-chain-disagreement-error.d.ts +18 -0
  1572. package/core/domain/src/agreement/ui-chain-disagreement-error.js +22 -0
  1573. package/core/domain/src/apps/app-account-source.d.ts +29 -0
  1574. package/core/domain/src/apps/app-account-source.js +41 -0
  1575. package/core/domain/src/apps/app-announcement-window.d.ts +17 -0
  1576. package/core/domain/src/apps/app-announcement-window.js +30 -0
  1577. package/core/domain/src/apps/app-build-message.d.ts +75 -0
  1578. package/core/domain/src/apps/app-build-message.js +42 -0
  1579. package/core/domain/src/apps/app-deployed-source.d.ts +62 -0
  1580. package/core/domain/src/apps/app-deployed-source.js +100 -0
  1581. package/core/domain/src/apps/app-dev-server.d.ts +115 -0
  1582. package/core/domain/src/apps/app-dev-server.js +186 -0
  1583. package/core/domain/src/apps/app-framing.d.ts +70 -0
  1584. package/core/domain/src/apps/app-framing.js +133 -0
  1585. package/core/domain/src/apps/app-readiness.d.ts +102 -0
  1586. package/core/domain/src/apps/app-readiness.js +138 -0
  1587. package/core/domain/src/apps/app-watch.d.ts +62 -0
  1588. package/core/domain/src/apps/app-watch.js +106 -0
  1589. package/core/domain/src/apps/dev-server-socket.d.ts +27 -0
  1590. package/core/domain/src/apps/dev-server-socket.js +76 -0
  1591. package/core/domain/src/apps/host-bypass-policy.d.ts +5 -0
  1592. package/core/domain/src/apps/host-bypass-policy.js +12 -0
  1593. package/core/domain/src/apps/html-script.d.ts +9 -0
  1594. package/core/domain/src/apps/html-script.js +21 -0
  1595. package/core/domain/src/apps/index.d.ts +15 -0
  1596. package/core/domain/src/apps/index.js +17 -0
  1597. package/core/domain/src/apps/next-turbopack-announcement.d.ts +8 -0
  1598. package/core/domain/src/apps/next-turbopack-announcement.js +62 -0
  1599. package/core/domain/src/apps/next-webpack-announcement.d.ts +5 -0
  1600. package/core/domain/src/apps/next-webpack-announcement.js +42 -0
  1601. package/core/domain/src/apps/vite-app-announcement.d.ts +2 -0
  1602. package/core/domain/src/apps/vite-app-announcement.js +30 -0
  1603. package/core/domain/src/apps/webpack-dev-server-announcement.d.ts +12 -0
  1604. package/core/domain/src/apps/webpack-dev-server-announcement.js +56 -0
  1605. package/core/domain/src/builder/builder-check.d.ts +81 -0
  1606. package/core/domain/src/builder/builder-check.js +253 -0
  1607. package/core/domain/src/builder/builder-document.d.ts +95 -0
  1608. package/core/domain/src/builder/builder-document.js +16 -0
  1609. package/core/domain/src/builder/builder-edit.d.ts +70 -0
  1610. package/core/domain/src/builder/builder-edit.js +190 -0
  1611. package/core/domain/src/builder/builder-error.d.ts +8 -0
  1612. package/core/domain/src/builder/builder-error.js +11 -0
  1613. package/core/domain/src/builder/builder-palette.d.ts +101 -0
  1614. package/core/domain/src/builder/builder-palette.js +90 -0
  1615. package/core/domain/src/builder/feature-reader.d.ts +4 -0
  1616. package/core/domain/src/builder/feature-reader.js +326 -0
  1617. package/core/domain/src/builder/feature-writer.d.ts +51 -0
  1618. package/core/domain/src/builder/feature-writer.js +230 -0
  1619. package/core/domain/src/builder/index.d.ts +8 -0
  1620. package/core/domain/src/builder/index.js +10 -0
  1621. package/core/domain/src/builder/round-trip-error.d.ts +6 -0
  1622. package/core/domain/src/builder/round-trip-error.js +10 -0
  1623. package/core/domain/src/checks/index.d.ts +3 -0
  1624. package/core/domain/src/checks/index.js +5 -0
  1625. package/core/domain/src/checks/side-reading.d.ts +96 -0
  1626. package/core/domain/src/checks/side-reading.js +105 -0
  1627. package/core/domain/src/checks/step-check-error.d.ts +4 -0
  1628. package/core/domain/src/checks/step-check-error.js +5 -0
  1629. package/core/domain/src/checks/step-checks.d.ts +115 -0
  1630. package/core/domain/src/checks/step-checks.js +120 -0
  1631. package/core/domain/src/conditions/condition-error.d.ts +4 -0
  1632. package/core/domain/src/conditions/condition-error.js +8 -0
  1633. package/core/domain/src/conditions/condition-profiles.d.ts +15 -0
  1634. package/core/domain/src/conditions/condition-profiles.js +42 -0
  1635. package/core/domain/src/conditions/condition-step.d.ts +29 -0
  1636. package/core/domain/src/conditions/condition-step.js +45 -0
  1637. package/core/domain/src/conditions/conditioned-traffic.d.ts +25 -0
  1638. package/core/domain/src/conditions/conditioned-traffic.js +31 -0
  1639. package/core/domain/src/conditions/conditioned-wire.d.ts +21 -0
  1640. package/core/domain/src/conditions/conditioned-wire.js +38 -0
  1641. package/core/domain/src/conditions/cpu-slowdown.d.ts +4 -0
  1642. package/core/domain/src/conditions/cpu-slowdown.js +9 -0
  1643. package/core/domain/src/conditions/index.d.ts +7 -0
  1644. package/core/domain/src/conditions/index.js +9 -0
  1645. package/core/domain/src/conditions/network-condition.d.ts +18 -0
  1646. package/core/domain/src/conditions/network-condition.js +25 -0
  1647. package/core/domain/src/devices/device-profile.d.ts +43 -0
  1648. package/core/domain/src/devices/device-profile.js +70 -0
  1649. package/core/domain/src/devices/index.d.ts +2 -0
  1650. package/core/domain/src/devices/index.js +4 -0
  1651. package/core/domain/src/devices/synthetic-media.d.ts +15 -0
  1652. package/core/domain/src/devices/synthetic-media.js +7 -0
  1653. package/core/domain/src/explore/exploration-alphabet.d.ts +30 -0
  1654. package/core/domain/src/explore/exploration-alphabet.js +88 -0
  1655. package/core/domain/src/explore/failure-signature.d.ts +13 -0
  1656. package/core/domain/src/explore/failure-signature.js +14 -0
  1657. package/core/domain/src/explore/index.d.ts +6 -0
  1658. package/core/domain/src/explore/index.js +8 -0
  1659. package/core/domain/src/explore/seeded-random.d.ts +11 -0
  1660. package/core/domain/src/explore/seeded-random.js +27 -0
  1661. package/core/domain/src/explore/shrink-steps.d.ts +15 -0
  1662. package/core/domain/src/explore/shrink-steps.js +42 -0
  1663. package/core/domain/src/explore/what-if-branches.d.ts +34 -0
  1664. package/core/domain/src/explore/what-if-branches.js +62 -0
  1665. package/core/domain/src/explore/what-if-plan-error.d.ts +5 -0
  1666. package/core/domain/src/explore/what-if-plan-error.js +10 -0
  1667. package/core/domain/src/features/cleanup-report.d.ts +22 -0
  1668. package/core/domain/src/features/cleanup-report.js +23 -0
  1669. package/core/domain/src/features/feature-file.d.ts +111 -0
  1670. package/core/domain/src/features/feature-file.js +290 -0
  1671. package/core/domain/src/features/feature-path.d.ts +7 -0
  1672. package/core/domain/src/features/feature-path.js +19 -0
  1673. package/core/domain/src/features/index.d.ts +8 -0
  1674. package/core/domain/src/features/index.js +10 -0
  1675. package/core/domain/src/features/plain-output.d.ts +43 -0
  1676. package/core/domain/src/features/plain-output.js +47 -0
  1677. package/core/domain/src/features/scenario-conditions.d.ts +28 -0
  1678. package/core/domain/src/features/scenario-conditions.js +51 -0
  1679. package/core/domain/src/features/scenario-environments.d.ts +47 -0
  1680. package/core/domain/src/features/scenario-environments.js +47 -0
  1681. package/core/domain/src/features/step-breakpoints.d.ts +48 -0
  1682. package/core/domain/src/features/step-breakpoints.js +75 -0
  1683. package/core/domain/src/features/tag-expression.d.ts +1 -0
  1684. package/core/domain/src/features/tag-expression.js +45 -0
  1685. package/core/domain/src/fixtures/fixture-bundle.d.ts +123 -0
  1686. package/core/domain/src/fixtures/fixture-bundle.js +183 -0
  1687. package/core/domain/src/fixtures/fixture-catalog.d.ts +49 -0
  1688. package/core/domain/src/fixtures/fixture-catalog.js +91 -0
  1689. package/core/domain/src/fixtures/fixture-declaration.d.ts +22 -0
  1690. package/core/domain/src/fixtures/fixture-declaration.js +60 -0
  1691. package/core/domain/src/fixtures/fixture-import-incomplete-error.d.ts +10 -0
  1692. package/core/domain/src/fixtures/fixture-import-incomplete-error.js +10 -0
  1693. package/core/domain/src/fixtures/fixture-key.d.ts +57 -0
  1694. package/core/domain/src/fixtures/fixture-key.js +129 -0
  1695. package/core/domain/src/fixtures/fixture-record.d.ts +89 -0
  1696. package/core/domain/src/fixtures/fixture-record.js +105 -0
  1697. package/core/domain/src/fixtures/fixture-refused-error.d.ts +11 -0
  1698. package/core/domain/src/fixtures/fixture-refused-error.js +13 -0
  1699. package/core/domain/src/fixtures/fixture-source-declaration.d.ts +21 -0
  1700. package/core/domain/src/fixtures/fixture-source-declaration.js +36 -0
  1701. package/core/domain/src/fixtures/index.d.ts +9 -0
  1702. package/core/domain/src/fixtures/index.js +11 -0
  1703. package/core/domain/src/fixtures/scenario-fixture.d.ts +34 -0
  1704. package/core/domain/src/fixtures/scenario-fixture.js +33 -0
  1705. package/core/domain/src/identity/identity.d.ts +50 -0
  1706. package/core/domain/src/identity/identity.js +47 -0
  1707. package/core/domain/src/identity/index.d.ts +2 -0
  1708. package/core/domain/src/identity/index.js +4 -0
  1709. package/core/domain/src/identity/pre-onboarded-actor.d.ts +34 -0
  1710. package/core/domain/src/identity/pre-onboarded-actor.js +66 -0
  1711. package/core/domain/src/index.d.ts +27 -0
  1712. package/core/domain/src/index.js +29 -0
  1713. package/core/domain/src/lab/capability-policy.d.ts +37 -0
  1714. package/core/domain/src/lab/capability-policy.js +50 -0
  1715. package/core/domain/src/lab/capability.d.ts +4 -0
  1716. package/core/domain/src/lab/capability.js +13 -0
  1717. package/core/domain/src/lab/chain-pace.d.ts +20 -0
  1718. package/core/domain/src/lab/chain-pace.js +19 -0
  1719. package/core/domain/src/lab/confirmation-required-error.d.ts +8 -0
  1720. package/core/domain/src/lab/confirmation-required-error.js +10 -0
  1721. package/core/domain/src/lab/environment-options.d.ts +43 -0
  1722. package/core/domain/src/lab/environment-options.js +39 -0
  1723. package/core/domain/src/lab/environment-request-error.d.ts +10 -0
  1724. package/core/domain/src/lab/environment-request-error.js +5 -0
  1725. package/core/domain/src/lab/host-capabilities.d.ts +60 -0
  1726. package/core/domain/src/lab/host-capabilities.js +15 -0
  1727. package/core/domain/src/lab/index.d.ts +24 -0
  1728. package/core/domain/src/lab/index.js +26 -0
  1729. package/core/domain/src/lab/integration-readiness.d.ts +37 -0
  1730. package/core/domain/src/lab/integration-readiness.js +35 -0
  1731. package/core/domain/src/lab/lab-configuration-error.d.ts +5 -0
  1732. package/core/domain/src/lab/lab-configuration-error.js +10 -0
  1733. package/core/domain/src/lab/offer.d.ts +47 -0
  1734. package/core/domain/src/lab/offer.js +62 -0
  1735. package/core/domain/src/lab/public-target.d.ts +94 -0
  1736. package/core/domain/src/lab/public-target.js +114 -0
  1737. package/core/domain/src/lab/requirement-check.d.ts +23 -0
  1738. package/core/domain/src/lab/requirement-check.js +30 -0
  1739. package/core/domain/src/lab/requirement-functions.d.ts +14 -0
  1740. package/core/domain/src/lab/requirement-functions.js +13 -0
  1741. package/core/domain/src/lab/requirements.d.ts +25 -0
  1742. package/core/domain/src/lab/requirements.js +29 -0
  1743. package/core/domain/src/lab/resolved-config.d.ts +81 -0
  1744. package/core/domain/src/lab/resolved-config.js +91 -0
  1745. package/core/domain/src/lab/rpc-selection.d.ts +62 -0
  1746. package/core/domain/src/lab/rpc-selection.js +95 -0
  1747. package/core/domain/src/lab/run-manifest.d.ts +36 -0
  1748. package/core/domain/src/lab/run-manifest.js +24 -0
  1749. package/core/domain/src/lab/running-lab.d.ts +6 -0
  1750. package/core/domain/src/lab/running-lab.js +5 -0
  1751. package/core/domain/src/lab/runtime-wire.d.ts +21 -0
  1752. package/core/domain/src/lab/runtime-wire.js +87 -0
  1753. package/core/domain/src/lab/topology-error.d.ts +5 -0
  1754. package/core/domain/src/lab/topology-error.js +10 -0
  1755. package/core/domain/src/lab/topology-functions.d.ts +66 -0
  1756. package/core/domain/src/lab/topology-functions.js +159 -0
  1757. package/core/domain/src/lab/topology-issues.d.ts +16 -0
  1758. package/core/domain/src/lab/topology-issues.js +45 -0
  1759. package/core/domain/src/lab/topology.d.ts +188 -0
  1760. package/core/domain/src/lab/topology.js +53 -0
  1761. package/core/domain/src/lab/value-tones.d.ts +30 -0
  1762. package/core/domain/src/lab/value-tones.js +66 -0
  1763. package/core/domain/src/load/index.d.ts +3 -0
  1764. package/core/domain/src/load/index.js +5 -0
  1765. package/core/domain/src/load/load-guard.d.ts +14 -0
  1766. package/core/domain/src/load/load-guard.js +13 -0
  1767. package/core/domain/src/load/load-plan.d.ts +26 -0
  1768. package/core/domain/src/load/load-plan.js +32 -0
  1769. package/core/domain/src/load/load-report.d.ts +64 -0
  1770. package/core/domain/src/load/load-report.js +73 -0
  1771. package/core/domain/src/navigation/app-routes.d.ts +27 -0
  1772. package/core/domain/src/navigation/app-routes.js +85 -0
  1773. package/core/domain/src/navigation/app-url.d.ts +9 -0
  1774. package/core/domain/src/navigation/app-url.js +22 -0
  1775. package/core/domain/src/navigation/index.d.ts +7 -0
  1776. package/core/domain/src/navigation/index.js +9 -0
  1777. package/core/domain/src/navigation/named-destination.d.ts +43 -0
  1778. package/core/domain/src/navigation/named-destination.js +49 -0
  1779. package/core/domain/src/navigation/navigation-evidence.d.ts +20 -0
  1780. package/core/domain/src/navigation/navigation-evidence.js +3 -0
  1781. package/core/domain/src/navigation/navigation-expectation.d.ts +16 -0
  1782. package/core/domain/src/navigation/navigation-expectation.js +40 -0
  1783. package/core/domain/src/navigation/navigation-request.d.ts +16 -0
  1784. package/core/domain/src/navigation/navigation-request.js +13 -0
  1785. package/core/domain/src/navigation/navigation-resolution.d.ts +69 -0
  1786. package/core/domain/src/navigation/navigation-resolution.js +37 -0
  1787. package/core/domain/src/network/endpoint-locality.d.ts +14 -0
  1788. package/core/domain/src/network/endpoint-locality.js +39 -0
  1789. package/core/domain/src/network/environment-endpoints.d.ts +36 -0
  1790. package/core/domain/src/network/environment-endpoints.js +49 -0
  1791. package/core/domain/src/network/host-network-routes.d.ts +73 -0
  1792. package/core/domain/src/network/host-network-routes.js +138 -0
  1793. package/core/domain/src/network/host-route-closures.d.ts +9 -0
  1794. package/core/domain/src/network/host-route-closures.js +23 -0
  1795. package/core/domain/src/network/index.d.ts +8 -0
  1796. package/core/domain/src/network/index.js +10 -0
  1797. package/core/domain/src/network/loopback-url.d.ts +33 -0
  1798. package/core/domain/src/network/loopback-url.js +63 -0
  1799. package/core/domain/src/network/mixed-endpoints-error.d.ts +12 -0
  1800. package/core/domain/src/network/mixed-endpoints-error.js +17 -0
  1801. package/core/domain/src/network/network-policy.d.ts +98 -0
  1802. package/core/domain/src/network/network-policy.js +157 -0
  1803. package/core/domain/src/network/observed-endpoints.d.ts +17 -0
  1804. package/core/domain/src/network/observed-endpoints.js +47 -0
  1805. package/core/domain/src/network/worker-hold.d.ts +24 -0
  1806. package/core/domain/src/network/worker-hold.js +14 -0
  1807. package/core/domain/src/products/index.d.ts +3 -0
  1808. package/core/domain/src/products/index.js +5 -0
  1809. package/core/domain/src/products/product-config-policy.d.ts +19 -0
  1810. package/core/domain/src/products/product-config-policy.js +18 -0
  1811. package/core/domain/src/products/product-config-refused.d.ts +4 -0
  1812. package/core/domain/src/products/product-config-refused.js +8 -0
  1813. package/core/domain/src/products/product-config.d.ts +40 -0
  1814. package/core/domain/src/products/product-config.js +75 -0
  1815. package/core/domain/src/recordings/demo-cut.d.ts +91 -0
  1816. package/core/domain/src/recordings/demo-cut.js +179 -0
  1817. package/core/domain/src/recordings/demo-refused-error.d.ts +9 -0
  1818. package/core/domain/src/recordings/demo-refused-error.js +10 -0
  1819. package/core/domain/src/recordings/index.d.ts +16 -0
  1820. package/core/domain/src/recordings/index.js +18 -0
  1821. package/core/domain/src/recordings/journey-document.d.ts +69 -0
  1822. package/core/domain/src/recordings/journey-document.js +93 -0
  1823. package/core/domain/src/recordings/journey-markdown.d.ts +21 -0
  1824. package/core/domain/src/recordings/journey-markdown.js +37 -0
  1825. package/core/domain/src/recordings/journeys-declaration.d.ts +16 -0
  1826. package/core/domain/src/recordings/journeys-declaration.js +17 -0
  1827. package/core/domain/src/recordings/recording-data.d.ts +476 -0
  1828. package/core/domain/src/recordings/recording-data.js +3 -0
  1829. package/core/domain/src/recordings/recording-format-error.d.ts +5 -0
  1830. package/core/domain/src/recordings/recording-format-error.js +9 -0
  1831. package/core/domain/src/recordings/recording-health.d.ts +77 -0
  1832. package/core/domain/src/recordings/recording-health.js +108 -0
  1833. package/core/domain/src/recordings/recording-not-found-error.d.ts +5 -0
  1834. package/core/domain/src/recordings/recording-not-found-error.js +9 -0
  1835. package/core/domain/src/recordings/recording-retention.d.ts +35 -0
  1836. package/core/domain/src/recordings/recording-retention.js +53 -0
  1837. package/core/domain/src/recordings/recording-settings.d.ts +50 -0
  1838. package/core/domain/src/recordings/recording-settings.js +81 -0
  1839. package/core/domain/src/recordings/run-recording.d.ts +65 -0
  1840. package/core/domain/src/recordings/run-recording.js +321 -0
  1841. package/core/domain/src/recordings/step-chain-windows.d.ts +35 -0
  1842. package/core/domain/src/recordings/step-chain-windows.js +50 -0
  1843. package/core/domain/src/recordings/step-console-errors.d.ts +38 -0
  1844. package/core/domain/src/recordings/step-console-errors.js +37 -0
  1845. package/core/domain/src/recordings/step-machine.d.ts +6 -0
  1846. package/core/domain/src/recordings/step-machine.js +15 -0
  1847. package/core/domain/src/recordings/step-speed-limits.d.ts +59 -0
  1848. package/core/domain/src/recordings/step-speed-limits.js +69 -0
  1849. package/core/domain/src/releases/index.d.ts +1 -0
  1850. package/core/domain/src/releases/index.js +3 -0
  1851. package/core/domain/src/releases/release-notes.d.ts +49 -0
  1852. package/core/domain/src/releases/release-notes.js +115 -0
  1853. package/core/domain/src/resources/generation.d.ts +15 -0
  1854. package/core/domain/src/resources/generation.js +26 -0
  1855. package/core/domain/src/resources/index.d.ts +3 -0
  1856. package/core/domain/src/resources/index.js +5 -0
  1857. package/core/domain/src/resources/resource-functions.d.ts +6 -0
  1858. package/core/domain/src/resources/resource-functions.js +12 -0
  1859. package/core/domain/src/resources/resource.d.ts +17 -0
  1860. package/core/domain/src/resources/resource.js +42 -0
  1861. package/core/domain/src/root-calls/index.d.ts +2 -0
  1862. package/core/domain/src/root-calls/index.js +4 -0
  1863. package/core/domain/src/root-calls/known-networks.d.ts +13 -0
  1864. package/core/domain/src/root-calls/known-networks.js +23 -0
  1865. package/core/domain/src/root-calls/root-call-policy.d.ts +44 -0
  1866. package/core/domain/src/root-calls/root-call-policy.js +59 -0
  1867. package/core/domain/src/runs/checkpoint.d.ts +20 -0
  1868. package/core/domain/src/runs/checkpoint.js +22 -0
  1869. package/core/domain/src/runs/evidence.d.ts +66 -0
  1870. package/core/domain/src/runs/evidence.js +126 -0
  1871. package/core/domain/src/runs/failure-description.d.ts +2 -0
  1872. package/core/domain/src/runs/failure-description.js +23 -0
  1873. package/core/domain/src/runs/failure-marker.d.ts +6 -0
  1874. package/core/domain/src/runs/failure-marker.js +32 -0
  1875. package/core/domain/src/runs/failure-reason.d.ts +52 -0
  1876. package/core/domain/src/runs/failure-reason.js +36 -0
  1877. package/core/domain/src/runs/host-bypass-assertion.d.ts +5 -0
  1878. package/core/domain/src/runs/host-bypass-assertion.js +18 -0
  1879. package/core/domain/src/runs/host-bypass-evidence.d.ts +106 -0
  1880. package/core/domain/src/runs/host-bypass-evidence.js +3 -0
  1881. package/core/domain/src/runs/host-bypass-verdict.d.ts +13 -0
  1882. package/core/domain/src/runs/host-bypass-verdict.js +30 -0
  1883. package/core/domain/src/runs/host-request-limits.d.ts +32 -0
  1884. package/core/domain/src/runs/host-request-limits.js +30 -0
  1885. package/core/domain/src/runs/index.d.ts +28 -0
  1886. package/core/domain/src/runs/index.js +30 -0
  1887. package/core/domain/src/runs/lab-failure.d.ts +11 -0
  1888. package/core/domain/src/runs/lab-failure.js +16 -0
  1889. package/core/domain/src/runs/merge-host-bypass-evidence.d.ts +3 -0
  1890. package/core/domain/src/runs/merge-host-bypass-evidence.js +112 -0
  1891. package/core/domain/src/runs/negative-control.d.ts +108 -0
  1892. package/core/domain/src/runs/negative-control.js +123 -0
  1893. package/core/domain/src/runs/race-jitter.d.ts +29 -0
  1894. package/core/domain/src/runs/race-jitter.js +36 -0
  1895. package/core/domain/src/runs/race-seed.d.ts +16 -0
  1896. package/core/domain/src/runs/race-seed.js +35 -0
  1897. package/core/domain/src/runs/run-bundle-data.d.ts +142 -0
  1898. package/core/domain/src/runs/run-bundle-data.js +6 -0
  1899. package/core/domain/src/runs/run-bundle-format-error.d.ts +5 -0
  1900. package/core/domain/src/runs/run-bundle-format-error.js +10 -0
  1901. package/core/domain/src/runs/run-bundle-refused-error.d.ts +7 -0
  1902. package/core/domain/src/runs/run-bundle-refused-error.js +12 -0
  1903. package/core/domain/src/runs/run-bundle-reproduction.d.ts +46 -0
  1904. package/core/domain/src/runs/run-bundle-reproduction.js +57 -0
  1905. package/core/domain/src/runs/run-bundle.d.ts +28 -0
  1906. package/core/domain/src/runs/run-bundle.js +166 -0
  1907. package/core/domain/src/runs/run-transition-error.d.ts +4 -0
  1908. package/core/domain/src/runs/run-transition-error.js +8 -0
  1909. package/core/domain/src/runs/run.d.ts +45 -0
  1910. package/core/domain/src/runs/run.js +91 -0
  1911. package/core/domain/src/runs/scenario-input-error.d.ts +13 -0
  1912. package/core/domain/src/runs/scenario-input-error.js +12 -0
  1913. package/core/domain/src/runs/step-failure.d.ts +18 -0
  1914. package/core/domain/src/runs/step-failure.js +69 -0
  1915. package/core/domain/src/runs/step-submissions.d.ts +73 -0
  1916. package/core/domain/src/runs/step-submissions.js +85 -0
  1917. package/core/domain/src/runs/stored-content.d.ts +17 -0
  1918. package/core/domain/src/runs/stored-content.js +47 -0
  1919. package/core/domain/src/runs/submitted-transaction.d.ts +63 -0
  1920. package/core/domain/src/runs/submitted-transaction.js +108 -0
  1921. package/core/domain/src/runs/transaction-landing.d.ts +82 -0
  1922. package/core/domain/src/runs/transaction-landing.js +76 -0
  1923. package/core/domain/src/runs/workers.d.ts +48 -0
  1924. package/core/domain/src/runs/workers.js +83 -0
  1925. package/core/domain/src/sentences/ambiguous-sentence-error.d.ts +7 -0
  1926. package/core/domain/src/sentences/ambiguous-sentence-error.js +13 -0
  1927. package/core/domain/src/sentences/ambiguous-split-error.d.ts +6 -0
  1928. package/core/domain/src/sentences/ambiguous-split-error.js +14 -0
  1929. package/core/domain/src/sentences/assertion-mutants.d.ts +77 -0
  1930. package/core/domain/src/sentences/assertion-mutants.js +112 -0
  1931. package/core/domain/src/sentences/characters.d.ts +29 -0
  1932. package/core/domain/src/sentences/characters.js +71 -0
  1933. package/core/domain/src/sentences/generic-sentences.d.ts +67 -0
  1934. package/core/domain/src/sentences/generic-sentences.js +66 -0
  1935. package/core/domain/src/sentences/index.d.ts +16 -0
  1936. package/core/domain/src/sentences/index.js +18 -0
  1937. package/core/domain/src/sentences/missing-sentence-error.d.ts +6 -0
  1938. package/core/domain/src/sentences/missing-sentence-error.js +11 -0
  1939. package/core/domain/src/sentences/output-reference.d.ts +14 -0
  1940. package/core/domain/src/sentences/output-reference.js +38 -0
  1941. package/core/domain/src/sentences/scenario-outputs.d.ts +33 -0
  1942. package/core/domain/src/sentences/scenario-outputs.js +36 -0
  1943. package/core/domain/src/sentences/scenario-plan.d.ts +54 -0
  1944. package/core/domain/src/sentences/scenario-plan.js +92 -0
  1945. package/core/domain/src/sentences/sentence-book.d.ts +132 -0
  1946. package/core/domain/src/sentences/sentence-book.js +387 -0
  1947. package/core/domain/src/sentences/sentence-error.d.ts +10 -0
  1948. package/core/domain/src/sentences/sentence-error.js +18 -0
  1949. package/core/domain/src/sentences/sentence-pattern.d.ts +42 -0
  1950. package/core/domain/src/sentences/sentence-pattern.js +139 -0
  1951. package/core/domain/src/sentences/table-error.d.ts +6 -0
  1952. package/core/domain/src/sentences/table-error.js +11 -0
  1953. package/core/domain/src/sentences/table-shape.d.ts +42 -0
  1954. package/core/domain/src/sentences/table-shape.js +121 -0
  1955. package/core/domain/src/sentences/time-advance.d.ts +36 -0
  1956. package/core/domain/src/sentences/time-advance.js +60 -0
  1957. package/core/domain/src/sentences/unresolved-reference-error.d.ts +5 -0
  1958. package/core/domain/src/sentences/unresolved-reference-error.js +9 -0
  1959. package/core/domain/src/shared/adapter-options.d.ts +17 -0
  1960. package/core/domain/src/shared/adapter-options.js +8 -0
  1961. package/core/domain/src/shared/block-unavailable-error.d.ts +15 -0
  1962. package/core/domain/src/shared/block-unavailable-error.js +11 -0
  1963. package/core/domain/src/shared/development-authority.d.ts +12 -0
  1964. package/core/domain/src/shared/development-authority.js +6 -0
  1965. package/core/domain/src/shared/index.d.ts +12 -0
  1966. package/core/domain/src/shared/index.js +14 -0
  1967. package/core/domain/src/shared/json-rpc-error.d.ts +14 -0
  1968. package/core/domain/src/shared/json-rpc-error.js +15 -0
  1969. package/core/domain/src/shared/missing-capability-error.d.ts +4 -0
  1970. package/core/domain/src/shared/missing-capability-error.js +8 -0
  1971. package/core/domain/src/shared/missing-host-tools-error.d.ts +5 -0
  1972. package/core/domain/src/shared/missing-host-tools-error.js +10 -0
  1973. package/core/domain/src/shared/missing-route-error.d.ts +6 -0
  1974. package/core/domain/src/shared/missing-route-error.js +12 -0
  1975. package/core/domain/src/shared/pending-check-error.d.ts +9 -0
  1976. package/core/domain/src/shared/pending-check-error.js +11 -0
  1977. package/core/domain/src/shared/secret-uri.d.ts +27 -0
  1978. package/core/domain/src/shared/secret-uri.js +46 -0
  1979. package/core/domain/src/shared/sibling-module.d.ts +6 -0
  1980. package/core/domain/src/shared/sibling-module.js +9 -0
  1981. package/core/domain/src/shared/unsupported-capability-error.d.ts +6 -0
  1982. package/core/domain/src/shared/unsupported-capability-error.js +11 -0
  1983. package/core/domain/src/shared/unsupported-host-operation.d.ts +7 -0
  1984. package/core/domain/src/shared/unsupported-host-operation.js +14 -0
  1985. package/core/domain/src/statements/content-check.d.ts +16 -0
  1986. package/core/domain/src/statements/content-check.js +52 -0
  1987. package/core/domain/src/statements/index.d.ts +2 -0
  1988. package/core/domain/src/statements/index.js +4 -0
  1989. package/core/domain/src/statements/statement.d.ts +44 -0
  1990. package/core/domain/src/statements/statement.js +118 -0
  1991. package/core/domain/src/suites/bisect-plan.d.ts +87 -0
  1992. package/core/domain/src/suites/bisect-plan.js +76 -0
  1993. package/core/domain/src/suites/bisection.d.ts +73 -0
  1994. package/core/domain/src/suites/bisection.js +113 -0
  1995. package/core/domain/src/suites/change-scopes.d.ts +38 -0
  1996. package/core/domain/src/suites/change-scopes.js +70 -0
  1997. package/core/domain/src/suites/compatibility-notice.d.ts +23 -0
  1998. package/core/domain/src/suites/compatibility-notice.js +115 -0
  1999. package/core/domain/src/suites/compatibility.d.ts +129 -0
  2000. package/core/domain/src/suites/compatibility.js +291 -0
  2001. package/core/domain/src/suites/index.d.ts +15 -0
  2002. package/core/domain/src/suites/index.js +17 -0
  2003. package/core/domain/src/suites/mode-data.d.ts +32 -0
  2004. package/core/domain/src/suites/mode-data.js +3 -0
  2005. package/core/domain/src/suites/path-glob.d.ts +1 -0
  2006. package/core/domain/src/suites/path-glob.js +21 -0
  2007. package/core/domain/src/suites/suite-budget.d.ts +2 -0
  2008. package/core/domain/src/suites/suite-budget.js +15 -0
  2009. package/core/domain/src/suites/suite-config-error.d.ts +4 -0
  2010. package/core/domain/src/suites/suite-config-error.js +8 -0
  2011. package/core/domain/src/suites/suite-config.d.ts +48 -0
  2012. package/core/domain/src/suites/suite-config.js +184 -0
  2013. package/core/domain/src/suites/suite-data.d.ts +52 -0
  2014. package/core/domain/src/suites/suite-data.js +3 -0
  2015. package/core/domain/src/suites/suite-evidence-error.d.ts +20 -0
  2016. package/core/domain/src/suites/suite-evidence-error.js +14 -0
  2017. package/core/domain/src/suites/suite-plan.d.ts +88 -0
  2018. package/core/domain/src/suites/suite-plan.js +123 -0
  2019. package/core/domain/src/suites/suite-run-summary.d.ts +70 -0
  2020. package/core/domain/src/suites/suite-run-summary.js +22 -0
  2021. package/core/domain/src/suites/suite-verdict.d.ts +22 -0
  2022. package/core/domain/src/suites/suite-verdict.js +32 -0
  2023. package/core/domain/src/tools/index.d.ts +1 -0
  2024. package/core/domain/src/tools/index.js +3 -0
  2025. package/core/domain/src/tools/tool-command.d.ts +18 -0
  2026. package/core/domain/src/tools/tool-command.js +61 -0
  2027. package/core/domain/src/versions/component-id.d.ts +17 -0
  2028. package/core/domain/src/versions/component-id.js +40 -0
  2029. package/core/domain/src/versions/digest.d.ts +28 -0
  2030. package/core/domain/src/versions/digest.js +51 -0
  2031. package/core/domain/src/versions/environment-versions.d.ts +41 -0
  2032. package/core/domain/src/versions/environment-versions.js +38 -0
  2033. package/core/domain/src/versions/fork-snapshot.d.ts +16 -0
  2034. package/core/domain/src/versions/fork-snapshot.js +3 -0
  2035. package/core/domain/src/versions/host-route.d.ts +89 -0
  2036. package/core/domain/src/versions/host-route.js +74 -0
  2037. package/core/domain/src/versions/index.d.ts +21 -0
  2038. package/core/domain/src/versions/index.js +23 -0
  2039. package/core/domain/src/versions/lab-lock.d.ts +48 -0
  2040. package/core/domain/src/versions/lab-lock.js +98 -0
  2041. package/core/domain/src/versions/lock-promotion.d.ts +48 -0
  2042. package/core/domain/src/versions/lock-promotion.js +63 -0
  2043. package/core/domain/src/versions/lock-proposal-refusal.d.ts +21 -0
  2044. package/core/domain/src/versions/lock-proposal-refusal.js +41 -0
  2045. package/core/domain/src/versions/locked-component.d.ts +80 -0
  2046. package/core/domain/src/versions/locked-component.js +146 -0
  2047. package/core/domain/src/versions/recovery-policy.d.ts +33 -0
  2048. package/core/domain/src/versions/recovery-policy.js +26 -0
  2049. package/core/domain/src/versions/release-artifact.d.ts +46 -0
  2050. package/core/domain/src/versions/release-artifact.js +70 -0
  2051. package/core/domain/src/versions/release-version.d.ts +17 -0
  2052. package/core/domain/src/versions/release-version.js +52 -0
  2053. package/core/domain/src/versions/resolved-runtime.d.ts +103 -0
  2054. package/core/domain/src/versions/resolved-runtime.js +107 -0
  2055. package/core/domain/src/versions/snapshot-freshness.d.ts +26 -0
  2056. package/core/domain/src/versions/snapshot-freshness.js +25 -0
  2057. package/core/domain/src/versions/version-drift.d.ts +29 -0
  2058. package/core/domain/src/versions/version-drift.js +37 -0
  2059. package/core/domain/src/versions/version-error.d.ts +17 -0
  2060. package/core/domain/src/versions/version-error.js +10 -0
  2061. package/core/domain/src/versions/version-policy.d.ts +19 -0
  2062. package/core/domain/src/versions/version-policy.js +37 -0
  2063. package/core/domain/src/versions/version-resolution.d.ts +103 -0
  2064. package/core/domain/src/versions/version-resolution.js +111 -0
  2065. package/core/domain/src/versions/version-selector.d.ts +58 -0
  2066. package/core/domain/src/versions/version-selector.js +134 -0
  2067. package/core/domain/src/versions/version-workspace-key.d.ts +18 -0
  2068. package/core/domain/src/versions/version-workspace-key.js +41 -0
  2069. package/core/domain/src/versions/versioned-workspace.d.ts +43 -0
  2070. package/core/domain/src/versions/versioned-workspace.js +63 -0
  2071. package/core/lab/README.md +1012 -0
  2072. package/core/lab/src/activity/types.d.ts +1 -0
  2073. package/core/lab/src/activity/types.js +3 -0
  2074. package/core/lab/src/chain/index.d.ts +2 -0
  2075. package/core/lab/src/chain/index.js +4 -0
  2076. package/core/lab/src/chain/transaction-mode-schema.d.ts +11 -0
  2077. package/core/lab/src/chain/transaction-mode-schema.js +5 -0
  2078. package/core/lab/src/host/index.d.ts +1 -0
  2079. package/core/lab/src/host/index.js +3 -0
  2080. package/core/lab/src/identity/index.d.ts +1 -0
  2081. package/core/lab/src/identity/index.js +3 -0
  2082. package/core/lab/src/index.d.ts +2 -0
  2083. package/core/lab/src/index.js +4 -0
  2084. package/core/lab/src/run/index.d.ts +1 -0
  2085. package/core/lab/src/run/index.js +3 -0
  2086. package/core/lab/src/steps.d.ts +1 -0
  2087. package/core/lab/src/steps.js +3 -0
  2088. package/core/lab/src/topology.d.ts +128 -0
  2089. package/core/lab/src/topology.js +58 -0
  2090. package/core/ports/README.md +458 -0
  2091. package/core/ports/src/driven/browser/app-surface.d.ts +41 -0
  2092. package/core/ports/src/driven/browser/app-surface.js +3 -0
  2093. package/core/ports/src/driven/browser/browser.d.ts +79 -0
  2094. package/core/ports/src/driven/browser/browser.js +3 -0
  2095. package/core/ports/src/driven/browser/conditions.d.ts +24 -0
  2096. package/core/ports/src/driven/browser/conditions.js +3 -0
  2097. package/core/ports/src/driven/browser/index.d.ts +6 -0
  2098. package/core/ports/src/driven/browser/index.js +3 -0
  2099. package/core/ports/src/driven/browser/locator.d.ts +55 -0
  2100. package/core/ports/src/driven/browser/locator.js +3 -0
  2101. package/core/ports/src/driven/browser/page.d.ts +71 -0
  2102. package/core/ports/src/driven/browser/page.js +3 -0
  2103. package/core/ports/src/driven/browser/route.d.ts +45 -0
  2104. package/core/ports/src/driven/browser/route.js +3 -0
  2105. package/core/ports/src/driven/chain/bulletin-reader.d.ts +9 -0
  2106. package/core/ports/src/driven/chain/bulletin-reader.js +3 -0
  2107. package/core/ports/src/driven/chain/chain-access.d.ts +37 -0
  2108. package/core/ports/src/driven/chain/chain-access.js +3 -0
  2109. package/core/ports/src/driven/chain/chain-history.d.ts +170 -0
  2110. package/core/ports/src/driven/chain/chain-history.js +3 -0
  2111. package/core/ports/src/driven/chain/chain-readers.d.ts +8 -0
  2112. package/core/ports/src/driven/chain/chain-readers.js +3 -0
  2113. package/core/ports/src/driven/chain/index.d.ts +11 -0
  2114. package/core/ports/src/driven/chain/index.js +3 -0
  2115. package/core/ports/src/driven/chain/key-derivation.d.ts +22 -0
  2116. package/core/ports/src/driven/chain/key-derivation.js +3 -0
  2117. package/core/ports/src/driven/chain/receipt-validator.d.ts +17 -0
  2118. package/core/ports/src/driven/chain/receipt-validator.js +3 -0
  2119. package/core/ports/src/driven/chain/receipt.d.ts +33 -0
  2120. package/core/ports/src/driven/chain/receipt.js +3 -0
  2121. package/core/ports/src/driven/chain/runtime-fingerprint.d.ts +12 -0
  2122. package/core/ports/src/driven/chain/runtime-fingerprint.js +3 -0
  2123. package/core/ports/src/driven/chain/signer.d.ts +16 -0
  2124. package/core/ports/src/driven/chain/signer.js +3 -0
  2125. package/core/ports/src/driven/chain/statement-store-reader.d.ts +53 -0
  2126. package/core/ports/src/driven/chain/statement-store-reader.js +3 -0
  2127. package/core/ports/src/driven/chain/transaction-submitter.d.ts +104 -0
  2128. package/core/ports/src/driven/chain/transaction-submitter.js +3 -0
  2129. package/core/ports/src/driven/deploy/content-archiver.d.ts +21 -0
  2130. package/core/ports/src/driven/deploy/content-archiver.js +3 -0
  2131. package/core/ports/src/driven/deploy/deployer.d.ts +101 -0
  2132. package/core/ports/src/driven/deploy/deployer.js +3 -0
  2133. package/core/ports/src/driven/deploy/destination-directory.d.ts +15 -0
  2134. package/core/ports/src/driven/deploy/destination-directory.js +3 -0
  2135. package/core/ports/src/driven/deploy/destination-server.d.ts +25 -0
  2136. package/core/ports/src/driven/deploy/destination-server.js +3 -0
  2137. package/core/ports/src/driven/deploy/index.d.ts +5 -0
  2138. package/core/ports/src/driven/deploy/index.js +3 -0
  2139. package/core/ports/src/driven/deploy/name-resolver.d.ts +11 -0
  2140. package/core/ports/src/driven/deploy/name-resolver.js +3 -0
  2141. package/core/ports/src/driven/environment/environment-adapter-factory.d.ts +21 -0
  2142. package/core/ports/src/driven/environment/environment-adapter-factory.js +3 -0
  2143. package/core/ports/src/driven/environment/environment-time.d.ts +110 -0
  2144. package/core/ports/src/driven/environment/environment-time.js +3 -0
  2145. package/core/ports/src/driven/environment/environment-tooling.d.ts +51 -0
  2146. package/core/ports/src/driven/environment/environment-tooling.js +3 -0
  2147. package/core/ports/src/driven/environment/index.d.ts +6 -0
  2148. package/core/ports/src/driven/environment/index.js +3 -0
  2149. package/core/ports/src/driven/environment/running-environment.d.ts +267 -0
  2150. package/core/ports/src/driven/environment/running-environment.js +3 -0
  2151. package/core/ports/src/driven/environment/start-phases.d.ts +34 -0
  2152. package/core/ports/src/driven/environment/start-phases.js +3 -0
  2153. package/core/ports/src/driven/environment/topology-adapter-factory.d.ts +52 -0
  2154. package/core/ports/src/driven/environment/topology-adapter-factory.js +3 -0
  2155. package/core/ports/src/driven/factory/adapter-flag.d.ts +21 -0
  2156. package/core/ports/src/driven/factory/adapter-flag.js +3 -0
  2157. package/core/ports/src/driven/factory/index.d.ts +2 -0
  2158. package/core/ports/src/driven/factory/index.js +3 -0
  2159. package/core/ports/src/driven/factory/options-schema.d.ts +21 -0
  2160. package/core/ports/src/driven/factory/options-schema.js +3 -0
  2161. package/core/ports/src/driven/features/custom-step-source.d.ts +33 -0
  2162. package/core/ports/src/driven/features/custom-step-source.js +3 -0
  2163. package/core/ports/src/driven/features/feature-runner.d.ts +193 -0
  2164. package/core/ports/src/driven/features/feature-runner.js +3 -0
  2165. package/core/ports/src/driven/features/feature-source.d.ts +22 -0
  2166. package/core/ports/src/driven/features/feature-source.js +3 -0
  2167. package/core/ports/src/driven/features/index.d.ts +3 -0
  2168. package/core/ports/src/driven/features/index.js +3 -0
  2169. package/core/ports/src/driven/host/host-adapter-factory.d.ts +111 -0
  2170. package/core/ports/src/driven/host/host-adapter-factory.js +3 -0
  2171. package/core/ports/src/driven/host/host-provider.d.ts +71 -0
  2172. package/core/ports/src/driven/host/host-provider.js +3 -0
  2173. package/core/ports/src/driven/host/host-session.d.ts +289 -0
  2174. package/core/ports/src/driven/host/host-session.js +3 -0
  2175. package/core/ports/src/driven/host/host-tool-source.d.ts +19 -0
  2176. package/core/ports/src/driven/host/host-tool-source.js +3 -0
  2177. package/core/ports/src/driven/host/host-upstream.d.ts +24 -0
  2178. package/core/ports/src/driven/host/host-upstream.js +3 -0
  2179. package/core/ports/src/driven/host/host-verifier.d.ts +95 -0
  2180. package/core/ports/src/driven/host/host-verifier.js +3 -0
  2181. package/core/ports/src/driven/host/index.d.ts +7 -0
  2182. package/core/ports/src/driven/host/index.js +3 -0
  2183. package/core/ports/src/driven/identity/identity-provisioner.d.ts +23 -0
  2184. package/core/ports/src/driven/identity/identity-provisioner.js +3 -0
  2185. package/core/ports/src/driven/identity/index.d.ts +2 -0
  2186. package/core/ports/src/driven/identity/index.js +3 -0
  2187. package/core/ports/src/driven/identity/product-account-derivation.d.ts +23 -0
  2188. package/core/ports/src/driven/identity/product-account-derivation.js +3 -0
  2189. package/core/ports/src/driven/lab/client-bundles.d.ts +13 -0
  2190. package/core/ports/src/driven/lab/client-bundles.js +3 -0
  2191. package/core/ports/src/driven/lab/index.d.ts +7 -0
  2192. package/core/ports/src/driven/lab/index.js +3 -0
  2193. package/core/ports/src/driven/lab/lab-configuration.d.ts +86 -0
  2194. package/core/ports/src/driven/lab/lab-configuration.js +3 -0
  2195. package/core/ports/src/driven/lab/lab-definition-source.d.ts +16 -0
  2196. package/core/ports/src/driven/lab/lab-definition-source.js +3 -0
  2197. package/core/ports/src/driven/lab/lab-environment.d.ts +505 -0
  2198. package/core/ports/src/driven/lab/lab-environment.js +3 -0
  2199. package/core/ports/src/driven/lab/lab-sentences.d.ts +113 -0
  2200. package/core/ports/src/driven/lab/lab-sentences.js +3 -0
  2201. package/core/ports/src/driven/lab/loaded-lab.d.ts +297 -0
  2202. package/core/ports/src/driven/lab/loaded-lab.js +3 -0
  2203. package/core/ports/src/driven/lab/scenario.d.ts +137 -0
  2204. package/core/ports/src/driven/lab/scenario.js +3 -0
  2205. package/core/ports/src/driven/notify/index.d.ts +1 -0
  2206. package/core/ports/src/driven/notify/index.js +3 -0
  2207. package/core/ports/src/driven/notify/notifier.d.ts +32 -0
  2208. package/core/ports/src/driven/notify/notifier.js +3 -0
  2209. package/core/ports/src/driven/recording/console-watch.d.ts +28 -0
  2210. package/core/ports/src/driven/recording/console-watch.js +3 -0
  2211. package/core/ports/src/driven/recording/demo-ports.d.ts +53 -0
  2212. package/core/ports/src/driven/recording/demo-ports.js +3 -0
  2213. package/core/ports/src/driven/recording/frame-capture.d.ts +92 -0
  2214. package/core/ports/src/driven/recording/frame-capture.js +3 -0
  2215. package/core/ports/src/driven/recording/index.d.ts +6 -0
  2216. package/core/ports/src/driven/recording/index.js +3 -0
  2217. package/core/ports/src/driven/recording/journey-docs-store.d.ts +35 -0
  2218. package/core/ports/src/driven/recording/journey-docs-store.js +3 -0
  2219. package/core/ports/src/driven/recording/recording-store.d.ts +39 -0
  2220. package/core/ports/src/driven/recording/recording-store.js +3 -0
  2221. package/core/ports/src/driven/recording/step-check-ports.d.ts +29 -0
  2222. package/core/ports/src/driven/recording/step-check-ports.js +3 -0
  2223. package/core/ports/src/driven/storage/breakpoint-store.d.ts +13 -0
  2224. package/core/ports/src/driven/storage/breakpoint-store.js +3 -0
  2225. package/core/ports/src/driven/storage/environment-option-choices.d.ts +4 -0
  2226. package/core/ports/src/driven/storage/environment-option-choices.js +3 -0
  2227. package/core/ports/src/driven/storage/evidence-journal.d.ts +10 -0
  2228. package/core/ports/src/driven/storage/evidence-journal.js +3 -0
  2229. package/core/ports/src/driven/storage/fixture-archives.d.ts +61 -0
  2230. package/core/ports/src/driven/storage/fixture-archives.js +3 -0
  2231. package/core/ports/src/driven/storage/fixture-source.d.ts +53 -0
  2232. package/core/ports/src/driven/storage/fixture-source.js +3 -0
  2233. package/core/ports/src/driven/storage/fixture-store.d.ts +69 -0
  2234. package/core/ports/src/driven/storage/fixture-store.js +3 -0
  2235. package/core/ports/src/driven/storage/index.d.ts +12 -0
  2236. package/core/ports/src/driven/storage/index.js +3 -0
  2237. package/core/ports/src/driven/storage/lab-settings-store.d.ts +8 -0
  2238. package/core/ports/src/driven/storage/lab-settings-store.js +3 -0
  2239. package/core/ports/src/driven/storage/rpc-choices.d.ts +11 -0
  2240. package/core/ports/src/driven/storage/rpc-choices.js +3 -0
  2241. package/core/ports/src/driven/storage/run-bundle-archives.d.ts +46 -0
  2242. package/core/ports/src/driven/storage/run-bundle-archives.js +3 -0
  2243. package/core/ports/src/driven/storage/run-manifest-store.d.ts +18 -0
  2244. package/core/ports/src/driven/storage/run-manifest-store.js +3 -0
  2245. package/core/ports/src/driven/storage/running-lab.d.ts +42 -0
  2246. package/core/ports/src/driven/storage/running-lab.js +3 -0
  2247. package/core/ports/src/driven/storage/suite-evidence-bundles.d.ts +55 -0
  2248. package/core/ports/src/driven/storage/suite-evidence-bundles.js +3 -0
  2249. package/core/ports/src/driven/system/app-proxy.d.ts +123 -0
  2250. package/core/ports/src/driven/system/app-proxy.js +3 -0
  2251. package/core/ports/src/driven/system/chain-gate.d.ts +41 -0
  2252. package/core/ports/src/driven/system/chain-gate.js +3 -0
  2253. package/core/ports/src/driven/system/change-source.d.ts +69 -0
  2254. package/core/ports/src/driven/system/change-source.js +3 -0
  2255. package/core/ports/src/driven/system/clock.d.ts +13 -0
  2256. package/core/ports/src/driven/system/clock.js +3 -0
  2257. package/core/ports/src/driven/system/command-runner.d.ts +33 -0
  2258. package/core/ports/src/driven/system/command-runner.js +3 -0
  2259. package/core/ports/src/driven/system/conditioned-links.d.ts +20 -0
  2260. package/core/ports/src/driven/system/conditioned-links.js +3 -0
  2261. package/core/ports/src/driven/system/connection-monitor.d.ts +40 -0
  2262. package/core/ports/src/driven/system/connection-monitor.js +3 -0
  2263. package/core/ports/src/driven/system/document-headers.d.ts +9 -0
  2264. package/core/ports/src/driven/system/document-headers.js +3 -0
  2265. package/core/ports/src/driven/system/environment-variables.d.ts +9 -0
  2266. package/core/ports/src/driven/system/environment-variables.js +3 -0
  2267. package/core/ports/src/driven/system/file-system.d.ts +41 -0
  2268. package/core/ports/src/driven/system/file-system.js +3 -0
  2269. package/core/ports/src/driven/system/http-probe.d.ts +20 -0
  2270. package/core/ports/src/driven/system/http-probe.js +3 -0
  2271. package/core/ports/src/driven/system/id-generator.d.ts +5 -0
  2272. package/core/ports/src/driven/system/id-generator.js +3 -0
  2273. package/core/ports/src/driven/system/index.d.ts +27 -0
  2274. package/core/ports/src/driven/system/index.js +3 -0
  2275. package/core/ports/src/driven/system/json-rpc-client.d.ts +15 -0
  2276. package/core/ports/src/driven/system/json-rpc-client.js +3 -0
  2277. package/core/ports/src/driven/system/lock-manager.d.ts +55 -0
  2278. package/core/ports/src/driven/system/lock-manager.js +3 -0
  2279. package/core/ports/src/driven/system/logger.d.ts +8 -0
  2280. package/core/ports/src/driven/system/logger.js +3 -0
  2281. package/core/ports/src/driven/system/machine-metrics.d.ts +38 -0
  2282. package/core/ports/src/driven/system/machine-metrics.js +3 -0
  2283. package/core/ports/src/driven/system/os-ports.d.ts +12 -0
  2284. package/core/ports/src/driven/system/os-ports.js +3 -0
  2285. package/core/ports/src/driven/system/port-allocator.d.ts +46 -0
  2286. package/core/ports/src/driven/system/port-allocator.js +3 -0
  2287. package/core/ports/src/driven/system/process-runner.d.ts +133 -0
  2288. package/core/ports/src/driven/system/process-runner.js +3 -0
  2289. package/core/ports/src/driven/system/process-sandbox.d.ts +61 -0
  2290. package/core/ports/src/driven/system/process-sandbox.js +3 -0
  2291. package/core/ports/src/driven/system/redactor.d.ts +12 -0
  2292. package/core/ports/src/driven/system/redactor.js +3 -0
  2293. package/core/ports/src/driven/system/source-watcher.d.ts +29 -0
  2294. package/core/ports/src/driven/system/source-watcher.js +3 -0
  2295. package/core/ports/src/driven/system/stdio-worker.d.ts +21 -0
  2296. package/core/ports/src/driven/system/stdio-worker.js +3 -0
  2297. package/core/ports/src/driven/system/sync-command-runner.d.ts +20 -0
  2298. package/core/ports/src/driven/system/sync-command-runner.js +3 -0
  2299. package/core/ports/src/driven/system/system-ports.d.ts +90 -0
  2300. package/core/ports/src/driven/system/system-ports.js +3 -0
  2301. package/core/ports/src/driven/system/terminal-command-runner.d.ts +22 -0
  2302. package/core/ports/src/driven/system/terminal-command-runner.js +3 -0
  2303. package/core/ports/src/driven/system/tree-cloner.d.ts +19 -0
  2304. package/core/ports/src/driven/system/tree-cloner.js +3 -0
  2305. package/core/ports/src/driven/versions/artifact-store.d.ts +47 -0
  2306. package/core/ports/src/driven/versions/artifact-store.js +3 -0
  2307. package/core/ports/src/driven/versions/http-client.d.ts +22 -0
  2308. package/core/ports/src/driven/versions/http-client.js +3 -0
  2309. package/core/ports/src/driven/versions/index.d.ts +6 -0
  2310. package/core/ports/src/driven/versions/index.js +3 -0
  2311. package/core/ports/src/driven/versions/lab-versions-declaration.d.ts +55 -0
  2312. package/core/ports/src/driven/versions/lab-versions-declaration.js +3 -0
  2313. package/core/ports/src/driven/versions/lock-store.d.ts +29 -0
  2314. package/core/ports/src/driven/versions/lock-store.js +3 -0
  2315. package/core/ports/src/driven/versions/version-policy-source.d.ts +12 -0
  2316. package/core/ports/src/driven/versions/version-policy-source.js +3 -0
  2317. package/core/ports/src/driven/versions/version-source.d.ts +58 -0
  2318. package/core/ports/src/driven/versions/version-source.js +3 -0
  2319. package/core/ports/src/driving/activity.d.ts +244 -0
  2320. package/core/ports/src/driving/activity.js +3 -0
  2321. package/core/ports/src/driving/app-builds.d.ts +91 -0
  2322. package/core/ports/src/driving/app-builds.js +3 -0
  2323. package/core/ports/src/driving/bisect.d.ts +42 -0
  2324. package/core/ports/src/driving/bisect.js +3 -0
  2325. package/core/ports/src/driving/breakpoints.d.ts +148 -0
  2326. package/core/ports/src/driving/breakpoints.js +3 -0
  2327. package/core/ports/src/driving/builder.d.ts +92 -0
  2328. package/core/ports/src/driving/builder.js +3 -0
  2329. package/core/ports/src/driving/chain-console.d.ts +52 -0
  2330. package/core/ports/src/driving/chain-console.js +3 -0
  2331. package/core/ports/src/driving/demo.d.ts +47 -0
  2332. package/core/ports/src/driving/demo.js +3 -0
  2333. package/core/ports/src/driving/environment-rpc.d.ts +16 -0
  2334. package/core/ports/src/driving/environment-rpc.js +3 -0
  2335. package/core/ports/src/driving/environment-tooling.d.ts +40 -0
  2336. package/core/ports/src/driving/environment-tooling.js +3 -0
  2337. package/core/ports/src/driving/exploration.d.ts +58 -0
  2338. package/core/ports/src/driving/exploration.js +3 -0
  2339. package/core/ports/src/driving/feature-session.d.ts +269 -0
  2340. package/core/ports/src/driving/feature-session.js +3 -0
  2341. package/core/ports/src/driving/features.d.ts +260 -0
  2342. package/core/ports/src/driving/features.js +3 -0
  2343. package/core/ports/src/driving/fixture-maintenance.d.ts +95 -0
  2344. package/core/ports/src/driving/fixture-maintenance.js +3 -0
  2345. package/core/ports/src/driving/fixture-sharing.d.ts +159 -0
  2346. package/core/ports/src/driving/fixture-sharing.js +3 -0
  2347. package/core/ports/src/driving/fixtures.d.ts +149 -0
  2348. package/core/ports/src/driving/fixtures.js +3 -0
  2349. package/core/ports/src/driving/hosts.d.ts +49 -0
  2350. package/core/ports/src/driving/hosts.js +3 -0
  2351. package/core/ports/src/driving/index.d.ts +36 -0
  2352. package/core/ports/src/driving/index.js +3 -0
  2353. package/core/ports/src/driving/journeys.d.ts +45 -0
  2354. package/core/ports/src/driving/journeys.js +3 -0
  2355. package/core/ports/src/driving/lab-coverage.d.ts +47 -0
  2356. package/core/ports/src/driving/lab-coverage.js +3 -0
  2357. package/core/ports/src/driving/lab-lint.d.ts +47 -0
  2358. package/core/ports/src/driving/lab-lint.js +3 -0
  2359. package/core/ports/src/driving/lab-mutations.d.ts +16 -0
  2360. package/core/ports/src/driving/lab-mutations.js +3 -0
  2361. package/core/ports/src/driving/lab-registry.d.ts +236 -0
  2362. package/core/ports/src/driving/lab-registry.js +3 -0
  2363. package/core/ports/src/driving/lab-runtime.d.ts +656 -0
  2364. package/core/ports/src/driving/lab-runtime.js +3 -0
  2365. package/core/ports/src/driving/lab-settings.d.ts +29 -0
  2366. package/core/ports/src/driving/lab-settings.js +3 -0
  2367. package/core/ports/src/driving/lab-snapshot.d.ts +361 -0
  2368. package/core/ports/src/driving/lab-snapshot.js +3 -0
  2369. package/core/ports/src/driving/load.d.ts +22 -0
  2370. package/core/ports/src/driving/load.js +3 -0
  2371. package/core/ports/src/driving/navigation-view.d.ts +23 -0
  2372. package/core/ports/src/driving/navigation-view.js +3 -0
  2373. package/core/ports/src/driving/recordings.d.ts +103 -0
  2374. package/core/ports/src/driving/recordings.js +3 -0
  2375. package/core/ports/src/driving/reports.d.ts +411 -0
  2376. package/core/ports/src/driving/reports.js +3 -0
  2377. package/core/ports/src/driving/resolved-config.d.ts +52 -0
  2378. package/core/ports/src/driving/resolved-config.js +3 -0
  2379. package/core/ports/src/driving/run-bundles.d.ts +135 -0
  2380. package/core/ports/src/driving/run-bundles.js +3 -0
  2381. package/core/ports/src/driving/suites.d.ts +188 -0
  2382. package/core/ports/src/driving/suites.js +3 -0
  2383. package/core/ports/src/driving/tools.d.ts +279 -0
  2384. package/core/ports/src/driving/tools.js +3 -0
  2385. package/core/ports/src/driving/ui-extensions.d.ts +77 -0
  2386. package/core/ports/src/driving/ui-extensions.js +3 -0
  2387. package/core/ports/src/driving/versions.d.ts +280 -0
  2388. package/core/ports/src/driving/versions.js +3 -0
  2389. package/core/ports/src/driving/what-if.d.ts +64 -0
  2390. package/core/ports/src/driving/what-if.js +3 -0
  2391. package/core/ports/src/driving/workers.d.ts +52 -0
  2392. package/core/ports/src/driving/workers.js +3 -0
  2393. package/core/ports/src/index.d.ts +15 -0
  2394. package/core/ports/src/index.js +17 -0
  2395. package/entrypoints/cli/README.md +895 -0
  2396. package/entrypoints/cli/ai-kit/agents/product-lab-e2e-debugger.yaml +32 -0
  2397. package/entrypoints/cli/ai-kit/agents/product-lab-scenario-author.yaml +44 -0
  2398. package/entrypoints/cli/ai-kit/agents-md.md +52 -0
  2399. package/entrypoints/cli/ai-kit/mcp.json +11 -0
  2400. package/entrypoints/cli/ai-kit/skills/product-lab-app/SKILL.md +101 -0
  2401. package/entrypoints/cli/ai-kit/skills/product-lab-debug/SKILL.md +54 -0
  2402. package/entrypoints/cli/ai-kit/skills/product-lab-integration/SKILL.md +116 -0
  2403. package/entrypoints/cli/ai-kit/skills/product-lab-integration/references/notes-example.md +192 -0
  2404. package/entrypoints/cli/ai-kit/skills/product-lab-integration/references/notes-lab.md +5700 -0
  2405. package/entrypoints/cli/ai-kit/skills/product-lab-scenario/SKILL.md +122 -0
  2406. package/entrypoints/cli/ai-kit/skills/product-lab-setup/SKILL.md +113 -0
  2407. package/entrypoints/cli/ai-kit/skills/product-lab-setup/references/minimal-lab.md +480 -0
  2408. package/entrypoints/cli/ai-kit/skills/product-lab-test-ids/SKILL.md +79 -0
  2409. package/entrypoints/cli/bin/esbuild-own-session.sh +8 -0
  2410. package/entrypoints/cli/bin/esbuild-session.mjs +70 -0
  2411. package/entrypoints/cli/bin/product-lab.mjs +42 -0
  2412. package/entrypoints/cli/src/agents.d.ts +65 -0
  2413. package/entrypoints/cli/src/agents.js +96 -0
  2414. package/entrypoints/cli/src/ai/command.d.ts +3 -0
  2415. package/entrypoints/cli/src/ai/command.js +79 -0
  2416. package/entrypoints/cli/src/ai/doctor.d.ts +17 -0
  2417. package/entrypoints/cli/src/ai/doctor.js +117 -0
  2418. package/entrypoints/cli/src/ai/examples.d.ts +18 -0
  2419. package/entrypoints/cli/src/ai/examples.js +69 -0
  2420. package/entrypoints/cli/src/ai/init.d.ts +41 -0
  2421. package/entrypoints/cli/src/ai/init.js +229 -0
  2422. package/entrypoints/cli/src/ai/kit-reference.d.ts +46 -0
  2423. package/entrypoints/cli/src/ai/kit-reference.js +300 -0
  2424. package/entrypoints/cli/src/ai/kit.d.ts +37 -0
  2425. package/entrypoints/cli/src/ai/kit.js +73 -0
  2426. package/entrypoints/cli/src/ai/policy.d.ts +28 -0
  2427. package/entrypoints/cli/src/ai/policy.js +56 -0
  2428. package/entrypoints/cli/src/ai/render.d.ts +68 -0
  2429. package/entrypoints/cli/src/ai/render.js +200 -0
  2430. package/entrypoints/cli/src/ai/status.d.ts +21 -0
  2431. package/entrypoints/cli/src/ai/status.js +41 -0
  2432. package/entrypoints/cli/src/ai/sync.d.ts +39 -0
  2433. package/entrypoints/cli/src/ai/sync.js +256 -0
  2434. package/entrypoints/cli/src/bisect-command.d.ts +4 -0
  2435. package/entrypoints/cli/src/bisect-command.js +109 -0
  2436. package/entrypoints/cli/src/breakpoints-command.d.ts +4 -0
  2437. package/entrypoints/cli/src/breakpoints-command.js +67 -0
  2438. package/entrypoints/cli/src/bundle-command.d.ts +5 -0
  2439. package/entrypoints/cli/src/bundle-command.js +74 -0
  2440. package/entrypoints/cli/src/checkout.d.ts +6 -0
  2441. package/entrypoints/cli/src/checkout.js +12 -0
  2442. package/entrypoints/cli/src/cli-app.d.ts +57 -0
  2443. package/entrypoints/cli/src/cli-app.js +506 -0
  2444. package/entrypoints/cli/src/cli-host-release.d.ts +22 -0
  2445. package/entrypoints/cli/src/cli-host-release.js +23 -0
  2446. package/entrypoints/cli/src/commands/chain-day-ended.d.ts +12 -0
  2447. package/entrypoints/cli/src/commands/chain-day-ended.js +33 -0
  2448. package/entrypoints/cli/src/commands/check.d.ts +13 -0
  2449. package/entrypoints/cli/src/commands/check.js +36 -0
  2450. package/entrypoints/cli/src/commands/dev.d.ts +149 -0
  2451. package/entrypoints/cli/src/commands/dev.js +327 -0
  2452. package/entrypoints/cli/src/config-command.d.ts +7 -0
  2453. package/entrypoints/cli/src/config-command.js +69 -0
  2454. package/entrypoints/cli/src/coverage-command.d.ts +4 -0
  2455. package/entrypoints/cli/src/coverage-command.js +75 -0
  2456. package/entrypoints/cli/src/demo-command.d.ts +4 -0
  2457. package/entrypoints/cli/src/demo-command.js +102 -0
  2458. package/entrypoints/cli/src/env-command.d.ts +90 -0
  2459. package/entrypoints/cli/src/env-command.js +203 -0
  2460. package/entrypoints/cli/src/env-files.d.ts +6 -0
  2461. package/entrypoints/cli/src/env-files.js +46 -0
  2462. package/entrypoints/cli/src/environment.d.ts +5 -0
  2463. package/entrypoints/cli/src/environment.js +3 -0
  2464. package/entrypoints/cli/src/every-control.d.ts +74 -0
  2465. package/entrypoints/cli/src/every-control.js +129 -0
  2466. package/entrypoints/cli/src/explore-command.d.ts +4 -0
  2467. package/entrypoints/cli/src/explore-command.js +133 -0
  2468. package/entrypoints/cli/src/fixture-command.d.ts +8 -0
  2469. package/entrypoints/cli/src/fixture-command.js +365 -0
  2470. package/entrypoints/cli/src/fixture-refresh-command.d.ts +11 -0
  2471. package/entrypoints/cli/src/fixture-refresh-command.js +245 -0
  2472. package/entrypoints/cli/src/fixture-setup-marker.d.ts +22 -0
  2473. package/entrypoints/cli/src/fixture-setup-marker.js +52 -0
  2474. package/entrypoints/cli/src/fixture-sharing-command.d.ts +16 -0
  2475. package/entrypoints/cli/src/fixture-sharing-command.js +192 -0
  2476. package/entrypoints/cli/src/fixture-source-command.d.ts +3 -0
  2477. package/entrypoints/cli/src/fixture-source-command.js +161 -0
  2478. package/entrypoints/cli/src/host-command.d.ts +5 -0
  2479. package/entrypoints/cli/src/host-command.js +213 -0
  2480. package/entrypoints/cli/src/init-command.d.ts +49 -0
  2481. package/entrypoints/cli/src/init-command.js +349 -0
  2482. package/entrypoints/cli/src/init-lock.d.ts +48 -0
  2483. package/entrypoints/cli/src/init-lock.js +50 -0
  2484. package/entrypoints/cli/src/journeys-after-test.d.ts +2 -0
  2485. package/entrypoints/cli/src/journeys-after-test.js +13 -0
  2486. package/entrypoints/cli/src/journeys-command.d.ts +5 -0
  2487. package/entrypoints/cli/src/journeys-command.js +61 -0
  2488. package/entrypoints/cli/src/lab-flags.d.ts +54 -0
  2489. package/entrypoints/cli/src/lab-flags.js +53 -0
  2490. package/entrypoints/cli/src/lab-window-closed.d.ts +4 -0
  2491. package/entrypoints/cli/src/lab-window-closed.js +10 -0
  2492. package/entrypoints/cli/src/lint-command.d.ts +4 -0
  2493. package/entrypoints/cli/src/lint-command.js +82 -0
  2494. package/entrypoints/cli/src/load-command.d.ts +5 -0
  2495. package/entrypoints/cli/src/load-command.js +111 -0
  2496. package/entrypoints/cli/src/load-env.d.ts +1 -0
  2497. package/entrypoints/cli/src/load-env.js +4 -0
  2498. package/entrypoints/cli/src/machine-fit.d.ts +60 -0
  2499. package/entrypoints/cli/src/machine-fit.js +63 -0
  2500. package/entrypoints/cli/src/main.d.ts +14 -0
  2501. package/entrypoints/cli/src/main.js +31 -0
  2502. package/entrypoints/cli/src/mcp-command.d.ts +6 -0
  2503. package/entrypoints/cli/src/mcp-command.js +28 -0
  2504. package/entrypoints/cli/src/mutate-command.d.ts +34 -0
  2505. package/entrypoints/cli/src/mutate-command.js +84 -0
  2506. package/entrypoints/cli/src/own-running-record.d.ts +1 -0
  2507. package/entrypoints/cli/src/own-running-record.js +10 -0
  2508. package/entrypoints/cli/src/parse-args-errors.d.ts +2 -0
  2509. package/entrypoints/cli/src/parse-args-errors.js +7 -0
  2510. package/entrypoints/cli/src/plain-output.d.ts +98 -0
  2511. package/entrypoints/cli/src/plain-output.js +179 -0
  2512. package/entrypoints/cli/src/recordings-command.d.ts +15 -0
  2513. package/entrypoints/cli/src/recordings-command.js +232 -0
  2514. package/entrypoints/cli/src/release/notices.d.ts +87 -0
  2515. package/entrypoints/cli/src/release/notices.js +182 -0
  2516. package/entrypoints/cli/src/release/upgrade-command.d.ts +35 -0
  2517. package/entrypoints/cli/src/release/upgrade-command.js +240 -0
  2518. package/entrypoints/cli/src/report-command.d.ts +3 -0
  2519. package/entrypoints/cli/src/report-command.js +207 -0
  2520. package/entrypoints/cli/src/reports/compatibility-html.d.ts +2 -0
  2521. package/entrypoints/cli/src/reports/compatibility-html.js +76 -0
  2522. package/entrypoints/cli/src/reports/evidence-report.d.ts +46 -0
  2523. package/entrypoints/cli/src/reports/evidence-report.js +31 -0
  2524. package/entrypoints/cli/src/reports/host-bypass.d.ts +3 -0
  2525. package/entrypoints/cli/src/reports/host-bypass.js +17 -0
  2526. package/entrypoints/cli/src/reports/html.d.ts +6 -0
  2527. package/entrypoints/cli/src/reports/html.js +178 -0
  2528. package/entrypoints/cli/src/reports/junit.d.ts +2 -0
  2529. package/entrypoints/cli/src/reports/junit.js +93 -0
  2530. package/entrypoints/cli/src/reports/markdown.d.ts +2 -0
  2531. package/entrypoints/cli/src/reports/markdown.js +62 -0
  2532. package/entrypoints/cli/src/reports/metrics-text.d.ts +19 -0
  2533. package/entrypoints/cli/src/reports/metrics-text.js +72 -0
  2534. package/entrypoints/cli/src/reports/pr-comment.d.ts +20 -0
  2535. package/entrypoints/cli/src/reports/pr-comment.js +61 -0
  2536. package/entrypoints/cli/src/reports/write-reports.d.ts +8 -0
  2537. package/entrypoints/cli/src/reports/write-reports.js +30 -0
  2538. package/entrypoints/cli/src/reproduce-command.d.ts +4 -0
  2539. package/entrypoints/cli/src/reproduce-command.js +69 -0
  2540. package/entrypoints/cli/src/rerun-failures.d.ts +8 -0
  2541. package/entrypoints/cli/src/rerun-failures.js +59 -0
  2542. package/entrypoints/cli/src/rpc-flags.d.ts +3 -0
  2543. package/entrypoints/cli/src/rpc-flags.js +23 -0
  2544. package/entrypoints/cli/src/setup-commands.d.ts +36 -0
  2545. package/entrypoints/cli/src/setup-commands.js +344 -0
  2546. package/entrypoints/cli/src/shared-controls.d.ts +6 -0
  2547. package/entrypoints/cli/src/shared-controls.js +49 -0
  2548. package/entrypoints/cli/src/start-progress.d.ts +96 -0
  2549. package/entrypoints/cli/src/start-progress.js +256 -0
  2550. package/entrypoints/cli/src/startup-notices.d.ts +9 -0
  2551. package/entrypoints/cli/src/startup-notices.js +25 -0
  2552. package/entrypoints/cli/src/stop-signals.d.ts +27 -0
  2553. package/entrypoints/cli/src/stop-signals.js +60 -0
  2554. package/entrypoints/cli/src/suite-run-command.d.ts +17 -0
  2555. package/entrypoints/cli/src/suite-run-command.js +48 -0
  2556. package/entrypoints/cli/src/test-command.d.ts +15 -0
  2557. package/entrypoints/cli/src/test-command.js +597 -0
  2558. package/entrypoints/cli/src/test-in-window.d.ts +11 -0
  2559. package/entrypoints/cli/src/test-in-window.js +27 -0
  2560. package/entrypoints/cli/src/test-output.d.ts +9 -0
  2561. package/entrypoints/cli/src/test-output.js +17 -0
  2562. package/entrypoints/cli/src/tool-run.d.ts +3 -0
  2563. package/entrypoints/cli/src/tool-run.js +29 -0
  2564. package/entrypoints/cli/src/tui/agents-menu.d.ts +18 -0
  2565. package/entrypoints/cli/src/tui/agents-menu.js +108 -0
  2566. package/entrypoints/cli/src/tui/app.d.ts +46 -0
  2567. package/entrypoints/cli/src/tui/app.js +483 -0
  2568. package/entrypoints/cli/src/tui/frame.d.ts +23 -0
  2569. package/entrypoints/cli/src/tui/frame.js +24 -0
  2570. package/entrypoints/cli/src/tui/model.d.ts +188 -0
  2571. package/entrypoints/cli/src/tui/model.js +487 -0
  2572. package/entrypoints/cli/src/tui/mouse.d.ts +50 -0
  2573. package/entrypoints/cli/src/tui/mouse.js +91 -0
  2574. package/entrypoints/cli/src/tui/scroll.d.ts +28 -0
  2575. package/entrypoints/cli/src/tui/scroll.js +29 -0
  2576. package/entrypoints/cli/src/tui/start.d.ts +54 -0
  2577. package/entrypoints/cli/src/tui/start.js +168 -0
  2578. package/entrypoints/cli/src/tui/starting.d.ts +52 -0
  2579. package/entrypoints/cli/src/tui/starting.js +67 -0
  2580. package/entrypoints/cli/src/versions-command.d.ts +22 -0
  2581. package/entrypoints/cli/src/versions-command.js +230 -0
  2582. package/entrypoints/cli/src/what-if-command.d.ts +7 -0
  2583. package/entrypoints/cli/src/what-if-command.js +103 -0
  2584. package/entrypoints/cucumber/README.md +53 -0
  2585. package/entrypoints/cucumber/src/ci/change-scope.d.ts +4 -0
  2586. package/entrypoints/cucumber/src/ci/change-scope.js +8 -0
  2587. package/entrypoints/cucumber/src/ci/coverage.d.ts +4 -0
  2588. package/entrypoints/cucumber/src/ci/coverage.js +44 -0
  2589. package/entrypoints/cucumber/src/ci/fast-plan.d.ts +29 -0
  2590. package/entrypoints/cucumber/src/ci/fast-plan.js +79 -0
  2591. package/entrypoints/cucumber/src/ci/owned-command.d.ts +11 -0
  2592. package/entrypoints/cucumber/src/ci/owned-command.js +85 -0
  2593. package/entrypoints/cucumber/src/cucumber/hooks.d.ts +50 -0
  2594. package/entrypoints/cucumber/src/cucumber/hooks.js +132 -0
  2595. package/entrypoints/cucumber/src/cucumber/navigation.d.ts +26 -0
  2596. package/entrypoints/cucumber/src/cucumber/navigation.js +44 -0
  2597. package/entrypoints/cucumber/src/cucumber/rows.d.ts +5 -0
  2598. package/entrypoints/cucumber/src/cucumber/rows.js +26 -0
  2599. package/entrypoints/cucumber/src/cucumber/world.d.ts +11 -0
  2600. package/entrypoints/cucumber/src/cucumber/world.js +41 -0
  2601. package/entrypoints/cucumber/src/index.d.ts +9 -0
  2602. package/entrypoints/cucumber/src/index.js +11 -0
  2603. package/entrypoints/cucumber/src/main.d.ts +44 -0
  2604. package/entrypoints/cucumber/src/main.js +55 -0
  2605. package/entrypoints/cucumber/src/negative/control-result.d.ts +31 -0
  2606. package/entrypoints/cucumber/src/negative/control-result.js +56 -0
  2607. package/entrypoints/mcp/README.md +204 -0
  2608. package/entrypoints/mcp/src/args.d.ts +10 -0
  2609. package/entrypoints/mcp/src/args.js +63 -0
  2610. package/entrypoints/mcp/src/chain.d.ts +75 -0
  2611. package/entrypoints/mcp/src/chain.js +185 -0
  2612. package/entrypoints/mcp/src/deferred-runtime.d.ts +26 -0
  2613. package/entrypoints/mcp/src/deferred-runtime.js +72 -0
  2614. package/entrypoints/mcp/src/describe-sections.d.ts +14 -0
  2615. package/entrypoints/mcp/src/describe-sections.js +38 -0
  2616. package/entrypoints/mcp/src/index.d.ts +7 -0
  2617. package/entrypoints/mcp/src/index.js +9 -0
  2618. package/entrypoints/mcp/src/load-gate.d.ts +27 -0
  2619. package/entrypoints/mcp/src/load-gate.js +65 -0
  2620. package/entrypoints/mcp/src/logs.d.ts +41 -0
  2621. package/entrypoints/mcp/src/logs.js +138 -0
  2622. package/entrypoints/mcp/src/main.d.ts +24 -0
  2623. package/entrypoints/mcp/src/main.js +42 -0
  2624. package/entrypoints/mcp/src/output.d.ts +8 -0
  2625. package/entrypoints/mcp/src/output.js +69 -0
  2626. package/entrypoints/mcp/src/resources.d.ts +18 -0
  2627. package/entrypoints/mcp/src/resources.js +139 -0
  2628. package/entrypoints/mcp/src/server.d.ts +37 -0
  2629. package/entrypoints/mcp/src/server.js +68 -0
  2630. package/entrypoints/mcp/src/session-core.d.ts +42 -0
  2631. package/entrypoints/mcp/src/session-core.js +80 -0
  2632. package/entrypoints/mcp/src/session-debug.d.ts +219 -0
  2633. package/entrypoints/mcp/src/session-debug.js +393 -0
  2634. package/entrypoints/mcp/src/session-discover.d.ts +342 -0
  2635. package/entrypoints/mcp/src/session-discover.js +212 -0
  2636. package/entrypoints/mcp/src/session-environment.d.ts +807 -0
  2637. package/entrypoints/mcp/src/session-environment.js +250 -0
  2638. package/entrypoints/mcp/src/session-host.d.ts +8 -0
  2639. package/entrypoints/mcp/src/session-host.js +40 -0
  2640. package/entrypoints/mcp/src/session-run.d.ts +127 -0
  2641. package/entrypoints/mcp/src/session-run.js +417 -0
  2642. package/entrypoints/mcp/src/session-shared.d.ts +181 -0
  2643. package/entrypoints/mcp/src/session-shared.js +89 -0
  2644. package/entrypoints/mcp/src/session.d.ts +9 -0
  2645. package/entrypoints/mcp/src/session.js +38 -0
  2646. package/entrypoints/mcp/src/stdio.d.ts +62 -0
  2647. package/entrypoints/mcp/src/stdio.js +114 -0
  2648. package/entrypoints/mcp/src/tools.d.ts +20 -0
  2649. package/entrypoints/mcp/src/tools.js +382 -0
  2650. package/entrypoints/panel/README.md +1773 -0
  2651. package/entrypoints/panel/src/agent-routes.d.ts +32 -0
  2652. package/entrypoints/panel/src/agent-routes.js +32 -0
  2653. package/entrypoints/panel/src/builder-input.d.ts +7 -0
  2654. package/entrypoints/panel/src/builder-input.js +66 -0
  2655. package/entrypoints/panel/src/bundle-routes.d.ts +16 -0
  2656. package/entrypoints/panel/src/bundle-routes.js +59 -0
  2657. package/entrypoints/panel/src/chain-console-routes.d.ts +9 -0
  2658. package/entrypoints/panel/src/chain-console-routes.js +18 -0
  2659. package/entrypoints/panel/src/client/activity.d.ts +5 -0
  2660. package/entrypoints/panel/src/client/activity.js +173 -0
  2661. package/entrypoints/panel/src/client/address-bar.css +36 -0
  2662. package/entrypoints/panel/src/client/address-bar.d.ts +62 -0
  2663. package/entrypoints/panel/src/client/address-bar.js +311 -0
  2664. package/entrypoints/panel/src/client/after-failure-view.d.ts +8 -0
  2665. package/entrypoints/panel/src/client/after-failure-view.js +24 -0
  2666. package/entrypoints/panel/src/client/agents-tools.d.ts +5 -0
  2667. package/entrypoints/panel/src/client/agents-tools.js +31 -0
  2668. package/entrypoints/panel/src/client/app-builds.d.ts +16 -0
  2669. package/entrypoints/panel/src/client/app-builds.js +38 -0
  2670. package/entrypoints/panel/src/client/app-tiles.d.ts +30 -0
  2671. package/entrypoints/panel/src/client/app-tiles.js +484 -0
  2672. package/entrypoints/panel/src/client/bindings.d.ts +39 -0
  2673. package/entrypoints/panel/src/client/bindings.js +120 -0
  2674. package/entrypoints/panel/src/client/builder-blocks.d.ts +26 -0
  2675. package/entrypoints/panel/src/client/builder-blocks.js +346 -0
  2676. package/entrypoints/panel/src/client/builder-chrome.d.ts +27 -0
  2677. package/entrypoints/panel/src/client/builder-chrome.js +144 -0
  2678. package/entrypoints/panel/src/client/builder-view.d.ts +86 -0
  2679. package/entrypoints/panel/src/client/builder-view.js +334 -0
  2680. package/entrypoints/panel/src/client/builder.d.ts +34 -0
  2681. package/entrypoints/panel/src/client/builder.js +620 -0
  2682. package/entrypoints/panel/src/client/bundle-actions.d.ts +9 -0
  2683. package/entrypoints/panel/src/client/bundle-actions.js +124 -0
  2684. package/entrypoints/panel/src/client/chain-console.css +31 -0
  2685. package/entrypoints/panel/src/client/chain-console.d.ts +13 -0
  2686. package/entrypoints/panel/src/client/chain-console.js +77 -0
  2687. package/entrypoints/panel/src/client/chain-day.d.ts +29 -0
  2688. package/entrypoints/panel/src/client/chain-day.js +43 -0
  2689. package/entrypoints/panel/src/client/checkpoint.d.ts +5 -0
  2690. package/entrypoints/panel/src/client/checkpoint.js +8 -0
  2691. package/entrypoints/panel/src/client/client.d.ts +1 -0
  2692. package/entrypoints/panel/src/client/client.js +634 -0
  2693. package/entrypoints/panel/src/client/components.css +219 -0
  2694. package/entrypoints/panel/src/client/confirm-dialogs.d.ts +11 -0
  2695. package/entrypoints/panel/src/client/confirm-dialogs.js +54 -0
  2696. package/entrypoints/panel/src/client/detached-tiles.d.ts +39 -0
  2697. package/entrypoints/panel/src/client/detached-tiles.js +106 -0
  2698. package/entrypoints/panel/src/client/dock-status.d.ts +17 -0
  2699. package/entrypoints/panel/src/client/dock-status.js +30 -0
  2700. package/entrypoints/panel/src/client/dock.d.ts +21 -0
  2701. package/entrypoints/panel/src/client/dock.js +74 -0
  2702. package/entrypoints/panel/src/client/dom.d.ts +8 -0
  2703. package/entrypoints/panel/src/client/dom.js +28 -0
  2704. package/entrypoints/panel/src/client/environment-lifecycle.d.ts +19 -0
  2705. package/entrypoints/panel/src/client/environment-lifecycle.js +164 -0
  2706. package/entrypoints/panel/src/client/environment-options.d.ts +18 -0
  2707. package/entrypoints/panel/src/client/environment-options.js +33 -0
  2708. package/entrypoints/panel/src/client/environment.d.ts +189 -0
  2709. package/entrypoints/panel/src/client/environment.js +521 -0
  2710. package/entrypoints/panel/src/client/evidence-controls.d.ts +14 -0
  2711. package/entrypoints/panel/src/client/evidence-controls.js +37 -0
  2712. package/entrypoints/panel/src/client/evidence-model.d.ts +65 -0
  2713. package/entrypoints/panel/src/client/evidence-model.js +179 -0
  2714. package/entrypoints/panel/src/client/evidence-view.css +82 -0
  2715. package/entrypoints/panel/src/client/evidence-view.d.ts +9 -0
  2716. package/entrypoints/panel/src/client/evidence-view.js +56 -0
  2717. package/entrypoints/panel/src/client/extensions.d.ts +21 -0
  2718. package/entrypoints/panel/src/client/extensions.js +345 -0
  2719. package/entrypoints/panel/src/client/features.d.ts +88 -0
  2720. package/entrypoints/panel/src/client/features.js +247 -0
  2721. package/entrypoints/panel/src/client/fixtures.d.ts +16 -0
  2722. package/entrypoints/panel/src/client/fixtures.js +155 -0
  2723. package/entrypoints/panel/src/client/fonts/inter.OFL.txt +93 -0
  2724. package/entrypoints/panel/src/client/fonts/inter.woff2 +0 -0
  2725. package/entrypoints/panel/src/client/fonts/jetbrains-mono.OFL.txt +93 -0
  2726. package/entrypoints/panel/src/client/fonts/jetbrains-mono.woff2 +0 -0
  2727. package/entrypoints/panel/src/client/fonts/unbounded.OFL.txt +93 -0
  2728. package/entrypoints/panel/src/client/fonts/unbounded.woff2 +0 -0
  2729. package/entrypoints/panel/src/client/fonts.css +24 -0
  2730. package/entrypoints/panel/src/client/forms.d.ts +3 -0
  2731. package/entrypoints/panel/src/client/forms.js +58 -0
  2732. package/entrypoints/panel/src/client/frame.css +515 -0
  2733. package/entrypoints/panel/src/client/gallery.css +68 -0
  2734. package/entrypoints/panel/src/client/gallery.d.ts +1 -0
  2735. package/entrypoints/panel/src/client/gallery.html +17 -0
  2736. package/entrypoints/panel/src/client/gallery.js +81 -0
  2737. package/entrypoints/panel/src/client/gherkin-view.d.ts +149 -0
  2738. package/entrypoints/panel/src/client/gherkin-view.js +223 -0
  2739. package/entrypoints/panel/src/client/gherkin.css +88 -0
  2740. package/entrypoints/panel/src/client/host-bypass-model.d.ts +68 -0
  2741. package/entrypoints/panel/src/client/host-bypass-model.js +131 -0
  2742. package/entrypoints/panel/src/client/host-bypass.d.ts +13 -0
  2743. package/entrypoints/panel/src/client/host-bypass.js +50 -0
  2744. package/entrypoints/panel/src/client/host-request-words.d.ts +6 -0
  2745. package/entrypoints/panel/src/client/host-request-words.js +32 -0
  2746. package/entrypoints/panel/src/client/identity-words.d.ts +23 -0
  2747. package/entrypoints/panel/src/client/identity-words.js +46 -0
  2748. package/entrypoints/panel/src/client/index.html +326 -0
  2749. package/entrypoints/panel/src/client/integrations.d.ts +16 -0
  2750. package/entrypoints/panel/src/client/integrations.js +32 -0
  2751. package/entrypoints/panel/src/client/island.css +21 -0
  2752. package/entrypoints/panel/src/client/island.d.ts +99 -0
  2753. package/entrypoints/panel/src/client/island.js +199 -0
  2754. package/entrypoints/panel/src/client/keep-switch.d.ts +7 -0
  2755. package/entrypoints/panel/src/client/keep-switch.js +24 -0
  2756. package/entrypoints/panel/src/client/keep-words.d.ts +24 -0
  2757. package/entrypoints/panel/src/client/keep-words.js +22 -0
  2758. package/entrypoints/panel/src/client/lab-actions.d.ts +9 -0
  2759. package/entrypoints/panel/src/client/lab-actions.js +16 -0
  2760. package/entrypoints/panel/src/client/lab-document.d.ts +10 -0
  2761. package/entrypoints/panel/src/client/lab-document.js +37 -0
  2762. package/entrypoints/panel/src/client/lab-menu.css +11 -0
  2763. package/entrypoints/panel/src/client/lab-menu.d.ts +44 -0
  2764. package/entrypoints/panel/src/client/lab-menu.js +105 -0
  2765. package/entrypoints/panel/src/client/landing.d.ts +4 -0
  2766. package/entrypoints/panel/src/client/landing.js +24 -0
  2767. package/entrypoints/panel/src/client/lanes.d.ts +41 -0
  2768. package/entrypoints/panel/src/client/lanes.js +100 -0
  2769. package/entrypoints/panel/src/client/lucide.LICENSE +43 -0
  2770. package/entrypoints/panel/src/client/lucide.d.ts +95 -0
  2771. package/entrypoints/panel/src/client/lucide.js +95 -0
  2772. package/entrypoints/panel/src/client/navigation-activity.d.ts +34 -0
  2773. package/entrypoints/panel/src/client/navigation-activity.js +97 -0
  2774. package/entrypoints/panel/src/client/navigation-controls.d.ts +18 -0
  2775. package/entrypoints/panel/src/client/navigation-controls.js +29 -0
  2776. package/entrypoints/panel/src/client/operation-phases.d.ts +16 -0
  2777. package/entrypoints/panel/src/client/operation-phases.js +70 -0
  2778. package/entrypoints/panel/src/client/own-window.d.ts +9 -0
  2779. package/entrypoints/panel/src/client/own-window.js +113 -0
  2780. package/entrypoints/panel/src/client/panel-snapshot.d.ts +25 -0
  2781. package/entrypoints/panel/src/client/panel-snapshot.js +3 -0
  2782. package/entrypoints/panel/src/client/panel-tabs.d.ts +21 -0
  2783. package/entrypoints/panel/src/client/panel-tabs.js +41 -0
  2784. package/entrypoints/panel/src/client/pause-inspector.d.ts +14 -0
  2785. package/entrypoints/panel/src/client/pause-inspector.js +104 -0
  2786. package/entrypoints/panel/src/client/principals.d.ts +18 -0
  2787. package/entrypoints/panel/src/client/principals.js +21 -0
  2788. package/entrypoints/panel/src/client/recordings.d.ts +38 -0
  2789. package/entrypoints/panel/src/client/recordings.js +481 -0
  2790. package/entrypoints/panel/src/client/registry.d.ts +53 -0
  2791. package/entrypoints/panel/src/client/registry.js +415 -0
  2792. package/entrypoints/panel/src/client/release-notice.d.ts +2 -0
  2793. package/entrypoints/panel/src/client/release-notice.js +36 -0
  2794. package/entrypoints/panel/src/client/replace-kept.d.ts +21 -0
  2795. package/entrypoints/panel/src/client/replace-kept.js +21 -0
  2796. package/entrypoints/panel/src/client/replay-chain.d.ts +20 -0
  2797. package/entrypoints/panel/src/client/replay-chain.js +31 -0
  2798. package/entrypoints/panel/src/client/request-error.d.ts +11 -0
  2799. package/entrypoints/panel/src/client/request-error.js +17 -0
  2800. package/entrypoints/panel/src/client/request.d.ts +1 -0
  2801. package/entrypoints/panel/src/client/request.js +16 -0
  2802. package/entrypoints/panel/src/client/reset-words.d.ts +9 -0
  2803. package/entrypoints/panel/src/client/reset-words.js +13 -0
  2804. package/entrypoints/panel/src/client/resize.d.ts +18 -0
  2805. package/entrypoints/panel/src/client/resize.js +137 -0
  2806. package/entrypoints/panel/src/client/root-call-confirm.d.ts +11 -0
  2807. package/entrypoints/panel/src/client/root-call-confirm.js +35 -0
  2808. package/entrypoints/panel/src/client/run-mode.d.ts +105 -0
  2809. package/entrypoints/panel/src/client/run-mode.js +49 -0
  2810. package/entrypoints/panel/src/client/run-outcome.d.ts +28 -0
  2811. package/entrypoints/panel/src/client/run-outcome.js +110 -0
  2812. package/entrypoints/panel/src/client/run-preludes.d.ts +54 -0
  2813. package/entrypoints/panel/src/client/run-preludes.js +46 -0
  2814. package/entrypoints/panel/src/client/run-progress.d.ts +117 -0
  2815. package/entrypoints/panel/src/client/run-progress.js +322 -0
  2816. package/entrypoints/panel/src/client/run-steps.d.ts +105 -0
  2817. package/entrypoints/panel/src/client/run-steps.js +319 -0
  2818. package/entrypoints/panel/src/client/run-writes.d.ts +66 -0
  2819. package/entrypoints/panel/src/client/run-writes.js +76 -0
  2820. package/entrypoints/panel/src/client/scenario-environment.d.ts +15 -0
  2821. package/entrypoints/panel/src/client/scenario-environment.js +34 -0
  2822. package/entrypoints/panel/src/client/selection.d.ts +7 -0
  2823. package/entrypoints/panel/src/client/selection.js +32 -0
  2824. package/entrypoints/panel/src/client/settings.d.ts +35 -0
  2825. package/entrypoints/panel/src/client/settings.js +178 -0
  2826. package/entrypoints/panel/src/client/shell-kit.d.ts +89 -0
  2827. package/entrypoints/panel/src/client/shell-kit.js +38 -0
  2828. package/entrypoints/panel/src/client/shell.css +355 -0
  2829. package/entrypoints/panel/src/client/show-cursor.css +55 -0
  2830. package/entrypoints/panel/src/client/show-cursor.d.ts +10 -0
  2831. package/entrypoints/panel/src/client/show-cursor.js +69 -0
  2832. package/entrypoints/panel/src/client/status-actions.d.ts +21 -0
  2833. package/entrypoints/panel/src/client/status-actions.js +40 -0
  2834. package/entrypoints/panel/src/client/step-evidence.css +11 -0
  2835. package/entrypoints/panel/src/client/step-evidence.d.ts +6 -0
  2836. package/entrypoints/panel/src/client/step-evidence.js +62 -0
  2837. package/entrypoints/panel/src/client/switch-run.d.ts +34 -0
  2838. package/entrypoints/panel/src/client/switch-run.js +67 -0
  2839. package/entrypoints/panel/src/client/tile-device.d.ts +55 -0
  2840. package/entrypoints/panel/src/client/tile-device.js +70 -0
  2841. package/entrypoints/panel/src/client/tile-grid.d.ts +54 -0
  2842. package/entrypoints/panel/src/client/tile-grid.js +67 -0
  2843. package/entrypoints/panel/src/client/tile-strip.d.ts +13 -0
  2844. package/entrypoints/panel/src/client/tile-strip.js +66 -0
  2845. package/entrypoints/panel/src/client/timeline.d.ts +82 -0
  2846. package/entrypoints/panel/src/client/timeline.js +195 -0
  2847. package/entrypoints/panel/src/client/tokens.css +206 -0
  2848. package/entrypoints/panel/src/client/tool-report.d.ts +15 -0
  2849. package/entrypoints/panel/src/client/tool-report.js +61 -0
  2850. package/entrypoints/panel/src/client/tools-page.css +168 -0
  2851. package/entrypoints/panel/src/client/ui-calls.d.ts +41 -0
  2852. package/entrypoints/panel/src/client/ui-calls.js +42 -0
  2853. package/entrypoints/panel/src/client/ui.d.ts +251 -0
  2854. package/entrypoints/panel/src/client/ui.js +493 -0
  2855. package/entrypoints/panel/src/client/unawaited.d.ts +5 -0
  2856. package/entrypoints/panel/src/client/unawaited.js +14 -0
  2857. package/entrypoints/panel/src/client/view-builder.css +372 -0
  2858. package/entrypoints/panel/src/client/view-characters.d.ts +3 -0
  2859. package/entrypoints/panel/src/client/view-characters.js +20 -0
  2860. package/entrypoints/panel/src/client/view-config.css +23 -0
  2861. package/entrypoints/panel/src/client/view-config.d.ts +6 -0
  2862. package/entrypoints/panel/src/client/view-config.js +41 -0
  2863. package/entrypoints/panel/src/client/view-environment.css +193 -0
  2864. package/entrypoints/panel/src/client/view-environment.d.ts +42 -0
  2865. package/entrypoints/panel/src/client/view-environment.js +240 -0
  2866. package/entrypoints/panel/src/client/view-identities.css +100 -0
  2867. package/entrypoints/panel/src/client/view-identities.d.ts +21 -0
  2868. package/entrypoints/panel/src/client/view-identities.js +288 -0
  2869. package/entrypoints/panel/src/client/view-recordings.css +9 -0
  2870. package/entrypoints/panel/src/client/view-replay.css +127 -0
  2871. package/entrypoints/panel/src/client/view-report.css +31 -0
  2872. package/entrypoints/panel/src/client/view-run-steps.css +98 -0
  2873. package/entrypoints/panel/src/client/view-runs.css +123 -0
  2874. package/entrypoints/panel/src/client/view-runs.d.ts +9 -0
  2875. package/entrypoints/panel/src/client/view-runs.js +443 -0
  2876. package/entrypoints/panel/src/client/view-scenarios.css +164 -0
  2877. package/entrypoints/panel/src/client/view-scenarios.d.ts +126 -0
  2878. package/entrypoints/panel/src/client/view-scenarios.js +510 -0
  2879. package/entrypoints/panel/src/client/view-settings.css +27 -0
  2880. package/entrypoints/panel/src/client/view-timeline.css +66 -0
  2881. package/entrypoints/panel/src/client/view-timeline.d.ts +22 -0
  2882. package/entrypoints/panel/src/client/view-timeline.js +136 -0
  2883. package/entrypoints/panel/src/client/view-tools.css +114 -0
  2884. package/entrypoints/panel/src/client/view-tools.d.ts +16 -0
  2885. package/entrypoints/panel/src/client/view-tools.js +285 -0
  2886. package/entrypoints/panel/src/client/views.d.ts +47 -0
  2887. package/entrypoints/panel/src/client/views.js +105 -0
  2888. package/entrypoints/panel/src/client/watch-layout.d.ts +47 -0
  2889. package/entrypoints/panel/src/client/watch-layout.js +79 -0
  2890. package/entrypoints/panel/src/client/window-bindings.d.ts +21 -0
  2891. package/entrypoints/panel/src/client/window-bindings.js +61 -0
  2892. package/entrypoints/panel/src/client/window-switch.d.ts +15 -0
  2893. package/entrypoints/panel/src/client/window-switch.js +19 -0
  2894. package/entrypoints/panel/src/client/workspace-shell.d.ts +20 -0
  2895. package/entrypoints/panel/src/client/workspace-shell.js +637 -0
  2896. package/entrypoints/panel/src/controls.d.ts +51 -0
  2897. package/entrypoints/panel/src/controls.js +119 -0
  2898. package/entrypoints/panel/src/device-list.d.ts +5 -0
  2899. package/entrypoints/panel/src/device-list.js +9 -0
  2900. package/entrypoints/panel/src/extensions.d.ts +5 -0
  2901. package/entrypoints/panel/src/extensions.js +28 -0
  2902. package/entrypoints/panel/src/feature-bindings.d.ts +9 -0
  2903. package/entrypoints/panel/src/feature-bindings.js +40 -0
  2904. package/entrypoints/panel/src/feature-control.d.ts +14 -0
  2905. package/entrypoints/panel/src/feature-control.js +25 -0
  2906. package/entrypoints/panel/src/feature-events.d.ts +10 -0
  2907. package/entrypoints/panel/src/feature-events.js +32 -0
  2908. package/entrypoints/panel/src/frame-check.d.ts +28 -0
  2909. package/entrypoints/panel/src/frame-check.js +69 -0
  2910. package/entrypoints/panel/src/index.d.ts +4 -0
  2911. package/entrypoints/panel/src/index.js +5 -0
  2912. package/entrypoints/panel/src/main.d.ts +3 -0
  2913. package/entrypoints/panel/src/main.js +40 -0
  2914. package/entrypoints/panel/src/react/browser.d.ts +9 -0
  2915. package/entrypoints/panel/src/react/browser.js +32 -0
  2916. package/entrypoints/panel/src/react/prepare.d.ts +10 -0
  2917. package/entrypoints/panel/src/react/prepare.js +49 -0
  2918. package/entrypoints/panel/src/rebuild-rule.d.ts +9 -0
  2919. package/entrypoints/panel/src/rebuild-rule.js +18 -0
  2920. package/entrypoints/panel/src/runtime-routes.d.ts +29 -0
  2921. package/entrypoints/panel/src/runtime-routes.js +143 -0
  2922. package/entrypoints/panel/src/served-assets.d.ts +7 -0
  2923. package/entrypoints/panel/src/served-assets.js +39 -0
  2924. package/entrypoints/panel/src/server.d.ts +95 -0
  2925. package/entrypoints/panel/src/server.js +653 -0
  2926. package/entrypoints/panel/src/tool-routes.d.ts +19 -0
  2927. package/entrypoints/panel/src/tool-routes.js +98 -0
  2928. package/entrypoints/panel/src/visible/app-reload.d.ts +6 -0
  2929. package/entrypoints/panel/src/visible/app-reload.js +22 -0
  2930. package/entrypoints/panel/src/visible/app-ui.d.ts +44 -0
  2931. package/entrypoints/panel/src/visible/app-ui.js +189 -0
  2932. package/entrypoints/panel/src/visible/detached-conditions.d.ts +9 -0
  2933. package/entrypoints/panel/src/visible/detached-conditions.js +37 -0
  2934. package/entrypoints/panel/src/visible/detached-identities.d.ts +82 -0
  2935. package/entrypoints/panel/src/visible/detached-identities.js +243 -0
  2936. package/entrypoints/panel/src/visible/detached-surface.d.ts +38 -0
  2937. package/entrypoints/panel/src/visible/detached-surface.js +182 -0
  2938. package/entrypoints/panel/src/visible/detached-window.d.ts +71 -0
  2939. package/entrypoints/panel/src/visible/detached-window.js +161 -0
  2940. package/entrypoints/panel/src/visible/device-catalogue.d.ts +12 -0
  2941. package/entrypoints/panel/src/visible/device-catalogue.js +40 -0
  2942. package/entrypoints/panel/src/visible/embedded-host.d.ts +6 -0
  2943. package/entrypoints/panel/src/visible/embedded-host.js +8 -0
  2944. package/entrypoints/panel/src/visible/frame-locations.d.ts +15 -0
  2945. package/entrypoints/panel/src/visible/frame-locations.js +29 -0
  2946. package/entrypoints/panel/src/visible/index.d.ts +13 -0
  2947. package/entrypoints/panel/src/visible/index.js +15 -0
  2948. package/entrypoints/panel/src/visible/mirror.d.ts +41 -0
  2949. package/entrypoints/panel/src/visible/mirror.js +100 -0
  2950. package/entrypoints/panel/src/visible/png-parts.d.ts +33 -0
  2951. package/entrypoints/panel/src/visible/png-parts.js +38 -0
  2952. package/entrypoints/panel/src/visible/png-work.d.ts +14 -0
  2953. package/entrypoints/panel/src/visible/png-work.js +15 -0
  2954. package/entrypoints/panel/src/visible/png-worker.mjs +13 -0
  2955. package/entrypoints/panel/src/visible/run-view.d.ts +37 -0
  2956. package/entrypoints/panel/src/visible/run-view.js +65 -0
  2957. package/entrypoints/panel/src/visible/runner.d.ts +192 -0
  2958. package/entrypoints/panel/src/visible/runner.js +450 -0
  2959. package/entrypoints/panel/src/visible/surface-session.d.ts +14 -0
  2960. package/entrypoints/panel/src/visible/surface-session.js +10 -0
  2961. package/entrypoints/panel/src/visible/tile-conditions.d.ts +33 -0
  2962. package/entrypoints/panel/src/visible/tile-conditions.js +94 -0
  2963. package/entrypoints/panel/src/visible/tile-placement.d.ts +61 -0
  2964. package/entrypoints/panel/src/visible/tile-placement.js +155 -0
  2965. package/entrypoints/panel/src/visible/tile-ready.d.ts +25 -0
  2966. package/entrypoints/panel/src/visible/tile-ready.js +78 -0
  2967. package/entrypoints/panel/src/visible/ui-activity.d.ts +60 -0
  2968. package/entrypoints/panel/src/visible/ui-activity.js +91 -0
  2969. package/entrypoints/panel/src/visible/ui-timing.d.ts +95 -0
  2970. package/entrypoints/panel/src/visible/ui-timing.js +32 -0
  2971. package/entrypoints/panel/src/visible/verified-typing.d.ts +39 -0
  2972. package/entrypoints/panel/src/visible/verified-typing.js +76 -0
  2973. package/entrypoints/panel/src/visible/viewport-shot.d.ts +29 -0
  2974. package/entrypoints/panel/src/visible/viewport-shot.js +83 -0
  2975. package/entrypoints/panel/src/visible/visible-ui.d.ts +132 -0
  2976. package/entrypoints/panel/src/visible/visible-ui.js +429 -0
  2977. package/entrypoints/panel/src/visible/window-frames.d.ts +35 -0
  2978. package/entrypoints/panel/src/visible/window-frames.js +128 -0
  2979. package/entrypoints/panel/src/visible/window-hold.d.ts +21 -0
  2980. package/entrypoints/panel/src/visible/window-hold.js +29 -0
  2981. package/entrypoints/panel/src/visible/window-video.d.ts +17 -0
  2982. package/entrypoints/panel/src/visible/window-video.js +21 -0
  2983. package/entrypoints/panel/src/visible/window.d.ts +99 -0
  2984. package/entrypoints/panel/src/visible/window.js +184 -0
  2985. package/entrypoints/panel/src/words.d.ts +6 -0
  2986. package/entrypoints/panel/src/words.js +8 -0
  2987. 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.