mirror of
https://github.com/sst/opencode.git
synced 2025-07-07 16:14:59 +00:00
Merge ed6d5d5b03
into d87922c0eb
This commit is contained in:
commit
263b9a73e9
1 changed files with 27 additions and 1 deletions
|
@ -59,10 +59,36 @@ export namespace Provider {
|
|||
"anthropic-beta": "oauth-2025-04-20",
|
||||
}
|
||||
delete headers["x-api-key"]
|
||||
return fetch(input, {
|
||||
const response = await fetch(input, {
|
||||
...init,
|
||||
headers,
|
||||
})
|
||||
|
||||
if (response.status === 429) {
|
||||
const resetTimestampStr = response.headers.get("anthropic-ratelimit-unified-reset")
|
||||
let userMessage = `Anthropic API rate limit exceeded. `
|
||||
let resetTimestamp = parseInt(resetTimestampStr || "", 10)
|
||||
|
||||
if (!isNaN(resetTimestamp)) {
|
||||
const resetDate = new Date(resetTimestamp * 1000)
|
||||
const currentDate = new Date()
|
||||
|
||||
let resetStr: string;
|
||||
if (currentDate.toLocaleDateString() == resetDate.toLocaleDateString()) {
|
||||
resetStr = resetDate.toLocaleTimeString()
|
||||
} else {
|
||||
resetStr = resetDate.toLocaleString()
|
||||
}
|
||||
|
||||
userMessage += `Please try again after ${resetStr}.`
|
||||
} else {
|
||||
userMessage += "Please try again later."
|
||||
}
|
||||
|
||||
throw new Error(userMessage)
|
||||
}
|
||||
|
||||
return response
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue