Skip to content

Commit 14667cd

Browse files
feat(api): browser instance file i/o
1 parent 07b55e4 commit 14667cd

26 files changed

+3123
-4
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: 19
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-9f2d347a4bcb03aed092ba4495aac090c3d988e9a99af091ee35c09994adad8b.yml
3-
openapi_spec_hash: 73b92bd5503ab6c64dc26da31cca36e2
4-
config_hash: 65328ff206b8c0168c915914506d9dba
1+
configured_endpoints: 31
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-e907afeabfeea49dedd783112ac3fd29267bc86f3d594f89ba9a2abf2bcbc9d8.yml
3+
openapi_spec_hash: 060ca6288c1a09b6d1bdf207a0011165
4+
config_hash: f67e4b33b2fb30c1405ee2fff8096320

api.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,37 @@ Methods:
9494
- <code title="get /browsers/{id}/replays/{replay_id}">client.browsers.replays.<a href="./src/kernel/resources/browsers/replays.py">download</a>(replay_id, \*, id) -> BinaryAPIResponse</code>
9595
- <code title="post /browsers/{id}/replays">client.browsers.replays.<a href="./src/kernel/resources/browsers/replays.py">start</a>(id, \*\*<a href="src/kernel/types/browsers/replay_start_params.py">params</a>) -> <a href="./src/kernel/types/browsers/replay_start_response.py">ReplayStartResponse</a></code>
9696
- <code title="post /browsers/{id}/replays/{replay_id}/stop">client.browsers.replays.<a href="./src/kernel/resources/browsers/replays.py">stop</a>(replay_id, \*, id) -> None</code>
97+
98+
## Fs
99+
100+
Types:
101+
102+
```python
103+
from kernel.types.browsers import FFileInfoResponse, FListFilesResponse
104+
```
105+
106+
Methods:
107+
108+
- <code title="put /browsers/{id}/fs/create_directory">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">create_directory</a>(id, \*\*<a href="src/kernel/types/browsers/f_create_directory_params.py">params</a>) -> None</code>
109+
- <code title="put /browsers/{id}/fs/delete_directory">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">delete_directory</a>(id, \*\*<a href="src/kernel/types/browsers/f_delete_directory_params.py">params</a>) -> None</code>
110+
- <code title="put /browsers/{id}/fs/delete_file">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">delete_file</a>(id, \*\*<a href="src/kernel/types/browsers/f_delete_file_params.py">params</a>) -> None</code>
111+
- <code title="get /browsers/{id}/fs/file_info">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">file_info</a>(id, \*\*<a href="src/kernel/types/browsers/f_file_info_params.py">params</a>) -> <a href="./src/kernel/types/browsers/f_file_info_response.py">FFileInfoResponse</a></code>
112+
- <code title="get /browsers/{id}/fs/list_files">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">list_files</a>(id, \*\*<a href="src/kernel/types/browsers/f_list_files_params.py">params</a>) -> <a href="./src/kernel/types/browsers/f_list_files_response.py">FListFilesResponse</a></code>
113+
- <code title="put /browsers/{id}/fs/move">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">move</a>(id, \*\*<a href="src/kernel/types/browsers/f_move_params.py">params</a>) -> None</code>
114+
- <code title="get /browsers/{id}/fs/read_file">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">read_file</a>(id, \*\*<a href="src/kernel/types/browsers/f_read_file_params.py">params</a>) -> BinaryAPIResponse</code>
115+
- <code title="put /browsers/{id}/fs/set_file_permissions">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">set_file_permissions</a>(id, \*\*<a href="src/kernel/types/browsers/f_set_file_permissions_params.py">params</a>) -> None</code>
116+
- <code title="put /browsers/{id}/fs/write_file">client.browsers.fs.<a href="./src/kernel/resources/browsers/fs/fs.py">write_file</a>(id, contents, \*\*<a href="src/kernel/types/browsers/f_write_file_params.py">params</a>) -> None</code>
117+
118+
### Watch
119+
120+
Types:
121+
122+
```python
123+
from kernel.types.browsers.fs import WatchEventsResponse, WatchStartResponse
124+
```
125+
126+
Methods:
127+
128+
- <code title="get /browsers/{id}/fs/watch/{watch_id}/events">client.browsers.fs.watch.<a href="./src/kernel/resources/browsers/fs/watch.py">events</a>(watch_id, \*, id) -> <a href="./src/kernel/types/browsers/fs/watch_events_response.py">WatchEventsResponse</a></code>
129+
- <code title="post /browsers/{id}/fs/watch">client.browsers.fs.watch.<a href="./src/kernel/resources/browsers/fs/watch.py">start</a>(id, \*\*<a href="src/kernel/types/browsers/fs/watch_start_params.py">params</a>) -> <a href="./src/kernel/types/browsers/fs/watch_start_response.py">WatchStartResponse</a></code>
130+
- <code title="delete /browsers/{id}/fs/watch/{watch_id}">client.browsers.fs.watch.<a href="./src/kernel/resources/browsers/fs/watch.py">stop</a>(watch_id, \*, id) -> None</code>

src/kernel/resources/browsers/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3+
from .fs import (
4+
FsResource,
5+
AsyncFsResource,
6+
FsResourceWithRawResponse,
7+
AsyncFsResourceWithRawResponse,
8+
FsResourceWithStreamingResponse,
9+
AsyncFsResourceWithStreamingResponse,
10+
)
311
from .replays import (
412
ReplaysResource,
513
AsyncReplaysResource,
@@ -24,6 +32,12 @@
2432
"AsyncReplaysResourceWithRawResponse",
2533
"ReplaysResourceWithStreamingResponse",
2634
"AsyncReplaysResourceWithStreamingResponse",
35+
"FsResource",
36+
"AsyncFsResource",
37+
"FsResourceWithRawResponse",
38+
"AsyncFsResourceWithRawResponse",
39+
"FsResourceWithStreamingResponse",
40+
"AsyncFsResourceWithStreamingResponse",
2741
"BrowsersResource",
2842
"AsyncBrowsersResource",
2943
"BrowsersResourceWithRawResponse",

src/kernel/resources/browsers/browsers.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44

55
import httpx
66

7+
from .fs.fs import (
8+
FsResource,
9+
AsyncFsResource,
10+
FsResourceWithRawResponse,
11+
AsyncFsResourceWithRawResponse,
12+
FsResourceWithStreamingResponse,
13+
AsyncFsResourceWithStreamingResponse,
14+
)
715
from ...types import browser_create_params, browser_delete_params
816
from .replays import (
917
ReplaysResource,
@@ -37,6 +45,10 @@ class BrowsersResource(SyncAPIResource):
3745
def replays(self) -> ReplaysResource:
3846
return ReplaysResource(self._client)
3947

48+
@cached_property
49+
def fs(self) -> FsResource:
50+
return FsResource(self._client)
51+
4052
@cached_property
4153
def with_raw_response(self) -> BrowsersResourceWithRawResponse:
4254
"""
@@ -239,6 +251,10 @@ class AsyncBrowsersResource(AsyncAPIResource):
239251
def replays(self) -> AsyncReplaysResource:
240252
return AsyncReplaysResource(self._client)
241253

254+
@cached_property
255+
def fs(self) -> AsyncFsResource:
256+
return AsyncFsResource(self._client)
257+
242258
@cached_property
243259
def with_raw_response(self) -> AsyncBrowsersResourceWithRawResponse:
244260
"""
@@ -462,6 +478,10 @@ def __init__(self, browsers: BrowsersResource) -> None:
462478
def replays(self) -> ReplaysResourceWithRawResponse:
463479
return ReplaysResourceWithRawResponse(self._browsers.replays)
464480

481+
@cached_property
482+
def fs(self) -> FsResourceWithRawResponse:
483+
return FsResourceWithRawResponse(self._browsers.fs)
484+
465485

466486
class AsyncBrowsersResourceWithRawResponse:
467487
def __init__(self, browsers: AsyncBrowsersResource) -> None:
@@ -487,6 +507,10 @@ def __init__(self, browsers: AsyncBrowsersResource) -> None:
487507
def replays(self) -> AsyncReplaysResourceWithRawResponse:
488508
return AsyncReplaysResourceWithRawResponse(self._browsers.replays)
489509

510+
@cached_property
511+
def fs(self) -> AsyncFsResourceWithRawResponse:
512+
return AsyncFsResourceWithRawResponse(self._browsers.fs)
513+
490514

491515
class BrowsersResourceWithStreamingResponse:
492516
def __init__(self, browsers: BrowsersResource) -> None:
@@ -512,6 +536,10 @@ def __init__(self, browsers: BrowsersResource) -> None:
512536
def replays(self) -> ReplaysResourceWithStreamingResponse:
513537
return ReplaysResourceWithStreamingResponse(self._browsers.replays)
514538

539+
@cached_property
540+
def fs(self) -> FsResourceWithStreamingResponse:
541+
return FsResourceWithStreamingResponse(self._browsers.fs)
542+
515543

516544
class AsyncBrowsersResourceWithStreamingResponse:
517545
def __init__(self, browsers: AsyncBrowsersResource) -> None:
@@ -536,3 +564,7 @@ def __init__(self, browsers: AsyncBrowsersResource) -> None:
536564
@cached_property
537565
def replays(self) -> AsyncReplaysResourceWithStreamingResponse:
538566
return AsyncReplaysResourceWithStreamingResponse(self._browsers.replays)
567+
568+
@cached_property
569+
def fs(self) -> AsyncFsResourceWithStreamingResponse:
570+
return AsyncFsResourceWithStreamingResponse(self._browsers.fs)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from .fs import (
4+
FsResource,
5+
AsyncFsResource,
6+
FsResourceWithRawResponse,
7+
AsyncFsResourceWithRawResponse,
8+
FsResourceWithStreamingResponse,
9+
AsyncFsResourceWithStreamingResponse,
10+
)
11+
from .watch import (
12+
WatchResource,
13+
AsyncWatchResource,
14+
WatchResourceWithRawResponse,
15+
AsyncWatchResourceWithRawResponse,
16+
WatchResourceWithStreamingResponse,
17+
AsyncWatchResourceWithStreamingResponse,
18+
)
19+
20+
__all__ = [
21+
"WatchResource",
22+
"AsyncWatchResource",
23+
"WatchResourceWithRawResponse",
24+
"AsyncWatchResourceWithRawResponse",
25+
"WatchResourceWithStreamingResponse",
26+
"AsyncWatchResourceWithStreamingResponse",
27+
"FsResource",
28+
"AsyncFsResource",
29+
"FsResourceWithRawResponse",
30+
"AsyncFsResourceWithRawResponse",
31+
"FsResourceWithStreamingResponse",
32+
"AsyncFsResourceWithStreamingResponse",
33+
]

0 commit comments

Comments
 (0)