Skip to content

Commit 2952d8d

Browse files
feat(api): api update (#531)
1 parent 9cf34d8 commit 2952d8d

File tree

10 files changed

+89
-5
lines changed

10 files changed

+89
-5
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 73
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-76f469266d2a329a84074f63a1e53c27bb78eb39c0585fe7790b082e1758c0c5.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-a6925284ea7678ed801dbaf6b5c60676b97ab7a16191c1b2ff8ef6a468e89f3b.yml

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ from runloop_api_client.types.devboxes import BrowserView
111111

112112
Methods:
113113

114-
- <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+
- <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_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/browser_view.py">BrowserView</a></code>
115115

116116
## Computers
117117

src/runloop_api_client/resources/devboxes/browsers.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22

33
from __future__ import annotations
44

5+
from typing import Optional
6+
57
import httpx
68

79
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10+
from ..._utils import (
11+
maybe_transform,
12+
async_maybe_transform,
13+
)
814
from ..._compat import cached_property
915
from ..._resource import SyncAPIResource, AsyncAPIResource
1016
from ..._response import (
@@ -14,6 +20,7 @@
1420
async_to_streamed_response_wrapper,
1521
)
1622
from ..._base_client import make_request_options
23+
from ...types.devboxes import browser_create_params
1724
from ...types.devboxes.browser_view import BrowserView
1825

1926
__all__ = ["BrowsersResource", "AsyncBrowsersResource"]
@@ -42,6 +49,7 @@ def with_streaming_response(self) -> BrowsersResourceWithStreamingResponse:
4249
def create(
4350
self,
4451
*,
52+
name: Optional[str] | NotGiven = NOT_GIVEN,
4553
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
4654
# The extra values given here take precedence over values defined on the client or passed to this method.
4755
extra_headers: Headers | None = None,
@@ -55,9 +63,23 @@ def create(
5563
As part
5664
of booting the Devbox, the browser will automatically be started with connection
5765
utilities activated.
66+
67+
Args:
68+
name: The name to use for the created Devbox with a Browser.
69+
70+
extra_headers: Send extra headers
71+
72+
extra_query: Add additional query parameters to the request
73+
74+
extra_body: Add additional JSON properties to the request
75+
76+
timeout: Override the client-level default timeout for this request, in seconds
77+
78+
idempotency_key: Specify a custom idempotency key for this request
5879
"""
5980
return self._post(
6081
"/v1/devboxes/browsers",
82+
body=maybe_transform({"name": name}, browser_create_params.BrowserCreateParams),
6183
options=make_request_options(
6284
extra_headers=extra_headers,
6385
extra_query=extra_query,
@@ -92,6 +114,7 @@ def with_streaming_response(self) -> AsyncBrowsersResourceWithStreamingResponse:
92114
async def create(
93115
self,
94116
*,
117+
name: Optional[str] | NotGiven = NOT_GIVEN,
95118
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
96119
# The extra values given here take precedence over values defined on the client or passed to this method.
97120
extra_headers: Headers | None = None,
@@ -105,9 +128,23 @@ async def create(
105128
As part
106129
of booting the Devbox, the browser will automatically be started with connection
107130
utilities activated.
131+
132+
Args:
133+
name: The name to use for the created Devbox with a Browser.
134+
135+
extra_headers: Send extra headers
136+
137+
extra_query: Add additional query parameters to the request
138+
139+
extra_body: Add additional JSON properties to the request
140+
141+
timeout: Override the client-level default timeout for this request, in seconds
142+
143+
idempotency_key: Specify a custom idempotency key for this request
108144
"""
109145
return await self._post(
110146
"/v1/devboxes/browsers",
147+
body=await async_maybe_transform({"name": name}, browser_create_params.BrowserCreateParams),
111148
options=make_request_options(
112149
extra_headers=extra_headers,
113150
extra_query=extra_query,

src/runloop_api_client/resources/devboxes/computers.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ def create(
5959
self,
6060
*,
6161
display_dimensions: Optional[computer_create_params.DisplayDimensions] | NotGiven = NOT_GIVEN,
62+
name: Optional[str] | NotGiven = NOT_GIVEN,
6263
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
6364
# The extra values given here take precedence over values defined on the client or passed to this method.
6465
extra_headers: Headers | None = None,
@@ -78,6 +79,8 @@ def create(
7879
Args:
7980
display_dimensions: Customize the dimensions of the computer display.
8081
82+
name: The name to use for the created computer.
83+
8184
extra_headers: Send extra headers
8285
8386
extra_query: Add additional query parameters to the request
@@ -91,7 +94,11 @@ def create(
9194
return self._post(
9295
"/v1/devboxes/computers",
9396
body=maybe_transform(
94-
{"display_dimensions": display_dimensions}, computer_create_params.ComputerCreateParams
97+
{
98+
"display_dimensions": display_dimensions,
99+
"name": name,
100+
},
101+
computer_create_params.ComputerCreateParams,
95102
),
96103
options=make_request_options(
97104
extra_headers=extra_headers,
@@ -285,6 +292,7 @@ async def create(
285292
self,
286293
*,
287294
display_dimensions: Optional[computer_create_params.DisplayDimensions] | NotGiven = NOT_GIVEN,
295+
name: Optional[str] | NotGiven = NOT_GIVEN,
288296
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
289297
# The extra values given here take precedence over values defined on the client or passed to this method.
290298
extra_headers: Headers | None = None,
@@ -304,6 +312,8 @@ async def create(
304312
Args:
305313
display_dimensions: Customize the dimensions of the computer display.
306314
315+
name: The name to use for the created computer.
316+
307317
extra_headers: Send extra headers
308318
309319
extra_query: Add additional query parameters to the request
@@ -317,7 +327,11 @@ async def create(
317327
return await self._post(
318328
"/v1/devboxes/computers",
319329
body=await async_maybe_transform(
320-
{"display_dimensions": display_dimensions}, computer_create_params.ComputerCreateParams
330+
{
331+
"display_dimensions": display_dimensions,
332+
"name": name,
333+
},
334+
computer_create_params.ComputerCreateParams,
321335
),
322336
options=make_request_options(
323337
extra_headers=extra_headers,

src/runloop_api_client/types/devbox_view.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class DevboxView(BaseModel):
1313
id: str
1414
"""The ID of the Devbox."""
1515

16-
capabilities: List[Literal["unknown", "computer_usage", "browser_usage"]]
16+
capabilities: List[Literal["unknown", "computer_usage", "browser_usage", "language_server"]]
1717
"""A list of capability groups this devbox has access to.
1818
1919
This allows devboxes to be compatible with certain tools sets like computer

src/runloop_api_client/types/devboxes/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
from .references_response import ReferencesResponse as ReferencesResponse
4444
from .diagnostics_response import DiagnosticsResponse as DiagnosticsResponse
4545
from .base_diagnostic_param import BaseDiagnosticParam as BaseDiagnosticParam
46+
from .browser_create_params import BrowserCreateParams as BrowserCreateParams
4647
from .code_actions_response import CodeActionsResponse as CodeActionsResponse
4748
from .devbox_logs_list_view import DevboxLogsListView as DevboxLogsListView
4849
from .lsp_formatting_params import LspFormattingParams as LspFormattingParams
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing import Optional
6+
from typing_extensions import TypedDict
7+
8+
__all__ = ["BrowserCreateParams"]
9+
10+
11+
class BrowserCreateParams(TypedDict, total=False):
12+
name: Optional[str]
13+
"""The name to use for the created Devbox with a Browser."""

src/runloop_api_client/types/devboxes/computer_create_params.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ class ComputerCreateParams(TypedDict, total=False):
1212
display_dimensions: Optional[DisplayDimensions]
1313
"""Customize the dimensions of the computer display."""
1414

15+
name: Optional[str]
16+
"""The name to use for the created computer."""
17+
1518

1619
class DisplayDimensions(TypedDict, total=False):
1720
display_height_px: Required[int]

tests/api_resources/devboxes/test_browsers.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ def test_method_create(self, client: Runloop) -> None:
2222
browser = client.devboxes.browsers.create()
2323
assert_matches_type(BrowserView, browser, path=["response"])
2424

25+
@parametrize
26+
def test_method_create_with_all_params(self, client: Runloop) -> None:
27+
browser = client.devboxes.browsers.create(
28+
name="name",
29+
)
30+
assert_matches_type(BrowserView, browser, path=["response"])
31+
2532
@parametrize
2633
def test_raw_response_create(self, client: Runloop) -> None:
2734
response = client.devboxes.browsers.with_raw_response.create()
@@ -51,6 +58,13 @@ async def test_method_create(self, async_client: AsyncRunloop) -> None:
5158
browser = await async_client.devboxes.browsers.create()
5259
assert_matches_type(BrowserView, browser, path=["response"])
5360

61+
@parametrize
62+
async def test_method_create_with_all_params(self, async_client: AsyncRunloop) -> None:
63+
browser = await async_client.devboxes.browsers.create(
64+
name="name",
65+
)
66+
assert_matches_type(BrowserView, browser, path=["response"])
67+
5468
@parametrize
5569
async def test_raw_response_create(self, async_client: AsyncRunloop) -> None:
5670
response = await async_client.devboxes.browsers.with_raw_response.create()

tests/api_resources/devboxes/test_computers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ def test_method_create_with_all_params(self, client: Runloop) -> None:
3434
"display_height_px": 0,
3535
"display_width_px": 0,
3636
},
37+
name="name",
3738
)
3839
assert_matches_type(ComputerView, computer, path=["response"])
3940

@@ -220,6 +221,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRunloop) -
220221
"display_height_px": 0,
221222
"display_width_px": 0,
222223
},
224+
name="name",
223225
)
224226
assert_matches_type(ComputerView, computer, path=["response"])
225227

0 commit comments

Comments
 (0)