← Back to Docs

Node.js SDK

Compression SDK for OpenAI. TypeScript-first, streaming support.

Installation

npm install agentready-sdk openai

Method 1: Compress + Call (Recommended)

Compress your messages first, then call OpenAI directly:

import { compress } from 'agentready-sdk';
import OpenAI from 'openai';

// Step 1 — compress
const { messages, stats } = await compress({
  apiKey: process.env.AGENTREADY_API_KEY,
  messages: [{ role: 'user', content: longPrompt }],
});

// Step 2 — call OpenAI directly
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const response = await client.chat.completions.create({
  model: 'gpt-4o',
  messages,
});

Compress with Options

import { compress } from 'agentready-sdk';
import OpenAI from 'openai';

const { messages, stats } = await compress({
  apiKey: process.env.AGENTREADY_API_KEY,
  messages: [{ role: 'user', content: 'Hello!' }],
  level: 'medium',        // light, medium, aggressive
  preserveCode: true,
});

const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const response = await client.chat.completions.create({
  model: 'gpt-4o',
  messages,
});

Method 2: Batch Compression

import { compress } from 'agentready-sdk';

// Compress multiple conversations in parallel
const results = await Promise.all([
  compress({ apiKey: process.env.AGENTREADY_API_KEY, messages: conversation1 }),
  compress({ apiKey: process.env.AGENTREADY_API_KEY, messages: conversation2 }),
]);
// Each result contains { messages, stats }

Method 3: Compression Stats

import { compress } from 'agentready-sdk';

const { messages, stats } = await compress({
  apiKey: process.env.AGENTREADY_API_KEY,
  messages: [{ role: 'user', content: longPrompt }],
});

console.log(stats.tokensSaved);      // 1,247
console.log(stats.reductionPercent); // 52.3
console.log(stats.savingsUsd);       // 0.0374

Streaming

Compress first, then stream with OpenAI as usual:

import { compress } from 'agentready-sdk';
import OpenAI from 'openai';

const { messages } = await compress({
  apiKey: process.env.AGENTREADY_API_KEY,
  messages: [{ role: 'user', content: longPrompt }],
});

const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const stream = await client.chat.completions.create({
  model: 'gpt-4o',
  messages,
  stream: true,
});

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

Vercel AI SDK

import { compress } from 'agentready-sdk';

// Compress before passing to Vercel AI SDK
const { messages } = await compress({
  apiKey: process.env.AGENTREADY_API_KEY,
  messages: conversationMessages,
});
// Use compressed messages with your AI provider

Manual Compression

import { AgentReady } from 'agentready-sdk';

const ar = new AgentReady(process.env.AGENTREADY_API_KEY);
const result = await ar.compress('Your very long prompt...');
console.log(result.text);             // compressed
console.log(result.tokensSaved);      // 1,247
console.log(result.reductionPercent); // 52.3

Pricing

Beta — Free unlimited usage. After beta: pay-per-token, ~60% less than direct API costs.