@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.
- package/README.md +2 -3
- package/index.ts +472 -4849
- package/openclaw.plugin.json +41 -3
- package/package.json +1 -1
- package/skills/decision-tracking/SKILL.md +1 -1
- package/skills/entity-and-context/SKILL.md +1 -1
- package/skills/memory-workflow/SKILL.md +1 -1
- package/src/client/memoryrelay-client.ts +816 -0
- package/src/context/namespace-router.ts +19 -0
- package/src/context/request-context.ts +39 -0
- package/src/context/session-resolver.ts +93 -0
- package/src/filters/content-patterns.ts +32 -0
- package/src/filters/noise-patterns.ts +33 -0
- package/src/filters/non-interactive.ts +30 -0
- package/src/hooks/activity.ts +51 -0
- package/src/hooks/agent-end.ts +48 -0
- package/src/hooks/before-agent-start.ts +109 -0
- package/src/hooks/before-prompt-build.ts +46 -0
- package/src/hooks/compaction.ts +51 -0
- package/src/hooks/privacy.ts +44 -0
- package/src/hooks/session-lifecycle.ts +47 -0
- package/src/hooks/subagent.ts +62 -0
- package/src/pipelines/capture/content-strip.ts +14 -0
- package/src/pipelines/capture/dedup.ts +17 -0
- package/src/pipelines/capture/index.ts +13 -0
- package/src/pipelines/capture/message-filter.ts +16 -0
- package/src/pipelines/capture/store.ts +33 -0
- package/src/pipelines/capture/trigger-gate.ts +21 -0
- package/src/pipelines/capture/truncate.ts +16 -0
- package/src/pipelines/recall/format.ts +30 -0
- package/src/pipelines/recall/index.ts +12 -0
- package/src/pipelines/recall/rank.ts +40 -0
- package/src/pipelines/recall/scope-resolver.ts +20 -0
- package/src/pipelines/recall/search.ts +43 -0
- package/src/pipelines/recall/trigger-gate.ts +17 -0
- package/src/pipelines/runner.ts +25 -0
- package/src/pipelines/types.ts +157 -0
- package/src/tools/agent-tools.ts +127 -0
- package/src/tools/decision-tools.ts +309 -0
- package/src/tools/entity-tools.ts +215 -0
- package/src/tools/health-tools.ts +42 -0
- package/src/tools/memory-tools.ts +690 -0
- package/src/tools/pattern-tools.ts +250 -0
- package/src/tools/project-tools.ts +444 -0
- package/src/tools/session-tools.ts +195 -0
- package/src/tools/v2-tools.ts +228 -0
package/openclaw.plugin.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"id": "plugin-memoryrelay-ai",
|
|
3
3
|
"kind": "memory",
|
|
4
4
|
"name": "MemoryRelay AI",
|
|
5
|
-
"description": "MemoryRelay v0.
|
|
6
|
-
"version": "0.
|
|
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.
|
|
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(
|
|
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,
|
|
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.
|
|
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
|
|