Skip to content

Commit 9254830

Browse files
authored
Merge pull request #20 from kernel/release-please--branches--main--changes--next--components--hypeman
release: 0.7.0
2 parents af6c89a + 949aeb6 commit 9254830

14 files changed

Lines changed: 287 additions & 12 deletions

.release-please-manifest.json

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

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
configured_endpoints: 61
1+
configured_endpoints: 62

CHANGELOG.md

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

3+
## [0.7.0](https://github.com/kernel/hypeman-ts/compare/v0.6.0...v0.7.0) (2026-08-17)
4+
5+
6+
### Features
7+
8+
* add Python SDK WebSocket primitives ([b038e6f](https://github.com/kernel/hypeman-ts/commit/b038e6f5153fb7311cbefe74d7630ac81f19f12c))
9+
* Point at pending stlc seal-tracking PRs ([9145d06](https://github.com/kernel/hypeman-ts/commit/9145d064670b4eb38fea6f4bf0f5c9f3b46653d2))
10+
311
## [0.6.0](https://github.com/kernel/hypeman-ts/compare/v0.5.1...v0.6.0) (2026-08-12)
412

513

api.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,22 @@ Methods:
1414

1515
- <code title="get /health">client.health.<a href="./src/resources/health.ts">check</a>() -> HealthCheckResponse</code>
1616

17+
# Capabilities
18+
19+
Types:
20+
21+
- <code><a href="./src/resources/capabilities.ts">Capabilities</a></code>
22+
- <code><a href="./src/resources/capabilities.ts">CapabilitiesDefaultRuntime</a></code>
23+
- <code><a href="./src/resources/capabilities.ts">CapabilitiesHost</a></code>
24+
- <code><a href="./src/resources/capabilities.ts">CapabilitiesImages</a></code>
25+
- <code><a href="./src/resources/capabilities.ts">CapabilitiesNetwork</a></code>
26+
- <code><a href="./src/resources/capabilities.ts">CapabilitiesRuntime</a></code>
27+
- <code><a href="./src/resources/capabilities.ts">CapabilitiesServer</a></code>
28+
29+
Methods:
30+
31+
- <code title="get /capabilities">client.capabilities.<a href="./src/resources/capabilities.ts">get</a>() -> Capabilities</code>
32+
1733
# Images
1834

1935
Types:

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onkernel/hypeman",
3-
"version": "0.6.0",
3+
"version": "0.7.0",
44
"description": "The official TypeScript library for the Hypeman API",
55
"author": "Hypeman <>",
66
"types": "dist/index.d.ts",

src/client.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,15 @@ import {
3737
BuildStatus,
3838
Builds,
3939
} from './resources/builds';
40+
import {
41+
Capabilities,
42+
CapabilitiesDefaultRuntime,
43+
CapabilitiesHost,
44+
CapabilitiesImages,
45+
CapabilitiesNetwork,
46+
CapabilitiesRuntime,
47+
CapabilitiesServer,
48+
} from './resources/capabilities';
4049
import {
4150
AvailableDevice,
4251
Device,
@@ -850,6 +859,7 @@ export class Hypeman {
850859
static toFile = Uploads.toFile;
851860

852861
health: API.Health = new API.Health(this);
862+
capabilities: API.Capabilities = new API.Capabilities(this);
853863
images: API.Images = new API.Images(this);
854864
instances: API.Instances = new API.Instances(this);
855865
snapshots: API.Snapshots = new API.Snapshots(this);
@@ -878,6 +888,16 @@ export declare namespace Hypeman {
878888

879889
export { Health as Health, type HealthCheckResponse as HealthCheckResponse };
880890

891+
export {
892+
type Capabilities as Capabilities,
893+
type CapabilitiesDefaultRuntime as CapabilitiesDefaultRuntime,
894+
type CapabilitiesHost as CapabilitiesHost,
895+
type CapabilitiesImages as CapabilitiesImages,
896+
type CapabilitiesNetwork as CapabilitiesNetwork,
897+
type CapabilitiesRuntime as CapabilitiesRuntime,
898+
type CapabilitiesServer as CapabilitiesServer,
899+
};
900+
881901
export {
882902
Images as Images,
883903
type Image as Image,

src/resources/capabilities.ts

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import { APIResource } from '../core/resource';
4+
import { APIPromise } from '../core/api-promise';
5+
import { RequestOptions } from '../internal/request-options';
6+
7+
export class Capabilities extends APIResource {
8+
/**
9+
* Returns machine-readable host capabilities: server and API version, host
10+
* OS/architecture, every runtime available on this host with its per-runtime
11+
* feature IDs, the configured default runtime and whether it is available, guest
12+
* networking model and host gateway, supported image platforms, and stable
13+
* server-level feature IDs.
14+
*
15+
* Runtime-derived values reflect the actual host (for example, snapshot and
16+
* standby support on macOS is gated on the host OS version), so clients can gate
17+
* behavior on capabilities without hard-coding hypervisor knowledge.
18+
*/
19+
get(options?: RequestOptions): APIPromise<Capabilities> {
20+
return this._client.get('/capabilities', options);
21+
}
22+
}
23+
24+
export interface Capabilities {
25+
default_runtime: CapabilitiesDefaultRuntime;
26+
27+
/**
28+
* Stable server-level feature IDs: API surfaces this server exposes regardless of
29+
* which runtime backs an instance. Always present: "instances", "images",
30+
* "builds", "volumes", "ingress", "exec", "logs". Host-conditional: "devices"
31+
* (device passthrough management, Linux hosts only) and "rosetta-emulation" (Apple
32+
* Silicon macOS hosts with Rosetta currently installed, per the same availability
33+
* probe launches enforce). Per-runtime features are reported under each runtimes[]
34+
* entry.
35+
*/
36+
features: Array<string>;
37+
38+
host: CapabilitiesHost;
39+
40+
images: CapabilitiesImages;
41+
42+
network: CapabilitiesNetwork;
43+
44+
/**
45+
* Every runtime this server build supports on this host platform, each with its
46+
* own availability flag and feature IDs. Hosts commonly support several runtimes
47+
* at once (for example cloud-hypervisor, firecracker, qemu, and qemu-microvm on
48+
* linux/amd64). A listed runtime is only launchable when its "available" flag is
49+
* true. Entries are sorted by name.
50+
*/
51+
runtimes: Array<CapabilitiesRuntime>;
52+
53+
server: CapabilitiesServer;
54+
}
55+
56+
export interface CapabilitiesDefaultRuntime {
57+
/**
58+
* Whether the default runtime can launch on this host: it appears in runtimes and
59+
* its launch prerequisites are met (matches that entry's "available"). When false,
60+
* launches that rely on the default will fail until the server is reconfigured
61+
* with an available runtime or the missing prerequisite (for example the QEMU
62+
* system binary) is installed.
63+
*/
64+
available: boolean;
65+
66+
/**
67+
* Runtime used for launches that do not name one
68+
*/
69+
name: string;
70+
}
71+
72+
export interface CapabilitiesHost {
73+
/**
74+
* Host CPU architecture
75+
*/
76+
arch: string;
77+
78+
/**
79+
* Host operating system
80+
*/
81+
os: string;
82+
}
83+
84+
export interface CapabilitiesImages {
85+
/**
86+
* Image platform selected when a create request omits one
87+
*/
88+
default_platform: string;
89+
90+
/**
91+
* Image platforms (os/arch) this host can run. On Apple Silicon macOS this
92+
* includes linux/amd64 only when Rosetta is currently installed — probed via the
93+
* same Virtualization.framework availability check launches enforce — so a listed
94+
* platform is launchable right now. Install Rosetta (softwareupdate
95+
* --install-rosetta) to enable it.
96+
*/
97+
platforms: Array<string>;
98+
}
99+
100+
export interface CapabilitiesNetwork {
101+
/**
102+
* Whether direct VM-to-VM traffic is permitted on the default network
103+
*/
104+
guest_to_guest: boolean;
105+
106+
/**
107+
* Guest networking model. "bridge" is a Linux bridge with per-VM TAP devices;
108+
* "nat" is hypervisor-provided NAT (macOS).
109+
*/
110+
model: 'bridge' | 'nat';
111+
112+
/**
113+
* Guest-visible host gateway IP. Guests reach host services (including host
114+
* ingress) through this address. Omitted when no default network has been resolved
115+
* on this host yet.
116+
*/
117+
gateway?: string;
118+
119+
/**
120+
* Guest subnet CIDR
121+
*/
122+
subnet?: string;
123+
}
124+
125+
export interface CapabilitiesRuntime {
126+
/**
127+
* Whether this runtime's launch prerequisites are currently met on this host.
128+
* Listed runtimes are supported by this server build on this platform;
129+
* available=false means a host prerequisite is missing (for example qemu requires
130+
* a runnable system-installed QEMU binary and the host vhost-vsock device) and
131+
* launches naming this runtime will fail until it is installed.
132+
*/
133+
available: boolean;
134+
135+
/**
136+
* Stable feature IDs supported by this runtime on this host: "snapshots"
137+
* (snapshot/restore), "standby" (pause + memory snapshot, with later restore),
138+
* "fork" (clone an instance from a stopped source; forking a standby or running
139+
* source restores/creates snapshots and additionally requires "standby"), "pause"
140+
* (pause/resume), "hotplug-memory" (live memory resize), "balloon-control"
141+
* (runtime balloon target changes), "vsock" (guest vsock communication),
142+
* "gpu-passthrough" (GPU/PCI device passthrough), "disk-io-limit" (disk I/O rate
143+
* limiting), "disk-resize" (live disk resize). Values are host- and
144+
* configuration-truthful: vz omits snapshots and standby on macOS 13, which lacks
145+
* Virtualization.framework VM save/restore, while still advertising fork
146+
* (stopped-source clones need no save/restore there), and cloud-hypervisor reports
147+
* "disk-resize" only when the configured default version supports it.
148+
*/
149+
features: Array<string>;
150+
151+
/**
152+
* Runtime identifier
153+
*/
154+
name: string;
155+
}
156+
157+
export interface CapabilitiesServer {
158+
/**
159+
* API contract version (matches the OpenAPI document info version)
160+
*/
161+
api_version: string;
162+
163+
/**
164+
* Server build version (short git revision, with "-dirty" suffix for uncommitted
165+
* builds, or "unknown")
166+
*/
167+
version: string;
168+
}
169+
170+
export declare namespace Capabilities {
171+
export {
172+
type Capabilities as Capabilities,
173+
type CapabilitiesDefaultRuntime as CapabilitiesDefaultRuntime,
174+
type CapabilitiesHost as CapabilitiesHost,
175+
type CapabilitiesImages as CapabilitiesImages,
176+
type CapabilitiesNetwork as CapabilitiesNetwork,
177+
type CapabilitiesRuntime as CapabilitiesRuntime,
178+
type CapabilitiesServer as CapabilitiesServer,
179+
};
180+
}

src/resources/images.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
import { APIResource } from '../core/resource';
4+
import * as PushesAPI from './pushes';
45
import { APIPromise } from '../core/api-promise';
56
import { buildHeaders } from '../internal/headers';
67
import { RequestOptions } from '../internal/request-options';
@@ -139,6 +140,14 @@ export interface ImageCreateParams {
139140
*/
140141
name: string;
141142

143+
/**
144+
* Docker-style registry credentials borrowed for one image pull or push request.
145+
* They remain in memory and are never persisted or logged. When omitted or empty,
146+
* the server's own registry credentials are used. An interrupted credentialed
147+
* operation must be retried with fresh credentials.
148+
*/
149+
credentials?: PushesAPI.PushCredentials;
150+
142151
/**
143152
* Target platform as os/arch[/variant] (e.g. "linux/amd64"), matching Docker
144153
* --platform. Omit for the host platform. Not a fixed enum: the os/arch[/variant]

src/resources/index.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,15 @@ export {
2121
type BuildListParams,
2222
type BuildEventsParams,
2323
} from './builds';
24+
export {
25+
Capabilities,
26+
type CapabilitiesDefaultRuntime,
27+
type CapabilitiesHost,
28+
type CapabilitiesImages,
29+
type CapabilitiesNetwork,
30+
type CapabilitiesRuntime,
31+
type CapabilitiesServer,
32+
} from './capabilities';
2433
export {
2534
Devices,
2635
type AvailableDevice,

0 commit comments

Comments
 (0)