@overkill-dev/run 0.0.4 → 0.0.6

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 (109) hide show
  1. package/assertion-protocol/assertion-evaluation.js +6 -0
  2. package/assertion-protocol/assertion-evaluation.js.map +1 -0
  3. package/assertion-protocol/assertion-node.js +33 -0
  4. package/assertion-protocol/assertion-node.js.map +1 -0
  5. package/assertion-protocol/assertion-reference.js +49 -0
  6. package/assertion-protocol/assertion-reference.js.map +1 -0
  7. package/assertion-protocol/assertions/boolean.js +12 -0
  8. package/assertion-protocol/assertions/boolean.js.map +1 -0
  9. package/assertion-protocol/assertions/collection.js +21 -0
  10. package/assertion-protocol/assertions/collection.js.map +1 -0
  11. package/assertion-protocol/assertions/dispatch.js +47 -0
  12. package/assertion-protocol/assertions/dispatch.js.map +1 -0
  13. package/assertion-protocol/assertions/equality.js +24 -0
  14. package/assertion-protocol/assertions/equality.js.map +1 -0
  15. package/assertion-protocol/assertions/fail.js +8 -0
  16. package/assertion-protocol/assertions/fail.js.map +1 -0
  17. package/assertion-protocol/assertions/numeric.js +43 -0
  18. package/assertion-protocol/assertions/numeric.js.map +1 -0
  19. package/assertion-protocol/assertions/partial.js +17 -0
  20. package/assertion-protocol/assertions/partial.js.map +1 -0
  21. package/assertion-protocol/assertions/presence.js +20 -0
  22. package/assertion-protocol/assertions/presence.js.map +1 -0
  23. package/assertion-protocol/assertions/string.js +33 -0
  24. package/assertion-protocol/assertions/string.js.map +1 -0
  25. package/assertion-protocol/assertions/type-shape.js +43 -0
  26. package/assertion-protocol/assertions/type-shape.js.map +1 -0
  27. package/assertion-protocol/collection-count.js +42 -0
  28. package/assertion-protocol/collection-count.js.map +1 -0
  29. package/assertion-protocol/evaluation.js +170 -0
  30. package/assertion-protocol/evaluation.js.map +1 -0
  31. package/assertion-protocol/partial-matching.js +13 -0
  32. package/assertion-protocol/partial-matching.js.map +1 -0
  33. package/assertion-protocol/source-location.js +76 -0
  34. package/assertion-protocol/source-location.js.map +1 -0
  35. package/assertion-protocol/thrown-error-record.js +17 -0
  36. package/assertion-protocol/thrown-error-record.js.map +1 -0
  37. package/assertion-protocol/thrown-matcher.js +201 -0
  38. package/assertion-protocol/thrown-matcher.js.map +1 -0
  39. package/compare/comparison-result.js +47 -0
  40. package/compare/comparison-result.js.map +1 -0
  41. package/compare/comparison-state.js +20 -0
  42. package/compare/comparison-state.js.map +1 -0
  43. package/compare/comparison.js +78 -0
  44. package/compare/comparison.js.map +1 -0
  45. package/compare/diff-path.js +37 -0
  46. package/compare/diff-path.js.map +1 -0
  47. package/compare/raw-comparison.js +285 -0
  48. package/compare/raw-comparison.js.map +1 -0
  49. package/compare/serialized-value-classification.js +99 -0
  50. package/compare/serialized-value-classification.js.map +1 -0
  51. package/compare/serialized-value-shape.js +12 -0
  52. package/compare/serialized-value-shape.js.map +1 -0
  53. package/compare/serialized-value-state.js +55 -0
  54. package/compare/serialized-value-state.js.map +1 -0
  55. package/compare/serialized-value.js +387 -0
  56. package/compare/serialized-value.js.map +1 -0
  57. package/compare/structured-diff.js +382 -0
  58. package/compare/structured-diff.js.map +1 -0
  59. package/compare/value-classification.js +112 -0
  60. package/compare/value-classification.js.map +1 -0
  61. package/diff/binary-diff.js +49 -0
  62. package/diff/binary-diff.js.map +1 -0
  63. package/diff/string-diff.js +22 -0
  64. package/diff/string-diff.js.map +1 -0
  65. package/engine/assertion-facade.js +361 -0
  66. package/engine/assertion-facade.js.map +1 -0
  67. package/engine/case-execution.js +408 -0
  68. package/engine/case-execution.js.map +1 -0
  69. package/engine/custom-assertion-recording.js +175 -0
  70. package/engine/custom-assertion-recording.js.map +1 -0
  71. package/engine/execution.d.ts +20 -0
  72. package/engine/execution.d.ts.map +1 -0
  73. package/engine/execution.js +323 -0
  74. package/engine/execution.js.map +1 -0
  75. package/engine/identity.js +5 -0
  76. package/engine/identity.js.map +1 -0
  77. package/engine/reporter-event-queue.js +23 -0
  78. package/engine/reporter-event-queue.js.map +1 -0
  79. package/engine/reporter.js +177 -0
  80. package/engine/reporter.js.map +1 -0
  81. package/engine/require-assertion-facade.js +127 -0
  82. package/engine/require-assertion-facade.js.map +1 -0
  83. package/engine/run-result.js +13 -0
  84. package/engine/run-result.js.map +1 -0
  85. package/package.json +17 -3
  86. package/packages/engine/assertion-protocol.entry-point.js +4 -0
  87. package/packages/engine/assertion-protocol.entry-point.js.map +1 -0
  88. package/packages/run/command-line.entry-point.d.ts +5 -0
  89. package/packages/run/command-line.entry-point.d.ts.map +1 -0
  90. package/packages/run/command-line.entry-point.js +3 -0
  91. package/packages/run/command-line.entry-point.js.map +1 -0
  92. package/packages/run/run.entry-point.d.ts +2 -2
  93. package/packages/run/run.entry-point.d.ts.map +1 -1
  94. package/packages/run/run.entry-point.js +1 -1
  95. package/packages/run/run.entry-point.js.map +1 -1
  96. package/readme.md +16 -2
  97. package/run/command-line-runner.d.ts +35 -0
  98. package/run/command-line-runner.d.ts.map +1 -0
  99. package/run/command-line-runner.js +109 -0
  100. package/run/command-line-runner.js.map +1 -0
  101. package/run/run-config.d.ts +24 -0
  102. package/run/run-config.d.ts.map +1 -0
  103. package/run/run-config.js +123 -0
  104. package/run/run-config.js.map +1 -0
  105. package/run/run.d.ts +86 -36
  106. package/run/run.d.ts.map +1 -1
  107. package/run/run.js +177 -8
  108. package/run/run.js.map +1 -1
  109. package/sbom.cdx.json +74 -6
package/run/run.d.ts CHANGED
@@ -1,65 +1,115 @@
1
+ import { type SerializedValue as SerializedValueShape } from '../compare/serialized-value.ts';
2
+ import { type Execute } from '../engine/execution.ts';
1
3
  import type { CaseId } from '../engine/identity.ts';
2
- import type { Reporter } from '../engine/reporter.ts';
4
+ import { type Reporter } from '../engine/reporter.ts';
5
+ import type { RunResult } from '../engine/run-result.ts';
3
6
  import type { TestPlan } from '../engine/test-plan.ts';
7
+ export type SerializedValue = SerializedValueShape;
4
8
  export type RunSelection = {
5
- readonly kind: 'all' | 'case-id' | 'file' | 'filter' | 'last-failed' | 'name';
6
- readonly value: string | null;
9
+ readonly kind: 'all';
7
10
  };
8
11
  export type RunShard = {
9
12
  readonly index: number;
10
13
  readonly total: number;
11
14
  };
12
15
  export type RunExecutionRequest = {
13
- readonly mode: string;
14
- readonly workers: number;
16
+ readonly mode: 'concurrent-in-process';
15
17
  };
16
18
  export type RunSeed = {
17
19
  readonly value: bigint | null;
18
20
  };
19
21
  export type RunDebugRequest = {
20
- readonly mode: 'all' | 'off' | 'selected';
21
- readonly selectors: readonly string[];
22
+ readonly mode: 'off';
23
+ readonly selectors: readonly [];
24
+ };
25
+ export type RunLoaderConfig = {
26
+ readonly sourceMaps: boolean;
27
+ readonly stripMode: 'strip-only' | 'transform';
28
+ };
29
+ export type RunConfig = {
30
+ readonly loader: RunLoaderConfig;
31
+ readonly reporters: readonly Reporter[];
32
+ readonly runtimeStateDir: string;
22
33
  };
23
34
  export type RunRequest = {
35
+ readonly baselineUpdateMode: 'none';
36
+ readonly capture: 'buffered' | 'live';
37
+ readonly coverage: false;
38
+ readonly debug: RunDebugRequest;
39
+ readonly execution: RunExecutionRequest;
40
+ readonly order: 'plan';
24
41
  readonly paths: readonly string[];
42
+ readonly profile: 'microtest';
43
+ readonly seed: RunSeed;
25
44
  readonly selection: RunSelection;
26
45
  readonly shard: RunShard;
27
- readonly profile: string;
28
- readonly execution: RunExecutionRequest;
29
- readonly coverage: boolean;
30
- readonly capture: 'buffered' | 'live';
31
- readonly seed: RunSeed;
32
- readonly order: 'lexical' | 'seeded';
33
- readonly debug: RunDebugRequest;
34
- readonly configPath: string | null;
46
+ readonly verbose: false;
47
+ };
48
+ export type RunCommand = {
49
+ readonly config: RunConfig;
50
+ readonly request: RunRequest;
51
+ readonly testPlan: TestPlan;
35
52
  };
36
53
  export type RunFacts = {
37
- readonly seed: bigint;
38
- readonly identities: readonly CaseId[];
39
- readonly executionStrategy: string;
40
- readonly capabilityProfile: string;
41
- readonly baselineUpdateMode: 'apply' | 'bootstrap' | 'diff' | 'none' | 'update';
42
- readonly loaderConfig: {
43
- readonly stripMode: 'strip-only' | 'transform';
44
- readonly sourceMaps: boolean;
45
- };
46
- readonly versions: {
47
- readonly engine: string;
48
- readonly node: string;
49
- readonly packages: Readonly<Record<string, string>>;
54
+ readonly cases: readonly RunCaseFacts[];
55
+ readonly environment: RunEnvironmentFacts;
56
+ readonly execution: RunExecutionFacts;
57
+ readonly loader: RunLoaderConfig;
58
+ readonly reproducibility: RunReproducibilityFacts;
59
+ };
60
+ export type RunCaseFacts = {
61
+ readonly id: CaseId;
62
+ readonly metadata: SerializedValue;
63
+ };
64
+ export type RunEnvironmentFacts = {
65
+ readonly node: {
66
+ readonly arch: string;
67
+ readonly platform: string;
68
+ readonly version: string;
50
69
  };
51
- readonly debug: RunFactsDebug;
70
+ readonly runtimeStateDir: string;
52
71
  };
53
- export type RunFactsDebug = {
54
- readonly mode: 'all' | 'off' | 'selected';
55
- readonly caseIds: readonly CaseId[];
72
+ export type RunExecutionFacts = {
73
+ readonly baselineUpdateMode: 'none';
74
+ readonly capture: 'buffered' | 'live';
75
+ readonly coverage: false;
76
+ readonly debug: RunDebugRequest;
77
+ readonly mode: 'concurrent-in-process';
78
+ readonly order: 'plan';
79
+ readonly profile: 'microtest';
80
+ readonly verbose: false;
81
+ };
82
+ export type RunReproducibilityFacts = {
83
+ readonly seed: string;
84
+ readonly shard: RunShard;
56
85
  };
57
86
  export type ResolvedRun = {
58
- readonly request: RunRequest;
87
+ readonly config: RunConfig;
59
88
  readonly facts: RunFacts;
60
- readonly testPlan: TestPlan;
61
89
  readonly reporters: readonly Reporter[];
90
+ readonly request: RunRequest;
91
+ readonly testPlan: TestPlan;
92
+ };
93
+ export type RunResolutionErrorCode = 'invalid-request' | 'unsupported-request';
94
+ export declare class RunResolutionError extends Error {
95
+ private readonly errorCode;
96
+ constructor(message: string, options: Readonly<ErrorOptions> | undefined, code: RunResolutionErrorCode);
97
+ code(): RunResolutionErrorCode;
98
+ }
99
+ export type RunOrchestratorDependencies = {
100
+ readonly createSeed: () => bigint;
101
+ readonly execute: Execute;
102
+ readonly node: {
103
+ readonly arch: string;
104
+ readonly platform: string;
105
+ readonly version: string;
106
+ };
107
+ readonly readStartedAt: () => string;
108
+ };
109
+ export type RunOrchestrator = {
110
+ readonly resolve: (command: RunCommand) => Promise<ResolvedRun>;
111
+ readonly run: (command: RunCommand) => Promise<RunResult>;
62
112
  };
63
- export declare function resolveRun(request: RunRequest): Promise<ResolvedRun>;
64
- export declare function run(request: RunRequest): Promise<never>;
113
+ export declare function createRunOrchestrator(dependencies: RunOrchestratorDependencies): RunOrchestrator;
114
+ export declare const orchestrator: RunOrchestrator;
65
115
  //# sourceMappingURL=run.d.ts.map
package/run/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"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"}
package/run/run.js CHANGED
@@ -1,12 +1,181 @@
1
- function acceptRunRequestForFutureResolution(request) {
2
- return request;
1
+ import { randomBytes } from 'node:crypto';
2
+ import { createWallClock } from '@enormora/wall-clock';
3
+ import { serializeValue } from "../compare/serialized-value.js";
4
+ import { createExecute } from "../engine/execution.js";
5
+ import { createReporterDispatcher } from "../engine/reporter.js";
6
+ const minimumSeedValue = 0n;
7
+ const seedByteLength = 8;
8
+ export class RunResolutionError extends Error {
9
+ errorCode;
10
+ constructor(message, options, code) {
11
+ super(message, options);
12
+ this.name = 'RunResolutionError';
13
+ this.errorCode = code;
14
+ }
15
+ code() {
16
+ return this.errorCode;
17
+ }
3
18
  }
4
- export async function resolveRun(request) {
5
- acceptRunRequestForFutureResolution(request);
6
- throw new Error('resolveRun() is not implemented yet.');
19
+ function unsupportedRequest(message) {
20
+ throw new RunResolutionError(message, undefined, 'unsupported-request');
7
21
  }
8
- export async function run(request) {
9
- acceptRunRequestForFutureResolution(request);
10
- throw new Error('run() is not implemented yet.');
22
+ function invalidRequest(message) {
23
+ throw new RunResolutionError(message, undefined, 'invalid-request');
11
24
  }
25
+ function validateRunPaths(request) {
26
+ if (request.paths.length > 0) {
27
+ unsupportedRequest('Path discovery is not implemented yet.');
28
+ }
29
+ }
30
+ function validateRunShard(request) {
31
+ if (request.shard.index !== 0 || request.shard.total !== 1) {
32
+ unsupportedRequest('Sharding is not implemented yet.');
33
+ }
34
+ }
35
+ function validateRunSeed(request) {
36
+ if (request.seed.value !== null && request.seed.value < minimumSeedValue) {
37
+ invalidRequest('Run seed must be a nonnegative bigint.');
38
+ }
39
+ }
40
+ function validateRunRequest(request) {
41
+ validateRunPaths(request);
42
+ validateRunShard(request);
43
+ validateRunSeed(request);
44
+ }
45
+ function resolvedSeed(request, dependencies) {
46
+ return request.seed.value ?? dependencies.createSeed();
47
+ }
48
+ function copyLoaderConfig(loader) {
49
+ return {
50
+ sourceMaps: loader.sourceMaps,
51
+ stripMode: loader.stripMode
52
+ };
53
+ }
54
+ function copyRunShard(shard) {
55
+ return {
56
+ index: shard.index,
57
+ total: shard.total
58
+ };
59
+ }
60
+ function copyRunRequest(request) {
61
+ return {
62
+ baselineUpdateMode: request.baselineUpdateMode,
63
+ capture: request.capture,
64
+ coverage: request.coverage,
65
+ debug: {
66
+ mode: request.debug.mode,
67
+ selectors: []
68
+ },
69
+ execution: { mode: request.execution.mode },
70
+ order: request.order,
71
+ paths: Array.from(request.paths),
72
+ profile: request.profile,
73
+ seed: { value: request.seed.value },
74
+ selection: { kind: request.selection.kind },
75
+ shard: copyRunShard(request.shard),
76
+ verbose: request.verbose
77
+ };
78
+ }
79
+ function copyRunConfig(config) {
80
+ return {
81
+ loader: copyLoaderConfig(config.loader),
82
+ reporters: Array.from(config.reporters),
83
+ runtimeStateDir: config.runtimeStateDir
84
+ };
85
+ }
86
+ function runCaseFacts(metadata, id) {
87
+ return {
88
+ id,
89
+ metadata: serializeValue(metadata)
90
+ };
91
+ }
92
+ function createRunFacts(command, request, config, dependencies) {
93
+ return {
94
+ cases: command.testPlan.cases.map(function toRunCaseFacts(testCase) {
95
+ return runCaseFacts(testCase.metadata, testCase.id);
96
+ }),
97
+ environment: {
98
+ node: {
99
+ arch: dependencies.node.arch,
100
+ platform: dependencies.node.platform,
101
+ version: dependencies.node.version
102
+ },
103
+ runtimeStateDir: config.runtimeStateDir
104
+ },
105
+ execution: {
106
+ baselineUpdateMode: request.baselineUpdateMode,
107
+ capture: request.capture,
108
+ coverage: request.coverage,
109
+ debug: request.debug,
110
+ mode: request.execution.mode,
111
+ order: request.order,
112
+ profile: request.profile,
113
+ verbose: request.verbose
114
+ },
115
+ loader: config.loader,
116
+ reproducibility: {
117
+ seed: resolvedSeed(request, dependencies).toString(),
118
+ shard: request.shard
119
+ }
120
+ };
121
+ }
122
+ function freezeValue(value) {
123
+ if (value !== null && typeof value === 'object') {
124
+ for (const propertyValue of Object.values(value)) {
125
+ freezeValue(propertyValue);
126
+ }
127
+ Object.freeze(value);
128
+ }
129
+ return value;
130
+ }
131
+ function createResolvedRun(command, dependencies) {
132
+ validateRunRequest(command.request);
133
+ const request = freezeValue(copyRunRequest(command.request));
134
+ const config = freezeValue(copyRunConfig(command.config));
135
+ const facts = freezeValue(createRunFacts(command, request, config, dependencies));
136
+ return freezeValue({
137
+ config,
138
+ facts,
139
+ reporters: config.reporters,
140
+ request,
141
+ testPlan: command.testPlan
142
+ });
143
+ }
144
+ export function createRunOrchestrator(dependencies) {
145
+ return {
146
+ async resolve(command) {
147
+ return createResolvedRun(command, dependencies);
148
+ },
149
+ async run(command) {
150
+ const resolvedRun = createResolvedRun(command, dependencies);
151
+ return await dependencies.execute(resolvedRun.testPlan, {
152
+ execution: { mode: 'concurrent-in-process' },
153
+ reporters: resolvedRun.reporters,
154
+ runFacts: resolvedRun.facts,
155
+ startedAt: dependencies.readStartedAt()
156
+ });
157
+ }
158
+ };
159
+ }
160
+ function createDefaultSeed() {
161
+ return randomBytes(seedByteLength).readBigUInt64BE();
162
+ }
163
+ const defaultWallClock = createWallClock();
164
+ const defaultRunOrchestrator = createRunOrchestrator({
165
+ createSeed: createDefaultSeed,
166
+ execute: createExecute({
167
+ reporterDispatcher: createReporterDispatcher({ wallClock: defaultWallClock }),
168
+ wallClock: defaultWallClock
169
+ }),
170
+ node: {
171
+ arch: process.arch,
172
+ platform: process.platform,
173
+ version: process.versions.node
174
+ },
175
+ readStartedAt() {
176
+ const startedAt = new Date(defaultWallClock.currentTimestampInMilliseconds);
177
+ return startedAt.toISOString();
178
+ }
179
+ });
180
+ export const orchestrator = defaultRunOrchestrator;
12
181
  //# sourceMappingURL=run.js.map
package/run/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"AAwEA,SAAS,mCAAmC,CAAC,OAAmB;IAC5D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAmB;IAChD,mCAAmC,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAmB;IACzC,mCAAmC,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"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"}
package/sbom.cdx.json CHANGED
@@ -9,16 +9,16 @@
9
9
  {
10
10
  "type": "application",
11
11
  "name": "packtory",
12
- "version": "0.0.86"
12
+ "version": "0.0.91"
13
13
  }
14
14
  ]
15
15
  },
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@overkill-dev/run",
19
- "version": "0.0.4",
20
- "bom-ref": "pkg:npm/@overkill-dev/run@0.0.4",
21
- "purl": "pkg:npm/@overkill-dev/run@0.0.4"
19
+ "version": "0.0.6",
20
+ "bom-ref": "pkg:npm/@overkill-dev/run@0.0.6",
21
+ "purl": "pkg:npm/@overkill-dev/run@0.0.6"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -34,6 +34,58 @@
34
34
  }
35
35
  ],
36
36
  "purl": "pkg:npm/@enormora/wall-clock@0.0.3"
37
+ },
38
+ {
39
+ "type": "library",
40
+ "name": "@overkill-dev/reporter-line",
41
+ "version": "0.0.6",
42
+ "bom-ref": "pkg:npm/@overkill-dev/reporter-line@0.0.6",
43
+ "scope": "required",
44
+ "licenses": [
45
+ {
46
+ "expression": "MIT"
47
+ }
48
+ ],
49
+ "purl": "pkg:npm/@overkill-dev/reporter-line@0.0.6"
50
+ },
51
+ {
52
+ "type": "library",
53
+ "name": "@schema-hub/zod-error-formatter",
54
+ "version": "0.0.15",
55
+ "bom-ref": "pkg:npm/@schema-hub/zod-error-formatter@0.0.15",
56
+ "scope": "required",
57
+ "licenses": [
58
+ {
59
+ "expression": "MIT"
60
+ }
61
+ ],
62
+ "purl": "pkg:npm/@schema-hub/zod-error-formatter@0.0.15"
63
+ },
64
+ {
65
+ "type": "library",
66
+ "name": "diff",
67
+ "version": "9.0.0",
68
+ "bom-ref": "pkg:npm/diff@9.0.0",
69
+ "scope": "required",
70
+ "licenses": [
71
+ {
72
+ "expression": "BSD-3-Clause"
73
+ }
74
+ ],
75
+ "purl": "pkg:npm/diff@9.0.0"
76
+ },
77
+ {
78
+ "type": "library",
79
+ "name": "zod",
80
+ "version": "4.4.3",
81
+ "bom-ref": "pkg:npm/zod@4.4.3",
82
+ "scope": "required",
83
+ "licenses": [
84
+ {
85
+ "expression": "MIT"
86
+ }
87
+ ],
88
+ "purl": "pkg:npm/zod@4.4.3"
37
89
  }
38
90
  ],
39
91
  "dependencies": [
@@ -41,10 +93,26 @@
41
93
  "ref": "pkg:npm/@enormora/wall-clock@0.0.3"
42
94
  },
43
95
  {
44
- "ref": "pkg:npm/@overkill-dev/run@0.0.4",
96
+ "ref": "pkg:npm/@overkill-dev/reporter-line@0.0.6"
97
+ },
98
+ {
99
+ "ref": "pkg:npm/@overkill-dev/run@0.0.6",
45
100
  "dependsOn": [
46
- "pkg:npm/@enormora/wall-clock@0.0.3"
101
+ "pkg:npm/@enormora/wall-clock@0.0.3",
102
+ "pkg:npm/@overkill-dev/reporter-line@0.0.6",
103
+ "pkg:npm/@schema-hub/zod-error-formatter@0.0.15",
104
+ "pkg:npm/diff@9.0.0",
105
+ "pkg:npm/zod@4.4.3"
47
106
  ]
107
+ },
108
+ {
109
+ "ref": "pkg:npm/@schema-hub/zod-error-formatter@0.0.15"
110
+ },
111
+ {
112
+ "ref": "pkg:npm/diff@9.0.0"
113
+ },
114
+ {
115
+ "ref": "pkg:npm/zod@4.4.3"
48
116
  }
49
117
  ]
50
118
  }