Skip to content

Commit e697ac3

Browse files
release: 1.19.0 (#779)
Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 3d7c9aa commit e697ac3

22 files changed

Lines changed: 477 additions & 18 deletions

.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.18.1"
2+
".": "1.19.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: 110
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-f0eb12cf4df4fa3046bd88aae4966062eb6e9703768a07a0136da2f26a2ebd56.yml
3-
openapi_spec_hash: cdbd63a8162f1e987e937042cbd60eea
4-
config_hash: 526cf0707adc54c690fc687a1c6db728
1+
configured_endpoints: 115
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-5b536a11a713dd4e47b270c130368dbfdf1f30282f262c160cd0411fcd291806.yml
3+
openapi_spec_hash: f94d993a7f34461ebde7d0186e8e3c3a
4+
config_hash: 12de9459ff629b6a3072a75b236b7b70

CHANGELOG.md

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

3+
## 1.19.0 (2026-04-13)
4+
5+
Full Changelog: [v1.18.1...v1.19.0](https://github.com/runloopai/api-client-ts/compare/v1.18.1...v1.19.0)
6+
7+
### Features
8+
9+
* Add wake on axon event as an API primitive ([#8681](https://github.com/runloopai/api-client-ts/issues/8681)) ([ec27047](https://github.com/runloopai/api-client-ts/commit/ec27047ddf21fff3690166c045ff5ab7831bd003))
10+
* Allow API keys to create API and restricted keys ([#8663](https://github.com/runloopai/api-client-ts/issues/8663)) ([5727999](https://github.com/runloopai/api-client-ts/commit/57279999228e9ecb0fb9803e04ba9552f4110411))
11+
12+
13+
### Bug Fixes
14+
15+
* add missing agent API paths to stainless config ([#8699](https://github.com/runloopai/api-client-ts/issues/8699)) ([00aa6d8](https://github.com/runloopai/api-client-ts/commit/00aa6d833b6e3767e0090fb2b945a7e17bd71789))
16+
317
## 1.18.1 (2026-04-10)
418

519
Full Changelog: [v1.18.0...v1.18.1](https://github.com/runloopai/api-client-ts/compare/v1.18.0...v1.18.1)

api.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,19 @@ Methods:
6868
Types:
6969

7070
- <code><a href="./src/resources/agents.ts">AgentCreateParameters</a></code>
71+
- <code><a href="./src/resources/agents.ts">AgentDevboxCountsView</a></code>
7172
- <code><a href="./src/resources/agents.ts">AgentListView</a></code>
7273
- <code><a href="./src/resources/agents.ts">AgentView</a></code>
74+
- <code><a href="./src/resources/agents.ts">AgentDeleteResponse</a></code>
7375

7476
Methods:
7577

7678
- <code title="post /v1/agents">client.agents.<a href="./src/resources/agents.ts">create</a>({ ...params }) -> AgentView</code>
7779
- <code title="get /v1/agents/{id}">client.agents.<a href="./src/resources/agents.ts">retrieve</a>(id) -> AgentView</code>
7880
- <code title="get /v1/agents">client.agents.<a href="./src/resources/agents.ts">list</a>({ ...params }) -> AgentViewsAgentsCursorIDPage</code>
81+
- <code title="post /v1/agents/{id}/delete">client.agents.<a href="./src/resources/agents.ts">delete</a>(id) -> unknown</code>
82+
- <code title="get /v1/agents/devbox_counts">client.agents.<a href="./src/resources/agents.ts">devboxCounts</a>() -> AgentDevboxCountsView</code>
83+
- <code title="get /v1/agents/list_public">client.agents.<a href="./src/resources/agents.ts">listPublic</a>({ ...params }) -> AgentViewsAgentsCursorIDPage</code>
7984

8085
# Axons
8186

@@ -379,3 +384,26 @@ Methods:
379384
- <code title="post /v1/mcp-configs/{id}">client.mcpConfigs.<a href="./src/resources/mcp-configs.ts">update</a>(id, { ...params }) -> McpConfigView</code>
380385
- <code title="get /v1/mcp-configs">client.mcpConfigs.<a href="./src/resources/mcp-configs.ts">list</a>({ ...params }) -> McpConfigViewsMcpConfigsCursorIDPage</code>
381386
- <code title="post /v1/mcp-configs/{id}/delete">client.mcpConfigs.<a href="./src/resources/mcp-configs.ts">delete</a>(id) -> McpConfigView</code>
387+
388+
# Apikeys
389+
390+
Types:
391+
392+
- <code><a href="./src/resources/apikeys.ts">APIKeyCreatedView</a></code>
393+
- <code><a href="./src/resources/apikeys.ts">APIKeyCreateParameters</a></code>
394+
395+
Methods:
396+
397+
- <code title="post /v1/apikeys">client.apikeys.<a href="./src/resources/apikeys.ts">create</a>({ ...params }) -> APIKeyCreatedView</code>
398+
399+
# RestrictedKeys
400+
401+
Types:
402+
403+
- <code><a href="./src/resources/restricted-keys.ts">RestrictedKeyCreatedView</a></code>
404+
- <code><a href="./src/resources/restricted-keys.ts">RestrictedKeyCreateParameters</a></code>
405+
- <code><a href="./src/resources/restricted-keys.ts">ScopeEntryView</a></code>
406+
407+
Methods:
408+
409+
- <code title="post /v1/restricted_keys">client.restrictedKeys.<a href="./src/resources/restricted-keys.ts">create</a>({ ...params }) -> RestrictedKeyCreatedView</code>

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.18.1",
3+
"version": "1.19.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.18.1",
4+
"version": "1.19.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.18.1",
3+
"version": "1.19.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.18.1',
19+
version: '1.19.0',
2020
},
2121
{
2222
instructions: await getInstructions(stainlessApiKey),

src/index.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,16 @@ import * as API from './resources/index';
3939
import {
4040
AgentCreateParameters,
4141
AgentCreateParams,
42+
AgentDeleteResponse,
43+
AgentDevboxCountsView,
4244
AgentListParams,
45+
AgentListPublicParams,
4346
AgentListView,
4447
AgentView,
4548
AgentViewsAgentsCursorIDPage,
4649
Agents,
4750
} from './resources/agents';
51+
import { APIKeyCreateParameters, APIKeyCreatedView, ApikeyCreateParams, Apikeys } from './resources/apikeys';
4852
import {
4953
BenchmarkJobCreateParameters,
5054
BenchmarkJobCreateParams,
@@ -146,6 +150,13 @@ import {
146150
ObjectViewsObjectsCursorIDPage,
147151
Objects,
148152
} from './resources/objects';
153+
import {
154+
RestrictedKeyCreateParameters,
155+
RestrictedKeyCreateParams,
156+
RestrictedKeyCreatedView,
157+
RestrictedKeys,
158+
ScopeEntryView,
159+
} from './resources/restricted-keys';
149160
import {
150161
SecretCreateParameters,
151162
SecretCreateParams,
@@ -369,6 +380,8 @@ export class Runloop extends Core.APIClient {
369380
networkPolicies: API.NetworkPolicies = new API.NetworkPolicies(this);
370381
gatewayConfigs: API.GatewayConfigs = new API.GatewayConfigs(this);
371382
mcpConfigs: API.McpConfigs = new API.McpConfigs(this);
383+
apikeys: API.Apikeys = new API.Apikeys(this);
384+
restrictedKeys: API.RestrictedKeys = new API.RestrictedKeys(this);
372385

373386
/**
374387
* Check whether the base URL is set to its default.
@@ -438,6 +451,8 @@ Runloop.GatewayConfigs = GatewayConfigs;
438451
Runloop.GatewayConfigViewsGatewayConfigsCursorIDPage = GatewayConfigViewsGatewayConfigsCursorIDPage;
439452
Runloop.McpConfigs = McpConfigs;
440453
Runloop.McpConfigViewsMcpConfigsCursorIDPage = McpConfigViewsMcpConfigsCursorIDPage;
454+
Runloop.Apikeys = Apikeys;
455+
Runloop.RestrictedKeys = RestrictedKeys;
441456

442457
export declare namespace Runloop {
443458
export type RequestOptions = Core.RequestOptions;
@@ -565,11 +580,14 @@ export declare namespace Runloop {
565580
export {
566581
Agents as Agents,
567582
type AgentCreateParameters as AgentCreateParameters,
583+
type AgentDevboxCountsView as AgentDevboxCountsView,
568584
type AgentListView as AgentListView,
569585
type AgentView as AgentView,
586+
type AgentDeleteResponse as AgentDeleteResponse,
570587
AgentViewsAgentsCursorIDPage as AgentViewsAgentsCursorIDPage,
571588
type AgentCreateParams as AgentCreateParams,
572589
type AgentListParams as AgentListParams,
590+
type AgentListPublicParams as AgentListPublicParams,
573591
};
574592

575593
export {
@@ -734,6 +752,21 @@ export declare namespace Runloop {
734752
type McpConfigDeleteParams as McpConfigDeleteParams,
735753
};
736754

755+
export {
756+
Apikeys as Apikeys,
757+
type APIKeyCreatedView as APIKeyCreatedView,
758+
type APIKeyCreateParameters as APIKeyCreateParameters,
759+
type ApikeyCreateParams as ApikeyCreateParams,
760+
};
761+
762+
export {
763+
RestrictedKeys as RestrictedKeys,
764+
type RestrictedKeyCreatedView as RestrictedKeyCreatedView,
765+
type RestrictedKeyCreateParameters as RestrictedKeyCreateParameters,
766+
type ScopeEntryView as ScopeEntryView,
767+
type RestrictedKeyCreateParams as RestrictedKeyCreateParams,
768+
};
769+
737770
export type AfterIdle = API.AfterIdle;
738771
export type AgentMount = API.AgentMount;
739772
export type AgentSource = API.AgentSource;

src/resources/agents.ts

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,43 @@ export class Agents extends APIResource {
3939
}
4040
return this._client.getAPIList('/v1/agents', AgentViewsAgentsCursorIDPage, { query, ...options });
4141
}
42+
43+
/**
44+
* Delete an Agent by its unique identifier. The Agent will be permanently removed.
45+
*/
46+
delete(id: string, options?: Core.RequestOptions): Core.APIPromise<unknown> {
47+
return this._client.post(`/v1/agents/${id}/delete`, options);
48+
}
49+
50+
/**
51+
* Returns devbox counts grouped by agent name. This endpoint efficiently
52+
* aggregates devbox counts for all agents in a single request, avoiding N+1 query
53+
* patterns.
54+
*/
55+
devboxCounts(options?: Core.RequestOptions): Core.APIPromise<AgentDevboxCountsView> {
56+
return this._client.get('/v1/agents/devbox_counts', options);
57+
}
58+
59+
/**
60+
* List all public Agents with pagination support.
61+
*/
62+
listPublic(
63+
query?: AgentListPublicParams,
64+
options?: Core.RequestOptions,
65+
): Core.PagePromise<AgentViewsAgentsCursorIDPage, AgentView>;
66+
listPublic(options?: Core.RequestOptions): Core.PagePromise<AgentViewsAgentsCursorIDPage, AgentView>;
67+
listPublic(
68+
query: AgentListPublicParams | Core.RequestOptions = {},
69+
options?: Core.RequestOptions,
70+
): Core.PagePromise<AgentViewsAgentsCursorIDPage, AgentView> {
71+
if (isRequestOptions(query)) {
72+
return this.listPublic({}, query);
73+
}
74+
return this._client.getAPIList('/v1/agents/list_public', AgentViewsAgentsCursorIDPage, {
75+
query,
76+
...options,
77+
});
78+
}
4279
}
4380

4481
export class AgentViewsAgentsCursorIDPage extends AgentsCursorIDPage<AgentView> {}
@@ -63,6 +100,23 @@ export interface AgentCreateParameters {
63100
source?: Shared.AgentSource | null;
64101
}
65102

103+
/**
104+
* Devbox counts grouped by agent name. Used to efficiently fetch devbox counts for
105+
* multiple agents in a single request.
106+
*/
107+
export interface AgentDevboxCountsView {
108+
/**
109+
* Map of agent name to devbox count. Each key is an agent name, and the value is
110+
* the count of devboxes associated with that agent.
111+
*/
112+
counts: { [key: string]: number };
113+
114+
/**
115+
* Total count of devboxes across all agents in the result.
116+
*/
117+
total_count: number;
118+
}
119+
66120
/**
67121
* A paginated list of Agents.
68122
*/
@@ -120,6 +174,8 @@ export interface AgentView {
120174
source?: Shared.AgentSource | null;
121175
}
122176

177+
export type AgentDeleteResponse = unknown;
178+
123179
/**
124180
* Parameters for creating a new Agent.
125181
*
@@ -170,15 +226,41 @@ export interface AgentListParams extends AgentsCursorIDPageParams {
170226
version?: string;
171227
}
172228

229+
export interface AgentListPublicParams extends AgentsCursorIDPageParams {
230+
/**
231+
* If true (default), includes total_count in the response. Set to false to skip
232+
* the count query for better performance on large datasets.
233+
*/
234+
include_total_count?: boolean;
235+
236+
/**
237+
* Filter agents by name (partial match supported).
238+
*/
239+
name?: string;
240+
241+
/**
242+
* Search by agent ID or name.
243+
*/
244+
search?: string;
245+
246+
/**
247+
* Filter by version. Use 'latest' to get the most recently created agent.
248+
*/
249+
version?: string;
250+
}
251+
173252
Agents.AgentViewsAgentsCursorIDPage = AgentViewsAgentsCursorIDPage;
174253

175254
export declare namespace Agents {
176255
export {
177256
type AgentCreateParameters as AgentCreateParameters,
257+
type AgentDevboxCountsView as AgentDevboxCountsView,
178258
type AgentListView as AgentListView,
179259
type AgentView as AgentView,
260+
type AgentDeleteResponse as AgentDeleteResponse,
180261
AgentViewsAgentsCursorIDPage as AgentViewsAgentsCursorIDPage,
181262
type AgentCreateParams as AgentCreateParams,
182263
type AgentListParams as AgentListParams,
264+
type AgentListPublicParams as AgentListPublicParams,
183265
};
184266
}

0 commit comments

Comments
 (0)