Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
44c7836
chore(client): refactor imports
stainless-app[bot] Dec 5, 2025
58af560
feat(client): add support for endpoint-specific base URLs
stainless-app[bot] Jun 17, 2025
eac032a
chore(ci): enable for pull requests
stainless-app[bot] Jun 17, 2025
5a69575
chore(readme): update badges
stainless-app[bot] Jun 18, 2025
75e8a63
chore(readme): use better example snippet for undocumented params
stainless-app[bot] Jun 19, 2025
a1b72c1
fix(client): explicitly copy fetch in withOptions
stainless-app[bot] Jun 21, 2025
2b43824
refactor(types): replace Record with mapped types
stainless-app[bot] Jun 24, 2025
79e4102
fix(ci): release-doctor — report correct token name
stainless-app[bot] Jun 27, 2025
ba531a3
fix(client): get fetchOptions type more reliably
stainless-app[bot] Jun 27, 2025
94a8575
chore(ci): only run for pushes and fork pull requests
stainless-app[bot] Jun 28, 2025
79ac088
chore(client): improve path param validation
stainless-app[bot] Jul 1, 2025
8c480ed
chore: add docs to RequestOptions type
stainless-app[bot] Jul 3, 2025
ac410b3
chore: make some internal functions async
stainless-app[bot] Jul 10, 2025
a896a22
chore(ts): reorder package.json imports
stainless-app[bot] Jul 17, 2025
de89cb7
chore(internal): remove redundant imports config
stainless-app[bot] Jul 30, 2025
f8c49d7
chore(internal): move publish config
stainless-app[bot] Aug 7, 2025
fe746f4
chore: update @stainless-api/prism-cli to v5.15.0
stainless-app[bot] Aug 9, 2025
adcc1e0
chore(internal): update comment in script
stainless-app[bot] Aug 9, 2025
7dd2c73
feat(api): gitpod -> ona
stainless-app[bot] Sep 3, 2025
bf7c44a
codegen metadata
stainless-app[bot] Sep 4, 2025
f6572f1
chore: ci build action
stainless-app[bot] Sep 5, 2025
ffdccb0
fix: coerce nullable values to undefined
stainless-app[bot] Sep 8, 2025
a785538
codegen metadata
stainless-app[bot] Sep 17, 2025
d12db33
chore: do not install brew dependencies in ./scripts/bootstrap by def…
stainless-app[bot] Sep 19, 2025
0bcf5a5
perf: faster formatting
stainless-app[bot] Sep 25, 2025
602b768
chore(internal): remove deprecated `compilerOptions.baseUrl` from tsc…
stainless-app[bot] Sep 25, 2025
0a51f9f
chore(internal): fix incremental formatting in some cases
stainless-app[bot] Sep 26, 2025
e888600
chore(internal): codegen related update
stainless-app[bot] Sep 26, 2025
cf1696e
chore(internal): ignore .eslintcache
stainless-app[bot] Sep 26, 2025
8ed65d8
chore(jsdoc): fix @link annotations to refer only to parts of the pac…
stainless-app[bot] Oct 3, 2025
0febcc8
chore(internal): use npm pack for build uploads
stainless-app[bot] Oct 6, 2025
71b844a
chore(client): fix logger property type
stainless-app[bot] Dec 1, 2025
878386a
chore(internal): upgrade eslint
stainless-app[bot] Dec 2, 2025
4b60eca
fix(mcp): return correct lines on typescript errors
stainless-app[bot] Dec 5, 2025
57886a7
chore(internal): codegen related update
stainless-app[bot] Dec 5, 2025
3241e0a
fix(mcp): correct code tool API endpoint
stainless-app[bot] Dec 5, 2025
3f4e8d1
chore(internal): codegen related update
stainless-app[bot] Dec 6, 2025
c1d012b
release: 0.7.0
stainless-app[bot] Dec 6, 2025
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
7 changes: 7 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,17 @@ on:
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
- 'stl-preview-base/**'

jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/gitpod-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4

Expand All @@ -31,6 +36,7 @@ jobs:
timeout-minutes: 5
name: build
runs-on: ${{ github.repository == 'stainless-sdks/gitpod-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
permissions:
contents: read
id-token: write
Expand Down Expand Up @@ -66,6 +72,7 @@ jobs:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/gitpod-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ jobs:
bash ./bin/check-release-environment
env:
NPM_TOKEN: ${{ secrets.GITPOD_NPM_TOKEN || secrets.NPM_TOKEN }}

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ dist
dist-deno
/*.tgz
.idea/
.eslintcache

2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.6.1"
".": "0.7.0"
}
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 119
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod%2Fgitpod-ca9a49ac7fbb63f55611fd7cd48a22a3ff8b38a797125c8513e891d9b7345550.yml
openapi_spec_hash: fd6ffbdfaefcc555e61ca1c565e05214
config_hash: bb9d0a0bdadbee0985dd7c1e4f0e9e8a
config_hash: 7fb76543ceafd4a116473f647f8d63b1
58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,63 @@
# Changelog

## 0.7.0 (2025-12-06)

Full Changelog: [v0.6.1...v0.7.0](https://github.com/gitpod-io/gitpod-sdk-typescript/compare/v0.6.1...v0.7.0)

### Features

* **api:** gitpod -> ona ([7dd2c73](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/7dd2c736dca78fd6e3ae53f7e0f4c38c1d3e8d51))
* **client:** add support for endpoint-specific base URLs ([58af560](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/58af5608bf0d0d76c9dd265a490d783d030c8a1b))


### Bug Fixes

* **ci:** release-doctor — report correct token name ([79e4102](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/79e410295dc2458cd03350be63599471fc824b9d))
* **client:** explicitly copy fetch in withOptions ([a1b72c1](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/a1b72c1c69aa05aa06e044a90a44d7916b680561))
* **client:** get fetchOptions type more reliably ([ba531a3](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/ba531a3e666c9d4537b81ec68de4075d12f13d01))
* coerce nullable values to undefined ([ffdccb0](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/ffdccb0e49830a82590c56a6d7f3a6bacbd8fa3f))
* **mcp:** correct code tool API endpoint ([3241e0a](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/3241e0a1f56ba7df24cb526bd98351bf176c9b88))
* **mcp:** return correct lines on typescript errors ([4b60eca](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/4b60eca50967c00d9f338a11d692dc6ebffd6b01))


### Performance Improvements

* faster formatting ([0bcf5a5](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/0bcf5a56589d7394d44fd36616b3849f7d775404))


### Chores

* add docs to RequestOptions type ([8c480ed](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/8c480ede43e6e1a6cc37ab844e4934831478a5e0))
* ci build action ([f6572f1](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/f6572f1fc89db0e5e02d271e49cff571cf6b3c60))
* **ci:** enable for pull requests ([eac032a](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/eac032a15b4c7a929096cea573bf3c8290021f84))
* **ci:** only run for pushes and fork pull requests ([94a8575](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/94a857551f39d1e2828c253e250b0fb95effa5bb))
* **client:** fix logger property type ([71b844a](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/71b844a4b2b13df332b3e2ce9ddc6c825abeb22e))
* **client:** improve path param validation ([79ac088](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/79ac088c67fd2c9d476f0ce0f279985d6df25f4e))
* **client:** refactor imports ([44c7836](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/44c7836e0e2cd7f4ec4ae8ac9d34342c5c66a4bd))
* do not install brew dependencies in ./scripts/bootstrap by default ([d12db33](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/d12db33eb3a4911c3bb45233590005b21efb7e1c))
* **internal:** codegen related update ([3f4e8d1](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/3f4e8d16cb0818903865e6d40605f6982110a20f))
* **internal:** codegen related update ([57886a7](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/57886a747a3af50684003d2e40184ffc0de3c65e))
* **internal:** codegen related update ([e888600](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/e88860061aee55c5e978ace2556a36fd97ef0258))
* **internal:** fix incremental formatting in some cases ([0a51f9f](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/0a51f9f3dba744cf5282eba4b188047b03b391f5))
* **internal:** ignore .eslintcache ([cf1696e](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/cf1696e737f8896647f8dd9fad70a78988958672))
* **internal:** move publish config ([f8c49d7](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/f8c49d7ed61411de581e4dba05eba8456eb72f6c))
* **internal:** remove deprecated `compilerOptions.baseUrl` from tsconfig.json ([602b768](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/602b7681eaa94ea1672ebd58852478dab56f883c))
* **internal:** remove redundant imports config ([de89cb7](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/de89cb791929375079082c1bd13cc13620ed8aae))
* **internal:** update comment in script ([adcc1e0](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/adcc1e04378865df15272dcc788b96f2d8781a8a))
* **internal:** upgrade eslint ([878386a](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/878386aebf1c8c9287f8362e0a3f697e16cd857a))
* **internal:** use npm pack for build uploads ([0febcc8](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/0febcc870974caef358d1b67c992a4fb408e692d))
* **jsdoc:** fix [@link](https://github.com/link) annotations to refer only to parts of the package‘s public interface ([8ed65d8](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/8ed65d8b6ea2757ce26cdcc509be12c6a18fa37a))
* make some internal functions async ([ac410b3](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/ac410b310603548f18d46976224a69fb9eabf5a3))
* **readme:** update badges ([5a69575](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/5a695752d9af858bb04f9e774ddf76f8a22544bb))
* **readme:** use better example snippet for undocumented params ([75e8a63](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/75e8a63ec1307838671b24cda3bb3cbeb4ea9dbf))
* **ts:** reorder package.json imports ([a896a22](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/a896a228b3ab8950f9a7c016bc445bfe43a88240))
* update @stainless-api/prism-cli to v5.15.0 ([fe746f4](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/fe746f463f825425f80e70dca69edd18032872db))


### Refactors

* **types:** replace Record with mapped types ([2b43824](https://github.com/gitpod-io/gitpod-sdk-typescript/commit/2b43824896e47429c4eeb102bae2fb0ca820528f))

## 0.6.1 (2025-06-14)

Full Changelog: [v0.6.0...v0.6.1](https://github.com/gitpod-io/gitpod-sdk-typescript/compare/v0.6.0...v0.6.1)
Expand Down
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Gitpod TypeScript API Library

[![NPM version](https://img.shields.io/npm/v/@gitpod/sdk.svg)](https://npmjs.org/package/@gitpod/sdk) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@gitpod/sdk)
[![NPM version](<https://img.shields.io/npm/v/@gitpod/sdk.svg?label=npm%20(stable)>)](https://npmjs.org/package/@gitpod/sdk) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@gitpod/sdk)

This library provides convenient access to the Gitpod REST API from server-side TypeScript or JavaScript.

The REST API documentation can be found on [docs.gitpod.io](https://docs.gitpod.io). The full API of this library can be found in [api.md](api.md).
The REST API documentation can be found on [docs.ona.com](https://docs.ona.com). The full API of this library can be found in [api.md](api.md).

It is generated with [Stainless](https://www.stainless.com/).

Expand Down Expand Up @@ -254,9 +254,8 @@ parameter. This library doesn't validate at runtime that the request matches the
send will be sent as-is.

```ts
client.foo.create({
foo: 'my_param',
bar: 12,
client.identity.getAuthenticatedIdentity({
// ...
// @ts-expect-error baz is not yet public
baz: 'undocumented option',
});
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ or products provided by Gitpod, please follow the respective company's security

### Gitpod Terms and Policies

Please contact dev-feedback@gitpod.com for any questions or concerns regarding the security of our services.
Please contact dev-feedback@ona.com for any questions or concerns regarding the security of our services.

---

Expand Down
2 changes: 1 addition & 1 deletion bin/check-release-environment
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
errors=()

if [ -z "${NPM_TOKEN}" ]; then
errors+=("The GITPOD_NPM_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets")
errors+=("The NPM_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets")
fi

lenErrors=${#errors[@]}
Expand Down
2 changes: 1 addition & 1 deletion bin/publish-npm
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ else
fi

# Publish with the appropriate tag
yarn publish --access public --tag "$TAG"
yarn publish --tag "$TAG"
16 changes: 8 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "@gitpod/sdk",
"version": "0.6.1",
"version": "0.7.0",
"description": "The official TypeScript library for the Gitpod API",
"author": "Gitpod <dev-feedback@gitpod.com>",
"author": "Gitpod <dev-feedback@ona.com>",
"types": "dist/index.d.ts",
"main": "dist/index.js",
"type": "commonjs",
Expand All @@ -13,6 +13,9 @@
"**/*"
],
"private": false,
"publishConfig": {
"access": "public"
},
"scripts": {
"test": "./scripts/test",
"build": "./scripts/build",
Expand All @@ -34,7 +37,7 @@
"@types/sshpk": "^1.17.4",
"@typescript-eslint/eslint-plugin": "8.31.1",
"@typescript-eslint/parser": "8.31.1",
"eslint": "^9.20.1",
"eslint": "^9.39.1",
"eslint-plugin-prettier": "^5.4.1",
"eslint-plugin-unused-imports": "^4.1.4",
"iconv-lite": "^0.6.3",
Expand All @@ -45,15 +48,12 @@
"sshpk": "^1.18.0",
"ts-jest": "^29.1.0",
"ts-node": "^10.5.0",
"tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.7/tsc-multi.tgz",
"tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz",
"tsconfig-paths": "^4.0.0",
"tslib": "^2.8.1",
"typescript": "5.8.3",
"typescript-eslint": "8.31.1"
},
"imports": {
"@gitpod/sdk": ".",
"@gitpod/sdk/*": "./src/*"
},
"exports": {
".": {
"import": "./dist/index.mjs",
Expand Down
16 changes: 12 additions & 4 deletions scripts/bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,23 @@ set -e

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

if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ]; then
if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ] && [ -t 0 ]; then
brew bundle check >/dev/null 2>&1 || {
echo "==> Installing Homebrew dependencies…"
brew bundle
echo -n "==> Install Homebrew dependencies? (y/N): "
read -r response
case "$response" in
[yY][eE][sS]|[yY])
brew bundle
;;
*)
;;
esac
echo
}
fi

echo "==> Installing Node dependencies…"

PACKAGE_MANAGER=$(command -v yarn >/dev/null 2>&1 && echo "yarn" || echo "npm")

$PACKAGE_MANAGER install
$PACKAGE_MANAGER install "$@"
40 changes: 40 additions & 0 deletions scripts/fast-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/usr/bin/env bash

set -euo pipefail

echo "Script started with $# arguments"
echo "Arguments: $*"
echo "Script location: $(dirname "$0")"

cd "$(dirname "$0")/.."
echo "Changed to directory: $(pwd)"

if [ $# -eq 0 ]; then
echo "Usage: $0 <file-with-paths> [additional-formatter-args...]"
echo "The file should contain one file path per line"
exit 1
fi

FILE_LIST="$1"

echo "Looking for file: $FILE_LIST"

if [ ! -f "$FILE_LIST" ]; then
echo "Error: File '$FILE_LIST' not found"
exit 1
fi

echo "==> Running eslint --fix"
ESLINT_FILES="$(grep '\.ts$' "$FILE_LIST" || true)"
if ! [ -z "$ESLINT_FILES" ]; then
echo "$ESLINT_FILES" | xargs ./node_modules/.bin/eslint --cache --fix
fi

echo "==> Running prettier --write"
# format things eslint didn't
PRETTIER_FILES="$(grep '\.\(js\|json\)$' "$FILE_LIST" || true)"
if ! [ -z "$PRETTIER_FILES" ]; then
echo "$PRETTIER_FILES" | xargs ./node_modules/.bin/prettier \
--write --cache --cache-strategy metadata --no-error-on-unmatched-pattern \
'!**/dist' '!**/*.ts' '!**/*.mts' '!**/*.cts' '!**/*.js' '!**/*.mjs' '!**/*.cjs'
fi
4 changes: 2 additions & 2 deletions scripts/mock
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ echo "==> Starting mock server with URL ${URL}"

# Run prism mock on the given spec
if [ "$1" == "--daemon" ]; then
npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" &> .prism.log &
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log &

# Wait for server to come online
echo -n "Waiting for server"
Expand All @@ -37,5 +37,5 @@ if [ "$1" == "--daemon" ]; then

echo
else
npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL"
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL"
fi
2 changes: 1 addition & 1 deletion scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ elif ! prism_is_running ; then
echo -e "To run the server, pass in the path or url of your OpenAPI"
echo -e "spec to the prism command:"
echo
echo -e " \$ ${YELLOW}npm exec --package=@stoplight/prism-cli@~5.3.2 -- prism mock path/to/your.openapi.yml${NC}"
echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}"
echo

exit 1
Expand Down
6 changes: 4 additions & 2 deletions scripts/utils/upload-artifact.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ if [[ "$SIGNED_URL" == "null" ]]; then
exit 1
fi

UPLOAD_RESPONSE=$(tar -cz dist | curl -v -X PUT \
TARBALL=$(cd dist && npm pack --silent)

UPLOAD_RESPONSE=$(curl -v -X PUT \
-H "Content-Type: application/gzip" \
--data-binary @- "$SIGNED_URL" 2>&1)
--data-binary "@dist/$TARBALL" "$SIGNED_URL" 2>&1)

if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
Expand Down
Loading
Loading