Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.8.0"
".": "1.8.1"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 117
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-c8d61a0c8b88fa30666ba021d1239eb0d549902354513c4741e9216bcbfa8e6d.yml
openapi_spec_hash: 433e6fb4ce076012b696f69ae7596c67
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-8704a652545c3831c8b7e246ec17f1a626b59911eb5701ddc922ca6cae1c8d57.yml
openapi_spec_hash: e609bc5ed3fdce498bc7d16921bbba5e
config_hash: eb28692edd68a6ae95cf92af931c9976
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 1.8.1 (2026-02-19)

Full Changelog: [v1.8.0...v1.8.1](https://github.com/runloopai/api-client-ts/compare/v1.8.0...v1.8.1)

### Chores

* **benchmarks:** removed unused validate scorer endpoint ([#716](https://github.com/runloopai/api-client-ts/issues/716)) ([54bb583](https://github.com/runloopai/api-client-ts/commit/54bb5834f011ad10f9cdb086cddca9810c05f13e))


### Refactors

* deprecate and make Nullable total_count and remaining_count of ListViews ([#7533](https://github.com/runloopai/api-client-ts/issues/7533)) ([1af5508](https://github.com/runloopai/api-client-ts/commit/1af55086d738d85db55ac5a1116bd01950665902))

## 1.8.0 (2026-02-12)

Full Changelog: [v1.7.0...v1.8.0](https://github.com/runloopai/api-client-ts/compare/v1.7.0...v1.8.0)
Expand Down
2 changes: 1 addition & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ Methods:
- <code title="post /v1/devboxes/{id}/remove_tunnel">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">removeTunnel</a>(id, { ...params }) -> unknown</code>
- <code title="post /v1/devboxes/{id}/resume">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">resume</a>(id) -> DevboxView</code>
- <code title="get /v1/devboxes/{id}/usage">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">retrieveResourceUsage</a>(id) -> DevboxResourceUsageView</code>
- <code title="post /v1/devboxes/{id}/shutdown">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">shutdown</a>(id) -> DevboxView</code>
- <code title="post /v1/devboxes/{id}/shutdown">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">shutdown</a>(id, { ...params }) -> DevboxView</code>
- <code title="post /v1/devboxes/{id}/snapshot_disk">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">snapshotDisk</a>(id, { ...params }) -> DevboxSnapshotView</code>
- <code title="post /v1/devboxes/{id}/snapshot_disk_async">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">snapshotDiskAsync</a>(id, { ...params }) -> DevboxSnapshotView</code>
- <code title="post /v1/devboxes/{id}/suspend">client.devboxes.<a href="./src/resources/devboxes/devboxes.ts">suspend</a>(id) -> DevboxView</code>
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@runloop/api-client",
"version": "1.8.0",
"version": "1.8.1",
"description": "The official TypeScript library for the Runloop API",
"author": "Runloop <support@runloop.ai>",
"types": "dist/sdk.d.ts",
Expand Down
2 changes: 2 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ import {
DevboxResourceUsageView,
DevboxSendStdInRequest,
DevboxSendStdInResult,
DevboxShutdownParams,
DevboxSnapshotDiskAsyncParams,
DevboxSnapshotDiskParams,
DevboxSnapshotListView,
Expand Down Expand Up @@ -630,6 +631,7 @@ export declare namespace Runloop {
type DevboxListDiskSnapshotsParams as DevboxListDiskSnapshotsParams,
type DevboxReadFileContentsParams as DevboxReadFileContentsParams,
type DevboxRemoveTunnelParams as DevboxRemoveTunnelParams,
type DevboxShutdownParams as DevboxShutdownParams,
type DevboxSnapshotDiskParams as DevboxSnapshotDiskParams,
type DevboxSnapshotDiskAsyncParams as DevboxSnapshotDiskAsyncParams,
type DevboxUploadFileParams as DevboxUploadFileParams,
Expand Down
10 changes: 6 additions & 4 deletions src/resources/agents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,16 @@ export interface AgentListView {
has_more: boolean;

/**
* The count of remaining Agents.
* The count of remaining Agents. Deprecated: will be removed in a future breaking
* change.
*/
remaining_count: number;
remaining_count?: number | null;

/**
* The total count of Agents.
* The total count of Agents. Deprecated: will be removed in a future breaking
* change.
*/
total_count: number;
total_count?: number | null;
}

/**
Expand Down
4 changes: 2 additions & 2 deletions src/resources/benchmark-jobs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -308,9 +308,9 @@ export interface BenchmarkJobListView {
*/
jobs: Array<BenchmarkJobView>;

remaining_count: number;
remaining_count?: number | null;

total_count: number;
total_count?: number | null;
}

/**
Expand Down
6 changes: 3 additions & 3 deletions src/resources/benchmark-runs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,14 @@ export class BenchmarkRunViewsBenchmarkRunsCursorIDPage extends BenchmarkRunsCur
export interface BenchmarkRunListView {
has_more: boolean;

remaining_count: number;

/**
* List of BenchmarkRuns matching filter.
*/
runs: Array<BenchmarkRunView>;

total_count: number;
remaining_count?: number | null;

total_count?: number | null;
}

/**
Expand Down
6 changes: 3 additions & 3 deletions src/resources/benchmarks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -299,14 +299,14 @@ export interface BenchmarkView {
export interface ScenarioDefinitionListView {
has_more: boolean;

remaining_count: number;

/**
* List of Scenarios matching filter.
*/
scenarios: Array<ScenariosAPI.ScenarioView>;

total_count: number;
remaining_count?: number | null;

total_count?: number | null;
}

export interface StartBenchmarkRunParameters {
Expand Down
4 changes: 2 additions & 2 deletions src/resources/blueprints.ts
Original file line number Diff line number Diff line change
Expand Up @@ -456,9 +456,9 @@ export interface BlueprintListView {

has_more: boolean;

remaining_count: number;
remaining_count?: number | null;

total_count: number;
total_count?: number | null;
}

export interface BlueprintPreviewView {
Expand Down
40 changes: 32 additions & 8 deletions src/resources/devboxes/devboxes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -450,10 +450,26 @@ export class Devboxes extends APIResource {
/**
* Shutdown a running Devbox. This will permanently stop the Devbox. If you want to
* save the state of the Devbox, you should take a snapshot before shutting down or
* should suspend the Devbox instead of shutting down.
* should suspend the Devbox instead of shutting down. If the Devbox has any
* in-progress snapshots, the shutdown will be rejected with a 409 Conflict unless
* force=true is specified.
*/
shutdown(id: string, options?: Core.RequestOptions): Core.APIPromise<DevboxView> {
return this._client.post(`/v1/devboxes/${id}/shutdown`, options);
shutdown(
id: string,
params?: DevboxShutdownParams,
options?: Core.RequestOptions,
): Core.APIPromise<DevboxView>;
shutdown(id: string, options?: Core.RequestOptions): Core.APIPromise<DevboxView>;
shutdown(
id: string,
params: DevboxShutdownParams | Core.RequestOptions = {},
options?: Core.RequestOptions,
): Core.APIPromise<DevboxView> {
if (isRequestOptions(params)) {
return this.shutdown(id, {}, params);
}
const { force } = params;
return this._client.post(`/v1/devboxes/${id}/shutdown`, { query: { force }, ...options });
}

/**
Expand Down Expand Up @@ -674,9 +690,9 @@ export interface DevboxListView {

has_more: boolean;

remaining_count: number;
remaining_count?: number | null;

total_count: number;
total_count?: number | null;
}

export interface DevboxResourceUsageView {
Expand Down Expand Up @@ -762,14 +778,14 @@ export interface DevboxSendStdInResult {
export interface DevboxSnapshotListView {
has_more: boolean;

remaining_count: number;

/**
* List of snapshots matching filter.
*/
snapshots: Array<DevboxSnapshotView>;

total_count: number;
remaining_count?: number | null;

total_count?: number | null;
}

/**
Expand Down Expand Up @@ -1380,6 +1396,13 @@ export interface DevboxRemoveTunnelParams {
port: number;
}

export interface DevboxShutdownParams {
/**
* If true, force shutdown even if snapshots are in progress. Defaults to false.
*/
force?: string;
}

export interface DevboxSnapshotDiskParams {
/**
* (Optional) Commit message associated with the snapshot (max 1000 characters)
Expand Down Expand Up @@ -1500,6 +1523,7 @@ export declare namespace Devboxes {
type DevboxListDiskSnapshotsParams as DevboxListDiskSnapshotsParams,
type DevboxReadFileContentsParams as DevboxReadFileContentsParams,
type DevboxRemoveTunnelParams as DevboxRemoveTunnelParams,
type DevboxShutdownParams as DevboxShutdownParams,
type DevboxSnapshotDiskParams as DevboxSnapshotDiskParams,
type DevboxSnapshotDiskAsyncParams as DevboxSnapshotDiskAsyncParams,
type DevboxUploadFileParams as DevboxUploadFileParams,
Expand Down
1 change: 1 addition & 0 deletions src/resources/devboxes/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export {
type DevboxListDiskSnapshotsParams,
type DevboxReadFileContentsParams,
type DevboxRemoveTunnelParams,
type DevboxShutdownParams,
type DevboxSnapshotDiskParams,
type DevboxSnapshotDiskAsyncParams,
type DevboxUploadFileParams,
Expand Down
5 changes: 3 additions & 2 deletions src/resources/gateway-configs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,10 @@ export interface GatewayConfigListView {
has_more: boolean;

/**
* Total count of GatewayConfigs that match the query.
* Total count of GatewayConfigs that match the query. Deprecated: will be removed
* in a future breaking change.
*/
total_count: number;
total_count?: number | null;
}

/**
Expand Down
1 change: 1 addition & 0 deletions src/resources/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ export {
type DevboxListDiskSnapshotsParams,
type DevboxReadFileContentsParams,
type DevboxRemoveTunnelParams,
type DevboxShutdownParams,
type DevboxSnapshotDiskParams,
type DevboxSnapshotDiskAsyncParams,
type DevboxUploadFileParams,
Expand Down
5 changes: 3 additions & 2 deletions src/resources/mcp-configs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,10 @@ export interface McpConfigListView {
mcp_configs: Array<McpConfigView>;

/**
* Total count of McpConfigs that match the query.
* Total count of McpConfigs that match the query. Deprecated: will be removed in a
* future breaking change.
*/
total_count: number;
total_count?: number | null;
}

/**
Expand Down
5 changes: 3 additions & 2 deletions src/resources/network-policies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,10 @@ export interface NetworkPolicyListView {
network_policies: Array<NetworkPolicyView>;

/**
* Total count of items in this response.
* Total count of items in this response. Deprecated: will be removed in a future
* breaking change.
*/
total_count: number;
total_count?: number | null;
}

/**
Expand Down
10 changes: 6 additions & 4 deletions src/resources/objects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,14 +159,16 @@ export interface ObjectListView {
objects: Array<ObjectView>;

/**
* Number of Objects remaining after this page.
* Number of Objects remaining after this page. Deprecated: will be removed in a
* future breaking change.
*/
remaining_count: number;
remaining_count?: number | null;

/**
* Total number of Objects across all pages.
* Total number of Objects across all pages. Deprecated: will be removed in a
* future breaking change.
*/
total_count: number;
total_count?: number | null;
}

/**
Expand Down
6 changes: 3 additions & 3 deletions src/resources/repositories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,14 +128,14 @@ export class RepositoryConnectionViewsRepositoriesCursorIDPage extends Repositor
export interface RepositoryConnectionListView {
has_more: boolean;

remaining_count: number;

/**
* List of repositories matching filter.
*/
repositories: Array<RepositoryConnectionView>;

total_count: number;
remaining_count?: number | null;

total_count?: number | null;
}

/**
Expand Down
11 changes: 8 additions & 3 deletions src/resources/scenarios/scenarios.ts
Original file line number Diff line number Diff line change
Expand Up @@ -251,14 +251,14 @@ export interface ScenarioEnvironment {
export interface ScenarioRunListView {
has_more: boolean;

remaining_count: number;

/**
* List of ScenarioRuns matching filter.
*/
runs: Array<ScenarioRunView>;

total_count: number;
remaining_count?: number | null;

total_count?: number | null;
}

/**
Expand Down Expand Up @@ -421,6 +421,11 @@ export interface ScenarioView {
*/
scoring_contract: ScoringContract;

/**
* The state of the scenario.
*/
status: string;

/**
* The Environment in which the Scenario is run.
*/
Expand Down
14 changes: 8 additions & 6 deletions src/resources/secrets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,19 +77,21 @@ export interface SecretListView {
has_more: boolean;

/**
* Number of Secrets remaining after this page.
* List of Secret objects. Values are omitted for security.
*/
remaining_count: number;
secrets: Array<SecretView>;

/**
* List of Secret objects. Values are omitted for security.
* Number of Secrets remaining after this page. Deprecated: will be removed in a
* future breaking change.
*/
secrets: Array<SecretView>;
remaining_count?: number | null;

/**
* Total number of Secrets across all pages.
* Total number of Secrets across all pages. Deprecated: will be removed in a
* future breaking change.
*/
total_count: number;
total_count?: number | null;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '1.8.0'; // x-release-please-version
export const VERSION = '1.8.1'; // x-release-please-version
7 changes: 7 additions & 0 deletions tests/api-resources/devboxes/devboxes.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -440,6 +440,13 @@ describe('resource devboxes', () => {
);
});

test('shutdown: request options and params are passed correctly', async () => {
// ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
await expect(
client.devboxes.shutdown('id', { force: 'force' }, { path: '/_stainless_unknown_path' }),
).rejects.toThrow(Runloop.NotFoundError);
});

test('snapshotDisk', async () => {
const responsePromise = client.devboxes.snapshotDisk('id');
const rawResponse = await responsePromise.asResponse();
Expand Down
Loading