@gfdelarue/testkit 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1548) hide show
  1. package/LICENSE +68 -0
  2. package/README.md +1125 -0
  3. package/bin/testkit-windows-owner-arm64.exe +0 -0
  4. package/bin/testkit-windows-owner-x64.exe +0 -0
  5. package/bin/testkit.mjs +60 -0
  6. package/dist/app/cleanup/index.d.ts +52 -0
  7. package/dist/app/cleanup/index.js +1 -0
  8. package/dist/app/cloud/campaigns.d.ts +6 -0
  9. package/dist/app/cloud/campaigns.js +1 -0
  10. package/dist/app/cloud/control-actions.d.ts +12 -0
  11. package/dist/app/cloud/control-actions.js +2 -0
  12. package/dist/app/cloud/control-links.d.ts +5 -0
  13. package/dist/app/cloud/control-links.js +1 -0
  14. package/dist/app/cloud/control-read.d.ts +24 -0
  15. package/dist/app/cloud/control-read.js +1 -0
  16. package/dist/app/cloud/control-resources.d.ts +3 -0
  17. package/dist/app/cloud/control-resources.js +1 -0
  18. package/dist/app/cloud/control.d.ts +34 -0
  19. package/dist/app/cloud/control.js +5 -0
  20. package/dist/app/cloud/credentials.d.ts +11 -0
  21. package/dist/app/cloud/credentials.js +2 -0
  22. package/dist/app/cloud/index.d.ts +22 -0
  23. package/dist/app/cloud/index.js +2 -0
  24. package/dist/app/cloud/login.d.ts +63 -0
  25. package/dist/app/cloud/login.js +2 -0
  26. package/dist/app/cloud/migration/archive.d.ts +13 -0
  27. package/dist/app/cloud/migration/archive.js +1 -0
  28. package/dist/app/cloud/migration/commands.d.ts +8 -0
  29. package/dist/app/cloud/migration/commands.js +1 -0
  30. package/dist/app/cloud/migration/evidence.d.ts +13 -0
  31. package/dist/app/cloud/migration/evidence.js +2 -0
  32. package/dist/app/cloud/migration/files.d.ts +16 -0
  33. package/dist/app/cloud/migration/files.js +2 -0
  34. package/dist/app/cloud/migration/index.d.ts +6 -0
  35. package/dist/app/cloud/migration/index.js +1 -0
  36. package/dist/app/cloud/migration/journal.d.ts +64 -0
  37. package/dist/app/cloud/migration/journal.js +1 -0
  38. package/dist/app/cloud/migration/mapping-dispositions.d.ts +3 -0
  39. package/dist/app/cloud/migration/mapping-dispositions.js +1 -0
  40. package/dist/app/cloud/migration/mapping.d.ts +11 -0
  41. package/dist/app/cloud/migration/mapping.js +2 -0
  42. package/dist/app/cloud/migration/model.d.ts +175 -0
  43. package/dist/app/cloud/migration/model.js +1 -0
  44. package/dist/app/cloud/migration/plan.d.ts +7 -0
  45. package/dist/app/cloud/migration/plan.js +1 -0
  46. package/dist/app/cloud/migration/progress.d.ts +19 -0
  47. package/dist/app/cloud/migration/progress.js +1 -0
  48. package/dist/app/cloud/migration/reconcile.d.ts +22 -0
  49. package/dist/app/cloud/migration/reconcile.js +1 -0
  50. package/dist/app/cloud/migration/reconciliation-spool.d.ts +4 -0
  51. package/dist/app/cloud/migration/reconciliation-spool.js +1 -0
  52. package/dist/app/cloud/migration/state.d.ts +15 -0
  53. package/dist/app/cloud/migration/state.js +1 -0
  54. package/dist/app/cloud/migration/transfer.d.ts +6 -0
  55. package/dist/app/cloud/migration/transfer.js +1 -0
  56. package/dist/app/db-schema/prepare.d.ts +11 -0
  57. package/dist/app/db-schema/prepare.js +1 -0
  58. package/dist/app/db-schema/refresh.d.ts +17 -0
  59. package/dist/app/db-schema/refresh.js +1 -0
  60. package/dist/app/db-schema/verify.d.ts +11 -0
  61. package/dist/app/db-schema/verify.js +1 -0
  62. package/dist/app/destroy/index.d.ts +16 -0
  63. package/dist/app/destroy/index.js +1 -0
  64. package/dist/app/discover/index.d.ts +8 -0
  65. package/dist/app/discover/index.js +2 -0
  66. package/dist/app/doctor/index.d.ts +17 -0
  67. package/dist/app/doctor/index.js +1 -0
  68. package/dist/app/file-selection.d.ts +1 -0
  69. package/dist/app/file-selection.js +1 -0
  70. package/dist/app/inspect/artifacts.d.ts +29 -0
  71. package/dist/app/inspect/artifacts.js +1 -0
  72. package/dist/app/inspect/index.d.ts +112 -0
  73. package/dist/app/inspect/index.js +1 -0
  74. package/dist/app/lint/index.d.ts +28 -0
  75. package/dist/app/lint/index.js +2 -0
  76. package/dist/app/lint/native.d.ts +10 -0
  77. package/dist/app/lint/native.js +1 -0
  78. package/dist/app/lint/options.d.ts +67 -0
  79. package/dist/app/lint/options.js +1 -0
  80. package/dist/app/lint/policy.d.ts +21 -0
  81. package/dist/app/lint/policy.js +1 -0
  82. package/dist/app/lint/rules/data.d.ts +3 -0
  83. package/dist/app/lint/rules/data.js +1 -0
  84. package/dist/app/lint/rules/engine-imports.d.ts +3 -0
  85. package/dist/app/lint/rules/engine-imports.js +1 -0
  86. package/dist/app/lint/rules/syntax.d.ts +4 -0
  87. package/dist/app/lint/rules/syntax.js +1 -0
  88. package/dist/app/lint/rules/unit.d.ts +3 -0
  89. package/dist/app/lint/rules/unit.js +1 -0
  90. package/dist/app/lint/shared.d.ts +36 -0
  91. package/dist/app/lint/shared.js +1 -0
  92. package/dist/app/package-inspection.d.ts +20 -0
  93. package/dist/app/package-inspection.js +1 -0
  94. package/dist/app/run/endpoint-readiness.d.ts +43 -0
  95. package/dist/app/run/endpoint-readiness.js +1 -0
  96. package/dist/app/run/engine-evidence-persistence.d.ts +39 -0
  97. package/dist/app/run/engine-evidence-persistence.js +1 -0
  98. package/dist/app/run/engine-execution-cleanup.d.ts +8 -0
  99. package/dist/app/run/engine-execution-cleanup.js +1 -0
  100. package/dist/app/run/engine-execution-failures.d.ts +41 -0
  101. package/dist/app/run/engine-execution-failures.js +1 -0
  102. package/dist/app/run/engine-execution-observer.d.ts +21 -0
  103. package/dist/app/run/engine-execution-observer.js +1 -0
  104. package/dist/app/run/engine-execution-reporting.d.ts +17 -0
  105. package/dist/app/run/engine-execution-reporting.js +1 -0
  106. package/dist/app/run/engine-execution.d.ts +60 -0
  107. package/dist/app/run/engine-execution.js +1 -0
  108. package/dist/app/run/engine-orchestration.d.ts +49 -0
  109. package/dist/app/run/engine-orchestration.js +1 -0
  110. package/dist/app/run/failure-details.d.ts +36 -0
  111. package/dist/app/run/failure-details.js +1 -0
  112. package/dist/app/run/live-run.d.ts +27 -0
  113. package/dist/app/run/live-run.js +1 -0
  114. package/dist/app/run/operation-progress.d.ts +13 -0
  115. package/dist/app/run/operation-progress.js +1 -0
  116. package/dist/app/run/orchestrator.d.ts +68 -0
  117. package/dist/app/run/orchestrator.js +1 -0
  118. package/dist/app/run/planning-types.d.ts +68 -0
  119. package/dist/app/run/planning-types.js +1 -0
  120. package/dist/app/run/planning.d.ts +15 -0
  121. package/dist/app/run/planning.js +1 -0
  122. package/dist/app/run/playwright-configuration.d.ts +2 -0
  123. package/dist/app/run/playwright-configuration.js +1 -0
  124. package/dist/app/run/request.d.ts +30 -0
  125. package/dist/app/run/request.js +1 -0
  126. package/dist/app/run/results.d.ts +161 -0
  127. package/dist/app/run/results.js +1 -0
  128. package/dist/app/run/run-events.d.ts +144 -0
  129. package/dist/app/run/run-events.js +1 -0
  130. package/dist/app/run/run-finalization.d.ts +52 -0
  131. package/dist/app/run/run-finalization.js +1 -0
  132. package/dist/app/run/run-guards.d.ts +3 -0
  133. package/dist/app/run/run-guards.js +3 -0
  134. package/dist/app/run/runtime-failures.d.ts +18 -0
  135. package/dist/app/run/runtime-failures.js +1 -0
  136. package/dist/app/run/runtime-fixtures.d.ts +2 -0
  137. package/dist/app/run/runtime-fixtures.js +1 -0
  138. package/dist/app/run/runtime-task-types.d.ts +20 -0
  139. package/dist/app/run/runtime-task-types.js +1 -0
  140. package/dist/app/run/scheduler/estimates.d.ts +32 -0
  141. package/dist/app/run/scheduler/estimates.js +1 -0
  142. package/dist/app/run/scheduler/identity.d.ts +9 -0
  143. package/dist/app/run/scheduler/identity.js +1 -0
  144. package/dist/app/run/scheduler/index.d.ts +124 -0
  145. package/dist/app/run/scheduler/index.js +1 -0
  146. package/dist/app/run/scheduler/observations.d.ts +20 -0
  147. package/dist/app/run/scheduler/observations.js +1 -0
  148. package/dist/app/run/selection.d.ts +10 -0
  149. package/dist/app/run/selection.js +1 -0
  150. package/dist/app/run/setup/runtime-node-setup-errors.d.ts +13 -0
  151. package/dist/app/run/setup/runtime-node-setup-errors.js +1 -0
  152. package/dist/app/run/setup/runtime-node-setup-protocol.d.ts +85 -0
  153. package/dist/app/run/setup/runtime-node-setup-protocol.js +1 -0
  154. package/dist/app/run/setup/runtime-node-setup-worker.d.ts +1 -0
  155. package/dist/app/run/setup/runtime-node-setup-worker.js +1 -0
  156. package/dist/app/run/setup/runtime-node-setup.d.ts +48 -0
  157. package/dist/app/run/setup/runtime-node-setup.js +3 -0
  158. package/dist/app/run/task-batches.d.ts +23 -0
  159. package/dist/app/run/task-batches.js +1 -0
  160. package/dist/app/run/worker-loop.d.ts +57 -0
  161. package/dist/app/run/worker-loop.js +1 -0
  162. package/dist/app/setup/playwright.d.ts +22 -0
  163. package/dist/app/setup/playwright.js +1 -0
  164. package/dist/app/status/index.d.ts +7 -0
  165. package/dist/app/status/index.js +1 -0
  166. package/dist/app/status/model.d.ts +29 -0
  167. package/dist/app/status/model.js +1 -0
  168. package/dist/app/status/runs.d.ts +99 -0
  169. package/dist/app/status/runs.js +1 -0
  170. package/dist/app/stop/index.d.ts +14 -0
  171. package/dist/app/stop/index.js +1 -0
  172. package/dist/app/typecheck/index.d.ts +61 -0
  173. package/dist/app/typecheck/index.js +4 -0
  174. package/dist/app/typecheck/unavailable.d.ts +1 -0
  175. package/dist/app/typecheck/unavailable.js +1 -0
  176. package/dist/cli/cloud-apply-help.d.ts +1 -0
  177. package/dist/cli/cloud-apply-help.js +56 -0
  178. package/dist/cli/cloud-selection.d.ts +2 -0
  179. package/dist/cli/cloud-selection.js +3 -0
  180. package/dist/cli/command-catalog.d.ts +238 -0
  181. package/dist/cli/command-catalog.js +1 -0
  182. package/dist/cli/command-flags.d.ts +19 -0
  183. package/dist/cli/command-flags.js +1 -0
  184. package/dist/cli/command-registry.d.ts +2 -0
  185. package/dist/cli/command-registry.js +1 -0
  186. package/dist/cli/commands/artifacts.d.ts +48 -0
  187. package/dist/cli/commands/artifacts.js +3 -0
  188. package/dist/cli/commands/cleanup.d.ts +13 -0
  189. package/dist/cli/commands/cleanup.js +1 -0
  190. package/dist/cli/commands/cloud/apply.d.ts +5 -0
  191. package/dist/cli/commands/cloud/apply.js +1 -0
  192. package/dist/cli/commands/cloud/campaign/create.d.ts +5 -0
  193. package/dist/cli/commands/cloud/campaign/create.js +1 -0
  194. package/dist/cli/commands/cloud/download.d.ts +5 -0
  195. package/dist/cli/commands/cloud/download.js +1 -0
  196. package/dist/cli/commands/cloud/list.d.ts +5 -0
  197. package/dist/cli/commands/cloud/list.js +1 -0
  198. package/dist/cli/commands/cloud/login.d.ts +13 -0
  199. package/dist/cli/commands/cloud/login.js +2 -0
  200. package/dist/cli/commands/cloud/logout.d.ts +7 -0
  201. package/dist/cli/commands/cloud/logout.js +1 -0
  202. package/dist/cli/commands/cloud/migrate/apply.d.ts +2 -0
  203. package/dist/cli/commands/cloud/migrate/apply.js +1 -0
  204. package/dist/cli/commands/cloud/migrate/plan.d.ts +7 -0
  205. package/dist/cli/commands/cloud/migrate/plan.js +1 -0
  206. package/dist/cli/commands/cloud/migrate/progress.d.ts +2 -0
  207. package/dist/cli/commands/cloud/migrate/progress.js +2 -0
  208. package/dist/cli/commands/cloud/migrate/reconcile.d.ts +2 -0
  209. package/dist/cli/commands/cloud/migrate/reconcile.js +1 -0
  210. package/dist/cli/commands/cloud/policy/preview.d.ts +5 -0
  211. package/dist/cli/commands/cloud/policy/preview.js +1 -0
  212. package/dist/cli/commands/cloud/project/create.d.ts +5 -0
  213. package/dist/cli/commands/cloud/project/create.js +1 -0
  214. package/dist/cli/commands/cloud/publish.d.ts +7 -0
  215. package/dist/cli/commands/cloud/publish.js +1 -0
  216. package/dist/cli/commands/cloud/session/revoke.d.ts +8 -0
  217. package/dist/cli/commands/cloud/session/revoke.js +1 -0
  218. package/dist/cli/commands/cloud/show.d.ts +5 -0
  219. package/dist/cli/commands/cloud/show.js +1 -0
  220. package/dist/cli/commands/cloud/snapshot.d.ts +5 -0
  221. package/dist/cli/commands/cloud/snapshot.js +1 -0
  222. package/dist/cli/commands/cloud/status.d.ts +33 -0
  223. package/dist/cli/commands/cloud/status.js +1 -0
  224. package/dist/cli/commands/db/schema/refresh.d.ts +2 -0
  225. package/dist/cli/commands/db/schema/refresh.js +1 -0
  226. package/dist/cli/commands/db/schema/verify.d.ts +2 -0
  227. package/dist/cli/commands/db/schema/verify.js +1 -0
  228. package/dist/cli/commands/destroy.d.ts +9 -0
  229. package/dist/cli/commands/destroy.js +1 -0
  230. package/dist/cli/commands/discover.d.ts +2 -0
  231. package/dist/cli/commands/discover.js +1 -0
  232. package/dist/cli/commands/doctor.d.ts +2 -0
  233. package/dist/cli/commands/doctor.js +1 -0
  234. package/dist/cli/commands/guard/unsafe-entrypoint.d.ts +2 -0
  235. package/dist/cli/commands/guard/unsafe-entrypoint.js +2 -0
  236. package/dist/cli/commands/lint.d.ts +2 -0
  237. package/dist/cli/commands/lint.js +1 -0
  238. package/dist/cli/commands/run/status.d.ts +5 -0
  239. package/dist/cli/commands/run/status.js +1 -0
  240. package/dist/cli/commands/run/stop.d.ts +7 -0
  241. package/dist/cli/commands/run/stop.js +1 -0
  242. package/dist/cli/commands/run.d.ts +9 -0
  243. package/dist/cli/commands/run.js +1 -0
  244. package/dist/cli/commands/setup/playwright.d.ts +2 -0
  245. package/dist/cli/commands/setup/playwright.js +1 -0
  246. package/dist/cli/commands/status.d.ts +5 -0
  247. package/dist/cli/commands/status.js +1 -0
  248. package/dist/cli/commands/stop.d.ts +12 -0
  249. package/dist/cli/commands/stop.js +1 -0
  250. package/dist/cli/commands/typecheck.d.ts +2 -0
  251. package/dist/cli/commands/typecheck.js +1 -0
  252. package/dist/cli/commands/workspace.d.ts +2 -0
  253. package/dist/cli/commands/workspace.js +1 -0
  254. package/dist/cli/entrypoint.d.ts +1 -0
  255. package/dist/cli/entrypoint.js +1 -0
  256. package/dist/cli/framework/command.d.ts +21 -0
  257. package/dist/cli/framework/command.js +1 -0
  258. package/dist/cli/framework/definitions.d.ts +100 -0
  259. package/dist/cli/framework/definitions.js +1 -0
  260. package/dist/cli/framework/errors.d.ts +6 -0
  261. package/dist/cli/framework/errors.js +1 -0
  262. package/dist/cli/framework/execute.d.ts +13 -0
  263. package/dist/cli/framework/execute.js +6 -0
  264. package/dist/cli/framework/help.d.ts +11 -0
  265. package/dist/cli/framework/help.js +8 -0
  266. package/dist/cli/framework/index.d.ts +3 -0
  267. package/dist/cli/framework/index.js +1 -0
  268. package/dist/cli/framework/parser.d.ts +6 -0
  269. package/dist/cli/framework/parser.js +1 -0
  270. package/dist/cli/index.d.ts +4 -0
  271. package/dist/cli/index.js +1 -0
  272. package/dist/cli/json-errors.d.ts +3 -0
  273. package/dist/cli/json-errors.js +1 -0
  274. package/dist/cli/operations/db/schema/refresh/operation.d.ts +6 -0
  275. package/dist/cli/operations/db/schema/refresh/operation.js +1 -0
  276. package/dist/cli/operations/db/schema/verify/operation.d.ts +6 -0
  277. package/dist/cli/operations/db/schema/verify/operation.js +1 -0
  278. package/dist/cli/operations/run/operation.d.ts +24 -0
  279. package/dist/cli/operations/run/operation.js +2 -0
  280. package/dist/cli/process-signal.d.ts +1 -0
  281. package/dist/cli/process-signal.js +1 -0
  282. package/dist/cli/renderers/artifact-preview.d.ts +4 -0
  283. package/dist/cli/renderers/artifact-preview.js +1 -0
  284. package/dist/cli/renderers/cleanup/format.d.ts +14 -0
  285. package/dist/cli/renderers/cleanup/format.js +1 -0
  286. package/dist/cli/renderers/db-schema/text.d.ts +4 -0
  287. package/dist/cli/renderers/db-schema/text.js +1 -0
  288. package/dist/cli/renderers/destroy/text.d.ts +4 -0
  289. package/dist/cli/renderers/destroy/text.js +1 -0
  290. package/dist/cli/renderers/discover/report.d.ts +7 -0
  291. package/dist/cli/renderers/discover/report.js +1 -0
  292. package/dist/cli/renderers/discover/text.d.ts +3 -0
  293. package/dist/cli/renderers/discover/text.js +1 -0
  294. package/dist/cli/renderers/doctor/text.d.ts +2 -0
  295. package/dist/cli/renderers/doctor/text.js +1 -0
  296. package/dist/cli/renderers/lint/text.d.ts +2 -0
  297. package/dist/cli/renderers/lint/text.js +1 -0
  298. package/dist/cli/renderers/run/events.d.ts +8 -0
  299. package/dist/cli/renderers/run/events.js +2 -0
  300. package/dist/cli/renderers/run/failure.d.ts +8 -0
  301. package/dist/cli/renderers/run/failure.js +1 -0
  302. package/dist/cli/renderers/run/formatting.d.ts +79 -0
  303. package/dist/cli/renderers/run/formatting.js +1 -0
  304. package/dist/cli/renderers/run/status.d.ts +6 -0
  305. package/dist/cli/renderers/run/status.js +1 -0
  306. package/dist/cli/renderers/run/text-reporter.d.ts +19 -0
  307. package/dist/cli/renderers/run/text-reporter.js +23 -0
  308. package/dist/cli/renderers/status/text.d.ts +2 -0
  309. package/dist/cli/renderers/status/text.js +1 -0
  310. package/dist/cli/renderers/stop/text.d.ts +7 -0
  311. package/dist/cli/renderers/stop/text.js +1 -0
  312. package/dist/cli/renderers/typecheck/text.d.ts +2 -0
  313. package/dist/cli/renderers/typecheck/text.js +1 -0
  314. package/dist/cli/terminal/colors.d.ts +10 -0
  315. package/dist/cli/terminal/colors.js +1 -0
  316. package/dist/cli/terminal/layout.d.ts +11 -0
  317. package/dist/cli/terminal/layout.js +2 -0
  318. package/dist/cli/version-drift.d.ts +25 -0
  319. package/dist/cli/version-drift.js +7 -0
  320. package/dist/cloud/account.d.ts +34 -0
  321. package/dist/cloud/account.js +1 -0
  322. package/dist/cloud/archive-contract.d.ts +1 -0
  323. package/dist/cloud/archive-contract.js +1 -0
  324. package/dist/cloud/archive.d.ts +12 -0
  325. package/dist/cloud/archive.js +1 -0
  326. package/dist/cloud/campaigns.d.ts +200 -0
  327. package/dist/cloud/campaigns.js +2 -0
  328. package/dist/cloud/client.d.ts +68 -0
  329. package/dist/cloud/client.js +4 -0
  330. package/dist/cloud/download.d.ts +5 -0
  331. package/dist/cloud/download.js +1 -0
  332. package/dist/cloud/historical-contract.d.ts +224 -0
  333. package/dist/cloud/historical-contract.js +1 -0
  334. package/dist/cloud/historical-json.d.ts +16 -0
  335. package/dist/cloud/historical-json.js +1 -0
  336. package/dist/cloud/historical.d.ts +69 -0
  337. package/dist/cloud/historical.js +1 -0
  338. package/dist/cloud/pagination.d.ts +5 -0
  339. package/dist/cloud/pagination.js +1 -0
  340. package/dist/cloud/transport.d.ts +18 -0
  341. package/dist/cloud/transport.js +1 -0
  342. package/dist/config/authoring/build-config-contract.d.ts +27 -0
  343. package/dist/config/authoring/build-config-contract.js +1 -0
  344. package/dist/config/authoring/configured-step-contract.d.ts +18 -0
  345. package/dist/config/authoring/configured-step-contract.js +1 -0
  346. package/dist/config/authoring/http-execution-contract.d.ts +70 -0
  347. package/dist/config/authoring/http-execution-contract.js +1 -0
  348. package/dist/config/authoring/http-methods.d.ts +18 -0
  349. package/dist/config/authoring/http-methods.js +1 -0
  350. package/dist/config/authoring/index.d.ts +376 -0
  351. package/dist/config/authoring/index.js +1 -0
  352. package/dist/config/authoring/preset-env.d.ts +19 -0
  353. package/dist/config/authoring/preset-env.js +1 -0
  354. package/dist/config/authoring/runtime.d.ts +64 -0
  355. package/dist/config/authoring/runtime.js +1 -0
  356. package/dist/config/loader/cloud.d.ts +2 -0
  357. package/dist/config/loader/cloud.js +1 -0
  358. package/dist/config/loader/config-loader.d.ts +9 -0
  359. package/dist/config/loader/config-loader.js +1 -0
  360. package/dist/config/loader/database-materialization.d.ts +19 -0
  361. package/dist/config/loader/database-materialization.js +1 -0
  362. package/dist/config/loader/database-roles.d.ts +2 -0
  363. package/dist/config/loader/database-roles.js +1 -0
  364. package/dist/config/loader/database.d.ts +55 -0
  365. package/dist/config/loader/database.js +1 -0
  366. package/dist/config/loader/decode-discovery.d.ts +5 -0
  367. package/dist/config/loader/decode-discovery.js +1 -0
  368. package/dist/config/loader/decode-execution.d.ts +9 -0
  369. package/dist/config/loader/decode-execution.js +1 -0
  370. package/dist/config/loader/dependencies.d.ts +7 -0
  371. package/dist/config/loader/dependencies.js +1 -0
  372. package/dist/config/loader/discover-tests.d.ts +101 -0
  373. package/dist/config/loader/discover-tests.js +1 -0
  374. package/dist/config/loader/discovery-summary.d.ts +29 -0
  375. package/dist/config/loader/discovery-summary.js +1 -0
  376. package/dist/config/loader/discovery.d.ts +54 -0
  377. package/dist/config/loader/discovery.js +2 -0
  378. package/dist/config/loader/env.d.ts +4 -0
  379. package/dist/config/loader/env.js +1 -0
  380. package/dist/config/loader/execution-model.d.ts +16 -0
  381. package/dist/config/loader/execution-model.js +1 -0
  382. package/dist/config/loader/file-metadata.d.ts +19 -0
  383. package/dist/config/loader/file-metadata.js +1 -0
  384. package/dist/config/loader/index.d.ts +10 -0
  385. package/dist/config/loader/index.js +1 -0
  386. package/dist/config/loader/load.d.ts +89 -0
  387. package/dist/config/loader/load.js +1 -0
  388. package/dist/config/loader/managed-configs.d.ts +21 -0
  389. package/dist/config/loader/managed-configs.js +1 -0
  390. package/dist/config/loader/path-policy.d.ts +9 -0
  391. package/dist/config/loader/path-policy.js +1 -0
  392. package/dist/config/loader/paths.d.ts +5 -0
  393. package/dist/config/loader/paths.js +1 -0
  394. package/dist/config/loader/runtime-isolation.d.ts +44 -0
  395. package/dist/config/loader/runtime-isolation.js +1 -0
  396. package/dist/config/loader/runtime.d.ts +25 -0
  397. package/dist/config/loader/runtime.js +1 -0
  398. package/dist/config/loader/skip-config.d.ts +44 -0
  399. package/dist/config/loader/skip-config.js +1 -0
  400. package/dist/config/loader/validation.d.ts +16 -0
  401. package/dist/config/loader/validation.js +1 -0
  402. package/dist/config/loader/values.d.ts +4 -0
  403. package/dist/config/loader/values.js +1 -0
  404. package/dist/config/runtime/build-assets.d.ts +6 -0
  405. package/dist/config/runtime/build-assets.js +1 -0
  406. package/dist/config/runtime/env/index.d.ts +35 -0
  407. package/dist/config/runtime/env/index.js +1 -0
  408. package/dist/config/runtime/next-runtime-tsconfig.d.ts +6 -0
  409. package/dist/config/runtime/next-runtime-tsconfig.js +2 -0
  410. package/dist/database/activity-gate.d.ts +22 -0
  411. package/dist/database/activity-gate.js +1 -0
  412. package/dist/database/admin.d.ts +31 -0
  413. package/dist/database/admin.js +2 -0
  414. package/dist/database/cleanup.d.ts +36 -0
  415. package/dist/database/cleanup.js +1 -0
  416. package/dist/database/configured-steps.d.ts +27 -0
  417. package/dist/database/configured-steps.js +1 -0
  418. package/dist/database/constants.d.ts +11 -0
  419. package/dist/database/constants.js +1 -0
  420. package/dist/database/docker.d.ts +65 -0
  421. package/dist/database/docker.js +5 -0
  422. package/dist/database/drizzle/index.d.ts +13 -0
  423. package/dist/database/drizzle/index.js +1 -0
  424. package/dist/database/fingerprint.d.ts +12 -0
  425. package/dist/database/fingerprint.js +1 -0
  426. package/dist/database/index.d.ts +41 -0
  427. package/dist/database/index.js +1 -0
  428. package/dist/database/local-postgres.d.ts +71 -0
  429. package/dist/database/local-postgres.js +2 -0
  430. package/dist/database/naming.d.ts +17 -0
  431. package/dist/database/naming.js +1 -0
  432. package/dist/database/postgres/index.d.ts +71 -0
  433. package/dist/database/postgres/index.js +2 -0
  434. package/dist/database/progress.d.ts +6 -0
  435. package/dist/database/progress.js +1 -0
  436. package/dist/database/roles.d.ts +19 -0
  437. package/dist/database/roles.js +41 -0
  438. package/dist/database/runtime-config.d.ts +16 -0
  439. package/dist/database/runtime-config.js +1 -0
  440. package/dist/database/runtime-reservations.d.ts +19 -0
  441. package/dist/database/runtime-reservations.js +1 -0
  442. package/dist/database/schema-operations.d.ts +18 -0
  443. package/dist/database/schema-operations.js +1 -0
  444. package/dist/database/schema-source.d.ts +93 -0
  445. package/dist/database/schema-source.js +3 -0
  446. package/dist/database/source-refresh-lock.d.ts +8 -0
  447. package/dist/database/source-refresh-lock.js +1 -0
  448. package/dist/database/source-url.d.ts +22 -0
  449. package/dist/database/source-url.js +2 -0
  450. package/dist/database/state-files.d.ts +13 -0
  451. package/dist/database/state-files.js +1 -0
  452. package/dist/database/state.d.ts +26 -0
  453. package/dist/database/state.js +1 -0
  454. package/dist/database/steps.d.ts +16 -0
  455. package/dist/database/steps.js +4 -0
  456. package/dist/database/template-steps.d.ts +35 -0
  457. package/dist/database/template-steps.js +4 -0
  458. package/dist/domain/file-timeout.d.ts +28 -0
  459. package/dist/domain/file-timeout.js +1 -0
  460. package/dist/domain/identifiers.d.ts +9 -0
  461. package/dist/domain/identifiers.js +1 -0
  462. package/dist/domain/operation-display.d.ts +10 -0
  463. package/dist/domain/operation-display.js +1 -0
  464. package/dist/domain/operation-reason.d.ts +5 -0
  465. package/dist/domain/operation-reason.js +1 -0
  466. package/dist/domain/postgres-route.d.ts +4 -0
  467. package/dist/domain/postgres-route.js +1 -0
  468. package/dist/domain/runtime-identity.d.ts +1 -0
  469. package/dist/domain/runtime-identity.js +1 -0
  470. package/dist/domain/runtime-isolation-contract.d.ts +5 -0
  471. package/dist/domain/runtime-isolation-contract.js +1 -0
  472. package/dist/domain/service-name.d.ts +2 -0
  473. package/dist/domain/service-name.js +1 -0
  474. package/dist/domain/suite-selection.d.ts +20 -0
  475. package/dist/domain/suite-selection.js +1 -0
  476. package/dist/domain/test-outcomes.d.ts +3 -0
  477. package/dist/domain/test-outcomes.js +1 -0
  478. package/dist/domain/test-types.d.ts +16 -0
  479. package/dist/domain/test-types.js +1 -0
  480. package/dist/engines/adapters/evidence-files.d.ts +32 -0
  481. package/dist/engines/adapters/evidence-files.js +1 -0
  482. package/dist/engines/adapters/evidence-identity.d.ts +12 -0
  483. package/dist/engines/adapters/evidence-identity.js +1 -0
  484. package/dist/engines/adapters/execution.d.ts +38 -0
  485. package/dist/engines/adapters/execution.js +1 -0
  486. package/dist/engines/adapters/native-report.d.ts +25 -0
  487. package/dist/engines/adapters/native-report.js +1 -0
  488. package/dist/engines/adapters/workspace.d.ts +4 -0
  489. package/dist/engines/adapters/workspace.js +1 -0
  490. package/dist/engines/api/capabilities.d.ts +31 -0
  491. package/dist/engines/api/capabilities.js +1 -0
  492. package/dist/engines/api/evidence.d.ts +38 -0
  493. package/dist/engines/api/evidence.js +1 -0
  494. package/dist/engines/api/execution-observer.d.ts +8 -0
  495. package/dist/engines/api/execution-observer.js +1 -0
  496. package/dist/engines/api/execution-scope.d.ts +17 -0
  497. package/dist/engines/api/execution-scope.js +1 -0
  498. package/dist/engines/api/execution.d.ts +99 -0
  499. package/dist/engines/api/execution.js +1 -0
  500. package/dist/engines/api/index.d.ts +5 -0
  501. package/dist/engines/api/index.js +1 -0
  502. package/dist/engines/api/k6-runtime-input.d.ts +26 -0
  503. package/dist/engines/api/k6-runtime-input.js +1 -0
  504. package/dist/engines/api/runtime-artifact.d.ts +19 -0
  505. package/dist/engines/api/runtime-artifact.js +1 -0
  506. package/dist/engines/bundle-cache.d.ts +32 -0
  507. package/dist/engines/bundle-cache.js +1 -0
  508. package/dist/engines/catalog.d.ts +32 -0
  509. package/dist/engines/catalog.js +1 -0
  510. package/dist/engines/contracts/fixture-manifest.d.ts +34 -0
  511. package/dist/engines/contracts/fixture-manifest.js +1 -0
  512. package/dist/engines/contracts/json-bounds.d.ts +36 -0
  513. package/dist/engines/contracts/json-bounds.js +2 -0
  514. package/dist/engines/contracts/k6-repository-configuration.d.ts +12 -0
  515. package/dist/engines/contracts/k6-repository-configuration.js +1 -0
  516. package/dist/engines/contracts/test-context.d.ts +15 -0
  517. package/dist/engines/contracts/test-context.js +1 -0
  518. package/dist/engines/definitions.d.ts +15 -0
  519. package/dist/engines/definitions.js +1 -0
  520. package/dist/engines/factory.d.ts +6 -0
  521. package/dist/engines/factory.js +1 -0
  522. package/dist/engines/installation-catalog.d.ts +27 -0
  523. package/dist/engines/installation-catalog.js +1 -0
  524. package/dist/engines/installations/k6.d.ts +98 -0
  525. package/dist/engines/installations/k6.js +1 -0
  526. package/dist/engines/installations/node-vitest.d.ts +47 -0
  527. package/dist/engines/installations/node-vitest.js +1 -0
  528. package/dist/engines/installations/package-resolution.d.ts +51 -0
  529. package/dist/engines/installations/package-resolution.js +1 -0
  530. package/dist/engines/installations/playwright-resolution-child.d.ts +1 -0
  531. package/dist/engines/installations/playwright-resolution-child.js +2 -0
  532. package/dist/engines/installations/playwright.d.ts +85 -0
  533. package/dist/engines/installations/playwright.js +1 -0
  534. package/dist/engines/installations/types.d.ts +10 -0
  535. package/dist/engines/installations/types.js +1 -0
  536. package/dist/engines/k6/adapter/bundle.d.ts +25 -0
  537. package/dist/engines/k6/adapter/bundle.js +112 -0
  538. package/dist/engines/k6/adapter/evidence.d.ts +15 -0
  539. package/dist/engines/k6/adapter/evidence.js +4 -0
  540. package/dist/engines/k6/adapter/executor.d.ts +13 -0
  541. package/dist/engines/k6/adapter/executor.js +1 -0
  542. package/dist/engines/k6/adapter/index.d.ts +1 -0
  543. package/dist/engines/k6/adapter/index.js +1 -0
  544. package/dist/engines/k6/adapter/input.d.ts +21 -0
  545. package/dist/engines/k6/adapter/input.js +1 -0
  546. package/dist/engines/k6/adapter/native-summary.d.ts +11 -0
  547. package/dist/engines/k6/adapter/native-summary.js +1 -0
  548. package/dist/engines/k6/adapter/repository-configuration.d.ts +2 -0
  549. package/dist/engines/k6/adapter/repository-configuration.js +1 -0
  550. package/dist/engines/k6/authoring-type-paths.d.ts +3 -0
  551. package/dist/engines/k6/authoring-type-paths.js +1 -0
  552. package/dist/engines/k6/runtime/ambient-types/bundle-manifest.json +146 -0
  553. package/dist/engines/k6/runtime/ambient-types/k6/LICENSE +21 -0
  554. package/dist/engines/k6/runtime/ambient-types/k6/browser/index.d.ts +6332 -0
  555. package/dist/engines/k6/runtime/ambient-types/k6/crypto/index.d.ts +218 -0
  556. package/dist/engines/k6/runtime/ambient-types/k6/data/index.d.ts +16 -0
  557. package/dist/engines/k6/runtime/ambient-types/k6/encoding/index.d.ts +46 -0
  558. package/dist/engines/k6/runtime/ambient-types/k6/execution/index.d.ts +127 -0
  559. package/dist/engines/k6/runtime/ambient-types/k6/experimental/csv/index.d.ts +96 -0
  560. package/dist/engines/k6/runtime/ambient-types/k6/experimental/fs/index.d.ts +104 -0
  561. package/dist/engines/k6/runtime/ambient-types/k6/experimental/redis/index.d.ts +821 -0
  562. package/dist/engines/k6/runtime/ambient-types/k6/experimental/streams/index.d.ts +198 -0
  563. package/dist/engines/k6/runtime/ambient-types/k6/global.d.ts +83 -0
  564. package/dist/engines/k6/runtime/ambient-types/k6/html/index.d.ts +1325 -0
  565. package/dist/engines/k6/runtime/ambient-types/k6/http/index.d.ts +806 -0
  566. package/dist/engines/k6/runtime/ambient-types/k6/index.d.ts +126 -0
  567. package/dist/engines/k6/runtime/ambient-types/k6/metrics/index.d.ts +66 -0
  568. package/dist/engines/k6/runtime/ambient-types/k6/net/grpc/index.d.ts +247 -0
  569. package/dist/engines/k6/runtime/ambient-types/k6/options/index.d.ts +459 -0
  570. package/dist/engines/k6/runtime/ambient-types/k6/package.json +79 -0
  571. package/dist/engines/k6/runtime/ambient-types/k6/secrets/index.d.ts +36 -0
  572. package/dist/engines/k6/runtime/ambient-types/k6/timers/index.d.ts +47 -0
  573. package/dist/engines/k6/runtime/ambient-types/k6/websockets/index.d.ts +324 -0
  574. package/dist/engines/k6/runtime/ambient-types/k6/ws/index.d.ts +283 -0
  575. package/dist/engines/k6/runtime/ambient-types/xk6-sql/LICENSE +201 -0
  576. package/dist/engines/k6/runtime/ambient-types/xk6-sql/index.d.ts +397 -0
  577. package/dist/engines/k6/runtime/ambient-types/xk6-sql/package.json +15 -0
  578. package/dist/engines/k6/runtime/artifacts.d.ts +2 -0
  579. package/dist/engines/k6/runtime/artifacts.js +1 -0
  580. package/dist/engines/k6/runtime/checks.d.ts +17 -0
  581. package/dist/engines/k6/runtime/checks.js +1 -0
  582. package/dist/engines/k6/runtime/dal-fixtures.d.ts +24 -0
  583. package/dist/engines/k6/runtime/dal-fixtures.js +1 -0
  584. package/dist/engines/k6/runtime/dal-suite.d.ts +24 -0
  585. package/dist/engines/k6/runtime/dal-suite.js +1 -0
  586. package/dist/engines/k6/runtime/dal.d.ts +10 -0
  587. package/dist/engines/k6/runtime/dal.js +1 -0
  588. package/dist/engines/k6/runtime/fixtures.d.ts +3 -0
  589. package/dist/engines/k6/runtime/fixtures.js +1 -0
  590. package/dist/engines/k6/runtime/http-assertions.d.ts +19 -0
  591. package/dist/engines/k6/runtime/http-assertions.js +1 -0
  592. package/dist/engines/k6/runtime/http-checks.d.ts +19 -0
  593. package/dist/engines/k6/runtime/http-checks.js +1 -0
  594. package/dist/engines/k6/runtime/http-suite-runtime.d.ts +103 -0
  595. package/dist/engines/k6/runtime/http-suite-runtime.js +1 -0
  596. package/dist/engines/k6/runtime/http.d.ts +15 -0
  597. package/dist/engines/k6/runtime/http.js +1 -0
  598. package/dist/engines/k6/runtime/index.d.ts +11 -0
  599. package/dist/engines/k6/runtime/index.js +1 -0
  600. package/dist/engines/k6/runtime/input.d.ts +3 -0
  601. package/dist/engines/k6/runtime/input.js +1 -0
  602. package/dist/engines/k6/runtime/k6-repository-configuration.d.ts +9 -0
  603. package/dist/engines/k6/runtime/k6-repository-configuration.js +1 -0
  604. package/dist/engines/k6/runtime/node-setup.d.ts +13 -0
  605. package/dist/engines/k6/runtime/node-setup.js +1 -0
  606. package/dist/engines/k6/runtime/runtime-globals.d.ts +10 -0
  607. package/dist/engines/k6/runtime/runtime-globals.js +1 -0
  608. package/dist/engines/k6/runtime/runtime.d.ts +54 -0
  609. package/dist/engines/k6/runtime/runtime.js +1 -0
  610. package/dist/engines/k6/runtime/shared/assertion-details.d.ts +19 -0
  611. package/dist/engines/k6/runtime/shared/assertion-details.js +2 -0
  612. package/dist/engines/k6/runtime/shared/db-normalization.d.ts +19 -0
  613. package/dist/engines/k6/runtime/shared/db-normalization.js +1 -0
  614. package/dist/engines/k6/runtime/shared/error-body.d.ts +3 -0
  615. package/dist/engines/k6/runtime/shared/error-body.js +1 -0
  616. package/dist/engines/k6/runtime/shared/file-data.d.ts +1 -0
  617. package/dist/engines/k6/runtime/shared/file-data.js +1 -0
  618. package/dist/engines/k6/runtime/shared/fixture-engine.d.ts +8 -0
  619. package/dist/engines/k6/runtime/shared/fixture-engine.js +2 -0
  620. package/dist/engines/k6/runtime/shared/http-check-plan.d.ts +29 -0
  621. package/dist/engines/k6/runtime/shared/http-check-plan.js +1 -0
  622. package/dist/engines/k6/runtime/shared/http-parsing.d.ts +10 -0
  623. package/dist/engines/k6/runtime/shared/http-parsing.js +3 -0
  624. package/dist/engines/k6/runtime/shared/ordering.d.ts +2 -0
  625. package/dist/engines/k6/runtime/shared/ordering.js +1 -0
  626. package/dist/engines/k6/runtime/shared/properties.d.ts +1 -0
  627. package/dist/engines/k6/runtime/shared/properties.js +1 -0
  628. package/dist/engines/k6/runtime/suite.d.ts +4 -0
  629. package/dist/engines/k6/runtime/suite.js +1 -0
  630. package/dist/engines/k6/runtime/types.d.ts +242 -0
  631. package/dist/engines/k6/runtime/types.js +1 -0
  632. package/dist/engines/k6/runtime/xk6-sql-driver-postgres.d.ts +7 -0
  633. package/dist/engines/k6/runtime/xk6-sql-driver-postgres.js +1 -0
  634. package/dist/engines/managed-module-resolution-policy-input.d.ts +9 -0
  635. package/dist/engines/managed-module-resolution-policy-input.js +1 -0
  636. package/dist/engines/managed-module-resolution-policy.d.ts +25 -0
  637. package/dist/engines/managed-module-resolution-policy.js +1 -0
  638. package/dist/engines/managed-module-resolution.d.ts +13 -0
  639. package/dist/engines/managed-module-resolution.js +697 -0
  640. package/dist/engines/manager.d.ts +24 -0
  641. package/dist/engines/manager.js +1 -0
  642. package/dist/engines/node-vitest/adapter/adapter.d.ts +16 -0
  643. package/dist/engines/node-vitest/adapter/adapter.js +1 -0
  644. package/dist/engines/node-vitest/adapter/consumer-typescript-paths.d.ts +17 -0
  645. package/dist/engines/node-vitest/adapter/consumer-typescript-paths.js +3 -0
  646. package/dist/engines/node-vitest/adapter/evidence.d.ts +33 -0
  647. package/dist/engines/node-vitest/adapter/evidence.js +2 -0
  648. package/dist/engines/node-vitest/adapter/failure-details.d.ts +2 -0
  649. package/dist/engines/node-vitest/adapter/failure-details.js +2 -0
  650. package/dist/engines/node-vitest/adapter/index.d.ts +1 -0
  651. package/dist/engines/node-vitest/adapter/index.js +1 -0
  652. package/dist/engines/node-vitest/adapter/reporter.d.ts +7 -0
  653. package/dist/engines/node-vitest/adapter/reporter.js +1 -0
  654. package/dist/engines/node-vitest/adapter/resolution.d.ts +12 -0
  655. package/dist/engines/node-vitest/adapter/resolution.js +1 -0
  656. package/dist/engines/node-vitest/adapter/workspace.d.ts +19 -0
  657. package/dist/engines/node-vitest/adapter/workspace.js +177 -0
  658. package/dist/engines/node-vitest/runtime/contract/index.d.ts +64 -0
  659. package/dist/engines/node-vitest/runtime/contract/index.js +1 -0
  660. package/dist/engines/node-vitest/runtime/data/http.d.ts +4 -0
  661. package/dist/engines/node-vitest/runtime/data/http.js +1 -0
  662. package/dist/engines/node-vitest/runtime/data/index.d.ts +8 -0
  663. package/dist/engines/node-vitest/runtime/data/index.js +1 -0
  664. package/dist/engines/node-vitest/runtime/data/primitives.d.ts +1 -0
  665. package/dist/engines/node-vitest/runtime/data/primitives.js +1 -0
  666. package/dist/engines/node-vitest/runtime/data/report.d.ts +3 -0
  667. package/dist/engines/node-vitest/runtime/data/report.js +6 -0
  668. package/dist/engines/node-vitest/runtime/data/runner.d.ts +4 -0
  669. package/dist/engines/node-vitest/runtime/data/runner.js +1 -0
  670. package/dist/engines/node-vitest/runtime/data/scenario.d.ts +12 -0
  671. package/dist/engines/node-vitest/runtime/data/scenario.js +2 -0
  672. package/dist/engines/node-vitest/runtime/data/types.d.ts +412 -0
  673. package/dist/engines/node-vitest/runtime/data/types.js +1 -0
  674. package/dist/engines/node-vitest/runtime/runtime-input.d.ts +63 -0
  675. package/dist/engines/node-vitest/runtime/runtime-input.js +1 -0
  676. package/dist/engines/playwright/adapter/adapter.d.ts +18 -0
  677. package/dist/engines/playwright/adapter/adapter.js +1 -0
  678. package/dist/engines/playwright/adapter/attachments.d.ts +25 -0
  679. package/dist/engines/playwright/adapter/attachments.js +1 -0
  680. package/dist/engines/playwright/adapter/config.d.ts +45 -0
  681. package/dist/engines/playwright/adapter/config.js +167 -0
  682. package/dist/engines/playwright/adapter/evidence-validation.d.ts +12 -0
  683. package/dist/engines/playwright/adapter/evidence-validation.js +1 -0
  684. package/dist/engines/playwright/adapter/evidence.d.ts +32 -0
  685. package/dist/engines/playwright/adapter/evidence.js +1 -0
  686. package/dist/engines/playwright/adapter/failure-details.d.ts +2 -0
  687. package/dist/engines/playwright/adapter/failure-details.js +2 -0
  688. package/dist/engines/playwright/adapter/index.d.ts +3 -0
  689. package/dist/engines/playwright/adapter/index.js +1 -0
  690. package/dist/engines/playwright/adapter/reporter.d.ts +12 -0
  691. package/dist/engines/playwright/adapter/reporter.js +1 -0
  692. package/dist/engines/playwright/runtime/config-file.d.ts +2 -0
  693. package/dist/engines/playwright/runtime/config-file.js +1 -0
  694. package/dist/engines/playwright/runtime/config.d.ts +24 -0
  695. package/dist/engines/playwright/runtime/config.js +1 -0
  696. package/dist/engines/playwright/runtime/index.d.ts +4 -0
  697. package/dist/engines/playwright/runtime/index.js +1 -0
  698. package/dist/engines/playwright/runtime/runtime-input.d.ts +36 -0
  699. package/dist/engines/playwright/runtime/runtime-input.js +151 -0
  700. package/dist/engines/playwright/runtime/sandbox.d.ts +84 -0
  701. package/dist/engines/playwright/runtime/sandbox.js +1 -0
  702. package/dist/engines/runtime-input-file.d.ts +25 -0
  703. package/dist/engines/runtime-input-file.js +1 -0
  704. package/dist/environment/lifecycle-artifacts.d.ts +7 -0
  705. package/dist/environment/lifecycle-artifacts.js +1 -0
  706. package/dist/environment/lifecycle-controller.d.ts +71 -0
  707. package/dist/environment/lifecycle-controller.js +1 -0
  708. package/dist/environment/lifecycle.d.ts +29 -0
  709. package/dist/environment/lifecycle.js +1 -0
  710. package/dist/environment/maintenance.d.ts +68 -0
  711. package/dist/environment/maintenance.js +1 -0
  712. package/dist/environment/planning-types.d.ts +35 -0
  713. package/dist/environment/planning-types.js +1 -0
  714. package/dist/environment/readiness.d.ts +12 -0
  715. package/dist/environment/readiness.js +1 -0
  716. package/dist/environment/ready-environment.d.ts +17 -0
  717. package/dist/environment/ready-environment.js +1 -0
  718. package/dist/environment/run-environment.d.ts +38 -0
  719. package/dist/environment/run-environment.js +1 -0
  720. package/dist/environment/run-stopping.d.ts +13 -0
  721. package/dist/environment/run-stopping.js +1 -0
  722. package/dist/environment/runtime-contexts.d.ts +32 -0
  723. package/dist/environment/runtime-contexts.js +1 -0
  724. package/dist/environment/runtime-manager.d.ts +95 -0
  725. package/dist/environment/runtime-manager.js +1 -0
  726. package/dist/environment/runtime-planning.d.ts +16 -0
  727. package/dist/environment/runtime-planning.js +1 -0
  728. package/dist/environment/runtime-preparation.d.ts +30 -0
  729. package/dist/environment/runtime-preparation.js +1 -0
  730. package/dist/environment/runtime-service.d.ts +18 -0
  731. package/dist/environment/runtime-service.js +1 -0
  732. package/dist/environment/services.d.ts +48 -0
  733. package/dist/environment/services.js +1 -0
  734. package/dist/environment/state.d.ts +18 -0
  735. package/dist/environment/state.js +1 -0
  736. package/dist/environment/status-runtime.d.ts +53 -0
  737. package/dist/environment/status-runtime.js +1 -0
  738. package/dist/environment/template.d.ts +180 -0
  739. package/dist/environment/template.js +1 -0
  740. package/dist/evidence/artifact-config.d.ts +14 -0
  741. package/dist/evidence/artifact-config.js +1 -0
  742. package/dist/evidence/artifact-validation.d.ts +5 -0
  743. package/dist/evidence/artifact-validation.js +1 -0
  744. package/dist/evidence/artifacts.d.ts +75 -0
  745. package/dist/evidence/artifacts.js +2 -0
  746. package/dist/evidence/bundles.d.ts +28 -0
  747. package/dist/evidence/bundles.js +1 -0
  748. package/dist/evidence/ci-provenance.d.ts +9 -0
  749. package/dist/evidence/ci-provenance.js +1 -0
  750. package/dist/evidence/contracts.d.ts +162 -0
  751. package/dist/evidence/contracts.js +1 -0
  752. package/dist/evidence/file-evidence.d.ts +23 -0
  753. package/dist/evidence/file-evidence.js +1 -0
  754. package/dist/evidence/finalization.d.ts +9 -0
  755. package/dist/evidence/finalization.js +1 -0
  756. package/dist/evidence/index.d.ts +8 -0
  757. package/dist/evidence/index.js +1 -0
  758. package/dist/evidence/logs.d.ts +31 -0
  759. package/dist/evidence/logs.js +2 -0
  760. package/dist/evidence/operation-timings.d.ts +60 -0
  761. package/dist/evidence/operation-timings.js +1 -0
  762. package/dist/evidence/read-bundle.d.ts +4 -0
  763. package/dist/evidence/read-bundle.js +1 -0
  764. package/dist/evidence/read-fields.d.ts +22 -0
  765. package/dist/evidence/read-fields.js +1 -0
  766. package/dist/evidence/read-provenance.d.ts +2 -0
  767. package/dist/evidence/read-provenance.js +1 -0
  768. package/dist/evidence/read-redaction.d.ts +2 -0
  769. package/dist/evidence/read-redaction.js +1 -0
  770. package/dist/evidence/read-retention.d.ts +2 -0
  771. package/dist/evidence/read-retention.js +1 -0
  772. package/dist/evidence/read-run.d.ts +2 -0
  773. package/dist/evidence/read-run.js +1 -0
  774. package/dist/evidence/reading.d.ts +28 -0
  775. package/dist/evidence/reading.js +1 -0
  776. package/dist/evidence/reporting-types.d.ts +330 -0
  777. package/dist/evidence/reporting-types.js +1 -0
  778. package/dist/evidence/reporting.d.ts +3 -0
  779. package/dist/evidence/reporting.js +1 -0
  780. package/dist/evidence/secure-file-copy.d.ts +24 -0
  781. package/dist/evidence/secure-file-copy.js +1 -0
  782. package/dist/evidence/setup-progress.d.ts +63 -0
  783. package/dist/evidence/setup-progress.js +1 -0
  784. package/dist/evidence/step-output.d.ts +16 -0
  785. package/dist/evidence/step-output.js +6 -0
  786. package/dist/evidence/storage-inventory.d.ts +27 -0
  787. package/dist/evidence/storage-inventory.js +1 -0
  788. package/dist/evidence/storage.d.ts +27 -0
  789. package/dist/evidence/storage.js +2 -0
  790. package/dist/evidence/timing.d.ts +23 -0
  791. package/dist/evidence/timing.js +1 -0
  792. package/dist/file.d.ts +11 -0
  793. package/dist/file.js +1 -0
  794. package/dist/index.d.ts +4 -0
  795. package/dist/index.js +1 -0
  796. package/dist/kernel/error-serialization.d.ts +38 -0
  797. package/dist/kernel/error-serialization.js +1 -0
  798. package/dist/kernel/redaction.d.ts +1 -0
  799. package/dist/kernel/redaction.js +1 -0
  800. package/dist/kernel/unknown-values.d.ts +6 -0
  801. package/dist/kernel/unknown-values.js +1 -0
  802. package/dist/process/capture-output.d.ts +7 -0
  803. package/dist/process/capture-output.js +1 -0
  804. package/dist/process/command-shell.d.ts +1 -0
  805. package/dist/process/command-shell.js +1 -0
  806. package/dist/process/environment-overlay.d.ts +17 -0
  807. package/dist/process/environment-overlay.js +1 -0
  808. package/dist/process/environment.d.ts +33 -0
  809. package/dist/process/environment.js +1 -0
  810. package/dist/process/files/contained-path.d.ts +8 -0
  811. package/dist/process/files/contained-path.js +1 -0
  812. package/dist/process/files/directory-status.d.ts +14 -0
  813. package/dist/process/files/directory-status.js +1 -0
  814. package/dist/process/files/dotenv.d.ts +2 -0
  815. package/dist/process/files/dotenv.js +1 -0
  816. package/dist/process/files/file-snapshot.d.ts +34 -0
  817. package/dist/process/files/file-snapshot.js +1 -0
  818. package/dist/process/files/json-file.d.ts +11 -0
  819. package/dist/process/files/json-file.js +1 -0
  820. package/dist/process/files/paths.d.ts +1 -0
  821. package/dist/process/files/paths.js +1 -0
  822. package/dist/process/files/temp-dir.d.ts +11 -0
  823. package/dist/process/files/temp-dir.js +1 -0
  824. package/dist/process/host/metadata.d.ts +6 -0
  825. package/dist/process/host/metadata.js +1 -0
  826. package/dist/process/host/platform.d.ts +57 -0
  827. package/dist/process/host/platform.js +1 -0
  828. package/dist/process/host-command.d.ts +4 -0
  829. package/dist/process/host-command.js +3 -0
  830. package/dist/process/host-inspection-command.d.ts +13 -0
  831. package/dist/process/host-inspection-command.js +1 -0
  832. package/dist/process/host-process.d.ts +14 -0
  833. package/dist/process/host-process.js +1 -0
  834. package/dist/process/index.d.ts +9 -0
  835. package/dist/process/index.js +1 -0
  836. package/dist/process/lifecycle-fence.d.ts +11 -0
  837. package/dist/process/lifecycle-fence.js +1 -0
  838. package/dist/process/locks.d.ts +28 -0
  839. package/dist/process/locks.js +4 -0
  840. package/dist/process/process-contracts.d.ts +70 -0
  841. package/dist/process/process-contracts.js +1 -0
  842. package/dist/process/process-group.d.ts +12 -0
  843. package/dist/process/process-group.js +1 -0
  844. package/dist/process/process-identity.d.ts +27 -0
  845. package/dist/process/process-identity.js +1 -0
  846. package/dist/process/process-limits.d.ts +6 -0
  847. package/dist/process/process-limits.js +1 -0
  848. package/dist/process/process.d.ts +11 -0
  849. package/dist/process/process.js +1 -0
  850. package/dist/process/readiness.d.ts +37 -0
  851. package/dist/process/readiness.js +1 -0
  852. package/dist/process/recovery.d.ts +3 -0
  853. package/dist/process/recovery.js +1 -0
  854. package/dist/process/runs/manifest.d.ts +85 -0
  855. package/dist/process/runs/manifest.js +1 -0
  856. package/dist/process/runs/ownership.d.ts +11 -0
  857. package/dist/process/runs/ownership.js +1 -0
  858. package/dist/process/runs/product-state.d.ts +2 -0
  859. package/dist/process/runs/product-state.js +1 -0
  860. package/dist/process/runs/schema.d.ts +3 -0
  861. package/dist/process/runs/schema.js +1 -0
  862. package/dist/process/runs/stop.d.ts +19 -0
  863. package/dist/process/runs/stop.js +1 -0
  864. package/dist/process/runtime-socket.d.ts +4 -0
  865. package/dist/process/runtime-socket.js +1 -0
  866. package/dist/process/service-processes.d.ts +13 -0
  867. package/dist/process/service-processes.js +1 -0
  868. package/dist/process/shutdown.d.ts +10 -0
  869. package/dist/process/shutdown.js +1 -0
  870. package/dist/process/windows-cli-owner.d.ts +2 -0
  871. package/dist/process/windows-cli-owner.js +3 -0
  872. package/dist/process/windows-native.d.ts +6 -0
  873. package/dist/process/windows-native.js +1 -0
  874. package/dist/process/windows-process-identity.d.ts +4 -0
  875. package/dist/process/windows-process-identity.js +1 -0
  876. package/dist/repo/ci-environment.d.ts +7 -0
  877. package/dist/repo/ci-environment.js +1 -0
  878. package/dist/repo/fingerprint-policy.d.ts +15 -0
  879. package/dist/repo/fingerprint-policy.js +1 -0
  880. package/dist/repo/git-path.d.ts +2 -0
  881. package/dist/repo/git-path.js +1 -0
  882. package/dist/repo/managed-git.d.ts +10 -0
  883. package/dist/repo/managed-git.js +1 -0
  884. package/dist/repo/metadata.d.ts +3 -0
  885. package/dist/repo/metadata.js +1 -0
  886. package/dist/repo/physical-tree.d.ts +37 -0
  887. package/dist/repo/physical-tree.js +1 -0
  888. package/dist/repo/remote.d.ts +6 -0
  889. package/dist/repo/remote.js +1 -0
  890. package/dist/repo/state.d.ts +25 -0
  891. package/dist/repo/state.js +5 -0
  892. package/dist/steps/build-config.d.ts +35 -0
  893. package/dist/steps/build-config.js +1 -0
  894. package/dist/steps/configured-step-testkit-modules.d.ts +19 -0
  895. package/dist/steps/configured-step-testkit-modules.js +1 -0
  896. package/dist/steps/configured-steps.d.ts +51 -0
  897. package/dist/steps/configured-steps.js +1 -0
  898. package/dist/steps/environment.d.ts +78 -0
  899. package/dist/steps/environment.js +1 -0
  900. package/dist/steps/index.d.ts +2 -0
  901. package/dist/steps/index.js +1 -0
  902. package/dist/steps/module-runner.d.ts +1 -0
  903. package/dist/steps/module-runner.js +1 -0
  904. package/dist/steps/run.d.ts +36 -0
  905. package/dist/steps/run.js +3 -0
  906. package/dist/toolchains/archive.d.ts +53 -0
  907. package/dist/toolchains/archive.js +1 -0
  908. package/dist/toolchains/esbuild.d.ts +9 -0
  909. package/dist/toolchains/esbuild.js +1 -0
  910. package/dist/toolchains/host-node-support.d.ts +3 -0
  911. package/dist/toolchains/host-node-support.js +1 -0
  912. package/dist/toolchains/index.d.ts +114 -0
  913. package/dist/toolchains/index.js +4 -0
  914. package/dist/toolchains/managed-node-releases.d.ts +28 -0
  915. package/dist/toolchains/managed-node-releases.js +1 -0
  916. package/dist/toolchains/node-cache.d.ts +20 -0
  917. package/dist/toolchains/node-cache.js +1 -0
  918. package/dist/toolchains/node-integrity.d.ts +16 -0
  919. package/dist/toolchains/node-integrity.js +1 -0
  920. package/dist/toolchains/node-provisioning.d.ts +29 -0
  921. package/dist/toolchains/node-provisioning.js +2 -0
  922. package/dist/toolchains/semver.d.ts +13 -0
  923. package/dist/toolchains/semver.js +1 -0
  924. package/dist/toolchains/shared-operation.d.ts +11 -0
  925. package/dist/toolchains/shared-operation.js +1 -0
  926. package/dist/toolchains/timeouts.d.ts +1 -0
  927. package/dist/toolchains/timeouts.js +1 -0
  928. package/dist/toolchains/vitest/index.d.ts +13 -0
  929. package/dist/toolchains/vitest/index.js +1 -0
  930. package/docs/cloud-control.md +105 -0
  931. package/docs/engine-architecture.md +631 -0
  932. package/docs/test-types.md +120 -0
  933. package/docs/testkit-cloud-boundary.md +640 -0
  934. package/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  935. package/node_modules/@isaacs/fs-minipass/README.md +71 -0
  936. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts +118 -0
  937. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map +1 -0
  938. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  939. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map +1 -0
  940. package/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  941. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts +118 -0
  942. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts.map +1 -0
  943. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  944. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js.map +1 -0
  945. package/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  946. package/node_modules/@isaacs/fs-minipass/package.json +72 -0
  947. package/node_modules/buffer-crc32/LICENSE +19 -0
  948. package/node_modules/buffer-crc32/README.md +55 -0
  949. package/node_modules/buffer-crc32/dist/index.cjs +306 -0
  950. package/node_modules/buffer-crc32/dist/index.d.cts +35 -0
  951. package/node_modules/buffer-crc32/dist/index.d.mts +35 -0
  952. package/node_modules/buffer-crc32/dist/index.mjs +304 -0
  953. package/node_modules/buffer-crc32/index.d.ts +35 -0
  954. package/node_modules/buffer-crc32/package.json +54 -0
  955. package/node_modules/chownr/LICENSE.md +63 -0
  956. package/node_modules/chownr/README.md +3 -0
  957. package/node_modules/chownr/dist/commonjs/index.d.ts +3 -0
  958. package/node_modules/chownr/dist/commonjs/index.d.ts.map +1 -0
  959. package/node_modules/chownr/dist/commonjs/index.js +93 -0
  960. package/node_modules/chownr/dist/commonjs/index.js.map +1 -0
  961. package/node_modules/chownr/dist/commonjs/package.json +3 -0
  962. package/node_modules/chownr/dist/esm/index.d.ts +3 -0
  963. package/node_modules/chownr/dist/esm/index.d.ts.map +1 -0
  964. package/node_modules/chownr/dist/esm/index.js +85 -0
  965. package/node_modules/chownr/dist/esm/index.js.map +1 -0
  966. package/node_modules/chownr/dist/esm/package.json +3 -0
  967. package/node_modules/chownr/package.json +69 -0
  968. package/node_modules/diff/CONTRIBUTING.md +28 -0
  969. package/node_modules/diff/LICENSE +29 -0
  970. package/node_modules/diff/README.md +468 -0
  971. package/node_modules/diff/dist/diff.js +2313 -0
  972. package/node_modules/diff/dist/diff.min.js +1 -0
  973. package/node_modules/diff/eslint.config.mjs +182 -0
  974. package/node_modules/diff/libcjs/convert/dmp.d.ts +8 -0
  975. package/node_modules/diff/libcjs/convert/dmp.d.ts.map +1 -0
  976. package/node_modules/diff/libcjs/convert/dmp.js +24 -0
  977. package/node_modules/diff/libcjs/convert/xml.d.ts +6 -0
  978. package/node_modules/diff/libcjs/convert/xml.d.ts.map +1 -0
  979. package/node_modules/diff/libcjs/convert/xml.js +34 -0
  980. package/node_modules/diff/libcjs/diff/array.d.ts +19 -0
  981. package/node_modules/diff/libcjs/diff/array.d.ts.map +1 -0
  982. package/node_modules/diff/libcjs/diff/array.js +23 -0
  983. package/node_modules/diff/libcjs/diff/base.d.ts +20 -0
  984. package/node_modules/diff/libcjs/diff/base.d.ts.map +1 -0
  985. package/node_modules/diff/libcjs/diff/base.js +256 -0
  986. package/node_modules/diff/libcjs/diff/character.d.ts +19 -0
  987. package/node_modules/diff/libcjs/diff/character.d.ts.map +1 -0
  988. package/node_modules/diff/libcjs/diff/character.js +14 -0
  989. package/node_modules/diff/libcjs/diff/css.d.ts +18 -0
  990. package/node_modules/diff/libcjs/diff/css.d.ts.map +1 -0
  991. package/node_modules/diff/libcjs/diff/css.js +17 -0
  992. package/node_modules/diff/libcjs/diff/json.d.ts +24 -0
  993. package/node_modules/diff/libcjs/diff/json.d.ts.map +1 -0
  994. package/node_modules/diff/libcjs/diff/json.js +86 -0
  995. package/node_modules/diff/libcjs/diff/line.d.ts +24 -0
  996. package/node_modules/diff/libcjs/diff/line.d.ts.map +1 -0
  997. package/node_modules/diff/libcjs/diff/line.js +74 -0
  998. package/node_modules/diff/libcjs/diff/sentence.d.ts +21 -0
  999. package/node_modules/diff/libcjs/diff/sentence.d.ts.map +1 -0
  1000. package/node_modules/diff/libcjs/diff/sentence.js +50 -0
  1001. package/node_modules/diff/libcjs/diff/word.d.ts +35 -0
  1002. package/node_modules/diff/libcjs/diff/word.d.ts.map +1 -0
  1003. package/node_modules/diff/libcjs/diff/word.js +289 -0
  1004. package/node_modules/diff/libcjs/index.d.ts +20 -0
  1005. package/node_modules/diff/libcjs/index.d.ts.map +1 -0
  1006. package/node_modules/diff/libcjs/index.js +67 -0
  1007. package/node_modules/diff/libcjs/package.json +1 -0
  1008. package/node_modules/diff/libcjs/patch/apply.d.ts +62 -0
  1009. package/node_modules/diff/libcjs/patch/apply.d.ts.map +1 -0
  1010. package/node_modules/diff/libcjs/patch/apply.js +264 -0
  1011. package/node_modules/diff/libcjs/patch/create.d.ts +131 -0
  1012. package/node_modules/diff/libcjs/patch/create.d.ts.map +1 -0
  1013. package/node_modules/diff/libcjs/patch/create.js +364 -0
  1014. package/node_modules/diff/libcjs/patch/line-endings.d.ts +17 -0
  1015. package/node_modules/diff/libcjs/patch/line-endings.d.ts.map +1 -0
  1016. package/node_modules/diff/libcjs/patch/line-endings.js +50 -0
  1017. package/node_modules/diff/libcjs/patch/parse.d.ts +16 -0
  1018. package/node_modules/diff/libcjs/patch/parse.d.ts.map +1 -0
  1019. package/node_modules/diff/libcjs/patch/parse.js +515 -0
  1020. package/node_modules/diff/libcjs/patch/reverse.d.ts +22 -0
  1021. package/node_modules/diff/libcjs/patch/reverse.d.ts.map +1 -0
  1022. package/node_modules/diff/libcjs/patch/reverse.js +63 -0
  1023. package/node_modules/diff/libcjs/types.d.ts +260 -0
  1024. package/node_modules/diff/libcjs/types.d.ts.map +1 -0
  1025. package/node_modules/diff/libcjs/types.js +2 -0
  1026. package/node_modules/diff/libcjs/util/array.d.ts +3 -0
  1027. package/node_modules/diff/libcjs/util/array.d.ts.map +1 -0
  1028. package/node_modules/diff/libcjs/util/array.js +21 -0
  1029. package/node_modules/diff/libcjs/util/distance-iterator.d.ts +2 -0
  1030. package/node_modules/diff/libcjs/util/distance-iterator.d.ts.map +1 -0
  1031. package/node_modules/diff/libcjs/util/distance-iterator.js +40 -0
  1032. package/node_modules/diff/libcjs/util/params.d.ts +4 -0
  1033. package/node_modules/diff/libcjs/util/params.d.ts.map +1 -0
  1034. package/node_modules/diff/libcjs/util/params.js +17 -0
  1035. package/node_modules/diff/libcjs/util/string.d.ts +30 -0
  1036. package/node_modules/diff/libcjs/util/string.d.ts.map +1 -0
  1037. package/node_modules/diff/libcjs/util/string.js +199 -0
  1038. package/node_modules/diff/libesm/convert/dmp.d.ts +8 -0
  1039. package/node_modules/diff/libesm/convert/dmp.d.ts.map +1 -0
  1040. package/node_modules/diff/libesm/convert/dmp.js +21 -0
  1041. package/node_modules/diff/libesm/convert/xml.d.ts +6 -0
  1042. package/node_modules/diff/libesm/convert/xml.d.ts.map +1 -0
  1043. package/node_modules/diff/libesm/convert/xml.js +31 -0
  1044. package/node_modules/diff/libesm/diff/array.d.ts +19 -0
  1045. package/node_modules/diff/libesm/diff/array.d.ts.map +1 -0
  1046. package/node_modules/diff/libesm/diff/array.js +16 -0
  1047. package/node_modules/diff/libesm/diff/base.d.ts +20 -0
  1048. package/node_modules/diff/libesm/diff/base.d.ts.map +1 -0
  1049. package/node_modules/diff/libesm/diff/base.js +253 -0
  1050. package/node_modules/diff/libesm/diff/character.d.ts +19 -0
  1051. package/node_modules/diff/libesm/diff/character.d.ts.map +1 -0
  1052. package/node_modules/diff/libesm/diff/character.js +7 -0
  1053. package/node_modules/diff/libesm/diff/css.d.ts +18 -0
  1054. package/node_modules/diff/libesm/diff/css.d.ts.map +1 -0
  1055. package/node_modules/diff/libesm/diff/css.js +10 -0
  1056. package/node_modules/diff/libesm/diff/json.d.ts +24 -0
  1057. package/node_modules/diff/libesm/diff/json.d.ts.map +1 -0
  1058. package/node_modules/diff/libesm/diff/json.js +78 -0
  1059. package/node_modules/diff/libesm/diff/line.d.ts +24 -0
  1060. package/node_modules/diff/libesm/diff/line.d.ts.map +1 -0
  1061. package/node_modules/diff/libesm/diff/line.js +65 -0
  1062. package/node_modules/diff/libesm/diff/sentence.d.ts +21 -0
  1063. package/node_modules/diff/libesm/diff/sentence.d.ts.map +1 -0
  1064. package/node_modules/diff/libesm/diff/sentence.js +43 -0
  1065. package/node_modules/diff/libesm/diff/word.d.ts +35 -0
  1066. package/node_modules/diff/libesm/diff/word.d.ts.map +1 -0
  1067. package/node_modules/diff/libesm/diff/word.js +281 -0
  1068. package/node_modules/diff/libesm/index.d.ts +20 -0
  1069. package/node_modules/diff/libesm/index.d.ts.map +1 -0
  1070. package/node_modules/diff/libesm/index.js +30 -0
  1071. package/node_modules/diff/libesm/package.json +1 -0
  1072. package/node_modules/diff/libesm/patch/apply.d.ts +62 -0
  1073. package/node_modules/diff/libesm/patch/apply.d.ts.map +1 -0
  1074. package/node_modules/diff/libesm/patch/apply.js +257 -0
  1075. package/node_modules/diff/libesm/patch/create.d.ts +131 -0
  1076. package/node_modules/diff/libesm/patch/create.d.ts.map +1 -0
  1077. package/node_modules/diff/libesm/patch/create.js +357 -0
  1078. package/node_modules/diff/libesm/patch/line-endings.d.ts +17 -0
  1079. package/node_modules/diff/libesm/patch/line-endings.d.ts.map +1 -0
  1080. package/node_modules/diff/libesm/patch/line-endings.js +44 -0
  1081. package/node_modules/diff/libesm/patch/parse.d.ts +16 -0
  1082. package/node_modules/diff/libesm/patch/parse.d.ts.map +1 -0
  1083. package/node_modules/diff/libesm/patch/parse.js +512 -0
  1084. package/node_modules/diff/libesm/patch/reverse.d.ts +22 -0
  1085. package/node_modules/diff/libesm/patch/reverse.d.ts.map +1 -0
  1086. package/node_modules/diff/libesm/patch/reverse.js +60 -0
  1087. package/node_modules/diff/libesm/types.d.ts +260 -0
  1088. package/node_modules/diff/libesm/types.d.ts.map +1 -0
  1089. package/node_modules/diff/libesm/types.js +1 -0
  1090. package/node_modules/diff/libesm/util/array.d.ts +3 -0
  1091. package/node_modules/diff/libesm/util/array.d.ts.map +1 -0
  1092. package/node_modules/diff/libesm/util/array.js +17 -0
  1093. package/node_modules/diff/libesm/util/distance-iterator.d.ts +2 -0
  1094. package/node_modules/diff/libesm/util/distance-iterator.d.ts.map +1 -0
  1095. package/node_modules/diff/libesm/util/distance-iterator.js +37 -0
  1096. package/node_modules/diff/libesm/util/params.d.ts +4 -0
  1097. package/node_modules/diff/libesm/util/params.d.ts.map +1 -0
  1098. package/node_modules/diff/libesm/util/params.js +14 -0
  1099. package/node_modules/diff/libesm/util/string.d.ts +30 -0
  1100. package/node_modules/diff/libesm/util/string.d.ts.map +1 -0
  1101. package/node_modules/diff/libesm/util/string.js +184 -0
  1102. package/node_modules/diff/package.json +130 -0
  1103. package/node_modules/diff/release-notes.md +474 -0
  1104. package/node_modules/minipass/LICENSE.md +55 -0
  1105. package/node_modules/minipass/README.md +825 -0
  1106. package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  1107. package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  1108. package/node_modules/minipass/dist/commonjs/index.js +1038 -0
  1109. package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  1110. package/node_modules/minipass/dist/commonjs/package.json +3 -0
  1111. package/node_modules/minipass/dist/esm/index.d.ts +545 -0
  1112. package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  1113. package/node_modules/minipass/dist/esm/index.js +1020 -0
  1114. package/node_modules/minipass/dist/esm/index.js.map +1 -0
  1115. package/node_modules/minipass/dist/esm/package.json +3 -0
  1116. package/node_modules/minipass/package.json +77 -0
  1117. package/node_modules/minizlib/LICENSE +26 -0
  1118. package/node_modules/minizlib/README.md +64 -0
  1119. package/node_modules/minizlib/dist/commonjs/constants.d.ts +2 -0
  1120. package/node_modules/minizlib/dist/commonjs/constants.d.ts.map +1 -0
  1121. package/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  1122. package/node_modules/minizlib/dist/commonjs/constants.js.map +1 -0
  1123. package/node_modules/minizlib/dist/commonjs/index.d.ts +99 -0
  1124. package/node_modules/minizlib/dist/commonjs/index.d.ts.map +1 -0
  1125. package/node_modules/minizlib/dist/commonjs/index.js +416 -0
  1126. package/node_modules/minizlib/dist/commonjs/index.js.map +1 -0
  1127. package/node_modules/minizlib/dist/commonjs/package.json +3 -0
  1128. package/node_modules/minizlib/dist/esm/constants.d.ts +2 -0
  1129. package/node_modules/minizlib/dist/esm/constants.d.ts.map +1 -0
  1130. package/node_modules/minizlib/dist/esm/constants.js +117 -0
  1131. package/node_modules/minizlib/dist/esm/constants.js.map +1 -0
  1132. package/node_modules/minizlib/dist/esm/index.d.ts +99 -0
  1133. package/node_modules/minizlib/dist/esm/index.d.ts.map +1 -0
  1134. package/node_modules/minizlib/dist/esm/index.js +363 -0
  1135. package/node_modules/minizlib/dist/esm/index.js.map +1 -0
  1136. package/node_modules/minizlib/dist/esm/package.json +3 -0
  1137. package/node_modules/minizlib/package.json +80 -0
  1138. package/node_modules/pend/LICENSE +23 -0
  1139. package/node_modules/pend/README.md +41 -0
  1140. package/node_modules/pend/index.js +55 -0
  1141. package/node_modules/pend/package.json +18 -0
  1142. package/node_modules/pend/test.js +137 -0
  1143. package/node_modules/tar/LICENSE.md +55 -0
  1144. package/node_modules/tar/README.md +1233 -0
  1145. package/node_modules/tar/dist/commonjs/create.d.ts +3 -0
  1146. package/node_modules/tar/dist/commonjs/create.d.ts.map +1 -0
  1147. package/node_modules/tar/dist/commonjs/create.js +82 -0
  1148. package/node_modules/tar/dist/commonjs/create.js.map +1 -0
  1149. package/node_modules/tar/dist/commonjs/cwd-error.d.ts +8 -0
  1150. package/node_modules/tar/dist/commonjs/cwd-error.d.ts.map +1 -0
  1151. package/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  1152. package/node_modules/tar/dist/commonjs/cwd-error.js.map +1 -0
  1153. package/node_modules/tar/dist/commonjs/extract.d.ts +3 -0
  1154. package/node_modules/tar/dist/commonjs/extract.d.ts.map +1 -0
  1155. package/node_modules/tar/dist/commonjs/extract.js +88 -0
  1156. package/node_modules/tar/dist/commonjs/extract.js.map +1 -0
  1157. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts +2 -0
  1158. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts.map +1 -0
  1159. package/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
  1160. package/node_modules/tar/dist/commonjs/get-write-flag.js.map +1 -0
  1161. package/node_modules/tar/dist/commonjs/header.d.ts +53 -0
  1162. package/node_modules/tar/dist/commonjs/header.d.ts.map +1 -0
  1163. package/node_modules/tar/dist/commonjs/header.js +348 -0
  1164. package/node_modules/tar/dist/commonjs/header.js.map +1 -0
  1165. package/node_modules/tar/dist/commonjs/index.d.ts +20 -0
  1166. package/node_modules/tar/dist/commonjs/index.d.ts.map +1 -0
  1167. package/node_modules/tar/dist/commonjs/index.js +64 -0
  1168. package/node_modules/tar/dist/commonjs/index.js.map +1 -0
  1169. package/node_modules/tar/dist/commonjs/index.min.js +4 -0
  1170. package/node_modules/tar/dist/commonjs/index.min.js.map +7 -0
  1171. package/node_modules/tar/dist/commonjs/large-numbers.d.ts +3 -0
  1172. package/node_modules/tar/dist/commonjs/large-numbers.d.ts.map +1 -0
  1173. package/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  1174. package/node_modules/tar/dist/commonjs/large-numbers.js.map +1 -0
  1175. package/node_modules/tar/dist/commonjs/list.d.ts +7 -0
  1176. package/node_modules/tar/dist/commonjs/list.d.ts.map +1 -0
  1177. package/node_modules/tar/dist/commonjs/list.js +153 -0
  1178. package/node_modules/tar/dist/commonjs/list.js.map +1 -0
  1179. package/node_modules/tar/dist/commonjs/make-command.d.ts +49 -0
  1180. package/node_modules/tar/dist/commonjs/make-command.d.ts.map +1 -0
  1181. package/node_modules/tar/dist/commonjs/make-command.js +52 -0
  1182. package/node_modules/tar/dist/commonjs/make-command.js.map +1 -0
  1183. package/node_modules/tar/dist/commonjs/mkdir.d.ts +25 -0
  1184. package/node_modules/tar/dist/commonjs/mkdir.d.ts.map +1 -0
  1185. package/node_modules/tar/dist/commonjs/mkdir.js +187 -0
  1186. package/node_modules/tar/dist/commonjs/mkdir.js.map +1 -0
  1187. package/node_modules/tar/dist/commonjs/mode-fix.d.ts +2 -0
  1188. package/node_modules/tar/dist/commonjs/mode-fix.d.ts.map +1 -0
  1189. package/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  1190. package/node_modules/tar/dist/commonjs/mode-fix.js.map +1 -0
  1191. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts +2 -0
  1192. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts.map +1 -0
  1193. package/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  1194. package/node_modules/tar/dist/commonjs/normalize-unicode.js.map +1 -0
  1195. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts +2 -0
  1196. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts.map +1 -0
  1197. package/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  1198. package/node_modules/tar/dist/commonjs/normalize-windows-path.js.map +1 -0
  1199. package/node_modules/tar/dist/commonjs/options.d.ts +604 -0
  1200. package/node_modules/tar/dist/commonjs/options.d.ts.map +1 -0
  1201. package/node_modules/tar/dist/commonjs/options.js +66 -0
  1202. package/node_modules/tar/dist/commonjs/options.js.map +1 -0
  1203. package/node_modules/tar/dist/commonjs/pack.d.ts +105 -0
  1204. package/node_modules/tar/dist/commonjs/pack.d.ts.map +1 -0
  1205. package/node_modules/tar/dist/commonjs/pack.js +544 -0
  1206. package/node_modules/tar/dist/commonjs/pack.js.map +1 -0
  1207. package/node_modules/tar/dist/commonjs/package.json +3 -0
  1208. package/node_modules/tar/dist/commonjs/parse.d.ts +92 -0
  1209. package/node_modules/tar/dist/commonjs/parse.d.ts.map +1 -0
  1210. package/node_modules/tar/dist/commonjs/parse.js +655 -0
  1211. package/node_modules/tar/dist/commonjs/parse.js.map +1 -0
  1212. package/node_modules/tar/dist/commonjs/path-reservations.d.ts +11 -0
  1213. package/node_modules/tar/dist/commonjs/path-reservations.d.ts.map +1 -0
  1214. package/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  1215. package/node_modules/tar/dist/commonjs/path-reservations.js.map +1 -0
  1216. package/node_modules/tar/dist/commonjs/pax.d.ts +26 -0
  1217. package/node_modules/tar/dist/commonjs/pax.d.ts.map +1 -0
  1218. package/node_modules/tar/dist/commonjs/pax.js +182 -0
  1219. package/node_modules/tar/dist/commonjs/pax.js.map +1 -0
  1220. package/node_modules/tar/dist/commonjs/process-umask.d.ts +2 -0
  1221. package/node_modules/tar/dist/commonjs/process-umask.d.ts.map +1 -0
  1222. package/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  1223. package/node_modules/tar/dist/commonjs/process-umask.js.map +1 -0
  1224. package/node_modules/tar/dist/commonjs/read-entry.d.ts +36 -0
  1225. package/node_modules/tar/dist/commonjs/read-entry.d.ts.map +1 -0
  1226. package/node_modules/tar/dist/commonjs/read-entry.js +136 -0
  1227. package/node_modules/tar/dist/commonjs/read-entry.js.map +1 -0
  1228. package/node_modules/tar/dist/commonjs/replace.d.ts +2 -0
  1229. package/node_modules/tar/dist/commonjs/replace.d.ts.map +1 -0
  1230. package/node_modules/tar/dist/commonjs/replace.js +227 -0
  1231. package/node_modules/tar/dist/commonjs/replace.js.map +1 -0
  1232. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts +2 -0
  1233. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts.map +1 -0
  1234. package/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  1235. package/node_modules/tar/dist/commonjs/strip-absolute-path.js.map +1 -0
  1236. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts +2 -0
  1237. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts.map +1 -0
  1238. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  1239. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js.map +1 -0
  1240. package/node_modules/tar/dist/commonjs/symlink-error.d.ts +9 -0
  1241. package/node_modules/tar/dist/commonjs/symlink-error.d.ts.map +1 -0
  1242. package/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  1243. package/node_modules/tar/dist/commonjs/symlink-error.js.map +1 -0
  1244. package/node_modules/tar/dist/commonjs/types.d.ts +16 -0
  1245. package/node_modules/tar/dist/commonjs/types.d.ts.map +1 -0
  1246. package/node_modules/tar/dist/commonjs/types.js +70 -0
  1247. package/node_modules/tar/dist/commonjs/types.js.map +1 -0
  1248. package/node_modules/tar/dist/commonjs/unpack.d.ts +101 -0
  1249. package/node_modules/tar/dist/commonjs/unpack.d.ts.map +1 -0
  1250. package/node_modules/tar/dist/commonjs/unpack.js +932 -0
  1251. package/node_modules/tar/dist/commonjs/unpack.js.map +1 -0
  1252. package/node_modules/tar/dist/commonjs/update.d.ts +2 -0
  1253. package/node_modules/tar/dist/commonjs/update.d.ts.map +1 -0
  1254. package/node_modules/tar/dist/commonjs/update.js +33 -0
  1255. package/node_modules/tar/dist/commonjs/update.js.map +1 -0
  1256. package/node_modules/tar/dist/commonjs/warn-method.d.ts +24 -0
  1257. package/node_modules/tar/dist/commonjs/warn-method.d.ts.map +1 -0
  1258. package/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  1259. package/node_modules/tar/dist/commonjs/warn-method.js.map +1 -0
  1260. package/node_modules/tar/dist/commonjs/winchars.d.ts +3 -0
  1261. package/node_modules/tar/dist/commonjs/winchars.d.ts.map +1 -0
  1262. package/node_modules/tar/dist/commonjs/winchars.js +14 -0
  1263. package/node_modules/tar/dist/commonjs/winchars.js.map +1 -0
  1264. package/node_modules/tar/dist/commonjs/write-entry.d.ts +129 -0
  1265. package/node_modules/tar/dist/commonjs/write-entry.d.ts.map +1 -0
  1266. package/node_modules/tar/dist/commonjs/write-entry.js +698 -0
  1267. package/node_modules/tar/dist/commonjs/write-entry.js.map +1 -0
  1268. package/node_modules/tar/dist/esm/create.d.ts +3 -0
  1269. package/node_modules/tar/dist/esm/create.d.ts.map +1 -0
  1270. package/node_modules/tar/dist/esm/create.js +76 -0
  1271. package/node_modules/tar/dist/esm/create.js.map +1 -0
  1272. package/node_modules/tar/dist/esm/cwd-error.d.ts +8 -0
  1273. package/node_modules/tar/dist/esm/cwd-error.d.ts.map +1 -0
  1274. package/node_modules/tar/dist/esm/cwd-error.js +14 -0
  1275. package/node_modules/tar/dist/esm/cwd-error.js.map +1 -0
  1276. package/node_modules/tar/dist/esm/extract.d.ts +3 -0
  1277. package/node_modules/tar/dist/esm/extract.d.ts.map +1 -0
  1278. package/node_modules/tar/dist/esm/extract.js +49 -0
  1279. package/node_modules/tar/dist/esm/extract.js.map +1 -0
  1280. package/node_modules/tar/dist/esm/get-write-flag.d.ts +2 -0
  1281. package/node_modules/tar/dist/esm/get-write-flag.d.ts.map +1 -0
  1282. package/node_modules/tar/dist/esm/get-write-flag.js +26 -0
  1283. package/node_modules/tar/dist/esm/get-write-flag.js.map +1 -0
  1284. package/node_modules/tar/dist/esm/header.d.ts +53 -0
  1285. package/node_modules/tar/dist/esm/header.d.ts.map +1 -0
  1286. package/node_modules/tar/dist/esm/header.js +311 -0
  1287. package/node_modules/tar/dist/esm/header.js.map +1 -0
  1288. package/node_modules/tar/dist/esm/index.d.ts +20 -0
  1289. package/node_modules/tar/dist/esm/index.d.ts.map +1 -0
  1290. package/node_modules/tar/dist/esm/index.js +20 -0
  1291. package/node_modules/tar/dist/esm/index.js.map +1 -0
  1292. package/node_modules/tar/dist/esm/index.min.js +4 -0
  1293. package/node_modules/tar/dist/esm/index.min.js.map +7 -0
  1294. package/node_modules/tar/dist/esm/large-numbers.d.ts +3 -0
  1295. package/node_modules/tar/dist/esm/large-numbers.d.ts.map +1 -0
  1296. package/node_modules/tar/dist/esm/large-numbers.js +94 -0
  1297. package/node_modules/tar/dist/esm/large-numbers.js.map +1 -0
  1298. package/node_modules/tar/dist/esm/list.d.ts +7 -0
  1299. package/node_modules/tar/dist/esm/list.d.ts.map +1 -0
  1300. package/node_modules/tar/dist/esm/list.js +113 -0
  1301. package/node_modules/tar/dist/esm/list.js.map +1 -0
  1302. package/node_modules/tar/dist/esm/make-command.d.ts +49 -0
  1303. package/node_modules/tar/dist/esm/make-command.d.ts.map +1 -0
  1304. package/node_modules/tar/dist/esm/make-command.js +48 -0
  1305. package/node_modules/tar/dist/esm/make-command.js.map +1 -0
  1306. package/node_modules/tar/dist/esm/mkdir.d.ts +25 -0
  1307. package/node_modules/tar/dist/esm/mkdir.d.ts.map +1 -0
  1308. package/node_modules/tar/dist/esm/mkdir.js +179 -0
  1309. package/node_modules/tar/dist/esm/mkdir.js.map +1 -0
  1310. package/node_modules/tar/dist/esm/mode-fix.d.ts +2 -0
  1311. package/node_modules/tar/dist/esm/mode-fix.d.ts.map +1 -0
  1312. package/node_modules/tar/dist/esm/mode-fix.js +25 -0
  1313. package/node_modules/tar/dist/esm/mode-fix.js.map +1 -0
  1314. package/node_modules/tar/dist/esm/normalize-unicode.d.ts +2 -0
  1315. package/node_modules/tar/dist/esm/normalize-unicode.d.ts.map +1 -0
  1316. package/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  1317. package/node_modules/tar/dist/esm/normalize-unicode.js.map +1 -0
  1318. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts +2 -0
  1319. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts.map +1 -0
  1320. package/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  1321. package/node_modules/tar/dist/esm/normalize-windows-path.js.map +1 -0
  1322. package/node_modules/tar/dist/esm/options.d.ts +604 -0
  1323. package/node_modules/tar/dist/esm/options.d.ts.map +1 -0
  1324. package/node_modules/tar/dist/esm/options.js +54 -0
  1325. package/node_modules/tar/dist/esm/options.js.map +1 -0
  1326. package/node_modules/tar/dist/esm/pack.d.ts +105 -0
  1327. package/node_modules/tar/dist/esm/pack.d.ts.map +1 -0
  1328. package/node_modules/tar/dist/esm/pack.js +502 -0
  1329. package/node_modules/tar/dist/esm/pack.js.map +1 -0
  1330. package/node_modules/tar/dist/esm/package.json +3 -0
  1331. package/node_modules/tar/dist/esm/parse.d.ts +92 -0
  1332. package/node_modules/tar/dist/esm/parse.d.ts.map +1 -0
  1333. package/node_modules/tar/dist/esm/parse.js +651 -0
  1334. package/node_modules/tar/dist/esm/parse.js.map +1 -0
  1335. package/node_modules/tar/dist/esm/path-reservations.d.ts +11 -0
  1336. package/node_modules/tar/dist/esm/path-reservations.d.ts.map +1 -0
  1337. package/node_modules/tar/dist/esm/path-reservations.js +166 -0
  1338. package/node_modules/tar/dist/esm/path-reservations.js.map +1 -0
  1339. package/node_modules/tar/dist/esm/pax.d.ts +26 -0
  1340. package/node_modules/tar/dist/esm/pax.d.ts.map +1 -0
  1341. package/node_modules/tar/dist/esm/pax.js +178 -0
  1342. package/node_modules/tar/dist/esm/pax.js.map +1 -0
  1343. package/node_modules/tar/dist/esm/process-umask.d.ts +2 -0
  1344. package/node_modules/tar/dist/esm/process-umask.d.ts.map +1 -0
  1345. package/node_modules/tar/dist/esm/process-umask.js +3 -0
  1346. package/node_modules/tar/dist/esm/process-umask.js.map +1 -0
  1347. package/node_modules/tar/dist/esm/read-entry.d.ts +36 -0
  1348. package/node_modules/tar/dist/esm/read-entry.d.ts.map +1 -0
  1349. package/node_modules/tar/dist/esm/read-entry.js +132 -0
  1350. package/node_modules/tar/dist/esm/read-entry.js.map +1 -0
  1351. package/node_modules/tar/dist/esm/replace.d.ts +2 -0
  1352. package/node_modules/tar/dist/esm/replace.d.ts.map +1 -0
  1353. package/node_modules/tar/dist/esm/replace.js +221 -0
  1354. package/node_modules/tar/dist/esm/replace.js.map +1 -0
  1355. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts +2 -0
  1356. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts.map +1 -0
  1357. package/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  1358. package/node_modules/tar/dist/esm/strip-absolute-path.js.map +1 -0
  1359. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts +2 -0
  1360. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts.map +1 -0
  1361. package/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  1362. package/node_modules/tar/dist/esm/strip-trailing-slashes.js.map +1 -0
  1363. package/node_modules/tar/dist/esm/symlink-error.d.ts +9 -0
  1364. package/node_modules/tar/dist/esm/symlink-error.d.ts.map +1 -0
  1365. package/node_modules/tar/dist/esm/symlink-error.js +15 -0
  1366. package/node_modules/tar/dist/esm/symlink-error.js.map +1 -0
  1367. package/node_modules/tar/dist/esm/types.d.ts +16 -0
  1368. package/node_modules/tar/dist/esm/types.d.ts.map +1 -0
  1369. package/node_modules/tar/dist/esm/types.js +65 -0
  1370. package/node_modules/tar/dist/esm/types.js.map +1 -0
  1371. package/node_modules/tar/dist/esm/unpack.d.ts +101 -0
  1372. package/node_modules/tar/dist/esm/unpack.d.ts.map +1 -0
  1373. package/node_modules/tar/dist/esm/unpack.js +891 -0
  1374. package/node_modules/tar/dist/esm/unpack.js.map +1 -0
  1375. package/node_modules/tar/dist/esm/update.d.ts +2 -0
  1376. package/node_modules/tar/dist/esm/update.d.ts.map +1 -0
  1377. package/node_modules/tar/dist/esm/update.js +30 -0
  1378. package/node_modules/tar/dist/esm/update.js.map +1 -0
  1379. package/node_modules/tar/dist/esm/warn-method.d.ts +24 -0
  1380. package/node_modules/tar/dist/esm/warn-method.d.ts.map +1 -0
  1381. package/node_modules/tar/dist/esm/warn-method.js +27 -0
  1382. package/node_modules/tar/dist/esm/warn-method.js.map +1 -0
  1383. package/node_modules/tar/dist/esm/winchars.d.ts +3 -0
  1384. package/node_modules/tar/dist/esm/winchars.d.ts.map +1 -0
  1385. package/node_modules/tar/dist/esm/winchars.js +9 -0
  1386. package/node_modules/tar/dist/esm/winchars.js.map +1 -0
  1387. package/node_modules/tar/dist/esm/write-entry.d.ts +129 -0
  1388. package/node_modules/tar/dist/esm/write-entry.d.ts.map +1 -0
  1389. package/node_modules/tar/dist/esm/write-entry.js +656 -0
  1390. package/node_modules/tar/dist/esm/write-entry.js.map +1 -0
  1391. package/node_modules/tar/package.json +298 -0
  1392. package/node_modules/typescript/LICENSE.txt +55 -0
  1393. package/node_modules/typescript/README.md +50 -0
  1394. package/node_modules/typescript/SECURITY.md +41 -0
  1395. package/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
  1396. package/node_modules/typescript/bin/tsc +2 -0
  1397. package/node_modules/typescript/bin/tsserver +2 -0
  1398. package/node_modules/typescript/lib/_tsc.js +133818 -0
  1399. package/node_modules/typescript/lib/_tsserver.js +659 -0
  1400. package/node_modules/typescript/lib/_typingsInstaller.js +222 -0
  1401. package/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  1402. package/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  1403. package/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  1404. package/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  1405. package/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  1406. package/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  1407. package/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  1408. package/node_modules/typescript/lib/lib.d.ts +22 -0
  1409. package/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
  1410. package/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
  1411. package/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
  1412. package/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
  1413. package/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
  1414. package/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
  1415. package/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
  1416. package/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
  1417. package/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
  1418. package/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
  1419. package/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
  1420. package/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
  1421. package/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
  1422. package/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
  1423. package/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
  1424. package/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
  1425. package/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
  1426. package/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
  1427. package/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
  1428. package/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
  1429. package/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
  1430. package/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  1431. package/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
  1432. package/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
  1433. package/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
  1434. package/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
  1435. package/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
  1436. package/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
  1437. package/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
  1438. package/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
  1439. package/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
  1440. package/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
  1441. package/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
  1442. package/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
  1443. package/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
  1444. package/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
  1445. package/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
  1446. package/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
  1447. package/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
  1448. package/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
  1449. package/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
  1450. package/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
  1451. package/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
  1452. package/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
  1453. package/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
  1454. package/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
  1455. package/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
  1456. package/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
  1457. package/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
  1458. package/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
  1459. package/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
  1460. package/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
  1461. package/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
  1462. package/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
  1463. package/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
  1464. package/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
  1465. package/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
  1466. package/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
  1467. package/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
  1468. package/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
  1469. package/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
  1470. package/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
  1471. package/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
  1472. package/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
  1473. package/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
  1474. package/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
  1475. package/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
  1476. package/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  1477. package/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
  1478. package/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
  1479. package/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
  1480. package/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
  1481. package/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
  1482. package/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
  1483. package/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
  1484. package/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
  1485. package/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
  1486. package/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
  1487. package/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
  1488. package/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
  1489. package/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
  1490. package/node_modules/typescript/lib/lib.es6.d.ts +23 -0
  1491. package/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
  1492. package/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
  1493. package/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
  1494. package/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  1495. package/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
  1496. package/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
  1497. package/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
  1498. package/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
  1499. package/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
  1500. package/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
  1501. package/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
  1502. package/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
  1503. package/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
  1504. package/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
  1505. package/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
  1506. package/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
  1507. package/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
  1508. package/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  1509. package/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  1510. package/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  1511. package/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  1512. package/node_modules/typescript/lib/tsc.js +8 -0
  1513. package/node_modules/typescript/lib/tsserver.js +8 -0
  1514. package/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  1515. package/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  1516. package/node_modules/typescript/lib/typesMap.json +497 -0
  1517. package/node_modules/typescript/lib/typescript.d.ts +11437 -0
  1518. package/node_modules/typescript/lib/typescript.js +200276 -0
  1519. package/node_modules/typescript/lib/typingsInstaller.js +8 -0
  1520. package/node_modules/typescript/lib/watchGuard.js +53 -0
  1521. package/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
  1522. package/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
  1523. package/node_modules/typescript/package.json +120 -0
  1524. package/node_modules/yallist/LICENSE.md +63 -0
  1525. package/node_modules/yallist/README.md +205 -0
  1526. package/node_modules/yallist/dist/commonjs/index.d.ts +39 -0
  1527. package/node_modules/yallist/dist/commonjs/index.d.ts.map +1 -0
  1528. package/node_modules/yallist/dist/commonjs/index.js +384 -0
  1529. package/node_modules/yallist/dist/commonjs/index.js.map +1 -0
  1530. package/node_modules/yallist/dist/commonjs/package.json +3 -0
  1531. package/node_modules/yallist/dist/esm/index.d.ts +39 -0
  1532. package/node_modules/yallist/dist/esm/index.d.ts.map +1 -0
  1533. package/node_modules/yallist/dist/esm/index.js +379 -0
  1534. package/node_modules/yallist/dist/esm/index.js.map +1 -0
  1535. package/node_modules/yallist/dist/esm/package.json +3 -0
  1536. package/node_modules/yallist/package.json +68 -0
  1537. package/node_modules/yauzl/LICENSE +21 -0
  1538. package/node_modules/yauzl/README.md +1015 -0
  1539. package/node_modules/yauzl/crc32.js +45 -0
  1540. package/node_modules/yauzl/fd-slicer.js +188 -0
  1541. package/node_modules/yauzl/index.js +1096 -0
  1542. package/node_modules/yauzl/package.json +40 -0
  1543. package/node_modules/yazl/LICENSE +21 -0
  1544. package/node_modules/yazl/README.md +457 -0
  1545. package/node_modules/yazl/index.js +826 -0
  1546. package/node_modules/yazl/package.json +34 -0
  1547. package/package.json +163 -0
  1548. package/testkit-config-schema.md +718 -0
@@ -0,0 +1 @@
1
+ const g="testkitOperation",m="testkitDiagnostics",c=String;export function attachErrorOperation(t,n){if(!r(t)||!r(n)||s(t,g))return t;const e=y(n);return e!==null&&d(t,g,e),t}export function attachErrorDiagnostics(t,n){if(!r(t)||!r(n))return t;const e=getErrorDiagnostics(t),i={...f(e),...f(n)};return d(t,m,i),t}export function getErrorOperation(t){return r(t)?y(s(t,g)||s(t,"operation")):null}export function getErrorDiagnostics(t){return r(t)?f(s(t,m)||s(t,"diagnostics")):{}}export function errorMessage(t){return t instanceof Error?t.message:c(t)}export function formatError(t){return sanitizeErrorMessage(errorMessage(t))}export function sanitizeErrorMessage(t){return t.replace(/(postgres(?:ql)?:\/\/[^:\s"'@]+:)[^@\s"']+(@)/gi,"$1<redacted>$2").replace(/("password"\s*:\s*")[^"]*(")/gi,"$1<redacted>$2").replace(/('password'\s*:\s*')[^']*(')/gi,"$1<redacted>$2").replace(/(PGPASSWORD=)[^\s'"\\]+/g,"$1<redacted>")}export function errorDetail(t){if(r(t)){const n=s(t,"stack");if(typeof n=="string"&&n.length>0)return n;const e=s(t,"message");if(typeof e=="string"&&e.length>0)return e}return t instanceof Error?t.stack||t.message:c(t)}export function serializeError(t,{includeStack:n=!1}={}){if(t instanceof Error){const e=getErrorOperation(t),i=getErrorDiagnostics(t),o=s(t,"code"),u=s(t,"exitCode"),a=s(t,"status");return{name:t.name||"Error",message:t.message||c(t),...typeof o=="string"?{code:o}:{},...typeof u=="number"&&Number.isInteger(u)?{exitCode:u}:{},...typeof a=="number"&&Number.isInteger(a)?{status:a}:{},...e?{phase:e.name,operation:e}:{},...Object.keys(i).length>0?{diagnostics:i}:{},...n&&typeof t.stack=="string"?{stack:t.stack}:{}}}return{name:"Error",message:c(t)}}function d(t,n,e){Object.defineProperty(t,n,{value:e,configurable:!0,enumerable:!1,writable:!0})}function y(t){if(!r(t))return null;const n=s(t,"id"),e=s(t,"source"),i=s(t,"name"),o=s(t,"kind"),u=s(t,"summary"),a=s(t,"status"),p=s(t,"error");return{...n?{id:c(n)}:{},source:typeof e=="string"?e:"testkit",name:typeof i=="string"&&i?i:"operation",kind:typeof o=="string"&&o?o:"operation",...u?{summary:c(u)}:{},scope:f(s(t,"scope")),...a?{status:c(a)}:{},...p?{error:c(p)}:{}}}function f(t){if(!r(t)||E(t))return{};const n=[];for(const e of Object.keys(t)){const i=s(t,e);i!==void 0&&n.push([e,l(i)])}return Object.fromEntries(n)}function l(t){return t===null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:E(t)?t.map(n=>l(n)):r(t)?f(t):c(t)}function s(t,n){return Reflect.get(t,n)}function E(t){return Array.isArray(t)}function r(t){return t!==null&&typeof t=="object"}
@@ -0,0 +1 @@
1
+ export declare function redactSensitiveText(value: unknown): string;
@@ -0,0 +1 @@
1
+ const S=/\b([A-Z0-9_]+)=([^\s]+)/giu,T=/PASSWORD|TOKEN|SECRET|PRIVATE_KEY|AUTH|COOKIE|SESSION|API_KEY/iu,a=/(:\/\/[^:\s/@]+:)([^@\s/]+)(@)/gu,o=String;export function redactSensitiveText(r){return u(o(r??"").replace(S,(e,t,s)=>T.test(t)?/(^|_)URL$/iu.test(t)?`${t}=${u(s)}`:`${t}=<redacted>`:e))}function u(r){return r.replace(a,(e,t,s,c,E)=>{for(let n=E-1;n>=0;n--){const i=r[n];if(/[a-z]/iu.test(i))return`${t}<redacted>${c}`;if(!/[0-9+.-]/u.test(i))break}return e})}
@@ -0,0 +1,6 @@
1
+ export type UnknownRecord = Record<string, unknown>;
2
+ export declare function isUnknownRecord(value: unknown): value is UnknownRecord;
3
+ export declare function asUnknownRecord(value: unknown): UnknownRecord | null;
4
+ /** A non-empty string, or null for an empty string and every other value. */
5
+ export declare function optionalString(value: unknown): string | null;
6
+ export declare function displayString(value: unknown, fallback: string): string;
@@ -0,0 +1 @@
1
+ export function isUnknownRecord(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}export function asUnknownRecord(n){return isUnknownRecord(n)?n:null}export function optionalString(n){return typeof n=="string"&&n.length>0?n:null}export function displayString(n,r){return optionalString(n)??r}
@@ -0,0 +1,7 @@
1
+ export type OutputLineHandler = (line: string) => void;
2
+ export interface CaptureOutputOptions {
3
+ livePrefix?: string | null;
4
+ liveWriter?: OutputLineHandler | null;
5
+ onLine?: OutputLineHandler | null;
6
+ }
7
+ export declare function captureOutput(stream: NodeJS.ReadableStream | null | undefined, options?: Readonly<CaptureOutputOptions>): Promise<void>;
@@ -0,0 +1 @@
1
+ const c=String;export function captureOutput(t,e={}){if(!t)return Promise.resolve();const u=t;if(u.destroyed===!0||u.readableEnded===!0)return Promise.resolve();const l=g(e.onLine),r=g(e.liveWriter),i=a(e.livePrefix);let n="";return new Promise(d=>{let s=!1;const f=()=>{s||(s=!0,d())};t.on("data",y=>{n+=v(y);const p=n.split(/\r?\n/);n=p.pop()||"";for(const o of p)o.length!==0&&(l?.(o),r&&r(i?`${i} ${o}`:o))}),t.on("end",()=>{n.length>0&&(l?.(n),r&&r(i?`${i} ${n}`:n)),f()}),t.on("close",f),t.on("error",f)})}function g(t){return typeof t!="function"?null:e=>{Reflect.apply(t,void 0,[e])}}function v(t){if(t==null)throw new TypeError("Output chunks must provide toString()");if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint"||typeof t=="symbol")return t.toString();const e=Reflect.get(t,"toString");if(!S(e))throw new TypeError("Output chunks must provide toString()");return c(Reflect.apply(e,t,[]))}function S(t){return typeof t=="function"}function a(t){return t??""}
@@ -0,0 +1 @@
1
+ export declare function resolvePosixCommandShell(env: Readonly<NodeJS.ProcessEnv>, ambientEnv?: Readonly<NodeJS.ProcessEnv>): string;
@@ -0,0 +1 @@
1
+ import l from"path";export function resolvePosixCommandShell(e,o=process.env){const n=(e.SHELL??o.SHELL??"").trim();return n.length>0&&!s(n)?n:"sh"}function s(e){return["false","nologin"].includes(l.basename(e).toLowerCase())}
@@ -0,0 +1,17 @@
1
+ export declare const MANAGED_PROCESS_ENVIRONMENT_OVERLAY_STATE_SYMBOL = "elench.testkit.engine-process.environment-overlay.v1";
2
+ export interface ManagedProcessEnvironmentOverlayOptions {
3
+ readonly environment: Readonly<Record<string, string>>;
4
+ readonly label: string;
5
+ }
6
+ /**
7
+ * Adds file-backed consumer values to `process.env` without adding them to the
8
+ * physical environment block inherited by native processes.
9
+ *
10
+ * Managed values behave like immutable, non-enumerable own properties. A Node
11
+ * child that inherits the adapter-owned bootstrap controls can therefore
12
+ * rehydrate the same values without transporting them through its OS spawn
13
+ * environment.
14
+ */
15
+ export declare function installManagedProcessEnvironmentOverlay(options: Readonly<ManagedProcessEnvironmentOverlayOptions>): NodeJS.ProcessEnv;
16
+ /** Returns the exact shared installer as a self-contained ESM source fragment. */
17
+ export declare function managedProcessEnvironmentOverlayInstallerSource(): string;
@@ -0,0 +1 @@
1
+ export const MANAGED_PROCESS_ENVIRONMENT_OVERLAY_STATE_SYMBOL="elench.testkit.engine-process.environment-overlay.v1";export function installManagedProcessEnvironmentOverlay(f){const v=Symbol.for("elench.testkit.engine-process.environment-overlay.v1"),c=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),a=e=>process.platform==="win32"?e.toUpperCase():e,b=(e,n)=>{const t=Object.entries(e),o=Object.entries(n);return t.length===o.length&&t.every(([E,O])=>n[E]===O)},w=e=>c(e)&&c(e.environment)&&typeof e.label=="string"&&c(e.proxy),r=f.label.trim();if(r.length===0)throw new TypeError("Managed process environment label must be non-empty");if(!c(f.environment))throw new TypeError(`${r} managed process environment must be an object`);const y=Object.entries(f.environment),l=Object.freeze(Object.fromEntries(y)),g=new Set;for(const[e,n]of y){if(e.length===0||e.includes("=")||e.includes("\0")||typeof n!="string"||n.includes("\0"))throw new TypeError(`${r} managed process environment contains an invalid entry`);const t=a(e);if(g.has(t))throw new TypeError(`${r} managed process environment contains duplicate key ${e}`);g.add(t)}const s=Reflect.get(globalThis,v);if(s!==void 0){if(!w(s)||s.label!==r||s.proxy!==process.env||!b(s.environment,l))throw new Error(`${r} process attempted to install a conflicting managed environment`);return s.proxy}const p=process.env,h=new Set(Object.keys(p).map(e=>a(e))),m=new Map;for(const[e]of y){const n=a(e);if(h.has(n))throw new Error(`${r} physical process environment already contains managed key ${e}`);m.set(n,e)}const i=e=>typeof e=="string"?m.get(a(e)):void 0,d=e=>new TypeError(`${r} managed process environment value ${e} is immutable`),u=new Proxy(p,{defineProperty(e,n,t){const o=i(n);if(o!==void 0)throw d(o);return Reflect.defineProperty(e,n,t)},deleteProperty(e,n){const t=i(n);if(t!==void 0)throw d(t);return Reflect.deleteProperty(e,n)},get(e,n){const t=i(n);return t===void 0?Reflect.get(e,n,e):l[t]},getOwnPropertyDescriptor(e,n){const t=i(n);return t===void 0?Reflect.getOwnPropertyDescriptor(e,n):{configurable:!0,enumerable:!1,value:l[t],writable:!1}},has(e,n){return i(n)!==void 0||Reflect.has(e,n)},ownKeys(e){return[...Reflect.ownKeys(e),...m.values()]},set(e,n,t){const o=i(n);if(o!==void 0)throw d(o);return Reflect.set(e,n,t,e)}});return process.env=u,Object.defineProperty(globalThis,v,{configurable:!0,enumerable:!1,value:Object.freeze({environment:l,label:r,proxy:u}),writable:!1}),u}export function managedProcessEnvironmentOverlayInstallerSource(){return`const installManagedProcessEnvironmentOverlay = (${installManagedProcessEnvironmentOverlay.toString()});`}
@@ -0,0 +1,33 @@
1
+ export declare const ENGINE_PROCESS_RESERVED_ENVIRONMENT_KEYS: readonly ["APPDATA", "ComSpec", "HOME", "LANG", "LC_ALL", "LOCALAPPDATA", "PATH", "PATHEXT", "SystemRoot", "TEMP", "TMP", "TMPDIR", "USERPROFILE", "XDG_CACHE_HOME", "XDG_CONFIG_HOME", "XDG_DATA_HOME"];
2
+ export interface InvocationProcessEnvironment {
3
+ readonly environment: Readonly<Record<string, string>>;
4
+ readonly homeDirectory: string;
5
+ readonly temporaryDirectory: string;
6
+ }
7
+ export interface NativeInvocationProcessEnvironmentOptions {
8
+ readonly ambientEnvironment?: Readonly<NodeJS.ProcessEnv>;
9
+ readonly nativeTemporaryRootDirectory?: string;
10
+ readonly platform?: NodeJS.Platform;
11
+ }
12
+ export declare function nativeTemporaryRoot(ambientEnvironment?: Readonly<NodeJS.ProcessEnv>, platform?: NodeJS.Platform): string;
13
+ /**
14
+ * Creates the operating-system directories owned by one engine invocation.
15
+ *
16
+ * Engine processes must not inherit the orchestrator user's home, temporary,
17
+ * cache, configuration, or executable search paths. Apart from locale, only
18
+ * the two Windows variables required to launch native processes are copied
19
+ * from the host.
20
+ */
21
+ export declare function createInvocationProcessEnvironment(invocationDirectory: string, ambientEnvironment?: Readonly<NodeJS.ProcessEnv>, platform?: NodeJS.Platform): Promise<InvocationProcessEnvironment>;
22
+ /**
23
+ * Creates an invocation environment whose native-process temporary directory
24
+ * has a short, operating-system-owned path.
25
+ *
26
+ * Chromium and other native tools create Unix-domain sockets below their
27
+ * temporary directory. A correctly isolated workspace can still be too deeply
28
+ * nested for those operating-system path limits, so the directory is a fresh
29
+ * 0700 allocation rather than a shared alias or inherited host path. The
30
+ * caller owns removing `temporaryDirectory` after the managed process scope
31
+ * has terminated.
32
+ */
33
+ export declare function createNativeInvocationProcessEnvironment(invocationDirectory: string, options?: Readonly<NativeInvocationProcessEnvironmentOptions>): Promise<InvocationProcessEnvironment>;
@@ -0,0 +1 @@
1
+ import c from"node:fs/promises";import A from"node:os";import n from"node:path";export const ENGINE_PROCESS_RESERVED_ENVIRONMENT_KEYS=Object.freeze(["APPDATA","ComSpec","HOME","LANG","LC_ALL","LOCALAPPDATA","PATH","PATHEXT","SystemRoot","TEMP","TMP","TMPDIR","USERPROFILE","XDG_CACHE_HOME","XDG_CONFIG_HOME","XDG_DATA_HOME"]);export function nativeTemporaryRoot(t=process.env,o=process.platform){return T(t,o)}export async function createInvocationProcessEnvironment(t,o=process.env,r=process.platform){const e=n.join(t,"tmp");return w(t,e,!0,o,r)}export async function createNativeInvocationProcessEnvironment(t,o={}){const r=o.platform??process.platform,e=o.ambientEnvironment??process.env,s=await v(o.nativeTemporaryRootDirectory??nativeTemporaryRoot(e,r));let a=null;try{const i=await c.mkdtemp(n.join(s,"testkit-engine-"));return a=i,r!=="win32"&&await c.chmod(i,448),a=await P(i,s,r),await w(t,a,!1,e,r)}catch(i){if(a===null)throw i;try{await c.rm(a,{force:!0,recursive:!0})}catch(p){throw new AggregateError([d(i),d(p)],`Could not initialize or remove native invocation temporary directory ${a}`,{cause:p})}throw i}}async function w(t,o,r,e,s){if(!n.isAbsolute(t))throw new Error("Engine invocation directory must be absolute");if(!n.isAbsolute(o))throw new Error("Engine invocation temporary directory must be absolute");const a=n.join(t,"home"),i=n.join(t,"cache"),p=n.join(t,"config"),l=n.join(t,"data"),f=n.join(t,"local-app-data"),E=n.join(t,"app-data");await Promise.all([a,...r?[o]:[],i,p,l,f,E].map(y=>c.mkdir(y,{mode:448})));const m={APPDATA:E,HOME:a,LOCALAPPDATA:f,TEMP:o,TMP:o,TMPDIR:o,USERPROFILE:a,XDG_CACHE_HOME:i,XDG_CONFIG_HOME:p,XDG_DATA_HOME:l};return u(m,e,"LANG"),u(m,e,"LC_ALL"),s==="win32"&&(m.PATH="",u(m,e,"ComSpec"),u(m,e,"SystemRoot")),Object.freeze({environment:Object.freeze(m),homeDirectory:a,temporaryDirectory:o})}async function v(t){if(!n.isAbsolute(t))throw new Error("Native invocation temporary root must be absolute");const o=await c.realpath(t);if(!(await c.stat(o)).isDirectory())throw new Error("Native invocation temporary root must be a directory");return o}async function P(t,o,r){const e=await c.lstat(t);if(!e.isDirectory()||e.isSymbolicLink())throw new Error("Native invocation temporary directory must be a non-symbolic-link directory");if(r!=="win32"&&(e.mode&63)!==0)throw new Error("Native invocation temporary directory must not grant group or other access");const s=await c.realpath(t);if(n.dirname(s)!==o)throw new Error("Native invocation temporary directory escaped its operating-system root");return s}function T(t,o){if(o!=="win32")return"/tmp";const r=t.TEMP??t.TMP;return r===void 0||r.length===0?A.tmpdir():r}function u(t,o,r){const e=o[r];e!==void 0&&(t[r]=e)}function d(t){return t instanceof Error?t:new Error(String(t))}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Containment guards for configured relative paths. Callers hand over a
3
+ * user-authored path plus the product directory that must contain it; these
4
+ * helpers reject absolute paths, parent-directory escapes, NUL bytes, and
5
+ * filesystem links that resolve outside that directory.
6
+ */
7
+ export declare function normalizeContainedRelativePath(value: string, label: string): string;
8
+ export declare function resolveContainedPath(productDir: string, maybeRelative: string | null | undefined, label: string): string;
@@ -0,0 +1 @@
1
+ import{isPathWithin as d}from"./paths.js";import c from"fs";import s from"path";export function normalizeContainedRelativePath(o,e){const r=o.replaceAll("\\","/");if(s.posix.isAbsolute(r)||s.win32.isAbsolute(o)||/^[A-Za-z]:/u.test(o))throw new Error(`${e} must be relative to the product directory`);const n=r.split("/");if(n.includes(".."))throw new Error(`${e} must not contain parent-directory segments`);if(n.some(t=>t.includes("\0")))throw new Error(`${e} must not contain NUL bytes`);return n.filter(t=>t&&t!==".").join("/")||"."}export function resolveContainedPath(o,e,r){const n=normalizeContainedRelativePath(e||".",r),t=s.resolve(o),i=s.resolve(t,n);if(!d(t,i))throw new Error(`${r} must remain inside the product directory`);if(!c.existsSync(i))return i;const u=c.realpathSync(t),a=c.realpathSync(i);if(!d(u,a))throw new Error(`${r} resolves outside the product directory`);return a}
@@ -0,0 +1,14 @@
1
+ export interface DirectoryStatus {
2
+ exists: boolean;
3
+ fileCount: number;
4
+ path: string;
5
+ sizeBytes: number;
6
+ }
7
+ export interface StatusFile {
8
+ mtimeMs: number;
9
+ path: string;
10
+ size: number;
11
+ }
12
+ export declare function collectDirectorySummary(dir: string): DirectoryStatus;
13
+ export declare function listFiles(dir: string): StatusFile[];
14
+ export declare function pruneEmptyDir(dir: string): void;
@@ -0,0 +1 @@
1
+ import e from"fs";import f from"path";export function collectDirectorySummary(t){const i=listFiles(t);return{path:t,exists:e.existsSync(t),fileCount:i.length,sizeBytes:i.reduce((r,s)=>r+s.size,0)}}export function listFiles(t){const i=[],r=s=>{if(e.existsSync(s))for(const n of e.readdirSync(s,{withFileTypes:!0})){const o=f.join(s,n.name);if(n.isDirectory())r(o);else if(n.isFile()){const c=e.statSync(o);i.push({path:f.resolve(o),size:c.size,mtimeMs:c.mtimeMs})}}};return r(t),i}export function pruneEmptyDir(t){if(e.existsSync(t))try{e.readdirSync(t).length===0&&e.rmSync(t,{recursive:!0,force:!0})}catch{}}
@@ -0,0 +1,2 @@
1
+ export declare function parseDotenv(filePath: string): Record<string, string>;
2
+ export declare function parseDotenvString(source: string): Record<string, string>;
@@ -0,0 +1 @@
1
+ import o from"fs";export function parseDotenv(i){return o.existsSync(i)?parseDotenvString(o.readFileSync(i,"utf8")):{}}export function parseDotenvString(i){const r={};for(const c of i.split(/\r?\n/)){const n=c.trim();if(!n||n.startsWith("#"))continue;const e=n.indexOf("=");if(e===-1)continue;const s=n.slice(0,e).trim();if(s.length===0)continue;let t=n.slice(e+1).trim();(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),r[s]=t}return r}
@@ -0,0 +1,34 @@
1
+ export interface FileSnapshotIdentity {
2
+ readonly ctimeNs: bigint;
3
+ readonly dev: bigint;
4
+ readonly ino: bigint;
5
+ readonly mtimeNs: bigint;
6
+ readonly size: bigint;
7
+ }
8
+ export interface ReadOnlyOpenFlagConstants {
9
+ readonly O_NOFOLLOW?: number;
10
+ readonly O_RDONLY: number;
11
+ }
12
+ /**
13
+ * Returns the strongest read-only, no-follow open flags available on the host.
14
+ * Windows does not expose O_NOFOLLOW, so callers must combine its read-only
15
+ * open with the path/handle identity fencing in this module.
16
+ */
17
+ export declare function readOnlyNoFollowOpenFlags(platform: NodeJS.Platform, constants: Readonly<ReadOnlyOpenFlagConstants>): number;
18
+ /**
19
+ * Compares snapshots produced through one filesystem observation channel, such
20
+ * as two path stats or two stats from the same open handle.
21
+ */
22
+ export declare function sameFileSnapshot(left: Readonly<FileSnapshotIdentity>, right: Readonly<FileSnapshotIdentity>): boolean;
23
+ /**
24
+ * Compares a path lstat snapshot with a snapshot from its opened handle.
25
+ *
26
+ * Windows path and handle stats are separate observation channels. Node/libuv
27
+ * can report dev=0 for a path lstat while fstat reports the real nonzero volume
28
+ * identifier for the same NTFS file, and their timestamp representations can
29
+ * differ even when both observations name the same file. Device, inode, and
30
+ * size therefore form the Windows cross-channel identity fence. Callers must
31
+ * still compare complete snapshots before and after within each individual
32
+ * channel so timestamp or size mutations remain fail-closed.
33
+ */
34
+ export declare function samePathAndHandleFileSnapshot(pathIdentity: Readonly<FileSnapshotIdentity>, handleIdentity: Readonly<FileSnapshotIdentity>, platform: NodeJS.Platform): boolean;
@@ -0,0 +1 @@
1
+ export function readOnlyNoFollowOpenFlags(o,e){if(!Number.isInteger(e.O_RDONLY))throw new TypeError("O_RDONLY must be an integer open flag");if(o==="win32")return e.O_RDONLY;const r=e.O_NOFOLLOW;if(typeof r!="number"||!Number.isInteger(r))throw new Error("O_NOFOLLOW is required on non-Windows hosts");return e.O_RDONLY|r}export function sameFileSnapshot(o,e){return o.dev===e.dev&&o.ino===e.ino&&o.size===e.size&&o.mtimeNs===e.mtimeNs&&o.ctimeNs===e.ctimeNs}export function samePathAndHandleFileSnapshot(o,e,r){const s=o.dev===e.dev||r==="win32"&&o.dev===0n&&e.dev!==0n;return r==="win32"?s&&o.ino===e.ino&&o.size===e.size:s&&o.ino===e.ino&&o.size===e.size&&o.mtimeNs===e.mtimeNs&&o.ctimeNs===e.ctimeNs}
@@ -0,0 +1,11 @@
1
+ export declare function isPropertyContainer(value: unknown): value is object;
2
+ export declare function readProperty(value: object, key: PropertyKey): unknown;
3
+ export declare function serializeJson(value: unknown, label: string): string;
4
+ export declare function errorMessage(error: unknown): string;
5
+ export interface AtomicWriteOptions {
6
+ attempts?: number;
7
+ baseDelayMs?: number;
8
+ maxDelayMs?: number;
9
+ }
10
+ export declare function writeJsonFileAtomicWithRetry(filePath: string, value: unknown, options?: AtomicWriteOptions): void;
11
+ export declare function isRetryableAtomicReplaceError(error: unknown): boolean;
@@ -0,0 +1 @@
1
+ import s from"node:fs";import a from"node:path";const p=String;export function isPropertyContainer(t){return typeof t=="object"&&t!==null||typeof t=="function"}export function readProperty(t,e){return Reflect.get(t,e)}export function serializeJson(t,e){let r;try{r=JSON.stringify(t,null,2)}catch(o){throw new Error(`${e} is not JSON serializable`,{cause:o})}if(typeof r!="string")throw new Error(`${e} is not JSON serializable`);return r}export function errorMessage(t){if(t instanceof Error)return t.message;if(isPropertyContainer(t)){const e=readProperty(t,"message");if(typeof e=="string"&&e.length>0)return e}return p(t)}const u=new Set(["EPERM","EACCES","EBUSY"]),y=process.platform==="win32"?100:25,l=10,A=100;class S extends Error{attempts;code="TESTKIT_ATOMIC_WRITE_FAILED";cause;path;tempPath;constructor(e,r,o,n){super(`Failed to atomically replace ${e} after ${o.toString()} attempt${o===1?"":"s"}: ${errorMessage(n)}`,{cause:n}),this.name="AtomicWriteError",this.attempts=o,this.cause=n,this.path=e,this.tempPath=r}}export function writeJsonFileAtomicWithRetry(t,e,r={}){const o=a.dirname(t),n=a.join(o,`.${a.basename(t)}.${process.pid.toString()}.${Date.now().toString()}.${Math.random().toString(16).slice(2)}.tmp`),c=r.attempts??y,f=r.baseDelayMs??l,m=r.maxDelayMs??A;s.writeFileSync(n,serializeJson(e,`atomic JSON file ${t}`));try{for(let i=1;i<=c;i+=1)try{s.renameSync(n,t);return}catch(E){if(!isRetryableAtomicReplaceError(E)||i>=c)throw new S(t,n,i,E);R(Math.min(m,f*i))}}finally{s.rmSync(n,{force:!0})}}export function isRetryableAtomicReplaceError(t){if(!isPropertyContainer(t))return!1;const e=readProperty(t,"code");return typeof e=="string"&&u.has(e)}function R(t){if(t<=0)return;const e=new SharedArrayBuffer(4);Atomics.wait(new Int32Array(e),0,0,t)}
@@ -0,0 +1 @@
1
+ export declare function isPathWithin(root: string, candidate: string): boolean;
@@ -0,0 +1 @@
1
+ import t from"node:path";export function isPathWithin(r,i){const e=t.relative(t.resolve(r),t.resolve(i));return e===""||!e.startsWith(`..${t.sep}`)&&e!==".."&&!t.isAbsolute(e)}
@@ -0,0 +1,11 @@
1
+ export interface MakeTempDirOptions {
2
+ parentDir?: string | null;
3
+ }
4
+ export interface RemoveTempDirOptions {
5
+ maxRetries?: number | null;
6
+ retryDelay?: number | null;
7
+ }
8
+ export declare function defaultTempDirParent(): string;
9
+ export declare function makeTempDir(prefix: string, options?: Readonly<MakeTempDirOptions>): string;
10
+ export declare function makeTempDirAsync(prefix: string, options?: Readonly<MakeTempDirOptions>): Promise<string>;
11
+ export declare function removeTempDir(dir?: string | null, options?: Readonly<RemoveTempDirOptions>): void;
@@ -0,0 +1 @@
1
+ import n from"fs";import i from"os";import e from"path";export function defaultTempDirParent(){return i.tmpdir()}export function makeTempDir(r,t={}){const o=e.join(t.parentDir||defaultTempDirParent(),r),a=n.mkdtempSync(e.toNamespacedPath(o));return e.join(e.dirname(o),e.basename(a))}export async function makeTempDirAsync(r,t={}){const o=e.join(t.parentDir||defaultTempDirParent(),r),a=await n.promises.mkdtemp(e.toNamespacedPath(o));return e.join(e.dirname(o),e.basename(a))}export function removeTempDir(r,t={}){r&&n.rmSync(r,{recursive:!0,force:!0,maxRetries:t.maxRetries??(process.platform==="win32"?20:5),retryDelay:t.retryDelay??(process.platform==="win32"?250:100)})}
@@ -0,0 +1,6 @@
1
+ export interface PackageMetadata extends Record<string, unknown> {
2
+ version: string;
3
+ }
4
+ export declare function readPackageMetadata(): PackageMetadata;
5
+ export declare function safeHostname(): null | string;
6
+ export declare function safeUsername(): null | string;
@@ -0,0 +1 @@
1
+ import t from"node:fs";import n from"node:os";export function readPackageMetadata(){try{const r=new URL("../../../package.json",import.meta.url),e=JSON.parse(t.readFileSync(r,"utf8"));return o(e)&&typeof e.version=="string"?{...e,version:e.version}:{version:"unknown"}}catch{return{version:"unknown"}}}export function safeHostname(){try{return n.hostname()}catch{return null}}export function safeUsername(){try{return n.userInfo().username}catch{return process.env.USER||process.env.USERNAME||null}}function o(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}
@@ -0,0 +1,57 @@
1
+ export declare const SUPPORTED_PLATFORMS: readonly ["darwin", "linux", "win32"];
2
+ export declare const SUPPORTED_ARCHITECTURES: readonly ["arm64", "x64"];
3
+ export type SupportedPlatform = (typeof SUPPORTED_PLATFORMS)[number];
4
+ export type SupportedArchitecture = (typeof SUPPORTED_ARCHITECTURES)[number];
5
+ export type LinuxLibc = "glibc" | "musl";
6
+ export interface PlatformTarget {
7
+ readonly arch: SupportedArchitecture;
8
+ readonly platform: SupportedPlatform;
9
+ }
10
+ export declare const SUPPORTED_PLATFORM_TARGETS: readonly (Readonly<{
11
+ arch: "arm64";
12
+ platform: "darwin";
13
+ }> | Readonly<{
14
+ arch: "x64";
15
+ platform: "darwin";
16
+ }> | Readonly<{
17
+ arch: "arm64";
18
+ platform: "linux";
19
+ }> | Readonly<{
20
+ arch: "x64";
21
+ platform: "linux";
22
+ }> | Readonly<{
23
+ arch: "x64";
24
+ platform: "win32";
25
+ }>)[];
26
+ export declare class UnsupportedPlatformTargetError extends Error {
27
+ readonly arch: string;
28
+ readonly code = "TESTKIT_PLATFORM_TARGET_UNSUPPORTED";
29
+ readonly platform: string;
30
+ constructor(platform: string, arch: string, label?: string);
31
+ }
32
+ export declare function platformTargetKey(target: Readonly<PlatformTarget>): string;
33
+ export declare function currentPlatformTarget(platform?: NodeJS.Platform, arch?: string): PlatformTarget;
34
+ export declare function currentLinuxLibc(): LinuxLibc | null;
35
+ export declare function assertSupportedPlatformTarget(target: Readonly<PlatformTarget>, label?: string): void;
36
+ export declare function isSupportedPlatform(value: string): value is SupportedPlatform;
37
+ export declare function isSupportedArchitecture(value: string): value is SupportedArchitecture;
38
+ export interface CommandResolutionOptions {
39
+ env?: Readonly<NodeJS.ProcessEnv>;
40
+ extraWindowsDirs?: readonly string[];
41
+ platform?: NodeJS.Platform;
42
+ }
43
+ export interface PreparedSpawnCommand {
44
+ args: string[];
45
+ command: string;
46
+ windowsVerbatimArguments: boolean;
47
+ }
48
+ export declare function isWindows(platform?: NodeJS.Platform): boolean;
49
+ export declare function commandName(name: unknown, platform?: NodeJS.Platform): string;
50
+ export declare function executableName(name: unknown, platform?: NodeJS.Platform): string;
51
+ export declare function resolveCommandForSpawn(name: unknown, options?: Readonly<CommandResolutionOptions>): string;
52
+ export declare function prepareCommandForSpawn(name: unknown, args?: unknown, options?: Readonly<CommandResolutionOptions>): PreparedSpawnCommand;
53
+ export declare function packageBinPath(cwd: null | string | undefined, name: unknown, platform?: NodeJS.Platform): string;
54
+ export declare function shellQuote(value: unknown, platform?: NodeJS.Platform): string;
55
+ export declare function joinPathList(entries: readonly unknown[], platform?: NodeJS.Platform): string;
56
+ export declare function dockerHostAddress<T>(host: T, platform?: NodeJS.Platform): T | "host.docker.internal";
57
+ export declare function shouldUseDockerHostNetwork(platform?: NodeJS.Platform): boolean;
@@ -0,0 +1 @@
1
+ import u from"node:fs";import a from"node:path";export const SUPPORTED_PLATFORMS=["darwin","linux","win32"],SUPPORTED_ARCHITECTURES=["arm64","x64"],SUPPORTED_PLATFORM_TARGETS=Object.freeze([Object.freeze({arch:"arm64",platform:"darwin"}),Object.freeze({arch:"x64",platform:"darwin"}),Object.freeze({arch:"arm64",platform:"linux"}),Object.freeze({arch:"x64",platform:"linux"}),Object.freeze({arch:"x64",platform:"win32"})]);export class UnsupportedPlatformTargetError extends Error{arch;code="TESTKIT_PLATFORM_TARGET_UNSUPPORTED";platform;constructor(t,e,o="platform target"){super(`${o} does not support ${t}-${e}`),this.name="UnsupportedPlatformTargetError",this.platform=t,this.arch=e}}export function platformTargetKey(r){return`${r.platform}-${r.arch}`}export function currentPlatformTarget(r=process.platform,t=process.arch){if(!isSupportedPlatform(r)||!isSupportedArchitecture(t))throw new UnsupportedPlatformTargetError(r,t);const e={platform:r,arch:t};return assertSupportedPlatformTarget(e,"current platform target"),e}export function currentLinuxLibc(){if(process.platform!=="linux")return null;const r=process.report.getReport(),t=f(r)?r.header:null,e=f(t)?t.glibcVersionRuntime:null;return typeof e=="string"&&e.trim().length>0?"glibc":"musl"}export function assertSupportedPlatformTarget(r,t="platform target"){if(r.platform==="win32"&&r.arch!=="x64")throw new UnsupportedPlatformTargetError(r.platform,r.arch,t)}export function isSupportedPlatform(r){return SUPPORTED_PLATFORMS.includes(r)}export function isSupportedArchitecture(r){return SUPPORTED_ARCHITECTURES.includes(r)}function f(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}export function isWindows(r=process.platform){return r==="win32"}export function commandName(r,t=process.platform){const e=i(r||"").trim();if(!e)throw new Error("commandName requires a non-empty command name");return!isWindows(t)||/\.(?:cmd|bat|exe)$/i.test(e)?e:`${e}.cmd`}export function executableName(r,t=process.platform){const e=i(r||"").trim();if(!e)throw new Error("executableName requires a non-empty command name");return!isWindows(t)||/\.exe$/i.test(e)?e:`${e}.exe`}export function resolveCommandForSpawn(r,t={}){const e=t.platform||process.platform,o=t.env||process.env,n=i(r||"").trim();if(!n)throw new Error("resolveCommandForSpawn requires a non-empty command name");if(!isWindows(e))return n;if(/[\\/]/u.test(n)||a.win32.isAbsolute(n))return A(n);const s=P(n,o),c=[...i(o.PATH||o.Path||"").split(d(e)).map(l=>l.trim()).filter(Boolean),...t.extraWindowsDirs||[],...g(n,o)];for(const l of c)for(const x of s){const m=a.join(l,`${n}${x}`);if(u.existsSync(m))return m}return commandName(n,e)}export function prepareCommandForSpawn(r,t=[],e={}){const o=e.platform||process.platform,n=e.env||process.env,s=resolveCommandForSpawn(r,{...e,platform:o,env:n}),c=E(t)?t.map(l=>i(l)):[];return!isWindows(o)||!/\.(?:cmd|bat)$/i.test(s)?{command:s,args:c,windowsVerbatimArguments:!1}:{command:n.ComSpec||n.COMSPEC||"cmd.exe",args:["/d","/s","/c",h([s,...c])],windowsVerbatimArguments:!0}}export function packageBinPath(r,t,e=process.platform){const o=a.resolve(r||process.cwd()),n=i(t||"").trim();if(!/^[A-Za-z0-9@._/-]+$/.test(n))throw new Error(`Invalid package bin name: ${i(t)}`);const s=a.basename(n);return a.join(o,"node_modules",".bin",commandName(s,e))}export function shellQuote(r,t=process.platform){const e=i(r);return isWindows(t)?w(e):/^[A-Za-z0-9_/:.,@%+=-]*$/.test(e)?e:`'${e.replaceAll("'","'\\''")}'`}function w(r){return/^[A-Za-z0-9_/:.,@%+=\\-]*$/.test(r)?r:`"${r.replaceAll('"','\\"')}"`}function h(r){const[t,...e]=r;return`"${[p(t,{force:!0}),...e.map(o=>p(o))].join(" ")}"`}function p(r,t={}){const e=i(r);return!t.force&&e.length>0&&!/[\s&()<>^|"]/u.test(e)?e:`"${e.replace(/(\\*)"/gu,'$1$1\\"').replace(/\\+$/u,"$&$&")}"`}export function joinPathList(r,t=process.platform){const e=r.filter(Boolean).map(c=>i(c)),n=T(t)||d(t),s=Reflect.apply(Array.prototype.join,e,[n]);if(typeof s!="string")throw new Error("Path-list construction returned an invalid result");return s}function d(r){return isWindows(r)?";":":"}function P(r,t){if(/\.(?:cmd|bat|exe|com)$/i.test(r))return[""];const e=i(t.PATHEXT||".COM;.EXE;.BAT;.CMD").split(";").map(o=>o.trim().toLowerCase()).filter(Boolean);return[...new Set([".cmd",".exe",".bat",".com",...e])]}function A(r){if(u.existsSync(r)||/\.(?:cmd|bat|exe|com)$/i.test(r))return r;for(const t of[".cmd",".exe",".bat",".com"]){const e=`${r}${t}`;if(u.existsSync(e))return e}return commandName(r)}function g(r,t){return r.toLowerCase()!=="volta"?[]:[t.VOLTA_HOME,t.ProgramFiles?a.join(t.ProgramFiles,"Volta"):null,t["ProgramFiles(x86)"]?a.join(t["ProgramFiles(x86)"],"Volta"):null,t.LOCALAPPDATA?a.join(t.LOCALAPPDATA,"Volta","bin"):null,t.USERPROFILE?a.join(t.USERPROFILE,"AppData","Local","Volta","bin"):null].filter(e=>!!e)}export function dockerHostAddress(r,t=process.platform){const e=i(r||"").trim().toLowerCase();return["win32","darwin"].includes(t)&&(e==="127.0.0.1"||e==="localhost"||e==="::1")?"host.docker.internal":r}export function shouldUseDockerHostNetwork(r=process.platform){return r==="linux"}function i(r){const t=Reflect.apply(String,void 0,[r]);if(typeof t!="string")throw new Error("String conversion returned an invalid result");return t}function E(r){return Array.isArray(r)}function T(r){const t=a;if(!f(t))return;const e=t.delimiterForPlatform;if(e!=null){if(typeof e!="function")throw new TypeError("path.delimiterForPlatform is not a function");return Reflect.apply(e,t,[r])}}
@@ -0,0 +1,4 @@
1
+ import type { ManagedProcessResult } from "./process.js";
2
+ import { type ManagedHostProcessRequest } from "./host-process.js";
3
+ export declare function runManagedHostCommand(request: Readonly<ManagedHostProcessRequest>): Promise<ManagedProcessResult>;
4
+ export declare function requireManagedHostCommandSuccess(displayLabel: string, result: Readonly<ManagedProcessResult>): ManagedProcessResult;
@@ -0,0 +1,3 @@
1
+ import{managedHostProcessInfrastructureError as i,runManagedHostProcess as a}from"./host-process.js";const c=4e3;export async function runManagedHostCommand(t){const e=await a(t),r=i(t.displayLabel,e);if(r)throw r;if(e.exitCode===null)throw o(t.displayLabel,e,e.exitSignal?`terminated by signal ${e.exitSignal}`:"ended without an exit code");return e}export function requireManagedHostCommandSuccess(t,e){if(e.exitCode===0)return e;throw o(t,e,`exited with code ${String(e.exitCode)}`)}function o(t,e,r){const n=new Error(`${t} ${r}${d(e.stdout,e.stderr)}`);return Object.defineProperty(n,"result",{enumerable:!1,value:Object.freeze({...e})}),n}function d(t,e){const r=[e,t].filter(Boolean).join(`
2
+ `).trim();return r?`
3
+ ${r.slice(-c)}`:""}
@@ -0,0 +1,13 @@
1
+ export declare const DARWIN_PS_EXECUTABLE = "/bin/ps";
2
+ export declare const HOST_POSIX_INSPECTION_ENVIRONMENT: Readonly<Record<string, string>>;
3
+ export interface WindowsHostPowerShellCommand {
4
+ readonly environment: Readonly<Record<string, string>>;
5
+ readonly executable: string;
6
+ readonly systemRoot: string;
7
+ }
8
+ /**
9
+ * Returns the host-owned Windows bootstrap captured when this module loaded.
10
+ * Consumer request environments and later ambient PATH mutation cannot replace
11
+ * the executable used for authoritative process inspection.
12
+ */
13
+ export declare function requireWindowsHostPowerShellCommand(): WindowsHostPowerShellCommand;
@@ -0,0 +1 @@
1
+ import l from"node:fs";import o from"node:path";export const DARWIN_PS_EXECUTABLE="/bin/ps",HOST_POSIX_INSPECTION_ENVIRONMENT=Object.freeze({LANG:"C",LC_ALL:"C"});const c=process.platform==="win32"?w(process.env):null;export function requireWindowsHostPowerShellCommand(){if(c===null)throw new Error("Windows PowerShell inspection is unavailable on this host");return c}function w(r){const n=p(r,"SystemRoot");if(n===null||n.includes("\0")||!/^[a-z]:[\\/]/iu.test(n)||!o.win32.isAbsolute(n))throw new Error("Windows SystemRoot must be an absolute drive path for process inspection");const e=o.win32.normalize(n),t=o.win32.join(e,"System32"),s=o.win32.join(t,"WindowsPowerShell","v1.0"),i=o.win32.join(s,"powershell.exe");if(!l.existsSync(i))throw new Error(`Windows process inspection requires the host PowerShell executable at ${i}`);return Object.freeze({environment:Object.freeze({ComSpec:o.win32.join(t,"cmd.exe"),Path:[s,t,e].join(";"),PATHEXT:".COM;.EXE;.BAT;.CMD",SystemRoot:e,TEMP:o.win32.join(e,"Temp"),TMP:o.win32.join(e,"Temp"),WINDIR:e}),executable:i,systemRoot:e})}function p(r,n){const e=n.toUpperCase();for(const[t,s]of Object.entries(r))if(t.toUpperCase()===e&&typeof s=="string")return s;return null}
@@ -0,0 +1,14 @@
1
+ import { type ManagedProcessRequest, type ManagedProcessResult, type SupervisedProcessHandle, type SupervisedProcessOutputMode } from "./process.js";
2
+ export interface ManagedHostProcessRequest extends Omit<ManagedProcessRequest, "env" | "signal"> {
3
+ readonly env?: Readonly<NodeJS.ProcessEnv>;
4
+ readonly signal?: AbortSignal;
5
+ }
6
+ export interface SupervisedHostProcessRequest extends ManagedHostProcessRequest {
7
+ readonly outputMode: SupervisedProcessOutputMode;
8
+ }
9
+ export declare function runManagedHostProcess(request: Readonly<ManagedHostProcessRequest>): Promise<ManagedProcessResult>;
10
+ export declare function startManagedHostProcess(request: Readonly<SupervisedHostProcessRequest>): SupervisedProcessHandle;
11
+ export declare function managedHostProcessInfrastructureError(displayLabel: string, result: Readonly<ManagedProcessResult>): Error | null;
12
+ export declare function normalizeManagedHostEnvironment(environment?: Readonly<NodeJS.ProcessEnv>, platform?: NodeJS.Platform): Record<string, string>;
13
+ export declare function resolveManagedHostExecutable(executable: string, cwd: string, environment: Readonly<Record<string, string>>, platform?: NodeJS.Platform): string;
14
+ export declare function resolveManagedHostExecutableIfAvailable(executable: string, cwd: string, environment: Readonly<Record<string, string>>, platform?: NodeJS.Platform): string | null;
@@ -0,0 +1 @@
1
+ import d from"node:fs";import s from"node:path";import{runManagedProcess as h,startSupervisedProcess as E}from"./process.js";export function runManagedHostProcess(e){const t=f(e);return h(t)}export function startManagedHostProcess(e){const t=f(e);return E({...t,outputMode:e.outputMode})}export function managedHostProcessInfrastructureError(e,t){const o=[];if(t.terminationError&&o.push(`process-scope termination was incomplete: ${t.terminationError.message}`),t.error&&o.push(`could not execute: ${t.error.message}`),t.timedOut&&o.push("exceeded its managed deadline"),t.cancelled&&o.push("was cancelled"),t.outputLimitExceeded&&o.push("exceeded the managed stdout/stderr capture limit"),o.length===0)return null;const n=new Error(`${e} ${o.join("; ")}`);return Object.defineProperty(n,"result",{enumerable:!1,value:Object.freeze({...t})}),n}export function normalizeManagedHostEnvironment(e=process.env,t=process.platform){const o=Object.entries(e).filter(r=>typeof r[1]=="string");if(t!=="win32")return Object.fromEntries(o);const n=new Map;for(const[r,a]of o){const c=r.toLowerCase();n.set(c,{key:v(c,r),value:a})}return Object.fromEntries([...n.entries()].sort(([r],[a])=>r.localeCompare(a)).map(([,r])=>[r.key,r.value]))}export function resolveManagedHostExecutable(e,t,o,n=process.platform){const r=resolveManagedHostExecutableIfAvailable(e,t,o,n);if(r)return r;throw o.PATH?new Error(`Could not resolve managed host executable ${JSON.stringify(e)}`):new Error(`Could not resolve managed host executable ${JSON.stringify(e)} because PATH is unavailable`)}export function resolveManagedHostExecutableIfAvailable(e,t,o,n=process.platform){if(e.trim().length===0)throw new Error("Managed host process executable must be non-empty");if(!s.isAbsolute(t))throw new Error("Managed host process working directory must be absolute");if(s.isAbsolute(e))return m(e,n);if(e.includes("/")||e.includes("\\"))throw new Error(`Managed host process executable paths must be absolute, got ${JSON.stringify(e)}`);const r=o.PATH;if(!r)return null;const a=b(e,o,n),c=n==="win32"?";":":";for(const u of r.split(c)){if(u.length===0)continue;const g=s.isAbsolute(u)?u:s.resolve(t,u);for(const w of a){const l=s.join(g,`${e}${w}`);try{const i=d.statSync(l);if(i.isFile()&&(n==="win32"||(i.mode&73)!==0))return m(l,n)}catch(i){if(!p(i,"ENOENT")&&!p(i,"ENOTDIR"))throw i}}}return null}function f(e){const t=s.resolve(e.cwd),o=normalizeManagedHostEnvironment(e.env);return{args:e.args,cwd:t,displayLabel:e.displayLabel,env:o,executable:resolveManagedHostExecutable(e.executable,t,o),signal:e.signal??new AbortController().signal,timeoutMs:e.timeoutMs,windowsVerbatimArguments:e.windowsVerbatimArguments}}function b(e,t,o){return o!=="win32"?[""]:s.extname(e).length>0?[""]:(t.PATHEXT||".COM;.EXE").split(";").map(r=>r.trim()).filter(r=>[".com",".exe"].includes(r.toLowerCase()))}function m(e,t){if(t==="win32"&&[".bat",".cmd"].includes(s.extname(e).toLowerCase()))throw new Error(`Windows batch wrappers are not managed host executables: ${e}`);const o=d.statSync(e);if(!o.isFile())throw new Error(`Managed host executable is not a regular file: ${e}`);if(t!=="win32"&&(o.mode&73)===0)throw new Error(`Managed host executable is not executable: ${e}`);return e}function v(e,t){return e==="path"?"PATH":e==="pathext"?"PATHEXT":e==="comspec"?"ComSpec":t}function p(e,t){return e!==null&&typeof e=="object"&&"code"in e&&Reflect.get(e,"code")===t}
@@ -0,0 +1,9 @@
1
+ export { runManagedProcess, ProcessExitedBeforeReadyError, startSupervisedProcess, terminateAttributedProcessLineage, terminateOwnedPosixProcessGroup, type AttributedProcessLineageTerminationRequest, type ManagedProcessCancellationSignal, type ManagedProcessRequest, type ManagedProcessResult, type OwnedPosixProcessGroupTerminationRequest, type SupervisedProcessHandle, type SupervisedProcessOutputMode, type SupervisedProcessRecoveryIdentity, type SupervisedProcessReady, type SupervisedProcessRequest, } from "./process.js";
2
+ export { managedHostProcessInfrastructureError, normalizeManagedHostEnvironment, resolveManagedHostExecutable, resolveManagedHostExecutableIfAvailable, runManagedHostProcess, startManagedHostProcess, type ManagedHostProcessRequest, type SupervisedHostProcessRequest, } from "./host-process.js";
3
+ export { requireManagedHostCommandSuccess, runManagedHostCommand } from "./host-command.js";
4
+ export { resolvePosixCommandShell } from "./command-shell.js";
5
+ export { captureOutput, type CaptureOutputOptions, type OutputLineHandler } from "./capture-output.js";
6
+ export { captureProcessCreationIdentity, observeProcessCreationIdentity, processCreationIdentityMatches, type ProcessCreationIdentityObservation, type ProcessCreationIdentityObservationOptions, } from "./process-identity.js";
7
+ export { createInvocationProcessEnvironment, createNativeInvocationProcessEnvironment, ENGINE_PROCESS_RESERVED_ENVIRONMENT_KEYS, type InvocationProcessEnvironment, type NativeInvocationProcessEnvironmentOptions, } from "./environment.js";
8
+ export { installManagedProcessEnvironmentOverlay, managedProcessEnvironmentOverlayInstallerSource, MANAGED_PROCESS_ENVIRONMENT_OVERLAY_STATE_SYMBOL, type ManagedProcessEnvironmentOverlayOptions, } from "./environment-overlay.js";
9
+ export { DEFAULT_SHUTDOWN_TIMEOUT_MS } from "./shutdown.js";
@@ -0,0 +1 @@
1
+ export{runManagedProcess,ProcessExitedBeforeReadyError,startSupervisedProcess,terminateAttributedProcessLineage,terminateOwnedPosixProcessGroup}from"./process.js";export{managedHostProcessInfrastructureError,normalizeManagedHostEnvironment,resolveManagedHostExecutable,resolveManagedHostExecutableIfAvailable,runManagedHostProcess,startManagedHostProcess}from"./host-process.js";export{requireManagedHostCommandSuccess,runManagedHostCommand}from"./host-command.js";export{resolvePosixCommandShell}from"./command-shell.js";export{captureOutput}from"./capture-output.js";export{captureProcessCreationIdentity,observeProcessCreationIdentity,processCreationIdentityMatches}from"./process-identity.js";export{createInvocationProcessEnvironment,createNativeInvocationProcessEnvironment,ENGINE_PROCESS_RESERVED_ENVIRONMENT_KEYS}from"./environment.js";export{installManagedProcessEnvironmentOverlay,managedProcessEnvironmentOverlayInstallerSource,MANAGED_PROCESS_ENVIRONMENT_OVERLAY_STATE_SYMBOL}from"./environment-overlay.js";export{DEFAULT_SHUTDOWN_TIMEOUT_MS}from"./shutdown.js";
@@ -0,0 +1,11 @@
1
+ import { type ProcessLockAttempt, type ProcessLockOptions } from "./locks.js";
2
+ declare const PRODUCT_LIFECYCLE_FENCE_BRAND: unique symbol;
3
+ export interface ProductLifecycleFence {
4
+ readonly [PRODUCT_LIFECYCLE_FENCE_BRAND]: true;
5
+ readonly productDir: string;
6
+ }
7
+ export declare function resolveProductLifecycleLockPath(productDir: string): string;
8
+ export declare function withProductLifecycleFence<Result>(productDir: string, operation: (fence: ProductLifecycleFence) => Result | PromiseLike<Result>, options?: Readonly<Pick<ProcessLockOptions, "signal">>): Promise<Result>;
9
+ export declare function tryWithProductLifecycleFence<Result>(productDir: string, operation: (fence: ProductLifecycleFence) => Result | PromiseLike<Result>): Promise<ProcessLockAttempt<Result>>;
10
+ export declare function requireProductLifecycleFenceProductDir(fence: Readonly<ProductLifecycleFence>): string;
11
+ export {};
@@ -0,0 +1 @@
1
+ import o from"node:fs";import c from"node:path";import{tryWithProcessLock as l,withProcessLock as f}from"./locks.js";const d=Object.freeze([".testkit","_locks"]),y="run-maintenance.lock",L=Symbol("ProductLifecycleFence"),i=new WeakSet;export function resolveProductLifecycleLockPath(e){const r=o.realpathSync.native(c.resolve(e));return c.join(r,...d,y)}export async function withProductLifecycleFence(e,r,n={}){const t=a(e),u=resolveProductLifecycleLockPath(t.productDir);return o.mkdirSync(c.dirname(u),{recursive:!0}),f(u,()=>s(t,r),{signal:n.signal,timeoutMs:null})}export async function tryWithProductLifecycleFence(e,r){const n=a(e),t=resolveProductLifecycleLockPath(n.productDir);return o.mkdirSync(c.dirname(t),{recursive:!0}),l(t,()=>s(n,r))}export function requireProductLifecycleFenceProductDir(e){if(!i.has(e))throw new Error("Product lifecycle mutation requires an active lifecycle fence");return e.productDir}function a(e){return Object.freeze({[L]:!0,productDir:o.realpathSync.native(c.resolve(e))})}async function s(e,r){i.add(e);try{return await r(e)}finally{i.delete(e)}}
@@ -0,0 +1,28 @@
1
+ interface ProcessLockIdentityObservation {
2
+ readonly checkedAtMs: number;
3
+ readonly ownerKey: string;
4
+ }
5
+ export type ProcessLockIdentityObservations = Map<string, ProcessLockIdentityObservation>;
6
+ export interface ProcessLockOptions {
7
+ /**
8
+ * Allows reclaiming an aged owner from another hostname only when the lock
9
+ * path itself is guaranteed to be private to this host.
10
+ */
11
+ readonly hostScope?: "current-host" | "shared";
12
+ readonly identityObservations?: ProcessLockIdentityObservations;
13
+ readonly retryIntervalMs?: number;
14
+ readonly signal?: AbortSignal;
15
+ /** Null, and the default, means wait until ownership changes or aborts. */
16
+ readonly timeoutMs?: number | null;
17
+ }
18
+ export type ProcessLockAttempt<Result> = {
19
+ readonly acquired: false;
20
+ } | {
21
+ readonly acquired: true;
22
+ readonly value: Result;
23
+ };
24
+ type ProcessLockProbe = "active" | "absent";
25
+ export declare function withProcessLock<Result>(lockPath: string, operation: () => Result | PromiseLike<Result>, options?: Readonly<ProcessLockOptions>): Promise<Result>;
26
+ export declare function tryWithProcessLock<Result>(lockPath: string, operation: () => Result | PromiseLike<Result>, options?: Readonly<Omit<ProcessLockOptions, "timeoutMs">>): Promise<ProcessLockAttempt<Result>>;
27
+ export declare function probeProcessLock(lockPath: string, options?: Readonly<ProcessLockOptions>): ProcessLockProbe;
28
+ export {};
@@ -0,0 +1,4 @@
1
+ import{AsyncLocalStorage as te}from"node:async_hooks";import{randomUUID as re}from"node:crypto";import c from"node:fs";import ne from"node:os";import l from"node:path";import{setTimeout as oe}from"node:timers/promises";import{captureProcessCreationIdentity as F}from"./process-identity.js";function se(e){try{c.mkdirSync(e,{mode:448})}catch(t){if(!i(t,"EEXIST"))throw t}return x(e)}function ce(e){try{const t=c.lstatSync(e);return t.isDirectory()&&!t.isSymbolicLink()?"real":"unsafe"}catch(t){if(i(t,"ENOENT"))return"absent";throw t}}function j(e){const t=c.lstatSync(e,{bigint:!0});if(!t.isDirectory()||t.isSymbolicLink())throw new Error(`Process lock path is not a real directory: ${e}`);return{birthtimeNs:t.birthtimeNs,dev:t.dev,ino:t.ino}}function x(e){try{return j(e)}catch(t){if(i(t,"ENOENT")||ae(t))return null;throw t}}function h(e,t){const n=x(e);return n!==null&&n.birthtimeNs===t.birthtimeNs&&n.dev===t.dev&&n.ino===t.ino}function ie(e,t,n){return h(e,t)?M(n)?"unsafe":"retry":h(n,t)?"published":"unsafe"}function ae(e){return e instanceof Error&&e.message.startsWith("Process lock path is not a real directory:")}const K="owner.json",R=1,A="claim-",g="choosing",V="ticket",ue=100,U=65e3,le=100,fe=new Set(["EACCES","EBUSY","EPERM"]),de=5e3,W=ne.hostname(),me=process.platform==="win32"?de:0,T=new te;class q extends Error{constructor(t,n){super(`Timed out waiting for process lock ${l.basename(t)}${ve(n)}`),this.name="ProcessLockTimeoutError"}}export async function withProcessLock(e,t,n={}){const r=z(e);_e(r);const o=await he(r,n),s=T.getStore(),d=new Set(s??[]);d.add(r);try{return await T.run(d,t)}finally{o()}}export async function tryWithProcessLock(e,t,n={}){let r;try{r=await withProcessLock(e,async()=>{try{return{ok:!0,value:await t()}}catch(o){return{error:o,ok:!1}}},{...n,timeoutMs:0})}catch(o){if(o instanceof q)return{acquired:!1};throw o}if(!r.ok)throw r.error;return{acquired:!0,value:r.value}}export function probeProcessLock(e,t={}){const n=z(e),r=X(n);if(!M(r))return"absent";const o=t.identityObservations??new Map,s=b(r,o,t);return s.rootAvailable&&s.claims.length===0?(P(r),"absent"):"active"}async function he(e,t){const n=De(t.timeoutMs,null,"process lock timeout"),r=Fe(t.retryIntervalMs,ue,"process lock retry interval"),o=t.identityObservations??new Map,s=Q(process.pid);if(s===null)throw new Error(`Cannot acquire process lock ${e}: current process creation identity is unavailable`);const d=Date.now(),f={createdAt:new Date(d).toISOString(),hostname:W,pid:process.pid,processIdentity:s,schemaVersion:R,token:re()},a=X(e),u=l.join(a,`${A}${f.token}`),p=`${a}.preparing-${f.token}`;Ee(p,f);let y=null,v=!1,w=null,S=!1,D=0;try{for(y=j(p);;){N(t.signal,e);const E=se(a);if(E!==null){try{c.renameSync(p,u),S=!0,w=E}catch(m){if(!i(m,"ENOENT"))if(ye(m)){const k=ie(p,y,u);if(k==="published")S=!0,w=E;else if(k==="retry"&&D<le)D+=1;else throw m}else throw m}if(S){if(!h(a,E))throw new Error(`Process lock directory changed during claim publication: ${a}`);if(!h(u,y))throw new Error(`Process lock claim changed during publication: ${u}`);break}}else b(a,o,t);G(e,null,d,n),await J(r,t.signal,e)}if(w===null)throw new Error(`Process lock claim was published without its directory identity: ${u}`);const I=w,Z=b(a,o,t,I),L=we(Z.claims);for(pe(u,L);;){N(t.signal,e);const E=b(a,o,t,I),m=E.claims.find(ee=>ee.claimDirectory===u);if(m?.state!=="ready"||m.ticket!==L||m.ownerRecord===null||!B(m.ownerRecord,f))throw new Error(`Process lock claim disappeared or changed before acquisition: ${u}`);const k=ke(E.claims,m);if(k===null)return v=!0,()=>{Re(u,a,I,f,L)};G(e,k.ownerRecord,d,n),await J(r,t.signal,e)}}finally{S?!v&&w!==null&&y!==null&&h(a,w)&&h(u,y)&&(c.rmSync(u,{force:!0,recursive:!0}),o.delete(u),P(a)):y!==null&&h(p,y)&&c.rmSync(p,{force:!0,recursive:!0})}}function ye(e){return process.platform==="win32"&&C(e)&&typeof e.code=="string"&&fe.has(e.code)}function Ee(e,t){c.mkdirSync(e,{mode:448});try{c.writeFileSync(l.join(e,K),`${JSON.stringify(t)}
2
+ `,{encoding:"utf8",flag:"wx",mode:384}),c.writeFileSync(l.join(e,g),`${t.token}
3
+ `,{encoding:"utf8",flag:"wx",mode:384})}catch(n){throw c.rmSync(e,{force:!0,recursive:!0}),n}}function pe(e,t){c.writeFileSync(l.join(e,V),`${t.toString()}
4
+ `,{encoding:"utf8",flag:"wx",mode:384}),c.rmSync(l.join(e,g))}function we(e){const t=e.reduce((n,r)=>r.ticket===null?n:Math.max(n,r.ticket),0);if(t>=Number.MAX_SAFE_INTEGER)throw new Error("Process lock ticket space is exhausted");return t+1}function ke(e,t){if(t.ticket===null||t.ownerRecord===null)return t;const n=t.ownerRecord.token;for(const r of e){if(r.claimDirectory===t.claimDirectory)continue;if(r.state!=="ready"||r.ticket===null||r.ownerRecord===null)return r;const o=r.ownerRecord.token;if(Se(r.ticket,o,t.ticket,n)<0)return r}return null}function Se(e,t,n,r){return e===n?t.localeCompare(r):e-n}function b(e,t,n,r=null){const o=ce(e);if(o==="absent")return{claims:[],rootAvailable:!0};if(o==="unsafe"){const f=O(e);return Le(e,t,n)?{claims:[],rootAvailable:!0}:{claims:[f],rootAvailable:!1}}if(r!==null&&!h(e,r))return{claims:[O(e)],rootAvailable:!1};let s;try{s=c.readdirSync(e,{withFileTypes:!0})}catch(f){if(i(f,"ENOENT"))return{claims:[],rootAvailable:!0};throw f}const d=[];for(const f of s){const a=l.join(e,f.name),u=!f.name.startsWith(A)||!f.isDirectory()?O(a):Y(a);Ne(u,t,n)?Ie(a,t):d.push(u)}return{claims:d,rootAvailable:!0}}function O(e){return{claimDirectory:e,ownerRecord:null,state:"malformed",ticket:null}}function Y(e){const t=Te(e),n=M(l.join(e,g)),r=be(e),o=l.basename(e).slice(A.length),s=t===null||t.token===o;return{claimDirectory:e,ownerRecord:t,state:t===null||!s?"malformed":n?"choosing":r===null?"malformed":"ready",ticket:r}}function be(e){try{const t=c.readFileSync(l.join(e,V),"utf8").trim(),n=Number(t);return Number.isSafeInteger(n)&&n>0?n:null}catch{return null}}function Ne(e,t,n){const r=e.ownerRecord;if(r===null||r.hostname!==W)return n.hostScope==="current-host"&&Me(e.claimDirectory)>=U;if(Ce(r.pid)==="absent")return!0;const o=_(r),s=t.get(e.claimDirectory);if(s?.ownerKey===o&&Date.now()-s.checkedAtMs<me)return!1;const d=Q(r.pid);return t.set(e.claimDirectory,{checkedAtMs:Date.now(),ownerKey:o}),d!==null&&d!==r.processIdentity}function Ie(e,t){t.delete(e),c.rmSync(e,{force:!0,recursive:!0})}function Le(e,t,n){if(n.hostScope!=="current-host")return!1;const r=H(e);if(r==="absent")return!0;if(r==="real-directory"||ge(r)<U)return!1;const o=H(e);if(o==="absent")return!0;if(o==="real-directory"||!Ae(o,r))return!1;try{return c.unlinkSync(e),t.delete(e),!0}catch(s){if(i(s,"ENOENT"))return!0;if(i(s,"EISDIR")||i(s,"EPERM"))return!1;throw s}}function Re(e,t,n,r,o){if(!h(t,n))throw new Error(`Process lock directory changed before release: ${t}`);const s=Y(e);if(s.state!=="ready"||s.ticket!==o||s.ownerRecord===null||!B(s.ownerRecord,r))throw new Error(`Process lock ownership changed before release: ${e}`);c.rmSync(e,{force:!0,recursive:!0}),P(t)}function H(e){try{const t=c.lstatSync(e,{bigint:!0});return t.isDirectory()&&!t.isSymbolicLink()?"real-directory":{birthtimeNs:t.birthtimeNs,ctimeNs:t.ctimeNs,dev:t.dev,ino:t.ino,mode:t.mode,mtimeNs:t.mtimeNs,size:t.size}}catch(t){if(i(t,"ENOENT"))return"absent";throw t}}function Ae(e,t){return e.birthtimeNs===t.birthtimeNs&&e.ctimeNs===t.ctimeNs&&e.dev===t.dev&&e.ino===t.ino&&e.mode===t.mode&&e.mtimeNs===t.mtimeNs&&e.size===t.size}function ge(e){return Math.max(0,Date.now()-Number(e.mtimeNs)/1e6)}function P(e){try{c.rmdirSync(e)}catch(t){if(!i(t,"ENOENT")&&!i(t,"ENOTEMPTY")&&!i(t,"EEXIST"))throw t}}function Te(e){let t;try{t=JSON.parse(c.readFileSync(l.join(e,K),"utf8"))}catch{return null}return C(t)?Oe(t):null}function Oe(e){const t=Object.keys(e).sort(),n=["createdAt","hostname","pid","processIdentity","schemaVersion","token"];return t.length!==n.length||t.some((r,o)=>r!==n[o])||e.schemaVersion!==R||!je(e.createdAt)||typeof e.hostname!="string"||e.hostname.length===0||!xe(e.pid)||typeof e.processIdentity!="string"||e.processIdentity.length===0||typeof e.token!="string"||e.token.length===0?null:{createdAt:e.createdAt,hostname:e.hostname,pid:e.pid,processIdentity:e.processIdentity,schemaVersion:R,token:e.token}}function B(e,t){return _(e)===_(t)}function _(e){return[e.hostname,e.pid.toString(),e.processIdentity,e.token,e.createdAt].join("\0")}function X(e){return`${e}.dir`}function z(e){const t=l.resolve(Pe(e)),n=c.realpathSync.native(l.dirname(t));return l.join(n,l.basename(t))}function Pe(e){if(e.trim().length===0)throw new Error("Process lock path must not be empty");return e}function _e(e){if(T.getStore()?.has(e))throw new Error(`Reentrant process lock acquisition is not allowed: ${e}`)}function G(e,t,n,r){if(r!==null&&Date.now()-n>=r)throw new q(e,t)}function Me(e){try{return Math.max(0,Date.now()-c.lstatSync(e).mtimeMs)}catch(t){if(i(t,"ENOENT"))return Number.POSITIVE_INFINITY;throw t}}function Ce(e){try{return process.kill(e,0),"alive"}catch(t){return i(t,"ESRCH")?"absent":i(t,"EPERM")?"alive":"unknown"}}async function J(e,t,n){N(t,n);try{await oe(e,void 0,{signal:t})}catch(r){throw N(t,n),r}}function N(e,t){if(e?.aborted)throw $e(e,t)}function $e(e,t){return e.reason instanceof Error?e.reason:new Error(`Waiting for process lock was aborted: ${t}`)}function ve(e){return e===null?"":` (host=${e.hostname} pid=${e.pid.toString()} identity=${e.processIdentity} createdAt=${e.createdAt})`}function De(e,t,n){const r=e===void 0?t:e;if(r!==null&&(!Number.isSafeInteger(r)||r<0))throw new Error(`${n} must be null or a non-negative safe integer`);return r}function Fe(e,t,n){const r=e??t;if(!Number.isSafeInteger(r)||r<=0)throw new Error(`${n} must be a positive safe integer`);return r}function je(e){return typeof e=="string"&&e.length>0&&Number.isFinite(Date.parse(e))}function xe(e){return Number.isSafeInteger(e)&&Number(e)>0}function M(e){try{return c.lstatSync(e),!0}catch(t){if(i(t,"ENOENT"))return!1;throw t}}function i(e,t){return C(e)&&e.code===t}function C(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}let $;function Q(e){return e!==process.pid?F(e):($===void 0&&($=F(e)),$)}
@@ -0,0 +1,70 @@
1
+ import type { Readable, Writable } from "node:stream";
2
+ export interface ManagedProcessCancellationSignal {
3
+ readonly aborted: boolean;
4
+ addEventListener(type: "abort", listener: () => void, options?: Readonly<{
5
+ once?: boolean;
6
+ }>): void;
7
+ removeEventListener(type: "abort", listener: () => void): void;
8
+ }
9
+ export interface ManagedProcessRequest {
10
+ readonly args: readonly string[];
11
+ readonly cwd: string;
12
+ readonly displayLabel: string;
13
+ readonly env: Readonly<Record<string, string>>;
14
+ readonly executable: string;
15
+ readonly signal: ManagedProcessCancellationSignal;
16
+ readonly timeoutMs: number;
17
+ readonly windowsVerbatimArguments?: boolean;
18
+ }
19
+ export type SupervisedProcessOutputMode = "bounded-capture" | "caller-drained";
20
+ export interface SupervisedProcessRequest extends Omit<ManagedProcessRequest, "timeoutMs"> {
21
+ readonly shutdownTimeoutMs?: number;
22
+ readonly outputMode: SupervisedProcessOutputMode;
23
+ readonly timeoutMs: number | null;
24
+ }
25
+ export interface ManagedProcessResult {
26
+ readonly cancelled: boolean;
27
+ readonly error: Error | null;
28
+ readonly exitCode: number | null;
29
+ readonly exitSignal: NodeJS.Signals | null;
30
+ readonly outputLimitExceeded: boolean;
31
+ readonly stderr: string;
32
+ readonly stdout: string;
33
+ /** An observed cleanup failure. Null does not prove that every descendant exited. */
34
+ readonly terminationError: Error | null;
35
+ readonly timedOut: boolean;
36
+ }
37
+ export interface SupervisedProcessReady {
38
+ readonly pid: number;
39
+ readonly recovery: SupervisedProcessRecoveryIdentity;
40
+ }
41
+ export interface SupervisedProcessRecoveryIdentity {
42
+ readonly creationIdentity: string;
43
+ readonly processGroupId: number | null;
44
+ }
45
+ /** A live child handle plus the identity needed for later best-effort recovery. */
46
+ export interface SupervisedProcessHandle {
47
+ readonly completion: Promise<ManagedProcessResult>;
48
+ readonly ready: Promise<SupervisedProcessReady>;
49
+ readonly stderr: Readable;
50
+ readonly stdin: Writable;
51
+ readonly stdout: Readable;
52
+ readonly pid: number;
53
+ readonly shutdownTimeoutMs: number;
54
+ readonly shutdownDeadlineAt: number | null;
55
+ onShutdownStarted(listener: (deadlineAt: number) => void): () => void;
56
+ stop(deadlineAt?: number): Promise<ManagedProcessResult>;
57
+ }
58
+ export interface AttributedProcessLineageTerminationRequest {
59
+ readonly displayLabel: string;
60
+ readonly expectedCreationIdentity?: string;
61
+ readonly pid: number;
62
+ readonly signal: NodeJS.Signals;
63
+ }
64
+ export interface OwnedPosixProcessGroupTerminationRequest {
65
+ readonly displayLabel: string;
66
+ readonly graceMs: number;
67
+ readonly leaderCreationIdentity: string;
68
+ readonly leaderPid: number;
69
+ readonly processGroupId: number;
70
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,12 @@
1
+ export interface ProcessGroupCleanupOptions {
2
+ readonly forceWaitMs?: number;
3
+ readonly initialSignalSent?: boolean;
4
+ readonly graceMs?: number;
5
+ readonly remainingMs?: () => number;
6
+ readonly groupExists?: (processGroupId: number) => boolean;
7
+ readonly platform?: NodeJS.Platform;
8
+ readonly sendSignal?: (processGroupId: number, signal: NodeJS.Signals) => void;
9
+ readonly sleep?: (ms: number) => Promise<void>;
10
+ }
11
+ export declare function cleanupExitedProcessGroup(pid: number, options?: Readonly<ProcessGroupCleanupOptions>): Promise<Error | null>;
12
+ export declare function processGroupExists(pid: number): boolean;
@@ -0,0 +1 @@
1
+ import{DEFAULT_SHUTDOWN_TIMEOUT_MS as f,FORCE_TERMINATION_WAIT_MS as E}from"./shutdown.js";export async function cleanupExitedProcessGroup(r,t={}){if((t.platform??process.platform)==="win32")return null;const n=t.groupExists??processGroupExists,e=t.sendSignal??g,o=t.sleep??m,c=t.graceMs??f,l=t.forceWaitMs??E;try{return!n(r)||(t.initialSignalSent||e(r,"SIGTERM"),await i(r,c,n,o,t.remainingMs))?null:(e(r,"SIGKILL"),await i(r,l,n,o)?null:new Error(`Managed process group ${r.toString()} did not stop`))}catch(u){return a(u,"ESRCH")?null:M(u)}}async function i(r,t,s,n,e){const o=performance.now(),c=e??(()=>t-(performance.now()-o));for(;c()>0;){if(!s(r))return!0;await n(Math.min(25,Math.max(1,c())))}return!s(r)}function g(r,t){process.kill(-r,t)}function m(r){return new Promise(t=>setTimeout(t,r))}export function processGroupExists(r){try{return process.kill(-r,0),!0}catch(t){if(a(t,"ESRCH"))return!1;if(a(t,"EPERM"))return!0;throw t}}function M(r){return r instanceof Error?r:new Error(String(r))}function a(r,t){return typeof r=="object"&&r!==null&&Reflect.get(r,"code")===t}