@absolutejs/absolute 0.19.0-beta.534 → 0.19.0-beta.536
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/client/index.js +174 -3
- package/dist/ai/client/index.js.map +4 -4
- package/dist/ai/index.js +176 -3
- package/dist/ai/index.js.map +4 -4
- package/dist/ai-client/react/ai/index.js +5 -2
- package/dist/ai-client/vue/ai/index.js +5 -2
- package/dist/angular/ai/index.js +64 -1
- package/dist/angular/ai/index.js.map +3 -3
- package/dist/react/ai/index.js +174 -3
- package/dist/react/ai/index.js.map +4 -4
- package/dist/src/ai/index.d.ts +1 -1
- package/dist/src/ai/rag/index.d.ts +1 -1
- package/dist/src/ai/rag/presentation.d.ts +3 -1
- package/dist/src/ai/rag/quality.d.ts +5 -2
- package/dist/src/react/ai/useRAG.d.ts +2 -0
- package/dist/src/react/ai/useRAGEvaluate.d.ts +2 -0
- package/dist/src/svelte/ai/createRAG.d.ts +2 -0
- package/dist/src/svelte/ai/createRAGEvaluate.d.ts +2 -0
- package/dist/src/vue/ai/useRAG.d.ts +92 -0
- package/dist/src/vue/ai/useRAGEvaluate.d.ts +92 -0
- package/dist/svelte/ai/index.js +174 -3
- package/dist/svelte/ai/index.js.map +4 -4
- package/dist/types/ai.d.ts +40 -0
- package/dist/vue/ai/index.js +174 -3
- package/dist/vue/ai/index.js.map +4 -4
- package/package.json +7 -7
package/dist/ai/index.js
CHANGED
|
@@ -4718,6 +4718,69 @@ var formatTimestampLabel = (value) => {
|
|
|
4718
4718
|
timeStyle: "short"
|
|
4719
4719
|
});
|
|
4720
4720
|
};
|
|
4721
|
+
var formatRAGTraceValue = (value) => {
|
|
4722
|
+
if (typeof value === "string")
|
|
4723
|
+
return value;
|
|
4724
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
4725
|
+
return String(value);
|
|
4726
|
+
}
|
|
4727
|
+
if (Array.isArray(value)) {
|
|
4728
|
+
return value.join(", ");
|
|
4729
|
+
}
|
|
4730
|
+
if (value && typeof value === "object") {
|
|
4731
|
+
return JSON.stringify(value);
|
|
4732
|
+
}
|
|
4733
|
+
return "n/a";
|
|
4734
|
+
};
|
|
4735
|
+
var buildRAGRetrievalTracePresentation = (trace) => {
|
|
4736
|
+
if (!trace) {
|
|
4737
|
+
return {
|
|
4738
|
+
details: [],
|
|
4739
|
+
stats: [],
|
|
4740
|
+
steps: []
|
|
4741
|
+
};
|
|
4742
|
+
}
|
|
4743
|
+
const stats = [
|
|
4744
|
+
{ label: "Mode", value: trace.mode },
|
|
4745
|
+
{ label: "Final Results", value: String(trace.resultCounts.final) },
|
|
4746
|
+
{
|
|
4747
|
+
label: "Vector Candidates",
|
|
4748
|
+
value: String(trace.resultCounts.vector)
|
|
4749
|
+
},
|
|
4750
|
+
{
|
|
4751
|
+
label: "Lexical Candidates",
|
|
4752
|
+
value: String(trace.resultCounts.lexical)
|
|
4753
|
+
}
|
|
4754
|
+
];
|
|
4755
|
+
const details = [
|
|
4756
|
+
{ label: "Transformed query", value: trace.transformedQuery },
|
|
4757
|
+
{
|
|
4758
|
+
label: "Variant queries",
|
|
4759
|
+
value: trace.variantQueries.length > 0 ? trace.variantQueries.join(" \xB7 ") : "none"
|
|
4760
|
+
},
|
|
4761
|
+
{ label: "Candidate topK", value: String(trace.candidateTopK) },
|
|
4762
|
+
{ label: "Lexical topK", value: String(trace.lexicalTopK) }
|
|
4763
|
+
];
|
|
4764
|
+
const steps = trace.steps.map((step) => ({
|
|
4765
|
+
count: step.count,
|
|
4766
|
+
label: step.label,
|
|
4767
|
+
rows: [
|
|
4768
|
+
{ label: "stage", value: step.stage },
|
|
4769
|
+
...typeof step.count === "number" ? [{ label: "count", value: String(step.count) }] : [],
|
|
4770
|
+
...typeof step.durationMs === "number" ? [{ label: "durationMs", value: String(step.durationMs) }] : [],
|
|
4771
|
+
...Object.entries(step.metadata ?? {}).map(([key, value]) => ({
|
|
4772
|
+
label: key,
|
|
4773
|
+
value: formatRAGTraceValue(value)
|
|
4774
|
+
}))
|
|
4775
|
+
],
|
|
4776
|
+
stage: step.stage
|
|
4777
|
+
}));
|
|
4778
|
+
return {
|
|
4779
|
+
details,
|
|
4780
|
+
stats,
|
|
4781
|
+
steps
|
|
4782
|
+
};
|
|
4783
|
+
};
|
|
4721
4784
|
var formatMediaTimestamp = (value) => {
|
|
4722
4785
|
if (typeof value !== "number" || !Number.isFinite(value) || value < 0) {
|
|
4723
4786
|
return;
|
|
@@ -5677,6 +5740,98 @@ var buildGroundingCaseSnapshots = ({
|
|
|
5677
5740
|
};
|
|
5678
5741
|
});
|
|
5679
5742
|
};
|
|
5743
|
+
var areStageCountsEqual = (left, right) => {
|
|
5744
|
+
const keys = new Set([
|
|
5745
|
+
...Object.keys(left),
|
|
5746
|
+
...Object.keys(right)
|
|
5747
|
+
]);
|
|
5748
|
+
for (const key of keys) {
|
|
5749
|
+
if ((left[key] ?? 0) !== (right[key] ?? 0)) {
|
|
5750
|
+
return false;
|
|
5751
|
+
}
|
|
5752
|
+
}
|
|
5753
|
+
return true;
|
|
5754
|
+
};
|
|
5755
|
+
var buildEvaluationCaseTraceSnapshot = ({
|
|
5756
|
+
caseResult,
|
|
5757
|
+
currentTrace,
|
|
5758
|
+
previousTrace
|
|
5759
|
+
}) => {
|
|
5760
|
+
const stageCounts = currentTrace ? buildTraceStageCounts([currentTrace]) : {};
|
|
5761
|
+
const previousStageCounts = previousTrace?.stageCounts ?? {};
|
|
5762
|
+
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";
|
|
5763
|
+
return {
|
|
5764
|
+
candidateTopK: currentTrace?.candidateTopK ?? 0,
|
|
5765
|
+
caseId: caseResult.caseId,
|
|
5766
|
+
finalCount: currentTrace?.resultCounts.final ?? 0,
|
|
5767
|
+
label: caseResult.label,
|
|
5768
|
+
lexicalCount: currentTrace?.resultCounts.lexical ?? 0,
|
|
5769
|
+
lexicalTopK: currentTrace?.lexicalTopK ?? 0,
|
|
5770
|
+
previousCandidateTopK: previousTrace?.candidateTopK,
|
|
5771
|
+
previousFinalCount: previousTrace?.finalCount,
|
|
5772
|
+
previousLexicalCount: previousTrace?.lexicalCount,
|
|
5773
|
+
previousLexicalTopK: previousTrace?.lexicalTopK,
|
|
5774
|
+
previousStageCounts,
|
|
5775
|
+
previousTraceMode: previousTrace?.traceMode,
|
|
5776
|
+
previousTransformedQuery: previousTrace?.transformedQuery,
|
|
5777
|
+
previousVariantQueries: previousTrace?.variantQueries ?? [],
|
|
5778
|
+
previousVectorCount: previousTrace?.vectorCount,
|
|
5779
|
+
query: caseResult.query,
|
|
5780
|
+
stageCounts,
|
|
5781
|
+
status: caseResult.status,
|
|
5782
|
+
traceChange,
|
|
5783
|
+
traceMode: currentTrace?.mode,
|
|
5784
|
+
transformedQuery: currentTrace?.transformedQuery || undefined,
|
|
5785
|
+
variantQueries: currentTrace?.variantQueries ?? [],
|
|
5786
|
+
vectorCount: currentTrace?.resultCounts.vector ?? 0
|
|
5787
|
+
};
|
|
5788
|
+
};
|
|
5789
|
+
var buildEvaluationCaseTraceSnapshotsFromEvaluated = (evaluated) => evaluated.map(({ caseResult, trace }) => buildEvaluationCaseTraceSnapshot({
|
|
5790
|
+
caseResult,
|
|
5791
|
+
currentTrace: trace
|
|
5792
|
+
}));
|
|
5793
|
+
var buildEvaluationCaseTraceSnapshots = ({
|
|
5794
|
+
current,
|
|
5795
|
+
previous
|
|
5796
|
+
}) => {
|
|
5797
|
+
if (!current) {
|
|
5798
|
+
return [];
|
|
5799
|
+
}
|
|
5800
|
+
const currentTraces = new Map((current.caseTraceSnapshots ?? []).map((entry) => [entry.caseId, entry]));
|
|
5801
|
+
const previousTraces = new Map((previous?.caseTraceSnapshots ?? []).map((entry) => [
|
|
5802
|
+
entry.caseId,
|
|
5803
|
+
entry
|
|
5804
|
+
]));
|
|
5805
|
+
return current.response.cases.map((caseResult) => buildEvaluationCaseTraceSnapshot({
|
|
5806
|
+
caseResult,
|
|
5807
|
+
currentTrace: (() => {
|
|
5808
|
+
const currentSnapshot = currentTraces.get(caseResult.caseId);
|
|
5809
|
+
if (!currentSnapshot) {
|
|
5810
|
+
return;
|
|
5811
|
+
}
|
|
5812
|
+
return {
|
|
5813
|
+
candidateTopK: currentSnapshot.candidateTopK,
|
|
5814
|
+
lexicalTopK: currentSnapshot.lexicalTopK,
|
|
5815
|
+
mode: currentSnapshot.traceMode ?? "vector",
|
|
5816
|
+
query: caseResult.query,
|
|
5817
|
+
resultCounts: {
|
|
5818
|
+
final: currentSnapshot.finalCount,
|
|
5819
|
+
fused: currentSnapshot.finalCount,
|
|
5820
|
+
lexical: currentSnapshot.lexicalCount,
|
|
5821
|
+
reranked: currentSnapshot.finalCount,
|
|
5822
|
+
vector: currentSnapshot.vectorCount
|
|
5823
|
+
},
|
|
5824
|
+
runLexical: currentSnapshot.lexicalCount > 0,
|
|
5825
|
+
runVector: currentSnapshot.vectorCount > 0,
|
|
5826
|
+
steps: [],
|
|
5827
|
+
topK: caseResult.topK,
|
|
5828
|
+
transformedQuery: currentSnapshot.transformedQuery ?? caseResult.query,
|
|
5829
|
+
variantQueries: currentSnapshot.variantQueries
|
|
5830
|
+
};
|
|
5831
|
+
})(),
|
|
5832
|
+
previousTrace: previousTraces.get(caseResult.caseId)
|
|
5833
|
+
}));
|
|
5834
|
+
};
|
|
5680
5835
|
var getStatusRank = (status) => status === "pass" ? 2 : status === "partial" ? 1 : 0;
|
|
5681
5836
|
var formatSignedDelta = (value, decimals = 0, suffix = "") => `${value >= 0 ? "+" : ""}${value.toFixed(decimals)}${suffix}`;
|
|
5682
5837
|
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 +5991,13 @@ var buildRAGEvaluationHistoryRows = (history) => {
|
|
|
5836
5991
|
rows.push({ label: "Trace stage delta", value: stageDelta });
|
|
5837
5992
|
}
|
|
5838
5993
|
}
|
|
5994
|
+
if (history.caseTraceSnapshots.length > 0) {
|
|
5995
|
+
const changedCases = history.caseTraceSnapshots.filter((entry) => entry.traceChange === "changed");
|
|
5996
|
+
rows.push({
|
|
5997
|
+
label: "Trace drift cases",
|
|
5998
|
+
value: changedCases.length > 0 ? changedCases.map((entry) => entry.label ?? entry.caseId).slice(0, 4).join(", ") : "none"
|
|
5999
|
+
});
|
|
6000
|
+
}
|
|
5839
6001
|
return rows;
|
|
5840
6002
|
};
|
|
5841
6003
|
var buildRAGEvaluationRunDiff = ({
|
|
@@ -6025,6 +6187,10 @@ var loadRAGEvaluationHistory = async ({
|
|
|
6025
6187
|
const latestRun = runs[0];
|
|
6026
6188
|
const previousRun = runs[1];
|
|
6027
6189
|
return {
|
|
6190
|
+
caseTraceSnapshots: buildEvaluationCaseTraceSnapshots({
|
|
6191
|
+
current: latestRun,
|
|
6192
|
+
previous: previousRun
|
|
6193
|
+
}),
|
|
6028
6194
|
diff: latestRun && previousRun ? buildRAGEvaluationRunDiff({
|
|
6029
6195
|
current: latestRun,
|
|
6030
6196
|
previous: previousRun
|
|
@@ -6236,6 +6402,7 @@ var compareRAGRerankers = async ({
|
|
|
6236
6402
|
});
|
|
6237
6403
|
const response = buildRAGEvaluationResponse(evaluated.map((entry) => entry.caseResult));
|
|
6238
6404
|
return {
|
|
6405
|
+
caseTraceSnapshots: buildEvaluationCaseTraceSnapshotsFromEvaluated(evaluated),
|
|
6239
6406
|
label: candidate.label ?? candidate.id,
|
|
6240
6407
|
providerName: typeof candidate.rerank === "function" ? undefined : candidate.rerank?.providerName,
|
|
6241
6408
|
response,
|
|
@@ -6322,6 +6489,7 @@ var compareRAGRetrievalStrategies = async ({
|
|
|
6322
6489
|
});
|
|
6323
6490
|
const response = buildRAGEvaluationResponse(evaluated.map((entry) => entry.caseResult));
|
|
6324
6491
|
return {
|
|
6492
|
+
caseTraceSnapshots: buildEvaluationCaseTraceSnapshotsFromEvaluated(evaluated),
|
|
6325
6493
|
label: candidate.label ?? candidate.id,
|
|
6326
6494
|
response,
|
|
6327
6495
|
retrievalId: candidate.id,
|
|
@@ -6390,7 +6558,8 @@ var executeDryRunRAGEvaluation = (input, defaultTopK = DEFAULT_TOP_K2) => input.
|
|
|
6390
6558
|
var runRAGEvaluationSuite = async ({
|
|
6391
6559
|
suite,
|
|
6392
6560
|
evaluate,
|
|
6393
|
-
overrides
|
|
6561
|
+
overrides,
|
|
6562
|
+
artifacts
|
|
6394
6563
|
}) => {
|
|
6395
6564
|
const startedAt = Date.now();
|
|
6396
6565
|
const response = await evaluate({
|
|
@@ -6400,6 +6569,7 @@ var runRAGEvaluationSuite = async ({
|
|
|
6400
6569
|
});
|
|
6401
6570
|
const finishedAt = Date.now();
|
|
6402
6571
|
return {
|
|
6572
|
+
caseTraceSnapshots: artifacts?.caseTraceSnapshots,
|
|
6403
6573
|
elapsedMs: finishedAt - startedAt,
|
|
6404
6574
|
finishedAt,
|
|
6405
6575
|
id: generateId(),
|
|
@@ -6407,7 +6577,8 @@ var runRAGEvaluationSuite = async ({
|
|
|
6407
6577
|
metadata: suite.metadata,
|
|
6408
6578
|
response,
|
|
6409
6579
|
startedAt,
|
|
6410
|
-
suiteId: suite.id
|
|
6580
|
+
suiteId: suite.id,
|
|
6581
|
+
traceSummary: artifacts?.traceSummary
|
|
6411
6582
|
};
|
|
6412
6583
|
};
|
|
6413
6584
|
var summarizeRAGEvaluationCase = ({
|
|
@@ -11514,6 +11685,7 @@ export {
|
|
|
11514
11685
|
geminiEmbeddings,
|
|
11515
11686
|
gemini,
|
|
11516
11687
|
fuseRAGQueryResults,
|
|
11688
|
+
formatRAGTraceValue,
|
|
11517
11689
|
executeDryRunRAGEvaluation,
|
|
11518
11690
|
evaluateRAGCollection,
|
|
11519
11691
|
evaluateRAGAnswerGroundingCase,
|
|
@@ -11576,6 +11748,7 @@ export {
|
|
|
11576
11748
|
buildRAGStreamProgress,
|
|
11577
11749
|
buildRAGSourceSummaries,
|
|
11578
11750
|
buildRAGSourceGroups,
|
|
11751
|
+
buildRAGRetrievalTracePresentation,
|
|
11579
11752
|
buildRAGLexicalHaystack,
|
|
11580
11753
|
buildRAGGroundingReferences,
|
|
11581
11754
|
buildRAGGroundedAnswer,
|
|
@@ -11601,5 +11774,5 @@ export {
|
|
|
11601
11774
|
aiChat
|
|
11602
11775
|
};
|
|
11603
11776
|
|
|
11604
|
-
//# debugId=
|
|
11777
|
+
//# debugId=2E0B1A7677E438F664756E2164756E21
|
|
11605
11778
|
//# sourceMappingURL=index.js.map
|