Today we're releasing Eidentic, an open-source TypeScript SDK for building AI agents with self-improving memory and the production fundamentals built in — not bolted on. It's Apache-2.0, with no enterprise tier, and it runs on Node, Bun, Deno, and the edge.
The two things you keep rebuilding
Every serious agent eventually needs the same two things, and most stacks make you assemble both yourself.
The first is memory that actually improves. Not a vector store you query and paste into a prompt, but something that remembers across sessions, resolves contradictions, and gets sharper the longer it runs. The second is the production layer: durable runs, cost limits that are actually enforced, multi-tenant isolation, sandboxed tools, evals that gate CI. In most ecosystems that layer shows up late, as an enterprise add-on, or never.
Eidentic ships both, in one composable package, fully open.
Thirty seconds to a memory-backed agent
npm install eidentic
import { Agent, AIModel, SqliteStore } from "eidentic";
import { anthropic } from "@ai-sdk/anthropic";
const agent = new Agent({
id: "support",
instructions: "You are a support agent. Remember the user.",
model: new AIModel(anthropic("claude-sonnet-4-5")),
store: new SqliteStore("./eidentic.sqlite"),
});
for await (const ev of agent.query("What did we decide last week?", {
sessionId: "u-42",
})) {
if (ev.type === "stream.delta") process.stdout.write(ev.delta.text);
}
The agent recalls prior sessions for that sessionId inside query(), with citations, and consolidates what it learned while idle. Swap SqliteStore for @eidentic/libsql or @eidentic/postgres and the agent code doesn't change — that's the ports-and-adapters design running through the whole SDK.
What's in the box
- A four-tier memory engine: lexical + vector recall, self-editing memory blocks, a temporal knowledge graph, and sleep-time consolidation.
- Durable execution — checkpoint and resume with exactly-once tool dispatch.
- Enforced cost ceilings, rate limits, quotas, and multi-tenant isolation.
- Sandboxed tools, deny-by-default permissions, and one-call GDPR erasure.
- An eval harness with a CI pass-rate gate, an MCP host + server with OAuth, and A2A.
- First-class React hooks, a Next.js handler, and a CLI.
Honest about where we are
Eidentic is pre-1.0 and stabilizing toward v1. We'd rather over-disclose gaps than oversell, so we publish our benchmarks in full — including the ones we lose. On LongMemEval, memory beats a full-context baseline by 14.2 points at up to ~39× fewer tokens; on LoCoMo's smaller haystack, full context still wins. Both runs are public.
Get started
Read the docs, browse the source on GitHub, or clone an example for Next.js, React, or Express. If you build something with it, we'd love to hear about it.
Top comments (0)