<< All versions

Skill v1.0.2

currentAutomated scan100/100
lukasa1993/tanstack-skills-extracted/tanstack-ai-memory-in-memory

+3 new

──Details
PublishedNovember 5, 2026 at 02:41 AM
Content Hashsha256:eae60a2f42dcab09...
Git SHA4c450f990a78
Bump Typepatch
Compare with v1.0.1
──Files
Files (1 file, 2.0 KB)
SKILL.md2.0 KBactive
SKILL.md · 63 lines · 2.0 KB

name: tanstack-ai-memory-in-memory description: "Use when wiring inMemory() from @tanstack/ai-memory/in-memory — explains setup, options (embedder, extract, topK/minScore), when to pick it (dev/tests/single-process demos), and what NOT to use it for (multi-process or persistent)." license: "MIT" metadata: version: "1.0.2" internal: true tanstack-package: "@tanstack/ai-memory" tanstack-package-version: "1.0.0" tanstack-source-skill: "tanstack-ai-memory-in-memory"


In-Memory Memory Adapter

Zero-dependency recall/save adapter backed by a Map. Records vanish on process restart.

When to use it

  • Local development.
  • Vitest / Playwright tests.
  • Single-process demos where users don't need persistence.

When NOT to use it

  • Production multi-process deployments — every worker has its own Map; users get

inconsistent memory.

  • Anything that needs survival across restarts.

For production, use redis() (see the tanstack-ai-memory-redis skill).

Setup

ts
import { memoryMiddleware } from '@tanstack/ai-memory'
import { inMemory } from '@tanstack/ai-memory/in-memory'
const memory = inMemory()
// A static scope is fine for dev/tests; derive it from the session in real apps.
memoryMiddleware({
adapter: memory,
scope: { threadId: 'demo-thread', userId: 'alice' },
})

Options

inMemory(options?) accepts:

  • topK (default 6), minScore (default 0.15), kinds — recall tuning.
  • embedder: { embed(text): Promise<number[]> } — enable semantic scoring (both

recall and save embed through it).

  • extract(turn, scope) — return derived facts to persist alongside the raw turn

(e.g. call an LLM to pull out preferences). Without it, save stores the raw user/assistant messages and recall scores them lexically + by recency.

  • render(hits) — replace the built-in prompt renderer.

Capacity

The adapter scans every record in a scope per recall. Fine up to ~100k records; beyond that, switch to Redis.

← v1.0.1All versions