> ## Documentation Index
> Fetch the complete documentation index at: https://docs.praxa.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory federation SDK

> Install the published @praxa/sdk/memory entrypoint and query caller-owned memory providers through a bounded, read-only federation layer.

`@praxa/sdk/memory` is published in `@praxa/sdk@0.3.0`. It is a dependency-free, read-only
federation layer for provider clients and transports that your backend already owns.

## Install

```bash theme={null}
npm install @praxa/sdk@0.3.0
```

## Query an existing LangGraph store

```typescript theme={null}
import {
  MemoryFederation,
  createLangGraphMemorySource,
} from "@praxa/sdk/memory";

const memory = new MemoryFederation({
  sources: [
    createLangGraphMemorySource({
      store,
      mapNamespace: ({ tenantId, subjectId }) => [
        tenantId,
        subjectId,
        "memory",
      ],
    }),
  ],
  maxConcurrency: 4,
  defaultTimeoutMs: 5_000,
});

const result = await memory.recall({
  query: "preferred editor",
  namespace: { tenantId: "acme", subjectId: "person-1" },
  limit: 10,
});
```

The package covers Mem0, LangGraph, Zep, Graphiti, Letta, and OpenAI Agents sessions. Each adapter:

* accepts an injected client or structural transport;
* requires an explicit namespace mapper or session resolver;
* performs no credential discovery;
* exposes no provider-write API;
* bounds time, result count, and payload size;
* preserves source identity, record kind, provenance, and contradictions;
* exposes partial provider failure instead of returning a false empty success.

## Release boundary

The `0.3.0` release passed package verification and a clean install from the public npm registry.
Adapters accept caller-owned clients, require caller-supplied tenant and subject namespace
resolution,
and implement no provider write, import, mirror, cutover, or hosted `/v1/memory` client.

Use the [CLI dry runs](/memory-federation/cli) to inspect local project metadata without a
credential or provider write. The [hosted candidate API](/memory-federation/api) has a separate
deployment and authorization boundary.
