Node / TypeScript quickstart
Fire Mission is wire-compatible with the official OpenAI and Anthropic JavaScript SDKs. Works with Node 18+ and modern bundlers (Vite, Next.js, Remix, SvelteKit).
1. Install
npm install openai @anthropic-ai/sdk2. OpenAI SDK (chat completions)
hello.ts typescript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FIRE_MISSION_KEY, // fm_live_...
baseURL: "https://firemission.us/v1",
});
const resp = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "Hello" }],
});
console.log(resp.choices[0].message.content);3. Streaming
stream.ts typescript
const stream = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "Stream a haiku." }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}4. Anthropic SDK (messages)
anthropic.ts typescript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.FIRE_MISSION_KEY,
baseURL: "https://firemission.us/v1",
});
const msg = await client.messages.create({
model: "claude-3-5-sonnet-latest",
max_tokens: 256,
messages: [{ role: "user", content: "Hello" }],
});
console.log(msg.content[0]);5. Optional: MoE auto-routing
moe.ts typescript
const resp = await client.chat.completions.create(
{
model: "firemission/auto",
messages: [{ role: "user", content: "Summarize." }],
},
{ headers: { "x-fm-route": "cost" } }, // cost|speed|quality|balanced
);Edge / Workers
Both SDKs ship Web-Fetch builds, so Fire Mission works unchanged on Cloudflare
Workers, Vercel Edge, and Deno Deploy. Set baseURL the same way —
no extra polyfills required.