Commit graph

24 commits

Author SHA1 Message Date
Viktor Barzin
be9e6352c3
Rewrite README to showcase plugin functionality
Lead with value prop and install command, add conversation example,
restructure around features/hooks/auto-behaviors, consolidate env
vars and API reference into clean tables, move API server docs below
plugin setup since it's optional.
2026-03-14 14:52:09 +00:00
Viktor Barzin
0d1cff3038
Add Claude Code plugin scaffold for single-repo install
Consolidates plugin components (hooks, commands, skills, MCP config)
into this repo so it can be installed with:
  claude plugins install github:ViktorBarzin/claude-memory-mcp

- .claude-plugin/plugin.json: manifest with all hook events
- mcp/memory-mcp.json: MCP server config using existing src/
- hooks/: compaction survival, auto-recall, auto-learn, auto-approve
- commands/: /remember and /recall slash commands
- skills/: memory-management skill
- Bump MCP server to v2.0.0 with metaclaw migration fallback
- Update README with quick install and plugin hooks docs
2026-03-14 14:49:18 +00:00
Viktor Barzin
66bb407bae
Add OpenClaw memory-api plugin
Provides memory_store, memory_recall, memory_list, memory_delete tools
as an OpenClaw plugin backed by the shared PostgreSQL memory API.
2026-03-14 13:54:03 +00:00
Viktor Barzin
e08486f2bd
fix: parse since param to datetime for asyncpg compatibility
asyncpg requires datetime objects, not strings, for timestamptz params.
Also use Z suffix in tests to avoid URL-encoding issues with +00:00.
2026-03-14 13:13:48 +00:00
Viktor Barzin
0a4aed9e1b
fix: resolve ruff lint errors (unused imports and variables) 2026-03-14 13:04:40 +00:00
Viktor Barzin
e77832e6b4
ci: re-trigger build after woodpecker recovery 2026-03-14 13:01:08 +00:00
Viktor Barzin
8e3735a35f
ci: trigger rebuild for sync engine deployment 2026-03-14 12:58:36 +00:00
Viktor Barzin
64265bf12b
docs: update README with hybrid sync architecture and HA deployment
Add architecture diagram, update operating modes table to reflect
three-mode support, document sync endpoint, new environment variables,
and HA deployment details.
2026-03-14 12:45:18 +00:00
Viktor Barzin
cd80a67dfa
feat: add local SQLite cache with background sync and HA deployment
- Add SyncEngine for background sync between local SQLite cache and
  remote API with pending_ops queue for offline resilience
- Refactor MCP server to support three modes: SQLite-only, hybrid
  (local cache + sync, new default), and HTTP-only (legacy)
- Add GET /api/memories/sync endpoint for incremental sync
- Change DELETE to soft delete (set deleted_at) for sync support
- Add deleted_at IS NULL filters to all read queries
- Scale API deployment to 2 replicas with pod anti-affinity, PDB,
  and startup probe for high availability
- Add migration 003 for deleted_at column and updated_at index
- Add comprehensive tests for sync engine and API sync endpoint
2026-03-14 12:42:39 +00:00
Viktor Barzin
fe55ac634b
fix: add psycopg2-binary for Alembic and add connection retry logic 2026-03-14 12:05:41 +00:00
Viktor Barzin
a831547736
feat: add background knowledge extraction script for Stop hook 2026-03-14 11:55:51 +00:00
Viktor Barzin
58ea218044
fix: add preview to delete response for MCP server compatibility 2026-03-14 11:14:05 +00:00
Viktor Barzin
3207ecf3e9
ci: retrigger after fixing woodpecker namespace quota 2026-03-14 11:04:00 +00:00
Viktor Barzin
756db25b53
ci: retrigger after fixing namespace resource quota 2026-03-14 10:56:30 +00:00
Viktor Barzin
245d86b361
ci: retrigger after agent recovery 2026-03-14 10:52:53 +00:00
Viktor Barzin
0a0f96ae67
ci: retrigger build 2026-03-14 10:44:58 +00:00
Viktor Barzin
4c75e9d801
fix: wrap recall/list responses in {memories: []} and update README
- API recall and list endpoints now return {"memories": [...]} matching
  the format expected by the MCP server
- Rewrote README with comprehensive setup instructions for new agents,
  accurate API reference, migration docs, and multi-user setup guide
2026-03-14 10:39:12 +00:00
Viktor Barzin
8a7239fb77
feat: add Alembic for database migrations
Replace inline migration logic with proper Alembic migrations:
- 001: Initial schema (creates memories table with FTS)
- 002: Add multi-user and secrets columns (user_id, is_sensitive,
  vault_path, encrypted_content)

Migrations run automatically on app startup. Existing databases
are handled gracefully with IF NOT EXISTS / column existence checks.
2026-03-14 10:34:45 +00:00
Viktor Barzin
63205dbd0c
fix: add migration logic for existing databases without new columns 2026-03-14 10:22:14 +00:00
Viktor Barzin
c67a8336cf
fix: copy README.md in Dockerfile for hatchling metadata 2026-03-14 10:14:54 +00:00
Viktor Barzin
2d9d3a8d36
fix: add cryptography to dev dependencies for crypto tests 2026-03-14 10:09:01 +00:00
Viktor Barzin
eba5cf6a82
fix: resolve ruff lint errors (unused imports and variables) 2026-03-14 10:01:41 +00:00
Viktor Barzin
1e00cc9de6
chore: trigger first CI build 2026-03-14 09:57:40 +00:00
Viktor Barzin
0ed5e1e016
feat: standalone claude-memory-mcp with multi-user support and Vault integration
Extracted from private infra repo into standalone open-source project.

Three operating modes:
- Local: SQLite + FTS5 (zero dependencies)
- Server: PostgreSQL via HTTP API with multi-user auth
- Full: PostgreSQL + HashiCorp Vault for secret management

Features:
- MCP stdio server with 5 tools (store/recall/list/delete/secret_get)
- FastAPI HTTP API with multi-user Bearer token auth (API_KEYS JSON map)
- Regex-based credential detection with auto-redaction
- AES-256-GCM encryption fallback for non-Vault deployments
- Vault KV v2 client (stdlib urllib, K8s SA auto-auth)
- Per-user data isolation (all queries scoped by user_id)
- Secret migration endpoint for existing plain-text credentials
- Backward-compatible env var aliases (CLAUDE_MEMORY_API_URL)

Infrastructure:
- Docker + docker-compose (API + PostgreSQL + optional Vault)
- Woodpecker CI (test → build → push → kubectl deploy)
- GitHub Actions CI (Python 3.11/3.12/3.13) + Release (GHCR + PyPI)
- Helm chart + raw Kubernetes manifests

96 tests passing across 6 test files.
2026-03-14 09:42:05 +00:00