Skip to content

Commit df98650

Browse files
feat: click mouse, move mouse, screenshot
1 parent 73f6287 commit df98650

19 files changed

+2412
-327
lines changed

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 57
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-6eaa6f5654abc94549962d7db1e8c7936af1f815bb3abe2f8249959394da1278.yml
3-
openapi_spec_hash: 31ece7cd801e74228b80a8112a762e56
4-
config_hash: 3fc2057ce765bc5f27785a694ed0f553
1+
configured_endpoints: 64
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-e21f0324774a1762bc2bba0da3a8a6b0d0e74720d7a1c83dec813f9e027fcf58.yml
3+
openapi_spec_hash: f1b636abfd6cb8e7c2ba7ffb8e53b9ba
4+
config_hash: 09a2df23048cb16689c9a390d9e5bc47

api.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,18 @@ Methods:
166166

167167
- <code title="get /browsers/{id}/logs/stream">client.browsers.logs.<a href="./src/kernel/resources/browsers/logs.py">stream</a>(id, \*\*<a href="src/kernel/types/browsers/log_stream_params.py">params</a>) -> <a href="./src/kernel/types/shared/log_event.py">LogEvent</a></code>
168168

169+
## Computer
170+
171+
Methods:
172+
173+
- <code title="post /browsers/{id}/computer/screenshot">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">capture_screenshot</a>(id, \*\*<a href="src/kernel/types/browsers/computer_capture_screenshot_params.py">params</a>) -> BinaryAPIResponse</code>
174+
- <code title="post /browsers/{id}/computer/click_mouse">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">click_mouse</a>(id, \*\*<a href="src/kernel/types/browsers/computer_click_mouse_params.py">params</a>) -> None</code>
175+
- <code title="post /browsers/{id}/computer/drag_mouse">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">drag_mouse</a>(id, \*\*<a href="src/kernel/types/browsers/computer_drag_mouse_params.py">params</a>) -> None</code>
176+
- <code title="post /browsers/{id}/computer/move_mouse">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">move_mouse</a>(id, \*\*<a href="src/kernel/types/browsers/computer_move_mouse_params.py">params</a>) -> None</code>
177+
- <code title="post /browsers/{id}/computer/press_key">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">press_key</a>(id, \*\*<a href="src/kernel/types/browsers/computer_press_key_params.py">params</a>) -> None</code>
178+
- <code title="post /browsers/{id}/computer/scroll">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">scroll</a>(id, \*\*<a href="src/kernel/types/browsers/computer_scroll_params.py">params</a>) -> None</code>
179+
- <code title="post /browsers/{id}/computer/type">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">type_text</a>(id, \*\*<a href="src/kernel/types/browsers/computer_type_text_params.py">params</a>) -> None</code>
180+
169181
# Profiles
170182

171183
Types:
@@ -202,13 +214,13 @@ Methods:
202214
Types:
203215

204216
```python
205-
from kernel.types import ExtensionCreateResponse, ExtensionListResponse
217+
from kernel.types import ExtensionListResponse, ExtensionUploadResponse
206218
```
207219

208220
Methods:
209221

210-
- <code title="post /extensions">client.extensions.<a href="./src/kernel/resources/extensions.py">create</a>(\*\*<a href="src/kernel/types/extension_create_params.py">params</a>) -> <a href="./src/kernel/types/extension_create_response.py">ExtensionCreateResponse</a></code>
211-
- <code title="get /extensions/{id_or_name}">client.extensions.<a href="./src/kernel/resources/extensions.py">retrieve</a>(id_or_name) -> BinaryAPIResponse</code>
212222
- <code title="get /extensions">client.extensions.<a href="./src/kernel/resources/extensions.py">list</a>() -> <a href="./src/kernel/types/extension_list_response.py">ExtensionListResponse</a></code>
213223
- <code title="delete /extensions/{id_or_name}">client.extensions.<a href="./src/kernel/resources/extensions.py">delete</a>(id_or_name) -> None</code>
224+
- <code title="get /extensions/{id_or_name}">client.extensions.<a href="./src/kernel/resources/extensions.py">download</a>(id_or_name) -> BinaryAPIResponse</code>
214225
- <code title="get /extensions/from_chrome_store">client.extensions.<a href="./src/kernel/resources/extensions.py">download_from_chrome_store</a>(\*\*<a href="src/kernel/types/extension_download_from_chrome_store_params.py">params</a>) -> BinaryAPIResponse</code>
226+
- <code title="post /extensions">client.extensions.<a href="./src/kernel/resources/extensions.py">upload</a>(\*\*<a href="src/kernel/types/extension_upload_params.py">params</a>) -> <a href="./src/kernel/types/extension_upload_response.py">ExtensionUploadResponse</a></code>

src/kernel/resources/browsers/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@
4040
BrowsersResourceWithStreamingResponse,
4141
AsyncBrowsersResourceWithStreamingResponse,
4242
)
43+
from .computer import (
44+
ComputerResource,
45+
AsyncComputerResource,
46+
ComputerResourceWithRawResponse,
47+
AsyncComputerResourceWithRawResponse,
48+
ComputerResourceWithStreamingResponse,
49+
AsyncComputerResourceWithStreamingResponse,
50+
)
4351

4452
__all__ = [
4553
"ReplaysResource",
@@ -66,6 +74,12 @@
6674
"AsyncLogsResourceWithRawResponse",
6775
"LogsResourceWithStreamingResponse",
6876
"AsyncLogsResourceWithStreamingResponse",
77+
"ComputerResource",
78+
"AsyncComputerResource",
79+
"ComputerResourceWithRawResponse",
80+
"AsyncComputerResourceWithRawResponse",
81+
"ComputerResourceWithStreamingResponse",
82+
"AsyncComputerResourceWithStreamingResponse",
6983
"BrowsersResource",
7084
"AsyncBrowsersResource",
7185
"BrowsersResourceWithRawResponse",

src/kernel/resources/browsers/browsers.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@
4141
)
4242
from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
4343
from ..._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
44+
from .computer import (
45+
ComputerResource,
46+
AsyncComputerResource,
47+
ComputerResourceWithRawResponse,
48+
AsyncComputerResourceWithRawResponse,
49+
ComputerResourceWithStreamingResponse,
50+
AsyncComputerResourceWithStreamingResponse,
51+
)
4452
from ..._compat import cached_property
4553
from ..._resource import SyncAPIResource, AsyncAPIResource
4654
from ..._response import (
@@ -75,6 +83,10 @@ def process(self) -> ProcessResource:
7583
def logs(self) -> LogsResource:
7684
return LogsResource(self._client)
7785

86+
@cached_property
87+
def computer(self) -> ComputerResource:
88+
return ComputerResource(self._client)
89+
7890
@cached_property
7991
def with_raw_response(self) -> BrowsersResourceWithRawResponse:
8092
"""
@@ -375,6 +387,10 @@ def process(self) -> AsyncProcessResource:
375387
def logs(self) -> AsyncLogsResource:
376388
return AsyncLogsResource(self._client)
377389

390+
@cached_property
391+
def computer(self) -> AsyncComputerResource:
392+
return AsyncComputerResource(self._client)
393+
378394
@cached_property
379395
def with_raw_response(self) -> AsyncBrowsersResourceWithRawResponse:
380396
"""
@@ -699,6 +715,10 @@ def process(self) -> ProcessResourceWithRawResponse:
699715
def logs(self) -> LogsResourceWithRawResponse:
700716
return LogsResourceWithRawResponse(self._browsers.logs)
701717

718+
@cached_property
719+
def computer(self) -> ComputerResourceWithRawResponse:
720+
return ComputerResourceWithRawResponse(self._browsers.computer)
721+
702722

703723
class AsyncBrowsersResourceWithRawResponse:
704724
def __init__(self, browsers: AsyncBrowsersResource) -> None:
@@ -739,6 +759,10 @@ def process(self) -> AsyncProcessResourceWithRawResponse:
739759
def logs(self) -> AsyncLogsResourceWithRawResponse:
740760
return AsyncLogsResourceWithRawResponse(self._browsers.logs)
741761

762+
@cached_property
763+
def computer(self) -> AsyncComputerResourceWithRawResponse:
764+
return AsyncComputerResourceWithRawResponse(self._browsers.computer)
765+
742766

743767
class BrowsersResourceWithStreamingResponse:
744768
def __init__(self, browsers: BrowsersResource) -> None:
@@ -779,6 +803,10 @@ def process(self) -> ProcessResourceWithStreamingResponse:
779803
def logs(self) -> LogsResourceWithStreamingResponse:
780804
return LogsResourceWithStreamingResponse(self._browsers.logs)
781805

806+
@cached_property
807+
def computer(self) -> ComputerResourceWithStreamingResponse:
808+
return ComputerResourceWithStreamingResponse(self._browsers.computer)
809+
782810

783811
class AsyncBrowsersResourceWithStreamingResponse:
784812
def __init__(self, browsers: AsyncBrowsersResource) -> None:
@@ -818,3 +846,7 @@ def process(self) -> AsyncProcessResourceWithStreamingResponse:
818846
@cached_property
819847
def logs(self) -> AsyncLogsResourceWithStreamingResponse:
820848
return AsyncLogsResourceWithStreamingResponse(self._browsers.logs)
849+
850+
@cached_property
851+
def computer(self) -> AsyncComputerResourceWithStreamingResponse:
852+
return AsyncComputerResourceWithStreamingResponse(self._browsers.computer)

0 commit comments

Comments
 (0)