Skip to content

RetryDecision

type RetryDecision =
| boolean
| {
approveUnsafeReplay?: boolean;
delayMs?: number;
reason?: string;
retry: boolean;
};

boolean


{
approveUnsafeReplay?: boolean;
delayMs?: number;
reason?: string;
retry: boolean;
}
optional approveUnsafeReplay?: boolean;

Explicit application approval to repeat provider-side work that may already have happened. This is required when replay safety is unknown or unsafe, including timed-out requests. Streamed requests remain non-retryable after any output event is emitted.

optional delayMs?: number;

Optional delay override in milliseconds before the next retry attempt.

optional reason?: string;

Optional explanation for logging or debugging.

retry: boolean;

Whether the failed request should be retried.