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":"context-pack.js","sourceRoot":"","sources":["../src/context-pack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Write-time contradiction candidate detection + read-time rule-based
3
+ * resolution for MemOS.
4
+ *
5
+ * Background: MemOS is ADD-only — old facts are never deleted, they are
6
+ * invalidated at read time. The gap this closes is *detection*: without
7
+ * it, conflicting facts accumulate silently (the MemPalace failure mode
8
+ * called out in the accuracy research). The detection recipe comes from
9
+ * nirdiamant's semantic-memory thresholds — embedding similarity > 0.85
10
+ * means duplicate, the 0.5–0.85 band plus entity overlap means
11
+ * *contradiction candidate* — and the resolution policy mirrors the
12
+ * mem0^g conflict-detector pattern, minus its LLM adjudication.
13
+ *
14
+ * Two entry points:
15
+ *
16
+ * 1. Write time — {@link findContradictionCandidates}: after a node is
17
+ * stored and its embedding persisted, scan a bounded set of semantic
18
+ * neighbors (the caller does the bounded scan; this function is pure)
19
+ * and flag pairs in the contradiction band. Flagged pairs are
20
+ * persisted to the `contradictions` table with status `unresolved`
21
+ * (add-only: both versions are kept, with provenance).
22
+ *
23
+ * 2. Read time — {@link resolveContradictionsAtRead}: when BOTH members
24
+ * of a CONFIRMED contradiction pair (`status: "resolved"`, e.g. via
25
+ * the evidence state machine's supersession path) appear in a result
26
+ * set, demote the OLDER one (multiply its score by
27
+ * {@link CONTRADICTION_DEMOTION_FACTOR}) so the newer version wins.
28
+ * Heuristic write-time candidates stay `unresolved` — persisted for
29
+ * future sleep-time adjudication — and never affect ranking, because
30
+ * at corpus scale the candidate rule's precision is too low for
31
+ * unreviewed pairs to demote results. Never removes anything.
32
+ * Deterministic.
33
+ *
34
+ * No LLM anywhere on this path — detection and resolution are
35
+ * rule-based. LLM adjudication (e.g. in the sleep-time dreaming loop)
36
+ * is an explicit future step, not part of this module.
37
+ *
38
+ * @module @memos/contradictions
39
+ */
40
+ import type { ContradictionRecord, MemoryNode, ScoredMemory } from "./types.js";
41
+ /**
42
+ * Lower bound of the contradiction band. Below this, two memories are
43
+ * unrelated — flagging them would be pure noise.
44
+ */
45
+ export declare const CONTRADICTION_SIM_MIN = 0.5;
46
+ /**
47
+ * Upper bound (exclusive) of the contradiction band. At or above this,
48
+ * the pair is a duplicate/paraphrase, not a contradiction — the
49
+ * evidence-learning store path (reinforce) already owns that band.
50
+ */
51
+ export declare const CONTRADICTION_SIM_MAX = 0.85;
52
+ /**
53
+ * Write-time neighbor scan bound. Contradiction detection must not
54
+ * become a full table scan on every write — the caller asks for the
55
+ * top-N semantic neighbors and this module scores only those.
56
+ */
57
+ export declare const CONTRADICTION_SCAN_LIMIT = 50;
58
+ /**
59
+ * Read-time demotion factor for the older member of a contradiction
60
+ * pair. 0.5 is strong enough to flip genuinely-tied pairs while a
61
+ * clearly more relevant old memory still keeps its rank.
62
+ */
63
+ export declare const CONTRADICTION_DEMOTION_FACTOR = 0.5;
64
+ /**
65
+ * A pre-existing memory eligible for contradiction comparison. The
66
+ * caller (the store path) fetches these from a bounded semantic-neighbor
67
+ * scan; `entities` are the stored entities/tags of the candidate.
68
+ */
69
+ export interface ContradictionCandidateInput {
70
+ id: string;
71
+ content: string;
72
+ vector: ArrayLike<number>;
73
+ entities: string[];
74
+ }
75
+ /**
76
+ * A flagged contradiction candidate: the existing memory id plus the
77
+ * measured cosine similarity (for provenance / future adjudication).
78
+ */
79
+ export interface ContradictionCandidate {
80
+ id: string;
81
+ similarity: number;
82
+ }
83
+ /**
84
+ * Stored entity surface forms for a memory node: `metadata.entities`
85
+ * plus `tags`, lowercased and deduped. The entity-overlap check in
86
+ * {@link findContradictionCandidates} compares the NEW memory's
87
+ * extracted entities against these.
88
+ */
89
+ export declare function storedEntities(node: {
90
+ tags?: readonly string[];
91
+ metadata?: {
92
+ entities?: unknown;
93
+ };
94
+ }): string[];
95
+ /**
96
+ * Flag contradiction candidates among existing memories for a newly
97
+ * written memory.
98
+ *
99
+ * A candidate is flagged when ALL of these hold:
100
+ * 1. cosine similarity is in [CONTRADICTION_SIM_MIN, CONTRADICTION_SIM_MAX)
101
+ * — the nirdiamant recipe band (>= 0.85 is a duplicate, < 0.5 is
102
+ * unrelated);
103
+ * 2. entity overlap > 0 between the new content's extracted entities
104
+ * and the candidate's stored entities (rules out topically
105
+ * unrelated near-neighbors);
106
+ * 3. {@link sharesSubject} — the texts share at least one meaningful
107
+ * content word, so a negation can only contradict a memory that is
108
+ * actually about the same thing.
109
+ *
110
+ * Pure function: no storage, no LLM. Deterministic — candidates are
111
+ * returned in input order.
112
+ *
113
+ * @param newContent — The newly stored memory's content.
114
+ * @param newVector — The newly stored memory's embedding vector.
115
+ * @param candidates — Existing memories from the bounded neighbor scan.
116
+ * @returns Flagged candidates ({id, similarity}).
117
+ */
118
+ export declare function findContradictionCandidates(newContent: string, newVector: ArrayLike<number>, candidates: ContradictionCandidateInput[]): ContradictionCandidate[];
119
+ /**
120
+ * Rule-based contradiction resolution at read time.
121
+ *
122
+ * For every recorded contradiction pair whose BOTH members appear in
123
+ * `results`, demote the OLDER member (smaller `createdAt`; id as the
124
+ * tiebreak) by {@link CONTRADICTION_DEMOTION_FACTOR}. The demoted result
125
+ * carries a `scores.contradiction_demoted` marker (the factor) and its
126
+ * `scores.hybrid` is refreshed to the demoted score — mirroring the
127
+ * convention in `fuseResults`. Demotion is sign-aware: the keyword leg
128
+ * yields negative bm25 ranks, where a plain multiplication would
129
+ * promote instead of demote, so negative scores are divided by the
130
+ * factor (more negative = ranks worse under the descending sort).
131
+ *
132
+ * Rules:
133
+ * - Never removes results. Add-only is preserved: both versions stay
134
+ * in the set; the newer one simply outranks the older.
135
+ * - Pairs with only ONE member in the set are untouched.
136
+ * - The caller is responsible for passing only CONFIRMED pairs
137
+ * (`status: "resolved"`); heuristic `unresolved` candidates are
138
+ * persisted for future adjudication and must not reach this
139
+ * function (see `applyContradictionResolution` in `src/memory.ts`).
140
+ * - Deterministic: pairs are processed in canonical (node_a, node_b)
141
+ * order and the output is re-sorted with `compareScoredMemories`.
142
+ * - Pure: inputs are not mutated — demoted results are new objects
143
+ * with fresh `scores` records (the input `scores` objects may be
144
+ * shared with other result sets).
145
+ *
146
+ * @param results — Scored memories from hybrid search (post-fusion).
147
+ * @param pairs — Recorded contradiction pairs (canonically ordered).
148
+ * @returns A new array with older pair members demoted, sorted best-first.
149
+ */
150
+ export declare function resolveContradictionsAtRead(results: ScoredMemory[], pairs: ContradictionRecord[]): ScoredMemory[];
151
+ /** Node entity-shape accepted by {@link nodeContradictionCandidates}. */
152
+ export type ContradictionScannableNode = Pick<MemoryNode, "id" | "content" | "tags" | "metadata" | "validTo">;
153
+ /**
154
+ * Build the {@link ContradictionCandidateInput} list for a batch of
155
+ * existing nodes given their vectors. Historical nodes (`validTo !==
156
+ * null`) are skipped — a superseded memory is already out of the
157
+ * read-time running and must not accumulate new contradiction pairs.
158
+ */
159
+ export declare function nodeContradictionCandidates(nodes: ContradictionScannableNode[], vectors: ReadonlyMap<string, ArrayLike<number>>, excludeId?: string): ContradictionCandidateInput[];
160
+ //# sourceMappingURL=contradictions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contradictions.d.ts","sourceRoot":"","sources":["../src/contradictions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACnC,GAAG,MAAM,EAAE,CAgBX;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAC5B,UAAU,EAAE,2BAA2B,EAAE,GACxC,sBAAsB,EAAE,CA0B1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,YAAY,EAAE,CAiEhB;AAED,yEAAyE;AACzE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,UAAU,EACV,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CACnD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,EAAE,EACnC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAC/C,SAAS,CAAC,EAAE,MAAM,GACjB,2BAA2B,EAAE,CAe/B"}
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Write-time contradiction candidate detection + read-time rule-based
3
+ * resolution for MemOS.
4
+ *
5
+ * Background: MemOS is ADD-only — old facts are never deleted, they are
6
+ * invalidated at read time. The gap this closes is *detection*: without
7
+ * it, conflicting facts accumulate silently (the MemPalace failure mode
8
+ * called out in the accuracy research). The detection recipe comes from
9
+ * nirdiamant's semantic-memory thresholds — embedding similarity > 0.85
10
+ * means duplicate, the 0.5–0.85 band plus entity overlap means
11
+ * *contradiction candidate* — and the resolution policy mirrors the
12
+ * mem0^g conflict-detector pattern, minus its LLM adjudication.
13
+ *
14
+ * Two entry points:
15
+ *
16
+ * 1. Write time — {@link findContradictionCandidates}: after a node is
17
+ * stored and its embedding persisted, scan a bounded set of semantic
18
+ * neighbors (the caller does the bounded scan; this function is pure)
19
+ * and flag pairs in the contradiction band. Flagged pairs are
20
+ * persisted to the `contradictions` table with status `unresolved`
21
+ * (add-only: both versions are kept, with provenance).
22
+ *
23
+ * 2. Read time — {@link resolveContradictionsAtRead}: when BOTH members
24
+ * of a CONFIRMED contradiction pair (`status: "resolved"`, e.g. via
25
+ * the evidence state machine's supersession path) appear in a result
26
+ * set, demote the OLDER one (multiply its score by
27
+ * {@link CONTRADICTION_DEMOTION_FACTOR}) so the newer version wins.
28
+ * Heuristic write-time candidates stay `unresolved` — persisted for
29
+ * future sleep-time adjudication — and never affect ranking, because
30
+ * at corpus scale the candidate rule's precision is too low for
31
+ * unreviewed pairs to demote results. Never removes anything.
32
+ * Deterministic.
33
+ *
34
+ * No LLM anywhere on this path — detection and resolution are
35
+ * rule-based. LLM adjudication (e.g. in the sleep-time dreaming loop)
36
+ * is an explicit future step, not part of this module.
37
+ *
38
+ * @module @memos/contradictions
39
+ */
40
+ import { cosineSimilarity } from "./embeddings.js";
41
+ import { sharesSubject } from "./confidence-machine.js";
42
+ import { entityOverlap, extractQueryEntities } from "./entity-extraction.js";
43
+ import { compareScoredMemories } from "./retrieval.js";
44
+ /**
45
+ * Lower bound of the contradiction band. Below this, two memories are
46
+ * unrelated — flagging them would be pure noise.
47
+ */
48
+ export const CONTRADICTION_SIM_MIN = 0.5;
49
+ /**
50
+ * Upper bound (exclusive) of the contradiction band. At or above this,
51
+ * the pair is a duplicate/paraphrase, not a contradiction — the
52
+ * evidence-learning store path (reinforce) already owns that band.
53
+ */
54
+ export const CONTRADICTION_SIM_MAX = 0.85;
55
+ /**
56
+ * Write-time neighbor scan bound. Contradiction detection must not
57
+ * become a full table scan on every write — the caller asks for the
58
+ * top-N semantic neighbors and this module scores only those.
59
+ */
60
+ export const CONTRADICTION_SCAN_LIMIT = 50;
61
+ /**
62
+ * Read-time demotion factor for the older member of a contradiction
63
+ * pair. 0.5 is strong enough to flip genuinely-tied pairs while a
64
+ * clearly more relevant old memory still keeps its rank.
65
+ */
66
+ export const CONTRADICTION_DEMOTION_FACTOR = 0.5;
67
+ /**
68
+ * Stored entity surface forms for a memory node: `metadata.entities`
69
+ * plus `tags`, lowercased and deduped. The entity-overlap check in
70
+ * {@link findContradictionCandidates} compares the NEW memory's
71
+ * extracted entities against these.
72
+ */
73
+ export function storedEntities(node) {
74
+ const seen = new Set();
75
+ const out = [];
76
+ const push = (raw) => {
77
+ if (typeof raw !== "string")
78
+ return;
79
+ const normalized = raw.trim().toLowerCase();
80
+ if (normalized.length === 0 || seen.has(normalized))
81
+ return;
82
+ seen.add(normalized);
83
+ out.push(normalized);
84
+ };
85
+ for (const tag of node.tags ?? [])
86
+ push(tag);
87
+ const metaEntities = node.metadata?.entities;
88
+ if (Array.isArray(metaEntities)) {
89
+ for (const entity of metaEntities)
90
+ push(entity);
91
+ }
92
+ return out;
93
+ }
94
+ /**
95
+ * Flag contradiction candidates among existing memories for a newly
96
+ * written memory.
97
+ *
98
+ * A candidate is flagged when ALL of these hold:
99
+ * 1. cosine similarity is in [CONTRADICTION_SIM_MIN, CONTRADICTION_SIM_MAX)
100
+ * — the nirdiamant recipe band (>= 0.85 is a duplicate, < 0.5 is
101
+ * unrelated);
102
+ * 2. entity overlap > 0 between the new content's extracted entities
103
+ * and the candidate's stored entities (rules out topically
104
+ * unrelated near-neighbors);
105
+ * 3. {@link sharesSubject} — the texts share at least one meaningful
106
+ * content word, so a negation can only contradict a memory that is
107
+ * actually about the same thing.
108
+ *
109
+ * Pure function: no storage, no LLM. Deterministic — candidates are
110
+ * returned in input order.
111
+ *
112
+ * @param newContent — The newly stored memory's content.
113
+ * @param newVector — The newly stored memory's embedding vector.
114
+ * @param candidates — Existing memories from the bounded neighbor scan.
115
+ * @returns Flagged candidates ({id, similarity}).
116
+ */
117
+ export function findContradictionCandidates(newContent, newVector, candidates) {
118
+ const newEntities = extractQueryEntities(newContent).map((e) => e.toLowerCase());
119
+ const flagged = [];
120
+ for (const candidate of candidates) {
121
+ const similarity = cosineSimilarity(newVector, candidate.vector);
122
+ if (similarity < CONTRADICTION_SIM_MIN ||
123
+ similarity >= CONTRADICTION_SIM_MAX) {
124
+ continue;
125
+ }
126
+ if (entityOverlap(newEntities, {
127
+ metadata: { entities: candidate.entities },
128
+ }) <= 0) {
129
+ continue;
130
+ }
131
+ if (!sharesSubject(newContent, candidate.content)) {
132
+ continue;
133
+ }
134
+ flagged.push({ id: candidate.id, similarity });
135
+ }
136
+ return flagged;
137
+ }
138
+ /**
139
+ * Rule-based contradiction resolution at read time.
140
+ *
141
+ * For every recorded contradiction pair whose BOTH members appear in
142
+ * `results`, demote the OLDER member (smaller `createdAt`; id as the
143
+ * tiebreak) by {@link CONTRADICTION_DEMOTION_FACTOR}. The demoted result
144
+ * carries a `scores.contradiction_demoted` marker (the factor) and its
145
+ * `scores.hybrid` is refreshed to the demoted score — mirroring the
146
+ * convention in `fuseResults`. Demotion is sign-aware: the keyword leg
147
+ * yields negative bm25 ranks, where a plain multiplication would
148
+ * promote instead of demote, so negative scores are divided by the
149
+ * factor (more negative = ranks worse under the descending sort).
150
+ *
151
+ * Rules:
152
+ * - Never removes results. Add-only is preserved: both versions stay
153
+ * in the set; the newer one simply outranks the older.
154
+ * - Pairs with only ONE member in the set are untouched.
155
+ * - The caller is responsible for passing only CONFIRMED pairs
156
+ * (`status: "resolved"`); heuristic `unresolved` candidates are
157
+ * persisted for future adjudication and must not reach this
158
+ * function (see `applyContradictionResolution` in `src/memory.ts`).
159
+ * - Deterministic: pairs are processed in canonical (node_a, node_b)
160
+ * order and the output is re-sorted with `compareScoredMemories`.
161
+ * - Pure: inputs are not mutated — demoted results are new objects
162
+ * with fresh `scores` records (the input `scores` objects may be
163
+ * shared with other result sets).
164
+ *
165
+ * @param results — Scored memories from hybrid search (post-fusion).
166
+ * @param pairs — Recorded contradiction pairs (canonically ordered).
167
+ * @returns A new array with older pair members demoted, sorted best-first.
168
+ */
169
+ export function resolveContradictionsAtRead(results, pairs) {
170
+ if (results.length < 2 || pairs.length === 0)
171
+ return [...results];
172
+ const byId = new Map();
173
+ for (let i = 0; i < results.length; i += 1) {
174
+ const id = results[i]?.node.id;
175
+ if (id !== undefined && !byId.has(id))
176
+ byId.set(id, i);
177
+ }
178
+ // Canonical processing order so overlapping pairs resolve
179
+ // deterministically no matter the input order.
180
+ const ordered = [...pairs].sort((a, b) => a.nodeA < b.nodeA
181
+ ? -1
182
+ : a.nodeA > b.nodeA
183
+ ? 1
184
+ : a.nodeB < b.nodeB
185
+ ? -1
186
+ : a.nodeB > b.nodeB
187
+ ? 1
188
+ : 0);
189
+ const demoted = new Set();
190
+ const adjusted = results.map((r) => ({ ...r }));
191
+ for (const pair of ordered) {
192
+ const idxA = byId.get(pair.nodeA);
193
+ const idxB = byId.get(pair.nodeB);
194
+ if (idxA === undefined || idxB === undefined)
195
+ continue; // only one member present
196
+ const a = adjusted[idxA];
197
+ const b = adjusted[idxB];
198
+ // The older member loses: smaller createdAt, with the node id as a
199
+ // deterministic tiebreak (createdAt is monotonic per MemOS instance,
200
+ // but imports can collide on the same millisecond).
201
+ const olderIdx = a.node.createdAt < b.node.createdAt ||
202
+ (a.node.createdAt === b.node.createdAt && a.node.id < b.node.id)
203
+ ? idxA
204
+ : idxB;
205
+ if (demoted.has(adjusted[olderIdx].node.id))
206
+ continue; // already demoted via another pair
207
+ const target = adjusted[olderIdx];
208
+ // Sign-aware demotion: scores from the keyword leg are negative
209
+ // bm25 ranks, and `score * 0.5` would promote a negative score
210
+ // (closer to zero) instead of demoting it. Dividing a negative
211
+ // score by the factor pushes it further negative, i.e. ranks worse
212
+ // under the descending sort — a true demotion for either sign.
213
+ // Non-negative scores keep the exact historical behavior.
214
+ const newScore = target.score >= 0
215
+ ? target.score * CONTRADICTION_DEMOTION_FACTOR
216
+ : target.score / CONTRADICTION_DEMOTION_FACTOR;
217
+ adjusted[olderIdx] = {
218
+ ...target,
219
+ score: newScore,
220
+ scores: {
221
+ ...(target.scores ?? {}),
222
+ contradiction_demoted: CONTRADICTION_DEMOTION_FACTOR,
223
+ hybrid: newScore,
224
+ },
225
+ };
226
+ demoted.add(target.node.id);
227
+ }
228
+ return adjusted.sort(compareScoredMemories);
229
+ }
230
+ /**
231
+ * Build the {@link ContradictionCandidateInput} list for a batch of
232
+ * existing nodes given their vectors. Historical nodes (`validTo !==
233
+ * null`) are skipped — a superseded memory is already out of the
234
+ * read-time running and must not accumulate new contradiction pairs.
235
+ */
236
+ export function nodeContradictionCandidates(nodes, vectors, excludeId) {
237
+ const out = [];
238
+ for (const node of nodes) {
239
+ if (node.id === excludeId)
240
+ continue;
241
+ if (node.validTo !== null)
242
+ continue;
243
+ const vector = vectors.get(node.id);
244
+ if (!vector)
245
+ continue;
246
+ out.push({
247
+ id: node.id,
248
+ content: node.content,
249
+ vector,
250
+ entities: storedEntities(node),
251
+ });
252
+ }
253
+ return out;
254
+ }
255
+ //# sourceMappingURL=contradictions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contradictions.js","sourceRoot":"","sources":["../src/contradictions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Local dashboard — a browser UI for the MemOS memory store.
3
+ *
4
+ * `memos dashboard` starts a local HTTP server (no external dependencies)
5
+ * serving a single-page dashboard for browsing, searching, and visualizing
6
+ * the memory graph. No MCP Apps host required.
7
+ *
8
+ * API:
9
+ * GET /api/memories?limit=50&offset=0 — list memories
10
+ * GET /api/search?q=...&limit=20 — search memories
11
+ * GET /api/memory/:id — get one memory
12
+ * GET /api/graph — graph nodes + edges
13
+ * GET /api/stats — store statistics
14
+ *
15
+ * @module @memos/dashboard
16
+ */
17
+ import type { MemOS } from "./memory.js";
18
+ export interface DashboardOptions {
19
+ port?: number;
20
+ open?: boolean;
21
+ }
22
+ /**
23
+ * Start the local dashboard server.
24
+ * Returns the server instance and the URL.
25
+ */
26
+ export declare function startDashboard(memos: MemOS, opts?: DashboardOptions): Promise<{
27
+ url: string;
28
+ close: () => Promise<void>;
29
+ }>;
30
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA8LzC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CA0GtD"}