Skip to content

Commit 55c858b

Browse files
stainless-app[bot]jrvb-rlclaudeReflex
authored
release: 1.27.0 (#819)
Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Rob von Behren <jrvb@runloop.ai> Co-authored-by: Reflex <noreply@anthropic.com> Co-authored-by: Reflex <reflex@runloop.ai>
1 parent 59ff3ff commit 55c858b

19 files changed

Lines changed: 339 additions & 11 deletions

File tree

‎.release-please-manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.26.0"
2+
".": "1.27.0"
33
}

‎.stats.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 119
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai/runloop-0b7cd0c2fc193b18189cd7f44cf45ece7726b5d485fb72577f7d235266432ea0.yml
3-
openapi_spec_hash: 78c340dbfb9d3d58b24ef318fc2a657b
4-
config_hash: 218b8d25038e627faab98532392ee9a0
1+
configured_endpoints: 120
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai/runloop-50686c7a06e432373c5dd7e771ab1483a6ca0531b1dd9a10fc31c0cf2833bcdf.yml
3+
openapi_spec_hash: a554b4d3815148c094778b53bfe20b21
4+
config_hash: 6d102da8b9fcc3d0deb42d7a707e78c6

‎CHANGELOG.md‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# Changelog
22

3+
## 1.27.0 (2026-07-24)
4+
5+
Full Changelog: [v1.26.0...v1.27.0](https://github.com/runloopai/api-client-ts/compare/v1.26.0...v1.27.0)
6+
7+
### Features
8+
9+
* **mux:** wait_for_eviction endpoint for flex eviction notifications ([#10325](https://github.com/runloopai/api-client-ts/issues/10325)) ([429f2b1](https://github.com/runloopai/api-client-ts/commit/429f2b1ea76284ab6006e6e819457dfeddaaf5c9))
10+
11+
12+
### Bug Fixes
13+
14+
* **mux:** field-level merge on network policy egress updates ([#10338](https://github.com/runloopai/api-client-ts/issues/10338)) ([835c772](https://github.com/runloopai/api-client-ts/commit/835c7720715b525a371c06745dc93aac249b01ee))
15+
* **mux:** move eviction-watch SSE route off the /{id} slot ([#10409](https://github.com/runloopai/api-client-ts/issues/10409)) ([80d82cf](https://github.com/runloopai/api-client-ts/commit/80d82cf7798ce423dff86876ff89bd752f80d0f0))
16+
17+
18+
### Chores
19+
20+
* **stainless:** generate watch_evictions as an SSE stream ([#10404](https://github.com/runloopai/api-client-ts/issues/10404)) ([043ebbc](https://github.com/runloopai/api-client-ts/commit/043ebbc407067c3d7d620b9a00fa1937dd3bcb3b))
21+
322
## 1.26.0 (2026-07-22)
423

524
Full Changelog: [v1.25.0...v1.26.0](https://github.com/runloopai/api-client-ts/compare/v1.25.0...v1.26.0)

‎api.md‎

Lines changed: 2 additions & 0 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>
@@ -213,6 +214,7 @@ Methods:
213214
- <code title="post /v1/devboxes/{id}/suspend">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">suspend</a>(id) -> DevboxView</code>
214215
- <code title="post /v1/devboxes/{id}/upload_file">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">uploadFile</a>(id, { ...params }) -> unknown</code>
215216
- <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/evictions/watch">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">watchEvictions</a>() -> DevboxEvictionEventView</code>
216218
- <code title="post /v1/devboxes/{id}/write_file_contents">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">writeFileContents</a>(id, { ...params }) -> DevboxExecutionDetailView</code>
217219

218220
## DiskSnapshots

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@runloop/api-client",
3-
"version": "1.26.0",
3+
"version": "1.27.0",
44
"description": "The official TypeScript library for the Runloop API",
55
"author": "Runloop <support@runloop.ai>",
66
"types": "dist/sdk.d.ts",

‎packages/mcp-server/manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"dxt_version": "0.2",
33
"name": "@runloop/api-client-mcp",
4-
"version": "1.26.0",
4+
"version": "1.27.0",
55
"description": "The official MCP Server for the Runloop API",
66
"author": {
77
"name": "Runloop",

‎packages/mcp-server/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@runloop/api-client-mcp",
3-
"version": "1.26.0",
3+
"version": "1.27.0",
44
"description": "The official MCP Server for the Runloop API",
55
"author": "Runloop <support@runloop.ai>",
66
"types": "dist/index.d.ts",

‎packages/mcp-server/src/server.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const newMcpServer = async (stainlessApiKey: string | undefined) =>
1616
new McpServer(
1717
{
1818
name: 'runloop_api_client_api',
19-
version: '1.26.0',
19+
version: '1.27.0',
2020
},
2121
{
2222
instructions: await getInstructions(stainlessApiKey),

‎src/index.ts‎

Lines changed: 2 additions & 0 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,
@@ -673,6 +674,7 @@ export declare namespace Runloop {
673674
export {
674675
Devboxes as Devboxes,
675676
type DevboxAsyncExecutionDetailView as DevboxAsyncExecutionDetailView,
677+
type DevboxEvictionEventView as DevboxEvictionEventView,
676678
type DevboxExecutionDetailView as DevboxExecutionDetailView,
677679
type DevboxKillExecutionRequest as DevboxKillExecutionRequest,
678680
type DevboxListView as DevboxListView,

‎src/resources/devboxes/devboxes.ts‎

Lines changed: 29 additions & 0 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,
@@ -538,6 +540,19 @@ export class Devboxes extends APIResource {
538540
});
539541
}
540542

543+
/**
544+
* Subscribe, via server-sent events, to pending infrastructure evictions for every
545+
* Devbox in the account. On connect the stream emits one event per Devbox that
546+
* currently has a pending eviction, then one event as each further eviction is
547+
* scheduled. Best-effort and advisory: a Devbox stays running until its deadline,
548+
* and delivery is not guaranteed.
549+
*/
550+
watchEvictions(options?: Core.RequestOptions): APIPromise<Stream<DevboxEvictionEventView>> {
551+
return this._client.get('/v1/devboxes/evictions/watch', { ...options, stream: true }) as APIPromise<
552+
Stream<DevboxEvictionEventView>
553+
>;
554+
}
555+
541556
/**
542557
* Write UTF-8 string contents to a file at path on the Devbox. Note for large
543558
* files (larger than 100MB), the upload_file endpoint must be used.
@@ -619,6 +634,19 @@ export interface DevboxAsyncExecutionDetailView {
619634
stdout_truncated?: boolean | null;
620635
}
621636

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+
622650
export interface DevboxExecutionDetailView {
623651
/**
624652
* Devbox id where command was executed.
@@ -1539,6 +1567,7 @@ Devboxes.Executions = Executions;
15391567
export declare namespace Devboxes {
15401568
export {
15411569
type DevboxAsyncExecutionDetailView as DevboxAsyncExecutionDetailView,
1570+
type DevboxEvictionEventView as DevboxEvictionEventView,
15421571
type DevboxExecutionDetailView as DevboxExecutionDetailView,
15431572
type DevboxKillExecutionRequest as DevboxKillExecutionRequest,
15441573
type DevboxListView as DevboxListView,

0 commit comments

Comments
 (0)