@framers/agentos 0.1.101 → 0.1.102

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 (176) hide show
  1. package/README.md +16 -0
  2. package/dist/memory/config.d.ts +39 -0
  3. package/dist/memory/config.d.ts.map +1 -1
  4. package/dist/memory/config.js.map +1 -1
  5. package/dist/memory/consolidation/ConsolidationLoop.d.ts +177 -0
  6. package/dist/memory/consolidation/ConsolidationLoop.d.ts.map +1 -0
  7. package/dist/memory/consolidation/ConsolidationLoop.js +517 -0
  8. package/dist/memory/consolidation/ConsolidationLoop.js.map +1 -0
  9. package/dist/memory/consolidation/ConsolidationPipeline.d.ts.map +1 -1
  10. package/dist/memory/consolidation/ConsolidationPipeline.js +7 -0
  11. package/dist/memory/consolidation/ConsolidationPipeline.js.map +1 -1
  12. package/dist/memory/consolidation/index.d.ts +8 -0
  13. package/dist/memory/consolidation/index.d.ts.map +1 -0
  14. package/dist/memory/consolidation/index.js +7 -0
  15. package/dist/memory/consolidation/index.js.map +1 -0
  16. package/dist/memory/decay/DecayModel.d.ts +33 -0
  17. package/dist/memory/decay/DecayModel.d.ts.map +1 -1
  18. package/dist/memory/decay/DecayModel.js +31 -0
  19. package/dist/memory/decay/DecayModel.js.map +1 -1
  20. package/dist/memory/facade/Memory.d.ts +228 -0
  21. package/dist/memory/facade/Memory.d.ts.map +1 -0
  22. package/dist/memory/facade/Memory.js +823 -0
  23. package/dist/memory/facade/Memory.js.map +1 -0
  24. package/dist/memory/facade/index.d.ts +13 -0
  25. package/dist/memory/facade/index.d.ts.map +1 -0
  26. package/dist/memory/facade/index.js +11 -0
  27. package/dist/memory/facade/index.js.map +1 -0
  28. package/dist/memory/facade/types.d.ts +606 -0
  29. package/dist/memory/facade/types.d.ts.map +1 -0
  30. package/dist/memory/facade/types.js +11 -0
  31. package/dist/memory/facade/types.js.map +1 -0
  32. package/dist/memory/feedback/RetrievalFeedbackSignal.d.ts +132 -0
  33. package/dist/memory/feedback/RetrievalFeedbackSignal.d.ts.map +1 -0
  34. package/dist/memory/feedback/RetrievalFeedbackSignal.js +178 -0
  35. package/dist/memory/feedback/RetrievalFeedbackSignal.js.map +1 -0
  36. package/dist/memory/feedback/index.d.ts +13 -0
  37. package/dist/memory/feedback/index.d.ts.map +1 -0
  38. package/dist/memory/feedback/index.js +12 -0
  39. package/dist/memory/feedback/index.js.map +1 -0
  40. package/dist/memory/index.d.ts +22 -0
  41. package/dist/memory/index.d.ts.map +1 -1
  42. package/dist/memory/index.js +24 -0
  43. package/dist/memory/index.js.map +1 -1
  44. package/dist/memory/ingestion/ChunkingEngine.d.ts +143 -0
  45. package/dist/memory/ingestion/ChunkingEngine.d.ts.map +1 -0
  46. package/dist/memory/ingestion/ChunkingEngine.js +508 -0
  47. package/dist/memory/ingestion/ChunkingEngine.js.map +1 -0
  48. package/dist/memory/ingestion/DoclingLoader.d.ts +44 -0
  49. package/dist/memory/ingestion/DoclingLoader.d.ts.map +1 -0
  50. package/dist/memory/ingestion/DoclingLoader.js +228 -0
  51. package/dist/memory/ingestion/DoclingLoader.js.map +1 -0
  52. package/dist/memory/ingestion/DocxLoader.d.ts +37 -0
  53. package/dist/memory/ingestion/DocxLoader.d.ts.map +1 -0
  54. package/dist/memory/ingestion/DocxLoader.js +111 -0
  55. package/dist/memory/ingestion/DocxLoader.js.map +1 -0
  56. package/dist/memory/ingestion/FolderScanner.d.ts +116 -0
  57. package/dist/memory/ingestion/FolderScanner.d.ts.map +1 -0
  58. package/dist/memory/ingestion/FolderScanner.js +127 -0
  59. package/dist/memory/ingestion/FolderScanner.js.map +1 -0
  60. package/dist/memory/ingestion/HtmlLoader.d.ts +49 -0
  61. package/dist/memory/ingestion/HtmlLoader.d.ts.map +1 -0
  62. package/dist/memory/ingestion/HtmlLoader.js +202 -0
  63. package/dist/memory/ingestion/HtmlLoader.js.map +1 -0
  64. package/dist/memory/ingestion/IDocumentLoader.d.ts +63 -0
  65. package/dist/memory/ingestion/IDocumentLoader.d.ts.map +1 -0
  66. package/dist/memory/ingestion/IDocumentLoader.js +11 -0
  67. package/dist/memory/ingestion/IDocumentLoader.js.map +1 -0
  68. package/dist/memory/ingestion/LoaderRegistry.d.ts +140 -0
  69. package/dist/memory/ingestion/LoaderRegistry.d.ts.map +1 -0
  70. package/dist/memory/ingestion/LoaderRegistry.js +229 -0
  71. package/dist/memory/ingestion/LoaderRegistry.js.map +1 -0
  72. package/dist/memory/ingestion/MarkdownLoader.d.ts +50 -0
  73. package/dist/memory/ingestion/MarkdownLoader.d.ts.map +1 -0
  74. package/dist/memory/ingestion/MarkdownLoader.js +169 -0
  75. package/dist/memory/ingestion/MarkdownLoader.js.map +1 -0
  76. package/dist/memory/ingestion/MultimodalAggregator.d.ts +88 -0
  77. package/dist/memory/ingestion/MultimodalAggregator.d.ts.map +1 -0
  78. package/dist/memory/ingestion/MultimodalAggregator.js +96 -0
  79. package/dist/memory/ingestion/MultimodalAggregator.js.map +1 -0
  80. package/dist/memory/ingestion/OcrPdfLoader.d.ts +41 -0
  81. package/dist/memory/ingestion/OcrPdfLoader.d.ts.map +1 -0
  82. package/dist/memory/ingestion/OcrPdfLoader.js +149 -0
  83. package/dist/memory/ingestion/OcrPdfLoader.js.map +1 -0
  84. package/dist/memory/ingestion/PdfLoader.d.ts +78 -0
  85. package/dist/memory/ingestion/PdfLoader.d.ts.map +1 -0
  86. package/dist/memory/ingestion/PdfLoader.js +179 -0
  87. package/dist/memory/ingestion/PdfLoader.js.map +1 -0
  88. package/dist/memory/ingestion/TextLoader.d.ts +66 -0
  89. package/dist/memory/ingestion/TextLoader.d.ts.map +1 -0
  90. package/dist/memory/ingestion/TextLoader.js +207 -0
  91. package/dist/memory/ingestion/TextLoader.js.map +1 -0
  92. package/dist/memory/ingestion/UrlLoader.d.ts +95 -0
  93. package/dist/memory/ingestion/UrlLoader.d.ts.map +1 -0
  94. package/dist/memory/ingestion/UrlLoader.js +174 -0
  95. package/dist/memory/ingestion/UrlLoader.js.map +1 -0
  96. package/dist/memory/io/ChatGptImporter.d.ts +85 -0
  97. package/dist/memory/io/ChatGptImporter.d.ts.map +1 -0
  98. package/dist/memory/io/ChatGptImporter.js +231 -0
  99. package/dist/memory/io/ChatGptImporter.js.map +1 -0
  100. package/dist/memory/io/JsonExporter.d.ts +67 -0
  101. package/dist/memory/io/JsonExporter.d.ts.map +1 -0
  102. package/dist/memory/io/JsonExporter.js +132 -0
  103. package/dist/memory/io/JsonExporter.js.map +1 -0
  104. package/dist/memory/io/JsonImporter.d.ts +84 -0
  105. package/dist/memory/io/JsonImporter.d.ts.map +1 -0
  106. package/dist/memory/io/JsonImporter.js +234 -0
  107. package/dist/memory/io/JsonImporter.js.map +1 -0
  108. package/dist/memory/io/MarkdownExporter.d.ts +95 -0
  109. package/dist/memory/io/MarkdownExporter.d.ts.map +1 -0
  110. package/dist/memory/io/MarkdownExporter.js +130 -0
  111. package/dist/memory/io/MarkdownExporter.js.map +1 -0
  112. package/dist/memory/io/MarkdownImporter.d.ts +84 -0
  113. package/dist/memory/io/MarkdownImporter.d.ts.map +1 -0
  114. package/dist/memory/io/MarkdownImporter.js +166 -0
  115. package/dist/memory/io/MarkdownImporter.js.map +1 -0
  116. package/dist/memory/io/ObsidianExporter.d.ts +80 -0
  117. package/dist/memory/io/ObsidianExporter.d.ts.map +1 -0
  118. package/dist/memory/io/ObsidianExporter.js +127 -0
  119. package/dist/memory/io/ObsidianExporter.js.map +1 -0
  120. package/dist/memory/io/ObsidianImporter.d.ts +93 -0
  121. package/dist/memory/io/ObsidianImporter.d.ts.map +1 -0
  122. package/dist/memory/io/ObsidianImporter.js +221 -0
  123. package/dist/memory/io/ObsidianImporter.js.map +1 -0
  124. package/dist/memory/io/SqliteExporter.d.ts +47 -0
  125. package/dist/memory/io/SqliteExporter.d.ts.map +1 -0
  126. package/dist/memory/io/SqliteExporter.js +56 -0
  127. package/dist/memory/io/SqliteExporter.js.map +1 -0
  128. package/dist/memory/io/SqliteImporter.d.ts +82 -0
  129. package/dist/memory/io/SqliteImporter.d.ts.map +1 -0
  130. package/dist/memory/io/SqliteImporter.js +232 -0
  131. package/dist/memory/io/SqliteImporter.js.map +1 -0
  132. package/dist/memory/io/index.d.ts +31 -0
  133. package/dist/memory/io/index.d.ts.map +1 -0
  134. package/dist/memory/io/index.js +31 -0
  135. package/dist/memory/io/index.js.map +1 -0
  136. package/dist/memory/store/SqliteBrain.d.ts +125 -0
  137. package/dist/memory/store/SqliteBrain.d.ts.map +1 -0
  138. package/dist/memory/store/SqliteBrain.js +407 -0
  139. package/dist/memory/store/SqliteBrain.js.map +1 -0
  140. package/dist/memory/store/SqliteKnowledgeGraph.d.ts +259 -0
  141. package/dist/memory/store/SqliteKnowledgeGraph.d.ts.map +1 -0
  142. package/dist/memory/store/SqliteKnowledgeGraph.js +1062 -0
  143. package/dist/memory/store/SqliteKnowledgeGraph.js.map +1 -0
  144. package/dist/memory/store/SqliteMemoryGraph.d.ts +251 -0
  145. package/dist/memory/store/SqliteMemoryGraph.d.ts.map +1 -0
  146. package/dist/memory/store/SqliteMemoryGraph.js +637 -0
  147. package/dist/memory/store/SqliteMemoryGraph.js.map +1 -0
  148. package/dist/memory/tools/MemoryAddTool.d.ts +98 -0
  149. package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -0
  150. package/dist/memory/tools/MemoryAddTool.js +131 -0
  151. package/dist/memory/tools/MemoryAddTool.js.map +1 -0
  152. package/dist/memory/tools/MemoryDeleteTool.d.ts +83 -0
  153. package/dist/memory/tools/MemoryDeleteTool.d.ts.map +1 -0
  154. package/dist/memory/tools/MemoryDeleteTool.js +96 -0
  155. package/dist/memory/tools/MemoryDeleteTool.js.map +1 -0
  156. package/dist/memory/tools/MemoryMergeTool.d.ts +95 -0
  157. package/dist/memory/tools/MemoryMergeTool.d.ts.map +1 -0
  158. package/dist/memory/tools/MemoryMergeTool.js +164 -0
  159. package/dist/memory/tools/MemoryMergeTool.js.map +1 -0
  160. package/dist/memory/tools/MemoryReflectTool.d.ts +86 -0
  161. package/dist/memory/tools/MemoryReflectTool.d.ts.map +1 -0
  162. package/dist/memory/tools/MemoryReflectTool.js +102 -0
  163. package/dist/memory/tools/MemoryReflectTool.js.map +1 -0
  164. package/dist/memory/tools/MemorySearchTool.d.ts +117 -0
  165. package/dist/memory/tools/MemorySearchTool.d.ts.map +1 -0
  166. package/dist/memory/tools/MemorySearchTool.js +162 -0
  167. package/dist/memory/tools/MemorySearchTool.js.map +1 -0
  168. package/dist/memory/tools/MemoryUpdateTool.d.ts +92 -0
  169. package/dist/memory/tools/MemoryUpdateTool.d.ts.map +1 -0
  170. package/dist/memory/tools/MemoryUpdateTool.js +125 -0
  171. package/dist/memory/tools/MemoryUpdateTool.js.map +1 -0
  172. package/dist/memory/tools/index.d.ts +32 -0
  173. package/dist/memory/tools/index.d.ts.map +1 -0
  174. package/dist/memory/tools/index.js +26 -0
  175. package/dist/memory/tools/index.js.map +1 -0
  176. package/package.json +6 -1
@@ -79,6 +79,39 @@ export declare function computeInterference(similarities: Array<{
79
79
  similarity: number;
80
80
  currentStrength: number;
81
81
  }>, config?: DecayConfig): InterferenceResult;
82
+ /**
83
+ * Result of applying the unused-trace penalty to a memory trace's decay
84
+ * parameters.
85
+ */
86
+ export interface PenaltyResult {
87
+ /** Updated encoding strength after the 10% immediate penalty. */
88
+ encodingStrength: number;
89
+ /** Updated stability — halved, floored at 60 000 ms (1 minute). */
90
+ stability: number;
91
+ /** Timestamp of the penalty application (Unix ms). */
92
+ lastAccessedAt: number;
93
+ }
94
+ /**
95
+ * Accelerates decay for a trace that was retrieved and injected into the
96
+ * prompt but subsequently ignored by the LLM's response.
97
+ *
98
+ * Rationale: if a memory was surfaced but the model produced a response
99
+ * that didn't use it, the trace is likely less relevant than its current
100
+ * strength suggests. Halving stability makes the forgetting curve steeper
101
+ * going forward (the trace will reach the pruning threshold faster), while
102
+ * the 10% immediate strength penalty provides a small but observable signal
103
+ * to the consolidation pipeline.
104
+ *
105
+ * The stability floor of 60 000 ms (1 minute) prevents pathological
106
+ * oscillation on traces that are repeatedly penalised — they still decay
107
+ * naturally but aren't instantly pruned by a single feedback event.
108
+ *
109
+ * @param trace - The memory trace that was injected but ignored.
110
+ * @param now - Current wall-clock timestamp in milliseconds.
111
+ * @returns Updated `encodingStrength`, `stability`, and `lastAccessedAt`
112
+ * suitable for writing back to the trace store.
113
+ */
114
+ export declare function penalizeUnused(trace: MemoryTrace, now: number): PenaltyResult;
82
115
  /**
83
116
  * Identify traces that have decayed below the pruning threshold.
84
117
  * These should be soft-deleted (isActive = false).
@@ -1 +1 @@
1
- {"version":3,"file":"DecayModel.d.ts","sourceRoot":"","sources":["../../../src/memory/decay/DecayModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOhD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9E;AAMD,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,8BAA8B;IAC9B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,CA4BxF;AAMD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,4DAA4D;IAC5D,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,EACrF,MAAM,GAAE,WAAkC,GACzC,kBAAkB,CAuBpB;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EAAE,EACrB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,WAAkC,GACzC,MAAM,EAAE,CAWV"}
1
+ {"version":3,"file":"DecayModel.d.ts","sourceRoot":"","sources":["../../../src/memory/decay/DecayModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOhD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9E;AAMD,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,8BAA8B;IAC9B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,CA4BxF;AAMD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,4DAA4D;IAC5D,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,EACrF,MAAM,GAAE,WAAkC,GACzC,kBAAkB,CAuBpB;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAY7E;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EAAE,EACrB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,WAAkC,GACzC,MAAM,EAAE,CAWV"}
@@ -95,6 +95,37 @@ export function computeInterference(similarities, config = DEFAULT_DECAY_CONFIG)
95
95
  proactiveReduction: Math.min(0.3, proactiveReduction), // cap proactive interference
96
96
  };
97
97
  }
98
+ /**
99
+ * Accelerates decay for a trace that was retrieved and injected into the
100
+ * prompt but subsequently ignored by the LLM's response.
101
+ *
102
+ * Rationale: if a memory was surfaced but the model produced a response
103
+ * that didn't use it, the trace is likely less relevant than its current
104
+ * strength suggests. Halving stability makes the forgetting curve steeper
105
+ * going forward (the trace will reach the pruning threshold faster), while
106
+ * the 10% immediate strength penalty provides a small but observable signal
107
+ * to the consolidation pipeline.
108
+ *
109
+ * The stability floor of 60 000 ms (1 minute) prevents pathological
110
+ * oscillation on traces that are repeatedly penalised — they still decay
111
+ * naturally but aren't instantly pruned by a single feedback event.
112
+ *
113
+ * @param trace - The memory trace that was injected but ignored.
114
+ * @param now - Current wall-clock timestamp in milliseconds.
115
+ * @returns Updated `encodingStrength`, `stability`, and `lastAccessedAt`
116
+ * suitable for writing back to the trace store.
117
+ */
118
+ export function penalizeUnused(trace, now) {
119
+ const currentStrength = computeCurrentStrength(trace, now);
120
+ // Floor: 1 minute — prevents traces from reaching an unusable stability
121
+ // value even after many consecutive ignore penalties.
122
+ const newStability = Math.max(trace.stability * 0.5, 60000);
123
+ return {
124
+ encodingStrength: currentStrength * 0.9, // 10% immediate strength penalty
125
+ stability: newStability,
126
+ lastAccessedAt: now,
127
+ };
128
+ }
98
129
  // ---------------------------------------------------------------------------
99
130
  // Batch decay sweep (for consolidation pipeline)
100
131
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"DecayModel.js","sourceRoot":"","sources":["../../../src/memory/decay/DecayModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecayModel.js","sourceRoot":"","sources":["../../../src/memory/decay/DecayModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAkB,EAAE,GAAW;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AACvE,CAAC;AAuBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB,EAAE,GAAW;IAC/D,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE3D,wEAAwE;IACxE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC;IAE3D,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAE/D,gCAAgC;IAChC,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,GAAG,GAAG,CAAC;IAElE,0BAA0B;IAC1B,MAAM,YAAY,GAAG,CAAC,GAAG,GAAG,eAAe,GAAG,GAAG,CAAC,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAExF,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;IAEpD,OAAO;QACL,gBAAgB,EAAE,WAAW;QAC7B,SAAS,EAAE,YAAY;QACvB,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,CAAC;QACxC,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC;QAClC,qBAAqB,EAAE,WAAW;QAClC,mBAAmB,EAAE,GAAG,GAAG,WAAW;KACvC,CAAC;AACJ,CAAC;AAkBD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAAqF,EACrF,SAAsB,oBAAoB;IAE1C,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,qBAAqB;YAAE,SAAS;QAE/D,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;QACxE,iDAAiD;QACjD,MAAM,aAAa,GAAG,eAAe,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAE3E,6CAA6C;QAC7C,MAAM,cAAc,GAAG,aAAa,GAAG,IAAI,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC;QAE5E,2CAA2C;QAC3C,kBAAkB,IAAI,aAAa,GAAG,GAAG,GAAG,KAAK,CAAC,eAAe,CAAC;IACpE,CAAC;IAED,OAAO;QACL,kBAAkB,EAAE,OAAO;QAC3B,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAAE,6BAA6B;KACrF,CAAC;AACJ,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,GAAW;IAC5D,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE3D,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,KAAM,CAAC,CAAC;IAE7D,OAAO;QACL,gBAAgB,EAAE,eAAe,GAAG,GAAG,EAAE,iCAAiC;QAC1E,SAAS,EAAE,YAAY;QACvB,cAAc,EAAE,GAAG;KACpB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,GAAW,EACX,SAAsB,oBAAoB;IAE1C,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,CACL,QAAQ,GAAG,MAAM,CAAC,gBAAgB;YAClC,CAAC,CAAC,gBAAgB,CAAC,SAAS,GAAG,GAAG,CAAC,wCAAwC;SAC5E,CAAC;IACJ,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * @fileoverview Memory facade -- unified public API for the complete memory system.
3
+ *
4
+ * The `Memory` class wires together every subsystem built in Tasks 1-12:
5
+ * - SqliteBrain (unified SQLite connection with WAL, full schema)
6
+ * - SqliteKnowledgeGraph (IKnowledgeGraph backed by SQLite)
7
+ * - SqliteMemoryGraph (IMemoryGraph with spreading activation)
8
+ * - LoaderRegistry (document loaders: text, md, html, pdf, docx)
9
+ * - FolderScanner (recursive directory scanning)
10
+ * - ChunkingEngine (4 chunking strategies)
11
+ * - RetrievalFeedbackSignal (used/ignored detection)
12
+ * - ConsolidationLoop (6-step self-improvement)
13
+ * - I/O exporters and importers (JSON, Markdown, Obsidian, SQLite, ChatGPT)
14
+ *
15
+ * Consumers only need to import this single class to interact with the entire
16
+ * memory subsystem.
17
+ *
18
+ * @module memory/facade/Memory
19
+ */
20
+ import type { MemoryTrace } from '../types.js';
21
+ import type { MemoryConfig, RememberOptions, RecallOptions, IngestOptions, IngestResult, ExportOptions, ImportOptions, ImportResult, ConsolidationResult, MemoryHealth } from './types.js';
22
+ import type { IKnowledgeGraph, KnowledgeEntity, KnowledgeRelation } from '../../core/knowledge/IKnowledgeGraph.js';
23
+ /**
24
+ * A memory trace paired with its retrieval relevance score.
25
+ *
26
+ * Returned by {@link Memory.recall} as a ranked list of matches.
27
+ */
28
+ export interface ScoredTrace {
29
+ /** The full memory trace envelope. */
30
+ trace: MemoryTrace;
31
+ /** Composite relevance score; higher is better. */
32
+ score: number;
33
+ }
34
+ /**
35
+ * Unified public API for the AgentOS memory system.
36
+ *
37
+ * One `Memory` instance manages the full lifecycle of an agent's memories:
38
+ * storing, retrieving, ingesting documents, building a knowledge graph,
39
+ * self-improving through consolidation, and importing/exporting data.
40
+ *
41
+ * ## Quick start
42
+ * ```ts
43
+ * const mem = new Memory({ store: 'sqlite', path: './brain.sqlite' });
44
+ *
45
+ * await mem.remember('The user prefers dark mode');
46
+ * const results = await mem.recall('dark mode preference');
47
+ * console.log(results[0].trace.content);
48
+ *
49
+ * await mem.close();
50
+ * ```
51
+ */
52
+ export declare class Memory {
53
+ private readonly _brain;
54
+ private readonly _knowledgeGraph;
55
+ private readonly _memoryGraph;
56
+ private readonly _loaderRegistry;
57
+ private readonly _folderScanner;
58
+ private readonly _chunkingEngine;
59
+ private readonly _feedbackSignal;
60
+ private readonly _consolidationLoop;
61
+ private readonly _config;
62
+ private _initPromise;
63
+ /**
64
+ * Create a new Memory instance and wire together all subsystems.
65
+ *
66
+ * Initialization sequence:
67
+ * 1. Merge `config` with defaults (store='sqlite', path=tmpdir, graph=true,
68
+ * selfImprove=true, decay=true).
69
+ * 2. Create `SqliteBrain(config.path)`.
70
+ * 3. Check embedding dimension compatibility (warn on mismatch).
71
+ * 4. Create `SqliteKnowledgeGraph(brain)`.
72
+ * 5. Create `SqliteMemoryGraph(brain)` and call `.initialize()`.
73
+ * 6. Create `LoaderRegistry()` (pre-registers all built-in loaders).
74
+ * 7. Create `FolderScanner(registry)`.
75
+ * 8. Create `ChunkingEngine()`.
76
+ * 9. If `selfImprove`: create `RetrievalFeedbackSignal(brain)` and
77
+ * `ConsolidationLoop(brain, memoryGraph)`.
78
+ *
79
+ * @param config - Optional configuration; see {@link MemoryConfig}.
80
+ */
81
+ constructor(config?: MemoryConfig);
82
+ /**
83
+ * Store a new memory trace.
84
+ *
85
+ * Creates a trace in the `memory_traces` table with a unique ID, content
86
+ * hash for deduplication, and optional type/scope/tags metadata. If the
87
+ * memory graph is available the trace is also added as a graph node.
88
+ *
89
+ * @param content - The text content to remember.
90
+ * @param options - Optional metadata (type, scope, tags, importance, etc.).
91
+ * @returns The created MemoryTrace-like object.
92
+ */
93
+ remember(content: string, options?: RememberOptions): Promise<MemoryTrace>;
94
+ /**
95
+ * Search for memory traces matching a natural-language query.
96
+ *
97
+ * Uses FTS5 full-text search with the Porter tokenizer. Results are ranked
98
+ * by `strength * abs(fts_rank)` and filtered by optional type/scope/strength
99
+ * criteria.
100
+ *
101
+ * @param query - Natural-language search query.
102
+ * @param options - Optional filters (limit, type, scope, minStrength).
103
+ * @returns Ranked array of {@link ScoredTrace} results.
104
+ */
105
+ recall(query: string, options?: RecallOptions): Promise<ScoredTrace[]>;
106
+ /**
107
+ * Soft-delete a memory trace by setting `deleted = 1`.
108
+ *
109
+ * The trace remains in the database for audit/recovery purposes but is
110
+ * excluded from all recall queries and health reports.
111
+ *
112
+ * @param traceId - The ID of the trace to forget.
113
+ */
114
+ forget(traceId: string): Promise<void>;
115
+ /**
116
+ * Ingest documents from a file, directory, or URL.
117
+ *
118
+ * Workflow:
119
+ * 1. Detect source type (file, directory, or URL).
120
+ * 2. Load document(s) using the appropriate loader.
121
+ * 3. Chunk each document using the configured strategy.
122
+ * 4. For each chunk: insert into `document_chunks`, create a memory trace.
123
+ * 5. Record the document in the `documents` table.
124
+ *
125
+ * @param source - File path, directory path, or URL.
126
+ * @param options - Optional ingestion settings (recursive, include/exclude globs).
127
+ * @returns Summary of the ingestion run.
128
+ */
129
+ ingest(source: string, options?: IngestOptions): Promise<IngestResult>;
130
+ /**
131
+ * Add or update an entity in the knowledge graph.
132
+ *
133
+ * Delegates to `SqliteKnowledgeGraph.upsertEntity()`. Accepts a partial
134
+ * entity; `id`, `createdAt`, and `updatedAt` are auto-generated when omitted.
135
+ *
136
+ * @param entity - Partial entity descriptor.
137
+ * @returns The complete, persisted entity.
138
+ */
139
+ addEntity(entity: Partial<KnowledgeEntity>): Promise<KnowledgeEntity>;
140
+ /**
141
+ * Add or update a relation (edge) in the knowledge graph.
142
+ *
143
+ * Delegates to `SqliteKnowledgeGraph.upsertRelation()`. Accepts a partial
144
+ * relation; `id` and `createdAt` are auto-generated when omitted.
145
+ *
146
+ * @param relation - Partial relation descriptor.
147
+ * @returns The complete, persisted relation.
148
+ */
149
+ addRelation(relation: Partial<KnowledgeRelation>): Promise<KnowledgeRelation>;
150
+ /**
151
+ * Access the underlying IKnowledgeGraph implementation.
152
+ *
153
+ * Useful for advanced queries (traversal, semantic search, neighbourhood
154
+ * lookups) that are not exposed on the facade directly.
155
+ */
156
+ get graph(): IKnowledgeGraph;
157
+ /**
158
+ * Run one consolidation cycle (prune, merge, strengthen, derive, compact,
159
+ * re-index).
160
+ *
161
+ * @param options - Optional topic filter (reserved for future use).
162
+ * @returns Statistics from the consolidation run.
163
+ * @throws {Error} When `selfImprove` was set to `false` in the config.
164
+ */
165
+ consolidate(options?: {
166
+ topic?: string;
167
+ }): Promise<ConsolidationResult>;
168
+ /**
169
+ * Record retrieval feedback for a memory trace.
170
+ *
171
+ * Fire-and-forget: the feedback is persisted asynchronously and this method
172
+ * returns immediately without waiting for the write to complete.
173
+ *
174
+ * @param traceId - The ID of the trace being evaluated.
175
+ * @param signal - Whether the trace was `'used'` or `'ignored'` by the LLM.
176
+ */
177
+ feedback(traceId: string, signal: 'used' | 'ignored'): void;
178
+ /**
179
+ * Export the memory store to a file or directory.
180
+ *
181
+ * Format is detected from `options.format` or the file extension:
182
+ * - `.json` -> JSON
183
+ * - `.sqlite` / `.db` -> SQLite file copy
184
+ * - directory path -> Markdown or Obsidian (based on `options.format`)
185
+ *
186
+ * @param outputPath - Path to write the export to.
187
+ * @param options - Optional format and content controls.
188
+ */
189
+ export(outputPath: string, options?: ExportOptions): Promise<void>;
190
+ /**
191
+ * Import memory data from a file or directory.
192
+ *
193
+ * Format is detected from `options.format`, the file extension, or by
194
+ * inspecting the content.
195
+ *
196
+ * @param source - Path to the import source (file or directory).
197
+ * @param options - Optional format hint and dedup settings.
198
+ * @returns Summary of the import operation.
199
+ */
200
+ importFrom(source: string, options?: ImportOptions): Promise<ImportResult>;
201
+ /**
202
+ * Return a health snapshot of the memory store.
203
+ *
204
+ * Queries aggregate statistics from all tables and returns a
205
+ * {@link MemoryHealth} report.
206
+ */
207
+ health(): Promise<MemoryHealth>;
208
+ /**
209
+ * Close the Memory instance and release all resources.
210
+ *
211
+ * Flushes the SQLite WAL and releases the file lock. Must be called when
212
+ * the agent shuts down.
213
+ */
214
+ close(): Promise<void>;
215
+ /**
216
+ * Convert a raw `memory_traces` row into a `MemoryTrace` object.
217
+ */
218
+ private _buildTrace;
219
+ /**
220
+ * Detect the export format from options or file extension.
221
+ */
222
+ private _detectExportFormat;
223
+ /**
224
+ * Detect the import format from options, file extension, or content inspection.
225
+ */
226
+ private _detectImportFormat;
227
+ }
228
+ //# sourceMappingURL=Memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Memory.d.ts","sourceRoot":"","sources":["../../../src/memory/facade/Memory.ts"],"names":[],"mappings":"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"}