Skip to content

Commit 75efbf7

Browse files
release: 3.7.6 (#602)
Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 56b8944 commit 75efbf7

14 files changed

Lines changed: 75 additions & 12 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,18 @@ jobs:
5555
run: ./scripts/build
5656

5757
- name: Get GitHub OIDC Token
58-
if: github.repository == 'stainless-sdks/val-town-typescript'
58+
if: |-
59+
github.repository == 'stainless-sdks/val-town-typescript' &&
60+
!startsWith(github.ref, 'refs/heads/stl/')
5961
id: github-oidc
6062
uses: actions/github-script@v8
6163
with:
6264
script: core.setOutput('github_token', await core.getIDToken());
6365

6466
- name: Upload tarball
65-
if: github.repository == 'stainless-sdks/val-town-typescript'
67+
if: |-
68+
github.repository == 'stainless-sdks/val-town-typescript' &&
69+
!startsWith(github.ref, 'refs/heads/stl/')
6670
env:
6771
URL: https://pkg.stainless.com/s
6872
AUTH: ${{ steps.github-oidc.outputs.github_token }}

.release-please-manifest.json

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

CHANGELOG.md

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

3+
## 3.7.6 (2026-03-07)
4+
5+
Full Changelog: [v3.7.5...v3.7.6](https://github.com/val-town/sdk/compare/v3.7.5...v3.7.6)
6+
7+
### Bug Fixes
8+
9+
* **client:** preserve URL params already embedded in path ([d52e8fa](https://github.com/val-town/sdk/commit/d52e8fa1e94cb86bc7326f975f5d600ef2d75f84))
10+
11+
12+
### Chores
13+
14+
* **ci:** skip uploading artifacts on stainless-internal branches ([8ee2b8c](https://github.com/val-town/sdk/commit/8ee2b8c000144d5f9b6f66cc7081ec33003da10a))
15+
* **internal:** codegen related update ([38c1e06](https://github.com/val-town/sdk/commit/38c1e065242968af8aca8980ef471bb1373bbff7))
16+
* **internal:** codegen related update ([31a5d3f](https://github.com/val-town/sdk/commit/31a5d3f1a569b18d29a899643dcf559c69a917f3))
17+
* **test:** do not count install time for mock server timeout ([5202bad](https://github.com/val-town/sdk/commit/5202bad8d3b49238538aff8cb9d349330e07b054))
18+
* update placeholder string ([310940d](https://github.com/val-town/sdk/commit/310940d7432ece1d802198d929c12d61629488c0))
19+
320
## 3.7.5 (2026-02-27)
421

522
Full Changelog: [v3.7.4...v3.7.5](https://github.com/val-town/sdk/compare/v3.7.4...v3.7.5)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@valtown/sdk",
3-
"version": "3.7.5",
3+
"version": "3.7.6",
44
"description": "The official TypeScript library for the Val Town API",
55
"author": "Val Town <support@val.town>",
66
"types": "dist/index.d.ts",

scripts/mock

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,22 @@ echo "==> Starting mock server with URL ${URL}"
2121

2222
# Run prism mock on the given spec
2323
if [ "$1" == "--daemon" ]; then
24+
# Pre-install the package so the download doesn't eat into the startup timeout
25+
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism --version
26+
2427
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log &
2528

26-
# Wait for server to come online
29+
# Wait for server to come online (max 30s)
2730
echo -n "Waiting for server"
31+
attempts=0
2832
while ! grep -q "✖ fatal\|Prism is listening" ".prism.log" ; do
33+
attempts=$((attempts + 1))
34+
if [ "$attempts" -ge 300 ]; then
35+
echo
36+
echo "Timed out waiting for Prism server to start"
37+
cat .prism.log
38+
exit 1
39+
fi
2940
echo -n "."
3041
sleep 0.1
3142
done

src/client.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,9 @@ export class ValTown {
268268
: new URL(baseURL + (baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));
269269

270270
const defaultQuery = this.defaultQuery();
271-
if (!isEmptyObj(defaultQuery)) {
272-
query = { ...defaultQuery, ...query };
271+
const pathQuery = Object.fromEntries(url.searchParams);
272+
if (!isEmptyObj(defaultQuery) || !isEmptyObj(pathQuery)) {
273+
query = { ...pathQuery, ...defaultQuery, ...query };
273274
}
274275

275276
if (typeof query === 'object' && query && !Array.isArray(query)) {
@@ -602,9 +603,9 @@ export class ValTown {
602603
}
603604
}
604605

605-
// If the API asks us to wait a certain amount of time (and it's a reasonable amount),
606-
// just do what it says, but otherwise calculate a default
607-
if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1000)) {
606+
// If the API asks us to wait a certain amount of time, just do what it
607+
// says, but otherwise calculate a default
608+
if (timeoutMillis === undefined) {
608609
const maxRetries = options.maxRetries ?? this.maxRetries;
609610
timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);
610611
}

src/resources/alias/username/username.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ import { APIPromise } from '../../../core/api-promise';
88
import { RequestOptions } from '../../../internal/request-options';
99
import { path } from '../../../internal/utils/path';
1010

11+
/**
12+
* Many API endpoints
13+
* accept IDs instead of user-facing names. The alias
14+
* endpoints let you convert between the user-facing name of a
15+
* val or another object into an ID that can be used with other
16+
* API endpoints
17+
*/
1118
export class Username extends APIResource {
1219
valName: ValNameAPI.ValName = new ValNameAPI.ValName(this._client);
1320

src/resources/alias/username/val-name.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ import { APIPromise } from '../../../core/api-promise';
66
import { RequestOptions } from '../../../internal/request-options';
77
import { path } from '../../../internal/utils/path';
88

9+
/**
10+
* Many API endpoints
11+
* accept IDs instead of user-facing names. The alias
12+
* endpoints let you convert between the user-facing name of a
13+
* val or another object into an ID that can be used with other
14+
* API endpoints
15+
*/
916
export class ValName extends APIResource {
1017
/**
1118
* Get a val

src/resources/me/profile.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import { APIResource } from '../../core/resource';
44
import { APIPromise } from '../../core/api-promise';
55
import { RequestOptions } from '../../internal/request-options';
66

7+
/**
8+
* These endpoints
9+
* give access to details and data from the requesting user.
10+
*/
711
export class Profile extends APIResource {
812
/**
913
* Get profile information for the current user

src/resources/me/vals.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ import { ValsPageCursorURL } from '../shared';
66
import { PageCursorURL, type PageCursorURLParams, PagePromise } from '../../core/pagination';
77
import { RequestOptions } from '../../internal/request-options';
88

9+
/**
10+
* These endpoints
11+
* give access to details and data from the requesting user.
12+
*/
913
export class Vals extends APIResource {
1014
/**
1115
* [BETA] List all of a user's vals for authenticated users

0 commit comments

Comments
 (0)