@mastra/memory 1.6.1 → 1.6.2
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/CHANGELOG.md +52 -0
- package/dist/{chunk-GBBQIJQF.js → chunk-3CM4XQJO.js} +1940 -463
- package/dist/chunk-3CM4XQJO.js.map +1 -0
- package/dist/{chunk-D6II7EP4.cjs → chunk-5W5463NI.cjs} +1939 -461
- package/dist/chunk-5W5463NI.cjs.map +1 -0
- package/dist/docs/SKILL.md +24 -24
- package/dist/docs/assets/SOURCE_MAP.json +25 -25
- package/dist/docs/references/docs-agents-agent-approval.md +3 -3
- package/dist/docs/references/docs-agents-agent-memory.md +3 -3
- package/dist/docs/references/docs-agents-network-approval.md +5 -2
- package/dist/docs/references/docs-agents-networks.md +2 -2
- package/dist/docs/references/docs-agents-supervisor-agents.md +3 -3
- package/dist/docs/references/docs-memory-memory-processors.md +9 -9
- package/dist/docs/references/docs-memory-message-history.md +4 -4
- package/dist/docs/references/docs-memory-observational-memory.md +11 -7
- package/dist/docs/references/docs-memory-semantic-recall.md +9 -9
- package/dist/docs/references/docs-memory-storage.md +1 -1
- package/dist/docs/references/docs-memory-working-memory.md +20 -20
- package/dist/docs/references/reference-core-getMemory.md +1 -1
- package/dist/docs/references/reference-core-listMemory.md +1 -1
- package/dist/docs/references/reference-memory-clone-utilities.md +7 -7
- package/dist/docs/references/reference-memory-cloneThread.md +5 -5
- package/dist/docs/references/reference-memory-createThread.md +1 -1
- package/dist/docs/references/reference-memory-getThreadById.md +1 -1
- package/dist/docs/references/reference-memory-listThreads.md +3 -3
- package/dist/docs/references/reference-memory-memory-class.md +1 -1
- package/dist/docs/references/reference-memory-observational-memory.md +8 -6
- package/dist/docs/references/reference-processors-token-limiter-processor.md +2 -2
- package/dist/docs/references/reference-storage-dynamodb.md +7 -7
- package/dist/docs/references/reference-storage-libsql.md +1 -1
- package/dist/docs/references/reference-storage-mongodb.md +6 -6
- package/dist/docs/references/reference-storage-postgresql.md +7 -7
- package/dist/docs/references/reference-storage-upstash.md +4 -4
- package/dist/docs/references/reference-vectors-libsql.md +15 -15
- package/dist/docs/references/reference-vectors-mongodb.md +18 -18
- package/dist/docs/references/reference-vectors-pg.md +23 -21
- package/dist/docs/references/reference-vectors-upstash.md +15 -15
- package/dist/index.cjs +48 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +14 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -21
- package/dist/index.js.map +1 -1
- package/dist/{observational-memory-AHVELJX4.cjs → observational-memory-C5LO7RBR.cjs} +17 -17
- package/dist/{observational-memory-AHVELJX4.cjs.map → observational-memory-C5LO7RBR.cjs.map} +1 -1
- package/dist/{observational-memory-QFQUF5EY.js → observational-memory-OYK4MEUD.js} +3 -3
- package/dist/{observational-memory-QFQUF5EY.js.map → observational-memory-OYK4MEUD.js.map} +1 -1
- package/dist/processors/index.cjs +15 -15
- package/dist/processors/index.js +1 -1
- package/dist/processors/observational-memory/observational-memory.d.ts +33 -2
- package/dist/processors/observational-memory/observational-memory.d.ts.map +1 -1
- package/dist/processors/observational-memory/observer-agent.d.ts +7 -4
- package/dist/processors/observational-memory/observer-agent.d.ts.map +1 -1
- package/dist/processors/observational-memory/repro-capture.d.ts +23 -0
- package/dist/processors/observational-memory/repro-capture.d.ts.map +1 -0
- package/dist/processors/observational-memory/token-counter.d.ts +28 -3
- package/dist/processors/observational-memory/token-counter.d.ts.map +1 -1
- package/dist/tools/working-memory.d.ts +6 -10
- package/dist/tools/working-memory.d.ts.map +1 -1
- package/package.json +16 -11
- package/dist/chunk-D6II7EP4.cjs.map +0 -1
- package/dist/chunk-GBBQIJQF.js.map +0 -1
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk5W5463NI_cjs = require('./chunk-5W5463NI.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "OBSERVATIONAL_MEMORY_DEFAULTS", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVATIONAL_MEMORY_DEFAULTS; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "OBSERVATION_CONTEXT_INSTRUCTIONS", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVATION_CONTEXT_INSTRUCTIONS; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "OBSERVATION_CONTEXT_PROMPT", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVATION_CONTEXT_PROMPT; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "OBSERVATION_CONTINUATION_HINT", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVATION_CONTINUATION_HINT; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "OBSERVER_SYSTEM_PROMPT", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVER_SYSTEM_PROMPT; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "ObservationalMemory", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunk5W5463NI_cjs.ObservationalMemory; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "TokenCounter", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunk5W5463NI_cjs.TokenCounter; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "buildObserverPrompt", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunk5W5463NI_cjs.buildObserverPrompt; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "buildObserverSystemPrompt", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunk5W5463NI_cjs.buildObserverSystemPrompt; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "extractCurrentTask", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunk5W5463NI_cjs.extractCurrentTask; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "formatMessagesForObserver", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunk5W5463NI_cjs.formatMessagesForObserver; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "hasCurrentTaskSection", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunk5W5463NI_cjs.hasCurrentTaskSection; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "optimizeObservationsForContext", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunk5W5463NI_cjs.optimizeObservationsForContext; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "parseObserverOutput", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunk5W5463NI_cjs.parseObserverOutput; }
|
|
62
62
|
});
|
|
63
|
-
//# sourceMappingURL=observational-memory-
|
|
64
|
-
//# sourceMappingURL=observational-memory-
|
|
63
|
+
//# sourceMappingURL=observational-memory-C5LO7RBR.cjs.map
|
|
64
|
+
//# sourceMappingURL=observational-memory-C5LO7RBR.cjs.map
|
package/dist/{observational-memory-AHVELJX4.cjs.map → observational-memory-C5LO7RBR.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"observational-memory-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"observational-memory-C5LO7RBR.cjs"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { OBSERVATIONAL_MEMORY_DEFAULTS, OBSERVATION_CONTEXT_INSTRUCTIONS, OBSERVATION_CONTEXT_PROMPT, OBSERVATION_CONTINUATION_HINT, OBSERVER_SYSTEM_PROMPT, ObservationalMemory, TokenCounter, buildObserverPrompt, buildObserverSystemPrompt, extractCurrentTask, formatMessagesForObserver, hasCurrentTaskSection, optimizeObservationsForContext, parseObserverOutput } from './chunk-
|
|
2
|
-
//# sourceMappingURL=observational-memory-
|
|
3
|
-
//# sourceMappingURL=observational-memory-
|
|
1
|
+
export { OBSERVATIONAL_MEMORY_DEFAULTS, OBSERVATION_CONTEXT_INSTRUCTIONS, OBSERVATION_CONTEXT_PROMPT, OBSERVATION_CONTINUATION_HINT, OBSERVER_SYSTEM_PROMPT, ObservationalMemory, TokenCounter, buildObserverPrompt, buildObserverSystemPrompt, extractCurrentTask, formatMessagesForObserver, hasCurrentTaskSection, optimizeObservationsForContext, parseObserverOutput } from './chunk-3CM4XQJO.js';
|
|
2
|
+
//# sourceMappingURL=observational-memory-OYK4MEUD.js.map
|
|
3
|
+
//# sourceMappingURL=observational-memory-OYK4MEUD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"observational-memory-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"observational-memory-OYK4MEUD.js"}
|
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk5W5463NI_cjs = require('../chunk-5W5463NI.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "OBSERVATIONAL_MEMORY_DEFAULTS", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVATIONAL_MEMORY_DEFAULTS; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "OBSERVATION_CONTEXT_INSTRUCTIONS", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVATION_CONTEXT_INSTRUCTIONS; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "OBSERVATION_CONTEXT_PROMPT", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVATION_CONTEXT_PROMPT; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "OBSERVATION_CONTINUATION_HINT", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVATION_CONTINUATION_HINT; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "OBSERVER_SYSTEM_PROMPT", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunk5W5463NI_cjs.OBSERVER_SYSTEM_PROMPT; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "ObservationalMemory", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunk5W5463NI_cjs.ObservationalMemory; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "TokenCounter", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunk5W5463NI_cjs.TokenCounter; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "buildObserverPrompt", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunk5W5463NI_cjs.buildObserverPrompt; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "buildObserverSystemPrompt", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunk5W5463NI_cjs.buildObserverSystemPrompt; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "extractCurrentTask", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunk5W5463NI_cjs.extractCurrentTask; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "formatMessagesForObserver", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunk5W5463NI_cjs.formatMessagesForObserver; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "hasCurrentTaskSection", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunk5W5463NI_cjs.hasCurrentTaskSection; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "optimizeObservationsForContext", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunk5W5463NI_cjs.optimizeObservationsForContext; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "parseObserverOutput", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunk5W5463NI_cjs.parseObserverOutput; }
|
|
62
62
|
});
|
|
63
63
|
//# sourceMappingURL=index.cjs.map
|
|
64
64
|
//# sourceMappingURL=index.cjs.map
|
package/dist/processors/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { OBSERVATIONAL_MEMORY_DEFAULTS, OBSERVATION_CONTEXT_INSTRUCTIONS, OBSERVATION_CONTEXT_PROMPT, OBSERVATION_CONTINUATION_HINT, OBSERVER_SYSTEM_PROMPT, ObservationalMemory, TokenCounter, buildObserverPrompt, buildObserverSystemPrompt, extractCurrentTask, formatMessagesForObserver, hasCurrentTaskSection, optimizeObservationsForContext, parseObserverOutput } from '../chunk-
|
|
1
|
+
export { OBSERVATIONAL_MEMORY_DEFAULTS, OBSERVATION_CONTEXT_INSTRUCTIONS, OBSERVATION_CONTEXT_PROMPT, OBSERVATION_CONTINUATION_HINT, OBSERVER_SYSTEM_PROMPT, ObservationalMemory, TokenCounter, buildObserverPrompt, buildObserverSystemPrompt, extractCurrentTask, formatMessagesForObserver, hasCurrentTaskSection, optimizeObservationsForContext, parseObserverOutput } from '../chunk-3CM4XQJO.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -345,6 +345,19 @@ export declare class ObservationalMemory implements Processor<'observational-mem
|
|
|
345
345
|
* Handles cases where it might be a JSON string or undefined.
|
|
346
346
|
*/
|
|
347
347
|
private getBufferedChunks;
|
|
348
|
+
/**
|
|
349
|
+
* Refresh per-chunk messageTokens from the current in-memory message list.
|
|
350
|
+
*
|
|
351
|
+
* Buffered chunks store a messageTokens snapshot from when they were created,
|
|
352
|
+
* but messages can be edited/sealed between buffering and activation, changing
|
|
353
|
+
* their token weight. Using stale weights causes projected-removal math to
|
|
354
|
+
* over- or under-estimate, leading to skipped activations or over-activation.
|
|
355
|
+
*
|
|
356
|
+
* Token recount only runs when the full chunk is present in the message list.
|
|
357
|
+
* Partial recount is skipped because it would undercount and could cause
|
|
358
|
+
* over-activation of buffered chunks.
|
|
359
|
+
*/
|
|
360
|
+
private refreshBufferedChunkMessageTokens;
|
|
348
361
|
/**
|
|
349
362
|
* Check if we've crossed a new bufferTokens interval boundary.
|
|
350
363
|
* Returns true if async buffering should be triggered.
|
|
@@ -392,6 +405,11 @@ export declare class ObservationalMemory implements Processor<'observational-mem
|
|
|
392
405
|
* Used by server endpoints to block until buffering completes so the UI can get final state.
|
|
393
406
|
*/
|
|
394
407
|
waitForBuffering(threadId: string | null | undefined, resourceId: string | null | undefined, timeoutMs?: number): Promise<void>;
|
|
408
|
+
private getModelToResolve;
|
|
409
|
+
private formatModelName;
|
|
410
|
+
private resolveModelContext;
|
|
411
|
+
private getRuntimeModelContext;
|
|
412
|
+
private runWithTokenCounterModelContext;
|
|
395
413
|
/**
|
|
396
414
|
* Get the full config including resolved model names.
|
|
397
415
|
* This is async because it needs to resolve the model configs.
|
|
@@ -603,8 +621,12 @@ export declare class ObservationalMemory implements Processor<'observational-mem
|
|
|
603
621
|
*/
|
|
604
622
|
private injectObservationsIntoContext;
|
|
605
623
|
/**
|
|
606
|
-
* Filter out already-observed messages from
|
|
607
|
-
*
|
|
624
|
+
* Filter out already-observed messages from the in-memory context.
|
|
625
|
+
*
|
|
626
|
+
* Marker-boundary pruning is safest at step 0 (historical resume/rebuild), where
|
|
627
|
+
* list ordering mirrors persisted history.
|
|
628
|
+
* For step > 0, the list may include mid-loop mutations (sealing/splitting/trim),
|
|
629
|
+
* so we prefer record-based fallback pruning over position-based marker pruning.
|
|
608
630
|
*/
|
|
609
631
|
private filterAlreadyObservedMessages;
|
|
610
632
|
/**
|
|
@@ -667,6 +689,15 @@ export declare class ObservationalMemory implements Processor<'observational-mem
|
|
|
667
689
|
* This ensures historical data (like LongMemEval fixtures) works correctly.
|
|
668
690
|
*/
|
|
669
691
|
private getMaxMessageTimestamp;
|
|
692
|
+
/**
|
|
693
|
+
* Compute a cursor pointing at the latest message by createdAt.
|
|
694
|
+
* Used to derive a stable observation boundary for replay pruning.
|
|
695
|
+
*/
|
|
696
|
+
private getLastObservedMessageCursor;
|
|
697
|
+
/**
|
|
698
|
+
* Check if a message is at or before a cursor (by createdAt then id).
|
|
699
|
+
*/
|
|
700
|
+
private isMessageAtOrBeforeCursor;
|
|
670
701
|
/**
|
|
671
702
|
* Wrap observations in a thread attribution tag.
|
|
672
703
|
* Used in resource scope to track which thread observations came from.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observational-memory.d.ts","sourceRoot":"","sources":["../../../src/processors/observational-memory/observational-memory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"observational-memory.d.ts","sourceRoot":"","sources":["../../../src/processors/observational-memory/observational-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { MastraDBMessage } from '@mastra/core/agent';
|
|
2
|
+
import type { CoreMessage } from '@mastra/core/llm';
|
|
2
3
|
/**
|
|
3
4
|
* The core extraction instructions for the Observer.
|
|
4
5
|
* This is exported so the Reflector can understand how observations were created.
|
|
@@ -46,18 +47,17 @@ export interface ObserverResult {
|
|
|
46
47
|
/** True if the output was detected as degenerate (repetition loop) and should be discarded/retried */
|
|
47
48
|
degenerate?: boolean;
|
|
48
49
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Format messages for the Observer's input.
|
|
51
|
-
* Includes timestamps for temporal context.
|
|
52
|
-
*/
|
|
53
50
|
export declare function formatMessagesForObserver(messages: MastraDBMessage[], options?: {
|
|
54
51
|
maxPartLength?: number;
|
|
55
52
|
}): string;
|
|
53
|
+
export declare function buildObserverHistoryMessage(messages: MastraDBMessage[]): CoreMessage;
|
|
56
54
|
/**
|
|
57
55
|
* Format messages from multiple threads for batched observation.
|
|
58
56
|
* Each thread's messages are wrapped in a <thread id="..."> block.
|
|
59
57
|
*/
|
|
60
58
|
export declare function formatMultiThreadMessagesForObserver(messagesByThread: Map<string, MastraDBMessage[]>, threadOrder: string[]): string;
|
|
59
|
+
export declare function buildMultiThreadObserverHistoryMessage(messagesByThread: Map<string, MastraDBMessage[]>, threadOrder: string[]): CoreMessage;
|
|
60
|
+
export declare function buildMultiThreadObserverTaskPrompt(existingObservations: string | undefined): string;
|
|
61
61
|
/**
|
|
62
62
|
* Build the prompt for multi-thread batched observation.
|
|
63
63
|
*/
|
|
@@ -77,6 +77,9 @@ export interface MultiThreadObserverResult {
|
|
|
77
77
|
* Parse multi-thread Observer output to extract per-thread results.
|
|
78
78
|
*/
|
|
79
79
|
export declare function parseMultiThreadObserverOutput(output: string): MultiThreadObserverResult;
|
|
80
|
+
export declare function buildObserverTaskPrompt(existingObservations: string | undefined, options?: {
|
|
81
|
+
skipContinuationHints?: boolean;
|
|
82
|
+
}): string;
|
|
80
83
|
/**
|
|
81
84
|
* Build the full prompt for the Observer agent.
|
|
82
85
|
* Includes emphasis on the most recent user message for priority handling.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observer-agent.d.ts","sourceRoot":"","sources":["../../../src/processors/observational-memory/observer-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"observer-agent.d.ts","sourceRoot":"","sources":["../../../src/processors/observational-memory/observer-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { MastraDBMessage, MessageList } from '@mastra/core/agent';
|
|
2
|
+
import type { ProcessInputStepArgs } from '@mastra/core/processors';
|
|
3
|
+
import type { BufferedObservationChunk, ObservationalMemoryRecord } from '@mastra/core/storage';
|
|
4
|
+
export declare function isOmReproCaptureEnabled(): boolean;
|
|
5
|
+
export declare function safeCaptureJson(value: unknown): unknown;
|
|
6
|
+
export declare function writeProcessInputStepReproCapture(params: {
|
|
7
|
+
threadId: string;
|
|
8
|
+
resourceId?: string;
|
|
9
|
+
stepNumber: number;
|
|
10
|
+
args: ProcessInputStepArgs;
|
|
11
|
+
preRecord: ObservationalMemoryRecord;
|
|
12
|
+
postRecord: ObservationalMemoryRecord;
|
|
13
|
+
preMessages: MastraDBMessage[];
|
|
14
|
+
preBufferedChunks: BufferedObservationChunk[];
|
|
15
|
+
preContextTokenCount: number;
|
|
16
|
+
preSerializedMessageList: ReturnType<MessageList['serialize']>;
|
|
17
|
+
postBufferedChunks: BufferedObservationChunk[];
|
|
18
|
+
postContextTokenCount: number;
|
|
19
|
+
messageList: MessageList;
|
|
20
|
+
details: Record<string, unknown>;
|
|
21
|
+
debug?: (message: string) => void;
|
|
22
|
+
}): void;
|
|
23
|
+
//# sourceMappingURL=repro-capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repro-capture.d.ts","sourceRoot":"","sources":["../../../src/processors/observational-memory/repro-capture.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAYhG,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWvD;AA0DD,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,yBAAyB,CAAC;IACrC,UAAU,EAAE,yBAAyB,CAAC;IACtC,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,iBAAiB,EAAE,wBAAwB,EAAE,CAAC;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/D,kBAAkB,EAAE,wBAAwB,EAAE,CAAC;IAC/C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,QAmFA"}
|
|
@@ -1,34 +1,59 @@
|
|
|
1
1
|
import type { MastraDBMessage } from '@mastra/core/agent';
|
|
2
2
|
import type { TiktokenBPE } from 'js-tiktoken/lite';
|
|
3
|
+
export type TokenCounterModelContext = {
|
|
4
|
+
provider?: string;
|
|
5
|
+
modelId?: string;
|
|
6
|
+
};
|
|
7
|
+
type TokenCounterOptions = {
|
|
8
|
+
model?: string | TokenCounterModelContext;
|
|
9
|
+
};
|
|
3
10
|
/**
|
|
4
11
|
* Token counting utility using tiktoken.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
12
|
+
* Uses o200k_base (GPT-4o encoding) as a reasonable default for text and
|
|
13
|
+
* provider-aware heuristics for image parts so multimodal prompts are not
|
|
14
|
+
* undercounted as generic JSON blobs.
|
|
7
15
|
*/
|
|
8
16
|
export declare class TokenCounter {
|
|
9
17
|
private encoder;
|
|
10
18
|
private readonly cacheSource;
|
|
19
|
+
private readonly defaultModelContext?;
|
|
20
|
+
private readonly modelContextStorage;
|
|
21
|
+
private readonly inFlightAttachmentCounts;
|
|
11
22
|
private static readonly TOKENS_PER_MESSAGE;
|
|
12
23
|
private static readonly TOKENS_PER_CONVERSATION;
|
|
13
|
-
constructor(encoding?: TiktokenBPE);
|
|
24
|
+
constructor(encoding?: TiktokenBPE, options?: TokenCounterOptions);
|
|
25
|
+
runWithModelContext<T>(model: string | TokenCounterModelContext | undefined, fn: () => T): T;
|
|
26
|
+
private getModelContext;
|
|
14
27
|
/**
|
|
15
28
|
* Count tokens in a plain string
|
|
16
29
|
*/
|
|
17
30
|
countString(text: string): number;
|
|
18
31
|
private readOrPersistPartEstimate;
|
|
32
|
+
private readOrPersistFixedPartEstimate;
|
|
19
33
|
private readOrPersistMessageEstimate;
|
|
20
34
|
private resolveToolResultForTokenCounting;
|
|
35
|
+
private estimateImageAssetTokens;
|
|
36
|
+
private estimateImageTokens;
|
|
37
|
+
private estimateImageLikeFileTokens;
|
|
38
|
+
private countAttachmentPartSync;
|
|
39
|
+
private buildRemoteAttachmentCachePayload;
|
|
40
|
+
private fetchProviderAttachmentTokenEstimate;
|
|
41
|
+
private countAttachmentPartAsync;
|
|
42
|
+
private countNonAttachmentPart;
|
|
21
43
|
/**
|
|
22
44
|
* Count tokens in a single message
|
|
23
45
|
*/
|
|
24
46
|
countMessage(message: MastraDBMessage): number;
|
|
47
|
+
countMessageAsync(message: MastraDBMessage): Promise<number>;
|
|
25
48
|
/**
|
|
26
49
|
* Count tokens in an array of messages
|
|
27
50
|
*/
|
|
28
51
|
countMessages(messages: MastraDBMessage[]): number;
|
|
52
|
+
countMessagesAsync(messages: MastraDBMessage[]): Promise<number>;
|
|
29
53
|
/**
|
|
30
54
|
* Count tokens in observations string
|
|
31
55
|
*/
|
|
32
56
|
countObservations(observations: string): number;
|
|
33
57
|
}
|
|
58
|
+
export {};
|
|
34
59
|
//# sourceMappingURL=token-counter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../../src/processors/observational-memory/token-counter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../../src/processors/observational-memory/token-counter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA+BpD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;CAC3C,CAAC;AAojCF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiE;IACrG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAkD;IAK3F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAM;gBAEzC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAMjE,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI5F,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMjC,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,8BAA8B;IAiBtC,OAAO,CAAC,4BAA4B;IAkBpC,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,wBAAwB;IAsEhC,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,iCAAiC;YAiC3B,oCAAoC;YAyBpC,wBAAwB;IAkFtC,OAAO,CAAC,sBAAsB;IAkF9B;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAiCxC,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAiClE;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM;IAU5C,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAOtE;;OAEG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAGhD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MemoryConfigInternal } from '@mastra/core/memory';
|
|
2
2
|
/**
|
|
3
3
|
* Deep merges two objects, with special handling for null values (delete) and arrays (replace).
|
|
4
4
|
* - Object properties are recursively merged
|
|
@@ -7,16 +7,12 @@ import type { MemoryConfig } from '@mastra/core/memory';
|
|
|
7
7
|
* - Primitive values are overwritten
|
|
8
8
|
*/
|
|
9
9
|
export declare function deepMergeWorkingMemory(existing: Record<string, unknown> | null | undefined, update: Record<string, unknown> | null | undefined): Record<string, unknown>;
|
|
10
|
-
export declare const updateWorkingMemoryTool: (memoryConfig?:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
success: boolean;
|
|
15
|
-
message?: undefined;
|
|
16
|
-
}, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, "update-working-memory", unknown>;
|
|
17
|
-
export declare const __experimental_updateWorkingMemoryToolVNext: (config: MemoryConfig) => import("@mastra/core/tools").Tool<{
|
|
10
|
+
export declare const updateWorkingMemoryTool: (memoryConfig?: MemoryConfigInternal) => import("@mastra/core/tools").Tool<{
|
|
11
|
+
memory: any;
|
|
12
|
+
}, unknown, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, "update-working-memory", unknown>;
|
|
13
|
+
export declare const __experimental_updateWorkingMemoryToolVNext: (config: MemoryConfigInternal) => import("@mastra/core/tools").Tool<{
|
|
18
14
|
newMemory?: string | undefined;
|
|
19
15
|
searchString?: string | undefined;
|
|
20
16
|
updateReason?: "append-new-memory" | "clarify-existing-memory" | "replace-irrelevant-memory" | undefined;
|
|
21
|
-
},
|
|
17
|
+
}, unknown, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, "update-working-memory", unknown>;
|
|
22
18
|
//# sourceMappingURL=working-memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"working-memory.d.ts","sourceRoot":"","sources":["../../src/tools/working-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"working-memory.d.ts","sourceRoot":"","sources":["../../src/tools/working-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAOhE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EACpD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACjD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4CzB;AAED,eAAO,MAAM,uBAAuB,GAAI,eAAe,oBAAoB;YAIjC,GAAG;6IAkK5C,CAAC;AAEF,eAAO,MAAM,2CAA2C,GAAI,QAAQ,oBAAoB;;;;6IA8GvF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/memory",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -37,31 +37,34 @@
|
|
|
37
37
|
"license": "Apache-2.0",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"async-mutex": "^0.5.0",
|
|
40
|
+
"image-size": "^2.0.2",
|
|
40
41
|
"js-tiktoken": "^1.0.21",
|
|
41
42
|
"json-schema": "^0.4.0",
|
|
42
43
|
"lru-cache": "^11.2.6",
|
|
44
|
+
"probe-image-size": "^7.2.3",
|
|
43
45
|
"xxhash-wasm": "^1.1.0",
|
|
44
|
-
"@mastra/schema-compat": "1.
|
|
46
|
+
"@mastra/schema-compat": "1.2.0"
|
|
45
47
|
},
|
|
46
48
|
"devDependencies": {
|
|
47
49
|
"@ai-sdk/openai": "^1.3.24",
|
|
48
50
|
"@ai-sdk/openai-v5": "npm:@ai-sdk/openai@2.0.89",
|
|
49
51
|
"@types/json-schema": "^7.0.15",
|
|
50
52
|
"@types/lru-cache": "^7.10.10",
|
|
51
|
-
"@types/node": "22.19.
|
|
53
|
+
"@types/node": "22.19.13",
|
|
52
54
|
"@vitest/coverage-v8": "4.0.18",
|
|
53
55
|
"@vitest/ui": "4.0.18",
|
|
54
|
-
"eslint": "^9.
|
|
56
|
+
"eslint": "^9.39.4",
|
|
55
57
|
"tsup": "^8.5.1",
|
|
56
58
|
"typescript": "^5.9.3",
|
|
57
59
|
"typescript-eslint": "^8.51.0",
|
|
58
60
|
"vitest": "4.0.18",
|
|
59
|
-
"
|
|
60
|
-
"@internal/ai-
|
|
61
|
-
"@internal/ai-sdk-v5": "0.0.
|
|
62
|
-
"@internal/
|
|
63
|
-
"@internal/
|
|
64
|
-
"@
|
|
61
|
+
"zod": "^4.3.6",
|
|
62
|
+
"@internal/ai-sdk-v4": "0.0.14",
|
|
63
|
+
"@internal/ai-sdk-v5": "0.0.14",
|
|
64
|
+
"@internal/ai-v6": "0.0.14",
|
|
65
|
+
"@internal/lint": "0.0.67",
|
|
66
|
+
"@internal/types-builder": "0.0.42",
|
|
67
|
+
"@mastra/core": "1.11.0"
|
|
65
68
|
},
|
|
66
69
|
"peerDependencies": {
|
|
67
70
|
"@mastra/core": ">=1.4.1-0 <2.0.0-0",
|
|
@@ -86,6 +89,8 @@
|
|
|
86
89
|
"test:integration": "cd integration-tests && pnpm run test",
|
|
87
90
|
"test:unit": "pnpm vitest run ./src/*",
|
|
88
91
|
"test": "pnpm test:integration && pnpm test:unit",
|
|
89
|
-
"lint": "eslint ."
|
|
92
|
+
"lint": "eslint .",
|
|
93
|
+
"analyze:om-repro": "node ./scripts/analyze-om-repro.mjs",
|
|
94
|
+
"sanitize:om-repro": "node ./scripts/sanitize-om-repro.mjs"
|
|
90
95
|
}
|
|
91
96
|
}
|