Skip to content

Commit 914ee46

Browse files
feat(api): api update (#510)
1 parent 278e736 commit 914ee46

30 files changed

+1539
-4
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
configured_endpoints: 61
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-2d76871c6215358c176295dc168fa7f571f81df1f8df37ecbd1e4e06e7220d67.yml
1+
configured_endpoints: 66
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-5d84d2732400f196ddbe4b4e7c0e98b3f02bab9ce2ed750e69d399d898e496d1.yml

api.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,38 @@ Methods:
100100
- <code title="post /v1/devboxes/{id}/upload_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">upload_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_upload_file_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_upload_file_response.py">object</a></code>
101101
- <code title="post /v1/devboxes/{id}/write_file_contents">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">write_file_contents</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_write_file_contents_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
102102

103+
## Browsers
104+
105+
Types:
106+
107+
```python
108+
from runloop_api_client.types.devboxes import BrowserView
109+
```
110+
111+
Methods:
112+
113+
- <code title="post /v1/devboxes/browsers">client.devboxes.browsers.<a href="./src/runloop_api_client/resources/devboxes/browsers.py">create</a>() -> <a href="./src/runloop_api_client/types/devboxes/browser_view.py">BrowserView</a></code>
114+
115+
## Computers
116+
117+
Types:
118+
119+
```python
120+
from runloop_api_client.types.devboxes import (
121+
ComputerView,
122+
ComputerKeyboardInteractionResponse,
123+
ComputerMouseInteractionResponse,
124+
ComputerScreenInteractionResponse,
125+
)
126+
```
127+
128+
Methods:
129+
130+
- <code title="post /v1/devboxes/computers">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">create</a>(\*\*<a href="src/runloop_api_client/types/devboxes/computer_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/computer_view.py">ComputerView</a></code>
131+
- <code title="post /v1/devboxes/computers/{id}/keyboard_interaction">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">keyboard_interaction</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py">ComputerKeyboardInteractionResponse</a></code>
132+
- <code title="post /v1/devboxes/computers/{id}/mouse_interaction">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">mouse_interaction</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py">ComputerMouseInteractionResponse</a></code>
133+
- <code title="post /v1/devboxes/computers/{id}/screen_interaction">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">screen_interaction</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py">ComputerScreenInteractionResponse</a></code>
134+
103135
## Lsp
104136

105137
Types:

src/runloop_api_client/resources/benchmarks/benchmarks.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ def list(
147147
self,
148148
*,
149149
limit: int | NotGiven = NOT_GIVEN,
150+
public: bool | NotGiven = NOT_GIVEN,
150151
starting_after: str | NotGiven = NOT_GIVEN,
151152
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
152153
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -161,6 +162,9 @@ def list(
161162
Args:
162163
limit: The limit of items to return. Default is 20.
163164
165+
public: List public benchmarks, e.g. SWE-bench. Defaults to false, i.e. only
166+
user-defined benchmarks are listed.
167+
164168
starting_after: Load the next page of data starting after the item with the given ID.
165169
166170
extra_headers: Send extra headers
@@ -181,6 +185,7 @@ def list(
181185
query=maybe_transform(
182186
{
183187
"limit": limit,
188+
"public": public,
184189
"starting_after": starting_after,
185190
},
186191
benchmark_list_params.BenchmarkListParams,
@@ -351,6 +356,7 @@ async def list(
351356
self,
352357
*,
353358
limit: int | NotGiven = NOT_GIVEN,
359+
public: bool | NotGiven = NOT_GIVEN,
354360
starting_after: str | NotGiven = NOT_GIVEN,
355361
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
356362
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -365,6 +371,9 @@ async def list(
365371
Args:
366372
limit: The limit of items to return. Default is 20.
367373
374+
public: List public benchmarks, e.g. SWE-bench. Defaults to false, i.e. only
375+
user-defined benchmarks are listed.
376+
368377
starting_after: Load the next page of data starting after the item with the given ID.
369378
370379
extra_headers: Send extra headers
@@ -385,6 +394,7 @@ async def list(
385394
query=await async_maybe_transform(
386395
{
387396
"limit": limit,
397+
"public": public,
388398
"starting_after": starting_after,
389399
},
390400
benchmark_list_params.BenchmarkListParams,

src/runloop_api_client/resources/benchmarks/runs.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def retrieve(
8181
def list(
8282
self,
8383
*,
84+
benchmark_id: str | NotGiven = NOT_GIVEN,
8485
limit: int | NotGiven = NOT_GIVEN,
8586
starting_after: str | NotGiven = NOT_GIVEN,
8687
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -94,6 +95,8 @@ def list(
9495
List all BenchmarkRuns matching filter.
9596
9697
Args:
98+
benchmark_id: The Benchmark ID to filter by.
99+
97100
limit: The limit of items to return. Default is 20.
98101
99102
starting_after: Load the next page of data starting after the item with the given ID.
@@ -115,6 +118,7 @@ def list(
115118
timeout=timeout,
116119
query=maybe_transform(
117120
{
121+
"benchmark_id": benchmark_id,
118122
"limit": limit,
119123
"starting_after": starting_after,
120124
},
@@ -221,6 +225,7 @@ async def retrieve(
221225
async def list(
222226
self,
223227
*,
228+
benchmark_id: str | NotGiven = NOT_GIVEN,
224229
limit: int | NotGiven = NOT_GIVEN,
225230
starting_after: str | NotGiven = NOT_GIVEN,
226231
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -234,6 +239,8 @@ async def list(
234239
List all BenchmarkRuns matching filter.
235240
236241
Args:
242+
benchmark_id: The Benchmark ID to filter by.
243+
237244
limit: The limit of items to return. Default is 20.
238245
239246
starting_after: Load the next page of data starting after the item with the given ID.
@@ -255,6 +262,7 @@ async def list(
255262
timeout=timeout,
256263
query=await async_maybe_transform(
257264
{
265+
"benchmark_id": benchmark_id,
258266
"limit": limit,
259267
"starting_after": starting_after,
260268
},

src/runloop_api_client/resources/devboxes/__init__.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@
1616
LogsResourceWithStreamingResponse,
1717
AsyncLogsResourceWithStreamingResponse,
1818
)
19+
from .browsers import (
20+
BrowsersResource,
21+
AsyncBrowsersResource,
22+
BrowsersResourceWithRawResponse,
23+
AsyncBrowsersResourceWithRawResponse,
24+
BrowsersResourceWithStreamingResponse,
25+
AsyncBrowsersResourceWithStreamingResponse,
26+
)
1927
from .devboxes import (
2028
DevboxesResource,
2129
AsyncDevboxesResource,
@@ -24,6 +32,14 @@
2432
DevboxesResourceWithStreamingResponse,
2533
AsyncDevboxesResourceWithStreamingResponse,
2634
)
35+
from .computers import (
36+
ComputersResource,
37+
AsyncComputersResource,
38+
ComputersResourceWithRawResponse,
39+
AsyncComputersResourceWithRawResponse,
40+
ComputersResourceWithStreamingResponse,
41+
AsyncComputersResourceWithStreamingResponse,
42+
)
2743
from .executions import (
2844
ExecutionsResource,
2945
AsyncExecutionsResource,
@@ -34,6 +50,18 @@
3450
)
3551

3652
__all__ = [
53+
"BrowsersResource",
54+
"AsyncBrowsersResource",
55+
"BrowsersResourceWithRawResponse",
56+
"AsyncBrowsersResourceWithRawResponse",
57+
"BrowsersResourceWithStreamingResponse",
58+
"AsyncBrowsersResourceWithStreamingResponse",
59+
"ComputersResource",
60+
"AsyncComputersResource",
61+
"ComputersResourceWithRawResponse",
62+
"AsyncComputersResourceWithRawResponse",
63+
"ComputersResourceWithStreamingResponse",
64+
"AsyncComputersResourceWithStreamingResponse",
3765
"LspResource",
3866
"AsyncLspResource",
3967
"LspResourceWithRawResponse",
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
import httpx
6+
7+
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8+
from ..._compat import cached_property
9+
from ..._resource import SyncAPIResource, AsyncAPIResource
10+
from ..._response import (
11+
to_raw_response_wrapper,
12+
to_streamed_response_wrapper,
13+
async_to_raw_response_wrapper,
14+
async_to_streamed_response_wrapper,
15+
)
16+
from ..._base_client import make_request_options
17+
from ...types.devboxes.browser_view import BrowserView
18+
19+
__all__ = ["BrowsersResource", "AsyncBrowsersResource"]
20+
21+
22+
class BrowsersResource(SyncAPIResource):
23+
@cached_property
24+
def with_raw_response(self) -> BrowsersResourceWithRawResponse:
25+
"""
26+
This property can be used as a prefix for any HTTP method call to return
27+
the raw response object instead of the parsed content.
28+
29+
For more information, see https://www.github.com/runloopai/api-client-python#accessing-raw-response-data-eg-headers
30+
"""
31+
return BrowsersResourceWithRawResponse(self)
32+
33+
@cached_property
34+
def with_streaming_response(self) -> BrowsersResourceWithStreamingResponse:
35+
"""
36+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
37+
38+
For more information, see https://www.github.com/runloopai/api-client-python#with_streaming_response
39+
"""
40+
return BrowsersResourceWithStreamingResponse(self)
41+
42+
def create(
43+
self,
44+
*,
45+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
46+
# The extra values given here take precedence over values defined on the client or passed to this method.
47+
extra_headers: Headers | None = None,
48+
extra_query: Query | None = None,
49+
extra_body: Body | None = None,
50+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
51+
idempotency_key: str | None = None,
52+
) -> BrowserView:
53+
"""Create a Devbox that has a managed Browser and begin the boot process.
54+
55+
As part
56+
of booting the Devbox, the browser will automatically be started with connection
57+
utilities activated.
58+
"""
59+
return self._post(
60+
"/v1/devboxes/browsers",
61+
options=make_request_options(
62+
extra_headers=extra_headers,
63+
extra_query=extra_query,
64+
extra_body=extra_body,
65+
timeout=timeout,
66+
idempotency_key=idempotency_key,
67+
),
68+
cast_to=BrowserView,
69+
)
70+
71+
72+
class AsyncBrowsersResource(AsyncAPIResource):
73+
@cached_property
74+
def with_raw_response(self) -> AsyncBrowsersResourceWithRawResponse:
75+
"""
76+
This property can be used as a prefix for any HTTP method call to return
77+
the raw response object instead of the parsed content.
78+
79+
For more information, see https://www.github.com/runloopai/api-client-python#accessing-raw-response-data-eg-headers
80+
"""
81+
return AsyncBrowsersResourceWithRawResponse(self)
82+
83+
@cached_property
84+
def with_streaming_response(self) -> AsyncBrowsersResourceWithStreamingResponse:
85+
"""
86+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
87+
88+
For more information, see https://www.github.com/runloopai/api-client-python#with_streaming_response
89+
"""
90+
return AsyncBrowsersResourceWithStreamingResponse(self)
91+
92+
async def create(
93+
self,
94+
*,
95+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
96+
# The extra values given here take precedence over values defined on the client or passed to this method.
97+
extra_headers: Headers | None = None,
98+
extra_query: Query | None = None,
99+
extra_body: Body | None = None,
100+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
101+
idempotency_key: str | None = None,
102+
) -> BrowserView:
103+
"""Create a Devbox that has a managed Browser and begin the boot process.
104+
105+
As part
106+
of booting the Devbox, the browser will automatically be started with connection
107+
utilities activated.
108+
"""
109+
return await self._post(
110+
"/v1/devboxes/browsers",
111+
options=make_request_options(
112+
extra_headers=extra_headers,
113+
extra_query=extra_query,
114+
extra_body=extra_body,
115+
timeout=timeout,
116+
idempotency_key=idempotency_key,
117+
),
118+
cast_to=BrowserView,
119+
)
120+
121+
122+
class BrowsersResourceWithRawResponse:
123+
def __init__(self, browsers: BrowsersResource) -> None:
124+
self._browsers = browsers
125+
126+
self.create = to_raw_response_wrapper(
127+
browsers.create,
128+
)
129+
130+
131+
class AsyncBrowsersResourceWithRawResponse:
132+
def __init__(self, browsers: AsyncBrowsersResource) -> None:
133+
self._browsers = browsers
134+
135+
self.create = async_to_raw_response_wrapper(
136+
browsers.create,
137+
)
138+
139+
140+
class BrowsersResourceWithStreamingResponse:
141+
def __init__(self, browsers: BrowsersResource) -> None:
142+
self._browsers = browsers
143+
144+
self.create = to_streamed_response_wrapper(
145+
browsers.create,
146+
)
147+
148+
149+
class AsyncBrowsersResourceWithStreamingResponse:
150+
def __init__(self, browsers: AsyncBrowsersResource) -> None:
151+
self._browsers = browsers
152+
153+
self.create = async_to_streamed_response_wrapper(
154+
browsers.create,
155+
)

0 commit comments

Comments
 (0)