@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,135 @@
1
+ /**
2
+ * @fileoverview Configuration types for the Cognitive Memory System.
3
+ * @module agentos/memory/config
4
+ */
5
+ import type { IWorkingMemory } from '../cognitive_substrate/memory/IWorkingMemory.js';
6
+ import type { IKnowledgeGraph } from '../core/knowledge/IKnowledgeGraph.js';
7
+ import type { IVectorStore } from '../rag/IVectorStore.js';
8
+ import type { IEmbeddingManager } from '../rag/IEmbeddingManager.js';
9
+ import type { MemoryBudgetAllocation } from './types.js';
10
+ import type { InfiniteContextConfig } from './context/types.js';
11
+ /** Pleasure-Arousal-Dominance emotional state. */
12
+ export interface PADState {
13
+ valence: number;
14
+ arousal: number;
15
+ dominance: number;
16
+ }
17
+ export interface HexacoTraits {
18
+ honesty?: number;
19
+ emotionality?: number;
20
+ extraversion?: number;
21
+ agreeableness?: number;
22
+ conscientiousness?: number;
23
+ openness?: number;
24
+ }
25
+ export interface EncodingConfig {
26
+ /** Base encoding strength before personality modulation. @default 0.5 */
27
+ baseStrength: number;
28
+ /** Emotional intensity threshold for flashbulb memory. @default 0.8 */
29
+ flashbulbThreshold: number;
30
+ /** Strength multiplier for flashbulb memories. @default 2.0 */
31
+ flashbulbStrengthMultiplier: number;
32
+ /** Stability multiplier for flashbulb memories. @default 5.0 */
33
+ flashbulbStabilityMultiplier: number;
34
+ /** Base stability in ms (how long before strength halves). @default 3_600_000 (1 hour) */
35
+ baseStabilityMs: number;
36
+ }
37
+ export interface DecayConfig {
38
+ /** Minimum strength before a trace is soft-deleted. @default 0.05 */
39
+ pruningThreshold: number;
40
+ /** Half-life for recency boost (ms). @default 86_400_000 (24 hours) */
41
+ recencyHalfLifeMs: number;
42
+ /** Cosine similarity threshold for interference detection. @default 0.7 */
43
+ interferenceThreshold: number;
44
+ }
45
+ export interface ObserverConfig {
46
+ /** Token threshold before observer activates. @default 30_000 */
47
+ activationThresholdTokens: number;
48
+ /** LLM model ID for observation extraction (per-persona). */
49
+ modelId?: string;
50
+ /** LLM invoker function. */
51
+ llmInvoker?: (systemPrompt: string, userPrompt: string) => Promise<string>;
52
+ }
53
+ export interface ReflectorConfig {
54
+ /** Token threshold for notes before reflection triggers. @default 40_000 */
55
+ activationThresholdTokens: number;
56
+ /** LLM model ID for reflection/consolidation (per-persona). */
57
+ modelId?: string;
58
+ /** LLM invoker function. */
59
+ llmInvoker?: (systemPrompt: string, userPrompt: string) => Promise<string>;
60
+ }
61
+ export interface MemoryGraphConfig {
62
+ /** Which backend to use. @default 'knowledge-graph' */
63
+ backend: 'graphology' | 'knowledge-graph';
64
+ /** Max hops for spreading activation. @default 3 */
65
+ maxDepth: number;
66
+ /** Activation decay per hop. @default 0.5 */
67
+ decayPerHop: number;
68
+ /** Minimum activation to continue spreading. @default 0.1 */
69
+ activationThreshold: number;
70
+ /** Hebbian learning rate for co-activation edge strengthening. @default 0.1 */
71
+ hebbianLearningRate: number;
72
+ }
73
+ export interface ConsolidationConfig {
74
+ /** How often to run consolidation (ms). @default 3_600_000 (1 hour) */
75
+ intervalMs: number;
76
+ /** Max traces to process per cycle. @default 500 */
77
+ maxTracesPerCycle: number;
78
+ /** Similarity threshold for merging redundant traces. @default 0.92 */
79
+ mergeSimilarityThreshold: number;
80
+ /** Minimum cluster size for schema integration. @default 5 */
81
+ minClusterSize: number;
82
+ }
83
+ export interface CognitiveMemoryPersonaConfig {
84
+ /** Feature detection strategy. @default 'keyword' */
85
+ featureDetectionStrategy?: 'keyword' | 'llm' | 'hybrid';
86
+ /** Working memory slot capacity override. */
87
+ workingMemoryCapacity?: number;
88
+ /** Token budget allocation percentages override. */
89
+ tokenBudget?: Partial<MemoryBudgetAllocation>;
90
+ /** Encoding config overrides. */
91
+ encoding?: Partial<EncodingConfig>;
92
+ /** Decay config overrides. */
93
+ decay?: Partial<DecayConfig>;
94
+ /** Observer config (Batch 2). */
95
+ observer?: Partial<ObserverConfig>;
96
+ /** Reflector config (Batch 2). */
97
+ reflector?: Partial<ReflectorConfig>;
98
+ /** Memory graph config (Batch 2). */
99
+ graph?: Partial<MemoryGraphConfig>;
100
+ /** Infinite context config (Batch 3). */
101
+ infiniteContext?: Partial<InfiniteContextConfig>;
102
+ }
103
+ export interface CognitiveMemoryConfig {
104
+ workingMemory: IWorkingMemory;
105
+ knowledgeGraph: IKnowledgeGraph;
106
+ vectorStore: IVectorStore;
107
+ embeddingManager: IEmbeddingManager;
108
+ agentId: string;
109
+ traits: HexacoTraits;
110
+ /** Callback to get current mood from MoodEngine or similar. */
111
+ moodProvider: () => PADState;
112
+ /** @default 'keyword' */
113
+ featureDetectionStrategy: 'keyword' | 'llm' | 'hybrid';
114
+ /** Required when strategy is 'llm' or 'hybrid'. */
115
+ featureDetectionLlmInvoker?: (systemPrompt: string, userPrompt: string) => Promise<string>;
116
+ encoding?: Partial<EncodingConfig>;
117
+ decay?: Partial<DecayConfig>;
118
+ /** @default 7 (Miller's number) */
119
+ workingMemoryCapacity?: number;
120
+ tokenBudget?: Partial<MemoryBudgetAllocation>;
121
+ observer?: Partial<ObserverConfig>;
122
+ reflector?: Partial<ReflectorConfig>;
123
+ graph?: Partial<MemoryGraphConfig>;
124
+ consolidation?: Partial<ConsolidationConfig>;
125
+ /** Infinite context window config. Enables transparent compaction for forever conversations. */
126
+ infiniteContext?: Partial<InfiniteContextConfig>;
127
+ /** Max context window size in tokens (required for infinite context). */
128
+ maxContextTokens?: number;
129
+ /** @default 'cogmem' */
130
+ collectionPrefix?: string;
131
+ }
132
+ export declare const DEFAULT_ENCODING_CONFIG: EncodingConfig;
133
+ export declare const DEFAULT_DECAY_CONFIG: DecayConfig;
134
+ export declare const DEFAULT_BUDGET_ALLOCATION: MemoryBudgetAllocation;
135
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/memory/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @fileoverview Configuration types for the Cognitive Memory System.
3
+ * @module agentos/memory/config
4
+ */
5
+ // ---------------------------------------------------------------------------
6
+ // Defaults
7
+ // ---------------------------------------------------------------------------
8
+ export const DEFAULT_ENCODING_CONFIG = {
9
+ baseStrength: 0.5,
10
+ flashbulbThreshold: 0.8,
11
+ flashbulbStrengthMultiplier: 2.0,
12
+ flashbulbStabilityMultiplier: 5.0,
13
+ baseStabilityMs: 3600000,
14
+ };
15
+ export const DEFAULT_DECAY_CONFIG = {
16
+ pruningThreshold: 0.05,
17
+ recencyHalfLifeMs: 86400000,
18
+ interferenceThreshold: 0.7,
19
+ };
20
+ export const DEFAULT_BUDGET_ALLOCATION = {
21
+ workingMemory: 0.15,
22
+ semanticRecall: 0.45,
23
+ recentEpisodic: 0.25,
24
+ prospectiveAlerts: 0.05,
25
+ graphAssociations: 0.05,
26
+ observationNotes: 0.05,
27
+ };
28
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/memory/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6KH,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,2BAA2B,EAAE,GAAG;IAChC,4BAA4B,EAAE,GAAG;IACjC,eAAe,EAAE,OAAS;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,QAAU;IAC7B,qBAAqB,EAAE,GAAG;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;CACvB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @fileoverview Consolidation Pipeline — background memory maintenance.
3
+ *
4
+ * Runs periodically (default: hourly) to maintain memory health:
5
+ * 1. Decay sweep — apply Ebbinghaus to all traces, soft-delete below threshold
6
+ * 2. Replay — re-process recent traces, find co-activation patterns, create graph edges
7
+ * 3. Schema integration — cluster episodic traces, LLM-summarize into semantic nodes
8
+ * 4. Conflict resolution — scan CONTRADICTS edges, resolve by confidence + personality
9
+ * 5. Spaced repetition — boost traces past nextReinforcementAt
10
+ * 6. Hybrid feature re-classification — if hybrid strategy, re-run LLM on keyword-only traces
11
+ *
12
+ * @module agentos/memory/consolidation/ConsolidationPipeline
13
+ */
14
+ import type { ConsolidationConfig, DecayConfig, HexacoTraits } from '../config.js';
15
+ import type { IMemoryGraph } from '../graph/IMemoryGraph.js';
16
+ import type { MemoryStore } from '../store/MemoryStore.js';
17
+ export interface ConsolidationResult {
18
+ /** Traces pruned (soft-deleted). */
19
+ prunedCount: number;
20
+ /** Co-activation edges created. */
21
+ edgesCreated: number;
22
+ /** Schema nodes created from episodic clusters. */
23
+ schemasCreated: number;
24
+ /** Conflicts resolved. */
25
+ conflictsResolved: number;
26
+ /** Traces reinforced via spaced repetition. */
27
+ reinforcedCount: number;
28
+ /** Total traces processed. */
29
+ totalProcessed: number;
30
+ /** Duration in ms. */
31
+ durationMs: number;
32
+ }
33
+ export interface ConsolidationPipelineConfig {
34
+ store: MemoryStore;
35
+ graph?: IMemoryGraph;
36
+ traits: HexacoTraits;
37
+ agentId: string;
38
+ decay?: Partial<DecayConfig>;
39
+ consolidation?: Partial<ConsolidationConfig>;
40
+ /** LLM invoker for schema integration (optional). */
41
+ llmInvoker?: (systemPrompt: string, userPrompt: string) => Promise<string>;
42
+ }
43
+ export declare class ConsolidationPipeline {
44
+ private config;
45
+ private consolidationConfig;
46
+ private decayConfig;
47
+ private timer;
48
+ private lastRunAt;
49
+ constructor(config: ConsolidationPipelineConfig);
50
+ /**
51
+ * Start the periodic consolidation timer.
52
+ */
53
+ start(): void;
54
+ /**
55
+ * Stop the periodic consolidation timer.
56
+ */
57
+ stop(): void;
58
+ /**
59
+ * Run a single consolidation cycle.
60
+ */
61
+ run(): Promise<ConsolidationResult>;
62
+ /** Get timestamp of last consolidation run. */
63
+ getLastRunAt(): number;
64
+ private decaySweep;
65
+ private replayCoActivation;
66
+ private schemaIntegration;
67
+ private resolveConflicts;
68
+ private spacedRepetitionSweep;
69
+ }
70
+ //# sourceMappingURL=ConsolidationPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsolidationPipeline.d.ts","sourceRoot":"","sources":["../../../src/memory/consolidation/ConsolidationPipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGnF,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7C,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5E;AAiBD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,mBAAmB,CAAgC;IAC3D,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,SAAS,CAAa;gBAElB,MAAM,EAAE,2BAA2B;IAS/C;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA6CzC,+CAA+C;IAC/C,YAAY,IAAI,MAAM;YAQR,UAAU;YAYV,kBAAkB;YA6DlB,iBAAiB;YA2FjB,gBAAgB;YAyChB,qBAAqB;CAepC"}
@@ -0,0 +1,301 @@
1
+ /**
2
+ * @fileoverview Consolidation Pipeline — background memory maintenance.
3
+ *
4
+ * Runs periodically (default: hourly) to maintain memory health:
5
+ * 1. Decay sweep — apply Ebbinghaus to all traces, soft-delete below threshold
6
+ * 2. Replay — re-process recent traces, find co-activation patterns, create graph edges
7
+ * 3. Schema integration — cluster episodic traces, LLM-summarize into semantic nodes
8
+ * 4. Conflict resolution — scan CONTRADICTS edges, resolve by confidence + personality
9
+ * 5. Spaced repetition — boost traces past nextReinforcementAt
10
+ * 6. Hybrid feature re-classification — if hybrid strategy, re-run LLM on keyword-only traces
11
+ *
12
+ * @module agentos/memory/consolidation/ConsolidationPipeline
13
+ */
14
+ import { DEFAULT_DECAY_CONFIG } from '../config.js';
15
+ import { findPrunableTraces } from '../decay/DecayModel.js';
16
+ // ---------------------------------------------------------------------------
17
+ // Defaults
18
+ // ---------------------------------------------------------------------------
19
+ const DEFAULT_CONSOLIDATION = {
20
+ intervalMs: 3600000,
21
+ maxTracesPerCycle: 500,
22
+ mergeSimilarityThreshold: 0.92,
23
+ minClusterSize: 5,
24
+ };
25
+ // ---------------------------------------------------------------------------
26
+ // ConsolidationPipeline
27
+ // ---------------------------------------------------------------------------
28
+ export class ConsolidationPipeline {
29
+ constructor(config) {
30
+ this.timer = null;
31
+ this.lastRunAt = 0;
32
+ this.config = config;
33
+ this.consolidationConfig = {
34
+ ...DEFAULT_CONSOLIDATION,
35
+ ...config.consolidation,
36
+ };
37
+ this.decayConfig = { ...DEFAULT_DECAY_CONFIG, ...config.decay };
38
+ }
39
+ /**
40
+ * Start the periodic consolidation timer.
41
+ */
42
+ start() {
43
+ if (this.timer)
44
+ return;
45
+ this.timer = setInterval(() => { void this.run(); }, this.consolidationConfig.intervalMs);
46
+ }
47
+ /**
48
+ * Stop the periodic consolidation timer.
49
+ */
50
+ stop() {
51
+ if (this.timer) {
52
+ clearInterval(this.timer);
53
+ this.timer = null;
54
+ }
55
+ }
56
+ /**
57
+ * Run a single consolidation cycle.
58
+ */
59
+ async run() {
60
+ const startTime = Date.now();
61
+ const result = {
62
+ prunedCount: 0,
63
+ edgesCreated: 0,
64
+ schemasCreated: 0,
65
+ conflictsResolved: 0,
66
+ reinforcedCount: 0,
67
+ totalProcessed: 0,
68
+ durationMs: 0,
69
+ };
70
+ const now = Date.now();
71
+ // Gather traces from the store (scope: user for this agent)
72
+ const traces = await this.config.store.getByScope('user', this.config.agentId);
73
+ const batch = traces.slice(0, this.consolidationConfig.maxTracesPerCycle);
74
+ result.totalProcessed = batch.length;
75
+ // --- Step 1: Decay sweep ---
76
+ result.prunedCount = await this.decaySweep(batch, now);
77
+ // --- Step 2: Co-activation replay ---
78
+ if (this.config.graph) {
79
+ result.edgesCreated = await this.replayCoActivation(batch, now);
80
+ }
81
+ // --- Step 3: Schema integration ---
82
+ if (this.config.graph && this.config.llmInvoker) {
83
+ result.schemasCreated = await this.schemaIntegration();
84
+ }
85
+ // --- Step 4: Conflict resolution ---
86
+ if (this.config.graph) {
87
+ result.conflictsResolved = await this.resolveConflicts(batch);
88
+ }
89
+ // --- Step 5: Spaced repetition reinforcement ---
90
+ result.reinforcedCount = await this.spacedRepetitionSweep(batch, now);
91
+ result.durationMs = Date.now() - startTime;
92
+ this.lastRunAt = now;
93
+ return result;
94
+ }
95
+ /** Get timestamp of last consolidation run. */
96
+ getLastRunAt() {
97
+ return this.lastRunAt;
98
+ }
99
+ // =========================================================================
100
+ // Step 1: Decay sweep
101
+ // =========================================================================
102
+ async decaySweep(traces, now) {
103
+ const prunable = findPrunableTraces(traces, now, this.decayConfig);
104
+ for (const traceId of prunable) {
105
+ await this.config.store.softDelete(traceId);
106
+ }
107
+ return prunable.length;
108
+ }
109
+ // =========================================================================
110
+ // Step 2: Co-activation replay
111
+ // =========================================================================
112
+ async replayCoActivation(traces, now) {
113
+ if (!this.config.graph)
114
+ return 0;
115
+ let edgesCreated = 0;
116
+ const recentTraces = traces.filter((t) => t.isActive && (now - t.createdAt) < 86400000);
117
+ // Find traces that share entities → create SHARED_ENTITY edges
118
+ const entityIndex = new Map();
119
+ for (const trace of recentTraces) {
120
+ for (const entity of trace.entities) {
121
+ const list = entityIndex.get(entity) ?? [];
122
+ list.push(trace.id);
123
+ entityIndex.set(entity, list);
124
+ }
125
+ }
126
+ for (const [, traceIds] of entityIndex) {
127
+ if (traceIds.length < 2)
128
+ continue;
129
+ for (let i = 0; i < traceIds.length && i < 10; i++) {
130
+ for (let j = i + 1; j < traceIds.length && j < 10; j++) {
131
+ if (this.config.graph.hasNode(traceIds[i]) && this.config.graph.hasNode(traceIds[j])) {
132
+ await this.config.graph.addEdge({
133
+ sourceId: traceIds[i],
134
+ targetId: traceIds[j],
135
+ type: 'SHARED_ENTITY',
136
+ weight: 0.5,
137
+ createdAt: now,
138
+ });
139
+ edgesCreated++;
140
+ }
141
+ }
142
+ }
143
+ }
144
+ // Find temporally adjacent traces → create TEMPORAL_SEQUENCE edges
145
+ const sorted = [...recentTraces].sort((a, b) => a.createdAt - b.createdAt);
146
+ for (let i = 0; i < sorted.length - 1; i++) {
147
+ const gap = sorted[i + 1].createdAt - sorted[i].createdAt;
148
+ if (gap < 300000) { // Within 5 minutes
149
+ if (this.config.graph.hasNode(sorted[i].id) && this.config.graph.hasNode(sorted[i + 1].id)) {
150
+ await this.config.graph.addEdge({
151
+ sourceId: sorted[i].id,
152
+ targetId: sorted[i + 1].id,
153
+ type: 'TEMPORAL_SEQUENCE',
154
+ weight: 0.3,
155
+ createdAt: now,
156
+ });
157
+ edgesCreated++;
158
+ }
159
+ }
160
+ }
161
+ return edgesCreated;
162
+ }
163
+ // =========================================================================
164
+ // Step 3: Schema integration
165
+ // =========================================================================
166
+ async schemaIntegration() {
167
+ if (!this.config.graph || !this.config.llmInvoker)
168
+ return 0;
169
+ const clusters = await this.config.graph.detectClusters(this.consolidationConfig.minClusterSize);
170
+ let schemasCreated = 0;
171
+ for (const cluster of clusters) {
172
+ // Gather content from cluster members
173
+ const contents = [];
174
+ for (const id of cluster.memberIds) {
175
+ const trace = this.config.store.getTrace(id);
176
+ if (trace)
177
+ contents.push(trace.content);
178
+ }
179
+ if (contents.length < this.consolidationConfig.minClusterSize)
180
+ continue;
181
+ try {
182
+ const summary = await this.config.llmInvoker('Summarize the following related memories into a single semantic knowledge statement. Be concise (1-2 sentences). Output only the summary.', contents.join('\n---\n'));
183
+ if (summary.trim()) {
184
+ // Store as a new semantic trace
185
+ const now = Date.now();
186
+ const schemaTrace = {
187
+ id: `schema_${now}_${schemasCreated}`,
188
+ type: 'semantic',
189
+ scope: 'user',
190
+ scopeId: this.config.agentId,
191
+ content: summary.trim(),
192
+ entities: [],
193
+ tags: ['schema', 'consolidated'],
194
+ provenance: {
195
+ sourceType: 'reflection',
196
+ sourceTimestamp: now,
197
+ confidence: 0.8,
198
+ verificationCount: cluster.memberIds.length,
199
+ },
200
+ emotionalContext: { valence: 0, arousal: 0, dominance: 0, intensity: 0, gmiMood: '' },
201
+ encodingStrength: 0.7,
202
+ stability: 7200000, // 2 hours (schemas are more stable)
203
+ retrievalCount: 0,
204
+ lastAccessedAt: now,
205
+ accessCount: 0,
206
+ reinforcementInterval: 7200000,
207
+ associatedTraceIds: cluster.memberIds,
208
+ createdAt: now,
209
+ updatedAt: now,
210
+ consolidatedAt: now,
211
+ isActive: true,
212
+ };
213
+ await this.config.store.store(schemaTrace);
214
+ // Add SCHEMA_INSTANCE edges from cluster members to schema
215
+ if (this.config.graph) {
216
+ await this.config.graph.addNode(schemaTrace.id, {
217
+ type: 'semantic',
218
+ scope: 'user',
219
+ scopeId: this.config.agentId,
220
+ strength: 0.7,
221
+ createdAt: now,
222
+ });
223
+ for (const memberId of cluster.memberIds) {
224
+ if (this.config.graph.hasNode(memberId)) {
225
+ await this.config.graph.addEdge({
226
+ sourceId: memberId,
227
+ targetId: schemaTrace.id,
228
+ type: 'SCHEMA_INSTANCE',
229
+ weight: 0.6,
230
+ createdAt: now,
231
+ });
232
+ }
233
+ }
234
+ }
235
+ schemasCreated++;
236
+ }
237
+ }
238
+ catch {
239
+ // LLM failure is non-critical
240
+ }
241
+ }
242
+ return schemasCreated;
243
+ }
244
+ // =========================================================================
245
+ // Step 4: Conflict resolution
246
+ // =========================================================================
247
+ async resolveConflicts(traces) {
248
+ if (!this.config.graph)
249
+ return 0;
250
+ const clamp = (v) => v == null ? 0.5 : Math.max(0, Math.min(1, v));
251
+ const honesty = clamp(this.config.traits.honesty);
252
+ let resolved = 0;
253
+ for (const trace of traces) {
254
+ if (!trace.isActive)
255
+ continue;
256
+ const conflicts = this.config.graph.getConflicts(trace.id);
257
+ for (const conflict of conflicts) {
258
+ const otherId = conflict.sourceId === trace.id ? conflict.targetId : conflict.sourceId;
259
+ const other = this.config.store.getTrace(otherId);
260
+ if (!other || !other.isActive)
261
+ continue;
262
+ // Determine which trace to keep
263
+ if (honesty > 0.6) {
264
+ // High honesty: prefer newer information
265
+ const loser = trace.createdAt > other.createdAt ? other : trace;
266
+ await this.config.store.softDelete(loser.id);
267
+ resolved++;
268
+ }
269
+ else {
270
+ // Default: prefer higher confidence
271
+ if (Math.abs(trace.provenance.confidence - other.provenance.confidence) > 0.2) {
272
+ const loser = trace.provenance.confidence < other.provenance.confidence ? trace : other;
273
+ await this.config.store.softDelete(loser.id);
274
+ resolved++;
275
+ }
276
+ // If confidence is similar, let both coexist
277
+ }
278
+ }
279
+ }
280
+ return resolved;
281
+ }
282
+ // =========================================================================
283
+ // Step 5: Spaced repetition sweep
284
+ // =========================================================================
285
+ async spacedRepetitionSweep(traces, now) {
286
+ let reinforced = 0;
287
+ for (const trace of traces) {
288
+ if (!trace.isActive)
289
+ continue;
290
+ if (!trace.nextReinforcementAt)
291
+ continue;
292
+ if (now < trace.nextReinforcementAt)
293
+ continue;
294
+ // Boost the trace via recordAccess
295
+ await this.config.store.recordAccess(trace.id);
296
+ reinforced++;
297
+ }
298
+ return reinforced;
299
+ }
300
+ }
301
+ //# sourceMappingURL=ConsolidationPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsolidationPipeline.js","sourceRoot":"","sources":["../../../src/memory/consolidation/ConsolidationPipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * CompactionEngine — Strategy dispatcher for context window compaction.
3
+ *
4
+ * Selects and executes the appropriate compaction strategy based on config.
5
+ * Manages strategy lifecycle and provides a unified interface for the
6
+ * ContextWindowManager.
7
+ */
8
+ import type { MemoryObserver } from '../observation/MemoryObserver.js';
9
+ import type { MemoryReflector } from '../observation/MemoryReflector.js';
10
+ import type { CompactionInput, CompactionResult, CompactionStrategy, ICompactionStrategy, InfiniteContextConfig } from './types.js';
11
+ export declare class CompactionEngine {
12
+ private strategies;
13
+ constructor(llmInvoker: (prompt: string) => Promise<string>, observer?: MemoryObserver, reflector?: MemoryReflector);
14
+ /** Run compaction using the configured strategy. */
15
+ compact(input: CompactionInput, config: InfiniteContextConfig): Promise<CompactionResult>;
16
+ /** Get a specific strategy instance. */
17
+ getStrategy(name: CompactionStrategy): ICompactionStrategy | undefined;
18
+ /** List available strategy names. */
19
+ getAvailableStrategies(): CompactionStrategy[];
20
+ }
21
+ //# sourceMappingURL=CompactionEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompactionEngine.d.ts","sourceRoot":"","sources":["../../../src/memory/context/CompactionEngine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAKpB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAA2D;gBAG3E,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAC/C,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,eAAe;IAa7B,oDAAoD;IAC9C,OAAO,CACX,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;IAQ5B,wCAAwC;IACxC,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,SAAS;IAItE,qCAAqC;IACrC,sBAAsB,IAAI,kBAAkB,EAAE;CAG/C"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * CompactionEngine — Strategy dispatcher for context window compaction.
3
+ *
4
+ * Selects and executes the appropriate compaction strategy based on config.
5
+ * Manages strategy lifecycle and provides a unified interface for the
6
+ * ContextWindowManager.
7
+ */
8
+ import { HierarchicalStrategy } from './strategies/HierarchicalStrategy.js';
9
+ import { HybridStrategy } from './strategies/HybridStrategy.js';
10
+ import { SlidingSummaryStrategy } from './strategies/SlidingSummaryStrategy.js';
11
+ export class CompactionEngine {
12
+ constructor(llmInvoker, observer, reflector) {
13
+ this.strategies = new Map();
14
+ this.strategies.set('sliding', new SlidingSummaryStrategy(llmInvoker));
15
+ this.strategies.set('hierarchical', new HierarchicalStrategy(llmInvoker));
16
+ this.strategies.set('hybrid', new HybridStrategy(llmInvoker, observer, reflector));
17
+ }
18
+ /** Run compaction using the configured strategy. */
19
+ async compact(input, config) {
20
+ const strategy = this.strategies.get(config.strategy);
21
+ if (!strategy) {
22
+ throw new Error(`Unknown compaction strategy: ${config.strategy}`);
23
+ }
24
+ return strategy.compact(input, config);
25
+ }
26
+ /** Get a specific strategy instance. */
27
+ getStrategy(name) {
28
+ return this.strategies.get(name);
29
+ }
30
+ /** List available strategy names. */
31
+ getAvailableStrategies() {
32
+ return Array.from(this.strategies.keys());
33
+ }
34
+ }
35
+ //# sourceMappingURL=CompactionEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompactionEngine.js","sourceRoot":"","sources":["../../../src/memory/context/CompactionEngine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,MAAM,OAAO,gBAAgB;IAG3B,YACE,UAA+C,EAC/C,QAAyB,EACzB,SAA2B;QALrB,eAAU,GAAiD,IAAI,GAAG,EAAE,CAAC;QAO3E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,cAAc,EACd,IAAI,oBAAoB,CAAC,UAAU,CAAC,CACrC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,QAAQ,EACR,IAAI,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CACpD,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,OAAO,CACX,KAAsB,EACtB,MAA6B;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,wCAAwC;IACxC,WAAW,CAAC,IAAwB;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,qCAAqC;IACrC,sBAAsB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF"}