@overkill-dev/run 0.0.81 → 0.0.83

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 (276) hide show
  1. package/assertion-protocol/source-location.js +4 -0
  2. package/assertion-protocol/source-location.js.map +1 -1
  3. package/baselines/calibration-reference.js +10 -0
  4. package/baselines/calibration-reference.js.map +1 -0
  5. package/baselines/calibration-store.js +185 -0
  6. package/baselines/calibration-store.js.map +1 -0
  7. package/baselines/performance-adapter.d.ts +1 -1
  8. package/baselines/performance-adapter.d.ts.map +1 -1
  9. package/baselines/performance-baseline.d.ts +17 -3
  10. package/baselines/performance-baseline.d.ts.map +1 -1
  11. package/baselines/performance-baseline.js +13 -1
  12. package/baselines/performance-baseline.js.map +1 -1
  13. package/baselines/performance-evaluation.js +12 -11
  14. package/baselines/performance-evaluation.js.map +1 -1
  15. package/baselines/performance-observation.js +74 -0
  16. package/baselines/performance-observation.js.map +1 -0
  17. package/baselines/performance-plan.js +28 -2
  18. package/baselines/performance-plan.js.map +1 -1
  19. package/baselines/performance-schema.js +14 -1
  20. package/baselines/performance-schema.js.map +1 -1
  21. package/baselines/performance-store.js +2 -14
  22. package/baselines/performance-store.js.map +1 -1
  23. package/baselines/performance-workflow.js +18 -10
  24. package/baselines/performance-workflow.js.map +1 -1
  25. package/bench/benchmark-run-report.js +14 -5
  26. package/bench/benchmark-run-report.js.map +1 -1
  27. package/bench/benchmark-statistics-schema.d.ts +4 -0
  28. package/bench/benchmark-statistics-schema.d.ts.map +1 -0
  29. package/bench/benchmark-statistics-schema.js +40 -0
  30. package/bench/benchmark-statistics-schema.js.map +1 -0
  31. package/bench/calibration-evidence.js +80 -0
  32. package/bench/calibration-evidence.js.map +1 -0
  33. package/bench/calibration-machine.d.ts +14 -0
  34. package/bench/calibration-machine.d.ts.map +1 -0
  35. package/bench/calibration-machine.js +43 -0
  36. package/bench/calibration-machine.js.map +1 -0
  37. package/bench/calibration-report.d.ts +24 -0
  38. package/bench/calibration-report.d.ts.map +1 -0
  39. package/bench/calibration-report.js +28 -0
  40. package/bench/calibration-report.js.map +1 -0
  41. package/bench/cpu-reference-workload.d.ts +2 -0
  42. package/bench/cpu-reference-workload.d.ts.map +1 -0
  43. package/bench/cpu-reference-workload.js +12 -0
  44. package/bench/cpu-reference-workload.js.map +1 -0
  45. package/bench/host-calibration-result.d.ts +15 -0
  46. package/bench/host-calibration-result.d.ts.map +1 -0
  47. package/bench/timeline-schema.d.ts +43 -0
  48. package/bench/timeline-schema.d.ts.map +1 -0
  49. package/bench/timeline-schema.js +28 -0
  50. package/bench/timeline-schema.js.map +1 -0
  51. package/engine/assertion-recorder.d.ts +12 -0
  52. package/engine/assertion-recorder.d.ts.map +1 -0
  53. package/engine/async-control.d.ts.map +1 -1
  54. package/engine/async-control.js +10 -1
  55. package/engine/async-control.js.map +1 -1
  56. package/engine/async-leak-diagnostics.js +18 -7
  57. package/engine/async-leak-diagnostics.js.map +1 -1
  58. package/engine/benchmark-environment.d.ts +8 -0
  59. package/engine/benchmark-environment.d.ts.map +1 -0
  60. package/engine/benchmark-garbage-collection.d.ts +0 -5
  61. package/engine/benchmark-garbage-collection.d.ts.map +1 -1
  62. package/engine/benchmark-garbage-collection.js.map +1 -1
  63. package/engine/benchmark-node.d.ts +3 -2
  64. package/engine/benchmark-node.d.ts.map +1 -1
  65. package/engine/benchmark-node.js +9 -0
  66. package/engine/benchmark-node.js.map +1 -0
  67. package/engine/benchmark-result.d.ts +90 -1
  68. package/engine/benchmark-result.d.ts.map +1 -1
  69. package/engine/benchmark-result.js.map +1 -1
  70. package/engine/benchmark-timeline.d.ts +12 -0
  71. package/engine/benchmark-timeline.d.ts.map +1 -0
  72. package/engine/case-attempt-execution.js +25 -17
  73. package/engine/case-attempt-execution.js.map +1 -1
  74. package/engine/case-body-execution.js +140 -3
  75. package/engine/case-body-execution.js.map +1 -1
  76. package/engine/case-execution.d.ts.map +1 -1
  77. package/engine/case-execution.js +61 -189
  78. package/engine/case-execution.js.map +1 -1
  79. package/engine/case-interruption.js +26 -0
  80. package/engine/case-interruption.js.map +1 -0
  81. package/engine/execution-async-leak-policy.d.ts +3 -0
  82. package/engine/execution-async-leak-policy.d.ts.map +1 -0
  83. package/engine/execution-async-leak-policy.js +38 -23
  84. package/engine/execution-async-leak-policy.js.map +1 -1
  85. package/engine/execution-error-ownership.d.ts +6 -0
  86. package/engine/execution-error-ownership.d.ts.map +1 -0
  87. package/engine/execution-error-ownership.js +83 -0
  88. package/engine/execution-error-ownership.js.map +1 -0
  89. package/engine/execution-global-error-observer.d.ts +1 -4
  90. package/engine/execution-global-error-observer.d.ts.map +1 -1
  91. package/engine/execution-global-error-observer.js +41 -81
  92. package/engine/execution-global-error-observer.js.map +1 -1
  93. package/engine/execution-observation.js +212 -0
  94. package/engine/execution-observation.js.map +1 -0
  95. package/engine/execution-options.d.ts +9 -0
  96. package/engine/execution-options.d.ts.map +1 -1
  97. package/engine/execution-preparation.d.ts +13 -0
  98. package/engine/execution-preparation.d.ts.map +1 -0
  99. package/engine/execution-preparation.js +34 -0
  100. package/engine/execution-preparation.js.map +1 -0
  101. package/engine/execution-supervision-state.js +13 -0
  102. package/engine/execution-supervision-state.js.map +1 -1
  103. package/engine/execution-supervision.d.ts +1 -1
  104. package/engine/execution-supervision.d.ts.map +1 -1
  105. package/engine/execution-supervision.js +10 -10
  106. package/engine/execution-supervision.js.map +1 -1
  107. package/engine/execution-test-plan-cases.js +15 -11
  108. package/engine/execution-test-plan-cases.js.map +1 -1
  109. package/engine/execution.d.ts +3 -1
  110. package/engine/execution.d.ts.map +1 -1
  111. package/engine/execution.js +3 -27
  112. package/engine/execution.js.map +1 -1
  113. package/engine/native-resource-observation.js +70 -0
  114. package/engine/native-resource-observation.js.map +1 -0
  115. package/engine/reporter-dispatcher.d.ts.map +1 -1
  116. package/engine/reporter-dispatcher.js +6 -3
  117. package/engine/reporter-dispatcher.js.map +1 -1
  118. package/engine/reporter-output-scope.js +7 -2
  119. package/engine/reporter-output-scope.js.map +1 -1
  120. package/engine/resource-owner-observation.js +52 -3
  121. package/engine/resource-owner-observation.js.map +1 -1
  122. package/engine/test-scope-lifecycle.js +9 -7
  123. package/engine/test-scope-lifecycle.js.map +1 -1
  124. package/file-store.d.ts +7 -0
  125. package/file-store.d.ts.map +1 -0
  126. package/package.json +14 -1
  127. package/packages/run/benchmark-calibration.entry-point.d.ts +13 -14
  128. package/packages/run/benchmark-calibration.entry-point.d.ts.map +1 -1
  129. package/packages/run/benchmark-calibration.entry-point.js +12 -54
  130. package/packages/run/benchmark-calibration.entry-point.js.map +1 -1
  131. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  132. package/packages/run/command-line.entry-point.js +4 -0
  133. package/packages/run/command-line.entry-point.js.map +1 -1
  134. package/packages/run/run.entry-point.d.ts +3 -0
  135. package/packages/run/run.entry-point.d.ts.map +1 -1
  136. package/packages/run/run.entry-point.js +3 -0
  137. package/packages/run/run.entry-point.js.map +1 -1
  138. package/readme.md +43 -1
  139. package/run/attachment-eligibility.js +8 -4
  140. package/run/attachment-eligibility.js.map +1 -1
  141. package/run/benchmark-baseline-commands.js +9 -4
  142. package/run/benchmark-baseline-commands.js.map +1 -1
  143. package/run/benchmark-baseline-execution.js +20 -0
  144. package/run/benchmark-baseline-execution.js.map +1 -0
  145. package/run/benchmark-baseline-operations.js +0 -14
  146. package/run/benchmark-baseline-operations.js.map +1 -1
  147. package/run/benchmark-baseline-preparation.js +63 -0
  148. package/run/benchmark-baseline-preparation.js.map +1 -0
  149. package/run/benchmark-baseline-run.js +1 -44
  150. package/run/benchmark-baseline-run.js.map +1 -1
  151. package/run/benchmark-calibration.js +7 -0
  152. package/run/benchmark-calibration.js.map +1 -1
  153. package/run/benchmark-commands.d.ts.map +1 -1
  154. package/run/benchmark-commands.js +31 -0
  155. package/run/benchmark-commands.js.map +1 -1
  156. package/run/benchmark-definition-schema.js +8 -2
  157. package/run/benchmark-definition-schema.js.map +1 -1
  158. package/run/benchmark-execution-environment.js +2 -1
  159. package/run/benchmark-execution-environment.js.map +1 -1
  160. package/run/benchmark-garbage-collection.js +14 -3
  161. package/run/benchmark-garbage-collection.js.map +1 -1
  162. package/run/benchmark-normalization-preparation.js +59 -0
  163. package/run/benchmark-normalization-preparation.js.map +1 -0
  164. package/run/benchmark-placement.js +12 -3
  165. package/run/benchmark-placement.js.map +1 -1
  166. package/run/benchmark-policy-schema.js +30 -0
  167. package/run/benchmark-policy-schema.js.map +1 -0
  168. package/run/benchmark-report-metadata.js +5 -3
  169. package/run/benchmark-report-metadata.js.map +1 -1
  170. package/run/benchmark-result-schema.js +7 -53
  171. package/run/benchmark-result-schema.js.map +1 -1
  172. package/run/calibration-baseline-references.js +39 -0
  173. package/run/calibration-baseline-references.js.map +1 -0
  174. package/run/calibration-capture-session.js +97 -0
  175. package/run/calibration-capture-session.js.map +1 -0
  176. package/run/calibration-inventory.js +27 -0
  177. package/run/calibration-inventory.js.map +1 -0
  178. package/run/calibration-maintenance.js +88 -0
  179. package/run/calibration-maintenance.js.map +1 -0
  180. package/run/capability-policy.js +82 -79
  181. package/run/capability-policy.js.map +1 -1
  182. package/run/collected-run-execution.js +3 -7
  183. package/run/collected-run-execution.js.map +1 -1
  184. package/run/collected-run-plan.js +6 -13
  185. package/run/collected-run-plan.js.map +1 -1
  186. package/run/command-line-command-namespace.js +3 -0
  187. package/run/command-line-command-namespace.js.map +1 -1
  188. package/run/command-line-command.d.ts +1 -0
  189. package/run/command-line-command.d.ts.map +1 -1
  190. package/run/command-line-command.js.map +1 -1
  191. package/run/default-run-engine.js +25 -0
  192. package/run/default-run-engine.js.map +1 -1
  193. package/run/execution-session-collected.js +10 -3
  194. package/run/execution-session-collected.js.map +1 -1
  195. package/run/execution-session-lifecycle.js +28 -9
  196. package/run/execution-session-lifecycle.js.map +1 -1
  197. package/run/execution-session-observation.js +9 -3
  198. package/run/execution-session-observation.js.map +1 -1
  199. package/run/execution-session-schema.js +8 -2
  200. package/run/execution-session-schema.js.map +1 -1
  201. package/run/execution-session-supervised.js +10 -2
  202. package/run/execution-session-supervised.js.map +1 -1
  203. package/run/execution-session-types.d.ts +2 -0
  204. package/run/execution-session-types.d.ts.map +1 -1
  205. package/run/execution-session.js +4 -4
  206. package/run/execution-session.js.map +1 -1
  207. package/run/frozen-supervised-command-schema.js +2 -2
  208. package/run/frozen-supervised-command-schema.js.map +1 -1
  209. package/run/initialized-run-collection.js +80 -0
  210. package/run/initialized-run-collection.js.map +1 -0
  211. package/run/initialized-run.js +2 -49
  212. package/run/initialized-run.js.map +1 -1
  213. package/run/path-containment.js +13 -0
  214. package/run/path-containment.js.map +1 -1
  215. package/run/permission-denial-runtime-policy.js +30 -50
  216. package/run/permission-denial-runtime-policy.js.map +1 -1
  217. package/run/run-artifact-schema.d.ts +3 -0
  218. package/run/run-artifact-schema.d.ts.map +1 -0
  219. package/run/run-artifact-schema.js +3 -0
  220. package/run/run-artifact-schema.js.map +1 -1
  221. package/run/run-cancellation.js.map +1 -1
  222. package/run/run-collected-resolution.js +7 -0
  223. package/run/run-collected-resolution.js.map +1 -1
  224. package/run/run-command-schema.js +2 -0
  225. package/run/run-command-schema.js.map +1 -1
  226. package/run/run-engine-primitives.d.ts +2 -1
  227. package/run/run-engine-primitives.d.ts.map +1 -1
  228. package/run/run-execution.js +1 -1
  229. package/run/run-execution.js.map +1 -1
  230. package/run/run-facts.js +1 -0
  231. package/run/run-facts.js.map +1 -1
  232. package/run/run-input-resolution.js +5 -3
  233. package/run/run-input-resolution.js.map +1 -1
  234. package/run/run-isolated-command.js +8 -2
  235. package/run/run-isolated-command.js.map +1 -1
  236. package/run/run-isolated-process.js +5 -0
  237. package/run/run-isolated-process.js.map +1 -1
  238. package/run/run-local-command.js +3 -7
  239. package/run/run-local-command.js.map +1 -1
  240. package/run/run-local-coverage.js +3 -7
  241. package/run/run-local-coverage.js.map +1 -1
  242. package/run/run-local-planning.js +2 -0
  243. package/run/run-local-planning.js.map +1 -1
  244. package/run/run-record-result.d.ts +8 -0
  245. package/run/run-record-result.d.ts.map +1 -0
  246. package/run/run-record-result.js +79 -17
  247. package/run/run-record-result.js.map +1 -1
  248. package/run/run-result-schema.d.ts.map +1 -1
  249. package/run/run-result-schema.js +14 -9
  250. package/run/run-result-schema.js.map +1 -1
  251. package/run/run-supervised-process.js +14 -3
  252. package/run/run-supervised-process.js.map +1 -1
  253. package/run/run-support.js +11 -9
  254. package/run/run-support.js.map +1 -1
  255. package/run/run-types.d.ts +5 -2
  256. package/run/run-types.d.ts.map +1 -1
  257. package/run/run-types.js.map +1 -1
  258. package/run/run.js +3 -1
  259. package/run/run.js.map +1 -1
  260. package/run/supervised-child-execution.js +1 -1
  261. package/run/supervised-child-execution.js.map +1 -1
  262. package/run/supervised-child-test-plan.js +3 -3
  263. package/run/supervised-child-test-plan.js.map +1 -1
  264. package/run/supervised-child.js +46 -33
  265. package/run/supervised-child.js.map +1 -1
  266. package/run/supervised-protocol.js.map +1 -1
  267. package/run/worker-execution-engine.js +1 -1
  268. package/run/worker-execution-engine.js.map +1 -1
  269. package/run/worker-pool-command.js +4 -6
  270. package/run/worker-pool-command.js.map +1 -1
  271. package/run/worker-pool-host.entry-point.js +1 -1
  272. package/run/worker-pool-host.entry-point.js.map +1 -1
  273. package/run/worker-pool-protocol.js.map +1 -1
  274. package/run/worker-pool-worker-plan.js +2 -2
  275. package/run/worker-pool-worker-plan.js.map +1 -1
  276. package/software-bill-of-materials.cyclonedx.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-calibration.js","sourceRoot":"","sources":["../../../../source/run/benchmark-calibration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,0BAA0B,EAAmC,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAO1E,KAAK,UAAU,iBAAiB,CAAC,IAAuB,EAAE,OAAwB;IAC9E,OAAO,IAAI,OAAO,CAAC,SAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM;QAC1D,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,SAAS,CAAC,KAAmB,EAAE,MAAuB;YACrG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAAC,SAA8C;IAC5E,IAAI,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAAyB;IACvE,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACnC,GAAG,aAAa;QAChB,aAAa,CAAC,yBAAyB,CAAC;QACxC,iBAAiB,CAAC,wBAAwB,CAAC;KAC9C,EAAE;QACC,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,yBAAyB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;QAC5E,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;KACzD,CAAC,CAAC;IACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"benchmark-calibration.js","sourceRoot":"","sources":["../../../../source/run/benchmark-calibration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAGvG,OAAO,EAAE,0BAA0B,EAAmC,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAQ1E,KAAK,UAAU,iBAAiB,CAAC,IAAuB,EAAE,OAAwB;IAC9E,OAAO,IAAI,OAAO,CAAC,SAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM;QAC1D,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,SAAS,CAAC,KAAmB,EAAE,MAAuB;YACrG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAAC,SAA8C;IAC5E,IAAI,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,UAAU,6BAA6B,CACzC,SAA8C,EAC9C,WAAyC;IAEzC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,OAAO,WAAW,KAAK,IAAI;QACvB,CAAC,CAAC,EAAE,YAAY,EAAE,uBAAuB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE;QAC/D,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAAyB;IACvE,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACnC,GAAG,aAAa;QAChB,aAAa,CAAC,yBAAyB,CAAC;QACxC,iBAAiB,CAAC,wBAAwB,CAAC;KAC9C,EAAE;QACC,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,yBAAyB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;QAC5E,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;KACzD,CAAC,CAAC;IACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-commands.d.ts","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,4BAA4B,EAEpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAiC,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAQjH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,4BAA4B,GAAG,4BAA4B,CAsEhH"}
1
+ {"version":3,"file":"benchmark-commands.d.ts","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,4BAA4B,EAIpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAiC,KAAK,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AA2CjH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,4BAA4B,GAAG,4BAA4B,CA8EhH"}
@@ -1,7 +1,29 @@
1
+ import { readCalibrationReferenceReport } from "../bench/calibration-report.js";
1
2
  import { createCommandLineErrorResultFromUnknown } from "./command-line-command.js";
2
3
  import { selectBenchmarkCommandProfile } from "./benchmark-command-policy.js";
3
4
  import { listTestsWithLoadedConfig, runTestsWithLoadedConfig } from "./command-line-execution.js";
4
5
  import { createSystemRunTimingMeasurement, emptyTimingSpanMetadata } from "./run-timing-collection.js";
6
+ async function executeCalibration(dependencies, request, execution, timing) {
7
+ const loaded = await dependencies.loadConfig(request);
8
+ const profile = selectBenchmarkCommandProfile(request.runRequest.profile, loaded);
9
+ const result = await runTestsWithLoadedConfig({ ...request, runRequest: { ...request.runRequest, profile } }, {
10
+ ...execution,
11
+ orchestrator: {
12
+ ...execution.orchestrator,
13
+ runWithReporterDelivery: dependencies
14
+ .orchestrator
15
+ .bench
16
+ .calibrate
17
+ }
18
+ }, loaded, { timing });
19
+ const report = result.runResult === null ? null : readCalibrationReferenceReport(result.runResult);
20
+ return {
21
+ ...result,
22
+ stdoutLines: report?.completed.map(function capturedReference(file) {
23
+ return `Captured calibration reference ${file}`;
24
+ }) ?? []
25
+ };
26
+ }
5
27
  export function createBenchmarkCommands(dependencies) {
6
28
  function baselineVerb(verb) {
7
29
  return async function runBaselineCommand(request) {
@@ -17,6 +39,15 @@ export function createBenchmarkCommands(dependencies) {
17
39
  }
18
40
  };
19
41
  return {
42
+ async calibrate(request) {
43
+ const timing = createSystemRunTimingMeasurement();
44
+ try {
45
+ return await executeCalibration(dependencies, request, execution, timing);
46
+ }
47
+ catch (error) {
48
+ return createCommandLineErrorResultFromUnknown(error);
49
+ }
50
+ },
20
51
  baseline: {
21
52
  apply: baselineVerb('apply'),
22
53
  bootstrap: baselineVerb('bootstrap'),
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark-commands.js","sourceRoot":"","sources":["../../../../source/run/benchmark-commands.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  import { z } from 'zod/v4';
2
- import { benchmarkLifecyclePolicySchema, budgetStatisticSchema, samplingPolicySchema } from "./benchmark-result-schema.js";
2
+ import { normalizationRuleSummarySchema } from "../bench/calibration-evidence.js";
3
+ import { budgetStatisticSchema } from "../bench/benchmark-statistics-schema.js";
4
+ import { benchmarkTimelinePolicySchema } from "../bench/timeline-schema.js";
5
+ import { samplingPolicySchema, benchmarkLifecyclePolicySchema } from "./benchmark-policy-schema.js";
3
6
  export const benchmarkDefinitionSchema = z.strictObject({
7
+ timeline: benchmarkTimelinePolicySchema.nullable().default(null),
8
+ normalization: z.record(z.string(), normalizationRuleSummarySchema).default({}),
4
9
  lifecycle: benchmarkLifecyclePolicySchema.nullable().default(null),
5
10
  kind: z.string(),
6
11
  workloads: z.array(z.strictObject({ name: z.string(), parameters: z.record(z.string(), z.json()) })),
@@ -17,7 +22,8 @@ export const benchmarkDefinitionSchema = z.strictObject({
17
22
  }))
18
23
  }))
19
24
  }),
20
- z.strictObject({ mode: z.literal('process'), instrumentation: z.enum(['node', 'off']) })
25
+ z.strictObject({ mode: z.literal('process'), instrumentation: z.enum(['node', 'off']) }),
26
+ z.strictObject({ mode: z.literal('module') })
21
27
  ]),
22
28
  diagnostics: z.array(z.string()),
23
29
  budgets: z.record(z.string(), z.array(z.strictObject({
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-definition-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-definition-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EACH,8BAA8B,EAC9B,qBAAqB,EACrB,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,MAAM,yBAAyB,GAA0C,CAAC,CAAC,YAAY,CAAC;IAC3F,SAAS,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACpG,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,OAAO,EAAE,MAAM,CAAE,CAAC;YACjC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;oBAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;oBACrB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAE,CAAC;oBACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;iBACnB,CAAC,CAAC;aACN,CAAC,CAAC;SACN,CAAC;QACF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,MAAM,EAAE,KAAK,CAAE,CAAC,EAAE,CAAC;KAC7F,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,CACb,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CAAC,CACN;IACD,MAAM,EAAE,oBAAoB;CAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"benchmark-definition-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-definition-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAEpG,MAAM,CAAC,MAAM,yBAAyB,GAA0C,CAAC,CAAC,YAAY,CAAC;IAC3F,QAAQ,EAAE,6BAA6B,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/E,SAAS,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACpG,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,OAAO,EAAE,MAAM,CAAE,CAAC;YACjC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;oBAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;oBACrB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAE,CAAC;oBACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;iBACnB,CAAC,CAAC;aACN,CAAC,CAAC;SACN,CAAC;QACF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,MAAM,EAAE,KAAK,CAAE,CAAC,EAAE,CAAC;QAC1F,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;KAChD,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,CACb,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CAAC,CACN;IACD,MAAM,EAAE,oBAAoB;CAC/B,CAAC,CAAC"}
@@ -1,9 +1,10 @@
1
- export function createBenchmarkExecutionEnvironment(policy, boundary) {
1
+ export function createBenchmarkExecutionEnvironment(policy, boundary, normalization) {
2
2
  if (policy === null) {
3
3
  return null;
4
4
  }
5
5
  const collect = globalThis.gc;
6
6
  return {
7
+ normalization,
7
8
  profileGarbageCollection: policy,
8
9
  garbageCollection: boundary !== 'direct' && typeof collect === 'function'
9
10
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-execution-environment.js","sourceRoot":"","sources":["../../../../source/run/benchmark-execution-environment.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mCAAmC,CAC/C,MAA+C,EAC/C,QAA2D;IAE3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC;IAC9B,OAAO;QACH,wBAAwB,EAAE,MAAM;QAChC,iBAAiB,EAAE,QAAQ,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,UAAU;YACrE,CAAC,CAAC;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO;oBACH,OAAO,EAAE,CAAC;gBACd,CAAC;aACJ;YACD,CAAC,CAAC;gBACE,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,8FAA8F;aACzG;KACR,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"benchmark-execution-environment.js","sourceRoot":"","sources":["../../../../source/run/benchmark-execution-environment.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mCAAmC,CAC/C,MAA+C,EAC/C,QAA2D,EAC3D,aAAmD;IAEnD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC;IAC9B,OAAO;QACH,aAAa;QACb,wBAAwB,EAAE,MAAM;QAChC,iBAAiB,EAAE,QAAQ,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,UAAU;YACrE,CAAC,CAAC;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO;oBACH,OAAO,EAAE,CAAC;gBACd,CAAC;aACJ;YACD,CAAC,CAAC;gBACE,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,8FAA8F;aACzG;KACR,CAAC;AACN,CAAC"}
@@ -1,9 +1,20 @@
1
1
  import { resolveBenchmarkGarbageCollection } from "../engine/benchmark-garbage-collection.js";
2
2
  import { invalidRequest } from "./run-errors.js";
3
3
  function requiresGarbageCollection(cases, profile) {
4
- return cases.some(function requestsCollection({ testCase }) {
5
- const request = testCase.benchmark?.lifecycle?.garbageCollection ?? 'off';
6
- return testCase.skipReason === null && resolveBenchmarkGarbageCollection(request, profile) === 'after-sample';
4
+ return cases
5
+ .filter(function activeCase({ testCase }) {
6
+ return testCase.skipReason === null;
7
+ })
8
+ .some(function requestsCollection({ testCase }) {
9
+ const requests = [
10
+ testCase.benchmark?.lifecycle?.garbageCollection ?? 'off',
11
+ ...Object.values(testCase.benchmark?.normalization ?? {}).map(function calibrationRequest(rule) {
12
+ return rule.garbageCollection;
13
+ })
14
+ ];
15
+ return requests.some(function enabled(request) {
16
+ return resolveBenchmarkGarbageCollection(request, profile) === 'after-sample';
17
+ });
7
18
  });
8
19
  }
9
20
  function garbageCollectionArguments(nodeArguments) {
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-garbage-collection.js","sourceRoot":"","sources":["../../../../source/run/benchmark-garbage-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAI9F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,SAAS,yBAAyB,CAAC,KAAqB,EAAE,OAAyC;IAC/F,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE;QACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,IAAI,KAAK,CAAC;QAC1E,OAAO,QAAQ,CAAC,UAAU,KAAK,IAAI,IAAI,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,cAAc,CAAC;IAClH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,0BAA0B,CAAC,aAAgC;IAChE,IACI,aAAa,CAAC,IAAI,CAAC,SAAS,yBAAyB,CAAC,QAAQ;QAC1D,OAAO,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC,EACJ,CAAC;QACC,cAAc,CAAC,mFAAmF,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,wBAAwB,CAAC,QAAQ;QACzE,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,aAAa,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,GAAG,aAAa,EAAE,aAAa,CAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qCAAqC,CACjD,WAAwB,EACxB,OAAyC,EACzC,KAAqB;IAErB,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,OAAO;QACH,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,0BAA0B,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3G,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"benchmark-garbage-collection.js","sourceRoot":"","sources":["../../../../source/run/benchmark-garbage-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAI9F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,SAAS,yBAAyB,CAAC,KAAqB,EAAE,OAAyC;IAC/F,OAAO,KAAK;SACP,MAAM,CAAC,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE;QACpC,OAAO,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE;QAC1C,MAAM,QAAQ,GAAG;YACb,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,IAAI,KAAK;YACzD,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,kBAAkB,CAAC,IAAI;gBAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAClC,CAAC,CAAC;SACL,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO;YACzC,OAAO,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,cAAc,CAAC;QAClF,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACX,CAAC;AAED,SAAS,0BAA0B,CAAC,aAAgC;IAChE,IACI,aAAa,CAAC,IAAI,CAAC,SAAS,yBAAyB,CAAC,QAAQ;QAC1D,OAAO,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC,EACJ,CAAC;QACC,cAAc,CAAC,mFAAmF,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,wBAAwB,CAAC,QAAQ;QACzE,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,aAAa,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,GAAG,aAAa,EAAE,aAAa,CAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qCAAqC,CACjD,WAAwB,EACxB,OAAyC,EACzC,KAAqB;IAErB,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,OAAO;QACH,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,0BAA0B,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3G,CAAC;AACN,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { createCalibrationReferenceStore } from "../baselines/calibration-store.js";
3
+ import { benchmarkNormalizationMachine } from "./benchmark-calibration.js";
4
+ import { calibrationMaintenanceSession } from "./calibration-maintenance.js";
5
+ import { createCalibrationCaptureSession } from "./calibration-capture-session.js";
6
+ import { readSavedCalibrationReferences } from "./calibration-baseline-references.js";
7
+ export async function prepareBenchmarkNormalization(input, calibration, dependencies) {
8
+ if (input.profile.testFamily !== 'benchmark') {
9
+ throw new TypeError('Calibration references require a benchmark profile.');
10
+ }
11
+ const storeInput = {
12
+ projectRoot: input.projectRoot,
13
+ directory: input.profile.baselines.directory,
14
+ maxBytes: input.profile.attachments.maxArtifactBytes
15
+ };
16
+ const store = await createCalibrationReferenceStore(storeInput);
17
+ const references = input.benchmarkPurpose === 'capture' ? [] : await store.list();
18
+ const machine = benchmarkNormalizationMachine(input.profile.execution, calibration);
19
+ const context = {
20
+ executionId: randomUUID(),
21
+ mode: input.benchmarkPurpose,
22
+ profile: input.request.profile,
23
+ machine,
24
+ references: references
25
+ .filter(function matchingReference(entry) {
26
+ return entry.profile === input.request.profile;
27
+ })
28
+ .map(function snapshot(entry) {
29
+ return entry.snapshot;
30
+ }),
31
+ saved: await readSavedCalibrationReferences({
32
+ profile: input.profile,
33
+ profileName: input.request.profile,
34
+ projectRoot: input.projectRoot,
35
+ purpose: input.benchmarkPurpose
36
+ })
37
+ };
38
+ return {
39
+ context,
40
+ capture: input.benchmarkPurpose === 'capture'
41
+ ? createCalibrationCaptureSession({
42
+ store,
43
+ profile: input.request.profile,
44
+ maxBytes: storeInput.maxBytes,
45
+ dependencies
46
+ })
47
+ : null,
48
+ maintain(baseline) {
49
+ return calibrationMaintenanceSession({
50
+ input: { ...input, benchmarkNormalization: context },
51
+ references,
52
+ store,
53
+ baseline,
54
+ dependencies
55
+ });
56
+ }
57
+ };
58
+ }
59
+ //# sourceMappingURL=benchmark-normalization-preparation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-normalization-preparation.js","sourceRoot":"","sources":["../../../../source/run/benchmark-normalization-preparation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AActF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAC/C,KAAuB,EACvB,WAAyC,EACzC,YAAyC;IAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,UAAU,GAAG;QACf,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS;QAC5C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB;KACvD,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpF,MAAM,OAAO,GAAkC;QAC3C,WAAW,EAAE,UAAU,EAAE;QACzB,IAAI,EAAE,KAAK,CAAC,gBAAgB;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QAC9B,OAAO;QACP,UAAU,EAAE,UAAU;aACjB,MAAM,CAAC,SAAS,iBAAiB,CAAC,KAAK;YACpC,OAAO,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACnD,CAAC,CAAC;aACD,GAAG,CAAC,SAAS,QAAQ,CAAC,KAAK;YACxB,OAAO,KAAK,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC;QACN,KAAK,EAAE,MAAM,8BAA8B,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,gBAAgB;SAClC,CAAC;KACL,CAAC;IACF,OAAO;QACH,OAAO;QACP,OAAO,EAAE,KAAK,CAAC,gBAAgB,KAAK,SAAS;YACzC,CAAC,CAAC,+BAA+B,CAAC;gBAC9B,KAAK;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,YAAY;aACf,CAAC;YACF,CAAC,CAAC,IAAI;QACV,QAAQ,CAAC,QAAQ;YACb,OAAO,6BAA6B,CAAC;gBACjC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE;gBACpD,UAAU;gBACV,KAAK;gBACL,QAAQ;gBACR,YAAY;aACf,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,8 +1,17 @@
1
1
  const timingMetrics = new Set(['durationMicroseconds', 'operationsPerSecond']);
2
2
  const percentScale = 100;
3
+ function isRegionMeasurement(measurement) {
4
+ return measurement.mode === 'sync' || measurement.mode === 'async';
5
+ }
3
6
  function parallelMeasurement(definition) {
4
- if (definition?.kind !== 'bundle-size' || definition.measurement.mode === 'process' ||
5
- definition.measurement.collectors.length > 0) {
7
+ if (definition?.kind !== 'bundle-size') {
8
+ return false;
9
+ }
10
+ const { measurement } = definition;
11
+ if (!isRegionMeasurement(measurement)) {
12
+ return false;
13
+ }
14
+ if (measurement.collectors.length > 0) {
6
15
  return false;
7
16
  }
8
17
  const metrics = [
@@ -13,7 +22,7 @@ function parallelMeasurement(definition) {
13
22
  });
14
23
  })
15
24
  ];
16
- return metrics.every(function artifactMetric(name) {
25
+ return Object.keys(definition.normalization).length === 0 && metrics.every(function artifactMetric(name) {
17
26
  return !timingMetrics.has(name);
18
27
  });
19
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-placement.js","sourceRoot":"","sources":["../../../../source/run/benchmark-placement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark-placement.js","sourceRoot":"","sources":["../../../../source/run/benchmark-placement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod/v4';
2
+ import { maximumRetainedSamples, minimumInferentialSamples } from "../engine/benchmark-limits.js";
3
+ export const samplingPolicySchema = z
4
+ .strictObject({
5
+ confidenceLevel: z.number().gt(0).lt(1),
6
+ relativePrecision: z.number().nonnegative(),
7
+ absolutePrecision: z.record(z.string(), z.number().nonnegative()),
8
+ minimumSamples: z.number().int().min(minimumInferentialSamples),
9
+ maximumSamples: z.number().int().min(minimumInferentialSamples).max(maximumRetainedSamples)
10
+ })
11
+ .refine(function orderedLimits(policy) {
12
+ return policy.minimumSamples <= policy.maximumSamples;
13
+ });
14
+ const minimumCooldownMilliseconds = 100;
15
+ const maximumCooldownMilliseconds = 60_000;
16
+ export const legacyLifecyclePolicySchema = z.strictObject({
17
+ warmupSamples: z.number().int().min(0).max(maximumRetainedSamples),
18
+ cooldown: z.discriminatedUnion('mode', [
19
+ z.strictObject({ mode: z.literal('off') }),
20
+ z.strictObject({
21
+ mode: z.literal('runtime'),
22
+ maximumEventLoopUtilization: z.number().min(0).max(1),
23
+ timeoutMilliseconds: z.number().int().gt(minimumCooldownMilliseconds).max(maximumCooldownMilliseconds)
24
+ })
25
+ ])
26
+ });
27
+ export const benchmarkLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
28
+ garbageCollection: z.enum(['off', 'after-sample', 'profile-default']).default('off')
29
+ });
30
+ //# sourceMappingURL=benchmark-policy-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-policy-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-policy-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAElG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAChC,YAAY,CAAC;IACV,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;IAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACjE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC/D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;CAC9F,CAAC;KACD,MAAM,CAAC,SAAS,aAAa,CAAC,MAAM;IACjC,OAAO,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEP,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAClE,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;SACzG,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IAC7E,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,CAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACzF,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { appendRunnerErrors } from "../engine/execution-result.js";
2
2
  import { defaultAttachmentLimits } from "../engine/runtime-attachment.js";
3
3
  import { runJsonArtifact } from "../attachments/run-json-artifact.js";
4
- import { benchmarkRunMediaType, readBenchmarkRunMetadata } from "../bench/benchmark-run-report.js";
4
+ import { benchmarkRunMediaType, benchmarkRunMetadataVersion, readBenchmarkRunMetadata } from "../bench/benchmark-run-report.js";
5
5
  function attachMetadata(result, metadata, maxBytes, capturedAtMicroseconds) {
6
6
  try {
7
7
  const artifact = runJsonArtifact({
@@ -32,7 +32,8 @@ export function withBenchmarkRunMetadata(result, facts, capturedAtMicroseconds)
32
32
  return result;
33
33
  }
34
34
  const metadata = {
35
- version: 3,
35
+ version: benchmarkRunMetadataVersion,
36
+ normalization: facts.benchmarkNormalization,
36
37
  host: facts.benchmarkHost,
37
38
  placement: facts.benchmarkPlacement,
38
39
  node: facts.environment.node,
@@ -54,7 +55,8 @@ export function withBenchmarkErrorMetadata(result, command, host) {
54
55
  return result;
55
56
  }
56
57
  const metadata = {
57
- version: 3,
58
+ version: benchmarkRunMetadataVersion,
59
+ normalization: null,
58
60
  host,
59
61
  placement: null,
60
62
  node: { arch: process.arch, platform: process.platform, version: process.version },
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-report-metadata.js","sourceRoot":"","sources":["../../../../source/run/benchmark-report-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark-report-metadata.js","sourceRoot":"","sources":["../../../../source/run/benchmark-report-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,13 @@
1
1
  import { z } from 'zod/v4';
2
+ import { metricSummarySchema, benchmarkBudgetResultSchema } from "../bench/benchmark-statistics-schema.js";
3
+ import { normalizationEvidenceSchema } from "../bench/calibration-evidence.js";
2
4
  import { benchmarkLifecycleVersion } from "../engine/benchmark-result.js";
3
5
  import { workloadIdSchema } from "../engine/identity-schema.js";
4
- import { minimumInferentialSamples, maximumRetainedSamples } from "../engine/benchmark-limits.js";
5
- const minimumCooldownMilliseconds = 100;
6
- const maximumCooldownMilliseconds = 60_000;
7
- const legacyLifecyclePolicySchema = z.strictObject({
8
- warmupSamples: z.number().int().min(0).max(maximumRetainedSamples),
9
- cooldown: z.discriminatedUnion('mode', [
10
- z.strictObject({ mode: z.literal('off') }),
11
- z.strictObject({
12
- mode: z.literal('runtime'),
13
- maximumEventLoopUtilization: z.number().min(0).max(1),
14
- timeoutMilliseconds: z.number().int().gt(minimumCooldownMilliseconds).max(maximumCooldownMilliseconds)
15
- })
16
- ])
17
- });
18
- export const benchmarkLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
19
- garbageCollection: z.enum(['off', 'after-sample', 'profile-default']).default('off')
20
- });
6
+ import { benchmarkTimelineEvidenceSchema } from "../bench/timeline-schema.js";
7
+ import { samplingPolicySchema, legacyLifecyclePolicySchema } from "./benchmark-policy-schema.js";
21
8
  const resolvedLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
22
9
  garbageCollection: z.enum(['off', 'after-sample'])
23
10
  });
24
- export const budgetStatisticSchema = z.discriminatedUnion('kind', [
25
- z.strictObject({ kind: z.literal('quantile'), probability: z.number().gt(0).lt(1) }),
26
- z.strictObject({ kind: z.literal('mean'), range: z.strictObject({ minimum: z.number(), maximum: z.number() }) }),
27
- z.strictObject({ kind: z.literal('observed-minimum') }),
28
- z.strictObject({ kind: z.literal('observed-maximum') })
29
- ]);
30
- export const samplingPolicySchema = z.strictObject({
31
- confidenceLevel: z.number().gt(0).lt(1),
32
- relativePrecision: z.number().nonnegative(),
33
- absolutePrecision: z.record(z.string(), z.number().nonnegative()),
34
- minimumSamples: z.number().int().min(minimumInferentialSamples),
35
- maximumSamples: z.number().int().min(minimumInferentialSamples).max(maximumRetainedSamples)
36
- });
37
- const metricSummarySchema = z.strictObject({
38
- count: z.number().int().nonnegative(),
39
- minimum: z.number().nullable(),
40
- maximum: z.number().nullable(),
41
- mean: z.number().nullable(),
42
- median: z.number().nullable(),
43
- provenance: z.strictObject({
44
- collector: z.string(),
45
- scope: z.enum(['region', 'thread', 'process', 'runtime', 'custom']),
46
- unit: z.string()
47
- }),
48
- unavailableReasons: z.array(z.string())
49
- });
50
11
  const rawSamplesSchema = z.strictObject({
51
12
  status: z.enum(['recorded', 'omitted', 'truncated']),
52
13
  reference: z.string().nullable(),
@@ -99,6 +60,8 @@ const lifecycleResultSchema = z.union([
99
60
  })
100
61
  ]);
101
62
  export const benchmarkResultSchema = z.strictObject({
63
+ timeline: benchmarkTimelineEvidenceSchema.nullable().default(null),
64
+ normalization: normalizationEvidenceSchema.nullable().default(null),
102
65
  lifecycle: lifecycleResultSchema.nullable().default(null),
103
66
  workload: workloadIdSchema,
104
67
  policy: samplingPolicySchema,
@@ -106,16 +69,7 @@ export const benchmarkResultSchema = z.strictObject({
106
69
  status: z.enum(['sampling', 'complete', 'incomplete']),
107
70
  assumption: z.literal('independent-stationary-observations'),
108
71
  metrics: z.record(z.string(), metricSummarySchema),
109
- budgets: z.array(z.strictObject({
110
- metric: z.string(),
111
- statistic: budgetStatisticSchema,
112
- minimum: z.number().nullable(),
113
- maximum: z.number().nullable(),
114
- estimate: z.number().nullable(),
115
- interval: z.strictObject({ lower: z.number().nullable(), upper: z.number().nullable() }),
116
- precise: z.boolean(),
117
- decision: z.enum(['pass', 'fail', 'undecided', 'unavailable'])
118
- })),
72
+ budgets: z.array(benchmarkBudgetResultSchema),
119
73
  rawSamples: rawSamplesSchema
120
74
  });
121
75
  //# sourceMappingURL=benchmark-result-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-result-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-result-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark-result-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-result-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { createPerformanceBaselineStore } from "../baselines/performance-store.js";
2
+ import { normalizedPerformanceBaselineVersion } from "../baselines/performance-baseline.js";
3
+ function selectedBaseline(input, baseline) {
4
+ return baseline.profile === input.profileName &&
5
+ input.profile.baselines.adapters.some(function selectedAdapter(adapter) {
6
+ return adapter.id === baseline.adapter;
7
+ });
8
+ }
9
+ function storedReferences(baseline) {
10
+ if (baseline.version !== normalizedPerformanceBaselineVersion || baseline.normalization === null) {
11
+ return [];
12
+ }
13
+ return Object.entries(baseline.normalization.metrics).map(function metric([name, evidence]) {
14
+ return {
15
+ work: baseline.work,
16
+ metric: name,
17
+ reference: evidence.reference,
18
+ budgetReference: evidence.budgetReference
19
+ };
20
+ });
21
+ }
22
+ async function readReferences(input, store) {
23
+ const expected = await store.list();
24
+ return expected.flatMap(function savedReferences(entry) {
25
+ return selectedBaseline(input, entry.baseline) ? storedReferences(entry.baseline) : [];
26
+ });
27
+ }
28
+ export async function readSavedCalibrationReferences(input) {
29
+ if (input.purpose === 'capture' || input.profile.baselines.adapters.length === 0) {
30
+ return [];
31
+ }
32
+ const store = await createPerformanceBaselineStore({
33
+ projectRoot: input.projectRoot,
34
+ directory: input.profile.baselines.directory,
35
+ maxBytes: input.profile.attachments.maxArtifactBytes
36
+ });
37
+ return await readReferences(input, store);
38
+ }
39
+ //# sourceMappingURL=calibration-baseline-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration-baseline-references.js","sourceRoot":"","sources":["../../../../source/run/calibration-baseline-references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAiC,MAAM,mCAAmC,CAAC;AAClH,OAAO,EACH,oCAAoC,EAEvC,MAAM,sCAAsC,CAAC;AAU9C,SAAS,gBAAgB,CAAC,KAAsB,EAAE,QAAmC;IACjF,OAAO,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,WAAW;QACzC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,OAAO;YAClE,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC;QAC3C,CAAC,CAAC,CAAC;AACX,CAAC;AACD,SAAS,gBAAgB,CAAC,QAAmC;IACzD,IAAI,QAAQ,CAAC,OAAO,KAAK,oCAAoC,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAC/F,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAE,IAAI,EAAE,QAAQ,CAAE;QACxF,OAAO;YACH,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,eAAe,EAAE,QAAQ,CAAC,eAAe;SAC5C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AACD,KAAK,UAAU,cAAc,CACzB,KAAsB,EACtB,KAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,KAAK;QAClD,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,CAAC,CAAC,CAAC;AACP,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,KAAsB;IACvE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/E,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,8BAA8B,CAAC;QAC/C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS;QAC5C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB;KACvD,CAAC,CAAC;IACH,OAAO,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,97 @@
1
+ import { canonicalIdentityJson } from "../canonical-identity.js";
2
+ import { CalibrationPublicationError } from "../baselines/calibration-store.js";
3
+ import { successfulPerformanceRun } from "../baselines/performance-workflow.js";
4
+ import { appendRunnerErrors } from "../engine/execution-result.js";
5
+ import { performanceBaselineError } from "../baselines/performance-evaluation.js";
6
+ import { calibrationReferenceReportArtifact } from "../bench/calibration-report.js";
7
+ function capturedReferences(result) {
8
+ const snapshots = new Map();
9
+ const candidates = result.perTest.flatMap(function references(test) {
10
+ return test.benchmark?.normalization?.calibrations ?? [];
11
+ });
12
+ for (const snapshot of candidates) {
13
+ const key = canonicalIdentityJson(snapshot.identity);
14
+ if (!snapshots.has(key)) {
15
+ snapshots.set(key, snapshot);
16
+ }
17
+ }
18
+ return Array.from(snapshots.values());
19
+ }
20
+ function captureReport(input, result, snapshots) {
21
+ const owners = result.perTest.map(function owner(test) {
22
+ return test.workId;
23
+ });
24
+ return {
25
+ version: 1,
26
+ changes: snapshots.map(function writtenReference(snapshot) {
27
+ return {
28
+ kind: 'write',
29
+ path: input.store.pathOf({ profile: input.profile, snapshot, owners, version: 1 })
30
+ };
31
+ }),
32
+ completed: [],
33
+ outcome: 'read-only'
34
+ };
35
+ }
36
+ function appendCaptureReport(input, result, report) {
37
+ const artifact = calibrationReferenceReportArtifact({
38
+ result,
39
+ report,
40
+ maxBytes: input.maxBytes,
41
+ capturedAtMicroseconds: Number(input.dependencies.wallClock.currentMonotonicMicroseconds)
42
+ });
43
+ return { ...result, artifacts: [...result.artifacts, artifact] };
44
+ }
45
+ function referenceOwners(result, snapshot) {
46
+ const key = canonicalIdentityJson(snapshot.identity);
47
+ return result
48
+ .perTest
49
+ .filter(function ownsReference(test) {
50
+ return test.benchmark?.normalization?.calibrations.some(function matchingReference(actual) {
51
+ return canonicalIdentityJson(actual.identity) === key;
52
+ }) ?? false;
53
+ })
54
+ .map(function work(test) {
55
+ return test.workId;
56
+ });
57
+ }
58
+ async function publishCapture(input, result, report, snapshots) {
59
+ appendCaptureReport(input, result, report);
60
+ const completed = snapshots.length === 0
61
+ ? []
62
+ : await input.store.write(input.profile, snapshots, function owners(snapshot) {
63
+ return referenceOwners(result, snapshot);
64
+ });
65
+ return appendCaptureReport(input, result, { ...report, completed, outcome: 'written' });
66
+ }
67
+ async function completeCapture(input, result, report, snapshots) {
68
+ return successfulPerformanceRun(result)
69
+ ? await publishCapture(input, result, report, snapshots)
70
+ : appendCaptureReport(input, result, { ...report, outcome: 'blocked' });
71
+ }
72
+ async function finalizeCapture(input, result) {
73
+ const snapshots = capturedReferences(result);
74
+ const report = captureReport(input, result, snapshots);
75
+ try {
76
+ return await completeCapture(input, result, report, snapshots);
77
+ }
78
+ catch (error) {
79
+ const failed = appendRunnerErrors(result, [performanceBaselineError(error, null)]);
80
+ const completed = error instanceof CalibrationPublicationError ? error.completed() : [];
81
+ try {
82
+ return appendCaptureReport(input, failed, { ...report, completed, outcome: 'failed' });
83
+ }
84
+ catch {
85
+ return failed;
86
+ }
87
+ }
88
+ }
89
+ export function createCalibrationCaptureSession(input) {
90
+ return {
91
+ reporterDispatcher: input.dependencies.reporterDispatcher,
92
+ async finalize(result) {
93
+ return await finalizeCapture(input, result);
94
+ }
95
+ };
96
+ }
97
+ //# sourceMappingURL=calibration-capture-session.js.map