@overkill-dev/run 0.0.69 → 0.0.70

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 (150) hide show
  1. package/attachments/json-snapshot.js +4 -1
  2. package/attachments/json-snapshot.js.map +1 -1
  3. package/engine/case-attempt-execution.js +22 -13
  4. package/engine/case-attempt-execution.js.map +1 -1
  5. package/engine/execution-async-leak-policy.js +15 -0
  6. package/engine/execution-async-leak-policy.js.map +1 -1
  7. package/engine/execution.d.ts.map +1 -1
  8. package/engine/execution.js +19 -16
  9. package/engine/execution.js.map +1 -1
  10. package/engine/resource-owner-observation.js +53 -0
  11. package/engine/resource-owner-observation.js.map +1 -0
  12. package/engine/test-body-resource-attachment.d.ts +1 -0
  13. package/engine/test-body-resource-attachment.d.ts.map +1 -1
  14. package/engine/test-body-resource-attachment.js.map +1 -1
  15. package/engine/test-body-workload-resolution.js +10 -0
  16. package/engine/test-body-workload-resolution.js.map +1 -0
  17. package/engine/test-node.d.ts +7 -1
  18. package/engine/test-node.d.ts.map +1 -1
  19. package/engine/test-node.js.map +1 -1
  20. package/engine/test-plan.d.ts +2 -0
  21. package/engine/test-plan.d.ts.map +1 -1
  22. package/engine/test-plan.js +10 -5
  23. package/engine/test-plan.js.map +1 -1
  24. package/engine/workload-input.d.ts +3 -0
  25. package/engine/workload-input.d.ts.map +1 -0
  26. package/engine/workload-input.js +54 -0
  27. package/engine/workload-input.js.map +1 -0
  28. package/engine/workload-parameters.d.ts +3 -0
  29. package/engine/workload-parameters.d.ts.map +1 -0
  30. package/engine/workload-parameters.js +67 -0
  31. package/engine/workload-parameters.js.map +1 -0
  32. package/engine/workload-test-case.d.ts +8 -0
  33. package/engine/workload-test-case.d.ts.map +1 -0
  34. package/engine/workload-test-case.js +8 -32
  35. package/engine/workload-test-case.js.map +1 -1
  36. package/package.json +5 -1
  37. package/packages/run/run.entry-point.d.ts +4 -2
  38. package/packages/run/run.entry-point.d.ts.map +1 -1
  39. package/packages/run/run.entry-point.js +2 -1
  40. package/packages/run/run.entry-point.js.map +1 -1
  41. package/readme.md +45 -4
  42. package/resources/resource-definition-shape.d.ts +2 -0
  43. package/resources/resource-definition-shape.d.ts.map +1 -1
  44. package/resources/resource-definition-types.d.ts.map +1 -1
  45. package/resources/resource-definition.js +17 -2
  46. package/resources/resource-definition.js.map +1 -1
  47. package/resources/resource-scenario-binding.js +12 -5
  48. package/resources/resource-scenario-binding.js.map +1 -1
  49. package/resources/resource-session.d.ts.map +1 -1
  50. package/resources/resource-workload-binding.js +15 -0
  51. package/resources/resource-workload-binding.js.map +1 -0
  52. package/resources/resources.d.ts.map +1 -1
  53. package/resources/resources.js.map +1 -1
  54. package/run/collected-run-execution.js +55 -0
  55. package/run/collected-run-execution.js.map +1 -0
  56. package/run/collected-run-plan-schema.js +12 -1
  57. package/run/collected-run-plan-schema.js.map +1 -1
  58. package/run/collected-run-plan.js +7 -1
  59. package/run/collected-run-plan.js.map +1 -1
  60. package/run/collected-run-planning.js +49 -0
  61. package/run/collected-run-planning.js.map +1 -0
  62. package/run/collected-run.js +43 -0
  63. package/run/collected-run.js.map +1 -0
  64. package/run/execution-plan-resolution.js +4 -1
  65. package/run/execution-plan-resolution.js.map +1 -1
  66. package/run/file-module-boundary.d.ts +3 -0
  67. package/run/file-module-boundary.d.ts.map +1 -0
  68. package/run/file-module-boundary.js +76 -0
  69. package/run/file-module-boundary.js.map +1 -0
  70. package/run/freeze-run-policy.js +1 -0
  71. package/run/freeze-run-policy.js.map +1 -1
  72. package/run/frozen-policy-origins.js +63 -0
  73. package/run/frozen-policy-origins.js.map +1 -0
  74. package/run/frozen-policy-validation.js +2 -0
  75. package/run/frozen-policy-validation.js.map +1 -1
  76. package/run/frozen-run-command.js +15 -0
  77. package/run/frozen-run-command.js.map +1 -1
  78. package/run/frozen-run-policy-schema.js +2 -0
  79. package/run/frozen-run-policy-schema.js.map +1 -1
  80. package/run/frozen-run-policy.d.ts.map +1 -1
  81. package/run/frozen-run-policy.js +3 -54
  82. package/run/frozen-run-policy.js.map +1 -1
  83. package/run/initialized-run.js +75 -0
  84. package/run/initialized-run.js.map +1 -0
  85. package/run/resource-lifecycle-boundaries.js +4 -3
  86. package/run/resource-lifecycle-boundaries.js.map +1 -1
  87. package/run/resource-lifecycle-cache-identity.js +10 -3
  88. package/run/resource-lifecycle-cache-identity.js.map +1 -1
  89. package/run/resource-lifecycle-composition.d.ts.map +1 -1
  90. package/run/resource-lifecycle-composition.js +2 -0
  91. package/run/resource-lifecycle-composition.js.map +1 -1
  92. package/run/resource-lifecycle-disposal.js +22 -10
  93. package/run/resource-lifecycle-disposal.js.map +1 -1
  94. package/run/resource-lifecycle-session-acquirer.js +21 -13
  95. package/run/resource-lifecycle-session-acquirer.js.map +1 -1
  96. package/run/resource-lifecycle-startup-budget.js +2 -1
  97. package/run/resource-lifecycle-startup-budget.js.map +1 -1
  98. package/run/resource-lifecycle-state.d.ts.map +1 -1
  99. package/run/resource-lifecycle-state.js +10 -0
  100. package/run/resource-lifecycle-state.js.map +1 -1
  101. package/run/resource-lifecycle.js +17 -3
  102. package/run/resource-lifecycle.js.map +1 -1
  103. package/run/run-local-command.js +1 -1
  104. package/run/run-local-command.js.map +1 -1
  105. package/run/run-local-coverage.js +1 -1
  106. package/run/run-local-coverage.js.map +1 -1
  107. package/run/run-local-planning.js +93 -0
  108. package/run/run-local-planning.js.map +1 -0
  109. package/run/run-local-resolution.js +2 -92
  110. package/run/run-local-resolution.js.map +1 -1
  111. package/run/run-operations.js +20 -14
  112. package/run/run-operations.js.map +1 -1
  113. package/run/run-types.d.ts +20 -0
  114. package/run/run-types.d.ts.map +1 -1
  115. package/run/run-types.js.map +1 -1
  116. package/run/run.js +4 -0
  117. package/run/run.js.map +1 -1
  118. package/run/supervised-child-test-plan.js +11 -7
  119. package/run/supervised-child-test-plan.js.map +1 -1
  120. package/run/supervised-child.js +3 -30
  121. package/run/supervised-child.js.map +1 -1
  122. package/run/supervised-protocol-schema.js +2 -1
  123. package/run/supervised-protocol-schema.js.map +1 -1
  124. package/run/supervised-protocol.js +36 -1
  125. package/run/supervised-protocol.js.map +1 -1
  126. package/run/supervised-run-runtime.js +4 -1
  127. package/run/supervised-run-runtime.js.map +1 -1
  128. package/run/supervised-run.js +2 -1
  129. package/run/supervised-run.js.map +1 -1
  130. package/run/work-unit-resource-constraints.js +23 -5
  131. package/run/work-unit-resource-constraints.js.map +1 -1
  132. package/run/worker-pool-execution.js +6 -7
  133. package/run/worker-pool-execution.js.map +1 -1
  134. package/run/worker-pool-host-protocol.js.map +1 -1
  135. package/run/worker-pool-host-task.js +2 -0
  136. package/run/worker-pool-host-task.js.map +1 -1
  137. package/run/worker-pool-protocol.js.map +1 -1
  138. package/run/worker-pool-resource-lifecycle-execution.js +8 -2
  139. package/run/worker-pool-resource-lifecycle-execution.js.map +1 -1
  140. package/run/worker-pool-task-schema.js +3 -0
  141. package/run/worker-pool-task-schema.js.map +1 -1
  142. package/run/worker-pool-worker-plan.js +5 -5
  143. package/run/worker-pool-worker-plan.js.map +1 -1
  144. package/run/worker-pool-worker-resources.js +3 -2
  145. package/run/worker-pool-worker-resources.js.map +1 -1
  146. package/run/worker-pool-worker.js +1 -1
  147. package/run/worker-pool-worker.js.map +1 -1
  148. package/run/workload-input-validation.js +61 -0
  149. package/run/workload-input-validation.js.map +1 -0
  150. package/sbom.cdx.json +5 -5
@@ -0,0 +1,54 @@
1
+ import { canonicalIdentityJson } from "../canonical-identity.js";
2
+ import { snapshotWorkloadParameters } from "./workload-parameters.js";
3
+ export function workloadParameterIdentity(parameters) {
4
+ return Object.freeze(Object.fromEntries(Object
5
+ .entries(parameters)
6
+ .map(function encodeParameter([key, value]) {
7
+ return [key.normalize('NFC'), canonicalIdentityJson(value)];
8
+ })
9
+ .toSorted(function compareNames([left], [right]) {
10
+ return left.localeCompare(right);
11
+ })));
12
+ }
13
+ export function isWorkloadRecord(value) {
14
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
15
+ }
16
+ function readWorkloadName(value) {
17
+ if (typeof value !== 'string' || value.trim().length === 0 || /\p{Cc}/v.test(value)) {
18
+ throw new TypeError('Workload identities require non-empty names without control characters.');
19
+ }
20
+ return value;
21
+ }
22
+ function readIdentityParameters(value) {
23
+ if (!isWorkloadRecord(value)) {
24
+ throw new TypeError('Workload identities require a string parameter record.');
25
+ }
26
+ const keys = new Set();
27
+ const entries = Object.entries(value).map(function readParameter([key, parameter]) {
28
+ const canonicalKey = key.normalize('NFC');
29
+ if (typeof parameter !== 'string' || keys.has(canonicalKey)) {
30
+ throw new TypeError('Workload identity parameters must be strings with distinct canonical keys.');
31
+ }
32
+ keys.add(canonicalKey);
33
+ return [canonicalKey, parameter];
34
+ });
35
+ return Object.freeze(Object.fromEntries(entries));
36
+ }
37
+ export function readWorkloadId(value) {
38
+ if (!isWorkloadRecord(value)) {
39
+ throw new TypeError('Workload identities require a name and string parameter record.');
40
+ }
41
+ return Object.freeze({ name: readWorkloadName(value.name), params: readIdentityParameters(value.params) });
42
+ }
43
+ export function snapshotWorkloadInput(input) {
44
+ const id = readWorkloadId(input.id);
45
+ const parameters = snapshotWorkloadParameters(input.parameters);
46
+ if (canonicalIdentityJson(workloadParameterIdentity(parameters)) !== canonicalIdentityJson(id.params)) {
47
+ throw new TypeError(`Workload "${input.id.name}" parameters do not match its identity.`);
48
+ }
49
+ return Object.freeze({
50
+ id,
51
+ parameters
52
+ });
53
+ }
54
+ //# sourceMappingURL=workload-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workload-input.js","sourceRoot":"","sources":["../../../../source/engine/workload-input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { JsonObject, ReadonlyDeep } from 'type-fest';
2
+ export type WorkloadParameters = ReadonlyDeep<JsonObject>;
3
+ //# sourceMappingURL=workload-parameters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workload-parameters.d.ts","sourceRoot":"","sources":["../../../../source/engine/workload-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,YAAY,EAAE,MAAM,WAAW,CAAC;AAGrE,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { snapshotValidatedJson } from "../attachments/json-snapshot.js";
2
+ function isParameterRecord(value) {
3
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
4
+ }
5
+ function isContainer(value) {
6
+ return typeof value === 'object' && value !== null;
7
+ }
8
+ function readDataKey(value, key) {
9
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
10
+ if (typeof key !== 'string' || descriptor?.enumerable !== true || !Object.hasOwn(descriptor, 'value')) {
11
+ throw new TypeError('Workload parameters require enumerable string data properties.');
12
+ }
13
+ return key;
14
+ }
15
+ function isArrayIndex(key, length) {
16
+ return /^(?:0|[1-9]\d*)$/v.test(key) && Number(key) < length;
17
+ }
18
+ function parameterKeys(value) {
19
+ return Reflect
20
+ .ownKeys(value)
21
+ .filter(function dataKey(key) {
22
+ return !Array.isArray(value) || key !== 'length';
23
+ })
24
+ .map(function validatedKey(key) {
25
+ const name = readDataKey(value, key);
26
+ if (Array.isArray(value) && !isArrayIndex(name, value.length)) {
27
+ throw new TypeError('Workload arrays cannot contain additional properties.');
28
+ }
29
+ return name.normalize('NFC');
30
+ });
31
+ }
32
+ function validateParameterContainer(value) {
33
+ if (Array.isArray(value) && Object.getPrototypeOf(value) !== Array.prototype) {
34
+ throw new TypeError('Workload parameters require ordinary JSON arrays.');
35
+ }
36
+ const keys = parameterKeys(value);
37
+ const distinctKeys = new Set(keys);
38
+ if (distinctKeys.size !== keys.length) {
39
+ throw new TypeError('Workload parameter keys must be distinct after Unicode normalization.');
40
+ }
41
+ }
42
+ function validateParameterValue(value) {
43
+ if (Object.is(value, -0)) {
44
+ throw new TypeError('Workload parameters cannot contain negative zero.');
45
+ }
46
+ if (isContainer(value)) {
47
+ validateParameterContainer(value);
48
+ }
49
+ }
50
+ function snapshotParameters(value) {
51
+ try {
52
+ return snapshotValidatedJson(value, validateParameterValue).value;
53
+ }
54
+ catch (error) {
55
+ throw new TypeError('workload() requires lossless, acyclic JSON parameters with depth at most 64.', {
56
+ cause: error
57
+ });
58
+ }
59
+ }
60
+ export function snapshotWorkloadParameters(value) {
61
+ const snapshot = snapshotParameters(value);
62
+ if (!isParameterRecord(snapshot)) {
63
+ throw new TypeError('workload() requires a JSON parameter record.');
64
+ }
65
+ return snapshot;
66
+ }
67
+ //# sourceMappingURL=workload-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workload-parameters.js","sourceRoot":"","sources":["../../../../source/engine/workload-parameters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type WorkloadParameters } from './workload-input.ts';
2
+ import type { WorkloadId } from './identity.ts';
3
+ export type WorkloadVariant<Body> = {
4
+ readonly id: WorkloadId;
5
+ readonly body: Body;
6
+ readonly parameters: WorkloadParameters | null;
7
+ };
8
+ //# sourceMappingURL=workload-test-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workload-test-case.d.ts","sourceRoot":"","sources":["../../../../source/engine/workload-test-case.ts"],"names":[],"mappings":"AAAA,OAAY,OAE2D,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,eAAe,CAAC,IAAI,IAAI;IAChC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAClD,CAAC"}
@@ -1,38 +1,14 @@
1
- function isRecord(value) {
2
- return typeof value === 'object' && value !== null && !Array.isArray(value);
3
- }
4
- function readWorkloadName(value) {
5
- if (typeof value !== 'string' || value.trim().length === 0 || /\p{Cc}/v.test(value)) {
6
- throw new TypeError('Workload identities require non-empty names without control characters.');
7
- }
8
- return value;
9
- }
10
- function readIdentityParameters(value) {
11
- if (!isRecord(value)) {
12
- throw new TypeError('Workload identities require a string parameter record.');
13
- }
14
- const keys = new Set();
15
- const entries = Object.entries(value).map(function readParameter([key, parameter]) {
16
- const canonicalKey = key.normalize('NFC');
17
- if (typeof parameter !== 'string' || keys.has(canonicalKey)) {
18
- throw new TypeError('Workload identity parameters must be strings with distinct canonical keys.');
19
- }
20
- keys.add(canonicalKey);
21
- return [canonicalKey, parameter];
22
- });
23
- return Object.freeze(Object.fromEntries(entries));
24
- }
25
- function readWorkloadId(value) {
26
- if (!isRecord(value)) {
27
- throw new TypeError('Workload identities require a name and string parameter record.');
28
- }
29
- return Object.freeze({ name: readWorkloadName(value.name), params: readIdentityParameters(value.params) });
30
- }
1
+ import { snapshotWorkloadParameters } from "./workload-parameters.js";
2
+ import { snapshotWorkloadInput, readWorkloadId, isWorkloadRecord } from "./workload-input.js";
31
3
  function readVariant(value, isBody) {
32
- if (!isRecord(value) || !isBody(value.body)) {
4
+ if (!isWorkloadRecord(value) || !isBody(value.body)) {
33
5
  throw new TypeError('Workload test cases require workload identities and body functions.');
34
6
  }
35
- return Object.freeze({ body: value.body, id: readWorkloadId(value.id) });
7
+ const id = readWorkloadId(value.id);
8
+ const parameters = Object.hasOwn(value, 'parameters')
9
+ ? snapshotWorkloadInput({ id, parameters: snapshotWorkloadParameters(value.parameters) }).parameters
10
+ : null;
11
+ return Object.freeze({ body: value.body, id, parameters });
36
12
  }
37
13
  export function readWorkloadTestCaseVariants(value, isBody) {
38
14
  if (!Array.isArray(value) || value.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"workload-test-case.js","sourceRoot":"","sources":["../../../../source/engine/workload-test-case.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workload-test-case.js","sourceRoot":"","sources":["../../../../source/engine/workload-test-case.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,gBAAgB,EAA2B,MAAM,qBAAqB,CAAC;AASvH,SAAS,WAAW,CAAO,KAAc,EAAE,MAAyC;IAChF,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,qEAAqE,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC;QACjD,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,0BAA0B,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU;QACpG,CAAC,CAAC,IAAI,CAAC;IACX,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,4BAA4B,CACxC,KAAc,EACd,MAAyC;IAEzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,mBAAmB,CAAC,KAAc;QAC1E,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,SAAS,CAAC,4BAA4B,OAAO,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,CAAE,KAAK,EAAE,GAAG,SAAS,CAAE,GAAG,QAAQ,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAE,KAAK,EAAE,GAAG,SAAS,CAAE,CAAC,CAAC;AAClD,CAAC"}
package/package.json CHANGED
@@ -98,10 +98,12 @@
98
98
  "./engine/reporter-output-scope.js",
99
99
  "./engine/reporter-output.js",
100
100
  "./engine/reporter.js",
101
+ "./engine/resource-owner-observation.js",
101
102
  "./engine/run-result.js",
102
103
  "./engine/run-timings.js",
103
104
  "./engine/runtime-attachment.js",
104
105
  "./engine/test-body-resource-attachment.js",
106
+ "./engine/test-body-workload-resolution.js",
105
107
  "./engine/test-data.js",
106
108
  "./engine/test-node.js",
107
109
  "./package-version.js",
@@ -117,6 +119,7 @@
117
119
  "./resources/resource-definition.js",
118
120
  "./resources/resource-lifecycle-error.js",
119
121
  "./resources/resource-scenario-binding.js",
122
+ "./resources/resource-workload-binding.js",
120
123
  "./resources/resources.js",
121
124
  "./resources/runtime-definition.js",
122
125
  "./resources/runtime-matrix-definition.js",
@@ -141,6 +144,7 @@
141
144
  "./run/diff-schema.js",
142
145
  "./run/duration-history-schema.js",
143
146
  "./run/execution-plan-resolution.js",
147
+ "./run/file-module-boundary.js",
144
148
  "./run/frozen-run-policy-schema.js",
145
149
  "./run/frozen-supervised-command-schema.js",
146
150
  "./run/node-child-process-starters.js",
@@ -186,5 +190,5 @@
186
190
  "./transcript/transcript-store.js"
187
191
  ],
188
192
  "type": "module",
189
- "version": "0.0.69"
193
+ "version": "0.0.70"
190
194
  }
@@ -1,9 +1,11 @@
1
1
  export declare const runIfMain: import("../../run/run-if-main.ts").RunIfMain;
2
2
  export { orchestrator } from '../../run/run-orchestrator.entry-point.ts';
3
3
  export { parseFrozenMicrotestPolicy } from '../../run/frozen-run-policy.ts';
4
+ export { withFileModuleBoundary } from '../../run/file-module-boundary.ts';
5
+ export type { FileModuleBoundary } from '../../run/run-types.ts';
4
6
  export type { FreezePolicyInput, FrozenMicrotestPolicy, FrozenRunCommand, RunPolicySource } from '../../run/run-types.ts';
5
7
  export { defineConfig, normalizeConfig, loadConfig, ConfigError } from './config.entry-point.ts';
6
- export { RunExecutionPlanError, RunResolutionError } from '../../run/run-errors.ts';
8
+ export { RunCollectionError, RunExecutionPlanError, RunResolutionError } from '../../run/run-errors.ts';
7
9
  export type { IntegrationRetryPolicy, RetryArtifactPolicy, ProjectIntegrationRetryPolicy } from './config.entry-point.ts';
8
10
  export type { PlannedResourceOwner, ResourceOwnerPlacement, ResourceOwnershipPlan } from '../../run/resource-ownership-plan.ts';
9
11
  export type { LoadedConfig, ConfigLoader, ConfigLoaderDependencies, ConfigLoadRequest, ProjectCoverageOutput, ProjectCoveragePolicy, ProjectCoverageSources, ProjectCoverageThresholds, ProjectAttachmentLimits, Config, ProjectIntegrationExecution, ProjectIntegrationProfileConfig, ProjectMeasuredResourceUsage, ProjectMicrotestExecution, ProjectMicrotestProfileConfig, ProjectProfileFiles, ProjectProfileConfig, ProjectProfilesConfig, ProjectResourceBudgets, ProjectResourceUsageConfig, ProjectTimingProfilePolicy, ProjectTimeoutConfig, ProjectUnmeasuredResourceUsage } from '../../config/config.ts';
@@ -14,7 +16,7 @@ export type { ExecutionPlanResourceFacts, RunExecutionPlanConflict, RunResolutio
14
16
  export type { RunInvocationTimingOptions } from '../../run/run-timing-collection.ts';
15
17
  export type { RuntimeDimensions, RuntimeId, RuntimeScenarioBindings, WorkId, WorkloadId } from '../../engine/identity.ts';
16
18
  export type { DynamicWorkUnitId, PlacementAttemptId, PlacementAttemptInterruptionCause, PlacementAttemptReason, PlacementRecoveryDecision, PlacementTrace, PlacementTraceEntry, PlacementWorkerId, TraceWorkUnitId } from '../../run/placement-trace.ts';
17
- export type { CollectedRunCase, CollectedRunFile, CollectedRunPlan, ExecutorDescriptor, PlacementAssignment, PlacementLane, PlacementPlan, ResolvedRun, ResolvedRunPlan, RunCaseFacts, RunCommand, RunDebugRequest, RunEngineFacts, RunEnvironmentFacts, RunExecutionRequest, RunFacts, RunExecutionFacts, RunHostProcessFacts, RunHostProcessReason, BenchmarkOrchestrator, BenchmarkBaselineCommand, BenchmarkBaselineListCommand, BenchmarkBaselineOrchestrator, BenchmarkBaselineRunResult, RunReporterDeliveryResult, RunOrchestrator, RunReproducibilityFacts, RunRequest, RunSeed, RunShard, RunTestFamily, RunWorkerCountFacts, SerializedValue, DuplicateExecutionSafety, WorkUnitId, WorkUnit, WorkUnitMode } from '../../run/run-types.ts';
19
+ export type { CollectedRun, CollectedRunInvocation, InitializedRun, CollectedRunCase, CollectedRunFile, CollectedRunPlan, ExecutorDescriptor, PlacementAssignment, PlacementLane, PlacementPlan, ResolvedRun, ResolvedRunPlan, RunCaseFacts, RunCommand, RunDebugRequest, RunEngineFacts, RunEnvironmentFacts, RunExecutionRequest, RunFacts, RunExecutionFacts, RunHostProcessFacts, RunHostProcessReason, BenchmarkOrchestrator, BenchmarkBaselineCommand, BenchmarkBaselineListCommand, BenchmarkBaselineOrchestrator, BenchmarkBaselineRunResult, RunReporterDeliveryResult, RunOrchestrator, RunReproducibilityFacts, RunRequest, RunSeed, RunShard, RunTestFamily, RunWorkerCountFacts, SerializedValue, DuplicateExecutionSafety, WorkUnitId, WorkUnit, WorkUnitMode } from '../../run/run-types.ts';
18
20
  export type { CoverageOutput, NormalizedConfig, CoveragePolicy, CoverageSourcePolicy, CoverageThresholds, HostProcess, IntegrationExecution, IntegrationProfileConfig, LoaderConfig, MaxConcurrency, MicrotestExecution, MicrotestProfileConfig, RunOrder, ProcessModel, ProfileConfig, BenchmarkExecution, BenchmarkProfileConfig, TestProfileConfig, ProfileFiles, ProfilesConfig, ResourceBudgets, ResourceUsagePolicy, Scheduling, TimeoutPolicy, TimingCollectionMode, TimingCollectionOverride, TimingProfilePolicy, WorkDistribution, WorkGroup, WorkGroupGranularity, WorkGroupOrder, WorkGroupScheduling, WorkGroupWorkerLifecycle, WorkerPoolAssignmentPolicy, WorkerPoolDispatchPolicy, WorkerPoolHedgingPolicy, WorkerLifecycle } from '../../config/types.ts';
19
21
  export type { RunEngineSelection } from '../../run/run-request-types.ts';
20
22
  export type { RunFilter, RunRuntimeDimensionFilter, RunRuntimeFilter, RunRuntimeScenarioFilter, RunRuntimeVariantFilter, RunSelection, RunStringFilterField } from '../../run/run-request-types.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"run.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export const runIfMain = createRunIfMain({
27
27
  });
28
28
  export { orchestrator } from "../../run/run-orchestrator.entry-point.js";
29
29
  export { parseFrozenMicrotestPolicy } from "../../run/frozen-run-policy.js";
30
+ export { withFileModuleBoundary } from "../../run/file-module-boundary.js";
30
31
  export { defineConfig, normalizeConfig, loadConfig, ConfigError } from "./config.entry-point.js";
31
- export { RunExecutionPlanError, RunResolutionError } from "../../run/run-errors.js";
32
+ export { RunCollectionError, RunExecutionPlanError, RunResolutionError } from "../../run/run-errors.js";
32
33
  //# sourceMappingURL=run.entry-point.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;IACrD,aAAa;IACb,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,IAAI;CACP,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACrC,uBAAuB;QACnB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,YAAY;QACR,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5B,CAAC;IACD,oBAAoB;IACpB,mBAAmB;IACnB,WAAW,CAAC,QAAQ;QAChB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,MAAM,EAAE,OAAO,CAAC,MAAM;CACzB,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAO5E,OAAO,EACH,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"run.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;IACrD,aAAa;IACb,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,IAAI;CACP,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACrC,uBAAuB;QACnB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,YAAY;QACR,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5B,CAAC;IACD,oBAAoB;IACpB,mBAAmB;IACnB,WAAW,CAAC,QAAQ;QAChB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,MAAM,EAAE,OAAO,CAAC,MAAM;CACzB,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAQ3E,OAAO,EACH,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
package/readme.md CHANGED
@@ -17,8 +17,10 @@ Top-level API:
17
17
  - `orchestrator.resolve(command)`
18
18
  - `orchestrator.run(command)`
19
19
  - `orchestrator.runWithReporterDelivery(command)`
20
- - `orchestrator.freezePolicy({ command, source })`
20
+ - `orchestrator.freezePolicy({ command, source, moduleBoundary })`
21
+ - `orchestrator.initialize(command)`
21
22
  - `parseFrozenMicrotestPolicy(value)`
23
+ - `withFileModuleBoundary(boundary, operation)`
22
24
 
23
25
  `Config` describes authored policy. `normalizeConfig` produces a
24
26
  command-independent `NormalizedConfig` without reading files; `loadConfig`
@@ -35,6 +37,46 @@ tests or custom engines. It returns an immutable, serializable
35
37
  discovered descriptors, baseline request, portable engine, and source identity.
36
38
  Engine instances and other profile families are unsupported.
37
39
 
40
+ Pass `moduleBoundary: null` for ordinary freezing. A `FileModuleBoundary`
41
+ contains an absolute `projectRoot` matching discovery and explicit absolute
42
+ `sharedRoots` for installed dependencies and runner bootstrap. Shared roots
43
+ must not contain the project root. Frozen runner operations enforce this
44
+ additional module constraint in both process models, before config revalidation
45
+ and through execution cleanup. It does not grant filesystem permissions.
46
+ Older serialized policies without this field normalize it to `null`.
47
+
48
+ `withFileModuleBoundary(boundary, operation)` applies the same constraint to
49
+ configuration loading before freezing. Native synchronous module hooks reject
50
+ file imports whose real paths escape the allowed roots, including symlink
51
+ escapes. Hooks are scoped to the asynchronous operation and removed on success
52
+ or failure. A `null` boundary installs no hook. Native module caching remains
53
+ unchanged.
54
+
55
+ `initialize` accepts an ordinary or frozen-policy command and prepares discovery
56
+ without importing config again, custom engines, or tests. The selected profile
57
+ must use `in-process` execution. Caller bootstrap can run before
58
+ `await initialized.collect()`. Collection validates file-backed frozen policy,
59
+ imports modules under ordinary runtime policy, and caches either the collected
60
+ handle or the failure. Collection failures may expose `RunCollectionError` or
61
+ an `AggregateError` containing the original runtime-policy errors.
62
+ An initial selection matching no cases rejects collection with
63
+ `no-tests-collected`, as `resolve` does.
64
+
65
+ The collected handle exposes immutable `facts` and a body-free `plan` catalog.
66
+ `await collected.run({ selection: { kind: 'all' } })` executes that plan without
67
+ reimporting modules. Invocation selection may only narrow the original eligible
68
+ cases; seed, shard, order, and policy remain fixed. Empty selection and empty
69
+ shards retain ordinary runner semantics. `runWithReporterDelivery` returns the
70
+ usual result and reporter-delivery tracking.
71
+
72
+ Each invocation creates fresh scopes, assertions, cleanup, runtime observers,
73
+ reporter instances, and result collection. Observers close before the handle
74
+ becomes idle, including on failures. Overlapping invocations of the same handle
75
+ reject with `invalid-request`. Module state remains shared between invocations.
76
+ Explicit ordinary coverage creates a fresh session and run record each time;
77
+ previous collection imports are not repeated for coverage. No disposal call is
78
+ required for an idle handle.
79
+
38
80
  Use `source: { kind: 'memory' }` for supplied config, or
39
81
  `{ kind: 'config-file', request: { cwd, configPath }, resolvedPath }` for loaded
40
82
  config. `resolvedPath` is the loaded config's `configPath`, including `null` for
@@ -267,9 +309,8 @@ Resource usage measurement is explicit. Project config can enable it under
267
309
  `profiles.<name>.resourceUsage.measure`; `RunRequest.measureResourceUsage`
268
310
  can override that policy for one run. `resourceUsage.budgets` are thresholds
269
311
  and require measurement, while `RunRequest.resourceBudgetOverrides` changes
270
- individual thresholds for one run. The `@overkill-dev/test` binary parses
271
- `--measure-resource-usage` and `--resource-budget <name=value>` into those
272
- typed request fields.
312
+ individual thresholds for one run. CLI commands use the selected profile's
313
+ resource usage policy.
273
314
 
274
315
  Runner timing collection is explicit beyond the always-present summary.
275
316
  Project config can set `profiles.<name>.timings.collection` to `summary` or
@@ -1,3 +1,4 @@
1
+ import type { WorkloadParameters } from '../engine/workload-input.ts';
1
2
  import type { ResourceScenarioSlots } from './resource-scenario.ts';
2
3
  export type Awaitable<Value> = Promise<Value> | Value;
3
4
  type ExclusiveResource = {
@@ -44,6 +45,7 @@ export type AnyResourceDefinition = {
44
45
  readonly requirements: readonly ExecutionRequirement[];
45
46
  readonly scenarios: ResourceScenarioSlots;
46
47
  readonly scope: ResourceScope;
48
+ readonly workload: ((parameters: WorkloadParameters) => WorkloadParameters) | null;
47
49
  readonly serializeHandle?: (handle: never, context: never) => ResourceProjectionPayload;
48
50
  };
49
51
  export type RuntimeResourceMap = Readonly<Record<string, AnyResourceDefinition>>;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-shape.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-definition-shape.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-shape.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-types.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,uBAGa,wBAQxB,MAAM,gCAAgC,CAAC;MAYlC,MAAmD,cAkBhB,CACnB,QAAqB,QAMR,CAAS,qBAAqB,IAAI,QAAQ,SAAS;IAClF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,MAAM,cAAc,CAAC,GAAG,SAAS,CAAC;CACvG,GAAG,cAAc,GACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,oBAAoB,IAAI;IAClE,QAAQ,EAAE,GAAG,IAAI,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,CAGF,EAKH,CAAC"}
1
+ {"version":3,"file":"resource-definition-types.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAGE,kBAEW,wBAQxB,MAAM,gCAAgC,CAAC;MAYlC,MAAmD,cAkBhB,CACnB,QAAqB,QAMR,CAAS,qBAAqB,IAAI,QAAQ,SAAS;IAClF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,MAAM,cAAc,CAAC,GAAG,SAAS,CAAC;CACvG,GAAG,cAAc,GACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,oBAAoB,IAAI;IAClE,QAAQ,EAAE,GAAG,IAAI,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,CAIF,EAMH,CAAC"}
@@ -1,5 +1,5 @@
1
- import { resourceDefinitionBrand } from "./resource-definition-brand.js";
2
1
  import { freezeResourceScenarioSlots } from "./resource-scenario.js";
2
+ import { resourceDefinitionBrand } from "./resource-definition-brand.js";
3
3
  function isRecord(value) {
4
4
  return typeof value === 'object' && value !== null;
5
5
  }
@@ -30,13 +30,24 @@ function resourceHandleExposure(definition, scenarios) {
30
30
  }
31
31
  return declaredExposeHandle;
32
32
  }
33
- function defineResource(definition) {
33
+ function resourceWorkloadParser(definition) {
34
+ const parser = Reflect.get(definition, 'workload');
35
+ if (parser === undefined || parser === null) {
36
+ return null;
37
+ }
38
+ if (typeof parser !== 'function') {
39
+ throw new TypeError('Resource workload requires a synchronous parameter parser.');
40
+ }
41
+ return parser;
42
+ }
43
+ export function normalizeResourceDefinition(definition) {
34
44
  const scenarios = resourceScenarios(definition);
35
45
  return Object.freeze({
36
46
  ...definition,
37
47
  dependencies: resourceDependencies(definition),
38
48
  exposeHandle: resourceHandleExposure(definition, scenarios),
39
49
  scenarios,
50
+ workload: resourceWorkloadParser(definition),
40
51
  [resourceDefinitionBrand]: true
41
52
  });
42
53
  }
@@ -45,6 +56,10 @@ function isDefinedResource(resource) {
45
56
  resource !== null &&
46
57
  Reflect.get(resource, resourceDefinitionBrand) === true;
47
58
  }
59
+ function defineResource(definition) {
60
+ const normalized = normalizeResourceDefinition(definition);
61
+ return normalized;
62
+ }
48
63
  export const resourceDefinitionApi = Object.freeze({
49
64
  defineResource,
50
65
  isDefinedResource
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition.js","sourceRoot":"","sources":["../../../../source/resources/resource-definition.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACH,2BAA2B,EAI9B,MAAM,wBAAwB,CAAC;AAIhC,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CACzB,UAA6C;IAE7C,MAAM,oBAAoB,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE9E,OAAO,QAAQ,CAAC,oBAAoB,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;QACrC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA6C;IACpE,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC;QACzC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB,CAC3B,UAA6C,EAC7C,SAAgC;IAEhC,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,IAAI;QACxF,OAAO,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE9E,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC5B,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,SAAS,CAAC,6DAA6D,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC1G,CAAC;IAED,OAAO,oBAAoB,CAAC;AAChC,CAAC;AA+HD,SAAS,cAAc,CAAC,UAA6C;IACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,UAAU;QACb,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC;QAC9C,YAAY,EAAE,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC;QAC3D,SAAS;QACT,CAAC,uBAAuB,CAAC,EAAE,IAAa;KAC3C,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAiB;IACxC,OAAO,OAAO,QAAQ,KAAK,QAAQ;QAC/B,QAAQ,KAAK,IAAI;QACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,KAAK,IAAI,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,cAAc;IACd,iBAAiB;CACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"resource-definition.js","sourceRoot":"","sources":["../../../../source/resources/resource-definition.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,22 @@
1
1
  import { resourceAttachments } from "../attachments/attachment-context.js";
2
2
  import { defaultScenarioBindings, scenarioBindingsForTiming } from "./resource-scenario.js";
3
- const boundResourceScenarios = new WeakMap();
4
- const sourceResourceDefinitions = new WeakMap();
5
-
3
+ const sources = new WeakMap();
4
+ export function inheritResourceDefinition(resource, source) {
5
+ sources.set(resource, source);
6
+ }
7
+ export function parentResourceDefinition(resource) {
8
+ return sources.get(resource) ?? null;
9
+ }
6
10
  export function sourceResourceDefinition(resource) {
7
- return sourceResourceDefinitions.get(resource) ?? resource;
11
+ const parent = parentResourceDefinition(resource);
12
+ return parent === null ? resource : sourceResourceDefinition(parent);
8
13
  }
14
+ const boundResourceScenarios = new WeakMap();
15
+
9
16
  export function bindResourceScenarios(resource, bindings) {
10
17
  const bound = Object.freeze({ ...resource });
11
18
  boundResourceScenarios.set(bound, bindings);
12
- sourceResourceDefinitions.set(bound, sourceResourceDefinition(resource));
19
+ inheritResourceDefinition(bound, resource);
13
20
  return bound;
14
21
  }
15
22
  export function resolvedResourceScenarioBindings(resource) {
@@ -1 +1 @@
1
- {"version":3,"file":"resource-scenario-binding.js","sourceRoot":"","sources":["../../../../source/resources/resource-scenario-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EACH,uBAAuB,EACvB,yBAAyB,EAI5B,MAAM,wBAAwB,CAAC;AAuDhC,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAA2D,CAAC;AACtG,MAAM,yBAAyB,GAAG,IAAI,OAAO,EAAgD,CAAC;;MA+BxF,gBAsB6B,kBAwBE,SAIU,EAAG,CAAC;IAMhC,gCAgBiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,QAA+B,EAC/B,QAA0C;IAE1C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAE7C,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,yBAAyB,CAAC,GAAG,CAAC,KAAK,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzE,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC5C,QAA+B;IAE/B,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,mCAAmC,CAC/C,QAA+B;IAE/B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,SAAS,EAAE,gCAAgC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,qCAAqC,CAC1C,QAA+B;IAE/B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,SAAS,EAAE,gCAAgC,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA+B,EAAE,MAAe;IACjF,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,CAAE,MAAM,EAAE;YAC7D,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/C,SAAS,EAAE,qCAAqC,CAAC,QAAQ,CAAC;SAC7D,CAAE,CAAC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"resource-scenario-binding.js","sourceRoot":"","sources":["../../../../source/resources/resource-scenario-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EACH,uBAAuB,EACvB,yBAAyB,EAI5B,MAAM,wBAAwB,CAAC;AAuDhC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAgD,CAAC;AAE5E,MAAM,UAAU,yBAAyB,CAAC,QAA+B,EAAE,MAA6B;IACpG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAA+B;IACpE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAA+B;IACpE,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAA2D,CAAC;;MA+BhG,cAsB6B,gBAOI,CACT,CAAC,QAAQ,IAY0B,CAI3B,GACF,EAA0C,EAG5B,CAAC;kBAyBjC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAE7C,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3C,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC5C,QAA+B;IAE/B,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,mCAAmC,CAC/C,QAA+B;IAE/B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,SAAS,EAAE,gCAAgC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,qCAAqC,CAC1C,QAA+B;IAE/B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,SAAS,EAAE,gCAAgC,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA+B,EAAE,MAAe;IACjF,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,CAAE,MAAM,EAAE;YAC7D,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/C,SAAS,EAAE,qCAAqC,CAAC,QAAQ,CAAC;SAC7D,CAAE,CAAC,CAAC;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-session.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAGO,EAEf,oBAAoB,EAGvB,MAAM,gBAAgB,CAAC;MA+ClB,eAKN,qBAA0C,GAAG;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,oBAAoB,IAAI,eAAe,GAAG;IACpF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpF,CAAC;AAyDF,OAiLW,EAKT,CAUD"}
1
+ {"version":3,"file":"resource-session.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAOO,EAEf,oBAAoB,EAGvB,MAAM,gBAAgB,CAAC;MAgDlB,oCASoC,GAAG;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,oBAAoB,IAAI,eAAe,GAAG;IACpF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpF,CAAC;AA0DF,OAwMW,EAKT,CAqBD"}
@@ -0,0 +1,15 @@
1
+ import "../engine/workload-input.js";
2
+ import "../engine/workload-parameters.js";
3
+ import "./resource-graph.js";
4
+ import { parentResourceDefinition } from "./resource-scenario-binding.js";
5
+ const resourceWorkloads = new WeakMap();
6
+ export function resourceWorkloadIdentity(resource) {
7
+ const bound = resourceWorkloads.get(resource);
8
+ if (bound !== undefined) {
9
+ return bound.id;
10
+ }
11
+ const parent = parentResourceDefinition(resource);
12
+ return parent === null ? null : resourceWorkloadIdentity(parent);
13
+ }
14
+
15
+ //# sourceMappingURL=resource-workload-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-workload-binding.js","sourceRoot":"","sources":["../../../../source/resources/resource-workload-binding.ts"],"names":[],"mappings":"AACA,OAA0D,6BAA6B,CAAC;AACxF,OAA2C,kCAAkC,CAAC;AAC9E,OAAoC,qBAAqB,CAAC;AAI1D,OAAO,EAA6B,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAErG,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAwC,CAAC;AAE9E,MAAM,UAAU,wBAAwB,CAAC,QAA+B;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"AAAA,OAAyD,kDAAkD,CAAC;AAC5G,OAAO,+BAG0B,IAAI,yBAAyB,EAM7D,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,0BAA0B,EAQ7B,MAAM,gCAAgC,CAAC;AAWxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAoBjE,OAAO,EAAE,gCAAgC,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAElH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,eAAe,CAAC;AACxE,MAAM,6BAA6B,GAAG,0BAA0B,CAAC,mBAAmB,CAAC;MAG/E,CAAC,MAAM,EACT,iBAAiB,EACjB,gCAAgC,EAChC,6BAA6B,EAChC,GAAG,MAAM,CAAC,MAAM,CAAC;IACd,iBAAiB,EAAE,qBAAqB,CAAC,iBAAiB;IAC1D,gCAAgC,EAAE,4BAA4B;IAC9D,6BAA6B,EAAE,yBAAyB;CAC3D,CAAC,CAAC;AACH,MAAM,CAAC,qBAmDD,GACC,oBAA4C,CAAC;;OA6GpD,SAAS,kBA+GyB,CAAC,OAAqB;IACpD,MAAM,MAAM,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEtE,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"AACA,OAAyD,kDAAkD,CAAC;AAK5G,OAAO,+BAG0B,IAAI,yBAAyB,EAM7D,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,0BAA0B,EAQ7B,MAAM,gCAAgC,CAAC;AAWxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAmBjE,OAAO,EAAE,gCAAgC,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAElH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,eAAe,CAAC;AACxE,MAAM,6BAA6B,GAAG,0BAA0B,CAAC,mBAAmB,CAAC;MAG/E,CAAC,MAAM,EACT,iBAAiB,EACjB,gCAAgC,EAChC,6BAA6B,EAChC,GAAG,MAAM,CAAC,MAAM,CAAC;IACd,iBAAiB,EAAE,qBAAqB,CAAC,iBAAiB;IAC1D,gCAAgC,EAAE,4BAA4B;IAC9D,6BAA6B,EAAE,yBAAyB;CAC3D,CAAC,CAAC;AACH,MAAM,CAAC,qBAuDD,GACC,oBAA4C,CAAC;;OA6GpD,SAAS,kBA+GyB,CAAC,OAAqB;IACpD,MAAM,MAAM,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEtE,OAAO,MAAM,CAAC;AAClB,CAAC"}