Skip to content

Add RLE OpenEnv WebSocket support - #48833

Open
farhann1 wants to merge 8 commits into
ayushmishra/rle-sdk-initfrom
farhannawaz/rle-websocket
Open

farhann1 wants to merge 8 commits into
ayushmishra/rle-sdk-initfrom
farhannawaz/rle-websocket

Conversation

@farhann1

@farhann1 farhann1 commented Sep 1, 2026

Copy link
Copy Markdown

Add authenticated text-only sync and async WebSocket clients for leased OpenEnv instances, including secure URL construction, lifecycle cleanup, samples, tests, dependency metadata, and APIView updates.

Description

Please add an informative description that covers that changes made by the pull request and link all relevant issues.

If an SDK is being regenerated based on a new API spec, a link to the pull request containing these API spec changes should be included above.

All SDK Contribution checklist:

  • The pull request does not introduce [breaking changes]
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

Add authenticated text-only sync and async WebSocket clients for leased OpenEnv instances, including secure URL construction, lifecycle cleanup, samples, tests, dependency metadata, and APIView updates.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
10 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Farhan Nawaz and others added 7 commits September 10, 2026 16:11
reset(seed=None, episode_id=None, **kwargs) already had **kwargs on its
signature, but those kwargs were forwarded as transport/operation
options to the generated runtime.reset(...) call, never reaching the
environment. step() instead treats its **action_kwargs as
environment-specific action fields via coerce_action(). This aligns
reset() with that same pattern:

- Add coerce_reset_body(seed, episode_id, kwargs) in _patch_rle.py,
  mirroring coerce_action. With no extra kwargs it still returns the
  strict RLEResetRequest model (unchanged wire shape); with extras it
  returns a plain dict merging seed/episodeId with the environment-
  specific fields, since RLEResetRequest has no field for them but the
  generated reset operation already accepts a raw JSON body too.
- reset() (sync and async) now builds its body via coerce_reset_body
  and no longer forwards **kwargs to the runtime operation call.
- seed/episode_id passed as extra kwargs raise TypeError (use the
  named parameters instead).
- Add unit tests for coerce_reset_body and end-to-end sync/async tests
  confirming extra reset kwargs reach the wire body.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant