@agentmemory/agentmemory 0.7.2 → 0.7.4

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.
Files changed (217) hide show
  1. package/AGENTS.md +4 -4
  2. package/README.md +46 -73
  3. package/dist/cli.mjs +3 -3
  4. package/dist/index.mjs +484 -6
  5. package/dist/index.mjs.map +1 -1
  6. package/dist/{src-1fTKFEtN.mjs → src-DP8JSXkx.mjs} +485 -7
  7. package/dist/src-DP8JSXkx.mjs.map +1 -0
  8. package/dist/standalone.mjs +42 -3
  9. package/dist/standalone.mjs.map +1 -1
  10. package/package.json +10 -1
  11. package/plugin/.claude-plugin/plugin.json +2 -2
  12. package/plugin/scripts/notification.d.mts +1 -0
  13. package/plugin/scripts/notification.mjs.map +1 -0
  14. package/plugin/scripts/post-tool-failure.d.mts +1 -0
  15. package/plugin/scripts/post-tool-failure.mjs.map +1 -0
  16. package/plugin/scripts/post-tool-use.d.mts +1 -0
  17. package/plugin/scripts/post-tool-use.mjs.map +1 -0
  18. package/plugin/scripts/pre-compact.d.mts +1 -0
  19. package/plugin/scripts/pre-compact.mjs.map +1 -0
  20. package/plugin/scripts/pre-tool-use.d.mts +1 -0
  21. package/plugin/scripts/pre-tool-use.mjs.map +1 -0
  22. package/plugin/scripts/prompt-submit.d.mts +1 -0
  23. package/plugin/scripts/prompt-submit.mjs.map +1 -0
  24. package/plugin/scripts/session-end.d.mts +1 -0
  25. package/plugin/scripts/session-end.mjs.map +1 -0
  26. package/plugin/scripts/session-start.d.mts +1 -0
  27. package/plugin/scripts/session-start.mjs.map +1 -0
  28. package/plugin/scripts/stop.d.mts +1 -0
  29. package/plugin/scripts/stop.mjs.map +1 -0
  30. package/plugin/scripts/subagent-start.d.mts +1 -0
  31. package/plugin/scripts/subagent-start.mjs.map +1 -0
  32. package/plugin/scripts/subagent-stop.d.mts +1 -0
  33. package/plugin/scripts/subagent-stop.mjs.map +1 -0
  34. package/plugin/scripts/task-completed.d.mts +1 -0
  35. package/plugin/scripts/task-completed.mjs.map +1 -0
  36. package/.claude-plugin/marketplace.json +0 -14
  37. package/.github/workflows/ci.yml +0 -22
  38. package/.github/workflows/publish.yml +0 -28
  39. package/assets/banner.png +0 -0
  40. package/assets/demo.gif +0 -0
  41. package/assets/demo.mp4 +0 -0
  42. package/benchmark/QUALITY.md +0 -73
  43. package/benchmark/REAL-EMBEDDINGS.md +0 -67
  44. package/benchmark/SCALE.md +0 -110
  45. package/benchmark/dataset.ts +0 -293
  46. package/benchmark/quality-eval.ts +0 -643
  47. package/benchmark/real-embeddings-eval.ts +0 -405
  48. package/benchmark/scale-eval.ts +0 -398
  49. package/dist/src-1fTKFEtN.mjs.map +0 -1
  50. package/src/auth.ts +0 -12
  51. package/src/cli.ts +0 -251
  52. package/src/config.ts +0 -221
  53. package/src/eval/metrics-store.ts +0 -65
  54. package/src/eval/quality.ts +0 -51
  55. package/src/eval/schemas.ts +0 -124
  56. package/src/eval/self-correct.ts +0 -28
  57. package/src/eval/validator.ts +0 -31
  58. package/src/functions/actions.ts +0 -288
  59. package/src/functions/audit.ts +0 -61
  60. package/src/functions/auto-forget.ts +0 -169
  61. package/src/functions/branch-aware.ts +0 -169
  62. package/src/functions/cascade.ts +0 -80
  63. package/src/functions/checkpoints.ts +0 -209
  64. package/src/functions/claude-bridge.ts +0 -161
  65. package/src/functions/compress.ts +0 -194
  66. package/src/functions/consolidate.ts +0 -212
  67. package/src/functions/consolidation-pipeline.ts +0 -258
  68. package/src/functions/context.ts +0 -169
  69. package/src/functions/crystallize.ts +0 -293
  70. package/src/functions/dedup.ts +0 -57
  71. package/src/functions/diagnostics.ts +0 -785
  72. package/src/functions/enrich.ts +0 -132
  73. package/src/functions/evict.ts +0 -163
  74. package/src/functions/export-import.ts +0 -508
  75. package/src/functions/facets.ts +0 -248
  76. package/src/functions/file-index.ts +0 -106
  77. package/src/functions/flow-compress.ts +0 -214
  78. package/src/functions/frontier.ts +0 -196
  79. package/src/functions/governance.ts +0 -131
  80. package/src/functions/graph-retrieval.ts +0 -277
  81. package/src/functions/graph.ts +0 -275
  82. package/src/functions/leases.ts +0 -216
  83. package/src/functions/lessons.ts +0 -253
  84. package/src/functions/mesh.ts +0 -434
  85. package/src/functions/migrate.ts +0 -165
  86. package/src/functions/observe.ts +0 -144
  87. package/src/functions/obsidian-export.ts +0 -310
  88. package/src/functions/patterns.ts +0 -138
  89. package/src/functions/privacy.ts +0 -39
  90. package/src/functions/profile.ts +0 -155
  91. package/src/functions/query-expansion.ts +0 -186
  92. package/src/functions/relations.ts +0 -237
  93. package/src/functions/remember.ts +0 -162
  94. package/src/functions/retention.ts +0 -235
  95. package/src/functions/routines.ts +0 -289
  96. package/src/functions/search.ts +0 -80
  97. package/src/functions/sentinels.ts +0 -417
  98. package/src/functions/signals.ts +0 -186
  99. package/src/functions/sketches.ts +0 -274
  100. package/src/functions/sliding-window.ts +0 -257
  101. package/src/functions/smart-search.ts +0 -115
  102. package/src/functions/snapshot.ts +0 -219
  103. package/src/functions/summarize.ts +0 -155
  104. package/src/functions/team.ts +0 -147
  105. package/src/functions/temporal-graph.ts +0 -476
  106. package/src/functions/timeline.ts +0 -138
  107. package/src/functions/verify.ts +0 -117
  108. package/src/health/monitor.ts +0 -110
  109. package/src/health/thresholds.ts +0 -73
  110. package/src/hooks/notification.ts +0 -52
  111. package/src/hooks/post-tool-failure.ts +0 -58
  112. package/src/hooks/post-tool-use.ts +0 -62
  113. package/src/hooks/pre-compact.ts +0 -60
  114. package/src/hooks/pre-tool-use.ts +0 -72
  115. package/src/hooks/prompt-submit.ts +0 -46
  116. package/src/hooks/session-end.ts +0 -71
  117. package/src/hooks/session-start.ts +0 -48
  118. package/src/hooks/stop.ts +0 -39
  119. package/src/hooks/subagent-start.ts +0 -49
  120. package/src/hooks/subagent-stop.ts +0 -54
  121. package/src/hooks/task-completed.ts +0 -54
  122. package/src/index.ts +0 -342
  123. package/src/mcp/in-memory-kv.ts +0 -61
  124. package/src/mcp/server.ts +0 -1455
  125. package/src/mcp/standalone.ts +0 -177
  126. package/src/mcp/tools-registry.ts +0 -769
  127. package/src/mcp/transport.ts +0 -91
  128. package/src/prompts/compression.ts +0 -67
  129. package/src/prompts/consolidation.ts +0 -48
  130. package/src/prompts/graph-extraction.ts +0 -35
  131. package/src/prompts/summary.ts +0 -38
  132. package/src/prompts/xml.ts +0 -26
  133. package/src/providers/agent-sdk.ts +0 -34
  134. package/src/providers/anthropic.ts +0 -35
  135. package/src/providers/circuit-breaker.ts +0 -82
  136. package/src/providers/embedding/cohere.ts +0 -46
  137. package/src/providers/embedding/gemini.ts +0 -54
  138. package/src/providers/embedding/index.ts +0 -39
  139. package/src/providers/embedding/local.ts +0 -52
  140. package/src/providers/embedding/openai.ts +0 -45
  141. package/src/providers/embedding/openrouter.ts +0 -51
  142. package/src/providers/embedding/voyage.ts +0 -46
  143. package/src/providers/fallback-chain.ts +0 -31
  144. package/src/providers/index.ts +0 -84
  145. package/src/providers/openrouter.ts +0 -71
  146. package/src/providers/resilient.ts +0 -37
  147. package/src/state/hybrid-search.ts +0 -295
  148. package/src/state/index-persistence.ts +0 -63
  149. package/src/state/keyed-mutex.ts +0 -18
  150. package/src/state/kv.ts +0 -33
  151. package/src/state/schema.ts +0 -71
  152. package/src/state/search-index.ts +0 -245
  153. package/src/state/stemmer.ts +0 -104
  154. package/src/state/synonyms.ts +0 -63
  155. package/src/state/vector-index.ts +0 -130
  156. package/src/telemetry/setup.ts +0 -116
  157. package/src/triggers/api.ts +0 -1904
  158. package/src/triggers/events.ts +0 -71
  159. package/src/types.ts +0 -769
  160. package/src/version.ts +0 -1
  161. package/src/viewer/index.html +0 -2556
  162. package/src/viewer/server.ts +0 -207
  163. package/src/xenova.d.ts +0 -3
  164. package/test/actions.test.ts +0 -490
  165. package/test/audit.test.ts +0 -108
  166. package/test/auto-forget.test.ts +0 -188
  167. package/test/cascade.test.ts +0 -277
  168. package/test/checkpoints.test.ts +0 -493
  169. package/test/circuit-breaker.test.ts +0 -107
  170. package/test/claude-bridge.test.ts +0 -178
  171. package/test/confidence.test.ts +0 -247
  172. package/test/consistency.test.ts +0 -61
  173. package/test/consolidation-pipeline.test.ts +0 -251
  174. package/test/crystallize.test.ts +0 -521
  175. package/test/diagnostics.test.ts +0 -638
  176. package/test/embedding-provider.test.ts +0 -49
  177. package/test/enrich.test.ts +0 -209
  178. package/test/eval.test.ts +0 -300
  179. package/test/export-import.test.ts +0 -251
  180. package/test/facets.test.ts +0 -448
  181. package/test/fallback-chain.test.ts +0 -93
  182. package/test/frontier.test.ts +0 -485
  183. package/test/governance.test.ts +0 -147
  184. package/test/graph-retrieval.test.ts +0 -186
  185. package/test/graph.test.ts +0 -160
  186. package/test/helpers/mocks.ts +0 -40
  187. package/test/hybrid-search.test.ts +0 -145
  188. package/test/index-persistence.test.ts +0 -124
  189. package/test/integration.test.ts +0 -265
  190. package/test/leases.test.ts +0 -399
  191. package/test/mcp-prompts.test.ts +0 -218
  192. package/test/mcp-resources.test.ts +0 -286
  193. package/test/mcp-standalone.test.ts +0 -113
  194. package/test/mesh.test.ts +0 -700
  195. package/test/privacy.test.ts +0 -87
  196. package/test/profile.test.ts +0 -161
  197. package/test/query-expansion.test.ts +0 -154
  198. package/test/relations.test.ts +0 -198
  199. package/test/retention.test.ts +0 -245
  200. package/test/routines.test.ts +0 -497
  201. package/test/schema-fingerprint.test.ts +0 -81
  202. package/test/schema.test.ts +0 -42
  203. package/test/search-index.test.ts +0 -128
  204. package/test/sentinels.test.ts +0 -626
  205. package/test/signals.test.ts +0 -410
  206. package/test/sketches.test.ts +0 -549
  207. package/test/sliding-window.test.ts +0 -199
  208. package/test/smart-search.test.ts +0 -169
  209. package/test/snapshot.test.ts +0 -165
  210. package/test/team.test.ts +0 -156
  211. package/test/temporal-graph.test.ts +0 -378
  212. package/test/timeline.test.ts +0 -148
  213. package/test/vector-index.test.ts +0 -79
  214. package/test/verify.test.ts +0 -209
  215. package/test/xml.test.ts +0 -65
  216. package/tsconfig.json +0 -22
  217. package/tsdown.config.ts +0 -62
package/AGENTS.md CHANGED
@@ -98,16 +98,16 @@ Hook scripts in `src/hooks/` are standalone Node.js scripts (no iii-sdk import).
98
98
 
99
99
  ## Testing
100
100
 
101
- - All tests must pass before PR: `npm test` (573+ tests)
101
+ - All tests must pass before PR: `npm test` (613+ tests)
102
102
  - Mock pattern: `vi.mock("iii-sdk")` with mock `sdk.trigger`, `kv.get/set/list`
103
103
  - Test files go in `test/` with `.test.ts` extension
104
104
  - Follow existing patterns in `test/crystallize.test.ts` for function tests
105
105
 
106
106
  ## Current Stats (v0.7.0)
107
107
 
108
- - 41 MCP tools (7 visible by default, `AGENTMEMORY_TOOLS=all` for all)
109
- - 100 REST endpoints
108
+ - 43 MCP tools (8 visible by default, `AGENTMEMORY_TOOLS=all` for all)
109
+ - 103 REST endpoints
110
110
  - 6 MCP resources, 3 MCP prompts
111
111
  - 12 hooks, 4 skills
112
112
  - 50+ iii functions
113
- - 581 tests
113
+ - 627 tests
package/README.md CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ---
28
28
 
29
- Every AI coding agent has the same blind spot. Session ends, memory vanishes. You re-explain architecture. You re-discover bugs. You re-teach preferences. Built-in memory files like CLAUDE.md and .cursorrules are 200-line sticky notes that overflow and go stale. agentmemory replaces that with a searchable, versioned, cross-agent database — 41 MCP tools, triple-stream retrieval (BM25 + vector + knowledge graph), 4-tier memory consolidation, provenance-tracked citations, and cascading staleness so retired facts never pollute your context again. One instance serves Claude Code, Cursor, Codex, Windsurf, and any MCP client simultaneously. 581 tests. Zero external DB dependencies.
29
+ Every AI coding agent has the same blind spot. Session ends, memory vanishes. You re-explain architecture. You re-discover bugs. You re-teach preferences. Built-in memory files like CLAUDE.md and .cursorrules are 200-line sticky notes that overflow and go stale. agentmemory replaces that with a searchable, versioned, cross-agent database — 43 MCP tools, triple-stream retrieval (BM25 + vector + knowledge graph), 4-tier memory consolidation, provenance-tracked citations, and cascading staleness so retired facts never pollute your context again. One instance serves Claude Code, Cursor, Codex, Windsurf, and any MCP client simultaneously. 627 tests. Zero external DB dependencies.
30
30
 
31
31
  The result is measurable. On 240 real observations across 30 sessions, agentmemory hits 64% Recall@10 and perfect MRR while using 92% fewer tokens than dumping everything into context. When an agent searches "database performance optimization," it finds the N+1 fix you made three weeks ago — something keyword grep literally cannot do. Memories version automatically, supersede each other, propagate staleness to related graph nodes, and sync across agent instances via P2P mesh. Your agents stop repeating mistakes. Your context stays clean. Your sessions start fast.
32
32
 
@@ -131,7 +131,7 @@ These agents support hooks natively. agentmemory captures tool usage automatical
131
131
 
132
132
  ### MCP support (any MCP-compatible agent)
133
133
 
134
- Any agent that connects to MCP servers can use agentmemory's 41 tools, 6 resources, and 3 prompts. The agent actively queries and saves memory through MCP calls.
134
+ Any agent that connects to MCP servers can use agentmemory's 43 tools, 6 resources, and 3 prompts. The agent actively queries and saves memory through MCP calls.
135
135
 
136
136
  | Agent | How to connect |
137
137
  |---|---|
@@ -143,7 +143,7 @@ Any agent that connects to MCP servers can use agentmemory's 41 tools, 6 resourc
143
143
 
144
144
  ### REST API (any agent, any language)
145
145
 
146
- Agents without hooks or MCP can integrate via 100 REST endpoints directly. This works with any agent, language, or framework.
146
+ Agents without hooks or MCP can integrate via 103 REST endpoints directly. This works with any agent, language, or framework.
147
147
 
148
148
  ```bash
149
149
  POST /agentmemory/observe # Capture what the agent did
@@ -161,7 +161,7 @@ GET /agentmemory/profile # Get project intelligence
161
161
  | Claude Code user | Plugin install (hooks + MCP + skills) |
162
162
  | Building a custom agent with Claude SDK | AgentSDKProvider (zero config) |
163
163
  | Using Cursor, Windsurf, or any MCP client | MCP server (41 tools + 6 resources + 3 prompts) |
164
- | Building your own agent framework | REST API (100 endpoints) |
164
+ | Building your own agent framework | REST API (103 endpoints) |
165
165
  | Sharing memory across multiple agents | All agents point to the same iii-engine instance |
166
166
 
167
167
  ## Quick Start
@@ -632,7 +632,7 @@ ANTHROPIC_API_KEY=sk-ant-...
632
632
 
633
633
  ## API
634
634
 
635
- 106 endpoints on port `3111` (100 core + 6 MCP protocol). Protected endpoints require `Authorization: Bearer <secret>` when `AGENTMEMORY_SECRET` is set. The table below shows a representative subset; see `src/triggers/api.ts` for the full endpoint list.
635
+ 109 endpoints on port `3111` (103 core + 6 MCP protocol). Protected endpoints require `Authorization: Bearer <secret>` when `AGENTMEMORY_SECRET` is set. The table below shows a representative subset; see `src/triggers/api.ts` for the full endpoint list.
636
636
 
637
637
  | Method | Path | Description |
638
638
  |--------|------|-------------|
@@ -700,7 +700,7 @@ ANTHROPIC_API_KEY=sk-ant-...
700
700
  /plugin install agentmemory
701
701
  ```
702
702
 
703
- Restart Claude Code. All 12 hooks, 4 skills, and 41 MCP tools are registered automatically.
703
+ Restart Claude Code. All 12 hooks, 4 skills, and 43 MCP tools are registered automatically.
704
704
 
705
705
  ### Plugin Commands
706
706
 
@@ -724,72 +724,45 @@ agentmemory is built on iii-engine's three primitives:
724
724
  | Prometheus / Grafana | iii OTEL + built-in health monitor |
725
725
  | Redis (circuit breaker) | In-process circuit breaker + fallback chain |
726
726
 
727
- **113 source files. ~20,000 LOC. 581 tests. Zero external DB dependencies.**
728
-
729
- ### Functions (57)
730
-
731
- | Function | Purpose |
732
- |----------|---------|
733
- | `mem::observe` | Store raw observation with dedup check |
734
- | `mem::compress` | LLM compression with validation + quality scoring + embedding |
735
- | `mem::search` | BM25-ranked full-text search |
736
- | `mem::smart-search` | Hybrid search with progressive disclosure |
737
- | `mem::context` | Build session context within token budget |
738
- | `mem::summarize` | Generate validated session summaries |
739
- | `mem::remember` | Save to long-term memory (auto-supersedes similar) |
740
- | `mem::forget` | Delete observations, sessions, or memories |
741
- | `mem::file-index` | File-specific observation lookup |
742
- | `mem::consolidate` | Merge duplicate observations |
743
- | `mem::patterns` | Detect recurring patterns |
744
- | `mem::generate-rules` | Generate CLAUDE.md rules from patterns |
745
- | `mem::migrate` | Import from SQLite |
746
- | `mem::evict` | Age + importance + cap-based memory eviction |
747
- | `mem::relate` | Create relationship between memories |
748
- | `mem::evolve` | Create new version of a memory |
749
- | `mem::get-related` | Traverse memory relationship graph |
750
- | `mem::timeline` | Chronological observations around anchor |
751
- | `mem::profile` | Aggregate project profile |
752
- | `mem::auto-forget` | TTL expiry + contradiction detection |
753
- | `mem::enrich` | Unified enrichment (file context + observations + bug memories) |
754
- | `mem::export` / `mem::import` | Full JSON round-trip (v0.3.0 v0.7.0 formats, includes lessons) |
755
- | `mem::claude-bridge-read` | Read Claude Code native MEMORY.md |
756
- | `mem::claude-bridge-sync` | Sync top memories back to MEMORY.md |
757
- | `mem::graph-extract` | LLM-powered entity extraction from observations |
758
- | `mem::graph-query` | BFS traversal of knowledge graph |
759
- | `mem::graph-stats` | Node/edge counts by type |
760
- | `mem::consolidate-pipeline` | 4-tier memory consolidation with strength decay |
761
- | `mem::team-share` | Share memory/observation with team namespace |
762
- | `mem::team-feed` | Fetch recent shared items from team |
763
- | `mem::team-profile` | Aggregate team concepts, files, patterns |
764
- | `mem::governance-delete` | Delete specific memories with audit trail |
765
- | `mem::governance-bulk` | Bulk delete by type/date/quality filter |
766
- | `mem::snapshot-create` | Git commit memory state |
767
- | `mem::snapshot-list` | List all snapshots |
768
- | `mem::snapshot-restore` | Restore memory from snapshot commit |
769
- | `mem::action-create` / `action-update` | Dependency-aware work items with typed edges |
770
- | `mem::frontier` / `mem::next` | Priority-ranked unblocked action queue |
771
- | `mem::lease-acquire` / `release` / `renew` | TTL-based atomic agent claims |
772
- | `mem::routine-create` / `run` / `status` | Frozen workflow templates instantiated into action chains |
773
- | `mem::signal-send` / `read` / `threads` | Threaded inter-agent messaging with read receipts |
774
- | `mem::checkpoint-create` / `resolve` | External condition gates (CI, approval, deploy) |
775
- | `mem::flow-compress` | LLM-powered summarization of completed action chains |
776
- | `mem::mesh-register` / `sync` / `receive` | P2P sync between agentmemory instances |
777
- | `mem::detect-worktree` / `branch-sessions` | Git worktree detection for shared memory |
778
- | `mem::sentinel-create` / `trigger` / `check` | Event-driven condition watchers (webhook, timer, threshold, pattern, approval) |
779
- | `mem::sketch-create` / `add` / `promote` / `discard` | Ephemeral action graphs for exploratory work with auto-expiry |
780
- | `mem::crystallize` / `auto-crystallize` | LLM-powered compaction of completed action chains into crystal digests |
781
- | `mem::diagnose` / `heal` | Self-diagnosis across 8 categories with auto-fix for stuck/orphaned/stale state |
782
- | `mem::facet-tag` / `query` / `stats` | Multi-dimensional tagging with AND/OR queries on actions, memories, observations |
783
- | `mem::expand-query` | LLM-generated query reformulations for improved recall |
784
- | `mem::sliding-window` | Context-window enrichment at ingestion (resolve pronouns, abbreviations) |
785
- | `mem::temporal-graph` | Append-only versioned edges with point-in-time queries |
786
- | `mem::retention-score` / `evict` | Ebbinghaus-inspired decay with tiered storage (hot/warm/cold/evictable) |
787
- | `mem::graph-retrieval` | Entity search + chunk expansion + temporal queries via knowledge graph |
788
- | `mem::verify` | JIT verification — trace memory provenance back to source observations |
789
- | `mem::cascade-update` | Propagate staleness to graph nodes, edges, and sibling memories |
790
- | `mem::lesson-save` / `recall` / `list` | Confidence-scored lessons with dedup, reinforcement, and decay |
791
- | `mem::lesson-strengthen` / `decay-sweep` | Reinforce lessons on reuse, sweep for time-based decay |
792
- | `mem::obsidian-export` | Export vault as Obsidian-compatible Markdown with YAML frontmatter + wikilinks |
727
+ **113 source files. ~20,000 LOC. 627 tests. Zero external DB dependencies.**
728
+
729
+ ### Functions (89 mem:: functions)
730
+
731
+ | Category | Functions | Purpose |
732
+ |----------|-----------|---------|
733
+ | **Core Memory** | `observe`, `compress`, `search`, `smart-search` | Capture, compress, and search observations |
734
+ | | `context`, `summarize`, `remember`, `forget` | Build context, generate summaries, save/delete memories |
735
+ | | `file-context`, `enrich`, `patterns`, `generate-rules` | File history, enrichment, pattern detection, rule generation |
736
+ | | `migrate`, `export`, `import` | SQLite migration, JSON round-trip (v0.3.0–v0.7.2) |
737
+ | **Search** | `expand-query`, `sliding-window`, `graph-retrieval` | Query reformulations, context enrichment, entity-based retrieval |
738
+ | | `retention-score`, `retention-evict` | Ebbinghaus decay with tiered storage (hot/warm/cold) |
739
+ | **Memory Evolution** | `evolve`, `auto-forget`, `evict` | Version memories, TTL expiry, importance-based eviction |
740
+ | | `consolidate`, `consolidate-pipeline` | Merge duplicates, 4-tier consolidation (working→episodic→semantic→procedural) |
741
+ | | `verify`, `cascade-update` | Citation chain provenance, staleness propagation |
742
+ | **Knowledge Graph** | `graph-extract`, `graph-query`, `graph-stats` | LLM entity extraction, BFS traversal, statistics |
743
+ | | `temporal-graph-extract`, `temporal-query` | Temporal knowledge extraction + point-in-time queries |
744
+ | **Relationships** | `relate`, `get-related`, `timeline`, `profile` | Memory relations, chronological view, project profiles |
745
+ | **Claude Bridge** | `claude-bridge-read`, `claude-bridge-sync` | Bi-directional sync with MEMORY.md |
746
+ | **Actions** | `action-create`, `action-update`, `action-get`, `action-list` | Dependency-aware work items with typed edges |
747
+ | | `action-edge-create` | Create typed edges between actions (requires, unlocks, gated_by) |
748
+ | | `frontier`, `next` | Priority-ranked unblocked action queue |
749
+ | **Leases** | `lease-acquire`, `lease-release`, `lease-renew`, `lease-cleanup` | TTL-based atomic agent claims with auto-cleanup |
750
+ | **Routines** | `routine-create`, `routine-freeze`, `routine-list`, `routine-run`, `routine-status` | Frozen workflow templates instantiated into action chains |
751
+ | **Signals** | `signal-send`, `signal-read`, `signal-threads`, `signal-cleanup` | Threaded inter-agent messaging with read receipts |
752
+ | **Checkpoints** | `checkpoint-create`, `checkpoint-resolve`, `checkpoint-list`, `checkpoint-expire` | External condition gates (CI, approval, deploy) |
753
+ | **Mesh** | `mesh-register`, `mesh-sync`, `mesh-receive`, `mesh-list`, `mesh-remove` | P2P sync between agentmemory instances |
754
+ | **Sentinels** | `sentinel-create`, `sentinel-trigger`, `sentinel-check`, `sentinel-cancel`, `sentinel-list`, `sentinel-expire` | Event-driven condition watchers |
755
+ | **Sketches** | `sketch-create`, `sketch-add`, `sketch-promote`, `sketch-discard`, `sketch-list`, `sketch-gc` | Ephemeral action graphs with auto-expiry |
756
+ | **Crystals** | `crystallize`, `auto-crystallize`, `crystal-list`, `crystal-get` | LLM-powered compaction of action chains into digests |
757
+ | **Lessons** | `lesson-save`, `lesson-recall`, `lesson-list`, `lesson-strengthen`, `lesson-decay-sweep` | Confidence-scored lessons with dedup, reinforcement, and decay |
758
+ | **Facets** | `facet-tag`, `facet-untag`, `facet-query`, `facet-get`, `facet-stats`, `facet-dimensions` | Multi-dimensional tagging with AND/OR queries |
759
+ | **Diagnostics** | `diagnose`, `heal` | Self-diagnosis across 8 categories with auto-fix |
760
+ | **Flow** | `flow-compress` | LLM summarization of completed action chains |
761
+ | **Branch** | `detect-worktree`, `list-worktrees`, `branch-sessions` | Git worktree detection for shared memory |
762
+ | **Team** | `team-share`, `team-feed`, `team-profile` | Namespaced shared + private team memory |
763
+ | **Governance** | `governance-delete`, `governance-bulk`, `audit-query` | Delete with audit trail, bulk operations |
764
+ | **Snapshots** | `snapshot-create`, `snapshot-list`, `snapshot-restore` | Git-versioned memory state |
765
+ | **Export** | `obsidian-export` | Obsidian-compatible Markdown with YAML frontmatter + wikilinks |
793
766
 
794
767
  ### Data Model (34 KV scopes)
795
768
 
@@ -835,7 +808,7 @@ agentmemory is built on iii-engine's three primitives:
835
808
  ```bash
836
809
  npm run dev # Hot reload
837
810
  npm run build # Production build (~425KB)
838
- npm test # Unit tests (581 tests, ~1.5s)
811
+ npm test # Unit tests (627 tests, ~1.5s)
839
812
  npm run test:integration # API tests (requires running services)
840
813
  ```
841
814
 
package/dist/cli.mjs CHANGED
@@ -159,12 +159,12 @@ async function main() {
159
159
  p.intro("agentmemory");
160
160
  if (skipEngine) {
161
161
  p.log.info("Skipping engine check (--no-engine)");
162
- await import("./src-1fTKFEtN.mjs");
162
+ await import("./src-DP8JSXkx.mjs");
163
163
  return;
164
164
  }
165
165
  if (await isEngineRunning()) {
166
166
  p.log.success("iii-engine is running");
167
- await import("./src-1fTKFEtN.mjs");
167
+ await import("./src-DP8JSXkx.mjs");
168
168
  return;
169
169
  }
170
170
  if (!await startEngine()) {
@@ -192,7 +192,7 @@ async function main() {
192
192
  process.exit(1);
193
193
  }
194
194
  s.stop("iii-engine is ready");
195
- await import("./src-1fTKFEtN.mjs");
195
+ await import("./src-DP8JSXkx.mjs");
196
196
  }
197
197
  main().catch((err) => {
198
198
  p.log.error(err instanceof Error ? err.message : String(err));