@xdarkicex/openclaw-memory-libravdb 1.3.5

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.
Files changed (80) hide show
  1. package/README.md +46 -0
  2. package/docs/README.md +14 -0
  3. package/docs/architecture-decisions/README.md +6 -0
  4. package/docs/architecture-decisions/adr-001-onnx-over-ollama.md +21 -0
  5. package/docs/architecture-decisions/adr-002-libravdb-over-lancedb.md +19 -0
  6. package/docs/architecture-decisions/adr-003-convex-gating-over-threshold.md +27 -0
  7. package/docs/architecture-decisions/adr-004-sidecar-over-native-ts.md +21 -0
  8. package/docs/architecture.md +188 -0
  9. package/docs/contributing.md +76 -0
  10. package/docs/dependencies.md +38 -0
  11. package/docs/embedding-profiles.md +42 -0
  12. package/docs/gating.md +329 -0
  13. package/docs/implementation.md +381 -0
  14. package/docs/installation.md +272 -0
  15. package/docs/mathematics.md +695 -0
  16. package/docs/models.md +63 -0
  17. package/docs/problem.md +64 -0
  18. package/docs/security.md +86 -0
  19. package/openclaw.plugin.json +84 -0
  20. package/package.json +41 -0
  21. package/scripts/build-sidecar.sh +30 -0
  22. package/scripts/postinstall.js +169 -0
  23. package/scripts/setup.sh +20 -0
  24. package/scripts/setup.ts +505 -0
  25. package/scripts/sidecar-release.d.ts +4 -0
  26. package/scripts/sidecar-release.js +17 -0
  27. package/sidecar/cmd/inspect_onnx/main.go +105 -0
  28. package/sidecar/compact/gate.go +273 -0
  29. package/sidecar/compact/gate_test.go +85 -0
  30. package/sidecar/compact/summarize.go +345 -0
  31. package/sidecar/compact/summarize_test.go +319 -0
  32. package/sidecar/compact/tokens.go +11 -0
  33. package/sidecar/config/config.go +119 -0
  34. package/sidecar/config/config_test.go +75 -0
  35. package/sidecar/embed/engine.go +696 -0
  36. package/sidecar/embed/engine_test.go +349 -0
  37. package/sidecar/embed/matryoshka.go +93 -0
  38. package/sidecar/embed/matryoshka_test.go +150 -0
  39. package/sidecar/embed/onnx_local.go +319 -0
  40. package/sidecar/embed/onnx_local_test.go +159 -0
  41. package/sidecar/embed/profile_contract_test.go +71 -0
  42. package/sidecar/embed/profile_eval_test.go +923 -0
  43. package/sidecar/embed/profiles.go +39 -0
  44. package/sidecar/go.mod +21 -0
  45. package/sidecar/go.sum +30 -0
  46. package/sidecar/health/check.go +33 -0
  47. package/sidecar/health/check_test.go +55 -0
  48. package/sidecar/main.go +151 -0
  49. package/sidecar/model/encoder.go +222 -0
  50. package/sidecar/model/registry.go +262 -0
  51. package/sidecar/model/registry_test.go +102 -0
  52. package/sidecar/model/seq2seq.go +133 -0
  53. package/sidecar/server/rpc.go +343 -0
  54. package/sidecar/server/rpc_test.go +350 -0
  55. package/sidecar/server/transport.go +160 -0
  56. package/sidecar/store/libravdb.go +676 -0
  57. package/sidecar/store/libravdb_test.go +472 -0
  58. package/sidecar/summarize/engine.go +360 -0
  59. package/sidecar/summarize/engine_test.go +148 -0
  60. package/sidecar/summarize/onnx_local.go +494 -0
  61. package/sidecar/summarize/onnx_local_test.go +48 -0
  62. package/sidecar/summarize/profiles.go +52 -0
  63. package/sidecar/summarize/tokenizer.go +13 -0
  64. package/sidecar/summarize/tokenizer_hf.go +76 -0
  65. package/sidecar/summarize/util.go +13 -0
  66. package/src/cli.ts +205 -0
  67. package/src/context-engine.ts +195 -0
  68. package/src/index.ts +27 -0
  69. package/src/memory-provider.ts +24 -0
  70. package/src/openclaw-plugin-sdk.d.ts +53 -0
  71. package/src/plugin-runtime.ts +67 -0
  72. package/src/recall-cache.ts +34 -0
  73. package/src/recall-utils.ts +22 -0
  74. package/src/rpc.ts +84 -0
  75. package/src/scoring.ts +58 -0
  76. package/src/sidecar.ts +506 -0
  77. package/src/tokens.ts +36 -0
  78. package/src/types.ts +146 -0
  79. package/tsconfig.json +20 -0
  80. package/tsconfig.tests.json +12 -0
package/src/types.ts ADDED
@@ -0,0 +1,146 @@
1
+ export interface PluginConfig {
2
+ dbPath?: string;
3
+ sidecarPath?: string;
4
+ embeddingRuntimePath?: string;
5
+ embeddingBackend?: "bundled" | "onnx-local" | "custom-local";
6
+ embeddingProfile?: string;
7
+ fallbackProfile?: string;
8
+ embeddingModelPath?: string;
9
+ embeddingTokenizerPath?: string;
10
+ embeddingDimensions?: number;
11
+ embeddingNormalize?: boolean;
12
+ summarizerBackend?: "bundled" | "onnx-local" | "ollama-local" | "custom-local";
13
+ summarizerProfile?: string;
14
+ summarizerRuntimePath?: string;
15
+ summarizerModelPath?: string;
16
+ summarizerTokenizerPath?: string;
17
+ summarizerModel?: string;
18
+ summarizerEndpoint?: string;
19
+ sessionTTL?: number;
20
+ topK?: number;
21
+ alpha?: number;
22
+ beta?: number;
23
+ gamma?: number;
24
+ ingestionGateThreshold?: number;
25
+ gatingWeights?: {
26
+ w1c?: number;
27
+ w2c?: number;
28
+ w3c?: number;
29
+ w1t?: number;
30
+ w2t?: number;
31
+ w3t?: number;
32
+ };
33
+ gatingTechNorm?: number;
34
+ gatingCentroidK?: number;
35
+ compactionQualityWeight?: number;
36
+ recencyLambdaSession?: number;
37
+ recencyLambdaUser?: number;
38
+ recencyLambdaGlobal?: number;
39
+ tokenBudgetFraction?: number;
40
+ compactThreshold?: number;
41
+ ollamaUrl?: string;
42
+ compactModel?: string;
43
+ rpcTimeoutMs?: number;
44
+ maxRetries?: number;
45
+ logLevel?: "debug" | "info" | "warn" | "error";
46
+ }
47
+
48
+ export interface GatingResult {
49
+ g: number;
50
+ t: number;
51
+ h: number;
52
+ r: number;
53
+ d: number;
54
+ p: number;
55
+ a: number;
56
+ dtech: number;
57
+ gconv: number;
58
+ gtech: number;
59
+ inputFreq: number;
60
+ memSaturation: number;
61
+ }
62
+
63
+ export interface MemoryMessage {
64
+ id?: string;
65
+ role: string;
66
+ content: string;
67
+ }
68
+
69
+ export interface SearchResult {
70
+ id: string;
71
+ score: number;
72
+ text: string;
73
+ metadata: {
74
+ ts?: number;
75
+ sessionId?: string;
76
+ userId?: string;
77
+ role?: string;
78
+ [key: string]: unknown;
79
+ };
80
+ finalScore?: number;
81
+ }
82
+
83
+ export interface SidecarSocket {
84
+ setEncoding(encoding: string): void;
85
+ on(event: "data", handler: (chunk: string) => void): void;
86
+ on(event: "close", handler: () => void): void;
87
+ once(event: "connect", handler: () => void): void;
88
+ once(event: "error", handler: (error: Error) => void): void;
89
+ write(chunk: string): void;
90
+ destroy(): void;
91
+ }
92
+
93
+ export interface LoggerLike {
94
+ error(message: string): void;
95
+ info?(message: string): void;
96
+ warn?(message: string): void;
97
+ }
98
+
99
+ export interface SidecarHandle {
100
+ socket: SidecarSocket;
101
+ isDegraded(): boolean;
102
+ shutdown(): Promise<void>;
103
+ }
104
+
105
+ export interface RpcCallOptions {
106
+ timeoutMs: number;
107
+ }
108
+
109
+ export interface RecallCacheEntry<T = unknown> {
110
+ userId: string;
111
+ queryText: string;
112
+ userHits: T[];
113
+ globalHits: T[];
114
+ }
115
+
116
+ export interface RecallCache<T = unknown> {
117
+ put(entry: RecallCacheEntry<T>): void;
118
+ get(key: Pick<RecallCacheEntry<T>, "userId" | "queryText">): RecallCacheEntry<T> | undefined;
119
+ take(key: Pick<RecallCacheEntry<T>, "userId" | "queryText">): RecallCacheEntry<T> | undefined;
120
+ clearUser(userId: string): void;
121
+ }
122
+
123
+ export interface ContextBootstrapArgs {
124
+ sessionId: string;
125
+ userId: string;
126
+ }
127
+
128
+ export interface ContextIngestArgs {
129
+ sessionId: string;
130
+ userId: string;
131
+ message: MemoryMessage;
132
+ isHeartbeat?: boolean;
133
+ }
134
+
135
+ export interface ContextAssembleArgs {
136
+ sessionId: string;
137
+ userId: string;
138
+ messages: MemoryMessage[];
139
+ tokenBudget: number;
140
+ }
141
+
142
+ export interface ContextCompactArgs {
143
+ sessionId: string;
144
+ force?: boolean;
145
+ targetSize?: number;
146
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "strict": true,
7
+ "noEmit": true,
8
+ "types": ["node"],
9
+ "typeRoots": ["./.ts-toolchain/node_modules/@types"],
10
+ "skipLibCheck": true,
11
+ "resolveJsonModule": true,
12
+ "allowSyntheticDefaultImports": true
13
+ },
14
+ "include": [
15
+ "src/**/*.ts",
16
+ "scripts/**/*.ts",
17
+ "scripts/**/*.js",
18
+ "test/**/*.ts"
19
+ ]
20
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "noEmit": false,
5
+ "outDir": "./.ts-build"
6
+ },
7
+ "include": [
8
+ "src/**/*.ts",
9
+ "test/**/*.ts",
10
+ "openclaw.plugin.json"
11
+ ]
12
+ }