summaryrefslogtreecommitdiffhomepage
path: root/packages/opencode/src/session/processor.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/opencode/src/session/processor.ts')
-rw-r--r--packages/opencode/src/session/processor.ts19
1 files changed, 9 insertions, 10 deletions
diff --git a/packages/opencode/src/session/processor.ts b/packages/opencode/src/session/processor.ts
index de96c5eea..5c2005587 100644
--- a/packages/opencode/src/session/processor.ts
+++ b/packages/opencode/src/session/processor.ts
@@ -325,16 +325,15 @@ export namespace SessionProcessor {
const error = MessageV2.fromError(e, { providerID: input.providerID })
if (error?.name === "APIError" && error.data.isRetryable) {
attempt++
- const delay = SessionRetry.getRetryDelayInMs(error, attempt)
- if (delay) {
- SessionStatus.set(input.sessionID, {
- type: "retry",
- attempt,
- message: error.data.message,
- })
- await SessionRetry.sleep(delay, input.abort).catch(() => {})
- continue
- }
+ const delay = SessionRetry.delay(error, attempt)
+ SessionStatus.set(input.sessionID, {
+ type: "retry",
+ attempt,
+ message: error.data.message,
+ next: Date.now() + delay,
+ })
+ await SessionRetry.sleep(delay, input.abort).catch(() => {})
+ continue
}
input.assistantMessage.error = error
Bus.publish(Session.Event.Error, {