Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/hypeman-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
Expand All @@ -46,7 +46,7 @@ jobs:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
Expand All @@ -67,7 +67,7 @@ jobs:
- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/hypeman-typescript'
id: github-oidc
uses: actions/github-script@v6
uses: actions/github-script@v8
with:
script: core.setOutput('github_token', await core.getIDToken());

Expand All @@ -84,7 +84,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/hypeman-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish-npm.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 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/hypeman-ts/actions/workflows/publish-npm.yml
# You can run this workflow by navigating to https://www.github.com/kernel/hypeman-ts/actions/workflows/publish-npm.yml
name: Publish NPM
on:
workflow_dispatch:
Expand All @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:
release_doctor:
name: release doctor
runs-on: ubuntu-latest
if: github.repository == 'onkernel/hypeman-ts' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')
if: github.repository == 'kernel/hypeman-ts' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Check release environment
run: |
Expand Down
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.1.0"
".": "0.2.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 30
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fhypeman-cfdd18a303e2e6c87d671e6ae3ecdcd1d9642b053c2ef6bc507eee3f55cc6aa8.yml
openapi_spec_hash: 0b038c955d95740ace74103a9c18d5a3
config_hash: f65a6a2bcef49a9f623212f9de6d6f6f
configured_endpoints: 36
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fhypeman-fbe706932aedef16a8bb04fe361b1e8659ae074ff9122f4e9e28914087a677b8.yml
openapi_spec_hash: 6ba4858b44cb317676c58f33bfa1426a
config_hash: 542144891263a3626eabcb2fd4f4f3e5
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## 0.2.0 (2026-01-28)

Full Changelog: [v0.1.0...v0.2.0](https://github.com/kernel/hypeman-ts/compare/v0.1.0...v0.2.0)

### Features

* add boot time optimizations for faster VM startup ([20a98ea](https://github.com/kernel/hypeman-ts/commit/20a98ea15491dc399f57ea5cc5d10f2549d1c4bd))
* Add to stainless config new API endpoints ([72cbe88](https://github.com/kernel/hypeman-ts/commit/72cbe8848676023c5cc9c270d5936c37ddf3e3f3))
* Add vGPU support ([4eade24](https://github.com/kernel/hypeman-ts/commit/4eade24f03d1e9ef5d62757ae8a9bc3a0f446f13))
* **api:** manual updates ([5534841](https://github.com/kernel/hypeman-ts/commit/5534841c1706682c4a75e502afafb3f1f399069c))
* **builds:** implement two-tier build cache with per-repo token scopes ([53c9b24](https://github.com/kernel/hypeman-ts/commit/53c9b248c245c1cb5f1e0dae46a1448de430c283))
* Resource accounting ([57ff511](https://github.com/kernel/hypeman-ts/commit/57ff511aa73bbc08b67496d7b807418b9342dc87))


### Chores

* break long lines in snippets into multiline ([48ae7b9](https://github.com/kernel/hypeman-ts/commit/48ae7b93d321533d96fc9e5be246450fb93eb725))
* **ci:** upgrade `actions/github-script` ([46d5e26](https://github.com/kernel/hypeman-ts/commit/46d5e26a7c2d5f53b4a9d88558d0f96561cf1b7d))
* **internal:** update `actions/checkout` version ([ba20375](https://github.com/kernel/hypeman-ts/commit/ba2037568735937bda37a9ca386c781eb00e723a))
* **internal:** update lock file ([8593b7c](https://github.com/kernel/hypeman-ts/commit/8593b7c196af2b6b63121135a5a3dc18edfec04e))
* **internal:** upgrade babel, qs, js-yaml ([cad9e24](https://github.com/kernel/hypeman-ts/commit/cad9e2468b82a08e525c728e61a1e7266e1fc1b7))
* **internal:** upgrade brace-expansion and @babel/helpers ([bef9226](https://github.com/kernel/hypeman-ts/commit/bef9226de43a88d06e8a9688b7701e44c311ebf4))

## 0.1.0 (2025-12-23)

Full Changelog: [v0.0.2...v0.1.0](https://github.com/onkernel/hypeman-ts/compare/v0.0.2...v0.1.0)
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ 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:onkernel/hypeman-ts.git
$ npm install git+ssh://git@github.com:kernel/hypeman-ts.git
```

Alternatively, to link a local copy of the repo:

```sh
# Clone
$ git clone https://www.github.com/onkernel/hypeman-ts
$ git clone https://www.github.com/kernel/hypeman-ts
$ cd hypeman-ts

# With yarn
Expand Down Expand Up @@ -99,7 +99,7 @@ the changes aren't made through the automated pipeline, you may want to make rel

### Publish with a GitHub workflow

You can release to package managers by using [the `Publish NPM` GitHub action](https://www.github.com/onkernel/hypeman-ts/actions/workflows/publish-npm.yml). This requires a setup organization or repository secret to be set up.
You can release to package managers by using [the `Publish NPM` GitHub action](https://www.github.com/kernel/hypeman-ts/actions/workflows/publish-npm.yml). This requires a setup organization or repository secret to be set up.

### Publish manually

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2025 Hypeman
Copyright 2026 Hypeman

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
31 changes: 30 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,35 @@ const response: Hypeman.HealthCheckResponse = await client.health.check();

Documentation for each method, request param, and response field are available in docstrings and will appear on hover in most modern editors.

## File uploads

Request parameters that correspond to file uploads can be passed in many different forms:

- `File` (or an object with the same structure)
- a `fetch` `Response` (or an object with the same structure)
- an `fs.ReadStream`
- the return value of our `toFile` helper

```ts
import fs from 'fs';
import Hypeman, { toFile } from '@onkernel/hypeman';

const client = new Hypeman();

// If you have access to Node `fs` we recommend using `fs.createReadStream()`:
await client.builds.create({ source: fs.createReadStream('/path/to/file') });

// Or if you have the web `File` API you can pass a `File` instance:
await client.builds.create({ source: new File(['my bytes'], 'file') });

// You can also pass a `fetch` `Response`:
await client.builds.create({ source: await fetch('https://somesite/file') });

// Finally, if none of the above are convenient, you can use our `toFile` helper:
await client.builds.create({ source: await toFile(Buffer.from('my bytes'), 'file') });
await client.builds.create({ source: await toFile(new Uint8Array([0, 1, 2]), 'file') });
```

## Handling errors

When the library is unable to connect to the API,
Expand Down Expand Up @@ -332,7 +361,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/onkernel/hypeman-ts/issues) with questions, bugs, or suggestions.
We are keen for your feedback; please open an [issue](https://www.github.com/kernel/hypeman-ts/issues) with questions, bugs, or suggestions.

## Requirements

Expand Down
35 changes: 35 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,38 @@ Methods:
- <code title="get /ingresses">client.ingresses.<a href="./src/resources/ingresses.ts">list</a>() -> IngressListResponse</code>
- <code title="delete /ingresses/{id}">client.ingresses.<a href="./src/resources/ingresses.ts">delete</a>(id) -> void</code>
- <code title="get /ingresses/{id}">client.ingresses.<a href="./src/resources/ingresses.ts">get</a>(id) -> Ingress</code>

# Resources

Types:

- <code><a href="./src/resources/resources.ts">DiskBreakdown</a></code>
- <code><a href="./src/resources/resources.ts">GPUProfile</a></code>
- <code><a href="./src/resources/resources.ts">GPUResourceStatus</a></code>
- <code><a href="./src/resources/resources.ts">PassthroughDevice</a></code>
- <code><a href="./src/resources/resources.ts">ResourceAllocation</a></code>
- <code><a href="./src/resources/resources.ts">ResourceStatus</a></code>
- <code><a href="./src/resources/resources.ts">Resources</a></code>

Methods:

- <code title="get /resources">client.resources.<a href="./src/resources/resources.ts">get</a>() -> Resources</code>

# Builds

Types:

- <code><a href="./src/resources/builds.ts">Build</a></code>
- <code><a href="./src/resources/builds.ts">BuildEvent</a></code>
- <code><a href="./src/resources/builds.ts">BuildPolicy</a></code>
- <code><a href="./src/resources/builds.ts">BuildProvenance</a></code>
- <code><a href="./src/resources/builds.ts">BuildStatus</a></code>
- <code><a href="./src/resources/builds.ts">BuildListResponse</a></code>

Methods:

- <code title="post /builds">client.builds.<a href="./src/resources/builds.ts">create</a>({ ...params }) -> Build</code>
- <code title="get /builds">client.builds.<a href="./src/resources/builds.ts">list</a>() -> BuildListResponse</code>
- <code title="delete /builds/{id}">client.builds.<a href="./src/resources/builds.ts">cancel</a>(id) -> void</code>
- <code title="get /builds/{id}/events">client.builds.<a href="./src/resources/builds.ts">events</a>(id, { ...params }) -> BuildEvent</code>
- <code title="get /builds/{id}">client.builds.<a href="./src/resources/builds.ts">get</a>(id) -> Build</code>
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "@onkernel/hypeman",
"version": "0.1.0",
"version": "0.2.0",
"description": "The official TypeScript library for the Hypeman API",
"author": "Hypeman <>",
"types": "dist/index.d.ts",
"main": "dist/index.js",
"type": "commonjs",
"repository": "github:onkernel/hypeman-ts",
"repository": "github:kernel/hypeman-ts",
"license": "Apache-2.0",
"packageManager": "pnpm@10.24.0",
"files": [
Expand Down
Loading