TypeScript SDK.
The official Node and browser client. Strict types. ESM + CJS. Works in Bun and Deno. Source on GitHub at wrxstack/sdk-typescript.
Install
npm install wrxstack
# or
pnpm add wrxstack
yarn add wrxstack
bun add wrxstack Quickstart
import { Client } from "wrxstack"; const client = new Client(); const task = await client.tasks.create({ title: "Review MSA", assignee: "priya@acme.com", }); const run = await client.assistants.invoke({ assistant: "redline", input: { task_id: task.id }, }); console.log(run.output);
Configuration
const client = new Client({ apiKey: process.env.WRX_API_KEY, workspace: process.env.WRX_WORKSPACE, baseUrl: "https://api.wrxstack.com/v1", timeout: 30_000, maxRetries: 3, });
Method index
Same surface as the Python SDK. The TypeScript SDK uses camelCase for fields:
await client.tasks.create({ title: "…", due: "2026-05-22", // snake_case → camelCase about: ["acc_01HQ3K..."], });
Streaming
For long-running assistant invocations, use streaming mode. You get partial step results as they happen.
for await (const step of client.assistants.invokeStream({ assistant: "redline", input: { task_id: "tsk_..." }, })) { console.log(step.tool, step.status); }
Errors
import { NotFound, RateLimited } from "wrxstack/errors"; try { await client.tasks.get("tsk_does_not_exist"); } catch (e) { if (e instanceof NotFound) handleMissing(); if (e instanceof RateLimited) await sleep(e.retryAfterMs); }