From 903f30e2a9c274980ae1519a460483094dfab513 Mon Sep 17 00:00:00 2001 From: stainless-bot Date: Wed, 26 Jun 2024 20:12:11 +0000 Subject: [PATCH] feat(api): OpenAPI spec update via Stainless API --- .stats.yml | 2 +- api.md | 10 +--------- .../resources/devboxes/devboxes.py | 10 +++++++++- src/runloop_api_client/types/__init__.py | 1 + .../types/devbox_execute_sync_params.py | 12 ++++++++++++ tests/api_resources/test_devboxes.py | 16 ++++++++++++++++ 6 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 src/runloop_api_client/types/devbox_execute_sync_params.py diff --git a/.stats.yml b/.stats.yml index 11f149d6a..5484ced01 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ configured_endpoints: 14 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-1fdc9bae4fba7d365eca69915191a06ab5b0faec74f80404339e92cba37036f7.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-ad7847a96db411953d1b7601aa60c0da482335255dd581c26b04d533cc99d930.yml diff --git a/api.md b/api.md index bb7ee2079..92527588e 100644 --- a/api.md +++ b/api.md @@ -17,7 +17,7 @@ Methods: - client.devboxes.create(\*\*params) -> DevboxView - client.devboxes.retrieve(id) -> DevboxView - client.devboxes.list(\*\*params) -> DevboxListView -- client.devboxes.execute_sync(id) -> DevboxExecutionDetailView +- client.devboxes.execute_sync(id, \*\*params) -> DevboxExecutionDetailView - client.devboxes.shutdown(id) -> DevboxView ## Logs @@ -60,14 +60,6 @@ Methods: - client.functions.invocations.list() -> FunctionInvocationListView - client.functions.invocations.kill(invocation_id) -> object -### Spans - -Types: - -```python -from runloop_api_client.types.functions.invocations import InvocationSpanListView -``` - # Projects Types: diff --git a/src/runloop_api_client/resources/devboxes/devboxes.py b/src/runloop_api_client/resources/devboxes/devboxes.py index 2bba79483..f88876d2f 100644 --- a/src/runloop_api_client/resources/devboxes/devboxes.py +++ b/src/runloop_api_client/resources/devboxes/devboxes.py @@ -14,7 +14,7 @@ LogsResourceWithStreamingResponse, AsyncLogsResourceWithStreamingResponse, ) -from ...types import devbox_list_params, devbox_create_params +from ...types import devbox_list_params, devbox_create_params, devbox_execute_sync_params from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven from ..._utils import ( maybe_transform, @@ -185,6 +185,7 @@ def execute_sync( self, id: str, *, + command: str | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -196,6 +197,8 @@ def execute_sync( Synchronously execute a command on a devbox Args: + command: The command to execute on the Devbox. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -208,6 +211,7 @@ def execute_sync( raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") return self._post( f"/v1/devboxes/{id}/execute_sync", + body=maybe_transform({"command": command}, devbox_execute_sync_params.DevboxExecuteSyncParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -396,6 +400,7 @@ async def execute_sync( self, id: str, *, + command: str | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -407,6 +412,8 @@ async def execute_sync( Synchronously execute a command on a devbox Args: + command: The command to execute on the Devbox. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -419,6 +426,7 @@ async def execute_sync( raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") return await self._post( f"/v1/devboxes/{id}/execute_sync", + body=await async_maybe_transform({"command": command}, devbox_execute_sync_params.DevboxExecuteSyncParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/runloop_api_client/types/__init__.py b/src/runloop_api_client/types/__init__.py index 8cbd8f02b..f31475c02 100644 --- a/src/runloop_api_client/types/__init__.py +++ b/src/runloop_api_client/types/__init__.py @@ -9,6 +9,7 @@ from .devbox_list_params import DevboxListParams as DevboxListParams from .function_list_view import FunctionListView as FunctionListView from .devbox_create_params import DevboxCreateParams as DevboxCreateParams +from .devbox_execute_sync_params import DevboxExecuteSyncParams as DevboxExecuteSyncParams from .function_invoke_sync_params import FunctionInvokeSyncParams as FunctionInvokeSyncParams from .devbox_execution_detail_view import DevboxExecutionDetailView as DevboxExecutionDetailView from .function_invoke_async_params import FunctionInvokeAsyncParams as FunctionInvokeAsyncParams diff --git a/src/runloop_api_client/types/devbox_execute_sync_params.py b/src/runloop_api_client/types/devbox_execute_sync_params.py new file mode 100644 index 000000000..12dbc2e0f --- /dev/null +++ b/src/runloop_api_client/types/devbox_execute_sync_params.py @@ -0,0 +1,12 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import TypedDict + +__all__ = ["DevboxExecuteSyncParams"] + + +class DevboxExecuteSyncParams(TypedDict, total=False): + command: str + """The command to execute on the Devbox.""" diff --git a/tests/api_resources/test_devboxes.py b/tests/api_resources/test_devboxes.py index e1bea0100..513112570 100644 --- a/tests/api_resources/test_devboxes.py +++ b/tests/api_resources/test_devboxes.py @@ -133,6 +133,14 @@ def test_method_execute_sync(self, client: Runloop) -> None: ) assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"]) + @parametrize + def test_method_execute_sync_with_all_params(self, client: Runloop) -> None: + devbox = client.devboxes.execute_sync( + "string", + command="string", + ) + assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"]) + @parametrize def test_raw_response_execute_sync(self, client: Runloop) -> None: response = client.devboxes.with_raw_response.execute_sync( @@ -318,6 +326,14 @@ async def test_method_execute_sync(self, async_client: AsyncRunloop) -> None: ) assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"]) + @parametrize + async def test_method_execute_sync_with_all_params(self, async_client: AsyncRunloop) -> None: + devbox = await async_client.devboxes.execute_sync( + "string", + command="string", + ) + assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"]) + @parametrize async def test_raw_response_execute_sync(self, async_client: AsyncRunloop) -> None: response = await async_client.devboxes.with_raw_response.execute_sync(