diff options
Diffstat (limited to 'packages/opencode/src/session/processor.ts')
| -rw-r--r-- | packages/opencode/src/session/processor.ts | 19 |
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, { |
