@framers/agentos 0.1.46 → 0.1.48
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.
- package/README.md +7 -7
- package/dist/cognitive_substrate/IGMI.d.ts +2 -0
- package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/IGMI.js.map +1 -1
- package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts +2 -0
- package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts.map +1 -1
- package/dist/core/audio/AdaptiveVAD.d.ts +147 -0
- package/dist/core/audio/AdaptiveVAD.d.ts.map +1 -0
- package/dist/core/audio/AdaptiveVAD.js +239 -0
- package/dist/core/audio/AdaptiveVAD.js.map +1 -0
- package/dist/core/audio/AudioProcessor.d.ts +121 -0
- package/dist/core/audio/AudioProcessor.d.ts.map +1 -0
- package/dist/core/audio/AudioProcessor.js +299 -0
- package/dist/core/audio/AudioProcessor.js.map +1 -0
- package/dist/core/audio/EnvironmentalCalibrator.d.ts +187 -0
- package/dist/core/audio/EnvironmentalCalibrator.d.ts.map +1 -0
- package/dist/core/audio/EnvironmentalCalibrator.js +360 -0
- package/dist/core/audio/EnvironmentalCalibrator.js.map +1 -0
- package/dist/core/audio/SilenceDetector.d.ts +111 -0
- package/dist/core/audio/SilenceDetector.d.ts.map +1 -0
- package/dist/core/audio/SilenceDetector.js +178 -0
- package/dist/core/audio/SilenceDetector.js.map +1 -0
- package/dist/core/llm/IPromptEngine.d.ts +2 -0
- package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
- package/dist/core/llm/IPromptEngine.js.map +1 -1
- package/dist/core/llm/providers/implementations/OllamaProvider.js +2 -2
- package/dist/core/llm/providers/implementations/OllamaProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.js +8 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
- package/dist/discovery/CapabilityIndex.d.ts.map +1 -1
- package/dist/discovery/CapabilityIndex.js +18 -4
- package/dist/discovery/CapabilityIndex.js.map +1 -1
- package/dist/extensions/ExtensionManager.d.ts.map +1 -1
- package/dist/extensions/ExtensionManager.js +9 -1
- package/dist/extensions/ExtensionManager.js.map +1 -1
- package/dist/extensions/types.d.ts +20 -2
- package/dist/extensions/types.d.ts.map +1 -1
- package/dist/extensions/types.js +4 -0
- package/dist/extensions/types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/CognitiveMemoryManager.d.ts +133 -0
- package/dist/memory/CognitiveMemoryManager.d.ts.map +1 -0
- package/dist/memory/CognitiveMemoryManager.js +519 -0
- package/dist/memory/CognitiveMemoryManager.js.map +1 -0
- package/dist/memory/config.d.ts +135 -0
- package/dist/memory/config.d.ts.map +1 -0
- package/dist/memory/config.js +28 -0
- package/dist/memory/config.js.map +1 -0
- package/dist/memory/consolidation/ConsolidationPipeline.d.ts +70 -0
- package/dist/memory/consolidation/ConsolidationPipeline.d.ts.map +1 -0
- package/dist/memory/consolidation/ConsolidationPipeline.js +301 -0
- package/dist/memory/consolidation/ConsolidationPipeline.js.map +1 -0
- package/dist/memory/context/CompactionEngine.d.ts +21 -0
- package/dist/memory/context/CompactionEngine.d.ts.map +1 -0
- package/dist/memory/context/CompactionEngine.js +35 -0
- package/dist/memory/context/CompactionEngine.js.map +1 -0
- package/dist/memory/context/CompactionLog.d.ts +50 -0
- package/dist/memory/context/CompactionLog.d.ts.map +1 -0
- package/dist/memory/context/CompactionLog.js +139 -0
- package/dist/memory/context/CompactionLog.js.map +1 -0
- package/dist/memory/context/ContextWindowManager.d.ts +114 -0
- package/dist/memory/context/ContextWindowManager.d.ts.map +1 -0
- package/dist/memory/context/ContextWindowManager.js +225 -0
- package/dist/memory/context/ContextWindowManager.js.map +1 -0
- package/dist/memory/context/RollingSummaryChain.d.ts +53 -0
- package/dist/memory/context/RollingSummaryChain.d.ts.map +1 -0
- package/dist/memory/context/RollingSummaryChain.js +193 -0
- package/dist/memory/context/RollingSummaryChain.js.map +1 -0
- package/dist/memory/context/index.d.ts +15 -0
- package/dist/memory/context/index.d.ts.map +1 -0
- package/dist/memory/context/index.js +14 -0
- package/dist/memory/context/index.js.map +1 -0
- package/dist/memory/context/strategies/HierarchicalStrategy.d.ts +25 -0
- package/dist/memory/context/strategies/HierarchicalStrategy.d.ts.map +1 -0
- package/dist/memory/context/strategies/HierarchicalStrategy.js +240 -0
- package/dist/memory/context/strategies/HierarchicalStrategy.js.map +1 -0
- package/dist/memory/context/strategies/HybridStrategy.d.ts +26 -0
- package/dist/memory/context/strategies/HybridStrategy.d.ts.map +1 -0
- package/dist/memory/context/strategies/HybridStrategy.js +245 -0
- package/dist/memory/context/strategies/HybridStrategy.js.map +1 -0
- package/dist/memory/context/strategies/SlidingSummaryStrategy.d.ts +22 -0
- package/dist/memory/context/strategies/SlidingSummaryStrategy.d.ts.map +1 -0
- package/dist/memory/context/strategies/SlidingSummaryStrategy.js +203 -0
- package/dist/memory/context/strategies/SlidingSummaryStrategy.js.map +1 -0
- package/dist/memory/context/types.d.ts +120 -0
- package/dist/memory/context/types.d.ts.map +1 -0
- package/dist/memory/context/types.js +17 -0
- package/dist/memory/context/types.js.map +1 -0
- package/dist/memory/decay/DecayModel.d.ts +87 -0
- package/dist/memory/decay/DecayModel.d.ts.map +1 -0
- package/dist/memory/decay/DecayModel.js +117 -0
- package/dist/memory/decay/DecayModel.js.map +1 -0
- package/dist/memory/decay/RetrievalPriorityScorer.d.ts +63 -0
- package/dist/memory/decay/RetrievalPriorityScorer.d.ts.map +1 -0
- package/dist/memory/decay/RetrievalPriorityScorer.js +110 -0
- package/dist/memory/decay/RetrievalPriorityScorer.js.map +1 -0
- package/dist/memory/encoding/ContentFeatureDetector.d.ts +37 -0
- package/dist/memory/encoding/ContentFeatureDetector.d.ts.map +1 -0
- package/dist/memory/encoding/ContentFeatureDetector.js +176 -0
- package/dist/memory/encoding/ContentFeatureDetector.js.map +1 -0
- package/dist/memory/encoding/EncodingModel.d.ts +67 -0
- package/dist/memory/encoding/EncodingModel.d.ts.map +1 -0
- package/dist/memory/encoding/EncodingModel.js +171 -0
- package/dist/memory/encoding/EncodingModel.js.map +1 -0
- package/dist/memory/extension/CognitiveMemoryExtension.d.ts +18 -0
- package/dist/memory/extension/CognitiveMemoryExtension.d.ts.map +1 -0
- package/dist/memory/extension/CognitiveMemoryExtension.js +131 -0
- package/dist/memory/extension/CognitiveMemoryExtension.js.map +1 -0
- package/dist/memory/graph/GraphologyMemoryGraph.d.ts +29 -0
- package/dist/memory/graph/GraphologyMemoryGraph.d.ts.map +1 -0
- package/dist/memory/graph/GraphologyMemoryGraph.js +224 -0
- package/dist/memory/graph/GraphologyMemoryGraph.js.map +1 -0
- package/dist/memory/graph/IMemoryGraph.d.ts +70 -0
- package/dist/memory/graph/IMemoryGraph.d.ts.map +1 -0
- package/dist/memory/graph/IMemoryGraph.js +15 -0
- package/dist/memory/graph/IMemoryGraph.js.map +1 -0
- package/dist/memory/graph/KnowledgeGraphMemoryGraph.d.ts +38 -0
- package/dist/memory/graph/KnowledgeGraphMemoryGraph.d.ts.map +1 -0
- package/dist/memory/graph/KnowledgeGraphMemoryGraph.js +264 -0
- package/dist/memory/graph/KnowledgeGraphMemoryGraph.js.map +1 -0
- package/dist/memory/graph/SpreadingActivation.d.ts +36 -0
- package/dist/memory/graph/SpreadingActivation.d.ts.map +1 -0
- package/dist/memory/graph/SpreadingActivation.js +100 -0
- package/dist/memory/graph/SpreadingActivation.js.map +1 -0
- package/dist/memory/index.d.ts +52 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +43 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/observation/MemoryObserver.d.ts +59 -0
- package/dist/memory/observation/MemoryObserver.d.ts.map +1 -0
- package/dist/memory/observation/MemoryObserver.js +136 -0
- package/dist/memory/observation/MemoryObserver.js.map +1 -0
- package/dist/memory/observation/MemoryReflector.d.ts +51 -0
- package/dist/memory/observation/MemoryReflector.d.ts.map +1 -0
- package/dist/memory/observation/MemoryReflector.js +184 -0
- package/dist/memory/observation/MemoryReflector.js.map +1 -0
- package/dist/memory/observation/ObservationBuffer.d.ts +51 -0
- package/dist/memory/observation/ObservationBuffer.d.ts.map +1 -0
- package/dist/memory/observation/ObservationBuffer.js +81 -0
- package/dist/memory/observation/ObservationBuffer.js.map +1 -0
- package/dist/memory/prompt/MemoryFormatters.d.ts +22 -0
- package/dist/memory/prompt/MemoryFormatters.d.ts.map +1 -0
- package/dist/memory/prompt/MemoryFormatters.js +113 -0
- package/dist/memory/prompt/MemoryFormatters.js.map +1 -0
- package/dist/memory/prompt/MemoryPromptAssembler.d.ts +40 -0
- package/dist/memory/prompt/MemoryPromptAssembler.d.ts.map +1 -0
- package/dist/memory/prompt/MemoryPromptAssembler.js +180 -0
- package/dist/memory/prompt/MemoryPromptAssembler.js.map +1 -0
- package/dist/memory/prospective/ProspectiveMemoryManager.d.ts +83 -0
- package/dist/memory/prospective/ProspectiveMemoryManager.d.ts.map +1 -0
- package/dist/memory/prospective/ProspectiveMemoryManager.js +128 -0
- package/dist/memory/prospective/ProspectiveMemoryManager.js.map +1 -0
- package/dist/memory/store/MemoryStore.d.ts +76 -0
- package/dist/memory/store/MemoryStore.d.ts.map +1 -0
- package/dist/memory/store/MemoryStore.js +320 -0
- package/dist/memory/store/MemoryStore.js.map +1 -0
- package/dist/memory/types.d.ts +184 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +14 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/working/CognitiveWorkingMemory.d.ts +87 -0
- package/dist/memory/working/CognitiveWorkingMemory.d.ts.map +1 -0
- package/dist/memory/working/CognitiveWorkingMemory.js +230 -0
- package/dist/memory/working/CognitiveWorkingMemory.js.map +1 -0
- package/dist/rag/EmbeddingManager.d.ts.map +1 -1
- package/dist/rag/EmbeddingManager.js +8 -1
- package/dist/rag/EmbeddingManager.js.map +1 -1
- package/dist/rag/HydeRetriever.d.ts +111 -0
- package/dist/rag/HydeRetriever.d.ts.map +1 -0
- package/dist/rag/HydeRetriever.js +143 -0
- package/dist/rag/HydeRetriever.js.map +1 -0
- package/dist/rag/IRetrievalAugmentor.d.ts +15 -0
- package/dist/rag/IRetrievalAugmentor.d.ts.map +1 -1
- package/dist/rag/index.d.ts +1 -0
- package/dist/rag/index.d.ts.map +1 -1
- package/dist/rag/index.js +2 -0
- package/dist/rag/index.js.map +1 -1
- package/dist/speech/SpeechProviderRegistry.d.ts +17 -0
- package/dist/speech/SpeechProviderRegistry.d.ts.map +1 -0
- package/dist/speech/SpeechProviderRegistry.js +47 -0
- package/dist/speech/SpeechProviderRegistry.js.map +1 -0
- package/dist/speech/SpeechRuntime.d.ts +30 -0
- package/dist/speech/SpeechRuntime.d.ts.map +1 -0
- package/dist/speech/SpeechRuntime.js +156 -0
- package/dist/speech/SpeechRuntime.js.map +1 -0
- package/dist/speech/SpeechSession.d.ts +37 -0
- package/dist/speech/SpeechSession.d.ts.map +1 -0
- package/dist/speech/SpeechSession.js +285 -0
- package/dist/speech/SpeechSession.js.map +1 -0
- package/dist/speech/audio.d.ts +3 -0
- package/dist/speech/audio.d.ts.map +1 -0
- package/dist/speech/audio.js +39 -0
- package/dist/speech/audio.js.map +1 -0
- package/dist/speech/index.d.ts +11 -0
- package/dist/speech/index.d.ts.map +1 -0
- package/dist/speech/index.js +11 -0
- package/dist/speech/index.js.map +1 -0
- package/dist/speech/providerCatalog.d.ts +7 -0
- package/dist/speech/providerCatalog.d.ts.map +1 -0
- package/dist/speech/providerCatalog.js +243 -0
- package/dist/speech/providerCatalog.js.map +1 -0
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +20 -0
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts.map +1 -0
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.js +29 -0
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.js.map +1 -0
- package/dist/speech/providers/ElevenLabsTextToSpeechProvider.d.ts +20 -0
- package/dist/speech/providers/ElevenLabsTextToSpeechProvider.d.ts.map +1 -0
- package/dist/speech/providers/ElevenLabsTextToSpeechProvider.js +95 -0
- package/dist/speech/providers/ElevenLabsTextToSpeechProvider.js.map +1 -0
- package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts +20 -0
- package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts.map +1 -0
- package/dist/speech/providers/OpenAITextToSpeechProvider.js +75 -0
- package/dist/speech/providers/OpenAITextToSpeechProvider.js.map +1 -0
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts +18 -0
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts.map +1 -0
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js +109 -0
- package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js.map +1 -0
- package/dist/speech/types.d.ts +272 -0
- package/dist/speech/types.d.ts.map +1 -0
- package/dist/speech/types.js +2 -0
- package/dist/speech/types.js.map +1 -0
- package/package.json +22 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphologyMemoryGraph.js","sourceRoot":"","sources":["../../../src/memory/graph/GraphologyMemoryGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAO5D,IAAI,UAA4E,CAAC;AAEjF,KAAK,UAAU,iBAAiB;IAC9B,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QACvC,UAAU,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAiC,CAAC;QAClE,OAAO,UAAW,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sEAAsE;YACpE,qDAAqD,CACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,MAAM,OAAO,qBAAqB;IAAlC;QACU,UAAK,GAAsB,IAAI,CAAC;IA2N1C,CAAC;IAzNC,KAAK,CAAC,UAAU;QACd,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,0BAA0B;IAE1B,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,QAA6B;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IAChD,CAAC;IAED,0BAA0B;IAE1B,KAAK,CAAC,OAAO,CAAC,IAAgB;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO;QACnE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAuB,CAAC;gBAClE,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC/B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpD,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;oBACtC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,QAAgB,EAAE,IAAqB;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAa,EAAE,KAA8B,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;YACxG,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAsB,CAAC;YAC9C,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,KAAK,CAAC,MAAgB;oBAC9B,SAAS,EAAE,KAAK,CAAC,SAAmB;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,QAAgB;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxC,IAAI,IAAI;gBAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,+BAA+B;IAE/B,KAAK,CAAC,mBAAmB,CACvB,OAAiB,EACjB,MAAkC;QAElC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7B,2CAA2C;QAC3C,OAAO,gBAAgB,CAAC;YACtB,OAAO;YACP,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;gBACvB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAClC,MAAM,SAAS,GAA0C,EAAE,CAAC;gBAC5D,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,KAA8B,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;oBACtG,MAAM,UAAU,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvD,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAgB,EAAE,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAE3C,KAAK,CAAC,kBAAkB,CAAC,SAAmB,EAAE,eAAuB,GAAG;QACtE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,KAAK,GAAG,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAuB,CAAC;wBAClE,0CAA0C;wBAC1C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;oBACrF,CAAC;yBAAM,CAAC;wBACN,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;4BAClC,IAAI,EAAE,cAAc;4BACpB,MAAM,EAAE,YAAY;4BACpB,SAAS,EAAE,GAAG;yBACf,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,6BAA6B;IAE7B,YAAY,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC;IAED,qBAAqB;IAErB,KAAK,CAAC,cAAc,CAAC,UAAkB,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,KAAK,GAAG,OAAO;YAAE,OAAO,EAAE,CAAC;QAEjC,sGAAsG;QACtG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,CAAC,CAAC,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO;YAEhC,qBAAqB;YACrB,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAExB,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,MAA+B,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;oBACxG,MAAM,QAAQ,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;oBACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;gBAChC,0CAA0C;gBAC1C,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACpC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAChE,CAAC,MAAM,CAAC;gBACX,CAAC;gBACD,SAAS,IAAI,CAAC,CAAC,CAAC,aAAa;gBAC7B,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAEtE,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,WAAW,UAAU,EAAE,EAAE;oBACpC,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC3D,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oBAAoB;IAEpB,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Adapter interface for the memory association graph.
|
|
3
|
+
*
|
|
4
|
+
* Abstracts over graphology (dev/testing) and IKnowledgeGraph (production).
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Node/edge CRUD for memory traces
|
|
7
|
+
* - Spreading activation (Anderson's ACT-R)
|
|
8
|
+
* - Co-activation recording (Hebbian learning)
|
|
9
|
+
* - Conflict/contradiction edge detection
|
|
10
|
+
* - Community/cluster detection for consolidation
|
|
11
|
+
*
|
|
12
|
+
* @module agentos/memory/graph/IMemoryGraph
|
|
13
|
+
*/
|
|
14
|
+
export interface MemoryGraphNodeMeta {
|
|
15
|
+
type: string;
|
|
16
|
+
scope: string;
|
|
17
|
+
scopeId: string;
|
|
18
|
+
/** Current encoding strength (updated periodically). */
|
|
19
|
+
strength: number;
|
|
20
|
+
createdAt: number;
|
|
21
|
+
}
|
|
22
|
+
export type MemoryEdgeType = 'SHARED_ENTITY' | 'TEMPORAL_SEQUENCE' | 'SAME_TOPIC' | 'CONTRADICTS' | 'SUPERSEDES' | 'CAUSED_BY' | 'CO_ACTIVATED' | 'SCHEMA_INSTANCE';
|
|
23
|
+
export interface MemoryEdge {
|
|
24
|
+
sourceId: string;
|
|
25
|
+
targetId: string;
|
|
26
|
+
type: MemoryEdgeType;
|
|
27
|
+
weight: number;
|
|
28
|
+
createdAt: number;
|
|
29
|
+
}
|
|
30
|
+
export interface SpreadingActivationConfig {
|
|
31
|
+
/** Maximum hops from seed nodes. @default 3 */
|
|
32
|
+
maxDepth?: number;
|
|
33
|
+
/** Activation decay per hop (multiplied each step). @default 0.5 */
|
|
34
|
+
decayPerHop?: number;
|
|
35
|
+
/** Minimum activation to continue spreading. @default 0.1 */
|
|
36
|
+
activationThreshold?: number;
|
|
37
|
+
/** Maximum activated nodes to return. @default 20 */
|
|
38
|
+
maxResults?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface ActivatedNode {
|
|
41
|
+
memoryId: string;
|
|
42
|
+
activation: number;
|
|
43
|
+
depth: number;
|
|
44
|
+
/** IDs of seed nodes that contributed activation. */
|
|
45
|
+
activatedBy: string[];
|
|
46
|
+
}
|
|
47
|
+
export interface MemoryCluster {
|
|
48
|
+
clusterId: string;
|
|
49
|
+
memberIds: string[];
|
|
50
|
+
density: number;
|
|
51
|
+
}
|
|
52
|
+
export interface IMemoryGraph {
|
|
53
|
+
/** Initialize the graph backend. */
|
|
54
|
+
initialize(): Promise<void>;
|
|
55
|
+
addNode(memoryId: string, metadata: MemoryGraphNodeMeta): Promise<void>;
|
|
56
|
+
removeNode(memoryId: string): Promise<void>;
|
|
57
|
+
hasNode(memoryId: string): boolean;
|
|
58
|
+
addEdge(edge: MemoryEdge): Promise<void>;
|
|
59
|
+
getEdges(memoryId: string, type?: MemoryEdgeType): MemoryEdge[];
|
|
60
|
+
removeEdge(sourceId: string, targetId: string): Promise<void>;
|
|
61
|
+
spreadingActivation(seedIds: string[], config?: SpreadingActivationConfig): Promise<ActivatedNode[]>;
|
|
62
|
+
recordCoActivation(memoryIds: string[], learningRate?: number): Promise<void>;
|
|
63
|
+
getConflicts(memoryId: string): MemoryEdge[];
|
|
64
|
+
detectClusters(minSize?: number): Promise<MemoryCluster[]>;
|
|
65
|
+
nodeCount(): number;
|
|
66
|
+
edgeCount(): number;
|
|
67
|
+
clear(): void;
|
|
68
|
+
shutdown(): Promise<void>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=IMemoryGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMemoryGraph.d.ts","sourceRoot":"","sources":["../../../src/memory/graph/IMemoryGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,mBAAmB,GACnB,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,WAAW,GACX,cAAc,GACd,iBAAiB,CAAC;AAEtB,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAMD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAGnC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,UAAU,EAAE,CAAC;IAChE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG9D,mBAAmB,CACjB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAG5B,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG9E,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IAG7C,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAG3D,SAAS,IAAI,MAAM,CAAC;IACpB,SAAS,IAAI,MAAM,CAAC;IACpB,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Adapter interface for the memory association graph.
|
|
3
|
+
*
|
|
4
|
+
* Abstracts over graphology (dev/testing) and IKnowledgeGraph (production).
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Node/edge CRUD for memory traces
|
|
7
|
+
* - Spreading activation (Anderson's ACT-R)
|
|
8
|
+
* - Co-activation recording (Hebbian learning)
|
|
9
|
+
* - Conflict/contradiction edge detection
|
|
10
|
+
* - Community/cluster detection for consolidation
|
|
11
|
+
*
|
|
12
|
+
* @module agentos/memory/graph/IMemoryGraph
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=IMemoryGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMemoryGraph.js","sourceRoot":"","sources":["../../../src/memory/graph/IMemoryGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Production memory graph backend wrapping IKnowledgeGraph.
|
|
3
|
+
*
|
|
4
|
+
* Maps memory graph operations to the existing IKnowledgeGraph interface:
|
|
5
|
+
* - Nodes = KnowledgeEntity of type 'memory'
|
|
6
|
+
* - Edges = KnowledgeRelation with memory-specific labels
|
|
7
|
+
* - Uses traverse() and getNeighborhood() for spreading activation
|
|
8
|
+
* - Leverages existing Neo4j backend at scale
|
|
9
|
+
*
|
|
10
|
+
* @module agentos/memory/graph/KnowledgeGraphMemoryGraph
|
|
11
|
+
*/
|
|
12
|
+
import type { IKnowledgeGraph } from '../../core/knowledge/IKnowledgeGraph.js';
|
|
13
|
+
import type { IMemoryGraph, MemoryGraphNodeMeta, MemoryEdge, MemoryEdgeType, SpreadingActivationConfig, ActivatedNode, MemoryCluster } from './IMemoryGraph.js';
|
|
14
|
+
export declare class KnowledgeGraphMemoryGraph implements IMemoryGraph {
|
|
15
|
+
private readonly kg;
|
|
16
|
+
/** In-memory cache of node IDs for hasNode() (sync requirement). */
|
|
17
|
+
private nodeCache;
|
|
18
|
+
/** In-memory edge cache for sync getEdges(). */
|
|
19
|
+
private edgeCache;
|
|
20
|
+
constructor(kg: IKnowledgeGraph);
|
|
21
|
+
initialize(): Promise<void>;
|
|
22
|
+
addNode(memoryId: string, metadata: MemoryGraphNodeMeta): Promise<void>;
|
|
23
|
+
removeNode(memoryId: string): Promise<void>;
|
|
24
|
+
hasNode(memoryId: string): boolean;
|
|
25
|
+
addEdge(edge: MemoryEdge): Promise<void>;
|
|
26
|
+
getEdges(memoryId: string, type?: MemoryEdgeType): MemoryEdge[];
|
|
27
|
+
removeEdge(sourceId: string, targetId: string): Promise<void>;
|
|
28
|
+
spreadingActivation(seedIds: string[], config?: SpreadingActivationConfig): Promise<ActivatedNode[]>;
|
|
29
|
+
recordCoActivation(memoryIds: string[], learningRate?: number): Promise<void>;
|
|
30
|
+
getConflicts(memoryId: string): MemoryEdge[];
|
|
31
|
+
detectClusters(minSize?: number): Promise<MemoryCluster[]>;
|
|
32
|
+
nodeCount(): number;
|
|
33
|
+
edgeCount(): number;
|
|
34
|
+
clear(): void;
|
|
35
|
+
shutdown(): Promise<void>;
|
|
36
|
+
private cacheEdge;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=KnowledgeGraphMemoryGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KnowledgeGraphMemoryGraph.d.ts","sourceRoot":"","sources":["../../../src/memory/graph/KnowledgeGraphMemoryGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAsC,MAAM,yCAAyC,CAAC;AACnH,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,aAAa,EACd,MAAM,mBAAmB,CAAC;AAqC3B,qBAAa,yBAA0B,YAAW,YAAY;IAMhD,OAAO,CAAC,QAAQ,CAAC,EAAE;IAL/B,oEAAoE;IACpE,OAAO,CAAC,SAAS,CAAqB;IACtC,gDAAgD;IAChD,OAAO,CAAC,SAAS,CAAmC;gBAEvB,EAAE,EAAE,eAAe;IAE1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAM5B,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,UAAU,EAAE;IAMzD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7D,mBAAmB,CACvB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC,aAAa,EAAE,CAAC;IAyBrB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,YAAY,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BxF,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;IAMtC,cAAc,CAAC,OAAO,GAAE,MAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA8CnE,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAQnB,KAAK,IAAI,IAAI;IAKP,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,SAAS;CAclB"}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Production memory graph backend wrapping IKnowledgeGraph.
|
|
3
|
+
*
|
|
4
|
+
* Maps memory graph operations to the existing IKnowledgeGraph interface:
|
|
5
|
+
* - Nodes = KnowledgeEntity of type 'memory'
|
|
6
|
+
* - Edges = KnowledgeRelation with memory-specific labels
|
|
7
|
+
* - Uses traverse() and getNeighborhood() for spreading activation
|
|
8
|
+
* - Leverages existing Neo4j backend at scale
|
|
9
|
+
*
|
|
10
|
+
* @module agentos/memory/graph/KnowledgeGraphMemoryGraph
|
|
11
|
+
*/
|
|
12
|
+
import { spreadActivation } from './SpreadingActivation.js';
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Edge type mapping
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
const EDGE_TYPE_TO_LABEL = {
|
|
17
|
+
SHARED_ENTITY: 'related_to',
|
|
18
|
+
TEMPORAL_SEQUENCE: 'precedes',
|
|
19
|
+
SAME_TOPIC: 'similar_to',
|
|
20
|
+
CONTRADICTS: 'opposite_of',
|
|
21
|
+
SUPERSEDES: 'related_to',
|
|
22
|
+
CAUSED_BY: 'causes',
|
|
23
|
+
CO_ACTIVATED: 'related_to',
|
|
24
|
+
SCHEMA_INSTANCE: 'is_a',
|
|
25
|
+
};
|
|
26
|
+
const LABEL_TO_EDGE_TYPE = {
|
|
27
|
+
related_to: 'SHARED_ENTITY',
|
|
28
|
+
precedes: 'TEMPORAL_SEQUENCE',
|
|
29
|
+
similar_to: 'SAME_TOPIC',
|
|
30
|
+
opposite_of: 'CONTRADICTS',
|
|
31
|
+
causes: 'CAUSED_BY',
|
|
32
|
+
is_a: 'SCHEMA_INSTANCE',
|
|
33
|
+
};
|
|
34
|
+
function labelToEdgeType(label, properties) {
|
|
35
|
+
// Prefer explicit memoryEdgeType stored in properties
|
|
36
|
+
if (properties?.memoryEdgeType)
|
|
37
|
+
return properties.memoryEdgeType;
|
|
38
|
+
return LABEL_TO_EDGE_TYPE[label] ?? 'SHARED_ENTITY';
|
|
39
|
+
}
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// Implementation
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
export class KnowledgeGraphMemoryGraph {
|
|
44
|
+
constructor(kg) {
|
|
45
|
+
this.kg = kg;
|
|
46
|
+
/** In-memory cache of node IDs for hasNode() (sync requirement). */
|
|
47
|
+
this.nodeCache = new Set();
|
|
48
|
+
/** In-memory edge cache for sync getEdges(). */
|
|
49
|
+
this.edgeCache = new Map();
|
|
50
|
+
}
|
|
51
|
+
async initialize() {
|
|
52
|
+
await this.kg.initialize();
|
|
53
|
+
// Warm caches from existing memory entities
|
|
54
|
+
const existing = await this.kg.queryEntities({
|
|
55
|
+
entityTypes: ['memory'],
|
|
56
|
+
limit: 10000,
|
|
57
|
+
});
|
|
58
|
+
for (const entity of existing) {
|
|
59
|
+
this.nodeCache.add(entity.id);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// --- Node operations ---
|
|
63
|
+
async addNode(memoryId, metadata) {
|
|
64
|
+
await this.kg.upsertEntity({
|
|
65
|
+
id: memoryId,
|
|
66
|
+
type: 'memory',
|
|
67
|
+
label: `memory:${memoryId}`,
|
|
68
|
+
properties: {
|
|
69
|
+
memoryType: metadata.type,
|
|
70
|
+
scope: metadata.scope,
|
|
71
|
+
scopeId: metadata.scopeId,
|
|
72
|
+
strength: metadata.strength,
|
|
73
|
+
},
|
|
74
|
+
confidence: metadata.strength,
|
|
75
|
+
source: {
|
|
76
|
+
type: 'system',
|
|
77
|
+
timestamp: new Date(metadata.createdAt).toISOString(),
|
|
78
|
+
method: 'cognitive-memory',
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
this.nodeCache.add(memoryId);
|
|
82
|
+
}
|
|
83
|
+
async removeNode(memoryId) {
|
|
84
|
+
await this.kg.deleteEntity(memoryId);
|
|
85
|
+
this.nodeCache.delete(memoryId);
|
|
86
|
+
this.edgeCache.delete(memoryId);
|
|
87
|
+
}
|
|
88
|
+
hasNode(memoryId) {
|
|
89
|
+
return this.nodeCache.has(memoryId);
|
|
90
|
+
}
|
|
91
|
+
// --- Edge operations ---
|
|
92
|
+
async addEdge(edge) {
|
|
93
|
+
if (!this.nodeCache.has(edge.sourceId) || !this.nodeCache.has(edge.targetId))
|
|
94
|
+
return;
|
|
95
|
+
if (edge.sourceId === edge.targetId)
|
|
96
|
+
return;
|
|
97
|
+
const relationType = EDGE_TYPE_TO_LABEL[edge.type];
|
|
98
|
+
await this.kg.upsertRelation({
|
|
99
|
+
sourceId: edge.sourceId,
|
|
100
|
+
targetId: edge.targetId,
|
|
101
|
+
type: relationType,
|
|
102
|
+
label: edge.type,
|
|
103
|
+
weight: edge.weight,
|
|
104
|
+
bidirectional: true,
|
|
105
|
+
confidence: edge.weight,
|
|
106
|
+
properties: {
|
|
107
|
+
memoryEdgeType: edge.type,
|
|
108
|
+
},
|
|
109
|
+
source: {
|
|
110
|
+
type: 'system',
|
|
111
|
+
timestamp: new Date(edge.createdAt).toISOString(),
|
|
112
|
+
method: 'cognitive-memory',
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
// Update edge cache
|
|
116
|
+
this.cacheEdge(edge);
|
|
117
|
+
}
|
|
118
|
+
getEdges(memoryId, type) {
|
|
119
|
+
const cached = this.edgeCache.get(memoryId) ?? [];
|
|
120
|
+
if (!type)
|
|
121
|
+
return cached;
|
|
122
|
+
return cached.filter((e) => e.type === type);
|
|
123
|
+
}
|
|
124
|
+
async removeEdge(sourceId, targetId) {
|
|
125
|
+
// Find the relation ID first
|
|
126
|
+
const relations = await this.kg.getRelations(sourceId, { direction: 'both' });
|
|
127
|
+
for (const rel of relations) {
|
|
128
|
+
if ((rel.sourceId === sourceId && rel.targetId === targetId) ||
|
|
129
|
+
(rel.sourceId === targetId && rel.targetId === sourceId)) {
|
|
130
|
+
await this.kg.deleteRelation(rel.id);
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
// Update cache
|
|
135
|
+
const sourceEdges = this.edgeCache.get(sourceId);
|
|
136
|
+
if (sourceEdges) {
|
|
137
|
+
this.edgeCache.set(sourceId, sourceEdges.filter((e) => !(e.targetId === targetId || e.sourceId === targetId)));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// --- Spreading activation ---
|
|
141
|
+
async spreadingActivation(seedIds, config) {
|
|
142
|
+
return spreadActivation({
|
|
143
|
+
seedIds,
|
|
144
|
+
getNeighbors: async (nodeId) => {
|
|
145
|
+
if (!this.nodeCache.has(nodeId))
|
|
146
|
+
return [];
|
|
147
|
+
try {
|
|
148
|
+
const { entities, relations } = await this.kg.getNeighborhood(nodeId, 1);
|
|
149
|
+
return relations
|
|
150
|
+
.filter((r) => r.sourceId === nodeId || r.targetId === nodeId)
|
|
151
|
+
.map((r) => ({
|
|
152
|
+
id: r.sourceId === nodeId ? r.targetId : r.sourceId,
|
|
153
|
+
weight: r.weight,
|
|
154
|
+
}))
|
|
155
|
+
.filter((n) => this.nodeCache.has(n.id));
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
config,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
// --- Co-activation (Hebbian learning) ---
|
|
165
|
+
async recordCoActivation(memoryIds, learningRate = 0.1) {
|
|
166
|
+
const validIds = memoryIds.filter((id) => this.nodeCache.has(id));
|
|
167
|
+
const now = Date.now();
|
|
168
|
+
for (let i = 0; i < validIds.length; i++) {
|
|
169
|
+
for (let j = i + 1; j < validIds.length; j++) {
|
|
170
|
+
const existingEdges = this.getEdges(validIds[i]).filter((e) => e.targetId === validIds[j] || e.sourceId === validIds[j]);
|
|
171
|
+
if (existingEdges.length > 0) {
|
|
172
|
+
// Strengthen existing edge
|
|
173
|
+
const edge = existingEdges[0];
|
|
174
|
+
const newWeight = Math.min(1.0, edge.weight + learningRate);
|
|
175
|
+
await this.addEdge({ ...edge, weight: newWeight });
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
await this.addEdge({
|
|
179
|
+
sourceId: validIds[i],
|
|
180
|
+
targetId: validIds[j],
|
|
181
|
+
type: 'CO_ACTIVATED',
|
|
182
|
+
weight: learningRate,
|
|
183
|
+
createdAt: now,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// --- Conflict detection ---
|
|
190
|
+
getConflicts(memoryId) {
|
|
191
|
+
return this.getEdges(memoryId, 'CONTRADICTS');
|
|
192
|
+
}
|
|
193
|
+
// --- Clustering ---
|
|
194
|
+
async detectClusters(minSize = 3) {
|
|
195
|
+
// Use KnowledgeGraph traversal to find connected components
|
|
196
|
+
const visited = new Set();
|
|
197
|
+
const clusters = [];
|
|
198
|
+
let clusterIdx = 0;
|
|
199
|
+
for (const nodeId of this.nodeCache) {
|
|
200
|
+
if (visited.has(nodeId))
|
|
201
|
+
continue;
|
|
202
|
+
try {
|
|
203
|
+
const result = await this.kg.traverse(nodeId, {
|
|
204
|
+
maxDepth: 5,
|
|
205
|
+
direction: 'both',
|
|
206
|
+
maxNodes: 100,
|
|
207
|
+
});
|
|
208
|
+
const component = [];
|
|
209
|
+
component.push(result.root.id);
|
|
210
|
+
visited.add(result.root.id);
|
|
211
|
+
for (const level of result.levels) {
|
|
212
|
+
for (const entity of level.entities) {
|
|
213
|
+
if (!visited.has(entity.id) && this.nodeCache.has(entity.id)) {
|
|
214
|
+
visited.add(entity.id);
|
|
215
|
+
component.push(entity.id);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (component.length >= minSize) {
|
|
220
|
+
clusters.push({
|
|
221
|
+
clusterId: `cluster_${clusterIdx++}`,
|
|
222
|
+
memberIds: component,
|
|
223
|
+
density: result.totalRelations / Math.max(1, (component.length * (component.length - 1)) / 2),
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
visited.add(nodeId);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return clusters;
|
|
232
|
+
}
|
|
233
|
+
// --- Lifecycle ---
|
|
234
|
+
nodeCount() {
|
|
235
|
+
return this.nodeCache.size;
|
|
236
|
+
}
|
|
237
|
+
edgeCount() {
|
|
238
|
+
let count = 0;
|
|
239
|
+
for (const edges of this.edgeCache.values()) {
|
|
240
|
+
count += edges.length;
|
|
241
|
+
}
|
|
242
|
+
return Math.floor(count / 2); // undirected
|
|
243
|
+
}
|
|
244
|
+
clear() {
|
|
245
|
+
this.nodeCache.clear();
|
|
246
|
+
this.edgeCache.clear();
|
|
247
|
+
}
|
|
248
|
+
async shutdown() {
|
|
249
|
+
this.clear();
|
|
250
|
+
}
|
|
251
|
+
// --- Internal ---
|
|
252
|
+
cacheEdge(edge) {
|
|
253
|
+
// Cache for both endpoints
|
|
254
|
+
for (const id of [edge.sourceId, edge.targetId]) {
|
|
255
|
+
const list = this.edgeCache.get(id) ?? [];
|
|
256
|
+
// Remove existing edge between these two nodes
|
|
257
|
+
const filtered = list.filter((e) => !((e.sourceId === edge.sourceId && e.targetId === edge.targetId) ||
|
|
258
|
+
(e.sourceId === edge.targetId && e.targetId === edge.sourceId)));
|
|
259
|
+
filtered.push(edge);
|
|
260
|
+
this.edgeCache.set(id, filtered);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=KnowledgeGraphMemoryGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KnowledgeGraphMemoryGraph.js","sourceRoot":"","sources":["../../../src/memory/graph/KnowledgeGraphMemoryGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Anderson's spreading activation algorithm.
|
|
3
|
+
*
|
|
4
|
+
* Pure function implementation decoupled from graph backend.
|
|
5
|
+
* Used by both GraphologyMemoryGraph and KnowledgeGraphMemoryGraph.
|
|
6
|
+
*
|
|
7
|
+
* Algorithm:
|
|
8
|
+
* 1. Seed nodes start at activation = 1.0
|
|
9
|
+
* 2. Each hop: neighbor_activation = current · edge_weight · decayPerHop
|
|
10
|
+
* 3. Multi-path summation (capped at 1.0)
|
|
11
|
+
* 4. BFS with maxDepth and activationThreshold cutoffs
|
|
12
|
+
* 5. Hebbian rule: co-retrieved memories strengthen edges (caller's responsibility)
|
|
13
|
+
*
|
|
14
|
+
* @module agentos/memory/graph/SpreadingActivation
|
|
15
|
+
*/
|
|
16
|
+
import type { SpreadingActivationConfig, ActivatedNode } from './IMemoryGraph.js';
|
|
17
|
+
export interface SpreadingActivationInput {
|
|
18
|
+
seedIds: string[];
|
|
19
|
+
/** Get neighbors with edge weights. Can be sync or async. */
|
|
20
|
+
getNeighbors: (nodeId: string) => Array<{
|
|
21
|
+
id: string;
|
|
22
|
+
weight: number;
|
|
23
|
+
}> | Promise<Array<{
|
|
24
|
+
id: string;
|
|
25
|
+
weight: number;
|
|
26
|
+
}>>;
|
|
27
|
+
config?: SpreadingActivationConfig;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Run spreading activation from seed nodes.
|
|
31
|
+
*
|
|
32
|
+
* Returns activated nodes sorted by activation level (descending),
|
|
33
|
+
* excluding seed nodes themselves.
|
|
34
|
+
*/
|
|
35
|
+
export declare function spreadActivation(input: SpreadingActivationInput): Promise<ActivatedNode[]>;
|
|
36
|
+
//# sourceMappingURL=SpreadingActivation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpreadingActivation.d.ts","sourceRoot":"","sources":["../../../src/memory/graph/SpreadingActivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMlF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACzH,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACpC;AAiBD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAuEhG"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Anderson's spreading activation algorithm.
|
|
3
|
+
*
|
|
4
|
+
* Pure function implementation decoupled from graph backend.
|
|
5
|
+
* Used by both GraphologyMemoryGraph and KnowledgeGraphMemoryGraph.
|
|
6
|
+
*
|
|
7
|
+
* Algorithm:
|
|
8
|
+
* 1. Seed nodes start at activation = 1.0
|
|
9
|
+
* 2. Each hop: neighbor_activation = current · edge_weight · decayPerHop
|
|
10
|
+
* 3. Multi-path summation (capped at 1.0)
|
|
11
|
+
* 4. BFS with maxDepth and activationThreshold cutoffs
|
|
12
|
+
* 5. Hebbian rule: co-retrieved memories strengthen edges (caller's responsibility)
|
|
13
|
+
*
|
|
14
|
+
* @module agentos/memory/graph/SpreadingActivation
|
|
15
|
+
*/
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Defaults
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
const DEFAULT_CONFIG = {
|
|
20
|
+
maxDepth: 3,
|
|
21
|
+
decayPerHop: 0.5,
|
|
22
|
+
activationThreshold: 0.1,
|
|
23
|
+
maxResults: 20,
|
|
24
|
+
};
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Algorithm
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/**
|
|
29
|
+
* Run spreading activation from seed nodes.
|
|
30
|
+
*
|
|
31
|
+
* Returns activated nodes sorted by activation level (descending),
|
|
32
|
+
* excluding seed nodes themselves.
|
|
33
|
+
*/
|
|
34
|
+
export async function spreadActivation(input) {
|
|
35
|
+
const cfg = { ...DEFAULT_CONFIG, ...input.config };
|
|
36
|
+
const { seedIds, getNeighbors } = input;
|
|
37
|
+
// Activation map: nodeId → { activation, depth, activatedBy }
|
|
38
|
+
const activationMap = new Map();
|
|
39
|
+
// Initialize seeds at full activation
|
|
40
|
+
const seedSet = new Set(seedIds);
|
|
41
|
+
for (const seedId of seedIds) {
|
|
42
|
+
activationMap.set(seedId, { activation: 1.0, depth: 0, activatedBy: new Set([seedId]) });
|
|
43
|
+
}
|
|
44
|
+
// BFS wavefront
|
|
45
|
+
let currentWave = [...seedIds];
|
|
46
|
+
for (let depth = 1; depth <= cfg.maxDepth; depth++) {
|
|
47
|
+
const nextWave = [];
|
|
48
|
+
const decayFactor = Math.pow(cfg.decayPerHop, depth);
|
|
49
|
+
for (const nodeId of currentWave) {
|
|
50
|
+
const nodeActivation = activationMap.get(nodeId).activation;
|
|
51
|
+
const nodeActivatedBy = activationMap.get(nodeId).activatedBy;
|
|
52
|
+
const neighbors = await getNeighbors(nodeId);
|
|
53
|
+
for (const neighbor of neighbors) {
|
|
54
|
+
// Compute activation contribution from this path
|
|
55
|
+
const contribution = nodeActivation * neighbor.weight * cfg.decayPerHop;
|
|
56
|
+
if (contribution < cfg.activationThreshold)
|
|
57
|
+
continue;
|
|
58
|
+
const existing = activationMap.get(neighbor.id);
|
|
59
|
+
if (existing) {
|
|
60
|
+
// Multi-path summation, capped at 1.0
|
|
61
|
+
existing.activation = Math.min(1.0, existing.activation + contribution);
|
|
62
|
+
for (const by of nodeActivatedBy)
|
|
63
|
+
existing.activatedBy.add(by);
|
|
64
|
+
// Keep the shallowest depth
|
|
65
|
+
if (depth < existing.depth)
|
|
66
|
+
existing.depth = depth;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
activationMap.set(neighbor.id, {
|
|
70
|
+
activation: Math.min(1.0, contribution),
|
|
71
|
+
depth,
|
|
72
|
+
activatedBy: new Set(nodeActivatedBy),
|
|
73
|
+
});
|
|
74
|
+
nextWave.push(neighbor.id);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
currentWave = nextWave;
|
|
79
|
+
if (currentWave.length === 0)
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
// Collect results (exclude seeds)
|
|
83
|
+
const results = [];
|
|
84
|
+
for (const [nodeId, data] of activationMap) {
|
|
85
|
+
if (seedSet.has(nodeId))
|
|
86
|
+
continue;
|
|
87
|
+
if (data.activation < cfg.activationThreshold)
|
|
88
|
+
continue;
|
|
89
|
+
results.push({
|
|
90
|
+
memoryId: nodeId,
|
|
91
|
+
activation: data.activation,
|
|
92
|
+
depth: data.depth,
|
|
93
|
+
activatedBy: Array.from(data.activatedBy),
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
// Sort by activation descending, cap at maxResults
|
|
97
|
+
results.sort((a, b) => b.activation - a.activation);
|
|
98
|
+
return results.slice(0, cfg.maxResults);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=SpreadingActivation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpreadingActivation.js","sourceRoot":"","sources":["../../../src/memory/graph/SpreadingActivation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Barrel exports for the Cognitive Memory System.
|
|
3
|
+
* @module agentos/memory
|
|
4
|
+
*/
|
|
5
|
+
export type { MemoryType, MemoryScope, MemorySourceType, MemoryProvenance, EmotionalContext, ContentFeatures, MemoryTrace, WorkingMemorySlot, EncodingWeights, EncodingResult, CognitiveRetrievalOptions, ScoredMemoryTrace, PartiallyRetrievedTrace, CognitiveRetrievalResult, MemoryBudgetAllocation, AssembledMemoryContext, MemoryHealthReport, } from './types.js';
|
|
6
|
+
export type { CognitiveMemoryConfig, CognitiveMemoryPersonaConfig, PADState, HexacoTraits, EncodingConfig, DecayConfig, ObserverConfig, ReflectorConfig, MemoryGraphConfig, ConsolidationConfig, } from './config.js';
|
|
7
|
+
export { DEFAULT_ENCODING_CONFIG, DEFAULT_DECAY_CONFIG, DEFAULT_BUDGET_ALLOCATION, } from './config.js';
|
|
8
|
+
export { computeEncodingWeights, computeEncodingStrength, computeAttentionMultiplier, yerksDodson, moodCongruenceBoost, isFlashbulbMemory, buildEmotionalContext, } from './encoding/EncodingModel.js';
|
|
9
|
+
export { createFeatureDetector, KeywordFeatureDetector, LlmFeatureDetector, HybridFeatureDetector, } from './encoding/ContentFeatureDetector.js';
|
|
10
|
+
export type { IContentFeatureDetector } from './encoding/ContentFeatureDetector.js';
|
|
11
|
+
export { computeCurrentStrength, updateOnRetrieval, computeInterference, findPrunableTraces, } from './decay/DecayModel.js';
|
|
12
|
+
export type { RetrievalUpdateResult, InterferenceResult, InterferenceVictim } from './decay/DecayModel.js';
|
|
13
|
+
export { scoreAndRankTraces, detectPartiallyRetrieved, computeRecencyBoost, computeEmotionalCongruence, DEFAULT_SCORING_WEIGHTS, } from './decay/RetrievalPriorityScorer.js';
|
|
14
|
+
export type { ScoringWeights, ScoringContext, CandidateTrace } from './decay/RetrievalPriorityScorer.js';
|
|
15
|
+
export { CognitiveWorkingMemory } from './working/CognitiveWorkingMemory.js';
|
|
16
|
+
export type { CognitiveWorkingMemoryConfig } from './working/CognitiveWorkingMemory.js';
|
|
17
|
+
export { MemoryStore } from './store/MemoryStore.js';
|
|
18
|
+
export type { MemoryStoreConfig } from './store/MemoryStore.js';
|
|
19
|
+
export { assembleMemoryContext } from './prompt/MemoryPromptAssembler.js';
|
|
20
|
+
export type { MemoryAssemblerInput } from './prompt/MemoryPromptAssembler.js';
|
|
21
|
+
export { formatMemoryTrace, formatMemoryTraces } from './prompt/MemoryFormatters.js';
|
|
22
|
+
export type { FormattingStyle } from './prompt/MemoryFormatters.js';
|
|
23
|
+
export { CognitiveMemoryManager } from './CognitiveMemoryManager.js';
|
|
24
|
+
export type { ICognitiveMemoryManager } from './CognitiveMemoryManager.js';
|
|
25
|
+
export { createCognitiveMemoryDescriptor } from './extension/CognitiveMemoryExtension.js';
|
|
26
|
+
export type { IMemoryGraph, MemoryGraphNodeMeta, MemoryEdge, MemoryEdgeType, SpreadingActivationConfig, ActivatedNode, MemoryCluster, } from './graph/IMemoryGraph.js';
|
|
27
|
+
export { GraphologyMemoryGraph } from './graph/GraphologyMemoryGraph.js';
|
|
28
|
+
export { KnowledgeGraphMemoryGraph } from './graph/KnowledgeGraphMemoryGraph.js';
|
|
29
|
+
export { spreadActivation } from './graph/SpreadingActivation.js';
|
|
30
|
+
export type { SpreadingActivationInput } from './graph/SpreadingActivation.js';
|
|
31
|
+
export { ObservationBuffer } from './observation/ObservationBuffer.js';
|
|
32
|
+
export type { BufferedMessage, ObservationBufferConfig } from './observation/ObservationBuffer.js';
|
|
33
|
+
export { MemoryObserver } from './observation/MemoryObserver.js';
|
|
34
|
+
export type { ObservationNote } from './observation/MemoryObserver.js';
|
|
35
|
+
export { MemoryReflector } from './observation/MemoryReflector.js';
|
|
36
|
+
export type { MemoryReflectionResult } from './observation/MemoryReflector.js';
|
|
37
|
+
export { ProspectiveMemoryManager } from './prospective/ProspectiveMemoryManager.js';
|
|
38
|
+
export type { ProspectiveMemoryItem, ProspectiveTriggerType } from './prospective/ProspectiveMemoryManager.js';
|
|
39
|
+
export { ConsolidationPipeline } from './consolidation/ConsolidationPipeline.js';
|
|
40
|
+
export type { ConsolidationResult, ConsolidationPipelineConfig } from './consolidation/ConsolidationPipeline.js';
|
|
41
|
+
export { ContextWindowManager } from './context/ContextWindowManager.js';
|
|
42
|
+
export type { ContextWindowManagerConfig, ContextWindowStats } from './context/ContextWindowManager.js';
|
|
43
|
+
export { CompactionEngine } from './context/CompactionEngine.js';
|
|
44
|
+
export { CompactionLog } from './context/CompactionLog.js';
|
|
45
|
+
export type { CompactionLogStats } from './context/CompactionLog.js';
|
|
46
|
+
export { RollingSummaryChain } from './context/RollingSummaryChain.js';
|
|
47
|
+
export { SlidingSummaryStrategy } from './context/strategies/SlidingSummaryStrategy.js';
|
|
48
|
+
export { HierarchicalStrategy } from './context/strategies/HierarchicalStrategy.js';
|
|
49
|
+
export { HybridStrategy } from './context/strategies/HybridStrategy.js';
|
|
50
|
+
export type { InfiniteContextConfig, CompactionStrategy, TransparencyLevel, ContextMessage, CompactionEntry, SummaryChainNode, CompactionInput, CompactionResult, ICompactionStrategy, } from './context/types.js';
|
|
51
|
+
export { DEFAULT_INFINITE_CONTEXT_CONFIG } from './context/types.js';
|
|
52
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"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"}
|