mem-os-python 1.6.27__py3-none-any.whl
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.
- mem_os_python-1.6.27.dist-info/METADATA +1032 -0
- mem_os_python-1.6.27.dist-info/RECORD +253 -0
- mem_os_python-1.6.27.dist-info/WHEEL +4 -0
- mem_os_python-1.6.27.dist-info/entry_points.txt +2 -0
- mem_os_python-1.6.27.dist-info/licenses/LICENSE +21 -0
- memos/__init__.py +16 -0
- memos/_js/adapters/anthropic.d.ts +279 -0
- memos/_js/adapters/anthropic.d.ts.map +1 -0
- memos/_js/adapters/anthropic.js +348 -0
- memos/_js/adapters/anthropic.js.map +1 -0
- memos/_js/adapters/base.d.ts +10 -0
- memos/_js/adapters/base.d.ts.map +1 -0
- memos/_js/adapters/base.js +2 -0
- memos/_js/adapters/base.js.map +1 -0
- memos/_js/adapters/openai.d.ts +264 -0
- memos/_js/adapters/openai.d.ts.map +1 -0
- memos/_js/adapters/openai.js +342 -0
- memos/_js/adapters/openai.js.map +1 -0
- memos/_js/apps/explorer.d.ts +244 -0
- memos/_js/apps/explorer.d.ts.map +1 -0
- memos/_js/apps/explorer.js +738 -0
- memos/_js/apps/explorer.js.map +1 -0
- memos/_js/citations.d.ts +65 -0
- memos/_js/citations.d.ts.map +1 -0
- memos/_js/citations.js +143 -0
- memos/_js/citations.js.map +1 -0
- memos/_js/cli-browse.d.ts +3 -0
- memos/_js/cli-browse.d.ts.map +1 -0
- memos/_js/cli-browse.js +129 -0
- memos/_js/cli-browse.js.map +1 -0
- memos/_js/cli-completion.d.ts +31 -0
- memos/_js/cli-completion.d.ts.map +1 -0
- memos/_js/cli-completion.js +340 -0
- memos/_js/cli-completion.js.map +1 -0
- memos/_js/cli-help.d.ts +18 -0
- memos/_js/cli-help.d.ts.map +1 -0
- memos/_js/cli-help.js +357 -0
- memos/_js/cli-help.js.map +1 -0
- memos/_js/cli.d.ts +28 -0
- memos/_js/cli.d.ts.map +1 -0
- memos/_js/cli.js +2880 -0
- memos/_js/cli.js.map +1 -0
- memos/_js/compression.d.ts +25 -0
- memos/_js/compression.d.ts.map +1 -0
- memos/_js/compression.js +319 -0
- memos/_js/compression.js.map +1 -0
- memos/_js/confidence-machine.d.ts +99 -0
- memos/_js/confidence-machine.d.ts.map +1 -0
- memos/_js/confidence-machine.js +222 -0
- memos/_js/confidence-machine.js.map +1 -0
- memos/_js/context-pack.d.ts +506 -0
- memos/_js/context-pack.d.ts.map +1 -0
- memos/_js/context-pack.js +1435 -0
- memos/_js/context-pack.js.map +1 -0
- memos/_js/contradictions.d.ts +160 -0
- memos/_js/contradictions.d.ts.map +1 -0
- memos/_js/contradictions.js +255 -0
- memos/_js/contradictions.js.map +1 -0
- memos/_js/dashboard.d.ts +30 -0
- memos/_js/dashboard.d.ts.map +1 -0
- memos/_js/dashboard.js +302 -0
- memos/_js/dashboard.js.map +1 -0
- memos/_js/ebbinghaus.d.ts +29 -0
- memos/_js/ebbinghaus.d.ts.map +1 -0
- memos/_js/ebbinghaus.js +32 -0
- memos/_js/ebbinghaus.js.map +1 -0
- memos/_js/embedding-queue.d.ts +190 -0
- memos/_js/embedding-queue.d.ts.map +1 -0
- memos/_js/embedding-queue.js +316 -0
- memos/_js/embedding-queue.js.map +1 -0
- memos/_js/embeddings.d.ts +187 -0
- memos/_js/embeddings.d.ts.map +1 -0
- memos/_js/embeddings.js +633 -0
- memos/_js/embeddings.js.map +1 -0
- memos/_js/entity-extraction.d.ts +54 -0
- memos/_js/entity-extraction.d.ts.map +1 -0
- memos/_js/entity-extraction.js +325 -0
- memos/_js/entity-extraction.js.map +1 -0
- memos/_js/entity-index.d.ts +93 -0
- memos/_js/entity-index.d.ts.map +1 -0
- memos/_js/entity-index.js +165 -0
- memos/_js/entity-index.js.map +1 -0
- memos/_js/event-memory.d.ts +147 -0
- memos/_js/event-memory.d.ts.map +1 -0
- memos/_js/event-memory.js +290 -0
- memos/_js/event-memory.js.map +1 -0
- memos/_js/external-import.d.ts +98 -0
- memos/_js/external-import.d.ts.map +1 -0
- memos/_js/external-import.js +669 -0
- memos/_js/external-import.js.map +1 -0
- memos/_js/fidelity.d.ts +367 -0
- memos/_js/fidelity.d.ts.map +1 -0
- memos/_js/fidelity.js +911 -0
- memos/_js/fidelity.js.map +1 -0
- memos/_js/graph-expansion.d.ts +119 -0
- memos/_js/graph-expansion.d.ts.map +1 -0
- memos/_js/graph-expansion.js +213 -0
- memos/_js/graph-expansion.js.map +1 -0
- memos/_js/graph-mermaid.d.ts +13 -0
- memos/_js/graph-mermaid.d.ts.map +1 -0
- memos/_js/graph-mermaid.js +32 -0
- memos/_js/graph-mermaid.js.map +1 -0
- memos/_js/graph.d.ts +170 -0
- memos/_js/graph.d.ts.map +1 -0
- memos/_js/graph.js +482 -0
- memos/_js/graph.js.map +1 -0
- memos/_js/harness.d.ts +63 -0
- memos/_js/harness.d.ts.map +1 -0
- memos/_js/harness.js +93 -0
- memos/_js/harness.js.map +1 -0
- memos/_js/importance.d.ts +118 -0
- memos/_js/importance.d.ts.map +1 -0
- memos/_js/importance.js +144 -0
- memos/_js/importance.js.map +1 -0
- memos/_js/index.d.ts +51 -0
- memos/_js/index.d.ts.map +1 -0
- memos/_js/index.js +53 -0
- memos/_js/index.js.map +1 -0
- memos/_js/mcp.d.ts +58 -0
- memos/_js/mcp.d.ts.map +1 -0
- memos/_js/mcp.js +1853 -0
- memos/_js/mcp.js.map +1 -0
- memos/_js/memory.d.ts +1762 -0
- memos/_js/memory.d.ts.map +1 -0
- memos/_js/memory.js +6283 -0
- memos/_js/memory.js.map +1 -0
- memos/_js/procedural.d.ts +74 -0
- memos/_js/procedural.d.ts.map +1 -0
- memos/_js/procedural.js +125 -0
- memos/_js/procedural.js.map +1 -0
- memos/_js/project-config.d.ts +68 -0
- memos/_js/project-config.d.ts.map +1 -0
- memos/_js/project-config.js +59 -0
- memos/_js/project-config.js.map +1 -0
- memos/_js/proof-of-forgetting.d.ts +57 -0
- memos/_js/proof-of-forgetting.d.ts.map +1 -0
- memos/_js/proof-of-forgetting.js +80 -0
- memos/_js/proof-of-forgetting.js.map +1 -0
- memos/_js/provenance.d.ts +122 -0
- memos/_js/provenance.d.ts.map +1 -0
- memos/_js/provenance.js +182 -0
- memos/_js/provenance.js.map +1 -0
- memos/_js/quarantine-commands.d.ts +23 -0
- memos/_js/quarantine-commands.d.ts.map +1 -0
- memos/_js/quarantine-commands.js +42 -0
- memos/_js/quarantine-commands.js.map +1 -0
- memos/_js/quarantine.d.ts +120 -0
- memos/_js/quarantine.d.ts.map +1 -0
- memos/_js/quarantine.js +873 -0
- memos/_js/quarantine.js.map +1 -0
- memos/_js/redact.d.ts +12 -0
- memos/_js/redact.d.ts.map +1 -0
- memos/_js/redact.js +26 -0
- memos/_js/redact.js.map +1 -0
- memos/_js/repl.d.ts +57 -0
- memos/_js/repl.d.ts.map +1 -0
- memos/_js/repl.js +295 -0
- memos/_js/repl.js.map +1 -0
- memos/_js/rerank-local.d.ts +61 -0
- memos/_js/rerank-local.d.ts.map +1 -0
- memos/_js/rerank-local.js +210 -0
- memos/_js/rerank-local.js.map +1 -0
- memos/_js/retain-filter.d.ts +98 -0
- memos/_js/retain-filter.d.ts.map +1 -0
- memos/_js/retain-filter.js +232 -0
- memos/_js/retain-filter.js.map +1 -0
- memos/_js/retrieval.d.ts +265 -0
- memos/_js/retrieval.d.ts.map +1 -0
- memos/_js/retrieval.js +1018 -0
- memos/_js/retrieval.js.map +1 -0
- memos/_js/revert.d.ts +77 -0
- memos/_js/revert.d.ts.map +1 -0
- memos/_js/revert.js +252 -0
- memos/_js/revert.js.map +1 -0
- memos/_js/scope.d.ts +30 -0
- memos/_js/scope.d.ts.map +1 -0
- memos/_js/scope.js +71 -0
- memos/_js/scope.js.map +1 -0
- memos/_js/semantic-screen.d.ts +152 -0
- memos/_js/semantic-screen.d.ts.map +1 -0
- memos/_js/semantic-screen.js +290 -0
- memos/_js/semantic-screen.js.map +1 -0
- memos/_js/session-hooks.d.ts +127 -0
- memos/_js/session-hooks.d.ts.map +1 -0
- memos/_js/session-hooks.js +482 -0
- memos/_js/session-hooks.js.map +1 -0
- memos/_js/storage/sqlite.d.ts +427 -0
- memos/_js/storage/sqlite.d.ts.map +1 -0
- memos/_js/storage/sqlite.js +2428 -0
- memos/_js/storage/sqlite.js.map +1 -0
- memos/_js/sync.d.ts +213 -0
- memos/_js/sync.d.ts.map +1 -0
- memos/_js/sync.js +389 -0
- memos/_js/sync.js.map +1 -0
- memos/_js/tamper-log.d.ts +98 -0
- memos/_js/tamper-log.d.ts.map +1 -0
- memos/_js/tamper-log.js +327 -0
- memos/_js/tamper-log.js.map +1 -0
- memos/_js/temporal.d.ts +92 -0
- memos/_js/temporal.d.ts.map +1 -0
- memos/_js/temporal.js +536 -0
- memos/_js/temporal.js.map +1 -0
- memos/_js/time-travel.d.ts +38 -0
- memos/_js/time-travel.d.ts.map +1 -0
- memos/_js/time-travel.js +46 -0
- memos/_js/time-travel.js.map +1 -0
- memos/_js/timestamp-format.d.ts +18 -0
- memos/_js/timestamp-format.d.ts.map +1 -0
- memos/_js/timestamp-format.js +52 -0
- memos/_js/timestamp-format.js.map +1 -0
- memos/_js/triple-extraction.d.ts +31 -0
- memos/_js/triple-extraction.d.ts.map +1 -0
- memos/_js/triple-extraction.js +116 -0
- memos/_js/triple-extraction.js.map +1 -0
- memos/_js/types.d.ts +2474 -0
- memos/_js/types.d.ts.map +1 -0
- memos/_js/types.js +20 -0
- memos/_js/types.js.map +1 -0
- memos/_js/updater.d.ts +95 -0
- memos/_js/updater.d.ts.map +1 -0
- memos/_js/updater.js +268 -0
- memos/_js/updater.js.map +1 -0
- memos/_js/version.d.ts +17 -0
- memos/_js/version.d.ts.map +1 -0
- memos/_js/version.js +34 -0
- memos/_js/version.js.map +1 -0
- memos/_js/vision/clip-query-cache.d.ts +58 -0
- memos/_js/vision/clip-query-cache.d.ts.map +1 -0
- memos/_js/vision/clip-query-cache.js +79 -0
- memos/_js/vision/clip-query-cache.js.map +1 -0
- memos/_js/vision/clip.d.ts +113 -0
- memos/_js/vision/clip.d.ts.map +1 -0
- memos/_js/vision/clip.js +224 -0
- memos/_js/vision/clip.js.map +1 -0
- memos/_js/vision/fake-clip.d.ts +55 -0
- memos/_js/vision/fake-clip.d.ts.map +1 -0
- memos/_js/vision/fake-clip.js +122 -0
- memos/_js/vision/fake-clip.js.map +1 -0
- memos/_js/vision/index.d.ts +15 -0
- memos/_js/vision/index.d.ts.map +1 -0
- memos/_js/vision/index.js +13 -0
- memos/_js/vision/index.js.map +1 -0
- memos/_js/vision/store.d.ts +137 -0
- memos/_js/vision/store.d.ts.map +1 -0
- memos/_js/vision/store.js +383 -0
- memos/_js/vision/store.js.map +1 -0
- memos/adapters/__init__.py +0 -0
- memos/adapters/crewai.py +385 -0
- memos/adapters/langchain.py +301 -0
- memos/adapters/ollama.py +396 -0
- memos/server/__init__.py +0 -0
- memos/server/main.py +547 -0
- memos/server/routes.py +360 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quarantine.js","sourceRoot":"","sources":["../src/quarantine.ts"],"names":[],"mappings":"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"}
|
memos/_js/redact.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redact secret-looking material from text before it reaches a log.
|
|
3
|
+
*
|
|
4
|
+
* Defense in depth for CodeQL js/clear-text-logging: the top-level CLI
|
|
5
|
+
* catch-all logs `err.message`, and a future error message could echo a
|
|
6
|
+
* cipher key, passphrase, or token. UUIDs (memory IDs) and ordinary words
|
|
7
|
+
* are left alone so logs stay debuggable.
|
|
8
|
+
*
|
|
9
|
+
* @module @memos/redact
|
|
10
|
+
*/
|
|
11
|
+
export declare function redactSecrets(text: string): string;
|
|
12
|
+
//# sourceMappingURL=redact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD"}
|
memos/_js/redact.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redact secret-looking material from text before it reaches a log.
|
|
3
|
+
*
|
|
4
|
+
* Defense in depth for CodeQL js/clear-text-logging: the top-level CLI
|
|
5
|
+
* catch-all logs `err.message`, and a future error message could echo a
|
|
6
|
+
* cipher key, passphrase, or token. UUIDs (memory IDs) and ordinary words
|
|
7
|
+
* are left alone so logs stay debuggable.
|
|
8
|
+
*
|
|
9
|
+
* @module @memos/redact
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Matches `--key <value>`, `key=<value>`, `password: <value>`,
|
|
13
|
+
* `MEMOS_KEY=<value>`, etc. A bare keyword followed by prose (e.g. "key
|
|
14
|
+
* must be 32 bytes") is NOT matched — only `=`/`:` separators or the
|
|
15
|
+
* `--flag value` form count, so ordinary messages stay readable.
|
|
16
|
+
*/
|
|
17
|
+
const SECRET_ASSIGNMENT_RE = /((?<![\w-])--(?:passphrase|password|passwd|secret|token|api[-_]?key|cipher[-_]?key|key)[\s=]+|\b(?:passphrase|password|passwd|secret|token|api[-_]?key|cipher[-_]?key|key)\s*[:=]\s*|['"]?(?:MEMOS_KEY|MEMOS_SYNC_KEY)['"]?\s*=\s*)\S+/gi;
|
|
18
|
+
/** Long opaque tokens (raw keys, bearer tokens) — but not UUIDs. */
|
|
19
|
+
const LONG_TOKEN_RE = /\b[A-Za-z0-9+/=_-]{32,}\b/g;
|
|
20
|
+
const UUID_RE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
|
|
21
|
+
export function redactSecrets(text) {
|
|
22
|
+
return text
|
|
23
|
+
.replace(SECRET_ASSIGNMENT_RE, "$1[REDACTED]")
|
|
24
|
+
.replace(LONG_TOKEN_RE, (m) => (UUID_RE.test(m) ? m : "[REDACTED]"));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=redact.js.map
|
memos/_js/redact.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,MAAM,oBAAoB,GACxB,0OAA0O,CAAC;AAE7O,oEAAoE;AACpE,MAAM,aAAa,GAAG,4BAA4B,CAAC;AACnD,MAAM,OAAO,GACX,+EAA+E,CAAC;AAElF,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC;SAC7C,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACzE,CAAC"}
|
memos/_js/repl.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `memos repl` — interactive read-eval-print loop.
|
|
3
|
+
*
|
|
4
|
+
* Drop into a shell against a live MemOS instance:
|
|
5
|
+
*
|
|
6
|
+
* $ memos repl
|
|
7
|
+
* memos> store "User prefers dark mode"
|
|
8
|
+
* Stored memory: 1ea66691-…
|
|
9
|
+
* memos> search dark mode
|
|
10
|
+
* Found 1 memories:
|
|
11
|
+
* [preference] User prefers dark mode
|
|
12
|
+
* memos> flush-embeddings
|
|
13
|
+
* Flushed embedding queue. Pending: 0, running: 0.
|
|
14
|
+
* memos> graph
|
|
15
|
+
* Memory Graph: 1 nodes, 0 edges
|
|
16
|
+
* memos> exit
|
|
17
|
+
*
|
|
18
|
+
* Why this exists: a CLI tool that doesn't ship a REPL gets played
|
|
19
|
+
* with once and forgotten. A REPL keeps the developer in the loop
|
|
20
|
+
* for an order of magnitude longer. It also doubles as a smoke
|
|
21
|
+
* test — `echo "store x; search x; exit" | memos repl` is a
|
|
22
|
+
* useful CI sanity check.
|
|
23
|
+
*
|
|
24
|
+
* The dispatch function is exported separately from the readline
|
|
25
|
+
* loop so the test suite can exercise it without driving a real
|
|
26
|
+
* TTY. See `__tests__/repl.test.ts`.
|
|
27
|
+
*
|
|
28
|
+
* @module @memos/repl
|
|
29
|
+
*/
|
|
30
|
+
import type { MemOS } from "./memory.js";
|
|
31
|
+
/**
|
|
32
|
+
* ReplHandlers — owns the printable output stream and the exit
|
|
33
|
+
* predicate. Tests construct this directly; `runRepl` builds one
|
|
34
|
+
* for a real readline interface.
|
|
35
|
+
*/
|
|
36
|
+
export interface ReplHandlers {
|
|
37
|
+
/** Dispatch one line of input. The result lands in `out`. */
|
|
38
|
+
dispatch(line: string, out: string[]): Promise<void>;
|
|
39
|
+
/** True for `exit` / `quit` / `q` — caller should break the loop. */
|
|
40
|
+
shouldExit(line: string): boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Construct a ReplHandlers for a given MemOS instance.
|
|
44
|
+
*
|
|
45
|
+
* The handlers are pure with respect to `memos` — they only read
|
|
46
|
+
* from the instance and write to the `out` array. That makes
|
|
47
|
+
* them safe to construct in tests and to swap out for a real
|
|
48
|
+
* readline interface at runtime.
|
|
49
|
+
*/
|
|
50
|
+
export declare function createReplHandlers(memos: MemOS): ReplHandlers;
|
|
51
|
+
/**
|
|
52
|
+
* Run the interactive REPL. Connects the dispatcher to a readline
|
|
53
|
+
* interface on stdin/stdout and exits when the user types one of
|
|
54
|
+
* the exit commands.
|
|
55
|
+
*/
|
|
56
|
+
export declare function runRepl(memos: MemOS): Promise<void>;
|
|
57
|
+
//# sourceMappingURL=repl.d.ts.map
|
memos/_js/repl.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,qEAAqE;IACrE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAKD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CA6N7D;AAsCD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BzD"}
|
memos/_js/repl.js
ADDED
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `memos repl` — interactive read-eval-print loop.
|
|
3
|
+
*
|
|
4
|
+
* Drop into a shell against a live MemOS instance:
|
|
5
|
+
*
|
|
6
|
+
* $ memos repl
|
|
7
|
+
* memos> store "User prefers dark mode"
|
|
8
|
+
* Stored memory: 1ea66691-…
|
|
9
|
+
* memos> search dark mode
|
|
10
|
+
* Found 1 memories:
|
|
11
|
+
* [preference] User prefers dark mode
|
|
12
|
+
* memos> flush-embeddings
|
|
13
|
+
* Flushed embedding queue. Pending: 0, running: 0.
|
|
14
|
+
* memos> graph
|
|
15
|
+
* Memory Graph: 1 nodes, 0 edges
|
|
16
|
+
* memos> exit
|
|
17
|
+
*
|
|
18
|
+
* Why this exists: a CLI tool that doesn't ship a REPL gets played
|
|
19
|
+
* with once and forgotten. A REPL keeps the developer in the loop
|
|
20
|
+
* for an order of magnitude longer. It also doubles as a smoke
|
|
21
|
+
* test — `echo "store x; search x; exit" | memos repl` is a
|
|
22
|
+
* useful CI sanity check.
|
|
23
|
+
*
|
|
24
|
+
* The dispatch function is exported separately from the readline
|
|
25
|
+
* loop so the test suite can exercise it without driving a real
|
|
26
|
+
* TTY. See `__tests__/repl.test.ts`.
|
|
27
|
+
*
|
|
28
|
+
* @module @memos/repl
|
|
29
|
+
*/
|
|
30
|
+
import { createInterface } from "node:readline";
|
|
31
|
+
const BANNER = "MemOS interactive shell. Type `help` for commands, `exit` to quit.";
|
|
32
|
+
/**
|
|
33
|
+
* Construct a ReplHandlers for a given MemOS instance.
|
|
34
|
+
*
|
|
35
|
+
* The handlers are pure with respect to `memos` — they only read
|
|
36
|
+
* from the instance and write to the `out` array. That makes
|
|
37
|
+
* them safe to construct in tests and to swap out for a real
|
|
38
|
+
* readline interface at runtime.
|
|
39
|
+
*/
|
|
40
|
+
export function createReplHandlers(memos) {
|
|
41
|
+
return {
|
|
42
|
+
async dispatch(line, out) {
|
|
43
|
+
const trimmed = line.trim();
|
|
44
|
+
if (!trimmed)
|
|
45
|
+
return;
|
|
46
|
+
const [command, ...rest] = trimmed.split(/\s+/);
|
|
47
|
+
const args = rest.join(" ");
|
|
48
|
+
switch (command) {
|
|
49
|
+
case "help":
|
|
50
|
+
case "?":
|
|
51
|
+
out.push("Available commands:");
|
|
52
|
+
for (const name of REPL_COMMANDS) {
|
|
53
|
+
out.push(` ${name}`);
|
|
54
|
+
}
|
|
55
|
+
out.push("");
|
|
56
|
+
out.push("Usage: each command takes a single line of arguments.");
|
|
57
|
+
out.push('Quoted strings stay together: store "hello world".');
|
|
58
|
+
break;
|
|
59
|
+
case "store": {
|
|
60
|
+
const content = unquote(args);
|
|
61
|
+
if (!content) {
|
|
62
|
+
out.push("Usage: store <content>");
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
const { node } = await memos.store(content);
|
|
66
|
+
out.push(`Stored memory: ${node.id}`);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case "retrieve": {
|
|
70
|
+
const id = args.trim();
|
|
71
|
+
if (!id) {
|
|
72
|
+
out.push("Usage: retrieve <id>");
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
const node = await memos.retrieve(id);
|
|
76
|
+
if (!node) {
|
|
77
|
+
out.push(`Memory not found: ${id}`);
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
out.push(`[${node.type}] ${node.content}`);
|
|
81
|
+
out.push(` ID: ${node.id}`);
|
|
82
|
+
out.push(` Importance: ${node.importance}`);
|
|
83
|
+
out.push(` Access count: ${node.accessCount}`);
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
case "search": {
|
|
87
|
+
if (!args.trim()) {
|
|
88
|
+
out.push("Usage: search <query>");
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
const results = await memos.search({ query: args, limit: 10 });
|
|
92
|
+
if (results.length === 0) {
|
|
93
|
+
out.push("No memories found.");
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
out.push(`Found ${results.length} memories:`);
|
|
97
|
+
for (const r of results) {
|
|
98
|
+
out.push(` [${r.node.type}] ${r.node.content}`);
|
|
99
|
+
out.push(` ID: ${r.node.id} Score: ${r.score.toFixed(3)}`);
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case "semantic": {
|
|
104
|
+
if (!args.trim()) {
|
|
105
|
+
out.push("Usage: semantic <query>");
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
const results = await memos.semanticSearch(args, 10);
|
|
109
|
+
if (results.length === 0) {
|
|
110
|
+
out.push("No memories found.");
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
out.push(`Found ${results.length} memories:`);
|
|
114
|
+
for (const r of results) {
|
|
115
|
+
out.push(` [${r.node.type}] ${r.node.content}`);
|
|
116
|
+
out.push(` ID: ${r.node.id} Score: ${r.score.toFixed(3)}`);
|
|
117
|
+
}
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
case "forget": {
|
|
121
|
+
const id = args.trim();
|
|
122
|
+
if (!id) {
|
|
123
|
+
out.push("Usage: forget <id>");
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
const deleted = await memos.forget(id);
|
|
127
|
+
out.push(deleted ? `Forgot memory: ${id}` : `Memory not found: ${id}`);
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
case "summarize": {
|
|
131
|
+
out.push(await memos.summarize());
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
case "graph": {
|
|
135
|
+
const g = await memos.getGraph();
|
|
136
|
+
out.push(`Memory Graph: ${g.nodes.length} nodes, ${g.edges.length} edges`);
|
|
137
|
+
if (g.nodes.length > 0) {
|
|
138
|
+
for (const n of g.nodes.slice(0, 20)) {
|
|
139
|
+
out.push(` [${n.type}] ${n.id.slice(0, 8)} — ${n.content.slice(0, 60)}`);
|
|
140
|
+
}
|
|
141
|
+
if (g.nodes.length > 20) {
|
|
142
|
+
out.push(` ... ${g.nodes.length - 20} more`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
case "count": {
|
|
148
|
+
out.push(`${memos.count} memories stored.`);
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
case "context-pack": {
|
|
152
|
+
if (!args.trim()) {
|
|
153
|
+
out.push("Usage: context-pack <query> [budget=N]");
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
const budgetMatch = args.match(/budget=(\d+)/);
|
|
157
|
+
const query = args.replace(/budget=\d+/, "").trim();
|
|
158
|
+
const tokenBudget = budgetMatch ? parseInt(budgetMatch[1], 10) : 1200;
|
|
159
|
+
const pack = (await memos.contextPack({
|
|
160
|
+
query,
|
|
161
|
+
tokenBudget,
|
|
162
|
+
format: "json",
|
|
163
|
+
}));
|
|
164
|
+
out.push(`Context pack for "${query}" (${pack.items.length} items, ${pack.tokenBudget} token budget):`);
|
|
165
|
+
for (const item of pack.items) {
|
|
166
|
+
out.push(` [${item.score.toFixed(3)}] ${item.content.slice(0, 80)}`);
|
|
167
|
+
}
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
case "flush-embeddings": {
|
|
171
|
+
await memos.flushEmbeddings();
|
|
172
|
+
const status = memos.embeddingStatus();
|
|
173
|
+
out.push(`Flushed embedding queue. Pending: ${status.pending}, running: ${status.running}.`);
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
case "embedding-status": {
|
|
177
|
+
const status = memos.embeddingStatus();
|
|
178
|
+
out.push(`Embedding queue: ${status.pending} pending, ${status.running} running, ${status.total} nodes tracked.`);
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
case "tag": {
|
|
182
|
+
const parts = args.split(/\s+/);
|
|
183
|
+
const id = parts[0];
|
|
184
|
+
const tags = parts.slice(1);
|
|
185
|
+
if (!id || tags.length === 0) {
|
|
186
|
+
out.push("Usage: tag <id> <tag1> [tag2...]");
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
await memos.tag(id, tags);
|
|
190
|
+
out.push(`Tagged ${id.slice(0, 8)} with: ${tags.join(", ")}`);
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
case "untag": {
|
|
194
|
+
const parts = args.split(/\s+/);
|
|
195
|
+
const id = parts[0];
|
|
196
|
+
const tags = parts.slice(1);
|
|
197
|
+
if (!id || tags.length === 0) {
|
|
198
|
+
out.push("Usage: untag <id> <tag1> [tag2...]");
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
await memos.untag(id, tags);
|
|
202
|
+
out.push(`Removed tags from ${id.slice(0, 8)}: ${tags.join(", ")}`);
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
case "link": {
|
|
206
|
+
const parts = args.split(/\s+/);
|
|
207
|
+
if (parts.length < 2) {
|
|
208
|
+
out.push("Usage: link <source-id> <target-id>");
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
const edge = await memos.link(parts[0], parts[1]);
|
|
212
|
+
out.push(`Linked: ${parts[0].slice(0, 8)} --[${edge.relation}]--> ${parts[1].slice(0, 8)}`);
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
case "exit":
|
|
216
|
+
case "quit":
|
|
217
|
+
out.push("Bye.");
|
|
218
|
+
break;
|
|
219
|
+
default:
|
|
220
|
+
out.push(`Unknown command: ${command}. Type \`help\` for the list.`);
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
shouldExit(line) {
|
|
224
|
+
const t = line.trim().toLowerCase();
|
|
225
|
+
return t === "exit" || t === "quit" || t === "q";
|
|
226
|
+
},
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
/** Commands the help screen advertises. Kept in sync with the dispatcher. */
|
|
230
|
+
const REPL_COMMANDS = [
|
|
231
|
+
"store <content>",
|
|
232
|
+
"retrieve <id>",
|
|
233
|
+
"search <query>",
|
|
234
|
+
"semantic <query>",
|
|
235
|
+
"forget <id>",
|
|
236
|
+
"summarize",
|
|
237
|
+
"graph",
|
|
238
|
+
"count",
|
|
239
|
+
"context-pack <query> [budget=N]",
|
|
240
|
+
"flush-embeddings",
|
|
241
|
+
"embedding-status",
|
|
242
|
+
"tag <id> <tag1> [tag2...]",
|
|
243
|
+
"untag <id> <tag1> [tag2...]",
|
|
244
|
+
"link <source-id> <target-id>",
|
|
245
|
+
"exit",
|
|
246
|
+
];
|
|
247
|
+
/**
|
|
248
|
+
* Strip a single layer of matched quotes from a string. Lets users
|
|
249
|
+
* type `store "hello world"` without the quotes landing in the
|
|
250
|
+
* stored content.
|
|
251
|
+
*/
|
|
252
|
+
function unquote(s) {
|
|
253
|
+
const t = s.trim();
|
|
254
|
+
if (t.length >= 2) {
|
|
255
|
+
const first = t[0];
|
|
256
|
+
const last = t[t.length - 1];
|
|
257
|
+
if ((first === '"' && last === '"') || (first === "'" && last === "'")) {
|
|
258
|
+
return t.slice(1, -1);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return t;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Run the interactive REPL. Connects the dispatcher to a readline
|
|
265
|
+
* interface on stdin/stdout and exits when the user types one of
|
|
266
|
+
* the exit commands.
|
|
267
|
+
*/
|
|
268
|
+
export async function runRepl(memos) {
|
|
269
|
+
const handlers = createReplHandlers(memos);
|
|
270
|
+
const rl = createInterface({
|
|
271
|
+
input: process.stdin,
|
|
272
|
+
output: process.stdout,
|
|
273
|
+
terminal: false,
|
|
274
|
+
});
|
|
275
|
+
// eslint-disable-next-line no-console
|
|
276
|
+
console.log(BANNER);
|
|
277
|
+
for await (const line of rl) {
|
|
278
|
+
if (handlers.shouldExit(line))
|
|
279
|
+
break;
|
|
280
|
+
const out = [];
|
|
281
|
+
try {
|
|
282
|
+
await handlers.dispatch(line, out);
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
out.push(`Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
286
|
+
}
|
|
287
|
+
for (const chunk of out) {
|
|
288
|
+
// eslint-disable-next-line no-console
|
|
289
|
+
console.log(`memos> ${chunk}`);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
rl.close();
|
|
293
|
+
await memos.close();
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=repl.js.map
|
memos/_js/repl.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ─── Local cross-encoder reranking ──────────────────────────────────────────
|
|
3
|
+
*
|
|
4
|
+
* In-process alternative to the HTTP `/rerank` endpoint path in
|
|
5
|
+
* `MemOS.applyRerank`. Loads a sequence-classification cross-encoder
|
|
6
|
+
* (default `Xenova/bge-reranker-base`, ~280 MB) through
|
|
7
|
+
* `@huggingface/transformers` (falling back to `@xenova/transformers`),
|
|
8
|
+
* scores `[query, document]` pairs, and returns sigmoid-squashed relevance
|
|
9
|
+
* scores in [0,1].
|
|
10
|
+
*
|
|
11
|
+
* Design rules (same as the endpoint path):
|
|
12
|
+
* - Opt-in only: nothing here runs unless `experimental.rerank` selects the
|
|
13
|
+
* local provider (or `MEMOS_RERANK_LOCAL=1`).
|
|
14
|
+
* - Any failure — missing package, model download failure, inference
|
|
15
|
+
* error — returns `null` so the caller keeps the fused ranking. A broken
|
|
16
|
+
* reranker degrades quality, never availability.
|
|
17
|
+
* - The model is loaded once per (model, dtype) and reused; the download
|
|
18
|
+
* happens on first use, so the first reranked query pays for it.
|
|
19
|
+
*/
|
|
20
|
+
export declare const DEFAULT_LOCAL_RERANK_MODEL = "Xenova/bge-reranker-base";
|
|
21
|
+
/** Default quantization for local rerank inference. q8 is ~4x faster on CPU. */
|
|
22
|
+
export declare const DEFAULT_LOCAL_RERANK_DTYPE = "q8";
|
|
23
|
+
export interface LocalRerankOptions {
|
|
24
|
+
/** HuggingFace model id. Default `Xenova/bge-reranker-base`. */
|
|
25
|
+
model?: string;
|
|
26
|
+
/** Weight dtype passed to `from_pretrained` (e.g. "q8", "fp32"). */
|
|
27
|
+
dtype?: string;
|
|
28
|
+
/** Tokenizer max length for each pair. Default 512. */
|
|
29
|
+
maxLength?: number;
|
|
30
|
+
}
|
|
31
|
+
/** Minimal surface of a loaded sequence-classification model. */
|
|
32
|
+
export interface LocalRerankModel {
|
|
33
|
+
/** Raw (pre-sigmoid) relevance logits, one per pair, in input order. */
|
|
34
|
+
scorePairs(pairs: Array<[string, string]>): Promise<number[]>;
|
|
35
|
+
}
|
|
36
|
+
export type LocalRerankLoader = (model: string, dtype: string, maxLength: number) => Promise<LocalRerankModel | null>;
|
|
37
|
+
/** Test-only override for the model loader (stubbed inference, no download). */
|
|
38
|
+
export declare function __setLocalRerankLoaderForTests(loader: LocalRerankLoader | null): void;
|
|
39
|
+
/**
|
|
40
|
+
* Tokenize (query, doc) pairs for the cross-encoder. Tries the fast batched
|
|
41
|
+
* path first; some tokenizers (XLM-R family in transformers.js v4) throw on
|
|
42
|
+
* batched pair input (`text.replace is not a function`), in which case we
|
|
43
|
+
* fall back to per-pair tokenization with manual padding. Exported for tests.
|
|
44
|
+
*/
|
|
45
|
+
export declare function tokenizePairsForRerank(tokenizer: {
|
|
46
|
+
(input: unknown, options?: Record<string, unknown>): Promise<Record<string, TokenTensorLike>>;
|
|
47
|
+
pad_token_id?: number;
|
|
48
|
+
}, pairs: Array<[string, string]>, maxLength: number): Promise<Record<string, TokenTensorLike>>;
|
|
49
|
+
interface TokenTensorLike {
|
|
50
|
+
type: string;
|
|
51
|
+
data: BigInt64Array | Float32Array | Float64Array | Int32Array | ArrayLike<number>;
|
|
52
|
+
dims: number[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Score each document against the query with the local cross-encoder.
|
|
56
|
+
* Returns sigmoid-squashed scores in input order, or `null` when the
|
|
57
|
+
* reranker is unavailable — the caller must keep the fused ranking.
|
|
58
|
+
*/
|
|
59
|
+
export declare function scorePairsLocal(query: string, docs: string[], opts?: LocalRerankOptions): Promise<number[] | null>;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=rerank-local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rerank-local.d.ts","sourceRoot":"","sources":["../src/rerank-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,eAAO,MAAM,0BAA0B,6BAA6B,CAAC;AAErE,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/D;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAMtC,gFAAgF;AAChF,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAC/B,IAAI,CAEN;AAkDD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE;IACT,CACE,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,EACD,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAmC1C;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EACA,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AA2HD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CA2B1B"}
|