memory-lancedb-pro 1.0.17 → 1.0.19

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.19
4
+
5
+ - UX: show memory IDs in `memory-pro list` and `memory-pro search` output, so users can delete entries without switching to JSON.
6
+ - UX: include IDs in agent tool outputs (`memory_recall`, `memory_list`) for easier debugging and `memory_forget` follow-ups.
7
+
8
+ ## 1.0.18
9
+
10
+ - Fix: sync `openclaw.plugin.json` version with `package.json`, so the OpenClaw plugin info shows the correct version.
11
+
12
+ ## 1.0.17
13
+
14
+ - Fix: adaptive-retrieval now strips OpenClaw-injected timestamp prefixes like `[Mon YYYY-MM-DD HH:MM ...] ...` to avoid skewing length-based heuristics.
15
+ - Improve: expanded SKIP/FORCE keyword patterns with Traditional Chinese variants.
16
+
3
17
  ## 1.0.16
4
18
 
5
19
  - Feat: expand memory capture triggers to support Traditional Chinese (繁體中文) in addition to Simplified Chinese, and improve category detection keywords.
package/README.md CHANGED
@@ -613,7 +613,7 @@ This prevents cross-bot memory pollution.
613
613
  ## CLI Commands
614
614
 
615
615
  ```bash
616
- # List memories
616
+ # List memories (output includes the memory id)
617
617
  openclaw memory-pro list [--scope global] [--category fact] [--limit 20] [--json]
618
618
 
619
619
  # Search memories
@@ -623,6 +623,7 @@ openclaw memory-pro search "query" [--scope global] [--limit 10] [--json]
623
623
  openclaw memory-pro stats [--scope global] [--json]
624
624
 
625
625
  # Delete a memory by ID (supports 8+ char prefix)
626
+ # Tip: copy the id shown by `memory-pro list` / `memory-pro search` (or use --json for full output)
626
627
  openclaw memory-pro delete <id>
627
628
 
628
629
  # Bulk delete with filters
package/cli.ts CHANGED
@@ -42,9 +42,11 @@ function clampInt(value: number, min: number, max: number): number {
42
42
 
43
43
  function formatMemory(memory: any, index?: number): string {
44
44
  const prefix = index !== undefined ? `${index + 1}. ` : "";
45
+ const id = memory?.id ? String(memory.id) : "unknown";
45
46
  const date = new Date(memory.timestamp || memory.createdAt || Date.now()).toISOString().split('T')[0];
46
- const text = memory.text.slice(0, 100) + (memory.text.length > 100 ? "..." : "");
47
- return `${prefix}[${memory.category}:${memory.scope}] ${text} (${date})`;
47
+ const fullText = String(memory.text || "");
48
+ const text = fullText.slice(0, 100) + (fullText.length > 100 ? "..." : "");
49
+ return `${prefix}[${id}] [${memory.category}:${memory.scope}] ${text} (${date})`;
48
50
  }
49
51
 
50
52
  function formatJson(obj: any): string {
@@ -150,7 +152,7 @@ export function registerMemoryCLI(program: Command, context: CLIContext): void {
150
152
  if (result.sources.reranked) sources.push("reranked");
151
153
 
152
154
  console.log(
153
- `${i + 1}. [${result.entry.category}:${result.entry.scope}] ${result.entry.text} ` +
155
+ `${i + 1}. [${result.entry.id}] [${result.entry.category}:${result.entry.scope}] ${result.entry.text} ` +
154
156
  `(${(result.score * 100).toFixed(0)}%, ${sources.join('+')})`
155
157
  );
156
158
  });
@@ -2,7 +2,7 @@
2
2
  "id": "memory-lancedb-pro",
3
3
  "name": "Memory (LanceDB Pro)",
4
4
  "description": "Enhanced LanceDB-backed long-term memory with hybrid retrieval, multi-scope isolation, and management CLI",
5
- "version": "1.0.13",
5
+ "version": "1.0.19",
6
6
  "kind": "memory",
7
7
  "configSchema": {
8
8
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memory-lancedb-pro",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "description": "OpenClaw enhanced LanceDB memory plugin with hybrid retrieval (Vector + BM25), cross-encoder rerank, multi-scope isolation, and management CLI",
5
5
  "type": "module",
6
6
  "main": "index.ts",
package/src/tools.ts CHANGED
@@ -113,7 +113,7 @@ export function registerMemoryRecallTool(api: OpenClawPluginApi, context: ToolCo
113
113
  if (r.sources.bm25) sources.push("BM25");
114
114
  if (r.sources.reranked) sources.push("reranked");
115
115
 
116
- return `${i + 1}. [${r.entry.category}:${r.entry.scope}] ${r.entry.text} (${(r.score * 100).toFixed(0)}%${sources.length > 0 ? `, ${sources.join('+')}` : ''})`;
116
+ return `${i + 1}. [${r.entry.id}] [${r.entry.category}:${r.entry.scope}] ${r.entry.text} (${(r.score * 100).toFixed(0)}%${sources.length > 0 ? `, ${sources.join('+')}` : ''})`;
117
117
  })
118
118
  .join("\n");
119
119
 
@@ -583,7 +583,7 @@ export function registerMemoryListTool(api: OpenClawPluginApi, context: ToolCont
583
583
  const text = entries
584
584
  .map((entry, i) => {
585
585
  const date = new Date(entry.timestamp).toISOString().split('T')[0];
586
- return `${safeOffset + i + 1}. [${entry.category}:${entry.scope}] ${entry.text.slice(0, 100)}${entry.text.length > 100 ? '...' : ''} (${date})`;
586
+ return `${safeOffset + i + 1}. [${entry.id}] [${entry.category}:${entry.scope}] ${entry.text.slice(0, 100)}${entry.text.length > 100 ? '...' : ''} (${date})`;
587
587
  })
588
588
  .join('\n');
589
589