Athena

Experimental options

Opt-in to experimental features or debug functionality on the client

Instantiate a client

import { type BackendType, createClient } from "@xylex-group/athena";

export const athena = createClient(
  String(process.env.NEXT_PUBLIC_ATHENA_GATEWAY_URL),
  String(process.env.NEXT_PUBLIC_ATHENA_GATEWAY_KEY),
  {
    auth: {
      baseUrl: String(process.env.NEXT_PUBLIC_ATHENA_AUTH_UPSTREAM_URL),
    },
    backend: "athena" as BackendType,
    experimental: {
      traceQueries: true,
      findManyAst: true,
    },
    client: String(process.env.NEXT_PUBPIC_ATHENA_GATEWAY_CLIENT),
  },
);

findManyAst remains an Athena.js client option, but the current public Athena server contract still treats the compiled transport as canonical. Top-level AST /gateway/fetch request bodies are not supported public input on this server release.