Skip to content

Commit 627c994

Browse files
chore: remove create_tunnel endpoint
1 parent 8002c0a commit 627c994

11 files changed

Lines changed: 16 additions & 268 deletions

File tree

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 118
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-132ed160716591bdcd9231c00da8c506d9451a5486b165fc27b2a01d93202082.yml
3-
openapi_spec_hash: c2b44d9e9cda56e32141a7ea3794bbba
4-
config_hash: 3bd89c812b96708c461fb98286ebf0b5
1+
configured_endpoints: 117
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-0568973e19e8af9fa953b2ded109ab2b69e76e90e2b74f33617dbf7092e26274.yml
3+
openapi_spec_hash: 10ba804ce69510d7985e05c77d0ffcf6
4+
config_hash: de99cfce88e2d1f02246dc6c2f43bc6c

README.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,6 @@ and offers both synchronous and asynchronous clients powered by [httpx](https://
99

1010
It is generated with [Stainless](https://www.stainless.com/).
1111

12-
## MCP Server
13-
14-
Use the Runloop MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
15-
16-
[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40runloop%2Fapi-client-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBydW5sb29wL2FwaS1jbGllbnQtbWNwIl0sImVudiI6eyJSVU5MT09QX0FQSV9LRVkiOiJNeSBCZWFyZXIgVG9rZW4ifX0)
17-
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40runloop%2Fapi-client-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40runloop%2Fapi-client-mcp%22%5D%2C%22env%22%3A%7B%22RUNLOOP_API_KEY%22%3A%22My%20Bearer%20Token%22%7D%7D)
18-
19-
> Note: You may need to set environment variables in your MCP client.
20-
2112
## Documentation
2213

2314
The REST API documentation can be found on

api.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ from runloop_api_client.types import (
131131
DevboxSendStdInResult,
132132
DevboxSnapshotListView,
133133
DevboxSnapshotView,
134-
DevboxTunnelView,
135134
DevboxView,
136135
TunnelView,
137136
DevboxCreateSSHKeyResponse,
@@ -147,7 +146,6 @@ Methods:
147146
- <code title="post /v1/devboxes/{id}">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
148147
- <code title="get /v1/devboxes">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">list</a>(\*\*<a href="src/runloop_api_client/types/devbox_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">SyncDevboxesCursorIDPage[DevboxView]</a></code>
149148
- <code title="post /v1/devboxes/{id}/create_ssh_key">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_ssh_key</a>(id) -> <a href="./src/runloop_api_client/types/devbox_create_ssh_key_response.py">DevboxCreateSSHKeyResponse</a></code>
150-
- <code title="post /v1/devboxes/{id}/create_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_create_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_tunnel_view.py">DevboxTunnelView</a></code>
151149
- <code title="post /v1/devboxes/disk_snapshots/{id}/delete">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">delete_disk_snapshot</a>(id) -> object</code>
152150
- <code title="post /v1/devboxes/{id}/download_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">download_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_download_file_params.py">params</a>) -> BinaryAPIResponse</code>
153151
- <code title="post /v1/devboxes/{id}/enable_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">enable_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_enable_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/tunnel_view.py">TunnelView</a></code>

src/runloop_api_client/resources/benchmark_runs.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,11 @@ def cancel(
145145
timeout: float | httpx.Timeout | None | NotGiven = not_given,
146146
idempotency_key: str | None = None,
147147
) -> BenchmarkRunView:
148-
"""
149-
Cancel a currently running Benchmark run.
148+
"""Cancel a Benchmark run.
149+
150+
This will do the following: 1. Cancel all running
151+
scenarios and shutdown the underlying Devbox resources 2. Update the benchmark
152+
state to CANCELED 3. Calculate final score from completed scenarios
150153
151154
Args:
152155
extra_headers: Send extra headers
@@ -388,8 +391,11 @@ async def cancel(
388391
timeout: float | httpx.Timeout | None | NotGiven = not_given,
389392
idempotency_key: str | None = None,
390393
) -> BenchmarkRunView:
391-
"""
392-
Cancel a currently running Benchmark run.
394+
"""Cancel a Benchmark run.
395+
396+
This will do the following: 1. Cancel all running
397+
scenarios and shutdown the underlying Devbox resources 2. Update the benchmark
398+
state to CANCELED 3. Calculate final score from completed scenarios
393399
394400
Args:
395401
extra_headers: Send extra headers

src/runloop_api_client/resources/devboxes/devboxes.py

Lines changed: 0 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
devbox_shutdown_params,
2828
devbox_upload_file_params,
2929
devbox_execute_sync_params,
30-
devbox_create_tunnel_params,
3130
devbox_download_file_params,
3231
devbox_enable_tunnel_params,
3332
devbox_execute_async_params,
@@ -102,7 +101,6 @@
102101
from ...lib.polling_async import async_poll_until
103102
from ...types.devbox_view import DevboxView
104103
from ...types.tunnel_view import TunnelView
105-
from ...types.devbox_tunnel_view import DevboxTunnelView
106104
from ...types.shared_params.mount import Mount
107105
from ...types.devbox_snapshot_view import DevboxSnapshotView
108106
from ...types.shared.launch_parameters import LaunchParameters as SharedLaunchParameters
@@ -664,56 +662,6 @@ def create_ssh_key(
664662
cast_to=DevboxCreateSSHKeyResponse,
665663
)
666664

667-
@typing_extensions.deprecated(
668-
"create_tunnel is deprecated; use enable_tunnel or configure a tunnel at devbox creation."
669-
)
670-
def create_tunnel(
671-
self,
672-
id: str,
673-
*,
674-
port: int,
675-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
676-
# The extra values given here take precedence over values defined on the client or passed to this method.
677-
extra_headers: Headers | None = None,
678-
extra_query: Query | None = None,
679-
extra_body: Body | None = None,
680-
timeout: float | httpx.Timeout | None | NotGiven = not_given,
681-
idempotency_key: str | None = None,
682-
) -> DevboxTunnelView:
683-
"""[Deprecated] Use enable_tunnel or configure a tunnel at devbox creation instead.
684-
685-
This endpoint
686-
creates a legacy tunnel. The new enable_tunnel endpoint provides improved tunnel
687-
functionality with authentication options.
688-
689-
Args:
690-
port: Devbox port that tunnel will expose.
691-
692-
extra_headers: Send extra headers
693-
694-
extra_query: Add additional query parameters to the request
695-
696-
extra_body: Add additional JSON properties to the request
697-
698-
timeout: Override the client-level default timeout for this request, in seconds
699-
700-
idempotency_key: Specify a custom idempotency key for this request
701-
"""
702-
if not id:
703-
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
704-
return self._post(
705-
f"/v1/devboxes/{id}/create_tunnel",
706-
body=maybe_transform({"port": port}, devbox_create_tunnel_params.DevboxCreateTunnelParams),
707-
options=make_request_options(
708-
extra_headers=extra_headers,
709-
extra_query=extra_query,
710-
extra_body=extra_body,
711-
timeout=timeout,
712-
idempotency_key=idempotency_key,
713-
),
714-
cast_to=DevboxTunnelView,
715-
)
716-
717665
def delete_disk_snapshot(
718666
self,
719667
id: str,
@@ -2345,56 +2293,6 @@ async def create_ssh_key(
23452293
cast_to=DevboxCreateSSHKeyResponse,
23462294
)
23472295

2348-
@typing_extensions.deprecated(
2349-
"create_tunnel is deprecated; use enable_tunnel or configure a tunnel at devbox creation."
2350-
)
2351-
async def create_tunnel(
2352-
self,
2353-
id: str,
2354-
*,
2355-
port: int,
2356-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2357-
# The extra values given here take precedence over values defined on the client or passed to this method.
2358-
extra_headers: Headers | None = None,
2359-
extra_query: Query | None = None,
2360-
extra_body: Body | None = None,
2361-
timeout: float | httpx.Timeout | None | NotGiven = not_given,
2362-
idempotency_key: str | None = None,
2363-
) -> DevboxTunnelView:
2364-
"""[Deprecated] Use enable_tunnel or configure a tunnel at devbox creation instead.
2365-
2366-
This endpoint
2367-
creates a legacy tunnel. The new enable_tunnel endpoint provides improved tunnel
2368-
functionality with authentication options.
2369-
2370-
Args:
2371-
port: Devbox port that tunnel will expose.
2372-
2373-
extra_headers: Send extra headers
2374-
2375-
extra_query: Add additional query parameters to the request
2376-
2377-
extra_body: Add additional JSON properties to the request
2378-
2379-
timeout: Override the client-level default timeout for this request, in seconds
2380-
2381-
idempotency_key: Specify a custom idempotency key for this request
2382-
"""
2383-
if not id:
2384-
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
2385-
return await self._post(
2386-
f"/v1/devboxes/{id}/create_tunnel",
2387-
body=await async_maybe_transform({"port": port}, devbox_create_tunnel_params.DevboxCreateTunnelParams),
2388-
options=make_request_options(
2389-
extra_headers=extra_headers,
2390-
extra_query=extra_query,
2391-
extra_body=extra_body,
2392-
timeout=timeout,
2393-
idempotency_key=idempotency_key,
2394-
),
2395-
cast_to=DevboxTunnelView,
2396-
)
2397-
23982296
async def delete_disk_snapshot(
23992297
self,
24002298
id: str,
@@ -3525,11 +3423,6 @@ def __init__(self, devboxes: DevboxesResource) -> None:
35253423
self.create_ssh_key = to_raw_response_wrapper(
35263424
devboxes.create_ssh_key,
35273425
)
3528-
self.create_tunnel = ( # pyright: ignore[reportDeprecated]
3529-
to_raw_response_wrapper(
3530-
devboxes.create_tunnel, # pyright: ignore[reportDeprecated],
3531-
)
3532-
)
35333426
self.delete_disk_snapshot = to_raw_response_wrapper(
35343427
devboxes.delete_disk_snapshot,
35353428
)
@@ -3633,11 +3526,6 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
36333526
self.create_ssh_key = async_to_raw_response_wrapper(
36343527
devboxes.create_ssh_key,
36353528
)
3636-
self.create_tunnel = ( # pyright: ignore[reportDeprecated]
3637-
async_to_raw_response_wrapper(
3638-
devboxes.create_tunnel, # pyright: ignore[reportDeprecated],
3639-
)
3640-
)
36413529
self.delete_disk_snapshot = async_to_raw_response_wrapper(
36423530
devboxes.delete_disk_snapshot,
36433531
)
@@ -3741,11 +3629,6 @@ def __init__(self, devboxes: DevboxesResource) -> None:
37413629
self.create_ssh_key = to_streamed_response_wrapper(
37423630
devboxes.create_ssh_key,
37433631
)
3744-
self.create_tunnel = ( # pyright: ignore[reportDeprecated]
3745-
to_streamed_response_wrapper(
3746-
devboxes.create_tunnel, # pyright: ignore[reportDeprecated],
3747-
)
3748-
)
37493632
self.delete_disk_snapshot = to_streamed_response_wrapper(
37503633
devboxes.delete_disk_snapshot,
37513634
)
@@ -3849,11 +3732,6 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
38493732
self.create_ssh_key = async_to_streamed_response_wrapper(
38503733
devboxes.create_ssh_key,
38513734
)
3852-
self.create_tunnel = ( # pyright: ignore[reportDeprecated]
3853-
async_to_streamed_response_wrapper(
3854-
devboxes.create_tunnel, # pyright: ignore[reportDeprecated],
3855-
)
3856-
)
38573735
self.delete_disk_snapshot = async_to_streamed_response_wrapper(
38583736
devboxes.delete_disk_snapshot,
38593737
)

src/runloop_api_client/types/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
from .benchmark_job_view import BenchmarkJobView as BenchmarkJobView
3434
from .benchmark_run_view import BenchmarkRunView as BenchmarkRunView
3535
from .devbox_list_params import DevboxListParams as DevboxListParams
36-
from .devbox_tunnel_view import DevboxTunnelView as DevboxTunnelView
3736
from .object_list_params import ObjectListParams as ObjectListParams
3837
from .secret_list_params import SecretListParams as SecretListParams
3938
from .agent_create_params import AgentCreateParams as AgentCreateParams
@@ -97,7 +96,6 @@
9796
from .repository_connection_view import RepositoryConnectionView as RepositoryConnectionView
9897
from .scenario_environment_param import ScenarioEnvironmentParam as ScenarioEnvironmentParam
9998
from .benchmark_job_create_params import BenchmarkJobCreateParams as BenchmarkJobCreateParams
100-
from .devbox_create_tunnel_params import DevboxCreateTunnelParams as DevboxCreateTunnelParams
10199
from .devbox_download_file_params import DevboxDownloadFileParams as DevboxDownloadFileParams
102100
from .devbox_enable_tunnel_params import DevboxEnableTunnelParams as DevboxEnableTunnelParams
103101
from .devbox_execute_async_params import DevboxExecuteAsyncParams as DevboxExecuteAsyncParams

src/runloop_api_client/types/benchmark_job_view.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ class InProgressRun(BaseModel):
171171
start_time_ms: int
172172
"""Start time (Unix milliseconds)."""
173173

174-
state: Literal["running", "canceled", "completed"]
174+
state: Literal["running", "canceled", "completed", "failed"]
175175
"""The current state of the run."""
176176

177177
agent_config: Optional[InProgressRunAgentConfig] = None

src/runloop_api_client/types/benchmark_run_view.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class BenchmarkRunView(BaseModel):
2222
start_time_ms: int
2323
"""The time the benchmark run execution started (Unix timestamp milliseconds)."""
2424

25-
state: Literal["running", "canceled", "completed"]
25+
state: Literal["running", "canceled", "completed", "failed"]
2626
"""The state of the BenchmarkRun."""
2727

2828
benchmark_id: Optional[str] = None

src/runloop_api_client/types/devbox_create_tunnel_params.py

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

src/runloop_api_client/types/devbox_tunnel_view.py

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

0 commit comments

Comments
 (0)