agmem 0.1.5__py3-none-any.whl → 0.1.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agmem
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: Agentic Memory Version Control System - Git for AI agent memories
5
5
  Home-page: https://github.com/vivek-tiwari-vt/agmem
6
6
  Author: agmem Team
@@ -142,6 +142,61 @@ agmem solves all of these problems with a familiar Git-like interface.
142
142
  - ✅ **GPU acceleration** — Vector store detects GPU for embedding model when available
143
143
  - ✅ **Optional** — `serve`, `daemon` (watch + auto-commit), `garden` (episode archival), MCP server; install extras as needed
144
144
 
145
+ ### Feature Coverage
146
+
147
+ ```mermaid
148
+ graph TB
149
+ subgraph Core ["🔧 Core Features"]
150
+ Core1["✅ Git-like commands<br/>init, add, commit, log, branch, merge"]
151
+ Core2["✅ Content-addressable storage<br/>SHA-256, zlib, dedup"]
152
+ Core3["✅ Memory-type merge<br/>Episodic, Semantic, Procedural"]
153
+ end
154
+
155
+ subgraph Collab ["👥 Collaboration"]
156
+ Collab1["✅ Remote push/pull<br/>file:// URLs, conflict detection"]
157
+ Collab2["✅ Multi-agent trust<br/>Trust store, key verification"]
158
+ Collab3["✅ Federated sync<br/>Coordinator API"]
159
+ end
160
+
161
+ subgraph Safety ["🔒 Safety & Integrity"]
162
+ Safety1["✅ Cryptographic<br/>Merkle, Ed25519"]
163
+ Safety2["✅ Tamper detection<br/>Audit trail, hash-chain"]
164
+ Safety3["✅ Encryption at rest<br/>AES-256-GCM"]
165
+ end
166
+
167
+ subgraph Privacy ["🕵️ Privacy"]
168
+ Privacy1["✅ Differential privacy<br/>Epsilon/delta budget"]
169
+ Privacy2["✅ Zero-knowledge proofs<br/>Keyword, Freshness"]
170
+ Privacy3["✅ PII scanning<br/>Pre-commit hooks"]
171
+ end
172
+
173
+ subgraph Intelligence ["🧠 Intelligence"]
174
+ Intel1["✅ Semantic search<br/>Vector + Text fallback"]
175
+ Intel2["✅ Knowledge graph<br/>Wikilinks, Co-occurrence"]
176
+ Intel3["✅ LLM integration<br/>OpenAI, Anthropic"]
177
+ Intel4["✅ Temporal queries<br/>Point-in-time, Range"]
178
+ end
179
+
180
+ subgraph Ops ["⚙️ Operations"]
181
+ Ops1["✅ Pack/GC<br/>Object packing, cleanup"]
182
+ Ops2["✅ Daemon mode<br/>Watch + auto-commit"]
183
+ Ops3["✅ IPFS/S3/GCS<br/>Distributed storage"]
184
+ end
185
+
186
+ Core --> Collab
187
+ Collab --> Safety
188
+ Safety --> Privacy
189
+ Privacy --> Intelligence
190
+ Intelligence --> Ops
191
+
192
+ style Core fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
193
+ style Collab fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
194
+ style Safety fill:#ffebee,stroke:#c62828,stroke-width:2px
195
+ style Privacy fill:#e1f5fe,stroke:#01579b,stroke-width:2px
196
+ style Intelligence fill:#f1f8e9,stroke:#558b2f,stroke-width:2px
197
+ style Ops fill:#fff3e0,stroke:#e65100,stroke-width:2px
198
+ ```
199
+
145
200
  ## Quick Start
146
201
 
147
202
  ### Installation
@@ -342,8 +397,56 @@ Verifies objects, refs, and (if installed) the vector store. When commit metadat
342
397
 
343
398
  ---
344
399
 
400
+ ## Security Architecture
401
+
402
+ agmem implements security in layers. Choose what you need:
403
+
404
+ ```mermaid
405
+ graph TB
406
+ subgraph L1 ["🔒 Tier 1: Cryptographic Integrity"]
407
+ T1A["✅ Merkle tree<br/>over blobs"]
408
+ T1B["✅ Ed25519<br/>signatures"]
409
+ T1C["✅ Tamper<br/>detection"]
410
+ end
411
+
412
+ subgraph L2 ["🔐 Tier 2: Multi-Agent Trust"]
413
+ T2A["✅ Trust store<br/>per public key"]
414
+ T2B["✅ Multi-agent<br/>collaboration"]
415
+ T2C["✅ Conflict<br/>resolution"]
416
+ end
417
+
418
+ subgraph L3 ["🕵️ Tier 3: Privacy & Anonymity"]
419
+ T3A["✅ Differential<br/>Privacy budget"]
420
+ T3B["✅ Zero-Knowledge<br/>Proofs"]
421
+ T3C["✅ Encrypted<br/>at rest"]
422
+ end
423
+
424
+ subgraph L4 ["🌐 Tier 4: Distribution"]
425
+ T4A["✅ S3/GCS<br/>remotes"]
426
+ T4B["✅ IPFS<br/>support"]
427
+ T4C["✅ Pack files<br/>& GC"]
428
+ end
429
+
430
+ subgraph L5 ["📊 Tier 5: Audit & Compliance"]
431
+ T5A["✅ Append-only<br/>audit log"]
432
+ T5B["✅ Hash-chained<br/>verification"]
433
+ T5C["✅ Full history<br/>& blame"]
434
+ end
435
+
436
+ L1 --> L2 --> L3 --> L4 --> L5
437
+
438
+ style L1 fill:#ffebee,stroke:#c62828
439
+ style L2 fill:#ede7f6,stroke:#512da8
440
+ style L3 fill:#e1f5fe,stroke:#01579b
441
+ style L4 fill:#f3e5f5,stroke:#7b1fa2
442
+ style L5 fill:#e8f5e9,stroke:#1b5e20
443
+ ```
444
+
445
+ ---
446
+
345
447
  ## Security, trust & advanced features
346
448
 
449
+
347
450
  The following 18 capabilities are implemented (or stubbed) per the agmem features implementation plan. They are grouped by tier.
348
451
 
349
452
  ### Tier 1 — Security and trust
@@ -459,41 +562,88 @@ current/procedural/
459
562
 
460
563
  ### Memory Flow
461
564
 
462
- ```
463
- current/ staging .mem/
464
- ╭────────────────────┐ ╭─────────────┐ ╭──────────────────────┐
465
- episodic/ │ │ │ │ objects/ │
466
- │ session logs │ │ index.json │ │ blobs → trees →
467
- semantic/ │───►│ (staged) │───►│ commits │
468
- │ facts, prefs │ │ │ │ (content-addressable)│
469
- procedural/ │ │ │ │ │
470
- │ workflows │ ╰─────────────╯ ╰──────────────────────╯
471
- ╰────────────────────┘
472
- │ │
473
- agmem add agmem commit
474
- ```
475
-
476
- ### Merge Strategies
477
-
478
- ```
479
- Episodic Branch A ──╮
480
- (append) Branch B ──╯──► chronological append ──► ✓ no conflicts
481
-
482
- Semantic Branch A ──╮
483
- (consolidate) Branch B ──╯──► conflict markers ──► ⚠ manual review
484
-
485
- Procedural Branch A ──╮
486
- (prefer new) Branch B ──╯──► newer wins ──► ⚠ flag for review
565
+ ```mermaid
566
+ graph LR
567
+ A["📂 Working Directory<br/>current/<br/>episodic/<br/>semantic/<br/>procedural/"]
568
+ B["📝 Staging Area<br/>index.json<br/>staged files"]
569
+ C["💾 Object Storage<br/>.mem/objects/<br/>blobs → trees → commits"]
570
+ D["📍 References<br/>.mem/refs/<br/>HEAD, branches, tags"]
571
+
572
+ A -->|agmem add| B
573
+ B -->|agmem commit| C
574
+ C --> D
575
+
576
+ style A fill:#e1f5ff,stroke:#01579b,stroke-width:2px
577
+ style B fill:#fff3e0,stroke:#e65100,stroke-width:2px
578
+ style C fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
579
+ style D fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px
580
+ ```
581
+
582
+ ### Merge Strategies by Memory Type
583
+
584
+ ```mermaid
585
+ graph TB
586
+ A["🌿 Branch A"] --> E{Memory Type?}
587
+ B["🌿 Branch B"] --> E
588
+
589
+ E -->|"<b>Episodic</b><br/>session logs"| F["⏰ Chronological<br/>Append"]
590
+ E -->|"<b>Semantic</b><br/>learned facts"| G["🤝 Conflict<br/>Markers"]
591
+ E -->|"<b>Procedural</b><br/>workflows"| H["✨ Prefer New<br/>with Flag"]
592
+
593
+ F --> I["✅ No Conflicts<br/>Deterministic merge"]
594
+ G --> J["⚠️ Manual Review<br/>Conflict markers"]
595
+ H --> J
596
+
597
+ style E fill:#ffebee,stroke:#b71c1c,stroke-width:2px
598
+ style F fill:#c8e6c9,stroke:#1b5e20,stroke-width:2px
599
+ style G fill:#ffe0b2,stroke:#e65100,stroke-width:2px
600
+ style H fill:#b3e5fc,stroke:#01579b,stroke-width:2px
601
+ style I fill:#81c784,stroke:#1b5e20,stroke-width:2px
602
+ style J fill:#ffb74d,stroke:#e65100,stroke-width:2px
487
603
  ```
488
604
 
489
605
  ### How Others Handle Memory vs agmem
490
606
 
491
- | Tool | Approach | Gap |
492
- |------|----------|-----|
493
- | **Cursor** | Ephemeral, session-based context; no persistent version control | No history, branching, or merge for agent memory |
494
- | **Claude Code** | File-based (CLAUDE.md, .claude/rules); loaded at launch | No built-in version control; Git is not memory-type-aware |
495
- | **Mem0** | Cloud/API; vector-based persistence | No branching, merging, or "git log" for what the agent learned |
496
- | **agmem** | Git-like version control for memory | Version history, branching, merging, local-first, memory-type-aware |
607
+ ```mermaid
608
+ graph LR
609
+ subgraph Cursor ["Cursor<br/>Ephemeral"]
610
+ C1["❌ No history"]
611
+ C2["❌ No branching"]
612
+ C3["❌ Session-based"]
613
+ end
614
+
615
+ subgraph Claude ["Claude Code<br/>File-based"]
616
+ Cl1["⚠️ Manual Git"]
617
+ Cl2["❌ Not memory-aware"]
618
+ Cl3["⚠️ At launch"]
619
+ end
620
+
621
+ subgraph Mem0 ["Mem0<br/>Cloud/Vector"]
622
+ M1["⚠️ Proprietary"]
623
+ M2["❌ No branching"]
624
+ M3["❌ Black box"]
625
+ end
626
+
627
+ subgraph agmem_box ["agmem<br/>Git for Memory"]
628
+ A1["✅ Full history"]
629
+ A2["✅ Branches & merge"]
630
+ A3["✅ Local-first"]
631
+ A4["✅ Type-aware"]
632
+ A5["✅ Open source"]
633
+ end
634
+
635
+ style Cursor fill:#ffebee,stroke:#c62828,stroke-width:2px
636
+ style Claude fill:#fff3e0,stroke:#f57c00,stroke-width:2px
637
+ style Mem0 fill:#ede7f6,stroke:#512da8,stroke-width:2px
638
+ style agmem_box fill:#c8e6c9,stroke:#1b5e20,stroke-width:3px
639
+ ```
640
+
641
+ | Tool | Approach | agmem Advantage |
642
+ |------|----------|--------|
643
+ | **Cursor** | Ephemeral, session-based context | ✅ Full history, persistent, branching |
644
+ | **Claude Code** | File-based (CLAUDE.md); needs Git | ✅ Memory-type-aware merge strategies |
645
+ | **Mem0** | Cloud/API with vector persistence | ✅ Local-first, transparent, version control |
646
+ | **agmem** | 🎯 **Git for Agent Memory** | Version history, branching, merging, local-first, type-aware |
497
647
 
498
648
  ## Example: Multi-Agent Collaboration
499
649
 
@@ -594,23 +744,44 @@ Repo overrides user. **Never put secrets in config files.** Credentials are supp
594
744
 
595
745
  agmem follows Git's proven architecture:
596
746
 
597
- ```
598
- ╔═══════════════════════════════════════════════════════════════════════╗
599
- ║ PORCELAIN · What you type
600
- ╠═══════════════════════════════════════════════════════════════════════╣
601
- ║ init add commit status log · branch checkout merge
602
- ║ diff show tag reset tree · stash clean blame reflog ║
603
- ║ clone push pull remote fsck · graph search serve daemon
604
- ╠═══════════════════════════════════════════════════════════════════════╣
605
- ║ PLUMBING · What happens under the hood ║
606
- ╠═══════════════════════════════════════════════════════════════════════╣
607
- ║ objects (blob, tree, commit) · refs (HEAD, branches, tags) ║
608
- ║ staging area ║
609
- ╠═══════════════════════════════════════════════════════════════════════╣
610
- ║ STORAGE · On disk ║
611
- ╠═══════════════════════════════════════════════════════════════════════╣
612
- SHA-256 hashing · zlib compression · deduplication ║
613
- ╚═══════════════════════════════════════════════════════════════════════╝
747
+ ```mermaid
748
+ graph TB
749
+ subgraph Commands ["🎯 Commands - Porcelain (What you type)"]
750
+ A1["init, add, commit, status, log, diff, show, tag, reset, tree"]
751
+ A2["branch, checkout, merge, stash, clean, blame, reflog"]
752
+ A3["clone, push, pull, remote, fsck, verify, audit, resolve"]
753
+ A4["gc, prove, federated, search, graph, serve, daemon, garden"]
754
+ end
755
+
756
+ subgraph Core ["⚙️ Core Operations - Plumbing (What happens)"]
757
+ B1["Staging Area<br/>index.json"]
758
+ B2["Objects<br/>Blob, Tree, Commit, Tag"]
759
+ B3["References<br/>HEAD, Branches, Tags"]
760
+ B4["Memory-type Merge<br/>Episodic, Semantic, Procedural"]
761
+ end
762
+
763
+ subgraph Storage ["💾 Storage - Disk (Where data lives)"]
764
+ C1["SHA-256 Hashing"]
765
+ C2["zlib Compression"]
766
+ C3["Deduplication"]
767
+ C4["Validation<br/>Path, Ref, Hash"]
768
+ end
769
+
770
+ subgraph Features ["🔐 Advanced Features"]
771
+ D1["Crypto Verification<br/>Merkle, Ed25519"]
772
+ D2["Encryption at Rest<br/>AES-256-GCM"]
773
+ D3["Privacy<br/>Differential Privacy"]
774
+ D4["Trust & Audit<br/>Multi-agent, Hash-chain"]
775
+ end
776
+
777
+ Commands --> Core
778
+ Core --> Storage
779
+ Storage --> Features
780
+
781
+ style Commands fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
782
+ style Core fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
783
+ style Storage fill:#fff3e0,stroke:#f57c00,stroke-width:2px
784
+ style Features fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
614
785
  ```
615
786
 
616
787
  ## Development
@@ -1,5 +1,5 @@
1
- agmem-0.1.5.dist-info/licenses/LICENSE,sha256=X_S6RBErW-F0IDbM3FAEoDB-zxExFnl2m8640rTXphM,1067
2
- memvcs/__init__.py,sha256=mXwHTSlUPWo4ERqJLGJnxmxtGQQHPSbXb4IpO61l04M,193
1
+ agmem-0.1.6.dist-info/licenses/LICENSE,sha256=X_S6RBErW-F0IDbM3FAEoDB-zxExFnl2m8640rTXphM,1067
2
+ memvcs/__init__.py,sha256=pheWPxubHVcp2N6vk6M7hGXgkJQ06KajbWgCpOlUSJ8,193
3
3
  memvcs/cli.py,sha256=YF06oMNjKWUmiNahILmfjrIXgoXzU-5BJFmbunSb8Sc,6075
4
4
  memvcs/commands/__init__.py,sha256=A2D6xWaO6epU7iV4QSvqvF5TspnwRyDN7NojmGatPrE,510
5
5
  memvcs/commands/add.py,sha256=k9eM7qf2NFvneiJkFQNiAYFB2GgKmyPw_NXmkCxblQE,8736
@@ -99,8 +99,8 @@ memvcs/retrieval/recaller.py,sha256=8KY-XjMUz5_vcKf46zI64uk1DEM__u7wM92ShukOtsY,
99
99
  memvcs/retrieval/strategies.py,sha256=26yxQQubQfjxWQXknfVMxuzPHf2EcZxJg_B99BEdl5c,11458
100
100
  memvcs/utils/__init__.py,sha256=8psUzz4Ntv2GzbRebkeVsoyC6Ck-FIwi0_lfYdj5oho,185
101
101
  memvcs/utils/helpers.py,sha256=37zg_DcQ2y99b9NSLqxFkglHe13rJXKhFDpEbQ7iLhM,4121
102
- agmem-0.1.5.dist-info/METADATA,sha256=q_9dsCFXbo9DGn6Hx4-7A9T3aHq9Sc5nS7ldEoazAdc,37487
103
- agmem-0.1.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
104
- agmem-0.1.5.dist-info/entry_points.txt,sha256=at7eWycgjqOo1wbUMECnXUsNo3gpCkJTU71OzrGLHu0,42
105
- agmem-0.1.5.dist-info/top_level.txt,sha256=HtMMsKuwLKLOdgF1GxqQztqFM54tTJctVdJuOec6B-4,7
106
- agmem-0.1.5.dist-info/RECORD,,
102
+ agmem-0.1.6.dist-info/METADATA,sha256=5Pwa47IVpid1YYz60_uGxR1xz_uzPJ6HmYVPnv1v3P4,41042
103
+ agmem-0.1.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
104
+ agmem-0.1.6.dist-info/entry_points.txt,sha256=at7eWycgjqOo1wbUMECnXUsNo3gpCkJTU71OzrGLHu0,42
105
+ agmem-0.1.6.dist-info/top_level.txt,sha256=HtMMsKuwLKLOdgF1GxqQztqFM54tTJctVdJuOec6B-4,7
106
+ agmem-0.1.6.dist-info/RECORD,,
memvcs/__init__.py CHANGED
@@ -4,6 +4,6 @@ agmem - Agentic Memory Version Control System
4
4
  A Git-inspired version control system for AI agent memory artifacts.
5
5
  """
6
6
 
7
- __version__ = "0.1.3"
7
+ __version__ = "0.1.6"
8
8
  __author__ = "agmem Team"
9
9
  __license__ = "MIT"
File without changes