@absolutejs/absolute 0.19.0-beta.633 → 0.19.0-beta.634

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
@@ -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 === "postgresQueryMode" ? "Postgres query mode" : key === "sqliteQueryPushdownMode" ? "SQLite pushdown mode" : key === "postgresQueryPushdownMode" ? "Postgres pushdown mode" : key === "sqliteQueryPushdownApplied" ? "SQLite pushdown applied" : key === "postgresQueryPushdownApplied" ? "Postgres pushdown applied" : key === "sqliteQueryPushdownClauseCount" ? "SQLite pushdown clauses" : key === "postgresQueryPushdownClauseCount" ? "Postgres pushdown clauses" : key === "sqliteQueryPushdownCoverageRatio" ? "SQLite pushdown coverage" : key === "postgresQueryPushdownCoverageRatio" ? "Postgres pushdown coverage" : key === "sqliteQueryTotalFilterClauseCount" ? "SQLite total filter clauses" : key === "postgresQueryTotalFilterClauseCount" ? "Postgres total filter clauses" : key === "sqliteQueryJsRemainderClauseCount" ? "SQLite JS remainder clauses" : key === "sqliteQueryMultiplierUsed" ? "SQLite query multiplier" : key === "sqliteQueryCandidateLimitUsed" ? "SQLite candidate limit" : key === "postgresQueryJsRemainderClauseCount" ? "Postgres JS remainder clauses" : key === "postgresQueryMultiplierUsed" ? "Postgres query multiplier" : key === "postgresQueryCandidateLimitUsed" ? "Postgres candidate limit" : key === "sqliteQueryJsRemainderRatio" ? "SQLite JS remainder share" : key === "postgresQueryJsRemainderRatio" ? "Postgres JS remainder share" : key === "sqliteQueryFilteredCandidates" ? "SQLite filtered candidates" : key === "postgresQueryFilteredCandidates" ? "Postgres filtered candidates" : key === "sqliteQueryInitialSearchK" ? "SQLite initial searchK" : key === "postgresQueryInitialSearchK" ? "Postgres initial searchK" : key === "sqliteQueryFinalSearchK" ? "SQLite final searchK" : key === "postgresQueryFinalSearchK" ? "Postgres final searchK" : key === "sqliteQuerySearchExpansionRatio" ? "SQLite search expansion" : key === "postgresQuerySearchExpansionRatio" ? "Postgres search expansion" : key === "sqliteQueryBackfillCount" ? "SQLite backfill count" : key === "postgresQueryBackfillCount" ? "Postgres backfill count" : key === "sqliteQueryReturnedCount" ? "SQLite returned hits" : key === "postgresQueryReturnedCount" ? "Postgres returned hits" : key === "sqliteQueryCandidateYieldRatio" ? "SQLite candidate yield" : key === "postgresQueryCandidateYieldRatio" ? "Postgres candidate yield" : key === "sqliteQueryTopKFillRatio" ? "SQLite topK fill rate" : key === "postgresQueryTopKFillRatio" ? "Postgres topK fill rate" : key === "sqliteQueryUnderfilledTopK" ? "SQLite underfilled topK" : key === "postgresQueryUnderfilledTopK" ? "Postgres underfilled topK" : key === "sqliteQueryCandidateBudgetExhausted" ? "SQLite candidate budget exhausted" : key === "postgresQueryCandidateBudgetExhausted" ? "Postgres candidate budget exhausted" : key === "sqliteQueryCandidateCoverage" ? "SQLite candidate coverage" : key === "postgresQueryCandidateCoverage" ? "Postgres 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,
752
+ label: key === "sqliteQueryMode" ? "SQLite query mode" : key === "postgresQueryMode" ? "Postgres query mode" : key === "sqliteQueryPushdownMode" ? "SQLite pushdown mode" : key === "postgresQueryPushdownMode" ? "Postgres pushdown mode" : key === "sqliteQueryPushdownApplied" ? "SQLite pushdown applied" : key === "postgresQueryPushdownApplied" ? "Postgres pushdown applied" : key === "sqliteQueryPushdownClauseCount" ? "SQLite pushdown clauses" : key === "postgresQueryPushdownClauseCount" ? "Postgres pushdown clauses" : key === "sqliteQueryPushdownCoverageRatio" ? "SQLite pushdown coverage" : key === "postgresQueryPushdownCoverageRatio" ? "Postgres pushdown coverage" : key === "sqliteQueryTotalFilterClauseCount" ? "SQLite total filter clauses" : key === "postgresQueryTotalFilterClauseCount" ? "Postgres total filter clauses" : key === "sqliteQueryJsRemainderClauseCount" ? "SQLite JS remainder clauses" : key === "sqliteQueryMultiplierUsed" ? "SQLite query multiplier" : key === "sqliteQueryCandidateLimitUsed" ? "SQLite candidate limit" : key === "sqliteQueryMaxBackfillsUsed" ? "SQLite max backfills" : key === "postgresQueryJsRemainderClauseCount" ? "Postgres JS remainder clauses" : key === "postgresQueryMultiplierUsed" ? "Postgres query multiplier" : key === "postgresQueryCandidateLimitUsed" ? "Postgres candidate limit" : key === "postgresQueryMaxBackfillsUsed" ? "Postgres max backfills" : key === "sqliteQueryJsRemainderRatio" ? "SQLite JS remainder share" : key === "postgresQueryJsRemainderRatio" ? "Postgres JS remainder share" : key === "sqliteQueryFilteredCandidates" ? "SQLite filtered candidates" : key === "postgresQueryFilteredCandidates" ? "Postgres filtered candidates" : key === "sqliteQueryInitialSearchK" ? "SQLite initial searchK" : key === "postgresQueryInitialSearchK" ? "Postgres initial searchK" : key === "sqliteQueryFinalSearchK" ? "SQLite final searchK" : key === "postgresQueryFinalSearchK" ? "Postgres final searchK" : key === "sqliteQuerySearchExpansionRatio" ? "SQLite search expansion" : key === "postgresQuerySearchExpansionRatio" ? "Postgres search expansion" : key === "sqliteQueryBackfillCount" ? "SQLite backfill count" : key === "sqliteQueryBackfillLimitReached" ? "SQLite backfill limit reached" : key === "postgresQueryBackfillCount" ? "Postgres backfill count" : key === "postgresQueryBackfillLimitReached" ? "Postgres backfill limit reached" : key === "sqliteQueryReturnedCount" ? "SQLite returned hits" : key === "postgresQueryReturnedCount" ? "Postgres returned hits" : key === "sqliteQueryCandidateYieldRatio" ? "SQLite candidate yield" : key === "postgresQueryCandidateYieldRatio" ? "Postgres candidate yield" : key === "sqliteQueryTopKFillRatio" ? "SQLite topK fill rate" : key === "postgresQueryTopKFillRatio" ? "Postgres topK fill rate" : key === "sqliteQueryUnderfilledTopK" ? "SQLite underfilled topK" : key === "postgresQueryUnderfilledTopK" ? "Postgres underfilled topK" : key === "sqliteQueryCandidateBudgetExhausted" ? "SQLite candidate budget exhausted" : key === "postgresQueryCandidateBudgetExhausted" ? "Postgres candidate budget exhausted" : key === "sqliteQueryCandidateCoverage" ? "SQLite candidate coverage" : key === "postgresQueryCandidateCoverage" ? "Postgres 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) => {
@@ -2523,12 +2523,14 @@ var formatSQLitePlannerCueSummary = (input) => {
2523
2523
  typeof input?.sqliteQueryJsRemainderClauseCount === "number" ? `js remainder ${input.sqliteQueryJsRemainderClauseCount}` : undefined,
2524
2524
  typeof input?.sqliteQueryMultiplierUsed === "number" ? `x${input.sqliteQueryMultiplierUsed}` : undefined,
2525
2525
  typeof input?.sqliteQueryCandidateLimitUsed === "number" ? `cap ${input.sqliteQueryCandidateLimitUsed}` : undefined,
2526
+ typeof input?.sqliteQueryMaxBackfillsUsed === "number" ? `backfills ${input.sqliteQueryMaxBackfillsUsed}` : undefined,
2526
2527
  typeof input?.sqliteQueryJsRemainderRatio === "number" ? `js ${(input.sqliteQueryJsRemainderRatio * 100).toFixed(0)}%` : undefined,
2527
2528
  typeof input?.sqliteQueryTotalFilterClauseCount === "number" ? `total clauses ${input.sqliteQueryTotalFilterClauseCount}` : undefined,
2528
2529
  typeof input?.sqliteQueryFilteredCandidates === "number" ? `filtered ${input.sqliteQueryFilteredCandidates}` : undefined,
2529
2530
  typeof input?.sqliteQueryInitialSearchK === "number" && typeof input?.sqliteQueryFinalSearchK === "number" ? `searchK ${input.sqliteQueryInitialSearchK}->${input.sqliteQueryFinalSearchK}` : typeof input?.sqliteQueryFinalSearchK === "number" ? `searchK ${input.sqliteQueryFinalSearchK}` : undefined,
2530
2531
  typeof input?.sqliteQuerySearchExpansionRatio === "number" ? `expand ${(input.sqliteQuerySearchExpansionRatio * 100).toFixed(0)}%` : undefined,
2531
2532
  typeof input?.sqliteQueryBackfillCount === "number" ? `backfill ${input.sqliteQueryBackfillCount}` : undefined,
2533
+ typeof input?.sqliteQueryBackfillLimitReached === "boolean" && input.sqliteQueryBackfillLimitReached ? "backfill limit reached" : undefined,
2532
2534
  typeof input?.sqliteQueryReturnedCount === "number" ? `returned ${input.sqliteQueryReturnedCount}` : undefined,
2533
2535
  typeof input?.sqliteQueryCandidateYieldRatio === "number" ? `yield ${(input.sqliteQueryCandidateYieldRatio * 100).toFixed(0)}%` : undefined,
2534
2536
  typeof input?.sqliteQueryTopKFillRatio === "number" ? `fill ${(input.sqliteQueryTopKFillRatio * 100).toFixed(0)}%` : undefined,
@@ -2550,12 +2552,14 @@ var formatPostgresPlannerCueSummary = (input) => {
2550
2552
  typeof input?.postgresQueryJsRemainderClauseCount === "number" ? `js remainder ${input.postgresQueryJsRemainderClauseCount}` : undefined,
2551
2553
  typeof input?.postgresQueryMultiplierUsed === "number" ? `x${input.postgresQueryMultiplierUsed}` : undefined,
2552
2554
  typeof input?.postgresQueryCandidateLimitUsed === "number" ? `cap ${input.postgresQueryCandidateLimitUsed}` : undefined,
2555
+ typeof input?.postgresQueryMaxBackfillsUsed === "number" ? `backfills ${input.postgresQueryMaxBackfillsUsed}` : undefined,
2553
2556
  typeof input?.postgresQueryJsRemainderRatio === "number" ? `js ${(input.postgresQueryJsRemainderRatio * 100).toFixed(0)}%` : undefined,
2554
2557
  typeof input?.postgresQueryTotalFilterClauseCount === "number" ? `total clauses ${input.postgresQueryTotalFilterClauseCount}` : undefined,
2555
2558
  typeof input?.postgresQueryFilteredCandidates === "number" ? `filtered ${input.postgresQueryFilteredCandidates}` : undefined,
2556
2559
  typeof input?.postgresQueryInitialSearchK === "number" && typeof input?.postgresQueryFinalSearchK === "number" ? `searchK ${input.postgresQueryInitialSearchK}->${input.postgresQueryFinalSearchK}` : typeof input?.postgresQueryFinalSearchK === "number" ? `searchK ${input.postgresQueryFinalSearchK}` : undefined,
2557
2560
  typeof input?.postgresQuerySearchExpansionRatio === "number" ? `expand ${(input.postgresQuerySearchExpansionRatio * 100).toFixed(0)}%` : undefined,
2558
2561
  typeof input?.postgresQueryBackfillCount === "number" ? `backfill ${input.postgresQueryBackfillCount}` : undefined,
2562
+ typeof input?.postgresQueryBackfillLimitReached === "boolean" && input.postgresQueryBackfillLimitReached ? "backfill limit reached" : undefined,
2559
2563
  typeof input?.postgresQueryReturnedCount === "number" ? `returned ${input.postgresQueryReturnedCount}` : undefined,
2560
2564
  typeof input?.postgresQueryCandidateYieldRatio === "number" ? `yield ${(input.postgresQueryCandidateYieldRatio * 100).toFixed(0)}%` : undefined,
2561
2565
  typeof input?.postgresQueryTopKFillRatio === "number" ? `fill ${(input.postgresQueryTopKFillRatio * 100).toFixed(0)}%` : undefined,
@@ -3868,10 +3872,12 @@ var buildEvaluationSQLiteQueryPlanSnapshot = (trace) => {
3868
3872
  sqliteQueryJsRemainderClauseCount: typeof metadata.sqliteQueryJsRemainderClauseCount === "number" ? metadata.sqliteQueryJsRemainderClauseCount : undefined,
3869
3873
  sqliteQueryMultiplierUsed: typeof metadata.sqliteQueryMultiplierUsed === "number" ? metadata.sqliteQueryMultiplierUsed : undefined,
3870
3874
  sqliteQueryCandidateLimitUsed: typeof metadata.sqliteQueryCandidateLimitUsed === "number" ? metadata.sqliteQueryCandidateLimitUsed : undefined,
3875
+ sqliteQueryMaxBackfillsUsed: typeof metadata.sqliteQueryMaxBackfillsUsed === "number" ? metadata.sqliteQueryMaxBackfillsUsed : undefined,
3871
3876
  sqliteQueryPushdownCoverageRatio: typeof metadata.sqliteQueryPushdownCoverageRatio === "number" ? metadata.sqliteQueryPushdownCoverageRatio : undefined,
3872
3877
  sqliteQueryJsRemainderRatio: typeof metadata.sqliteQueryJsRemainderRatio === "number" ? metadata.sqliteQueryJsRemainderRatio : undefined,
3873
3878
  sqliteQueryReturnedCount: typeof metadata.sqliteQueryReturnedCount === "number" ? metadata.sqliteQueryReturnedCount : undefined,
3874
3879
  sqliteQueryCandidateYieldRatio: typeof metadata.sqliteQueryCandidateYieldRatio === "number" ? metadata.sqliteQueryCandidateYieldRatio : undefined,
3880
+ sqliteQueryBackfillLimitReached: typeof metadata.sqliteQueryBackfillLimitReached === "boolean" ? metadata.sqliteQueryBackfillLimitReached : undefined,
3875
3881
  sqliteQueryTopKFillRatio: typeof metadata.sqliteQueryTopKFillRatio === "number" ? metadata.sqliteQueryTopKFillRatio : undefined,
3876
3882
  sqliteQueryUnderfilledTopK: typeof metadata.sqliteQueryUnderfilledTopK === "boolean" ? metadata.sqliteQueryUnderfilledTopK : undefined
3877
3883
  };
@@ -3895,10 +3901,12 @@ var buildEvaluationPostgresQueryPlanSnapshot = (trace) => {
3895
3901
  postgresQueryJsRemainderClauseCount: typeof metadata.postgresQueryJsRemainderClauseCount === "number" ? metadata.postgresQueryJsRemainderClauseCount : undefined,
3896
3902
  postgresQueryMultiplierUsed: typeof metadata.postgresQueryMultiplierUsed === "number" ? metadata.postgresQueryMultiplierUsed : undefined,
3897
3903
  postgresQueryCandidateLimitUsed: typeof metadata.postgresQueryCandidateLimitUsed === "number" ? metadata.postgresQueryCandidateLimitUsed : undefined,
3904
+ postgresQueryMaxBackfillsUsed: typeof metadata.postgresQueryMaxBackfillsUsed === "number" ? metadata.postgresQueryMaxBackfillsUsed : undefined,
3898
3905
  postgresQueryPushdownCoverageRatio: typeof metadata.postgresQueryPushdownCoverageRatio === "number" ? metadata.postgresQueryPushdownCoverageRatio : undefined,
3899
3906
  postgresQueryJsRemainderRatio: typeof metadata.postgresQueryJsRemainderRatio === "number" ? metadata.postgresQueryJsRemainderRatio : undefined,
3900
3907
  postgresQueryReturnedCount: typeof metadata.postgresQueryReturnedCount === "number" ? metadata.postgresQueryReturnedCount : undefined,
3901
3908
  postgresQueryCandidateYieldRatio: typeof metadata.postgresQueryCandidateYieldRatio === "number" ? metadata.postgresQueryCandidateYieldRatio : undefined,
3909
+ postgresQueryBackfillLimitReached: typeof metadata.postgresQueryBackfillLimitReached === "boolean" ? metadata.postgresQueryBackfillLimitReached : undefined,
3902
3910
  postgresQueryTopKFillRatio: typeof metadata.postgresQueryTopKFillRatio === "number" ? metadata.postgresQueryTopKFillRatio : undefined,
3903
3911
  postgresQueryUnderfilledTopK: typeof metadata.postgresQueryUnderfilledTopK === "boolean" ? metadata.postgresQueryUnderfilledTopK : undefined
3904
3912
  };
@@ -5151,6 +5159,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5151
5159
  const sqliteQueryJsRemainderClauseCount = currentSQLiteQueryPlanSnapshot.sqliteQueryJsRemainderClauseCount ?? currentSnapshot?.sqliteQueryJsRemainderClauseCount;
5152
5160
  const sqliteQueryMultiplierUsed = currentSQLiteQueryPlanSnapshot.sqliteQueryMultiplierUsed ?? currentSnapshot?.sqliteQueryMultiplierUsed;
5153
5161
  const sqliteQueryCandidateLimitUsed = currentSQLiteQueryPlanSnapshot.sqliteQueryCandidateLimitUsed ?? currentSnapshot?.sqliteQueryCandidateLimitUsed;
5162
+ const sqliteQueryMaxBackfillsUsed = currentSQLiteQueryPlanSnapshot.sqliteQueryMaxBackfillsUsed ?? currentSnapshot?.sqliteQueryMaxBackfillsUsed;
5154
5163
  const sqliteQueryPushdownCoverageRatio = currentSQLiteQueryPlanSnapshot.sqliteQueryPushdownCoverageRatio ?? currentSnapshot?.sqliteQueryPushdownCoverageRatio;
5155
5164
  const sqliteQueryJsRemainderRatio = currentSQLiteQueryPlanSnapshot.sqliteQueryJsRemainderRatio ?? currentSnapshot?.sqliteQueryJsRemainderRatio;
5156
5165
  const sqliteQueryFilteredCandidates = currentSQLiteQueryPlanSnapshot.sqliteQueryFilteredCandidates ?? currentSnapshot?.sqliteQueryFilteredCandidates;
@@ -5158,6 +5167,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5158
5167
  const sqliteQueryFinalSearchK = currentSQLiteQueryPlanSnapshot.sqliteQueryFinalSearchK ?? currentSnapshot?.sqliteQueryFinalSearchK;
5159
5168
  const sqliteQuerySearchExpansionRatio = currentSQLiteQueryPlanSnapshot.sqliteQuerySearchExpansionRatio ?? currentSnapshot?.sqliteQuerySearchExpansionRatio;
5160
5169
  const sqliteQueryBackfillCount = currentSQLiteQueryPlanSnapshot.sqliteQueryBackfillCount ?? currentSnapshot?.sqliteQueryBackfillCount;
5170
+ const sqliteQueryBackfillLimitReached = currentSQLiteQueryPlanSnapshot.sqliteQueryBackfillLimitReached ?? currentSnapshot?.sqliteQueryBackfillLimitReached;
5161
5171
  const sqliteQueryReturnedCount = currentSQLiteQueryPlanSnapshot.sqliteQueryReturnedCount ?? currentSnapshot?.sqliteQueryReturnedCount;
5162
5172
  const sqliteQueryCandidateYieldRatio = currentSQLiteQueryPlanSnapshot.sqliteQueryCandidateYieldRatio ?? currentSnapshot?.sqliteQueryCandidateYieldRatio;
5163
5173
  const sqliteQueryTopKFillRatio = currentSQLiteQueryPlanSnapshot.sqliteQueryTopKFillRatio ?? currentSnapshot?.sqliteQueryTopKFillRatio;
@@ -5172,6 +5182,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5172
5182
  const postgresQueryJsRemainderClauseCount = currentPostgresQueryPlanSnapshot.postgresQueryJsRemainderClauseCount ?? currentSnapshot?.postgresQueryJsRemainderClauseCount;
5173
5183
  const postgresQueryMultiplierUsed = currentPostgresQueryPlanSnapshot.postgresQueryMultiplierUsed ?? currentSnapshot?.postgresQueryMultiplierUsed;
5174
5184
  const postgresQueryCandidateLimitUsed = currentPostgresQueryPlanSnapshot.postgresQueryCandidateLimitUsed ?? currentSnapshot?.postgresQueryCandidateLimitUsed;
5185
+ const postgresQueryMaxBackfillsUsed = currentPostgresQueryPlanSnapshot.postgresQueryMaxBackfillsUsed ?? currentSnapshot?.postgresQueryMaxBackfillsUsed;
5175
5186
  const postgresQueryPushdownCoverageRatio = currentPostgresQueryPlanSnapshot.postgresQueryPushdownCoverageRatio ?? currentSnapshot?.postgresQueryPushdownCoverageRatio;
5176
5187
  const postgresQueryJsRemainderRatio = currentPostgresQueryPlanSnapshot.postgresQueryJsRemainderRatio ?? currentSnapshot?.postgresQueryJsRemainderRatio;
5177
5188
  const postgresQueryFilteredCandidates = currentPostgresQueryPlanSnapshot.postgresQueryFilteredCandidates ?? currentSnapshot?.postgresQueryFilteredCandidates;
@@ -5179,6 +5190,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5179
5190
  const postgresQueryFinalSearchK = currentPostgresQueryPlanSnapshot.postgresQueryFinalSearchK ?? currentSnapshot?.postgresQueryFinalSearchK;
5180
5191
  const postgresQuerySearchExpansionRatio = currentPostgresQueryPlanSnapshot.postgresQuerySearchExpansionRatio ?? currentSnapshot?.postgresQuerySearchExpansionRatio;
5181
5192
  const postgresQueryBackfillCount = currentPostgresQueryPlanSnapshot.postgresQueryBackfillCount ?? currentSnapshot?.postgresQueryBackfillCount;
5193
+ const postgresQueryBackfillLimitReached = currentPostgresQueryPlanSnapshot.postgresQueryBackfillLimitReached ?? currentSnapshot?.postgresQueryBackfillLimitReached;
5182
5194
  const postgresQueryReturnedCount = currentPostgresQueryPlanSnapshot.postgresQueryReturnedCount ?? currentSnapshot?.postgresQueryReturnedCount;
5183
5195
  const postgresQueryCandidateYieldRatio = currentPostgresQueryPlanSnapshot.postgresQueryCandidateYieldRatio ?? currentSnapshot?.postgresQueryCandidateYieldRatio;
5184
5196
  const postgresQueryTopKFillRatio = currentPostgresQueryPlanSnapshot.postgresQueryTopKFillRatio ?? currentSnapshot?.postgresQueryTopKFillRatio;
@@ -5189,7 +5201,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5189
5201
  const previousFilterSignature = JSON.stringify(previousTrace?.inputFilter ?? undefined);
5190
5202
  const currentRetrievalSignature = JSON.stringify(retrieval ?? undefined);
5191
5203
  const previousRetrievalSignature = JSON.stringify(previousTrace?.inputRetrieval ?? undefined);
5192
- 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.sqliteQueryPushdownMode !== sqliteQueryPushdownMode || previousTrace.sqliteQueryPushdownApplied !== sqliteQueryPushdownApplied || previousTrace.sqliteQueryPushdownClauseCount !== sqliteQueryPushdownClauseCount || previousTrace.sqliteQueryTotalFilterClauseCount !== sqliteQueryTotalFilterClauseCount || previousTrace.sqliteQueryJsRemainderClauseCount !== sqliteQueryJsRemainderClauseCount || previousTrace.sqliteQueryMultiplierUsed !== sqliteQueryMultiplierUsed || previousTrace.sqliteQueryCandidateLimitUsed !== sqliteQueryCandidateLimitUsed || previousTrace.sqliteQueryPushdownCoverageRatio !== sqliteQueryPushdownCoverageRatio || previousTrace.sqliteQueryJsRemainderRatio !== sqliteQueryJsRemainderRatio || previousTrace.sqliteQueryFilteredCandidates !== sqliteQueryFilteredCandidates || previousTrace.sqliteQueryInitialSearchK !== sqliteQueryInitialSearchK || previousTrace.sqliteQueryFinalSearchK !== sqliteQueryFinalSearchK || previousTrace.sqliteQuerySearchExpansionRatio !== sqliteQuerySearchExpansionRatio || previousTrace.sqliteQueryBackfillCount !== sqliteQueryBackfillCount || previousTrace.sqliteQueryReturnedCount !== sqliteQueryReturnedCount || previousTrace.sqliteQueryCandidateYieldRatio !== sqliteQueryCandidateYieldRatio || previousTrace.sqliteQueryTopKFillRatio !== sqliteQueryTopKFillRatio || previousTrace.sqliteQueryUnderfilledTopK !== sqliteQueryUnderfilledTopK || previousTrace.sqliteQueryCandidateBudgetExhausted !== sqliteQueryCandidateBudgetExhausted || previousTrace.sqliteQueryCandidateCoverage !== sqliteQueryCandidateCoverage || previousTrace.postgresQueryMode !== postgresQueryMode || previousTrace.postgresQueryPushdownMode !== postgresQueryPushdownMode || previousTrace.postgresQueryPushdownApplied !== postgresQueryPushdownApplied || previousTrace.postgresQueryPushdownClauseCount !== postgresQueryPushdownClauseCount || previousTrace.postgresQueryTotalFilterClauseCount !== postgresQueryTotalFilterClauseCount || previousTrace.postgresQueryJsRemainderClauseCount !== postgresQueryJsRemainderClauseCount || previousTrace.postgresQueryMultiplierUsed !== postgresQueryMultiplierUsed || previousTrace.postgresQueryCandidateLimitUsed !== postgresQueryCandidateLimitUsed || previousTrace.postgresQueryPushdownCoverageRatio !== postgresQueryPushdownCoverageRatio || previousTrace.postgresQueryJsRemainderRatio !== postgresQueryJsRemainderRatio || previousTrace.postgresQueryFilteredCandidates !== postgresQueryFilteredCandidates || previousTrace.postgresQueryInitialSearchK !== postgresQueryInitialSearchK || previousTrace.postgresQueryFinalSearchK !== postgresQueryFinalSearchK || previousTrace.postgresQuerySearchExpansionRatio !== postgresQuerySearchExpansionRatio || previousTrace.postgresQueryBackfillCount !== postgresQueryBackfillCount || previousTrace.postgresQueryReturnedCount !== postgresQueryReturnedCount || previousTrace.postgresQueryCandidateYieldRatio !== postgresQueryCandidateYieldRatio || previousTrace.postgresQueryTopKFillRatio !== postgresQueryTopKFillRatio || previousTrace.postgresQueryUnderfilledTopK !== postgresQueryUnderfilledTopK || previousTrace.postgresQueryCandidateBudgetExhausted !== postgresQueryCandidateBudgetExhausted || previousTrace.postgresQueryCandidateCoverage !== postgresQueryCandidateCoverage || !areStageCountsEqual(previousStageCounts, stageCounts) ? "changed" : "unchanged";
5204
+ 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.sqliteQueryPushdownMode !== sqliteQueryPushdownMode || previousTrace.sqliteQueryPushdownApplied !== sqliteQueryPushdownApplied || previousTrace.sqliteQueryPushdownClauseCount !== sqliteQueryPushdownClauseCount || previousTrace.sqliteQueryTotalFilterClauseCount !== sqliteQueryTotalFilterClauseCount || previousTrace.sqliteQueryJsRemainderClauseCount !== sqliteQueryJsRemainderClauseCount || previousTrace.sqliteQueryMultiplierUsed !== sqliteQueryMultiplierUsed || previousTrace.sqliteQueryCandidateLimitUsed !== sqliteQueryCandidateLimitUsed || previousTrace.sqliteQueryMaxBackfillsUsed !== sqliteQueryMaxBackfillsUsed || previousTrace.sqliteQueryPushdownCoverageRatio !== sqliteQueryPushdownCoverageRatio || previousTrace.sqliteQueryJsRemainderRatio !== sqliteQueryJsRemainderRatio || previousTrace.sqliteQueryFilteredCandidates !== sqliteQueryFilteredCandidates || previousTrace.sqliteQueryInitialSearchK !== sqliteQueryInitialSearchK || previousTrace.sqliteQueryFinalSearchK !== sqliteQueryFinalSearchK || previousTrace.sqliteQuerySearchExpansionRatio !== sqliteQuerySearchExpansionRatio || previousTrace.sqliteQueryBackfillCount !== sqliteQueryBackfillCount || previousTrace.sqliteQueryBackfillLimitReached !== sqliteQueryBackfillLimitReached || previousTrace.sqliteQueryReturnedCount !== sqliteQueryReturnedCount || previousTrace.sqliteQueryCandidateYieldRatio !== sqliteQueryCandidateYieldRatio || previousTrace.sqliteQueryTopKFillRatio !== sqliteQueryTopKFillRatio || previousTrace.sqliteQueryUnderfilledTopK !== sqliteQueryUnderfilledTopK || previousTrace.sqliteQueryCandidateBudgetExhausted !== sqliteQueryCandidateBudgetExhausted || previousTrace.sqliteQueryCandidateCoverage !== sqliteQueryCandidateCoverage || previousTrace.postgresQueryMode !== postgresQueryMode || previousTrace.postgresQueryPushdownMode !== postgresQueryPushdownMode || previousTrace.postgresQueryPushdownApplied !== postgresQueryPushdownApplied || previousTrace.postgresQueryPushdownClauseCount !== postgresQueryPushdownClauseCount || previousTrace.postgresQueryTotalFilterClauseCount !== postgresQueryTotalFilterClauseCount || previousTrace.postgresQueryJsRemainderClauseCount !== postgresQueryJsRemainderClauseCount || previousTrace.postgresQueryMultiplierUsed !== postgresQueryMultiplierUsed || previousTrace.postgresQueryCandidateLimitUsed !== postgresQueryCandidateLimitUsed || previousTrace.postgresQueryMaxBackfillsUsed !== postgresQueryMaxBackfillsUsed || previousTrace.postgresQueryPushdownCoverageRatio !== postgresQueryPushdownCoverageRatio || previousTrace.postgresQueryJsRemainderRatio !== postgresQueryJsRemainderRatio || previousTrace.postgresQueryFilteredCandidates !== postgresQueryFilteredCandidates || previousTrace.postgresQueryInitialSearchK !== postgresQueryInitialSearchK || previousTrace.postgresQueryFinalSearchK !== postgresQueryFinalSearchK || previousTrace.postgresQuerySearchExpansionRatio !== postgresQuerySearchExpansionRatio || previousTrace.postgresQueryBackfillCount !== postgresQueryBackfillCount || previousTrace.postgresQueryBackfillLimitReached !== postgresQueryBackfillLimitReached || previousTrace.postgresQueryReturnedCount !== postgresQueryReturnedCount || previousTrace.postgresQueryCandidateYieldRatio !== postgresQueryCandidateYieldRatio || previousTrace.postgresQueryTopKFillRatio !== postgresQueryTopKFillRatio || previousTrace.postgresQueryUnderfilledTopK !== postgresQueryUnderfilledTopK || previousTrace.postgresQueryCandidateBudgetExhausted !== postgresQueryCandidateBudgetExhausted || previousTrace.postgresQueryCandidateCoverage !== postgresQueryCandidateCoverage || !areStageCountsEqual(previousStageCounts, stageCounts) ? "changed" : "unchanged";
5193
5205
  return {
5194
5206
  candidateTopK: currentTrace?.candidateTopK ?? 0,
5195
5207
  caseId: caseResult.caseId,
@@ -5212,6 +5224,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5212
5224
  previousLeadSpeakerAttributionCue: previousTrace?.leadSpeakerAttributionCue,
5213
5225
  previousLeadSpeakerCue: previousTrace?.leadSpeakerCue,
5214
5226
  previousSqliteQueryBackfillCount: previousTrace?.sqliteQueryBackfillCount,
5227
+ previousSqliteQueryBackfillLimitReached: previousTrace?.sqliteQueryBackfillLimitReached,
5215
5228
  previousSqliteQueryCandidateBudgetExhausted: previousTrace?.sqliteQueryCandidateBudgetExhausted,
5216
5229
  previousSqliteQueryCandidateCoverage: previousTrace?.sqliteQueryCandidateCoverage,
5217
5230
  previousSqliteQueryFilteredCandidates: previousTrace?.sqliteQueryFilteredCandidates,
@@ -5226,6 +5239,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5226
5239
  previousSqliteQueryJsRemainderClauseCount: previousTrace?.sqliteQueryJsRemainderClauseCount,
5227
5240
  previousSqliteQueryMultiplierUsed: previousTrace?.sqliteQueryMultiplierUsed,
5228
5241
  previousSqliteQueryCandidateLimitUsed: previousTrace?.sqliteQueryCandidateLimitUsed,
5242
+ previousSqliteQueryMaxBackfillsUsed: previousTrace?.sqliteQueryMaxBackfillsUsed,
5229
5243
  previousSqliteQueryPushdownCoverageRatio: previousTrace?.sqliteQueryPushdownCoverageRatio,
5230
5244
  previousSqliteQueryJsRemainderRatio: previousTrace?.sqliteQueryJsRemainderRatio,
5231
5245
  previousSqliteQueryReturnedCount: previousTrace?.sqliteQueryReturnedCount,
@@ -5233,6 +5247,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5233
5247
  previousSqliteQueryTopKFillRatio: previousTrace?.sqliteQueryTopKFillRatio,
5234
5248
  previousSqliteQueryUnderfilledTopK: previousTrace?.sqliteQueryUnderfilledTopK,
5235
5249
  previousPostgresQueryBackfillCount: previousTrace?.postgresQueryBackfillCount,
5250
+ previousPostgresQueryBackfillLimitReached: previousTrace?.postgresQueryBackfillLimitReached,
5236
5251
  previousPostgresQueryCandidateBudgetExhausted: previousTrace?.postgresQueryCandidateBudgetExhausted,
5237
5252
  previousPostgresQueryCandidateCoverage: previousTrace?.postgresQueryCandidateCoverage,
5238
5253
  previousPostgresQueryFilteredCandidates: previousTrace?.postgresQueryFilteredCandidates,
@@ -5247,6 +5262,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5247
5262
  previousPostgresQueryJsRemainderClauseCount: previousTrace?.postgresQueryJsRemainderClauseCount,
5248
5263
  previousPostgresQueryMultiplierUsed: previousTrace?.postgresQueryMultiplierUsed,
5249
5264
  previousPostgresQueryCandidateLimitUsed: previousTrace?.postgresQueryCandidateLimitUsed,
5265
+ previousPostgresQueryMaxBackfillsUsed: previousTrace?.postgresQueryMaxBackfillsUsed,
5250
5266
  previousPostgresQueryPushdownCoverageRatio: previousTrace?.postgresQueryPushdownCoverageRatio,
5251
5267
  previousPostgresQueryJsRemainderRatio: previousTrace?.postgresQueryJsRemainderRatio,
5252
5268
  previousPostgresQueryReturnedCount: previousTrace?.postgresQueryReturnedCount,
@@ -5270,6 +5286,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5270
5286
  leadSpeakerAttributionCue,
5271
5287
  leadSpeakerCue,
5272
5288
  sqliteQueryBackfillCount,
5289
+ sqliteQueryBackfillLimitReached,
5273
5290
  sqliteQueryCandidateBudgetExhausted,
5274
5291
  sqliteQueryCandidateCoverage,
5275
5292
  sqliteQueryFilteredCandidates,
@@ -5284,6 +5301,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5284
5301
  sqliteQueryJsRemainderClauseCount,
5285
5302
  sqliteQueryMultiplierUsed,
5286
5303
  sqliteQueryCandidateLimitUsed,
5304
+ sqliteQueryMaxBackfillsUsed,
5287
5305
  sqliteQueryPushdownCoverageRatio,
5288
5306
  sqliteQueryJsRemainderRatio,
5289
5307
  sqliteQueryReturnedCount,
@@ -5291,6 +5309,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5291
5309
  sqliteQueryTopKFillRatio,
5292
5310
  sqliteQueryUnderfilledTopK,
5293
5311
  postgresQueryBackfillCount,
5312
+ postgresQueryBackfillLimitReached,
5294
5313
  postgresQueryCandidateBudgetExhausted,
5295
5314
  postgresQueryCandidateCoverage,
5296
5315
  postgresQueryFilteredCandidates,
@@ -5305,6 +5324,7 @@ var buildEvaluationCaseTraceSnapshot = ({
5305
5324
  postgresQueryJsRemainderClauseCount,
5306
5325
  postgresQueryMultiplierUsed,
5307
5326
  postgresQueryCandidateLimitUsed,
5327
+ postgresQueryMaxBackfillsUsed,
5308
5328
  postgresQueryPushdownCoverageRatio,
5309
5329
  postgresQueryJsRemainderRatio,
5310
5330
  postgresQueryReturnedCount,
@@ -16922,9 +16942,11 @@ var buildStoreQueryPlanTraceMetadata = (store) => {
16922
16942
  sqliteQueryJsRemainderClauseCount: sqliteNativePlan.jsRemainderClauseCount,
16923
16943
  sqliteQueryMultiplierUsed: sqliteNativePlan.queryMultiplierUsed ?? null,
16924
16944
  sqliteQueryCandidateLimitUsed: sqliteNativePlan.candidateLimitUsed ?? null,
16945
+ sqliteQueryMaxBackfillsUsed: sqliteNativePlan.maxBackfillsUsed ?? null,
16925
16946
  sqliteQueryJsRemainderRatio: sqliteNativePlan.jsRemainderRatio ?? null,
16926
16947
  sqliteQueryCandidateYieldRatio: sqliteNativePlan.candidateYieldRatio ?? null,
16927
16948
  sqliteQueryReturnedCount: sqliteNativePlan.returnedCount ?? null,
16949
+ sqliteQueryBackfillLimitReached: sqliteNativePlan.backfillLimitReached ?? null,
16928
16950
  sqliteQueryTopKFillRatio: sqliteNativePlan.topKFillRatio ?? null,
16929
16951
  sqliteQueryUnderfilledTopK: sqliteNativePlan.underfilledTopK ?? null
16930
16952
  };
@@ -16950,9 +16972,11 @@ var buildStoreQueryPlanTraceMetadata = (store) => {
16950
16972
  postgresQueryJsRemainderClauseCount: postgresNativePlan.jsRemainderClauseCount,
16951
16973
  postgresQueryMultiplierUsed: postgresNativePlan.queryMultiplierUsed ?? null,
16952
16974
  postgresQueryCandidateLimitUsed: postgresNativePlan.candidateLimitUsed ?? null,
16975
+ postgresQueryMaxBackfillsUsed: postgresNativePlan.maxBackfillsUsed ?? null,
16953
16976
  postgresQueryJsRemainderRatio: postgresNativePlan.jsRemainderRatio ?? null,
16954
16977
  postgresQueryCandidateYieldRatio: postgresNativePlan.candidateYieldRatio ?? null,
16955
16978
  postgresQueryReturnedCount: postgresNativePlan.returnedCount ?? null,
16979
+ postgresQueryBackfillLimitReached: postgresNativePlan.backfillLimitReached ?? null,
16956
16980
  postgresQueryTopKFillRatio: postgresNativePlan.topKFillRatio ?? null,
16957
16981
  postgresQueryUnderfilledTopK: postgresNativePlan.underfilledTopK ?? null
16958
16982
  };
@@ -17082,6 +17106,7 @@ var createRAGCollection = (options) => {
17082
17106
  }, "query").then((nextQueryVector) => options.store.query({
17083
17107
  filter: input.filter,
17084
17108
  candidateLimit: input.nativeCandidateLimit,
17109
+ maxBackfills: input.nativeMaxBackfills,
17085
17110
  queryMultiplier: input.nativeQueryMultiplier,
17086
17111
  queryVector: nextQueryVector,
17087
17112
  topK: candidateTopK
@@ -22073,6 +22098,7 @@ var ragChat = (config) => {
22073
22098
  const input = {
22074
22099
  filter: getObjectProperty(body, "filter"),
22075
22100
  nativeCandidateLimit: typeof body.nativeCandidateLimit === "number" ? body.nativeCandidateLimit : undefined,
22101
+ nativeMaxBackfills: typeof body.nativeMaxBackfills === "number" ? body.nativeMaxBackfills : undefined,
22076
22102
  nativeQueryMultiplier: typeof body.nativeQueryMultiplier === "number" ? body.nativeQueryMultiplier : undefined,
22077
22103
  retrieval: undefined,
22078
22104
  model: getStringProperty(body, "model"),
@@ -28759,6 +28785,9 @@ var planNativeCandidateSearchK = (input) => {
28759
28785
  return Math.min(base, filtered);
28760
28786
  };
28761
28787
  var planNativeCandidateSearchBackfillK = (input) => {
28788
+ if (typeof input.maxBackfills === "number" && Number.isFinite(input.maxBackfills) && (input.backfillCount ?? 0) >= Math.max(0, Math.floor(input.maxBackfills))) {
28789
+ return input.currentSearchK;
28790
+ }
28762
28791
  const cappedLimit = input.filteredCandidateCount === undefined || !Number.isFinite(input.filteredCandidateCount) ? input.candidateLimit : Math.min(input.candidateLimit, Math.max(0, Math.floor(input.filteredCandidateCount)));
28763
28792
  if (input.currentSearchK >= cappedLimit) {
28764
28793
  return input.currentSearchK;
@@ -29017,6 +29046,12 @@ var normalizeCandidateLimit = (value) => {
29017
29046
  }
29018
29047
  return Math.min(RAG_NATIVE_QUERY_CANDIDATE_LIMIT, Math.max(1, Math.floor(value)));
29019
29048
  };
29049
+ var normalizeMaxBackfills = (value) => {
29050
+ if (value === undefined || !Number.isFinite(value)) {
29051
+ return;
29052
+ }
29053
+ return Math.max(0, Math.floor(value));
29054
+ };
29020
29055
  var toQualifiedTableName = (schemaName, tableName) => `${schemaName}.${tableName}`;
29021
29056
  var toVectorLiteral = (vector) => `[${vector.join(",")}]`;
29022
29057
  var parseMetadata = (value) => {
@@ -29105,6 +29140,7 @@ var updatePostgresLastQueryPlan = (input) => {
29105
29140
  initialSearchK: input.initialSearchK,
29106
29141
  searchExpansionRatio: typeof input.initialSearchK === "number" && typeof input.finalSearchK === "number" && input.initialSearchK > 0 ? input.finalSearchK / input.initialSearchK : undefined,
29107
29142
  candidateLimitUsed: input.candidateLimitUsed,
29143
+ maxBackfillsUsed: input.maxBackfillsUsed,
29108
29144
  jsRemainderClauseCount: pushdown.jsRemainderClauseCount,
29109
29145
  queryMultiplierUsed: input.queryMultiplierUsed,
29110
29146
  jsRemainderRatio: pushdown.jsRemainderRatio,
@@ -29115,6 +29151,7 @@ var updatePostgresLastQueryPlan = (input) => {
29115
29151
  queryMode: "native_pgvector",
29116
29152
  candidateYieldRatio: typeof input.returnedCount === "number" && typeof input.finalSearchK === "number" && input.finalSearchK > 0 ? input.returnedCount / input.finalSearchK : undefined,
29117
29153
  returnedCount: input.returnedCount,
29154
+ backfillLimitReached: input.backfillLimitReached,
29118
29155
  topKFillRatio: typeof input.returnedCount === "number" && input.topK > 0 ? input.returnedCount / input.topK : undefined,
29119
29156
  totalFilterClauseCount: pushdown.totalFilterClauseCount,
29120
29157
  underfilledTopK: input.underfilledTopK
@@ -29198,6 +29235,7 @@ var createPostgresRAGStore = (options = {}) => {
29198
29235
  const queryVector = normalizeVector(input.queryVector);
29199
29236
  const queryMultiplier2 = normalizeQueryMultiplier(input.queryMultiplier ?? options.queryMultiplier);
29200
29237
  const candidateLimit = normalizeCandidateLimit(input.candidateLimit);
29238
+ const maxBackfills = normalizeMaxBackfills(input.maxBackfills);
29201
29239
  const queryVectorLiteral = toVectorLiteral(queryVector);
29202
29240
  const pushdownFilter = buildPostgresPushdownFilter(input.filter);
29203
29241
  const countFilterPlan = buildPostgresFilterPlan(pushdownFilter);
@@ -29226,6 +29264,7 @@ var createPostgresRAGStore = (options = {}) => {
29226
29264
  let currentSearchK = initialSearchK;
29227
29265
  let backfillCount = 0;
29228
29266
  let candidateBudgetExhausted = false;
29267
+ let backfillLimitReached = false;
29229
29268
  let effectiveFilteredCandidateCount = plannedFilteredCandidateCount;
29230
29269
  let mapped = [];
29231
29270
  for (;; ) {
@@ -29259,11 +29298,14 @@ var createPostgresRAGStore = (options = {}) => {
29259
29298
  break;
29260
29299
  }
29261
29300
  const nextSearchK = planNativeCandidateSearchBackfillK({
29301
+ backfillCount,
29262
29302
  candidateLimit,
29263
29303
  currentSearchK,
29264
- filteredCandidateCount: effectiveFilteredCandidateCount
29304
+ filteredCandidateCount: effectiveFilteredCandidateCount,
29305
+ maxBackfills
29265
29306
  });
29266
29307
  if (nextSearchK <= currentSearchK) {
29308
+ backfillLimitReached = typeof maxBackfills === "number" && backfillCount >= maxBackfills && mapped.length < input.topK;
29267
29309
  candidateBudgetExhausted = mapped.length < input.topK;
29268
29310
  break;
29269
29311
  }
@@ -29274,8 +29316,10 @@ var createPostgresRAGStore = (options = {}) => {
29274
29316
  const returned = mapped.slice(0, input.topK);
29275
29317
  updatePostgresLastQueryPlan({
29276
29318
  backfillCount,
29319
+ backfillLimitReached,
29277
29320
  candidateBudgetExhausted,
29278
29321
  candidateLimitUsed: candidateLimit,
29322
+ maxBackfillsUsed: maxBackfills,
29279
29323
  filter: input.filter,
29280
29324
  pushdownFilter,
29281
29325
  queryMultiplierUsed: queryMultiplier2,
@@ -29496,6 +29540,12 @@ var normalizeCandidateLimit2 = (value) => {
29496
29540
  }
29497
29541
  return Math.min(RAG_NATIVE_QUERY_CANDIDATE_LIMIT, Math.max(1, Math.floor(value)));
29498
29542
  };
29543
+ var normalizeMaxBackfills2 = (value) => {
29544
+ if (value === undefined || !Number.isFinite(value)) {
29545
+ return;
29546
+ }
29547
+ return Math.max(0, Math.floor(value));
29548
+ };
29499
29549
  var toJSONString = (metadata) => metadata === undefined ? null : JSON.stringify(metadata);
29500
29550
  var parseMetadata2 = (value) => {
29501
29551
  if (value === null) {
@@ -30074,6 +30124,7 @@ var updateSQLiteLastQueryPlan = (input) => {
30074
30124
  searchExpansionRatio: typeof input.initialSearchK === "number" && typeof input.finalSearchK === "number" && input.initialSearchK > 0 ? input.finalSearchK / input.initialSearchK : undefined,
30075
30125
  jsRemainderClauseCount: pushdown.jsRemainderClauseCount,
30076
30126
  candidateLimitUsed: input.candidateLimitUsed,
30127
+ maxBackfillsUsed: input.maxBackfillsUsed,
30077
30128
  queryMultiplierUsed: input.queryMultiplierUsed,
30078
30129
  jsRemainderRatio: pushdown.jsRemainderRatio,
30079
30130
  pushdownApplied: pushdown.pushdownClauseCount > 0,
@@ -30083,6 +30134,7 @@ var updateSQLiteLastQueryPlan = (input) => {
30083
30134
  queryMode: input.queryMode,
30084
30135
  candidateYieldRatio: typeof input.returnedCount === "number" && typeof input.finalSearchK === "number" && input.finalSearchK > 0 ? input.returnedCount / input.finalSearchK : undefined,
30085
30136
  returnedCount: input.returnedCount,
30137
+ backfillLimitReached: input.backfillLimitReached,
30086
30138
  topKFillRatio: typeof input.returnedCount === "number" && input.topK > 0 ? input.returnedCount / input.topK : undefined,
30087
30139
  totalFilterClauseCount: pushdown.totalFilterClauseCount,
30088
30140
  underfilledTopK: input.underfilledTopK
@@ -30241,6 +30293,7 @@ var createSQLiteRAGStore = (options = {}) => {
30241
30293
  }
30242
30294
  const queryMultiplier = normalizeQueryMultiplier2(input.queryMultiplier ?? nativeConfig?.queryMultiplier);
30243
30295
  const candidateLimit = normalizeCandidateLimit2(input.candidateLimit);
30296
+ const maxBackfills = normalizeMaxBackfills2(input.maxBackfills);
30244
30297
  const queryVector = normalizeVector(input.queryVector);
30245
30298
  const queryVectorText = toVectorText(queryVector);
30246
30299
  const pushdownFilter = buildSQLitePushdownFilter(input.filter);
@@ -30264,6 +30317,7 @@ var createSQLiteRAGStore = (options = {}) => {
30264
30317
  let currentSearchK = searchK;
30265
30318
  let backfillCount = 0;
30266
30319
  let candidateBudgetExhausted = false;
30320
+ let backfillLimitReached = false;
30267
30321
  let mapped = [];
30268
30322
  for (;; ) {
30269
30323
  const rawRows = runNativeQuery(currentSearchK);
@@ -30293,11 +30347,14 @@ var createSQLiteRAGStore = (options = {}) => {
30293
30347
  break;
30294
30348
  }
30295
30349
  const nextSearchK = planNativeCandidateSearchBackfillK({
30350
+ backfillCount,
30296
30351
  candidateLimit,
30297
30352
  currentSearchK,
30298
- filteredCandidateCount
30353
+ filteredCandidateCount,
30354
+ maxBackfills
30299
30355
  });
30300
30356
  if (nextSearchK <= currentSearchK) {
30357
+ backfillLimitReached = typeof maxBackfills === "number" && backfillCount >= maxBackfills && mapped.length < input.topK;
30301
30358
  candidateBudgetExhausted = mapped.length < input.topK;
30302
30359
  break;
30303
30360
  }
@@ -30306,6 +30363,7 @@ var createSQLiteRAGStore = (options = {}) => {
30306
30363
  }
30307
30364
  updateSQLiteLastQueryPlan({
30308
30365
  backfillCount,
30366
+ backfillLimitReached,
30309
30367
  candidateBudgetExhausted,
30310
30368
  filter: input.filter,
30311
30369
  filteredCandidateCount,
@@ -30314,6 +30372,7 @@ var createSQLiteRAGStore = (options = {}) => {
30314
30372
  nativeDiagnostics,
30315
30373
  pushdownFilter,
30316
30374
  candidateLimitUsed: candidateLimit,
30375
+ maxBackfillsUsed: maxBackfills,
30317
30376
  queryMultiplierUsed: queryMultiplier,
30318
30377
  queryMode: "native_vec0",
30319
30378
  returnedCount: Math.min(mapped.length, input.topK),
@@ -32484,5 +32543,5 @@ export {
32484
32543
  addRAGEvaluationSuiteCase
32485
32544
  };
32486
32545
 
32487
- //# debugId=F50A92B6908BBB4464756E2164756E21
32546
+ //# debugId=78B8CFF451FC7B6D64756E2164756E21
32488
32547
  //# sourceMappingURL=index.js.map