A small, npm-first AI wrapper for JavaScript and TypeScript. One message and tool-calling API across language providers, with separate interfaces for native live models, speech, and agents.
npm install aiwrapperRequires Node.js 20+ or a modern browser. The package is ESM; browser requests also depend on provider CORS support. Keep long-lived API keys on your server. The API is evolving and may change between releases.
import { Lang } from "aiwrapper";
const lang = Lang.openai({ apiKey: process.env.OPENAI_API_KEY! });
const result = await lang.ask("Explain closures in one sentence.");
console.log(result.answer);
result.addUserMessage("Show a JavaScript example.");
const followUp = await lang.chat(result);
console.log(followUp.answer);See language providers for provider selection, streaming, structured output, images, custom endpoints, and AWS Bedrock.
import { ChatAgent, Lang, LangMessage } from "aiwrapper";
const agent = new ChatAgent(
Lang.openai({ apiKey: process.env.OPENAI_API_KEY! }),
{ tools: [{
name: "get_time",
description: "Get the current UTC time",
parameters: { type: "object", properties: {} },
handler: () => ({ now: new Date().toISOString() }),
}] },
);
const result = await agent.run([new LangMessage("user", "What time is it?")]);
console.log(result.answer);ChatAgent keeps history and handles the model/tool loop. See
agents and tools for cancellation, events, and tool results.
import { LiveLang } from "aiwrapper";
const session = await LiveLang.openai({
apiKey: process.env.OPENAI_API_KEY!,
}).connect({
instructions: "Keep spoken answers brief.",
onEvent: event => console.log(event),
});
// Supply PCM frames from your application's microphone transport.
await session.appendAudio(microphoneFrame);
await session.close();See live sessions for Gemini and other native voice providers, speech for transcription and synthesis, or realtime agents for an STT → LLM → TTS pipeline.
The browser playground includes chat, speech, realtime agents, and native live voice. Start with the documentation index for setup, tests, and development rules.