hippo-memory 1.27.0 → 1.29.0
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/README.md +4 -2
- package/dist/api.d.ts +25 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +103 -4
- package/dist/api.js.map +1 -1
- package/dist/capture.d.ts +49 -2
- package/dist/capture.d.ts.map +1 -1
- package/dist/capture.js +464 -1
- package/dist/capture.js.map +1 -1
- package/dist/cli.d.ts +5 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +266 -21
- package/dist/cli.js.map +1 -1
- package/dist/dag.d.ts.map +1 -1
- package/dist/dag.js +10 -1
- package/dist/dag.js.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +75 -1
- package/dist/db.js.map +1 -1
- package/dist/embedding-provider.d.ts +1 -1
- package/dist/embedding-provider.js +1 -1
- package/dist/embeddings.d.ts +2 -2
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +38 -37
- package/dist/embeddings.js.map +1 -1
- package/dist/hooks.d.ts +24 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +85 -1
- package/dist/hooks.js.map +1 -1
- package/dist/invalidation.d.ts +20 -2
- package/dist/invalidation.d.ts.map +1 -1
- package/dist/invalidation.js +50 -18
- package/dist/invalidation.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +17 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/postinstall.js +35 -2
- package/dist/postinstall.js.map +1 -1
- package/dist/recall-trace.d.ts +117 -0
- package/dist/recall-trace.d.ts.map +1 -0
- package/dist/recall-trace.js +179 -0
- package/dist/recall-trace.js.map +1 -0
- package/dist/rerankers/cross-encoder.d.ts +1 -1
- package/dist/rerankers/cross-encoder.d.ts.map +1 -1
- package/dist/rerankers/cross-encoder.js +38 -10
- package/dist/rerankers/cross-encoder.js.map +1 -1
- package/dist/secret-detect.d.ts +8 -0
- package/dist/secret-detect.d.ts.map +1 -1
- package/dist/secret-detect.js +25 -0
- package/dist/secret-detect.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/src/api.js +103 -4
- package/dist/src/api.js.map +1 -1
- package/dist/src/capture.js +464 -1
- package/dist/src/capture.js.map +1 -1
- package/dist/src/cli.js +266 -21
- package/dist/src/cli.js.map +1 -1
- package/dist/src/dag.js +10 -1
- package/dist/src/dag.js.map +1 -1
- package/dist/src/db.js +75 -1
- package/dist/src/db.js.map +1 -1
- package/dist/src/embedding-provider.js +1 -1
- package/dist/src/embeddings.js +38 -37
- package/dist/src/embeddings.js.map +1 -1
- package/dist/src/hooks.js +85 -1
- package/dist/src/hooks.js.map +1 -1
- package/dist/src/invalidation.js +50 -18
- package/dist/src/invalidation.js.map +1 -1
- package/dist/src/mcp/server.js +17 -4
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/postinstall.js +35 -2
- package/dist/src/postinstall.js.map +1 -1
- package/dist/src/recall-trace.js +179 -0
- package/dist/src/recall-trace.js.map +1 -0
- package/dist/src/rerankers/cross-encoder.js +38 -10
- package/dist/src/rerankers/cross-encoder.js.map +1 -1
- package/dist/src/secret-detect.js +25 -0
- package/dist/src/secret-detect.js.map +1 -1
- package/dist/src/server.js +1 -1
- package/dist/src/server.js.map +1 -1
- package/dist/src/store.js +55 -4
- package/dist/src/store.js.map +1 -1
- package/dist/src/version.js +7 -6
- package/dist/src/version.js.map +1 -1
- package/dist/store.d.ts +15 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +55 -4
- package/dist/store.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +7 -6
- package/dist/version.js.map +1 -1
- package/dist-ui/assets/{index-DbMxaBZ3.js → index-Cxa4RcAh.js} +2 -2
- package/dist-ui/assets/{react-DS1lvn1H.js → react-CEUiQZj-.js} +2 -2
- package/dist-ui/index.html +2 -2
- package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
- package/extensions/openclaw-plugin/package.json +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +8 -5
|
@@ -1,30 +1,58 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
1
2
|
const MODEL_NAME = 'Xenova/ms-marco-MiniLM-L-6-v2';
|
|
2
3
|
// Use Function constructor to bypass TypeScript static module resolution
|
|
3
4
|
// for optional peer dependencies that may not be installed (mirrors the
|
|
4
5
|
// pattern in src/embeddings.ts).
|
|
5
6
|
const _dynImport = new Function('s', 'return import(s)');
|
|
7
|
+
const _require = createRequire(import.meta.url);
|
|
8
|
+
const TRANSFORMERS_PACKAGES = ['@huggingface/transformers', '@xenova/transformers'];
|
|
9
|
+
function resolveTransformersPackage() {
|
|
10
|
+
for (const name of TRANSFORMERS_PACKAGES) {
|
|
11
|
+
try {
|
|
12
|
+
_require.resolve(name);
|
|
13
|
+
return name;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// Try the legacy fallback only when the preferred package is not installed.
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
async function loadTransformersModule() {
|
|
22
|
+
// Import one backend only. Loading both native ONNX runtimes in one process
|
|
23
|
+
// can abort during finalization; Hugging Face is the maintained default.
|
|
24
|
+
const name = resolveTransformersPackage();
|
|
25
|
+
if (!name)
|
|
26
|
+
return null;
|
|
27
|
+
try {
|
|
28
|
+
const mod = (await _dynImport(name));
|
|
29
|
+
const pipeline = mod.pipeline ?? mod.default?.pipeline;
|
|
30
|
+
return typeof pipeline === 'function'
|
|
31
|
+
? { pipeline }
|
|
32
|
+
: null;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
6
38
|
let cachedPipeline = null;
|
|
7
39
|
let warnedOnFallback = false;
|
|
8
40
|
/**
|
|
9
|
-
* True if
|
|
41
|
+
* True if a Transformers.js backend is importable. Note: this does NOT confirm
|
|
10
42
|
* that the model is downloadable from Hugging Face CDN — in sandboxed
|
|
11
43
|
* environments the package may import but the model fetch may be blocked.
|
|
12
44
|
* The reranker silently falls back to identity ordering in that case.
|
|
13
45
|
*/
|
|
14
46
|
export async function isCrossEncoderAvailable() {
|
|
15
|
-
|
|
16
|
-
const t = (await _dynImport('@xenova/transformers'));
|
|
17
|
-
return typeof t.pipeline === 'function';
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
47
|
+
return (await loadTransformersModule()) !== null;
|
|
22
48
|
}
|
|
23
49
|
async function loadPipeline() {
|
|
24
50
|
if (cachedPipeline)
|
|
25
51
|
return cachedPipeline;
|
|
26
52
|
try {
|
|
27
|
-
const mod =
|
|
53
|
+
const mod = await loadTransformersModule();
|
|
54
|
+
if (!mod)
|
|
55
|
+
return null;
|
|
28
56
|
const p = (await mod.pipeline('text-classification', MODEL_NAME));
|
|
29
57
|
cachedPipeline = async (query, candidate) => {
|
|
30
58
|
const out = (await p(`${query} [SEP] ${candidate}`));
|
|
@@ -55,7 +83,7 @@ export const crossEncoderReranker = async (query, results, options) => {
|
|
|
55
83
|
if (!warnedOnFallback) {
|
|
56
84
|
warnedOnFallback = true;
|
|
57
85
|
// eslint-disable-next-line no-console
|
|
58
|
-
console.warn('[hippo] cross-encoder reranker unavailable (no
|
|
86
|
+
console.warn('[hippo] cross-encoder reranker unavailable (no Transformers.js backend, or model fetch blocked); falling back to identity ordering. Subsequent calls will not repeat this warning.');
|
|
59
87
|
}
|
|
60
88
|
return head.map((r, i) => ({
|
|
61
89
|
...r,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-encoder.js","sourceRoot":"","sources":["../../src/rerankers/cross-encoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cross-encoder.js","sourceRoot":"","sources":["../../src/rerankers/cross-encoder.ts"],"names":[],"mappings":"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"}
|
package/dist/secret-detect.d.ts
CHANGED
|
@@ -30,4 +30,12 @@ export declare function detectSecret(entry: {
|
|
|
30
30
|
content: string;
|
|
31
31
|
tags: string[];
|
|
32
32
|
}): SecretDetection;
|
|
33
|
+
/**
|
|
34
|
+
* Replace secret-shaped substrings in free text with a redaction marker.
|
|
35
|
+
* Reuses the same `SECRET_PATTERNS` / co-occurrence guard as `detectSecret`
|
|
36
|
+
* (which only flags whole-entry content) so callers that must persist raw
|
|
37
|
+
* text that never passes through the normal capture content gate — e.g. the
|
|
38
|
+
* CS1 pre-compact snapshot fields — can scrub it in place instead.
|
|
39
|
+
*/
|
|
40
|
+
export declare function redactSecrets(text: string): string;
|
|
33
41
|
//# sourceMappingURL=secret-detect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-detect.d.ts","sourceRoot":"","sources":["../src/secret-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAoCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,CAYxF"}
|
|
1
|
+
{"version":3,"file":"secret-detect.d.ts","sourceRoot":"","sources":["../src/secret-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAoCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,CAYxF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkBlD"}
|
package/dist/secret-detect.js
CHANGED
|
@@ -67,4 +67,29 @@ export function detectSecret(entry) {
|
|
|
67
67
|
}
|
|
68
68
|
return { flagged: false, reason: null };
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Replace secret-shaped substrings in free text with a redaction marker.
|
|
72
|
+
* Reuses the same `SECRET_PATTERNS` / co-occurrence guard as `detectSecret`
|
|
73
|
+
* (which only flags whole-entry content) so callers that must persist raw
|
|
74
|
+
* text that never passes through the normal capture content gate — e.g. the
|
|
75
|
+
* CS1 pre-compact snapshot fields — can scrub it in place instead.
|
|
76
|
+
*/
|
|
77
|
+
export function redactSecrets(text) {
|
|
78
|
+
if (!text)
|
|
79
|
+
return text;
|
|
80
|
+
let result = text;
|
|
81
|
+
// PEM/OpenSSH blocks first: the pattern-table entry matches only the
|
|
82
|
+
// BEGIN delimiter, which is fine for detectSecret's flag-or-not decision
|
|
83
|
+
// but would leave the base64 payload behind here. Consume through the
|
|
84
|
+
// matching END delimiter; a truncated block with no END is redacted to
|
|
85
|
+
// the end of the text (codex round 3).
|
|
86
|
+
result = result.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----|[\s\S]*$)/g, '[REDACTED]');
|
|
87
|
+
for (const { name, re } of SECRET_PATTERNS) {
|
|
88
|
+
if (CO_OCCURRENCE_GUARDED.has(name) && !KEYISH_CONTEXT_RE.test(text))
|
|
89
|
+
continue;
|
|
90
|
+
const flags = re.flags.includes('g') ? re.flags : `${re.flags}g`;
|
|
91
|
+
result = result.replace(new RegExp(re.source, flags), '[REDACTED]');
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
70
95
|
//# sourceMappingURL=secret-detect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-detect.js","sourceRoot":"","sources":["../src/secret-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa;IAC1D,OAAO,EAAE,UAAU,EAAE,aAAa;CACnC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAgD;IACnE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,sBAAsB,EAAE;IACtD,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,6CAA6C,EAAE;IAC3E,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,kCAAkC,EAAE;IAC3E,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,kCAAkC,EAAE;IAC/D,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,0CAA0C,EAAE;IACtE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,2BAA2B,EAAE;IAC3D,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,oCAAoC,EAAE;IACvE,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,QAAQ;IACR,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,2BAA2B,EAAE;IACzD,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,sCAAsC,EAAE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,wEAAwE;IACxE,oEAAoE;IACpE,wEAAwE;IACxE,yEAAyE;IACzE,kEAAkE;IAClE,mCAAmC;IACnC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,uGAAuG,EAAE;CAC3I,CAAC;AAEF,MAAM,iBAAiB,GAAG,mDAAmD,CAAC;AAC9E,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE7E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAA0C;IACrE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,eAAe,EAAE,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,SAAS;QACxF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"secret-detect.js","sourceRoot":"","sources":["../src/secret-detect.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -758,7 +758,7 @@ async function handleRequest(req, res, opts, startedAt, limiter) {
|
|
|
758
758
|
if (depthRaw !== null) {
|
|
759
759
|
const parsed = Number(depthRaw);
|
|
760
760
|
// L4 fold: reject out-of-range explicitly (no silent clamp).
|
|
761
|
-
if (!Number.
|
|
761
|
+
if (!Number.isInteger(parsed) || parsed < 1 || parsed > 10) {
|
|
762
762
|
throw new HttpError(400, 'depth must be a positive integer between 1 and 10');
|
|
763
763
|
}
|
|
764
764
|
depth = parsed;
|