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/sdk

2. 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.