TypeScript client

npm install federiq

The TypeScript client is a thin HTTP wrapper around federiq serve.

Quickstart

import { FederIQ } from "federiq";

const fq = new FederIQ("https://federiq.example.com", {
  token: process.env.FEDERIQ_TOKEN,
});

const { rows } = await fq.query("SELECT 1 AS n");
console.log(rows);

API

class FederIQ {
  constructor(baseUrl: string, opts?: FederIQOptions);
  query(sql: string): Promise<{ rows: unknown[] }>;
  sources(): Promise<string[]>;
  healthz(): Promise<boolean>;
}

interface FederIQOptions {
  token?: string;
  fetch?: typeof fetch;
  timeoutMs?: number;
  headers?: Record<string, string>;
}

Works in any runtime with global fetch — Node 18+, Bun, Deno, and modern browsers.