Session recordFinished
Reply exactly: Time Capsule new-session check passed.
A traceable record of the task, agent, timestamps, retained context, and recorded activity for this memory.
Overview
What this session was about
The agent confirmed that the Time Capsule new-session check passed successfully. No issues were reported during the session.
Original task
Reply exactly: Time Capsule new-session check passed.
Topics and systems touched
- Time Capsule
Outputs
Links and artifacts
No external links or artifacts were attached to this session.
Recorded activity
Activity trace · 4 events
Called terminal
{"command":"cd C:/Users/josh.strohm/code/mem0 && PYTHONPATH= ./.venv/Scripts/python.exe mem.py list --user josh","timeout":180}Result from terminal
{"output": "The 'chroma' vector store does not support keyword search. Hybrid (BM25) scoring will be disabled and search will use semantic similarity only. To enable hybrid search, switch to a store with keyword_search support (e.g. qdrant, elasticsearch, pgvector).\r\n[PostHog] Multiple active PostHog clients detected for the same project API key and host. Reuse one Posthog instance per app or process when possible to avoid competing background queues and missed shutdown flushes. Multiple clients are supported when intentional.\r\n{\"status\": \"ok\", \"command\": \"list\", \"count\": 1, \"data\": [{\"id\": \"4f25309a-9261-432c-9ec2-10064db758f6\", \"memory\": \"User's Bezalel is connected to the Hermes default profile and prefers its granted capability domains over overlapping providers.\", \"metadata\": null}]}", "exit_code": 0, "error": null, "cwd": "C:\\Users\\josh.strohm\\code\\mem0"} [Subdirectory context discovered: code\mem0\AGENTS.md] # AGENTS.md This file provides context for AI coding assistants (Claude Code, Cursor, GitHub Copilot, Codex, etc.) working with the Mem0 repository. ## Project Overview **Mem0** ("mem-zero") is an intelligent memory layer for AI agents and assistants. It provides persistent, personalized memory via both a hosted platform API and self-hosted open-source SDKs. - **Repository**: https://github.com/mem0ai/mem0 - **Documentation**: https://docs.mem0.ai - **License**: Apache-2.0 ## Repository Structure This is a **polyglot monorepo** containing Python and TypeScript packages, CLIs, servers, plugins, and documentation. ### Key Directories | Directory | Description | |-----------|-------------| | `mem0/` | Core Python SDK (`mem0ai` on PyPI) — memory, LLMs, embeddings, vector stores, graphs, rerankers | | `mem0-ts/` | TypeScript SDK (`mem0ai` on npm) — client + OSS memory | | `cli/python/` | Python CLI (`mem0-cli` on PyPI) — Typer-based, entry point `mem0` | | `cli/node/` | Node CLI (`@mem0/cli` on npm) — Commander-based, entry point `mem0` | | `integrations/` | **Agent & editor integrations**, one directory per integration (see "Adding a New Integration") | | `integrations/mem0-plugin/` | AI editor plugins (Claude Code, Cursor, Codex) — MCP server connection, lifecycle hooks, skills. Contains nested `.opencode-plugin/` (`@mem0/opencode-plugin`) | | `integrations/openclaw/` | `@mem0/openclaw-mem0` — OpenClaw plugin for Claude Code / AI editors | | `integrations/pi-agent-plugin/` | `@mem0/pi-agent-plugin` — Pi Agent plugin | | `integrations/vercel-ai-sdk/` | `@mem0/vercel-ai-provider` — Vercel AI SDK memory provider | | `integrations/n8n-nodes-mem0/` | `@mem0/n8n-nodes-mem0` — n8n community node; add / search / get / update / delete memories | | `integrations/zapier-mem0/` | `@mem0/zapier` — Zapier Platform CLI app (deploys to Zapier, not npm); add / search / get / delete memories | | `server/` | FastAPI REST server for self-hosted Mem0 (Docker: FastAPI + PostgreSQL/pgvector + Neo4j) | | `skills/` | Claude Code skill definitions. Reference skills (SDK knowledge, always-on): `mem0/`, `mem0-cli/`, `mem0-vercel-ai-sdk/`. Pipeline skills (run on demand): `mem0-integrate/`, `[SECRET-REMOVED]/`, `[SECRET-REMOVED]/` | | `docs/` | Documentation site (Mintlify) | | `tests/` | Python SDK tests (pytest) | | `evaluation/` | Submodule → [`mem0ai/memory-benchmarks`](https://github.com/mem0ai/memory-benchmarks) — benchmarking (LOCOMO, LongMemEval, BEAM) lives in that repo | | `examples/` | Sample projects & runnable demos — apps, Chrome extension, multi-agent patterns, and Jupyter notebooks (`notebooks/`) | | `pr-reviews/` | Pull request review materials | | `scripts/` | Repo-wide utility scripts (e.g., `check-llms-txt-coverage.py` for docs/llms.txt sync) | ### Core Package Dependencies ``` mem0 (Python SDK) mem0-ts (TypeScript SDK) ├── mem0/memory/ ├── src/client/ (MemoryClient — hosted) ├── mem0/llms/ └── src/oss/ (Memory — self-hosted) ├── mem0/embeddings/ ├── src/llms/ ├── mem0/vector_stores/ ├── src/embeddings/ ├── mem0/graphs/ ├── src/vector_stores/ └── mem0/reranker/ └── src/graphs/ cli/python/ ──▶ mem0ai (optional, for OSS mode) cli/node/ ──▶ mem0ai (npm, for API calls) integrations/vercel-ai-sdk/ ──▶ ai, @ai-sdk/* providers integrations/openclaw/ ──▶ mem0ai (npm) ``` ## Development Setup ### Requirements - **Python**: 3.9+ (3.10+ for CLI) - **Node.js**: v18+ (v20 or v22 recommended) - **pnpm**: v10+ (`npm install -g pnpm@10`) — used for all TypeScript packages - **Hatch**: Python build/environment tool (`pip install hatch`) - **Docker**: Required for `server/` development ### Initial Setup ```bash # Python SDK hatch shell dev_py_3_11 # creates environment with all deps pre-commit install # install git hooks # TypeScript packages cd mem0-ts && pnpm install # TS SDK cd cli/node && pnpm install # Node CLI cd integrations/vercel-ai-sdk && pnpm install # Vercel AI provider cd integrations/openclaw && pnpm install # OpenClaw plugin ``` ## Build, Lint, and Test Commands ### Python SDK (`mem0/`) ```bash # Environment setup (uses Hatch) hatch shell dev_py_3_11 # or dev_py_3_9, dev_py_3_10, dev_py_3_12 # Linting and formatting make lint # ruff check make format # ruff format make sort # isort mem0/ # Tests make test # pytest tests/ make test-py-3.9 # test specific Python version (3.9–3.12) # Build and publish make build # hatch build make publish # hatch publish ``` - **Python:** 3.9, 3.10, 3.11, 3.12 - **Linter/formatter:** Ruff (line length **120**) - **Import sorting:** isort (`profile = "black"`) - **Test framework:** pytest (with pytest-mock, pytest-asyncio) - **Pre-commit hooks:** ruff + isort — run `pre-commit install` before committing ### TypeScript SDK (`mem0-ts/`) ```bash cd mem0-ts pnpm install pnpm run build # tsup pnpm run test # jest (all tests) pnpm run test:unit # jest --coverage (unit tests only) pnpm run test:integration # jest (integration tests, needs MEM0_API_KEY) pnpm run test:ci # jest --coverage --ci (CI mode) pnpm run test:watch # jest watch mode ``` - **Node:** 20, 22 (CI-tested) - **Build:** tsup (CJS + ESM) - **Test:** jest - **Formatter:** prettier ### Python CLI (`cli/python/`) ```bash cd cli/python pip install -e ".[dev]" # dev install with ruff + pytest ruff check . # lint ruff format . # format pytest # test hatch build # build ``` - **Python:** 3.10+ (not 3.9) - **Linter/formatter:** Ruff (line length **100** — different from root SDK) - **Ruff rules:** E, F, I, W, UP, B, SIM, RUF (ignores E501, B008 for Typer patterns, SIM108) - **Framework:** Typer + Rich + httpx - **Entry point:** `mem0 = "mem0_cli.app:main"` - **Source layout:** `src/mem0_cli/` - **Optional dependency:** `mem0ai` (for OSS mode, via `[oss]` extra) ### Node CLI (`cli/node/`) ```bash cd cli/node pnpm install pnpm run build # tsup pnpm run lint # biome check src/ pnpm run lint:fix # biome check --write src/ pnpm run typecheck # tsc --noEmit pnpm run test # vitest run pnpm run test:watch # vitest (watch mode) pnpm run dev # tsx src/index.ts (development) ``` - **Node:** 18+ required - **Build:** tsup (ESM) - **Linter:** Biome (not ESLint, not Ruff) - **Test:** vitest (not jest) - **Framework:** Commander + Chalk + ora + cli-table3 ### Vercel AI SDK Provider (`integrations/vercel-ai-sdk/`) ```bash cd integrations/vercel-ai-sdk pnpm install pnpm …[truncated]