@overkill-dev/run 0.0.57 → 0.0.58
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/engine/test-body-resource-attachment.d.ts +15 -0
- package/engine/test-body-resource-attachment.d.ts.map +1 -1
- package/engine/test-body-resource-attachment.js +16 -0
- package/engine/test-body-resource-attachment.js.map +1 -1
- package/package.json +6 -1
- package/packages/engine/engine.entry-point.d.ts +1 -1
- package/packages/engine/engine.entry-point.d.ts.map +1 -1
- package/readme.md +11 -2
- package/reporters/human-reporter-rendering.js +1 -1
- package/reporters/human-reporter-rendering.js.map +1 -1
- package/reporters/line-reporter.js +5 -2
- package/reporters/line-reporter.js.map +1 -1
- package/reporters/run-summary-rendering.js +80 -0
- package/reporters/run-summary-rendering.js.map +1 -0
- package/resources/resource-definition-brand.d.ts +2 -0
- package/resources/resource-definition-brand.d.ts.map +1 -0
- package/resources/resource-definition-brand.js +2 -0
- package/resources/resource-definition-brand.js.map +1 -0
- package/resources/resource-definition-shape.d.ts +3 -0
- package/resources/resource-definition-shape.d.ts.map +1 -1
- package/resources/resource-definition-types.d.ts +104 -0
- package/resources/resource-definition-types.d.ts.map +1 -0
- package/resources/resource-definition.js +52 -0
- package/resources/resource-definition.js.map +1 -0
- package/resources/resource-graph.d.ts +3 -3
- package/resources/resource-graph.d.ts.map +1 -1
- package/resources/resource-graph.js.map +1 -1
- package/resources/resource-scenario-binding.d.ts +37 -0
- package/resources/resource-scenario-binding.d.ts.map +1 -0
- package/resources/resource-scenario-binding.js +99 -0
- package/resources/resource-scenario-binding.js.map +1 -0
- package/resources/resource-scenario.d.ts +31 -0
- package/resources/resource-scenario.d.ts.map +1 -0
- package/resources/resource-scenario.js +68 -0
- package/resources/resource-scenario.js.map +1 -0
- package/resources/resource-session.d.ts +3 -2
- package/resources/resource-session.d.ts.map +1 -1
- package/resources/resources.d.ts +46 -76
- package/resources/resources.d.ts.map +1 -1
- package/resources/resources.js +90 -10
- package/resources/resources.js.map +1 -1
- package/resources/runtime-definition.d.ts +11 -2
- package/resources/runtime-definition.d.ts.map +1 -1
- package/resources/runtime-definition.js +66 -0
- package/resources/runtime-definition.js.map +1 -1
- package/resources/runtime-matrix-definition.d.ts +25 -6
- package/resources/runtime-matrix-definition.d.ts.map +1 -1
- package/resources/runtime-matrix-definition.js +226 -4
- package/resources/runtime-matrix-definition.js.map +1 -1
- package/run/resource-lifecycle-boundaries.js +122 -13
- package/run/resource-lifecycle-boundaries.js.map +1 -1
- package/run/resource-lifecycle-cache-identity.js +65 -0
- package/run/resource-lifecycle-cache-identity.js.map +1 -0
- package/run/resource-lifecycle-composition.d.ts +2 -0
- package/run/resource-lifecycle-composition.d.ts.map +1 -1
- package/run/resource-lifecycle-composition.js +48 -11
- package/run/resource-lifecycle-composition.js.map +1 -1
- package/run/resource-lifecycle-session-acquirer.js +11 -6
- package/run/resource-lifecycle-session-acquirer.js.map +1 -1
- package/run/resource-lifecycle-startup-budget.js +1 -0
- package/run/resource-lifecycle-startup-budget.js.map +1 -1
- package/run/resource-lifecycle.js +4 -3
- package/run/resource-lifecycle.js.map +1 -1
- package/run/run-collected-planning.js +11 -0
- package/run/run-collected-planning.js.map +1 -1
- package/run/run-collected-resolution.js +2 -1
- package/run/run-collected-resolution.js.map +1 -1
- package/run/run-facts.js +1 -1
- package/run/run-facts.js.map +1 -1
- package/run/run-local-resolution.js +2 -0
- package/run/run-local-resolution.js.map +1 -1
- package/run/work-unit-planning.js +4 -2
- package/run/work-unit-planning.js.map +1 -1
- package/run/work-unit-resource-constraints.js +17 -0
- package/run/work-unit-resource-constraints.js.map +1 -1
- package/run/worker-pool-dispatch-state.js +2 -4
- package/run/worker-pool-dispatch-state.js.map +1 -1
- package/run/worker-pool-lanes.js +7 -3
- package/run/worker-pool-lanes.js.map +1 -1
- package/run/worker-pool-run.js +1 -1
- package/run/worker-pool-run.js.map +1 -1
- package/run/worker-pool-runtime.js +14 -7
- package/run/worker-pool-runtime.js.map +1 -1
- package/sbom.cdx.json +4 -4
- package/reporters/run-fact-summary.js +0 -20
- package/reporters/run-fact-summary.js.map +0 -1
- package/reporters/run-timing-summary.js +0 -11
- package/reporters/run-timing-summary.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-matrix-definition.js","sourceRoot":"","sources":["../../../../source/resources/runtime-matrix-definition.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"runtime-matrix-definition.js","sourceRoot":"","sources":["../../../../source/resources/runtime-matrix-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { workIdentityKey } from "../engine/identity.js";
|
|
1
|
+
import { runtimeIdentityKey, workIdentityKey } from "../engine/identity.js";
|
|
2
|
+
import { resourceAcquisitionCacheIdentity, resourceDescriptorCacheIdentityNode } from "./resource-lifecycle-cache-identity.js";
|
|
2
3
|
const resourceScopeValues = [
|
|
3
4
|
'per-case',
|
|
4
5
|
'per-file',
|
|
@@ -19,28 +20,136 @@ function resourceBoundaryForCase(resourceName, scope, testCase) {
|
|
|
19
20
|
? { key: `worker:${resourceName}`, scope }
|
|
20
21
|
: { key: `case:${workIdentityKey(testCase.workId)}:${resourceName}`, scope };
|
|
21
22
|
}
|
|
22
|
-
function
|
|
23
|
+
function resourceNameWithAcquisitionIdentity(resourceName, acquisitionIdentity) {
|
|
24
|
+
return acquisitionIdentity === ''
|
|
25
|
+
? resourceName
|
|
26
|
+
: `${resourceName}:acquisition:${acquisitionIdentity}`;
|
|
27
|
+
}
|
|
28
|
+
function resourceBoundary(resourceName, scope, testCase, acquisitionIdentity) {
|
|
29
|
+
const identifiedResourceName = resourceNameWithAcquisitionIdentity(resourceName, acquisitionIdentity);
|
|
23
30
|
const file = testCase.id.file ?? '<no-file>';
|
|
24
31
|
if (scope === 'per-run') {
|
|
25
|
-
return { key: `run:${
|
|
32
|
+
return { key: `run:${identifiedResourceName}`, scope };
|
|
26
33
|
}
|
|
27
34
|
if (scope === 'per-file') {
|
|
28
|
-
return { key: `file:${file}:${
|
|
35
|
+
return { key: `file:${file}:${identifiedResourceName}`, scope };
|
|
29
36
|
}
|
|
30
37
|
if (scope === 'per-suite') {
|
|
31
|
-
return { key: `suite:${file}:${suiteBoundary(testCase)}:${
|
|
38
|
+
return { key: `suite:${file}:${suiteBoundary(testCase)}:${identifiedResourceName}`, scope };
|
|
32
39
|
}
|
|
33
|
-
return resourceBoundaryForCase(
|
|
40
|
+
return resourceBoundaryForCase(identifiedResourceName, scope, testCase);
|
|
34
41
|
}
|
|
35
|
-
function
|
|
36
|
-
const
|
|
42
|
+
function selectedRuntimeId(testCase, runtime) {
|
|
43
|
+
const selected = testCase.workId.runtimes.find(function runtimeNameMatches(candidate) {
|
|
44
|
+
return candidate.name === runtime.name;
|
|
45
|
+
});
|
|
46
|
+
if (selected !== undefined) {
|
|
47
|
+
return selected;
|
|
48
|
+
}
|
|
49
|
+
if (runtime.kind === 'runtime-matrix') {
|
|
50
|
+
const variant = runtime.variants[0];
|
|
51
|
+
if (variant === undefined) {
|
|
52
|
+
throw new TypeError(`Runtime matrix "${runtime.name}" has no selected variant.`);
|
|
53
|
+
}
|
|
54
|
+
return { dimensions: variant.runtime.dimensions, name: runtime.name, variantId: variant.id };
|
|
55
|
+
}
|
|
56
|
+
return { dimensions: runtime.dimensions, name: runtime.name, variantId: null };
|
|
57
|
+
}
|
|
58
|
+
function selectedLeafRuntime(testCase, runtime) {
|
|
59
|
+
if (runtime.kind !== 'runtime-matrix') {
|
|
60
|
+
return runtime;
|
|
61
|
+
}
|
|
62
|
+
const selected = selectedRuntimeId(testCase, runtime);
|
|
63
|
+
const variant = runtime.variants.find(function variantMatches(candidate) {
|
|
64
|
+
return candidate.id === selected.variantId;
|
|
65
|
+
});
|
|
66
|
+
if (variant === undefined) {
|
|
67
|
+
throw new TypeError(`Runtime matrix "${runtime.name}" has no selected variant.`);
|
|
68
|
+
}
|
|
69
|
+
return variant.runtime;
|
|
70
|
+
}
|
|
71
|
+
function scenarioBindingsByResource(runtime) {
|
|
72
|
+
const bindings = new Map();
|
|
73
|
+
for (const binding of runtime.scenarioBindings) {
|
|
74
|
+
const resourceBindings = bindings.get(binding.owner.resourceName) ??
|
|
75
|
+
new Map();
|
|
76
|
+
resourceBindings.set(binding.name, binding);
|
|
77
|
+
bindings.set(binding.owner.resourceName, resourceBindings);
|
|
78
|
+
}
|
|
79
|
+
return bindings;
|
|
80
|
+
}
|
|
81
|
+
function resourceSummaryCacheIdentityNode(resource, resourcesByName, bindingsByResource) {
|
|
82
|
+
const bindings = bindingsByResource.get(resource.name) ??
|
|
83
|
+
new Map();
|
|
84
|
+
return {
|
|
85
|
+
dependencies: resource.dependencies.flatMap(function dependencyNode(dependencyName) {
|
|
86
|
+
const dependency = resourcesByName.get(dependencyName);
|
|
87
|
+
return dependency === undefined
|
|
88
|
+
? []
|
|
89
|
+
: [{
|
|
90
|
+
key: dependency.name,
|
|
91
|
+
resource: resourceSummaryCacheIdentityNode(dependency, resourcesByName, bindingsByResource)
|
|
92
|
+
}];
|
|
93
|
+
}),
|
|
94
|
+
scenarios: resource.scenarios.map(function scenarioBinding(scenario) {
|
|
95
|
+
return {
|
|
96
|
+
name: scenario.name,
|
|
97
|
+
timing: scenario.timing,
|
|
98
|
+
value: bindings.get(scenario.name)?.value ?? scenario.default
|
|
99
|
+
};
|
|
100
|
+
})
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function resourceGraphBoundaries(testCase, rootResourceNames, resourceName, bindingsByResource) {
|
|
104
|
+
const resourcesByName = new Map(testCase.resourceAttachments.resourceGraph.map(function resourceEntry(resource) {
|
|
105
|
+
return [resource.name, resource];
|
|
106
|
+
}));
|
|
107
|
+
const visited = new Set();
|
|
108
|
+
const boundaries = [];
|
|
109
|
+
function recordBoundary(resource) {
|
|
37
110
|
if (!isResourceScope(resource.scope)) {
|
|
38
|
-
return
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const identity = resourceAcquisitionCacheIdentity(resourceSummaryCacheIdentityNode(resource, resourcesByName, bindingsByResource));
|
|
114
|
+
boundaries.push(resourceBoundary(resourceName(resource), resource.scope, testCase, identity));
|
|
115
|
+
}
|
|
116
|
+
function visit(name) {
|
|
117
|
+
if (visited.has(name)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const resource = resourcesByName.get(name);
|
|
121
|
+
if (resource === undefined) {
|
|
122
|
+
return;
|
|
39
123
|
}
|
|
40
|
-
|
|
41
|
-
|
|
124
|
+
visited.add(name);
|
|
125
|
+
for (const dependencyName of resource.dependencies) {
|
|
126
|
+
visit(dependencyName);
|
|
127
|
+
}
|
|
128
|
+
recordBoundary(resource);
|
|
129
|
+
}
|
|
130
|
+
for (const rootResourceName of rootResourceNames) {
|
|
131
|
+
visit(rootResourceName);
|
|
132
|
+
}
|
|
133
|
+
return boundaries;
|
|
134
|
+
}
|
|
135
|
+
function caseResourceBoundaries(testCase) {
|
|
136
|
+
const directBoundaries = resourceGraphBoundaries(testCase, testCase.resourceAttachments.directResources.map(function directResourceName(resource) {
|
|
137
|
+
return resource.resourceName;
|
|
138
|
+
}), function directResourceName(resource) {
|
|
139
|
+
return resource.name;
|
|
140
|
+
}, new Map());
|
|
141
|
+
const runtimeBoundaries = testCase.resourceAttachments.runtimeGraphs.flatMap(function runtimeResources(runtime) {
|
|
142
|
+
const runtimeKey = runtimeIdentityKey(selectedRuntimeId(testCase, runtime));
|
|
143
|
+
const selectedRuntime = selectedLeafRuntime(testCase, runtime);
|
|
144
|
+
return resourceGraphBoundaries(testCase, selectedRuntime.resources.map(function runtimeResourceName(resource) {
|
|
145
|
+
return resource.resourceName;
|
|
146
|
+
}), function scopedResourceName(resource) {
|
|
147
|
+
return `${resource.name}@${runtimeKey}`;
|
|
148
|
+
}, scenarioBindingsByResource(selectedRuntime));
|
|
42
149
|
});
|
|
43
|
-
const boundaries = new Map(
|
|
150
|
+
const boundaries = new Map([...directBoundaries, ...runtimeBoundaries].map(function boundaryEntry(boundary) {
|
|
151
|
+
return [boundary.key, boundary];
|
|
152
|
+
}));
|
|
44
153
|
return Array.from(boundaries.values());
|
|
45
154
|
}
|
|
46
155
|
function initialBoundaryUseCounts(testCases) {
|
|
@@ -68,6 +177,6 @@ export function caseResourceBoundaryKeys(testCase, scopes) {
|
|
|
68
177
|
});
|
|
69
178
|
}
|
|
70
179
|
export function boundaryFor(resource, testCase) {
|
|
71
|
-
return resourceBoundary(resource.name, resource.scope, testCase);
|
|
180
|
+
return resourceBoundary(resource.name, resource.scope, testCase, resourceAcquisitionCacheIdentity(resourceDescriptorCacheIdentityNode(resource)));
|
|
72
181
|
}
|
|
73
182
|
//# sourceMappingURL=resource-lifecycle-boundaries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle-boundaries.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-boundaries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-boundaries.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-boundaries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { resolvedResourceScenarioBindings } from "../resources/resources.js";
|
|
2
|
+
import { sourceResourceDefinition } from "../resources/resource-scenario-binding.js";
|
|
3
|
+
function compareText(left, right) {
|
|
4
|
+
return left.localeCompare(right);
|
|
5
|
+
}
|
|
6
|
+
function scenarioIdentity(node, timing) {
|
|
7
|
+
return node
|
|
8
|
+
.scenarios
|
|
9
|
+
.filter(function timingMatches(binding) {
|
|
10
|
+
return binding.timing === timing;
|
|
11
|
+
})
|
|
12
|
+
.toSorted(function compareBindings(left, right) {
|
|
13
|
+
return compareText(left.name, right.name);
|
|
14
|
+
})
|
|
15
|
+
.map(function toIdentity(binding) {
|
|
16
|
+
return [binding.name, binding.value];
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function resourceIdentities(node) {
|
|
20
|
+
const scenarios = scenarioIdentity(node, 'acquire');
|
|
21
|
+
const dependencies = node
|
|
22
|
+
.dependencies
|
|
23
|
+
.toSorted(function compareDependencies(left, right) {
|
|
24
|
+
return compareText(left.key, right.key);
|
|
25
|
+
})
|
|
26
|
+
.flatMap(function dependencyIdentity(dependency) {
|
|
27
|
+
const identity = resourceIdentities(dependency.resource).handle;
|
|
28
|
+
return identity === null ? [] : [[dependency.key, identity]];
|
|
29
|
+
});
|
|
30
|
+
const acquisition = scenarios.length === 0 && dependencies.length === 0
|
|
31
|
+
? null
|
|
32
|
+
: { dependencies, scenarios };
|
|
33
|
+
const routedScenarios = scenarioIdentity(node, 'request-routed');
|
|
34
|
+
const handle = acquisition === null && routedScenarios.length === 0
|
|
35
|
+
? null
|
|
36
|
+
: { acquisition, scenarios: routedScenarios };
|
|
37
|
+
return { acquisition, handle };
|
|
38
|
+
}
|
|
39
|
+
export function resourceAcquisitionCacheIdentity(node) {
|
|
40
|
+
const identity = resourceIdentities(node).acquisition;
|
|
41
|
+
return identity === null ? '' : JSON.stringify(identity);
|
|
42
|
+
}
|
|
43
|
+
export function resourceHandleCacheIdentity(node) {
|
|
44
|
+
const identity = resourceIdentities(node).handle;
|
|
45
|
+
return identity === null ? '' : JSON.stringify(identity);
|
|
46
|
+
}
|
|
47
|
+
export function resourceDescriptorCacheIdentityNode(resource) {
|
|
48
|
+
const bindings = resolvedResourceScenarioBindings(resource);
|
|
49
|
+
return {
|
|
50
|
+
dependencies: Object.values(resource.dependencies).map(function dependencyNode(dependency) {
|
|
51
|
+
return {
|
|
52
|
+
key: sourceResourceDefinition(dependency).name,
|
|
53
|
+
resource: resourceDescriptorCacheIdentityNode(dependency)
|
|
54
|
+
};
|
|
55
|
+
}),
|
|
56
|
+
scenarios: Object.entries(resource.scenarios).map(function scenarioBinding([name, slot]) {
|
|
57
|
+
return {
|
|
58
|
+
name,
|
|
59
|
+
timing: slot.timing,
|
|
60
|
+
value: bindings[name] ?? slot.default
|
|
61
|
+
};
|
|
62
|
+
})
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=resource-lifecycle-cache-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-cache-identity.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-cache-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type RuntimeGraph, type RuntimeGraphContext, type AnyResourceDefinition, type ResourceContext, type RuntimeResourceMap as ResourceMap } from '../resources/resources.ts';
|
|
2
|
+
import { type ResolvedResourceScenarioBindings } from '../resources/resource-scenario-binding.ts';
|
|
2
3
|
import { type WorkId } from '../engine/identity.ts';
|
|
3
4
|
import type { ResourceSession } from '../resources/resource-session.ts';
|
|
4
5
|
type DisposalContext = {
|
|
@@ -26,6 +27,7 @@ export type ResourceEntry = {
|
|
|
26
27
|
readonly key: string;
|
|
27
28
|
readonly resource: AnyResourceDefinition;
|
|
28
29
|
};
|
|
30
|
+
export declare function lifecycleScenarioBindings(resource: AnyResourceDefinition): ResolvedResourceScenarioBindings;
|
|
29
31
|
export declare function directResourceEntries(steps: readonly ResourceWrapperStep[]): readonly ResourceEntry[];
|
|
30
32
|
export declare function stepRuntimeGraphs(steps: readonly ResourceWrapperStep[]): readonly RuntimeGraph[];
|
|
31
33
|
export declare function resourceMapFromEntries(resourceEntries: readonly ResourceEntry[]): ResourceMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle-composition.d.ts","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-composition.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EAIpB,KAAK,kBAAkB,IAAI,WAAW,EACzC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-composition.d.ts","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-composition.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EAIpB,KAAK,kBAAkB,IAAI,WAAW,EACzC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGH,KAAK,gCAAgC,EACxC,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAWxE,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;CACnC,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,4BAA4B,GAAG,0BAA0B,CAAC;AAQ5F,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;CAC1F,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;CAC5C,CAAC;AAEF,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,qBAAqB,GAChC,gCAAgC,CAElC;AA6FD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,aAAa,EAAE,CAQrG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,YAAY,EAAE,CAIhG;AAED,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,SAAS,aAAa,EAAE,GAAG,WAAW,CAQ7F;AA0BD,wBAAgB,sBAAsB,CAAC,SAAS,SAAS,WAAW,EAChE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,GACtC,eAAe,CAAC,SAAS,CAAC,CAc5B;AAsBD,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,YAAY,EAC5D,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,uBAAuB,GACjC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AA0H9B,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,MAAM,GAAE,MAAM,GAAG,IAAW,GAC7B,WAAW,CAqBb;AAqCD,wBAAgB,uBAAuB,CACnC,eAAe,EAAE,WAAW,EAC5B,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,EACrC,MAAM,GAAE,MAAM,GAAG,IAAW,GAC7B,uBAAuB,CAazB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,iBAAiB,CAc1F"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { runtimeGraphLeaves } from "../resources/resources.js";
|
|
2
|
+
import { resolvedRuntimeScenarioOwners } from "../resources/runtime-definition.js";
|
|
3
|
+
import { acquisitionResourceScenarioBindings, bindResourceScenarios } from "../resources/resource-scenario-binding.js";
|
|
4
|
+
import { defaultScenarioBindings } from "../resources/resource-scenario.js";
|
|
2
5
|
import { runtimeIdentityKey } from "../engine/identity.js";
|
|
3
6
|
import { resourceWrapperLifecycleError } from "./resource-lifecycle-error.js";
|
|
7
|
+
import { resourceHandleCacheIdentity } from "./resource-lifecycle-cache-identity.js";
|
|
8
|
+
export function lifecycleScenarioBindings(resource) {
|
|
9
|
+
return Object.freeze({ ...acquisitionResourceScenarioBindings(resource) });
|
|
10
|
+
}
|
|
4
11
|
function entries(record) {
|
|
5
12
|
return Object.entries(record);
|
|
6
13
|
}
|
|
@@ -132,24 +139,53 @@ const scopedRuntimeResources = new WeakMap();
|
|
|
132
139
|
function cacheScopedRuntimeResource(resource, runtimeKey, scoped, cachedResources) {
|
|
133
140
|
scopedRuntimeResources.set(resource, new Map([...cachedResources, [runtimeKey, scoped]]));
|
|
134
141
|
}
|
|
135
|
-
function
|
|
142
|
+
function scopedRuntimeDependencies(resource, runtimeKey, bindingsByResource, bindDependency) {
|
|
143
|
+
return Object.freeze(Object.fromEntries(entries(resource.dependencies).map(function scopedDependency([key, dependency]) {
|
|
144
|
+
return [key, bindDependency(dependency, runtimeKey, bindingsByResource)];
|
|
145
|
+
})));
|
|
146
|
+
}
|
|
147
|
+
function resourceCacheIdentityNode(resource, bindingsByResource) {
|
|
148
|
+
const bindings = bindingsByResource.get(resource) ?? defaultScenarioBindings(resource.scenarios);
|
|
149
|
+
return {
|
|
150
|
+
dependencies: entries(resource.dependencies).map(function dependencyNode([, dependency]) {
|
|
151
|
+
return { key: dependency.name, resource: resourceCacheIdentityNode(dependency, bindingsByResource) };
|
|
152
|
+
}),
|
|
153
|
+
scenarios: Object.entries(resource.scenarios).map(function scenarioBinding([name, slot]) {
|
|
154
|
+
return {
|
|
155
|
+
name,
|
|
156
|
+
timing: slot.timing,
|
|
157
|
+
value: bindings[name] ?? slot.default
|
|
158
|
+
};
|
|
159
|
+
})
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function scopedRuntimeResource(resource, runtimeKey, bindingsByResource) {
|
|
136
163
|
const cachedResources = scopedRuntimeResources.get(resource) ?? new Map();
|
|
137
|
-
const
|
|
164
|
+
const bindings = bindingsByResource.get(resource) ?? defaultScenarioBindings(resource.scenarios);
|
|
165
|
+
const scopedResourceKey = `${runtimeKey}:${resourceHandleCacheIdentity(resourceCacheIdentityNode(resource, bindingsByResource))}`;
|
|
166
|
+
const cached = cachedResources.get(scopedResourceKey);
|
|
138
167
|
if (cached !== undefined) {
|
|
139
168
|
return cached;
|
|
140
169
|
}
|
|
141
|
-
const
|
|
142
|
-
for (const [key, dependency] of entries(resource.dependencies)) {
|
|
143
|
-
dependencies[key] = scopedRuntimeResource(dependency, runtimeKey);
|
|
144
|
-
}
|
|
145
|
-
const scoped = Object.freeze({
|
|
170
|
+
const scoped = bindResourceScenarios(Object.freeze({
|
|
146
171
|
...resource,
|
|
147
|
-
dependencies:
|
|
172
|
+
dependencies: scopedRuntimeDependencies(resource, runtimeKey, bindingsByResource, scopedRuntimeResource),
|
|
148
173
|
name: `${resource.name}@${runtimeKey}`
|
|
149
|
-
});
|
|
150
|
-
cacheScopedRuntimeResource(resource,
|
|
174
|
+
}), bindings);
|
|
175
|
+
cacheScopedRuntimeResource(resource, scopedResourceKey, scoped, cachedResources);
|
|
151
176
|
return scoped;
|
|
152
177
|
}
|
|
178
|
+
function runtimeScenarioBindings(runtime) {
|
|
179
|
+
const mutableBindings = new Map();
|
|
180
|
+
for (const [name, owner] of resolvedRuntimeScenarioOwners(runtime)) {
|
|
181
|
+
const bindings = mutableBindings.get(owner.resource) ?? {};
|
|
182
|
+
bindings[name] = owner.value;
|
|
183
|
+
mutableBindings.set(owner.resource, bindings);
|
|
184
|
+
}
|
|
185
|
+
return new Map(Array.from(mutableBindings, function freezeBindings([resource, bindings]) {
|
|
186
|
+
return [resource, Object.freeze(bindings)];
|
|
187
|
+
}));
|
|
188
|
+
}
|
|
153
189
|
export function combinedResourceEntries(steps, workId = null) {
|
|
154
190
|
const resources = {};
|
|
155
191
|
for (const entry of directResourceEntries(steps)) {
|
|
@@ -157,8 +193,9 @@ export function combinedResourceEntries(steps, workId = null) {
|
|
|
157
193
|
}
|
|
158
194
|
for (const runtime of resolvedRuntimeGraphs(steps, workId)) {
|
|
159
195
|
const runtimeKey = runtimeIdentityKey(runtime.id);
|
|
196
|
+
const bindingsByResource = runtimeScenarioBindings(runtime.runtime);
|
|
160
197
|
for (const [key, resource] of entries(runtime.runtime.resources)) {
|
|
161
|
-
resources[combinedResourceKey('runtime', [runtimeKey, key])] = scopedRuntimeResource(resource, runtimeKey);
|
|
198
|
+
resources[combinedResourceKey('runtime', [runtimeKey, key])] = scopedRuntimeResource(resource, runtimeKey, bindingsByResource);
|
|
162
199
|
}
|
|
163
200
|
}
|
|
164
201
|
return Object.freeze(resources);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle-composition.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-composition.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EASrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAe,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-composition.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-composition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { workIdentityKey } from "../engine/identity.js";
|
|
2
|
-
import {
|
|
2
|
+
import { acquisitionResourceScenarioBindings, exposeResourceHandle, sourceResourceDefinition } from "../resources/resource-scenario-binding.js";
|
|
3
3
|
import { boundaryFor, initialBoundaryUseCountsFromRecords } from "./resource-lifecycle-boundaries.js";
|
|
4
4
|
import { resourceWrapperLifecycleError } from "./resource-lifecycle-error.js";
|
|
5
5
|
import { acquireResourceWithStartupBudget } from "./resource-lifecycle-startup-budget.js";
|
|
@@ -77,9 +77,13 @@ export function resourceProjectionRecordsFromStores(stores) {
|
|
|
77
77
|
})
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
+
export function managedResourceHandle(record, resource) {
|
|
81
|
+
return exposeResourceHandle(resource, record.consumerHandle);
|
|
82
|
+
}
|
|
80
83
|
function assertCompatibleResource(stores, boundary, resource) {
|
|
81
84
|
const record = stores.existingRecord(boundary.key);
|
|
82
|
-
if (record !== undefined &&
|
|
85
|
+
if (record !== undefined &&
|
|
86
|
+
sourceResourceDefinition(record.descriptor) !== sourceResourceDefinition(resource)) {
|
|
83
87
|
throw resourceWrapperLifecycleError(`Resource name "${resource.name}" is used by multiple descriptors in one lifecycle boundary.`, resource);
|
|
84
88
|
}
|
|
85
89
|
}
|
|
@@ -95,9 +99,9 @@ export function createManagedResourceAcquirer(stores, options) {
|
|
|
95
99
|
};
|
|
96
100
|
async function acquireDependencyContext(resource, testCase, signal) {
|
|
97
101
|
const context = mutableDependencyContext();
|
|
98
|
-
await Promise.all(
|
|
102
|
+
await Promise.all(Object.entries(resource.dependencies).map(async function acquireDependency([key, dependency]) {
|
|
99
103
|
const record = await acquireResource(dependency, testCase, signal);
|
|
100
|
-
context[key] = record
|
|
104
|
+
context[key] = managedResourceHandle(record, dependency);
|
|
101
105
|
}));
|
|
102
106
|
return Object.freeze(context);
|
|
103
107
|
}
|
|
@@ -106,6 +110,7 @@ export function createManagedResourceAcquirer(stores, options) {
|
|
|
106
110
|
const acquireHandle = async function acquireResourceHandle() {
|
|
107
111
|
return await acquireResourceWithStartupBudget(resource, {
|
|
108
112
|
dependencies: dependencyContext,
|
|
113
|
+
scenarios: acquisitionResourceScenarioBindings(resource),
|
|
109
114
|
signal
|
|
110
115
|
});
|
|
111
116
|
};
|
|
@@ -121,7 +126,7 @@ export function createManagedResourceAcquirer(stores, options) {
|
|
|
121
126
|
dependencyContext,
|
|
122
127
|
descriptor: resource,
|
|
123
128
|
external: false,
|
|
124
|
-
|
|
129
|
+
consumerHandle: projectedHandle(resource, ownerHandle, dependencyContext),
|
|
125
130
|
ownerHandle
|
|
126
131
|
};
|
|
127
132
|
stores.rememberRecord(boundary.key, record);
|
|
@@ -138,7 +143,7 @@ export function createManagedResourceAcquirer(stores, options) {
|
|
|
138
143
|
dependencyContext,
|
|
139
144
|
descriptor: resource,
|
|
140
145
|
external: true,
|
|
141
|
-
|
|
146
|
+
consumerHandle: deserializeProjectedHandle(resource, payload, dependencyContext),
|
|
142
147
|
ownerHandle: null
|
|
143
148
|
};
|
|
144
149
|
stores.rememberRecord(boundary.key, record);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle-session-acquirer.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-session-acquirer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,OAAO,
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-session-acquirer.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-session-acquirer.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,7 @@ export async function acquireResourceWithStartupBudget(resource, context) {
|
|
|
68
68
|
return await Promise.race([
|
|
69
69
|
callableResourceDefinition(resource).acquire({
|
|
70
70
|
dependencies: context.dependencies,
|
|
71
|
+
scenarios: context.scenarios,
|
|
71
72
|
signal: controller.signal
|
|
72
73
|
}),
|
|
73
74
|
timer.timeout
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle-startup-budget.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-startup-budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-startup-budget.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-startup-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { assertResourceDependencyScopes, callableResourceDefinition, createResourceGraph } from "../resources/resource-graph.js";
|
|
2
|
-
import { combinedResourceEntries, composedResourceSession, directResourceEntries, resourceMapFromEntries, stepRuntimeGraphs } from "./resource-lifecycle-composition.js";
|
|
2
|
+
import { combinedResourceEntries, composedResourceSession, directResourceEntries, lifecycleScenarioBindings, resourceMapFromEntries, stepRuntimeGraphs } from "./resource-lifecycle-composition.js";
|
|
3
3
|
import { currentLifecycleCase, runWithLifecycleCase, runWithManagedLifecycle } from "./resource-lifecycle-state.js";
|
|
4
4
|
import { resourceWrapperErrorFromUnknown, resourceWrapperLifecycleError } from "./resource-lifecycle-error.js";
|
|
5
5
|
import { managedResourceSession } from "./resource-lifecycle-managed-session.js";
|
|
6
6
|
import { caseResourceBoundaryKeys, resourceLifecycleBoundaryUseCounts, resourceScopes } from "./resource-lifecycle-boundaries.js";
|
|
7
|
-
import { createManagedResourceAcquirer, createManagedStores, resourceProjectionRecordsFromStores } from "./resource-lifecycle-session-acquirer.js";
|
|
7
|
+
import { createManagedResourceAcquirer, createManagedStores, resourceProjectionRecordsFromStores, managedResourceHandle } from "./resource-lifecycle-session-acquirer.js";
|
|
8
8
|
function currentRunningCase() {
|
|
9
9
|
const testCase = currentLifecycleCase();
|
|
10
10
|
if (testCase === null) {
|
|
@@ -28,6 +28,7 @@ async function disposeResourceRecord(record, signal, timing) {
|
|
|
28
28
|
const disposeHandle = async function disposeResourceHandle() {
|
|
29
29
|
await dispose(record.ownerHandle, {
|
|
30
30
|
dependencies: record.dependencyContext,
|
|
31
|
+
scenarios: lifecycleScenarioBindings(record.descriptor),
|
|
31
32
|
signal
|
|
32
33
|
});
|
|
33
34
|
};
|
|
@@ -80,7 +81,7 @@ async function managedResourceHandles(acquirer, graph, testCase, signal) {
|
|
|
80
81
|
const handles = new Map();
|
|
81
82
|
for (const node of graph.order) {
|
|
82
83
|
const record = await acquirer.acquire(node.descriptor, testCase, signal);
|
|
83
|
-
handles.set(node.descriptor, record.
|
|
84
|
+
handles.set(node.descriptor, managedResourceHandle(record, node.descriptor));
|
|
84
85
|
}
|
|
85
86
|
return handles;
|
|
86
87
|
}
|