diff options
| author | Sellers Crisp <[email protected]> | 2025-12-14 12:46:14 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-14 11:46:14 -0600 |
| commit | 92948ed8a49a2701ffa353c93a271a66e9637f99 (patch) | |
| tree | ec40a7659074ec0c98ccdf08a4707a7a0678c29b | |
| parent | 6d412d8872adda1e059f284bc591d3928eebeef5 (diff) | |
| download | opencode-92948ed8a49a2701ffa353c93a271a66e9637f99.tar.gz opencode-92948ed8a49a2701ffa353c93a271a66e9637f99.zip | |
feat: add server_error, rate_limit, and no_kv_space retry logic to accommodate Foundry API issues (#5527)
Co-authored-by: Aiden Cline <[email protected]>
| -rw-r--r-- | packages/opencode/src/session/retry.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/opencode/src/session/retry.ts b/packages/opencode/src/session/retry.ts index 3cabacdb8..c53bb926a 100644 --- a/packages/opencode/src/session/retry.ts +++ b/packages/opencode/src/session/retry.ts @@ -68,6 +68,12 @@ export namespace SessionRetry { if (json.code === "Some resource has been exhausted") { return "Provider is overloaded" } + if (json.type === "error" && json.error?.code?.includes("rate_limit")) { + return "Rate Limited" + } + if (json.error?.message?.includes("no_kv_space") || (json.type === "error" && json.error?.type === "server_error")) { + return "Provider Server Error" + } } catch {} } |
