Skip to content

Python and JS SDKs — 429 WAIT signal lost at exception boundary, no Retry-After #1325

Description

@SirBrenton

Finding

Three files map 429 responses to typed exceptions with no Retry-After consulted and no WAIT vs STOP distinction:

  • packages/python-sdk/e2b/api/__init__.py
  • packages/python-sdk/e2b/envd/api.py
  • packages/js-sdk/src/envd/api.ts

Same pattern across both Python and JavaScript SDKs.

The consequence

When a provider returns Retry-After: 60, the signal is swallowed at the exception boundary. The caller receives a typed error with no timing information. Retry decisions default to local backoff inside the cooldown window.

Expected behavior

  • Preserve Retry-After across the exception boundary
  • Surface retry timing to the caller
  • Distinguish WAIT (transient throttle) from STOP (quota exhaustion) before retrying

Related pattern

WAIT-signal-lost-at-exception-boundary

Corpus reference: https://github.com/SirBrenton/pitstop-truth

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsdkImprovements or additions to SDKs

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions