tweak: adjust retry check to be more defensive

This commit is contained in:
Aiden Cline
2026-01-27 11:22:03 -05:00
parent 0aa93379bd
commit f12f7e7718
2 changed files with 27 additions and 17 deletions

View File

@@ -76,6 +76,7 @@ export namespace SessionRetry {
return undefined return undefined
} }
}) })
try {
if (!json || typeof json !== "object") return undefined if (!json || typeof json !== "object") return undefined
const code = typeof json.code === "string" ? json.code : "" const code = typeof json.code === "string" ? json.code : ""
@@ -95,5 +96,8 @@ export namespace SessionRetry {
) { ) {
return "Provider Server Error" return "Provider Server Error"
} }
} catch {
return undefined
}
} }
} }

View File

@@ -102,6 +102,12 @@ describe("session.retry.retryable", () => {
expect(SessionRetry.retryable(error)).toBe("Provider Server Error") expect(SessionRetry.retryable(error)).toBe("Provider Server Error")
}) })
test("does not throw on numeric error codes", () => {
const error = wrap(JSON.stringify({ type: "error", error: { code: 123 } }))
const result = SessionRetry.retryable(error)
expect(result).toBeUndefined()
})
test("returns undefined for non-json message", () => { test("returns undefined for non-json message", () => {
const error = wrap("not-json") const error = wrap("not-json")
expect(SessionRetry.retryable(error)).toBeUndefined() expect(SessionRetry.retryable(error)).toBeUndefined()