@memoryrelay/plugin-memoryrelay-ai 0.2.1 → 0.2.3
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 +18 -0
- package/index.ts +10 -10
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -396,6 +396,24 @@ MIT © 2026 MemoryRelay
|
|
|
396
396
|
|
|
397
397
|
## Changelog
|
|
398
398
|
|
|
399
|
+
### v0.2.3 (2026-02-13)
|
|
400
|
+
|
|
401
|
+
**Critical Fix:**
|
|
402
|
+
- Fixed API endpoint paths - removed duplicate `/memories` segment
|
|
403
|
+
- Changed `/v1/memories/memories` → `/v1/memories`
|
|
404
|
+
- Changed `/v1/memories/memories/{id}` → `/v1/memories/{id}`
|
|
405
|
+
- Fixed 405 Method Not Allowed errors
|
|
406
|
+
- All CRUD operations now work correctly
|
|
407
|
+
|
|
408
|
+
### v0.2.2 (2026-02-13)
|
|
409
|
+
|
|
410
|
+
**Critical Fix:**
|
|
411
|
+
- Fixed tool registration API - changed `inputSchema` to `parameters`
|
|
412
|
+
- Fixed handler signature - changed `handler` to `execute` with `_id` parameter
|
|
413
|
+
- Tools now register correctly with OpenClaw
|
|
414
|
+
- Memory storage/recall/forget now functional
|
|
415
|
+
- Plugin shows as "available" instead of "unavailable"
|
|
416
|
+
|
|
399
417
|
### v0.2.1 (2026-02-13)
|
|
400
418
|
|
|
401
419
|
**Bug Fix:**
|
package/index.ts
CHANGED
|
@@ -80,7 +80,7 @@ class MemoryRelayClient {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
async store(content: string, metadata?: Record<string, string>): Promise<Memory> {
|
|
83
|
-
return this.request<Memory>("POST", "/v1/memories
|
|
83
|
+
return this.request<Memory>("POST", "/v1/memories", {
|
|
84
84
|
content,
|
|
85
85
|
metadata,
|
|
86
86
|
agent_id: this.agentId,
|
|
@@ -94,7 +94,7 @@ class MemoryRelayClient {
|
|
|
94
94
|
): Promise<SearchResult[]> {
|
|
95
95
|
const response = await this.request<{ data: SearchResult[] }>(
|
|
96
96
|
"POST",
|
|
97
|
-
"/v1/memories/
|
|
97
|
+
"/v1/memories/search",
|
|
98
98
|
{
|
|
99
99
|
query,
|
|
100
100
|
limit,
|
|
@@ -114,11 +114,11 @@ class MemoryRelayClient {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
async get(id: string): Promise<Memory> {
|
|
117
|
-
return this.request<Memory>("GET", `/v1/memories
|
|
117
|
+
return this.request<Memory>("GET", `/v1/memories/${id}`);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
async delete(id: string): Promise<void> {
|
|
121
|
-
await this.request<void>("DELETE", `/v1/memories
|
|
121
|
+
await this.request<void>("DELETE", `/v1/memories/${id}`);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
async health(): Promise<{ status: string }> {
|
|
@@ -183,7 +183,7 @@ export default async function plugin(api: OpenClawPluginApi): Promise<void> {
|
|
|
183
183
|
name: "memory_store",
|
|
184
184
|
description:
|
|
185
185
|
"Store a new memory in MemoryRelay. Use this to save important information, facts, preferences, or context that should be remembered for future conversations.",
|
|
186
|
-
|
|
186
|
+
parameters: {
|
|
187
187
|
type: "object",
|
|
188
188
|
properties: {
|
|
189
189
|
content: {
|
|
@@ -198,7 +198,7 @@ export default async function plugin(api: OpenClawPluginApi): Promise<void> {
|
|
|
198
198
|
},
|
|
199
199
|
required: ["content"],
|
|
200
200
|
},
|
|
201
|
-
|
|
201
|
+
execute: async (_id, { content, metadata }: { content: string; metadata?: Record<string, string> }) => {
|
|
202
202
|
try {
|
|
203
203
|
const memory = await client.store(content, metadata);
|
|
204
204
|
return {
|
|
@@ -227,7 +227,7 @@ export default async function plugin(api: OpenClawPluginApi): Promise<void> {
|
|
|
227
227
|
name: "memory_recall",
|
|
228
228
|
description:
|
|
229
229
|
"Search memories using natural language. Returns the most relevant memories based on semantic similarity.",
|
|
230
|
-
|
|
230
|
+
parameters: {
|
|
231
231
|
type: "object",
|
|
232
232
|
properties: {
|
|
233
233
|
query: {
|
|
@@ -244,7 +244,7 @@ export default async function plugin(api: OpenClawPluginApi): Promise<void> {
|
|
|
244
244
|
},
|
|
245
245
|
required: ["query"],
|
|
246
246
|
},
|
|
247
|
-
|
|
247
|
+
execute: async (_id, { query, limit = 5 }: { query: string; limit?: number }) => {
|
|
248
248
|
try {
|
|
249
249
|
const results = await client.search(query, limit, cfg.recallThreshold || 0.3);
|
|
250
250
|
|
|
@@ -296,7 +296,7 @@ export default async function plugin(api: OpenClawPluginApi): Promise<void> {
|
|
|
296
296
|
{
|
|
297
297
|
name: "memory_forget",
|
|
298
298
|
description: "Delete a memory by ID or search for memories to forget.",
|
|
299
|
-
|
|
299
|
+
parameters: {
|
|
300
300
|
type: "object",
|
|
301
301
|
properties: {
|
|
302
302
|
memoryId: {
|
|
@@ -309,7 +309,7 @@ export default async function plugin(api: OpenClawPluginApi): Promise<void> {
|
|
|
309
309
|
},
|
|
310
310
|
},
|
|
311
311
|
},
|
|
312
|
-
|
|
312
|
+
execute: async (_id, { memoryId, query }: { memoryId?: string; query?: string }) => {
|
|
313
313
|
if (memoryId) {
|
|
314
314
|
try {
|
|
315
315
|
await client.delete(memoryId);
|
package/openclaw.plugin.json
CHANGED