diff --git a/.stats.yml b/.stats.yml
index 63c19c927..460cc3629 100755
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
-configured_endpoints: 23
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-3f659ccaa829c7a6faf6490c769ba6e36ccd3b82a85a05fc322860cc7226a3a1.yml
+configured_endpoints: 22
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-95846c0922aedc237ffe0f2bee0a67a93f64e4dc85b4028a50b835de3d5b6295.yml
diff --git a/api.md b/api.md
index 6f52516ae..292241006 100755
--- a/api.md
+++ b/api.md
@@ -63,7 +63,6 @@ Methods:
- client.devboxes.retrieve(id) -> DevboxView
- client.devboxes.list(\*\*params) -> DevboxListView
- client.devboxes.execute_sync(id, \*\*params) -> DevboxExecutionDetailView
-- client.devboxes.read_file(id, \*\*params) -> DevboxExecutionDetailView
- client.devboxes.read_file_contents(id, \*\*params) -> str
- client.devboxes.shutdown(id) -> DevboxView
- client.devboxes.upload_file(id, \*\*params) -> object
diff --git a/src/runloop_api_client/resources/devboxes/devboxes.py b/src/runloop_api_client/resources/devboxes/devboxes.py
index 9bdd4b784..6d499f25c 100755
--- a/src/runloop_api_client/resources/devboxes/devboxes.py
+++ b/src/runloop_api_client/resources/devboxes/devboxes.py
@@ -17,7 +17,6 @@
from ...types import (
devbox_list_params,
devbox_create_params,
- devbox_read_file_params,
devbox_write_file_params,
devbox_upload_file_params,
devbox_execute_sync_params,
@@ -257,43 +256,6 @@ def execute_sync(
cast_to=DevboxExecutionDetailView,
)
- def read_file(
- self,
- id: str,
- *,
- file_path: 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,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> DevboxExecutionDetailView:
- """
- Read file contents from a file on given Devbox.
-
- Args:
- file_path: The path of the file to read.
-
- extra_headers: Send extra headers
-
- extra_query: Add additional query parameters to the request
-
- extra_body: Add additional JSON properties to the request
-
- timeout: Override the client-level default timeout for this request, in seconds
- """
- if not id:
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
- return self._post(
- f"/v1/devboxes/{id}/read_file",
- body=maybe_transform({"file_path": file_path}, devbox_read_file_params.DevboxReadFileParams),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=DevboxExecutionDetailView,
- )
-
def read_file_contents(
self,
id: str,
@@ -674,43 +636,6 @@ async def execute_sync(
cast_to=DevboxExecutionDetailView,
)
- async def read_file(
- self,
- id: str,
- *,
- file_path: 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,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> DevboxExecutionDetailView:
- """
- Read file contents from a file on given Devbox.
-
- Args:
- file_path: The path of the file to read.
-
- extra_headers: Send extra headers
-
- extra_query: Add additional query parameters to the request
-
- extra_body: Add additional JSON properties to the request
-
- timeout: Override the client-level default timeout for this request, in seconds
- """
- if not id:
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
- return await self._post(
- f"/v1/devboxes/{id}/read_file",
- body=await async_maybe_transform({"file_path": file_path}, devbox_read_file_params.DevboxReadFileParams),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=DevboxExecutionDetailView,
- )
-
async def read_file_contents(
self,
id: str,
@@ -896,9 +821,6 @@ def __init__(self, devboxes: DevboxesResource) -> None:
self.execute_sync = to_raw_response_wrapper(
devboxes.execute_sync,
)
- self.read_file = to_raw_response_wrapper(
- devboxes.read_file,
- )
self.read_file_contents = to_raw_response_wrapper(
devboxes.read_file_contents,
)
@@ -933,9 +855,6 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
self.execute_sync = async_to_raw_response_wrapper(
devboxes.execute_sync,
)
- self.read_file = async_to_raw_response_wrapper(
- devboxes.read_file,
- )
self.read_file_contents = async_to_raw_response_wrapper(
devboxes.read_file_contents,
)
@@ -970,9 +889,6 @@ def __init__(self, devboxes: DevboxesResource) -> None:
self.execute_sync = to_streamed_response_wrapper(
devboxes.execute_sync,
)
- self.read_file = to_streamed_response_wrapper(
- devboxes.read_file,
- )
self.read_file_contents = to_streamed_response_wrapper(
devboxes.read_file_contents,
)
@@ -1007,9 +923,6 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
self.execute_sync = async_to_streamed_response_wrapper(
devboxes.execute_sync,
)
- self.read_file = async_to_streamed_response_wrapper(
- devboxes.read_file,
- )
self.read_file_contents = async_to_streamed_response_wrapper(
devboxes.read_file_contents,
)
diff --git a/src/runloop_api_client/types/__init__.py b/src/runloop_api_client/types/__init__.py
index 616342b9e..5817fab7d 100755
--- a/src/runloop_api_client/types/__init__.py
+++ b/src/runloop_api_client/types/__init__.py
@@ -20,7 +20,6 @@
from .code_mount_parameters import CodeMountParameters as CodeMountParameters
from .blueprint_preview_view import BlueprintPreviewView as BlueprintPreviewView
from .blueprint_create_params import BlueprintCreateParams as BlueprintCreateParams
-from .devbox_read_file_params import DevboxReadFileParams as DevboxReadFileParams
from .blueprint_preview_params import BlueprintPreviewParams as BlueprintPreviewParams
from .devbox_write_file_params import DevboxWriteFileParams as DevboxWriteFileParams
from .devbox_upload_file_params import DevboxUploadFileParams as DevboxUploadFileParams
diff --git a/tests/api_resources/test_devboxes.py b/tests/api_resources/test_devboxes.py
index 5edb2c25e..817ee36a9 100755
--- a/tests/api_resources/test_devboxes.py
+++ b/tests/api_resources/test_devboxes.py
@@ -182,52 +182,6 @@ def test_path_params_execute_sync(self, client: Runloop) -> None:
id="",
)
- @parametrize
- def test_method_read_file(self, client: Runloop) -> None:
- devbox = client.devboxes.read_file(
- id="id",
- )
- assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
-
- @parametrize
- def test_method_read_file_with_all_params(self, client: Runloop) -> None:
- devbox = client.devboxes.read_file(
- id="id",
- file_path="file_path",
- )
- assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
-
- @parametrize
- def test_raw_response_read_file(self, client: Runloop) -> None:
- response = client.devboxes.with_raw_response.read_file(
- id="id",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- devbox = response.parse()
- assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
-
- @parametrize
- def test_streaming_response_read_file(self, client: Runloop) -> None:
- with client.devboxes.with_streaming_response.read_file(
- id="id",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- devbox = response.parse()
- assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_read_file(self, client: Runloop) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- client.devboxes.with_raw_response.read_file(
- id="",
- )
-
@parametrize
def test_method_read_file_contents(self, client: Runloop) -> None:
devbox = client.devboxes.read_file_contents(
@@ -571,52 +525,6 @@ async def test_path_params_execute_sync(self, async_client: AsyncRunloop) -> Non
id="",
)
- @parametrize
- async def test_method_read_file(self, async_client: AsyncRunloop) -> None:
- devbox = await async_client.devboxes.read_file(
- id="id",
- )
- assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
-
- @parametrize
- async def test_method_read_file_with_all_params(self, async_client: AsyncRunloop) -> None:
- devbox = await async_client.devboxes.read_file(
- id="id",
- file_path="file_path",
- )
- assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
-
- @parametrize
- async def test_raw_response_read_file(self, async_client: AsyncRunloop) -> None:
- response = await async_client.devboxes.with_raw_response.read_file(
- id="id",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- devbox = await response.parse()
- assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
-
- @parametrize
- async def test_streaming_response_read_file(self, async_client: AsyncRunloop) -> None:
- async with async_client.devboxes.with_streaming_response.read_file(
- id="id",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- devbox = await response.parse()
- assert_matches_type(DevboxExecutionDetailView, devbox, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_read_file(self, async_client: AsyncRunloop) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- await async_client.devboxes.with_raw_response.read_file(
- id="",
- )
-
@parametrize
async def test_method_read_file_contents(self, async_client: AsyncRunloop) -> None:
devbox = await async_client.devboxes.read_file_contents(