@absolutejs/absolute 0.19.0-beta.534 → 0.19.0-beta.535

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.
package/dist/ai/index.js CHANGED
@@ -5677,6 +5677,98 @@ var buildGroundingCaseSnapshots = ({
5677
5677
  };
5678
5678
  });
5679
5679
  };
5680
+ var areStageCountsEqual = (left, right) => {
5681
+ const keys = new Set([
5682
+ ...Object.keys(left),
5683
+ ...Object.keys(right)
5684
+ ]);
5685
+ for (const key of keys) {
5686
+ if ((left[key] ?? 0) !== (right[key] ?? 0)) {
5687
+ return false;
5688
+ }
5689
+ }
5690
+ return true;
5691
+ };
5692
+ var buildEvaluationCaseTraceSnapshot = ({
5693
+ caseResult,
5694
+ currentTrace,
5695
+ previousTrace
5696
+ }) => {
5697
+ const stageCounts = currentTrace ? buildTraceStageCounts([currentTrace]) : {};
5698
+ const previousStageCounts = previousTrace?.stageCounts ?? {};
5699
+ const traceChange = !previousTrace ? currentTrace ? "new" : "unchanged" : previousTrace.traceMode !== currentTrace?.mode || previousTrace.transformedQuery !== (currentTrace?.transformedQuery || undefined) || previousTrace.variantQueries.join("|") !== (currentTrace?.variantQueries ?? []).join("|") || previousTrace.finalCount !== (currentTrace?.resultCounts.final ?? 0) || previousTrace.vectorCount !== (currentTrace?.resultCounts.vector ?? 0) || previousTrace.lexicalCount !== (currentTrace?.resultCounts.lexical ?? 0) || previousTrace.candidateTopK !== (currentTrace?.candidateTopK ?? 0) || previousTrace.lexicalTopK !== (currentTrace?.lexicalTopK ?? 0) || !areStageCountsEqual(previousStageCounts, stageCounts) ? "changed" : "unchanged";
5700
+ return {
5701
+ candidateTopK: currentTrace?.candidateTopK ?? 0,
5702
+ caseId: caseResult.caseId,
5703
+ finalCount: currentTrace?.resultCounts.final ?? 0,
5704
+ label: caseResult.label,
5705
+ lexicalCount: currentTrace?.resultCounts.lexical ?? 0,
5706
+ lexicalTopK: currentTrace?.lexicalTopK ?? 0,
5707
+ previousCandidateTopK: previousTrace?.candidateTopK,
5708
+ previousFinalCount: previousTrace?.finalCount,
5709
+ previousLexicalCount: previousTrace?.lexicalCount,
5710
+ previousLexicalTopK: previousTrace?.lexicalTopK,
5711
+ previousStageCounts,
5712
+ previousTraceMode: previousTrace?.traceMode,
5713
+ previousTransformedQuery: previousTrace?.transformedQuery,
5714
+ previousVariantQueries: previousTrace?.variantQueries ?? [],
5715
+ previousVectorCount: previousTrace?.vectorCount,
5716
+ query: caseResult.query,
5717
+ stageCounts,
5718
+ status: caseResult.status,
5719
+ traceChange,
5720
+ traceMode: currentTrace?.mode,
5721
+ transformedQuery: currentTrace?.transformedQuery || undefined,
5722
+ variantQueries: currentTrace?.variantQueries ?? [],
5723
+ vectorCount: currentTrace?.resultCounts.vector ?? 0
5724
+ };
5725
+ };
5726
+ var buildEvaluationCaseTraceSnapshotsFromEvaluated = (evaluated) => evaluated.map(({ caseResult, trace }) => buildEvaluationCaseTraceSnapshot({
5727
+ caseResult,
5728
+ currentTrace: trace
5729
+ }));
5730
+ var buildEvaluationCaseTraceSnapshots = ({
5731
+ current,
5732
+ previous
5733
+ }) => {
5734
+ if (!current) {
5735
+ return [];
5736
+ }
5737
+ const currentTraces = new Map((current.caseTraceSnapshots ?? []).map((entry) => [entry.caseId, entry]));
5738
+ const previousTraces = new Map((previous?.caseTraceSnapshots ?? []).map((entry) => [
5739
+ entry.caseId,
5740
+ entry
5741
+ ]));
5742
+ return current.response.cases.map((caseResult) => buildEvaluationCaseTraceSnapshot({
5743
+ caseResult,
5744
+ currentTrace: (() => {
5745
+ const currentSnapshot = currentTraces.get(caseResult.caseId);
5746
+ if (!currentSnapshot) {
5747
+ return;
5748
+ }
5749
+ return {
5750
+ candidateTopK: currentSnapshot.candidateTopK,
5751
+ lexicalTopK: currentSnapshot.lexicalTopK,
5752
+ mode: currentSnapshot.traceMode ?? "vector",
5753
+ query: caseResult.query,
5754
+ resultCounts: {
5755
+ final: currentSnapshot.finalCount,
5756
+ fused: currentSnapshot.finalCount,
5757
+ lexical: currentSnapshot.lexicalCount,
5758
+ reranked: currentSnapshot.finalCount,
5759
+ vector: currentSnapshot.vectorCount
5760
+ },
5761
+ runLexical: currentSnapshot.lexicalCount > 0,
5762
+ runVector: currentSnapshot.vectorCount > 0,
5763
+ steps: [],
5764
+ topK: caseResult.topK,
5765
+ transformedQuery: currentSnapshot.transformedQuery ?? caseResult.query,
5766
+ variantQueries: currentSnapshot.variantQueries
5767
+ };
5768
+ })(),
5769
+ previousTrace: previousTraces.get(caseResult.caseId)
5770
+ }));
5771
+ };
5680
5772
  var getStatusRank = (status) => status === "pass" ? 2 : status === "partial" ? 1 : 0;
5681
5773
  var formatSignedDelta = (value, decimals = 0, suffix = "") => `${value >= 0 ? "+" : ""}${value.toFixed(decimals)}${suffix}`;
5682
5774
  var formatEvaluationSummary = (response) => `${response.summary.passedCases}/${response.totalCases} pass \xB7 f1 ${response.summary.averageF1.toFixed(3)} \xB7 latency ${response.summary.averageLatencyMs.toFixed(1)}ms`;
@@ -5836,6 +5928,13 @@ var buildRAGEvaluationHistoryRows = (history) => {
5836
5928
  rows.push({ label: "Trace stage delta", value: stageDelta });
5837
5929
  }
5838
5930
  }
5931
+ if (history.caseTraceSnapshots.length > 0) {
5932
+ const changedCases = history.caseTraceSnapshots.filter((entry) => entry.traceChange === "changed");
5933
+ rows.push({
5934
+ label: "Trace drift cases",
5935
+ value: changedCases.length > 0 ? changedCases.map((entry) => entry.label ?? entry.caseId).slice(0, 4).join(", ") : "none"
5936
+ });
5937
+ }
5839
5938
  return rows;
5840
5939
  };
5841
5940
  var buildRAGEvaluationRunDiff = ({
@@ -6025,6 +6124,10 @@ var loadRAGEvaluationHistory = async ({
6025
6124
  const latestRun = runs[0];
6026
6125
  const previousRun = runs[1];
6027
6126
  return {
6127
+ caseTraceSnapshots: buildEvaluationCaseTraceSnapshots({
6128
+ current: latestRun,
6129
+ previous: previousRun
6130
+ }),
6028
6131
  diff: latestRun && previousRun ? buildRAGEvaluationRunDiff({
6029
6132
  current: latestRun,
6030
6133
  previous: previousRun
@@ -6236,6 +6339,7 @@ var compareRAGRerankers = async ({
6236
6339
  });
6237
6340
  const response = buildRAGEvaluationResponse(evaluated.map((entry) => entry.caseResult));
6238
6341
  return {
6342
+ caseTraceSnapshots: buildEvaluationCaseTraceSnapshotsFromEvaluated(evaluated),
6239
6343
  label: candidate.label ?? candidate.id,
6240
6344
  providerName: typeof candidate.rerank === "function" ? undefined : candidate.rerank?.providerName,
6241
6345
  response,
@@ -6322,6 +6426,7 @@ var compareRAGRetrievalStrategies = async ({
6322
6426
  });
6323
6427
  const response = buildRAGEvaluationResponse(evaluated.map((entry) => entry.caseResult));
6324
6428
  return {
6429
+ caseTraceSnapshots: buildEvaluationCaseTraceSnapshotsFromEvaluated(evaluated),
6325
6430
  label: candidate.label ?? candidate.id,
6326
6431
  response,
6327
6432
  retrievalId: candidate.id,
@@ -6390,7 +6495,8 @@ var executeDryRunRAGEvaluation = (input, defaultTopK = DEFAULT_TOP_K2) => input.
6390
6495
  var runRAGEvaluationSuite = async ({
6391
6496
  suite,
6392
6497
  evaluate,
6393
- overrides
6498
+ overrides,
6499
+ artifacts
6394
6500
  }) => {
6395
6501
  const startedAt = Date.now();
6396
6502
  const response = await evaluate({
@@ -6400,6 +6506,7 @@ var runRAGEvaluationSuite = async ({
6400
6506
  });
6401
6507
  const finishedAt = Date.now();
6402
6508
  return {
6509
+ caseTraceSnapshots: artifacts?.caseTraceSnapshots,
6403
6510
  elapsedMs: finishedAt - startedAt,
6404
6511
  finishedAt,
6405
6512
  id: generateId(),
@@ -6407,7 +6514,8 @@ var runRAGEvaluationSuite = async ({
6407
6514
  metadata: suite.metadata,
6408
6515
  response,
6409
6516
  startedAt,
6410
- suiteId: suite.id
6517
+ suiteId: suite.id,
6518
+ traceSummary: artifacts?.traceSummary
6411
6519
  };
6412
6520
  };
6413
6521
  var summarizeRAGEvaluationCase = ({
@@ -11601,5 +11709,5 @@ export {
11601
11709
  aiChat
11602
11710
  };
11603
11711
 
11604
- //# debugId=3488A515C459B2F064756E2164756E21
11712
+ //# debugId=3B5842716560251D64756E2164756E21
11605
11713
  //# sourceMappingURL=index.js.map