@overkill-dev/run 0.0.65 → 0.0.66

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 (195) 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/engine/case-execution.d.ts +1 -0
  8. package/engine/case-execution.d.ts.map +1 -1
  9. package/engine/case-execution.js +17 -29
  10. package/engine/case-execution.js.map +1 -1
  11. package/engine/recorded-assertion-failure.js +30 -0
  12. package/engine/recorded-assertion-failure.js.map +1 -0
  13. package/engine/run-artifact.d.ts +2 -2
  14. package/engine/run-artifact.d.ts.map +1 -1
  15. package/engine/runtime-attachment.d.ts +25 -5
  16. package/engine/runtime-attachment.d.ts.map +1 -1
  17. package/engine/runtime-attachment.js.map +1 -1
  18. package/package-version.js +31 -0
  19. package/package-version.js.map +1 -0
  20. package/package.json +21 -3
  21. package/packages/resources/attachment-context.entry-point.js +1 -1
  22. package/packages/resources/attachment-context.entry-point.js.map +1 -1
  23. package/packages/simulation/transcript.entry-point.js +2 -0
  24. package/packages/simulation/transcript.entry-point.js.map +1 -1
  25. package/readme.md +18 -6
  26. package/reporters/human-reporter-rendering.js +52 -22
  27. package/reporters/human-reporter-rendering.js.map +1 -1
  28. package/resources/failure-artifacts.js +9 -0
  29. package/resources/failure-artifacts.js.map +1 -0
  30. package/run/assertion-result-schema.js +69 -0
  31. package/run/assertion-result-schema.js.map +1 -0
  32. package/run/attachment-coordinator-context.js.map +1 -1
  33. package/run/attachment-coordinator.js +8 -4
  34. package/run/attachment-coordinator.js.map +1 -1
  35. package/run/attachment-execution.js +53 -6
  36. package/run/attachment-execution.js.map +1 -1
  37. package/run/attachment-protocol.js +4 -0
  38. package/run/attachment-protocol.js.map +1 -1
  39. package/run/attachment-reporter.js +1 -0
  40. package/run/attachment-reporter.js.map +1 -1
  41. package/run/attachment-results.js +5 -9
  42. package/run/attachment-results.js.map +1 -1
  43. package/run/attachment-storage-session.js +1 -0
  44. package/run/attachment-storage-session.js.map +1 -1
  45. package/run/attachment-storage-writer.js +128 -0
  46. package/run/attachment-storage-writer.js.map +1 -0
  47. package/run/attachment-store.js +84 -127
  48. package/run/attachment-store.js.map +1 -1
  49. package/run/attachment-wire-schema.js +45 -9
  50. package/run/attachment-wire-schema.js.map +1 -1
  51. package/run/attachment-worker-context.js +1 -1
  52. package/run/attachment-worker-context.js.map +1 -1
  53. package/run/attachment-writer.js +5 -3
  54. package/run/attachment-writer.js.map +1 -1
  55. package/run/capability-policy-snapshots.d.ts +3 -2
  56. package/run/capability-policy-snapshots.d.ts.map +1 -1
  57. package/run/capability-policy-snapshots.js.map +1 -1
  58. package/run/capability-policy.js +48 -38
  59. package/run/capability-policy.js.map +1 -1
  60. package/run/child-process-protocol.js +17 -13
  61. package/run/child-process-protocol.js.map +1 -1
  62. package/run/child-process-shutdown.js +54 -0
  63. package/run/child-process-shutdown.js.map +1 -0
  64. package/run/collected-run-plan-schema.js +90 -0
  65. package/run/collected-run-plan-schema.js.map +1 -0
  66. package/run/coverage-config-schema.d.ts +2 -2
  67. package/run/coverage-runtime-source.js +5 -0
  68. package/run/coverage-runtime-source.js.map +1 -1
  69. package/run/coverage-source-selection.js +6 -2
  70. package/run/coverage-source-selection.js.map +1 -1
  71. package/run/current-process-run-orchestrator.js +7 -11
  72. package/run/current-process-run-orchestrator.js.map +1 -1
  73. package/run/diff-schema.js +78 -0
  74. package/run/diff-schema.js.map +1 -0
  75. package/run/failure-artifact-retention.js +76 -0
  76. package/run/failure-artifact-retention.js.map +1 -0
  77. package/run/node-child-process-starters.js +8 -1
  78. package/run/node-child-process-starters.js.map +1 -1
  79. package/run/node-process-policy-observation.js +43 -0
  80. package/run/node-process-policy-observation.js.map +1 -0
  81. package/run/permission-denial-runtime-policy.js +3 -0
  82. package/run/permission-denial-runtime-policy.js.map +1 -1
  83. package/run/reporter-event-schema.js +42 -0
  84. package/run/reporter-event-schema.js.map +1 -0
  85. package/run/resource-disposal-error.js +27 -0
  86. package/run/resource-disposal-error.js.map +1 -0
  87. package/run/resource-failure-preparation.js +86 -0
  88. package/run/resource-failure-preparation.js.map +1 -0
  89. package/run/resource-lifecycle-disposal.js +132 -0
  90. package/run/resource-lifecycle-disposal.js.map +1 -0
  91. package/run/resource-lifecycle-session-acquirer.js +31 -10
  92. package/run/resource-lifecycle-session-acquirer.js.map +1 -1
  93. package/run/resource-lifecycle-state.d.ts +2 -1
  94. package/run/resource-lifecycle-state.d.ts.map +1 -1
  95. package/run/resource-lifecycle-state.js +30 -1
  96. package/run/resource-lifecycle-state.js.map +1 -1
  97. package/run/resource-lifecycle.js +26 -104
  98. package/run/resource-lifecycle.js.map +1 -1
  99. package/run/run-artifact-id-schema.js +27 -0
  100. package/run/run-artifact-id-schema.js.map +1 -0
  101. package/run/run-artifact-schema.js +74 -0
  102. package/run/run-artifact-schema.js.map +1 -0
  103. package/run/run-collection-error-result.js +1 -1
  104. package/run/run-collection-error-result.js.map +1 -1
  105. package/run/run-command-schema.js +60 -0
  106. package/run/run-command-schema.js.map +1 -0
  107. package/run/run-config-schema.d.ts +2 -2
  108. package/run/run-errors.d.ts +2 -0
  109. package/run/run-errors.d.ts.map +1 -1
  110. package/run/run-errors.js +17 -0
  111. package/run/run-errors.js.map +1 -1
  112. package/run/run-identity-schema.js +38 -0
  113. package/run/run-identity-schema.js.map +1 -0
  114. package/run/run-local-command.js +18 -5
  115. package/run/run-local-command.js.map +1 -1
  116. package/run/run-local-coverage.js +16 -3
  117. package/run/run-local-coverage.js.map +1 -1
  118. package/run/run-orchestrator.d.ts +2 -2
  119. package/run/run-orchestrator.d.ts.map +1 -1
  120. package/run/run-orchestrator.js +2 -2
  121. package/run/run-orchestrator.js.map +1 -1
  122. package/run/run-record-versions.js +1 -30
  123. package/run/run-record-versions.js.map +1 -1
  124. package/run/run-result-schema.js +65 -0
  125. package/run/run-result-schema.js.map +1 -0
  126. package/run/run-runtime-schema.js +64 -0
  127. package/run/run-runtime-schema.js.map +1 -0
  128. package/run/run-support.js +4 -0
  129. package/run/run-support.js.map +1 -1
  130. package/run/serialized-value-schema.js +76 -0
  131. package/run/serialized-value-schema.js.map +1 -0
  132. package/run/simulation-witness.js +38 -0
  133. package/run/simulation-witness.js.map +1 -0
  134. package/run/supervised-child-failure.js +26 -0
  135. package/run/supervised-child-failure.js.map +1 -0
  136. package/run/supervised-child-process.d.ts +3 -0
  137. package/run/supervised-child-process.d.ts.map +1 -1
  138. package/run/supervised-child-process.js +2 -0
  139. package/run/supervised-child-process.js.map +1 -1
  140. package/run/supervised-child-transport.js +125 -0
  141. package/run/supervised-child-transport.js.map +1 -0
  142. package/run/supervised-child.entry-point.js +38 -33
  143. package/run/supervised-child.entry-point.js.map +1 -1
  144. package/run/supervised-child.js +2 -2
  145. package/run/supervised-child.js.map +1 -1
  146. package/run/supervised-protocol-schema.js +42 -0
  147. package/run/supervised-protocol-schema.js.map +1 -0
  148. package/run/supervised-run-collection.js +33 -30
  149. package/run/supervised-run-collection.js.map +1 -1
  150. package/run/supervised-run-runtime.js +33 -15
  151. package/run/supervised-run-runtime.js.map +1 -1
  152. package/run/supervised-run-state.js +43 -22
  153. package/run/supervised-run-state.js.map +1 -1
  154. package/run/supervised-run.js +69 -36
  155. package/run/supervised-run.js.map +1 -1
  156. package/run/worker-pool-execution.js +2 -3
  157. package/run/worker-pool-execution.js.map +1 -1
  158. package/run/worker-pool-host-process.js +50 -20
  159. package/run/worker-pool-host-process.js.map +1 -1
  160. package/run/worker-pool-host-protocol-schema.js +80 -0
  161. package/run/worker-pool-host-protocol-schema.js.map +1 -0
  162. package/run/worker-pool-host-protocol.js.map +1 -1
  163. package/run/worker-pool-host-task.js +20 -11
  164. package/run/worker-pool-host-task.js.map +1 -1
  165. package/run/worker-pool-host-transport.js +96 -0
  166. package/run/worker-pool-host-transport.js.map +1 -0
  167. package/run/worker-pool-host.entry-point.js +37 -5
  168. package/run/worker-pool-host.entry-point.js.map +1 -1
  169. package/run/worker-pool-protocol.js +3 -0
  170. package/run/worker-pool-protocol.js.map +1 -1
  171. package/run/worker-pool-resource-lifecycle-execution.js +66 -1
  172. package/run/worker-pool-resource-lifecycle-execution.js.map +1 -1
  173. package/run/worker-pool-routing.js +2 -1
  174. package/run/worker-pool-routing.js.map +1 -1
  175. package/run/worker-pool-task-events.js +18 -15
  176. package/run/worker-pool-task-events.js.map +1 -1
  177. package/run/worker-pool-task-schema.js +61 -0
  178. package/run/worker-pool-task-schema.js.map +1 -0
  179. package/run/worker-pool-task-validation.js +1 -0
  180. package/run/worker-pool-task-validation.js.map +1 -1
  181. package/run/worker-pool-worker-resources.js +68 -0
  182. package/run/worker-pool-worker-resources.js.map +1 -1
  183. package/run/worker-pool-worker.js +11 -4
  184. package/run/worker-pool-worker.js.map +1 -1
  185. package/sbom.cdx.json +5 -5
  186. package/stored-value.js +12 -0
  187. package/stored-value.js.map +1 -0
  188. package/transcript/http-transcript-artifact.js +2 -0
  189. package/transcript/http-transcript-artifact.js.map +1 -0
  190. package/transcript/transcript-store.d.ts +1 -1
  191. package/transcript/transcript-store.d.ts.map +1 -1
  192. package/transcript/transcript-store.js +29 -3
  193. package/transcript/transcript-store.js.map +1 -1
  194. package/run/node-process-capability-restrictions.js +0 -92
  195. package/run/node-process-capability-restrictions.js.map +0 -1
@@ -0,0 +1,90 @@
1
+ import { z } from 'zod/v4';
2
+ import { createDefaultWorkId } from "../engine/identity.js";
3
+ import { annotationsSchema, controlsSchema, sourceLocationsSchema, suitePathSchema, workIdSchema } from "./run-identity-schema.js";
4
+ const requirementSchema = z.record(z.string(), z.unknown());
5
+ const directResourceSchema = z.strictObject({ key: z.string(), resourceName: z.string() });
6
+ const scenarioSchema = z.strictObject({
7
+ default: z.string(),
8
+ name: z.string(),
9
+ timing: z.enum(['acquire', 'request-routed']),
10
+ values: z.array(z.string())
11
+ });
12
+ const resourceSchema = z.strictObject({
13
+ dependencies: z.array(z.string()),
14
+ handleTransport: z.enum(['local', 'projected']),
15
+ name: z.string(),
16
+ requirements: z.array(requirementSchema),
17
+ scenarios: z.array(scenarioSchema),
18
+ scope: z.string()
19
+ });
20
+ const runtimeSchema = z.strictObject({
21
+ dimensions: z.record(z.string(), z.string()),
22
+ kind: z.literal('runtime').default('runtime'),
23
+ name: z.string(),
24
+ requirements: z.array(requirementSchema),
25
+ resources: z.array(directResourceSchema),
26
+ scenarioBindings: z.array(scenarioSchema.extend({
27
+ owner: z.strictObject({ path: z.array(z.string()), resourceName: z.string() }),
28
+ value: z.string()
29
+ }))
30
+ });
31
+ const attachmentsSchema = z.strictObject({
32
+ directResources: z.array(directResourceSchema),
33
+ resourceGraph: z.array(resourceSchema),
34
+ runtimeGraphs: z.array(z.union([
35
+ runtimeSchema,
36
+ z.strictObject({
37
+ kind: z.literal('runtime-matrix'),
38
+ name: z.string(),
39
+ resources: z.array(directResourceSchema),
40
+ variants: z.array(z.strictObject({ id: z.string(), runtime: runtimeSchema }))
41
+ })
42
+ ]))
43
+ });
44
+ const fileSchema = z
45
+ .strictObject({
46
+ cases: z.array(z.strictObject({
47
+ annotations: annotationsSchema,
48
+ controls: controlsSchema,
49
+ definitionLocations: sourceLocationsSchema,
50
+ params: z.string().nullable(),
51
+ resourceAttachments: attachmentsSchema,
52
+ suitePath: suitePathSchema,
53
+ testFamily: z.enum(['benchmark', 'integration', 'microtest', 'property', 'type-test']).nullable(),
54
+ title: z.string(),
55
+ workId: workIdSchema.optional()
56
+ })),
57
+ file: z.string()
58
+ })
59
+ .transform(function normalizeWorkIdentities(file) {
60
+ return {
61
+ ...file,
62
+ cases: file.cases.map(function normalizeCase(testCase) {
63
+ return {
64
+ ...testCase,
65
+ workId: testCase.workId ??
66
+ createDefaultWorkId({
67
+ file: file.file,
68
+ params: testCase.params,
69
+ suite: testCase.suitePath.map(function suiteTitle(suite) {
70
+ return suite.title;
71
+ }),
72
+ title: testCase.title
73
+ })
74
+ };
75
+ })
76
+ };
77
+ });
78
+ export const collectedRunPlanSchema = z.strictObject({
79
+ defined: z.number(),
80
+ discoveredFiles: z.array(fileSchema),
81
+ files: z.array(fileSchema),
82
+ orphans: z.array(z.strictObject({
83
+ definitionLocations: sourceLocationsSchema,
84
+ file: z.string().nullable(),
85
+ kind: z.enum(['suite', 'table', 'test']),
86
+ title: z.string()
87
+ })),
88
+ root: z.strictObject({ annotations: annotationsSchema, controls: controlsSchema, title: z.string() })
89
+ });
90
+ //# sourceMappingURL=collected-run-plan-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collected-run-plan-schema.js","sourceRoot":"","sources":["../../../../source/run/collected-run-plan-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,YAAY,EACf,MAAM,0BAA0B,CAAC;AAElC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5D,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC3F,MAAM,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,SAAS,EAAE,gBAAgB,CAAE,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC;IAClC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,OAAO,EAAE,WAAW,CAAE,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACxC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CACrB,cAAc,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CACL;CACJ,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IACrC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IACtC,aAAa,EAAE,CAAC,CAAC,KAAK,CAClB,CAAC,CAAC,KAAK,CAAC;QACJ,aAAa;QACb,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;YACxC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;SAChF,CAAC;KACL,CAAC,CACL;CACJ,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,CAAC;KACf,YAAY,CAAC;IACV,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;QAC1B,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,cAAc;QACxB,mBAAmB,EAAE,qBAAqB;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,mBAAmB,EAAE,iBAAiB;QACtC,SAAS,EAAE,eAAe;QAC1B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAE,CAAC,CAAC,QAAQ,EAAE;QACnG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAC;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC;KACD,SAAS,CAAC,SAAS,uBAAuB,CAAC,IAAI;IAC5C,OAAO;QACH,GAAG,IAAI;QACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,QAAQ;YACjD,OAAO;gBACH,GAAG,QAAQ;gBACX,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACnB,mBAAmB,CAAC;wBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,KAAK;4BACnD,OAAO,KAAK,CAAC,KAAK,CAAC;wBACvB,CAAC,CAAC;wBACF,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACxB,CAAC;aACT,CAAC;QACN,CAAC,CAAC;KACL,CAAC;AACN,CAAC,CAAC,CAAC;AACP,MAAM,CAAC,MAAM,sBAAsB,GAAgC,CAAC,CAAC,YAAY,CAAC;IAC9E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,YAAY,CAAC;QACX,mBAAmB,EAAE,qBAAqB;QAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAE,CAAC;QAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CACL;IACD,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CACxG,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod/v4';
2
2
  declare const coverageOutputSchema: z.ZodEnum<{
3
+ v8: "v8";
3
4
  json: "json";
4
5
  text: "text";
5
6
  html: "html";
6
7
  lcov: "lcov";
7
- v8: "v8";
8
8
  }>;
9
9
  declare const coverageSourcesSchema: z.ZodDiscriminatedUnion<[z.ZodReadonly<z.ZodObject<{
10
10
  exclude: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
@@ -22,11 +22,11 @@ declare const coverageThresholdsSchema: z.ZodReadonly<z.ZodObject<{
22
22
  export declare const coveragePolicySchema: z.ZodReadonly<z.ZodObject<{
23
23
  outputDir: z.ZodOptional<z.ZodString>;
24
24
  outputs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
25
+ v8: "v8";
25
26
  json: "json";
26
27
  text: "text";
27
28
  html: "html";
28
29
  lcov: "lcov";
29
- v8: "v8";
30
30
  }>>>>;
31
31
  sources: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodReadonly<z.ZodObject<{
32
32
  exclude: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
@@ -1,8 +1,13 @@
1
1
  import path from 'node:path';
2
+ // eslint-disable-next-line node/no-unsupported-features/node-builtins -- Match native V8 offsets.
3
+ import { stripTypeScriptTypes } from 'node:module';
2
4
  import { parse } from 'acorn';
3
5
  import { transform } from 'sucrase';
4
6
  const typeScriptExtensions = new Set(['.cts', '.mts', '.ts']);
5
7
  const sourceExtensions = new Set(['.cjs', '.cts', '.js', '.mjs', '.mts', '.ts']);
8
+ export function nativeTypeScriptCoverageSource(source) {
9
+ return stripTypeScriptTypes(source, { mode: 'strip' });
10
+ }
6
11
  export function transformCoverageSource(source, filePath) {
7
12
  const result = transform(source, {
8
13
  filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-runtime-source.js","sourceRoot":"","sources":["../../../../source/run/coverage-runtime-source.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAE,CAAC,CAAC;AAChE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAE,CAAC,CAAC;AAWnF,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,QAAgB;IACpE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;QAC7B,QAAQ;QACR,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;QAC9E,UAAU,EAAE,CAAE,YAAY,CAAE;KAC/B,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,CAAE,MAAM,CAAE,EAAE,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACvD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACtD,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,QAAgB;IAClE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CACjB,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAChG;QACI,0BAA0B,EAAE,IAAI;QAChC,WAAW,EAAE,QAAQ;QACrB,SAAS,CAAC,KAAK,EAAE,KAAK;YAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,UAAU,EAAE,QAAQ;KACvB,CACJ,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,SAAS;QAChE,OAAO,SAAS,CAAC,IAAI,KAAK,gBAAgB;YACtC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,wBAAwB,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI;gBAC3E,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"coverage-runtime-source.js","sourceRoot":"","sources":["../../../../source/run/coverage-runtime-source.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,kGAAkG;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAE,CAAC,CAAC;AAChE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAE,CAAC,CAAC;AAWnF,MAAM,UAAU,8BAA8B,CAAC,MAAc;IACzD,OAAO,oBAAoB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,QAAgB;IACpE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;QAC7B,QAAQ;QACR,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;QAC9E,UAAU,EAAE,CAAE,YAAY,CAAE;KAC/B,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,CAAE,MAAM,CAAE,EAAE,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACvD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACtD,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,QAAgB;IAClE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CACjB,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAChG;QACI,0BAA0B,EAAE,IAAI;QAChC,WAAW,EAAE,QAAQ;QACrB,SAAS,CAAC,KAAK,EAAE,KAAK;YAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,UAAU,EAAE,QAAQ;KACvB,CACJ,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,SAAS;QAChE,OAAO,SAAS,CAAC,IAAI,KAAK,gBAAgB;YACtC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,wBAAwB,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI;gBAC3E,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC"}
@@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url';
4
4
  import { prepareLoadedCoverageSources } from "./coverage-loaded-sources.js";
5
5
  import { isPathInside } from "./path-containment.js";
6
6
  import { readNativeCoverageBatches } from "./coverage-native-data.js";
7
- import { inspectCoverageSource, isSupportedCoverageSource, isTypeScriptCoverageSource, transformCoverageSource } from "./coverage-runtime-source.js";
7
+ import { inspectCoverageSource, isSupportedCoverageSource, isTypeScriptCoverageSource, nativeTypeScriptCoverageSource, transformCoverageSource } from "./coverage-runtime-source.js";
8
8
  function sourceFilePath(sourcePath, projectRoot) {
9
9
  return path.resolve(projectRoot, sourcePath);
10
10
  }
@@ -99,11 +99,15 @@ export async function prepareCoverageSources(request) {
99
99
  entryIncluded(entry) {
100
100
  return loaded.entries.has(entry.url);
101
101
  },
102
- onEntry(entry) {
102
+ async onEntry(entry) {
103
103
  const map = loaded.maps.get(entry.url);
104
104
  if (map !== undefined) {
105
105
  Object.assign(entry, { sourceMap: map });
106
106
  }
107
+ else if (isTypeScriptCoverageSource(fileURLToPath(entry.url))) {
108
+ const source = await readFile(fileURLToPath(entry.url), 'utf8');
109
+ Object.assign(entry, { fake: false, source: nativeTypeScriptCoverageSource(source) });
110
+ }
107
111
  },
108
112
  sourcePath(sourcePath, info) {
109
113
  return typeof info.url === 'string' && info.url.startsWith('file:')
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-source-selection.js","sourceRoot":"","sources":["../../../../source/run/coverage-source-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coverage-source-selection.js","sourceRoot":"","sources":["../../../../source/run/coverage-source-selection.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { installIpcRestriction as installProcessIpcRestriction, installProcessExecutionRestriction as installNodeProcessExecutionRestriction } from "./node-process-capability-restrictions.js";
1
+ import { observeProcessIpcListeners, observeProcessExit as observeNodeProcessExit } from "./node-process-policy-observation.js";
2
2
  import { readProcessEnvironment, readWebStorage } from "./node-host-readers.js";
3
3
  import { createNodeRunCoordinator, createNodeRunOrchestrator } from "./run-orchestrator.js";
4
4
  function writeStdoutLine(line) {
@@ -21,12 +21,10 @@ export function createCurrentProcessRunOrchestrator(defaultEngine, dependencies)
21
21
  loadRunTestModules: dependencies.loadRunTestModules,
22
22
  startSupervisedChild: dependencies.startSupervisedChild,
23
23
  startWorkerPoolHost: dependencies.startWorkerPoolHost,
24
- installIpcRestriction(record) {
25
- return installProcessIpcRestriction(process, record);
26
- },
27
- installProcessExecutionRestriction(record) {
28
- return installNodeProcessExecutionRestriction(process, record);
24
+ observeIpcListeners(record) {
25
+ return observeProcessIpcListeners(process, record, new WeakSet());
29
26
  },
27
+ observeProcessExit: observeNodeProcessExit,
30
28
  node: {
31
29
  arch: process.arch,
32
30
  platform: process.platform,
@@ -50,12 +48,10 @@ export function createCurrentProcessRunCoordinator(defaultEngine, dependencies)
50
48
  loadRunTestModules: dependencies.loadRunTestModules,
51
49
  startSupervisedChild: dependencies.startSupervisedChild,
52
50
  startWorkerPoolHost: dependencies.startWorkerPoolHost,
53
- installIpcRestriction(record) {
54
- return installProcessIpcRestriction(process, record);
55
- },
56
- installProcessExecutionRestriction(record) {
57
- return installNodeProcessExecutionRestriction(process, record);
51
+ observeIpcListeners(record) {
52
+ return observeProcessIpcListeners(process, record, new WeakSet());
58
53
  },
54
+ observeProcessExit: observeNodeProcessExit,
59
55
  node: {
60
56
  arch: process.arch,
61
57
  platform: process.platform,
@@ -1 +1 @@
1
- {"version":3,"file":"current-process-run-orchestrator.js","sourceRoot":"","sources":["../../../../source/run/current-process-run-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"current-process-run-orchestrator.js","sourceRoot":"","sources":["../../../../source/run/current-process-run-orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,IAAI,sBAAsB,EAC/C,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EAG5B,MAAM,uBAAuB,CAAC;AAW/B,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,mCAAmC,CAC/C,aAAqB,EACrB,YAAuD;IAEvD,OAAO,yBAAyB,CAAC;QAC7B,aAAa;QACb,+BAA+B,EAAE,YAAY,CAAC,+BAA+B;QAC7E,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;QACnD,oBAAoB,EAAE,YAAY,CAAC,oBAAoB;QACvD,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,mBAAmB,CAAC,MAAM;YACtB,OAAO,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,kBAAkB,EAAE,sBAAsB;QAC1C,IAAI,EAAE;YACF,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;SACjC;QACD,eAAe;YACX,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,WAAW,CAAC,IAAI;YACZ,OAAO,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE;QAC1D,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE;KAC7D,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,kCAAkC,CAC9C,aAAqB,EACrB,YAAuD;IAEvD,OAAO,wBAAwB,CAAC;QAC5B,aAAa;QACb,+BAA+B,EAAE,YAAY,CAAC,+BAA+B;QAC7E,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;QACnD,oBAAoB,EAAE,YAAY,CAAC,oBAAoB;QACvD,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,mBAAmB,CAAC,MAAM;YACtB,OAAO,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,kBAAkB,EAAE,sBAAsB;QAC1C,IAAI,EAAE;YACF,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;SACjC;QACD,eAAe;YACX,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,WAAW,CAAC,IAAI;YACZ,OAAO,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE;QAC1D,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE;KAC7D,CAAC,CAAC;AACP,CAAC"}
@@ -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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAElG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/D,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/D,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,SAAS,EAAE,WAAW,CAAE,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC;IACxF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,2BAA2B,EAAE,CAAC;IACjF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;CACjF,CAAC,CAAC,CAAC;AACJ,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAChH,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;AACtH,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/B,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,qBAAqB;IAC3B,EAAE,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAExG,MAAM,CAAC,MAAM,UAAU,GAAoB,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACpE,CAAC,CAAC,YAAY,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACxB,GAAG;YACH,MAAM;YACN,OAAO;YACP,MAAM;YACN,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;SAC7G,CAAC,CAAC;KACN,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACxB,GAAG;YACH,MAAM;YACN,OAAO;YACP,CAAC,CAAC,YAAY,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;gBACrC,GAAG,EAAE,qBAAqB;gBAC1B,KAAK,EAAE,qBAAqB;aAC/B,CAAC;SACL,CAAC,CAAC;KACN,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACxB,GAAG;YACH,MAAM;YACN,OAAO;YACP,CAAC,CAAC,YAAY,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACxC,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,qBAAqB;aAC/B,CAAC;SACL,CAAC,CAAC;KACN,CAAC;IACF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC;IACjG,CAAC,CAAC,YAAY,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrG;KACJ,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;YAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;YACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;YACzB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/B,CAAC,CAAC;KACN,CAAC;IACF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CAC/G,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"}
@@ -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":"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"}
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,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