Skip to content

Commit 1bc2811

Browse files
release: 1.30.0 (#828)
Co-authored-by: Adam Lesinski <adam@runloop.ai> Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 262c353 commit 1bc2811

11 files changed

Lines changed: 69 additions & 25 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.29.0"
2+
".": "1.30.0"
33
}

‎CHANGELOG.md‎

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

3+
## 1.30.0 (2026-08-23)
4+
5+
Full Changelog: [v1.29.0...v1.30.0](https://github.com/runloopai/api-client-ts/compare/v1.29.0...v1.30.0)
6+
7+
### Features
8+
9+
* **devboxes:** use optimistic create endpoint ([#825](https://github.com/runloopai/api-client-ts/issues/825)) ([07c0ca0](https://github.com/runloopai/api-client-ts/commit/07c0ca079a3ed09d2350d320323b616e471d0b03))
10+
11+
12+
### Chores
13+
14+
* **internal:** allow the mock server port to be set with STAINLESS_MOCK_PORT ([627021b](https://github.com/runloopai/api-client-ts/commit/627021b4d35e9996fe00a7a263a8e8ab5a83cba5))
15+
316
## 1.29.0 (2026-08-20)
417

518
Full Changelog: [v1.28.0...v1.29.0](https://github.com/runloopai/api-client-ts/compare/v1.28.0...v1.29.0)

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

‎scripts/mock‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ set -e
44

55
cd "$(dirname "$0")/.."
66

7+
if [ "$1" == "--install" ]; then
8+
npm exec --package=@stdy/cli@0.22.1 -- steady --version
9+
exit 0
10+
fi
11+
712
if [[ -n "$1" && "$1" != '--'* ]]; then
813
URL="$1"
914
shift
@@ -20,16 +25,18 @@ fi
2025
echo "==> Starting mock server with URL ${URL}"
2126

2227
# Run steady mock on the given spec
28+
MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}"
29+
2330
if [ "$1" == "--daemon" ]; then
2431
# Pre-install the package so the download doesn't eat into the startup timeout
2532
npm exec --package=@stdy/cli@0.22.1 -- steady --version
2633

27-
npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" &> .stdy.log &
34+
npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p "$MOCK_PORT" --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" &> .stdy.log &
2835

2936
# Wait for server to come online via health endpoint (max 30s)
3037
echo -n "Waiting for server"
3138
attempts=0
32-
while ! curl --silent --fail "http://127.0.0.1:4010/_x-steady/health" >/dev/null 2>&1; do
39+
while ! curl --silent --fail "http://127.0.0.1:$MOCK_PORT/_x-steady/health" >/dev/null 2>&1; do
3340
if ! kill -0 $! 2>/dev/null; then
3441
echo
3542
cat .stdy.log
@@ -48,5 +55,5 @@ if [ "$1" == "--daemon" ]; then
4855

4956
echo
5057
else
51-
npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL"
58+
npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p "$MOCK_PORT" --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL"
5259
fi

‎scripts/test‎

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ GREEN='\033[0;32m'
99
YELLOW='\033[0;33m'
1010
NC='\033[0m' # No Color
1111

12+
MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}"
13+
1214
function steady_is_running() {
13-
curl --silent "http://127.0.0.1:4010/_x-steady/health" >/dev/null 2>&1
15+
curl --silent "http://127.0.0.1:$MOCK_PORT/_x-steady/health" >/dev/null 2>&1
1416
}
1517

1618
# Parse command line arguments
@@ -44,7 +46,7 @@ function is_overriding_api_base_url() {
4446

4547
if ! is_overriding_api_base_url && ! steady_is_running ; then
4648
# When we exit this script, make sure to kill the background mock server process
47-
trap 'kill_server_on_port 4010' EXIT
49+
trap 'kill_server_on_port "$MOCK_PORT"' EXIT
4850

4951
# Start the dev server
5052
./scripts/mock --daemon
@@ -60,7 +62,7 @@ elif ! steady_is_running ; then
6062
echo -e "To run the server, pass in the path or url of your OpenAPI"
6163
echo -e "spec to the steady command:"
6264
echo
63-
echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.22.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets${NC}"
65+
echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.22.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p $MOCK_PORT --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets${NC}"
6466
echo
6567

6668
exit 1
@@ -69,10 +71,14 @@ else
6971
echo
7072
fi
7173

72-
if [ "$RUN_SMOKE_TESTS" = true ]; then
73-
echo -e "${YELLOW}==> Running smoke tests${NC}"
74-
RUN_SMOKETESTS=1 ./node_modules/.bin/jest "${JEST_ARGS[@]}"
75-
else
76-
echo "==> Running tests"
77-
./node_modules/.bin/jest "${JEST_ARGS[@]}"
78-
fi
74+
if [ -n "${STAINLESS_MOCK_PORT:-}" ] && ! is_overriding_api_base_url ; then
75+
export TEST_API_BASE_URL="http://127.0.0.1:$MOCK_PORT"
76+
fi
77+
78+
if [ "$RUN_SMOKE_TESTS" = true ]; then
79+
echo -e "${YELLOW}==> Running smoke tests${NC}"
80+
RUN_SMOKETESTS=1 ./node_modules/.bin/jest "${JEST_ARGS[@]}"
81+
else
82+
echo "==> Running tests"
83+
./node_modules/.bin/jest "${JEST_ARGS[@]}"
84+
fi

‎src/resources/devboxes/devboxes.ts‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,13 @@ export class Devboxes extends APIResource {
131131
options?: LongPollRequestOptions<DevboxView>,
132132
): Promise<DevboxView> {
133133
const { longPoll, polling, ...requestOptions } = options ?? {};
134-
const devbox = await this.create(body, requestOptions);
134+
const devbox = (await this._client.post('/v1/devboxes/create_and_await_running', {
135+
body: body ?? {},
136+
...requestOptions,
137+
})) as DevboxView;
138+
if (devbox.status === 'running') {
139+
return devbox;
140+
}
135141
return this.awaitRunning(devbox.id, { ...requestOptions, longPoll, polling });
136142
}
137143
/**

‎src/version.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export const VERSION = '1.29.0'; // x-release-please-version
1+
export const VERSION = '1.30.0'; // x-release-please-version

0 commit comments

Comments
 (0)