@overkill-dev/run 0.0.56 → 0.0.57

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 (135) hide show
  1. package/package.json +9 -4
  2. package/packages/run/run.entry-point.d.ts +2 -1
  3. package/packages/run/run.entry-point.d.ts.map +1 -1
  4. package/readme.md +7 -1
  5. package/run/command-line-runner.d.ts.map +1 -1
  6. package/run/command-line-runner.js +10 -5
  7. package/run/command-line-runner.js.map +1 -1
  8. package/run/duration-history.d.ts +10 -1
  9. package/run/duration-history.d.ts.map +1 -1
  10. package/run/duration-history.js +2 -2
  11. package/run/duration-history.js.map +1 -1
  12. package/run/node-child-process-starters.js +1 -1
  13. package/run/node-child-process-starters.js.map +1 -1
  14. package/run/resource-lifecycle-boundaries.js +73 -0
  15. package/run/resource-lifecycle-boundaries.js.map +1 -0
  16. package/run/resource-lifecycle-projection.js +48 -0
  17. package/run/resource-lifecycle-projection.js.map +1 -0
  18. package/run/resource-lifecycle-session-acquirer.js +177 -0
  19. package/run/resource-lifecycle-session-acquirer.js.map +1 -0
  20. package/run/resource-lifecycle-startup-budget.js +81 -0
  21. package/run/resource-lifecycle-startup-budget.js.map +1 -0
  22. package/run/resource-lifecycle-state.d.ts +2 -0
  23. package/run/resource-lifecycle-state.d.ts.map +1 -1
  24. package/run/resource-lifecycle-state.js.map +1 -1
  25. package/run/resource-lifecycle-timing.js +85 -0
  26. package/run/resource-lifecycle-timing.js.map +1 -0
  27. package/run/resource-lifecycle.js +130 -235
  28. package/run/resource-lifecycle.js.map +1 -1
  29. package/run/run-collected-planning.js +23 -6
  30. package/run/run-collected-planning.js.map +1 -1
  31. package/run/run-collected-resolution.js +3 -2
  32. package/run/run-collected-resolution.js.map +1 -1
  33. package/run/run-collection-error-result.js +2 -2
  34. package/run/run-collection-error-result.js.map +1 -1
  35. package/run/run-config-schema.d.ts +7 -0
  36. package/run/run-config-schema.d.ts.map +1 -1
  37. package/run/run-config-schema.js +4 -0
  38. package/run/run-config-schema.js.map +1 -1
  39. package/run/run-config.d.ts.map +1 -1
  40. package/run/run-config.js +4 -4
  41. package/run/run-config.js.map +1 -1
  42. package/run/run-empty-shard.js +2 -2
  43. package/run/run-empty-shard.js.map +1 -1
  44. package/run/run-facts.js +4 -0
  45. package/run/run-facts.js.map +1 -1
  46. package/run/run-if-main-facts.js +2 -1
  47. package/run/run-if-main-facts.js.map +1 -1
  48. package/run/run-in-process-execution.js +3 -3
  49. package/run/run-in-process-execution.js.map +1 -1
  50. package/run/run-input-resolution.js +6 -0
  51. package/run/run-input-resolution.js.map +1 -1
  52. package/run/run-isolated-process.js +39 -24
  53. package/run/run-isolated-process.js.map +1 -1
  54. package/run/run-local-execution.js +12 -3
  55. package/run/run-local-execution.js.map +1 -1
  56. package/run/run-local-resolution.js +4 -2
  57. package/run/run-local-resolution.js.map +1 -1
  58. package/run/run-orchestrator-dependencies.d.ts +2 -0
  59. package/run/run-orchestrator-dependencies.d.ts.map +1 -1
  60. package/run/run-orchestrator-dependencies.js.map +1 -1
  61. package/run/run-support.js +14 -6
  62. package/run/run-support.js.map +1 -1
  63. package/run/run-timing-collection.d.ts +43 -0
  64. package/run/run-timing-collection.d.ts.map +1 -0
  65. package/run/run-timing-collection.js +173 -8
  66. package/run/run-timing-collection.js.map +1 -1
  67. package/run/run-types.d.ts +13 -3
  68. package/run/run-types.d.ts.map +1 -1
  69. package/run/run-types.js.map +1 -1
  70. package/run/run-validation.js +2 -0
  71. package/run/run-validation.js.map +1 -1
  72. package/run/run.js +31 -20
  73. package/run/run.js.map +1 -1
  74. package/run/supervised-child-process.d.ts +1 -0
  75. package/run/supervised-child-process.d.ts.map +1 -1
  76. package/run/supervised-child-process.js +5 -0
  77. package/run/supervised-child-process.js.map +1 -1
  78. package/run/supervised-child.js +3 -2
  79. package/run/supervised-child.js.map +1 -1
  80. package/run/supervised-protocol.js +14 -0
  81. package/run/supervised-protocol.js.map +1 -1
  82. package/run/supervised-run-collection.js +123 -0
  83. package/run/supervised-run-collection.js.map +1 -0
  84. package/run/supervised-run-runtime.js +8 -13
  85. package/run/supervised-run-runtime.js.map +1 -1
  86. package/run/supervised-run.js +74 -106
  87. package/run/supervised-run.js.map +1 -1
  88. package/run/work-unit-resource-constraints.js +6 -6
  89. package/run/work-unit-resource-constraints.js.map +1 -1
  90. package/run/worker-pool-collection.js +46 -20
  91. package/run/worker-pool-collection.js.map +1 -1
  92. package/run/worker-pool-command.js +68 -0
  93. package/run/worker-pool-command.js.map +1 -0
  94. package/run/worker-pool-execution.js +48 -73
  95. package/run/worker-pool-execution.js.map +1 -1
  96. package/run/worker-pool-hedge-dispatch.js +2 -1
  97. package/run/worker-pool-hedge-dispatch.js.map +1 -1
  98. package/run/worker-pool-host-process-starter.js +13 -0
  99. package/run/worker-pool-host-process-starter.js.map +1 -0
  100. package/run/worker-pool-host-process.js +53 -79
  101. package/run/worker-pool-host-process.js.map +1 -1
  102. package/run/worker-pool-host-protocol.js.map +1 -1
  103. package/run/worker-pool-host-signal.js +21 -0
  104. package/run/worker-pool-host-signal.js.map +1 -0
  105. package/run/worker-pool-host-task.js +55 -0
  106. package/run/worker-pool-host-task.js.map +1 -0
  107. package/run/worker-pool-lanes.js +45 -22
  108. package/run/worker-pool-lanes.js.map +1 -1
  109. package/run/worker-pool-lifecycle-lanes.js +4 -56
  110. package/run/worker-pool-lifecycle-lanes.js.map +1 -1
  111. package/run/worker-pool-placement-planning.js +9 -4
  112. package/run/worker-pool-placement-planning.js.map +1 -1
  113. package/run/worker-pool-protocol.js +2 -0
  114. package/run/worker-pool-protocol.js.map +1 -0
  115. package/run/worker-pool-resource-lifecycle-execution.js +155 -0
  116. package/run/worker-pool-resource-lifecycle-execution.js.map +1 -0
  117. package/run/worker-pool-routing.js +6 -3
  118. package/run/worker-pool-routing.js.map +1 -1
  119. package/run/worker-pool-run.js +74 -19
  120. package/run/worker-pool-run.js.map +1 -1
  121. package/run/worker-pool-runtime.js +77 -17
  122. package/run/worker-pool-runtime.js.map +1 -1
  123. package/run/worker-pool-task-events.js +3 -0
  124. package/run/worker-pool-task-events.js.map +1 -1
  125. package/run/worker-pool-task-validation.js +11 -0
  126. package/run/worker-pool-task-validation.js.map +1 -0
  127. package/run/worker-pool-work-dispatcher.js +27 -21
  128. package/run/worker-pool-work-dispatcher.js.map +1 -1
  129. package/run/worker-pool-worker-resources.js +99 -0
  130. package/run/worker-pool-worker-resources.js.map +1 -0
  131. package/run/worker-pool-worker-timing.js +63 -0
  132. package/run/worker-pool-worker-timing.js.map +1 -0
  133. package/run/worker-pool-worker.js +93 -32
  134. package/run/worker-pool-worker.js.map +1 -1
  135. package/sbom.cdx.json +9 -9
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "figures": "6.1.0",
11
11
  "hash-wasm": "4.12.0",
12
12
  "pure-rand": "8.4.2",
13
- "string-width": "8.2.2",
13
+ "string-width": "8.3.0",
14
14
  "tinypool": "2.2.0",
15
15
  "type-fest": "5.8.0",
16
16
  "yoctocolors": "2.2.0",
@@ -85,16 +85,18 @@
85
85
  "./run/node-child-process-starters.js",
86
86
  "./run/node-process-capability-restrictions.js",
87
87
  "./run/node-run-dependencies.entry-point.js",
88
+ "./run/resource-lifecycle-boundaries.js",
88
89
  "./run/resource-lifecycle-composition.js",
89
90
  "./run/resource-lifecycle-state.js",
90
- "./run/resource-lifecycle.js",
91
91
  "./run/run-config-schema.js",
92
92
  "./run/run-filter-grammar.js",
93
93
  "./run/run-host-process.js",
94
94
  "./run/run-if-main-options.js",
95
95
  "./run/run-if-main.js",
96
+ "./run/run-isolated-process.js",
96
97
  "./run/run-orchestrator.entry-point.js",
97
98
  "./run/run-selection-filters.js",
99
+ "./run/run-timing-collection.js",
98
100
  "./run/run-types.js",
99
101
  "./run/supervised-child-process.js",
100
102
  "./run/supervised-child.entry-point.js",
@@ -103,8 +105,11 @@
103
105
  "./run/work-unit-planning.js",
104
106
  "./run/worker-pool-host.entry-point.js",
105
107
  "./run/worker-pool-pending-splitting.js",
106
- "./run/worker-pool-runtime.js"
108
+ "./run/worker-pool-run.js",
109
+ "./run/worker-pool-runtime.js",
110
+ "./run/worker-pool-task-validation.js",
111
+ "./run/worker-pool-worker-resources.js"
107
112
  ],
108
113
  "type": "module",
109
- "version": "0.0.56"
114
+ "version": "0.0.57"
110
115
  }
@@ -7,7 +7,8 @@ export type { RunIfMain, RunIfMainDependencies } from '../../run/run-if-main.ts'
7
7
  export type { RunIfMainProfileResolver, RunIfMainProfileResolverDependencies } from '../../run/run-if-main-profile.ts';
8
8
  export type { RunIfMainOptions, RunIfMainRootOptions } from '../../run/run-if-main-options.ts';
9
9
  export type { RunResolutionErrorCode } from '../../run/run-errors.ts';
10
+ export type { RunInvocationTimingOptions } from '../../run/run-timing-collection.ts';
10
11
  export type { RuntimeDimensions, RuntimeId, WorkId, WorkloadId } from '../../engine/identity.ts';
11
12
  export type { DynamicWorkUnitId, PlacementTrace, PlacementTraceEntry, TraceWorkUnitId } from '../../run/placement-trace.ts';
12
- export type { CollectedRunCase, CollectedRunFile, CollectedRunPlan, ExecutorDescriptor, PlacementAssignment, PlacementLane, PlacementPlan, ResolvedRun, ResolvedRunPlan, RunCaseFacts, RunCommand, RunConfig, RunDebugRequest, RunEngineFacts, RunEngineSelection, RunEnvironmentFacts, RunExecutionRequest, RunFacts, RunFilter, RunExecutionFacts, RunHostProcess, RunHostProcessFacts, RunHostProcessReason, RunIntegrationExecution, RunIntegrationProfileConfig, RunLoaderConfig, RunMicrotestExecution, RunMicrotestProfileConfig, RunOrder, RunOrchestrator, RunProcessModel, RunProfileConfig, RunProfileFiles, RunProfilesConfig, RunResourceBudgets, RunResourceUsagePolicy, RunReproducibilityFacts, RunRequest, RunScheduling, RunSeed, RunSelection, RunShard, RunStringFilterField, RunTestFamily, RunTimeoutPolicy, TimingCollectionMode, TimingCollectionOverride, TimingProfilePolicy, RunWorkDistribution, RunWorkGroup, RunWorkGroupGranularity, RunWorkGroupOrder, RunWorkGroupScheduling, RunWorkGroupWorkerLifecycle, RunWorkerPoolAssignmentPolicy, RunWorkerPoolDispatchPolicy, RunWorkerPoolHedgingPolicy, RunWorkerLifecycle, SerializedValue, DuplicateExecutionSafety, WorkUnitId, WorkUnit, WorkUnitMode } from '../../run/run-types.ts';
13
+ export type { CollectedRunCase, CollectedRunFile, CollectedRunPlan, ExecutorDescriptor, PlacementAssignment, PlacementLane, PlacementPlan, ResolvedRun, ResolvedRunPlan, RunCaseFacts, RunCommand, RunConfig, RunDebugRequest, RunEngineFacts, RunEngineSelection, RunEnvironmentFacts, RunExecutionRequest, RunFacts, RunFilter, RunExecutionFacts, RunHostProcess, RunHostProcessFacts, RunHostProcessReason, RunIntegrationExecution, RunIntegrationProfileConfig, RunLoaderConfig, RunMicrotestExecution, RunMicrotestProfileConfig, RunOrder, RunOrchestrator, RunProcessModel, RunProfileConfig, RunProfileFiles, RunProfilesConfig, RunResourceBudgets, RunResourceUsagePolicy, RunReproducibilityFacts, RunRequest, RunScheduling, RunSeed, RunSelection, RunShard, RunStringFilterField, RunTestFamily, RunTimeoutPolicy, TimingCollectionMode, TimingCollectionOverride, TimingProfilePolicy, RunWorkDistribution, RunWorkGroup, RunWorkGroupGranularity, RunWorkGroupOrder, RunWorkGroupScheduling, RunWorkGroupWorkerLifecycle, RunWorkerPoolAssignmentPolicy, RunWorkerPoolDispatchPolicy, RunWorkerPoolHedgingPolicy, RunWorkerCountFacts, RunWorkerLifecycle, SerializedValue, DuplicateExecutionSafety, WorkUnitId, WorkUnit, WorkUnitMode } from '../../run/run-types.ts';
13
14
  //# sourceMappingURL=run.entry-point.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,SAAS,8CAgBpB,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EACH,YAAY,EACZ,aAAa,EACb,cAAc,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACR,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,EACvB,iCAAiC,EACpC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,SAAS,EACT,qBAAqB,EACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACR,wBAAwB,EACxB,oCAAoC,EACvC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjG,YAAY,EACR,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,eAAe,EAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,YAAY,EACf,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"run.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,SAAS,8CAgBpB,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EACH,YAAY,EACZ,aAAa,EACb,cAAc,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACR,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,EACvB,iCAAiC,EACpC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,SAAS,EACT,qBAAqB,EACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACR,wBAAwB,EACxB,oCAAoC,EACvC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjG,YAAY,EACR,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,eAAe,EAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,YAAY,EACf,MAAM,wBAAwB,CAAC"}
package/readme.md CHANGED
@@ -168,9 +168,15 @@ by default, or run as plain file units with profile defaults when
168
168
  `PlacementPlan`: work units, resolved per-unit policy, local worker lanes, and
169
169
  the deterministic initial lane assignment used by execution. Worker-pool
170
170
  placement defaults to `assignmentPolicy: 'case-count-balanced'`, which places
171
- larger selected work units first and balances lane load by selected case count.
171
+ larger selected work units first and balances lane load by selected case count
172
+ and resource capacity weight.
172
173
  Use `assignmentPolicy: 'stable'` to preserve source-order round-robin
173
174
  placement.
175
+ Worker-pool size defaults to one fewer than host parallelism, with a minimum of
176
+ one and a maximum of eight. The planner caps that target by host parallelism,
177
+ `execution.maxWorkers`, and the work-unit count. `RunRequest.workers` replaces
178
+ the automatic target before those caps are applied. Resolved worker-count facts
179
+ are recorded in `RunFacts.execution.workerCount`.
174
180
  `dispatchPolicy: 'dynamic-lease'` is the default worker-pool dispatch policy.
175
181
  It leases pending work to compatible idle lanes and may split eligible
176
182
  not-started units along `WorkId` boundaries. Split children keep derived trace
@@ -1 +1 @@
1
- {"version":3,"file":"command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAyB,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AAC/F,OAAO,KAAK,EACR,eAAe,EACf,oBAAoB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIH,KAAK,2BAA2B,EAEhC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,IAAI,4BAA4B,EAC/D,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,qCAAqC,CAAC;AAS7C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAChG,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAEnE,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,GAAG;IACpE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC;AA+JF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,6BAA6B,GAAG,iBAAiB,CAyBtG;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,eAAe,CAAC,CAExE"}
1
+ {"version":3,"file":"command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAyB,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AAC/F,OAAO,KAAK,EACR,eAAe,EACf,oBAAoB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIH,KAAK,2BAA2B,EAEhC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,IAAI,4BAA4B,EAC/D,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,qCAAqC,CAAC;AAc7C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAChG,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAEnE,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,GAAG;IACpE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC;AAiKF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,6BAA6B,GAAG,iBAAiB,CAkCtG;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,eAAe,CAAC,CAExE"}
@@ -4,6 +4,7 @@ import { createUnimplementedCommand } from "./command-line-unimplemented-command
4
4
  import { selectCommandLineReporterFallback } from "./run-reporter-resolution.js";
5
5
  import { renderResolvedRunList } from "./run-list-renderer.js";
6
6
  import { createDefaultDirectReporter } from "./default-direct-reporter.js";
7
+ import { createSystemRunTimingMeasurement, emptyTimingSpanMetadata } from "./run-timing-collection.js";
7
8
  async function loadCommandLineReporterFallback(fallback, dependencies) {
8
9
  if (fallback.kind === 'configured') {
9
10
  return fallback.reporters;
@@ -85,13 +86,14 @@ function createCommandFromListRequest(request, loadedConfig) {
85
86
  selection: request.listRequest.selection,
86
87
  shard: request.listRequest.shard,
87
88
  timingCollection: 'profile-default',
88
- verbose: false
89
+ verbose: false,
90
+ workers: null
89
91
  }
90
92
  };
91
93
  }
92
- async function runTestsWithLoadedConfig(request, dependencies, loadedConfig) {
94
+ async function runTestsWithLoadedConfig(request, dependencies, loadedConfig, options) {
93
95
  const command = await createCommandFromRequest(request, loadedConfig, dependencies);
94
- const runResult = await dependencies.orchestrator.runWithReporterDelivery(command);
96
+ const runResult = await dependencies.orchestrator.runWithReporterDelivery(command, options);
95
97
  return {
96
98
  exitCode: readExitCodeFromRunResult(runResult.result),
97
99
  fallbackDiagnostics: formatRunnerErrorDiagnostics(runResult.undeliveredRunnerErrors),
@@ -137,9 +139,12 @@ export function createCommandLineRunner(dependencies) {
137
139
  replayRun: createUnimplementedCommand('replay'),
138
140
  replayWitness: createUnimplementedCommand('replay-witness'),
139
141
  async runTests(request) {
142
+ const timing = createSystemRunTimingMeasurement();
140
143
  try {
141
- const loadedConfig = await dependencies.loadRunConfig(request);
142
- return await runTestsWithLoadedConfig(request, dependencies, loadedConfig);
144
+ const loadedConfig = await timing.measureAsync('config.load', emptyTimingSpanMetadata(), async function loadRunTestsConfig() {
145
+ return await dependencies.loadRunConfig(request);
146
+ });
147
+ return await runTestsWithLoadedConfig(request, dependencies, loadedConfig, { timing });
143
148
  }
144
149
  catch (error) {
145
150
  return createCommandLineErrorResultFromUnknown(error);
@@ -1 +1 @@
1
- {"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { RunResult } from '../engine/run-result.ts';
2
2
  import type { DurationHistoryInput, DurationHistoryObservation, ResolvedRun, WorkId, WorkUnit } from './run-types.ts';
3
+ import { type RunTimingMeasurement } from './run-timing-collection.ts';
3
4
  declare const indexVersion = 1;
4
5
  export type DurationHistoryIndex = {
5
6
  readonly entries: readonly DurationHistoryEntry[];
@@ -22,6 +23,14 @@ export declare function readDurationHistoryIndex(store: DurationHistoryStore, pr
22
23
  export declare function selectDurationHistoryPlacement(units: readonly WorkUnit[], index: DurationHistoryIndex | null, nowMilliseconds: number): DurationHistoryPlacement;
23
24
  export declare function mergeDurationHistoryIndex(index: DurationHistoryIndex | null, observations: readonly DurationHistoryEntry[], updatedAt: string): DurationHistoryIndex;
24
25
  export declare function resultWithUpdatedDurationHistory(store: DurationHistoryStore, resolvedRun: ResolvedRun, result: RunResult, completedAtMilliseconds: number): Promise<RunResult>;
25
- export declare function resultWithUpdatedDurationHistoryAndTiming(store: DurationHistoryStore, resolvedRun: ResolvedRun, result: RunResult, completedAtMilliseconds: number): Promise<RunResult>;
26
+ export type DurationHistoryTimingMeasurement = RunTimingMeasurement;
27
+ export type TimedDurationHistoryResultInput = {
28
+ readonly completedAtMilliseconds: number;
29
+ readonly resolvedRun: ResolvedRun;
30
+ readonly result: RunResult;
31
+ readonly store: DurationHistoryStore;
32
+ readonly timing: DurationHistoryTimingMeasurement | null;
33
+ };
34
+ export declare function resultWithUpdatedDurationHistoryAndTiming(input: TimedDurationHistoryResultInput): Promise<RunResult>;
26
35
  export {};
27
36
  //# sourceMappingURL=duration-history.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"duration-history.d.ts","sourceRoot":"","sources":["../../../../source/run/duration-history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAErF,OAAO,KAAK,EACR,oBAAoB,EACpB,0BAA0B,EAE1B,WAAW,EACX,MAAM,EACN,QAAQ,EACX,MAAM,gBAAgB,CAAC;AAGxB,QAAA,MAAM,YAAY,IAAI,CAAC;AAiBvB,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,YAAY,CAAC;CACzC,CAAC;AAEF,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,YAAY,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,CAAC;AAIF,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE,CAAC;AAoJF,wBAAsB,wBAAwB,CAC1C,KAAK,EAAE,oBAAoB,EAC3B,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAKtC;AAwJD,wBAAgB,8BAA8B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,KAAK,EAAE,oBAAoB,GAAG,IAAI,EAClC,eAAe,EAAE,MAAM,GACxB,wBAAwB,CAkC1B;AA6CD,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,oBAAoB,GAAG,IAAI,EAClC,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAC7C,SAAS,EAAE,MAAM,GAClB,oBAAoB,CAuBtB;AAoBD,wBAAsB,gCAAgC,CAClD,KAAK,EAAE,oBAAoB,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS,EACjB,uBAAuB,EAAE,MAAM,GAChC,OAAO,CAAC,SAAS,CAAC,CAyBpB;AAED,wBAAsB,yCAAyC,CAC3D,KAAK,EAAE,oBAAoB,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS,EACjB,uBAAuB,EAAE,MAAM,GAChC,OAAO,CAAC,SAAS,CAAC,CAKpB"}
1
+ {"version":3,"file":"duration-history.d.ts","sourceRoot":"","sources":["../../../../source/run/duration-history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAErF,OAAO,KAAK,EACR,oBAAoB,EACpB,0BAA0B,EAE1B,WAAW,EACX,MAAM,EACN,QAAQ,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEH,KAAK,oBAAoB,EAC5B,MAAM,4BAA4B,CAAC;AAEpC,QAAA,MAAM,YAAY,IAAI,CAAC;AAiBvB,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,YAAY,CAAC;CACzC,CAAC;AAEF,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,YAAY,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,CAAC;AAIF,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE,CAAC;AAoJF,wBAAsB,wBAAwB,CAC1C,KAAK,EAAE,oBAAoB,EAC3B,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAKtC;AAwJD,wBAAgB,8BAA8B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,KAAK,EAAE,oBAAoB,GAAG,IAAI,EAClC,eAAe,EAAE,MAAM,GACxB,wBAAwB,CAkC1B;AA6CD,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,oBAAoB,GAAG,IAAI,EAClC,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAC7C,SAAS,EAAE,MAAM,GAClB,oBAAoB,CAuBtB;AAoBD,wBAAsB,gCAAgC,CAClD,KAAK,EAAE,oBAAoB,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS,EACjB,uBAAuB,EAAE,MAAM,GAChC,OAAO,CAAC,SAAS,CAAC,CAyBpB;AAED,MAAM,MAAM,gCAAgC,GAAG,oBAAoB,CAAC;AAEpE,MAAM,MAAM,+BAA+B,GAAG;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,gCAAgC,GAAG,IAAI,CAAC;CAC5D,CAAC;AAEF,wBAAsB,yCAAyC,CAC3D,KAAK,EAAE,+BAA+B,GACvC,OAAO,CAAC,SAAS,CAAC,CAWpB"}
@@ -359,7 +359,7 @@ export async function resultWithUpdatedDurationHistory(store, resolvedRun, resul
359
359
  };
360
360
  }
361
361
  }
362
- export async function resultWithUpdatedDurationHistoryAndTiming(store, resolvedRun, result, completedAtMilliseconds) {
363
- return resultWithResolvedTimingCollection(resolvedRun, await resultWithUpdatedDurationHistory(store, resolvedRun, result, completedAtMilliseconds));
362
+ export async function resultWithUpdatedDurationHistoryAndTiming(input) {
363
+ return resultWithResolvedTimingCollection(input.resolvedRun, await resultWithUpdatedDurationHistory(input.store, input.resolvedRun, input.result, input.completedAtMilliseconds), input.timing);
364
364
  }
365
365
  //# sourceMappingURL=duration-history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"duration-history.js","sourceRoot":"","sources":["../../../../source/run/duration-history.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AASrD,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAEhF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC,MAAM,qBAAqB,GAAG,aAAa;IACvC,WAAW;IACX,cAAc;IACd,gBAAgB;IAChB,qBAAqB,CAAC;AAC1B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,wBAAwB,GAAG,CAAE,kBAAkB,EAAE,qBAAqB,CAAE,CAAC;AA6B/E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEvE,MAAM,YAAY,GAAG,CAAC;KACjB,YAAY,CAAC;IACV,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,MAAM,eAAe,GAAG,CAAC;KACpB,YAAY,CAAC;IACV,UAAU,EAAE,kBAAkB;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,MAAM,gBAAgB,GAAG,CAAC;KACrB,YAAY,CAAC;IACV,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,kBAAkB;CAC7B,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,MAAM,YAAY,GAAG,CAAC;KACjB,YAAY,CAAC;IACV,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,MAAM,cAAc,GAAG,CAAC;KACnB,YAAY,CAAC;IACV,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACvB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAE,CAAC;IACrE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAE,CAAC;IACzE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAE,CAAC,CAAC,QAAQ,EAAE;CAClG,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,MAAM,wBAAwB,GAAG,CAAC;KAC7B,YAAY,CAAC;IACV,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC/C,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,MAAM,uBAAuB,GAAG,CAAC;KAC5B,YAAY,CAAC;IACV,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC/C,CAAC;KACD,QAAQ,EAAE;KACV,SAAS,CAAC,SAAS,wBAAwB,CAAC,WAAW;IACpD,OAAO;QACH,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,GAAG,0BAA0B;QACnF,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,UAAU,EAAE,WAAW,CAAC,UAAU;KACrC,CAAC;AACN,CAAC,CAAC,CAAC;AAEP,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAE,wBAAwB,EAAE,uBAAuB,CAAE,CAAC,CAAC;AAEzF,MAAM,WAAW,GAAG,CAAC;KAChB,YAAY,CAAC;IACV,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,YAAY;CACrB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,MAAM,WAAW,GAAG,CAAC;KAChB,YAAY,CAAC;IACV,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;CACnC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEhB,SAAS,uBAAuB,CAAC,WAAmB,EAAE,eAAuB;IACzE,OAAO,IAAI,CAAC,IAAI,CACZ,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAC5F,GAAG,wBAAwB,CAC9B,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAAc;IACtD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;IAE1E,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC7C,OAAO;QACH,YAAY,EAAE,IAAI;QAClB,KAAK;QACL,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,mCAAmC;QAC5C,OAAO,EAAE,eAAe;KAC3B,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,QAAgB;IAChD,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC,uCAAuC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;IACvF,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe,EAAE,QAAgB;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,iBAAiB,CAAC,uBAAuB,QAAQ,4BAA4B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACvG,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACrC,KAA2B,EAC3B,QAAgB;IAEhB,IAAI,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC,sCAAsC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,KAA2B,EAC3B,WAAmB,EACnB,eAAuB;IAEvB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAElE,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClD,CAAC;IAED,OAAO,IACH,MAAM;SACD,IAAI,CAAC,KAAK,CAAC;SACX,QAAQ,CAAC,SAAS,UAAU,CAAC,IAAI,EAAE,KAAK;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;SACD,GAAG,CAAC,SAAS,OAAO,CAAC,GAAG;QACrB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CACjB,GAAG,CAAC;AACR,CAAC;AAED,MAAM,eAAe,GAA6B,UAAU,CAAC;AAE7D,SAAS,cAAc,CAAC,oBAA4B;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAuC;IACnE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEpD,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,YAAoB;IACtC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzC,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,eAAuB;IAC7C,OAAO,SAAS,kBAAkB,CAAC,WAAW;QAC1C,MAAM,UAAU,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAEvD,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9B,UAAU,IAAI,eAAe;YAC7B,eAAe,GAAG,UAAU,IAAI,qBAAqB;YACrD,cAAc,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAC7B,YAAmD;IAEnD,OAAO,YAAY;SACd,QAAQ,CAAC,SAAS,iBAAiB,CAAC,IAAI,EAAE,KAAK;QAC5C,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAEhF,OAAO,UAAU,KAAK,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB;YACxD,CAAC,CAAC,UAAU,CAAC;IACrB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,MAAM,CAAC,MAAyB;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,aAAa,CAAC,IAAI,EAAE,KAAK;QAC7D,OAAO,IAAI,GAAG,KAAK,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,WAAW,CAAC,GAAG,iBAAiB,CAAC;AACnF,CAAC;AAED,SAAS,eAAe,CAAC,KAA2B,EAAE,eAAuB;IACzE,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5G,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,WAAW;YACzE,OAAO,WAAW,CAAC,oBAAoB,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY;QACZ,WAAW,EAAE,YAAY,CAAC,MAAM;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;KACnB,CAAC;AACN,CAAC;AAID,SAAS,oBAAoB,CAAC,KAA2B,EAAE,eAAuB;IAC9E,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAEvD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAE,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC5C,OAAO,KAAK,KAAK,IAAI,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CACrB,KAA2B,EAC3B,eAAuB;IAEvB,OAAO,IAAI,GAAG,CACV,KAAK;SACA,OAAO;SACP,GAAG,CAAC,SAAS,aAAa,CAAC,KAAK;QAC7B,OAAO,oBAAoB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC,CAAC;SACD,MAAM,CAAC,aAAa,CAAC,CAC7B,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,KAA0B;IAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,OAAyC,EAAE,eAAuB;IACrF,OAAO;QACH,WAAW,EAAE,YAAY,CAAC,eAAe,CAAC;QAC1C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,aAAa,CAAC,IAAI,EAAE,KAAK;YACxD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC;QACF,MAAM,EAAE,qBAAqB;KAChC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC1C,KAA0B,EAC1B,KAAkC,EAClC,eAAuB;IAEvB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,QAAQ,CAAC,IAAI;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAElD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,MAAM,CAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAChG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,MAAM;QACzE,OAAO,MAAM,CAAC,oBAAoB,CAAC;IACvC,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM;QACxE,OAAO,CAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAE,CAAC;IACzE,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO;QACH,KAAK,EAAE,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC;QACrD,YAAY,CAAC,IAAI;YACb,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,WAAW,CAAC,KAAK,EAAE,IAAI;gBAClE,OAAO,KAAK,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC;YACtF,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,OAAO,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;QAClE,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAwB;IAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;IAExC,OAAO;QACH,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,eAAe,EAAE,SAAS,CAAC,YAAY,KAAK,aAAa;YACrD,CAAC,CAAC,SAAS,CAAC,eAAe;YAC3B,CAAC,CAAC,IAAI;KACb,CAAC;AACN,CAAC;AAED,SAAS,qCAAqC,CAC1C,WAAwB,EACxB,MAA6B,EAC7B,UAAkB;IAElB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,UAAU;QAC3D,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,CAAE;gBACL,YAAY,EAAE,CAAE;wBACZ,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;wBACrD,QAAQ;wBACR,UAAU;qBACb,CAAE;gBACH,IAAI,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAE,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAwC;IAC9D,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,KAAK;QAC7C,OAAO,CAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAE,CAAC;IAClD,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,KAAkC,EAClC,YAA6C,EAC7C,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhE,KAAK,MAAM,gBAAgB,IAAI,YAAY,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;YACb,YAAY,EAAE,wBAAwB,CAAC;gBACnC,GAAG,gBAAgB,CAAC,YAAY;gBAChC,GAAG,QAAQ,EAAE,YAAY,IAAI,EAAE;aAClC,CAAC;YACF,IAAI,EAAE,gBAAgB,CAAC,IAAI;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,YAAY,CAAC,IAAI,EAAE,KAAK;YAC5E,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC;QACF,SAAS;QACT,OAAO,EAAE,YAAY;KACxB,CAAC;AACN,CAAC;AAED,SAAS,6BAA6B,CAAC,KAA2B;IAC9D,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,yBAAyB,CACpC,KAA2B,EAC3B,WAAwB,EACxB,KAA2B;IAE3B,MAAM,KAAK,CAAC,KAAK,CACb,uBAAuB,CACnB,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EACzC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAChD,EACD,6BAA6B,CAAC,KAAK,CAAC,CACvC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAClD,KAA2B,EAC3B,WAAwB,EACxB,MAAiB,EACjB,uBAA+B;IAE/B,MAAM,UAAU,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,qCAAqC,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5F,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAC/C,KAAK,EACL,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EACzC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAChD,CAAC;QACF,MAAM,SAAS,GAAG,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAEpF,MAAM,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAE/D,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,OAAO;YACH,GAAG,MAAM;YACT,YAAY,EAAE,CAAE,GAAG,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAE;SAC7E,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAC3D,KAA2B,EAC3B,WAAwB,EACxB,MAAiB,EACjB,uBAA+B;IAE/B,OAAO,kCAAkC,CACrC,WAAW,EACX,MAAM,gCAAgC,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAC9F,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"duration-history.js","sourceRoot":"","sources":["../../../../source/run/duration-history.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url';
4
4
  import { childProcessEntryPointUrl } from "./child-process.entry-point.js";
5
5
  import { runFileSystem } from "./node-run-dependencies.entry-point.js";
6
6
  import { createSupervisedChildProcessStarter } from "./supervised-child-process.js";
7
- import { createWorkerPoolHostProcessStarter } from "./worker-pool-host-process.js";
7
+ import { createWorkerPoolHostProcessStarter } from "./worker-pool-host-process-starter.js";
8
8
  const childProcessEntryPoint = fileURLToPath(childProcessEntryPointUrl);
9
9
  const childPackageRoot = dirname(dirname(childProcessEntryPoint));
10
10
  function forkSupervisedChildProcess(modulePath, childArguments, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"node-child-process-starters.js","sourceRoot":"","sources":["../../../../source/run/node-child-process-starters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACH,yBAAyB,EAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,aAAa,EAChB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,mCAAmC,EAEtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,kCAAkC,EACrC,MAAM,+BAA+B,CAAC;AAEvC,MAAM,sBAAsB,GAAG,aAAa,CAAC,yBAAyB,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AASlE,SAAS,0BAA0B,CAC/B,UAAkB,EAClB,cAAiC,EACjC,OAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACvD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC;IAEH,OAAO;QACH,IAAI,QAAQ;YACR,OAAO,KAAK,CAAC,QAAQ,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM;YACP,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,EAAE,CAAC,GAAG,YAAY;YACd,MAAM,CAAE,KAAK,EAAE,QAAQ,CAAE,GAAG,YAAY,CAAC;YAEzC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,GAAG;YACH,OAAO,KAAK,CAAC,GAAG,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,OAAO;YACR,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU;YACV,OAAO,KAAK,CAAC,UAAU,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;IACpE,gBAAgB;IAChB,sBAAsB;IACtB,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kCAAkC,CAAC;IAClE,sBAAsB;IACtB,IAAI,EAAE,0BAA0B;CACnC,CAAC,CAAC"}
1
+ {"version":3,"file":"node-child-process-starters.js","sourceRoot":"","sources":["../../../../source/run/node-child-process-starters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACH,yBAAyB,EAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,aAAa,EAChB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,mCAAmC,EAEtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,kCAAkC,EACrC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,sBAAsB,GAAG,aAAa,CAAC,yBAAyB,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AASlE,SAAS,0BAA0B,CAC/B,UAAkB,EAClB,cAAiC,EACjC,OAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACvD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC;IAEH,OAAO;QACH,IAAI,QAAQ;YACR,OAAO,KAAK,CAAC,QAAQ,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM;YACP,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,EAAE,CAAC,GAAG,YAAY;YACd,MAAM,CAAE,KAAK,EAAE,QAAQ,CAAE,GAAG,YAAY,CAAC;YAEzC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,GAAG;YACH,OAAO,KAAK,CAAC,GAAG,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,OAAO;YACR,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU;YACV,OAAO,KAAK,CAAC,UAAU,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;IACpE,gBAAgB;IAChB,sBAAsB;IACtB,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kCAAkC,CAAC;IAClE,sBAAsB;IACtB,IAAI,EAAE,0BAA0B;CACnC,CAAC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { workIdentityKey } from "../engine/identity.js";
2
+ const resourceScopeValues = [
3
+ 'per-case',
4
+ 'per-file',
5
+ 'per-run',
6
+ 'per-suite',
7
+ 'shared-per-worker'
8
+ ];
9
+ export const resourceScopes = new Set(resourceScopeValues);
10
+ const resourceScopeTexts = new Set(resourceScopeValues);
11
+ function isResourceScope(scope) {
12
+ return resourceScopeTexts.has(scope);
13
+ }
14
+ function suiteBoundary(testCase) {
15
+ return JSON.stringify(testCase.id.suite);
16
+ }
17
+ function resourceBoundaryForCase(resourceName, scope, testCase) {
18
+ return scope === 'shared-per-worker'
19
+ ? { key: `worker:${resourceName}`, scope }
20
+ : { key: `case:${workIdentityKey(testCase.workId)}:${resourceName}`, scope };
21
+ }
22
+ function resourceBoundary(resourceName, scope, testCase) {
23
+ const file = testCase.id.file ?? '<no-file>';
24
+ if (scope === 'per-run') {
25
+ return { key: `run:${resourceName}`, scope };
26
+ }
27
+ if (scope === 'per-file') {
28
+ return { key: `file:${file}:${resourceName}`, scope };
29
+ }
30
+ if (scope === 'per-suite') {
31
+ return { key: `suite:${file}:${suiteBoundary(testCase)}:${resourceName}`, scope };
32
+ }
33
+ return resourceBoundaryForCase(resourceName, scope, testCase);
34
+ }
35
+ function caseResourceBoundaries(testCase) {
36
+ const boundaryEntries = testCase.resourceAttachments.resourceGraph.flatMap(function toBoundaryEntry(resource) {
37
+ if (!isResourceScope(resource.scope)) {
38
+ return [];
39
+ }
40
+ const boundary = resourceBoundary(resource.name, resource.scope, testCase);
41
+ return [[boundary.key, boundary]];
42
+ });
43
+ const boundaries = new Map(boundaryEntries);
44
+ return Array.from(boundaries.values());
45
+ }
46
+ function initialBoundaryUseCounts(testCases) {
47
+ const counts = new Map();
48
+ for (const testCase of testCases) {
49
+ for (const boundary of caseResourceBoundaries(testCase)) {
50
+ counts.set(boundary.key, (counts.get(boundary.key) ?? 0) + 1);
51
+ }
52
+ }
53
+ return counts;
54
+ }
55
+ export function initialBoundaryUseCountsFromRecords(counts) {
56
+ return new Map(counts.map(function toEntry(count) {
57
+ return [count.boundaryKey, count.count];
58
+ }));
59
+ }
60
+ export function resourceLifecycleBoundaryUseCounts(testCases) {
61
+ return Array.from(initialBoundaryUseCounts(testCases), function toCount([boundaryKey, count]) {
62
+ return { boundaryKey, count };
63
+ });
64
+ }
65
+ export function caseResourceBoundaryKeys(testCase, scopes) {
66
+ return caseResourceBoundaries(testCase).flatMap(function toBoundaryKey(boundary) {
67
+ return scopes.has(boundary.scope) ? [boundary.key] : [];
68
+ });
69
+ }
70
+ export function boundaryFor(resource, testCase) {
71
+ return resourceBoundary(resource.name, resource.scope, testCase);
72
+ }
73
+ //# sourceMappingURL=resource-lifecycle-boundaries.js.map
@@ -0,0 +1 @@
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,48 @@
1
+ import { resourceWrapperLifecycleError } from "./resource-lifecycle-error.js";
2
+ function isProjectionScalar(value) {
3
+ return value === null ||
4
+ typeof value === 'string' ||
5
+ typeof value === 'boolean' ||
6
+ typeof value === 'number' && Number.isFinite(value);
7
+ }
8
+ function isProjectionObject(value) {
9
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
10
+ }
11
+ function isProjectionPayload(value) {
12
+ if (isProjectionScalar(value)) {
13
+ return true;
14
+ }
15
+ if (Array.isArray(value)) {
16
+ return value.every(isProjectionPayload);
17
+ }
18
+ return isProjectionObject(value) &&
19
+ Object.values(value).every(isProjectionPayload);
20
+ }
21
+ function resourceHasProjection(resource) {
22
+ return typeof resource.serializeHandle === 'function' &&
23
+ typeof resource.deserializeHandle === 'function';
24
+ }
25
+ export function deserializeProjectedHandle(resource, payload, dependencyContext) {
26
+ if (!resourceHasProjection(resource)) {
27
+ throw resourceWrapperLifecycleError(`Resource "${resource.name}" requires a projection for worker-pool per-run ownership.`, resource);
28
+ }
29
+ return resource.deserializeHandle(payload, { dependencies: dependencyContext });
30
+ }
31
+ export function serializeProjectedHandle(resource, ownerHandle, dependencyContext) {
32
+ if (!resourceHasProjection(resource)) {
33
+ return null;
34
+ }
35
+ const context = { dependencies: dependencyContext };
36
+ const payload = resource.serializeHandle(ownerHandle, context);
37
+ if (!isProjectionPayload(payload)) {
38
+ throw resourceWrapperLifecycleError(`Resource "${resource.name}" returned a non-JSON projection payload.`, payload);
39
+ }
40
+ return payload;
41
+ }
42
+ export function projectedHandle(resource, ownerHandle, dependencyContext) {
43
+ const payload = serializeProjectedHandle(resource, ownerHandle, dependencyContext);
44
+ return payload === null
45
+ ? ownerHandle
46
+ : deserializeProjectedHandle(resource, payload, dependencyContext);
47
+ }
48
+ //# sourceMappingURL=resource-lifecycle-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-lifecycle-projection.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-projection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAsB9E,SAAS,kBAAkB,CAAC,KAAc;IACtC,OAAO,KAAK,KAAK,IAAI;QACjB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACvC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA+B;IAC1D,OAAO,OAAO,QAAQ,CAAC,eAAe,KAAK,UAAU;QACjD,OAAO,QAAQ,CAAC,iBAAiB,KAAK,UAAU,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,QAA+B,EAC/B,OAAkC,EAClC,iBAA+C;IAE/C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,6BAA6B,CAC/B,aAAa,QAAQ,CAAC,IAAI,4DAA4D,EACtF,QAAQ,CACX,CAAC;IACN,CAAC;IAED,OAAO,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,QAA+B,EAC/B,WAAoB,EACpB,iBAA+C;IAE/C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE/D,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,6BAA6B,CAC/B,aAAa,QAAQ,CAAC,IAAI,2CAA2C,EACrE,OAAO,CACV,CAAC;IACN,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,QAA+B,EAC/B,WAAoB,EACpB,iBAA+C;IAE/C,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAEnF,OAAO,OAAO,KAAK,IAAI;QACnB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,177 @@
1
+ import { workIdentityKey } from "../engine/identity.js";
2
+ import { resourceEntries } from "../resources/resource-graph.js";
3
+ import { boundaryFor, initialBoundaryUseCountsFromRecords } from "./resource-lifecycle-boundaries.js";
4
+ import { resourceWrapperLifecycleError } from "./resource-lifecycle-error.js";
5
+ import { acquireResourceWithStartupBudget } from "./resource-lifecycle-startup-budget.js";
6
+ import { deserializeProjectedHandle, projectedHandle, serializeProjectedHandle } from "./resource-lifecycle-projection.js";
7
+ function caseKey(testCase) {
8
+ return workIdentityKey(testCase.workId);
9
+ }
10
+ function mutableDependencyContext() {
11
+ return {};
12
+ }
13
+ export function createManagedStores(options) {
14
+ const acquisitions = new Map();
15
+ const boundaryUseCounts = new Map(initialBoundaryUseCountsFromRecords(options.boundaryUseCounts));
16
+ const errorsByCase = new Map();
17
+ const records = new Map();
18
+ const runErrors = [];
19
+ return {
20
+ deleteAcquisition(boundaryKey) {
21
+ acquisitions.delete(boundaryKey);
22
+ },
23
+ deleteRecord(boundaryKey) {
24
+ records.delete(boundaryKey);
25
+ },
26
+ async existingAcquisition(boundaryKey) {
27
+ return await (acquisitions.get(boundaryKey) ?? Promise.resolve(null));
28
+ },
29
+ existingRecord(boundaryKey) {
30
+ return records.get(boundaryKey);
31
+ },
32
+ recordCaseError(testCase, message, cause) {
33
+ const key = caseKey(testCase);
34
+ const errors = errorsByCase.get(key) ?? [];
35
+ errors.push(resourceWrapperLifecycleError(message, cause).runnerError(testCase.id, testCase.workId));
36
+ errorsByCase.set(key, errors);
37
+ },
38
+ remainingBoundaryUses(boundaryKey) {
39
+ const remaining = (boundaryUseCounts.get(boundaryKey) ?? 0) - 1;
40
+ boundaryUseCounts.set(boundaryKey, remaining);
41
+ return remaining;
42
+ },
43
+ rememberAcquisition(boundaryKey, acquisition) {
44
+ acquisitions.set(boundaryKey, acquisition);
45
+ },
46
+ rememberRecord(boundaryKey, record) {
47
+ records.set(boundaryKey, record);
48
+ },
49
+ records() {
50
+ return Array.from(records.values());
51
+ },
52
+ takeCaseErrors(testCase) {
53
+ const key = caseKey(testCase);
54
+ const errors = errorsByCase.get(key) ?? [];
55
+ errorsByCase.delete(key);
56
+ return errors;
57
+ },
58
+ takePendingRunErrors() {
59
+ const errors = Array.from(runErrors);
60
+ runErrors.length = 0;
61
+ return errors;
62
+ },
63
+ takeRunErrors() {
64
+ const errors = Array.from(runErrors);
65
+ runErrors.length = 0;
66
+ return errors;
67
+ }
68
+ };
69
+ }
70
+ export function resourceProjectionRecordsFromStores(stores) {
71
+ return {
72
+ resources: stores.records().flatMap(function toProjectionRecord(record) {
73
+ const payload = serializeProjectedHandle(record.descriptor, record.ownerHandle, record.dependencyContext);
74
+ return payload === null
75
+ ? []
76
+ : [{ boundaryKey: record.boundary.key, payload }];
77
+ })
78
+ };
79
+ }
80
+ function assertCompatibleResource(stores, boundary, resource) {
81
+ const record = stores.existingRecord(boundary.key);
82
+ if (record !== undefined && record.descriptor !== resource) {
83
+ throw resourceWrapperLifecycleError(`Resource name "${resource.name}" is used by multiple descriptors in one lifecycle boundary.`, resource);
84
+ }
85
+ }
86
+ function projectionRecords(records) {
87
+ return new Map(records.resources.map(function toEntry(record) {
88
+ return [record.boundaryKey, record.payload];
89
+ }));
90
+ }
91
+ export function createManagedResourceAcquirer(stores, options) {
92
+ const externalProjections = projectionRecords(options.projectedResources);
93
+ let acquireResource = async function acquireBeforeReady() {
94
+ throw resourceWrapperLifecycleError('Resource lifecycle is not ready.', null);
95
+ };
96
+ async function acquireDependencyContext(resource, testCase, signal) {
97
+ const context = mutableDependencyContext();
98
+ await Promise.all(resourceEntries(resource.dependencies).map(async function acquireDependency([key, dependency]) {
99
+ const record = await acquireResource(dependency, testCase, signal);
100
+ context[key] = record.exposedHandle;
101
+ }));
102
+ return Object.freeze(context);
103
+ }
104
+ async function startResource(resource, boundary, testCase, signal) {
105
+ const dependencyContext = await acquireDependencyContext(resource, testCase, signal);
106
+ const acquireHandle = async function acquireResourceHandle() {
107
+ return await acquireResourceWithStartupBudget(resource, {
108
+ dependencies: dependencyContext,
109
+ signal
110
+ });
111
+ };
112
+ const ownerHandle = options.timing === null
113
+ ? await acquireHandle()
114
+ : await options.timing.measure({
115
+ phase: 'acquire',
116
+ resource: { name: resource.name, scope: resource.scope },
117
+ signal
118
+ }, acquireHandle);
119
+ const record = {
120
+ boundary,
121
+ dependencyContext,
122
+ descriptor: resource,
123
+ external: false,
124
+ exposedHandle: projectedHandle(resource, ownerHandle, dependencyContext),
125
+ ownerHandle
126
+ };
127
+ stores.rememberRecord(boundary.key, record);
128
+ return record;
129
+ }
130
+ async function startExternalResource(resource, boundary, testCase, signal) {
131
+ const payload = externalProjections.get(boundary.key);
132
+ if (payload === undefined) {
133
+ return null;
134
+ }
135
+ const dependencyContext = await acquireDependencyContext(resource, testCase, signal);
136
+ const record = {
137
+ boundary,
138
+ dependencyContext,
139
+ descriptor: resource,
140
+ external: true,
141
+ exposedHandle: deserializeProjectedHandle(resource, payload, dependencyContext),
142
+ ownerHandle: null
143
+ };
144
+ stores.rememberRecord(boundary.key, record);
145
+ return record;
146
+ }
147
+ async function acquireNewResource(resource, boundary, testCase, signal) {
148
+ const acquisition = startResource(resource, boundary, testCase, signal);
149
+ stores.rememberAcquisition(boundary.key, acquisition);
150
+ try {
151
+ return await acquisition;
152
+ }
153
+ catch (error) {
154
+ stores.deleteAcquisition(boundary.key);
155
+ throw error;
156
+ }
157
+ }
158
+ async function acquire(resource, testCase, signal) {
159
+ const boundary = boundaryFor(resource, testCase);
160
+ const existingRecord = stores.existingRecord(boundary.key);
161
+ assertCompatibleResource(stores, boundary, resource);
162
+ if (existingRecord !== undefined) {
163
+ return existingRecord;
164
+ }
165
+ const externalRecord = boundary.scope === 'per-run'
166
+ ? await startExternalResource(resource, boundary, testCase, signal)
167
+ : null;
168
+ if (externalRecord !== null) {
169
+ return externalRecord;
170
+ }
171
+ const existingAcquisition = await stores.existingAcquisition(boundary.key);
172
+ return existingAcquisition ?? await acquireNewResource(resource, boundary, testCase, signal);
173
+ }
174
+ acquireResource = acquire;
175
+ return { acquire };
176
+ }
177
+ //# sourceMappingURL=resource-lifecycle-session-acquirer.js.map