@overkill-dev/run 0.0.67 → 0.0.68

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 (154) hide show
  1. package/{run/attachment-json.js → attachments/json-snapshot.js} +4 -4
  2. package/attachments/json-snapshot.js.map +1 -0
  3. package/baselines/performance-adapter.d.ts +60 -0
  4. package/baselines/performance-adapter.d.ts.map +1 -0
  5. package/baselines/performance-baseline.d.ts +48 -0
  6. package/baselines/performance-baseline.d.ts.map +1 -0
  7. package/baselines/performance-baseline.js +9 -0
  8. package/baselines/performance-baseline.js.map +1 -0
  9. package/baselines/performance-evaluation.js +88 -0
  10. package/baselines/performance-evaluation.js.map +1 -0
  11. package/baselines/performance-plan.js +33 -0
  12. package/baselines/performance-plan.js.map +1 -0
  13. package/baselines/performance-report.js +57 -0
  14. package/baselines/performance-report.js.map +1 -0
  15. package/baselines/performance-schema.js +12 -0
  16. package/baselines/performance-schema.js.map +1 -0
  17. package/baselines/performance-store.js +134 -0
  18. package/baselines/performance-store.js.map +1 -0
  19. package/baselines/performance-workflow.js +180 -0
  20. package/baselines/performance-workflow.js.map +1 -0
  21. package/bench/calibration-schema.js +12 -0
  22. package/bench/calibration-schema.js.map +1 -0
  23. package/canonical-identity.js +54 -0
  24. package/canonical-identity.js.map +1 -0
  25. package/config/config.d.ts.map +1 -1
  26. package/config/config.js +1 -0
  27. package/config/config.js.map +1 -1
  28. package/config/performance-baselines.js +24 -0
  29. package/config/performance-baselines.js.map +1 -0
  30. package/config/schema.d.ts +2 -0
  31. package/config/schema.d.ts.map +1 -1
  32. package/config/schema.js +2 -0
  33. package/config/schema.js.map +1 -1
  34. package/config/snapshot.js +1 -0
  35. package/config/snapshot.js.map +1 -1
  36. package/config/types.d.ts +4 -1
  37. package/config/types.d.ts.map +1 -1
  38. package/config/validation.js +2 -0
  39. package/config/validation.js.map +1 -1
  40. package/{run/run-identity-schema.js → engine/identity-schema.js} +1 -1
  41. package/engine/identity-schema.js.map +1 -0
  42. package/file-store.js +48 -0
  43. package/file-store.js.map +1 -0
  44. package/package.json +14 -3
  45. package/packages/run/benchmark-calibration.entry-point.d.ts +22 -0
  46. package/packages/run/benchmark-calibration.entry-point.d.ts.map +1 -0
  47. package/packages/run/benchmark-calibration.entry-point.js +129 -0
  48. package/packages/run/benchmark-calibration.entry-point.js.map +1 -0
  49. package/packages/run/command-line.entry-point.d.ts +1 -1
  50. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  51. package/packages/run/run.entry-point.d.ts +1 -1
  52. package/packages/run/run.entry-point.d.ts.map +1 -1
  53. package/readme.md +25 -4
  54. package/run/assertion-result-schema.js +1 -1
  55. package/run/assertion-result-schema.js.map +1 -1
  56. package/run/attachment-execution.js +2 -2
  57. package/run/attachment-execution.js.map +1 -1
  58. package/run/attachment-retention.js +2 -2
  59. package/run/attachment-retention.js.map +1 -1
  60. package/run/benchmark-baseline-commands.js +70 -0
  61. package/run/benchmark-baseline-commands.js.map +1 -0
  62. package/run/benchmark-baseline-finalization.js +67 -0
  63. package/run/benchmark-baseline-finalization.js.map +1 -0
  64. package/run/benchmark-baseline-operations.js +53 -0
  65. package/run/benchmark-baseline-operations.js.map +1 -0
  66. package/run/benchmark-baseline-run.js +58 -0
  67. package/run/benchmark-baseline-run.js.map +1 -0
  68. package/run/benchmark-baseline-session.js +72 -0
  69. package/run/benchmark-baseline-session.js.map +1 -0
  70. package/run/benchmark-calibration.entry-point.js +3 -0
  71. package/run/benchmark-calibration.entry-point.js.map +1 -0
  72. package/run/benchmark-calibration.js +41 -0
  73. package/run/benchmark-calibration.js.map +1 -0
  74. package/run/benchmark-command-policy.d.ts +8 -0
  75. package/run/benchmark-command-policy.d.ts.map +1 -0
  76. package/run/benchmark-command-policy.js +37 -0
  77. package/run/benchmark-command-policy.js.map +1 -0
  78. package/run/benchmark-commands.d.ts +1 -7
  79. package/run/benchmark-commands.d.ts.map +1 -1
  80. package/run/benchmark-commands.js +19 -40
  81. package/run/benchmark-commands.js.map +1 -1
  82. package/run/child-process-roles.js +1 -0
  83. package/run/child-process-roles.js.map +1 -1
  84. package/run/child-process.entry-point.js +5 -1
  85. package/run/child-process.entry-point.js.map +1 -1
  86. package/run/collected-run-plan-schema.js +1 -1
  87. package/run/collected-run-plan-schema.js.map +1 -1
  88. package/run/command-line-command.d.ts +18 -1
  89. package/run/command-line-command.d.ts.map +1 -1
  90. package/run/command-line-command.js.map +1 -1
  91. package/run/execution-plan-resolution.js +7 -0
  92. package/run/execution-plan-resolution.js.map +1 -1
  93. package/run/node-run-execution.js +2 -2
  94. package/run/node-run-execution.js.map +1 -1
  95. package/run/reporter-event-schema.js +1 -1
  96. package/run/reporter-event-schema.js.map +1 -1
  97. package/run/run-artifact-id-schema.js +1 -1
  98. package/run/run-artifact-id-schema.js.map +1 -1
  99. package/run/run-artifact-schema.js +1 -1
  100. package/run/run-artifact-schema.js.map +1 -1
  101. package/run/run-collected-planning.js +4 -7
  102. package/run/run-collected-planning.js.map +1 -1
  103. package/run/run-collected-resolution.js +1 -0
  104. package/run/run-collected-resolution.js.map +1 -1
  105. package/run/run-execution.js +54 -0
  106. package/run/run-execution.js.map +1 -0
  107. package/run/run-facts.js +1 -0
  108. package/run/run-facts.js.map +1 -1
  109. package/run/run-input-resolution.js +21 -4
  110. package/run/run-input-resolution.js.map +1 -1
  111. package/run/run-isolated-command.js +2 -2
  112. package/run/run-isolated-command.js.map +1 -1
  113. package/run/run-isolated-process.js +12 -2
  114. package/run/run-isolated-process.js.map +1 -1
  115. package/run/run-local-command.js +5 -4
  116. package/run/run-local-command.js.map +1 -1
  117. package/run/run-local-resolution.js +5 -2
  118. package/run/run-local-resolution.js.map +1 -1
  119. package/run/run-profile-facts.js +3 -0
  120. package/run/run-profile-facts.js.map +1 -1
  121. package/run/run-result-schema.js +2 -1
  122. package/run/run-result-schema.js.map +1 -1
  123. package/run/run-sharding.js +3 -55
  124. package/run/run-sharding.js.map +1 -1
  125. package/run/run-supervised-finalization.js +2 -1
  126. package/run/run-supervised-finalization.js.map +1 -1
  127. package/run/run-supervised-process.js +3 -0
  128. package/run/run-supervised-process.js.map +1 -1
  129. package/run/run-support.js.map +1 -1
  130. package/run/run-types.d.ts +25 -4
  131. package/run/run-types.d.ts.map +1 -1
  132. package/run/run-types.js.map +1 -1
  133. package/run/run-validation.js +7 -0
  134. package/run/run-validation.js.map +1 -1
  135. package/run/run.d.ts.map +1 -1
  136. package/run/run.js +27 -13
  137. package/run/run.js.map +1 -1
  138. package/run/simulation-witness.js +2 -2
  139. package/run/simulation-witness.js.map +1 -1
  140. package/run/supervised-protocol-schema.js +1 -1
  141. package/run/supervised-protocol-schema.js.map +1 -1
  142. package/run/worker-pool-host-protocol-schema.js +1 -1
  143. package/run/worker-pool-host-protocol-schema.js.map +1 -1
  144. package/run/worker-pool-results.js +2 -2
  145. package/run/worker-pool-results.js.map +1 -1
  146. package/run/worker-pool-run.js +5 -4
  147. package/run/worker-pool-run.js.map +1 -1
  148. package/run/worker-pool-task-schema.js +1 -1
  149. package/run/worker-pool-task-schema.js.map +1 -1
  150. package/sbom.cdx.json +4 -4
  151. package/run/attachment-json.js.map +0 -1
  152. package/run/node-runtime-state-store.js +0 -38
  153. package/run/node-runtime-state-store.js.map +0 -1
  154. package/run/run-identity-schema.js.map +0 -1
@@ -0,0 +1,70 @@
1
+ import { formatCaseId } from "../engine/identity.js";
2
+ import { selectBenchmarkCommandProfile } from "./benchmark-command-policy.js";
3
+ import { createCommandLineConfig } from "./command-line-config.js";
4
+ import { commandLineExitCodes, createCommandLineErrorResultFromUnknown, formatRunnerErrorDiagnostics, readExitCodeFromRunResult } from "./command-line-command.js";
5
+ import { createSystemRunTimingMeasurement } from "./run-timing-collection.js";
6
+ function renderChange(change) {
7
+ const { baseline } = change;
8
+ const identity = `${baseline.profile}; ${baseline.adapter}; ${baseline.expected.calibration.machineClass}`;
9
+ return `${change.kind} ${formatCaseId(baseline.work.case)} [${identity}]`;
10
+ }
11
+ function renderEntry(entry) {
12
+ const { baseline } = entry;
13
+ const identity = `${baseline.profile}; ${baseline.adapter}; ${baseline.expected.calibration.machineClass}`;
14
+ return `${entry.path}: ${formatCaseId(baseline.work.case)} [${identity}]`;
15
+ }
16
+ function baselineCommandResult(result, verb) {
17
+ const runExitCode = readExitCodeFromRunResult(result.result);
18
+ return {
19
+ exitCode: verb === 'diff' && runExitCode === commandLineExitCodes.pass && result.changes.length > 0
20
+ ? commandLineExitCodes.testFailure
21
+ : runExitCode,
22
+ fallbackDiagnostics: formatRunnerErrorDiagnostics(result.undeliveredRunnerErrors),
23
+ runResult: result.result,
24
+ stdoutLines: result.changes.map(renderChange)
25
+ };
26
+ }
27
+ async function executeBaselineCommand(input) {
28
+ const { dependencies, request, verb } = input;
29
+ const timing = createSystemRunTimingMeasurement();
30
+ const loaded = await dependencies.loadConfig(request);
31
+ const profile = selectBenchmarkCommandProfile(request.runRequest.profile, loaded);
32
+ const runRequest = { ...request.runRequest, baselineUpdateMode: 'none', profile };
33
+ const config = await createCommandLineConfig(loaded, { ...request, runRequest }, dependencies);
34
+ const result = await dependencies.orchestrator.bench.baseline[verb]({
35
+ config,
36
+ cwd: request.cwd,
37
+ engine: { kind: 'default' },
38
+ request: { ...request.runRequest, profile }
39
+ }, { timing });
40
+ return baselineCommandResult(result, verb);
41
+ }
42
+ export async function runBenchmarkBaselineCommand(input) {
43
+ try {
44
+ return await executeBaselineCommand(input);
45
+ }
46
+ catch (error) {
47
+ return createCommandLineErrorResultFromUnknown(error);
48
+ }
49
+ }
50
+ export async function listBenchmarkBaselineCommand(input) {
51
+ try {
52
+ const config = await input.dependencies.loadConfig(input.request);
53
+ const profile = selectBenchmarkCommandProfile(input.request.listRequest.profile, config);
54
+ const entries = await input.dependencies.orchestrator.bench.baseline.list({
55
+ config,
56
+ cwd: input.request.cwd,
57
+ request: { paths: input.request.listRequest.paths, profile }
58
+ });
59
+ return {
60
+ exitCode: commandLineExitCodes.pass,
61
+ fallbackDiagnostics: [],
62
+ runResult: null,
63
+ stdoutLines: entries.map(renderEntry)
64
+ };
65
+ }
66
+ catch (error) {
67
+ return createCommandLineErrorResultFromUnknown(error);
68
+ }
69
+ }
70
+ //# sourceMappingURL=benchmark-baseline-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-baseline-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { appendRunnerErrors } from "../engine/execution-result.js";
2
+ import { successfulPerformanceRun } from "../baselines/performance-workflow.js";
3
+ import { performanceBaselineError } from "../baselines/performance-evaluation.js";
4
+ import { performanceReportArtifact } from "../baselines/performance-report.js";
5
+ function reportFor(input, writeOutcome) {
6
+ return { calibration: input.calibration, changes: input.workflow.changes, writeOutcome };
7
+ }
8
+ async function commitChanges(input, written, recordWritten) {
9
+ performanceReportArtifact({
10
+ capturedAtMicroseconds: 0,
11
+ maxBytes: input.maxBytes,
12
+ report: reportFor(input, { changes: input.workflow.changes, kind: 'written' }),
13
+ result: input.result
14
+ });
15
+ if (input.mode === 'none' || input.mode === 'diff') {
16
+ return { kind: 'read-only' };
17
+ }
18
+ if (!successfulPerformanceRun(input.result)) {
19
+ return { kind: 'blocked' };
20
+ }
21
+ for (const change of input.workflow.changes) {
22
+ await input.workflow.store.apply(change);
23
+ recordWritten(change);
24
+ }
25
+ return { changes: written, kind: 'written' };
26
+ }
27
+ async function commitBaselines(input) {
28
+ const written = [];
29
+ try {
30
+ return {
31
+ errors: [],
32
+ outcome: await commitChanges(input, written, function recordWritten(change) {
33
+ written.push(change);
34
+ })
35
+ };
36
+ }
37
+ catch (error) {
38
+ return {
39
+ errors: [performanceBaselineError(error, null)],
40
+ outcome: { kind: 'failed', writtenChanges: written }
41
+ };
42
+ }
43
+ }
44
+ async function attachReport(input, outcome) {
45
+ try {
46
+ const artifact = performanceReportArtifact({
47
+ capturedAtMicroseconds: input.capturedAtMicroseconds(),
48
+ maxBytes: input.maxBytes,
49
+ report: reportFor(input, outcome),
50
+ result: input.result
51
+ });
52
+ return { ...input.result, artifacts: [...input.result.artifacts, artifact] };
53
+ }
54
+ catch (error) {
55
+ const failure = performanceBaselineError(error, null);
56
+ return appendRunnerErrors(input.result, [failure, ...await input.notify([failure])]);
57
+ }
58
+ }
59
+ export async function finalizeBenchmarkBaselines(input) {
60
+ const completion = input.workflow.finish(input.result, input.completeInventory);
61
+ const result = appendRunnerErrors(completion.result, completion.errors);
62
+ const committed = await commitBaselines({ ...input, result });
63
+ const finalized = appendRunnerErrors(result, committed.errors);
64
+ const reportingErrors = await input.notify([...completion.errors, ...committed.errors]);
65
+ return await attachReport({ ...input, result: appendRunnerErrors(finalized, reportingErrors) }, committed.outcome);
66
+ }
67
+ //# sourceMappingURL=benchmark-baseline-finalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-baseline-finalization.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-finalization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { realpath } from 'node:fs/promises';
2
+ import { posix as path } from 'node:path';
3
+ import { createPerformanceBaselineStore } from "../baselines/performance-store.js";
4
+ import { readPerformanceBaselineReport } from "../baselines/performance-report.js";
5
+ import { RunCollectionError } from "./run-errors.js";
6
+ import { selectBenchmarkProfile } from "./test-profile.js";
7
+ export async function runBenchmarkBaselineVerb(input) {
8
+ const command = {
9
+ ...input.command,
10
+ request: { ...input.command.request, baselineUpdateMode: input.verb }
11
+ };
12
+ const delivery = await input.operations.runWithReporterDelivery(command, input.options);
13
+ const report = readPerformanceBaselineReport(delivery.result);
14
+ return {
15
+ ...delivery,
16
+ changes: report?.changes ?? [],
17
+ writeOutcome: report?.writeOutcome ?? { kind: 'blocked' }
18
+ };
19
+ }
20
+ function matchesSourcePath(file, paths) {
21
+ if (paths.length === 0) {
22
+ return true;
23
+ }
24
+ if (file === null) {
25
+ return false;
26
+ }
27
+ return paths.some(function matchesPath(operand) {
28
+ const normalized = path.normalize(operand.replaceAll('\\', '/')).replace(/\/$/u, '');
29
+ return file === normalized || file.startsWith(`${normalized}/`) || path.matchesGlob(file, normalized);
30
+ });
31
+ }
32
+ async function readSelectedBaselines(command, profile) {
33
+ const store = await createPerformanceBaselineStore({
34
+ directory: profile.baselines.directory,
35
+ maxBytes: profile.attachments.maxArtifactBytes,
36
+ projectRoot: await realpath(command.cwd)
37
+ });
38
+ const entries = await store.list();
39
+ return entries.filter(function selectedEntry(entry) {
40
+ return entry.baseline.profile.normalize('NFC') === command.request.profile.normalize('NFC') &&
41
+ matchesSourcePath(entry.baseline.work.case.file, command.request.paths);
42
+ });
43
+ }
44
+ export async function listBenchmarkBaselines(command) {
45
+ const profile = selectBenchmarkProfile(command.request.profile, command.config);
46
+ try {
47
+ return await readSelectedBaselines(command, profile);
48
+ }
49
+ catch (error) {
50
+ throw new RunCollectionError(error instanceof Error ? error.message : String(error), { cause: error }, 'artifact');
51
+ }
52
+ }
53
+ //# sourceMappingURL=benchmark-baseline-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-baseline-operations.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { readdir } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { createResultFromResolutionError, reportCollectionErrorResult } from "./run-collection-error-result.js";
4
+ import { RunCollectionError } from "./run-errors.js";
5
+ async function requiresBaselineSession(input) {
6
+ if (input.profile.baselines.adapters.length > 0 || input.request.baselineUpdateMode !== 'none') {
7
+ return true;
8
+ }
9
+ try {
10
+ const names = await readdir(path.resolve(input.projectRoot, input.profile.baselines.directory, 'performance'));
11
+ return names.some(function performanceFile(name) {
12
+ return name.endsWith('.benchmark.json');
13
+ });
14
+ }
15
+ catch (error) {
16
+ if (error instanceof Error && Reflect.get(error, 'code') === 'ENOENT') {
17
+ return false;
18
+ }
19
+ throw error;
20
+ }
21
+ }
22
+ async function prepareBenchmarkBaselineRun(input, dependencies) {
23
+ if (input.profile.testFamily !== 'benchmark') {
24
+ throw new Error('Performance baseline execution requires a benchmark profile.');
25
+ }
26
+ if (!await requiresBaselineSession({ ...input, profile: input.profile })) {
27
+ return { input, session: null };
28
+ }
29
+ const { collectBenchmarkCalibration } = await import("./benchmark-calibration.js");
30
+ const calibration = await collectBenchmarkCalibration({ cwd: input.projectRoot, profile: input.profile });
31
+ if (calibration.kind === 'non-comparable') {
32
+ throw new RunCollectionError(calibration.reason, { cause: calibration }, 'artifact');
33
+ }
34
+ const baseline = await import("./benchmark-baseline-session.js");
35
+ return {
36
+ input: { ...input, benchmarkCalibration: calibration },
37
+ session: await baseline.createBenchmarkBaselineSession({
38
+ calibration,
39
+ clock: dependencies.wallClock,
40
+ profile: input.profile,
41
+ projectRoot: input.projectRoot,
42
+ reporterDispatcher: dependencies.reporterDispatcher,
43
+ request: input.request
44
+ })
45
+ };
46
+ }
47
+ function baselineResolutionError(error) {
48
+ return error instanceof RunCollectionError ? error : new RunCollectionError(error instanceof Error ? error.message : String(error), { cause: error }, 'artifact');
49
+ }
50
+ export async function prepareBenchmarkExecution(options) {
51
+ try {
52
+ return await prepareBenchmarkBaselineRun(options.input, options.dependencies);
53
+ }
54
+ catch (error) {
55
+ return await reportCollectionErrorResult(options.command, options.dependencies, createResultFromResolutionError(baselineResolutionError(error), null), options.timing);
56
+ }
57
+ }
58
+ //# sourceMappingURL=benchmark-baseline-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-baseline-run.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { createPerformanceWorkflow } from "../baselines/performance-workflow.js";
2
+ import { finalizeBenchmarkBaselines } from "./benchmark-baseline-finalization.js";
3
+ function createBaselineReporter(dispatcher, workflow) {
4
+ let delivery = null;
5
+ async function notify(errors) {
6
+ if (delivery === null) {
7
+ return [];
8
+ }
9
+ const reportingErrors = [];
10
+ for (const error of errors) {
11
+ reportingErrors.push(...await delivery.reportEvent({ error, kind: 'runner-error' }));
12
+ }
13
+ return reportingErrors;
14
+ }
15
+ return {
16
+ notify,
17
+ dispatcher: {
18
+ trackRunnerErrorDelivery: dispatcher.trackRunnerErrorDelivery,
19
+ async createDelivery(reporters, renderer) {
20
+ delivery = await dispatcher.createDelivery(reporters, renderer);
21
+ const underlying = delivery;
22
+ return {
23
+ disposeReporters: underlying.disposeReporters,
24
+ reportResult: underlying.reportResult,
25
+ async reportEvent(event) {
26
+ if (event.kind !== 'test-end') {
27
+ return await underlying.reportEvent(event);
28
+ }
29
+ const evaluation = workflow.evaluate(event);
30
+ return [
31
+ ...evaluation.errors,
32
+ ...await notify(evaluation.errors),
33
+ ...await underlying.reportEvent(evaluation.event)
34
+ ];
35
+ }
36
+ };
37
+ }
38
+ }
39
+ };
40
+ }
41
+ export async function createBenchmarkBaselineSession(input) {
42
+ const { calibration, profile, request } = input;
43
+ const workflow = await createPerformanceWorkflow({
44
+ adapters: profile.baselines.adapters,
45
+ calibration,
46
+ directory: profile.baselines.directory,
47
+ maxBytes: profile.attachments.maxArtifactBytes,
48
+ mode: request.baselineUpdateMode,
49
+ profile: request.profile,
50
+ projectRoot: input.projectRoot
51
+ });
52
+ const reporter = createBaselineReporter(input.reporterDispatcher, workflow);
53
+ return {
54
+ reporterDispatcher: reporter.dispatcher,
55
+ async finalize(result) {
56
+ return await finalizeBenchmarkBaselines({
57
+ calibration,
58
+ capturedAtMicroseconds() {
59
+ return Number(input.clock.currentMonotonicMicroseconds);
60
+ },
61
+ completeInventory: request.paths.length === 0 && request.selection.kind === 'all' &&
62
+ request.shard.total === 1,
63
+ maxBytes: profile.attachments.maxArtifactBytes,
64
+ mode: request.baselineUpdateMode,
65
+ notify: reporter.notify,
66
+ result,
67
+ workflow
68
+ });
69
+ }
70
+ };
71
+ }
72
+ //# sourceMappingURL=benchmark-baseline-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-baseline-session.js","sourceRoot":"","sources":["../../../../source/run/benchmark-baseline-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { calibrateBenchmarkHost } from "../packages/run/benchmark-calibration.entry-point.js";
2
+ process.stdout.write(JSON.stringify(calibrateBenchmarkHost()));
3
+ //# sourceMappingURL=benchmark-calibration.entry-point.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-calibration.entry-point.js","sourceRoot":"","sources":["../../../../source/run/benchmark-calibration.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAE9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { benchmarkCalibrationSchema } from "../bench/calibration-schema.js";
4
+ import { childProcessEntryPointUrl } from "./child-process.entry-point.js";
5
+ import { benchmarkCalibrationRole, childRoleArgument } from "./child-process-roles.js";
6
+ import { readProcessEnvironment } from "./node-host-readers.js";
7
+ import { sanitizedChildEnvironment } from "./supervised-child-process.js";
8
+ async function calibrationOutput(args, options) {
9
+ return new Promise(function captureCalibration(resolve, reject) {
10
+ execFile(process.execPath, args, options, function completed(error, stdout) {
11
+ if (error === null) {
12
+ resolve(stdout.toString());
13
+ }
14
+ else {
15
+ reject(error);
16
+ }
17
+ });
18
+ });
19
+ }
20
+ function calibrationNodeArguments(execution) {
21
+ if (execution.processModel !== 'worker-pool') {
22
+ return [];
23
+ }
24
+ return execution.hostProcess.kind === 'child' ? execution.hostProcess.nodeArguments : Array.from(process.execArgv);
25
+ }
26
+ export async function collectBenchmarkCalibration(input) {
27
+ const nodeArguments = calibrationNodeArguments(input.profile.execution);
28
+ const stdout = await calibrationOutput([
29
+ ...nodeArguments,
30
+ fileURLToPath(childProcessEntryPointUrl),
31
+ childRoleArgument(benchmarkCalibrationRole)
32
+ ], {
33
+ cwd: input.cwd,
34
+ env: sanitizedChildEnvironment(readProcessEnvironment(process), 'benchmark'),
35
+ maxBuffer: 65_536,
36
+ timeout: input.profile.timeouts.collectionMilliseconds
37
+ });
38
+ const parsed = JSON.parse(stdout);
39
+ return benchmarkCalibrationSchema.parse(parsed);
40
+ }
41
+ //# sourceMappingURL=benchmark-calibration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-calibration.js","sourceRoot":"","sources":["../../../../source/run/benchmark-calibration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,0BAA0B,EAAmC,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAO1E,KAAK,UAAU,iBAAiB,CAAC,IAAuB,EAAE,OAAwB;IAC9E,OAAO,IAAI,OAAO,CAAC,SAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM;QAC1D,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,SAAS,CAAC,KAAmB,EAAE,MAAuB;YACrG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAAC,SAA8C;IAC5E,IAAI,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAAyB;IACvE,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACnC,GAAG,aAAa;QAChB,aAAa,CAAC,yBAAyB,CAAC;QACxC,iBAAiB,CAAC,wBAAwB,CAAC;KAC9C,EAAE;QACC,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,yBAAyB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;QAC5E,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;KACzD,CAAC,CAAC;IACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ConfigLoader } from '../config/config.ts';
2
+ import type { RunOrchestrator } from './run-types.ts';
3
+ import type { CommandLineConfigDependencies } from './command-line-config.ts';
4
+ export type BenchmarkCommandDependencies = CommandLineConfigDependencies & {
5
+ readonly loadConfig: ConfigLoader;
6
+ readonly orchestrator: RunOrchestrator;
7
+ };
8
+ //# sourceMappingURL=benchmark-command-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-command-policy.d.ts","sourceRoot":"","sources":["../../../../source/run/benchmark-command-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAEE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AA2B9E,YAsBY,4BAA4B,GAAG,6BAA6B,GAAG;IACvE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { invalidRequest } from "./run-errors.js";
2
+ function inferBenchmarkProfile(config) {
3
+ const names = Object
4
+ .entries(config.profiles)
5
+ .filter(function isBenchmarkProfile([, profile]) {
6
+ return profile.testFamily === 'benchmark';
7
+ })
8
+ .map(function profileName([name]) {
9
+ return name;
10
+ })
11
+ .toSorted(function compareProfileNames(first, second) {
12
+ return first.localeCompare(second);
13
+ });
14
+ const [name] = names;
15
+ if (name === undefined) {
16
+ return invalidRequest('No benchmark profiles are configured. Configure a benchmark profile and use --profile.');
17
+ }
18
+ if (names.length > 1) {
19
+ return invalidRequest(`Multiple benchmark profiles are configured: ${names.join(', ')}. Use --profile <name>.`);
20
+ }
21
+ return name;
22
+ }
23
+ export function selectBenchmarkCommandProfile(name, config) {
24
+ if (name === null) {
25
+ return inferBenchmarkProfile(config);
26
+ }
27
+ const profile = Object.hasOwn(config.profiles, name) ? config.profiles[name] : undefined;
28
+ if (profile === undefined) {
29
+ return invalidRequest(`Unknown benchmark profile: "${name}".`);
30
+ }
31
+ const { testFamily } = profile;
32
+ if (testFamily !== 'benchmark') {
33
+ return invalidRequest(`Profile "${name}" has testFamily "${testFamily}". Benchmark commands require testFamily "benchmark".`);
34
+ }
35
+ return name;
36
+ }
37
+ //# sourceMappingURL=benchmark-command-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-command-policy.js","sourceRoot":"","sources":["../../../../source/run/benchmark-command-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,SAAS,qBAAqB,CAAC,MAAwB;IACnD,MAAM,KAAK,GAAG,MAAM;SACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,SAAS,kBAAkB,CAAC,CAAE,AAAD,EAAG,OAAO,CAAE;QAC7C,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW,CAAC;IAC9C,CAAC,CAAC;SACD,GAAG,CAAC,SAAS,WAAW,CAAC,CAAE,IAAI,CAAE;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;SACD,QAAQ,CAAC,SAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM;QAChD,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACP,MAAM,CAAE,IAAI,CAAE,GAAG,KAAK,CAAC;IAEvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC,wFAAwF,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,+CAA+C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpH,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAmB,EAAE,MAAwB;IACvF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,cAAc,CAAC,+BAA+B,IAAI,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,cAAc,CACjB,YAAY,IAAI,qBAAqB,UAAU,uDAAuD,CACzG,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,10 +1,4 @@
1
- import type { ConfigLoader } from '../config/config.ts';
2
1
  import { type CommandLineBenchmarkCommands } from './command-line-command.ts';
3
- import type { RunOrchestrator } from './run-types.ts';
4
- import type { CommandLineConfigDependencies } from './command-line-config.ts';
5
- export type BenchmarkCommandDependencies = CommandLineConfigDependencies & {
6
- readonly loadConfig: ConfigLoader;
7
- readonly orchestrator: RunOrchestrator;
8
- };
2
+ import { type BenchmarkCommandDependencies } from './benchmark-command-policy.ts';
9
3
  export declare function createBenchmarkCommands(dependencies: BenchmarkCommandDependencies): CommandLineBenchmarkCommands;
10
4
  //# sourceMappingURL=benchmark-commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-commands.d.ts","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAEH,KAAK,4BAA4B,EACpC,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAuD9E,MAAM,MAAM,4BAA4B,GAAG,6BAA6B,GAAG;IACvE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,4BAA4B,GAAG,4BAA4B,CAuDhH"}
1
+ {"version":3,"file":"benchmark-commands.d.ts","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,4BAA4B,EAEpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAiC,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAQjH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,4BAA4B,GAAG,4BAA4B,CAsEhH"}
@@ -1,44 +1,14 @@
1
1
  import { createCommandLineErrorResultFromUnknown } from "./command-line-command.js";
2
- import { createUnimplementedBaselineCommands } from "./command-line-unimplemented-commands.js";
3
- import { invalidRequest } from "./run-errors.js";
2
+ import { selectBenchmarkCommandProfile } from "./benchmark-command-policy.js";
4
3
  import { listTestsWithLoadedConfig, runTestsWithLoadedConfig } from "./command-line-execution.js";
5
4
  import { createSystemRunTimingMeasurement, emptyTimingSpanMetadata } from "./run-timing-collection.js";
6
- function inferBenchmarkProfile(config) {
7
- const names = Object
8
- .entries(config.profiles)
9
- .filter(function isBenchmarkProfile([, profile]) {
10
- return profile.testFamily === 'benchmark';
11
- })
12
- .map(function profileName([name]) {
13
- return name;
14
- })
15
- .toSorted(function compareProfileNames(first, second) {
16
- return first.localeCompare(second);
17
- });
18
- const [name] = names;
19
- if (name === undefined) {
20
- return invalidRequest('No benchmark profiles are configured. Configure a benchmark profile and use --profile.');
21
- }
22
- if (names.length > 1) {
23
- return invalidRequest(`Multiple benchmark profiles are configured: ${names.join(', ')}. Use --profile <name>.`);
24
- }
25
- return name;
26
- }
27
- function selectBenchmarkProfile(name, config) {
28
- if (name === null) {
29
- return inferBenchmarkProfile(config);
30
- }
31
- const profile = Object.hasOwn(config.profiles, name) ? config.profiles[name] : undefined;
32
- if (profile === undefined) {
33
- return invalidRequest(`Unknown benchmark profile: "${name}".`);
34
- }
35
- const { testFamily } = profile;
36
- if (testFamily !== 'benchmark') {
37
- return invalidRequest(`Profile "${name}" has testFamily "${testFamily}". Benchmark commands require testFamily "benchmark".`);
38
- }
39
- return name;
40
- }
41
5
  export function createBenchmarkCommands(dependencies) {
6
+ function baselineVerb(verb) {
7
+ return async function runBaselineCommand(request) {
8
+ const { runBenchmarkBaselineCommand } = await import("./benchmark-baseline-commands.js");
9
+ return await runBenchmarkBaselineCommand({ dependencies, request, verb });
10
+ };
11
+ }
42
12
  const execution = {
43
13
  createDefaultReporter: dependencies.createDefaultReporter,
44
14
  orchestrator: {
@@ -47,11 +17,20 @@ export function createBenchmarkCommands(dependencies) {
47
17
  }
48
18
  };
49
19
  return {
50
- baseline: createUnimplementedBaselineCommands('bench baseline'),
20
+ baseline: {
21
+ apply: baselineVerb('apply'),
22
+ bootstrap: baselineVerb('bootstrap'),
23
+ diff: baselineVerb('diff'),
24
+ async list(request) {
25
+ const { listBenchmarkBaselineCommand } = await import("./benchmark-baseline-commands.js");
26
+ return await listBenchmarkBaselineCommand({ dependencies, request });
27
+ },
28
+ update: baselineVerb('update')
29
+ },
51
30
  async listBenchmarks(request) {
52
31
  try {
53
32
  const config = await dependencies.loadConfig(request);
54
- const profile = selectBenchmarkProfile(request.listRequest.profile, config);
33
+ const profile = selectBenchmarkCommandProfile(request.listRequest.profile, config);
55
34
  return await listTestsWithLoadedConfig({
56
35
  ...request,
57
36
  listRequest: { ...request.listRequest, profile }
@@ -67,7 +46,7 @@ export function createBenchmarkCommands(dependencies) {
67
46
  const config = await timing.measureAsync('config.load', emptyTimingSpanMetadata(), async function loadBenchmarkConfig() {
68
47
  return await dependencies.loadConfig(request);
69
48
  });
70
- const profile = selectBenchmarkProfile(request.runRequest.profile, config);
49
+ const profile = selectBenchmarkCommandProfile(request.runRequest.profile, config);
71
50
  return await runTestsWithLoadedConfig({
72
51
  ...request,
73
52
  runRequest: { ...request.runRequest, profile }
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,uCAAuC,EAE1C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EACH,yBAAyB,EACzB,wBAAwB,EAE3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEvG,SAAS,qBAAqB,CAAC,MAAwB;IACnD,MAAM,KAAK,GAAG,MAAM;SACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,SAAS,kBAAkB,CAAC,CAAE,AAAD,EAAG,OAAO,CAAE;QAC7C,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW,CAAC;IAC9C,CAAC,CAAC;SACD,GAAG,CAAC,SAAS,WAAW,CAAC,CAAE,IAAI,CAAE;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;SACD,QAAQ,CAAC,SAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM;QAChD,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACP,MAAM,CAAE,IAAI,CAAE,GAAG,KAAK,CAAC;IAEvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC,wFAAwF,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,+CAA+C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpH,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAmB,EAAE,MAAwB;IACzE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,cAAc,CAAC,+BAA+B,IAAI,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,cAAc,CACjB,YAAY,IAAI,qBAAqB,UAAU,uDAAuD,CACzG,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAOD,MAAM,UAAU,uBAAuB,CAAC,YAA0C;IAC9E,MAAM,SAAS,GAAqC;QAChD,qBAAqB,EAAE,YAAY,CAAC,qBAAqB;QACzD,YAAY,EAAE;YACV,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI;YAC7C,uBAAuB,EAAE,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,uBAAuB;SACnF;KACJ,CAAC;IAEF,OAAO;QACH,QAAQ,EAAE,mCAAmC,CAAC,gBAAgB,CAAC;QAC/D,KAAK,CAAC,cAAc,CAAC,OAAO;YACxB,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAE5E,OAAO,MAAM,yBAAyB,CAClC;oBACI,GAAG,OAAO;oBACV,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE;iBACnD,EACD,SAAS,EACT,MAAM,CACT,CAAC;YACN,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,OAAO,uCAAuC,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,OAAO;YACvB,MAAM,MAAM,GAAG,gCAAgC,EAAE,CAAC;YAElD,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CACpC,aAAa,EACb,uBAAuB,EAAE,EACzB,KAAK,UAAU,mBAAmB;oBAC9B,OAAO,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC,CACJ,CAAC;gBACF,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAE3E,OAAO,MAAM,wBAAwB,CACjC;oBACI,GAAG,OAAO;oBACV,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;iBACjD,EACD,SAAS,EACT,MAAM,EACN,EAAE,MAAM,EAAE,CACb,CAAC;YACN,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,OAAO,uCAAuC,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"benchmark-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  const childRoleArgumentPrefix = '--overkill-child-role=';
2
2
  export const supervisedChildRole = 'supervised';
3
+ export const benchmarkCalibrationRole = 'benchmark-calibration';
3
4
  export const workerPoolHostRole = 'worker-pool-host';
4
5
  export function childRole(childArguments) {
5
6
  const argument = childArguments.find(function isChildRoleArgument(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"child-process-roles.js","sourceRoot":"","sources":["../../../../source/run/child-process-roles.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAErD,MAAM,UAAU,SAAS,CAAC,cAAiC;IACvD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,KAAK;QACnE,OAAO,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC1C,OAAO,GAAG,uBAAuB,GAAG,IAAI,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"child-process-roles.js","sourceRoot":"","sources":["../../../../source/run/child-process-roles.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAErD,MAAM,UAAU,SAAS,CAAC,cAAiC;IACvD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,KAAK;QACnE,OAAO,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC1C,OAAO,GAAG,uBAAuB,GAAG,IAAI,EAAE,CAAC;AAC/C,CAAC"}
@@ -1,6 +1,10 @@
1
- import { childRole, supervisedChildRole, workerPoolHostRole } from "./child-process-roles.js";
1
+ import { childRole, benchmarkCalibrationRole, supervisedChildRole, workerPoolHostRole } from "./child-process-roles.js";
2
2
  export const childProcessEntryPointUrl = import.meta.url;
3
3
  async function runChildProcessRole(role) {
4
+ if (role === benchmarkCalibrationRole) {
5
+ await import("./benchmark-calibration.entry-point.js");
6
+ return;
7
+ }
4
8
  if (role === supervisedChildRole) {
5
9
  await import("./supervised-child.entry-point.js");
6
10
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"child-process.entry-point.js","sourceRoot":"","sources":["../../../../source/run/child-process.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAEzD,KAAK,UAAU,mBAAmB,CAAC,IAAmB;IAClD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAElD,OAAO;IACX,CAAC;IAED,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC9B,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,0BAA0B,CAAC,KAAc;IACjG,MAAM,KAAK,CAAC;AAChB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"child-process.entry-point.js","sourceRoot":"","sources":["../../../../source/run/child-process.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAEzD,KAAK,UAAU,mBAAmB,CAAC,IAAmB;IAClD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACpC,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;QACvD,OAAO;IACX,CAAC;IACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAElD,OAAO;IACX,CAAC;IAED,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC9B,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,0BAA0B,CAAC,KAAc;IACjG,MAAM,KAAK,CAAC;AAChB,CAAC,CAAC,CAAC"}