From 25c177ff56b479a6389c79a72d696b4b0bef8f69 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 8 May 2025 16:36:25 +0000
Subject: [PATCH 1/4] chore: update SDK settings
---
.github/workflows/release-doctor.yml | 20 +++++++++
.release-please-manifest.json | 3 ++
.stats.yml | 2 +-
CONTRIBUTING.md | 6 +--
README.md | 4 +-
bin/check-release-environment | 18 ++++++++
package.json | 2 +-
release-please-config.json | 64 ++++++++++++++++++++++++++++
src/version.ts | 2 +-
9 files changed, 113 insertions(+), 8 deletions(-)
create mode 100644 .github/workflows/release-doctor.yml
create mode 100644 .release-please-manifest.json
create mode 100644 bin/check-release-environment
create mode 100644 release-please-config.json
diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml
new file mode 100644
index 0000000..519bd29
--- /dev/null
+++ b/.github/workflows/release-doctor.yml
@@ -0,0 +1,20 @@
+name: Release Doctor
+on:
+ pull_request:
+ branches:
+ - main
+ workflow_dispatch:
+
+jobs:
+ release_doctor:
+ name: release doctor
+ runs-on: ubuntu-latest
+ if: github.repository == 'onkernel/kernel-node-sdk' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Check release environment
+ run: |
+ bash ./bin/check-release-environment
+ env:
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
new file mode 100644
index 0000000..67dcd73
--- /dev/null
+++ b/.release-please-manifest.json
@@ -0,0 +1,3 @@
+{
+ ".": "0.0.1-alpha.0"
+}
diff --git a/.stats.yml b/.stats.yml
index b59ce7c..d93970e 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 4
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-2a9a9232d72f52fc9b2404958857a1b744762356421cf1bffb99db2c24045378.yml
openapi_spec_hash: ba3c6823319d99762e7e1c6a624bc2ed
-config_hash: e48b09ec26046e2b2ba98ad41ecbaf1c
+config_hash: 5d8104e64e7d71c412fd8a49600ad33d
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d10d10f..089b702 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -42,15 +42,15 @@ If you’d like to use the repository from source, you can either install from g
To install via git:
```sh
-$ npm install git+ssh://git@github.com:stainless-sdks/kernel-typescript.git
+$ npm install git+ssh://git@github.com:onkernel/kernel-node-sdk.git
```
Alternatively, to link a local copy of the repo:
```sh
# Clone
-$ git clone https://www.github.com/stainless-sdks/kernel-typescript
-$ cd kernel-typescript
+$ git clone https://www.github.com/onkernel/kernel-node-sdk
+$ cd kernel-node-sdk
# With yarn
$ yarn link
diff --git a/README.md b/README.md
index 475e268..b262652 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ It is generated with [Stainless](https://www.stainless.com/).
## Installation
```sh
-npm install git+ssh://git@github.com:stainless-sdks/kernel-typescript.git
+npm install git+ssh://git@github.com:onkernel/kernel-node-sdk.git
```
> [!NOTE]
@@ -412,7 +412,7 @@ This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) con
We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.
-We are keen for your feedback; please open an [issue](https://www.github.com/stainless-sdks/kernel-typescript/issues) with questions, bugs, or suggestions.
+We are keen for your feedback; please open an [issue](https://www.github.com/onkernel/kernel-node-sdk/issues) with questions, bugs, or suggestions.
## Requirements
diff --git a/bin/check-release-environment b/bin/check-release-environment
new file mode 100644
index 0000000..6b43775
--- /dev/null
+++ b/bin/check-release-environment
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+errors=()
+
+lenErrors=${#errors[@]}
+
+if [[ lenErrors -gt 0 ]]; then
+ echo -e "Found the following errors in the release environment:\n"
+
+ for error in "${errors[@]}"; do
+ echo -e "- $error\n"
+ done
+
+ exit 1
+fi
+
+echo "The environment is ready to push releases!"
+
diff --git a/package.json b/package.json
index 5164065..8cb5861 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
"types": "dist/index.d.ts",
"main": "dist/index.js",
"type": "commonjs",
- "repository": "github:stainless-sdks/kernel-typescript",
+ "repository": "github:onkernel/kernel-node-sdk",
"license": "Apache-2.0",
"packageManager": "yarn@1.22.22",
"files": [
diff --git a/release-please-config.json b/release-please-config.json
new file mode 100644
index 0000000..1ebd0bd
--- /dev/null
+++ b/release-please-config.json
@@ -0,0 +1,64 @@
+{
+ "packages": {
+ ".": {}
+ },
+ "$schema": "https://raw.githubusercontent.com/stainless-api/release-please/main/schemas/config.json",
+ "include-v-in-tag": true,
+ "include-component-in-tag": false,
+ "versioning": "prerelease",
+ "prerelease": true,
+ "bump-minor-pre-major": true,
+ "bump-patch-for-minor-pre-major": false,
+ "pull-request-header": "Automated Release PR",
+ "pull-request-title-pattern": "release: ${version}",
+ "changelog-sections": [
+ {
+ "type": "feat",
+ "section": "Features"
+ },
+ {
+ "type": "fix",
+ "section": "Bug Fixes"
+ },
+ {
+ "type": "perf",
+ "section": "Performance Improvements"
+ },
+ {
+ "type": "revert",
+ "section": "Reverts"
+ },
+ {
+ "type": "chore",
+ "section": "Chores"
+ },
+ {
+ "type": "docs",
+ "section": "Documentation"
+ },
+ {
+ "type": "style",
+ "section": "Styles"
+ },
+ {
+ "type": "refactor",
+ "section": "Refactors"
+ },
+ {
+ "type": "test",
+ "section": "Tests",
+ "hidden": true
+ },
+ {
+ "type": "build",
+ "section": "Build System"
+ },
+ {
+ "type": "ci",
+ "section": "Continuous Integration",
+ "hidden": true
+ }
+ ],
+ "release-type": "node",
+ "extra-files": ["src/version.ts", "README.md"]
+}
diff --git a/src/version.ts b/src/version.ts
index 55a1a52..db692bc 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const VERSION = '0.0.1-alpha.0';
+export const VERSION = '0.0.1-alpha.0'; // x-release-please-version
From c9c482c8ae564005abe75f46300cebea44c26f8f Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 8 May 2025 16:38:36 +0000
Subject: [PATCH 2/4] chore: update SDK settings
---
.github/workflows/publish-npm.yml | 32 ++++++++++++++++++++++++++++
.github/workflows/release-doctor.yml | 1 +
.stats.yml | 2 +-
CONTRIBUTING.md | 18 ++++++++++++++--
README.md | 27 +++++++++++------------
bin/check-release-environment | 4 ++++
eslint.config.mjs | 2 +-
jest.config.ts | 4 ++--
package.json | 6 +++---
scripts/build | 6 +++---
tests/api-resources/apps.test.ts | 2 +-
tests/api-resources/browser.test.ts | 2 +-
tests/base64.test.ts | 2 +-
tests/buildHeaders.test.ts | 2 +-
tests/form.test.ts | 4 ++--
tests/index.test.ts | 6 +++---
tests/path.test.ts | 2 +-
tests/stringifyQuery.test.ts | 2 +-
tests/uploads.test.ts | 6 +++---
tsconfig.build.json | 4 ++--
tsconfig.json | 4 ++--
21 files changed, 93 insertions(+), 45 deletions(-)
create mode 100644 .github/workflows/publish-npm.yml
diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml
new file mode 100644
index 0000000..45c2cfd
--- /dev/null
+++ b/.github/workflows/publish-npm.yml
@@ -0,0 +1,32 @@
+# This workflow is triggered when a GitHub release is created.
+# It can also be run manually to re-publish to NPM in case it failed for some reason.
+# You can run this workflow by navigating to https://www.github.com/onkernel/kernel-node-sdk/actions/workflows/publish-npm.yml
+name: Publish NPM
+on:
+ workflow_dispatch:
+
+ release:
+ types: [published]
+
+jobs:
+ publish:
+ name: publish
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: '20'
+
+ - name: Install dependencies
+ run: |
+ yarn install
+
+ - name: Publish to NPM
+ run: |
+ bash ./bin/publish-npm
+ env:
+ NPM_TOKEN: ${{ secrets.KERNEL_NPM_TOKEN || secrets.NPM_TOKEN }}
diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml
index 519bd29..56150c7 100644
--- a/.github/workflows/release-doctor.yml
+++ b/.github/workflows/release-doctor.yml
@@ -18,3 +18,4 @@ jobs:
run: |
bash ./bin/check-release-environment
env:
+ NPM_TOKEN: ${{ secrets.KERNEL_NPM_TOKEN || secrets.NPM_TOKEN }}
diff --git a/.stats.yml b/.stats.yml
index d93970e..49a57d8 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 4
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-2a9a9232d72f52fc9b2404958857a1b744762356421cf1bffb99db2c24045378.yml
openapi_spec_hash: ba3c6823319d99762e7e1c6a624bc2ed
-config_hash: 5d8104e64e7d71c412fd8a49600ad33d
+config_hash: 0961a6d918b6ba9b875508988aa408a1
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 089b702..0b5a2c3 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -55,12 +55,12 @@ $ cd kernel-node-sdk
# With yarn
$ yarn link
$ cd ../my-package
-$ yarn link kernel
+$ yarn link @kernel/sdk
# With pnpm
$ pnpm link --global
$ cd ../my-package
-$ pnpm link -—global kernel
+$ pnpm link -—global @kernel/sdk
```
## Running tests
@@ -91,3 +91,17 @@ To format and fix all lint issues automatically:
```sh
$ yarn fix
```
+
+## Publishing and releases
+
+Changes made to this repository via the automated release PR pipeline should publish to npm automatically. If
+the changes aren't made through the automated pipeline, you may want to make releases manually.
+
+### Publish with a GitHub workflow
+
+You can release to package managers by using [the `Publish NPM` GitHub action](https://www.github.com/onkernel/kernel-node-sdk/actions/workflows/publish-npm.yml). This requires a setup organization or repository secret to be set up.
+
+### Publish manually
+
+If you need to manually release a package, you can run the `bin/publish-npm` script with an `NPM_TOKEN` set on
+the environment.
diff --git a/README.md b/README.md
index b262652..d8c6bd4 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Kernel TypeScript API Library
-[](https://npmjs.org/package/kernel) 
+[](https://npmjs.org/package/@kernel/sdk) 
This library provides convenient access to the Kernel REST API from server-side TypeScript or JavaScript.
@@ -11,19 +11,16 @@ It is generated with [Stainless](https://www.stainless.com/).
## Installation
```sh
-npm install git+ssh://git@github.com:onkernel/kernel-node-sdk.git
+npm install @kernel/sdk
```
-> [!NOTE]
-> Once this package is [published to npm](https://app.stainless.com/docs/guides/publish), this will become: `npm install kernel`
-
## Usage
The full API of this library can be found in [api.md](api.md).
```js
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
const client = new Kernel({
apiKey: process.env['KERNEL_API_KEY'], // This is the default and can be omitted
@@ -48,7 +45,7 @@ This library includes TypeScript definitions for all request params and response
```ts
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
const client = new Kernel({
apiKey: process.env['KERNEL_API_KEY'], // This is the default and can be omitted
@@ -79,7 +76,7 @@ Request parameters that correspond to file uploads can be passed in many differe
```ts
import fs from 'fs';
-import Kernel, { toFile } from 'kernel';
+import Kernel, { toFile } from '@kernel/sdk';
const client = new Kernel();
@@ -238,7 +235,7 @@ The log level can be configured in two ways:
2. Using the `logLevel` client option (overrides the environment variable if set)
```ts
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
const client = new Kernel({
logLevel: 'debug', // Show all log messages
@@ -266,7 +263,7 @@ When providing a custom logger, the `logLevel` option still controls which messa
below the configured level will not be sent to your logger.
```ts
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
import pino from 'pino';
const logger = pino();
@@ -336,7 +333,7 @@ globalThis.fetch = fetch;
Or pass it to the client:
```ts
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
import fetch from 'my-fetch';
const client = new Kernel({ fetch });
@@ -347,7 +344,7 @@ const client = new Kernel({ fetch });
If you want to set custom `fetch` options without overriding the `fetch` function, you can provide a `fetchOptions` object when instantiating the client or making a request. (Request-specific options override client options.)
```ts
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
const client = new Kernel({
fetchOptions: {
@@ -364,7 +361,7 @@ options to requests:
**Node** [[docs](https://github.com/nodejs/undici/blob/main/docs/docs/api/ProxyAgent.md#example---proxyagent-with-fetch)]
```ts
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
import * as undici from 'undici';
const proxyAgent = new undici.ProxyAgent('http://localhost:8888');
@@ -378,7 +375,7 @@ const client = new Kernel({
**Bun** [[docs](https://bun.sh/guides/http/proxy)]
```ts
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
const client = new Kernel({
fetchOptions: {
@@ -390,7 +387,7 @@ const client = new Kernel({
**Deno** [[docs](https://docs.deno.com/api/deno/~/Deno.createHttpClient)]
```ts
-import Kernel from 'npm:kernel';
+import Kernel from 'npm:@kernel/sdk';
const httpClient = Deno.createHttpClient({ proxy: { url: 'http://localhost:8888' } });
const client = new Kernel({
diff --git a/bin/check-release-environment b/bin/check-release-environment
index 6b43775..530e853 100644
--- a/bin/check-release-environment
+++ b/bin/check-release-environment
@@ -2,6 +2,10 @@
errors=()
+if [ -z "${NPM_TOKEN}" ]; then
+ errors+=("The KERNEL_NPM_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets")
+fi
+
lenErrors=${#errors[@]}
if [[ lenErrors -gt 0 ]]; then
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 0064bc5..fde3443 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -25,7 +25,7 @@ export default tseslint.config(
{
patterns: [
{
- regex: '^kernel(/.*)?',
+ regex: '^@kernel/sdk(/.*)?',
message: 'Use a relative import, not a package import.',
},
],
diff --git a/jest.config.ts b/jest.config.ts
index 5c1b4bd..95816db 100644
--- a/jest.config.ts
+++ b/jest.config.ts
@@ -7,8 +7,8 @@ const config: JestConfigWithTsJest = {
'^.+\\.(t|j)sx?$': ['@swc/jest', { sourceMaps: 'inline' }],
},
moduleNameMapper: {
- '^kernel$': '/src/index.ts',
- '^kernel/(.*)$': '/src/$1',
+ '^@kernel/sdk$': '/src/index.ts',
+ '^@kernel/sdk/(.*)$': '/src/$1',
},
modulePathIgnorePatterns: [
'/ecosystem-tests/',
diff --git a/package.json b/package.json
index 8cb5861..78bd262 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "kernel",
+ "name": "@kernel/sdk",
"version": "0.0.1-alpha.0",
"description": "The official TypeScript library for the Kernel API",
"author": "Kernel <>",
@@ -50,8 +50,8 @@
"synckit": "0.8.8"
},
"imports": {
- "kernel": ".",
- "kernel/*": "./src/*"
+ "@kernel/sdk": ".",
+ "@kernel/sdk/*": "./src/*"
},
"exports": {
".": {
diff --git a/scripts/build b/scripts/build
index 4513a5f..e76c221 100755
--- a/scripts/build
+++ b/scripts/build
@@ -8,7 +8,7 @@ node scripts/utils/check-version.cjs
# Build into dist and will publish the package from there,
# so that src/resources/foo.ts becomes /resources/foo.js
-# This way importing from `"kernel/resources/foo"` works
+# This way importing from `"@kernel/sdk/resources/foo"` works
# even with `"moduleResolution": "node"`
rm -rf dist; mkdir dist
@@ -44,8 +44,8 @@ node scripts/utils/postprocess-files.cjs
# make sure that nothing crashes when we require the output CJS or
# import the output ESM
-(cd dist && node -e 'require("kernel")')
-(cd dist && node -e 'import("kernel")' --input-type=module)
+(cd dist && node -e 'require("@kernel/sdk")')
+(cd dist && node -e 'import("@kernel/sdk")' --input-type=module)
if [ -e ./scripts/build-deno ]
then
diff --git a/tests/api-resources/apps.test.ts b/tests/api-resources/apps.test.ts
index 67b47ba..c327215 100644
--- a/tests/api-resources/apps.test.ts
+++ b/tests/api-resources/apps.test.ts
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-import Kernel, { toFile } from 'kernel';
+import Kernel, { toFile } from '@kernel/sdk';
const client = new Kernel({
apiKey: 'My API Key',
diff --git a/tests/api-resources/browser.test.ts b/tests/api-resources/browser.test.ts
index c7f40d7..621161e 100644
--- a/tests/api-resources/browser.test.ts
+++ b/tests/api-resources/browser.test.ts
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-import Kernel from 'kernel';
+import Kernel from '@kernel/sdk';
const client = new Kernel({
apiKey: 'My API Key',
diff --git a/tests/base64.test.ts b/tests/base64.test.ts
index 6a9cf51..9b72246 100644
--- a/tests/base64.test.ts
+++ b/tests/base64.test.ts
@@ -1,4 +1,4 @@
-import { fromBase64, toBase64 } from 'kernel/internal/utils/base64';
+import { fromBase64, toBase64 } from '@kernel/sdk/internal/utils/base64';
describe.each(['Buffer', 'atob'])('with %s', (mode) => {
let originalBuffer: BufferConstructor;
diff --git a/tests/buildHeaders.test.ts b/tests/buildHeaders.test.ts
index 62e52f6..ec9447a 100644
--- a/tests/buildHeaders.test.ts
+++ b/tests/buildHeaders.test.ts
@@ -1,5 +1,5 @@
import { inspect } from 'node:util';
-import { buildHeaders, type HeadersLike, type NullableHeaders } from 'kernel/internal/headers';
+import { buildHeaders, type HeadersLike, type NullableHeaders } from '@kernel/sdk/internal/headers';
function inspectNullableHeaders(headers: NullableHeaders) {
return `NullableHeaders {${[
diff --git a/tests/form.test.ts b/tests/form.test.ts
index c5e1be2..68fda15 100644
--- a/tests/form.test.ts
+++ b/tests/form.test.ts
@@ -1,5 +1,5 @@
-import { multipartFormRequestOptions, createForm } from 'kernel/internal/uploads';
-import { toFile } from 'kernel/core/uploads';
+import { multipartFormRequestOptions, createForm } from '@kernel/sdk/internal/uploads';
+import { toFile } from '@kernel/sdk/core/uploads';
describe('form data validation', () => {
test('valid values do not error', async () => {
diff --git a/tests/index.test.ts b/tests/index.test.ts
index 589c1cd..f6b7855 100644
--- a/tests/index.test.ts
+++ b/tests/index.test.ts
@@ -1,10 +1,10 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-import { APIPromise } from 'kernel/core/api-promise';
+import { APIPromise } from '@kernel/sdk/core/api-promise';
import util from 'node:util';
-import Kernel from 'kernel';
-import { APIUserAbortError } from 'kernel';
+import Kernel from '@kernel/sdk';
+import { APIUserAbortError } from '@kernel/sdk';
const defaultFetch = fetch;
describe('instantiate client', () => {
diff --git a/tests/path.test.ts b/tests/path.test.ts
index c581f27..b48bce5 100644
--- a/tests/path.test.ts
+++ b/tests/path.test.ts
@@ -1,4 +1,4 @@
-import { createPathTagFunction, encodeURIPath } from 'kernel/internal/utils/path';
+import { createPathTagFunction, encodeURIPath } from '@kernel/sdk/internal/utils/path';
import { inspect } from 'node:util';
describe('path template tag function', () => {
diff --git a/tests/stringifyQuery.test.ts b/tests/stringifyQuery.test.ts
index ce8b691..05e5cc3 100644
--- a/tests/stringifyQuery.test.ts
+++ b/tests/stringifyQuery.test.ts
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-import { Kernel } from 'kernel';
+import { Kernel } from '@kernel/sdk';
const { stringifyQuery } = Kernel.prototype as any;
diff --git a/tests/uploads.test.ts b/tests/uploads.test.ts
index d6fb8d3..df09f70 100644
--- a/tests/uploads.test.ts
+++ b/tests/uploads.test.ts
@@ -1,6 +1,6 @@
import fs from 'fs';
-import type { ResponseLike } from 'kernel/internal/to-file';
-import { toFile } from 'kernel/core/uploads';
+import type { ResponseLike } from '@kernel/sdk/internal/to-file';
+import { toFile } from '@kernel/sdk/core/uploads';
import { File } from 'node:buffer';
class MyClass {
@@ -97,7 +97,7 @@ describe('missing File error message', () => {
});
test('is thrown', async () => {
- const uploads = await import('kernel/core/uploads');
+ const uploads = await import('@kernel/sdk/core/uploads');
await expect(
uploads.toFile(mockResponse({ url: 'https://example.com/my/audio.mp3' })),
).rejects.toMatchInlineSnapshot(
diff --git a/tsconfig.build.json b/tsconfig.build.json
index 291f7ad..91ae5b3 100644
--- a/tsconfig.build.json
+++ b/tsconfig.build.json
@@ -5,8 +5,8 @@
"compilerOptions": {
"rootDir": "./dist/src",
"paths": {
- "kernel/*": ["dist/src/*"],
- "kernel": ["dist/src/index.ts"]
+ "@kernel/sdk/*": ["dist/src/*"],
+ "@kernel/sdk": ["dist/src/index.ts"]
},
"noEmit": false,
"declaration": true,
diff --git a/tsconfig.json b/tsconfig.json
index 67838cf..fe4228a 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -9,8 +9,8 @@
"esModuleInterop": true,
"baseUrl": "./",
"paths": {
- "kernel/*": ["src/*"],
- "kernel": ["src/index.ts"]
+ "@kernel/sdk/*": ["src/*"],
+ "@kernel/sdk": ["src/index.ts"]
},
"noEmit": true,
From 68f457eb0f66b5b243e682677b0fa34eee685853 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 8 May 2025 16:44:36 +0000
Subject: [PATCH 3/4] feat(api): update via SDK Studio
---
.stats.yml | 6 +++---
CONTRIBUTING.md | 4 ++--
README.md | 24 ++++++++++++------------
eslint.config.mjs | 2 +-
jest.config.ts | 4 ++--
package.json | 6 +++---
scripts/build | 6 +++---
tests/api-resources/apps.test.ts | 2 +-
tests/api-resources/browser.test.ts | 2 +-
tests/base64.test.ts | 2 +-
tests/buildHeaders.test.ts | 2 +-
tests/form.test.ts | 4 ++--
tests/index.test.ts | 6 +++---
tests/path.test.ts | 2 +-
tests/stringifyQuery.test.ts | 2 +-
tests/uploads.test.ts | 6 +++---
tsconfig.build.json | 4 ++--
tsconfig.json | 4 ++--
18 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 49a57d8..b66a1bc 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 4
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-2a9a9232d72f52fc9b2404958857a1b744762356421cf1bffb99db2c24045378.yml
-openapi_spec_hash: ba3c6823319d99762e7e1c6a624bc2ed
-config_hash: 0961a6d918b6ba9b875508988aa408a1
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-e642528081bcfbb78b52900cb9b8b1407a9c7a8653c57ab021a79d4d52585695.yml
+openapi_spec_hash: 8d91d1ac100906977531a93b9f4ae380
+config_hash: 49c38455e0bcb05feb11399f9da1fb4f
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0b5a2c3..679eb77 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -55,12 +55,12 @@ $ cd kernel-node-sdk
# With yarn
$ yarn link
$ cd ../my-package
-$ yarn link @kernel/sdk
+$ yarn link @onkernel/sdk
# With pnpm
$ pnpm link --global
$ cd ../my-package
-$ pnpm link -—global @kernel/sdk
+$ pnpm link -—global @onkernel/sdk
```
## Running tests
diff --git a/README.md b/README.md
index d8c6bd4..9c77768 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Kernel TypeScript API Library
-[](https://npmjs.org/package/@kernel/sdk) 
+[](https://npmjs.org/package/@onkernel/sdk) 
This library provides convenient access to the Kernel REST API from server-side TypeScript or JavaScript.
@@ -11,7 +11,7 @@ It is generated with [Stainless](https://www.stainless.com/).
## Installation
```sh
-npm install @kernel/sdk
+npm install @onkernel/sdk
```
## Usage
@@ -20,7 +20,7 @@ The full API of this library can be found in [api.md](api.md).
```js
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
const client = new Kernel({
apiKey: process.env['KERNEL_API_KEY'], // This is the default and can be omitted
@@ -45,7 +45,7 @@ This library includes TypeScript definitions for all request params and response
```ts
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
const client = new Kernel({
apiKey: process.env['KERNEL_API_KEY'], // This is the default and can be omitted
@@ -76,7 +76,7 @@ Request parameters that correspond to file uploads can be passed in many differe
```ts
import fs from 'fs';
-import Kernel, { toFile } from '@kernel/sdk';
+import Kernel, { toFile } from '@onkernel/sdk';
const client = new Kernel();
@@ -235,7 +235,7 @@ The log level can be configured in two ways:
2. Using the `logLevel` client option (overrides the environment variable if set)
```ts
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
const client = new Kernel({
logLevel: 'debug', // Show all log messages
@@ -263,7 +263,7 @@ When providing a custom logger, the `logLevel` option still controls which messa
below the configured level will not be sent to your logger.
```ts
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
import pino from 'pino';
const logger = pino();
@@ -333,7 +333,7 @@ globalThis.fetch = fetch;
Or pass it to the client:
```ts
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
import fetch from 'my-fetch';
const client = new Kernel({ fetch });
@@ -344,7 +344,7 @@ const client = new Kernel({ fetch });
If you want to set custom `fetch` options without overriding the `fetch` function, you can provide a `fetchOptions` object when instantiating the client or making a request. (Request-specific options override client options.)
```ts
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
const client = new Kernel({
fetchOptions: {
@@ -361,7 +361,7 @@ options to requests:
**Node** [[docs](https://github.com/nodejs/undici/blob/main/docs/docs/api/ProxyAgent.md#example---proxyagent-with-fetch)]
```ts
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
import * as undici from 'undici';
const proxyAgent = new undici.ProxyAgent('http://localhost:8888');
@@ -375,7 +375,7 @@ const client = new Kernel({
**Bun** [[docs](https://bun.sh/guides/http/proxy)]
```ts
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
const client = new Kernel({
fetchOptions: {
@@ -387,7 +387,7 @@ const client = new Kernel({
**Deno** [[docs](https://docs.deno.com/api/deno/~/Deno.createHttpClient)]
```ts
-import Kernel from 'npm:@kernel/sdk';
+import Kernel from 'npm:@onkernel/sdk';
const httpClient = Deno.createHttpClient({ proxy: { url: 'http://localhost:8888' } });
const client = new Kernel({
diff --git a/eslint.config.mjs b/eslint.config.mjs
index fde3443..4d61d87 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -25,7 +25,7 @@ export default tseslint.config(
{
patterns: [
{
- regex: '^@kernel/sdk(/.*)?',
+ regex: '^@onkernel/sdk(/.*)?',
message: 'Use a relative import, not a package import.',
},
],
diff --git a/jest.config.ts b/jest.config.ts
index 95816db..a3ef35c 100644
--- a/jest.config.ts
+++ b/jest.config.ts
@@ -7,8 +7,8 @@ const config: JestConfigWithTsJest = {
'^.+\\.(t|j)sx?$': ['@swc/jest', { sourceMaps: 'inline' }],
},
moduleNameMapper: {
- '^@kernel/sdk$': '/src/index.ts',
- '^@kernel/sdk/(.*)$': '/src/$1',
+ '^@onkernel/sdk$': '/src/index.ts',
+ '^@onkernel/sdk/(.*)$': '/src/$1',
},
modulePathIgnorePatterns: [
'/ecosystem-tests/',
diff --git a/package.json b/package.json
index 78bd262..74a8d96 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "@kernel/sdk",
+ "name": "@onkernel/sdk",
"version": "0.0.1-alpha.0",
"description": "The official TypeScript library for the Kernel API",
"author": "Kernel <>",
@@ -50,8 +50,8 @@
"synckit": "0.8.8"
},
"imports": {
- "@kernel/sdk": ".",
- "@kernel/sdk/*": "./src/*"
+ "@onkernel/sdk": ".",
+ "@onkernel/sdk/*": "./src/*"
},
"exports": {
".": {
diff --git a/scripts/build b/scripts/build
index e76c221..6a52f04 100755
--- a/scripts/build
+++ b/scripts/build
@@ -8,7 +8,7 @@ node scripts/utils/check-version.cjs
# Build into dist and will publish the package from there,
# so that src/resources/foo.ts becomes /resources/foo.js
-# This way importing from `"@kernel/sdk/resources/foo"` works
+# This way importing from `"@onkernel/sdk/resources/foo"` works
# even with `"moduleResolution": "node"`
rm -rf dist; mkdir dist
@@ -44,8 +44,8 @@ node scripts/utils/postprocess-files.cjs
# make sure that nothing crashes when we require the output CJS or
# import the output ESM
-(cd dist && node -e 'require("@kernel/sdk")')
-(cd dist && node -e 'import("@kernel/sdk")' --input-type=module)
+(cd dist && node -e 'require("@onkernel/sdk")')
+(cd dist && node -e 'import("@onkernel/sdk")' --input-type=module)
if [ -e ./scripts/build-deno ]
then
diff --git a/tests/api-resources/apps.test.ts b/tests/api-resources/apps.test.ts
index c327215..614eb1e 100644
--- a/tests/api-resources/apps.test.ts
+++ b/tests/api-resources/apps.test.ts
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-import Kernel, { toFile } from '@kernel/sdk';
+import Kernel, { toFile } from '@onkernel/sdk';
const client = new Kernel({
apiKey: 'My API Key',
diff --git a/tests/api-resources/browser.test.ts b/tests/api-resources/browser.test.ts
index 621161e..6782448 100644
--- a/tests/api-resources/browser.test.ts
+++ b/tests/api-resources/browser.test.ts
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-import Kernel from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
const client = new Kernel({
apiKey: 'My API Key',
diff --git a/tests/base64.test.ts b/tests/base64.test.ts
index 9b72246..2e2538e 100644
--- a/tests/base64.test.ts
+++ b/tests/base64.test.ts
@@ -1,4 +1,4 @@
-import { fromBase64, toBase64 } from '@kernel/sdk/internal/utils/base64';
+import { fromBase64, toBase64 } from '@onkernel/sdk/internal/utils/base64';
describe.each(['Buffer', 'atob'])('with %s', (mode) => {
let originalBuffer: BufferConstructor;
diff --git a/tests/buildHeaders.test.ts b/tests/buildHeaders.test.ts
index ec9447a..039a800 100644
--- a/tests/buildHeaders.test.ts
+++ b/tests/buildHeaders.test.ts
@@ -1,5 +1,5 @@
import { inspect } from 'node:util';
-import { buildHeaders, type HeadersLike, type NullableHeaders } from '@kernel/sdk/internal/headers';
+import { buildHeaders, type HeadersLike, type NullableHeaders } from '@onkernel/sdk/internal/headers';
function inspectNullableHeaders(headers: NullableHeaders) {
return `NullableHeaders {${[
diff --git a/tests/form.test.ts b/tests/form.test.ts
index 68fda15..56981ca 100644
--- a/tests/form.test.ts
+++ b/tests/form.test.ts
@@ -1,5 +1,5 @@
-import { multipartFormRequestOptions, createForm } from '@kernel/sdk/internal/uploads';
-import { toFile } from '@kernel/sdk/core/uploads';
+import { multipartFormRequestOptions, createForm } from '@onkernel/sdk/internal/uploads';
+import { toFile } from '@onkernel/sdk/core/uploads';
describe('form data validation', () => {
test('valid values do not error', async () => {
diff --git a/tests/index.test.ts b/tests/index.test.ts
index f6b7855..3e6bf88 100644
--- a/tests/index.test.ts
+++ b/tests/index.test.ts
@@ -1,10 +1,10 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-import { APIPromise } from '@kernel/sdk/core/api-promise';
+import { APIPromise } from '@onkernel/sdk/core/api-promise';
import util from 'node:util';
-import Kernel from '@kernel/sdk';
-import { APIUserAbortError } from '@kernel/sdk';
+import Kernel from '@onkernel/sdk';
+import { APIUserAbortError } from '@onkernel/sdk';
const defaultFetch = fetch;
describe('instantiate client', () => {
diff --git a/tests/path.test.ts b/tests/path.test.ts
index b48bce5..6d7177f 100644
--- a/tests/path.test.ts
+++ b/tests/path.test.ts
@@ -1,4 +1,4 @@
-import { createPathTagFunction, encodeURIPath } from '@kernel/sdk/internal/utils/path';
+import { createPathTagFunction, encodeURIPath } from '@onkernel/sdk/internal/utils/path';
import { inspect } from 'node:util';
describe('path template tag function', () => {
diff --git a/tests/stringifyQuery.test.ts b/tests/stringifyQuery.test.ts
index 05e5cc3..1170f01 100644
--- a/tests/stringifyQuery.test.ts
+++ b/tests/stringifyQuery.test.ts
@@ -1,6 +1,6 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-import { Kernel } from '@kernel/sdk';
+import { Kernel } from '@onkernel/sdk';
const { stringifyQuery } = Kernel.prototype as any;
diff --git a/tests/uploads.test.ts b/tests/uploads.test.ts
index df09f70..ba84b0c 100644
--- a/tests/uploads.test.ts
+++ b/tests/uploads.test.ts
@@ -1,6 +1,6 @@
import fs from 'fs';
-import type { ResponseLike } from '@kernel/sdk/internal/to-file';
-import { toFile } from '@kernel/sdk/core/uploads';
+import type { ResponseLike } from '@onkernel/sdk/internal/to-file';
+import { toFile } from '@onkernel/sdk/core/uploads';
import { File } from 'node:buffer';
class MyClass {
@@ -97,7 +97,7 @@ describe('missing File error message', () => {
});
test('is thrown', async () => {
- const uploads = await import('@kernel/sdk/core/uploads');
+ const uploads = await import('@onkernel/sdk/core/uploads');
await expect(
uploads.toFile(mockResponse({ url: 'https://example.com/my/audio.mp3' })),
).rejects.toMatchInlineSnapshot(
diff --git a/tsconfig.build.json b/tsconfig.build.json
index 91ae5b3..7a7d5e0 100644
--- a/tsconfig.build.json
+++ b/tsconfig.build.json
@@ -5,8 +5,8 @@
"compilerOptions": {
"rootDir": "./dist/src",
"paths": {
- "@kernel/sdk/*": ["dist/src/*"],
- "@kernel/sdk": ["dist/src/index.ts"]
+ "@onkernel/sdk/*": ["dist/src/*"],
+ "@onkernel/sdk": ["dist/src/index.ts"]
},
"noEmit": false,
"declaration": true,
diff --git a/tsconfig.json b/tsconfig.json
index fe4228a..ffa2959 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -9,8 +9,8 @@
"esModuleInterop": true,
"baseUrl": "./",
"paths": {
- "@kernel/sdk/*": ["src/*"],
- "@kernel/sdk": ["src/index.ts"]
+ "@onkernel/sdk/*": ["src/*"],
+ "@onkernel/sdk": ["src/index.ts"]
},
"noEmit": true,
From d2073dd69c860efddc2daf275862473fedf4a3ff Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 8 May 2025 16:44:59 +0000
Subject: [PATCH 4/4] release: 0.1.0-alpha.1
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 16 ++++++++++++++++
package.json | 2 +-
src/version.ts | 2 +-
4 files changed, 19 insertions(+), 3 deletions(-)
create mode 100644 CHANGELOG.md
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 67dcd73..d7a8735 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.0.1-alpha.0"
+ ".": "0.1.0-alpha.1"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..71fc9fc
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,16 @@
+# Changelog
+
+## 0.1.0-alpha.1 (2025-05-08)
+
+Full Changelog: [v0.0.1-alpha.0...v0.1.0-alpha.1](https://github.com/onkernel/kernel-node-sdk/compare/v0.0.1-alpha.0...v0.1.0-alpha.1)
+
+### Features
+
+* **api:** update via SDK Studio ([68f457e](https://github.com/onkernel/kernel-node-sdk/commit/68f457eb0f66b5b243e682677b0fa34eee685853))
+
+
+### Chores
+
+* configure new SDK language ([bc19eee](https://github.com/onkernel/kernel-node-sdk/commit/bc19eeeb0eea066f8ad69fd1f03038f839108a31))
+* update SDK settings ([c9c482c](https://github.com/onkernel/kernel-node-sdk/commit/c9c482c8ae564005abe75f46300cebea44c26f8f))
+* update SDK settings ([25c177f](https://github.com/onkernel/kernel-node-sdk/commit/25c177ff56b479a6389c79a72d696b4b0bef8f69))
diff --git a/package.json b/package.json
index 74a8d96..054352c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@onkernel/sdk",
- "version": "0.0.1-alpha.0",
+ "version": "0.1.0-alpha.1",
"description": "The official TypeScript library for the Kernel API",
"author": "Kernel <>",
"types": "dist/index.d.ts",
diff --git a/src/version.ts b/src/version.ts
index db692bc..b0bfd9e 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const VERSION = '0.0.1-alpha.0'; // x-release-please-version
+export const VERSION = '0.1.0-alpha.1'; // x-release-please-version