@overkill-dev/run 0.0.65 → 0.0.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/config/benchmark-execution.js +30 -0
- package/config/benchmark-execution.js.map +1 -0
- package/config/config-error.d.ts +4 -0
- package/config/config-error.d.ts.map +1 -0
- package/config/config-error.js +7 -0
- package/config/config-error.js.map +1 -0
- package/config/config.d.ts +57 -0
- package/config/config.d.ts.map +1 -0
- package/{run/run-config.js → config/config.js} +54 -19
- package/config/config.js.map +1 -0
- package/{run/coverage-config-schema.d.ts → config/coverage-schema.d.ts} +5 -5
- package/config/coverage-schema.d.ts.map +1 -0
- package/{run/coverage-config-schema.js → config/coverage-schema.js} +1 -1
- package/config/coverage-schema.js.map +1 -0
- package/{run/run-config-defaults.js → config/defaults.js} +6 -1
- package/config/defaults.js.map +1 -0
- package/{run/run-execution-config.d.ts → config/execution.d.ts} +5 -7
- package/config/execution.d.ts.map +1 -0
- package/config/host-process.js +41 -0
- package/config/host-process.js.map +1 -0
- package/config/profile-file-discovery.js +88 -0
- package/config/profile-file-discovery.js.map +1 -0
- package/{run/profile-config-normalization.js → config/profile-normalization.js} +13 -13
- package/config/profile-normalization.js.map +1 -0
- package/{run/profile-file-glob.js → config/profile-patterns.js} +6 -10
- package/config/profile-patterns.js.map +1 -0
- package/{run/run-config-schema.d.ts → config/schema.d.ts} +206 -26
- package/config/schema.d.ts.map +1 -0
- package/{run/run-config-schema.js → config/schema.js} +38 -12
- package/config/schema.js.map +1 -0
- package/config/snapshot.js +204 -0
- package/config/snapshot.js.map +1 -0
- package/config/types.d.ts +157 -0
- package/config/types.d.ts.map +1 -0
- package/config/validation.js +91 -0
- package/config/validation.js.map +1 -0
- package/{run/work-distribution-config.js → config/work-distribution.js} +3 -3
- package/config/work-distribution.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 +30 -9
- package/packages/resources/attachment-context.entry-point.js +1 -1
- package/packages/resources/attachment-context.entry-point.js.map +1 -1
- package/packages/run/command-line.entry-point.d.ts +5 -3
- package/packages/run/command-line.entry-point.d.ts.map +1 -1
- package/packages/run/command-line.entry-point.js +28 -7
- package/packages/run/command-line.entry-point.js.map +1 -1
- package/packages/run/config.entry-point.d.ts +8 -6
- package/packages/run/config.entry-point.d.ts.map +1 -1
- package/packages/run/config.entry-point.js +4 -4
- package/packages/run/config.entry-point.js.map +1 -1
- package/packages/run/run.entry-point.d.ts +6 -4
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +3 -3
- package/packages/run/run.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 +56 -14
- 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-eligibility.js +1 -1
- package/run/attachment-eligibility.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-record.js +2 -2
- package/run/attachment-record.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/benchmark-commands.d.ts +10 -0
- package/run/benchmark-commands.d.ts.map +1 -0
- package/run/benchmark-commands.js +82 -0
- package/run/benchmark-commands.js.map +1 -0
- 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-outbox.js +36 -0
- package/run/child-process-outbox.js.map +1 -0
- 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/command-line-command-namespace.d.ts.map +1 -1
- package/run/command-line-command-namespace.js.map +1 -1
- package/run/command-line-command.d.ts +26 -18
- package/run/command-line-command.d.ts.map +1 -1
- package/run/command-line-command.js +3 -2
- package/run/command-line-command.js.map +1 -1
- package/run/command-line-config.d.ts +5 -0
- package/run/command-line-config.d.ts.map +1 -0
- package/run/command-line-config.js +51 -0
- package/run/command-line-config.js.map +1 -0
- package/run/command-line-execution.js +82 -0
- package/run/command-line-execution.js.map +1 -0
- package/run/command-line-runner.d.ts +4 -5
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +6 -124
- package/run/command-line-runner.js.map +1 -1
- package/run/command-line-unimplemented-commands.js +1 -8
- package/run/command-line-unimplemented-commands.js.map +1 -1
- package/run/coverage-loaded-sources.js +8 -9
- package/run/coverage-loaded-sources.js.map +1 -1
- package/run/coverage-method-ranges.js +100 -0
- package/run/coverage-method-ranges.js.map +1 -0
- package/run/coverage-paths.js.map +1 -1
- package/run/coverage-reporting.js.map +1 -1
- package/run/coverage-runtime-source.js +68 -25
- package/run/coverage-runtime-source.js.map +1 -1
- package/run/coverage-session.js.map +1 -1
- package/run/coverage-source-map.js +2 -3
- package/run/coverage-source-map.js.map +1 -1
- package/run/coverage-source-selection.js +12 -6
- package/run/coverage-source-selection.js.map +1 -1
- package/run/coverage-tokens.js +26 -0
- package/run/coverage-tokens.js.map +1 -0
- 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/duration-history-schema.js +1 -1
- package/run/duration-history-schema.js.map +1 -1
- 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-command-line-runner.d.ts +1 -1
- package/run/node-command-line-runner.d.ts.map +1 -1
- package/run/node-command-line-runner.js +18 -10
- package/run/node-command-line-runner.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/request-snapshot.js +40 -0
- package/run/request-snapshot.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-collected-planning.js +9 -0
- package/run/run-collected-planning.js.map +1 -1
- package/run/run-collected-resolution.js.map +1 -1
- package/run/run-collection-error-result.js +4 -3
- 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-coverage.js.map +1 -1
- package/run/run-discovery-types.d.ts +2 -2
- package/run/run-discovery-types.d.ts.map +1 -1
- package/run/run-discovery.js +14 -96
- package/run/run-discovery.js.map +1 -1
- package/run/run-engine-primitives.d.ts.map +1 -1
- package/run/run-errors.d.ts +7 -7
- package/run/run-errors.d.ts.map +1 -1
- package/run/run-errors.js +17 -6
- package/run/run-errors.js.map +1 -1
- package/run/run-facts.js +5 -70
- package/run/run-facts.js.map +1 -1
- package/run/run-host-process.js +1 -40
- package/run/run-host-process.js.map +1 -1
- package/run/run-identity-schema.js +38 -0
- package/run/run-identity-schema.js.map +1 -0
- package/run/run-if-main-options.js.map +1 -1
- package/run/run-if-main-profile.d.ts +8 -10
- package/run/run-if-main-profile.d.ts.map +1 -1
- package/run/run-if-main-profile.js +25 -112
- package/run/run-if-main-profile.js.map +1 -1
- package/run/run-if-main.d.ts.map +1 -1
- package/run/run-if-main.js.map +1 -1
- package/run/run-in-process-execution.js +2 -0
- package/run/run-in-process-execution.js.map +1 -1
- package/run/run-input-resolution.js +11 -6
- package/run/run-input-resolution.js.map +1 -1
- package/run/run-isolated-command.js +2 -2
- package/run/run-isolated-command.js.map +1 -1
- package/run/run-isolated-process.js +12 -7
- package/run/run-isolated-process.js.map +1 -1
- package/run/run-local-command.js +23 -13
- 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-local-execution.js.map +1 -1
- package/run/run-local-resolution.js +1 -3
- package/run/run-local-resolution.js.map +1 -1
- package/run/run-local-test-plan.js.map +1 -1
- package/run/run-orchestrator-dependencies.d.ts +4 -4
- package/run/run-orchestrator-dependencies.d.ts.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-ordering.js.map +1 -1
- package/run/run-process-engine.js.map +1 -1
- package/run/run-profile-facts.js +62 -0
- package/run/run-profile-facts.js.map +1 -0
- package/run/run-record-types.d.ts +5 -4
- package/run/run-record-types.d.ts.map +1 -1
- package/run/run-record-versions.js +1 -30
- package/run/run-record-versions.js.map +1 -1
- package/run/run-reporter-resolution.js +4 -1
- package/run/run-reporter-resolution.js.map +1 -1
- package/run/run-result-reporting.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-selection.js.map +1 -1
- package/run/run-supervised-process.js +3 -4
- package/run/run-supervised-process.js.map +1 -1
- package/run/run-support.js +5 -222
- package/run/run-support.js.map +1 -1
- package/run/run-types.d.ts +40 -166
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/run/run-validation.js +4 -63
- package/run/run-validation.js.map +1 -1
- package/run/run.d.ts.map +1 -1
- package/run/run.js +32 -16
- package/run/run.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 +3 -1
- 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 +47 -39
- package/run/supervised-child.entry-point.js.map +1 -1
- package/run/supervised-child.js +3 -3
- 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-protocol.js.map +1 -1
- package/run/supervised-run-collection.js +33 -30
- package/run/supervised-run-collection.js.map +1 -1
- package/run/supervised-run-resource-policy.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/test-profile.js +21 -0
- package/run/test-profile.js.map +1 -0
- package/run/work-unit-identity.js.map +1 -1
- package/run/work-unit-planning.js +6 -6
- package/run/work-unit-planning.js.map +1 -1
- package/run/work-unit-resource-constraints.js +1 -1
- package/run/work-unit-resource-constraints.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 +43 -8
- package/run/worker-pool-host.entry-point.js.map +1 -1
- package/run/worker-pool-lanes.js.map +1 -1
- package/run/worker-pool-lifecycle-lanes.js.map +1 -1
- package/run/worker-pool-placement-planning.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-runtime.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 +27 -44
- 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/coverage-config-schema.d.ts.map +0 -1
- package/run/coverage-config-schema.js.map +0 -1
- package/run/node-process-capability-restrictions.js +0 -92
- package/run/node-process-capability-restrictions.js.map +0 -1
- package/run/profile-config-normalization.js.map +0 -1
- package/run/profile-file-glob.js.map +0 -1
- package/run/run-config-defaults.js.map +0 -1
- package/run/run-config-schema.d.ts.map +0 -1
- package/run/run-config-schema.js.map +0 -1
- package/run/run-config.d.ts +0 -62
- package/run/run-config.d.ts.map +0 -1
- package/run/run-config.js.map +0 -1
- package/run/run-execution-config.d.ts.map +0 -1
- package/run/work-distribution-config.js.map +0 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { serializedPropertyKeySchema, serializedValueSchema } from "./serialized-value-schema.js";
|
|
3
|
+
export const diffPathSchema = z.array(z.discriminatedUnion('kind', [
|
|
4
|
+
z.strictObject({ kind: z.literal('byte'), offset: z.number() }),
|
|
5
|
+
z.strictObject({ kind: z.literal('index'), index: z.number() }),
|
|
6
|
+
z.strictObject({ kind: z.enum(['map-key', 'map-value']), key: serializedValueSchema }),
|
|
7
|
+
z.strictObject({ kind: z.literal('property'), key: serializedPropertyKeySchema }),
|
|
8
|
+
z.strictObject({ kind: z.literal('set-value'), value: serializedValueSchema })
|
|
9
|
+
]));
|
|
10
|
+
const add = z.strictObject({ operation: z.literal('add'), path: diffPathSchema, value: serializedValueSchema });
|
|
11
|
+
const remove = z.strictObject({ operation: z.literal('remove'), path: diffPathSchema, value: serializedValueSchema });
|
|
12
|
+
const replace = z.strictObject({
|
|
13
|
+
operation: z.literal('replace'),
|
|
14
|
+
path: diffPathSchema,
|
|
15
|
+
from: serializedValueSchema,
|
|
16
|
+
to: serializedValueSchema
|
|
17
|
+
});
|
|
18
|
+
const member = z.strictObject({ operation: z.literal('missing-member'), value: serializedValueSchema });
|
|
19
|
+
export const diffSchema = z.discriminatedUnion('kind', [
|
|
20
|
+
z.strictObject({
|
|
21
|
+
kind: z.literal('array'),
|
|
22
|
+
operations: z.array(z.union([
|
|
23
|
+
add,
|
|
24
|
+
remove,
|
|
25
|
+
replace,
|
|
26
|
+
member,
|
|
27
|
+
z.strictObject({ operation: z.literal('missing-index'), index: z.number(), value: serializedValueSchema })
|
|
28
|
+
]))
|
|
29
|
+
}),
|
|
30
|
+
z.strictObject({
|
|
31
|
+
kind: z.literal('map'),
|
|
32
|
+
operations: z.array(z.union([
|
|
33
|
+
add,
|
|
34
|
+
remove,
|
|
35
|
+
replace,
|
|
36
|
+
z.strictObject({
|
|
37
|
+
operation: z.literal('missing-entry'),
|
|
38
|
+
key: serializedValueSchema,
|
|
39
|
+
value: serializedValueSchema
|
|
40
|
+
})
|
|
41
|
+
]))
|
|
42
|
+
}),
|
|
43
|
+
z.strictObject({
|
|
44
|
+
kind: z.literal('object'),
|
|
45
|
+
operations: z.array(z.union([
|
|
46
|
+
add,
|
|
47
|
+
remove,
|
|
48
|
+
replace,
|
|
49
|
+
z.strictObject({
|
|
50
|
+
operation: z.literal('missing-property'),
|
|
51
|
+
path: diffPathSchema,
|
|
52
|
+
value: serializedValueSchema
|
|
53
|
+
})
|
|
54
|
+
]))
|
|
55
|
+
}),
|
|
56
|
+
z.strictObject({ kind: z.literal('set'), operations: z.array(z.union([add, remove, member])) }),
|
|
57
|
+
z.strictObject({
|
|
58
|
+
kind: z.literal('binary'),
|
|
59
|
+
actualHash: z.string(),
|
|
60
|
+
actualSize: z.number(),
|
|
61
|
+
expectedHash: z.string(),
|
|
62
|
+
expectedSize: z.number(),
|
|
63
|
+
ranges: z.array(z.strictObject({ actual: z.array(z.number()), expected: z.array(z.number()), offset: z.number() }))
|
|
64
|
+
}),
|
|
65
|
+
z.strictObject({
|
|
66
|
+
kind: z.literal('string'),
|
|
67
|
+
actual: z.string(),
|
|
68
|
+
expected: z.string(),
|
|
69
|
+
hunks: z.array(z.strictObject({
|
|
70
|
+
actualStart: z.number(),
|
|
71
|
+
added: z.array(z.string()),
|
|
72
|
+
expectedStart: z.number(),
|
|
73
|
+
removed: z.array(z.string())
|
|
74
|
+
}))
|
|
75
|
+
}),
|
|
76
|
+
z.strictObject({ kind: z.literal('value'), actual: serializedValueSchema, expected: serializedValueSchema })
|
|
77
|
+
]);
|
|
78
|
+
//# sourceMappingURL=diff-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-schema.js","sourceRoot":"","sources":["../../../../source/run/diff-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ const metadataSchema = z
|
|
|
44
44
|
]),
|
|
45
45
|
profile: z.string(),
|
|
46
46
|
scheduling: z.union([z.literal('concurrent'), z.literal('serial')]),
|
|
47
|
-
testFamily: z.
|
|
47
|
+
testFamily: z.enum(['benchmark', 'integration', 'microtest']),
|
|
48
48
|
workerLifecycle: z.union([z.literal('fresh-worker-per-unit'), z.literal('reuse')]).nullable()
|
|
49
49
|
})
|
|
50
50
|
.readonly();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duration-history-schema.js","sourceRoot":"","sources":["../../../../source/run/duration-history-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAC5C,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvE,MAAM,YAAY,GAAG,CAAC;KACjB,YAAY,CAAC;IACV,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,eAAe,GAAG,CAAC;KACpB,YAAY,CAAC;IACV,UAAU,EAAE,kBAAkB;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,qBAAqB,GAAG,CAAC;KAC1B,YAAY,CAAC;IACV,UAAU,EAAE,kBAAkB;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,QAAQ,EAAE;KACV,SAAS,CAAC,SAAS,mBAAmB,CAAC,OAAO;IAC3C,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC;AACP,MAAM,gBAAgB,GAAG,CAAC;KACrB,YAAY,CAAC;IACV,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,kBAAkB;CAC7B,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,cAAc,GAAG,CAAC;KACnB,YAAY,CAAC;IACV,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACvB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAE,CAAC;IACrE,UAAU,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"duration-history-schema.js","sourceRoot":"","sources":["../../../../source/run/duration-history-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"}
|
|
@@ -6,7 +6,7 @@ type NodeCommandLineStartSupervisedChild = CurrentProcessRunOrchestratorDependen
|
|
|
6
6
|
type NodeCommandLineStartWorkerPoolHost = CurrentProcessRunOrchestratorDependencies['startWorkerPoolHost'];
|
|
7
7
|
type NodeCommandLineRunnerDependencies = {
|
|
8
8
|
readonly discoverRunFilesWithProjectRoot: NodeCommandLineRunDiscovery;
|
|
9
|
-
readonly
|
|
9
|
+
readonly loadConfig: CommandLineRunnerDependencies['loadConfig'];
|
|
10
10
|
readonly loadRunEngineModule: CurrentProcessRunOrchestratorDependencies['loadRunEngineModule'];
|
|
11
11
|
readonly loadRunTestModules: CurrentProcessRunOrchestratorDependencies['loadRunTestModules'];
|
|
12
12
|
readonly startSupervisedChild: NodeCommandLineStartSupervisedChild;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/node-command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEH,KAAK,yCAAyC,EACjD,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"node-command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/node-command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEH,KAAK,yCAAyC,EACjD,MAAM,uCAAuC,CAAC;AAK/C,KAAK,2BAA2B,GAAG,yCAAyC,CAAC,iCAAiC,CAAC,CAAC;AAChH,KAAK,mCAAmC,GAAG,yCAAyC,CAAC,sBAAsB,CAAC,CAAC;AAC7G,KAAK,kCAAkC,GAAG,yCAAyC,CAAC,qBAAqB,CAAC,CAAC;AAE3G,KAAK,iCAAiC,GAAG;IACrC,QAAQ,CAAC,+BAA+B,EAAE,2BAA2B,CAAC;IACtE,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACjE,QAAQ,CAAC,mBAAmB,EAAE,yCAAyC,CAAC,qBAAqB,CAAC,CAAC;IAC/F,QAAQ,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,oBAAoB,CAAC,CAAC;IAC7F,QAAQ,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;IACnE,QAAQ,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,4BAA4B,GAAG;IACpE,QAAQ,CAAC,YAAY,EAAE,iCAAiC,CAAC;CAC5D,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,GAAG,iBAAiB,CAwBhG"}
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import { createCommandLineRunner, loadDefaultLineReporter } from "./command-line-runner.js";
|
|
2
2
|
import { createCurrentProcessRunOrchestrator } from "./current-process-run-orchestrator.js";
|
|
3
|
-
import { loadUnimplementedBaselineCommands
|
|
3
|
+
import { loadUnimplementedBaselineCommands } from "./command-line-unimplemented-commands.js";
|
|
4
4
|
export function createNodeCommandLineRunner(input) {
|
|
5
|
+
const orchestrator = createCurrentProcessRunOrchestrator(input.defaultEngine, {
|
|
6
|
+
discoverRunFilesWithProjectRoot: input.dependencies.discoverRunFilesWithProjectRoot,
|
|
7
|
+
loadRunEngineModule: input.dependencies.loadRunEngineModule,
|
|
8
|
+
loadRunTestModules: input.dependencies.loadRunTestModules,
|
|
9
|
+
startSupervisedChild: input.dependencies.startSupervisedChild,
|
|
10
|
+
startWorkerPoolHost: input.dependencies.startWorkerPoolHost
|
|
11
|
+
});
|
|
5
12
|
return createCommandLineRunner({
|
|
6
13
|
createDefaultReporter: loadDefaultLineReporter,
|
|
7
14
|
loadBaselineCommands: loadUnimplementedBaselineCommands,
|
|
8
|
-
loadBenchmarkCommands
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
async loadBenchmarkCommands() {
|
|
16
|
+
const { createBenchmarkCommands } = await import("./benchmark-commands.js");
|
|
17
|
+
return createBenchmarkCommands({
|
|
18
|
+
createDefaultReporter: loadDefaultLineReporter,
|
|
19
|
+
loadConfig: input.dependencies.loadConfig,
|
|
20
|
+
orchestrator
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
loadConfig: input.dependencies.loadConfig,
|
|
24
|
+
orchestrator
|
|
17
25
|
});
|
|
18
26
|
}
|
|
19
27
|
//# sourceMappingURL=node-command-line-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/node-command-line-runner.ts"],"names":[],"mappings":"AACA,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EAG1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,mCAAmC,EAEtC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,iCAAiC,
|
|
1
|
+
{"version":3,"file":"node-command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/node-command-line-runner.ts"],"names":[],"mappings":"AACA,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EAG1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,mCAAmC,EAEtC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,iCAAiC,EACpC,MAAM,0CAA0C,CAAC;AAuBlD,MAAM,UAAU,2BAA2B,CAAC,KAAiC;IACzE,MAAM,YAAY,GAAG,mCAAmC,CAAC,KAAK,CAAC,aAAa,EAAE;QAC1E,+BAA+B,EAAE,KAAK,CAAC,YAAY,CAAC,+BAA+B;QACnF,mBAAmB,EAAE,KAAK,CAAC,YAAY,CAAC,mBAAmB;QAC3D,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,kBAAkB;QACzD,oBAAoB,EAAE,KAAK,CAAC,YAAY,CAAC,oBAAoB;QAC7D,mBAAmB,EAAE,KAAK,CAAC,YAAY,CAAC,mBAAmB;KAC9D,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC;QAC3B,qBAAqB,EAAE,uBAAuB;QAC9C,oBAAoB,EAAE,iCAAiC;QACvD,KAAK,CAAC,qBAAqB;YACvB,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAE5E,OAAO,uBAAuB,CAAC;gBAC3B,qBAAqB,EAAE,uBAAuB;gBAC9C,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;gBACzC,YAAY;aACf,CAAC,CAAC;QACP,CAAC;QACD,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;QACzC,YAAY;KACf,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { writeSync } from 'node:fs';
|
|
2
|
+
import { formatCaseId } from "../engine/identity.js";
|
|
3
|
+
export function observeProcessIpcListeners(processObject, record, ownedListeners) {
|
|
4
|
+
function observeListener(event, listener) {
|
|
5
|
+
if (event === 'message' && !ownedListeners.has(listener)) {
|
|
6
|
+
try {
|
|
7
|
+
record('Runtime policy violation: process message listener was registered.');
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
processObject.on('newListener', observeListener);
|
|
14
|
+
return function stopObservingIpcListeners() {
|
|
15
|
+
processObject.removeListener('newListener', observeListener);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const stderrDescriptor = 2;
|
|
19
|
+
const exitDiagnosticLimit = 4096;
|
|
20
|
+
function writeExitDiagnostic(record) {
|
|
21
|
+
const error = record('Runtime policy violation: process exited before restricted execution completed.');
|
|
22
|
+
const attribution = error.attributedTo === null ? '' : ` Case: ${formatCaseId(error.attributedTo)}.`;
|
|
23
|
+
const attempt = error.attributedToAttempt === null ? '' : ` Attempt: ${error.attributedToAttempt.index}.`;
|
|
24
|
+
// eslint-disable-next-line node/no-sync -- Exit listeners cannot flush asynchronous writes.
|
|
25
|
+
writeSync(stderrDescriptor, Buffer.from(`${error.message}${attribution}${attempt}\n`).subarray(0, exitDiagnosticLimit));
|
|
26
|
+
}
|
|
27
|
+
export function observeProcessExit(record) {
|
|
28
|
+
function reportPrematureExit(code) {
|
|
29
|
+
if (code === 0) {
|
|
30
|
+
process.exitCode = 1;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
writeExitDiagnostic(record);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
process.on('exit', reportPrematureExit);
|
|
39
|
+
return function stopObservingProcessExit() {
|
|
40
|
+
process.removeListener('exit', reportPrematureExit);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=node-process-policy-observation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-process-policy-observation.js","sourceRoot":"","sources":["../../../../source/run/node-process-policy-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,MAAM,UAAU,0BAA0B,CACtC,aAA4B,EAC5B,MAAiC,EACjC,cAA6D;IAE7D,SAAS,eAAe,CAAC,KAAsB,EAAE,QAAoC;QACjF,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC;gBACD,MAAM,CAAC,oEAAoE,CAAC,CAAC;YACjF,CAAC;YAAC,MAAM,CAAC;YACT,CAAC;QACL,CAAC;IACL,CAAC;IAED,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAEjD,OAAO,SAAS,yBAAyB;QACrC,aAAa,CAAC,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACjE,CAAC,CAAC;AACN,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,SAAS,mBAAmB,CAAC,MAAwC;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,iFAAiF,CAAC,CAAC;IACxG,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;IACrG,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,mBAAmB,CAAC,KAAK,GAAG,CAAC;IAC1G,4FAA4F;IAC5F,SAAS,CACL,gBAAgB,EAChB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,WAAW,GAAG,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAC7F,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,MAAwC;IAExC,SAAS,mBAAmB,CAAC,IAAY;QACrC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACD,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;QACT,CAAC;IACL,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAExC,OAAO,SAAS,wBAAwB;QACpC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACxD,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -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,40 @@
|
|
|
1
|
+
import { copyResourceBudgets } from "../config/snapshot.js";
|
|
2
|
+
import { copyRunSelection } from "./run-selection-filters.js";
|
|
3
|
+
function copyRunShard(shard) {
|
|
4
|
+
return {
|
|
5
|
+
index: shard.index,
|
|
6
|
+
total: shard.total
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function copyResourceBudgetOverrides(overrides) {
|
|
10
|
+
if (overrides === null) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return copyResourceBudgets(overrides);
|
|
14
|
+
}
|
|
15
|
+
export function copyRunRequest(request) {
|
|
16
|
+
return {
|
|
17
|
+
baselineUpdateMode: request.baselineUpdateMode,
|
|
18
|
+
capabilityRestrictions: { mode: request.capabilityRestrictions.mode },
|
|
19
|
+
capture: request.capture,
|
|
20
|
+
coverage: request.coverage,
|
|
21
|
+
debug: {
|
|
22
|
+
mode: request.debug.mode,
|
|
23
|
+
selectors: []
|
|
24
|
+
},
|
|
25
|
+
execution: { mode: request.execution.mode },
|
|
26
|
+
measureResourceUsage: request.measureResourceUsage,
|
|
27
|
+
order: request.order,
|
|
28
|
+
paths: Array.from(request.paths),
|
|
29
|
+
profile: request.profile,
|
|
30
|
+
resourceBudgetOverrides: copyResourceBudgetOverrides(request.resourceBudgetOverrides),
|
|
31
|
+
resourceUsageSamplingIntervalMilliseconds: request.resourceUsageSamplingIntervalMilliseconds,
|
|
32
|
+
seed: { value: request.seed.value },
|
|
33
|
+
selection: copyRunSelection(request.selection),
|
|
34
|
+
shard: copyRunShard(request.shard),
|
|
35
|
+
timingCollection: request.timingCollection,
|
|
36
|
+
verbose: request.verbose,
|
|
37
|
+
workers: request.workers
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=request-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-snapshot.js","sourceRoot":"","sources":["../../../../source/run/request-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,SAAS,YAAY,CAAC,KAAe;IACjC,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;KACrB,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAiC;IAClE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAmB;IAC9C,OAAO;QACH,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE;QACrE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE;YACH,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YACxB,SAAS,EAAE,EAAE;SAChB;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,uBAAuB,EAAE,2BAA2B,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACrF,yCAAyC,EAAE,OAAO,CAAC,yCAAyC;QAC5F,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;QACnC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AttachmentOperationError } from "./attachment-failure.js";
|
|
2
|
+
export function resourceDisposalCauses(error) {
|
|
3
|
+
if (error instanceof AggregateError) {
|
|
4
|
+
const causes = error.errors;
|
|
5
|
+
return causes.flatMap(resourceDisposalCauses);
|
|
6
|
+
}
|
|
7
|
+
return [error];
|
|
8
|
+
}
|
|
9
|
+
function resourceDisposalError(error) {
|
|
10
|
+
if (error instanceof AttachmentOperationError) {
|
|
11
|
+
const failure = error.take();
|
|
12
|
+
return failure === null ? [] : [failure];
|
|
13
|
+
}
|
|
14
|
+
return [{
|
|
15
|
+
attributedToAttempt: null,
|
|
16
|
+
attributedTo: null,
|
|
17
|
+
attributedToWork: null,
|
|
18
|
+
cause: error,
|
|
19
|
+
diagnostics: [],
|
|
20
|
+
message: 'Resource disposal failed.',
|
|
21
|
+
subtype: 'runtime-policy'
|
|
22
|
+
}];
|
|
23
|
+
}
|
|
24
|
+
export function resourceDisposalErrors(error) {
|
|
25
|
+
return resourceDisposalCauses(error).flatMap(resourceDisposalError);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=resource-disposal-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-disposal-error.js","sourceRoot":"","sources":["../../../../source/run/resource-disposal-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QAClC,MAAM,MAAM,GAAuB,KAAK,CAAC,MAAM,CAAC;QAChD,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAE,KAAK,CAAE,CAAC;AACrB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,OAAO,CAAE,CAAC;IAC/C,CAAC;IACD,OAAO,CAAE;YACL,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE,IAAI;YACtB,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,gBAAgB;SAC5B,CAAE,CAAC;AACR,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACjD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { preparedResourceAttachments } from "../packages/resources/attachment-context.entry-point.js";
|
|
2
|
+
import { runWithTranscriptScope } from "../transcript/transcript-store.js";
|
|
3
|
+
import { prepareResourceFailureArtifacts } from "../resources/failure-artifacts.js";
|
|
4
|
+
import { resolvedResourceScenarioBindings } from "../resources/resource-scenario-binding.js";
|
|
5
|
+
import { AttachmentOperationError } from "./attachment-failure.js";
|
|
6
|
+
import { simulationWitnessAttachments } from "./simulation-witness.js";
|
|
7
|
+
function attemptScenarioBindings(record, testCase) {
|
|
8
|
+
const selected = Object.fromEntries(testCase.workId.runtimes.flatMap(function runtimeScenarios(runtime) {
|
|
9
|
+
return Object.entries(runtime.scenarios);
|
|
10
|
+
}));
|
|
11
|
+
return Object.fromEntries(Object.entries(resolvedResourceScenarioBindings(record.descriptor)).map(function resolvedSlot([name, value]) {
|
|
12
|
+
return [name, selected[name] ?? value];
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
export async function prepareAttemptResource(record, testCase, attempt) {
|
|
16
|
+
if (record.external) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const attachments = preparedResourceAttachments(record.descriptor.name, {
|
|
20
|
+
kind: 'attempt',
|
|
21
|
+
work: testCase.workId,
|
|
22
|
+
attempt
|
|
23
|
+
}, 'instrumented', 'attachment');
|
|
24
|
+
if (attachments === null) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const controller = new AbortController();
|
|
28
|
+
await prepareResourceFailureArtifacts(record.descriptor, {
|
|
29
|
+
kind: 'attempt',
|
|
30
|
+
handle: record.ownerHandle,
|
|
31
|
+
resource: record.descriptor.name,
|
|
32
|
+
scenarios: attemptScenarioBindings(record, testCase),
|
|
33
|
+
signal: controller.signal,
|
|
34
|
+
work: testCase.workId,
|
|
35
|
+
attempt,
|
|
36
|
+
attachments: simulationWitnessAttachments(attachments, record.descriptor.name, testCase.workId, attempt)
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async function prepareLifetimeCapture(record, capture) {
|
|
40
|
+
try {
|
|
41
|
+
await runWithTranscriptScope(null, async function prepareLifetimeEvidence() {
|
|
42
|
+
await prepareResourceFailureArtifacts(record.descriptor, capture);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
throw new AttachmentOperationError('Failure artifact preparation failed.', {
|
|
47
|
+
cause: { resource: record.descriptor.name, cause: error },
|
|
48
|
+
drift: false,
|
|
49
|
+
subtype: 'artifact',
|
|
50
|
+
owner: { kind: 'run' }
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export async function prepareLifetimeResource(record) {
|
|
55
|
+
if (record.external || record.descriptor.scope === 'per-case') {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const attachments = preparedResourceAttachments(record.descriptor.name, {
|
|
59
|
+
kind: 'resource',
|
|
60
|
+
resource: record.descriptor.name,
|
|
61
|
+
boundary: record.boundary.key
|
|
62
|
+
}, 'instrumented', 'attachment');
|
|
63
|
+
if (attachments !== null) {
|
|
64
|
+
const controller = new AbortController();
|
|
65
|
+
await prepareLifetimeCapture(record, {
|
|
66
|
+
kind: 'lifetime',
|
|
67
|
+
handle: record.ownerHandle,
|
|
68
|
+
resource: record.descriptor.name,
|
|
69
|
+
scenarios: resolvedResourceScenarioBindings(record.descriptor),
|
|
70
|
+
signal: controller.signal,
|
|
71
|
+
attachments
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export function resourcePreparationError(resource, testCase, attempt, cause) {
|
|
76
|
+
if (cause instanceof AttachmentOperationError) {
|
|
77
|
+
return cause;
|
|
78
|
+
}
|
|
79
|
+
return new AttachmentOperationError('Failure artifact preparation failed.', {
|
|
80
|
+
cause: { resource, cause },
|
|
81
|
+
drift: false,
|
|
82
|
+
subtype: 'artifact',
|
|
83
|
+
owner: { kind: 'case', work: testCase.workId, attempt }
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=resource-failure-preparation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-failure-preparation.js","sourceRoot":"","sources":["../../../../source/run/resource-failure-preparation.ts"],"names":[],"mappings":"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"}
|