@memoryrelay/plugin-memoryrelay-ai 0.15.6 → 0.16.0

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 (46) hide show
  1. package/README.md +2 -3
  2. package/index.ts +472 -4849
  3. package/openclaw.plugin.json +41 -3
  4. package/package.json +1 -1
  5. package/skills/decision-tracking/SKILL.md +1 -1
  6. package/skills/entity-and-context/SKILL.md +1 -1
  7. package/skills/memory-workflow/SKILL.md +1 -1
  8. package/src/client/memoryrelay-client.ts +816 -0
  9. package/src/context/namespace-router.ts +19 -0
  10. package/src/context/request-context.ts +39 -0
  11. package/src/context/session-resolver.ts +93 -0
  12. package/src/filters/content-patterns.ts +32 -0
  13. package/src/filters/noise-patterns.ts +33 -0
  14. package/src/filters/non-interactive.ts +30 -0
  15. package/src/hooks/activity.ts +51 -0
  16. package/src/hooks/agent-end.ts +48 -0
  17. package/src/hooks/before-agent-start.ts +109 -0
  18. package/src/hooks/before-prompt-build.ts +46 -0
  19. package/src/hooks/compaction.ts +51 -0
  20. package/src/hooks/privacy.ts +44 -0
  21. package/src/hooks/session-lifecycle.ts +47 -0
  22. package/src/hooks/subagent.ts +62 -0
  23. package/src/pipelines/capture/content-strip.ts +14 -0
  24. package/src/pipelines/capture/dedup.ts +17 -0
  25. package/src/pipelines/capture/index.ts +13 -0
  26. package/src/pipelines/capture/message-filter.ts +16 -0
  27. package/src/pipelines/capture/store.ts +33 -0
  28. package/src/pipelines/capture/trigger-gate.ts +21 -0
  29. package/src/pipelines/capture/truncate.ts +16 -0
  30. package/src/pipelines/recall/format.ts +30 -0
  31. package/src/pipelines/recall/index.ts +12 -0
  32. package/src/pipelines/recall/rank.ts +40 -0
  33. package/src/pipelines/recall/scope-resolver.ts +20 -0
  34. package/src/pipelines/recall/search.ts +43 -0
  35. package/src/pipelines/recall/trigger-gate.ts +17 -0
  36. package/src/pipelines/runner.ts +25 -0
  37. package/src/pipelines/types.ts +157 -0
  38. package/src/tools/agent-tools.ts +127 -0
  39. package/src/tools/decision-tools.ts +309 -0
  40. package/src/tools/entity-tools.ts +215 -0
  41. package/src/tools/health-tools.ts +42 -0
  42. package/src/tools/memory-tools.ts +690 -0
  43. package/src/tools/pattern-tools.ts +250 -0
  44. package/src/tools/project-tools.ts +444 -0
  45. package/src/tools/session-tools.ts +195 -0
  46. package/src/tools/v2-tools.ts +228 -0
@@ -2,8 +2,8 @@
2
2
  "id": "plugin-memoryrelay-ai",
3
3
  "kind": "memory",
4
4
  "name": "MemoryRelay AI",
5
- "description": "MemoryRelay v0.15.6 - Long-term memory with 42 tools, 17 commands, V2 async, sessions, decisions, patterns & projects (api.memoryrelay.net)",
6
- "version": "0.15.6",
5
+ "description": "MemoryRelay v0.16.0 - Long-term memory with pipeline architecture, 42 tools, 17 commands, V2 async, sessions, decisions, patterns & projects (api.memoryrelay.net)",
6
+ "version": "0.16.0",
7
7
  "uiHints": {
8
8
  "apiKey": {
9
9
  "label": "MemoryRelay API Key",
@@ -83,6 +83,22 @@
83
83
  "placeholder": "100",
84
84
  "help": "Circular buffer size for in-memory debug logs (10-10,000)",
85
85
  "advanced": true
86
+ },
87
+ "namespace.isolateAgents": {
88
+ "label": "Isolate Agent Memories",
89
+ "help": "Keep each agent's memories separate. Disable to share across all agents."
90
+ },
91
+ "namespace.subagentPolicy": {
92
+ "label": "Subagent Memory Policy",
93
+ "help": "inherit: subagents use parent's memories. isolate: separate namespace. skip: no memory access."
94
+ },
95
+ "autoCapture.maxMessageLength": {
96
+ "label": "Max Capture Length",
97
+ "help": "Messages longer than this are truncated before capture."
98
+ },
99
+ "autoCapture.stripLargeCodeBlocks": {
100
+ "label": "Strip Large Code Blocks",
101
+ "help": "Remove code blocks over 500 chars from captured content."
86
102
  }
87
103
  },
88
104
  "configSchema": {
@@ -134,7 +150,9 @@
134
150
  "items": { "type": "string" },
135
151
  "default": [],
136
152
  "description": "Regex patterns for content to never capture"
137
- }
153
+ },
154
+ "maxMessageLength": { "type": "number", "default": 2000 },
155
+ "stripLargeCodeBlocks": { "type": "boolean", "default": true }
138
156
  }
139
157
  }
140
158
  ],
@@ -195,6 +213,26 @@
195
213
  "minimum": 10,
196
214
  "maximum": 10000,
197
215
  "description": "Circular buffer size for in-memory logs"
216
+ },
217
+ "namespace": {
218
+ "type": "object",
219
+ "properties": {
220
+ "isolateAgents": { "type": "boolean", "default": false },
221
+ "subagentPolicy": {
222
+ "type": "string",
223
+ "enum": ["inherit", "isolate", "skip"],
224
+ "default": "inherit"
225
+ }
226
+ }
227
+ },
228
+ "ranking": {
229
+ "type": "object",
230
+ "properties": {
231
+ "freshnessBoost": { "type": "boolean", "default": true },
232
+ "freshnessWindowHours": { "type": "number", "default": 24, "minimum": 1, "maximum": 168 },
233
+ "importanceBoost": { "type": "boolean", "default": true },
234
+ "tierBoost": { "type": "boolean", "default": true }
235
+ }
198
236
  }
199
237
  },
200
238
  "required": []
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memoryrelay/plugin-memoryrelay-ai",
3
- "version": "0.15.6",
3
+ "version": "0.16.0",
4
4
  "description": "OpenClaw memory plugin for MemoryRelay API - 42 tools, 17 commands, V2 async, sessions, decisions, patterns, projects & semantic search",
5
5
  "type": "module",
6
6
  "main": "index.ts",
@@ -13,7 +13,7 @@ Decisions are **choices with rationale and alternatives considered**. Plain fact
13
13
  |------|-----------|---------|
14
14
  | `decision_record` | `decision_record(title, rationale, alternatives?, project?, tags?, status?)` | Record a new decision with reasoning |
15
15
  | `decision_list` | `decision_list(project?, status?, tags?, limit?)` | List decisions, optionally filtered |
16
- | `decision_supersede` | `decision_supersede(old_id, new_title, new_rationale, tags?)` | Replace an outdated decision |
16
+ | `decision_supersede` | `decision_supersede(id, new_title, new_rationale, tags?)` | Replace an outdated decision |
17
17
  | `decision_check` | `decision_check(query, project?, limit?, threshold?)` | Semantic search for conflicting decisions |
18
18
 
19
19
  ## Workflow
@@ -15,7 +15,7 @@ Entities turn flat memory storage into a connected knowledge graph. Create entit
15
15
  | `entity_link` | `entity_link(entity_id, memory_id, relationship?)` | Connect an entity to a memory |
16
16
  | `entity_list` | `entity_list(limit?, offset?)` | List entities with pagination |
17
17
  | `entity_graph` | `entity_graph(entity_id, depth?, max_neighbors?)` | Explore an entity's neighborhood |
18
- | `memory_context` | `memory_context(query, token_budget?)` | Enriched recall with entity connections (see `memory-workflow` skill) |
18
+ | `memory_context` | `memory_context(query, max_tokens?)` | Enriched recall with entity connections (see `memory-workflow` skill) |
19
19
 
20
20
  ## Entity Types
21
21
 
@@ -40,7 +40,7 @@ Call `session_end(session_id, summary)` with a meaningful summary. This becomes
40
40
 
41
41
  ## Deduplication
42
42
 
43
- Always pass `deduplicate=true` on `memory_store` and `memory_batch_store`. The default threshold is 0.9 similarity. Skipping this clutters search results with near-duplicates.
43
+ Always pass `deduplicate=true` on `memory_store` and `memory_batch_store`. The default threshold is 0.95 similarity. Skipping this clutters search results with near-duplicates.
44
44
 
45
45
  ## Metadata Best Practices
46
46