@bugbug-io/sdk
    Preparing search index...

    Interface RateLimitConfig

    interface RateLimitConfig {
        maxRequests: number;
        windowMs: number;
        maxConcurrentRequests?: number;
        retryAfter?: number;
        retryServer429?: boolean;
        exponentialBackoff: {
            baseDelay: number;
            maxDelay: number;
            maxRetries: number;
        };
    }
    Index

    Properties

    maxRequests: number

    Maximum number of requests allowed inside one rolling window.

    windowMs: number

    Rolling window size in milliseconds.

    maxConcurrentRequests?: number

    Maximum number of operations executing at once. Operations above the limit wait for an in-flight operation to finish before checking the rolling request window. Defaults to Infinity.

    retryAfter?: number

    Suggested wait time (ms) when the client-side gate trips. Used as the retryAfter on synthetic RateLimitError instances. Default: 1000.

    retryServer429?: boolean

    Whether to automatically retry server-side 429 responses with exponential backoff. Defaults to true.

    WARNING: When true, a 429 returned mid-POST is retried transparently. For non-idempotent calls - tests.startRun, suites.startRun, tests.create, etc. - this can produce duplicate resources if the server already accepted the first request before returning 429. Set to false for production integrations that mutate data; the caller can then implement an idempotent retry strategy.

    exponentialBackoff: { baseDelay: number; maxDelay: number; maxRetries: number }

    Exponential backoff parameters applied when retrying rate-limited requests.

    Type Declaration

    • baseDelay: number

      Starting delay in milliseconds.

    • maxDelay: number

      Maximum delay in milliseconds.

    • maxRetries: number

      Maximum retry attempts before giving up.