@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,76 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
export const serializedPropertyKeySchema = z.strictObject({ kind: z.enum(['string', 'symbol']), value: z.string() });
|
|
3
|
+
const truncationSchema = z
|
|
4
|
+
.strictObject({
|
|
5
|
+
budget: z.number(),
|
|
6
|
+
reason: z.enum([
|
|
7
|
+
'array-entries',
|
|
8
|
+
'object-entries',
|
|
9
|
+
'depth',
|
|
10
|
+
'serialized-bytes',
|
|
11
|
+
'string-bytes',
|
|
12
|
+
'visited-nodes'
|
|
13
|
+
])
|
|
14
|
+
})
|
|
15
|
+
.nullable();
|
|
16
|
+
const byteFields = { bytes: z.array(z.number()), byteLength: z.number(), truncation: truncationSchema };
|
|
17
|
+
export const serializedValueSchema = z.lazy(function () {
|
|
18
|
+
const properties = z.array(z.strictObject({ key: serializedPropertyKeySchema, value: serializedValueSchema }));
|
|
19
|
+
return z.discriminatedUnion('kind', [
|
|
20
|
+
z.strictObject({ kind: z.literal('null') }),
|
|
21
|
+
z.strictObject({ kind: z.literal('undefined') }),
|
|
22
|
+
z.strictObject({ kind: z.literal('boolean'), value: z.boolean() }),
|
|
23
|
+
z.strictObject({ kind: z.literal('bigint'), value: z.string() }),
|
|
24
|
+
z.strictObject({ kind: z.literal('symbol'), value: z.string() }),
|
|
25
|
+
z.strictObject({
|
|
26
|
+
kind: z.literal('number'),
|
|
27
|
+
value: z.union([z.number(), z.enum(['-0', '-Infinity', 'Infinity', 'NaN'])])
|
|
28
|
+
}),
|
|
29
|
+
z.strictObject({ kind: z.literal('string'), value: z.string(), truncation: truncationSchema }),
|
|
30
|
+
z.strictObject({ kind: z.literal('function'), id: z.number(), name: z.string().nullable() }),
|
|
31
|
+
z.strictObject({ kind: z.literal('circular'), reference: z.number() }),
|
|
32
|
+
z.strictObject({ kind: z.literal('date'), value: z.string().nullable() }),
|
|
33
|
+
z.strictObject({ kind: z.literal('opaque'), type: z.enum(['promise', 'weak-map', 'weak-set']) }),
|
|
34
|
+
z.strictObject({ kind: z.literal('regexp'), flags: z.string(), source: z.string() }),
|
|
35
|
+
z.strictObject({ kind: z.literal('unavailable'), reason: z.string() }),
|
|
36
|
+
z.strictObject({
|
|
37
|
+
kind: z.literal('object'),
|
|
38
|
+
constructorName: z.string(),
|
|
39
|
+
entries: properties,
|
|
40
|
+
truncation: truncationSchema
|
|
41
|
+
}),
|
|
42
|
+
z.strictObject({
|
|
43
|
+
kind: z.literal('error'),
|
|
44
|
+
name: z.string(),
|
|
45
|
+
message: z.string(),
|
|
46
|
+
entries: properties,
|
|
47
|
+
truncation: truncationSchema
|
|
48
|
+
}),
|
|
49
|
+
z.strictObject({
|
|
50
|
+
kind: z.literal('array'),
|
|
51
|
+
entries: properties,
|
|
52
|
+
length: z.number(),
|
|
53
|
+
truncation: truncationSchema
|
|
54
|
+
}),
|
|
55
|
+
z.strictObject({
|
|
56
|
+
kind: z.literal('map'),
|
|
57
|
+
entries: z.array(z.strictObject({ key: serializedValueSchema, value: serializedValueSchema })),
|
|
58
|
+
size: z.number(),
|
|
59
|
+
truncation: truncationSchema
|
|
60
|
+
}),
|
|
61
|
+
z.strictObject({
|
|
62
|
+
kind: z.literal('set'),
|
|
63
|
+
size: z.number(),
|
|
64
|
+
values: z.array(serializedValueSchema),
|
|
65
|
+
truncation: truncationSchema
|
|
66
|
+
}),
|
|
67
|
+
z.strictObject({ kind: z.enum(['array-buffer', 'data-view']), ...byteFields }),
|
|
68
|
+
z.strictObject({
|
|
69
|
+
kind: z.literal('typed-array'),
|
|
70
|
+
constructorName: z.string(),
|
|
71
|
+
length: z.number(),
|
|
72
|
+
...byteFields
|
|
73
|
+
})
|
|
74
|
+
]);
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=serialized-value-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialized-value-schema.js","sourceRoot":"","sources":["../../../../source/run/serialized-value-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,QAAQ,EAAE,QAAQ,CAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACvH,MAAM,gBAAgB,GAAG,CAAC;KACrB,YAAY,CAAC;IACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,eAAe;QACf,gBAAgB;QAChB,OAAO;QACP,kBAAkB;QAClB,cAAc;QACd,eAAe;KAClB,CAAC;CACL,CAAC;KACD,QAAQ,EAAE,CAAC;AAChB,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAExG,MAAM,CAAC,MAAM,qBAAqB,GAA+B,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;IAC/G,OAAO,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAChC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAChE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAChE,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAE,CAAC,CAAE,CAAC;SACnF,CAAC;QACF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;QAC9F,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5F,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAE,CAAC,EAAE,CAAC;QAClG,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACpF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtE,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;YAC3B,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,gBAAgB;SAC/B,CAAC;QACF,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,gBAAgB;SAC/B,CAAC;QACF,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,gBAAgB;SAC/B,CAAC;QACF,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAC9F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,UAAU,EAAE,gBAAgB;SAC/B,CAAC;QACF,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;YACtC,UAAU,EAAE,gBAAgB;SAC/B,CAAC;QACF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,cAAc,EAAE,WAAW,CAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;QAChF,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,GAAG,UAAU;SAChB,CAAC;KACL,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { preparedResourceAttachments, currentAttachmentLimits } from "../packages/resources/attachment-context.entry-point.js";
|
|
2
|
+
import { snapshotAttachmentJson } from "./attachment-json.js";
|
|
3
|
+
async function retainWitness(target, snapshot, witness) {
|
|
4
|
+
const metadata = { name: 'scenario-witness', mediaType: 'application/json' };
|
|
5
|
+
if (snapshot === null) {
|
|
6
|
+
return await target.json(metadata, witness);
|
|
7
|
+
}
|
|
8
|
+
const writer = await target.open({ ...metadata, kind: 'binary' });
|
|
9
|
+
await writer.write(Buffer.from(snapshot.encoded));
|
|
10
|
+
return await writer.close();
|
|
11
|
+
}
|
|
12
|
+
export function simulationWitnessAttachments(attachments, resource, work, attempt) {
|
|
13
|
+
return {
|
|
14
|
+
...attachments,
|
|
15
|
+
async witness(input) {
|
|
16
|
+
const target = preparedResourceAttachments(resource, { kind: 'attempt', work, attempt }, 'native', 'witness');
|
|
17
|
+
if (target === null) {
|
|
18
|
+
throw new TypeError('Simulation witnesses require runner-managed integration execution.');
|
|
19
|
+
}
|
|
20
|
+
const limits = currentAttachmentLimits();
|
|
21
|
+
if (limits === null) {
|
|
22
|
+
throw new TypeError('Simulation witnesses require attachment limits.');
|
|
23
|
+
}
|
|
24
|
+
const witness = {
|
|
25
|
+
...input,
|
|
26
|
+
version: 1,
|
|
27
|
+
case: work.case,
|
|
28
|
+
kind: 'simulation',
|
|
29
|
+
resource: { name: resource },
|
|
30
|
+
seed: input.seed === null ? null : input.seed.toString()
|
|
31
|
+
};
|
|
32
|
+
const snapshot = snapshotAttachmentJson(witness, limits.maxArtifactBytes);
|
|
33
|
+
const artifact = await retainWitness(target, snapshot, witness);
|
|
34
|
+
return { ...artifact, id: { ...artifact.id, subtype: 'witness' }, source: 'native' };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=simulation-witness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulation-witness.js","sourceRoot":"","sources":["../../../../source/run/simulation-witness.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,2BAA2B,EAC3B,uBAAuB,EAC1B,MAAM,yDAAyD,CAAC;AAIjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,KAAK,UAAU,aAAa,CACxB,MAA0B,EAC1B,QAAmD,EACnD,OAAgB;IAEhB,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAC7E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,OAAO,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,4BAA4B,CACxC,WAA+B,EAC/B,QAAgB,EAChB,IAAY,EACZ,OAAkB;IAElB,OAAO;QACH,GAAG,WAAW;QACd,KAAK,CAAC,OAAO,CAAC,KAAK;YACf,MAAM,MAAM,GAAG,2BAA2B,CACtC,QAAQ,EACR,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAClC,QAAQ,EACR,SAAS,CACZ,CAAC;YACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,SAAS,CAAC,oEAAoE,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,OAAO,GAAG;gBACZ,GAAG,KAAK;gBACR,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;aAC3D,CAAC;YACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChE,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACzF,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { crashError } from "./supervised-run-resource-policy.js";
|
|
2
|
+
export function recordChildProtocolFailure(state, reason, observedAtMicroseconds, restricted) {
|
|
3
|
+
const activeAttempts = Array.from(state.activeCases.values(), function affectedAttempt(active) {
|
|
4
|
+
return { attempt: active.attempt, case: active.id, work: active.workId };
|
|
5
|
+
});
|
|
6
|
+
state.recordRunnerError({
|
|
7
|
+
attributedTo: null,
|
|
8
|
+
attributedToAttempt: null,
|
|
9
|
+
attributedToWork: null,
|
|
10
|
+
cause: { activeAttempts, capability: 'child-process', reason, strictness: 'observed' },
|
|
11
|
+
diagnostics: [{ label: 'strictness', value: 'observed' }],
|
|
12
|
+
message: reason,
|
|
13
|
+
subtype: restricted ? 'runtime-policy' : 'crash'
|
|
14
|
+
});
|
|
15
|
+
state.recordTerminalActiveCases('crashed', observedAtMicroseconds);
|
|
16
|
+
}
|
|
17
|
+
export function recordPrematureChildExit(child, state, observedAtMicroseconds) {
|
|
18
|
+
const code = String(child.exitCode);
|
|
19
|
+
const signal = String(child.signalCode);
|
|
20
|
+
state.recordRunnerError({
|
|
21
|
+
...crashError(state, `Supervised child terminated without successful protocol completion (code: ${code}, signal: ${signal}).`),
|
|
22
|
+
diagnostics: [{ label: 'exit-code', value: code }, { label: 'signal', value: signal }]
|
|
23
|
+
});
|
|
24
|
+
state.recordTerminalActiveCases('crashed', observedAtMicroseconds);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=supervised-child-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervised-child-failure.js","sourceRoot":"","sources":["../../../../source/run/supervised-child-failure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGjE,MAAM,UAAU,0BAA0B,CACtC,KAAyB,EACzB,MAAc,EACd,sBAA8B,EAC9B,UAAmB;IAEnB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,eAAe,CAAC,MAAM;QACzF,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,iBAAiB,CAAC;QACpB,YAAY,EAAE,IAAI;QAClB,mBAAmB,EAAE,IAAI;QACzB,gBAAgB,EAAE,IAAI;QACtB,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;QACtF,WAAW,EAAE,CAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,CAAE;QAC3D,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO;KACnD,CAAC,CAAC;IACH,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,KAA6B,EAC7B,KAAyB,EACzB,sBAA8B;IAE9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAExC,KAAK,CAAC,iBAAiB,CAAC;QACpB,GAAG,UAAU,CACT,KAAK,EACL,6EAA6E,IAAI,aAAa,MAAM,IAAI,CAC3G;QACD,WAAW,EAAE,CAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAE;KAC3F,CAAC,CAAC;IACH,KAAK,CAAC,yBAAyB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -9,6 +9,8 @@ export type SupervisedChildCoverage = {
|
|
|
9
9
|
};
|
|
10
10
|
type SupervisedChildEventListener = {
|
|
11
11
|
readonly error: (error: Error) => void;
|
|
12
|
+
readonly close: () => void;
|
|
13
|
+
readonly disconnect: () => void;
|
|
12
14
|
readonly exit: () => void;
|
|
13
15
|
readonly message: (message: unknown) => void;
|
|
14
16
|
};
|
|
@@ -22,6 +24,7 @@ type SupervisedChildProcessOutput = {
|
|
|
22
24
|
readonly on: (event: 'data', listener: (chunk: Uint8Array) => void) => unknown;
|
|
23
25
|
};
|
|
24
26
|
export type SupervisedChildProcess = {
|
|
27
|
+
readonly closeTransport: () => void;
|
|
25
28
|
readonly exitCode: number | null;
|
|
26
29
|
readonly kill: (signal: 'SIGKILL') => unknown;
|
|
27
30
|
readonly on: (...registration: SupervisedChildListenerRegistration) => unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervised-child-process.d.ts","sourceRoot":"","sources":["../../../../source/run/supervised-child-process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"supervised-child-process.d.ts","sourceRoot":"","sources":["../../../../source/run/supervised-child-process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAE3F,OAAO,KAAK,EAAE,aAAsC,EAAE,MAAM,gBAAgB,CAAC;MAQvE,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,WAAW,EAAE;QAClB,QAAQ,CAAC,0BAA0B,EAAE,GAAG,CAAC;QACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACrC,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACvC,QAAQ,EAAE,KAAK,IAAI,MAAM,4BAA4B,GAAG,SAAS;QAC7D,KAAK;QACL,4BAA4B,CAAC,KAAK,CAAC;KACtC;CACJ,CAAC,MAAM,4BAA4B,CAAC,CAAC;AAEtC,KAAK,4BAA4B,GAAG;IAChC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,KAAK,OAAO,CAAC;CAClF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,EAAE,mCAAmC,KAAK,OAAO,CAAC;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAC;CACxD,CAAC;AAEF,wBAAgB,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAKxD;KAEW,eAKP,YAiD2B,GAAG;IAC/B,QAAQ,CAAC,sBAAsB,EAAE;QAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACtC,CAAC;MASI,MAAM,6BAAyC,GAGlC,QAGJ,EAAE,eACR,YAK+B,KACnC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAOrC,MAAM,CAAqC,EAGtC,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { dirname, join } from 'node:path';
|
|
2
|
+
import { startChildShutdown } from "./child-process-shutdown.js";
|
|
2
3
|
import { childRoleArgument, supervisedChildRole } from "./child-process-roles.js";
|
|
3
4
|
import { crashError } from "./supervised-run-resource-policy.js";
|
|
4
5
|
import { remainingHardTimeoutMilliseconds } from "./supervised-run-state.js";
|
|
5
6
|
export function kill(child) {
|
|
7
|
+
startChildShutdown(child);
|
|
6
8
|
if (child.pid !== undefined && child.exitCode === null && child.signalCode === null) {
|
|
7
9
|
child.kill('SIGKILL');
|
|
8
10
|
}
|
|
@@ -48,7 +50,7 @@ function sanitizedMicrotestEnvironment(environmentVariables) {
|
|
|
48
50
|
return environment;
|
|
49
51
|
}
|
|
50
52
|
export function sanitizedChildEnvironment(environmentVariables, testFamily) {
|
|
51
|
-
if (testFamily
|
|
53
|
+
if (testFamily !== 'microtest') {
|
|
52
54
|
return definedEnvironmentVariables(environmentVariables);
|
|
53
55
|
}
|
|
54
56
|
return sanitizedMicrotestEnvironment(environmentVariables);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervised-child-process.js","sourceRoot":"","sources":["../../../../source/run/supervised-child-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"supervised-child-process.js","sourceRoot":"","sources":["../../../../source/run/supervised-child-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { childProcessEnvelope, envelopeMessage } from "./child-process-protocol.js";
|
|
2
|
+
import { observeChildShutdown, startChildShutdown } from "./child-process-shutdown.js";
|
|
3
|
+
import { recordChildProtocolFailure, recordPrematureChildExit } from "./supervised-child-failure.js";
|
|
4
|
+
import { kill } from "./supervised-child-process.js";
|
|
5
|
+
import { supervisedChildCorrelationId } from "./supervised-protocol.js";
|
|
6
|
+
import { supervisedChildMessageSchema } from "./supervised-protocol-schema.js";
|
|
7
|
+
function successfulChildExit(child) {
|
|
8
|
+
return (child.exitCode === null || child.exitCode === 0) && child.signalCode === null;
|
|
9
|
+
}
|
|
10
|
+
function createSupervisedObserver(transport) {
|
|
11
|
+
const observations = { reportedFailure: false, boundaryFailure: false };
|
|
12
|
+
function recordFailure(reason, restricted) {
|
|
13
|
+
if (!observations.boundaryFailure) {
|
|
14
|
+
transport.terminalFailure.write(true);
|
|
15
|
+
observations.boundaryFailure = true;
|
|
16
|
+
recordChildProtocolFailure(transport.state, reason, Number(transport.wallClock.currentMonotonicMicroseconds), restricted);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function fail(reason, restricted) {
|
|
20
|
+
if (observations.boundaryFailure) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
recordFailure(reason, restricted);
|
|
24
|
+
kill(transport.child);
|
|
25
|
+
transport.interrupted();
|
|
26
|
+
}
|
|
27
|
+
function failureReport(message) {
|
|
28
|
+
return message.kind === 'event' && message.event.kind === 'runner-error';
|
|
29
|
+
}
|
|
30
|
+
function terminalReport(message) {
|
|
31
|
+
return message.kind === 'result' || failureReport(message);
|
|
32
|
+
}
|
|
33
|
+
function deliver(message) {
|
|
34
|
+
if (transport.terminalFailure.read() && !terminalReport(message)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (!transport.accept(message)) {
|
|
38
|
+
fail('Invalid supervised child IPC lifecycle.', transport.restricted);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (failureReport(message)) {
|
|
42
|
+
observations.reportedFailure = true;
|
|
43
|
+
}
|
|
44
|
+
transport.receive(message);
|
|
45
|
+
if (transport.completed()) {
|
|
46
|
+
startChildShutdown(transport.child);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function receiveValidatedMessage(message) {
|
|
50
|
+
const decoded = envelopeMessage(message, supervisedChildCorrelationId, supervisedChildMessageSchema);
|
|
51
|
+
if (decoded !== null) {
|
|
52
|
+
deliver(decoded);
|
|
53
|
+
}
|
|
54
|
+
else if (transport.restricted) {
|
|
55
|
+
fail('Runtime policy violation: unexpected supervised child IPC message.', true);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function shouldReportPrematureExit() {
|
|
59
|
+
return !observations.reportedFailure && !observations.boundaryFailure &&
|
|
60
|
+
transport.state.runnerErrors().every(function alreadyReportedCrash(error) {
|
|
61
|
+
return error.subtype !== 'crash';
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function recordIncompleteExit() {
|
|
65
|
+
const alreadyFailed = transport.terminalFailure.read();
|
|
66
|
+
transport.terminalFailure.write(true);
|
|
67
|
+
if (alreadyFailed && successfulChildExit(transport.child) && !observations.reportedFailure) {
|
|
68
|
+
transport.interrupted();
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const observedAtMicroseconds = Number(transport.wallClock.currentMonotonicMicroseconds);
|
|
72
|
+
if (shouldReportPrematureExit()) {
|
|
73
|
+
recordPrematureChildExit(transport.child, transport.state, observedAtMicroseconds);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
transport.state.recordTerminalActiveCases('crashed', observedAtMicroseconds);
|
|
77
|
+
}
|
|
78
|
+
transport.interrupted();
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
fail,
|
|
82
|
+
timeout() {
|
|
83
|
+
recordFailure('Supervised child shutdown exceeded one second.', false);
|
|
84
|
+
transport.interrupted();
|
|
85
|
+
},
|
|
86
|
+
receive(message) {
|
|
87
|
+
if (observations.boundaryFailure) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
receiveValidatedMessage(message);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
fail(error instanceof Error ? error.message : 'Invalid supervised child IPC payload.', transport.restricted);
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
exit() {
|
|
98
|
+
if (!transport.completed() || !successfulChildExit(transport.child)) {
|
|
99
|
+
recordIncompleteExit();
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
disconnect() {
|
|
103
|
+
if (!transport.completed()) {
|
|
104
|
+
recordIncompleteExit();
|
|
105
|
+
kill(transport.child);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export function observeSupervisedTransport(transport) {
|
|
111
|
+
const observer = createSupervisedObserver(transport);
|
|
112
|
+
transport.child.on('message', observer.receive);
|
|
113
|
+
transport.child.on('error', function recordChildError(error) {
|
|
114
|
+
observer.fail(error.message, false);
|
|
115
|
+
});
|
|
116
|
+
transport.child.on('disconnect', observer.disconnect);
|
|
117
|
+
observeChildShutdown(transport.child, transport.wallClock, observer.timeout, function finishAfterDraining() {
|
|
118
|
+
observer.exit();
|
|
119
|
+
transport.finished();
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
export function sendSupervisedCommand(child, command) {
|
|
123
|
+
child.send(childProcessEnvelope(supervisedChildCorrelationId, command));
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=supervised-child-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervised-child-transport.js","sourceRoot":"","sources":["../../../../source/run/supervised-child-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,54 +1,60 @@
|
|
|
1
1
|
import { createClock } from '@enormora/clock';
|
|
2
|
-
import {
|
|
2
|
+
import { createChildProcessOutbox } from "./child-process-outbox.js";
|
|
3
|
+
import { supervisedParentMessageSchema } from "./supervised-protocol-schema.js";
|
|
4
|
+
import { envelopeMessage } from "./child-process-protocol.js";
|
|
3
5
|
import { readProcessEnvironment, readWebStorage } from "./node-host-readers.js";
|
|
4
6
|
import { loadRunEngineModule, loadRunTestModules, runDiscovery } from "./node-run-dependencies.entry-point.js";
|
|
5
|
-
import {
|
|
7
|
+
import { observeProcessIpcListeners } from "./node-process-policy-observation.js";
|
|
6
8
|
import { createNodeResourceUsageTracker } from "./resource-usage.js";
|
|
7
9
|
import { runSupervisedChild } from "./supervised-child.js";
|
|
8
10
|
import { supervisedChildCorrelationId } from "./supervised-protocol.js";
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
+
const ownedMessageListeners = new WeakSet();
|
|
12
|
+
const outbox = createChildProcessOutbox(supervisedChildCorrelationId, {
|
|
13
|
+
disconnect: process.disconnect?.bind(process) ?? null,
|
|
14
|
+
send: process.send?.bind(process) ?? null
|
|
15
|
+
});
|
|
11
16
|
function send(message) {
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
function disconnect() {
|
|
15
|
-
disconnectProcess?.();
|
|
17
|
+
outbox.send(message);
|
|
16
18
|
}
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
+
async function disconnect() {
|
|
20
|
+
await outbox.disconnect();
|
|
19
21
|
}
|
|
20
|
-
function
|
|
21
|
-
return
|
|
22
|
-
Object.hasOwn(message, 'kind') &&
|
|
23
|
-
(message.kind === 'collect' || message.kind === 'run');
|
|
22
|
+
function supervisedParentMessage(message) {
|
|
23
|
+
return envelopeMessage(message, supervisedChildCorrelationId, supervisedParentMessageSchema);
|
|
24
24
|
}
|
|
25
|
-
function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
function readCommand(message) {
|
|
26
|
+
const decoded = supervisedParentMessage(message);
|
|
27
|
+
if (decoded?.kind === 'run' || decoded?.kind === 'collect') {
|
|
28
|
+
return decoded;
|
|
29
|
+
}
|
|
30
|
+
throw new Error('Expected a supervised child command.');
|
|
29
31
|
}
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
+
function readAssignment(message) {
|
|
33
|
+
const decoded = supervisedParentMessage(message);
|
|
34
|
+
if (decoded?.kind === 'assign') {
|
|
35
|
+
return decoded;
|
|
36
|
+
}
|
|
37
|
+
throw new Error('Expected a supervised child assignment.');
|
|
32
38
|
}
|
|
33
|
-
async function
|
|
34
|
-
return new Promise(function
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
async function receiveParentMessage(read) {
|
|
40
|
+
return new Promise(function waitForParentMessage(resolve, reject) {
|
|
41
|
+
const listener = function receiveMessage(message) {
|
|
42
|
+
try {
|
|
43
|
+
resolve(read(message));
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
reject(error instanceof Error ? error : new Error('Invalid parent IPC payload.'));
|
|
39
47
|
}
|
|
40
|
-
}
|
|
48
|
+
};
|
|
49
|
+
ownedMessageListeners.add(listener);
|
|
50
|
+
process.once('message', listener);
|
|
41
51
|
});
|
|
42
52
|
}
|
|
53
|
+
async function receiveCommand() {
|
|
54
|
+
return receiveParentMessage(readCommand);
|
|
55
|
+
}
|
|
43
56
|
async function receiveAssignment() {
|
|
44
|
-
return
|
|
45
|
-
process.once('message', function receiveAssignmentCommand(message) {
|
|
46
|
-
const parentMessage = supervisedParentMessage(message);
|
|
47
|
-
if (isAssignmentCommand(parentMessage)) {
|
|
48
|
-
resolve(parentMessage);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
});
|
|
57
|
+
return receiveParentMessage(readAssignment);
|
|
52
58
|
}
|
|
53
59
|
function validatePermissionHost(command) {
|
|
54
60
|
if (command.capabilityRestrictions.mode === 'disabled') {
|
|
@@ -73,11 +79,13 @@ await runSupervisedChild({
|
|
|
73
79
|
disconnect,
|
|
74
80
|
discoverRunFiles: runDiscovery.discoverRunFiles,
|
|
75
81
|
dropBodyReadPermission,
|
|
76
|
-
|
|
77
|
-
return
|
|
82
|
+
observeIpcListeners(record) {
|
|
83
|
+
return observeProcessIpcListeners(process, record, ownedMessageListeners);
|
|
78
84
|
},
|
|
79
|
-
|
|
80
|
-
return
|
|
85
|
+
observeProcessExit() {
|
|
86
|
+
return function stopObservingChildExit() {
|
|
87
|
+
return undefined;
|
|
88
|
+
};
|
|
81
89
|
},
|
|
82
90
|
readEnvironment() {
|
|
83
91
|
return readProcessEnvironment(process);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervised-child.entry-point.js","sourceRoot":"","sources":["../../../../source/run/supervised-child.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"supervised-child.entry-point.js","sourceRoot":"","sources":["../../../../source/run/supervised-child.entry-point.ts"],"names":[],"mappings":"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"}
|
package/run/supervised-child.js
CHANGED
|
@@ -60,8 +60,8 @@ function createRuntimePolicy(command, host) {
|
|
|
60
60
|
return command.capabilityRestrictions.mode === 'enabled'
|
|
61
61
|
? createRuntimeCapabilityPolicy({
|
|
62
62
|
dependencies: {
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
observeIpcListeners: host.observeIpcListeners,
|
|
64
|
+
observeProcessExit: host.observeProcessExit,
|
|
65
65
|
readEnvironment: host.readEnvironment,
|
|
66
66
|
readStorage: host.readStorage
|
|
67
67
|
},
|
|
@@ -202,7 +202,7 @@ async function runReceivedCommand(command, host, dependencies) {
|
|
|
202
202
|
host.setExitCode(1);
|
|
203
203
|
}
|
|
204
204
|
finally {
|
|
205
|
-
host.disconnect();
|
|
205
|
+
await host.disconnect();
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
208
|
export async function runSupervisedChild(host, dependencies) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervised-child.js","sourceRoot":"","sources":["../../../../source/run/supervised-child.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"supervised-child.js","sourceRoot":"","sources":["../../../../source/run/supervised-child.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { caseIdSchema, workIdSchema } from "./run-identity-schema.js";
|
|
3
|
+
import { executionCommandFields } from "./run-command-schema.js";
|
|
4
|
+
import { collectedRunPlanSchema } from "./collected-run-plan-schema.js";
|
|
5
|
+
import { reporterEventSchema } from "./reporter-event-schema.js";
|
|
6
|
+
import { runResultSchema, runnerErrorSchema } from "./run-result-schema.js";
|
|
7
|
+
import { resourceUsageSnapshotSchema, runTimingSpanSchema } from "./run-runtime-schema.js";
|
|
8
|
+
import { attachmentEndpointSchema } from "./attachment-wire-schema.js";
|
|
9
|
+
const commandSchema = z.strictObject({
|
|
10
|
+
...executionCommandFields,
|
|
11
|
+
kind: z.enum(['collect', 'run']),
|
|
12
|
+
capabilityRestrictions: z.strictObject({ mode: z.enum(['disabled', 'enabled']) }),
|
|
13
|
+
capture: z.enum(['buffered', 'live'])
|
|
14
|
+
});
|
|
15
|
+
const assignmentSchema = z.union([
|
|
16
|
+
z.strictObject({
|
|
17
|
+
kind: z.literal('assign'),
|
|
18
|
+
assignedWork: z.array(workIdSchema),
|
|
19
|
+
attachmentEndpoint: attachmentEndpointSchema.nullable()
|
|
20
|
+
}),
|
|
21
|
+
z.strictObject({
|
|
22
|
+
kind: z.literal('assign'),
|
|
23
|
+
assignedCases: z.array(caseIdSchema),
|
|
24
|
+
attachmentEndpoint: attachmentEndpointSchema.nullable()
|
|
25
|
+
})
|
|
26
|
+
]);
|
|
27
|
+
export const supervisedParentMessageSchema = z.union([
|
|
28
|
+
commandSchema,
|
|
29
|
+
assignmentSchema
|
|
30
|
+
]);
|
|
31
|
+
export const supervisedChildMessageSchema = z.discriminatedUnion('kind', [
|
|
32
|
+
z.strictObject({
|
|
33
|
+
kind: z.literal('collected'),
|
|
34
|
+
collectedPlan: collectedRunPlanSchema,
|
|
35
|
+
runnerErrors: z.array(runnerErrorSchema)
|
|
36
|
+
}),
|
|
37
|
+
z.strictObject({ kind: z.literal('event'), event: reporterEventSchema }),
|
|
38
|
+
z.strictObject({ kind: z.literal('result'), result: runResultSchema }),
|
|
39
|
+
z.strictObject({ kind: z.literal('sample'), sample: resourceUsageSnapshotSchema }),
|
|
40
|
+
z.strictObject({ kind: z.literal('timing'), span: runTimingSpanSchema })
|
|
41
|
+
]);
|
|
42
|
+
//# sourceMappingURL=supervised-protocol-schema.js.map
|