@mastra/core
Version:
24 lines • 1.27 kB
TypeScript
/**
* Shared helpers for honoring a provider's `Retry-After` response header.
*
* Extracted from `processors/stream-error-retry-processor.ts` so the agent
* model-call retry path (`stream/aisdk/v5/execute.ts`) applies the same bounded
* semantics: a provider-controlled delay is respected but always capped, so a
* large or hostile `Retry-After` cannot wedge a run.
*/
/** Maximum provider-controlled `Retry-After` delay honored by default. */
export declare const DEFAULT_MAX_RETRY_AFTER_MS = 30000;
/**
* Reads the provider's requested retry delay from an error or any error in its
* `cause` chain.
*
* `Retry-After-Ms` takes precedence over `Retry-After` because it is the more
* precise of the two; `Retry-After` accepts both delay-seconds and HTTP-date
* forms. Returns undefined when neither header carries a usable value.
*/
export declare function getRetryAfterMs(error: unknown, now?: number): number | undefined;
/** Clamps a delay to a finite, non-negative number of milliseconds. */
export declare function clampDelayMs(value: number): number;
/** Waits `delayMs`, resolving early if `abortSignal` fires. */
export declare function waitDelay(delayMs: number, abortSignal?: AbortSignal): Promise<void>;
//# sourceMappingURL=retry-after.d.ts.map