XHS / frontend /src /lib /errors.ts
Trae Bot
Fix .gitignore excluding frontend/src/lib and add missing TS modules
98277cb
import { apiGetWrapped } from './api'
import type { TaskRecord } from './tasks'
export type ErrorSummaryResponse = {
scan_limit: number
scanned: number
error_kind_counts: Record<string, number>
tasks: TaskRecord[]
total: number
limit: number
offset: number
}
export type ErrorSummaryParams = {
scan_limit?: number
limit: number
offset: number
status?: string[]
error_kind?: string[]
}
function join(values?: string[]) {
const parts = (values || []).map((v) => String(v).trim()).filter((v) => v !== '')
return parts.length ? parts.join(',') : undefined
}
export async function getErrorSummary(params: ErrorSummaryParams) {
const search = new URLSearchParams()
search.set('limit', String(params.limit))
search.set('offset', String(params.offset))
if (typeof params.scan_limit === 'number' && Number.isFinite(params.scan_limit) && params.scan_limit > 0) {
search.set('scan_limit', String(Math.floor(params.scan_limit)))
}
const status = join(params.status)
const errorKind = join(params.error_kind)
if (status) search.set('status', status)
if (errorKind) search.set('error_kind', errorKind)
return apiGetWrapped<ErrorSummaryResponse>(`errors/summary?${search.toString()}`)
}