Skip to content

Commit 043ebbc

Browse files
chore(stainless): generate watch_evictions as an SSE stream (#10404)
1 parent 429f2b1 commit 043ebbc

7 files changed

Lines changed: 28 additions & 31 deletions

File tree

‎.stats.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 120
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai/runloop-f18b1bba718700c841b3904207cd8ba2c066421a691845d6283bbbb361cf161d.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai/runloop-6fb96a2de54d260cad2b76366cada4eda15335275dbab7f6c108c1bb29acf309.yml
33
openapi_spec_hash: 6044f4a4da13881c5f82fcc394c1f43b
4-
config_hash: d9a5b7a4227236a55c89de56b56f4aec
4+
config_hash: 92c04f0b12249cb2d2bcf9e503a9cbf9

‎api.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ Methods:
169169
Types:
170170

171171
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxAsyncExecutionDetailView</a></code>
172+
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxEvictionEventView</a></code>
172173
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxExecutionDetailView</a></code>
173174
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxKillExecutionRequest</a></code>
174175
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxListView</a></code>
@@ -186,7 +187,6 @@ Types:
186187
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxReadFileContentsResponse</a></code>
187188
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxRemoveTunnelResponse</a></code>
188189
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxUploadFileResponse</a></code>
189-
- <code><a href="./src/resources/devboxes/devboxes.ts">DevboxWatchEvictionsResponse</a></code>
190190

191191
Methods:
192192

@@ -214,7 +214,7 @@ Methods:
214214
- <code title="post /v1/devboxes/{id}/suspend">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">suspend</a>(id) -> DevboxView</code>
215215
- <code title="post /v1/devboxes/{id}/upload_file">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">uploadFile</a>(id, { ...params }) -> unknown</code>
216216
- <code title="post /v1/devboxes/{devbox_id}/executions/{execution_id}/wait_for_status">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">waitForCommand</a>(devboxId, executionId, { ...params }) -> DevboxAsyncExecutionDetailView</code>
217-
- <code title="get /v1/devboxes/watch_evictions">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">watchEvictions</a>() -> DevboxWatchEvictionsResponse</code>
217+
- <code title="get /v1/devboxes/watch_evictions">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">watchEvictions</a>() -> DevboxEvictionEventView</code>
218218
- <code title="post /v1/devboxes/{id}/write_file_contents">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">writeFileContents</a>(id, { ...params }) -> DevboxExecutionDetailView</code>
219219

220220
## DiskSnapshots

‎src/index.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ import {
196196
DevboxDeleteDiskSnapshotResponse,
197197
DevboxDownloadFileParams,
198198
DevboxEnableTunnelParams,
199+
DevboxEvictionEventView,
199200
DevboxExecuteAsyncParams,
200201
DevboxExecuteParams,
201202
DevboxExecuteSyncParams,
@@ -223,7 +224,6 @@ import {
223224
DevboxView,
224225
DevboxViewsDevboxesCursorIDPage,
225226
DevboxWaitForCommandParams,
226-
DevboxWatchEvictionsResponse,
227227
DevboxWriteFileContentsParams,
228228
Devboxes,
229229
PtyTunnelView,
@@ -674,6 +674,7 @@ export declare namespace Runloop {
674674
export {
675675
Devboxes as Devboxes,
676676
type DevboxAsyncExecutionDetailView as DevboxAsyncExecutionDetailView,
677+
type DevboxEvictionEventView as DevboxEvictionEventView,
677678
type DevboxExecutionDetailView as DevboxExecutionDetailView,
678679
type DevboxKillExecutionRequest as DevboxKillExecutionRequest,
679680
type DevboxListView as DevboxListView,
@@ -691,7 +692,6 @@ export declare namespace Runloop {
691692
type DevboxReadFileContentsResponse as DevboxReadFileContentsResponse,
692693
type DevboxRemoveTunnelResponse as DevboxRemoveTunnelResponse,
693694
type DevboxUploadFileResponse as DevboxUploadFileResponse,
694-
type DevboxWatchEvictionsResponse as DevboxWatchEvictionsResponse,
695695
DevboxViewsDevboxesCursorIDPage as DevboxViewsDevboxesCursorIDPage,
696696
DevboxSnapshotViewsDiskSnapshotsCursorIDPage as DevboxSnapshotViewsDiskSnapshotsCursorIDPage,
697697
type DevboxCreateParams as DevboxCreateParams,

‎src/resources/devboxes/devboxes.ts‎

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { APIResource } from '../../resource';
44
import { isRequestOptions } from '../../core';
5+
import { APIPromise } from '../../core';
56
import * as Core from '../../core';
67
import * as Shared from '../shared';
78
import * as DiskSnapshotsAPI from './disk-snapshots';
@@ -32,6 +33,7 @@ import {
3233
DiskSnapshotsCursorIDPage,
3334
type DiskSnapshotsCursorIDPageParams,
3435
} from '../../pagination';
36+
import { Stream } from '../../streaming';
3537
import { type Response } from '../../_shims/index';
3638
import {
3739
longPollUntil,
@@ -545,8 +547,10 @@ export class Devboxes extends APIResource {
545547
* scheduled. Best-effort and advisory: a Devbox stays running until its deadline,
546548
* and delivery is not guaranteed.
547549
*/
548-
watchEvictions(options?: Core.RequestOptions): Core.APIPromise<DevboxWatchEvictionsResponse> {
549-
return this._client.get('/v1/devboxes/watch_evictions', options);
550+
watchEvictions(options?: Core.RequestOptions): APIPromise<Stream<DevboxEvictionEventView>> {
551+
return this._client.get('/v1/devboxes/watch_evictions', { ...options, stream: true }) as APIPromise<
552+
Stream<DevboxEvictionEventView>
553+
>;
550554
}
551555

552556
/**
@@ -630,6 +634,19 @@ export interface DevboxAsyncExecutionDetailView {
630634
stdout_truncated?: boolean | null;
631635
}
632636

637+
export interface DevboxEvictionEventView {
638+
/**
639+
* The ID of the Devbox with a pending eviction.
640+
*/
641+
devbox_id: string;
642+
643+
/**
644+
* Unix timestamp (milliseconds) after which the Devbox will be suspended. Advisory
645+
* and best-effort.
646+
*/
647+
eviction_deadline_ms: number;
648+
}
649+
633650
export interface DevboxExecutionDetailView {
634651
/**
635652
* Devbox id where command was executed.
@@ -1105,19 +1122,6 @@ export type DevboxRemoveTunnelResponse = unknown;
11051122

11061123
export type DevboxUploadFileResponse = unknown;
11071124

1108-
export interface DevboxWatchEvictionsResponse {
1109-
/**
1110-
* The ID of the Devbox with a pending eviction.
1111-
*/
1112-
devbox_id: string;
1113-
1114-
/**
1115-
* Unix timestamp (milliseconds) after which the Devbox will be suspended. Advisory
1116-
* and best-effort.
1117-
*/
1118-
eviction_deadline_ms: number;
1119-
}
1120-
11211125
/**
11221126
* Parameters for creating a new Devbox.
11231127
*
@@ -1563,6 +1567,7 @@ Devboxes.Executions = Executions;
15631567
export declare namespace Devboxes {
15641568
export {
15651569
type DevboxAsyncExecutionDetailView as DevboxAsyncExecutionDetailView,
1570+
type DevboxEvictionEventView as DevboxEvictionEventView,
15661571
type DevboxExecutionDetailView as DevboxExecutionDetailView,
15671572
type DevboxKillExecutionRequest as DevboxKillExecutionRequest,
15681573
type DevboxListView as DevboxListView,
@@ -1580,7 +1585,6 @@ export declare namespace Devboxes {
15801585
type DevboxReadFileContentsResponse as DevboxReadFileContentsResponse,
15811586
type DevboxRemoveTunnelResponse as DevboxRemoveTunnelResponse,
15821587
type DevboxUploadFileResponse as DevboxUploadFileResponse,
1583-
type DevboxWatchEvictionsResponse as DevboxWatchEvictionsResponse,
15841588
DevboxViewsDevboxesCursorIDPage as DevboxViewsDevboxesCursorIDPage,
15851589
DevboxSnapshotViewsDiskSnapshotsCursorIDPage as DevboxSnapshotViewsDiskSnapshotsCursorIDPage,
15861590
type DevboxCreateParams as DevboxCreateParams,

‎src/resources/devboxes/index.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export {
55
DevboxViewsDevboxesCursorIDPage,
66
Devboxes,
77
type DevboxAsyncExecutionDetailView,
8+
type DevboxEvictionEventView,
89
type DevboxExecutionDetailView,
910
type DevboxKillExecutionRequest,
1011
type DevboxListView,
@@ -22,7 +23,6 @@ export {
2223
type DevboxReadFileContentsResponse,
2324
type DevboxRemoveTunnelResponse,
2425
type DevboxUploadFileResponse,
25-
type DevboxWatchEvictionsResponse,
2626
type DevboxCreateParams,
2727
type DevboxUpdateParams,
2828
type DevboxListParams,

‎src/resources/index.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ export {
8686
DevboxViewsDevboxesCursorIDPage,
8787
Devboxes,
8888
type DevboxAsyncExecutionDetailView,
89+
type DevboxEvictionEventView,
8990
type DevboxExecutionDetailView,
9091
type DevboxKillExecutionRequest,
9192
type DevboxListView,
@@ -103,7 +104,6 @@ export {
103104
type DevboxReadFileContentsResponse,
104105
type DevboxRemoveTunnelResponse,
105106
type DevboxUploadFileResponse,
106-
type DevboxWatchEvictionsResponse,
107107
type DevboxCreateParams,
108108
type DevboxUpdateParams,
109109
type DevboxListParams,

‎tests/api-resources/devboxes/devboxes.test.ts‎

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -607,13 +607,6 @@ describe('resource devboxes', () => {
607607
expect(dataAndResponse.response).toBe(rawResponse);
608608
});
609609

610-
test('watchEvictions: request options instead of params are passed correctly', async () => {
611-
// ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
612-
await expect(client.devboxes.watchEvictions({ path: '/_stainless_unknown_path' })).rejects.toThrow(
613-
Runloop.NotFoundError,
614-
);
615-
});
616-
617610
test('writeFileContents: only required params', async () => {
618611
const responsePromise = client.devboxes.writeFileContents('id', {
619612
contents: 'contents',

0 commit comments

Comments
 (0)