@framers/agentos 0.1.46 → 0.1.47

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 (211) hide show
  1. package/README.md +7 -7
  2. package/dist/cognitive_substrate/IGMI.d.ts +2 -0
  3. package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
  4. package/dist/cognitive_substrate/IGMI.js.map +1 -1
  5. package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts +2 -0
  6. package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts.map +1 -1
  7. package/dist/core/audio/AdaptiveVAD.d.ts +147 -0
  8. package/dist/core/audio/AdaptiveVAD.d.ts.map +1 -0
  9. package/dist/core/audio/AdaptiveVAD.js +239 -0
  10. package/dist/core/audio/AdaptiveVAD.js.map +1 -0
  11. package/dist/core/audio/AudioProcessor.d.ts +121 -0
  12. package/dist/core/audio/AudioProcessor.d.ts.map +1 -0
  13. package/dist/core/audio/AudioProcessor.js +299 -0
  14. package/dist/core/audio/AudioProcessor.js.map +1 -0
  15. package/dist/core/audio/EnvironmentalCalibrator.d.ts +187 -0
  16. package/dist/core/audio/EnvironmentalCalibrator.d.ts.map +1 -0
  17. package/dist/core/audio/EnvironmentalCalibrator.js +360 -0
  18. package/dist/core/audio/EnvironmentalCalibrator.js.map +1 -0
  19. package/dist/core/audio/SilenceDetector.d.ts +111 -0
  20. package/dist/core/audio/SilenceDetector.d.ts.map +1 -0
  21. package/dist/core/audio/SilenceDetector.js +178 -0
  22. package/dist/core/audio/SilenceDetector.js.map +1 -0
  23. package/dist/core/llm/IPromptEngine.d.ts +2 -0
  24. package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
  25. package/dist/core/llm/IPromptEngine.js.map +1 -1
  26. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
  27. package/dist/core/llm/providers/implementations/OpenAIProvider.js +8 -1
  28. package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
  29. package/dist/extensions/ExtensionManager.d.ts.map +1 -1
  30. package/dist/extensions/ExtensionManager.js +9 -1
  31. package/dist/extensions/ExtensionManager.js.map +1 -1
  32. package/dist/extensions/types.d.ts +20 -2
  33. package/dist/extensions/types.d.ts.map +1 -1
  34. package/dist/extensions/types.js +4 -0
  35. package/dist/extensions/types.js.map +1 -1
  36. package/dist/index.d.ts +2 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +4 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/memory/CognitiveMemoryManager.d.ts +133 -0
  41. package/dist/memory/CognitiveMemoryManager.d.ts.map +1 -0
  42. package/dist/memory/CognitiveMemoryManager.js +519 -0
  43. package/dist/memory/CognitiveMemoryManager.js.map +1 -0
  44. package/dist/memory/config.d.ts +135 -0
  45. package/dist/memory/config.d.ts.map +1 -0
  46. package/dist/memory/config.js +28 -0
  47. package/dist/memory/config.js.map +1 -0
  48. package/dist/memory/consolidation/ConsolidationPipeline.d.ts +70 -0
  49. package/dist/memory/consolidation/ConsolidationPipeline.d.ts.map +1 -0
  50. package/dist/memory/consolidation/ConsolidationPipeline.js +301 -0
  51. package/dist/memory/consolidation/ConsolidationPipeline.js.map +1 -0
  52. package/dist/memory/context/CompactionEngine.d.ts +21 -0
  53. package/dist/memory/context/CompactionEngine.d.ts.map +1 -0
  54. package/dist/memory/context/CompactionEngine.js +35 -0
  55. package/dist/memory/context/CompactionEngine.js.map +1 -0
  56. package/dist/memory/context/CompactionLog.d.ts +50 -0
  57. package/dist/memory/context/CompactionLog.d.ts.map +1 -0
  58. package/dist/memory/context/CompactionLog.js +139 -0
  59. package/dist/memory/context/CompactionLog.js.map +1 -0
  60. package/dist/memory/context/ContextWindowManager.d.ts +114 -0
  61. package/dist/memory/context/ContextWindowManager.d.ts.map +1 -0
  62. package/dist/memory/context/ContextWindowManager.js +225 -0
  63. package/dist/memory/context/ContextWindowManager.js.map +1 -0
  64. package/dist/memory/context/RollingSummaryChain.d.ts +53 -0
  65. package/dist/memory/context/RollingSummaryChain.d.ts.map +1 -0
  66. package/dist/memory/context/RollingSummaryChain.js +193 -0
  67. package/dist/memory/context/RollingSummaryChain.js.map +1 -0
  68. package/dist/memory/context/index.d.ts +15 -0
  69. package/dist/memory/context/index.d.ts.map +1 -0
  70. package/dist/memory/context/index.js +14 -0
  71. package/dist/memory/context/index.js.map +1 -0
  72. package/dist/memory/context/strategies/HierarchicalStrategy.d.ts +25 -0
  73. package/dist/memory/context/strategies/HierarchicalStrategy.d.ts.map +1 -0
  74. package/dist/memory/context/strategies/HierarchicalStrategy.js +240 -0
  75. package/dist/memory/context/strategies/HierarchicalStrategy.js.map +1 -0
  76. package/dist/memory/context/strategies/HybridStrategy.d.ts +26 -0
  77. package/dist/memory/context/strategies/HybridStrategy.d.ts.map +1 -0
  78. package/dist/memory/context/strategies/HybridStrategy.js +245 -0
  79. package/dist/memory/context/strategies/HybridStrategy.js.map +1 -0
  80. package/dist/memory/context/strategies/SlidingSummaryStrategy.d.ts +22 -0
  81. package/dist/memory/context/strategies/SlidingSummaryStrategy.d.ts.map +1 -0
  82. package/dist/memory/context/strategies/SlidingSummaryStrategy.js +203 -0
  83. package/dist/memory/context/strategies/SlidingSummaryStrategy.js.map +1 -0
  84. package/dist/memory/context/types.d.ts +120 -0
  85. package/dist/memory/context/types.d.ts.map +1 -0
  86. package/dist/memory/context/types.js +17 -0
  87. package/dist/memory/context/types.js.map +1 -0
  88. package/dist/memory/decay/DecayModel.d.ts +87 -0
  89. package/dist/memory/decay/DecayModel.d.ts.map +1 -0
  90. package/dist/memory/decay/DecayModel.js +117 -0
  91. package/dist/memory/decay/DecayModel.js.map +1 -0
  92. package/dist/memory/decay/RetrievalPriorityScorer.d.ts +63 -0
  93. package/dist/memory/decay/RetrievalPriorityScorer.d.ts.map +1 -0
  94. package/dist/memory/decay/RetrievalPriorityScorer.js +110 -0
  95. package/dist/memory/decay/RetrievalPriorityScorer.js.map +1 -0
  96. package/dist/memory/encoding/ContentFeatureDetector.d.ts +37 -0
  97. package/dist/memory/encoding/ContentFeatureDetector.d.ts.map +1 -0
  98. package/dist/memory/encoding/ContentFeatureDetector.js +176 -0
  99. package/dist/memory/encoding/ContentFeatureDetector.js.map +1 -0
  100. package/dist/memory/encoding/EncodingModel.d.ts +67 -0
  101. package/dist/memory/encoding/EncodingModel.d.ts.map +1 -0
  102. package/dist/memory/encoding/EncodingModel.js +171 -0
  103. package/dist/memory/encoding/EncodingModel.js.map +1 -0
  104. package/dist/memory/extension/CognitiveMemoryExtension.d.ts +18 -0
  105. package/dist/memory/extension/CognitiveMemoryExtension.d.ts.map +1 -0
  106. package/dist/memory/extension/CognitiveMemoryExtension.js +131 -0
  107. package/dist/memory/extension/CognitiveMemoryExtension.js.map +1 -0
  108. package/dist/memory/graph/GraphologyMemoryGraph.d.ts +29 -0
  109. package/dist/memory/graph/GraphologyMemoryGraph.d.ts.map +1 -0
  110. package/dist/memory/graph/GraphologyMemoryGraph.js +224 -0
  111. package/dist/memory/graph/GraphologyMemoryGraph.js.map +1 -0
  112. package/dist/memory/graph/IMemoryGraph.d.ts +70 -0
  113. package/dist/memory/graph/IMemoryGraph.d.ts.map +1 -0
  114. package/dist/memory/graph/IMemoryGraph.js +15 -0
  115. package/dist/memory/graph/IMemoryGraph.js.map +1 -0
  116. package/dist/memory/graph/KnowledgeGraphMemoryGraph.d.ts +38 -0
  117. package/dist/memory/graph/KnowledgeGraphMemoryGraph.d.ts.map +1 -0
  118. package/dist/memory/graph/KnowledgeGraphMemoryGraph.js +264 -0
  119. package/dist/memory/graph/KnowledgeGraphMemoryGraph.js.map +1 -0
  120. package/dist/memory/graph/SpreadingActivation.d.ts +36 -0
  121. package/dist/memory/graph/SpreadingActivation.d.ts.map +1 -0
  122. package/dist/memory/graph/SpreadingActivation.js +100 -0
  123. package/dist/memory/graph/SpreadingActivation.js.map +1 -0
  124. package/dist/memory/index.d.ts +52 -0
  125. package/dist/memory/index.d.ts.map +1 -0
  126. package/dist/memory/index.js +43 -0
  127. package/dist/memory/index.js.map +1 -0
  128. package/dist/memory/observation/MemoryObserver.d.ts +59 -0
  129. package/dist/memory/observation/MemoryObserver.d.ts.map +1 -0
  130. package/dist/memory/observation/MemoryObserver.js +136 -0
  131. package/dist/memory/observation/MemoryObserver.js.map +1 -0
  132. package/dist/memory/observation/MemoryReflector.d.ts +51 -0
  133. package/dist/memory/observation/MemoryReflector.d.ts.map +1 -0
  134. package/dist/memory/observation/MemoryReflector.js +184 -0
  135. package/dist/memory/observation/MemoryReflector.js.map +1 -0
  136. package/dist/memory/observation/ObservationBuffer.d.ts +51 -0
  137. package/dist/memory/observation/ObservationBuffer.d.ts.map +1 -0
  138. package/dist/memory/observation/ObservationBuffer.js +81 -0
  139. package/dist/memory/observation/ObservationBuffer.js.map +1 -0
  140. package/dist/memory/prompt/MemoryFormatters.d.ts +22 -0
  141. package/dist/memory/prompt/MemoryFormatters.d.ts.map +1 -0
  142. package/dist/memory/prompt/MemoryFormatters.js +113 -0
  143. package/dist/memory/prompt/MemoryFormatters.js.map +1 -0
  144. package/dist/memory/prompt/MemoryPromptAssembler.d.ts +40 -0
  145. package/dist/memory/prompt/MemoryPromptAssembler.d.ts.map +1 -0
  146. package/dist/memory/prompt/MemoryPromptAssembler.js +180 -0
  147. package/dist/memory/prompt/MemoryPromptAssembler.js.map +1 -0
  148. package/dist/memory/prospective/ProspectiveMemoryManager.d.ts +83 -0
  149. package/dist/memory/prospective/ProspectiveMemoryManager.d.ts.map +1 -0
  150. package/dist/memory/prospective/ProspectiveMemoryManager.js +128 -0
  151. package/dist/memory/prospective/ProspectiveMemoryManager.js.map +1 -0
  152. package/dist/memory/store/MemoryStore.d.ts +76 -0
  153. package/dist/memory/store/MemoryStore.d.ts.map +1 -0
  154. package/dist/memory/store/MemoryStore.js +320 -0
  155. package/dist/memory/store/MemoryStore.js.map +1 -0
  156. package/dist/memory/types.d.ts +184 -0
  157. package/dist/memory/types.d.ts.map +1 -0
  158. package/dist/memory/types.js +14 -0
  159. package/dist/memory/types.js.map +1 -0
  160. package/dist/memory/working/CognitiveWorkingMemory.d.ts +87 -0
  161. package/dist/memory/working/CognitiveWorkingMemory.d.ts.map +1 -0
  162. package/dist/memory/working/CognitiveWorkingMemory.js +230 -0
  163. package/dist/memory/working/CognitiveWorkingMemory.js.map +1 -0
  164. package/dist/rag/EmbeddingManager.d.ts.map +1 -1
  165. package/dist/rag/EmbeddingManager.js +8 -1
  166. package/dist/rag/EmbeddingManager.js.map +1 -1
  167. package/dist/speech/SpeechProviderRegistry.d.ts +17 -0
  168. package/dist/speech/SpeechProviderRegistry.d.ts.map +1 -0
  169. package/dist/speech/SpeechProviderRegistry.js +47 -0
  170. package/dist/speech/SpeechProviderRegistry.js.map +1 -0
  171. package/dist/speech/SpeechRuntime.d.ts +28 -0
  172. package/dist/speech/SpeechRuntime.d.ts.map +1 -0
  173. package/dist/speech/SpeechRuntime.js +138 -0
  174. package/dist/speech/SpeechRuntime.js.map +1 -0
  175. package/dist/speech/SpeechSession.d.ts +37 -0
  176. package/dist/speech/SpeechSession.d.ts.map +1 -0
  177. package/dist/speech/SpeechSession.js +285 -0
  178. package/dist/speech/SpeechSession.js.map +1 -0
  179. package/dist/speech/audio.d.ts +3 -0
  180. package/dist/speech/audio.d.ts.map +1 -0
  181. package/dist/speech/audio.js +39 -0
  182. package/dist/speech/audio.js.map +1 -0
  183. package/dist/speech/index.d.ts +11 -0
  184. package/dist/speech/index.d.ts.map +1 -0
  185. package/dist/speech/index.js +11 -0
  186. package/dist/speech/index.js.map +1 -0
  187. package/dist/speech/providerCatalog.d.ts +7 -0
  188. package/dist/speech/providerCatalog.d.ts.map +1 -0
  189. package/dist/speech/providerCatalog.js +243 -0
  190. package/dist/speech/providerCatalog.js.map +1 -0
  191. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +20 -0
  192. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts.map +1 -0
  193. package/dist/speech/providers/BuiltInAdaptiveVadProvider.js +29 -0
  194. package/dist/speech/providers/BuiltInAdaptiveVadProvider.js.map +1 -0
  195. package/dist/speech/providers/ElevenLabsTextToSpeechProvider.d.ts +20 -0
  196. package/dist/speech/providers/ElevenLabsTextToSpeechProvider.d.ts.map +1 -0
  197. package/dist/speech/providers/ElevenLabsTextToSpeechProvider.js +95 -0
  198. package/dist/speech/providers/ElevenLabsTextToSpeechProvider.js.map +1 -0
  199. package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts +20 -0
  200. package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts.map +1 -0
  201. package/dist/speech/providers/OpenAITextToSpeechProvider.js +75 -0
  202. package/dist/speech/providers/OpenAITextToSpeechProvider.js.map +1 -0
  203. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts +18 -0
  204. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts.map +1 -0
  205. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js +109 -0
  206. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js.map +1 -0
  207. package/dist/speech/types.d.ts +270 -0
  208. package/dist/speech/types.d.ts.map +1 -0
  209. package/dist/speech/types.js +2 -0
  210. package/dist/speech/types.js.map +1 -0
  211. package/package.json +22 -2
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @fileoverview Unified memory store wrapping IVectorStore + IKnowledgeGraph.
3
+ *
4
+ * Handles:
5
+ * - Embedding and storing memory traces in vector store
6
+ * - Recording as episodic memories in knowledge graph
7
+ * - Querying with decay-aware scoring
8
+ * - Access tracking for spaced repetition
9
+ *
10
+ * @module agentos/memory/store/MemoryStore
11
+ */
12
+ import type { IVectorStore } from '../../rag/IVectorStore.js';
13
+ import type { IEmbeddingManager } from '../../rag/IEmbeddingManager.js';
14
+ import type { IKnowledgeGraph } from '../../core/knowledge/IKnowledgeGraph.js';
15
+ import type { MemoryTrace, MemoryType, MemoryScope, CognitiveRetrievalOptions, ScoredMemoryTrace, PartiallyRetrievedTrace } from '../types.js';
16
+ import type { PADState, DecayConfig } from '../config.js';
17
+ import { type RetrievalUpdateResult } from '../decay/DecayModel.js';
18
+ export interface MemoryStoreConfig {
19
+ vectorStore: IVectorStore;
20
+ embeddingManager: IEmbeddingManager;
21
+ knowledgeGraph: IKnowledgeGraph;
22
+ /** Collection name prefix. @default 'cogmem' */
23
+ collectionPrefix: string;
24
+ /** Embedding dimension (auto-detected if possible). */
25
+ embeddingDimension?: number;
26
+ decayConfig?: DecayConfig;
27
+ }
28
+ export declare class MemoryStore {
29
+ private config;
30
+ private decay;
31
+ /** Cache of full MemoryTrace objects by ID. */
32
+ private traceCache;
33
+ /** Track concrete scopes we have seen, so retrieval never falls back to a fake wildcard scope. */
34
+ private knownScopes;
35
+ constructor(config: MemoryStoreConfig);
36
+ /**
37
+ * Store a new memory trace: embed content, upsert into vector store,
38
+ * and record as episodic memory in the knowledge graph.
39
+ */
40
+ store(trace: MemoryTrace): Promise<void>;
41
+ /**
42
+ * Query memory traces with cognitive scoring.
43
+ */
44
+ query(queryText: string, currentMood: PADState, options?: CognitiveRetrievalOptions): Promise<{
45
+ scored: ScoredMemoryTrace[];
46
+ partial: PartiallyRetrievedTrace[];
47
+ }>;
48
+ /**
49
+ * Record that a memory was accessed (retrieved).
50
+ * Updates decay parameters via spaced repetition.
51
+ */
52
+ recordAccess(traceId: string): Promise<RetrievalUpdateResult | null>;
53
+ /**
54
+ * Get all traces for a scope (for consolidation pipeline).
55
+ */
56
+ getByScope(scope: MemoryScope, scopeId: string, type?: MemoryType): Promise<MemoryTrace[]>;
57
+ /**
58
+ * Soft-delete a trace.
59
+ */
60
+ softDelete(traceId: string): Promise<void>;
61
+ /**
62
+ * Get a trace by ID.
63
+ */
64
+ getTrace(traceId: string): MemoryTrace | undefined;
65
+ /**
66
+ * Get trace count.
67
+ */
68
+ getTraceCount(): number;
69
+ /**
70
+ * Get active trace count.
71
+ */
72
+ getActiveTraceCount(): number;
73
+ private registerScope;
74
+ private getKnownScopes;
75
+ }
76
+ //# sourceMappingURL=MemoryStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryStore.d.ts","sourceRoot":"","sources":["../../../src/memory/store/MemoryStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAYhC,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,YAAY,CAAC;IAC1B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,cAAc,EAAE,eAAe,CAAC;IAChC,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAwED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAAc;IAC3B,+CAA+C;IAC/C,OAAO,CAAC,UAAU,CAAuC;IACzD,kGAAkG;IAClG,OAAO,CAAC,WAAW,CAAmE;gBAE1E,MAAM,EAAE,iBAAiB;IASrC;;;OAGG;IACG,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD9C;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,QAAQ,EACrB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAAC,OAAO,EAAE,uBAAuB,EAAE,CAAA;KAAE,CAAC;IA6F/E;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IA0C1E;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAahG;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIlD;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAQ7B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;CAGvB"}
@@ -0,0 +1,320 @@
1
+ /**
2
+ * @fileoverview Unified memory store wrapping IVectorStore + IKnowledgeGraph.
3
+ *
4
+ * Handles:
5
+ * - Embedding and storing memory traces in vector store
6
+ * - Recording as episodic memories in knowledge graph
7
+ * - Querying with decay-aware scoring
8
+ * - Access tracking for spaced repetition
9
+ *
10
+ * @module agentos/memory/store/MemoryStore
11
+ */
12
+ import { DEFAULT_DECAY_CONFIG } from '../config.js';
13
+ import { updateOnRetrieval, } from '../decay/DecayModel.js';
14
+ import { scoreAndRankTraces, detectPartiallyRetrieved, } from '../decay/RetrievalPriorityScorer.js';
15
+ // ---------------------------------------------------------------------------
16
+ // Helpers
17
+ // ---------------------------------------------------------------------------
18
+ function collectionName(prefix, scope, scopeId) {
19
+ return `${prefix}_${scope}_${scopeId}`;
20
+ }
21
+ function scopeKey(scope, scopeId) {
22
+ return `${scope}:${scopeId}`;
23
+ }
24
+ function traceToMetadata(trace) {
25
+ return {
26
+ type: trace.type,
27
+ scope: trace.scope,
28
+ scopeId: trace.scopeId,
29
+ encodingStrength: trace.encodingStrength,
30
+ stability: trace.stability,
31
+ retrievalCount: trace.retrievalCount,
32
+ lastAccessedAt: trace.lastAccessedAt,
33
+ accessCount: trace.accessCount,
34
+ emotionalValence: trace.emotionalContext.valence,
35
+ emotionalArousal: trace.emotionalContext.arousal,
36
+ emotionalIntensity: trace.emotionalContext.intensity,
37
+ confidence: trace.provenance.confidence,
38
+ sourceType: trace.provenance.sourceType,
39
+ importance: trace.provenance.confidence, // use confidence as proxy
40
+ createdAt: trace.createdAt,
41
+ isActive: trace.isActive ? 1 : 0,
42
+ tags: trace.tags.join(','),
43
+ entities: trace.entities.join(','),
44
+ };
45
+ }
46
+ function metadataToTracePartial(metadata) {
47
+ return {
48
+ type: metadata.type,
49
+ scope: metadata.scope,
50
+ scopeId: metadata.scopeId,
51
+ encodingStrength: metadata.encodingStrength,
52
+ stability: metadata.stability,
53
+ retrievalCount: metadata.retrievalCount,
54
+ lastAccessedAt: metadata.lastAccessedAt,
55
+ accessCount: metadata.accessCount,
56
+ emotionalContext: {
57
+ valence: metadata.emotionalValence,
58
+ arousal: metadata.emotionalArousal,
59
+ dominance: 0,
60
+ intensity: metadata.emotionalIntensity,
61
+ gmiMood: '',
62
+ },
63
+ provenance: {
64
+ sourceType: metadata.sourceType,
65
+ confidence: metadata.confidence,
66
+ verificationCount: 0,
67
+ sourceTimestamp: metadata.createdAt,
68
+ },
69
+ createdAt: metadata.createdAt,
70
+ isActive: metadata.isActive === 1,
71
+ tags: typeof metadata.tags === 'string' ? metadata.tags.split(',').filter(Boolean) : [],
72
+ entities: typeof metadata.entities === 'string' ? metadata.entities.split(',').filter(Boolean) : [],
73
+ };
74
+ }
75
+ // ---------------------------------------------------------------------------
76
+ // MemoryStore
77
+ // ---------------------------------------------------------------------------
78
+ export class MemoryStore {
79
+ constructor(config) {
80
+ /** Cache of full MemoryTrace objects by ID. */
81
+ this.traceCache = new Map();
82
+ /** Track concrete scopes we have seen, so retrieval never falls back to a fake wildcard scope. */
83
+ this.knownScopes = new Map();
84
+ this.config = config;
85
+ this.decay = config.decayConfig ?? DEFAULT_DECAY_CONFIG;
86
+ }
87
+ // =========================================================================
88
+ // Store
89
+ // =========================================================================
90
+ /**
91
+ * Store a new memory trace: embed content, upsert into vector store,
92
+ * and record as episodic memory in the knowledge graph.
93
+ */
94
+ async store(trace) {
95
+ const collection = collectionName(this.config.collectionPrefix, trace.scope, trace.scopeId);
96
+ // Generate embedding
97
+ const embeddingResponse = await this.config.embeddingManager.generateEmbeddings({
98
+ texts: trace.content,
99
+ });
100
+ const embedding = embeddingResponse.embeddings[0];
101
+ // Upsert into vector store
102
+ const doc = {
103
+ id: trace.id,
104
+ textContent: trace.content,
105
+ embedding,
106
+ metadata: traceToMetadata(trace),
107
+ };
108
+ await this.config.vectorStore.upsert(collection, [doc]);
109
+ // Record in knowledge graph as episodic memory
110
+ try {
111
+ await this.config.knowledgeGraph.recordMemory({
112
+ type: trace.type === 'episodic' ? 'conversation' : 'discovery',
113
+ summary: trace.content.substring(0, 200),
114
+ description: trace.content,
115
+ participants: [trace.scopeId],
116
+ valence: trace.emotionalContext.valence,
117
+ importance: trace.encodingStrength,
118
+ entityIds: [],
119
+ embedding,
120
+ occurredAt: new Date(trace.createdAt).toISOString(),
121
+ outcome: 'unknown',
122
+ context: {
123
+ memoryTraceId: trace.id,
124
+ scope: trace.scope,
125
+ scopeId: trace.scopeId,
126
+ type: trace.type,
127
+ },
128
+ });
129
+ }
130
+ catch {
131
+ // Knowledge graph may not be available; non-critical
132
+ }
133
+ // Cache
134
+ this.traceCache.set(trace.id, trace);
135
+ this.registerScope(trace.scope, trace.scopeId);
136
+ }
137
+ // =========================================================================
138
+ // Query
139
+ // =========================================================================
140
+ /**
141
+ * Query memory traces with cognitive scoring.
142
+ */
143
+ async query(queryText, currentMood, options = {}) {
144
+ const now = Date.now();
145
+ const topK = options.topK ?? 20;
146
+ // Determine which collections to search
147
+ const scopes = options.scopes?.length ? options.scopes : this.getKnownScopes();
148
+ if (scopes.length === 0) {
149
+ return { scored: [], partial: [] };
150
+ }
151
+ // Generate query embedding
152
+ const embeddingResponse = await this.config.embeddingManager.generateEmbeddings({
153
+ texts: queryText,
154
+ });
155
+ const queryEmbedding = embeddingResponse.embeddings[0];
156
+ // Build metadata filter
157
+ const metadataFilter = { isActive: { $eq: 1 } };
158
+ if (options.types?.length) {
159
+ metadataFilter.type = { $in: options.types };
160
+ }
161
+ if (options.minConfidence != null) {
162
+ metadataFilter.confidence = { $gte: options.minConfidence };
163
+ }
164
+ if (options.timeRange?.after) {
165
+ metadataFilter.createdAt = { $gte: options.timeRange.after };
166
+ }
167
+ // Search across scopes
168
+ const allCandidates = [];
169
+ for (const { scope, scopeId } of scopes) {
170
+ const collection = collectionName(this.config.collectionPrefix, scope, scopeId);
171
+ try {
172
+ const results = await this.config.vectorStore.query(collection, queryEmbedding, {
173
+ topK: topK * 2, // over-fetch for re-ranking
174
+ filter: metadataFilter,
175
+ includeMetadata: true,
176
+ });
177
+ for (const result of results.documents) {
178
+ const tracePartial = metadataToTracePartial(result.metadata ?? {});
179
+ const cached = this.traceCache.get(result.id);
180
+ const trace = cached ??
181
+ {
182
+ id: result.id,
183
+ content: result.textContent ?? '',
184
+ structuredData: undefined,
185
+ associatedTraceIds: [],
186
+ reinforcementInterval: 3600000,
187
+ updatedAt: Date.now(),
188
+ ...tracePartial,
189
+ };
190
+ if (!cached) {
191
+ this.traceCache.set(trace.id, trace);
192
+ }
193
+ if (trace.scope && trace.scopeId) {
194
+ this.registerScope(trace.scope, trace.scopeId);
195
+ }
196
+ allCandidates.push({
197
+ trace,
198
+ vectorSimilarity: result.similarityScore ?? 0,
199
+ graphActivation: 0, // Batch 2
200
+ });
201
+ }
202
+ }
203
+ catch {
204
+ // Collection may not exist yet; skip
205
+ }
206
+ }
207
+ // Score and rank
208
+ const scoringContext = {
209
+ currentMood,
210
+ now,
211
+ neutralMood: options.neutralMood,
212
+ decayConfig: this.decay,
213
+ };
214
+ const scored = scoreAndRankTraces(allCandidates, scoringContext).slice(0, topK);
215
+ const partial = detectPartiallyRetrieved(allCandidates, now);
216
+ return { scored, partial };
217
+ }
218
+ // =========================================================================
219
+ // Access tracking
220
+ // =========================================================================
221
+ /**
222
+ * Record that a memory was accessed (retrieved).
223
+ * Updates decay parameters via spaced repetition.
224
+ */
225
+ async recordAccess(traceId) {
226
+ const trace = this.traceCache.get(traceId);
227
+ if (!trace)
228
+ return null;
229
+ const now = Date.now();
230
+ const update = updateOnRetrieval(trace, now);
231
+ // Apply updates to cached trace
232
+ trace.encodingStrength = update.encodingStrength;
233
+ trace.stability = update.stability;
234
+ trace.retrievalCount = update.retrievalCount;
235
+ trace.lastAccessedAt = update.lastAccessedAt;
236
+ trace.accessCount = update.accessCount;
237
+ trace.reinforcementInterval = update.reinforcementInterval;
238
+ trace.nextReinforcementAt = update.nextReinforcementAt;
239
+ trace.updatedAt = now;
240
+ // Update vector store metadata
241
+ const collection = collectionName(this.config.collectionPrefix, trace.scope, trace.scopeId);
242
+ try {
243
+ const embeddingResponse = await this.config.embeddingManager.generateEmbeddings({
244
+ texts: trace.content,
245
+ });
246
+ await this.config.vectorStore.upsert(collection, [
247
+ {
248
+ id: trace.id,
249
+ textContent: trace.content,
250
+ embedding: embeddingResponse.embeddings[0],
251
+ metadata: traceToMetadata(trace),
252
+ },
253
+ ]);
254
+ }
255
+ catch {
256
+ // Non-critical update
257
+ }
258
+ return update;
259
+ }
260
+ // =========================================================================
261
+ // Batch operations
262
+ // =========================================================================
263
+ /**
264
+ * Get all traces for a scope (for consolidation pipeline).
265
+ */
266
+ async getByScope(scope, scopeId, type) {
267
+ // Return from cache + filter
268
+ const results = [];
269
+ for (const trace of this.traceCache.values()) {
270
+ if (trace.scope === scope && trace.scopeId === scopeId) {
271
+ if (!type || trace.type === type) {
272
+ results.push(trace);
273
+ }
274
+ }
275
+ }
276
+ return results;
277
+ }
278
+ /**
279
+ * Soft-delete a trace.
280
+ */
281
+ async softDelete(traceId) {
282
+ const trace = this.traceCache.get(traceId);
283
+ if (trace) {
284
+ trace.isActive = false;
285
+ trace.updatedAt = Date.now();
286
+ }
287
+ }
288
+ /**
289
+ * Get a trace by ID.
290
+ */
291
+ getTrace(traceId) {
292
+ return this.traceCache.get(traceId);
293
+ }
294
+ /**
295
+ * Get trace count.
296
+ */
297
+ getTraceCount() {
298
+ return this.traceCache.size;
299
+ }
300
+ /**
301
+ * Get active trace count.
302
+ */
303
+ getActiveTraceCount() {
304
+ let count = 0;
305
+ for (const trace of this.traceCache.values()) {
306
+ if (trace.isActive)
307
+ count++;
308
+ }
309
+ return count;
310
+ }
311
+ registerScope(scope, scopeId) {
312
+ if (!scopeId)
313
+ return;
314
+ this.knownScopes.set(scopeKey(scope, scopeId), { scope, scopeId });
315
+ }
316
+ getKnownScopes() {
317
+ return [...this.knownScopes.values()];
318
+ }
319
+ }
320
+ //# sourceMappingURL=MemoryStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryStore.js","sourceRoot":"","sources":["../../../src/memory/store/MemoryStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * @fileoverview Core types for the Cognitive Memory System.
3
+ *
4
+ * Grounded in cognitive science models:
5
+ * - Atkinson-Shiffrin (sensory → STM → LTM)
6
+ * - Baddeley's working memory (slot-based, capacity-limited)
7
+ * - Tulving's LTM taxonomy (episodic vs semantic)
8
+ * - Ebbinghaus forgetting curve (strength decay over time)
9
+ * - PAD emotional model (valence/arousal/dominance tagging)
10
+ *
11
+ * @module agentos/memory/types
12
+ */
13
+ /** Long-term memory subtypes (Tulving's taxonomy + extensions). */
14
+ export type MemoryType = 'episodic' | 'semantic' | 'procedural' | 'prospective';
15
+ /** Visibility / ownership scope for a memory trace. */
16
+ export type MemoryScope = 'thread' | 'user' | 'persona' | 'organization';
17
+ /** How the content of this memory was originally produced. */
18
+ export type MemorySourceType = 'user_statement' | 'agent_inference' | 'tool_result' | 'observation' | 'reflection' | 'external';
19
+ export interface MemoryProvenance {
20
+ sourceType: MemorySourceType;
21
+ /** Back-reference to originating conversation, tool call, etc. */
22
+ sourceId?: string;
23
+ /** Timestamp of the original source information. */
24
+ sourceTimestamp: number;
25
+ /** 0-1 confidence we have in this memory's accuracy. */
26
+ confidence: number;
27
+ /** How many times this memory has been externally confirmed. */
28
+ verificationCount: number;
29
+ lastVerifiedAt?: number;
30
+ /** IDs of other traces that contradict this one. */
31
+ contradictedBy?: string[];
32
+ }
33
+ export interface EmotionalContext {
34
+ /** Pleasure / valence dimension, -1 (negative) to 1 (positive). */
35
+ valence: number;
36
+ /** Arousal dimension, 0 (calm) to 1 (excited). */
37
+ arousal: number;
38
+ /** Dominance dimension, -1 (submissive) to 1 (dominant). */
39
+ dominance: number;
40
+ /** Derived emotional intensity: |valence| * arousal. */
41
+ intensity: number;
42
+ /** GMIMood enum string at encoding time. */
43
+ gmiMood: string;
44
+ }
45
+ export interface ContentFeatures {
46
+ hasNovelty: boolean;
47
+ hasProcedure: boolean;
48
+ hasEmotion: boolean;
49
+ hasSocialContent: boolean;
50
+ hasCooperation: boolean;
51
+ hasEthicalContent: boolean;
52
+ hasContradiction: boolean;
53
+ /** 0-1 relevance to current task / active goal. */
54
+ topicRelevance: number;
55
+ }
56
+ export interface MemoryTrace {
57
+ id: string;
58
+ type: MemoryType;
59
+ scope: MemoryScope;
60
+ scopeId: string;
61
+ content: string;
62
+ structuredData?: Record<string, unknown>;
63
+ entities: string[];
64
+ tags: string[];
65
+ provenance: MemoryProvenance;
66
+ emotionalContext: EmotionalContext;
67
+ /** S_0: initial encoding strength, set at creation. */
68
+ encodingStrength: number;
69
+ /** Time constant (ms); grows with each successful retrieval. */
70
+ stability: number;
71
+ /** Number of times this trace has been successfully retrieved. */
72
+ retrievalCount: number;
73
+ /** Unix ms of last retrieval. */
74
+ lastAccessedAt: number;
75
+ /** Total access count (includes non-retrieval touches). */
76
+ accessCount: number;
77
+ /** Current interval (ms); doubles on each successful recall. */
78
+ reinforcementInterval: number;
79
+ /** When this memory is next due for reinforcement review. */
80
+ nextReinforcementAt?: number;
81
+ associatedTraceIds: string[];
82
+ createdAt: number;
83
+ updatedAt: number;
84
+ consolidatedAt?: number;
85
+ isActive: boolean;
86
+ }
87
+ export interface WorkingMemorySlot {
88
+ slotId: string;
89
+ /** Reference to the underlying MemoryTrace (or a transient key). */
90
+ traceId: string;
91
+ /** 0-1 activation level; determines if slot is "in focus". */
92
+ activationLevel: number;
93
+ /** When this trace entered working memory (Unix ms). */
94
+ enteredAt: number;
95
+ /** Maintenance rehearsal counter. */
96
+ rehearsalCount: number;
97
+ /** How much attention is allocated to this slot (0-1). */
98
+ attentionWeight: number;
99
+ }
100
+ export interface EncodingWeights {
101
+ noveltyAttention: number;
102
+ proceduralAttention: number;
103
+ emotionalSensitivity: number;
104
+ socialAttention: number;
105
+ cooperativeAttention: number;
106
+ ethicalAttention: number;
107
+ }
108
+ export interface EncodingResult {
109
+ initialStrength: number;
110
+ stability: number;
111
+ importance: number;
112
+ isFlashbulb: boolean;
113
+ }
114
+ export interface CognitiveRetrievalOptions {
115
+ topK?: number;
116
+ types?: MemoryType[];
117
+ scopes?: Array<{
118
+ scope: MemoryScope;
119
+ scopeId: string;
120
+ }>;
121
+ tags?: string[];
122
+ entities?: string[];
123
+ minConfidence?: number;
124
+ timeRange?: {
125
+ after?: number;
126
+ before?: number;
127
+ };
128
+ /** If true, skip emotional congruence bias (useful for factual lookups). */
129
+ neutralMood?: boolean;
130
+ }
131
+ export interface ScoredMemoryTrace extends MemoryTrace {
132
+ /** Composite retrieval score (0-1). */
133
+ retrievalScore: number;
134
+ /** Individual score components for debugging. */
135
+ scoreBreakdown: {
136
+ strengthScore: number;
137
+ similarityScore: number;
138
+ recencyScore: number;
139
+ emotionalCongruenceScore: number;
140
+ graphActivationScore: number;
141
+ importanceScore: number;
142
+ };
143
+ }
144
+ export interface PartiallyRetrievedTrace {
145
+ traceId: string;
146
+ confidence: number;
147
+ partialContent: string;
148
+ suggestedCues: string[];
149
+ }
150
+ export interface CognitiveRetrievalResult {
151
+ retrieved: ScoredMemoryTrace[];
152
+ partiallyRetrieved: PartiallyRetrievedTrace[];
153
+ diagnostics: {
154
+ candidatesScanned: number;
155
+ vectorSearchTimeMs: number;
156
+ scoringTimeMs: number;
157
+ totalTimeMs: number;
158
+ };
159
+ }
160
+ export interface MemoryBudgetAllocation {
161
+ workingMemory: number;
162
+ semanticRecall: number;
163
+ recentEpisodic: number;
164
+ prospectiveAlerts: number;
165
+ graphAssociations: number;
166
+ observationNotes: number;
167
+ }
168
+ export interface AssembledMemoryContext {
169
+ contextText: string;
170
+ tokensUsed: number;
171
+ allocation: MemoryBudgetAllocation;
172
+ includedMemoryIds: string[];
173
+ }
174
+ export interface MemoryHealthReport {
175
+ totalTraces: number;
176
+ activeTraces: number;
177
+ avgStrength: number;
178
+ weakestTraceStrength: number;
179
+ workingMemoryUtilization: number;
180
+ lastConsolidationAt?: number;
181
+ tracesPerType: Record<MemoryType, number>;
182
+ tracesPerScope: Record<MemoryScope, number>;
183
+ }
184
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @fileoverview Core types for the Cognitive Memory System.
3
+ *
4
+ * Grounded in cognitive science models:
5
+ * - Atkinson-Shiffrin (sensory → STM → LTM)
6
+ * - Baddeley's working memory (slot-based, capacity-limited)
7
+ * - Tulving's LTM taxonomy (episodic vs semantic)
8
+ * - Ebbinghaus forgetting curve (strength decay over time)
9
+ * - PAD emotional model (valence/arousal/dominance tagging)
10
+ *
11
+ * @module agentos/memory/types
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}