Skip to main content
@praxa/sdk is the official TypeScript client for the Praxa Integration Gateway. It stores no credential: you supply a short-lived delegated OAuth access token at runtime, and the package contains no embedded secret, provider credential, or execution authority. With a single PraxaClient instance you can submit governed AI agent missions, stream their Server-Sent Event lifecycles, search capabilities, query memory, and inspect traces and skills against the versioned /v8 API surface.

Start in 10 minutes

Install the exact package, create a client, run a mission, resume events, and prove terminal readback.

Configure authentication

Add renewable OAuth, timeouts, retries, redacted telemetry, and contract pinning.

Production checklist

Test tenancy, replay, SSE recovery, observability, deployment, and rollback.

Installation

Install @praxa/sdk with your preferred package manager:

Requirements

  • Node.js >= 20 — the SDK relies on the global fetch, ReadableStream, and TextDecoder APIs that ship in Node 20’s runtime.
  • TypeScript (optional but strongly recommended) — the package ships full type declarations generated directly from the canonical OpenAPI contract. You get end-to-end type safety for every request body and response shape.
  • ESM module support@praxa/sdk is published as an ES module. Your tsconfig.json should target "module": "NodeNext" or "module": "ESNext", and your package.json should include "type": "module" (or use .mts/.mjs file extensions).

What’s Included

@praxa/sdk exports everything you need to interact with the Praxa Integration Gateway:
  • PraxaClient — the main client class. Construct one instance per application and call its methods to create missions, stream events, and query the gateway.
  • PraxaClientError — the typed error class thrown for all HTTP error responses. Carries the HTTP status code and an optional RFC 9457 problem object.
  • PraxaClientOptions — the TypeScript type for the constructor configuration object.
  • All generated contract typesCreateMissionRequest, MissionProjection, PraxaSseEvent, CapabilityRequirement, CapabilityManifest, MemoryQuery, ResourceBudget, Problem, JsonValue, JsonObject, and more, generated deterministically from the canonical OpenAPI document.
  • PRAXA_CONTRACT_VERSION — the Praxa-named export for the stable Aura wire-contract value sent as x-aura-contract-version.
  • PRAXA_OPENAPI_VERSION — the semantic version of the OpenAPI document the SDK was generated from (currently "8.1.0").
  • PRAXA_OPENAPI_SHA256 — the SHA-256 fingerprint of the canonical OpenAPI source, for audit and validation.
  • PRAXA_ROUTE_CONTRACTS — a typed read-only array of every route’s operation ID, HTTP method, path, required OAuth scope, idempotency mode, and response format.
  • Memory federation — a separate dependency-free @praxa/sdk/memory entrypoint for bounded, read-only queries over caller-owned Mem0, Zep, Graphiti, LangGraph, Letta, and OpenAI Agents clients.

Exports

Import the client and error class from the main entry point. Version constants and route-contract metadata are also exported from the same @praxa/sdk package:
You can also import individual generated types for use in your own functions:
Import memory federation from its explicit subpath so gateway contracts and provider adapters stay separate:
The memory entrypoint accepts clients your backend already owns. It reads no environment variable, stores no credential, and implements no provider write or migration. See Memory federation SDK.

Contract Versions

The SDK is generated from a versioned OpenAPI document. Three constants let you verify exactly which contract version your installed package implements: You can assert the expected contract version at startup to guard against accidental package upgrades:

Framework integrations

Connect governed Praxa tools to the Vercel AI SDK, OpenAI, LangChain, or a remote MCP runtime.

PraxaClient Reference

Full constructor options, every method signature, and working code examples.

Mission Events

Stream SSE lifecycle events from a running mission with an async generator.

Error Handling

Catch and inspect PraxaClientError with HTTP status and RFC 9457 problem details.

Run the mission lifecycle tutorial

Create a budgeted mission, resume its event stream, send a signal, cancel it, and verify terminal readback in Node.js, Next.js, or Express.

Integration handbook

Last modified on August 14, 2026