| 309 | } |
| 310 | |
| 311 | function extractErrorMessage(payload: ResponsePayload): string { |
| 312 | if (payload.json && typeof payload.json === "object") { |
| 313 | const root = payload.json as Record<string, unknown>; |
| 314 | const error = root.error; |
| 315 | if (typeof error === "string") return error; |
| 316 | if (error && typeof error === "object") { |
| 317 | const msg = (error as Record<string, unknown>).message; |
| 318 | if (typeof msg === "string") return msg; |
| 319 | } |
| 320 | if (typeof root.message === "string") return root.message; |
| 321 | } |
| 322 | return payload.text; |
| 323 | } |
| 324 | |
| 325 | function extractFirstMessageContent(payload: ResponsePayload): string | undefined { |
| 326 | if (!payload.json || typeof payload.json !== "object") return undefined; |