@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.
@@ -2130,6 +2130,98 @@ var buildGroundingCaseSnapshots = ({
2130
2130
  };
2131
2131
  });
2132
2132
  };
2133
+ var areStageCountsEqual = (left, right) => {
2134
+ const keys = new Set([
2135
+ ...Object.keys(left),
2136
+ ...Object.keys(right)
2137
+ ]);
2138
+ for (const key of keys) {
2139
+ if ((left[key] ?? 0) !== (right[key] ?? 0)) {
2140
+ return false;
2141
+ }
2142
+ }
2143
+ return true;
2144
+ };
2145
+ var buildEvaluationCaseTraceSnapshot = ({
2146
+ caseResult,
2147
+ currentTrace,
2148
+ previousTrace
2149
+ }) => {
2150
+ const stageCounts = currentTrace ? buildTraceStageCounts([currentTrace]) : {};
2151
+ const previousStageCounts = previousTrace?.stageCounts ?? {};
2152
+ 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";
2153
+ return {
2154
+ candidateTopK: currentTrace?.candidateTopK ?? 0,
2155
+ caseId: caseResult.caseId,
2156
+ finalCount: currentTrace?.resultCounts.final ?? 0,
2157
+ label: caseResult.label,
2158
+ lexicalCount: currentTrace?.resultCounts.lexical ?? 0,
2159
+ lexicalTopK: currentTrace?.lexicalTopK ?? 0,
2160
+ previousCandidateTopK: previousTrace?.candidateTopK,
2161
+ previousFinalCount: previousTrace?.finalCount,
2162
+ previousLexicalCount: previousTrace?.lexicalCount,
2163
+ previousLexicalTopK: previousTrace?.lexicalTopK,
2164
+ previousStageCounts,
2165
+ previousTraceMode: previousTrace?.traceMode,
2166
+ previousTransformedQuery: previousTrace?.transformedQuery,
2167
+ previousVariantQueries: previousTrace?.variantQueries ?? [],
2168
+ previousVectorCount: previousTrace?.vectorCount,
2169
+ query: caseResult.query,
2170
+ stageCounts,
2171
+ status: caseResult.status,
2172
+ traceChange,
2173
+ traceMode: currentTrace?.mode,
2174
+ transformedQuery: currentTrace?.transformedQuery || undefined,
2175
+ variantQueries: currentTrace?.variantQueries ?? [],
2176
+ vectorCount: currentTrace?.resultCounts.vector ?? 0
2177
+ };
2178
+ };
2179
+ var buildEvaluationCaseTraceSnapshotsFromEvaluated = (evaluated) => evaluated.map(({ caseResult, trace }) => buildEvaluationCaseTraceSnapshot({
2180
+ caseResult,
2181
+ currentTrace: trace
2182
+ }));
2183
+ var buildEvaluationCaseTraceSnapshots = ({
2184
+ current,
2185
+ previous
2186
+ }) => {
2187
+ if (!current) {
2188
+ return [];
2189
+ }
2190
+ const currentTraces = new Map((current.caseTraceSnapshots ?? []).map((entry) => [entry.caseId, entry]));
2191
+ const previousTraces = new Map((previous?.caseTraceSnapshots ?? []).map((entry) => [
2192
+ entry.caseId,
2193
+ entry
2194
+ ]));
2195
+ return current.response.cases.map((caseResult) => buildEvaluationCaseTraceSnapshot({
2196
+ caseResult,
2197
+ currentTrace: (() => {
2198
+ const currentSnapshot = currentTraces.get(caseResult.caseId);
2199
+ if (!currentSnapshot) {
2200
+ return;
2201
+ }
2202
+ return {
2203
+ candidateTopK: currentSnapshot.candidateTopK,
2204
+ lexicalTopK: currentSnapshot.lexicalTopK,
2205
+ mode: currentSnapshot.traceMode ?? "vector",
2206
+ query: caseResult.query,
2207
+ resultCounts: {
2208
+ final: currentSnapshot.finalCount,
2209
+ fused: currentSnapshot.finalCount,
2210
+ lexical: currentSnapshot.lexicalCount,
2211
+ reranked: currentSnapshot.finalCount,
2212
+ vector: currentSnapshot.vectorCount
2213
+ },
2214
+ runLexical: currentSnapshot.lexicalCount > 0,
2215
+ runVector: currentSnapshot.vectorCount > 0,
2216
+ steps: [],
2217
+ topK: caseResult.topK,
2218
+ transformedQuery: currentSnapshot.transformedQuery ?? caseResult.query,
2219
+ variantQueries: currentSnapshot.variantQueries
2220
+ };
2221
+ })(),
2222
+ previousTrace: previousTraces.get(caseResult.caseId)
2223
+ }));
2224
+ };
2133
2225
  var getStatusRank = (status) => status === "pass" ? 2 : status === "partial" ? 1 : 0;
2134
2226
  var formatSignedDelta = (value, decimals = 0, suffix = "") => `${value >= 0 ? "+" : ""}${value.toFixed(decimals)}${suffix}`;
2135
2227
  var formatEvaluationSummary = (response) => `${response.summary.passedCases}/${response.totalCases} pass \xB7 f1 ${response.summary.averageF1.toFixed(3)} \xB7 latency ${response.summary.averageLatencyMs.toFixed(1)}ms`;
@@ -2289,6 +2381,13 @@ var buildRAGEvaluationHistoryRows = (history) => {
2289
2381
  rows.push({ label: "Trace stage delta", value: stageDelta });
2290
2382
  }
2291
2383
  }
2384
+ if (history.caseTraceSnapshots.length > 0) {
2385
+ const changedCases = history.caseTraceSnapshots.filter((entry) => entry.traceChange === "changed");
2386
+ rows.push({
2387
+ label: "Trace drift cases",
2388
+ value: changedCases.length > 0 ? changedCases.map((entry) => entry.label ?? entry.caseId).slice(0, 4).join(", ") : "none"
2389
+ });
2390
+ }
2292
2391
  return rows;
2293
2392
  };
2294
2393
  var buildRAGEvaluationRunDiff = ({
@@ -2478,6 +2577,10 @@ var loadRAGEvaluationHistory = async ({
2478
2577
  const latestRun = runs[0];
2479
2578
  const previousRun = runs[1];
2480
2579
  return {
2580
+ caseTraceSnapshots: buildEvaluationCaseTraceSnapshots({
2581
+ current: latestRun,
2582
+ previous: previousRun
2583
+ }),
2481
2584
  diff: latestRun && previousRun ? buildRAGEvaluationRunDiff({
2482
2585
  current: latestRun,
2483
2586
  previous: previousRun
@@ -2689,6 +2792,7 @@ var compareRAGRerankers = async ({
2689
2792
  });
2690
2793
  const response = buildRAGEvaluationResponse(evaluated.map((entry) => entry.caseResult));
2691
2794
  return {
2795
+ caseTraceSnapshots: buildEvaluationCaseTraceSnapshotsFromEvaluated(evaluated),
2692
2796
  label: candidate.label ?? candidate.id,
2693
2797
  providerName: typeof candidate.rerank === "function" ? undefined : candidate.rerank?.providerName,
2694
2798
  response,
@@ -2775,6 +2879,7 @@ var compareRAGRetrievalStrategies = async ({
2775
2879
  });
2776
2880
  const response = buildRAGEvaluationResponse(evaluated.map((entry) => entry.caseResult));
2777
2881
  return {
2882
+ caseTraceSnapshots: buildEvaluationCaseTraceSnapshotsFromEvaluated(evaluated),
2778
2883
  label: candidate.label ?? candidate.id,
2779
2884
  response,
2780
2885
  retrievalId: candidate.id,
@@ -2843,7 +2948,8 @@ var executeDryRunRAGEvaluation = (input, defaultTopK = DEFAULT_TOP_K) => input.c
2843
2948
  var runRAGEvaluationSuite = async ({
2844
2949
  suite,
2845
2950
  evaluate,
2846
- overrides
2951
+ overrides,
2952
+ artifacts
2847
2953
  }) => {
2848
2954
  const startedAt = Date.now();
2849
2955
  const response = await evaluate({
@@ -2853,6 +2959,7 @@ var runRAGEvaluationSuite = async ({
2853
2959
  });
2854
2960
  const finishedAt = Date.now();
2855
2961
  return {
2962
+ caseTraceSnapshots: artifacts?.caseTraceSnapshots,
2856
2963
  elapsedMs: finishedAt - startedAt,
2857
2964
  finishedAt,
2858
2965
  id: generateId(),
@@ -2860,7 +2967,8 @@ var runRAGEvaluationSuite = async ({
2860
2967
  metadata: suite.metadata,
2861
2968
  response,
2862
2969
  startedAt,
2863
- suiteId: suite.id
2970
+ suiteId: suite.id,
2971
+ traceSummary: artifacts?.traceSummary
2864
2972
  };
2865
2973
  };
2866
2974
  var summarizeRAGEvaluationCase = ({
@@ -2934,5 +3042,5 @@ export {
2934
3042
  buildRAGAnswerWorkflowState
2935
3043
  };
2936
3044
 
2937
- //# debugId=119AFB5A8066203F64756E2164756E21
3045
+ //# debugId=EF37DD99ACE1DD0D64756E2164756E21
2938
3046
  //# sourceMappingURL=index.js.map