@mastra/memory 1.0.0-beta.1 → 1.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/CHANGELOG.md +355 -0
  2. package/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +7549 -0
  3. package/dist/chunk-DGUM43GV.js +10 -0
  4. package/dist/chunk-DGUM43GV.js.map +1 -0
  5. package/dist/chunk-JEQ2X3Z6.cjs +12 -0
  6. package/dist/chunk-JEQ2X3Z6.cjs.map +1 -0
  7. package/dist/chunk-KMQS2YEC.js +79 -0
  8. package/dist/chunk-KMQS2YEC.js.map +1 -0
  9. package/dist/chunk-MMUHFOCG.js +79 -0
  10. package/dist/chunk-MMUHFOCG.js.map +1 -0
  11. package/dist/chunk-QY6BZOPJ.js +250 -0
  12. package/dist/chunk-QY6BZOPJ.js.map +1 -0
  13. package/dist/chunk-SG3GRV3O.cjs +84 -0
  14. package/dist/chunk-SG3GRV3O.cjs.map +1 -0
  15. package/dist/chunk-W72AYUIF.cjs +252 -0
  16. package/dist/chunk-W72AYUIF.cjs.map +1 -0
  17. package/dist/chunk-WC4XBMZT.js +250 -0
  18. package/dist/chunk-WC4XBMZT.js.map +1 -0
  19. package/dist/chunk-YMNW6DEN.cjs +252 -0
  20. package/dist/chunk-YMNW6DEN.cjs.map +1 -0
  21. package/dist/chunk-ZUQPUTTO.cjs +84 -0
  22. package/dist/chunk-ZUQPUTTO.cjs.map +1 -0
  23. package/dist/docs/README.md +36 -0
  24. package/dist/docs/SKILL.md +42 -0
  25. package/dist/docs/SOURCE_MAP.json +31 -0
  26. package/dist/docs/agents/01-agent-memory.md +160 -0
  27. package/dist/docs/agents/02-networks.md +236 -0
  28. package/dist/docs/agents/03-agent-approval.md +317 -0
  29. package/dist/docs/core/01-reference.md +114 -0
  30. package/dist/docs/memory/01-overview.md +76 -0
  31. package/dist/docs/memory/02-storage.md +181 -0
  32. package/dist/docs/memory/03-working-memory.md +386 -0
  33. package/dist/docs/memory/04-semantic-recall.md +235 -0
  34. package/dist/docs/memory/05-memory-processors.md +319 -0
  35. package/dist/docs/memory/06-reference.md +617 -0
  36. package/dist/docs/processors/01-reference.md +81 -0
  37. package/dist/docs/storage/01-reference.md +972 -0
  38. package/dist/docs/vectors/01-reference.md +929 -0
  39. package/dist/index.cjs +14845 -115
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.ts +145 -5
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +14807 -119
  44. package/dist/index.js.map +1 -1
  45. package/dist/token-6GSAFR2W-JV3TZR4M.cjs +63 -0
  46. package/dist/token-6GSAFR2W-JV3TZR4M.cjs.map +1 -0
  47. package/dist/token-6GSAFR2W-K2BTU23I.js +61 -0
  48. package/dist/token-6GSAFR2W-K2BTU23I.js.map +1 -0
  49. package/dist/token-6GSAFR2W-VLY2XUPA.js +61 -0
  50. package/dist/token-6GSAFR2W-VLY2XUPA.js.map +1 -0
  51. package/dist/token-6GSAFR2W-YCB5SK2Z.cjs +63 -0
  52. package/dist/token-6GSAFR2W-YCB5SK2Z.cjs.map +1 -0
  53. package/dist/token-util-NEHG7TUY-7IL6JUVY.cjs +10 -0
  54. package/dist/token-util-NEHG7TUY-7IL6JUVY.cjs.map +1 -0
  55. package/dist/token-util-NEHG7TUY-HF7KBP2H.cjs +10 -0
  56. package/dist/token-util-NEHG7TUY-HF7KBP2H.cjs.map +1 -0
  57. package/dist/token-util-NEHG7TUY-KSXDO2NO.js +8 -0
  58. package/dist/token-util-NEHG7TUY-KSXDO2NO.js.map +1 -0
  59. package/dist/token-util-NEHG7TUY-TIJ3LMSH.js +8 -0
  60. package/dist/token-util-NEHG7TUY-TIJ3LMSH.js.map +1 -0
  61. package/dist/tools/working-memory.d.ts +10 -2
  62. package/dist/tools/working-memory.d.ts.map +1 -1
  63. package/package.json +19 -25
  64. package/dist/processors/index.cjs +0 -165
  65. package/dist/processors/index.cjs.map +0 -1
  66. package/dist/processors/index.d.ts +0 -3
  67. package/dist/processors/index.d.ts.map +0 -1
  68. package/dist/processors/index.js +0 -158
  69. package/dist/processors/index.js.map +0 -1
  70. package/dist/processors/token-limiter.d.ts +0 -32
  71. package/dist/processors/token-limiter.d.ts.map +0 -1
  72. package/dist/processors/tool-call-filter.d.ts +0 -20
  73. package/dist/processors/tool-call-filter.d.ts.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,20 +1,27 @@
1
+ import { embedMany } from './_types/@internal_ai-sdk-v4/dist/index.js';
1
2
  import type { MastraDBMessage } from '@mastra/core/agent';
3
+ import type { MemoryConfig, SharedMemoryConfig, StorageThreadType, WorkingMemoryTemplate, MessageDeleteInput } from '@mastra/core/memory';
2
4
  import { MastraMemory } from '@mastra/core/memory';
3
- import type { MastraMessageV1, MemoryConfig, SharedMemoryConfig, StorageThreadType, WorkingMemoryTemplate, MessageDeleteInput } from '@mastra/core/memory';
4
- import type { StorageListThreadsByResourceIdOutput, StorageListThreadsByResourceIdInput, StorageListMessagesInput } from '@mastra/core/storage';
5
+ import type { StorageListThreadsByResourceIdOutput, StorageListThreadsByResourceIdInput, StorageListMessagesInput, MemoryStorage, StorageCloneThreadInput, StorageCloneThreadOutput, ThreadCloneMetadata } from '@mastra/core/storage';
5
6
  import type { ToolAction } from '@mastra/core/tools';
6
- import { embedMany } from 'ai';
7
+ import { deepMergeWorkingMemory } from './tools/working-memory.js';
8
+ export { deepMergeWorkingMemory };
9
+ export { extractWorkingMemoryTags, extractWorkingMemoryContent, removeWorkingMemoryTags } from '@mastra/core/memory';
7
10
  /**
8
11
  * Concrete implementation of MastraMemory that adds support for thread configuration
9
12
  * and message injection.
10
13
  */
11
14
  export declare class Memory extends MastraMemory {
12
15
  constructor(config?: SharedMemoryConfig);
16
+ /**
17
+ * Gets the memory storage domain, throwing if not available.
18
+ */
19
+ protected getMemoryStore(): Promise<MemoryStorage>;
13
20
  protected validateThreadIsOwnedByResource(threadId: string, resourceId: string, config: MemoryConfig): Promise<void>;
14
- protected checkStorageFeatureSupport(config: MemoryConfig): void;
15
21
  recall(args: StorageListMessagesInput & {
16
22
  threadConfig?: MemoryConfig;
17
23
  vectorSearchString?: string;
24
+ threadId: string;
18
25
  }): Promise<{
19
26
  messages: MastraDBMessage[];
20
27
  }>;
@@ -69,7 +76,6 @@ export declare class Memory extends MastraMemory {
69
76
  }): Promise<{
70
77
  messages: MastraDBMessage[];
71
78
  }>;
72
- protected updateMessageToHideWorkingMemory(message: MastraMessageV1): MastraMessageV1 | null;
73
79
  protected updateMessageToHideWorkingMemoryV2(message: MastraDBMessage): MastraDBMessage | null;
74
80
  protected parseWorkingMemory(text: string): string | null;
75
81
  getWorkingMemory({ threadId, resourceId, memoryConfig, }: {
@@ -121,5 +127,139 @@ export declare class Memory extends MastraMemory {
121
127
  * @returns Promise that resolves when all messages are deleted
122
128
  */
123
129
  deleteMessages(input: MessageDeleteInput): Promise<void>;
130
+ /**
131
+ * Clone a thread and its messages to create a new independent thread.
132
+ * The cloned thread will have metadata tracking its source.
133
+ *
134
+ * If semantic recall is enabled, the cloned messages will also be embedded
135
+ * and added to the vector store for semantic search.
136
+ *
137
+ * @param args - Clone configuration options
138
+ * @param args.sourceThreadId - ID of the thread to clone
139
+ * @param args.newThreadId - ID for the new cloned thread (if not provided, a random UUID will be generated)
140
+ * @param args.resourceId - Resource ID for the new thread (defaults to source thread's resourceId)
141
+ * @param args.title - Title for the new cloned thread
142
+ * @param args.metadata - Additional metadata to merge with clone metadata
143
+ * @param args.options - Options for filtering which messages to include
144
+ * @param args.options.messageLimit - Maximum number of messages to copy (from most recent)
145
+ * @param args.options.messageFilter - Filter messages by date range or specific IDs
146
+ * @param memoryConfig - Optional memory configuration override
147
+ * @returns The newly created thread and the cloned messages
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * // Clone entire thread
152
+ * const { thread, clonedMessages } = await memory.cloneThread({
153
+ * sourceThreadId: 'thread-123',
154
+ * });
155
+ *
156
+ * // Clone with custom ID
157
+ * const { thread, clonedMessages } = await memory.cloneThread({
158
+ * sourceThreadId: 'thread-123',
159
+ * newThreadId: 'my-custom-thread-id',
160
+ * });
161
+ *
162
+ * // Clone with message limit
163
+ * const { thread, clonedMessages } = await memory.cloneThread({
164
+ * sourceThreadId: 'thread-123',
165
+ * title: 'My cloned conversation',
166
+ * options: {
167
+ * messageLimit: 10, // Only clone last 10 messages
168
+ * },
169
+ * });
170
+ *
171
+ * // Clone with date filter
172
+ * const { thread, clonedMessages } = await memory.cloneThread({
173
+ * sourceThreadId: 'thread-123',
174
+ * options: {
175
+ * messageFilter: {
176
+ * startDate: new Date('2024-01-01'),
177
+ * endDate: new Date('2024-06-01'),
178
+ * },
179
+ * },
180
+ * });
181
+ * ```
182
+ */
183
+ cloneThread(args: StorageCloneThreadInput, memoryConfig?: MemoryConfig): Promise<StorageCloneThreadOutput>;
184
+ /**
185
+ * Embed cloned messages for semantic recall.
186
+ * This is similar to the embedding logic in saveMessages but operates on already-saved messages.
187
+ */
188
+ private embedClonedMessages;
189
+ /**
190
+ * Get the clone metadata from a thread if it was cloned from another thread.
191
+ *
192
+ * @param thread - The thread to check
193
+ * @returns The clone metadata if the thread is a clone, null otherwise
194
+ *
195
+ * @example
196
+ * ```typescript
197
+ * const thread = await memory.getThreadById({ threadId: 'thread-123' });
198
+ * const cloneInfo = memory.getCloneMetadata(thread);
199
+ * if (cloneInfo) {
200
+ * console.log(`This thread was cloned from ${cloneInfo.sourceThreadId}`);
201
+ * }
202
+ * ```
203
+ */
204
+ getCloneMetadata(thread: StorageThreadType | null): ThreadCloneMetadata | null;
205
+ /**
206
+ * Check if a thread is a clone of another thread.
207
+ *
208
+ * @param thread - The thread to check
209
+ * @returns True if the thread is a clone, false otherwise
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * const thread = await memory.getThreadById({ threadId: 'thread-123' });
214
+ * if (memory.isClone(thread)) {
215
+ * console.log('This is a cloned thread');
216
+ * }
217
+ * ```
218
+ */
219
+ isClone(thread: StorageThreadType | null): boolean;
220
+ /**
221
+ * Get the source thread that a cloned thread was created from.
222
+ *
223
+ * @param threadId - ID of the cloned thread
224
+ * @returns The source thread if found, null if the thread is not a clone or source doesn't exist
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * const sourceThread = await memory.getSourceThread('cloned-thread-123');
229
+ * if (sourceThread) {
230
+ * console.log(`Original thread: ${sourceThread.title}`);
231
+ * }
232
+ * ```
233
+ */
234
+ getSourceThread(threadId: string): Promise<StorageThreadType | null>;
235
+ /**
236
+ * List all threads that were cloned from a specific source thread.
237
+ *
238
+ * @param sourceThreadId - ID of the source thread
239
+ * @param resourceId - Optional resource ID to filter by
240
+ * @returns Array of threads that are clones of the source thread
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * const clones = await memory.listClones('original-thread-123', 'user-456');
245
+ * console.log(`Found ${clones.length} clones of this thread`);
246
+ * ```
247
+ */
248
+ listClones(sourceThreadId: string, resourceId?: string): Promise<StorageThreadType[]>;
249
+ /**
250
+ * Get the clone history chain for a thread (all ancestors back to the original).
251
+ *
252
+ * @param threadId - ID of the thread to get history for
253
+ * @returns Array of threads from oldest ancestor to the given thread (inclusive)
254
+ *
255
+ * @example
256
+ * ```typescript
257
+ * const history = await memory.getCloneHistory('deeply-cloned-thread');
258
+ * // Returns: [originalThread, firstClone, secondClone, deeplyClonedThread]
259
+ * ```
260
+ */
261
+ getCloneHistory(threadId: string): Promise<StorageThreadType[]>;
124
262
  }
263
+ export { SemanticRecall, WorkingMemory, MessageHistory } from '@mastra/core/processors';
264
+ export type { StorageCloneThreadInput, StorageCloneThreadOutput, ThreadCloneMetadata } from '@mastra/core/storage';
125
265
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}