@overkill-dev/run 0.0.10 → 0.0.12
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/diff/diff-shape.d.ts +7 -2
- package/diff/diff-shape.d.ts.map +1 -1
- package/engine/assertion-recorder.js +242 -0
- package/engine/assertion-recorder.js.map +1 -0
- package/engine/case-execution.js +31 -247
- package/engine/case-execution.js.map +1 -1
- package/engine/engine.d.ts +27 -0
- package/engine/engine.d.ts.map +1 -0
- package/engine/engine.js +40 -0
- package/engine/engine.js.map +1 -0
- package/engine/execution-result.js +12 -4
- package/engine/execution-result.js.map +1 -1
- package/engine/execution-supervision.d.ts +50 -0
- package/engine/execution-supervision.d.ts.map +1 -0
- package/engine/execution-supervision.js +316 -0
- package/engine/execution-supervision.js.map +1 -0
- package/engine/execution.d.ts +4 -1
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +70 -61
- package/engine/execution.js.map +1 -1
- package/engine/identity.d.ts +1 -1
- package/engine/identity.d.ts.map +1 -1
- package/engine/identity.js +16 -1
- package/engine/identity.js.map +1 -1
- package/engine/reporter.d.ts +3 -3
- package/engine/reporter.d.ts.map +1 -1
- package/engine/run-if-main.d.ts +28 -0
- package/engine/run-if-main.d.ts.map +1 -0
- package/engine/run-if-main.js +46 -0
- package/engine/run-if-main.js.map +1 -0
- package/engine/run-result.d.ts +15 -5
- package/engine/run-result.d.ts.map +1 -1
- package/engine/run-result.js.map +1 -1
- package/engine/test-node.d.ts +2 -0
- package/engine/test-node.d.ts.map +1 -1
- package/engine/test-node.js +137 -0
- package/engine/test-node.js.map +1 -0
- package/engine/test-plan.d.ts +11 -1
- package/engine/test-plan.d.ts.map +1 -1
- package/engine/test-plan.js +174 -0
- package/engine/test-plan.js.map +1 -0
- package/package.json +7 -2
- package/packages/engine/engine.entry-point.js +67 -0
- package/packages/engine/engine.entry-point.js.map +1 -0
- package/packages/run/run.entry-point.d.ts +4 -2
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +2 -1
- package/packages/run/run.entry-point.js.map +1 -1
- package/readme.md +11 -6
- package/reporters/line-reporter.js +15 -10
- package/reporters/line-reporter.js.map +1 -1
- package/run/command-line-command.d.ts +1 -3
- package/run/command-line-command.d.ts.map +1 -1
- package/run/command-line-command.js +4 -1
- package/run/command-line-command.js.map +1 -1
- package/run/command-line-runner.d.ts +1 -1
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +4 -3
- package/run/command-line-runner.js.map +1 -1
- package/run/command-line-unimplemented-commands.js +1 -1
- package/run/command-line-unimplemented-commands.js.map +1 -1
- package/run/default-run-engine.js +14 -0
- package/run/default-run-engine.js.map +1 -0
- package/run/resource-usage.d.ts.map +1 -1
- package/run/resource-usage.js +16 -17
- package/run/resource-usage.js.map +1 -1
- package/run/run-config.d.ts +6 -1
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js +67 -24
- package/run/run-config.js.map +1 -1
- package/run/run-discovery.js +75 -0
- package/run/run-discovery.js.map +1 -0
- package/run/run-errors.d.ts +16 -0
- package/run/run-errors.d.ts.map +1 -0
- package/run/run-errors.js +37 -0
- package/run/run-errors.js.map +1 -0
- package/run/run-orchestrator.d.ts +3 -0
- package/run/run-orchestrator.d.ts.map +1 -0
- package/run/run-orchestrator.js +46 -0
- package/run/run-orchestrator.js.map +1 -0
- package/run/run-test-modules.js +53 -0
- package/run/run-test-modules.js.map +1 -0
- package/run/{run.d.ts → run-types.d.ts} +23 -27
- package/run/run-types.d.ts.map +1 -0
- package/run/run.js +110 -79
- package/run/run.js.map +1 -1
- package/run/supervised-run.js +358 -0
- package/run/supervised-run.js.map +1 -0
- package/sbom.cdx.json +4 -4
- package/run/run.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-orchestrator.d.ts","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAuBtD,eAAO,MAAM,YAAY,EAAE,eAsBzB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { randomBytes } from 'node:crypto';
|
|
2
|
+
import { createWallClock } from '@enormora/wall-clock';
|
|
3
|
+
import { createExecute } from "../engine/execution.js";
|
|
4
|
+
import { createReporterDispatcher } from "../engine/reporter-dispatcher.js";
|
|
5
|
+
import { defaultRunEngine } from "./default-run-engine.js";
|
|
6
|
+
import { createNodeResourceUsageTracker } from "./resource-usage.js";
|
|
7
|
+
import { createRunOrchestrator } from "./run.js";
|
|
8
|
+
const seedByteLength = 8;
|
|
9
|
+
function createDefaultSeed() {
|
|
10
|
+
return randomBytes(seedByteLength).readBigUInt64BE();
|
|
11
|
+
}
|
|
12
|
+
function writeStdoutLine(line) {
|
|
13
|
+
process.stdout.write(`${line}\n`);
|
|
14
|
+
}
|
|
15
|
+
function writeStderrLine(line) {
|
|
16
|
+
process.stderr.write(`${line}\n`);
|
|
17
|
+
}
|
|
18
|
+
const defaultWallClock = createWallClock();
|
|
19
|
+
const defaultReporterDispatcher = createReporterDispatcher({
|
|
20
|
+
stderr: { writeLine: writeStderrLine },
|
|
21
|
+
stdout: { writeLine: writeStdoutLine },
|
|
22
|
+
wallClock: defaultWallClock
|
|
23
|
+
});
|
|
24
|
+
export const orchestrator = createRunOrchestrator({
|
|
25
|
+
createSeed: createDefaultSeed,
|
|
26
|
+
createResourceUsageTracker(options) {
|
|
27
|
+
return createNodeResourceUsageTracker(defaultWallClock, options);
|
|
28
|
+
},
|
|
29
|
+
defaultEngine: defaultRunEngine,
|
|
30
|
+
execute: createExecute({
|
|
31
|
+
reporterDispatcher: defaultReporterDispatcher,
|
|
32
|
+
wallClock: defaultWallClock
|
|
33
|
+
}),
|
|
34
|
+
node: {
|
|
35
|
+
arch: process.arch,
|
|
36
|
+
platform: process.platform,
|
|
37
|
+
version: process.versions.node
|
|
38
|
+
},
|
|
39
|
+
reporterDispatcher: defaultReporterDispatcher,
|
|
40
|
+
readStartedAt() {
|
|
41
|
+
const startedAt = new Date(defaultWallClock.currentTimestampInMilliseconds);
|
|
42
|
+
return startedAt.toISOString();
|
|
43
|
+
},
|
|
44
|
+
wallClock: defaultWallClock
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=run-orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-orchestrator.js","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGjD,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,iBAAiB;IACtB,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;AAC3C,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;IACvD,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;IACtC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;IACtC,SAAS,EAAE,gBAAgB;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAoB,qBAAqB,CAAC;IAC/D,UAAU,EAAE,iBAAiB;IAC7B,0BAA0B,CAAC,OAAO;QAC9B,OAAO,8BAA8B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,aAAa,EAAE,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;QACnB,kBAAkB,EAAE,yBAAyB;QAC7C,SAAS,EAAE,gBAAgB;KAC9B,CAAC;IACF,IAAI,EAAE;QACF,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;KACjC;IACD,kBAAkB,EAAE,yBAAyB;IAC7C,aAAa;QACT,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;QAE5E,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IACD,SAAS,EAAE,gBAAgB;CAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
9
|
+
import { invalidRequest, RunCollectionError } from "./run-errors.js";
|
|
10
|
+
async function importUnknownModule(href) {
|
|
11
|
+
return await import(__rewriteRelativeImportExtension(href));
|
|
12
|
+
}
|
|
13
|
+
function isTestModuleNamespace(value) {
|
|
14
|
+
return typeof value === 'object' && value !== null;
|
|
15
|
+
}
|
|
16
|
+
async function importRawTestModule(file) {
|
|
17
|
+
try {
|
|
18
|
+
return await importUnknownModule(file.href);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw new RunCollectionError(`Failed to load test module: ${file.file}`, { cause: error }, 'loader');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async function importTestModule(file) {
|
|
25
|
+
const moduleNamespace = await importRawTestModule(file);
|
|
26
|
+
if (!isTestModuleNamespace(moduleNamespace)) {
|
|
27
|
+
throw new RunCollectionError(`Test module namespace must be an object: ${file.file}`, { cause: null }, 'loader');
|
|
28
|
+
}
|
|
29
|
+
return moduleNamespace;
|
|
30
|
+
}
|
|
31
|
+
function readTestNode(moduleNamespace, file, engine) {
|
|
32
|
+
if (!Object.hasOwn(moduleNamespace, 'testNode')) {
|
|
33
|
+
invalidRequest(`Test module must export testNode: ${file.file}`);
|
|
34
|
+
}
|
|
35
|
+
const { testNode } = moduleNamespace;
|
|
36
|
+
if (!engine.ownsTestNode(testNode)) {
|
|
37
|
+
invalidRequest(`Test module testNode must be created by the selected engine: ${file.file}`);
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
file: file.file,
|
|
41
|
+
testNode
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export async function loadRunTestModules(files, engine) {
|
|
45
|
+
const [firstFile, ...remainingFiles] = files;
|
|
46
|
+
const firstTestFile = readTestNode(await importTestModule(firstFile), firstFile, engine);
|
|
47
|
+
const remainingTestFiles = [];
|
|
48
|
+
for (const file of remainingFiles) {
|
|
49
|
+
remainingTestFiles.push(readTestNode(await importTestModule(file), file, engine));
|
|
50
|
+
}
|
|
51
|
+
return [firstTestFile, ...remainingTestFiles];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=run-test-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-test-modules.js","sourceRoot":"","sources":["../../../../source/run/run-test-modules.ts"],"names":[],"mappings":";;;;;;;;AAIA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIrE,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC3C,OAAO,MAAM,MAAM,kCAAC,IAAI,EAAY,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IACtD,IAAI,CAAC;QACD,OAAO,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IACnD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CACxB,4CAA4C,IAAI,CAAC,IAAI,EAAE,EACvD,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,QAAQ,CACX,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,eAAoC,EAAE,IAAuB,EAAE,MAAc;IAC/F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9C,cAAc,CAAC,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,cAAc,CAAC,gEAAgE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ;KACX,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,KAA+C,EAC/C,MAAc;IAEd,MAAM,CAAE,SAAS,EAAE,GAAG,cAAc,CAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzF,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,CAAE,aAAa,EAAE,GAAG,kBAAkB,CAAE,CAAC;AACpD,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
1
|
+
import type { WallClock } from '@enormora/wall-clock';
|
|
2
|
+
import type { SerializedValue as SerializedValueShape } from '../compare/serialized-value.ts';
|
|
3
|
+
import type { Execute } from '../engine/execution.ts';
|
|
4
|
+
import type { Engine } from '../engine/engine.ts';
|
|
5
|
+
import type { ReporterDispatcher } from '../engine/reporter-dispatcher.ts';
|
|
4
6
|
import type { RunResourceUsageTracker, RunResult } from '../engine/run-result.ts';
|
|
5
7
|
import type { TestPlan } from '../engine/test-plan.ts';
|
|
6
|
-
import {
|
|
8
|
+
import type { ResourceUsageTrackerOptions } from './resource-usage.ts';
|
|
7
9
|
export type SerializedValue = SerializedValueShape;
|
|
8
10
|
type RunExecuteOptions = NonNullable<Parameters<Execute>[1]>;
|
|
9
11
|
type RunOutputRenderer = NonNullable<RunExecuteOptions['outputRenderer']>;
|
|
@@ -16,7 +18,7 @@ export type RunShard = {
|
|
|
16
18
|
readonly total: number;
|
|
17
19
|
};
|
|
18
20
|
export type RunExecutionRequest = {
|
|
19
|
-
readonly mode: '
|
|
21
|
+
readonly mode: 'profile-default';
|
|
20
22
|
};
|
|
21
23
|
export type RunSeed = {
|
|
22
24
|
readonly value: bigint | null;
|
|
@@ -27,7 +29,7 @@ export type RunDebugRequest = {
|
|
|
27
29
|
};
|
|
28
30
|
export type RunLoaderConfig = {
|
|
29
31
|
readonly sourceMaps: boolean;
|
|
30
|
-
readonly stripMode: 'strip-only'
|
|
32
|
+
readonly stripMode: 'strip-only';
|
|
31
33
|
};
|
|
32
34
|
export type RunResourceBudgets = {
|
|
33
35
|
readonly activeResourceCount: number | null;
|
|
@@ -35,19 +37,16 @@ export type RunResourceBudgets = {
|
|
|
35
37
|
readonly residentSetBytes: number | null;
|
|
36
38
|
readonly residentSetGrowthBytesPerSecond: number | null;
|
|
37
39
|
};
|
|
38
|
-
export type ResourceBudgetOverrides = {
|
|
39
|
-
readonly activeResourceCount: number | null;
|
|
40
|
-
readonly javaScriptEngineHeapBytes: number | null;
|
|
41
|
-
readonly residentSetBytes: number | null;
|
|
42
|
-
readonly residentSetGrowthBytesPerSecond: number | null;
|
|
43
|
-
};
|
|
44
40
|
export type RunResourceUsagePolicy = {
|
|
41
|
+
readonly hardTimeoutMilliseconds: number;
|
|
45
42
|
readonly measureResourceUsage: boolean;
|
|
46
43
|
readonly resourceBudgets: RunResourceBudgets;
|
|
47
44
|
readonly resourceUsageSamplingIntervalMilliseconds: number;
|
|
45
|
+
readonly timeoutMilliseconds: number;
|
|
48
46
|
};
|
|
49
47
|
export type RunProfilesConfig = {
|
|
50
48
|
readonly microtest: RunResourceUsagePolicy;
|
|
49
|
+
readonly microtestSupervised: RunResourceUsagePolicy;
|
|
51
50
|
};
|
|
52
51
|
export type RunConfig = {
|
|
53
52
|
readonly loader: RunLoaderConfig;
|
|
@@ -65,8 +64,8 @@ export type RunRequest = {
|
|
|
65
64
|
readonly measureResourceUsage: boolean | null;
|
|
66
65
|
readonly order: 'plan';
|
|
67
66
|
readonly paths: readonly string[];
|
|
68
|
-
readonly profile: 'microtest';
|
|
69
|
-
readonly resourceBudgetOverrides:
|
|
67
|
+
readonly profile: 'microtest' | 'microtest-supervised';
|
|
68
|
+
readonly resourceBudgetOverrides: RunResourceBudgets | null;
|
|
70
69
|
readonly resourceUsageSamplingIntervalMilliseconds: number | null;
|
|
71
70
|
readonly seed: RunSeed;
|
|
72
71
|
readonly selection: RunSelection;
|
|
@@ -75,8 +74,9 @@ export type RunRequest = {
|
|
|
75
74
|
};
|
|
76
75
|
export type RunCommand = {
|
|
77
76
|
readonly config: RunConfig;
|
|
77
|
+
readonly cwd: string;
|
|
78
|
+
readonly engine: Engine | null;
|
|
78
79
|
readonly request: RunRequest;
|
|
79
|
-
readonly testPlan: TestPlan;
|
|
80
80
|
};
|
|
81
81
|
export type RunFacts = {
|
|
82
82
|
readonly cases: readonly RunCaseFacts[];
|
|
@@ -86,7 +86,7 @@ export type RunFacts = {
|
|
|
86
86
|
readonly reproducibility: RunReproducibilityFacts;
|
|
87
87
|
};
|
|
88
88
|
export type RunCaseFacts = {
|
|
89
|
-
readonly id:
|
|
89
|
+
readonly id: TestPlan['cases'][number]['id'];
|
|
90
90
|
readonly metadata: SerializedValue;
|
|
91
91
|
};
|
|
92
92
|
export type RunEnvironmentFacts = {
|
|
@@ -102,9 +102,9 @@ export type RunExecutionFacts = {
|
|
|
102
102
|
readonly capture: 'buffered' | 'live';
|
|
103
103
|
readonly coverage: false;
|
|
104
104
|
readonly debug: RunDebugRequest;
|
|
105
|
-
readonly mode: 'concurrent-in-process';
|
|
105
|
+
readonly mode: 'concurrent-in-process' | 'single-child-process';
|
|
106
106
|
readonly order: 'plan';
|
|
107
|
-
readonly profile: 'microtest';
|
|
107
|
+
readonly profile: 'microtest' | 'microtest-supervised';
|
|
108
108
|
readonly resourceUsagePolicy: RunResourceUsagePolicy;
|
|
109
109
|
readonly verbose: false;
|
|
110
110
|
};
|
|
@@ -114,33 +114,29 @@ export type RunReproducibilityFacts = {
|
|
|
114
114
|
};
|
|
115
115
|
export type ResolvedRun = {
|
|
116
116
|
readonly config: RunConfig;
|
|
117
|
+
readonly cwd: string;
|
|
117
118
|
readonly facts: RunFacts;
|
|
118
119
|
readonly reporters: RunReporters;
|
|
119
120
|
readonly request: RunRequest;
|
|
120
121
|
readonly testPlan: TestPlan;
|
|
121
122
|
};
|
|
122
|
-
export type RunResolutionErrorCode = 'invalid-request' | 'unsupported-request';
|
|
123
|
-
export declare class RunResolutionError extends Error {
|
|
124
|
-
private readonly errorCode;
|
|
125
|
-
constructor(message: string, options: Readonly<ErrorOptions> | undefined, code: RunResolutionErrorCode);
|
|
126
|
-
code(): RunResolutionErrorCode;
|
|
127
|
-
}
|
|
128
123
|
export type RunOrchestratorDependencies = {
|
|
129
124
|
readonly createSeed: () => bigint;
|
|
130
125
|
readonly createResourceUsageTracker: (options: ResourceUsageTrackerOptions) => RunResourceUsageTracker;
|
|
126
|
+
readonly defaultEngine: Engine;
|
|
131
127
|
readonly execute: Execute;
|
|
132
128
|
readonly node: {
|
|
133
129
|
readonly arch: string;
|
|
134
130
|
readonly platform: string;
|
|
135
131
|
readonly version: string;
|
|
136
132
|
};
|
|
133
|
+
readonly reporterDispatcher: ReporterDispatcher;
|
|
137
134
|
readonly readStartedAt: () => string;
|
|
135
|
+
readonly wallClock: WallClock;
|
|
138
136
|
};
|
|
139
137
|
export type RunOrchestrator = {
|
|
140
138
|
readonly resolve: (command: RunCommand) => Promise<ResolvedRun>;
|
|
141
139
|
readonly run: (command: RunCommand) => Promise<RunResult>;
|
|
142
140
|
};
|
|
143
|
-
export declare function createRunOrchestrator(dependencies: RunOrchestratorDependencies): RunOrchestrator;
|
|
144
|
-
export declare const orchestrator: RunOrchestrator;
|
|
145
141
|
export {};
|
|
146
|
-
//# sourceMappingURL=run.d.ts.map
|
|
142
|
+
//# sourceMappingURL=run-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-types.d.ts","sourceRoot":"","sources":["../../../../source/run/run-types.ts"],"names":[],"mappings":"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"}
|
package/run/run.js
CHANGED
|
@@ -1,33 +1,9 @@
|
|
|
1
|
-
import { randomBytes } from 'node:crypto';
|
|
2
|
-
import { createWallClock } from '@enormora/wall-clock';
|
|
3
1
|
import { serializeValue } from "../compare/serialized-value.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { discoverRunFiles } from "./run-discovery.js";
|
|
3
|
+
import { invalidRequest, RunCollectionError, unsupportedRequest } from "./run-errors.js";
|
|
4
|
+
import { loadRunTestModules } from "./run-test-modules.js";
|
|
5
|
+
import { executeSupervisedRun } from "./supervised-run.js";
|
|
7
6
|
const minimumSeedValue = 0n;
|
|
8
|
-
const seedByteLength = 8;
|
|
9
|
-
export class RunResolutionError extends Error {
|
|
10
|
-
errorCode;
|
|
11
|
-
constructor(message, options, code) {
|
|
12
|
-
super(message, options);
|
|
13
|
-
this.name = 'RunResolutionError';
|
|
14
|
-
this.errorCode = code;
|
|
15
|
-
}
|
|
16
|
-
code() {
|
|
17
|
-
return this.errorCode;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function unsupportedRequest(message) {
|
|
21
|
-
throw new RunResolutionError(message, undefined, 'unsupported-request');
|
|
22
|
-
}
|
|
23
|
-
function invalidRequest(message) {
|
|
24
|
-
throw new RunResolutionError(message, undefined, 'invalid-request');
|
|
25
|
-
}
|
|
26
|
-
function validateRunPaths(request) {
|
|
27
|
-
if (request.paths.length > 0) {
|
|
28
|
-
unsupportedRequest('Path discovery is not implemented yet.');
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
7
|
function validateRunShard(request) {
|
|
32
8
|
if (request.shard.index !== 0 || request.shard.total !== 1) {
|
|
33
9
|
unsupportedRequest('Sharding is not implemented yet.');
|
|
@@ -52,6 +28,13 @@ function validateResourceBudgets(resourceBudgets) {
|
|
|
52
28
|
function validateSamplingInterval(value) {
|
|
53
29
|
validatePositiveSafeInteger(value, 'Resource usage sampling interval');
|
|
54
30
|
}
|
|
31
|
+
function validateTimeoutPolicy(policy) {
|
|
32
|
+
validatePositiveSafeInteger(policy.timeoutMilliseconds, 'Soft timeout');
|
|
33
|
+
validatePositiveSafeInteger(policy.hardTimeoutMilliseconds, 'Hard timeout');
|
|
34
|
+
if (policy.timeoutMilliseconds > policy.hardTimeoutMilliseconds) {
|
|
35
|
+
invalidRequest('Soft timeout must not exceed hard timeout.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
55
38
|
function hasResourceBudgets(resourceBudgets) {
|
|
56
39
|
return resourceBudgets.activeResourceCount !== null ||
|
|
57
40
|
resourceBudgets.javaScriptEngineHeapBytes !== null ||
|
|
@@ -70,7 +53,6 @@ function validateRunResourceUsageRequest(request) {
|
|
|
70
53
|
}
|
|
71
54
|
}
|
|
72
55
|
function validateRunRequest(request) {
|
|
73
|
-
validateRunPaths(request);
|
|
74
56
|
validateRunShard(request);
|
|
75
57
|
validateRunSeed(request);
|
|
76
58
|
validateRunResourceUsageRequest(request);
|
|
@@ -78,12 +60,14 @@ function validateRunRequest(request) {
|
|
|
78
60
|
function validateRunResourceUsagePolicy(policy) {
|
|
79
61
|
validateResourceBudgets(policy.resourceBudgets);
|
|
80
62
|
validateSamplingInterval(policy.resourceUsageSamplingIntervalMilliseconds);
|
|
63
|
+
validateTimeoutPolicy(policy);
|
|
81
64
|
if (!policy.measureResourceUsage && hasResourceBudgets(policy.resourceBudgets)) {
|
|
82
65
|
invalidRequest('Resource budgets require resource usage measurement.');
|
|
83
66
|
}
|
|
84
67
|
}
|
|
85
68
|
function validateRunConfig(config) {
|
|
86
69
|
validateRunResourceUsagePolicy(config.profiles.microtest);
|
|
70
|
+
validateRunResourceUsagePolicy(config.profiles.microtestSupervised);
|
|
87
71
|
}
|
|
88
72
|
function resolvedSeed(request, dependencies) {
|
|
89
73
|
return request.seed.value ?? dependencies.createSeed();
|
|
@@ -116,14 +100,17 @@ function copyResourceBudgetOverrides(overrides) {
|
|
|
116
100
|
}
|
|
117
101
|
function copyResourceUsagePolicy(policy) {
|
|
118
102
|
return {
|
|
103
|
+
hardTimeoutMilliseconds: policy.hardTimeoutMilliseconds,
|
|
119
104
|
measureResourceUsage: policy.measureResourceUsage,
|
|
120
105
|
resourceBudgets: copyResourceBudgets(policy.resourceBudgets),
|
|
121
|
-
resourceUsageSamplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds
|
|
106
|
+
resourceUsageSamplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds,
|
|
107
|
+
timeoutMilliseconds: policy.timeoutMilliseconds
|
|
122
108
|
};
|
|
123
109
|
}
|
|
124
110
|
function copyRunProfilesConfig(profiles) {
|
|
125
111
|
return {
|
|
126
|
-
microtest: copyResourceUsagePolicy(profiles.microtest)
|
|
112
|
+
microtest: copyResourceUsagePolicy(profiles.microtest),
|
|
113
|
+
microtestSupervised: copyResourceUsagePolicy(profiles.microtestSupervised)
|
|
127
114
|
};
|
|
128
115
|
}
|
|
129
116
|
function copyRunRequest(request) {
|
|
@@ -190,8 +177,17 @@ function assertResourceBudgetOverridesAllowed(measureResourceUsage, requestOverr
|
|
|
190
177
|
invalidRequest('Resource budget overrides require resource usage measurement.');
|
|
191
178
|
}
|
|
192
179
|
}
|
|
180
|
+
function configuredPolicyForProfile(request, config) {
|
|
181
|
+
if (request.profile === 'microtest-supervised') {
|
|
182
|
+
return config.profiles.microtestSupervised;
|
|
183
|
+
}
|
|
184
|
+
return config.profiles.microtest;
|
|
185
|
+
}
|
|
186
|
+
function resolvedExecutionMode(request) {
|
|
187
|
+
return request.profile === 'microtest-supervised' ? 'single-child-process' : 'concurrent-in-process';
|
|
188
|
+
}
|
|
193
189
|
function resolveResourceUsagePolicy(request, config) {
|
|
194
|
-
const configuredPolicy = config
|
|
190
|
+
const configuredPolicy = configuredPolicyForProfile(request, config);
|
|
195
191
|
const measureResourceUsage = request.measureResourceUsage ?? configuredPolicy.measureResourceUsage;
|
|
196
192
|
const resourceUsageSamplingIntervalMilliseconds = request.resourceUsageSamplingIntervalMilliseconds ??
|
|
197
193
|
configuredPolicy.resourceUsageSamplingIntervalMilliseconds;
|
|
@@ -200,14 +196,16 @@ function resolveResourceUsagePolicy(request, config) {
|
|
|
200
196
|
: disabledResourceBudgets();
|
|
201
197
|
assertResourceBudgetOverridesAllowed(measureResourceUsage, request.resourceBudgetOverrides);
|
|
202
198
|
return {
|
|
199
|
+
hardTimeoutMilliseconds: configuredPolicy.hardTimeoutMilliseconds,
|
|
203
200
|
measureResourceUsage,
|
|
204
201
|
resourceBudgets,
|
|
205
|
-
resourceUsageSamplingIntervalMilliseconds
|
|
202
|
+
resourceUsageSamplingIntervalMilliseconds,
|
|
203
|
+
timeoutMilliseconds: configuredPolicy.timeoutMilliseconds
|
|
206
204
|
};
|
|
207
205
|
}
|
|
208
|
-
function createRunFacts(
|
|
206
|
+
function createRunFacts(testPlan, request, config, dependencies) {
|
|
209
207
|
return {
|
|
210
|
-
cases:
|
|
208
|
+
cases: testPlan.cases.map(function toRunCaseFacts(testCase) {
|
|
211
209
|
return runCaseFacts(testCase.metadata, testCase.id);
|
|
212
210
|
}),
|
|
213
211
|
environment: {
|
|
@@ -223,7 +221,7 @@ function createRunFacts(command, request, config, dependencies) {
|
|
|
223
221
|
capture: request.capture,
|
|
224
222
|
coverage: request.coverage,
|
|
225
223
|
debug: request.debug,
|
|
226
|
-
mode: request
|
|
224
|
+
mode: resolvedExecutionMode(request),
|
|
227
225
|
order: request.order,
|
|
228
226
|
profile: request.profile,
|
|
229
227
|
resourceUsagePolicy: resolveResourceUsagePolicy(request, config),
|
|
@@ -245,24 +243,44 @@ function freezeValue(value) {
|
|
|
245
243
|
}
|
|
246
244
|
return value;
|
|
247
245
|
}
|
|
248
|
-
function
|
|
246
|
+
function resolveRunEngine(command, dependencies) {
|
|
247
|
+
return command.engine ?? dependencies.defaultEngine;
|
|
248
|
+
}
|
|
249
|
+
async function createTestPlan(command, dependencies) {
|
|
250
|
+
const engine = resolveRunEngine(command, dependencies);
|
|
251
|
+
const files = await discoverRunFiles({ cwd: command.cwd, paths: command.request.paths });
|
|
252
|
+
const testFiles = await loadRunTestModules(files, engine);
|
|
253
|
+
try {
|
|
254
|
+
return engine.createTestPlanFromTestFiles({
|
|
255
|
+
files: testFiles,
|
|
256
|
+
root: {
|
|
257
|
+
metadata: {},
|
|
258
|
+
name: command.cwd
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
throw new RunCollectionError('Failed to collect tests from explicit run inputs.', { cause: error }, 'loader');
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
async function createResolvedRun(command, dependencies) {
|
|
249
267
|
validateRunRequest(command.request);
|
|
250
268
|
validateRunConfig(command.config);
|
|
251
269
|
const request = freezeValue(copyRunRequest(command.request));
|
|
252
270
|
const config = freezeValue(copyRunConfig(command.config));
|
|
253
|
-
const
|
|
271
|
+
const testPlan = await createTestPlan(command, dependencies);
|
|
272
|
+
const facts = freezeValue(createRunFacts(testPlan, request, config, dependencies));
|
|
254
273
|
return freezeValue({
|
|
255
274
|
config,
|
|
275
|
+
cwd: command.cwd,
|
|
256
276
|
facts,
|
|
257
277
|
reporters: config.reporters,
|
|
258
278
|
request,
|
|
259
|
-
testPlan
|
|
279
|
+
testPlan
|
|
260
280
|
});
|
|
261
281
|
}
|
|
262
282
|
function assertRunnableResourceUsagePolicy(policy) {
|
|
263
|
-
|
|
264
|
-
unsupportedRequest('Resource budget enforcement is not implemented yet.');
|
|
265
|
-
}
|
|
283
|
+
validateRunResourceUsagePolicy(policy);
|
|
266
284
|
}
|
|
267
285
|
function createExecutionResourceUsageTracker(policy, dependencies) {
|
|
268
286
|
if (!policy.measureResourceUsage) {
|
|
@@ -272,58 +290,71 @@ function createExecutionResourceUsageTracker(policy, dependencies) {
|
|
|
272
290
|
samplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds
|
|
273
291
|
});
|
|
274
292
|
}
|
|
293
|
+
function createCollectionErrorRunResult(error) {
|
|
294
|
+
return {
|
|
295
|
+
artifacts: [],
|
|
296
|
+
bySuite: {},
|
|
297
|
+
orphans: [],
|
|
298
|
+
perTest: [],
|
|
299
|
+
resourceUsage: null,
|
|
300
|
+
runnerErrors: [error.runnerError()],
|
|
301
|
+
summary: {
|
|
302
|
+
crashed: 0,
|
|
303
|
+
defined: 0,
|
|
304
|
+
discovered: 0,
|
|
305
|
+
failed: 0,
|
|
306
|
+
inconclusive: 0,
|
|
307
|
+
passed: 0,
|
|
308
|
+
planned: 0,
|
|
309
|
+
resourceExhausted: 0,
|
|
310
|
+
skipped: 0
|
|
311
|
+
},
|
|
312
|
+
wallTimeMs: 0
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
function isRunResult(value) {
|
|
316
|
+
return Object.hasOwn(value, 'summary');
|
|
317
|
+
}
|
|
318
|
+
async function createResolvedRunOrCollectionErrorResult(command, dependencies) {
|
|
319
|
+
try {
|
|
320
|
+
return await createResolvedRun(command, dependencies);
|
|
321
|
+
}
|
|
322
|
+
catch (error) {
|
|
323
|
+
if (error instanceof RunCollectionError) {
|
|
324
|
+
return createCollectionErrorRunResult(error);
|
|
325
|
+
}
|
|
326
|
+
throw error;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
275
329
|
export function createRunOrchestrator(dependencies) {
|
|
276
330
|
return {
|
|
277
331
|
async resolve(command) {
|
|
278
|
-
return createResolvedRun(command, dependencies);
|
|
332
|
+
return await createResolvedRun(command, dependencies);
|
|
279
333
|
},
|
|
280
334
|
async run(command) {
|
|
281
|
-
const resolvedRun =
|
|
335
|
+
const resolvedRun = await createResolvedRunOrCollectionErrorResult(command, dependencies);
|
|
336
|
+
if (isRunResult(resolvedRun)) {
|
|
337
|
+
return resolvedRun;
|
|
338
|
+
}
|
|
282
339
|
const { resourceUsagePolicy } = resolvedRun.facts.execution;
|
|
283
340
|
assertRunnableResourceUsagePolicy(resourceUsagePolicy);
|
|
341
|
+
if (resolvedRun.facts.execution.mode === 'single-child-process') {
|
|
342
|
+
return await executeSupervisedRun(resolvedRun, dependencies);
|
|
343
|
+
}
|
|
284
344
|
return await dependencies.execute(resolvedRun.testPlan, {
|
|
285
345
|
execution: { mode: 'concurrent-in-process' },
|
|
286
346
|
outputRenderer: resolvedRun.config.outputRenderer,
|
|
287
347
|
reporters: resolvedRun.reporters,
|
|
348
|
+
resourceBudgets: resourceUsagePolicy.resourceBudgets,
|
|
288
349
|
resourceUsageTracker: createExecutionResourceUsageTracker(resourceUsagePolicy, dependencies),
|
|
289
350
|
runFacts: resolvedRun.facts,
|
|
290
|
-
startedAt: dependencies.readStartedAt()
|
|
351
|
+
startedAt: dependencies.readStartedAt(),
|
|
352
|
+
timeoutPolicy: {
|
|
353
|
+
hardTimeoutMilliseconds: resourceUsagePolicy.hardTimeoutMilliseconds,
|
|
354
|
+
timeoutMilliseconds: resourceUsagePolicy.timeoutMilliseconds
|
|
355
|
+
}
|
|
291
356
|
});
|
|
292
357
|
}
|
|
293
358
|
};
|
|
294
359
|
}
|
|
295
|
-
function createDefaultSeed() {
|
|
296
|
-
return randomBytes(seedByteLength).readBigUInt64BE();
|
|
297
|
-
}
|
|
298
|
-
const defaultWallClock = createWallClock();
|
|
299
|
-
function writeStdoutLine(line) {
|
|
300
|
-
process.stdout.write(`${line}\n`);
|
|
301
|
-
}
|
|
302
|
-
function writeStderrLine(line) {
|
|
303
|
-
process.stderr.write(`${line}\n`);
|
|
304
|
-
}
|
|
305
|
-
const defaultRunOrchestrator = createRunOrchestrator({
|
|
306
|
-
createSeed: createDefaultSeed,
|
|
307
|
-
createResourceUsageTracker(options) {
|
|
308
|
-
return createNodeResourceUsageTracker(defaultWallClock, options);
|
|
309
|
-
},
|
|
310
|
-
execute: createExecute({
|
|
311
|
-
reporterDispatcher: createReporterDispatcher({
|
|
312
|
-
stderr: { writeLine: writeStderrLine },
|
|
313
|
-
stdout: { writeLine: writeStdoutLine },
|
|
314
|
-
wallClock: defaultWallClock
|
|
315
|
-
}),
|
|
316
|
-
wallClock: defaultWallClock
|
|
317
|
-
}),
|
|
318
|
-
node: {
|
|
319
|
-
arch: process.arch,
|
|
320
|
-
platform: process.platform,
|
|
321
|
-
version: process.versions.node
|
|
322
|
-
},
|
|
323
|
-
readStartedAt() {
|
|
324
|
-
const startedAt = new Date(defaultWallClock.currentTimestampInMilliseconds);
|
|
325
|
-
return startedAt.toISOString();
|
|
326
|
-
}
|
|
327
|
-
});
|
|
328
|
-
export const orchestrator = defaultRunOrchestrator;
|
|
329
360
|
//# 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":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAkB3D,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,SAAS,gBAAgB,CAAC,OAAmB;IACzC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACzD,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,OAAmB;IACxC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACvE,cAAc,CAAC,wCAAwC,CAAC,CAAC;IAC7D,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAoB,EAAE,KAAa;IACpE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QACjE,cAAc,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAC;IAChE,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,eAAmC;IAChE,2BAA2B,CAAC,eAAe,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;IACjG,2BAA2B,CAAC,eAAe,CAAC,yBAAyB,EAAE,+BAA+B,CAAC,CAAC;IACxG,2BAA2B,CAAC,eAAe,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IACrF,2BAA2B,CAAC,eAAe,CAAC,+BAA+B,EAAE,4BAA4B,CAAC,CAAC;AAC/G,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAoB;IAClD,2BAA2B,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA8B;IACzD,2BAA2B,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACxE,2BAA2B,CAAC,MAAM,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;IAE5E,IAAI,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC9D,cAAc,CAAC,4CAA4C,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,eAAmC;IAC3D,OAAO,eAAe,CAAC,mBAAmB,KAAK,IAAI;QAC/C,eAAe,CAAC,yBAAyB,KAAK,IAAI;QAClD,eAAe,CAAC,gBAAgB,KAAK,IAAI;QACzC,eAAe,CAAC,+BAA+B,KAAK,IAAI,CAAC;AACjE,CAAC;AAED,SAAS,+BAA+B,CAAC,OAAmB;IACxD,IAAI,OAAO,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;QAC3C,uBAAuB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC;IAED,wBAAwB,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAE5E,IACI,OAAO,CAAC,oBAAoB,KAAK,KAAK;QACtC,OAAO,CAAC,uBAAuB,KAAK,IAAI;QACxC,kBAAkB,CAAC,OAAO,CAAC,uBAAuB,CAAC,EACrD,CAAC;QACC,cAAc,CAAC,+DAA+D,CAAC,CAAC;IACpF,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAmB;IAC3C,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,+BAA+B,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,8BAA8B,CAAC,MAA8B;IAClE,uBAAuB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAChD,wBAAwB,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;IAC3E,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9B,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7E,cAAc,CAAC,sDAAsD,CAAC,CAAC;IAC3E,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiB;IACxC,8BAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1D,8BAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,OAAmB,EAAE,YAAyC;IAChF,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAuB;IAC7C,OAAO;QACH,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC9B,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,KAAe;IACjC,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;KACrB,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,eAAmC;IAC5D,OAAO;QACH,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;QACxD,yBAAyB,EAAE,eAAe,CAAC,yBAAyB;QACpE,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;QAClD,+BAA+B,EAAE,eAAe,CAAC,+BAA+B;KACnF,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAoC;IACrE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA8B;IAC3D,OAAO;QACH,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;QACvD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,eAAe,EAAE,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC;QAC5D,yCAAyC,EAAE,MAAM,CAAC,yCAAyC;QAC3F,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;KAClD,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA2B;IACtD,OAAO;QACH,SAAS,EAAE,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtD,mBAAmB,EAAE,uBAAuB,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KAC7E,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,OAAmB;IACvC,OAAO;QACH,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE;YACH,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YACxB,SAAS,EAAE,EAAE;SAChB;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,uBAAuB,EAAE,2BAA2B,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACrF,yCAAyC,EAAE,OAAO,CAAC,yCAAyC;QAC5F,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;QACnC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3C,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,MAAiB;IACpC,OAAO;QACH,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChD,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACvC,eAAe,EAAE,MAAM,CAAC,eAAe;KAC1C,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,QAAkB,EAAE,EAAmC;IACzE,OAAO;QACH,EAAE;QACF,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;KACrC,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB;IAC5B,OAAO;QACH,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,gBAAgB,EAAE,IAAI;QACtB,+BAA+B,EAAE,IAAI;KACxC,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,WAA0B,EAAE,YAA2B;IAC/E,OAAO,YAAY,IAAI,WAAW,CAAC;AACvC,CAAC;AAED,SAAS,sBAAsB,CAC3B,aAAiC,EACjC,gBAA2C;IAE3C,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACH,mBAAmB,EAAE,kBAAkB,CACnC,aAAa,CAAC,mBAAmB,EACjC,gBAAgB,CAAC,mBAAmB,CACvC;QACD,yBAAyB,EAAE,kBAAkB,CACzC,aAAa,CAAC,yBAAyB,EACvC,gBAAgB,CAAC,yBAAyB,CAC7C;QACD,gBAAgB,EAAE,kBAAkB,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;QACvG,+BAA+B,EAAE,kBAAkB,CAC/C,aAAa,CAAC,+BAA+B,EAC7C,gBAAgB,CAAC,+BAA+B,CACnD;KACJ,CAAC;AACN,CAAC;AAED,SAAS,oCAAoC,CACzC,oBAA6B,EAC7B,gBAA2C;IAE3C,IAAI,CAAC,oBAAoB,IAAI,gBAAgB,KAAK,IAAI,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7F,cAAc,CAAC,+DAA+D,CAAC,CAAC;IACpF,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAmB,EAAE,MAAiB;IACtE,IAAI,OAAO,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;AACrC,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAmB;IAC9C,OAAO,OAAO,CAAC,OAAO,KAAK,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC;AACzG,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAmB,EAAE,MAAiB;IACtE,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,gBAAgB,CAAC,oBAAoB,CAAC;IACnG,MAAM,yCAAyC,GAAG,OAAO,CAAC,yCAAyC;QAC/F,gBAAgB,CAAC,yCAAyC,CAAC;IAC/D,MAAM,eAAe,GAAG,oBAAoB;QACxC,CAAC,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,uBAAuB,CAAC;QAC3F,CAAC,CAAC,uBAAuB,EAAE,CAAC;IAEhC,oCAAoC,CAAC,oBAAoB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAE5F,OAAO;QACH,uBAAuB,EAAE,gBAAgB,CAAC,uBAAuB;QACjE,oBAAoB;QACpB,eAAe;QACf,yCAAyC;QACzC,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;KAC5D,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CACnB,QAAkB,EAClB,OAAmB,EACnB,MAAiB,EACjB,YAAyC;IAEzC,OAAO;QACH,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,QAAQ;YACtD,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,WAAW,EAAE;YACT,IAAI,EAAE;gBACF,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI;gBAC5B,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ;gBACpC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO;aACrC;YACD,eAAe,EAAE,MAAM,CAAC,eAAe;SAC1C;QACD,SAAS,EAAE;YACP,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,mBAAmB,EAAE,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC;YAChE,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,eAAe,EAAE;YACb,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE;YACpD,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB;KACJ,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAQ,KAAY;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAmB,EAAE,YAAyC;IACpF,OAAO,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,aAAa,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAmB,EAAE,YAAyC;IACxF,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE1D,IAAI,CAAC;QACD,OAAO,MAAM,CAAC,2BAA2B,CAAC;YACtC,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE;gBACF,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,OAAO,CAAC,GAAG;aACpB;SACJ,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,mDAAmD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClH,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAmB,EAAE,YAAyC;IAC3F,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnF,OAAO,WAAW,CAAC;QACf,MAAM;QACN,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO;QACP,QAAQ;KACX,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iCAAiC,CAAC,MAA8B;IACrE,8BAA8B,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,mCAAmC,CACxC,MAA8B,EAC9B,YAAyC;IAEzC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,YAAY,CAAC,0BAA0B,CAAC;QAC3C,4BAA4B,EAAE,MAAM,CAAC,yCAAyC;KACjF,CAAC,CAAC;AACP,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAyB;IAC7D,OAAO;QACH,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAE,KAAK,CAAC,WAAW,EAAE,CAAE;QACrC,OAAO,EAAE;YACL,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;YACT,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,iBAAiB,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;SACb;QACD,UAAU,EAAE,CAAC;KAChB,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,KAA8B;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,wCAAwC,CACnD,OAAmB,EACnB,YAAyC;IAEzC,IAAI,CAAC;QACD,OAAO,MAAM,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACtC,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,YAAyC;IAC3E,OAAO;QACH,KAAK,CAAC,OAAO,CAAC,OAAO;YACjB,OAAO,MAAM,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,OAAO;YACb,MAAM,WAAW,GAAG,MAAM,wCAAwC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAE1F,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,OAAO,WAAW,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,mBAAmB,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;YAE5D,iCAAiC,CAAC,mBAAmB,CAAC,CAAC;YAEvD,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC9D,OAAO,MAAM,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACpD,SAAS,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;gBAC5C,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc;gBACjD,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,eAAe,EAAE,mBAAmB,CAAC,eAAe;gBACpD,oBAAoB,EAAE,mCAAmC,CAAC,mBAAmB,EAAE,YAAY,CAAC;gBAC5F,QAAQ,EAAE,WAAW,CAAC,KAAK;gBAC3B,SAAS,EAAE,YAAY,CAAC,aAAa,EAAE;gBACvC,aAAa,EAAE;oBACX,uBAAuB,EAAE,mBAAmB,CAAC,uBAAuB;oBACpE,mBAAmB,EAAE,mBAAmB,CAAC,mBAAmB;iBAC/D;aACJ,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
|