@overkill-dev/run 0.0.65 → 0.0.67

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 (369) hide show
  1. package/attachments/attachment-context.js +10 -0
  2. package/attachments/attachment-context.js.map +1 -1
  3. package/attachments/failure-artifact-stream.js +53 -0
  4. package/attachments/failure-artifact-stream.js.map +1 -0
  5. package/attachments/resource-failure-context.js +41 -0
  6. package/attachments/resource-failure-context.js.map +1 -0
  7. package/config/benchmark-execution.js +30 -0
  8. package/config/benchmark-execution.js.map +1 -0
  9. package/config/config-error.d.ts +4 -0
  10. package/config/config-error.d.ts.map +1 -0
  11. package/config/config-error.js +7 -0
  12. package/config/config-error.js.map +1 -0
  13. package/config/config.d.ts +57 -0
  14. package/config/config.d.ts.map +1 -0
  15. package/{run/run-config.js → config/config.js} +54 -19
  16. package/config/config.js.map +1 -0
  17. package/{run/coverage-config-schema.d.ts → config/coverage-schema.d.ts} +5 -5
  18. package/config/coverage-schema.d.ts.map +1 -0
  19. package/{run/coverage-config-schema.js → config/coverage-schema.js} +1 -1
  20. package/config/coverage-schema.js.map +1 -0
  21. package/{run/run-config-defaults.js → config/defaults.js} +6 -1
  22. package/config/defaults.js.map +1 -0
  23. package/{run/run-execution-config.d.ts → config/execution.d.ts} +5 -7
  24. package/config/execution.d.ts.map +1 -0
  25. package/config/host-process.js +41 -0
  26. package/config/host-process.js.map +1 -0
  27. package/config/profile-file-discovery.js +88 -0
  28. package/config/profile-file-discovery.js.map +1 -0
  29. package/{run/profile-config-normalization.js → config/profile-normalization.js} +13 -13
  30. package/config/profile-normalization.js.map +1 -0
  31. package/{run/profile-file-glob.js → config/profile-patterns.js} +6 -10
  32. package/config/profile-patterns.js.map +1 -0
  33. package/{run/run-config-schema.d.ts → config/schema.d.ts} +206 -26
  34. package/config/schema.d.ts.map +1 -0
  35. package/{run/run-config-schema.js → config/schema.js} +38 -12
  36. package/config/schema.js.map +1 -0
  37. package/config/snapshot.js +204 -0
  38. package/config/snapshot.js.map +1 -0
  39. package/config/types.d.ts +157 -0
  40. package/config/types.d.ts.map +1 -0
  41. package/config/validation.js +91 -0
  42. package/config/validation.js.map +1 -0
  43. package/{run/work-distribution-config.js → config/work-distribution.js} +3 -3
  44. package/config/work-distribution.js.map +1 -0
  45. package/engine/case-execution.d.ts +1 -0
  46. package/engine/case-execution.d.ts.map +1 -1
  47. package/engine/case-execution.js +17 -29
  48. package/engine/case-execution.js.map +1 -1
  49. package/engine/recorded-assertion-failure.js +30 -0
  50. package/engine/recorded-assertion-failure.js.map +1 -0
  51. package/engine/run-artifact.d.ts +2 -2
  52. package/engine/run-artifact.d.ts.map +1 -1
  53. package/engine/runtime-attachment.d.ts +25 -5
  54. package/engine/runtime-attachment.d.ts.map +1 -1
  55. package/engine/runtime-attachment.js.map +1 -1
  56. package/package-version.js +31 -0
  57. package/package-version.js.map +1 -0
  58. package/package.json +30 -9
  59. package/packages/resources/attachment-context.entry-point.js +1 -1
  60. package/packages/resources/attachment-context.entry-point.js.map +1 -1
  61. package/packages/run/command-line.entry-point.d.ts +5 -3
  62. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  63. package/packages/run/command-line.entry-point.js +28 -7
  64. package/packages/run/command-line.entry-point.js.map +1 -1
  65. package/packages/run/config.entry-point.d.ts +8 -6
  66. package/packages/run/config.entry-point.d.ts.map +1 -1
  67. package/packages/run/config.entry-point.js +4 -4
  68. package/packages/run/config.entry-point.js.map +1 -1
  69. package/packages/run/run.entry-point.d.ts +6 -4
  70. package/packages/run/run.entry-point.d.ts.map +1 -1
  71. package/packages/run/run.entry-point.js +3 -3
  72. package/packages/run/run.entry-point.js.map +1 -1
  73. package/packages/simulation/transcript.entry-point.js +2 -0
  74. package/packages/simulation/transcript.entry-point.js.map +1 -1
  75. package/readme.md +56 -14
  76. package/reporters/human-reporter-rendering.js +52 -22
  77. package/reporters/human-reporter-rendering.js.map +1 -1
  78. package/resources/failure-artifacts.js +9 -0
  79. package/resources/failure-artifacts.js.map +1 -0
  80. package/run/assertion-result-schema.js +69 -0
  81. package/run/assertion-result-schema.js.map +1 -0
  82. package/run/attachment-coordinator-context.js.map +1 -1
  83. package/run/attachment-coordinator.js +8 -4
  84. package/run/attachment-coordinator.js.map +1 -1
  85. package/run/attachment-eligibility.js +1 -1
  86. package/run/attachment-eligibility.js.map +1 -1
  87. package/run/attachment-execution.js +53 -6
  88. package/run/attachment-execution.js.map +1 -1
  89. package/run/attachment-protocol.js +4 -0
  90. package/run/attachment-protocol.js.map +1 -1
  91. package/run/attachment-record.js +2 -2
  92. package/run/attachment-record.js.map +1 -1
  93. package/run/attachment-reporter.js +1 -0
  94. package/run/attachment-reporter.js.map +1 -1
  95. package/run/attachment-results.js +5 -9
  96. package/run/attachment-results.js.map +1 -1
  97. package/run/attachment-storage-session.js +1 -0
  98. package/run/attachment-storage-session.js.map +1 -1
  99. package/run/attachment-storage-writer.js +128 -0
  100. package/run/attachment-storage-writer.js.map +1 -0
  101. package/run/attachment-store.js +84 -127
  102. package/run/attachment-store.js.map +1 -1
  103. package/run/attachment-wire-schema.js +45 -9
  104. package/run/attachment-wire-schema.js.map +1 -1
  105. package/run/attachment-worker-context.js +1 -1
  106. package/run/attachment-worker-context.js.map +1 -1
  107. package/run/attachment-writer.js +5 -3
  108. package/run/attachment-writer.js.map +1 -1
  109. package/run/benchmark-commands.d.ts +10 -0
  110. package/run/benchmark-commands.d.ts.map +1 -0
  111. package/run/benchmark-commands.js +82 -0
  112. package/run/benchmark-commands.js.map +1 -0
  113. package/run/capability-policy-snapshots.d.ts +3 -2
  114. package/run/capability-policy-snapshots.d.ts.map +1 -1
  115. package/run/capability-policy-snapshots.js.map +1 -1
  116. package/run/capability-policy.js +48 -38
  117. package/run/capability-policy.js.map +1 -1
  118. package/run/child-process-outbox.js +36 -0
  119. package/run/child-process-outbox.js.map +1 -0
  120. package/run/child-process-protocol.js +17 -13
  121. package/run/child-process-protocol.js.map +1 -1
  122. package/run/child-process-shutdown.js +54 -0
  123. package/run/child-process-shutdown.js.map +1 -0
  124. package/run/collected-run-plan-schema.js +90 -0
  125. package/run/collected-run-plan-schema.js.map +1 -0
  126. package/run/command-line-command-namespace.d.ts.map +1 -1
  127. package/run/command-line-command-namespace.js.map +1 -1
  128. package/run/command-line-command.d.ts +26 -18
  129. package/run/command-line-command.d.ts.map +1 -1
  130. package/run/command-line-command.js +3 -2
  131. package/run/command-line-command.js.map +1 -1
  132. package/run/command-line-config.d.ts +5 -0
  133. package/run/command-line-config.d.ts.map +1 -0
  134. package/run/command-line-config.js +51 -0
  135. package/run/command-line-config.js.map +1 -0
  136. package/run/command-line-execution.js +82 -0
  137. package/run/command-line-execution.js.map +1 -0
  138. package/run/command-line-runner.d.ts +4 -5
  139. package/run/command-line-runner.d.ts.map +1 -1
  140. package/run/command-line-runner.js +6 -124
  141. package/run/command-line-runner.js.map +1 -1
  142. package/run/command-line-unimplemented-commands.js +1 -8
  143. package/run/command-line-unimplemented-commands.js.map +1 -1
  144. package/run/coverage-loaded-sources.js +8 -9
  145. package/run/coverage-loaded-sources.js.map +1 -1
  146. package/run/coverage-method-ranges.js +100 -0
  147. package/run/coverage-method-ranges.js.map +1 -0
  148. package/run/coverage-paths.js.map +1 -1
  149. package/run/coverage-reporting.js.map +1 -1
  150. package/run/coverage-runtime-source.js +68 -25
  151. package/run/coverage-runtime-source.js.map +1 -1
  152. package/run/coverage-session.js.map +1 -1
  153. package/run/coverage-source-map.js +2 -3
  154. package/run/coverage-source-map.js.map +1 -1
  155. package/run/coverage-source-selection.js +12 -6
  156. package/run/coverage-source-selection.js.map +1 -1
  157. package/run/coverage-tokens.js +26 -0
  158. package/run/coverage-tokens.js.map +1 -0
  159. package/run/current-process-run-orchestrator.js +7 -11
  160. package/run/current-process-run-orchestrator.js.map +1 -1
  161. package/run/diff-schema.js +78 -0
  162. package/run/diff-schema.js.map +1 -0
  163. package/run/duration-history-schema.js +1 -1
  164. package/run/duration-history-schema.js.map +1 -1
  165. package/run/failure-artifact-retention.js +76 -0
  166. package/run/failure-artifact-retention.js.map +1 -0
  167. package/run/node-child-process-starters.js +8 -1
  168. package/run/node-child-process-starters.js.map +1 -1
  169. package/run/node-command-line-runner.d.ts +1 -1
  170. package/run/node-command-line-runner.d.ts.map +1 -1
  171. package/run/node-command-line-runner.js +18 -10
  172. package/run/node-command-line-runner.js.map +1 -1
  173. package/run/node-process-policy-observation.js +43 -0
  174. package/run/node-process-policy-observation.js.map +1 -0
  175. package/run/permission-denial-runtime-policy.js +3 -0
  176. package/run/permission-denial-runtime-policy.js.map +1 -1
  177. package/run/reporter-event-schema.js +42 -0
  178. package/run/reporter-event-schema.js.map +1 -0
  179. package/run/request-snapshot.js +40 -0
  180. package/run/request-snapshot.js.map +1 -0
  181. package/run/resource-disposal-error.js +27 -0
  182. package/run/resource-disposal-error.js.map +1 -0
  183. package/run/resource-failure-preparation.js +86 -0
  184. package/run/resource-failure-preparation.js.map +1 -0
  185. package/run/resource-lifecycle-disposal.js +132 -0
  186. package/run/resource-lifecycle-disposal.js.map +1 -0
  187. package/run/resource-lifecycle-session-acquirer.js +31 -10
  188. package/run/resource-lifecycle-session-acquirer.js.map +1 -1
  189. package/run/resource-lifecycle-state.d.ts +2 -1
  190. package/run/resource-lifecycle-state.d.ts.map +1 -1
  191. package/run/resource-lifecycle-state.js +30 -1
  192. package/run/resource-lifecycle-state.js.map +1 -1
  193. package/run/resource-lifecycle.js +26 -104
  194. package/run/resource-lifecycle.js.map +1 -1
  195. package/run/run-artifact-id-schema.js +27 -0
  196. package/run/run-artifact-id-schema.js.map +1 -0
  197. package/run/run-artifact-schema.js +74 -0
  198. package/run/run-artifact-schema.js.map +1 -0
  199. package/run/run-collected-planning.js +9 -0
  200. package/run/run-collected-planning.js.map +1 -1
  201. package/run/run-collected-resolution.js.map +1 -1
  202. package/run/run-collection-error-result.js +4 -3
  203. package/run/run-collection-error-result.js.map +1 -1
  204. package/run/run-command-schema.js +60 -0
  205. package/run/run-command-schema.js.map +1 -0
  206. package/run/run-coverage.js.map +1 -1
  207. package/run/run-discovery-types.d.ts +2 -2
  208. package/run/run-discovery-types.d.ts.map +1 -1
  209. package/run/run-discovery.js +14 -96
  210. package/run/run-discovery.js.map +1 -1
  211. package/run/run-engine-primitives.d.ts.map +1 -1
  212. package/run/run-errors.d.ts +7 -7
  213. package/run/run-errors.d.ts.map +1 -1
  214. package/run/run-errors.js +17 -6
  215. package/run/run-errors.js.map +1 -1
  216. package/run/run-facts.js +5 -70
  217. package/run/run-facts.js.map +1 -1
  218. package/run/run-host-process.js +1 -40
  219. package/run/run-host-process.js.map +1 -1
  220. package/run/run-identity-schema.js +38 -0
  221. package/run/run-identity-schema.js.map +1 -0
  222. package/run/run-if-main-options.js.map +1 -1
  223. package/run/run-if-main-profile.d.ts +8 -10
  224. package/run/run-if-main-profile.d.ts.map +1 -1
  225. package/run/run-if-main-profile.js +25 -112
  226. package/run/run-if-main-profile.js.map +1 -1
  227. package/run/run-if-main.d.ts.map +1 -1
  228. package/run/run-if-main.js.map +1 -1
  229. package/run/run-in-process-execution.js +2 -0
  230. package/run/run-in-process-execution.js.map +1 -1
  231. package/run/run-input-resolution.js +11 -6
  232. package/run/run-input-resolution.js.map +1 -1
  233. package/run/run-isolated-command.js +2 -2
  234. package/run/run-isolated-command.js.map +1 -1
  235. package/run/run-isolated-process.js +12 -7
  236. package/run/run-isolated-process.js.map +1 -1
  237. package/run/run-local-command.js +23 -13
  238. package/run/run-local-command.js.map +1 -1
  239. package/run/run-local-coverage.js +16 -3
  240. package/run/run-local-coverage.js.map +1 -1
  241. package/run/run-local-execution.js.map +1 -1
  242. package/run/run-local-resolution.js +1 -3
  243. package/run/run-local-resolution.js.map +1 -1
  244. package/run/run-local-test-plan.js.map +1 -1
  245. package/run/run-orchestrator-dependencies.d.ts +4 -4
  246. package/run/run-orchestrator-dependencies.d.ts.map +1 -1
  247. package/run/run-orchestrator.d.ts +2 -2
  248. package/run/run-orchestrator.d.ts.map +1 -1
  249. package/run/run-orchestrator.js +2 -2
  250. package/run/run-orchestrator.js.map +1 -1
  251. package/run/run-ordering.js.map +1 -1
  252. package/run/run-process-engine.js.map +1 -1
  253. package/run/run-profile-facts.js +62 -0
  254. package/run/run-profile-facts.js.map +1 -0
  255. package/run/run-record-types.d.ts +5 -4
  256. package/run/run-record-types.d.ts.map +1 -1
  257. package/run/run-record-versions.js +1 -30
  258. package/run/run-record-versions.js.map +1 -1
  259. package/run/run-reporter-resolution.js +4 -1
  260. package/run/run-reporter-resolution.js.map +1 -1
  261. package/run/run-result-reporting.js.map +1 -1
  262. package/run/run-result-schema.js +65 -0
  263. package/run/run-result-schema.js.map +1 -0
  264. package/run/run-runtime-schema.js +64 -0
  265. package/run/run-runtime-schema.js.map +1 -0
  266. package/run/run-selection.js.map +1 -1
  267. package/run/run-supervised-process.js +3 -4
  268. package/run/run-supervised-process.js.map +1 -1
  269. package/run/run-support.js +5 -222
  270. package/run/run-support.js.map +1 -1
  271. package/run/run-types.d.ts +40 -166
  272. package/run/run-types.d.ts.map +1 -1
  273. package/run/run-types.js.map +1 -1
  274. package/run/run-validation.js +4 -63
  275. package/run/run-validation.js.map +1 -1
  276. package/run/run.d.ts.map +1 -1
  277. package/run/run.js +32 -16
  278. package/run/run.js.map +1 -1
  279. package/run/serialized-value-schema.js +76 -0
  280. package/run/serialized-value-schema.js.map +1 -0
  281. package/run/simulation-witness.js +38 -0
  282. package/run/simulation-witness.js.map +1 -0
  283. package/run/supervised-child-failure.js +26 -0
  284. package/run/supervised-child-failure.js.map +1 -0
  285. package/run/supervised-child-process.d.ts +3 -0
  286. package/run/supervised-child-process.d.ts.map +1 -1
  287. package/run/supervised-child-process.js +3 -1
  288. package/run/supervised-child-process.js.map +1 -1
  289. package/run/supervised-child-transport.js +125 -0
  290. package/run/supervised-child-transport.js.map +1 -0
  291. package/run/supervised-child.entry-point.js +47 -39
  292. package/run/supervised-child.entry-point.js.map +1 -1
  293. package/run/supervised-child.js +3 -3
  294. package/run/supervised-child.js.map +1 -1
  295. package/run/supervised-protocol-schema.js +42 -0
  296. package/run/supervised-protocol-schema.js.map +1 -0
  297. package/run/supervised-protocol.js.map +1 -1
  298. package/run/supervised-run-collection.js +33 -30
  299. package/run/supervised-run-collection.js.map +1 -1
  300. package/run/supervised-run-resource-policy.js.map +1 -1
  301. package/run/supervised-run-runtime.js +33 -15
  302. package/run/supervised-run-runtime.js.map +1 -1
  303. package/run/supervised-run-state.js +43 -22
  304. package/run/supervised-run-state.js.map +1 -1
  305. package/run/supervised-run.js +69 -36
  306. package/run/supervised-run.js.map +1 -1
  307. package/run/test-profile.js +21 -0
  308. package/run/test-profile.js.map +1 -0
  309. package/run/work-unit-identity.js.map +1 -1
  310. package/run/work-unit-planning.js +6 -6
  311. package/run/work-unit-planning.js.map +1 -1
  312. package/run/work-unit-resource-constraints.js +1 -1
  313. package/run/work-unit-resource-constraints.js.map +1 -1
  314. package/run/worker-pool-execution.js +2 -3
  315. package/run/worker-pool-execution.js.map +1 -1
  316. package/run/worker-pool-host-process.js +50 -20
  317. package/run/worker-pool-host-process.js.map +1 -1
  318. package/run/worker-pool-host-protocol-schema.js +80 -0
  319. package/run/worker-pool-host-protocol-schema.js.map +1 -0
  320. package/run/worker-pool-host-protocol.js.map +1 -1
  321. package/run/worker-pool-host-task.js +20 -11
  322. package/run/worker-pool-host-task.js.map +1 -1
  323. package/run/worker-pool-host-transport.js +96 -0
  324. package/run/worker-pool-host-transport.js.map +1 -0
  325. package/run/worker-pool-host.entry-point.js +43 -8
  326. package/run/worker-pool-host.entry-point.js.map +1 -1
  327. package/run/worker-pool-lanes.js.map +1 -1
  328. package/run/worker-pool-lifecycle-lanes.js.map +1 -1
  329. package/run/worker-pool-placement-planning.js.map +1 -1
  330. package/run/worker-pool-protocol.js +3 -0
  331. package/run/worker-pool-protocol.js.map +1 -1
  332. package/run/worker-pool-resource-lifecycle-execution.js +66 -1
  333. package/run/worker-pool-resource-lifecycle-execution.js.map +1 -1
  334. package/run/worker-pool-routing.js +2 -1
  335. package/run/worker-pool-routing.js.map +1 -1
  336. package/run/worker-pool-runtime.js.map +1 -1
  337. package/run/worker-pool-task-events.js +18 -15
  338. package/run/worker-pool-task-events.js.map +1 -1
  339. package/run/worker-pool-task-schema.js +61 -0
  340. package/run/worker-pool-task-schema.js.map +1 -0
  341. package/run/worker-pool-task-validation.js +1 -0
  342. package/run/worker-pool-task-validation.js.map +1 -1
  343. package/run/worker-pool-worker-resources.js +68 -0
  344. package/run/worker-pool-worker-resources.js.map +1 -1
  345. package/run/worker-pool-worker.js +11 -4
  346. package/run/worker-pool-worker.js.map +1 -1
  347. package/sbom.cdx.json +27 -44
  348. package/stored-value.js +12 -0
  349. package/stored-value.js.map +1 -0
  350. package/transcript/http-transcript-artifact.js +2 -0
  351. package/transcript/http-transcript-artifact.js.map +1 -0
  352. package/transcript/transcript-store.d.ts +1 -1
  353. package/transcript/transcript-store.d.ts.map +1 -1
  354. package/transcript/transcript-store.js +29 -3
  355. package/transcript/transcript-store.js.map +1 -1
  356. package/run/coverage-config-schema.d.ts.map +0 -1
  357. package/run/coverage-config-schema.js.map +0 -1
  358. package/run/node-process-capability-restrictions.js +0 -92
  359. package/run/node-process-capability-restrictions.js.map +0 -1
  360. package/run/profile-config-normalization.js.map +0 -1
  361. package/run/profile-file-glob.js.map +0 -1
  362. package/run/run-config-defaults.js.map +0 -1
  363. package/run/run-config-schema.d.ts.map +0 -1
  364. package/run/run-config-schema.js.map +0 -1
  365. package/run/run-config.d.ts +0 -62
  366. package/run/run-config.d.ts.map +0 -1
  367. package/run/run-config.js.map +0 -1
  368. package/run/run-execution-config.d.ts.map +0 -1
  369. package/run/work-distribution-config.js.map +0 -1
@@ -0,0 +1,78 @@
1
+ import { z } from 'zod/v4';
2
+ import { serializedPropertyKeySchema, serializedValueSchema } from "./serialized-value-schema.js";
3
+ export const diffPathSchema = z.array(z.discriminatedUnion('kind', [
4
+ z.strictObject({ kind: z.literal('byte'), offset: z.number() }),
5
+ z.strictObject({ kind: z.literal('index'), index: z.number() }),
6
+ z.strictObject({ kind: z.enum(['map-key', 'map-value']), key: serializedValueSchema }),
7
+ z.strictObject({ kind: z.literal('property'), key: serializedPropertyKeySchema }),
8
+ z.strictObject({ kind: z.literal('set-value'), value: serializedValueSchema })
9
+ ]));
10
+ const add = z.strictObject({ operation: z.literal('add'), path: diffPathSchema, value: serializedValueSchema });
11
+ const remove = z.strictObject({ operation: z.literal('remove'), path: diffPathSchema, value: serializedValueSchema });
12
+ const replace = z.strictObject({
13
+ operation: z.literal('replace'),
14
+ path: diffPathSchema,
15
+ from: serializedValueSchema,
16
+ to: serializedValueSchema
17
+ });
18
+ const member = z.strictObject({ operation: z.literal('missing-member'), value: serializedValueSchema });
19
+ export const diffSchema = z.discriminatedUnion('kind', [
20
+ z.strictObject({
21
+ kind: z.literal('array'),
22
+ operations: z.array(z.union([
23
+ add,
24
+ remove,
25
+ replace,
26
+ member,
27
+ z.strictObject({ operation: z.literal('missing-index'), index: z.number(), value: serializedValueSchema })
28
+ ]))
29
+ }),
30
+ z.strictObject({
31
+ kind: z.literal('map'),
32
+ operations: z.array(z.union([
33
+ add,
34
+ remove,
35
+ replace,
36
+ z.strictObject({
37
+ operation: z.literal('missing-entry'),
38
+ key: serializedValueSchema,
39
+ value: serializedValueSchema
40
+ })
41
+ ]))
42
+ }),
43
+ z.strictObject({
44
+ kind: z.literal('object'),
45
+ operations: z.array(z.union([
46
+ add,
47
+ remove,
48
+ replace,
49
+ z.strictObject({
50
+ operation: z.literal('missing-property'),
51
+ path: diffPathSchema,
52
+ value: serializedValueSchema
53
+ })
54
+ ]))
55
+ }),
56
+ z.strictObject({ kind: z.literal('set'), operations: z.array(z.union([add, remove, member])) }),
57
+ z.strictObject({
58
+ kind: z.literal('binary'),
59
+ actualHash: z.string(),
60
+ actualSize: z.number(),
61
+ expectedHash: z.string(),
62
+ expectedSize: z.number(),
63
+ ranges: z.array(z.strictObject({ actual: z.array(z.number()), expected: z.array(z.number()), offset: z.number() }))
64
+ }),
65
+ z.strictObject({
66
+ kind: z.literal('string'),
67
+ actual: z.string(),
68
+ expected: z.string(),
69
+ hunks: z.array(z.strictObject({
70
+ actualStart: z.number(),
71
+ added: z.array(z.string()),
72
+ expectedStart: z.number(),
73
+ removed: z.array(z.string())
74
+ }))
75
+ }),
76
+ z.strictObject({ kind: z.literal('value'), actual: serializedValueSchema, expected: serializedValueSchema })
77
+ ]);
78
+ //# sourceMappingURL=diff-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-schema.js","sourceRoot":"","sources":["../../../../source/run/diff-schema.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ const metadataSchema = z
44
44
  ]),
45
45
  profile: z.string(),
46
46
  scheduling: z.union([z.literal('concurrent'), z.literal('serial')]),
47
- testFamily: z.union([z.literal('integration'), z.literal('microtest')]),
47
+ testFamily: z.enum(['benchmark', 'integration', 'microtest']),
48
48
  workerLifecycle: z.union([z.literal('fresh-worker-per-unit'), z.literal('reuse')]).nullable()
49
49
  })
50
50
  .readonly();
@@ -1 +1 @@
1
- {"version":3,"file":"duration-history-schema.js","sourceRoot":"","sources":["../../../../source/run/duration-history-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duration-history-schema.js","sourceRoot":"","sources":["../../../../source/run/duration-history-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAC5C,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvE,MAAM,YAAY,GAAG,CAAC;KACjB,YAAY,CAAC;IACV,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,eAAe,GAAG,CAAC;KACpB,YAAY,CAAC;IACV,UAAU,EAAE,kBAAkB;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,qBAAqB,GAAG,CAAC;KAC1B,YAAY,CAAC;IACV,UAAU,EAAE,kBAAkB;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,QAAQ,EAAE;KACV,SAAS,CAAC,SAAS,mBAAmB,CAAC,OAAO;IAC3C,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC;AACP,MAAM,gBAAgB,GAAG,CAAC;KACrB,YAAY,CAAC;IACV,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,kBAAkB;CAC7B,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,cAAc,GAAG,CAAC;KACnB,YAAY,CAAC;IACV,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACvB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAE,CAAC;IACrE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAE,CAAC;IAC/D,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAE,CAAC,CAAC,QAAQ,EAAE;CAClG,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,wBAAwB,GAAG,CAAC;KAC7B,YAAY,CAAC;IACV,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC/C,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,uBAAuB,GAAG,CAAC;KAC5B,YAAY,CAAC;IACV,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC/C,CAAC;KACD,QAAQ,EAAE;KACV,SAAS,CAAC,SAAS,wBAAwB,CAAC,WAAW;IACpD,OAAO;QACH,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,GAAG,0BAA0B;QACnF,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,UAAU,EAAE,WAAW,CAAC,UAAU;KACrC,CAAC;AACN,CAAC,CAAC,CAAC;AACP,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAE,wBAAwB,EAAE,uBAAuB,CAAE,CAAC,CAAC;AAEzF,MAAM,YAAY,GAAG,CAAC;KACjB,YAAY,CAAC;IACV,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,kBAAkB,GAAG,CAAC;KACvB,YAAY,CAAC;IACV,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,WAAW,GAAG,CAAC;KAChB,YAAY,CAAC;IACV,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,YAAY;CACrB,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,iBAAiB,GAAG,CAAC;KACtB,YAAY,CAAC;IACV,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,kBAAkB;CAC3B,CAAC;KACD,QAAQ,EAAE,CAAC;AAOhB,MAAM,kBAAkB,GAAG,CAAC;KACvB,YAAY,CAAC;IACV,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;CAClD,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,iBAAiB,GAAG,CAAC;KACtB,YAAY,CAAC;IACV,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IAC9C,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC;CACxD,CAAC;KACD,QAAQ,EAAE;KACV,SAAS,CAAC,SAAS,YAAY,CAAC,KAAK;IAClC,OAAO;QACH,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,2BAA2B;KACvC,CAAC;AACN,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,CAAE,kBAAkB,EAAE,iBAAiB,CAAE,CAAC,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { workIdentityKey } from "../engine/identity.js";
2
+ import { createStoredValue } from "../stored-value.js";
3
+ function isFailureVerdict(verdict) {
4
+ return verdict !== undefined && verdict !== 'pass' && verdict !== 'skip';
5
+ }
6
+ function interruptedArtifact(artifact) {
7
+ const { content } = artifact.payload;
8
+ return (content.kind === 'text' || content.kind === 'file') && content.completion.kind === 'incomplete' &&
9
+ content.completion.reason === 'interrupted';
10
+ }
11
+ function attemptEvidenceRetained(state, writer, condition) {
12
+ const key = `${workIdentityKey(condition.work)}:${condition.attempt.index}`;
13
+ const verdict = state.verdicts.get(`${writer.branch}:${key}`) ?? state.verdicts.get(`null:${key}`);
14
+ if (verdict !== undefined) {
15
+ return isFailureVerdict(verdict);
16
+ }
17
+ return state.failedRun.read() && (state.interruptedRun.read() || interruptedArtifact(writer.artifact()));
18
+ }
19
+ function consumerEvidenceRetained(state, branch, work) {
20
+ const prefix = `${branch}:${work}:`;
21
+ const verdicts = Array.from(state.verdicts).filter(function matchingConsumer([key]) {
22
+ return key.startsWith(prefix);
23
+ });
24
+ return verdicts.some(function failedAttempt(entry) {
25
+ return isFailureVerdict(entry[1]);
26
+ }) || verdicts.length === 0 && state.interruptedRun.read();
27
+ }
28
+ function failureArtifactRetained(state, writer) {
29
+ const artifact = writer.artifact();
30
+ if (artifact.payload.capture !== 'automatic') {
31
+ return true;
32
+ }
33
+ const { condition } = artifact.payload.retention;
34
+ if (condition.kind === 'attempt') {
35
+ return attemptEvidenceRetained(state, writer, condition);
36
+ }
37
+ return state.resourceFailures.has(`${writer.channel}:${condition.boundary}`) ||
38
+ Array.from(state.consumers.get(`${writer.channel}:${condition.boundary}`) ?? []).some(function failedConsumer(work) {
39
+ return consumerEvidenceRetained(state, writer.branch, work);
40
+ });
41
+ }
42
+ export function createFailureArtifactRetention() {
43
+ const state = {
44
+ verdicts: new Map(),
45
+ resourceFailures: new Set(),
46
+ consumers: new Map(),
47
+ failedRun: createStoredValue(false),
48
+ interruptedRun: createStoredValue(false)
49
+ };
50
+ return {
51
+ consume(channel, boundary, work) {
52
+ const key = `${channel}:${boundary}`;
53
+ state.consumers.set(key, new Set([...state.consumers.get(key) ?? [], workIdentityKey(work)]));
54
+ },
55
+ markResourceFailure(channel, boundary) {
56
+ state.resourceFailures.add(`${channel}:${boundary}`);
57
+ },
58
+ settleAttempt(work, attempt, verdict, branch) {
59
+ state.verdicts.set(`${branch}:${workIdentityKey(work)}:${attempt.index}`, verdict);
60
+ },
61
+ settleResult(result) {
62
+ state.failedRun.write(result.status === 'failed');
63
+ state.interruptedRun.write(result.runnerErrors.some(function ownerCrash(error) {
64
+ return error.subtype === 'crash' || error.subtype === 'resource-exhaustion';
65
+ }));
66
+ for (const entry of result.perTest) {
67
+ for (const attempt of entry.attempts) {
68
+ state.verdicts.set(`null:${workIdentityKey(entry.workId)}:${attempt.attempt.index}`, attempt.verdict);
69
+ }
70
+ }
71
+ },
72
+ retains: failureArtifactRetained.bind(null, state),
73
+ interrupted: state.interruptedRun.read
74
+ };
75
+ }
76
+ //# sourceMappingURL=failure-artifact-retention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-artifact-retention.js","sourceRoot":"","sources":["../../../../source/run/failure-artifact-retention.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,13 @@ function forkSupervisedChildProcess(modulePath, childArguments, options) {
15
15
  stdio: Array.from(options.stdio)
16
16
  });
17
17
  return {
18
+ closeTransport() {
19
+ child.stdout?.destroy();
20
+ child.stderr?.destroy();
21
+ if (child.connected) {
22
+ child.disconnect();
23
+ }
24
+ },
18
25
  get exitCode() {
19
26
  return child.exitCode;
20
27
  },
@@ -26,7 +33,7 @@ function forkSupervisedChildProcess(modulePath, childArguments, options) {
26
33
  if (event === 'error') {
27
34
  return child.on(event, listener);
28
35
  }
29
- if (event === 'exit') {
36
+ if (event === 'message') {
30
37
  return child.on(event, listener);
31
38
  }
32
39
  return child.on(event, listener);
@@ -1 +1 @@
1
- {"version":3,"file":"node-child-process-starters.js","sourceRoot":"","sources":["../../../../source/run/node-child-process-starters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACH,yBAAyB,EAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,aAAa,EAChB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,mCAAmC,EAEtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,kCAAkC,EACrC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,sBAAsB,GAAG,aAAa,CAAC,yBAAyB,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AASlE,SAAS,0BAA0B,CAC/B,UAAkB,EAClB,cAAiC,EACjC,OAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACvD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC;IAEH,OAAO;QACH,IAAI,QAAQ;YACR,OAAO,KAAK,CAAC,QAAQ,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM;YACP,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,EAAE,CAAC,GAAG,YAAY;YACd,MAAM,CAAE,KAAK,EAAE,QAAQ,CAAE,GAAG,YAAY,CAAC;YAEzC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,GAAG;YACH,OAAO,KAAK,CAAC,GAAG,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,OAAO;YACR,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU;YACV,OAAO,KAAK,CAAC,UAAU,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;IACpE,gBAAgB;IAChB,sBAAsB;IACtB,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kCAAkC,CAAC;IAClE,sBAAsB;IACtB,IAAI,EAAE,0BAA0B;CACnC,CAAC,CAAC"}
1
+ {"version":3,"file":"node-child-process-starters.js","sourceRoot":"","sources":["../../../../source/run/node-child-process-starters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACH,yBAAyB,EAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,aAAa,EAChB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,mCAAmC,EAEtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,kCAAkC,EACrC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,sBAAsB,GAAG,aAAa,CAAC,yBAAyB,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AASlE,SAAS,0BAA0B,CAC/B,UAAkB,EAClB,cAAiC,EACjC,OAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACvD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC;IAEH,OAAO;QACH,cAAc;YACV,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,KAAK,CAAC,UAAU,EAAE,CAAC;YACvB,CAAC;QACL,CAAC;QACD,IAAI,QAAQ;YACR,OAAO,KAAK,CAAC,QAAQ,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM;YACP,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,EAAE,CAAC,GAAG,YAAY;YACd,MAAM,CAAE,KAAK,EAAE,QAAQ,CAAE,GAAG,YAAY,CAAC;YAEzC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,GAAG;YACH,OAAO,KAAK,CAAC,GAAG,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,OAAO;YACR,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU;YACV,OAAO,KAAK,CAAC,UAAU,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;IACpE,gBAAgB;IAChB,sBAAsB;IACtB,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kCAAkC,CAAC;IAClE,sBAAsB;IACtB,IAAI,EAAE,0BAA0B;CACnC,CAAC,CAAC"}
@@ -6,7 +6,7 @@ type NodeCommandLineStartSupervisedChild = CurrentProcessRunOrchestratorDependen
6
6
  type NodeCommandLineStartWorkerPoolHost = CurrentProcessRunOrchestratorDependencies['startWorkerPoolHost'];
7
7
  type NodeCommandLineRunnerDependencies = {
8
8
  readonly discoverRunFilesWithProjectRoot: NodeCommandLineRunDiscovery;
9
- readonly loadRunConfig: CommandLineRunnerDependencies['loadRunConfig'];
9
+ readonly loadConfig: CommandLineRunnerDependencies['loadConfig'];
10
10
  readonly loadRunEngineModule: CurrentProcessRunOrchestratorDependencies['loadRunEngineModule'];
11
11
  readonly loadRunTestModules: CurrentProcessRunOrchestratorDependencies['loadRunTestModules'];
12
12
  readonly startSupervisedChild: NodeCommandLineStartSupervisedChild;
@@ -1 +1 @@
1
- {"version":3,"file":"node-command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/node-command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEH,KAAK,yCAAyC,EACjD,MAAM,uCAAuC,CAAC;AAM/C,KAAK,2BAA2B,GAAG,yCAAyC,CAAC,iCAAiC,CAAC,CAAC;AAChH,KAAK,mCAAmC,GAAG,yCAAyC,CAAC,sBAAsB,CAAC,CAAC;AAC7G,KAAK,kCAAkC,GAAG,yCAAyC,CAAC,qBAAqB,CAAC,CAAC;AAE3G,KAAK,iCAAiC,GAAG;IACrC,QAAQ,CAAC,+BAA+B,EAAE,2BAA2B,CAAC;IACtE,QAAQ,CAAC,aAAa,EAAE,6BAA6B,CAAC,eAAe,CAAC,CAAC;IACvE,QAAQ,CAAC,mBAAmB,EAAE,yCAAyC,CAAC,qBAAqB,CAAC,CAAC;IAC/F,QAAQ,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,oBAAoB,CAAC,CAAC;IAC7F,QAAQ,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;IACnE,QAAQ,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,4BAA4B,GAAG;IACpE,QAAQ,CAAC,YAAY,EAAE,iCAAiC,CAAC;CAC5D,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,GAAG,iBAAiB,CAchG"}
1
+ {"version":3,"file":"node-command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/node-command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEH,KAAK,yCAAyC,EACjD,MAAM,uCAAuC,CAAC;AAK/C,KAAK,2BAA2B,GAAG,yCAAyC,CAAC,iCAAiC,CAAC,CAAC;AAChH,KAAK,mCAAmC,GAAG,yCAAyC,CAAC,sBAAsB,CAAC,CAAC;AAC7G,KAAK,kCAAkC,GAAG,yCAAyC,CAAC,qBAAqB,CAAC,CAAC;AAE3G,KAAK,iCAAiC,GAAG;IACrC,QAAQ,CAAC,+BAA+B,EAAE,2BAA2B,CAAC;IACtE,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACjE,QAAQ,CAAC,mBAAmB,EAAE,yCAAyC,CAAC,qBAAqB,CAAC,CAAC;IAC/F,QAAQ,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,oBAAoB,CAAC,CAAC;IAC7F,QAAQ,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;IACnE,QAAQ,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,4BAA4B,GAAG;IACpE,QAAQ,CAAC,YAAY,EAAE,iCAAiC,CAAC;CAC5D,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,GAAG,iBAAiB,CAwBhG"}
@@ -1,19 +1,27 @@
1
1
  import { createCommandLineRunner, loadDefaultLineReporter } from "./command-line-runner.js";
2
2
  import { createCurrentProcessRunOrchestrator } from "./current-process-run-orchestrator.js";
3
- import { loadUnimplementedBaselineCommands, loadUnimplementedBenchmarkCommands } from "./command-line-unimplemented-commands.js";
3
+ import { loadUnimplementedBaselineCommands } from "./command-line-unimplemented-commands.js";
4
4
  export function createNodeCommandLineRunner(input) {
5
+ const orchestrator = createCurrentProcessRunOrchestrator(input.defaultEngine, {
6
+ discoverRunFilesWithProjectRoot: input.dependencies.discoverRunFilesWithProjectRoot,
7
+ loadRunEngineModule: input.dependencies.loadRunEngineModule,
8
+ loadRunTestModules: input.dependencies.loadRunTestModules,
9
+ startSupervisedChild: input.dependencies.startSupervisedChild,
10
+ startWorkerPoolHost: input.dependencies.startWorkerPoolHost
11
+ });
5
12
  return createCommandLineRunner({
6
13
  createDefaultReporter: loadDefaultLineReporter,
7
14
  loadBaselineCommands: loadUnimplementedBaselineCommands,
8
- loadBenchmarkCommands: loadUnimplementedBenchmarkCommands,
9
- loadRunConfig: input.dependencies.loadRunConfig,
10
- orchestrator: createCurrentProcessRunOrchestrator(input.defaultEngine, {
11
- discoverRunFilesWithProjectRoot: input.dependencies.discoverRunFilesWithProjectRoot,
12
- loadRunEngineModule: input.dependencies.loadRunEngineModule,
13
- loadRunTestModules: input.dependencies.loadRunTestModules,
14
- startSupervisedChild: input.dependencies.startSupervisedChild,
15
- startWorkerPoolHost: input.dependencies.startWorkerPoolHost
16
- })
15
+ async loadBenchmarkCommands() {
16
+ const { createBenchmarkCommands } = await import("./benchmark-commands.js");
17
+ return createBenchmarkCommands({
18
+ createDefaultReporter: loadDefaultLineReporter,
19
+ loadConfig: input.dependencies.loadConfig,
20
+ orchestrator
21
+ });
22
+ },
23
+ loadConfig: input.dependencies.loadConfig,
24
+ orchestrator
17
25
  });
18
26
  }
19
27
  //# sourceMappingURL=node-command-line-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/node-command-line-runner.ts"],"names":[],"mappings":"AACA,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EAG1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,mCAAmC,EAEtC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,iCAAiC,EACjC,kCAAkC,EACrC,MAAM,0CAA0C,CAAC;AAuBlD,MAAM,UAAU,2BAA2B,CAAC,KAAiC;IACzE,OAAO,uBAAuB,CAAC;QAC3B,qBAAqB,EAAE,uBAAuB;QAC9C,oBAAoB,EAAE,iCAAiC;QACvD,qBAAqB,EAAE,kCAAkC;QACzD,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa;QAC/C,YAAY,EAAE,mCAAmC,CAAC,KAAK,CAAC,aAAa,EAAE;YACnE,+BAA+B,EAAE,KAAK,CAAC,YAAY,CAAC,+BAA+B;YACnF,mBAAmB,EAAE,KAAK,CAAC,YAAY,CAAC,mBAAmB;YAC3D,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,kBAAkB;YACzD,oBAAoB,EAAE,KAAK,CAAC,YAAY,CAAC,oBAAoB;YAC7D,mBAAmB,EAAE,KAAK,CAAC,YAAY,CAAC,mBAAmB;SAC9D,CAAC;KACL,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"node-command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/node-command-line-runner.ts"],"names":[],"mappings":"AACA,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EAG1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,mCAAmC,EAEtC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,iCAAiC,EACpC,MAAM,0CAA0C,CAAC;AAuBlD,MAAM,UAAU,2BAA2B,CAAC,KAAiC;IACzE,MAAM,YAAY,GAAG,mCAAmC,CAAC,KAAK,CAAC,aAAa,EAAE;QAC1E,+BAA+B,EAAE,KAAK,CAAC,YAAY,CAAC,+BAA+B;QACnF,mBAAmB,EAAE,KAAK,CAAC,YAAY,CAAC,mBAAmB;QAC3D,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,kBAAkB;QACzD,oBAAoB,EAAE,KAAK,CAAC,YAAY,CAAC,oBAAoB;QAC7D,mBAAmB,EAAE,KAAK,CAAC,YAAY,CAAC,mBAAmB;KAC9D,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC;QAC3B,qBAAqB,EAAE,uBAAuB;QAC9C,oBAAoB,EAAE,iCAAiC;QACvD,KAAK,CAAC,qBAAqB;YACvB,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAE5E,OAAO,uBAAuB,CAAC;gBAC3B,qBAAqB,EAAE,uBAAuB;gBAC9C,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;gBACzC,YAAY;aACf,CAAC,CAAC;QACP,CAAC;QACD,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;QACzC,YAAY;KACf,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { writeSync } from 'node:fs';
2
+ import { formatCaseId } from "../engine/identity.js";
3
+ export function observeProcessIpcListeners(processObject, record, ownedListeners) {
4
+ function observeListener(event, listener) {
5
+ if (event === 'message' && !ownedListeners.has(listener)) {
6
+ try {
7
+ record('Runtime policy violation: process message listener was registered.');
8
+ }
9
+ catch {
10
+ }
11
+ }
12
+ }
13
+ processObject.on('newListener', observeListener);
14
+ return function stopObservingIpcListeners() {
15
+ processObject.removeListener('newListener', observeListener);
16
+ };
17
+ }
18
+ const stderrDescriptor = 2;
19
+ const exitDiagnosticLimit = 4096;
20
+ function writeExitDiagnostic(record) {
21
+ const error = record('Runtime policy violation: process exited before restricted execution completed.');
22
+ const attribution = error.attributedTo === null ? '' : ` Case: ${formatCaseId(error.attributedTo)}.`;
23
+ const attempt = error.attributedToAttempt === null ? '' : ` Attempt: ${error.attributedToAttempt.index}.`;
24
+ // eslint-disable-next-line node/no-sync -- Exit listeners cannot flush asynchronous writes.
25
+ writeSync(stderrDescriptor, Buffer.from(`${error.message}${attribution}${attempt}\n`).subarray(0, exitDiagnosticLimit));
26
+ }
27
+ export function observeProcessExit(record) {
28
+ function reportPrematureExit(code) {
29
+ if (code === 0) {
30
+ process.exitCode = 1;
31
+ }
32
+ try {
33
+ writeExitDiagnostic(record);
34
+ }
35
+ catch {
36
+ }
37
+ }
38
+ process.on('exit', reportPrematureExit);
39
+ return function stopObservingProcessExit() {
40
+ process.removeListener('exit', reportPrematureExit);
41
+ };
42
+ }
43
+ //# sourceMappingURL=node-process-policy-observation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-process-policy-observation.js","sourceRoot":"","sources":["../../../../source/run/node-process-policy-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,MAAM,UAAU,0BAA0B,CACtC,aAA4B,EAC5B,MAAiC,EACjC,cAA6D;IAE7D,SAAS,eAAe,CAAC,KAAsB,EAAE,QAAoC;QACjF,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC;gBACD,MAAM,CAAC,oEAAoE,CAAC,CAAC;YACjF,CAAC;YAAC,MAAM,CAAC;YACT,CAAC;QACL,CAAC;IACL,CAAC;IAED,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAEjD,OAAO,SAAS,yBAAyB;QACrC,aAAa,CAAC,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACjE,CAAC,CAAC;AACN,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,SAAS,mBAAmB,CAAC,MAAwC;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,iFAAiF,CAAC,CAAC;IACxG,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;IACrG,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,mBAAmB,CAAC,KAAK,GAAG,CAAC;IAC1G,4FAA4F;IAC5F,SAAS,CACL,gBAAgB,EAChB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,WAAW,GAAG,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAC7F,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,MAAwC;IAExC,SAAS,mBAAmB,CAAC,IAAY;QACrC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACD,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;QACT,CAAC;IACL,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAExC,OAAO,SAAS,wBAAwB;QACpC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACxD,CAAC,CAAC;AACN,CAAC"}
@@ -92,6 +92,9 @@ export function createPermissionDenialRuntimePolicy() {
92
92
  tryRecordPermissionError(record, error);
93
93
  });
94
94
  return {
95
+ async prepareAttempt() {
96
+ return undefined;
97
+ },
95
98
  async completeCase() {
96
99
  return undefined;
97
100
  },
@@ -1 +1 @@
1
- {"version":3,"file":"permission-denial-runtime-policy.js","sourceRoot":"","sources":["../../../../source/run/permission-denial-runtime-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAA4C,MAAM,uBAAuB,CAAC;AAClG,OAAO,EACH,yCAAyC,EAI5C,MAAM,yBAAyB,CAAC;AAmBjC,MAAM,iCAAiC,GAAqC;IACxE,6BAA6B,EAAE,eAAe;IAC9C,2BAA2B,EAAE,QAAQ;IACrC,0BAA0B,EAAE,SAAS;IACrC,iCAAiC,EAAE,WAAW;IAC9C,2BAA2B,EAAE,KAAK;IAClC,qCAAqC,EAAE,eAAe;IACtD,4BAA4B,EAAE,MAAM;IACpC,8BAA8B,EAAE,QAAQ;CAC3C,CAAC;AAEF,SAAS,0BAA0B,CAAC,YAAqB;IACrD,OAAO,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC1C,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;AACpG,CAAC;AAED,SAAS,+BAA+B,CACpC,gBAA4C;IAE5C,OAAO,SAAS,sBAAsB,CAAC,OAAO;QAC1C,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CACtB,UAAmD,EACnD,IAAY,EACZ,KAA6C;IAE7C,OAAO;QACH,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,IAAI;QACpC,gBAAgB,EAAE,UAAU,EAAE,MAAM,IAAI,IAAI;QAC5C,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;QACvB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM;KACrD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wCAAwC,CACpD,iBAAiE,EACjE,KAA6C,EAC7C,WAAyC;IAEzC,OAAO,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,SAAS,4BAA4B,CAC9F,CAAE,IAAI,EAAE,UAAU,CAAE;QAEpB,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,+BAA+B,CAAC,SAAS,gBAAgB,CAAC,OAAgB;YACvF,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAEhD,MAAM,KAAK,GAAG,yCAAyC,CAAC;gBACpD,OAAO,EAAE,IAAI;gBACb,kBAAkB,EAAE,UAAU;gBAC9B,OAAO;aACV,EAAE,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/C,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO;YACH,WAAW;gBACP,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB,CAC1B,iBAAiE,EACjE,KAA2B,EAC3B,KAAkB;IAElB,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IAEhD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO;IACX,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAoC,EAAE,KAAkB;IACtF,IAAI,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;IACT,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mCAAmC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAA+B,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IACpD,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG;QACV,eAAe,CAAC,GAAW,EAAE,KAAkB;YAC3C,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAE,CAAC,CAAC;QACjE,CAAC;QACD,cAAc,CAAC,KAAkB;YAC7B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;KACJ,CAAC;IACF,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,MAAM,GAAG,SAAS,WAAW,CAAC,KAAkB;QAClD,qBAAqB,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,wCAAwC,CAC1D,iBAAiB,EACjB,SAAS,iCAAiC;QACtC,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC,EACD,SAAS,qBAAqB,CAAC,KAAK;QAChC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC,CACJ,CAAC;IAEF,OAAO;QACH,KAAK,CAAC,YAAY;YACd,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG;YACnC,YAAY,GAAG,IAAI,CAAC;YAEpB,OAAO,MAAM,iBAAiB,CAAC,GAAG,CAAC;gBAC/B,OAAO;gBACP,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,GAAG,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE;gBAC3D,MAAM,EAAE,QAAQ,CAAC,MAAM;aAC1B,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAG;YACb,IAAI,CAAC;gBACD,OAAO,MAAM,GAAG,EAAE,CAAC;YACvB,CAAC;oBAAS,CAAC;gBACP,YAAY,GAAG,IAAI,CAAC;YACxB,CAAC;QACL,CAAC;QACD,iBAAiB,CAAC,QAAQ,EAAE,OAAO;YAC/B,MAAM,GAAG,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACzC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEvB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,oBAAoB;YAChB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAErB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,aAAa;YACT,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACvC,YAAY,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAErB,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"permission-denial-runtime-policy.js","sourceRoot":"","sources":["../../../../source/run/permission-denial-runtime-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod/v4';
2
+ import { createDefaultWorkId } from "../engine/identity.js";
3
+ import { annotationsSchema, caseIdSchema, sourceLocationsSchema, suitePathSchema, workIdSchema } from "./run-identity-schema.js";
4
+ import { runResultSchema, runnerErrorSchema } from "./run-result-schema.js";
5
+ import { runArtifactSchema, verdictSchema } from "./run-artifact-schema.js";
6
+ import { testOutcomeSchema } from "./assertion-result-schema.js";
7
+ const testFields = {
8
+ attempt: z.number(),
9
+ case: caseIdSchema,
10
+ definitionLocations: sourceLocationsSchema,
11
+ suitePath: suitePathSchema,
12
+ workId: workIdSchema.optional()
13
+ };
14
+ const eventSchema = z.discriminatedUnion('kind', [
15
+ z.strictObject({
16
+ kind: z.literal('run-start'),
17
+ facts: z.record(z.string(), z.unknown()),
18
+ root: z.strictObject({ annotations: annotationsSchema, title: z.string() }),
19
+ startedAt: z.string()
20
+ }),
21
+ z.strictObject({ kind: z.literal('run-end'), result: runResultSchema }),
22
+ z.strictObject({ kind: z.literal('runner-error'), error: runnerErrorSchema }),
23
+ z.strictObject({ kind: z.enum(['suite-start', 'suite-end']), suitePath: suitePathSchema }),
24
+ z.strictObject({ ...testFields, kind: z.literal('test-start') }),
25
+ z.strictObject({ ...testFields, kind: z.literal('test-progress'), note: z.string() }),
26
+ z.strictObject({
27
+ ...testFields,
28
+ kind: z.literal('test-end'),
29
+ completion: z.enum(['final', 'retry']),
30
+ artifacts: z.array(runArtifactSchema),
31
+ outcome: testOutcomeSchema.nullable(),
32
+ verdict: verdictSchema,
33
+ durationMicroseconds: z.number()
34
+ })
35
+ ]);
36
+ function hasCaseIdentity(event) {
37
+ return Object.hasOwn(event, 'case');
38
+ }
39
+ export const reporterEventSchema = eventSchema.transform(function normalizeWorkIdentity(event) {
40
+ return hasCaseIdentity(event) ? { ...event, workId: event.workId ?? createDefaultWorkId(event.case) } : event;
41
+ });
42
+ //# sourceMappingURL=reporter-event-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter-event-schema.js","sourceRoot":"","sources":["../../../../source/run/reporter-event-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { copyResourceBudgets } from "../config/snapshot.js";
2
+ import { copyRunSelection } from "./run-selection-filters.js";
3
+ function copyRunShard(shard) {
4
+ return {
5
+ index: shard.index,
6
+ total: shard.total
7
+ };
8
+ }
9
+ function copyResourceBudgetOverrides(overrides) {
10
+ if (overrides === null) {
11
+ return null;
12
+ }
13
+ return copyResourceBudgets(overrides);
14
+ }
15
+ export function copyRunRequest(request) {
16
+ return {
17
+ baselineUpdateMode: request.baselineUpdateMode,
18
+ capabilityRestrictions: { mode: request.capabilityRestrictions.mode },
19
+ capture: request.capture,
20
+ coverage: request.coverage,
21
+ debug: {
22
+ mode: request.debug.mode,
23
+ selectors: []
24
+ },
25
+ execution: { mode: request.execution.mode },
26
+ measureResourceUsage: request.measureResourceUsage,
27
+ order: request.order,
28
+ paths: Array.from(request.paths),
29
+ profile: request.profile,
30
+ resourceBudgetOverrides: copyResourceBudgetOverrides(request.resourceBudgetOverrides),
31
+ resourceUsageSamplingIntervalMilliseconds: request.resourceUsageSamplingIntervalMilliseconds,
32
+ seed: { value: request.seed.value },
33
+ selection: copyRunSelection(request.selection),
34
+ shard: copyRunShard(request.shard),
35
+ timingCollection: request.timingCollection,
36
+ verbose: request.verbose,
37
+ workers: request.workers
38
+ };
39
+ }
40
+ //# sourceMappingURL=request-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-snapshot.js","sourceRoot":"","sources":["../../../../source/run/request-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,SAAS,YAAY,CAAC,KAAe;IACjC,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;KACrB,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAiC;IAClE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAmB;IAC9C,OAAO;QACH,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE;QACrE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE;YACH,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YACxB,SAAS,EAAE,EAAE;SAChB;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,uBAAuB,EAAE,2BAA2B,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACrF,yCAAyC,EAAE,OAAO,CAAC,yCAAyC;QAC5F,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;QACnC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC;AACN,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { AttachmentOperationError } from "./attachment-failure.js";
2
+ export function resourceDisposalCauses(error) {
3
+ if (error instanceof AggregateError) {
4
+ const causes = error.errors;
5
+ return causes.flatMap(resourceDisposalCauses);
6
+ }
7
+ return [error];
8
+ }
9
+ function resourceDisposalError(error) {
10
+ if (error instanceof AttachmentOperationError) {
11
+ const failure = error.take();
12
+ return failure === null ? [] : [failure];
13
+ }
14
+ return [{
15
+ attributedToAttempt: null,
16
+ attributedTo: null,
17
+ attributedToWork: null,
18
+ cause: error,
19
+ diagnostics: [],
20
+ message: 'Resource disposal failed.',
21
+ subtype: 'runtime-policy'
22
+ }];
23
+ }
24
+ export function resourceDisposalErrors(error) {
25
+ return resourceDisposalCauses(error).flatMap(resourceDisposalError);
26
+ }
27
+ //# sourceMappingURL=resource-disposal-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-disposal-error.js","sourceRoot":"","sources":["../../../../source/run/resource-disposal-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QAClC,MAAM,MAAM,GAAuB,KAAK,CAAC,MAAM,CAAC;QAChD,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAE,KAAK,CAAE,CAAC;AACrB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,OAAO,CAAE,CAAC;IAC/C,CAAC;IACD,OAAO,CAAE;YACL,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE,IAAI;YACtB,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,gBAAgB;SAC5B,CAAE,CAAC;AACR,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACjD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { preparedResourceAttachments } from "../packages/resources/attachment-context.entry-point.js";
2
+ import { runWithTranscriptScope } from "../transcript/transcript-store.js";
3
+ import { prepareResourceFailureArtifacts } from "../resources/failure-artifacts.js";
4
+ import { resolvedResourceScenarioBindings } from "../resources/resource-scenario-binding.js";
5
+ import { AttachmentOperationError } from "./attachment-failure.js";
6
+ import { simulationWitnessAttachments } from "./simulation-witness.js";
7
+ function attemptScenarioBindings(record, testCase) {
8
+ const selected = Object.fromEntries(testCase.workId.runtimes.flatMap(function runtimeScenarios(runtime) {
9
+ return Object.entries(runtime.scenarios);
10
+ }));
11
+ return Object.fromEntries(Object.entries(resolvedResourceScenarioBindings(record.descriptor)).map(function resolvedSlot([name, value]) {
12
+ return [name, selected[name] ?? value];
13
+ }));
14
+ }
15
+ export async function prepareAttemptResource(record, testCase, attempt) {
16
+ if (record.external) {
17
+ return;
18
+ }
19
+ const attachments = preparedResourceAttachments(record.descriptor.name, {
20
+ kind: 'attempt',
21
+ work: testCase.workId,
22
+ attempt
23
+ }, 'instrumented', 'attachment');
24
+ if (attachments === null) {
25
+ return;
26
+ }
27
+ const controller = new AbortController();
28
+ await prepareResourceFailureArtifacts(record.descriptor, {
29
+ kind: 'attempt',
30
+ handle: record.ownerHandle,
31
+ resource: record.descriptor.name,
32
+ scenarios: attemptScenarioBindings(record, testCase),
33
+ signal: controller.signal,
34
+ work: testCase.workId,
35
+ attempt,
36
+ attachments: simulationWitnessAttachments(attachments, record.descriptor.name, testCase.workId, attempt)
37
+ });
38
+ }
39
+ async function prepareLifetimeCapture(record, capture) {
40
+ try {
41
+ await runWithTranscriptScope(null, async function prepareLifetimeEvidence() {
42
+ await prepareResourceFailureArtifacts(record.descriptor, capture);
43
+ });
44
+ }
45
+ catch (error) {
46
+ throw new AttachmentOperationError('Failure artifact preparation failed.', {
47
+ cause: { resource: record.descriptor.name, cause: error },
48
+ drift: false,
49
+ subtype: 'artifact',
50
+ owner: { kind: 'run' }
51
+ });
52
+ }
53
+ }
54
+ export async function prepareLifetimeResource(record) {
55
+ if (record.external || record.descriptor.scope === 'per-case') {
56
+ return;
57
+ }
58
+ const attachments = preparedResourceAttachments(record.descriptor.name, {
59
+ kind: 'resource',
60
+ resource: record.descriptor.name,
61
+ boundary: record.boundary.key
62
+ }, 'instrumented', 'attachment');
63
+ if (attachments !== null) {
64
+ const controller = new AbortController();
65
+ await prepareLifetimeCapture(record, {
66
+ kind: 'lifetime',
67
+ handle: record.ownerHandle,
68
+ resource: record.descriptor.name,
69
+ scenarios: resolvedResourceScenarioBindings(record.descriptor),
70
+ signal: controller.signal,
71
+ attachments
72
+ });
73
+ }
74
+ }
75
+ export function resourcePreparationError(resource, testCase, attempt, cause) {
76
+ if (cause instanceof AttachmentOperationError) {
77
+ return cause;
78
+ }
79
+ return new AttachmentOperationError('Failure artifact preparation failed.', {
80
+ cause: { resource, cause },
81
+ drift: false,
82
+ subtype: 'artifact',
83
+ owner: { kind: 'case', work: testCase.workId, attempt }
84
+ });
85
+ }
86
+ //# sourceMappingURL=resource-failure-preparation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-failure-preparation.js","sourceRoot":"","sources":["../../../../source/run/resource-failure-preparation.ts"],"names":[],"mappings":"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"}