@absolutejs/absolute 0.19.0-beta.643 → 0.19.0-beta.644

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.
@@ -2571,6 +2571,40 @@ export type RAGEvaluationSuiteSnapshotHistoryPresentation = {
2571
2571
  rows: RAGLabelValueRow[];
2572
2572
  snapshots: RAGEvaluationSuiteSnapshotPresentation[];
2573
2573
  };
2574
+ export type RAGAdaptiveNativePlannerBenchmarkRuntime = {
2575
+ suiteId: string;
2576
+ suiteLabel: string;
2577
+ recommendedGroupKey?: string;
2578
+ recommendedTags?: string[];
2579
+ snapshotHistory?: RAGEvaluationSuiteSnapshotHistory;
2580
+ snapshotHistoryPresentation?: RAGEvaluationSuiteSnapshotHistoryPresentation;
2581
+ };
2582
+ export type RAGAdaptiveNativePlannerBenchmarkResponse = {
2583
+ ok: boolean;
2584
+ suite?: RAGEvaluationSuite;
2585
+ snapshotHistory?: RAGEvaluationSuiteSnapshotHistory;
2586
+ snapshotHistoryPresentation?: RAGEvaluationSuiteSnapshotHistoryPresentation;
2587
+ error?: string;
2588
+ };
2589
+ export type RAGAdaptiveNativePlannerBenchmarkSnapshotResponse = {
2590
+ ok: boolean;
2591
+ suite?: RAGEvaluationSuite;
2592
+ snapshot?: RAGEvaluationSuiteSnapshot;
2593
+ snapshotHistory?: RAGEvaluationSuiteSnapshotHistory;
2594
+ snapshotHistoryPresentation?: RAGEvaluationSuiteSnapshotHistoryPresentation;
2595
+ error?: string;
2596
+ };
2597
+ export type RAGRetrievalReleaseHistoryRunPresentation = {
2598
+ runId: string;
2599
+ label: string;
2600
+ summary: string;
2601
+ rows: RAGLabelValueRow[];
2602
+ };
2603
+ export type RAGRetrievalReleaseGroupHistoryPresentation = {
2604
+ summary: string;
2605
+ rows: RAGLabelValueRow[];
2606
+ recentRuns: RAGRetrievalReleaseHistoryRunPresentation[];
2607
+ };
2574
2608
  export type RAGAnswerGroundingHistoryPresentation = {
2575
2609
  summary: string;
2576
2610
  rows: RAGLabelValueRow[];
@@ -2686,6 +2720,8 @@ export type RAGRetrievalTraceComparisonSummary = {
2686
2720
  multiVectorVectorHitCases: number;
2687
2721
  multiVectorLexicalHitCases: number;
2688
2722
  multiVectorCollapsedCases: number;
2723
+ runtimeCandidateBudgetExhaustedCases: number;
2724
+ runtimeUnderfilledTopKCases: number;
2689
2725
  averageFinalCount: number;
2690
2726
  averageVectorCount: number;
2691
2727
  averageLexicalCount: number;
@@ -2891,6 +2927,8 @@ export type RAGRetrievalTraceComparisonSummaryDiff = {
2891
2927
  multiVectorVectorHitCasesDelta: number;
2892
2928
  multiVectorLexicalHitCasesDelta: number;
2893
2929
  multiVectorCollapsedCasesDelta: number;
2930
+ runtimeCandidateBudgetExhaustedCasesDelta: number;
2931
+ runtimeUnderfilledTopKCasesDelta: number;
2894
2932
  modeDelta: RAGTraceSummaryListDelta<RAGHybridRetrievalMode>;
2895
2933
  sourceBalanceStrategyDelta: RAGTraceSummaryListDelta<RAGSourceBalanceStrategy>;
2896
2934
  stageCountsDelta: Partial<Record<RAGRetrievalTraceStage, RAGTraceSummaryStageCountsDelta>>;
@@ -2937,6 +2975,8 @@ export type RAGRetrievalComparisonSummary = {
2937
2975
  bestByMultivectorCollapsedCases?: string;
2938
2976
  bestByMultivectorLexicalHitCases?: string;
2939
2977
  bestByMultivectorVectorHitCases?: string;
2978
+ bestByLowestRuntimeCandidateBudgetExhaustedCases?: string;
2979
+ bestByLowestRuntimeUnderfilledTopKCases?: string;
2940
2980
  };
2941
2981
  export type RAGRetrievalComparison = {
2942
2982
  suiteId: string;
@@ -2990,6 +3030,8 @@ export type RAGRetrievalComparisonDecisionDelta = {
2990
3030
  multiVectorCollapsedCasesDelta?: number;
2991
3031
  multiVectorLexicalHitCasesDelta?: number;
2992
3032
  multiVectorVectorHitCasesDelta?: number;
3033
+ runtimeCandidateBudgetExhaustedCasesDelta?: number;
3034
+ runtimeUnderfilledTopKCasesDelta?: number;
2993
3035
  };
2994
3036
  export type RAGRetrievalBaselineGatePolicy = {
2995
3037
  minPassingRateDelta?: number;
@@ -2998,6 +3040,8 @@ export type RAGRetrievalBaselineGatePolicy = {
2998
3040
  minMultiVectorCollapsedCasesDelta?: number;
2999
3041
  minMultiVectorLexicalHitCasesDelta?: number;
3000
3042
  minMultiVectorVectorHitCasesDelta?: number;
3043
+ maxRuntimeCandidateBudgetExhaustedCasesDelta?: number;
3044
+ maxRuntimeUnderfilledTopKCasesDelta?: number;
3001
3045
  severity?: 'warn' | 'fail';
3002
3046
  };
3003
3047
  export type RAGRetrievalComparisonGateResult = {
@@ -3023,6 +3067,8 @@ export type RAGRetrievalComparisonDecisionSummary = {
3023
3067
  winnerByMultivectorCollapsedCases?: string;
3024
3068
  winnerByMultivectorLexicalHitCases?: string;
3025
3069
  winnerByMultivectorVectorHitCases?: string;
3070
+ winnerByLowestRuntimeCandidateBudgetExhaustedCases?: string;
3071
+ winnerByLowestRuntimeUnderfilledTopKCases?: string;
3026
3072
  baseline?: {
3027
3073
  retrievalId: string;
3028
3074
  label: string;
@@ -3032,6 +3078,8 @@ export type RAGRetrievalComparisonDecisionSummary = {
3032
3078
  multiVectorCollapsedCases?: number;
3033
3079
  multiVectorLexicalHitCases?: number;
3034
3080
  multiVectorVectorHitCases?: number;
3081
+ runtimeCandidateBudgetExhaustedCases?: number;
3082
+ runtimeUnderfilledTopKCases?: number;
3035
3083
  };
3036
3084
  candidate?: {
3037
3085
  retrievalId: string;
@@ -3042,6 +3090,8 @@ export type RAGRetrievalComparisonDecisionSummary = {
3042
3090
  multiVectorCollapsedCases?: number;
3043
3091
  multiVectorLexicalHitCases?: number;
3044
3092
  multiVectorVectorHitCases?: number;
3093
+ runtimeCandidateBudgetExhaustedCases?: number;
3094
+ runtimeUnderfilledTopKCases?: number;
3045
3095
  };
3046
3096
  delta?: RAGRetrievalComparisonDecisionDelta;
3047
3097
  gate?: RAGRetrievalComparisonGateResult;
@@ -3422,7 +3472,7 @@ export type RAGRetrievalIncidentRemediationBulkExecutionResponse = {
3422
3472
  export type RAGRetrievalReleaseGroupSummary = {
3423
3473
  corpusGroupKey?: string;
3424
3474
  groupKey: string;
3425
- classification?: 'general' | 'multivector';
3475
+ classification?: 'general' | 'multivector' | 'runtime';
3426
3476
  escalationSeverity: 'none' | 'info' | 'warning' | 'critical';
3427
3477
  recommendedAction: 'promote_candidate' | 'renew_approval' | 'await_approval' | 'investigate_regression' | 'monitor';
3428
3478
  recommendedActionReasons: string[];
@@ -3550,7 +3600,7 @@ export type RAGRetrievalReleaseLaneAuditSummary = {
3550
3600
  export type RAGRetrievalReleaseLaneRecommendationSummary = {
3551
3601
  corpusGroupKey?: string;
3552
3602
  groupKey: string;
3553
- classification?: 'general' | 'multivector';
3603
+ classification?: 'general' | 'multivector' | 'runtime';
3554
3604
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
3555
3605
  recommendedAction: 'promote_candidate' | 'renew_approval' | 'await_approval' | 'investigate_regression' | 'monitor';
3556
3606
  recommendedActionReasons: string[];
@@ -3590,7 +3640,7 @@ export type RAGRetrievalReleaseLaneHandoffSummary = {
3590
3640
  };
3591
3641
  export type RAGRetrievalLanePromotionStateSummary = {
3592
3642
  groupKey: string;
3593
- classification?: 'general' | 'multivector';
3643
+ classification?: 'general' | 'multivector' | 'runtime';
3594
3644
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
3595
3645
  baselineRetrievalId?: string;
3596
3646
  candidateRetrievalId?: string;
@@ -3624,7 +3674,7 @@ export type RAGRetrievalReleaseIncidentRecord = {
3624
3674
  acknowledgedBy?: string;
3625
3675
  acknowledgementNotes?: string;
3626
3676
  notes?: string;
3627
- classification?: 'general' | 'multivector';
3677
+ classification?: 'general' | 'multivector' | 'runtime';
3628
3678
  };
3629
3679
  export type RAGRetrievalLaneHandoffIncidentRecord = Omit<RAGRetrievalReleaseIncidentRecord, 'kind'> & {
3630
3680
  corpusGroupKey?: string;
@@ -3805,10 +3855,13 @@ export type RAGRetrievalIncidentRemediationStatusResponse = {
3805
3855
  export type RAGRetrievalIncidentClassificationSummary = {
3806
3856
  totalGeneralCount: number;
3807
3857
  totalMultiVectorCount: number;
3858
+ totalRuntimeCount: number;
3808
3859
  openGeneralCount: number;
3809
3860
  openMultiVectorCount: number;
3861
+ openRuntimeCount: number;
3810
3862
  resolvedGeneralCount: number;
3811
3863
  resolvedMultiVectorCount: number;
3864
+ resolvedRuntimeCount: number;
3812
3865
  };
3813
3866
  export type RAGRetrievalReleaseEvent = {
3814
3867
  kind: 'incident_opened' | 'incident_resolved';
@@ -3913,6 +3966,8 @@ export type RAGRetrievalReleaseGroupHistoryResponse = {
3913
3966
  baselines?: RAGRetrievalBaselineRecord[];
3914
3967
  runs?: RAGRetrievalComparisonRun[];
3915
3968
  timeline?: RAGRetrievalReleaseTimelineSummary;
3969
+ presentation?: RAGRetrievalReleaseGroupHistoryPresentation;
3970
+ adaptiveNativePlannerBenchmark?: RAGAdaptiveNativePlannerBenchmarkRuntime;
3916
3971
  error?: string;
3917
3972
  };
3918
3973
  export type RAGRetrievalPromotionCandidateListResponse = {
@@ -3936,6 +3991,8 @@ export type RAGRetrievalComparisonLatestSummary = {
3936
3991
  bestByMultivectorCollapsedCases?: string;
3937
3992
  bestByMultivectorLexicalHitCases?: string;
3938
3993
  bestByMultivectorVectorHitCases?: string;
3994
+ bestByLowestRuntimeCandidateBudgetExhaustedCases?: string;
3995
+ bestByLowestRuntimeUnderfilledTopKCases?: string;
3939
3996
  decisionSummary?: RAGRetrievalComparisonDecisionSummary;
3940
3997
  releaseVerdict?: RAGRetrievalReleaseVerdict;
3941
3998
  };
@@ -3957,12 +4014,13 @@ export type RAGRetrievalComparisonAlert = {
3957
4014
  candidateRetrievalId?: string;
3958
4015
  delta?: RAGRetrievalComparisonDecisionDelta;
3959
4016
  gate?: RAGRetrievalComparisonGateResult;
3960
- classification?: 'general' | 'multivector';
4017
+ classification?: 'general' | 'multivector' | 'runtime';
3961
4018
  };
3962
4019
  export type RAGRetrievalComparisonRuntime = {
3963
4020
  configured: boolean;
3964
4021
  recentRuns?: RAGRetrievalComparisonRun[];
3965
4022
  latest?: RAGRetrievalComparisonLatestSummary;
4023
+ adaptiveNativePlannerBenchmark?: RAGAdaptiveNativePlannerBenchmarkRuntime;
3966
4024
  stableWinnerByPassingRate?: RAGRetrievalComparisonWinnerTrend;
3967
4025
  alerts?: RAGRetrievalComparisonAlert[];
3968
4026
  activeBaselines?: RAGRetrievalBaselineRecord[];
@@ -4468,6 +4526,7 @@ export type RAGChatPluginConfig = AIChatPluginConfig & {
4468
4526
  ragStore?: RAGVectorStore;
4469
4527
  collection?: RAGCollection;
4470
4528
  jobStateStore?: RAGJobStateStore;
4529
+ evaluationSuiteSnapshotHistoryStore?: RAGEvaluationSuiteSnapshotHistoryStore;
4471
4530
  authorizeRAGAction?: RAGAuthorizationProvider;
4472
4531
  resolveRAGAccessScope?: RAGAccessScopeProvider;
4473
4532
  jobHistoryRetention?: RAGJobHistoryRetention;
@@ -2965,6 +2965,18 @@ var buildComparisonOverviewPresentation = (input) => {
2965
2965
  value: input.resolveLabel(input.summary.bestByMultivectorVectorHitCases)
2966
2966
  });
2967
2967
  }
2968
+ if (input.summary.bestByLowestRuntimeCandidateBudgetExhaustedCases) {
2969
+ rows.push({
2970
+ label: "Lowest runtime budget exhaustion",
2971
+ value: input.resolveLabel(input.summary.bestByLowestRuntimeCandidateBudgetExhaustedCases)
2972
+ });
2973
+ }
2974
+ if (input.summary.bestByLowestRuntimeUnderfilledTopKCases) {
2975
+ rows.push({
2976
+ label: "Lowest runtime underfilled TopK",
2977
+ value: input.resolveLabel(input.summary.bestByLowestRuntimeUnderfilledTopKCases)
2978
+ });
2979
+ }
2968
2980
  return {
2969
2981
  rows,
2970
2982
  winnerLabel,
@@ -3017,6 +3029,9 @@ var buildRAGComparisonTraceSummaryRows = (entry) => {
3017
3029
  }, {
3018
3030
  label: "Multivector",
3019
3031
  value: `${formatTraceRatio(trace.multiVectorCases, trace.totalCases)} \xB7 collapse ${formatTraceRatio(trace.multiVectorCollapsedCases, trace.totalCases)} \xB7 lexical ${formatTraceRatio(trace.multiVectorLexicalHitCases, trace.totalCases)} \xB7 vector ${formatTraceRatio(trace.multiVectorVectorHitCases, trace.totalCases)}`
3032
+ }, {
3033
+ label: "Runtime",
3034
+ value: `budget ${formatTraceRatio(trace.runtimeCandidateBudgetExhaustedCases, trace.totalCases)} \xB7 underfilled ${formatTraceRatio(trace.runtimeUnderfilledTopKCases, trace.totalCases)}`
3020
3035
  }, {
3021
3036
  label: "TopK",
3022
3037
  value: `${trace.averageCandidateTopK.toFixed(1)} / ${trace.averageLexicalTopK.toFixed(1)}`
@@ -3121,6 +3136,12 @@ var buildRAGComparisonTraceDiffRows = (entry, leader) => {
3121
3136
  }, {
3122
3137
  label: "Round robin delta",
3123
3138
  value: formatTraceCountDelta(trace.roundRobinCases - leaderTrace.roundRobinCases)
3139
+ }, {
3140
+ label: "Runtime budget delta",
3141
+ value: formatTraceCountDelta(trace.runtimeCandidateBudgetExhaustedCases - leaderTrace.runtimeCandidateBudgetExhaustedCases)
3142
+ }, {
3143
+ label: "Runtime underfilled delta",
3144
+ value: formatTraceCountDelta(trace.runtimeUnderfilledTopKCases - leaderTrace.runtimeUnderfilledTopKCases)
3124
3145
  });
3125
3146
  if (stageDelta) {
3126
3147
  rows.push({ label: "Stage delta", value: stageDelta });
@@ -3572,6 +3593,77 @@ var buildRAGEvaluationSuiteSnapshotHistoryPresentation = (history) => ({
3572
3593
  snapshots: buildRAGEvaluationSuiteSnapshotPresentations(history),
3573
3594
  summary: history?.latestSnapshot ? `v${history.latestSnapshot.version}` : "No saved suite snapshots yet."
3574
3595
  });
3596
+ var isRuntimeGateReason = (reason) => /runtime|candidate-budget|underfilled/i.test(reason);
3597
+ var buildRAGRetrievalReleaseHistoryRunPresentation = (run) => {
3598
+ const runtimeGateReasons = (run.decisionSummary?.gate?.reasons ?? run.releaseVerdict?.gate?.reasons ?? []).filter(isRuntimeGateReason);
3599
+ const rows = [
3600
+ { label: "Finished", value: formatDateLabel(run.finishedAt) },
3601
+ {
3602
+ label: "Passing-rate winner",
3603
+ value: run.comparison.summary.bestByPassingRate ?? "n/a"
3604
+ },
3605
+ {
3606
+ label: "Average F1 winner",
3607
+ value: run.comparison.summary.bestByAverageF1 ?? "n/a"
3608
+ }
3609
+ ];
3610
+ if (run.comparison.summary.bestByLowestRuntimeCandidateBudgetExhaustedCases) {
3611
+ rows.push({
3612
+ label: "Lowest runtime budget exhaustion",
3613
+ value: run.comparison.summary.bestByLowestRuntimeCandidateBudgetExhaustedCases
3614
+ });
3615
+ }
3616
+ if (run.comparison.summary.bestByLowestRuntimeUnderfilledTopKCases) {
3617
+ rows.push({
3618
+ label: "Lowest runtime underfilled TopK",
3619
+ value: run.comparison.summary.bestByLowestRuntimeUnderfilledTopKCases
3620
+ });
3621
+ }
3622
+ rows.push({
3623
+ label: "Gate status",
3624
+ value: run.decisionSummary?.gate?.status ?? run.releaseVerdict?.gate?.status ?? "n/a"
3625
+ }, {
3626
+ label: "Runtime gate failures",
3627
+ value: runtimeGateReasons.length > 0 ? runtimeGateReasons.join("; ") : "none"
3628
+ });
3629
+ return {
3630
+ label: run.label,
3631
+ rows,
3632
+ runId: run.id,
3633
+ summary: runtimeGateReasons.length > 0 ? `${run.label} \xB7 runtime gate blocked` : `${run.label} \xB7 ${run.comparison.summary.bestByPassingRate ?? "n/a"} leads passing rate`
3634
+ };
3635
+ };
3636
+ var buildRAGRetrievalReleaseGroupHistoryPresentation = (input) => {
3637
+ const recentRuns = (input.runs ?? []).map(buildRAGRetrievalReleaseHistoryRunPresentation);
3638
+ const runtimeBlockedRuns = recentRuns.filter((entry) => entry.rows.some((row) => row.label === "Runtime gate failures" && row.value !== "none")).length;
3639
+ const rows = [
3640
+ {
3641
+ label: "Latest decision",
3642
+ value: input.timeline?.latestDecisionKind ?? "none"
3643
+ },
3644
+ {
3645
+ label: "Latest decision at",
3646
+ value: formatDateLabel(input.timeline?.latestDecisionAt)
3647
+ },
3648
+ {
3649
+ label: "Last promoted",
3650
+ value: formatDateLabel(input.timeline?.lastPromotedAt)
3651
+ },
3652
+ {
3653
+ label: "Last reverted",
3654
+ value: formatDateLabel(input.timeline?.lastRevertedAt)
3655
+ },
3656
+ {
3657
+ label: "Recent runtime-blocked runs",
3658
+ value: String(runtimeBlockedRuns)
3659
+ }
3660
+ ];
3661
+ return {
3662
+ recentRuns,
3663
+ rows,
3664
+ summary: input.timeline?.latestDecisionKind ? `${input.timeline.latestDecisionKind} \xB7 ${recentRuns.length} recent runs` : recentRuns.length > 0 ? `${recentRuns.length} recent runs` : "No release history yet."
3665
+ };
3666
+ };
3575
3667
  var buildRAGAnswerGroundingCaseSnapshotPresentations = (history) => {
3576
3668
  if (!history?.caseSnapshots.length) {
3577
3669
  return [];
@@ -4082,6 +4174,12 @@ var evaluateRetrievalComparisonGate = ({
4082
4174
  if (typeof policy.minMultiVectorVectorHitCasesDelta === "number" && (delta.multiVectorVectorHitCasesDelta ?? 0) < policy.minMultiVectorVectorHitCasesDelta) {
4083
4175
  reasons.push(`multivector vector-hit delta ${delta.multiVectorVectorHitCasesDelta ?? 0} is below ${policy.minMultiVectorVectorHitCasesDelta}`);
4084
4176
  }
4177
+ if (typeof policy.maxRuntimeCandidateBudgetExhaustedCasesDelta === "number" && (delta.runtimeCandidateBudgetExhaustedCasesDelta ?? 0) > policy.maxRuntimeCandidateBudgetExhaustedCasesDelta) {
4178
+ reasons.push(`runtime candidate-budget-exhausted delta ${delta.runtimeCandidateBudgetExhaustedCasesDelta ?? 0} exceeds ${policy.maxRuntimeCandidateBudgetExhaustedCasesDelta}`);
4179
+ }
4180
+ if (typeof policy.maxRuntimeUnderfilledTopKCasesDelta === "number" && (delta.runtimeUnderfilledTopKCasesDelta ?? 0) > policy.maxRuntimeUnderfilledTopKCasesDelta) {
4181
+ reasons.push(`runtime underfilled-topk delta ${delta.runtimeUnderfilledTopKCasesDelta ?? 0} exceeds ${policy.maxRuntimeUnderfilledTopKCasesDelta}`);
4182
+ }
4085
4183
  if (reasons.length === 0) {
4086
4184
  return {
4087
4185
  policy,
@@ -4612,6 +4710,20 @@ var buildTraceSummaryAggregate = ({
4612
4710
  direction: "flat",
4613
4711
  metric: "multiVectorCollapsedCases",
4614
4712
  previous: 0
4713
+ },
4714
+ {
4715
+ current: 0,
4716
+ delta: 0,
4717
+ direction: "flat",
4718
+ metric: "runtimeCandidateBudgetExhaustedCases",
4719
+ previous: 0
4720
+ },
4721
+ {
4722
+ current: 0,
4723
+ delta: 0,
4724
+ direction: "flat",
4725
+ metric: "runtimeUnderfilledTopKCases",
4726
+ previous: 0
4615
4727
  }
4616
4728
  ];
4617
4729
  return {
@@ -4734,6 +4846,20 @@ var buildTraceSummaryAggregate = ({
4734
4846
  direction: buildTraceSummaryDirection(latest.multiVectorCollapsedCases - previous.multiVectorCollapsedCases),
4735
4847
  metric: "multiVectorCollapsedCases",
4736
4848
  previous: previous.multiVectorCollapsedCases
4849
+ },
4850
+ {
4851
+ current: latest.runtimeCandidateBudgetExhaustedCases,
4852
+ delta: latest.runtimeCandidateBudgetExhaustedCases - previous.runtimeCandidateBudgetExhaustedCases,
4853
+ direction: buildTraceSummaryDirection(latest.runtimeCandidateBudgetExhaustedCases - previous.runtimeCandidateBudgetExhaustedCases),
4854
+ metric: "runtimeCandidateBudgetExhaustedCases",
4855
+ previous: previous.runtimeCandidateBudgetExhaustedCases
4856
+ },
4857
+ {
4858
+ current: latest.runtimeUnderfilledTopKCases,
4859
+ delta: latest.runtimeUnderfilledTopKCases - previous.runtimeUnderfilledTopKCases,
4860
+ direction: buildTraceSummaryDirection(latest.runtimeUnderfilledTopKCases - previous.runtimeUnderfilledTopKCases),
4861
+ metric: "runtimeUnderfilledTopKCases",
4862
+ previous: previous.runtimeUnderfilledTopKCases
4737
4863
  }
4738
4864
  ];
4739
4865
  const absoluteSorted = [...aggregate].sort((left, right) => Math.abs(right.delta) - Math.abs(left.delta) || left.metric.localeCompare(right.metric));
@@ -4788,12 +4914,15 @@ var summarizeRetrievalTraces = (traces) => {
4788
4914
  let multiVectorVectorHitCases = 0;
4789
4915
  let multiVectorLexicalHitCases = 0;
4790
4916
  let multiVectorCollapsedCases = 0;
4917
+ let runtimeCandidateBudgetExhaustedCases = 0;
4918
+ let runtimeUnderfilledTopKCases = 0;
4791
4919
  let finalCountSum = 0;
4792
4920
  let vectorCountSum = 0;
4793
4921
  let lexicalCountSum = 0;
4794
4922
  let candidateTopKSum = 0;
4795
4923
  let lexicalTopKSum = 0;
4796
4924
  for (const trace of traces) {
4925
+ const vectorSearchMetadata = trace.steps.find((step) => step.stage === "vector_search")?.metadata;
4797
4926
  modeSet.add(trace.mode);
4798
4927
  sourceBalanceStrategySet.add(trace.sourceBalanceStrategy ?? "cap");
4799
4928
  if (trace.runVector) {
@@ -4826,6 +4955,18 @@ var summarizeRetrievalTraces = (traces) => {
4826
4955
  if ((trace.multiVector?.collapsedParents ?? 0) > 0) {
4827
4956
  multiVectorCollapsedCases += 1;
4828
4957
  }
4958
+ if (vectorSearchMetadata?.sqliteQueryCandidateBudgetExhausted) {
4959
+ runtimeCandidateBudgetExhaustedCases += 1;
4960
+ }
4961
+ if (vectorSearchMetadata?.postgresQueryCandidateBudgetExhausted) {
4962
+ runtimeCandidateBudgetExhaustedCases += 1;
4963
+ }
4964
+ if (vectorSearchMetadata?.sqliteQueryUnderfilledTopK) {
4965
+ runtimeUnderfilledTopKCases += 1;
4966
+ }
4967
+ if (vectorSearchMetadata?.postgresQueryUnderfilledTopK) {
4968
+ runtimeUnderfilledTopKCases += 1;
4969
+ }
4829
4970
  finalCountSum += trace.resultCounts.final;
4830
4971
  vectorCountSum += trace.resultCounts.vector;
4831
4972
  lexicalCountSum += trace.resultCounts.lexical;
@@ -4851,6 +4992,8 @@ var summarizeRetrievalTraces = (traces) => {
4851
4992
  multiVectorVectorHitCases,
4852
4993
  multiVectorLexicalHitCases,
4853
4994
  multiVectorCollapsedCases,
4995
+ runtimeCandidateBudgetExhaustedCases,
4996
+ runtimeUnderfilledTopKCases,
4854
4997
  vectorCases
4855
4998
  };
4856
4999
  };
@@ -8436,7 +8579,9 @@ var buildRAGRetrievalComparisonDecisionSummary = ({
8436
8579
  passingRateDelta: candidateEntry.response.passingRate - baselineEntry.response.passingRate,
8437
8580
  multiVectorCollapsedCasesDelta: (candidateEntry.traceSummary?.multiVectorCollapsedCases ?? 0) - (baselineEntry.traceSummary?.multiVectorCollapsedCases ?? 0),
8438
8581
  multiVectorLexicalHitCasesDelta: (candidateEntry.traceSummary?.multiVectorLexicalHitCases ?? 0) - (baselineEntry.traceSummary?.multiVectorLexicalHitCases ?? 0),
8439
- multiVectorVectorHitCasesDelta: (candidateEntry.traceSummary?.multiVectorVectorHitCases ?? 0) - (baselineEntry.traceSummary?.multiVectorVectorHitCases ?? 0)
8582
+ multiVectorVectorHitCasesDelta: (candidateEntry.traceSummary?.multiVectorVectorHitCases ?? 0) - (baselineEntry.traceSummary?.multiVectorVectorHitCases ?? 0),
8583
+ runtimeCandidateBudgetExhaustedCasesDelta: (candidateEntry.traceSummary?.runtimeCandidateBudgetExhaustedCases ?? 0) - (baselineEntry.traceSummary?.runtimeCandidateBudgetExhaustedCases ?? 0),
8584
+ runtimeUnderfilledTopKCasesDelta: (candidateEntry.traceSummary?.runtimeUnderfilledTopKCases ?? 0) - (baselineEntry.traceSummary?.runtimeUnderfilledTopKCases ?? 0)
8440
8585
  } : undefined;
8441
8586
  return {
8442
8587
  baseline: baselineEntry ? {
@@ -8446,6 +8591,8 @@ var buildRAGRetrievalComparisonDecisionSummary = ({
8446
8591
  multiVectorCollapsedCases: baselineEntry.traceSummary?.multiVectorCollapsedCases,
8447
8592
  multiVectorLexicalHitCases: baselineEntry.traceSummary?.multiVectorLexicalHitCases,
8448
8593
  multiVectorVectorHitCases: baselineEntry.traceSummary?.multiVectorVectorHitCases,
8594
+ runtimeCandidateBudgetExhaustedCases: baselineEntry.traceSummary?.runtimeCandidateBudgetExhaustedCases,
8595
+ runtimeUnderfilledTopKCases: baselineEntry.traceSummary?.runtimeUnderfilledTopKCases,
8449
8596
  passingRate: baselineEntry.response.passingRate,
8450
8597
  retrievalId: baselineEntry.retrievalId
8451
8598
  } : undefined,
@@ -8457,6 +8604,8 @@ var buildRAGRetrievalComparisonDecisionSummary = ({
8457
8604
  multiVectorCollapsedCases: candidateEntry.traceSummary?.multiVectorCollapsedCases,
8458
8605
  multiVectorLexicalHitCases: candidateEntry.traceSummary?.multiVectorLexicalHitCases,
8459
8606
  multiVectorVectorHitCases: candidateEntry.traceSummary?.multiVectorVectorHitCases,
8607
+ runtimeCandidateBudgetExhaustedCases: candidateEntry.traceSummary?.runtimeCandidateBudgetExhaustedCases,
8608
+ runtimeUnderfilledTopKCases: candidateEntry.traceSummary?.runtimeUnderfilledTopKCases,
8460
8609
  passingRate: candidateEntry.response.passingRate,
8461
8610
  retrievalId: candidateEntry.retrievalId
8462
8611
  } : undefined,
@@ -8468,7 +8617,9 @@ var buildRAGRetrievalComparisonDecisionSummary = ({
8468
8617
  winnerByPassingRate: comparison.summary.bestByPassingRate,
8469
8618
  winnerByMultivectorCollapsedCases: comparison.summary.bestByMultivectorCollapsedCases,
8470
8619
  winnerByMultivectorLexicalHitCases: comparison.summary.bestByMultivectorLexicalHitCases,
8471
- winnerByMultivectorVectorHitCases: comparison.summary.bestByMultivectorVectorHitCases
8620
+ winnerByMultivectorVectorHitCases: comparison.summary.bestByMultivectorVectorHitCases,
8621
+ winnerByLowestRuntimeCandidateBudgetExhaustedCases: comparison.summary.bestByLowestRuntimeCandidateBudgetExhaustedCases,
8622
+ winnerByLowestRuntimeUnderfilledTopKCases: comparison.summary.bestByLowestRuntimeUnderfilledTopKCases
8472
8623
  };
8473
8624
  };
8474
8625
  var loadRAGSearchTracePruneHistory = async ({
@@ -9156,6 +9307,24 @@ var selectComparisonEntryByTraceMetric = (entries, idKey, metric) => {
9156
9307
  }
9157
9308
  return typeof winner[idKey] === "string" ? winner[idKey] : undefined;
9158
9309
  };
9310
+ var selectComparisonEntryByLowestTraceMetric = (entries, idKey, metric) => {
9311
+ const ranked = [...entries].sort((left, right) => {
9312
+ const leftMetric = left.traceSummary?.[metric] ?? 0;
9313
+ const rightMetric = right.traceSummary?.[metric] ?? 0;
9314
+ if (leftMetric !== rightMetric) {
9315
+ return leftMetric - rightMetric;
9316
+ }
9317
+ if (right.response.passingRate !== left.response.passingRate) {
9318
+ return right.response.passingRate - left.response.passingRate;
9319
+ }
9320
+ if (right.response.summary.averageF1 !== left.response.summary.averageF1) {
9321
+ return right.response.summary.averageF1 - left.response.summary.averageF1;
9322
+ }
9323
+ return left.response.summary.averageLatencyMs - right.response.summary.averageLatencyMs;
9324
+ });
9325
+ const winner = ranked[0];
9326
+ return typeof winner?.[idKey] === "string" ? winner[idKey] : undefined;
9327
+ };
9159
9328
  var resolveRetrievalMode = (candidate) => {
9160
9329
  if (!candidate.retrieval) {
9161
9330
  return "vector";
@@ -9249,7 +9418,9 @@ var compareRAGRetrievalTraceSummaries = (current, previous) => ({
9249
9418
  multiVectorCasesDelta: current.multiVectorCases - previous.multiVectorCases,
9250
9419
  multiVectorVectorHitCasesDelta: current.multiVectorVectorHitCases - previous.multiVectorVectorHitCases,
9251
9420
  multiVectorLexicalHitCasesDelta: current.multiVectorLexicalHitCases - previous.multiVectorLexicalHitCases,
9252
- multiVectorCollapsedCasesDelta: current.multiVectorCollapsedCases - previous.multiVectorCollapsedCases
9421
+ multiVectorCollapsedCasesDelta: current.multiVectorCollapsedCases - previous.multiVectorCollapsedCases,
9422
+ runtimeCandidateBudgetExhaustedCasesDelta: current.runtimeCandidateBudgetExhaustedCases - previous.runtimeCandidateBudgetExhaustedCases,
9423
+ runtimeUnderfilledTopKCasesDelta: current.runtimeUnderfilledTopKCases - previous.runtimeUnderfilledTopKCases
9253
9424
  });
9254
9425
  var buildSearchTraceResultSnapshots = (results) => results.map((result) => ({
9255
9426
  chunkId: result.chunkId,
@@ -9611,6 +9782,63 @@ var generateRAGEvaluationSuiteFromDocuments = ({
9611
9782
  metadata
9612
9783
  });
9613
9784
  };
9785
+ var DEFAULT_NATIVE_PLANNER_BENCHMARK_SUITE_ID = "rag-native-planner-larger-corpus";
9786
+ var DEFAULT_NATIVE_PLANNER_BENCHMARK_LABEL = "Adaptive Native Planner Benchmark";
9787
+ var DEFAULT_NATIVE_PLANNER_BENCHMARK_QUERY = "Which launch checklist phrase is exact wording?";
9788
+ var DEFAULT_NATIVE_PLANNER_BENCHMARK_FILTER = {
9789
+ lane: "focus"
9790
+ };
9791
+ var createRAGAdaptiveNativePlannerBenchmarkSuite = (input) => createRAGEvaluationSuite({
9792
+ description: input?.description ?? "Stress-tests larger-corpus native planner selection, candidate-budget pressure, and transformed-query recovery on filtered retrieval.",
9793
+ id: input?.id ?? DEFAULT_NATIVE_PLANNER_BENCHMARK_SUITE_ID,
9794
+ input: {
9795
+ cases: [
9796
+ {
9797
+ expectedDocumentIds: ["focus-target"],
9798
+ filter: { ...DEFAULT_NATIVE_PLANNER_BENCHMARK_FILTER },
9799
+ hardNegativeDocumentIds: [
9800
+ "focus-distractor-0",
9801
+ "focus-distractor-1",
9802
+ "focus-distractor-2"
9803
+ ],
9804
+ id: "planner-pressure-exact-phrase",
9805
+ label: "Exact phrase survives larger-corpus native pressure",
9806
+ query: DEFAULT_NATIVE_PLANNER_BENCHMARK_QUERY,
9807
+ topK: input?.topK ?? 1
9808
+ }
9809
+ ],
9810
+ filter: { ...DEFAULT_NATIVE_PLANNER_BENCHMARK_FILTER },
9811
+ retrieval: "vector",
9812
+ topK: input?.topK ?? 1
9813
+ },
9814
+ label: input?.label ?? DEFAULT_NATIVE_PLANNER_BENCHMARK_LABEL,
9815
+ metadata: {
9816
+ benchmarkKind: "adaptive_native_planner",
9817
+ benchmarkScope: "larger_corpus",
9818
+ expectedSignals: [
9819
+ "selected native planner profile",
9820
+ "candidate-budget exhaustion",
9821
+ "underfilled topk"
9822
+ ],
9823
+ recommendedGroupKey: "runtime-native-planner",
9824
+ recommendedTags: ["runtime", "native", "planner"],
9825
+ ...input?.metadata
9826
+ }
9827
+ });
9828
+ var createRAGAdaptiveNativePlannerBenchmarkSnapshot = (input) => {
9829
+ const suite = input?.suite ?? createRAGAdaptiveNativePlannerBenchmarkSuite();
9830
+ return createRAGEvaluationSuiteSnapshot({
9831
+ createdAt: input?.createdAt,
9832
+ id: input?.id,
9833
+ metadata: {
9834
+ artifactKind: "adaptive_native_planner_benchmark",
9835
+ persistForReleaseHistory: true,
9836
+ ...input?.metadata
9837
+ },
9838
+ suite,
9839
+ version: input?.version
9840
+ });
9841
+ };
9614
9842
  var createRAGEvaluationSuiteSnapshot = ({
9615
9843
  suite,
9616
9844
  id,
@@ -9818,7 +10046,9 @@ var summarizeRAGRetrievalComparison = (entries) => ({
9818
10046
  ...summarizeEvaluationResponseComparison(entries, "retrievalId"),
9819
10047
  bestByMultivectorCollapsedCases: selectComparisonEntryByTraceMetric(entries, "retrievalId", "multiVectorCollapsedCases"),
9820
10048
  bestByMultivectorLexicalHitCases: selectComparisonEntryByTraceMetric(entries, "retrievalId", "multiVectorLexicalHitCases"),
9821
- bestByMultivectorVectorHitCases: selectComparisonEntryByTraceMetric(entries, "retrievalId", "multiVectorVectorHitCases")
10049
+ bestByMultivectorVectorHitCases: selectComparisonEntryByTraceMetric(entries, "retrievalId", "multiVectorVectorHitCases"),
10050
+ bestByLowestRuntimeCandidateBudgetExhaustedCases: selectComparisonEntryByLowestTraceMetric(entries, "retrievalId", "runtimeCandidateBudgetExhaustedCases"),
10051
+ bestByLowestRuntimeUnderfilledTopKCases: selectComparisonEntryByLowestTraceMetric(entries, "retrievalId", "runtimeUnderfilledTopKCases")
9822
10052
  });
9823
10053
  // src/vue/ai/useAIStream.ts
9824
10054
  import { onUnmounted, ref, shallowRef } from "vue";
@@ -10765,6 +10995,9 @@ var createRAGClient = (options) => {
10765
10995
  if (typeof input.runLimit === "number") {
10766
10996
  searchParams.set("runLimit", String(input.runLimit));
10767
10997
  }
10998
+ if (typeof input.benchmarkLimit === "number") {
10999
+ searchParams.set("benchmarkLimit", String(input.benchmarkLimit));
11000
+ }
10768
11001
  if (input.targetRolloutLabel) {
10769
11002
  searchParams.set("targetRolloutLabel", input.targetRolloutLabel);
10770
11003
  }
@@ -10778,6 +11011,51 @@ var createRAGClient = (options) => {
10778
11011
  }
10779
11012
  return payload;
10780
11013
  },
11014
+ async adaptiveNativePlannerBenchmark(input) {
11015
+ const searchParams = new URLSearchParams;
11016
+ if (typeof input?.limit === "number") {
11017
+ searchParams.set("limit", String(input.limit));
11018
+ }
11019
+ if (input?.label) {
11020
+ searchParams.set("label", input.label);
11021
+ }
11022
+ if (input?.description) {
11023
+ searchParams.set("description", input.description);
11024
+ }
11025
+ const suffix = searchParams.size ? `?${searchParams}` : "";
11026
+ const response = await fetchImpl(`${basePath}/compare/retrieval/benchmarks/adaptive-native-planner${suffix}`);
11027
+ if (!response.ok) {
11028
+ throw new Error(await toErrorMessage(response));
11029
+ }
11030
+ const payload = await parseJson(response);
11031
+ if (!payload.ok) {
11032
+ throw new Error(payload.error ?? "Adaptive native planner benchmark history failed");
11033
+ }
11034
+ return payload;
11035
+ },
11036
+ async saveAdaptiveNativePlannerBenchmarkSnapshot(input) {
11037
+ const response = await fetchImpl(`${basePath}/compare/retrieval/benchmarks/adaptive-native-planner/snapshots`, {
11038
+ body: JSON.stringify({
11039
+ createdAt: input?.createdAt,
11040
+ description: input?.description,
11041
+ label: input?.label,
11042
+ limit: input?.limit,
11043
+ metadata: input?.metadata,
11044
+ snapshotMetadata: input?.snapshotMetadata,
11045
+ version: input?.version
11046
+ }),
11047
+ headers: jsonHeaders,
11048
+ method: "POST"
11049
+ });
11050
+ if (!response.ok) {
11051
+ throw new Error(await toErrorMessage(response));
11052
+ }
11053
+ const payload = await parseJson(response);
11054
+ if (!payload.ok) {
11055
+ throw new Error(payload.error ?? "Adaptive native planner benchmark snapshot failed");
11056
+ }
11057
+ return payload;
11058
+ },
10781
11059
  async retrievalLaneHandoffs(input) {
10782
11060
  const searchParams = new URLSearchParams;
10783
11061
  if (input?.groupKey) {
@@ -12425,5 +12703,5 @@ export {
12425
12703
  AIStreamKey
12426
12704
  };
12427
12705
 
12428
- //# debugId=C409FAF21E73030A64756E2164756E21
12706
+ //# debugId=90B51DBE5DB4C81864756E2164756E21
12429
12707
  //# sourceMappingURL=index.js.map