fix scheduler affinity candidate selection

This commit is contained in:
fawney19
2026-04-30 16:27:24 +08:00
parent 558abfcfa3
commit 33aa70c22b
24 changed files with 1715 additions and 104 deletions

View File

@@ -2,6 +2,7 @@ import { ref, computed, type Ref } from 'vue'
import type { UsageRecord, FilterStatusValue } from '../types'
import {
hasUsageFallback,
hasUsageRetry,
isUsageRecordFailed,
isUsageUpstreamStream,
resolveDisplayRequestStatus,
@@ -87,6 +88,8 @@ export function useUsageFilters(options: UseUsageFiltersOptions) {
records = records.filter(record => record.status === 'cancelled')
} else if (filterStatus.value === 'has_fallback') {
records = records.filter(record => hasUsageFallback(record))
} else if (filterStatus.value === 'has_retry') {
records = records.filter(record => hasUsageRetry(record))
}
}

View File

@@ -3,6 +3,7 @@ import { describe, expect, it } from 'vitest'
import {
formatUsageStreamLabel,
hasUsageFallback,
hasUsageRetry,
isUsageRecordFailed,
isUsageRecordSuccessful,
mapRequestStatusToTimelineStatus,
@@ -117,6 +118,12 @@ describe('usage status helpers', () => {
expect(hasUsageFallback(buildUsageRecord({ has_fallback: undefined }))).toBe(false)
})
it('uses explicit has_retry flag for retry filtering', () => {
expect(hasUsageRetry(buildUsageRecord({ has_retry: true }))).toBe(true)
expect(hasUsageRetry(buildUsageRecord({ has_retry: false }))).toBe(false)
expect(hasUsageRetry(buildUsageRecord({ has_retry: undefined }))).toBe(false)
})
it('prefers symmetric stream aliases when present', () => {
expect(formatUsageStreamLabel(buildUsageRecord({
is_stream: true,

View File

@@ -27,6 +27,12 @@ export function hasUsageFallback(
return record.has_fallback === true
}
export function hasUsageRetry(
record: Pick<UsageRecord, 'has_retry'>
): boolean {
return record.has_retry === true
}
export function resolveUsageStreamModes(
record: Pick<
UsageRecord,