Skip to content

Mneme

v0.1.2 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 15d LLM Frameworks
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai ai-memory bun encryption local-first mcp
+5 more
memory open-protocol privacy sdk typescript

Summary

AI summary

Broad release touches Architecture highlights, Quality, Coming next, and Postmortem references.

Full changelog

Adds automatic memory extraction from raw text. Pass any text — a chat transcript, a journal entry, a meeting note — and Claude returns structured memories that mneme persists. Local-first thesis unchanged: BYO Anthropic key, the mneme infra never sees plaintext or the API key.

```ts
import { Mneme } from '@mnemehq/sdk'
import { ClaudeDistiller } from '@mnemehq/distiller-claude'

const mneme = await Mneme.open({
passphrase: '...',
distiller: new ClaudeDistiller({ apiKey: process.env.ANTHROPIC_API_KEY }),
})

await mneme.distill(`
Had a great espresso on Brick Lane. I really prefer single-origin to blends.
Sarah from marketing replies super fast on Slack DMs — should make that the default.
`)
// → mneme.remember() called for each extracted memory automatically
```

What ships

| Package | From → To |
| --- | --- |
| `@mnemehq/sdk` | 0.1.1 → 0.1.2 |
| `@mnemehq/distiller-claude` | — → 0.1.0 (new) |
| All other packages | unchanged |

Architecture highlights

  • SDK-level adapter, not a protocol verb. Distillation fans out to N `remember()` calls under the hood. The wire protocol stays at v0.1.
  • BYO Anthropic key, no proxying. Mneme infra never holds your key, never sees your prompts, never sees your responses.
  • Tool-use, not JSON.parse. Claude returns a `tool_use` block validated by Zod — no malformed-bracket disasters.
  • Anthropic prompt caching enabled by default. System prompt + few-shot examples (~2-3k tokens, stable) cached server-side. Subsequent calls within ~5min pay ~10% of input token cost. Distill 20 conversations for the price of 1.5.
  • Production-grade error surface. Retries 429 / 5xx with exponential backoff. Hard cost ceiling via `maxCostUsdPerCall`. Per-call `costUsdEstimate` returned. Observability hook for logging.

What it extracts

Six categories aligned to the protocol `MemoryKind` enum: `fact`, `preference`, `event`, `relationship`, `context`, `skill`. The system prompt refuses third-party gossip, hypotheticals, fleeting moods, and questions. Strict per-memory limits (single self-contained sentence, third-person voice, ≤500 chars).

Quality

  • 137 unit tests pass / 2 skip / 0 fail (+19 new tests this release: 7 SDK + 12 distiller-claude)
  • Lint clean across 96 files
  • Typecheck clean across 7 packages
  • `prepublishOnly` chain (build + verify-package + publint --strict) ran clean on both publishes
  • Zero warnings on either `npm publish` — compare to the v0.1.0 incident that prompted the safety net in v0.1.1

Coming next

  • `@mnemehq/distiller-openai` — same interface against the OpenAI SDK. ~2 hours of work; next minor release.
  • `@mnemehq/distiller-local` — on-device extraction via llama.cpp / transformers.js. Gated on ADR 0004 §4 cleanup.
  • Eval harness (ADR 0013) — curated corpus + queries with expected top matches, precision@1 across prompt revisions. The artefact that turns "it extracts" into "it extracts measurably better than alternatives".
  • Streaming distillation for long transcripts (v0.2).

Postmortem references

🤖 Generated with Claude Code

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Mneme

Get notified when new releases ship.

Sign up free

About Mneme

All releases →

Related context

Beta — feedback welcome: [email protected]