@absolutejs/absolute 0.19.0-beta.625 → 0.19.0-beta.626
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 +35 -7
- package/dist/ai/client/index.js.map +4 -4
- package/dist/ai/client/ui.js +35 -7
- package/dist/ai/client/ui.js.map +4 -4
- package/dist/ai/index.js +76 -12
- package/dist/ai/index.js.map +7 -7
- package/dist/ai/rag/quality.js +35 -7
- package/dist/ai/rag/quality.js.map +4 -4
- package/dist/ai/rag/ui.js +35 -7
- package/dist/ai/rag/ui.js.map +4 -4
- package/dist/angular/ai/index.js +35 -7
- package/dist/angular/ai/index.js.map +4 -4
- package/dist/react/ai/index.js +35 -7
- package/dist/react/ai/index.js.map +4 -4
- package/dist/src/ai/rag/adapters/queryPlanning.d.ts +5 -0
- package/dist/src/vue/ai/useRAG.d.ts +24 -0
- package/dist/src/vue/ai/useRAGEvaluate.d.ts +16 -0
- package/dist/src/vue/ai/useRAGIndexAdmin.d.ts +8 -0
- package/dist/svelte/ai/index.js +35 -7
- package/dist/svelte/ai/index.js.map +4 -4
- package/dist/types/ai.d.ts +12 -0
- package/dist/vue/ai/index.js +35 -7
- package/dist/vue/ai/index.js.map +4 -4
- package/package.json +7 -7
package/dist/ai/index.js
CHANGED
|
@@ -749,7 +749,7 @@ var formatLeadMediaCueSummary = (input) => {
|
|
|
749
749
|
return parts.length > 0 ? parts.join(" \xB7 ") : "none";
|
|
750
750
|
};
|
|
751
751
|
var formatRAGTraceMetadataRow = (key, value) => ({
|
|
752
|
-
label: key === "sqliteQueryMode" ? "SQLite query mode" : key === "sqliteQueryPushdownApplied" ? "SQLite pushdown applied" : key === "sqliteQueryPushdownClauseCount" ? "SQLite pushdown clauses" : key === "sqliteQueryFilteredCandidates" ? "SQLite filtered candidates" : key === "sqliteQueryInitialSearchK" ? "SQLite initial searchK" : key === "sqliteQueryFinalSearchK" ? "SQLite final searchK" : key === "sqliteQueryBackfillCount" ? "SQLite backfill count" : key === "leadSpeakerCue" ? "Lead speaker cue" : key === "leadSpeakerAttributionCue" ? "Lead speaker attribution" : key === "leadChannelAttributionCue" ? "Lead channel attribution" : key === "leadChannelCue" ? "Lead channel cue" : key === "leadContinuityCue" ? "Lead continuity cue" : key,
|
|
752
|
+
label: key === "sqliteQueryMode" ? "SQLite query mode" : key === "sqliteQueryPushdownApplied" ? "SQLite pushdown applied" : key === "sqliteQueryPushdownClauseCount" ? "SQLite pushdown clauses" : key === "sqliteQueryFilteredCandidates" ? "SQLite filtered candidates" : key === "sqliteQueryInitialSearchK" ? "SQLite initial searchK" : key === "sqliteQueryFinalSearchK" ? "SQLite final searchK" : key === "sqliteQueryBackfillCount" ? "SQLite backfill count" : key === "sqliteQueryReturnedCount" ? "SQLite returned hits" : key === "sqliteQueryUnderfilledTopK" ? "SQLite underfilled topK" : key === "sqliteQueryCandidateBudgetExhausted" ? "SQLite candidate budget exhausted" : key === "sqliteQueryCandidateCoverage" ? "SQLite candidate coverage" : key === "leadSpeakerCue" ? "Lead speaker cue" : key === "leadSpeakerAttributionCue" ? "Lead speaker attribution" : key === "leadChannelAttributionCue" ? "Lead channel attribution" : key === "leadChannelCue" ? "Lead channel cue" : key === "leadContinuityCue" ? "Lead continuity cue" : key,
|
|
753
753
|
value: key === "sourceAwareChunkReason" ? formatSourceAwareChunkReason(value) ?? formatRAGTraceValue(value) : key === "leadSpeakerAttributionCue" ? formatLeadSpeakerAttributionCue(value) ?? formatRAGTraceValue(value) : key === "leadChannelAttributionCue" ? formatLeadChannelAttributionCue(value) ?? formatRAGTraceValue(value) : key === "leadContinuityCue" ? formatLeadContinuityCue(value) ?? formatRAGTraceValue(value) : formatRAGTraceValue(value)
|
|
754
754
|
});
|
|
755
755
|
var buildRAGRetrievalTracePresentation = (trace) => {
|
|
@@ -2519,19 +2519,27 @@ var formatSQLitePlannerCueSummary = (input) => {
|
|
|
2519
2519
|
typeof input?.sqliteQueryPushdownClauseCount === "number" ? `clauses ${input.sqliteQueryPushdownClauseCount}` : undefined,
|
|
2520
2520
|
typeof input?.sqliteQueryFilteredCandidates === "number" ? `filtered ${input.sqliteQueryFilteredCandidates}` : undefined,
|
|
2521
2521
|
typeof input?.sqliteQueryInitialSearchK === "number" && typeof input?.sqliteQueryFinalSearchK === "number" ? `searchK ${input.sqliteQueryInitialSearchK}->${input.sqliteQueryFinalSearchK}` : typeof input?.sqliteQueryFinalSearchK === "number" ? `searchK ${input.sqliteQueryFinalSearchK}` : undefined,
|
|
2522
|
-
typeof input?.sqliteQueryBackfillCount === "number" ? `backfill ${input.sqliteQueryBackfillCount}` : undefined
|
|
2522
|
+
typeof input?.sqliteQueryBackfillCount === "number" ? `backfill ${input.sqliteQueryBackfillCount}` : undefined,
|
|
2523
|
+
typeof input?.sqliteQueryReturnedCount === "number" ? `returned ${input.sqliteQueryReturnedCount}` : undefined,
|
|
2524
|
+
input?.sqliteQueryCandidateCoverage ? `coverage ${input.sqliteQueryCandidateCoverage}` : undefined,
|
|
2525
|
+
typeof input?.sqliteQueryUnderfilledTopK === "boolean" && input.sqliteQueryUnderfilledTopK ? "underfilled topK" : undefined,
|
|
2526
|
+
typeof input?.sqliteQueryCandidateBudgetExhausted === "boolean" && input.sqliteQueryCandidateBudgetExhausted ? "budget exhausted" : undefined
|
|
2523
2527
|
].filter((value) => typeof value === "string");
|
|
2524
2528
|
return parts.length > 0 ? parts.join(" \xB7 ") : "none";
|
|
2525
2529
|
};
|
|
2526
2530
|
var formatComparisonSQLitePlannerCueSummary = (entry) => {
|
|
2527
2531
|
const labels = Array.from(new Set((entry.caseTraceSnapshots ?? []).map((snapshot) => formatSQLitePlannerCueSummary({
|
|
2528
2532
|
sqliteQueryBackfillCount: snapshot.sqliteQueryBackfillCount,
|
|
2533
|
+
sqliteQueryCandidateBudgetExhausted: snapshot.sqliteQueryCandidateBudgetExhausted,
|
|
2534
|
+
sqliteQueryCandidateCoverage: snapshot.sqliteQueryCandidateCoverage,
|
|
2529
2535
|
sqliteQueryFilteredCandidates: snapshot.sqliteQueryFilteredCandidates,
|
|
2530
2536
|
sqliteQueryFinalSearchK: snapshot.sqliteQueryFinalSearchK,
|
|
2531
2537
|
sqliteQueryInitialSearchK: snapshot.sqliteQueryInitialSearchK,
|
|
2532
2538
|
sqliteQueryMode: snapshot.sqliteQueryMode,
|
|
2533
2539
|
sqliteQueryPushdownApplied: snapshot.sqliteQueryPushdownApplied,
|
|
2534
|
-
sqliteQueryPushdownClauseCount: snapshot.sqliteQueryPushdownClauseCount
|
|
2540
|
+
sqliteQueryPushdownClauseCount: snapshot.sqliteQueryPushdownClauseCount,
|
|
2541
|
+
sqliteQueryReturnedCount: snapshot.sqliteQueryReturnedCount,
|
|
2542
|
+
sqliteQueryUnderfilledTopK: snapshot.sqliteQueryUnderfilledTopK
|
|
2535
2543
|
})).filter((value) => typeof value === "string" && value !== "none"))).slice(0, 3);
|
|
2536
2544
|
return labels.length > 0 ? labels.join(" \xB7 ") : "none";
|
|
2537
2545
|
};
|
|
@@ -2662,12 +2670,16 @@ var formatHistorySQLitePlannerShift = (history) => {
|
|
|
2662
2670
|
const shifts = history.caseTraceSnapshots.map((entry) => {
|
|
2663
2671
|
const previousPlanner = formatSQLitePlannerCueSummary({
|
|
2664
2672
|
sqliteQueryBackfillCount: entry.previousSqliteQueryBackfillCount,
|
|
2673
|
+
sqliteQueryCandidateBudgetExhausted: entry.previousSqliteQueryCandidateBudgetExhausted,
|
|
2674
|
+
sqliteQueryCandidateCoverage: entry.previousSqliteQueryCandidateCoverage,
|
|
2665
2675
|
sqliteQueryFilteredCandidates: entry.previousSqliteQueryFilteredCandidates,
|
|
2666
2676
|
sqliteQueryFinalSearchK: entry.previousSqliteQueryFinalSearchK,
|
|
2667
2677
|
sqliteQueryInitialSearchK: entry.previousSqliteQueryInitialSearchK,
|
|
2668
2678
|
sqliteQueryMode: entry.previousSqliteQueryMode,
|
|
2669
2679
|
sqliteQueryPushdownApplied: entry.previousSqliteQueryPushdownApplied,
|
|
2670
|
-
sqliteQueryPushdownClauseCount: entry.previousSqliteQueryPushdownClauseCount
|
|
2680
|
+
sqliteQueryPushdownClauseCount: entry.previousSqliteQueryPushdownClauseCount,
|
|
2681
|
+
sqliteQueryReturnedCount: entry.previousSqliteQueryReturnedCount,
|
|
2682
|
+
sqliteQueryUnderfilledTopK: entry.previousSqliteQueryUnderfilledTopK
|
|
2671
2683
|
});
|
|
2672
2684
|
const currentPlanner = formatSQLitePlannerCueSummary(entry);
|
|
2673
2685
|
if (previousPlanner === "none" || currentPlanner === "none" || previousPlanner === currentPlanner) {
|
|
@@ -3693,12 +3705,16 @@ var buildEvaluationSQLiteQueryPlanSnapshot = (trace) => {
|
|
|
3693
3705
|
const metadata = vectorStep?.metadata ?? {};
|
|
3694
3706
|
return {
|
|
3695
3707
|
sqliteQueryBackfillCount: typeof metadata.sqliteQueryBackfillCount === "number" ? metadata.sqliteQueryBackfillCount : undefined,
|
|
3708
|
+
sqliteQueryCandidateBudgetExhausted: typeof metadata.sqliteQueryCandidateBudgetExhausted === "boolean" ? metadata.sqliteQueryCandidateBudgetExhausted : undefined,
|
|
3709
|
+
sqliteQueryCandidateCoverage: metadata.sqliteQueryCandidateCoverage === "empty" || metadata.sqliteQueryCandidateCoverage === "under_target" || metadata.sqliteQueryCandidateCoverage === "target_sized" || metadata.sqliteQueryCandidateCoverage === "broad" ? metadata.sqliteQueryCandidateCoverage : undefined,
|
|
3696
3710
|
sqliteQueryFilteredCandidates: typeof metadata.sqliteQueryFilteredCandidates === "number" ? metadata.sqliteQueryFilteredCandidates : undefined,
|
|
3697
3711
|
sqliteQueryFinalSearchK: typeof metadata.sqliteQueryFinalSearchK === "number" ? metadata.sqliteQueryFinalSearchK : undefined,
|
|
3698
3712
|
sqliteQueryInitialSearchK: typeof metadata.sqliteQueryInitialSearchK === "number" ? metadata.sqliteQueryInitialSearchK : undefined,
|
|
3699
3713
|
sqliteQueryMode: metadata.sqliteQueryMode === "json_fallback" || metadata.sqliteQueryMode === "native_vec0" ? metadata.sqliteQueryMode : undefined,
|
|
3700
3714
|
sqliteQueryPushdownApplied: typeof metadata.sqliteQueryPushdownApplied === "boolean" ? metadata.sqliteQueryPushdownApplied : undefined,
|
|
3701
|
-
sqliteQueryPushdownClauseCount: typeof metadata.sqliteQueryPushdownClauseCount === "number" ? metadata.sqliteQueryPushdownClauseCount : undefined
|
|
3715
|
+
sqliteQueryPushdownClauseCount: typeof metadata.sqliteQueryPushdownClauseCount === "number" ? metadata.sqliteQueryPushdownClauseCount : undefined,
|
|
3716
|
+
sqliteQueryReturnedCount: typeof metadata.sqliteQueryReturnedCount === "number" ? metadata.sqliteQueryReturnedCount : undefined,
|
|
3717
|
+
sqliteQueryUnderfilledTopK: typeof metadata.sqliteQueryUnderfilledTopK === "boolean" ? metadata.sqliteQueryUnderfilledTopK : undefined
|
|
3702
3718
|
};
|
|
3703
3719
|
};
|
|
3704
3720
|
var DEFAULT_RETRIEVAL_COMPARISON_HISTORY_TABLE_NAME = "rag_retrieval_comparison_history";
|
|
@@ -4947,11 +4963,15 @@ var buildEvaluationCaseTraceSnapshot = ({
|
|
|
4947
4963
|
const sqliteQueryInitialSearchK = currentSQLiteQueryPlanSnapshot.sqliteQueryInitialSearchK ?? currentSnapshot?.sqliteQueryInitialSearchK;
|
|
4948
4964
|
const sqliteQueryFinalSearchK = currentSQLiteQueryPlanSnapshot.sqliteQueryFinalSearchK ?? currentSnapshot?.sqliteQueryFinalSearchK;
|
|
4949
4965
|
const sqliteQueryBackfillCount = currentSQLiteQueryPlanSnapshot.sqliteQueryBackfillCount ?? currentSnapshot?.sqliteQueryBackfillCount;
|
|
4966
|
+
const sqliteQueryReturnedCount = currentSQLiteQueryPlanSnapshot.sqliteQueryReturnedCount ?? currentSnapshot?.sqliteQueryReturnedCount;
|
|
4967
|
+
const sqliteQueryUnderfilledTopK = currentSQLiteQueryPlanSnapshot.sqliteQueryUnderfilledTopK ?? currentSnapshot?.sqliteQueryUnderfilledTopK;
|
|
4968
|
+
const sqliteQueryCandidateBudgetExhausted = currentSQLiteQueryPlanSnapshot.sqliteQueryCandidateBudgetExhausted ?? currentSnapshot?.sqliteQueryCandidateBudgetExhausted;
|
|
4969
|
+
const sqliteQueryCandidateCoverage = currentSQLiteQueryPlanSnapshot.sqliteQueryCandidateCoverage ?? currentSnapshot?.sqliteQueryCandidateCoverage;
|
|
4950
4970
|
const currentFilterSignature = JSON.stringify(filter ?? undefined);
|
|
4951
4971
|
const previousFilterSignature = JSON.stringify(previousTrace?.inputFilter ?? undefined);
|
|
4952
4972
|
const currentRetrievalSignature = JSON.stringify(retrieval ?? undefined);
|
|
4953
4973
|
const previousRetrievalSignature = JSON.stringify(previousTrace?.inputRetrieval ?? undefined);
|
|
4954
|
-
const traceChange = !previousTrace ? currentTrace ? "new" : "unchanged" : previousTrace.traceMode !== currentTrace?.mode || previousFilterSignature !== currentFilterSignature || previousRetrievalSignature !== currentRetrievalSignature || previousTrace.sourceBalanceStrategy !== currentTrace?.sourceBalanceStrategy || 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) || previousTrace.topContextLabel !== topContextLabel || previousTrace.topLocatorLabel !== topLocatorLabel || previousTrace.sourceAwareChunkReasonLabel !== sourceAwareChunkReasonLabel || previousTrace.sourceAwareUnitScopeLabel !== sourceAwareUnitScopeLabel || previousTrace.leadSpeakerCue !== leadSpeakerCue || previousTrace.leadSpeakerAttributionCue !== leadSpeakerAttributionCue || previousTrace.leadChannelCue !== leadChannelCue || previousTrace.leadChannelAttributionCue !== leadChannelAttributionCue || previousTrace.leadContinuityCue !== leadContinuityCue || previousTrace.sqliteQueryMode !== sqliteQueryMode || previousTrace.sqliteQueryPushdownApplied !== sqliteQueryPushdownApplied || previousTrace.sqliteQueryPushdownClauseCount !== sqliteQueryPushdownClauseCount || previousTrace.sqliteQueryFilteredCandidates !== sqliteQueryFilteredCandidates || previousTrace.sqliteQueryInitialSearchK !== sqliteQueryInitialSearchK || previousTrace.sqliteQueryFinalSearchK !== sqliteQueryFinalSearchK || previousTrace.sqliteQueryBackfillCount !== sqliteQueryBackfillCount || !areStageCountsEqual(previousStageCounts, stageCounts) ? "changed" : "unchanged";
|
|
4974
|
+
const traceChange = !previousTrace ? currentTrace ? "new" : "unchanged" : previousTrace.traceMode !== currentTrace?.mode || previousFilterSignature !== currentFilterSignature || previousRetrievalSignature !== currentRetrievalSignature || previousTrace.sourceBalanceStrategy !== currentTrace?.sourceBalanceStrategy || 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) || previousTrace.topContextLabel !== topContextLabel || previousTrace.topLocatorLabel !== topLocatorLabel || previousTrace.sourceAwareChunkReasonLabel !== sourceAwareChunkReasonLabel || previousTrace.sourceAwareUnitScopeLabel !== sourceAwareUnitScopeLabel || previousTrace.leadSpeakerCue !== leadSpeakerCue || previousTrace.leadSpeakerAttributionCue !== leadSpeakerAttributionCue || previousTrace.leadChannelCue !== leadChannelCue || previousTrace.leadChannelAttributionCue !== leadChannelAttributionCue || previousTrace.leadContinuityCue !== leadContinuityCue || previousTrace.sqliteQueryMode !== sqliteQueryMode || previousTrace.sqliteQueryPushdownApplied !== sqliteQueryPushdownApplied || previousTrace.sqliteQueryPushdownClauseCount !== sqliteQueryPushdownClauseCount || previousTrace.sqliteQueryFilteredCandidates !== sqliteQueryFilteredCandidates || previousTrace.sqliteQueryInitialSearchK !== sqliteQueryInitialSearchK || previousTrace.sqliteQueryFinalSearchK !== sqliteQueryFinalSearchK || previousTrace.sqliteQueryBackfillCount !== sqliteQueryBackfillCount || previousTrace.sqliteQueryReturnedCount !== sqliteQueryReturnedCount || previousTrace.sqliteQueryUnderfilledTopK !== sqliteQueryUnderfilledTopK || previousTrace.sqliteQueryCandidateBudgetExhausted !== sqliteQueryCandidateBudgetExhausted || previousTrace.sqliteQueryCandidateCoverage !== sqliteQueryCandidateCoverage || !areStageCountsEqual(previousStageCounts, stageCounts) ? "changed" : "unchanged";
|
|
4955
4975
|
return {
|
|
4956
4976
|
candidateTopK: currentTrace?.candidateTopK ?? 0,
|
|
4957
4977
|
caseId: caseResult.caseId,
|
|
@@ -4974,12 +4994,16 @@ var buildEvaluationCaseTraceSnapshot = ({
|
|
|
4974
4994
|
previousLeadSpeakerAttributionCue: previousTrace?.leadSpeakerAttributionCue,
|
|
4975
4995
|
previousLeadSpeakerCue: previousTrace?.leadSpeakerCue,
|
|
4976
4996
|
previousSqliteQueryBackfillCount: previousTrace?.sqliteQueryBackfillCount,
|
|
4997
|
+
previousSqliteQueryCandidateBudgetExhausted: previousTrace?.sqliteQueryCandidateBudgetExhausted,
|
|
4998
|
+
previousSqliteQueryCandidateCoverage: previousTrace?.sqliteQueryCandidateCoverage,
|
|
4977
4999
|
previousSqliteQueryFilteredCandidates: previousTrace?.sqliteQueryFilteredCandidates,
|
|
4978
5000
|
previousSqliteQueryFinalSearchK: previousTrace?.sqliteQueryFinalSearchK,
|
|
4979
5001
|
previousSqliteQueryInitialSearchK: previousTrace?.sqliteQueryInitialSearchK,
|
|
4980
5002
|
previousSqliteQueryMode: previousTrace?.sqliteQueryMode,
|
|
4981
5003
|
previousSqliteQueryPushdownApplied: previousTrace?.sqliteQueryPushdownApplied,
|
|
4982
5004
|
previousSqliteQueryPushdownClauseCount: previousTrace?.sqliteQueryPushdownClauseCount,
|
|
5005
|
+
previousSqliteQueryReturnedCount: previousTrace?.sqliteQueryReturnedCount,
|
|
5006
|
+
previousSqliteQueryUnderfilledTopK: previousTrace?.sqliteQueryUnderfilledTopK,
|
|
4983
5007
|
previousSourceBalanceStrategy: previousTrace?.sourceBalanceStrategy,
|
|
4984
5008
|
previousSourceAwareChunkReasonLabel: previousTrace?.sourceAwareChunkReasonLabel,
|
|
4985
5009
|
previousStageCounts,
|
|
@@ -4997,12 +5021,16 @@ var buildEvaluationCaseTraceSnapshot = ({
|
|
|
4997
5021
|
leadSpeakerAttributionCue,
|
|
4998
5022
|
leadSpeakerCue,
|
|
4999
5023
|
sqliteQueryBackfillCount,
|
|
5024
|
+
sqliteQueryCandidateBudgetExhausted,
|
|
5025
|
+
sqliteQueryCandidateCoverage,
|
|
5000
5026
|
sqliteQueryFilteredCandidates,
|
|
5001
5027
|
sqliteQueryFinalSearchK,
|
|
5002
5028
|
sqliteQueryInitialSearchK,
|
|
5003
5029
|
sqliteQueryMode,
|
|
5004
5030
|
sqliteQueryPushdownApplied,
|
|
5005
5031
|
sqliteQueryPushdownClauseCount,
|
|
5032
|
+
sqliteQueryReturnedCount,
|
|
5033
|
+
sqliteQueryUnderfilledTopK,
|
|
5006
5034
|
sourceAwareChunkReasonLabel,
|
|
5007
5035
|
sourceAwareUnitScopeLabel,
|
|
5008
5036
|
stageCounts,
|
|
@@ -16601,12 +16629,16 @@ var buildStoreQueryPlanTraceMetadata = (store) => {
|
|
|
16601
16629
|
}
|
|
16602
16630
|
return {
|
|
16603
16631
|
sqliteQueryBackfillCount: nativePlan.backfillCount ?? null,
|
|
16632
|
+
sqliteQueryCandidateBudgetExhausted: nativePlan.candidateBudgetExhausted ?? null,
|
|
16633
|
+
sqliteQueryCandidateCoverage: nativePlan.candidateCoverage ?? null,
|
|
16604
16634
|
sqliteQueryFilteredCandidates: nativePlan.filteredCandidateCount ?? null,
|
|
16605
16635
|
sqliteQueryFinalSearchK: nativePlan.finalSearchK ?? null,
|
|
16606
16636
|
sqliteQueryInitialSearchK: nativePlan.initialSearchK ?? null,
|
|
16607
16637
|
sqliteQueryMode: nativePlan.queryMode,
|
|
16608
16638
|
sqliteQueryPushdownApplied: nativePlan.pushdownApplied,
|
|
16609
|
-
sqliteQueryPushdownClauseCount: nativePlan.pushdownClauseCount
|
|
16639
|
+
sqliteQueryPushdownClauseCount: nativePlan.pushdownClauseCount,
|
|
16640
|
+
sqliteQueryReturnedCount: nativePlan.returnedCount ?? null,
|
|
16641
|
+
sqliteQueryUnderfilledTopK: nativePlan.underfilledTopK ?? null
|
|
16610
16642
|
};
|
|
16611
16643
|
};
|
|
16612
16644
|
var createRAGCollection = (options) => {
|
|
@@ -28514,6 +28546,19 @@ var planNativeCandidateSearchBackfillK = (input) => {
|
|
|
28514
28546
|
}
|
|
28515
28547
|
return Math.min(cappedLimit, Math.max(input.currentSearchK + 1, input.currentSearchK * 2));
|
|
28516
28548
|
};
|
|
28549
|
+
var summarizeSQLiteCandidateCoverage = (input) => {
|
|
28550
|
+
const basis = typeof input.filteredCandidateCount === "number" && Number.isFinite(input.filteredCandidateCount) ? Math.max(0, Math.floor(input.filteredCandidateCount)) : typeof input.returnedCount === "number" && Number.isFinite(input.returnedCount) ? Math.max(0, Math.floor(input.returnedCount)) : 0;
|
|
28551
|
+
if (basis === 0) {
|
|
28552
|
+
return "empty";
|
|
28553
|
+
}
|
|
28554
|
+
if (basis < input.topK) {
|
|
28555
|
+
return "under_target";
|
|
28556
|
+
}
|
|
28557
|
+
if (basis >= input.topK * 3) {
|
|
28558
|
+
return "broad";
|
|
28559
|
+
}
|
|
28560
|
+
return "target_sized";
|
|
28561
|
+
};
|
|
28517
28562
|
|
|
28518
28563
|
// src/ai/rag/adapters/sqlite.ts
|
|
28519
28564
|
var DEFAULT_DIMENSIONS = RAG_VECTOR_DIMENSIONS_DEFAULT;
|
|
@@ -29101,12 +29146,20 @@ var updateSQLiteLastQueryPlan = (input) => {
|
|
|
29101
29146
|
}
|
|
29102
29147
|
input.nativeDiagnostics.lastQueryPlan = {
|
|
29103
29148
|
backfillCount: input.backfillCount,
|
|
29149
|
+
candidateBudgetExhausted: input.candidateBudgetExhausted,
|
|
29150
|
+
candidateCoverage: summarizeSQLiteCandidateCoverage({
|
|
29151
|
+
filteredCandidateCount: input.filteredCandidateCount,
|
|
29152
|
+
returnedCount: input.returnedCount,
|
|
29153
|
+
topK: input.topK
|
|
29154
|
+
}),
|
|
29104
29155
|
filteredCandidateCount: input.filteredCandidateCount,
|
|
29105
29156
|
finalSearchK: input.finalSearchK,
|
|
29106
29157
|
initialSearchK: input.initialSearchK,
|
|
29107
29158
|
pushdownApplied: Boolean(input.pushdownFilter),
|
|
29108
29159
|
pushdownClauseCount: countPushdownClauses(input.pushdownFilter),
|
|
29109
|
-
queryMode: input.queryMode
|
|
29160
|
+
queryMode: input.queryMode,
|
|
29161
|
+
returnedCount: input.returnedCount,
|
|
29162
|
+
underfilledTopK: input.underfilledTopK
|
|
29110
29163
|
};
|
|
29111
29164
|
};
|
|
29112
29165
|
var markNativeUpsertFailure = (nativeDiagnostics, error) => {
|
|
@@ -29230,16 +29283,21 @@ var createSQLiteRAGStore = (options = {}) => {
|
|
|
29230
29283
|
const rawRows = toStoredRows(filterPlan ? db.prepare(buildJsonQuerySql(tableName, filterPlan.clause)).all(...filterPlan.params) : jsonStatements.query.all());
|
|
29231
29284
|
const chunks = mapFilterToRows(rawRows);
|
|
29232
29285
|
const filtered = mapToRows(queryVector, chunks, input.filter);
|
|
29286
|
+
const limited = filtered.slice(0, input.topK);
|
|
29233
29287
|
updateSQLiteLastQueryPlan({
|
|
29234
29288
|
backfillCount: 0,
|
|
29289
|
+
candidateBudgetExhausted: false,
|
|
29235
29290
|
filteredCandidateCount: rawRows.length,
|
|
29236
29291
|
finalSearchK: rawRows.length,
|
|
29237
29292
|
initialSearchK: rawRows.length,
|
|
29238
29293
|
nativeDiagnostics,
|
|
29239
29294
|
pushdownFilter,
|
|
29240
|
-
queryMode: "json_fallback"
|
|
29295
|
+
queryMode: "json_fallback",
|
|
29296
|
+
returnedCount: limited.length,
|
|
29297
|
+
topK: input.topK,
|
|
29298
|
+
underfilledTopK: limited.length < input.topK
|
|
29241
29299
|
});
|
|
29242
|
-
return
|
|
29300
|
+
return limited.map(({ chunk, score }) => ({
|
|
29243
29301
|
chunkId: chunk.chunkId,
|
|
29244
29302
|
chunkText: chunk.text,
|
|
29245
29303
|
embedding: chunk.vector,
|
|
@@ -29275,6 +29333,7 @@ var createSQLiteRAGStore = (options = {}) => {
|
|
|
29275
29333
|
const runNativeQuery = (candidateK) => toNativeStoredRows(filterPlan ? db.prepare(buildNativeQuerySql(nativeTableName, filterPlan.clause)).all(queryVectorText, candidateK, ...filterPlan.params) : nativeStatements.query.all(queryVectorText, candidateK));
|
|
29276
29334
|
let currentSearchK = searchK;
|
|
29277
29335
|
let backfillCount = 0;
|
|
29336
|
+
let candidateBudgetExhausted = false;
|
|
29278
29337
|
let mapped = [];
|
|
29279
29338
|
for (;; ) {
|
|
29280
29339
|
const rawRows = runNativeQuery(currentSearchK);
|
|
@@ -29309,6 +29368,7 @@ var createSQLiteRAGStore = (options = {}) => {
|
|
|
29309
29368
|
filteredCandidateCount
|
|
29310
29369
|
});
|
|
29311
29370
|
if (nextSearchK <= currentSearchK) {
|
|
29371
|
+
candidateBudgetExhausted = mapped.length < input.topK;
|
|
29312
29372
|
break;
|
|
29313
29373
|
}
|
|
29314
29374
|
currentSearchK = nextSearchK;
|
|
@@ -29316,12 +29376,16 @@ var createSQLiteRAGStore = (options = {}) => {
|
|
|
29316
29376
|
}
|
|
29317
29377
|
updateSQLiteLastQueryPlan({
|
|
29318
29378
|
backfillCount,
|
|
29379
|
+
candidateBudgetExhausted,
|
|
29319
29380
|
filteredCandidateCount,
|
|
29320
29381
|
finalSearchK: currentSearchK,
|
|
29321
29382
|
initialSearchK: searchK,
|
|
29322
29383
|
nativeDiagnostics,
|
|
29323
29384
|
pushdownFilter,
|
|
29324
|
-
queryMode: "native_vec0"
|
|
29385
|
+
queryMode: "native_vec0",
|
|
29386
|
+
returnedCount: Math.min(mapped.length, input.topK),
|
|
29387
|
+
topK: input.topK,
|
|
29388
|
+
underfilledTopK: mapped.length < input.topK
|
|
29325
29389
|
});
|
|
29326
29390
|
return mapped.slice(0, input.topK);
|
|
29327
29391
|
};
|
|
@@ -31486,5 +31550,5 @@ export {
|
|
|
31486
31550
|
addRAGEvaluationSuiteCase
|
|
31487
31551
|
};
|
|
31488
31552
|
|
|
31489
|
-
//# debugId=
|
|
31553
|
+
//# debugId=B5F5D5DFB1D746F464756E2164756E21
|
|
31490
31554
|
//# sourceMappingURL=index.js.map
|