@xdarkicex/openclaw-memory-libravdb 1.4.32 → 1.4.33

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.
@@ -0,0 +1,124 @@
1
+ # Configuration Reference
2
+
3
+ All configuration keys are optional.
4
+
5
+ If you do not have a GPU available, setting `onnxDevice` to `"cpu"` is
6
+ recommended to avoid startup failures from missing GPU/NPU providers,
7
+ but this is also optional — the service auto-detects and falls back to
8
+ CPU when a provider is unavailable.
9
+
10
+ ## Connection
11
+
12
+ | Key | Type | Default | Notes |
13
+ |---|---|---|---|
14
+ | `sidecarPath` | string | `auto` | `"auto"` probes standard socket paths; set `unix:/path` or `tcp:host:port` to override |
15
+ | `grpcEndpoint` | string | — | Optional gRPC kernel endpoint for hosts using the gRPC kernel transport |
16
+ | `rpcTimeoutMs` | number | `30000` | Per-call timeout for service RPC (ms) |
17
+ | `dbPath` | string | auto-named | Explicit DB path; when set bypasses model-specific naming |
18
+
19
+ ## Embedding
20
+
21
+ | Key | Type | Default | Notes |
22
+ |---|---|---|---|
23
+ | `embeddingProfile` | string | `nomic-embed-text-v1.5` | Primary embedding model |
24
+ | `fallbackProfile` | string | `bge-small-en-v1.5` | Fallback when primary model fails dimension checks |
25
+ | `embeddingBackend` | string | — | `bundled`, `onnx-local`, or `custom-local` |
26
+ | `onnxDevice` | string | `auto` | ONNX execution provider: `auto`, `cpu`, `coreml` (macOS), `cuda` (Linux/Windows), `directml` (Windows), `openvino` (Linux) |
27
+ | `embeddingRuntimePath` | string | — | Path to ONNX runtime library (maps to `LIBRAVDB_ONNX_RUNTIME`) |
28
+ | `embeddingModelPath` | string | — | Path to custom embedding model `.onnx` file |
29
+ | `embeddingTokenizerPath` | string | — | Path to custom tokenizer file |
30
+ | `embeddingDimensions` | number | — | Embedding dimension override |
31
+ | `embeddingNormalize` | boolean | — | Enable embedding normalization |
32
+
33
+ ## Retrieval
34
+
35
+ | Key | Type | Default | Notes |
36
+ |---|---|---|---|
37
+ | `topK` | number | — | Max results per search |
38
+ | `alpha` | number | — | Semantic similarity weight |
39
+ | `beta` | number | — | Recency weight |
40
+ | `gamma` | number | — | Summary quality weight |
41
+ | `crossSessionRecall` | boolean | `true` | When `false`, only session-scoped memories are retrieved |
42
+ | `useSessionRecallProjection` | boolean | — | Use `session_recall` collection instead of `session` |
43
+ | `useSessionSummarySearchExperiment` | boolean | — | Use `session_summary` collection for search |
44
+
45
+ ## Ingestion gating
46
+
47
+ Gating thresholds and scoring weights are owned by the vector service and configured via
48
+ service environment variables. See the service documentation for tuning details.
49
+
50
+ The plugin exposes `ingestionGateThreshold` for host-side gating decisions:
51
+
52
+ | Key | Type | Default | Notes |
53
+ |---|---|---|---|
54
+ | `ingestionGateThreshold` | number | `0.35` | Minimum semantic relevance score used by the plugin host for ingestion gating |
55
+
56
+ ## Compaction
57
+
58
+ | Key | Type | Default | Notes |
59
+ |---|---|---|---|
60
+ | `compactThreshold` | number | — | Absolute token threshold for forced compaction |
61
+ | `compactionThresholdFraction` | number | `0.8` | Dynamic trigger as fraction of active token budget |
62
+ | `compactSessionTokenBudget` | number | `2000` | Auto-compact when session exceeds this many tokens since last compaction; `0` disables |
63
+ | `compactionQualityWeight` | number | `0.5` | How much summary confidence affects retrieval score (0 = ignore, 1 = full suppression) |
64
+
65
+ ## Summarizer
66
+
67
+ | Key | Type | Default | Notes |
68
+ |---|---|---|---|
69
+ | `summarizerBackend` | string | — | `bundled`, `onnx-local`, `ollama-local`, or `custom-local` |
70
+ | `summarizerProfile` | string | — | Summarizer model profile |
71
+ | `summarizerModel` | string | — | Model name for summarization |
72
+ | `summarizerModelPath` | string | — | Path to summarizer model file |
73
+ | `summarizerTokenizerPath` | string | — | Path to summarizer tokenizer file |
74
+ | `summarizerRuntimePath` | string | — | Path to summarizer ONNX runtime |
75
+ | `summarizerEndpoint` | string | — | External summarizer endpoint URL |
76
+ | `ollamaUrl` | string | — | Ollama base URL (populates `summarizerEndpoint` when unset) |
77
+ | `compactModel` | string | — | Model to use for compaction summaries (populates `summarizerModel` when unset) |
78
+
79
+ ## Identity
80
+
81
+ | Key | Type | Default | Notes |
82
+ |---|---|---|---|
83
+ | `userId` | string | auto-derived | Stable user identity for cross-session durable memory |
84
+ | `identityPath` | string | `$OPENCLAW_STATE_DIR/libravdb-identity.json` | Custom path for the auto-derived identity file |
85
+
86
+ ## Markdown ingestion
87
+
88
+ | Key | Type | Default | Notes |
89
+ |---|---|---|---|
90
+ | `markdownIngestionEnabled` | boolean | `false` | Watch markdown roots for changes |
91
+ | `markdownIngestionRoots` | string[] | — | Directories to watch |
92
+ | `markdownIngestionInclude` | string[] | — | Glob patterns to include |
93
+ | `markdownIngestionExclude` | string[] | — | Glob patterns to exclude |
94
+ | `markdownIngestionDebounceMs` | number | `150` | Debounce window for file change events |
95
+ | `markdownIngestionObsidianEnabled` | boolean | `false` | Watch Obsidian vault roots |
96
+ | `markdownIngestionObsidianRoots` | string[] | — | Obsidian vault directories |
97
+ | `markdownIngestionObsidianInclude` | string[] | — | Obsidian glob include patterns |
98
+ | `markdownIngestionObsidianExclude` | string[] | — | Obsidian glob exclude patterns |
99
+ | `markdownIngestionObsidianDebounceMs` | number | `150` | Obsidian debounce window |
100
+
101
+ ## Dream promotion
102
+
103
+ | Key | Type | Default | Notes |
104
+ |---|---|---|---|
105
+ | `dreamPromotionEnabled` | boolean | `false` | Enable dream diary promotion |
106
+ | `dreamPromotionDiaryPath` | string | — | Path to dream diary markdown file |
107
+ | `dreamPromotionUserId` | string | — | User ID for dream collection scoping |
108
+ | `dreamPromotionDebounceMs` | number | `150` | Debounce window for dream diary changes |
109
+
110
+ ## Misc
111
+
112
+ | Key | Type | Default | Notes |
113
+ |---|---|---|---|
114
+ | `sessionTTL` | number | — | Session TTL in seconds |
115
+ | `recencyLambdaSession` | number | — | Session recency decay factor |
116
+ | `recencyLambdaUser` | number | — | User recency decay factor |
117
+ | `recencyLambdaGlobal` | number | — | Global recency decay factor |
118
+ | `tokenBudgetFraction` | number | — | Fraction of host token budget to use for memory context |
119
+ | `maxRetries` | number | — | Max RPC retries |
120
+ | `logLevel` | string | — | Log level override |
121
+ | `lifecycleJournalMaxEntries` | number | `500` | Max lifecycle journal entries |
122
+ | `authoredHardBudgetFraction` | number | — | Token budget fraction for hard-authored recall (0–1) |
123
+ | `authoredSoftBudgetFraction` | number | — | Token budget fraction for soft-authored recall (0–1) |
124
+ | `elevatedGuidanceBudgetFraction` | number | — | Token budget fraction for elevated guidance recall (0–1) |
@@ -2,7 +2,7 @@
2
2
  "id": "libravdb-memory",
3
3
  "name": "LibraVDB Memory",
4
4
  "description": "Persistent vector memory with three-tier hybrid scoring",
5
- "version": "1.4.32",
5
+ "version": "1.4.33",
6
6
  "kind": [
7
7
  "memory",
8
8
  "context-engine"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xdarkicex/openclaw-memory-libravdb",
3
- "version": "1.4.32",
3
+ "version": "1.4.33",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -33,12 +33,15 @@
33
33
  "extensions": [
34
34
  "./dist/index.js"
35
35
  ],
36
+ "compat": {
37
+ "pluginApi": ">=2026.3.22"
38
+ },
36
39
  "install": {
37
40
  "minHostVersion": ">=2026.3.22"
38
41
  }
39
42
  },
40
43
  "scripts": {
41
- "build": "tsc -p tsconfig.build.json && mkdir -p dist/proto && cp -rf api/proto/. dist/proto/",
44
+ "build": "tsc -p tsconfig.build.json && node scripts/bundle-entrypoint.mjs && mkdir -p dist/proto && cp -rf api/proto/. dist/proto/",
42
45
  "check": "tsc --noEmit && pnpm run test:ts",
43
46
  "test:ts": "tsc -p tsconfig.tests.json && node --test .ts-build/test/unit/*.test.js",
44
47
  "test:integration": "tsc -p tsconfig.tests.json && node --test .ts-build/test/integration/checklist-validation.test.js .ts-build/test/integration/dream-promotion.test.js .ts-build/test/integration/host-flow.test.js .ts-build/test/integration/markdown-ingest.test.js .ts-build/test/integration/sidecar-lifecycle.test.js",
@@ -49,18 +52,22 @@
49
52
  "benchmark:longmemeval": "tsc -p tsconfig.tests.json && node --test .ts-build/test/integration/longmemeval-benchmark.test.js",
50
53
  "benchmark:longmemeval:score": "node scripts/longmemeval-score.mjs",
51
54
  "benchmark:longmemeval:diagnose": "node scripts/longmemeval-diagnose.mjs",
55
+ "plugin:check": "plugin-inspector inspect --no-openclaw",
56
+ "plugin:ci": "plugin-inspector ci --no-openclaw --runtime --mock-sdk --allow-execute",
52
57
  "prepack": "npm run build",
53
58
  "build:daemon": "bash scripts/build-daemon.sh"
54
59
  },
55
60
  "dependencies": {
56
- "@bufbuild/protobuf": "1.7.2",
57
- "@grpc/grpc-js": "^1.14.3",
58
- "@grpc/proto-loader": "^0.8.0",
59
- "@xdarkicex/libravdb-contracts": "^0.0.1",
60
61
  "openclaw": "*"
61
62
  },
62
63
  "devDependencies": {
64
+ "@bufbuild/protobuf": "1.7.2",
65
+ "@grpc/grpc-js": "^1.14.3",
66
+ "@grpc/proto-loader": "^0.8.0",
67
+ "@openclaw/plugin-inspector": "0.3.7",
63
68
  "@types/node": "^20.11.0",
69
+ "@xdarkicex/libravdb-contracts": "^0.0.1",
70
+ "esbuild": "^0.27.0",
64
71
  "typescript": "^6.0.3"
65
72
  },
66
73
  "peerDependencies": {