Skip to content

Commit a624924

Browse files
committed
feat(api): OpenAPI spec update via Stainless API
1 parent 88939b3 commit a624924

6 files changed

Lines changed: 4 additions & 186 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
configured_endpoints: 17
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-d2f2163594415a1ffc47be29ef38f12e9702098cbfe2cc92b8b8d24bad1e938f.yml
1+
configured_endpoints: 16
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-4ab9f1a3f003af273e162d93a86042a8c482a935bc904259aac18bd459ab687e.yml

api.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,14 @@ Methods:
2222
Types:
2323

2424
```python
25-
from runloop.types import DevboxExecutionDetailView, DevboxListView, DevboxView
25+
from runloop.types import DevboxListView, DevboxView
2626
```
2727

2828
Methods:
2929

3030
- <code title="post /v1/devboxes">client.devboxes.<a href="./src/runloop/resources/devboxes/devboxes.py">create</a>(\*\*<a href="src/runloop/types/devbox_create_params.py">params</a>) -> <a href="./src/runloop/types/devbox_view.py">DevboxView</a></code>
3131
- <code title="get /v1/devboxes/{id}">client.devboxes.<a href="./src/runloop/resources/devboxes/devboxes.py">retrieve</a>(id) -> <a href="./src/runloop/types/devbox_view.py">DevboxView</a></code>
3232
- <code title="get /v1/devboxes">client.devboxes.<a href="./src/runloop/resources/devboxes/devboxes.py">list</a>(\*\*<a href="src/runloop/types/devbox_list_params.py">params</a>) -> <a href="./src/runloop/types/devbox_list_view.py">DevboxListView</a></code>
33-
- <code title="post /v1/devboxes/{id}/execute_sync">client.devboxes.<a href="./src/runloop/resources/devboxes/devboxes.py">execute_sync</a>(id) -> <a href="./src/runloop/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
3433
- <code title="post /v1/devboxes/{id}/shutdown">client.devboxes.<a href="./src/runloop/resources/devboxes/devboxes.py">shutdown</a>(id) -> <a href="./src/runloop/types/devbox_view.py">DevboxView</a></code>
3534

3635
## Logs

src/runloop/resources/devboxes/devboxes.py

Lines changed: 0 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
)
3434
from ...types.devbox_view import DevboxView
3535
from ...types.devbox_list_view import DevboxListView
36-
from ...types.devbox_execution_detail_view import DevboxExecutionDetailView
3736

3837
__all__ = ["DevboxesResource", "AsyncDevboxesResource"]
3938

@@ -181,39 +180,6 @@ def list(
181180
cast_to=DevboxListView,
182181
)
183182

184-
def execute_sync(
185-
self,
186-
id: str,
187-
*,
188-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
189-
# The extra values given here take precedence over values defined on the client or passed to this method.
190-
extra_headers: Headers | None = None,
191-
extra_query: Query | None = None,
192-
extra_body: Body | None = None,
193-
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
194-
) -> DevboxExecutionDetailView:
195-
"""
196-
Synchronously execute a command on a devbox
197-
198-
Args:
199-
extra_headers: Send extra headers
200-
201-
extra_query: Add additional query parameters to the request
202-
203-
extra_body: Add additional JSON properties to the request
204-
205-
timeout: Override the client-level default timeout for this request, in seconds
206-
"""
207-
if not id:
208-
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
209-
return self._post(
210-
f"/v1/devboxes/{id}/execute_sync",
211-
options=make_request_options(
212-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
213-
),
214-
cast_to=DevboxExecutionDetailView,
215-
)
216-
217183
def shutdown(
218184
self,
219185
id: str,
@@ -392,39 +358,6 @@ async def list(
392358
cast_to=DevboxListView,
393359
)
394360

395-
async def execute_sync(
396-
self,
397-
id: str,
398-
*,
399-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
400-
# The extra values given here take precedence over values defined on the client or passed to this method.
401-
extra_headers: Headers | None = None,
402-
extra_query: Query | None = None,
403-
extra_body: Body | None = None,
404-
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
405-
) -> DevboxExecutionDetailView:
406-
"""
407-
Synchronously execute a command on a devbox
408-
409-
Args:
410-
extra_headers: Send extra headers
411-
412-
extra_query: Add additional query parameters to the request
413-
414-
extra_body: Add additional JSON properties to the request
415-
416-
timeout: Override the client-level default timeout for this request, in seconds
417-
"""
418-
if not id:
419-
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
420-
return await self._post(
421-
f"/v1/devboxes/{id}/execute_sync",
422-
options=make_request_options(
423-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
424-
),
425-
cast_to=DevboxExecutionDetailView,
426-
)
427-
428361
async def shutdown(
429362
self,
430363
id: str,
@@ -473,9 +406,6 @@ def __init__(self, devboxes: DevboxesResource) -> None:
473406
self.list = to_raw_response_wrapper(
474407
devboxes.list,
475408
)
476-
self.execute_sync = to_raw_response_wrapper(
477-
devboxes.execute_sync,
478-
)
479409
self.shutdown = to_raw_response_wrapper(
480410
devboxes.shutdown,
481411
)
@@ -498,9 +428,6 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
498428
self.list = async_to_raw_response_wrapper(
499429
devboxes.list,
500430
)
501-
self.execute_sync = async_to_raw_response_wrapper(
502-
devboxes.execute_sync,
503-
)
504431
self.shutdown = async_to_raw_response_wrapper(
505432
devboxes.shutdown,
506433
)
@@ -523,9 +450,6 @@ def __init__(self, devboxes: DevboxesResource) -> None:
523450
self.list = to_streamed_response_wrapper(
524451
devboxes.list,
525452
)
526-
self.execute_sync = to_streamed_response_wrapper(
527-
devboxes.execute_sync,
528-
)
529453
self.shutdown = to_streamed_response_wrapper(
530454
devboxes.shutdown,
531455
)
@@ -548,9 +472,6 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
548472
self.list = async_to_streamed_response_wrapper(
549473
devboxes.list,
550474
)
551-
self.execute_sync = async_to_streamed_response_wrapper(
552-
devboxes.execute_sync,
553-
)
554475
self.shutdown = async_to_streamed_response_wrapper(
555476
devboxes.shutdown,
556477
)

src/runloop/types/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,4 @@
1818
from .code_handle_list_params import CodeHandleListParams as CodeHandleListParams
1919
from .code_handle_create_params import CodeHandleCreateParams as CodeHandleCreateParams
2020
from .function_invoke_sync_params import FunctionInvokeSyncParams as FunctionInvokeSyncParams
21-
from .devbox_execution_detail_view import DevboxExecutionDetailView as DevboxExecutionDetailView
2221
from .function_invoke_async_params import FunctionInvokeAsyncParams as FunctionInvokeAsyncParams

src/runloop/types/devbox_execution_detail_view.py

Lines changed: 0 additions & 21 deletions
This file was deleted.

tests/api_resources/test_devboxes.py

Lines changed: 1 addition & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@
99

1010
from runloop import Runloop, AsyncRunloop
1111
from tests.utils import assert_matches_type
12-
from runloop.types import (
13-
DevboxView,
14-
DevboxListView,
15-
DevboxExecutionDetailView,
16-
)
12+
from runloop.types import DevboxView, DevboxListView
1713

1814
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
1915

@@ -126,44 +122,6 @@ def test_streaming_response_list(self, client: Runloop) -> None:
126122

127123
assert cast(Any, response.is_closed) is True
128124

129-
@parametrize
130-
def test_method_execute_sync(self, client: Runloop) -> None:
131-
devbox = client.devboxes.execute_sync(
132-
"string",
133-
)
134-
assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
135-
136-
@parametrize
137-
def test_raw_response_execute_sync(self, client: Runloop) -> None:
138-
response = client.devboxes.with_raw_response.execute_sync(
139-
"string",
140-
)
141-
142-
assert response.is_closed is True
143-
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
144-
devbox = response.parse()
145-
assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
146-
147-
@parametrize
148-
def test_streaming_response_execute_sync(self, client: Runloop) -> None:
149-
with client.devboxes.with_streaming_response.execute_sync(
150-
"string",
151-
) as response:
152-
assert not response.is_closed
153-
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
154-
155-
devbox = response.parse()
156-
assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
157-
158-
assert cast(Any, response.is_closed) is True
159-
160-
@parametrize
161-
def test_path_params_execute_sync(self, client: Runloop) -> None:
162-
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
163-
client.devboxes.with_raw_response.execute_sync(
164-
"",
165-
)
166-
167125
@parametrize
168126
def test_method_shutdown(self, client: Runloop) -> None:
169127
devbox = client.devboxes.shutdown(
@@ -311,44 +269,6 @@ async def test_streaming_response_list(self, async_client: AsyncRunloop) -> None
311269

312270
assert cast(Any, response.is_closed) is True
313271

314-
@parametrize
315-
async def test_method_execute_sync(self, async_client: AsyncRunloop) -> None:
316-
devbox = await async_client.devboxes.execute_sync(
317-
"string",
318-
)
319-
assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
320-
321-
@parametrize
322-
async def test_raw_response_execute_sync(self, async_client: AsyncRunloop) -> None:
323-
response = await async_client.devboxes.with_raw_response.execute_sync(
324-
"string",
325-
)
326-
327-
assert response.is_closed is True
328-
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
329-
devbox = await response.parse()
330-
assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
331-
332-
@parametrize
333-
async def test_streaming_response_execute_sync(self, async_client: AsyncRunloop) -> None:
334-
async with async_client.devboxes.with_streaming_response.execute_sync(
335-
"string",
336-
) as response:
337-
assert not response.is_closed
338-
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
339-
340-
devbox = await response.parse()
341-
assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
342-
343-
assert cast(Any, response.is_closed) is True
344-
345-
@parametrize
346-
async def test_path_params_execute_sync(self, async_client: AsyncRunloop) -> None:
347-
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
348-
await async_client.devboxes.with_raw_response.execute_sync(
349-
"",
350-
)
351-
352272
@parametrize
353273
async def test_method_shutdown(self, async_client: AsyncRunloop) -> None:
354274
devbox = await async_client.devboxes.shutdown(

0 commit comments

Comments
 (0)