@absolutejs/absolute 0.19.0-beta.641 → 0.19.0-beta.643

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.
@@ -2925,21 +2925,40 @@ var formatTraceCountDelta = (value) => `${value >= 0 ? "+" : ""}${value}`;
2925
2925
  var buildComparisonOverviewPresentation = (input) => {
2926
2926
  const winnerLabel = input.resolveLabel(input.summary.bestByPassingRate);
2927
2927
  const winnerEntry = input.resolveEntry(input.summary.bestByPassingRate);
2928
+ const rows = [
2929
+ {
2930
+ label: "Best passing rate",
2931
+ value: input.resolveLabel(input.summary.bestByPassingRate)
2932
+ },
2933
+ {
2934
+ label: "Best average F1",
2935
+ value: input.resolveLabel(input.summary.bestByAverageF1)
2936
+ },
2937
+ {
2938
+ label: "Fastest",
2939
+ value: input.resolveLabel(input.summary.fastest)
2940
+ }
2941
+ ];
2942
+ if (input.summary.bestByMultivectorCollapsedCases) {
2943
+ rows.push({
2944
+ label: "Best multivector collapse",
2945
+ value: input.resolveLabel(input.summary.bestByMultivectorCollapsedCases)
2946
+ });
2947
+ }
2948
+ if (input.summary.bestByMultivectorLexicalHitCases) {
2949
+ rows.push({
2950
+ label: "Best multivector lexical hits",
2951
+ value: input.resolveLabel(input.summary.bestByMultivectorLexicalHitCases)
2952
+ });
2953
+ }
2954
+ if (input.summary.bestByMultivectorVectorHitCases) {
2955
+ rows.push({
2956
+ label: "Best multivector vector hits",
2957
+ value: input.resolveLabel(input.summary.bestByMultivectorVectorHitCases)
2958
+ });
2959
+ }
2928
2960
  return {
2929
- rows: [
2930
- {
2931
- label: "Best passing rate",
2932
- value: input.resolveLabel(input.summary.bestByPassingRate)
2933
- },
2934
- {
2935
- label: "Best average F1",
2936
- value: input.resolveLabel(input.summary.bestByAverageF1)
2937
- },
2938
- {
2939
- label: "Fastest",
2940
- value: input.resolveLabel(input.summary.fastest)
2941
- }
2942
- ],
2961
+ rows,
2943
2962
  winnerLabel,
2944
2963
  summary: winnerEntry ? `passing ${formatEvaluationPassingRate(winnerEntry.response.passingRate)} \xB7 f1 ${winnerEntry.response.summary.averageF1.toFixed(3)} \xB7 latency ${winnerEntry.response.summary.averageLatencyMs.toFixed(1)}ms` : "Stored benchmark comparison"
2945
2964
  };
@@ -2987,6 +3006,9 @@ var buildRAGComparisonTraceSummaryRows = (entry) => {
2987
3006
  }, {
2988
3007
  label: "Variants",
2989
3008
  value: formatTraceRatio(trace.variantCases, trace.totalCases)
3009
+ }, {
3010
+ label: "Multivector",
3011
+ value: `${formatTraceRatio(trace.multiVectorCases, trace.totalCases)} \xB7 collapse ${formatTraceRatio(trace.multiVectorCollapsedCases, trace.totalCases)} \xB7 lexical ${formatTraceRatio(trace.multiVectorLexicalHitCases, trace.totalCases)} \xB7 vector ${formatTraceRatio(trace.multiVectorVectorHitCases, trace.totalCases)}`
2990
3012
  }, {
2991
3013
  label: "TopK",
2992
3014
  value: `${trace.averageCandidateTopK.toFixed(1)} / ${trace.averageLexicalTopK.toFixed(1)}`
@@ -4043,6 +4065,15 @@ var evaluateRetrievalComparisonGate = ({
4043
4065
  if (typeof policy.maxElapsedMsDelta === "number" && delta.elapsedMsDelta > policy.maxElapsedMsDelta) {
4044
4066
  reasons.push(`elapsed ms delta ${delta.elapsedMsDelta} exceeds ${policy.maxElapsedMsDelta}`);
4045
4067
  }
4068
+ if (typeof policy.minMultiVectorCollapsedCasesDelta === "number" && (delta.multiVectorCollapsedCasesDelta ?? 0) < policy.minMultiVectorCollapsedCasesDelta) {
4069
+ reasons.push(`multivector collapsed delta ${delta.multiVectorCollapsedCasesDelta ?? 0} is below ${policy.minMultiVectorCollapsedCasesDelta}`);
4070
+ }
4071
+ if (typeof policy.minMultiVectorLexicalHitCasesDelta === "number" && (delta.multiVectorLexicalHitCasesDelta ?? 0) < policy.minMultiVectorLexicalHitCasesDelta) {
4072
+ reasons.push(`multivector lexical-hit delta ${delta.multiVectorLexicalHitCasesDelta ?? 0} is below ${policy.minMultiVectorLexicalHitCasesDelta}`);
4073
+ }
4074
+ if (typeof policy.minMultiVectorVectorHitCasesDelta === "number" && (delta.multiVectorVectorHitCasesDelta ?? 0) < policy.minMultiVectorVectorHitCasesDelta) {
4075
+ reasons.push(`multivector vector-hit delta ${delta.multiVectorVectorHitCasesDelta ?? 0} is below ${policy.minMultiVectorVectorHitCasesDelta}`);
4076
+ }
4046
4077
  if (reasons.length === 0) {
4047
4078
  return {
4048
4079
  policy,
@@ -4545,6 +4576,34 @@ var buildTraceSummaryAggregate = ({
4545
4576
  direction: "flat",
4546
4577
  metric: "variantCases",
4547
4578
  previous: 0
4579
+ },
4580
+ {
4581
+ current: 0,
4582
+ delta: 0,
4583
+ direction: "flat",
4584
+ metric: "multiVectorCases",
4585
+ previous: 0
4586
+ },
4587
+ {
4588
+ current: 0,
4589
+ delta: 0,
4590
+ direction: "flat",
4591
+ metric: "multiVectorVectorHitCases",
4592
+ previous: 0
4593
+ },
4594
+ {
4595
+ current: 0,
4596
+ delta: 0,
4597
+ direction: "flat",
4598
+ metric: "multiVectorLexicalHitCases",
4599
+ previous: 0
4600
+ },
4601
+ {
4602
+ current: 0,
4603
+ delta: 0,
4604
+ direction: "flat",
4605
+ metric: "multiVectorCollapsedCases",
4606
+ previous: 0
4548
4607
  }
4549
4608
  ];
4550
4609
  return {
@@ -4639,6 +4698,34 @@ var buildTraceSummaryAggregate = ({
4639
4698
  direction: buildTraceSummaryDirection(latest.variantCases - previous.variantCases),
4640
4699
  metric: "variantCases",
4641
4700
  previous: previous.variantCases
4701
+ },
4702
+ {
4703
+ current: latest.multiVectorCases,
4704
+ delta: latest.multiVectorCases - previous.multiVectorCases,
4705
+ direction: buildTraceSummaryDirection(latest.multiVectorCases - previous.multiVectorCases),
4706
+ metric: "multiVectorCases",
4707
+ previous: previous.multiVectorCases
4708
+ },
4709
+ {
4710
+ current: latest.multiVectorVectorHitCases,
4711
+ delta: latest.multiVectorVectorHitCases - previous.multiVectorVectorHitCases,
4712
+ direction: buildTraceSummaryDirection(latest.multiVectorVectorHitCases - previous.multiVectorVectorHitCases),
4713
+ metric: "multiVectorVectorHitCases",
4714
+ previous: previous.multiVectorVectorHitCases
4715
+ },
4716
+ {
4717
+ current: latest.multiVectorLexicalHitCases,
4718
+ delta: latest.multiVectorLexicalHitCases - previous.multiVectorLexicalHitCases,
4719
+ direction: buildTraceSummaryDirection(latest.multiVectorLexicalHitCases - previous.multiVectorLexicalHitCases),
4720
+ metric: "multiVectorLexicalHitCases",
4721
+ previous: previous.multiVectorLexicalHitCases
4722
+ },
4723
+ {
4724
+ current: latest.multiVectorCollapsedCases,
4725
+ delta: latest.multiVectorCollapsedCases - previous.multiVectorCollapsedCases,
4726
+ direction: buildTraceSummaryDirection(latest.multiVectorCollapsedCases - previous.multiVectorCollapsedCases),
4727
+ metric: "multiVectorCollapsedCases",
4728
+ previous: previous.multiVectorCollapsedCases
4642
4729
  }
4643
4730
  ];
4644
4731
  const absoluteSorted = [...aggregate].sort((left, right) => Math.abs(right.delta) - Math.abs(left.delta) || left.metric.localeCompare(right.metric));
@@ -4689,6 +4776,10 @@ var summarizeRetrievalTraces = (traces) => {
4689
4776
  let roundRobinCases = 0;
4690
4777
  let transformedCases = 0;
4691
4778
  let variantCases = 0;
4779
+ let multiVectorCases = 0;
4780
+ let multiVectorVectorHitCases = 0;
4781
+ let multiVectorLexicalHitCases = 0;
4782
+ let multiVectorCollapsedCases = 0;
4692
4783
  let finalCountSum = 0;
4693
4784
  let vectorCountSum = 0;
4694
4785
  let lexicalCountSum = 0;
@@ -4715,6 +4806,18 @@ var summarizeRetrievalTraces = (traces) => {
4715
4806
  if (trace.variantQueries.length > 0) {
4716
4807
  variantCases += 1;
4717
4808
  }
4809
+ if (trace.multiVector?.configured) {
4810
+ multiVectorCases += 1;
4811
+ }
4812
+ if ((trace.multiVector?.vectorVariantHits ?? 0) > 0) {
4813
+ multiVectorVectorHitCases += 1;
4814
+ }
4815
+ if ((trace.multiVector?.lexicalVariantHits ?? 0) > 0) {
4816
+ multiVectorLexicalHitCases += 1;
4817
+ }
4818
+ if ((trace.multiVector?.collapsedParents ?? 0) > 0) {
4819
+ multiVectorCollapsedCases += 1;
4820
+ }
4718
4821
  finalCountSum += trace.resultCounts.final;
4719
4822
  vectorCountSum += trace.resultCounts.vector;
4720
4823
  lexicalCountSum += trace.resultCounts.lexical;
@@ -4736,6 +4839,10 @@ var summarizeRetrievalTraces = (traces) => {
4736
4839
  totalCases,
4737
4840
  transformedCases,
4738
4841
  variantCases,
4842
+ multiVectorCases,
4843
+ multiVectorVectorHitCases,
4844
+ multiVectorLexicalHitCases,
4845
+ multiVectorCollapsedCases,
4739
4846
  vectorCases
4740
4847
  };
4741
4848
  };
@@ -8318,13 +8425,19 @@ var buildRAGRetrievalComparisonDecisionSummary = ({
8318
8425
  const delta = baselineEntry && candidateEntry ? {
8319
8426
  averageF1Delta: candidateEntry.response.summary.averageF1 - baselineEntry.response.summary.averageF1,
8320
8427
  elapsedMsDelta: candidateEntry.response.elapsedMs - baselineEntry.response.elapsedMs,
8321
- passingRateDelta: candidateEntry.response.passingRate - baselineEntry.response.passingRate
8428
+ passingRateDelta: candidateEntry.response.passingRate - baselineEntry.response.passingRate,
8429
+ multiVectorCollapsedCasesDelta: (candidateEntry.traceSummary?.multiVectorCollapsedCases ?? 0) - (baselineEntry.traceSummary?.multiVectorCollapsedCases ?? 0),
8430
+ multiVectorLexicalHitCasesDelta: (candidateEntry.traceSummary?.multiVectorLexicalHitCases ?? 0) - (baselineEntry.traceSummary?.multiVectorLexicalHitCases ?? 0),
8431
+ multiVectorVectorHitCasesDelta: (candidateEntry.traceSummary?.multiVectorVectorHitCases ?? 0) - (baselineEntry.traceSummary?.multiVectorVectorHitCases ?? 0)
8322
8432
  } : undefined;
8323
8433
  return {
8324
8434
  baseline: baselineEntry ? {
8325
8435
  averageF1: baselineEntry.response.summary.averageF1,
8326
8436
  elapsedMs: baselineEntry.response.elapsedMs,
8327
8437
  label: baselineEntry.label,
8438
+ multiVectorCollapsedCases: baselineEntry.traceSummary?.multiVectorCollapsedCases,
8439
+ multiVectorLexicalHitCases: baselineEntry.traceSummary?.multiVectorLexicalHitCases,
8440
+ multiVectorVectorHitCases: baselineEntry.traceSummary?.multiVectorVectorHitCases,
8328
8441
  passingRate: baselineEntry.response.passingRate,
8329
8442
  retrievalId: baselineEntry.retrievalId
8330
8443
  } : undefined,
@@ -8333,6 +8446,9 @@ var buildRAGRetrievalComparisonDecisionSummary = ({
8333
8446
  averageF1: candidateEntry.response.summary.averageF1,
8334
8447
  elapsedMs: candidateEntry.response.elapsedMs,
8335
8448
  label: candidateEntry.label,
8449
+ multiVectorCollapsedCases: candidateEntry.traceSummary?.multiVectorCollapsedCases,
8450
+ multiVectorLexicalHitCases: candidateEntry.traceSummary?.multiVectorLexicalHitCases,
8451
+ multiVectorVectorHitCases: candidateEntry.traceSummary?.multiVectorVectorHitCases,
8336
8452
  passingRate: candidateEntry.response.passingRate,
8337
8453
  retrievalId: candidateEntry.retrievalId
8338
8454
  } : undefined,
@@ -8341,7 +8457,10 @@ var buildRAGRetrievalComparisonDecisionSummary = ({
8341
8457
  fastest: comparison.summary.fastest,
8342
8458
  gate: evaluateRetrievalComparisonGate({ delta, policy }),
8343
8459
  winnerByAverageF1: comparison.summary.bestByAverageF1,
8344
- winnerByPassingRate: comparison.summary.bestByPassingRate
8460
+ winnerByPassingRate: comparison.summary.bestByPassingRate,
8461
+ winnerByMultivectorCollapsedCases: comparison.summary.bestByMultivectorCollapsedCases,
8462
+ winnerByMultivectorLexicalHitCases: comparison.summary.bestByMultivectorLexicalHitCases,
8463
+ winnerByMultivectorVectorHitCases: comparison.summary.bestByMultivectorVectorHitCases
8345
8464
  };
8346
8465
  };
8347
8466
  var loadRAGSearchTracePruneHistory = async ({
@@ -9003,6 +9122,32 @@ var summarizeEvaluationResponseComparison = (entries, idKey) => {
9003
9122
  fastest: getId(byLatency[0])
9004
9123
  };
9005
9124
  };
9125
+ var selectComparisonEntryByTraceMetric = (entries, idKey, metric) => {
9126
+ const ranked = [...entries].sort((left, right) => {
9127
+ const leftMetric = left.traceSummary?.[metric] ?? 0;
9128
+ const rightMetric = right.traceSummary?.[metric] ?? 0;
9129
+ if (rightMetric !== leftMetric) {
9130
+ return rightMetric - leftMetric;
9131
+ }
9132
+ const leftEvidenceScore = (left.traceSummary?.multiVectorCollapsedCases ?? 0) + (left.traceSummary?.multiVectorLexicalHitCases ?? 0) + (left.traceSummary?.multiVectorVectorHitCases ?? 0);
9133
+ const rightEvidenceScore = (right.traceSummary?.multiVectorCollapsedCases ?? 0) + (right.traceSummary?.multiVectorLexicalHitCases ?? 0) + (right.traceSummary?.multiVectorVectorHitCases ?? 0);
9134
+ if (rightEvidenceScore !== leftEvidenceScore) {
9135
+ return rightEvidenceScore - leftEvidenceScore;
9136
+ }
9137
+ if (right.response.passingRate !== left.response.passingRate) {
9138
+ return right.response.passingRate - left.response.passingRate;
9139
+ }
9140
+ if (right.response.summary.averageF1 !== left.response.summary.averageF1) {
9141
+ return right.response.summary.averageF1 - left.response.summary.averageF1;
9142
+ }
9143
+ return left.response.summary.averageLatencyMs - right.response.summary.averageLatencyMs;
9144
+ });
9145
+ const winner = ranked[0];
9146
+ if (!winner || (winner.traceSummary?.[metric] ?? 0) === 0) {
9147
+ return;
9148
+ }
9149
+ return typeof winner[idKey] === "string" ? winner[idKey] : undefined;
9150
+ };
9006
9151
  var resolveRetrievalMode = (candidate) => {
9007
9152
  if (!candidate.retrieval) {
9008
9153
  return "vector";
@@ -9092,7 +9237,11 @@ var compareRAGRetrievalTraceSummaries = (current, previous) => ({
9092
9237
  totalCasesDelta: current.totalCases - previous.totalCases,
9093
9238
  transformedCasesDelta: current.transformedCases - previous.transformedCases,
9094
9239
  vectorCasesDelta: current.vectorCases - previous.vectorCases,
9095
- variantCasesDelta: current.variantCases - previous.variantCases
9240
+ variantCasesDelta: current.variantCases - previous.variantCases,
9241
+ multiVectorCasesDelta: current.multiVectorCases - previous.multiVectorCases,
9242
+ multiVectorVectorHitCasesDelta: current.multiVectorVectorHitCases - previous.multiVectorVectorHitCases,
9243
+ multiVectorLexicalHitCasesDelta: current.multiVectorLexicalHitCases - previous.multiVectorLexicalHitCases,
9244
+ multiVectorCollapsedCasesDelta: current.multiVectorCollapsedCases - previous.multiVectorCollapsedCases
9096
9245
  });
9097
9246
  var buildSearchTraceResultSnapshots = (results) => results.map((result) => ({
9098
9247
  chunkId: result.chunkId,
@@ -9657,7 +9806,12 @@ var summarizeRAGEvaluationCase = ({
9657
9806
  var summarizeRAGRerankerComparison = (entries) => {
9658
9807
  return summarizeEvaluationResponseComparison(entries, "rerankerId");
9659
9808
  };
9660
- var summarizeRAGRetrievalComparison = (entries) => summarizeEvaluationResponseComparison(entries, "retrievalId");
9809
+ var summarizeRAGRetrievalComparison = (entries) => ({
9810
+ ...summarizeEvaluationResponseComparison(entries, "retrievalId"),
9811
+ bestByMultivectorCollapsedCases: selectComparisonEntryByTraceMetric(entries, "retrievalId", "multiVectorCollapsedCases"),
9812
+ bestByMultivectorLexicalHitCases: selectComparisonEntryByTraceMetric(entries, "retrievalId", "multiVectorLexicalHitCases"),
9813
+ bestByMultivectorVectorHitCases: selectComparisonEntryByTraceMetric(entries, "retrievalId", "multiVectorVectorHitCases")
9814
+ });
9661
9815
  export {
9662
9816
  resolveRAGStreamStage,
9663
9817
  buildRAGStreamProgress as getRAGStreamProgress,
@@ -9678,5 +9832,5 @@ export {
9678
9832
  buildRAGAnswerWorkflowState
9679
9833
  };
9680
9834
 
9681
- //# debugId=02EC7512964EC94364756E2164756E21
9835
+ //# debugId=FA06D1065D409D0964756E2164756E21
9682
9836
  //# sourceMappingURL=ui.js.map