@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.
- package/attachments/attachment-context.js +10 -0
- package/attachments/attachment-context.js.map +1 -1
- package/attachments/failure-artifact-stream.js +53 -0
- package/attachments/failure-artifact-stream.js.map +1 -0
- package/attachments/resource-failure-context.js +41 -0
- package/attachments/resource-failure-context.js.map +1 -0
- package/engine/case-execution.d.ts +1 -0
- package/engine/case-execution.d.ts.map +1 -1
- package/engine/case-execution.js +17 -29
- package/engine/case-execution.js.map +1 -1
- package/engine/recorded-assertion-failure.js +30 -0
- package/engine/recorded-assertion-failure.js.map +1 -0
- package/engine/run-artifact.d.ts +2 -2
- package/engine/run-artifact.d.ts.map +1 -1
- package/engine/runtime-attachment.d.ts +25 -5
- package/engine/runtime-attachment.d.ts.map +1 -1
- package/engine/runtime-attachment.js.map +1 -1
- package/package-version.js +31 -0
- package/package-version.js.map +1 -0
- package/package.json +21 -3
- package/packages/resources/attachment-context.entry-point.js +1 -1
- package/packages/resources/attachment-context.entry-point.js.map +1 -1
- package/packages/simulation/transcript.entry-point.js +2 -0
- package/packages/simulation/transcript.entry-point.js.map +1 -1
- package/readme.md +18 -6
- package/reporters/human-reporter-rendering.js +52 -22
- package/reporters/human-reporter-rendering.js.map +1 -1
- package/resources/failure-artifacts.js +9 -0
- package/resources/failure-artifacts.js.map +1 -0
- package/run/assertion-result-schema.js +69 -0
- package/run/assertion-result-schema.js.map +1 -0
- package/run/attachment-coordinator-context.js.map +1 -1
- package/run/attachment-coordinator.js +8 -4
- package/run/attachment-coordinator.js.map +1 -1
- package/run/attachment-execution.js +53 -6
- package/run/attachment-execution.js.map +1 -1
- package/run/attachment-protocol.js +4 -0
- package/run/attachment-protocol.js.map +1 -1
- package/run/attachment-reporter.js +1 -0
- package/run/attachment-reporter.js.map +1 -1
- package/run/attachment-results.js +5 -9
- package/run/attachment-results.js.map +1 -1
- package/run/attachment-storage-session.js +1 -0
- package/run/attachment-storage-session.js.map +1 -1
- package/run/attachment-storage-writer.js +128 -0
- package/run/attachment-storage-writer.js.map +1 -0
- package/run/attachment-store.js +84 -127
- package/run/attachment-store.js.map +1 -1
- package/run/attachment-wire-schema.js +45 -9
- package/run/attachment-wire-schema.js.map +1 -1
- package/run/attachment-worker-context.js +1 -1
- package/run/attachment-worker-context.js.map +1 -1
- package/run/attachment-writer.js +5 -3
- package/run/attachment-writer.js.map +1 -1
- package/run/capability-policy-snapshots.d.ts +3 -2
- package/run/capability-policy-snapshots.d.ts.map +1 -1
- package/run/capability-policy-snapshots.js.map +1 -1
- package/run/capability-policy.js +48 -38
- package/run/capability-policy.js.map +1 -1
- package/run/child-process-protocol.js +17 -13
- package/run/child-process-protocol.js.map +1 -1
- package/run/child-process-shutdown.js +54 -0
- package/run/child-process-shutdown.js.map +1 -0
- package/run/collected-run-plan-schema.js +90 -0
- package/run/collected-run-plan-schema.js.map +1 -0
- package/run/coverage-config-schema.d.ts +2 -2
- package/run/coverage-runtime-source.js +5 -0
- package/run/coverage-runtime-source.js.map +1 -1
- package/run/coverage-source-selection.js +6 -2
- package/run/coverage-source-selection.js.map +1 -1
- package/run/current-process-run-orchestrator.js +7 -11
- package/run/current-process-run-orchestrator.js.map +1 -1
- package/run/diff-schema.js +78 -0
- package/run/diff-schema.js.map +1 -0
- package/run/failure-artifact-retention.js +76 -0
- package/run/failure-artifact-retention.js.map +1 -0
- package/run/node-child-process-starters.js +8 -1
- package/run/node-child-process-starters.js.map +1 -1
- package/run/node-process-policy-observation.js +43 -0
- package/run/node-process-policy-observation.js.map +1 -0
- package/run/permission-denial-runtime-policy.js +3 -0
- package/run/permission-denial-runtime-policy.js.map +1 -1
- package/run/reporter-event-schema.js +42 -0
- package/run/reporter-event-schema.js.map +1 -0
- package/run/resource-disposal-error.js +27 -0
- package/run/resource-disposal-error.js.map +1 -0
- package/run/resource-failure-preparation.js +86 -0
- package/run/resource-failure-preparation.js.map +1 -0
- package/run/resource-lifecycle-disposal.js +132 -0
- package/run/resource-lifecycle-disposal.js.map +1 -0
- package/run/resource-lifecycle-session-acquirer.js +31 -10
- package/run/resource-lifecycle-session-acquirer.js.map +1 -1
- package/run/resource-lifecycle-state.d.ts +2 -1
- package/run/resource-lifecycle-state.d.ts.map +1 -1
- package/run/resource-lifecycle-state.js +30 -1
- package/run/resource-lifecycle-state.js.map +1 -1
- package/run/resource-lifecycle.js +26 -104
- package/run/resource-lifecycle.js.map +1 -1
- package/run/run-artifact-id-schema.js +27 -0
- package/run/run-artifact-id-schema.js.map +1 -0
- package/run/run-artifact-schema.js +74 -0
- package/run/run-artifact-schema.js.map +1 -0
- package/run/run-collection-error-result.js +1 -1
- package/run/run-collection-error-result.js.map +1 -1
- package/run/run-command-schema.js +60 -0
- package/run/run-command-schema.js.map +1 -0
- package/run/run-config-schema.d.ts +2 -2
- package/run/run-errors.d.ts +2 -0
- package/run/run-errors.d.ts.map +1 -1
- package/run/run-errors.js +17 -0
- package/run/run-errors.js.map +1 -1
- package/run/run-identity-schema.js +38 -0
- package/run/run-identity-schema.js.map +1 -0
- package/run/run-local-command.js +18 -5
- package/run/run-local-command.js.map +1 -1
- package/run/run-local-coverage.js +16 -3
- package/run/run-local-coverage.js.map +1 -1
- package/run/run-orchestrator.d.ts +2 -2
- package/run/run-orchestrator.d.ts.map +1 -1
- package/run/run-orchestrator.js +2 -2
- package/run/run-orchestrator.js.map +1 -1
- package/run/run-record-versions.js +1 -30
- package/run/run-record-versions.js.map +1 -1
- package/run/run-result-schema.js +65 -0
- package/run/run-result-schema.js.map +1 -0
- package/run/run-runtime-schema.js +64 -0
- package/run/run-runtime-schema.js.map +1 -0
- package/run/run-support.js +4 -0
- package/run/run-support.js.map +1 -1
- package/run/serialized-value-schema.js +76 -0
- package/run/serialized-value-schema.js.map +1 -0
- package/run/simulation-witness.js +38 -0
- package/run/simulation-witness.js.map +1 -0
- package/run/supervised-child-failure.js +26 -0
- package/run/supervised-child-failure.js.map +1 -0
- package/run/supervised-child-process.d.ts +3 -0
- package/run/supervised-child-process.d.ts.map +1 -1
- package/run/supervised-child-process.js +2 -0
- package/run/supervised-child-process.js.map +1 -1
- package/run/supervised-child-transport.js +125 -0
- package/run/supervised-child-transport.js.map +1 -0
- package/run/supervised-child.entry-point.js +38 -33
- package/run/supervised-child.entry-point.js.map +1 -1
- package/run/supervised-child.js +2 -2
- package/run/supervised-child.js.map +1 -1
- package/run/supervised-protocol-schema.js +42 -0
- package/run/supervised-protocol-schema.js.map +1 -0
- package/run/supervised-run-collection.js +33 -30
- package/run/supervised-run-collection.js.map +1 -1
- package/run/supervised-run-runtime.js +33 -15
- package/run/supervised-run-runtime.js.map +1 -1
- package/run/supervised-run-state.js +43 -22
- package/run/supervised-run-state.js.map +1 -1
- package/run/supervised-run.js +69 -36
- package/run/supervised-run.js.map +1 -1
- package/run/worker-pool-execution.js +2 -3
- package/run/worker-pool-execution.js.map +1 -1
- package/run/worker-pool-host-process.js +50 -20
- package/run/worker-pool-host-process.js.map +1 -1
- package/run/worker-pool-host-protocol-schema.js +80 -0
- package/run/worker-pool-host-protocol-schema.js.map +1 -0
- package/run/worker-pool-host-protocol.js.map +1 -1
- package/run/worker-pool-host-task.js +20 -11
- package/run/worker-pool-host-task.js.map +1 -1
- package/run/worker-pool-host-transport.js +96 -0
- package/run/worker-pool-host-transport.js.map +1 -0
- package/run/worker-pool-host.entry-point.js +37 -5
- package/run/worker-pool-host.entry-point.js.map +1 -1
- package/run/worker-pool-protocol.js +3 -0
- package/run/worker-pool-protocol.js.map +1 -1
- package/run/worker-pool-resource-lifecycle-execution.js +66 -1
- package/run/worker-pool-resource-lifecycle-execution.js.map +1 -1
- package/run/worker-pool-routing.js +2 -1
- package/run/worker-pool-routing.js.map +1 -1
- package/run/worker-pool-task-events.js +18 -15
- package/run/worker-pool-task-events.js.map +1 -1
- package/run/worker-pool-task-schema.js +61 -0
- package/run/worker-pool-task-schema.js.map +1 -0
- package/run/worker-pool-task-validation.js +1 -0
- package/run/worker-pool-task-validation.js.map +1 -1
- package/run/worker-pool-worker-resources.js +68 -0
- package/run/worker-pool-worker-resources.js.map +1 -1
- package/run/worker-pool-worker.js +11 -4
- package/run/worker-pool-worker.js.map +1 -1
- package/sbom.cdx.json +5 -5
- package/stored-value.js +12 -0
- package/stored-value.js.map +1 -0
- package/transcript/http-transcript-artifact.js +2 -0
- package/transcript/http-transcript-artifact.js.map +1 -0
- package/transcript/transcript-store.d.ts +1 -1
- package/transcript/transcript-store.d.ts.map +1 -1
- package/transcript/transcript-store.js +29 -3
- package/transcript/transcript-store.js.map +1 -1
- package/run/node-process-capability-restrictions.js +0 -92
- 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":"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"}
|
|
@@ -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":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAA4B,MAAM,2BAA2B,CAAC;AAChG,OAAO,EACH,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,EAC1B,MAAM,8BAA8B,CAAC;AAkBtC,SAAS,cAAc,CAAC,UAAkB,EAAE,WAAmB;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,mBAAmB,CACxB,QAAgB,EAChB,WAAmB,EACnB,aAAkC;IAElC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,OAAO,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC;QAC1C,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QACtD,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAC1B,QAAgB,EAChB,WAAmB,EACnB,OAAsC,EACtC,OAA0B;IAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpF,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,OAAO;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,cAAc,CAAC,OAAO;QAC/C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,OAA8B;IACxE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACrC,OAAO,qBAAqB,CACxB,QAAQ,EACR,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CAAC,OAAO,EAC3B,OAAO,CAAC,WAAW,CAAC,OAAO,CAC9B,CAAC;IACN,CAAC;IAED,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,cAAc,CAAC,OAAO;QACpE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5F,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAA8B;IAC/E,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QACjF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,qBAAqB,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC;AACxF,CAAC;AAED,KAAK,UAAU,eAAe,CAC1B,OAA8B,EAC9B,WAAoE;IAEpE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QAC3C,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,OAAO,EAAE,WAAW,CAAC,OAAO;KAC/B,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,YAAY,IAAI,YAAY,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEjE,IAAI,MAAM,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/C,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAS,eAAe,CAAC,OAA8B,EAAE,YAAiC;IACtF,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEhC,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,MAAM,CAAC,QAAgB;YACnB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE5C,OAAO,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAmB;YACjC,IAAI,0BAA0B,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAA8B;IAQvE,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;QAC9C,OAAO;QACP,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;QAChD,aAAa,CAAC,QAAQ;YAClB,OAAO,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,WAAW,EAAE,OAAO,CAAC,WAAW;KACnC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG;QACpB,GAAG,OAAO;QACV,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE;KAC/E,CAAC;IACF,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK;QAC3D,CAAC,CAAC,MAAM,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,WAAW,CAAC;QACrE,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;IACxB,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEnD,OAAO;QACH,GAAG;QACH,OAAO;QACP,aAAa,CAAC,KAAK;YACf,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,KAAK;YACf,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,0BAA0B,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEhE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;QACL,CAAC;QACD,UAAU,CAAC,UAAU,EAAE,IAAI;YACvB,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC/D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACvF,CAAC,CAAC,UAAU,CAAC;QACrB,CAAC;QACD,cAAc,CAAC,UAAU;YACrB,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAEjE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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
|
-
|
|
25
|
-
return
|
|
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
|
-
|
|
54
|
-
return
|
|
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":"AACA,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"current-process-run-orchestrator.js","sourceRoot":"","sources":["../../../../source/run/current-process-run-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
|
@@ -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 === '
|
|
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,
|
|
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"}
|
|
@@ -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
|