@xdarkicex/openclaw-memory-libravdb 1.6.13 → 1.6.15

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.
@@ -30,6 +30,7 @@ export function createDreamPromotionHandle(cfg, getClient, logger = console, fsA
30
30
  const state = {
31
31
  watching: false,
32
32
  dirty: false,
33
+ scanning: false,
33
34
  timer: null,
34
35
  watcher: null,
35
36
  };
@@ -62,6 +63,10 @@ export function createDreamPromotionHandle(cfg, getClient, logger = console, fsA
62
63
  if (!state.watching) {
63
64
  return;
64
65
  }
66
+ if (state.scanning) {
67
+ state.dirty = true;
68
+ return;
69
+ }
65
70
  if (state.timer) {
66
71
  state.dirty = true;
67
72
  return;
@@ -77,6 +82,19 @@ export function createDreamPromotionHandle(cfg, getClient, logger = console, fsA
77
82
  if (!state.watching) {
78
83
  return;
79
84
  }
85
+ state.scanning = true;
86
+ try {
87
+ await performScan();
88
+ }
89
+ finally {
90
+ state.scanning = false;
91
+ }
92
+ if (state.dirty) {
93
+ state.dirty = false;
94
+ await refreshDiary();
95
+ }
96
+ }
97
+ async function performScan() {
80
98
  await ensureWatcher();
81
99
  const stat = await safeStat(diaryPath);
82
100
  if (!stat) {
@@ -137,10 +155,6 @@ export function createDreamPromotionHandle(cfg, getClient, logger = console, fsA
137
155
  mtimeMs: stat.mtimeMs,
138
156
  fileHash,
139
157
  };
140
- if (state.dirty) {
141
- state.dirty = false;
142
- await refreshDiary();
143
- }
144
158
  }
145
159
  async function safeStat(filePath) {
146
160
  try {
package/dist/index.js CHANGED
@@ -25355,6 +25355,7 @@ function createDreamPromotionHandle(cfg, getClient, logger = console, fsApi = cr
25355
25355
  const state = {
25356
25356
  watching: false,
25357
25357
  dirty: false,
25358
+ scanning: false,
25358
25359
  timer: null,
25359
25360
  watcher: null
25360
25361
  };
@@ -25387,6 +25388,10 @@ function createDreamPromotionHandle(cfg, getClient, logger = console, fsApi = cr
25387
25388
  if (!state.watching) {
25388
25389
  return;
25389
25390
  }
25391
+ if (state.scanning) {
25392
+ state.dirty = true;
25393
+ return;
25394
+ }
25390
25395
  if (state.timer) {
25391
25396
  state.dirty = true;
25392
25397
  return;
@@ -25402,6 +25407,18 @@ function createDreamPromotionHandle(cfg, getClient, logger = console, fsApi = cr
25402
25407
  if (!state.watching) {
25403
25408
  return;
25404
25409
  }
25410
+ state.scanning = true;
25411
+ try {
25412
+ await performScan();
25413
+ } finally {
25414
+ state.scanning = false;
25415
+ }
25416
+ if (state.dirty) {
25417
+ state.dirty = false;
25418
+ await refreshDiary();
25419
+ }
25420
+ }
25421
+ async function performScan() {
25405
25422
  await ensureWatcher();
25406
25423
  const stat = await safeStat(diaryPath);
25407
25424
  if (!stat) {
@@ -25462,10 +25479,6 @@ function createDreamPromotionHandle(cfg, getClient, logger = console, fsApi = cr
25462
25479
  mtimeMs: stat.mtimeMs,
25463
25480
  fileHash
25464
25481
  };
25465
- if (state.dirty) {
25466
- state.dirty = false;
25467
- await refreshDiary();
25468
- }
25469
25482
  }
25470
25483
  async function safeStat(filePath) {
25471
25484
  try {
package/dist/types.d.ts CHANGED
@@ -19,13 +19,19 @@ export interface PluginConfig {
19
19
  /** Optional ONNX execution provider override passed through to libravdbd.
20
20
  * Use "cpu" to bypass CoreML/MPS on Intel Macs or fragile GPU/NPU providers. */
21
21
  onnxDevice?: "auto" | "cpu" | "cuda" | "coreml" | "directml" | "openvino";
22
- embeddingBackend?: "bundled" | "onnx-local" | "custom-local";
22
+ embeddingBackend?: "bundled" | "onnx-local" | "custom-local" | "remote";
23
23
  embeddingProfile?: string;
24
24
  fallbackProfile?: string;
25
25
  embeddingModelPath?: string;
26
26
  embeddingTokenizerPath?: string;
27
27
  embeddingDimensions?: number;
28
28
  embeddingNormalize?: boolean;
29
+ /** HTTP endpoint URL for the remote embedder backend (when embeddingBackend is 'remote') */
30
+ embeddingEndpoint?: string;
31
+ /** Model identifier for the remote embedder backend */
32
+ embeddingRemoteModel?: string;
33
+ /** API key for the remote embedder endpoint */
34
+ embeddingAPIKey?: string;
29
35
  summarizerBackend?: "bundled" | "onnx-local" | "ollama-local" | "custom-local";
30
36
  summarizerProfile?: string;
31
37
  summarizerRuntimePath?: string;
@@ -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.6.13",
5
+ "version": "1.6.15",
6
6
  "kind": [
7
7
  "memory",
8
8
  "context-engine"
@@ -19,6 +19,21 @@
19
19
  "configSchema": {
20
20
  "type": "object",
21
21
  "additionalProperties": false,
22
+ "if": {
23
+ "properties": {
24
+ "embeddingBackend": {
25
+ "const": "remote"
26
+ }
27
+ },
28
+ "required": [
29
+ "embeddingBackend"
30
+ ]
31
+ },
32
+ "then": {
33
+ "required": [
34
+ "embeddingEndpoint"
35
+ ]
36
+ },
22
37
  "properties": {
23
38
  "dbPath": {
24
39
  "type": "string"
@@ -142,8 +157,10 @@
142
157
  "enum": [
143
158
  "bundled",
144
159
  "onnx-local",
145
- "custom-local"
146
- ]
160
+ "custom-local",
161
+ "remote"
162
+ ],
163
+ "description": "Embedder backend: bundled (built-in ONNX), onnx-local (local ONNX model), custom-local (custom ONNX), remote (HTTP API)"
147
164
  },
148
165
  "embeddingProfile": {
149
166
  "type": "string",
@@ -165,6 +182,18 @@
165
182
  "embeddingNormalize": {
166
183
  "type": "boolean"
167
184
  },
185
+ "embeddingEndpoint": {
186
+ "type": "string",
187
+ "description": "HTTP endpoint URL for the remote embedder backend (required when embeddingBackend is 'remote')"
188
+ },
189
+ "embeddingRemoteModel": {
190
+ "type": "string",
191
+ "description": "Model identifier used when embeddingBackend is 'remote', e.g. 'nomic-embed-text-v1.5'"
192
+ },
193
+ "embeddingAPIKey": {
194
+ "type": "string",
195
+ "description": "API key for the remote embedder endpoint (when embeddingBackend is 'remote')"
196
+ },
168
197
  "summarizerBackend": {
169
198
  "type": "string",
170
199
  "enum": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xdarkicex/openclaw-memory-libravdb",
3
- "version": "1.6.13",
3
+ "version": "1.6.15",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",