Lightweight TypeScript client for the Hew Playground API.
npm install @hew-lang/playground-clientimport { HewPlaygroundClient } from '@hew-lang/playground-client';
const client = new HewPlaygroundClient('https://livecode-v1.hew.sh');
const result = await client.run('fn main() { println("hello"); }');
console.log(result.stdout);- Works in modern browsers.
- Works in Node.js when
fetchis available globally. - For older runtimes or custom transport, pass your own
fetchimplementation in the client options.
import { HewPlaygroundClient } from '@hew-lang/playground-client';
const client = new HewPlaygroundClient({
baseUrl: 'https://livecode-v1.hew.sh',
headers: {
Authorization: 'Bearer <token>',
},
});| Option | Type | Description |
|---|---|---|
baseUrl |
string |
Base URL of the playground server. |
fetch |
PlaygroundFetch |
Optional custom fetch implementation. |
headers |
PlaygroundHeadersInit |
Optional default headers added to every request. |
The client mirrors the HTTP API with typed methods:
| Method | Description |
|---|---|
health() |
Returns the plain-text health response. |
run(sourceOrRequest) |
Compiles and runs Hew source code. |
listExamples() |
Lists built-in example programs. |
createShare(sourceOrRequest) |
Stores source code and returns a share ID. |
getShare(id) |
Fetches a previously shared snippet. |
The package exports these request/response types:
RunRequest,RunResponseExampleShareRequest,ShareResponse,ShareGetResponseErrorResponsePlaygroundClientOptionsPlaygroundApiError
Non-2xx HTTP responses throw PlaygroundApiError.
import { HewPlaygroundClient, PlaygroundApiError } from '@hew-lang/playground-client';
const client = new HewPlaygroundClient('https://livecode-v1.hew.sh');
try {
const share = await client.createShare('fn main() { println(1); }');
console.log(share.id);
} catch (error) {
if (error instanceof PlaygroundApiError) {
console.error(error.status, error.body);
}
}run() has one important API-level nuance: compile failures still come back as a normal JSON RunResponse, so check success, compile_error, and exit_code rather than assuming every unsuccessful program run throws.
openapi.json— machine-readable HTTP API specification.hew-playground-client.ts— canonical single-file SDK source if you want to vendor the client directly.
For a local checkout of this repository, you can swap the import path to ./hew-playground-client.
MIT License. Copyright (c) 2026 Stephen Olesen.