@xdarkicex/openclaw-memory-libravdb 1.4.21 → 1.4.23
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/dist/cli.js +36 -34
- package/dist/context-engine.d.ts +1 -1
- package/dist/index.js +6 -6
- package/dist/rpc-protobuf-codecs.d.ts +2 -1
- package/dist/rpc-protobuf-codecs.js +2 -1
- package/dist/rpc.js +1 -1
- package/dist/sidecar.js +3 -0
- package/dist/types.d.ts +3 -1
- package/docs/embedding-profiles.md +2 -0
- package/docs/features.md +0 -1
- package/openclaw.plugin.json +48 -5
- package/package.json +3 -2
- package/dist/generated/libravdb/ipc/v1/rpc_pb.d.ts +0 -1810
- package/dist/generated/libravdb/ipc/v1/rpc_pb.d.ts.map +0 -1
- package/dist/generated/libravdb/ipc/v1/rpc_pb.js +0 -2808
- package/dist/generated/libravdb/ipc/v1/rpc_pb.js.map +0 -1
- package/dist/generated/libravdb/ipc/v1/rpc_pb.ts +0 -3429
package/dist/cli.js
CHANGED
|
@@ -19,7 +19,7 @@ export function registerMemoryCli(api, runtime, cfg, logger = console) {
|
|
|
19
19
|
// Non-full modes register structure only so `openclaw memory --help` works.
|
|
20
20
|
// No runtime available — do not attach action handlers.
|
|
21
21
|
ensureCommand(root, "status").description("Show sidecar health, record counts, and active thresholds");
|
|
22
|
-
ensureCommand(root, "index").description("
|
|
22
|
+
ensureCommand(root, "index").description("Rebuild LibraVDB memory vector index (requires --force)");
|
|
23
23
|
ensureCommand(root, "search").description("Search LibraVDB memory");
|
|
24
24
|
ensureCommand(root, "flush").description("Wipe a durable memory namespace after confirmation");
|
|
25
25
|
ensureCommand(root, "export").description("Stream stored memories as newline-delimited JSON");
|
|
@@ -32,7 +32,6 @@ export function registerMemoryCli(api, runtime, cfg, logger = console) {
|
|
|
32
32
|
.option("--agent <id>", "Agent id")
|
|
33
33
|
.option("--json", "Print JSON")
|
|
34
34
|
.option("--deep", "Probe daemon readiness")
|
|
35
|
-
.option("--index", "Refresh delegated index state before printing status")
|
|
36
35
|
.option("--fix", "Accepted for OpenClaw memory CLI compatibility")
|
|
37
36
|
.option("--verbose", "Verbose logging")
|
|
38
37
|
.action(async (opts) => {
|
|
@@ -41,9 +40,12 @@ export function registerMemoryCli(api, runtime, cfg, logger = console) {
|
|
|
41
40
|
});
|
|
42
41
|
});
|
|
43
42
|
ensureCommand(root, "index")
|
|
44
|
-
.description("
|
|
43
|
+
.description("Rebuild LibraVDB memory vector index (requires --force)")
|
|
45
44
|
.option("--agent <id>", "Agent id")
|
|
46
|
-
.option("--
|
|
45
|
+
.option("--user-id <userId>", "User id")
|
|
46
|
+
.option("--session-key <sessionKey>", "Session key")
|
|
47
|
+
.option("--collections <list>", "Comma-separated collection names to reindex")
|
|
48
|
+
.option("--force", "Required: confirm index rebuild")
|
|
47
49
|
.option("--verbose", "Verbose logging")
|
|
48
50
|
.action(async (opts) => {
|
|
49
51
|
await runCliCommand(runtime, logger, async () => {
|
|
@@ -142,9 +144,6 @@ async function runCliCommand(runtime, logger, action) {
|
|
|
142
144
|
}
|
|
143
145
|
}
|
|
144
146
|
async function runStatus(runtime, cfg, logger, opts = {}) {
|
|
145
|
-
if (opts.index) {
|
|
146
|
-
await runIndex(runtime, cfg, { ...opts, verbose: false }, logger, { quiet: true });
|
|
147
|
-
}
|
|
148
147
|
try {
|
|
149
148
|
const rpc = await runtime.getRpc();
|
|
150
149
|
const status = await rpc.call("status", {});
|
|
@@ -189,38 +188,40 @@ async function runStatus(runtime, cfg, logger, opts = {}) {
|
|
|
189
188
|
process.exitCode = 1;
|
|
190
189
|
}
|
|
191
190
|
}
|
|
192
|
-
async function runIndex(runtime,
|
|
191
|
+
async function runIndex(runtime, _cfg, opts, logger, params = {}) {
|
|
192
|
+
if (!opts?.force) {
|
|
193
|
+
logger.error("LibraVDB index rebuild requires --force. This re-embeds all stored documents with the current model and may be slow.");
|
|
194
|
+
process.exitCode = 1;
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
const namespace = resolveCliNamespace(opts);
|
|
198
|
+
const collections = opts?.collections
|
|
199
|
+
?.split(",")
|
|
200
|
+
.map((c) => c.trim())
|
|
201
|
+
.filter((c) => c.length > 0);
|
|
193
202
|
try {
|
|
194
|
-
const
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
});
|
|
199
|
-
await manager.sync?.({
|
|
200
|
-
reason: "cli",
|
|
201
|
-
force: Boolean(opts?.force),
|
|
203
|
+
const rpc = await runtime.getRpc();
|
|
204
|
+
const result = await rpc.call("rebuild_index", {
|
|
205
|
+
namespace: namespace ?? "",
|
|
206
|
+
...(collections?.length ? { collections } : {}),
|
|
202
207
|
});
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
+
if (!params.quiet) {
|
|
209
|
+
console.log(`Collections processed: ${result.collectionsProcessed ?? 0}`);
|
|
210
|
+
console.log(`Records reindexed: ${result.recordsReindexed ?? 0}`);
|
|
211
|
+
if ((result.collectionsRecreated ?? 0) > 0) {
|
|
212
|
+
console.log(`Collections recreated: ${result.collectionsRecreated} (embedding dimensions changed)`);
|
|
213
|
+
}
|
|
208
214
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
Provider: status.provider ?? "libravdb",
|
|
212
|
-
Model: status.model ?? status.embeddingProfile ?? "unknown",
|
|
213
|
-
"Turns stored": status.turnCount ?? 0,
|
|
214
|
-
"Memories stored": status.memoryCount ?? 0,
|
|
215
|
-
Message: status.message ?? "ok",
|
|
216
|
-
});
|
|
215
|
+
for (const err of result.errors ?? []) {
|
|
216
|
+
logger.warn?.(`LibraVDB index rebuild: ${err}`);
|
|
217
217
|
}
|
|
218
|
-
if (
|
|
219
|
-
|
|
218
|
+
if ((result.errors?.length ?? 0) > 0 && (result.recordsReindexed ?? 0) === 0) {
|
|
219
|
+
logger.error("LibraVDB index rebuild completed with errors and no records reindexed.");
|
|
220
|
+
process.exitCode = 1;
|
|
220
221
|
}
|
|
221
222
|
}
|
|
222
223
|
catch (error) {
|
|
223
|
-
logger.error(`LibraVDB index
|
|
224
|
+
logger.error(`LibraVDB index rebuild failed: ${formatError(error)}`);
|
|
224
225
|
process.exitCode = 1;
|
|
225
226
|
}
|
|
226
227
|
}
|
|
@@ -390,8 +391,9 @@ function normalizeQueryArg(value) {
|
|
|
390
391
|
function resolveCliNamespace(opts) {
|
|
391
392
|
const userId = opts?.userId?.trim();
|
|
392
393
|
const sessionKey = opts?.sessionKey?.trim();
|
|
393
|
-
|
|
394
|
+
const agentId = opts?.agent?.trim();
|
|
395
|
+
if (!userId && !sessionKey && !agentId) {
|
|
394
396
|
return undefined;
|
|
395
397
|
}
|
|
396
|
-
return resolveDurableNamespace({ userId, sessionKey });
|
|
398
|
+
return resolveDurableNamespace({ userId, sessionKey, agentId });
|
|
397
399
|
}
|
package/dist/context-engine.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PluginRuntime } from "./plugin-runtime.js";
|
|
2
2
|
import type { LoggerLike, PluginConfig, RecallCache, SearchResult } from "./types.js";
|
|
3
|
-
import { AssembleContextInternalResponse } from "
|
|
3
|
+
import { AssembleContextInternalResponse } from "@xdarkicex/libravdb-contracts";
|
|
4
4
|
type KernelCompatibleMessage = {
|
|
5
5
|
role: string;
|
|
6
6
|
content: string;
|
package/dist/index.js
CHANGED
|
@@ -12,16 +12,16 @@ import { createPluginRuntime } from "./plugin-runtime.js";
|
|
|
12
12
|
export const MEMORY_ID = "libravdb-memory";
|
|
13
13
|
const LIGHTWEIGHT_MODES = new Set(["cli-metadata", "setup-only"]);
|
|
14
14
|
export function register(api) {
|
|
15
|
-
const
|
|
15
|
+
const registrationMode = api.registrationMode;
|
|
16
16
|
const logger = api.logger ?? console;
|
|
17
|
-
if (
|
|
17
|
+
if (registrationMode === "cli-metadata") {
|
|
18
18
|
registerMemoryCliMetadata(api);
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
const cfg = api.pluginConfig;
|
|
22
|
-
const isLightweight = LIGHTWEIGHT_MODES.has(
|
|
23
|
-
const isDiscovery =
|
|
24
|
-
logger.info?.(`LibraVDB registering mode=${
|
|
22
|
+
const isLightweight = LIGHTWEIGHT_MODES.has(registrationMode);
|
|
23
|
+
const isDiscovery = registrationMode === "discovery";
|
|
24
|
+
logger.info?.(`LibraVDB registering mode=${registrationMode} lightweight=${isLightweight} ` +
|
|
25
25
|
`discovery=${isDiscovery} userId=${cfg.userId ?? "(auto)"} ` +
|
|
26
26
|
`crossSessionRecall=${cfg.crossSessionRecall !== false}`);
|
|
27
27
|
// Runtime creation:
|
|
@@ -41,7 +41,7 @@ export function register(api) {
|
|
|
41
41
|
logger.info?.(`LibraVDB: discovery mode — CLI registered, context engine deferred.`);
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
logger.warn?.(`LibraVDB: registration mode is "${
|
|
44
|
+
logger.warn?.(`LibraVDB: registration mode is "${registrationMode}". ` +
|
|
45
45
|
`Context engine hooks (bootstrap, ingest, afterTurn) are NOT registered. ` +
|
|
46
46
|
`Memory will not be written automatically — only CLI commands are available.`);
|
|
47
47
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterTurnKernelRequest, AfterTurnKernelResponse, AssembleContextInternalRequest, AssembleContextInternalResponse, BootstrapSessionKernelRequest, BootstrapSessionKernelResponse, CompactSessionRequest, CompactSessionResponse, DeleteAuthoredDocumentResponse, DreamPromotionResponse, ExportMemoryResponse, FlushNamespaceResponse, FlushResponse, HealthResponse, IngestMarkdownDocumentResponse, IngestMessageKernelRequest, IngestMessageKernelResponse, MemoryStatusResponse, RankCandidatesRequest, RankCandidatesResponse, SearchTextResponse, SessionLifecycleHintResponse } from "
|
|
1
|
+
import { AfterTurnKernelRequest, AfterTurnKernelResponse, AssembleContextInternalRequest, AssembleContextInternalResponse, BootstrapSessionKernelRequest, BootstrapSessionKernelResponse, CompactSessionRequest, CompactSessionResponse, DeleteAuthoredDocumentResponse, DreamPromotionResponse, ExportMemoryResponse, FlushNamespaceResponse, FlushResponse, HealthResponse, IngestMarkdownDocumentResponse, IngestMessageKernelRequest, IngestMessageKernelResponse, MemoryStatusResponse, RankCandidatesRequest, RankCandidatesResponse, RebuildIndexRequest, RebuildIndexResponse, SearchTextResponse, SessionLifecycleHintResponse } from "@xdarkicex/libravdb-contracts";
|
|
2
2
|
import type { LifecycleHint } from "./plugin-runtime.js";
|
|
3
3
|
export type RpcMethodCodec<Params = unknown, Result = unknown> = {
|
|
4
4
|
encodeParams(params: Params): Uint8Array;
|
|
@@ -66,5 +66,6 @@ export declare const rpcProtobufCodecs: {
|
|
|
66
66
|
assemble_context_internal: RpcMethodCodec<AssembleContextInternalRequest, AssembleContextInternalResponse>;
|
|
67
67
|
compact_session: RpcMethodCodec<CompactSessionRequest, CompactSessionResponse>;
|
|
68
68
|
rank_candidates: RpcMethodCodec<RankCandidatesRequest, RankCandidatesResponse>;
|
|
69
|
+
rebuild_index: RpcMethodCodec<RebuildIndexRequest, RebuildIndexResponse>;
|
|
69
70
|
};
|
|
70
71
|
export declare function getRpcMethodCodec(method: string): RpcMethodCodec<any, any> | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterTurnKernelRequest, AfterTurnKernelResponse, AssembleContextInternalRequest, AssembleContextInternalResponse, BootstrapSessionKernelRequest, BootstrapSessionKernelResponse, CompactSessionRequest, CompactSessionResponse, DeleteAuthoredDocumentRequest, DeleteAuthoredDocumentResponse, DreamPromotionResponse, ExportMemoryRequest, ExportMemoryResponse, FlushNamespaceRequest, FlushNamespaceResponse, FlushResponse, HealthResponse, IngestMarkdownDocumentRequest, IngestMarkdownDocumentResponse, IngestMessageKernelRequest, IngestMessageKernelResponse, ListCollectionRequest, ListLifecycleJournalRequest, MemoryStatusResponse, PromoteDreamEntriesRequest, RankCandidatesRequest, RankCandidatesResponse, SearchTextCollectionsRequest, SearchTextRequest, SearchTextResponse, SessionLifecycleHintRequest, SessionLifecycleHintResponse, StringList, } from "
|
|
1
|
+
import { AfterTurnKernelRequest, AfterTurnKernelResponse, AssembleContextInternalRequest, AssembleContextInternalResponse, BootstrapSessionKernelRequest, BootstrapSessionKernelResponse, CompactSessionRequest, CompactSessionResponse, DeleteAuthoredDocumentRequest, DeleteAuthoredDocumentResponse, DreamPromotionResponse, ExportMemoryRequest, ExportMemoryResponse, FlushNamespaceRequest, FlushNamespaceResponse, FlushResponse, HealthResponse, IngestMarkdownDocumentRequest, IngestMarkdownDocumentResponse, IngestMessageKernelRequest, IngestMessageKernelResponse, ListCollectionRequest, ListLifecycleJournalRequest, MemoryStatusResponse, PromoteDreamEntriesRequest, RankCandidatesRequest, RankCandidatesResponse, RebuildIndexRequest, RebuildIndexResponse, SearchTextCollectionsRequest, SearchTextRequest, SearchTextResponse, SessionLifecycleHintRequest, SessionLifecycleHintResponse, StringList, } from "@xdarkicex/libravdb-contracts";
|
|
2
2
|
function encodeMessage(schema, init) {
|
|
3
3
|
return new schema(init).toBinary();
|
|
4
4
|
}
|
|
@@ -78,6 +78,7 @@ export const rpcProtobufCodecs = {
|
|
|
78
78
|
assemble_context_internal: codec((params) => encodeMessage(AssembleContextInternalRequest, params), normalizeAssembleContextInternalResponse),
|
|
79
79
|
compact_session: codec((params) => encodeMessage(CompactSessionRequest, params), (bytes) => decodeProtobufResult(CompactSessionResponse, bytes)),
|
|
80
80
|
rank_candidates: codec((params) => encodeMessage(RankCandidatesRequest, params), (bytes) => decodeProtobufResult(RankCandidatesResponse, bytes)),
|
|
81
|
+
rebuild_index: codec((params) => encodeMessage(RebuildIndexRequest, params), (bytes) => decodeProtobufResult(RebuildIndexResponse, bytes)),
|
|
81
82
|
};
|
|
82
83
|
export function getRpcMethodCodec(method) {
|
|
83
84
|
return rpcProtobufCodecs[method];
|
package/dist/rpc.js
CHANGED
package/dist/sidecar.js
CHANGED
|
@@ -373,6 +373,9 @@ export function buildSidecarEnv(cfg) {
|
|
|
373
373
|
if (cfg.embeddingRuntimePath) {
|
|
374
374
|
env.LIBRAVDB_ONNX_RUNTIME = cfg.embeddingRuntimePath;
|
|
375
375
|
}
|
|
376
|
+
if (cfg.onnxDevice) {
|
|
377
|
+
env.LIBRAVDB_ONNX_DEVICE = cfg.onnxDevice;
|
|
378
|
+
}
|
|
376
379
|
if (cfg.embeddingBackend) {
|
|
377
380
|
env.LIBRAVDB_EMBEDDING_BACKEND = cfg.embeddingBackend;
|
|
378
381
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -15,6 +15,9 @@ export interface PluginConfig {
|
|
|
15
15
|
useSessionRecallProjection?: boolean;
|
|
16
16
|
useSessionSummarySearchExperiment?: boolean;
|
|
17
17
|
embeddingRuntimePath?: string;
|
|
18
|
+
/** Optional ONNX execution provider override passed through to libravdbd.
|
|
19
|
+
* Use "cpu" to bypass CoreML/MPS on Intel Macs or fragile GPU/NPU providers. */
|
|
20
|
+
onnxDevice?: "auto" | "cpu" | "cuda" | "coreml" | "directml" | "openvino";
|
|
18
21
|
embeddingBackend?: "bundled" | "onnx-local" | "custom-local";
|
|
19
22
|
embeddingProfile?: string;
|
|
20
23
|
fallbackProfile?: string;
|
|
@@ -44,7 +47,6 @@ export interface PluginConfig {
|
|
|
44
47
|
markdownIngestionObsidianDebounceMs?: number;
|
|
45
48
|
markdownIngestionInclude?: string[];
|
|
46
49
|
markdownIngestionExclude?: string[];
|
|
47
|
-
markdownIngestionCollection?: string;
|
|
48
50
|
markdownIngestionDebounceMs?: number;
|
|
49
51
|
dreamPromotionEnabled?: boolean;
|
|
50
52
|
dreamPromotionDiaryPath?: string;
|
|
@@ -12,6 +12,7 @@ Why:
|
|
|
12
12
|
- MiniLM keeps the local LongMemEval retrieval slice inside the target memory envelope on macOS.
|
|
13
13
|
- Nomic remains available as an explicit opt-in profile for long-context experiments.
|
|
14
14
|
- Nomic ONNX on macOS is fragile with CoreML execution and can trigger multi-GB RSS, so it is no longer the safe bundled default.
|
|
15
|
+
- Intel Macs without reliable Metal/MPS support should set `onnxDevice: "cpu"` to force CPU ONNX execution and bypass CoreML.
|
|
15
16
|
|
|
16
17
|
Current shipped profile names:
|
|
17
18
|
|
|
@@ -33,6 +34,7 @@ How it works:
|
|
|
33
34
|
- `onnx-local` still requires local model assets through `embeddingModelPath`, typically a directory containing `embedding.json`.
|
|
34
35
|
- The manifest may override or refine the profile, but explicit dimension mismatches fail closed.
|
|
35
36
|
- The sidecar store persists an embedding fingerprint, so reopening an existing store with a different effective model profile will fail instead of silently mixing vector spaces.
|
|
37
|
+
- `onnxDevice` is passed through as `LIBRAVDB_ONNX_DEVICE` for daemon versions that support execution-provider selection (`auto`, `cpu`, `cuda`, `coreml`, `directml`, `openvino`).
|
|
36
38
|
|
|
37
39
|
Recommended usage:
|
|
38
40
|
|
package/docs/features.md
CHANGED
|
@@ -51,7 +51,6 @@ Relevant config fields:
|
|
|
51
51
|
| `markdownIngestionRoots` | Generic markdown roots to watch. |
|
|
52
52
|
| `markdownIngestionInclude` | Optional include globs for generic roots. |
|
|
53
53
|
| `markdownIngestionExclude` | Optional exclude globs for generic roots. |
|
|
54
|
-
| `markdownIngestionCollection` | Target collection for generic markdown, default `global`. |
|
|
55
54
|
| `markdownIngestionDebounceMs` | Watch debounce window, default `150`. |
|
|
56
55
|
| `markdownIngestionObsidianEnabled` | Enables Obsidian ingestion when vault roots exist. |
|
|
57
56
|
| `markdownIngestionObsidianRoots` | Obsidian vault roots to watch. |
|
package/openclaw.plugin.json
CHANGED
|
@@ -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.
|
|
5
|
+
"version": "1.4.23",
|
|
6
6
|
"kind": [
|
|
7
7
|
"memory",
|
|
8
8
|
"context-engine"
|
|
@@ -22,12 +22,59 @@
|
|
|
22
22
|
"sidecarPath": {
|
|
23
23
|
"type": "string"
|
|
24
24
|
},
|
|
25
|
+
"userId": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Stable identity for cross-session durable memory. When set, sessions share memories under user:{userId}."
|
|
28
|
+
},
|
|
29
|
+
"identityPath": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Custom path for the auto-derived identity JSON file."
|
|
32
|
+
},
|
|
33
|
+
"crossSessionRecall": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"default": true,
|
|
36
|
+
"description": "When false, only session-scoped memories are retrieved; durable user recall is skipped."
|
|
37
|
+
},
|
|
38
|
+
"useSessionRecallProjection": {
|
|
39
|
+
"type": "boolean"
|
|
40
|
+
},
|
|
41
|
+
"grpcEndpoint": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Optional gRPC kernel endpoint for hosts using the daemon kernel transport."
|
|
44
|
+
},
|
|
45
|
+
"authoredHardBudgetFraction": {
|
|
46
|
+
"type": "number",
|
|
47
|
+
"minimum": 0,
|
|
48
|
+
"maximum": 1
|
|
49
|
+
},
|
|
50
|
+
"authoredSoftBudgetFraction": {
|
|
51
|
+
"type": "number",
|
|
52
|
+
"minimum": 0,
|
|
53
|
+
"maximum": 1
|
|
54
|
+
},
|
|
55
|
+
"elevatedGuidanceBudgetFraction": {
|
|
56
|
+
"type": "number",
|
|
57
|
+
"minimum": 0,
|
|
58
|
+
"maximum": 1
|
|
59
|
+
},
|
|
25
60
|
"useSessionSummarySearchExperiment": {
|
|
26
61
|
"type": "boolean"
|
|
27
62
|
},
|
|
28
63
|
"embeddingRuntimePath": {
|
|
29
64
|
"type": "string"
|
|
30
65
|
},
|
|
66
|
+
"onnxDevice": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"enum": [
|
|
69
|
+
"auto",
|
|
70
|
+
"cpu",
|
|
71
|
+
"cuda",
|
|
72
|
+
"coreml",
|
|
73
|
+
"directml",
|
|
74
|
+
"openvino"
|
|
75
|
+
],
|
|
76
|
+
"description": "Optional ONNX execution provider override passed to libravdbd. Use cpu to bypass CoreML/MPS on Intel Macs."
|
|
77
|
+
},
|
|
31
78
|
"embeddingBackend": {
|
|
32
79
|
"type": "string",
|
|
33
80
|
"enum": [
|
|
@@ -150,10 +197,6 @@
|
|
|
150
197
|
"type": "string"
|
|
151
198
|
}
|
|
152
199
|
},
|
|
153
|
-
"markdownIngestionCollection": {
|
|
154
|
-
"type": "string",
|
|
155
|
-
"default": "global"
|
|
156
|
-
},
|
|
157
200
|
"markdownIngestionDebounceMs": {
|
|
158
201
|
"type": "number",
|
|
159
202
|
"default": 150
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xdarkicex/openclaw-memory-libravdb",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.23",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
|
-
"build": "tsc -p tsconfig.build.json && mkdir -p dist/proto
|
|
41
|
+
"build": "tsc -p tsconfig.build.json && mkdir -p dist/proto && cp -rf api/proto/. dist/proto/",
|
|
42
42
|
"check": "tsc --noEmit && pnpm run test:ts",
|
|
43
43
|
"test:ts": "tsc -p tsconfig.tests.json && node --test .ts-build/test/unit/*.test.js",
|
|
44
44
|
"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",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"@bufbuild/protobuf": "1.7.2",
|
|
57
57
|
"@grpc/grpc-js": "^1.14.3",
|
|
58
58
|
"@grpc/proto-loader": "^0.8.0",
|
|
59
|
+
"@xdarkicex/libravdb-contracts": "^0.0.1",
|
|
59
60
|
"openclaw": "*"
|
|
60
61
|
},
|
|
61
62
|
"devDependencies": {
|