git:20260724.cc88874 to git:20260909.53e2ec0

8 added, 2 removed. Audit A to A.

---
name: tanstack-ai-memory-honcho
description: Use when wiring honcho() from @tanstack/ai-memory/honcho — a hosted memory adapter where recall is a dialectic answer over the user's representation (no discrete fragments). Requires the optional @honcho-ai/sdk peer.
---
# Honcho Memory Adapter
Hosted `recall`/`save` adapter backed by Honcho. Honcho models memory as peers
exchanging messages in a session; `recall` returns a **synthesized dialectic answer**
over the user peer's representation (so there are no discrete fragments), and `save`
appends the turn's messages to the session.
## Setup
```ts
import { memoryMiddleware } from '@tanstack/ai-memory'
import { honcho } from '@tanstack/ai-memory/honcho'
- const memory = honcho({ user: currentUserId }) // baseURL defaults to HONCHO_URL
+ // Build per request from the server-validated session — never from req.body.
+ function memoryFor(session: { userId: string; threadId: string }) {
+ const memory = honcho({ user: session.userId }) // baseURL defaults to HONCHO_URL
- memoryMiddleware({ adapter: memory, scope })
+ return memoryMiddleware({
+ adapter: memory,
+ scope: { threadId: session.threadId, userId: session.userId },
+ })
+ }
```
`@honcho-ai/sdk` is an **optional peer dependency**, loaded lazily on first use — install
it where you use `honcho()`.
## Options
- `user` — user peer id (falls back to `scope.userId`, then `'demo-user'`).
- `baseURL` — Honcho server URL (default `HONCHO_URL` or `http://localhost:8001`).
- `workspaceId` — default `HONCHO_APP_NAME` or `'ai-memory'`.
- `apiKey` — default `HONCHO_API_KEY`.
- `assistantId` — assistant peer id (default `'assistant'`).
**Scope fields:** session key = `{tenantId|_}__{threadId}`; peer id is
`{tenantId}__{user}` when `tenantId` is set, otherwise `user` / `scope.userId`.
`namespace` is ignored.
`recall` calls the user peer's dialectic `chat()` and injects the answer as the system
prompt; Honcho exposes no LLM tools.