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.
Files changed (253) hide show
  1. mem_os_python-1.6.27.dist-info/METADATA +1032 -0
  2. mem_os_python-1.6.27.dist-info/RECORD +253 -0
  3. mem_os_python-1.6.27.dist-info/WHEEL +4 -0
  4. mem_os_python-1.6.27.dist-info/entry_points.txt +2 -0
  5. mem_os_python-1.6.27.dist-info/licenses/LICENSE +21 -0
  6. memos/__init__.py +16 -0
  7. memos/_js/adapters/anthropic.d.ts +279 -0
  8. memos/_js/adapters/anthropic.d.ts.map +1 -0
  9. memos/_js/adapters/anthropic.js +348 -0
  10. memos/_js/adapters/anthropic.js.map +1 -0
  11. memos/_js/adapters/base.d.ts +10 -0
  12. memos/_js/adapters/base.d.ts.map +1 -0
  13. memos/_js/adapters/base.js +2 -0
  14. memos/_js/adapters/base.js.map +1 -0
  15. memos/_js/adapters/openai.d.ts +264 -0
  16. memos/_js/adapters/openai.d.ts.map +1 -0
  17. memos/_js/adapters/openai.js +342 -0
  18. memos/_js/adapters/openai.js.map +1 -0
  19. memos/_js/apps/explorer.d.ts +244 -0
  20. memos/_js/apps/explorer.d.ts.map +1 -0
  21. memos/_js/apps/explorer.js +738 -0
  22. memos/_js/apps/explorer.js.map +1 -0
  23. memos/_js/citations.d.ts +65 -0
  24. memos/_js/citations.d.ts.map +1 -0
  25. memos/_js/citations.js +143 -0
  26. memos/_js/citations.js.map +1 -0
  27. memos/_js/cli-browse.d.ts +3 -0
  28. memos/_js/cli-browse.d.ts.map +1 -0
  29. memos/_js/cli-browse.js +129 -0
  30. memos/_js/cli-browse.js.map +1 -0
  31. memos/_js/cli-completion.d.ts +31 -0
  32. memos/_js/cli-completion.d.ts.map +1 -0
  33. memos/_js/cli-completion.js +340 -0
  34. memos/_js/cli-completion.js.map +1 -0
  35. memos/_js/cli-help.d.ts +18 -0
  36. memos/_js/cli-help.d.ts.map +1 -0
  37. memos/_js/cli-help.js +357 -0
  38. memos/_js/cli-help.js.map +1 -0
  39. memos/_js/cli.d.ts +28 -0
  40. memos/_js/cli.d.ts.map +1 -0
  41. memos/_js/cli.js +2880 -0
  42. memos/_js/cli.js.map +1 -0
  43. memos/_js/compression.d.ts +25 -0
  44. memos/_js/compression.d.ts.map +1 -0
  45. memos/_js/compression.js +319 -0
  46. memos/_js/compression.js.map +1 -0
  47. memos/_js/confidence-machine.d.ts +99 -0
  48. memos/_js/confidence-machine.d.ts.map +1 -0
  49. memos/_js/confidence-machine.js +222 -0
  50. memos/_js/confidence-machine.js.map +1 -0
  51. memos/_js/context-pack.d.ts +506 -0
  52. memos/_js/context-pack.d.ts.map +1 -0
  53. memos/_js/context-pack.js +1435 -0
  54. memos/_js/context-pack.js.map +1 -0
  55. memos/_js/contradictions.d.ts +160 -0
  56. memos/_js/contradictions.d.ts.map +1 -0
  57. memos/_js/contradictions.js +255 -0
  58. memos/_js/contradictions.js.map +1 -0
  59. memos/_js/dashboard.d.ts +30 -0
  60. memos/_js/dashboard.d.ts.map +1 -0
  61. memos/_js/dashboard.js +302 -0
  62. memos/_js/dashboard.js.map +1 -0
  63. memos/_js/ebbinghaus.d.ts +29 -0
  64. memos/_js/ebbinghaus.d.ts.map +1 -0
  65. memos/_js/ebbinghaus.js +32 -0
  66. memos/_js/ebbinghaus.js.map +1 -0
  67. memos/_js/embedding-queue.d.ts +190 -0
  68. memos/_js/embedding-queue.d.ts.map +1 -0
  69. memos/_js/embedding-queue.js +316 -0
  70. memos/_js/embedding-queue.js.map +1 -0
  71. memos/_js/embeddings.d.ts +187 -0
  72. memos/_js/embeddings.d.ts.map +1 -0
  73. memos/_js/embeddings.js +633 -0
  74. memos/_js/embeddings.js.map +1 -0
  75. memos/_js/entity-extraction.d.ts +54 -0
  76. memos/_js/entity-extraction.d.ts.map +1 -0
  77. memos/_js/entity-extraction.js +325 -0
  78. memos/_js/entity-extraction.js.map +1 -0
  79. memos/_js/entity-index.d.ts +93 -0
  80. memos/_js/entity-index.d.ts.map +1 -0
  81. memos/_js/entity-index.js +165 -0
  82. memos/_js/entity-index.js.map +1 -0
  83. memos/_js/event-memory.d.ts +147 -0
  84. memos/_js/event-memory.d.ts.map +1 -0
  85. memos/_js/event-memory.js +290 -0
  86. memos/_js/event-memory.js.map +1 -0
  87. memos/_js/external-import.d.ts +98 -0
  88. memos/_js/external-import.d.ts.map +1 -0
  89. memos/_js/external-import.js +669 -0
  90. memos/_js/external-import.js.map +1 -0
  91. memos/_js/fidelity.d.ts +367 -0
  92. memos/_js/fidelity.d.ts.map +1 -0
  93. memos/_js/fidelity.js +911 -0
  94. memos/_js/fidelity.js.map +1 -0
  95. memos/_js/graph-expansion.d.ts +119 -0
  96. memos/_js/graph-expansion.d.ts.map +1 -0
  97. memos/_js/graph-expansion.js +213 -0
  98. memos/_js/graph-expansion.js.map +1 -0
  99. memos/_js/graph-mermaid.d.ts +13 -0
  100. memos/_js/graph-mermaid.d.ts.map +1 -0
  101. memos/_js/graph-mermaid.js +32 -0
  102. memos/_js/graph-mermaid.js.map +1 -0
  103. memos/_js/graph.d.ts +170 -0
  104. memos/_js/graph.d.ts.map +1 -0
  105. memos/_js/graph.js +482 -0
  106. memos/_js/graph.js.map +1 -0
  107. memos/_js/harness.d.ts +63 -0
  108. memos/_js/harness.d.ts.map +1 -0
  109. memos/_js/harness.js +93 -0
  110. memos/_js/harness.js.map +1 -0
  111. memos/_js/importance.d.ts +118 -0
  112. memos/_js/importance.d.ts.map +1 -0
  113. memos/_js/importance.js +144 -0
  114. memos/_js/importance.js.map +1 -0
  115. memos/_js/index.d.ts +51 -0
  116. memos/_js/index.d.ts.map +1 -0
  117. memos/_js/index.js +53 -0
  118. memos/_js/index.js.map +1 -0
  119. memos/_js/mcp.d.ts +58 -0
  120. memos/_js/mcp.d.ts.map +1 -0
  121. memos/_js/mcp.js +1853 -0
  122. memos/_js/mcp.js.map +1 -0
  123. memos/_js/memory.d.ts +1762 -0
  124. memos/_js/memory.d.ts.map +1 -0
  125. memos/_js/memory.js +6283 -0
  126. memos/_js/memory.js.map +1 -0
  127. memos/_js/procedural.d.ts +74 -0
  128. memos/_js/procedural.d.ts.map +1 -0
  129. memos/_js/procedural.js +125 -0
  130. memos/_js/procedural.js.map +1 -0
  131. memos/_js/project-config.d.ts +68 -0
  132. memos/_js/project-config.d.ts.map +1 -0
  133. memos/_js/project-config.js +59 -0
  134. memos/_js/project-config.js.map +1 -0
  135. memos/_js/proof-of-forgetting.d.ts +57 -0
  136. memos/_js/proof-of-forgetting.d.ts.map +1 -0
  137. memos/_js/proof-of-forgetting.js +80 -0
  138. memos/_js/proof-of-forgetting.js.map +1 -0
  139. memos/_js/provenance.d.ts +122 -0
  140. memos/_js/provenance.d.ts.map +1 -0
  141. memos/_js/provenance.js +182 -0
  142. memos/_js/provenance.js.map +1 -0
  143. memos/_js/quarantine-commands.d.ts +23 -0
  144. memos/_js/quarantine-commands.d.ts.map +1 -0
  145. memos/_js/quarantine-commands.js +42 -0
  146. memos/_js/quarantine-commands.js.map +1 -0
  147. memos/_js/quarantine.d.ts +120 -0
  148. memos/_js/quarantine.d.ts.map +1 -0
  149. memos/_js/quarantine.js +873 -0
  150. memos/_js/quarantine.js.map +1 -0
  151. memos/_js/redact.d.ts +12 -0
  152. memos/_js/redact.d.ts.map +1 -0
  153. memos/_js/redact.js +26 -0
  154. memos/_js/redact.js.map +1 -0
  155. memos/_js/repl.d.ts +57 -0
  156. memos/_js/repl.d.ts.map +1 -0
  157. memos/_js/repl.js +295 -0
  158. memos/_js/repl.js.map +1 -0
  159. memos/_js/rerank-local.d.ts +61 -0
  160. memos/_js/rerank-local.d.ts.map +1 -0
  161. memos/_js/rerank-local.js +210 -0
  162. memos/_js/rerank-local.js.map +1 -0
  163. memos/_js/retain-filter.d.ts +98 -0
  164. memos/_js/retain-filter.d.ts.map +1 -0
  165. memos/_js/retain-filter.js +232 -0
  166. memos/_js/retain-filter.js.map +1 -0
  167. memos/_js/retrieval.d.ts +265 -0
  168. memos/_js/retrieval.d.ts.map +1 -0
  169. memos/_js/retrieval.js +1018 -0
  170. memos/_js/retrieval.js.map +1 -0
  171. memos/_js/revert.d.ts +77 -0
  172. memos/_js/revert.d.ts.map +1 -0
  173. memos/_js/revert.js +252 -0
  174. memos/_js/revert.js.map +1 -0
  175. memos/_js/scope.d.ts +30 -0
  176. memos/_js/scope.d.ts.map +1 -0
  177. memos/_js/scope.js +71 -0
  178. memos/_js/scope.js.map +1 -0
  179. memos/_js/semantic-screen.d.ts +152 -0
  180. memos/_js/semantic-screen.d.ts.map +1 -0
  181. memos/_js/semantic-screen.js +290 -0
  182. memos/_js/semantic-screen.js.map +1 -0
  183. memos/_js/session-hooks.d.ts +127 -0
  184. memos/_js/session-hooks.d.ts.map +1 -0
  185. memos/_js/session-hooks.js +482 -0
  186. memos/_js/session-hooks.js.map +1 -0
  187. memos/_js/storage/sqlite.d.ts +427 -0
  188. memos/_js/storage/sqlite.d.ts.map +1 -0
  189. memos/_js/storage/sqlite.js +2428 -0
  190. memos/_js/storage/sqlite.js.map +1 -0
  191. memos/_js/sync.d.ts +213 -0
  192. memos/_js/sync.d.ts.map +1 -0
  193. memos/_js/sync.js +389 -0
  194. memos/_js/sync.js.map +1 -0
  195. memos/_js/tamper-log.d.ts +98 -0
  196. memos/_js/tamper-log.d.ts.map +1 -0
  197. memos/_js/tamper-log.js +327 -0
  198. memos/_js/tamper-log.js.map +1 -0
  199. memos/_js/temporal.d.ts +92 -0
  200. memos/_js/temporal.d.ts.map +1 -0
  201. memos/_js/temporal.js +536 -0
  202. memos/_js/temporal.js.map +1 -0
  203. memos/_js/time-travel.d.ts +38 -0
  204. memos/_js/time-travel.d.ts.map +1 -0
  205. memos/_js/time-travel.js +46 -0
  206. memos/_js/time-travel.js.map +1 -0
  207. memos/_js/timestamp-format.d.ts +18 -0
  208. memos/_js/timestamp-format.d.ts.map +1 -0
  209. memos/_js/timestamp-format.js +52 -0
  210. memos/_js/timestamp-format.js.map +1 -0
  211. memos/_js/triple-extraction.d.ts +31 -0
  212. memos/_js/triple-extraction.d.ts.map +1 -0
  213. memos/_js/triple-extraction.js +116 -0
  214. memos/_js/triple-extraction.js.map +1 -0
  215. memos/_js/types.d.ts +2474 -0
  216. memos/_js/types.d.ts.map +1 -0
  217. memos/_js/types.js +20 -0
  218. memos/_js/types.js.map +1 -0
  219. memos/_js/updater.d.ts +95 -0
  220. memos/_js/updater.d.ts.map +1 -0
  221. memos/_js/updater.js +268 -0
  222. memos/_js/updater.js.map +1 -0
  223. memos/_js/version.d.ts +17 -0
  224. memos/_js/version.d.ts.map +1 -0
  225. memos/_js/version.js +34 -0
  226. memos/_js/version.js.map +1 -0
  227. memos/_js/vision/clip-query-cache.d.ts +58 -0
  228. memos/_js/vision/clip-query-cache.d.ts.map +1 -0
  229. memos/_js/vision/clip-query-cache.js +79 -0
  230. memos/_js/vision/clip-query-cache.js.map +1 -0
  231. memos/_js/vision/clip.d.ts +113 -0
  232. memos/_js/vision/clip.d.ts.map +1 -0
  233. memos/_js/vision/clip.js +224 -0
  234. memos/_js/vision/clip.js.map +1 -0
  235. memos/_js/vision/fake-clip.d.ts +55 -0
  236. memos/_js/vision/fake-clip.d.ts.map +1 -0
  237. memos/_js/vision/fake-clip.js +122 -0
  238. memos/_js/vision/fake-clip.js.map +1 -0
  239. memos/_js/vision/index.d.ts +15 -0
  240. memos/_js/vision/index.d.ts.map +1 -0
  241. memos/_js/vision/index.js +13 -0
  242. memos/_js/vision/index.js.map +1 -0
  243. memos/_js/vision/store.d.ts +137 -0
  244. memos/_js/vision/store.d.ts.map +1 -0
  245. memos/_js/vision/store.js +383 -0
  246. memos/_js/vision/store.js.map +1 -0
  247. memos/adapters/__init__.py +0 -0
  248. memos/adapters/crewai.py +385 -0
  249. memos/adapters/langchain.py +301 -0
  250. memos/adapters/ollama.py +396 -0
  251. memos/server/__init__.py +0 -0
  252. memos/server/main.py +547 -0
  253. 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
@@ -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
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAgBhD,MAAM,MAAM,GACV,oEAAoE,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAY;IAC7C,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE5B,QAAQ,OAAO,EAAE,CAAC;gBAChB,KAAK,MAAM,CAAC;gBACZ,KAAK,GAAG;oBACN,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBAChC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;wBACjC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBACxB,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;oBAClE,GAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;oBAC/D,MAAM;gBAER,KAAK,OAAO,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;wBACnC,MAAM;oBACR,CAAC;oBACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC5C,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,MAAM;gBACR,CAAC;gBAED,KAAK,UAAU,EAAE,CAAC;oBAChB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC,EAAE,EAAE,CAAC;wBACR,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBACjC,MAAM;oBACR,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;wBACpC,MAAM;oBACR,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3C,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC7C,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChD,MAAM;gBACR,CAAC;gBAED,KAAK,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;wBAClC,MAAM;oBACR,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;wBAC/B,MAAM;oBACR,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;oBAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBACjD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACjE,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjB,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;wBACpC,MAAM;oBACR,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;wBAC/B,MAAM;oBACR,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;oBAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBACjD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACjE,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,QAAQ,EAAE,CAAC;oBACd,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC,EAAE,EAAE,CAAC;wBACR,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;wBAC/B,MAAM;oBACR,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvC,GAAG,CAAC,IAAI,CACN,OAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAC7D,CAAC;oBACF,MAAM;gBACR,CAAC;gBAED,KAAK,WAAW,EAAE,CAAC;oBACjB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;oBAClC,MAAM;gBACR,CAAC;gBAED,KAAK,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjC,GAAG,CAAC,IAAI,CACN,iBAAiB,CAAC,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,QAAQ,CACjE,CAAC;oBACF,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;4BACrC,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAChE,CAAC;wBACJ,CAAC;wBACD,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;4BACxB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,OAAO,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC;oBAC5C,MAAM;gBACR,CAAC;gBAED,KAAK,cAAc,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjB,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;wBACnD,MAAM;oBACR,CAAC;oBACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACtE,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC;wBACpC,KAAK;wBACL,WAAW;wBACX,MAAM,EAAE,MAAe;qBACxB,CAAC,CAAgB,CAAC;oBACnB,GAAG,CAAC,IAAI,CACN,qBAAqB,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,WAAW,IAAI,CAAC,WAAW,iBAAiB,CAC9F,CAAC;oBACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC9B,GAAG,CAAC,IAAI,CACN,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC5D,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,kBAAkB,EAAE,CAAC;oBACxB,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;oBACvC,GAAG,CAAC,IAAI,CACN,qCAAqC,MAAM,CAAC,OAAO,cAAc,MAAM,CAAC,OAAO,GAAG,CACnF,CAAC;oBACF,MAAM;gBACR,CAAC;gBAED,KAAK,kBAAkB,EAAE,CAAC;oBACxB,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;oBACvC,GAAG,CAAC,IAAI,CACN,oBAAoB,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,KAAK,iBAAiB,CACxG,CAAC;oBACF,MAAM;gBACR,CAAC;gBAED,KAAK,KAAK,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAChC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7B,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;wBAC7C,MAAM;oBACR,CAAC;oBACD,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC1B,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC9D,MAAM;gBACR,CAAC;gBAED,KAAK,OAAO,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAChC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7B,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;wBAC/C,MAAM;oBACR,CAAC;oBACD,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC5B,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACpE,MAAM;gBACR,CAAC;gBAED,KAAK,MAAM,EAAE,CAAC;oBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;wBAChD,MAAM;oBACR,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,GAAG,CAAC,IAAI,CACN,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAClF,CAAC;oBACF,MAAM;gBACR,CAAC;gBAED,KAAK,MAAM,CAAC;gBACZ,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjB,MAAM;gBAER;oBACE,GAAG,CAAC,IAAI,CAAC,oBAAoB,OAAO,+BAA+B,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI;YACb,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC;QACnD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,aAAa,GAAG;IACpB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,WAAW;IACX,OAAO;IACP,OAAO;IACP,iCAAiC;IACjC,kBAAkB;IAClB,kBAAkB;IAClB,2BAA2B;IAC3B,6BAA6B;IAC7B,8BAA8B;IAC9B,MAAM;CACP,CAAC;AAEF;;;;GAIG;AACH,SAAS,OAAO,CAAC,CAAS;IACxB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAY;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM;QACrC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YACxB,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
@@ -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"}