fix(user-center): narrow agent node error payload typing

This commit is contained in:
Haitao Pan 2026-04-09 14:04:36 +08:00
parent 47d132dfd7
commit f10914bbe7

View File

@ -18,11 +18,17 @@ type AgentNodesError = Error & {
status?: number
}
function isAgentNodeErrorPayload(
payload: AgentNodePayload | null,
): payload is Exclude<AgentNodePayload, VlessNode[]> {
return !!payload && !Array.isArray(payload)
}
function extractMessage(payload: AgentNodePayload | null, status: number): string {
if (payload && typeof payload.message === 'string' && payload.message.trim().length > 0) {
if (isAgentNodeErrorPayload(payload) && typeof payload.message === 'string' && payload.message.trim().length > 0) {
return payload.message
}
if (payload && typeof payload.error === 'string' && payload.error.trim().length > 0) {
if (isAgentNodeErrorPayload(payload) && typeof payload.error === 'string' && payload.error.trim().length > 0) {
return payload.error
}
return `Request failed (${status})`