|
14 | 14 | FilesResourceWithStreamingResponse, |
15 | 15 | AsyncFilesResourceWithStreamingResponse, |
16 | 16 | ) |
17 | | -from ...types import session_list_params, session_create_params |
| 17 | +from ...types import session_list_params, session_create_params, session_computer_params |
18 | 18 | from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given |
19 | 19 | from ..._utils import maybe_transform, async_maybe_transform |
20 | 20 | from .captchas import ( |
|
40 | 40 | from ...types.session_context import SessionContext |
41 | 41 | from ...types.session_events_response import SessionEventsResponse |
42 | 42 | from ...types.session_release_response import SessionReleaseResponse |
| 43 | +from ...types.session_computer_response import SessionComputerResponse |
43 | 44 | from ...types.session_release_all_response import SessionReleaseAllResponse |
44 | 45 | from ...types.session_live_details_response import SessionLiveDetailsResponse |
45 | 46 |
|
@@ -286,6 +287,43 @@ def list( |
286 | 287 | model=SessionslistSession, |
287 | 288 | ) |
288 | 289 |
|
| 290 | + def computer( |
| 291 | + self, |
| 292 | + session_id: str, |
| 293 | + *, |
| 294 | + body: object | Omit = omit, |
| 295 | + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. |
| 296 | + # The extra values given here take precedence over values defined on the client or passed to this method. |
| 297 | + extra_headers: Headers | None = None, |
| 298 | + extra_query: Query | None = None, |
| 299 | + extra_body: Body | None = None, |
| 300 | + timeout: float | httpx.Timeout | None | NotGiven = not_given, |
| 301 | + ) -> SessionComputerResponse: |
| 302 | + """ |
| 303 | + Execute computer actions like mouse movements, clicks, keyboard input, and more |
| 304 | +
|
| 305 | + Args: |
| 306 | + body: Computer action to execute (validation done in controller) |
| 307 | +
|
| 308 | + extra_headers: Send extra headers |
| 309 | +
|
| 310 | + extra_query: Add additional query parameters to the request |
| 311 | +
|
| 312 | + extra_body: Add additional JSON properties to the request |
| 313 | +
|
| 314 | + timeout: Override the client-level default timeout for this request, in seconds |
| 315 | + """ |
| 316 | + if not session_id: |
| 317 | + raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}") |
| 318 | + return self._post( |
| 319 | + f"/v1/sessions/{session_id}/computer", |
| 320 | + body=maybe_transform(body, session_computer_params.SessionComputerParams), |
| 321 | + options=make_request_options( |
| 322 | + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout |
| 323 | + ), |
| 324 | + cast_to=SessionComputerResponse, |
| 325 | + ) |
| 326 | + |
289 | 327 | def context( |
290 | 328 | self, |
291 | 329 | id: str, |
@@ -678,6 +716,43 @@ def list( |
678 | 716 | model=SessionslistSession, |
679 | 717 | ) |
680 | 718 |
|
| 719 | + async def computer( |
| 720 | + self, |
| 721 | + session_id: str, |
| 722 | + *, |
| 723 | + body: object | Omit = omit, |
| 724 | + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. |
| 725 | + # The extra values given here take precedence over values defined on the client or passed to this method. |
| 726 | + extra_headers: Headers | None = None, |
| 727 | + extra_query: Query | None = None, |
| 728 | + extra_body: Body | None = None, |
| 729 | + timeout: float | httpx.Timeout | None | NotGiven = not_given, |
| 730 | + ) -> SessionComputerResponse: |
| 731 | + """ |
| 732 | + Execute computer actions like mouse movements, clicks, keyboard input, and more |
| 733 | +
|
| 734 | + Args: |
| 735 | + body: Computer action to execute (validation done in controller) |
| 736 | +
|
| 737 | + extra_headers: Send extra headers |
| 738 | +
|
| 739 | + extra_query: Add additional query parameters to the request |
| 740 | +
|
| 741 | + extra_body: Add additional JSON properties to the request |
| 742 | +
|
| 743 | + timeout: Override the client-level default timeout for this request, in seconds |
| 744 | + """ |
| 745 | + if not session_id: |
| 746 | + raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}") |
| 747 | + return await self._post( |
| 748 | + f"/v1/sessions/{session_id}/computer", |
| 749 | + body=await async_maybe_transform(body, session_computer_params.SessionComputerParams), |
| 750 | + options=make_request_options( |
| 751 | + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout |
| 752 | + ), |
| 753 | + cast_to=SessionComputerResponse, |
| 754 | + ) |
| 755 | + |
681 | 756 | async def context( |
682 | 757 | self, |
683 | 758 | id: str, |
@@ -843,6 +918,9 @@ def __init__(self, sessions: SessionsResource) -> None: |
843 | 918 | self.list = to_raw_response_wrapper( |
844 | 919 | sessions.list, |
845 | 920 | ) |
| 921 | + self.computer = to_raw_response_wrapper( |
| 922 | + sessions.computer, |
| 923 | + ) |
846 | 924 | self.context = to_raw_response_wrapper( |
847 | 925 | sessions.context, |
848 | 926 | ) |
@@ -881,6 +959,9 @@ def __init__(self, sessions: AsyncSessionsResource) -> None: |
881 | 959 | self.list = async_to_raw_response_wrapper( |
882 | 960 | sessions.list, |
883 | 961 | ) |
| 962 | + self.computer = async_to_raw_response_wrapper( |
| 963 | + sessions.computer, |
| 964 | + ) |
884 | 965 | self.context = async_to_raw_response_wrapper( |
885 | 966 | sessions.context, |
886 | 967 | ) |
@@ -919,6 +1000,9 @@ def __init__(self, sessions: SessionsResource) -> None: |
919 | 1000 | self.list = to_streamed_response_wrapper( |
920 | 1001 | sessions.list, |
921 | 1002 | ) |
| 1003 | + self.computer = to_streamed_response_wrapper( |
| 1004 | + sessions.computer, |
| 1005 | + ) |
922 | 1006 | self.context = to_streamed_response_wrapper( |
923 | 1007 | sessions.context, |
924 | 1008 | ) |
@@ -957,6 +1041,9 @@ def __init__(self, sessions: AsyncSessionsResource) -> None: |
957 | 1041 | self.list = async_to_streamed_response_wrapper( |
958 | 1042 | sessions.list, |
959 | 1043 | ) |
| 1044 | + self.computer = async_to_streamed_response_wrapper( |
| 1045 | + sessions.computer, |
| 1046 | + ) |
960 | 1047 | self.context = async_to_streamed_response_wrapper( |
961 | 1048 | sessions.context, |
962 | 1049 | ) |
|
0 commit comments