Skip to main content

TypeScript / Node.js SDK

Official hatiOS TypeScript SDK — OpenAI-compatible interface with full governance built in.

Installation

npm install @hatios/sdk
# or: yarn add @hatios/sdk | pnpm add @hatios/sdk

Quick Start

index.ts
import { HatiOS } from '@hatios/sdk';

const hatios = new HatiOS({
apiKey: process.env.HATIOS_API_KEY,
});

const response = await hatios.chat.completions.create({
model: 'gpt-4o',
messages: [
{ role: 'system', content: 'You are a procurement agent.' },
{ role: 'user', content: 'Find Q1 logistics vendors under $8000' }
],
hatios: {
session_id: 'procurement-q1-2026',
metadata: { department: 'operations' }
}
});

console.log(response.choices[0].message);
console.log(response.hatios.trace_id);

Streaming

stream.ts
const stream = await hatios.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Summarize the report' }],
stream: true,
});

for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
}

Handling Interventions

intervention.ts
// Listen for intervention events
hatios.on('intervention', (event) => {
console.log('Agent paused:', event.reason);
console.log('Policy:', event.policy_id);
});

SDK Methods

MethodDescription
chat.completions.create()Send chat completion through proxy
agents.list()List all registered agents
agents.create()Register a new agent
policies.list()List active policies
policies.test()Test policy against sample input
sessions.get()Get session details and traces
interventions.resolve()Submit human input for intervention
on(event, handler)Subscribe to real-time events