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