JavaScript SDK

Official JavaScript/TypeScript SDK for the Doorway reasoning engine.

Installation

bash
npm install @doorway/sdk

Quick start

typescript
import { Doorway } from "@doorway/sdk";

const dw = new Doorway({ apiKey: "dw_live_..." });

// Single reasoning call
const result = await dw.run("What is structural emergence?");
console.log(result.status);          // "GROUND"
console.log(result.content.answer);  // The structured answer

// Multi-turn conversation
const session = dw.session("emergence");
const r1 = await session.run("What is structural emergence?");
const r2 = await session.run("How does it differ from chaos?");

console.log(r2.chain.length);    // 2
console.log(r2.chain.verified);  // true

Configuration

typescript
// Environment variable (recommended for Node.js)
// DOORWAY_API_KEY="dw_live_..."
const dw = new Doorway();

// Explicit key
const dw = new Doorway({ apiKey: "dw_live_..." });

// ASI tier
const dw = new Doorway({ tier: "asi" });

// Custom endpoint
const dw = new Doorway({ baseUrl: "https://custom.endpoint.com" });

Error handling

typescript
import { Doorway, DoorwayError, TierError } from "@doorway/sdk";

const dw = new Doorway();

try {
  const result = await dw.run("test input");
} catch (error) {
  if (error instanceof TierError) {
    console.error("ASI feature requested on AGI tier");
  } else if (error instanceof DoorwayError) {
    console.error(`Engine error: ${error.message}`);
  }
}