@memoryrelay/plugin-memoryrelay-ai 0.8.9 → 0.9.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/index.ts +3 -3
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -8
- package/bin/memoryrelay-health.js +0 -46
- package/bin/memoryrelay-logs.js +0 -48
- package/bin/memoryrelay-metrics.js +0 -57
- package/bin/memoryrelay-test.js +0 -46
package/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* OpenClaw Memory Plugin - MemoryRelay
|
|
3
|
-
* Version: 0.
|
|
3
|
+
* Version: 0.9.0 (OpenClaw Security Compliance)
|
|
4
4
|
*
|
|
5
5
|
* Long-term memory with vector search using MemoryRelay API.
|
|
6
6
|
* Provides auto-recall and auto-capture via lifecycle hooks.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* API: https://api.memoryrelay.net
|
|
10
10
|
* Docs: https://memoryrelay.ai
|
|
11
11
|
*
|
|
12
|
-
* ENHANCEMENTS (v0.
|
|
12
|
+
* ENHANCEMENTS (v0.9.0):
|
|
13
13
|
* - Removed fs.writeFile from export command (stdout only now)
|
|
14
14
|
* - No filesystem operations - passes OpenClaw security validation
|
|
15
15
|
* - Export usage: openclaw memoryrelay export > memories.json
|
|
@@ -865,7 +865,7 @@ export default async function plugin(api: OpenClawPluginApi): Promise<void> {
|
|
|
865
865
|
const verboseEnabled = cfg?.verbose || false;
|
|
866
866
|
const maxLogEntries = cfg?.maxLogEntries || 100;
|
|
867
867
|
|
|
868
|
-
// Note: logFile is deprecated in v0.
|
|
868
|
+
// Note: logFile is deprecated in v0.9.0 (removed for OpenClaw security compliance)
|
|
869
869
|
// All debug logs are in-memory only. Use gateway methods to access logs.
|
|
870
870
|
|
|
871
871
|
let debugLogger: DebugLogger | undefined;
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memoryrelay/plugin-memoryrelay-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "OpenClaw memory plugin for MemoryRelay API - sessions, decisions, patterns, projects & semantic search",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -42,17 +42,10 @@
|
|
|
42
42
|
"./index.ts"
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
|
-
"bin": {
|
|
46
|
-
"memoryrelay-logs": "./bin/memoryrelay-logs.js",
|
|
47
|
-
"memoryrelay-health": "./bin/memoryrelay-health.js",
|
|
48
|
-
"memoryrelay-test": "./bin/memoryrelay-test.js",
|
|
49
|
-
"memoryrelay-metrics": "./bin/memoryrelay-metrics.js"
|
|
50
|
-
},
|
|
51
45
|
"files": [
|
|
52
46
|
"index.ts",
|
|
53
47
|
"src/*.ts",
|
|
54
48
|
"!src/*.test.ts",
|
|
55
|
-
"bin/",
|
|
56
49
|
"openclaw.plugin.json",
|
|
57
50
|
"README.md",
|
|
58
51
|
"LICENSE"
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* MemoryRelay CLI - Health Command
|
|
4
|
-
*
|
|
5
|
-
* Run comprehensive health check on MemoryRelay plugin
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* memoryrelay-health [--detailed]
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
const detailed = process.argv.includes('--detailed');
|
|
12
|
-
|
|
13
|
-
console.log('MemoryRelay Health Check');
|
|
14
|
-
console.log('═'.repeat(50));
|
|
15
|
-
console.log();
|
|
16
|
-
console.log('Running comprehensive health check...');
|
|
17
|
-
console.log();
|
|
18
|
-
|
|
19
|
-
// Show instructions
|
|
20
|
-
console.log('To run health check:');
|
|
21
|
-
console.log(' openclaw gateway call memoryrelay.health');
|
|
22
|
-
console.log();
|
|
23
|
-
console.log('This will test:');
|
|
24
|
-
console.log(' ✓ API endpoint reachability');
|
|
25
|
-
console.log(' ✓ Authentication (API key validation)');
|
|
26
|
-
console.log(' ✓ Core tools (memory_store, memory_recall, memory_list)');
|
|
27
|
-
console.log(' ✓ Response times');
|
|
28
|
-
console.log();
|
|
29
|
-
console.log('Example output:');
|
|
30
|
-
console.log(JSON.stringify({
|
|
31
|
-
"api": {
|
|
32
|
-
"status": "healthy",
|
|
33
|
-
"endpoint": "https://api.memoryrelay.net",
|
|
34
|
-
"responseTime": 45,
|
|
35
|
-
"reachable": true
|
|
36
|
-
},
|
|
37
|
-
"authentication": {
|
|
38
|
-
"status": "valid"
|
|
39
|
-
},
|
|
40
|
-
"tools": {
|
|
41
|
-
"memory_store": { "status": "working", "duration": 142 },
|
|
42
|
-
"memory_recall": { "status": "working", "duration": 78 },
|
|
43
|
-
"memory_list": { "status": "working", "duration": 92 }
|
|
44
|
-
},
|
|
45
|
-
"overall": "healthy"
|
|
46
|
-
}, null, 2));
|
package/bin/memoryrelay-logs.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* MemoryRelay CLI - Logs Command
|
|
4
|
-
*
|
|
5
|
-
* View debug logs from the MemoryRelay plugin
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* memoryrelay-logs [--limit N] [--tool NAME] [--errors-only]
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
const args = process.argv.slice(2);
|
|
12
|
-
const limit = parseInt(args.find(a => a.startsWith('--limit='))?.split('=')[1] || '20');
|
|
13
|
-
const tool = args.find(a => a.startsWith('--tool='))?.split('=')[1];
|
|
14
|
-
const errorsOnly = args.includes('--errors-only');
|
|
15
|
-
|
|
16
|
-
console.log('MemoryRelay Debug Logs');
|
|
17
|
-
console.log('═'.repeat(50));
|
|
18
|
-
console.log();
|
|
19
|
-
|
|
20
|
-
if (tool) {
|
|
21
|
-
console.log(`Tool: ${tool}`);
|
|
22
|
-
}
|
|
23
|
-
if (errorsOnly) {
|
|
24
|
-
console.log('Filter: Errors only');
|
|
25
|
-
}
|
|
26
|
-
console.log(`Limit: ${limit}`);
|
|
27
|
-
console.log();
|
|
28
|
-
|
|
29
|
-
// In a real implementation, this would call the gateway method
|
|
30
|
-
// For now, show usage instructions
|
|
31
|
-
console.log('To use this command:');
|
|
32
|
-
console.log('1. Ensure debug mode is enabled in plugin config');
|
|
33
|
-
console.log('2. Run: openclaw gateway call memoryrelay.logs');
|
|
34
|
-
console.log();
|
|
35
|
-
console.log('Example config:');
|
|
36
|
-
console.log(JSON.stringify({
|
|
37
|
-
"plugins": {
|
|
38
|
-
"entries": {
|
|
39
|
-
"plugin-memoryrelay-ai": {
|
|
40
|
-
"config": {
|
|
41
|
-
"debug": true,
|
|
42
|
-
"verbose": false,
|
|
43
|
-
"maxLogEntries": 100
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}, null, 2));
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* MemoryRelay CLI - Metrics Command
|
|
4
|
-
*
|
|
5
|
-
* View performance metrics for MemoryRelay plugin
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* memoryrelay-metrics
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
console.log('MemoryRelay Performance Metrics');
|
|
12
|
-
console.log('═'.repeat(50));
|
|
13
|
-
console.log();
|
|
14
|
-
console.log('Collecting performance metrics...');
|
|
15
|
-
console.log();
|
|
16
|
-
|
|
17
|
-
console.log('To view metrics:');
|
|
18
|
-
console.log(' openclaw gateway call memoryrelay.metrics');
|
|
19
|
-
console.log();
|
|
20
|
-
console.log('Requirements:');
|
|
21
|
-
console.log(' • Debug mode must be enabled in plugin config');
|
|
22
|
-
console.log(' • Plugin must have processed API calls');
|
|
23
|
-
console.log();
|
|
24
|
-
console.log('Example output:');
|
|
25
|
-
console.log();
|
|
26
|
-
console.log('API CALLS');
|
|
27
|
-
console.log(' Total: 1,247');
|
|
28
|
-
console.log(' Successful: 1,198 (96.1%)');
|
|
29
|
-
console.log(' Failed: 49 (3.9%)');
|
|
30
|
-
console.log(' Avg Time: 132ms');
|
|
31
|
-
console.log();
|
|
32
|
-
console.log('TOP TOOLS (by call count)');
|
|
33
|
-
console.log(' memory_store: 456 calls, 98.2% success, 139ms avg');
|
|
34
|
-
console.log(' memory_recall: 387 calls, 100% success, 78ms avg');
|
|
35
|
-
console.log(' project_context: 142 calls, 100% success, 156ms avg');
|
|
36
|
-
console.log();
|
|
37
|
-
console.log('Full metrics structure:');
|
|
38
|
-
console.log(JSON.stringify({
|
|
39
|
-
"summary": {
|
|
40
|
-
"total": 1247,
|
|
41
|
-
"successful": 1198,
|
|
42
|
-
"failed": 49,
|
|
43
|
-
"successRate": 96.1,
|
|
44
|
-
"avgDuration": 132
|
|
45
|
-
},
|
|
46
|
-
"toolMetrics": {
|
|
47
|
-
"memory_store": {
|
|
48
|
-
"calls": 456,
|
|
49
|
-
"successes": 448,
|
|
50
|
-
"failures": 8,
|
|
51
|
-
"avgDuration": 139,
|
|
52
|
-
"successRate": 98,
|
|
53
|
-
"p95Duration": 289,
|
|
54
|
-
"p99Duration": 456
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}, null, 2));
|
package/bin/memoryrelay-test.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* MemoryRelay CLI - Test Command
|
|
4
|
-
*
|
|
5
|
-
* Test individual MemoryRelay tools
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* memoryrelay-test [--tool NAME]
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
const args = process.argv.slice(2);
|
|
12
|
-
const tool = args.find(a => a.startsWith('--tool='))?.split('=')[1];
|
|
13
|
-
|
|
14
|
-
console.log('MemoryRelay Tool Test');
|
|
15
|
-
console.log('═'.repeat(50));
|
|
16
|
-
console.log();
|
|
17
|
-
|
|
18
|
-
if (!tool) {
|
|
19
|
-
console.log('Usage: memoryrelay-test --tool=NAME');
|
|
20
|
-
console.log();
|
|
21
|
-
console.log('Available tools to test:');
|
|
22
|
-
console.log(' • memory_store - Store and delete a test memory');
|
|
23
|
-
console.log(' • memory_recall - Search for memories');
|
|
24
|
-
console.log(' • memory_list - List recent memories');
|
|
25
|
-
console.log(' • project_list - List projects');
|
|
26
|
-
console.log(' • memory_health - Check API health');
|
|
27
|
-
console.log();
|
|
28
|
-
console.log('Example:');
|
|
29
|
-
console.log(' memoryrelay-test --tool=memory_store');
|
|
30
|
-
process.exit(1);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
console.log(`Testing tool: ${tool}`);
|
|
34
|
-
console.log();
|
|
35
|
-
console.log('To run test:');
|
|
36
|
-
console.log(` openclaw gateway call memoryrelay.test '{"tool": "${tool}"}'`);
|
|
37
|
-
console.log();
|
|
38
|
-
console.log('Example output:');
|
|
39
|
-
console.log(JSON.stringify({
|
|
40
|
-
"tool": tool,
|
|
41
|
-
"duration": 142,
|
|
42
|
-
"result": {
|
|
43
|
-
"success": true,
|
|
44
|
-
"message": "Test completed successfully"
|
|
45
|
-
}
|
|
46
|
-
}, null, 2));
|