@overkill-dev/run 0.0.82 → 0.0.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/assertion-protocol/source-location.js +4 -0
  2. package/assertion-protocol/source-location.js.map +1 -1
  3. package/bench/timeline-schema.d.ts +43 -0
  4. package/bench/timeline-schema.d.ts.map +1 -0
  5. package/bench/timeline-schema.js +28 -0
  6. package/bench/timeline-schema.js.map +1 -0
  7. package/engine/assertion-recorder.d.ts +12 -0
  8. package/engine/assertion-recorder.d.ts.map +1 -0
  9. package/engine/async-control.d.ts.map +1 -1
  10. package/engine/async-control.js +10 -1
  11. package/engine/async-control.js.map +1 -1
  12. package/engine/benchmark-result.d.ts +5 -0
  13. package/engine/benchmark-result.d.ts.map +1 -1
  14. package/engine/benchmark-result.js.map +1 -1
  15. package/engine/benchmark-timeline.d.ts +12 -0
  16. package/engine/benchmark-timeline.d.ts.map +1 -0
  17. package/engine/case-body-execution.js +139 -3
  18. package/engine/case-body-execution.js.map +1 -1
  19. package/engine/case-execution.d.ts.map +1 -1
  20. package/engine/case-execution.js +61 -189
  21. package/engine/case-execution.js.map +1 -1
  22. package/engine/case-interruption.js +26 -0
  23. package/engine/case-interruption.js.map +1 -0
  24. package/engine/execution-observation.js +15 -1
  25. package/engine/execution-observation.js.map +1 -1
  26. package/engine/execution-supervision-state.js +5 -0
  27. package/engine/execution-supervision-state.js.map +1 -1
  28. package/engine/execution-supervision.d.ts.map +1 -1
  29. package/engine/execution-supervision.js +7 -7
  30. package/engine/execution-supervision.js.map +1 -1
  31. package/engine/execution-test-plan-cases.js +4 -2
  32. package/engine/execution-test-plan-cases.js.map +1 -1
  33. package/engine/native-resource-observation.js +70 -0
  34. package/engine/native-resource-observation.js.map +1 -0
  35. package/engine/resource-owner-observation.js +8 -8
  36. package/engine/resource-owner-observation.js.map +1 -1
  37. package/engine/test-scope-lifecycle.js +9 -7
  38. package/engine/test-scope-lifecycle.js.map +1 -1
  39. package/file-store.d.ts +7 -0
  40. package/file-store.d.ts.map +1 -0
  41. package/package.json +4 -2
  42. package/packages/run/benchmark-calibration.entry-point.d.ts +1 -0
  43. package/packages/run/benchmark-calibration.entry-point.d.ts.map +1 -1
  44. package/packages/run/benchmark-calibration.entry-point.js +1 -0
  45. package/packages/run/benchmark-calibration.entry-point.js.map +1 -1
  46. package/packages/run/run.entry-point.d.ts +3 -0
  47. package/packages/run/run.entry-point.d.ts.map +1 -1
  48. package/packages/run/run.entry-point.js +3 -0
  49. package/packages/run/run.entry-point.js.map +1 -1
  50. package/readme.md +16 -1
  51. package/run/attachment-eligibility.js +8 -4
  52. package/run/attachment-eligibility.js.map +1 -1
  53. package/run/benchmark-definition-schema.js +4 -1
  54. package/run/benchmark-definition-schema.js.map +1 -1
  55. package/run/benchmark-placement.js +11 -2
  56. package/run/benchmark-placement.js.map +1 -1
  57. package/run/benchmark-result-schema.js +2 -0
  58. package/run/benchmark-result-schema.js.map +1 -1
  59. package/run/collected-run-plan.js +6 -13
  60. package/run/collected-run-plan.js.map +1 -1
  61. package/run/execution-session-collected.js +10 -3
  62. package/run/execution-session-collected.js.map +1 -1
  63. package/run/execution-session-observation.js +9 -3
  64. package/run/execution-session-observation.js.map +1 -1
  65. package/run/execution-session-schema.js +8 -2
  66. package/run/execution-session-schema.js.map +1 -1
  67. package/run/execution-session-supervised.js +10 -2
  68. package/run/execution-session-supervised.js.map +1 -1
  69. package/run/execution-session-types.d.ts +2 -0
  70. package/run/execution-session-types.d.ts.map +1 -1
  71. package/run/execution-session.js +4 -4
  72. package/run/execution-session.js.map +1 -1
  73. package/run/file-module-boundary.d.ts.map +1 -1
  74. package/run/file-module-boundary.js +36 -3
  75. package/run/file-module-boundary.js.map +1 -1
  76. package/run/run-artifact-schema.d.ts +3 -0
  77. package/run/run-artifact-schema.d.ts.map +1 -0
  78. package/run/run-artifact-schema.js +3 -0
  79. package/run/run-artifact-schema.js.map +1 -1
  80. package/run/run-record-result.d.ts +8 -0
  81. package/run/run-record-result.d.ts.map +1 -0
  82. package/run/run-record-result.js +79 -17
  83. package/run/run-record-result.js.map +1 -1
  84. package/run/run-result-schema.d.ts.map +1 -1
  85. package/run/run-result-schema.js +14 -9
  86. package/run/run-result-schema.js.map +1 -1
  87. package/software-bill-of-materials.cyclonedx.json +4 -4
  88. package/engine/infrastructure-resource-observation.js +0 -55
  89. package/engine/infrastructure-resource-observation.js.map +0 -1
@@ -1,28 +1,70 @@
1
+ import { z } from 'zod/v4';
2
+ import { resolveSourceLocations } from "../assertion-protocol/source-location.js";
1
3
  import { serializeValue } from "../compare/serialized-value.js";
2
- function recordedFailure(failure) {
4
+ import { runDiagnosticsSchema } from "./run-result-schema.js";
5
+ import { serializedValueSchema } from "./serialized-value-schema.js";
6
+ function recordedCheck(check, convert) {
7
+ if (check.kind === 'foreign') {
8
+ return { ...check, error: { ...check.error, thrown: convert(check.error.thrown) } };
9
+ }
10
+ if (check.kind === 'composite') {
11
+ const [first, ...remaining] = check.children;
12
+ return {
13
+ ...check,
14
+ children: [
15
+ recordedCheck(first, convert),
16
+ ...remaining.map(function recordChild(child) {
17
+ return recordedCheck(child, convert);
18
+ })
19
+ ]
20
+ };
21
+ }
22
+ return check;
23
+ }
24
+ function recordedFailure(failure, convert) {
3
25
  if (failure.kind === 'body-error' || failure.kind === 'cleanup-error') {
4
- return { ...failure, error: { ...failure.error, thrown: serializeValue(failure.error.thrown) } };
26
+ return { ...failure, error: { ...failure.error, thrown: convert(failure.error.thrown) } };
5
27
  }
6
- return failure.kind === 'test-contract' ? { ...failure, actual: serializeValue(failure.actual) } : failure;
28
+ if (failure.kind === 'assertion') {
29
+ const [first, ...remaining] = failure.checks;
30
+ return {
31
+ ...failure,
32
+ checks: [
33
+ recordedCheck(first, convert),
34
+ ...remaining.map(function recordCheck(check) {
35
+ return recordedCheck(check, convert);
36
+ })
37
+ ]
38
+ };
39
+ }
40
+ return failure.kind === 'test-contract' ? { ...failure, actual: convert(failure.actual) } : failure;
7
41
  }
8
- function recordedOutcome(outcome) {
42
+ function recordedOutcome(outcome, convert) {
9
43
  if (outcome?.kind !== 'fail') {
10
44
  return outcome;
11
45
  }
12
46
  const [first, ...remaining] = outcome.failures;
13
- return { ...outcome, failures: [recordedFailure(first), ...remaining.map(recordedFailure)] };
47
+ return {
48
+ ...outcome,
49
+ failures: [
50
+ recordedFailure(first, convert),
51
+ ...remaining.map(function recordFailure(failure) {
52
+ return recordedFailure(failure, convert);
53
+ })
54
+ ]
55
+ };
14
56
  }
15
57
  function isHedgedConflict(artifact) {
16
58
  return artifact.payload.kind === 'hedged-conflict';
17
59
  }
18
- function recordedAttempts(attempts) {
60
+ function recordedAttempts(attempts, convert) {
19
61
  function recordAttempt(attempt) {
20
- return { ...attempt, outcome: recordedOutcome(attempt.outcome) };
62
+ return { ...attempt, outcome: recordedOutcome(attempt.outcome, convert) };
21
63
  }
22
64
  const [first, ...remaining] = attempts;
23
65
  return [recordAttempt(first), ...remaining.map(recordAttempt)];
24
66
  }
25
- function recordedArtifact(artifact) {
67
+ function recordedArtifact(artifact, convert) {
26
68
  if (!isHedgedConflict(artifact)) {
27
69
  return artifact;
28
70
  }
@@ -32,27 +74,47 @@ function recordedArtifact(artifact) {
32
74
  ...artifact.payload,
33
75
  authoritative: {
34
76
  ...artifact.payload.authoritative,
35
- attempts: recordedAttempts(artifact.payload.authoritative.attempts),
36
- outcome: recordedOutcome(artifact.payload.authoritative.outcome)
77
+ attempts: recordedAttempts(artifact.payload.authoritative.attempts, convert),
78
+ outcome: recordedOutcome(artifact.payload.authoritative.outcome, convert)
37
79
  },
38
80
  conflicting: {
39
81
  ...artifact.payload.conflicting,
40
- attempts: recordedAttempts(artifact.payload.conflicting.attempts),
41
- outcome: recordedOutcome(artifact.payload.conflicting.outcome)
82
+ attempts: recordedAttempts(artifact.payload.conflicting.attempts, convert),
83
+ outcome: recordedOutcome(artifact.payload.conflicting.outcome, convert)
42
84
  }
43
85
  }
44
86
  };
45
87
  }
46
- export function recordedRunResult(result) {
88
+ function convertedDiagnostics(result, convert) {
47
89
  return {
48
- ...result,
49
- artifacts: result.artifacts.map(recordedArtifact),
90
+ artifacts: result.artifacts.map(function recordArtifact(artifact) {
91
+ return recordedArtifact(artifact, convert);
92
+ }),
50
93
  perTest: result.perTest.map(function recordTestOutcome(test) {
51
- return { ...test, attempts: recordedAttempts(test.attempts), outcome: recordedOutcome(test.outcome) };
94
+ return {
95
+ ...test,
96
+ definitionLocations: resolveSourceLocations(test.definitionLocations),
97
+ attempts: recordedAttempts(test.attempts, convert),
98
+ outcome: recordedOutcome(test.outcome, convert)
99
+ };
52
100
  }),
53
101
  runnerErrors: result.runnerErrors.map(function recordErrorCause(error) {
54
- return { ...error, cause: serializeValue(error.cause) };
102
+ return { ...error, cause: convert(error.cause) };
55
103
  })
56
104
  };
57
105
  }
106
+ const serializedDiagnosticsSchema = z.intersection(runDiagnosticsSchema.transform(function parseDiagnosticValues(diagnostics) {
107
+ return convertedDiagnostics(diagnostics, function parseValue(value) {
108
+ return serializedValueSchema.parse(value);
109
+ });
110
+ }), z.record(z.string(), z.json()));
111
+ export function serializeRunDiagnostics(result) {
112
+ return serializedDiagnosticsSchema.parse(convertedDiagnostics(result, serializeValue));
113
+ }
114
+ export function parseSerializedRunDiagnostics(value) {
115
+ return serializedDiagnosticsSchema.parse(value);
116
+ }
117
+ export function recordedRunResult(result) {
118
+ return { ...result, ...convertedDiagnostics(result, serializeValue) };
119
+ }
58
120
  //# sourceMappingURL=run-record-result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-record-result.js","sourceRoot":"","sources":["../../../../source/run/run-record-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-record-result.js","sourceRoot":"","sources":["../../../../source/run/run-record-result.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-result-schema.d.ts","sourceRoot":"","sources":["../../../../source/run/run-result-schema.ts"],"names":[],"mappings":"AAAA,YACY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOtE,wBAoEgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAExD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAE5D"}
1
+ {"version":3,"file":"run-result-schema.d.ts","sourceRoot":"","sources":["../../../../source/run/run-result-schema.ts"],"names":[],"mappings":"AAAA,YACY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOtE,wBAyEgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAExD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAE5D"}
@@ -28,15 +28,8 @@ export const runnerErrorSchema = z.strictObject({
28
28
  'unhandled-rejection'
29
29
  ])
30
30
  });
31
- export const runResultSchema = z.strictObject({
31
+ const diagnosticFields = {
32
32
  artifacts: z.array(runArtifactSchema),
33
- bySuite: z.record(z.string(), z.strictObject({ discovered: z.number(), executed: z.number(), planned: z.number() })),
34
- orphans: z.array(z.strictObject({
35
- definitionLocations: sourceLocationsSchema,
36
- file: z.string().nullable(),
37
- kind: z.enum(['suite', 'table', 'test']),
38
- title: z.string()
39
- })),
40
33
  perTest: z.array(z.strictObject({
41
34
  benchmark: benchmarkResultSchema.nullable().default(null),
42
35
  attempts: z.tuple([testAttemptSchema]).rest(testAttemptSchema),
@@ -48,9 +41,21 @@ export const runResultSchema = z.strictObject({
48
41
  workId: workIdSchema,
49
42
  durationMicroseconds: z.number()
50
43
  })),
44
+ runnerErrors: z.array(runnerErrorSchema)
45
+ };
46
+ export const runDiagnosticsSchema = z
47
+ .strictObject(diagnosticFields);
48
+ export const runResultSchema = z.strictObject({
49
+ ...diagnosticFields,
50
+ bySuite: z.record(z.string(), z.strictObject({ discovered: z.number(), executed: z.number(), planned: z.number() })),
51
+ orphans: z.array(z.strictObject({
52
+ definitionLocations: sourceLocationsSchema,
53
+ file: z.string().nullable(),
54
+ kind: z.enum(['suite', 'table', 'test']),
55
+ title: z.string()
56
+ })),
51
57
  planStatus: z.enum(['empty-selection', 'empty-shard', 'planned']),
52
58
  processUsage: processUsageSchema.nullable(),
53
- runnerErrors: z.array(runnerErrorSchema),
54
59
  status: z.enum(['failed', 'passed']),
55
60
  summary: z.strictObject({
56
61
  crashed: z.number(),
@@ -1 +1 @@
1
- {"version":3,"file":"run-result-schema.js","sourceRoot":"","sources":["../../../../source/run/run-result-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-result-schema.js","sourceRoot":"","sources":["../../../../source/run/run-result-schema.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,9 @@
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@overkill-dev/run",
19
- "version": "0.0.82",
20
- "bom-ref": "pkg:npm/@overkill-dev/run@0.0.82",
21
- "purl": "pkg:npm/@overkill-dev/run@0.0.82"
19
+ "version": "0.0.84",
20
+ "bom-ref": "pkg:npm/@overkill-dev/run@0.0.84",
21
+ "purl": "pkg:npm/@overkill-dev/run@0.0.84"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -278,7 +278,7 @@
278
278
  "ref": "pkg:npm/@jridgewell/trace-mapping@0.3.31"
279
279
  },
280
280
  {
281
- "ref": "pkg:npm/@overkill-dev/run@0.0.82",
281
+ "ref": "pkg:npm/@overkill-dev/run@0.0.84",
282
282
  "dependsOn": [
283
283
  "pkg:npm/@enormora/clock@0.0.3",
284
284
  "pkg:npm/@jridgewell/trace-mapping@0.3.31",
@@ -1,55 +0,0 @@
1
- import { observingInfrastructure } from "./execution-observation.js";
2
- const unreferencedResourceTypes = new Set(['PROMISE', 'TickObject', 'Microtask']);
3
- const resources = new Map();
4
- function isReferencedTimer(value) {
5
- return typeof value === 'object' && value !== null && typeof Reflect.get(value, 'hasRef') === 'function';
6
- }
7
- function referencedTimer(reference) {
8
- return reference.deref()?.hasRef() === true;
9
- }
10
- export function recordInfrastructureResource(id, type, resource) {
11
- if (!observingInfrastructure() || unreferencedResourceTypes.has(type)) {
12
- return;
13
- }
14
- if (type === 'Timeout' && isReferencedTimer(resource)) {
15
- const reference = new WeakRef(resource);
16
- resources.set(id, {
17
- type,
18
- confirmed: true,
19
- active() {
20
- return referencedTimer(reference);
21
- }
22
- });
23
- return;
24
- }
25
- resources.set(id, {
26
- type,
27
- confirmed: false,
28
- active() {
29
- return true;
30
- }
31
- });
32
- }
33
- export function forgetInfrastructureResource(id) {
34
- resources.delete(id);
35
- }
36
- export function clearInfrastructureResources() {
37
- resources.clear();
38
- }
39
- export function observeInfrastructureResources() {
40
- const before = new Set(resources.keys());
41
- return function infrastructureResourceSnapshot() {
42
- const active = [];
43
- const uncertain = [];
44
- for (const [id, resource] of resources) {
45
- if (!before.has(id) && resource.active()) {
46
- (resource.confirmed ? active : uncertain).push(resource.type);
47
- }
48
- }
49
- return { active, uncertain };
50
- };
51
- }
52
- export function sameNativeResourceType(resourceType, provider) {
53
- return resourceType.replace('Socket', '').toUpperCase() === provider.toUpperCase();
54
- }
55
- //# sourceMappingURL=infrastructure-resource-observation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"infrastructure-resource-observation.js","sourceRoot":"","sources":["../../../../source/engine/infrastructure-resource-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAarE,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAE,CAAC,CAAC;AACpF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;AAI5D,SAAS,iBAAiB,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,UAAU,CAAC;AAC7G,CAAC;AAED,SAAS,eAAe,CAAC,SAAmC;IACxD,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU,EAAE,IAAY,EAAE,QAAiB;IACpF,IAAI,CAAC,uBAAuB,EAAE,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO;IACX,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;YACd,IAAI;YACJ,SAAS,EAAE,IAAI;YACf,MAAM;gBACF,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;SACJ,CAAC,CAAC;QACH,OAAO;IACX,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;QACd,IAAI;QACJ,SAAS,EAAE,KAAK;QAChB,MAAM;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACnD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,4BAA4B;IACxC,SAAS,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,OAAO,SAAS,8BAA8B;QAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAE,EAAE,EAAE,QAAQ,CAAE,IAAI,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,QAAgB;IACzE,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC"}