Merge branch 'aether-rust-pioneer' of https://github.com/fawney19/Aether into codex/codex-image-progress-heartbeat

# Conflicts:
#	frontend/src/features/usage/components/__tests__/HorizontalRequestTimeline.spec.ts
This commit is contained in:
Entropy.Xu
2026-05-09 01:26:44 +08:00
90 changed files with 8541 additions and 1251 deletions
@@ -120,6 +120,14 @@ describe('usage status helpers', () => {
})).toBe('failed')
})
it('downgrades terminal success to failed when status code is 3xx', () => {
expect(resolveTimelineFinalStatus({
traceFinalStatus: 'success',
requestStatus: 'completed',
statusCode: 302,
})).toBe('failed')
})
it('falls back to request lifecycle status when status code and trace are missing', () => {
expect(resolveTimelineFinalStatus({
requestStatus: 'failed',
@@ -203,6 +211,9 @@ describe('usage status helpers', () => {
expect(resolveTimelineFinalStatus({
statusCode: 200,
})).toBe('success')
expect(resolveTimelineFinalStatus({
statusCode: 302,
})).toBe('failed')
expect(resolveTimelineFinalStatus({
statusCode: 503,
})).toBe('failed')
+13 -3
View File
@@ -173,7 +173,7 @@ function hasTerminalSuccessStatusCode(
): boolean {
return typeof record.status_code === 'number' &&
record.status_code >= 200 &&
record.status_code < 400
record.status_code < 300
}
export function isUsageRecordFailed(record: UsageFailureSignal & Pick<UsageRecord, 'status'>): boolean {
@@ -284,18 +284,28 @@ export function resolveTimelineFinalStatus(params: {
requestStatus?: RequestStatusLike
statusCode?: number
}): TimelineFinalStatus {
const hasTerminalSuccessStatusCode = typeof params.statusCode === 'number'
? params.statusCode >= 200 && params.statusCode < 300
: undefined
const requestStatus = mapRequestStatusToTimelineStatus(params.requestStatus)
if (requestStatus === 'success' || requestStatus === 'failed' || requestStatus === 'cancelled') {
if (requestStatus === 'success' && hasTerminalSuccessStatusCode === false) {
return 'failed'
}
return requestStatus
}
const traceStatus = normalizeTimelineFinalStatus(params.traceFinalStatus)
if (traceStatus === 'success' || traceStatus === 'failed' || traceStatus === 'cancelled') {
if (traceStatus === 'success' && hasTerminalSuccessStatusCode === false) {
return 'failed'
}
return traceStatus
}
if (typeof params.statusCode === 'number') {
return params.statusCode >= 200 && params.statusCode < 400 ? 'success' : 'failed'
if (hasTerminalSuccessStatusCode !== undefined) {
return hasTerminalSuccessStatusCode ? 'success' : 'failed'
}
if (params.hasPendingCandidates) {