@shapeshift-labs/frontier-swarm 0.5.20 → 0.5.22

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 (354) hide show
  1. package/README.md +123 -132
  2. package/benchmarks/package-bench.mjs +294 -20
  3. package/dist/index.d.ts +4801 -41
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +10368 -40
  6. package/dist/index.js.map +1 -1
  7. package/package.json +6 -7
  8. package/benchmarks/package-bench-fixtures.mjs +0 -95
  9. package/benchmarks/package-bench-rows.mjs +0 -211
  10. package/benchmarks/package-bench-runtime.mjs +0 -94
  11. package/dist/adaptive-load-decisions.d.ts +0 -8
  12. package/dist/adaptive-load-decisions.d.ts.map +0 -1
  13. package/dist/adaptive-load-decisions.js +0 -133
  14. package/dist/adaptive-load-decisions.js.map +0 -1
  15. package/dist/adaptive-load-limits.d.ts +0 -8
  16. package/dist/adaptive-load-limits.d.ts.map +0 -1
  17. package/dist/adaptive-load-limits.js +0 -105
  18. package/dist/adaptive-load-limits.js.map +0 -1
  19. package/dist/adaptive-load-observations.d.ts +0 -17
  20. package/dist/adaptive-load-observations.d.ts.map +0 -1
  21. package/dist/adaptive-load-observations.js +0 -296
  22. package/dist/adaptive-load-observations.js.map +0 -1
  23. package/dist/adaptive-load-types.d.ts +0 -117
  24. package/dist/adaptive-load-types.d.ts.map +0 -1
  25. package/dist/adaptive-load-types.js +0 -3
  26. package/dist/adaptive-load-types.js.map +0 -1
  27. package/dist/adaptive-load.d.ts +0 -10
  28. package/dist/adaptive-load.d.ts.map +0 -1
  29. package/dist/adaptive-load.js +0 -98
  30. package/dist/adaptive-load.js.map +0 -1
  31. package/dist/adaptive-types.d.ts +0 -127
  32. package/dist/adaptive-types.d.ts.map +0 -1
  33. package/dist/adaptive-types.js +0 -2
  34. package/dist/adaptive-types.js.map +0 -1
  35. package/dist/artifact-routing-runtime.d.ts +0 -3
  36. package/dist/artifact-routing-runtime.d.ts.map +0 -1
  37. package/dist/artifact-routing-runtime.js +0 -72
  38. package/dist/artifact-routing-runtime.js.map +0 -1
  39. package/dist/auto-review.d.ts +0 -47
  40. package/dist/auto-review.d.ts.map +0 -1
  41. package/dist/auto-review.js +0 -69
  42. package/dist/auto-review.js.map +0 -1
  43. package/dist/blackboard.d.ts +0 -81
  44. package/dist/blackboard.d.ts.map +0 -1
  45. package/dist/blackboard.js +0 -60
  46. package/dist/blackboard.js.map +0 -1
  47. package/dist/coercion.d.ts +0 -12
  48. package/dist/coercion.d.ts.map +0 -1
  49. package/dist/coercion.js +0 -48
  50. package/dist/coercion.js.map +0 -1
  51. package/dist/constants.d.ts +0 -106
  52. package/dist/constants.d.ts.map +0 -1
  53. package/dist/constants.js +0 -106
  54. package/dist/constants.js.map +0 -1
  55. package/dist/context-pack-runtime.d.ts +0 -3
  56. package/dist/context-pack-runtime.d.ts.map +0 -1
  57. package/dist/context-pack-runtime.js +0 -77
  58. package/dist/context-pack-runtime.js.map +0 -1
  59. package/dist/context-types.d.ts +0 -188
  60. package/dist/context-types.d.ts.map +0 -1
  61. package/dist/context-types.js +0 -2
  62. package/dist/context-types.js.map +0 -1
  63. package/dist/coordinator-dashboard-helpers.d.ts +0 -14
  64. package/dist/coordinator-dashboard-helpers.d.ts.map +0 -1
  65. package/dist/coordinator-dashboard-helpers.js +0 -106
  66. package/dist/coordinator-dashboard-helpers.js.map +0 -1
  67. package/dist/coordinator-dashboard-types.d.ts +0 -163
  68. package/dist/coordinator-dashboard-types.d.ts.map +0 -1
  69. package/dist/coordinator-dashboard-types.js +0 -3
  70. package/dist/coordinator-dashboard-types.js.map +0 -1
  71. package/dist/coordinator-dashboard.d.ts +0 -4
  72. package/dist/coordinator-dashboard.d.ts.map +0 -1
  73. package/dist/coordinator-dashboard.js +0 -163
  74. package/dist/coordinator-dashboard.js.map +0 -1
  75. package/dist/coordinator-scoring.d.ts +0 -8
  76. package/dist/coordinator-scoring.d.ts.map +0 -1
  77. package/dist/coordinator-scoring.js +0 -167
  78. package/dist/coordinator-scoring.js.map +0 -1
  79. package/dist/coordinator-types.d.ts +0 -166
  80. package/dist/coordinator-types.d.ts.map +0 -1
  81. package/dist/coordinator-types.js +0 -2
  82. package/dist/coordinator-types.js.map +0 -1
  83. package/dist/debug-runtime.d.ts +0 -4
  84. package/dist/debug-runtime.d.ts.map +0 -1
  85. package/dist/debug-runtime.js +0 -93
  86. package/dist/debug-runtime.js.map +0 -1
  87. package/dist/debug-types.d.ts +0 -194
  88. package/dist/debug-types.d.ts.map +0 -1
  89. package/dist/debug-types.js +0 -2
  90. package/dist/debug-types.js.map +0 -1
  91. package/dist/diagnostic-helpers.d.ts +0 -5
  92. package/dist/diagnostic-helpers.d.ts.map +0 -1
  93. package/dist/diagnostic-helpers.js +0 -54
  94. package/dist/diagnostic-helpers.js.map +0 -1
  95. package/dist/evidence-index-helpers.d.ts +0 -10
  96. package/dist/evidence-index-helpers.d.ts.map +0 -1
  97. package/dist/evidence-index-helpers.js +0 -78
  98. package/dist/evidence-index-helpers.js.map +0 -1
  99. package/dist/evidence-index.d.ts +0 -4
  100. package/dist/evidence-index.d.ts.map +0 -1
  101. package/dist/evidence-index.js +0 -59
  102. package/dist/evidence-index.js.map +0 -1
  103. package/dist/evidence-types.d.ts +0 -151
  104. package/dist/evidence-types.d.ts.map +0 -1
  105. package/dist/evidence-types.js +0 -2
  106. package/dist/evidence-types.js.map +0 -1
  107. package/dist/fixtures.d.ts +0 -45
  108. package/dist/fixtures.d.ts.map +0 -1
  109. package/dist/fixtures.js +0 -39
  110. package/dist/fixtures.js.map +0 -1
  111. package/dist/governance-types.d.ts +0 -172
  112. package/dist/governance-types.d.ts.map +0 -1
  113. package/dist/governance-types.js +0 -2
  114. package/dist/governance-types.js.map +0 -1
  115. package/dist/instrumentation-runtime.d.ts +0 -6
  116. package/dist/instrumentation-runtime.d.ts.map +0 -1
  117. package/dist/instrumentation-runtime.js +0 -111
  118. package/dist/instrumentation-runtime.js.map +0 -1
  119. package/dist/internal.d.ts +0 -11
  120. package/dist/internal.d.ts.map +0 -1
  121. package/dist/internal.js +0 -49
  122. package/dist/internal.js.map +0 -1
  123. package/dist/leases.d.ts +0 -32
  124. package/dist/leases.d.ts.map +0 -1
  125. package/dist/leases.js +0 -36
  126. package/dist/leases.js.map +0 -1
  127. package/dist/manifest-normalization.d.ts +0 -8
  128. package/dist/manifest-normalization.d.ts.map +0 -1
  129. package/dist/manifest-normalization.js +0 -191
  130. package/dist/manifest-normalization.js.map +0 -1
  131. package/dist/manifest-types.d.ts +0 -227
  132. package/dist/manifest-types.d.ts.map +0 -1
  133. package/dist/manifest-types.js +0 -2
  134. package/dist/manifest-types.js.map +0 -1
  135. package/dist/manifest.d.ts +0 -7
  136. package/dist/manifest.d.ts.map +0 -1
  137. package/dist/manifest.js +0 -126
  138. package/dist/manifest.js.map +0 -1
  139. package/dist/merge-admission.d.ts +0 -3
  140. package/dist/merge-admission.d.ts.map +0 -1
  141. package/dist/merge-admission.js +0 -71
  142. package/dist/merge-admission.js.map +0 -1
  143. package/dist/merge-bundles.d.ts +0 -13
  144. package/dist/merge-bundles.d.ts.map +0 -1
  145. package/dist/merge-bundles.js +0 -144
  146. package/dist/merge-bundles.js.map +0 -1
  147. package/dist/merge-classification.d.ts +0 -6
  148. package/dist/merge-classification.d.ts.map +0 -1
  149. package/dist/merge-classification.js +0 -36
  150. package/dist/merge-classification.js.map +0 -1
  151. package/dist/merge-index.d.ts +0 -3
  152. package/dist/merge-index.d.ts.map +0 -1
  153. package/dist/merge-index.js +0 -130
  154. package/dist/merge-index.js.map +0 -1
  155. package/dist/merge-plan-helpers.d.ts +0 -11
  156. package/dist/merge-plan-helpers.d.ts.map +0 -1
  157. package/dist/merge-plan-helpers.js +0 -97
  158. package/dist/merge-plan-helpers.js.map +0 -1
  159. package/dist/merge-plans-runtime.d.ts +0 -8
  160. package/dist/merge-plans-runtime.d.ts.map +0 -1
  161. package/dist/merge-plans-runtime.js +0 -106
  162. package/dist/merge-plans-runtime.js.map +0 -1
  163. package/dist/merge-review-types.d.ts +0 -76
  164. package/dist/merge-review-types.d.ts.map +0 -1
  165. package/dist/merge-review-types.js +0 -2
  166. package/dist/merge-review-types.js.map +0 -1
  167. package/dist/merge-review.d.ts +0 -7
  168. package/dist/merge-review.d.ts.map +0 -1
  169. package/dist/merge-review.js +0 -142
  170. package/dist/merge-review.js.map +0 -1
  171. package/dist/merge-types.d.ts +0 -196
  172. package/dist/merge-types.d.ts.map +0 -1
  173. package/dist/merge-types.js +0 -2
  174. package/dist/merge-types.js.map +0 -1
  175. package/dist/merge-wrappers.d.ts +0 -5
  176. package/dist/merge-wrappers.d.ts.map +0 -1
  177. package/dist/merge-wrappers.js +0 -231
  178. package/dist/merge-wrappers.js.map +0 -1
  179. package/dist/observability-types.d.ts +0 -164
  180. package/dist/observability-types.d.ts.map +0 -1
  181. package/dist/observability-types.js +0 -2
  182. package/dist/observability-types.js.map +0 -1
  183. package/dist/oracle-helpers.d.ts +0 -6
  184. package/dist/oracle-helpers.d.ts.map +0 -1
  185. package/dist/oracle-helpers.js +0 -73
  186. package/dist/oracle-helpers.js.map +0 -1
  187. package/dist/oracle-runtime.d.ts +0 -5
  188. package/dist/oracle-runtime.d.ts.map +0 -1
  189. package/dist/oracle-runtime.js +0 -154
  190. package/dist/oracle-runtime.js.map +0 -1
  191. package/dist/ownership-runtime.d.ts +0 -6
  192. package/dist/ownership-runtime.d.ts.map +0 -1
  193. package/dist/ownership-runtime.js +0 -49
  194. package/dist/ownership-runtime.js.map +0 -1
  195. package/dist/patch-stack-runtime.d.ts +0 -4
  196. package/dist/patch-stack-runtime.d.ts.map +0 -1
  197. package/dist/patch-stack-runtime.js +0 -97
  198. package/dist/patch-stack-runtime.js.map +0 -1
  199. package/dist/plan-helpers.d.ts +0 -13
  200. package/dist/plan-helpers.d.ts.map +0 -1
  201. package/dist/plan-helpers.js +0 -236
  202. package/dist/plan-helpers.js.map +0 -1
  203. package/dist/plan-selection.d.ts +0 -7
  204. package/dist/plan-selection.d.ts.map +0 -1
  205. package/dist/plan-selection.js +0 -86
  206. package/dist/plan-selection.js.map +0 -1
  207. package/dist/plan.d.ts +0 -126
  208. package/dist/plan.d.ts.map +0 -1
  209. package/dist/plan.js +0 -67
  210. package/dist/plan.js.map +0 -1
  211. package/dist/progress.d.ts +0 -42
  212. package/dist/progress.d.ts.map +0 -1
  213. package/dist/progress.js +0 -31
  214. package/dist/progress.js.map +0 -1
  215. package/dist/proof-runtime.d.ts +0 -16
  216. package/dist/proof-runtime.d.ts.map +0 -1
  217. package/dist/proof-runtime.js +0 -143
  218. package/dist/proof-runtime.js.map +0 -1
  219. package/dist/queue-overlays.d.ts +0 -7
  220. package/dist/queue-overlays.d.ts.map +0 -1
  221. package/dist/queue-overlays.js +0 -184
  222. package/dist/queue-overlays.js.map +0 -1
  223. package/dist/queue-types.d.ts +0 -194
  224. package/dist/queue-types.d.ts.map +0 -1
  225. package/dist/queue-types.js +0 -2
  226. package/dist/queue-types.js.map +0 -1
  227. package/dist/rebase-report.d.ts +0 -3
  228. package/dist/rebase-report.d.ts.map +0 -1
  229. package/dist/rebase-report.js +0 -52
  230. package/dist/rebase-report.js.map +0 -1
  231. package/dist/record-helpers.d.ts +0 -15
  232. package/dist/record-helpers.d.ts.map +0 -1
  233. package/dist/record-helpers.js +0 -78
  234. package/dist/record-helpers.js.map +0 -1
  235. package/dist/reference-oracle-runtime.d.ts +0 -4
  236. package/dist/reference-oracle-runtime.d.ts.map +0 -1
  237. package/dist/reference-oracle-runtime.js +0 -89
  238. package/dist/reference-oracle-runtime.js.map +0 -1
  239. package/dist/reference-types.d.ts +0 -204
  240. package/dist/reference-types.d.ts.map +0 -1
  241. package/dist/reference-types.js +0 -2
  242. package/dist/reference-types.js.map +0 -1
  243. package/dist/result-types.d.ts +0 -75
  244. package/dist/result-types.d.ts.map +0 -1
  245. package/dist/result-types.js +0 -2
  246. package/dist/result-types.js.map +0 -1
  247. package/dist/run-normalization.d.ts +0 -9
  248. package/dist/run-normalization.d.ts.map +0 -1
  249. package/dist/run-normalization.js +0 -126
  250. package/dist/run-normalization.js.map +0 -1
  251. package/dist/run-records.d.ts +0 -8
  252. package/dist/run-records.d.ts.map +0 -1
  253. package/dist/run-records.js +0 -145
  254. package/dist/run-records.js.map +0 -1
  255. package/dist/run-store-shards-runtime.d.ts +0 -3
  256. package/dist/run-store-shards-runtime.d.ts.map +0 -1
  257. package/dist/run-store-shards-runtime.js +0 -54
  258. package/dist/run-store-shards-runtime.js.map +0 -1
  259. package/dist/run-types.d.ts +0 -112
  260. package/dist/run-types.d.ts.map +0 -1
  261. package/dist/run-types.js +0 -2
  262. package/dist/run-types.js.map +0 -1
  263. package/dist/scheduler.d.ts +0 -94
  264. package/dist/scheduler.d.ts.map +0 -1
  265. package/dist/scheduler.js +0 -213
  266. package/dist/scheduler.js.map +0 -1
  267. package/dist/semantic-normalization.d.ts +0 -3
  268. package/dist/semantic-normalization.d.ts.map +0 -1
  269. package/dist/semantic-normalization.js +0 -195
  270. package/dist/semantic-normalization.js.map +0 -1
  271. package/dist/semantic-types.d.ts +0 -265
  272. package/dist/semantic-types.d.ts.map +0 -1
  273. package/dist/semantic-types.js +0 -2
  274. package/dist/semantic-types.js.map +0 -1
  275. package/dist/status-types.d.ts +0 -28
  276. package/dist/status-types.d.ts.map +0 -1
  277. package/dist/status-types.js +0 -2
  278. package/dist/status-types.js.map +0 -1
  279. package/dist/task-types.d.ts +0 -165
  280. package/dist/task-types.d.ts.map +0 -1
  281. package/dist/task-types.js +0 -2
  282. package/dist/task-types.js.map +0 -1
  283. package/dist/tournament-adaptive-feedback.d.ts +0 -22
  284. package/dist/tournament-adaptive-feedback.d.ts.map +0 -1
  285. package/dist/tournament-adaptive-feedback.js +0 -241
  286. package/dist/tournament-adaptive-feedback.js.map +0 -1
  287. package/dist/tournament-bandit-types.d.ts +0 -91
  288. package/dist/tournament-bandit-types.d.ts.map +0 -1
  289. package/dist/tournament-bandit-types.js +0 -2
  290. package/dist/tournament-bandit-types.js.map +0 -1
  291. package/dist/tournament-bandit.d.ts +0 -4
  292. package/dist/tournament-bandit.d.ts.map +0 -1
  293. package/dist/tournament-bandit.js +0 -212
  294. package/dist/tournament-bandit.js.map +0 -1
  295. package/dist/tournament-history-types.d.ts +0 -138
  296. package/dist/tournament-history-types.d.ts.map +0 -1
  297. package/dist/tournament-history-types.js +0 -2
  298. package/dist/tournament-history-types.js.map +0 -1
  299. package/dist/tournament-history.d.ts +0 -5
  300. package/dist/tournament-history.d.ts.map +0 -1
  301. package/dist/tournament-history.js +0 -210
  302. package/dist/tournament-history.js.map +0 -1
  303. package/dist/tournament-merge.d.ts +0 -7
  304. package/dist/tournament-merge.d.ts.map +0 -1
  305. package/dist/tournament-merge.js +0 -172
  306. package/dist/tournament-merge.js.map +0 -1
  307. package/dist/tournament-runtime-helpers.d.ts +0 -9
  308. package/dist/tournament-runtime-helpers.d.ts.map +0 -1
  309. package/dist/tournament-runtime-helpers.js +0 -114
  310. package/dist/tournament-runtime-helpers.js.map +0 -1
  311. package/dist/tournament-runtime.d.ts +0 -6
  312. package/dist/tournament-runtime.d.ts.map +0 -1
  313. package/dist/tournament-runtime.js +0 -202
  314. package/dist/tournament-runtime.js.map +0 -1
  315. package/dist/tournament-sample-observations.d.ts +0 -4
  316. package/dist/tournament-sample-observations.d.ts.map +0 -1
  317. package/dist/tournament-sample-observations.js +0 -19
  318. package/dist/tournament-sample-observations.js.map +0 -1
  319. package/dist/tournament-sample-quality-types.d.ts +0 -17
  320. package/dist/tournament-sample-quality-types.d.ts.map +0 -1
  321. package/dist/tournament-sample-quality-types.js +0 -2
  322. package/dist/tournament-sample-quality-types.js.map +0 -1
  323. package/dist/tournament-sample-quality.d.ts +0 -8
  324. package/dist/tournament-sample-quality.d.ts.map +0 -1
  325. package/dist/tournament-sample-quality.js +0 -66
  326. package/dist/tournament-sample-quality.js.map +0 -1
  327. package/dist/tournament-scoring.d.ts +0 -18
  328. package/dist/tournament-scoring.d.ts.map +0 -1
  329. package/dist/tournament-scoring.js +0 -136
  330. package/dist/tournament-scoring.js.map +0 -1
  331. package/dist/tournament-types.d.ts +0 -269
  332. package/dist/tournament-types.d.ts.map +0 -1
  333. package/dist/tournament-types.js +0 -2
  334. package/dist/tournament-types.js.map +0 -1
  335. package/dist/trace-helpers.d.ts +0 -22
  336. package/dist/trace-helpers.d.ts.map +0 -1
  337. package/dist/trace-helpers.js +0 -181
  338. package/dist/trace-helpers.js.map +0 -1
  339. package/dist/trace-runtime.d.ts +0 -7
  340. package/dist/trace-runtime.d.ts.map +0 -1
  341. package/dist/trace-runtime.js +0 -196
  342. package/dist/trace-runtime.js.map +0 -1
  343. package/dist/trace-types.d.ts +0 -168
  344. package/dist/trace-types.d.ts.map +0 -1
  345. package/dist/trace-types.js +0 -2
  346. package/dist/trace-types.js.map +0 -1
  347. package/dist/types.d.ts +0 -23
  348. package/dist/types.d.ts.map +0 -1
  349. package/dist/types.js +0 -2
  350. package/dist/types.js.map +0 -1
  351. package/dist/usage-governor.d.ts +0 -41
  352. package/dist/usage-governor.d.ts.map +0 -1
  353. package/dist/usage-governor.js +0 -43
  354. package/dist/usage-governor.js.map +0 -1
@@ -1,136 +0,0 @@
1
- import { stableHash, toJsonObject } from './internal.js';
2
- export const DEFAULT_OUTCOME_MULTIPLIER = {
3
- landed: 1,
4
- 'accepted-clean': 1,
5
- verified: 1,
6
- accepted: 0.98,
7
- 'accepted-needs-port': 0.78,
8
- candidate: 0.82,
9
- 'needs-port': 0.72,
10
- discovery: 0.55,
11
- 'discovery-only': 0.45,
12
- blocked: 0.35,
13
- noisy: 0.2,
14
- timeout: 0.25,
15
- error: 0.2,
16
- stale: 0,
17
- rejected: 0.1,
18
- undefined: 0
19
- };
20
- export function normalizeScoringPolicy(input = {}) {
21
- const components = Object.fromEntries(Object.entries(input.components ?? {}).sort(([left], [right]) => left.localeCompare(right)).map(([name, value]) => {
22
- const min = finite(value.min);
23
- const max = finite(value.max, 1);
24
- return [name, {
25
- weight: positive(value.weight, 1),
26
- direction: value.direction ?? 'maximize',
27
- min,
28
- max: max === min ? min + 1 : max,
29
- ...(value.unit ? { unit: value.unit } : {}),
30
- ...(value.description ? { description: value.description } : {}),
31
- ...(toJsonObject(value.metadata) ? { metadata: toJsonObject(value.metadata) } : {})
32
- }];
33
- }));
34
- const outcomeMultipliers = normalizeMultiplierRecord({
35
- ...DEFAULT_OUTCOME_MULTIPLIER,
36
- ...(input.outcomeMultipliers ?? {})
37
- });
38
- const costWeights = normalizeNumberRecord(input.costWeights);
39
- return {
40
- id: input.id ?? 'swarm-payoff-policy:' + stableHash([components, outcomeMultipliers, costWeights]),
41
- title: input.title ?? 'Swarm Payoff Scoring Policy',
42
- components,
43
- outcomeMultipliers,
44
- costWeights,
45
- ...(toJsonObject(input.metadata) ? { metadata: toJsonObject(input.metadata) } : {})
46
- };
47
- }
48
- export function scoreSwarmPayoffVector(input, policy = {}) {
49
- const scoringPolicy = normalizeScoringPolicy(policy);
50
- const weighted = Object.values(input.components).reduce((acc, component) => {
51
- return {
52
- value: acc.value + component.normalized * component.weight,
53
- weight: acc.weight + component.weight
54
- };
55
- }, { value: 0, weight: 0 });
56
- const base = weighted.weight > 0 ? weighted.value / weighted.weight : 0;
57
- const penalty = Object.values(input.penalties).reduce((sum, value) => sum + clamp01(value), 0);
58
- const costPenalty = policyCostPenalty(input, scoringPolicy);
59
- const multiplier = scoringPolicy.outcomeMultipliers[input.outcome] ?? scoringPolicy.outcomeMultipliers.candidate ?? DEFAULT_OUTCOME_MULTIPLIER.candidate;
60
- return Math.round(clamp01((base - Math.min(0.9, penalty + costPenalty)) * multiplier) * 10000) / 100;
61
- }
62
- export function normalizeComponentValue(value, direction, min = 0, max = 1) {
63
- const span = max === min ? 1 : max - min;
64
- const normalized = clamp01((value - min) / span);
65
- return direction === 'minimize' ? 1 - normalized : normalized;
66
- }
67
- export function costFromPayoff(payoff, kind) {
68
- if (kind === 'search')
69
- return (payoff.search.attempts / 100) + (payoff.search.durationMs / 60000) + (payoff.search.tokens / 100000) + payoff.search.costUsd;
70
- if (kind === 'certificate')
71
- return (payoff.certificate?.durationMs ?? 0) / 60000;
72
- return payoff.costs[kind] ?? 0;
73
- }
74
- export function normalizeNumberRecord(input) {
75
- const entries = Object.entries(input ?? {}).map(([key, value]) => [key, nonNegative(value)]);
76
- return Object.fromEntries(entries.sort(([left], [right]) => left.localeCompare(right)));
77
- }
78
- export function isVerifiedOutcome(outcome) {
79
- return outcome === 'verified' || outcome === 'accepted' || outcome === 'accepted-clean' || outcome === 'landed';
80
- }
81
- export function isRejectedOutcome(outcome) {
82
- return outcome === 'rejected' || outcome === 'error' || outcome === 'stale' || outcome === 'noisy';
83
- }
84
- export function isUndefinedOutcome(outcome) {
85
- return outcome === 'undefined' || outcome === 'timeout';
86
- }
87
- export function normalizeStringRecord(input) {
88
- const entries = Object.entries(input ?? {}).map(([key, value]) => [key, String(value)]);
89
- return Object.fromEntries(entries.sort(([left], [right]) => left.localeCompare(right)));
90
- }
91
- export function meanComponentValues(components) {
92
- if (components.length === 0)
93
- return 0;
94
- return round2(components.reduce((sum, component) => sum + component.normalized, 0) / components.length);
95
- }
96
- export function clamp01(value) {
97
- return Math.min(1, Math.max(0, finite(value)));
98
- }
99
- export function positive(value, fallback) {
100
- const number = finite(value);
101
- return number > 0 ? number : fallback;
102
- }
103
- export function nonNegative(value) {
104
- return Math.max(0, finite(value));
105
- }
106
- export function finite(value, fallback = 0) {
107
- return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
108
- }
109
- export function round2(value) {
110
- return Math.round(value * 100) / 100;
111
- }
112
- function normalizeMultiplierRecord(input) {
113
- const entries = Object.entries(input).map(([key, value]) => [key, clamp01(value)]);
114
- return Object.fromEntries(entries.sort(([left], [right]) => left.localeCompare(right)));
115
- }
116
- function policyCostPenalty(input, policy) {
117
- return Object.entries(policy.costWeights).reduce((sum, [kind, weight]) => {
118
- if (kind === 'search')
119
- return sum + costFromPartialPayoff(input, 'search') * weight;
120
- if (kind === 'certificate')
121
- return sum + costFromPartialPayoff(input, 'certificate') * weight;
122
- return sum + (input.costs?.[kind] ?? 0) * weight;
123
- }, 0);
124
- }
125
- function costFromPartialPayoff(payoff, kind) {
126
- if (kind === 'search') {
127
- const search = payoff.search;
128
- if (!search)
129
- return 0;
130
- return (search.attempts / 100) + (search.durationMs / 60000) + (search.tokens / 100000) + search.costUsd;
131
- }
132
- if (kind === 'certificate')
133
- return (payoff.certificate?.durationMs ?? 0) / 60000;
134
- return payoff.costs?.[kind] ?? 0;
135
- }
136
- //# sourceMappingURL=tournament-scoring.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tournament-scoring.js","sourceRoot":"","sources":["../src/tournament-scoring.ts"],"names":[],"mappings":"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"}
@@ -1,269 +0,0 @@
1
- import type { JsonObject } from '@shapeshift-labs/frontier';
2
- import type { FRONTIER_SWARM_STRATEGY_CERTIFICATE_KIND, FRONTIER_SWARM_STRATEGY_CERTIFICATE_VERSION, FRONTIER_SWARM_STRATEGY_TOURNAMENT_KIND, FRONTIER_SWARM_STRATEGY_TOURNAMENT_VERSION } from './constants.js';
3
- import type { FrontierSwarmMergeBundle, FrontierSwarmMergeIndex } from './merge-types.js';
4
- import type { FrontierSwarmTournamentSampleQuality } from './tournament-sample-quality-types.js';
5
- export type FrontierSwarmPayoffDirection = 'maximize' | 'minimize' | string;
6
- export type FrontierSwarmTournamentOutcome = 'verified' | 'accepted' | 'candidate' | 'discovery' | 'rejected' | 'blocked' | 'undefined' | 'timeout' | 'error' | string;
7
- export interface FrontierSwarmPayoffComponentInput {
8
- value: number;
9
- weight?: number;
10
- direction?: FrontierSwarmPayoffDirection;
11
- reason?: string;
12
- metadata?: unknown;
13
- }
14
- export interface FrontierSwarmPayoffComponentPolicyInput {
15
- weight?: number;
16
- direction?: FrontierSwarmPayoffDirection;
17
- min?: number;
18
- max?: number;
19
- unit?: string;
20
- description?: string;
21
- metadata?: unknown;
22
- }
23
- export interface FrontierSwarmPayoffComponentPolicy {
24
- weight: number;
25
- direction: FrontierSwarmPayoffDirection;
26
- min: number;
27
- max: number;
28
- unit?: string;
29
- description?: string;
30
- metadata?: JsonObject;
31
- }
32
- export interface FrontierSwarmPayoffComponent {
33
- value: number;
34
- normalized: number;
35
- weight: number;
36
- direction: FrontierSwarmPayoffDirection;
37
- reason?: string;
38
- metadata?: JsonObject;
39
- }
40
- export interface FrontierSwarmPayoffScoringPolicyInput {
41
- id?: string;
42
- title?: string;
43
- components?: Record<string, FrontierSwarmPayoffComponentPolicyInput>;
44
- outcomeMultipliers?: Record<string, number>;
45
- costWeights?: Record<string, number>;
46
- metadata?: unknown;
47
- }
48
- export interface FrontierSwarmPayoffScoringPolicy {
49
- id: string;
50
- title: string;
51
- components: Record<string, FrontierSwarmPayoffComponentPolicy>;
52
- outcomeMultipliers: Record<string, number>;
53
- costWeights: Record<string, number>;
54
- metadata?: JsonObject;
55
- }
56
- export interface FrontierSwarmStrategySearchInput {
57
- attempts?: number;
58
- durationMs?: number;
59
- tokens?: number;
60
- costUsd?: number;
61
- exploredStates?: number;
62
- strategyPath?: readonly string[];
63
- evidencePaths?: readonly string[];
64
- metadata?: unknown;
65
- }
66
- export interface FrontierSwarmStrategySearch {
67
- attempts: number;
68
- durationMs: number;
69
- tokens: number;
70
- costUsd: number;
71
- exploredStates: number;
72
- strategyPath: string[];
73
- evidencePaths: string[];
74
- metadata?: JsonObject;
75
- }
76
- export interface FrontierSwarmStrategyCertificateInput {
77
- id?: string;
78
- strategyId?: string;
79
- gameId?: string;
80
- replayable?: boolean;
81
- commands?: readonly string[];
82
- proofRefs?: readonly string[];
83
- traceRefs?: readonly string[];
84
- hashes?: Record<string, string>;
85
- durationMs?: number;
86
- evidencePaths?: readonly string[];
87
- metadata?: unknown;
88
- }
89
- export interface FrontierSwarmStrategyCertificate {
90
- kind: typeof FRONTIER_SWARM_STRATEGY_CERTIFICATE_KIND;
91
- version: typeof FRONTIER_SWARM_STRATEGY_CERTIFICATE_VERSION;
92
- id: string;
93
- strategyId?: string;
94
- gameId?: string;
95
- replayable: boolean;
96
- commands: string[];
97
- proofRefs: string[];
98
- traceRefs: string[];
99
- hashes: Record<string, string>;
100
- durationMs: number;
101
- evidencePaths: string[];
102
- metadata?: JsonObject;
103
- }
104
- export interface FrontierSwarmPayoffVectorInput {
105
- id?: string;
106
- strategyId: string;
107
- gameId?: string;
108
- matchId?: string;
109
- outcome?: FrontierSwarmTournamentOutcome;
110
- components?: Record<string, number | FrontierSwarmPayoffComponentInput>;
111
- penalties?: Record<string, number>;
112
- costs?: Record<string, number>;
113
- search?: FrontierSwarmStrategySearchInput;
114
- certificate?: FrontierSwarmStrategyCertificateInput;
115
- scoringPolicy?: FrontierSwarmPayoffScoringPolicyInput;
116
- evidencePaths?: readonly string[];
117
- tags?: readonly string[];
118
- metadata?: unknown;
119
- }
120
- export interface FrontierSwarmPayoffVector {
121
- id: string;
122
- strategyId: string;
123
- gameId?: string;
124
- matchId?: string;
125
- outcome: FrontierSwarmTournamentOutcome;
126
- components: Record<string, FrontierSwarmPayoffComponent>;
127
- penalties: Record<string, number>;
128
- costs: Record<string, number>;
129
- search: FrontierSwarmStrategySearch;
130
- certificate?: FrontierSwarmStrategyCertificate;
131
- scoringPolicy?: FrontierSwarmPayoffScoringPolicy;
132
- evidencePaths: string[];
133
- tags: string[];
134
- score: number;
135
- metadata?: JsonObject;
136
- }
137
- export interface FrontierSwarmStrategyInput {
138
- id: string;
139
- title?: string;
140
- family?: string;
141
- lane?: string;
142
- description?: string;
143
- tags?: readonly string[];
144
- metadata?: unknown;
145
- }
146
- export interface FrontierSwarmStrategy {
147
- id: string;
148
- title: string;
149
- family?: string;
150
- lane?: string;
151
- description?: string;
152
- tags: string[];
153
- metadata?: JsonObject;
154
- }
155
- export interface FrontierSwarmStrategyGameInput {
156
- id: string;
157
- title?: string;
158
- objective?: string;
159
- fixtures?: readonly string[];
160
- ownershipRegions?: readonly string[];
161
- resources?: Record<string, number>;
162
- tags?: readonly string[];
163
- metadata?: unknown;
164
- }
165
- export interface FrontierSwarmStrategyGame {
166
- id: string;
167
- title: string;
168
- objective?: string;
169
- fixtures: string[];
170
- ownershipRegions: string[];
171
- resources: Record<string, number>;
172
- tags: string[];
173
- metadata?: JsonObject;
174
- }
175
- export interface FrontierSwarmStrategyMatchInput {
176
- id?: string;
177
- strategyId?: string;
178
- gameId?: string;
179
- opponentStrategyIds?: readonly string[];
180
- payoff: FrontierSwarmPayoffVector | FrontierSwarmPayoffVectorInput;
181
- evidencePaths?: readonly string[];
182
- metadata?: unknown;
183
- }
184
- export interface FrontierSwarmStrategyMatch {
185
- id: string;
186
- strategyId: string;
187
- gameId?: string;
188
- opponentStrategyIds: string[];
189
- payoff: FrontierSwarmPayoffVector;
190
- evidencePaths: string[];
191
- metadata?: JsonObject;
192
- }
193
- export interface FrontierSwarmStrategyStanding {
194
- strategyId: string;
195
- rank: number;
196
- score: number;
197
- matchCount: number;
198
- verifiedCount: number;
199
- rejectedCount: number;
200
- undefinedCount: number;
201
- searchCost: number;
202
- certificateCost: number;
203
- reviewCost: number;
204
- resourceCost: number;
205
- costBreakdown: Record<string, number>;
206
- componentMeans: Record<string, number>;
207
- evidencePaths: string[];
208
- }
209
- export interface FrontierSwarmStrategyTournamentInput {
210
- id?: string;
211
- title?: string;
212
- strategies?: readonly FrontierSwarmStrategyInput[];
213
- games?: readonly FrontierSwarmStrategyGameInput[];
214
- matches?: readonly FrontierSwarmStrategyMatchInput[];
215
- scoringPolicy?: FrontierSwarmPayoffScoringPolicyInput;
216
- generatedAt?: number;
217
- metadata?: unknown;
218
- }
219
- export interface FrontierSwarmStrategyTournament {
220
- kind: typeof FRONTIER_SWARM_STRATEGY_TOURNAMENT_KIND;
221
- version: typeof FRONTIER_SWARM_STRATEGY_TOURNAMENT_VERSION;
222
- id: string;
223
- title: string;
224
- generatedAt: number;
225
- strategies: FrontierSwarmStrategy[];
226
- games: FrontierSwarmStrategyGame[];
227
- matches: FrontierSwarmStrategyMatch[];
228
- standings: FrontierSwarmStrategyStanding[];
229
- byStrategy: Record<string, string[]>;
230
- byGame: Record<string, string[]>;
231
- scoringPolicy: FrontierSwarmPayoffScoringPolicy;
232
- sampleQuality: FrontierSwarmTournamentSampleQuality;
233
- summary: {
234
- strategyCount: number;
235
- gameCount: number;
236
- matchCount: number;
237
- verifiedCount: number;
238
- rejectedCount: number;
239
- undefinedCount: number;
240
- outcomeCounts: Record<string, number>;
241
- sampleConfidence: FrontierSwarmTournamentSampleQuality['confidence'];
242
- decisionGrade: boolean;
243
- topStrategyId?: string;
244
- topScore?: number;
245
- };
246
- metadata?: JsonObject;
247
- }
248
- export interface FrontierSwarmStrategyTournamentQuery {
249
- strategyId?: string;
250
- gameId?: string;
251
- outcome?: FrontierSwarmTournamentOutcome;
252
- tag?: string;
253
- payoffTag?: string;
254
- strategyTag?: string;
255
- gameTag?: string;
256
- minScore?: number;
257
- maxScore?: number;
258
- }
259
- export interface FrontierSwarmMergeTournamentInput {
260
- id?: string;
261
- title?: string;
262
- gameId?: string;
263
- strategyMode?: 'bundle' | 'style' | string;
264
- bundles: readonly FrontierSwarmMergeBundle[];
265
- mergeIndex?: FrontierSwarmMergeIndex;
266
- generatedAt?: number;
267
- metadata?: unknown;
268
- }
269
- //# sourceMappingURL=tournament-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tournament-types.d.ts","sourceRoot":"","sources":["../src/tournament-types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tournament-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tournament-types.js","sourceRoot":"","sources":["../src/tournament-types.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import type { FrontierSwarmConfidence, FrontierSwarmDivergenceReport, FrontierSwarmExecutableOwnershipRegion, FrontierSwarmExecutableOwnershipRegionInput, FrontierSwarmObservabilityPoint, FrontierSwarmTraceHypothesis, FrontierSwarmTraceHypothesisInput, FrontierSwarmTraceIndex, FrontierSwarmTraceRowWindow, FrontierSwarmTraceRowWindowInput, FrontierSwarmTraceShard } from './types.js';
2
- export declare function isSwarmObservabilityPoint(value: unknown): value is FrontierSwarmObservabilityPoint;
3
- export declare function isSwarmDivergenceReport(value: unknown): value is FrontierSwarmDivergenceReport;
4
- export declare function isSwarmTraceShard(value: unknown): value is FrontierSwarmTraceShard;
5
- export declare function normalizeTraceRowWindow(input: FrontierSwarmTraceRowWindowInput, generatedAt: number): FrontierSwarmTraceRowWindow;
6
- export declare function normalizeTraceHypothesis(input: FrontierSwarmTraceHypothesisInput, generatedAt: number): FrontierSwarmTraceHypothesis;
7
- export declare function normalizeExecutableOwnershipRegion(input: FrontierSwarmExecutableOwnershipRegionInput): FrontierSwarmExecutableOwnershipRegion;
8
- export declare function summarizeTraceShards(shards: readonly {
9
- rowWindows: readonly unknown[];
10
- hypotheses: readonly unknown[];
11
- executableOwnershipRegions: readonly unknown[];
12
- focusedTests: readonly unknown[];
13
- referenceEvidence: readonly unknown[];
14
- divergence?: unknown;
15
- }[]): FrontierSwarmTraceShard['summary'] & FrontierSwarmTraceIndex['summary'];
16
- export declare function groupTraceShardsByMany(shards: readonly FrontierSwarmTraceShard[], key: (shard: FrontierSwarmTraceShard) => readonly string[]): Record<string, FrontierSwarmTraceShard[]>;
17
- export declare function traceShardRegions(shard: FrontierSwarmTraceShard): string[];
18
- export declare function traceShardSourcePaths(shard: FrontierSwarmTraceShard): string[];
19
- export declare function traceShardMaxConfidence(shard: FrontierSwarmTraceShard): number;
20
- export declare function traceShardSearchText(shard: FrontierSwarmTraceShard): string;
21
- export declare function confidenceWeight(confidence: FrontierSwarmConfidence): number;
22
- //# sourceMappingURL=trace-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace-helpers.d.ts","sourceRoot":"","sources":["../src/trace-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmD,uBAAuB,EAAE,6BAA6B,EAAE,sCAAsC,EAAE,2CAA2C,EAAqD,+BAA+B,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEre,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,+BAA+B,CAElG;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,6BAA6B,CAE9F;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAElF;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gCAAgC,EAAE,WAAW,EAAE,MAAM,GAAG,2BAA2B,CAkBjI;AACD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iCAAiC,EAAE,WAAW,EAAE,MAAM,GAAG,4BAA4B,CAsBpI;AACD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,2CAA2C,GAAG,sCAAsC,CAa7I;AACD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS;IACpD,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;IAC/B,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;IAC/B,0BAA0B,EAAE,SAAS,OAAO,EAAE,CAAC;IAC/C,YAAY,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,iBAAiB,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,EAAE,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAiB5E;AACD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,uBAAuB,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAMxL;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAK1E;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAK9E;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAO9E;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAY3E;AACD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,uBAAuB,GAAG,MAAM,CAK5E"}
@@ -1,181 +0,0 @@
1
- import { FRONTIER_SWARM_DIVERGENCE_REPORT_KIND, FRONTIER_SWARM_OBSERVABILITY_POINT_KIND, FRONTIER_SWARM_TRACE_SHARD_KIND } from './constants.js';
2
- import { positiveNumber, stableHash, stableStringify, toJsonObject, uniqueStrings } from './internal.js';
3
- export function isSwarmObservabilityPoint(value) {
4
- return !!value && typeof value === 'object' && value.kind === FRONTIER_SWARM_OBSERVABILITY_POINT_KIND;
5
- }
6
- export function isSwarmDivergenceReport(value) {
7
- return !!value && typeof value === 'object' && value.kind === FRONTIER_SWARM_DIVERGENCE_REPORT_KIND;
8
- }
9
- export function isSwarmTraceShard(value) {
10
- return !!value && typeof value === 'object' && value.kind === FRONTIER_SWARM_TRACE_SHARD_KIND;
11
- }
12
- export function normalizeTraceRowWindow(input, generatedAt) {
13
- const start = Number.isFinite(input.start) ? Math.floor(input.start) : undefined;
14
- const end = Number.isFinite(input.end) ? Math.floor(input.end) : undefined;
15
- const rowCount = Number.isFinite(input.rowCount) ? Math.max(0, Math.floor(input.rowCount)) : undefined;
16
- const firstDivergenceAt = Number.isFinite(input.firstDivergenceAt) ? Math.floor(input.firstDivergenceAt) : undefined;
17
- const deltaFields = uniqueStrings(input.deltaFields ?? []);
18
- const id = input.id ?? 'swarm-trace-window:' + stableHash([start, end, rowCount, firstDivergenceAt, deltaFields, generatedAt]);
19
- return {
20
- id,
21
- title: input.title ?? titleFromId(id),
22
- ...(start !== undefined ? { start } : {}),
23
- ...(end !== undefined ? { end } : {}),
24
- ...(rowCount !== undefined ? { rowCount } : {}),
25
- ...(firstDivergenceAt !== undefined ? { firstDivergenceAt } : {}),
26
- deltaFields,
27
- evidenceRefs: normalizeNamedRefs(input.evidenceRefs ?? [], 'trace-window-evidence'),
28
- ...(toJsonObject(input.metadata) ? { metadata: toJsonObject(input.metadata) } : {})
29
- };
30
- }
31
- export function normalizeTraceHypothesis(input, generatedAt) {
32
- const line = Number.isFinite(input.line) ? Math.max(1, Math.floor(input.line)) : undefined;
33
- const id = input.id ?? 'swarm-trace-hypothesis:' + stableHash([
34
- input.sourcePath,
35
- line,
36
- input.symbol,
37
- input.region,
38
- input.reason,
39
- generatedAt
40
- ]);
41
- return {
42
- id,
43
- title: input.title ?? titleFromId(input.symbol ?? input.region ?? id),
44
- ...(input.sourcePath ? { sourcePath: input.sourcePath } : {}),
45
- ...(line !== undefined ? { line } : {}),
46
- ...(input.symbol ? { symbol: input.symbol } : {}),
47
- ...(input.region ? { region: input.region } : {}),
48
- confidence: input.confidence ?? 'medium',
49
- ...(input.reason ? { reason: input.reason } : {}),
50
- evidenceRefs: normalizeNamedRefs(input.evidenceRefs ?? [], 'trace-hypothesis-evidence'),
51
- ...(toJsonObject(input.metadata) ? { metadata: toJsonObject(input.metadata) } : {})
52
- };
53
- }
54
- export function normalizeExecutableOwnershipRegion(input) {
55
- return {
56
- id: normalizeId(input.id, 'executable ownership region id'),
57
- kind: input.kind ?? 'semantic-region',
58
- ...(input.sourcePath ? { sourcePath: input.sourcePath } : {}),
59
- ...(input.symbol ? { symbol: input.symbol } : {}),
60
- selectors: uniqueStrings(input.selectors ?? []),
61
- affectedTests: normalizeCommands(input.affectedTests ?? []),
62
- conflictingAssumptions: uniqueStrings(input.conflictingAssumptions ?? []),
63
- traceRefs: normalizeNamedRefs(input.traceRefs ?? [], 'trace'),
64
- riskLevel: input.riskLevel ?? 'unknown',
65
- ...(toJsonObject(input.metadata) ? { metadata: toJsonObject(input.metadata) } : {})
66
- };
67
- }
68
- export function summarizeTraceShards(shards) {
69
- const rowWindowCount = shards.reduce((total, shard) => total + shard.rowWindows.length, 0);
70
- const hypothesisCount = shards.reduce((total, shard) => total + shard.hypotheses.length, 0);
71
- const executableOwnershipRegionCount = shards.reduce((total, shard) => total + shard.executableOwnershipRegions.length, 0);
72
- const focusedTestCount = shards.reduce((total, shard) => total + shard.focusedTests.length, 0);
73
- const referenceEvidenceCount = shards.reduce((total, shard) => total + shard.referenceEvidence.length, 0);
74
- const divergenceCount = shards.filter((shard) => Boolean(shard.divergence)).length;
75
- return {
76
- shardCount: shards.length,
77
- rowWindowCount,
78
- hypothesisCount,
79
- executableOwnershipRegionCount,
80
- focusedTestCount,
81
- referenceEvidenceCount,
82
- divergenceCount,
83
- hasDivergence: divergenceCount > 0
84
- };
85
- }
86
- export function groupTraceShardsByMany(shards, key) {
87
- const out = {};
88
- for (const shard of shards) {
89
- for (const value of key(shard))
90
- out[value] = [...(out[value] ?? []), shard];
91
- }
92
- return out;
93
- }
94
- export function traceShardRegions(shard) {
95
- return uniqueStrings([
96
- ...shard.hypotheses.map((hypothesis) => hypothesis.region),
97
- ...shard.executableOwnershipRegions.flatMap((region) => [region.id, ...region.selectors])
98
- ]);
99
- }
100
- export function traceShardSourcePaths(shard) {
101
- return uniqueStrings([
102
- ...shard.hypotheses.map((hypothesis) => hypothesis.sourcePath),
103
- ...shard.executableOwnershipRegions.map((region) => region.sourcePath)
104
- ]);
105
- }
106
- export function traceShardMaxConfidence(shard) {
107
- return Math.max(...[
108
- shard.divergence ? confidenceWeight(shard.divergence.confidence) : 0,
109
- ...shard.hypotheses.map((hypothesis) => confidenceWeight(hypothesis.confidence))
110
- ]);
111
- }
112
- export function traceShardSearchText(shard) {
113
- return stableStringify({
114
- id: shard.id,
115
- jobId: shard.jobId,
116
- lane: shard.lane,
117
- subject: shard.subject,
118
- status: shard.status,
119
- divergence: shard.divergence,
120
- rowWindows: shard.rowWindows,
121
- hypotheses: shard.hypotheses,
122
- executableOwnershipRegions: shard.executableOwnershipRegions
123
- }).toLowerCase();
124
- }
125
- export function confidenceWeight(confidence) {
126
- if (confidence === 'high')
127
- return 1;
128
- if (confidence === 'medium')
129
- return 0.65;
130
- if (confidence === 'low')
131
- return 0.35;
132
- return 0.5;
133
- }
134
- function titleFromId(id) {
135
- const parts = String(id).split(/[.:/_-]+/).filter(Boolean);
136
- return parts.length ? parts.map((part) => part[0]?.toUpperCase() + part.slice(1)).join(' ') : String(id);
137
- }
138
- function normalizeNamedRefs(input, fallbackKind) {
139
- return input.map((entry) => normalizeNamedRef(entry, fallbackKind)).sort((left, right) => left.id.localeCompare(right.id));
140
- }
141
- function normalizeId(value, label) {
142
- const id = String(value || '').trim();
143
- if (!id)
144
- throw new Error(`Missing ${label}`);
145
- return id;
146
- }
147
- function normalizeCommands(input) {
148
- return input.map((entry) => {
149
- if (typeof entry === 'string') {
150
- return { name: entry, command: entry, args: [], required: true };
151
- }
152
- return {
153
- name: entry.name ?? [entry.command, ...(entry.args ?? [])].join(' '),
154
- command: entry.command,
155
- args: [...(entry.args ?? [])],
156
- required: entry.required ?? true,
157
- ...(entry.cwd ? { cwd: entry.cwd } : {}),
158
- ...(toJsonObject(entry.metadata) ? { metadata: toJsonObject(entry.metadata) } : {})
159
- };
160
- });
161
- }
162
- function normalizeNamedRef(input, fallbackKind) {
163
- if (typeof input === 'string' || typeof input === 'number') {
164
- const value = String(input);
165
- return { id: value, kind: fallbackKind, path: value, tags: [] };
166
- }
167
- const path = input.path ?? input.uri;
168
- const id = input.id ?? path ?? stableHash(input);
169
- return {
170
- id,
171
- kind: input.kind ?? fallbackKind,
172
- ...(input.path ? { path: input.path } : {}),
173
- ...(input.uri ? { uri: input.uri } : {}),
174
- ...(input.role ? { role: input.role } : {}),
175
- ...(input.hash ? { hash: input.hash } : {}),
176
- ...(positiveNumber(input.bytes) ? { bytes: Math.floor(input.bytes) } : {}),
177
- tags: uniqueStrings(input.tags ?? []),
178
- ...(toJsonObject(input.metadata) ? { metadata: toJsonObject(input.metadata) } : {})
179
- };
180
- }
181
- //# sourceMappingURL=trace-helpers.js.map