@voult/core

The Voult auth router on the Fetch API: Request → Response.

You probably want an adapter instead: @voult/express for Express, @voult/next for Next.js (coming soon). They depend on this package; apps don't install it directly.

For adapter authors

import { createVoultHandler, loadConfigFromEnv } from '@voult/core';

const handle = createVoultHandler(loadConfigFromEnv());

// Any Fetch API runtime: a Next.js route handler, a Worker, Bun, Deno, Node 20+.
export async function fetch(request) {
  return handle(request, { basePath: '/api/auth' });
}

getSessionFromRequest(request, config) gives you the request's VoultClient with its session restored, for server-side helpers like getSession().

@voult/sdk is a peer dependency. Node 20+ (needs fetch and WebCrypto).