@mastra/memory 1.0.0-beta.8 → 1.0.0

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/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { embedMany } from './_types/@internal_ai-sdk-v4/dist/index.js';
2
2
  import type { MastraDBMessage } from '@mastra/core/agent';
3
3
  import type { MemoryConfig, SharedMemoryConfig, StorageThreadType, WorkingMemoryTemplate, MessageDeleteInput } from '@mastra/core/memory';
4
4
  import { MastraMemory } from '@mastra/core/memory';
5
- import type { StorageListThreadsByResourceIdOutput, StorageListThreadsByResourceIdInput, StorageListMessagesInput, MemoryStorage } from '@mastra/core/storage';
5
+ import type { StorageListThreadsInput, StorageListThreadsOutput, StorageListMessagesInput, MemoryStorage, StorageCloneThreadInput, StorageCloneThreadOutput, ThreadCloneMetadata } from '@mastra/core/storage';
6
6
  import type { ToolAction } from '@mastra/core/tools';
7
7
  import { deepMergeWorkingMemory } from './tools/working-memory.js';
8
8
  export { deepMergeWorkingMemory };
@@ -28,7 +28,7 @@ export declare class Memory extends MastraMemory {
28
28
  getThreadById({ threadId }: {
29
29
  threadId: string;
30
30
  }): Promise<StorageThreadType | null>;
31
- listThreadsByResourceId(args: StorageListThreadsByResourceIdInput): Promise<StorageListThreadsByResourceIdOutput>;
31
+ listThreads(args: StorageListThreadsInput): Promise<StorageListThreadsOutput>;
32
32
  private handleWorkingMemoryFromMetadata;
33
33
  saveThread({ thread, memoryConfig, }: {
34
34
  thread: StorageThreadType;
@@ -110,14 +110,19 @@ export declare class Memory extends MastraMemory {
110
110
  private isVNextWorkingMemoryConfig;
111
111
  listTools(config?: MemoryConfig): Record<string, ToolAction<any, any, any>>;
112
112
  /**
113
- * Updates the metadata of a list of messages
114
- * @param messages - The list of messages to update
113
+ * Updates a list of messages and syncs the vector database for semantic recall.
114
+ * When message content is updated, the corresponding vector embeddings are also updated
115
+ * to ensure semantic recall stays in sync with the message content.
116
+ *
117
+ * @param messages - The list of messages to update (must include id, can include partial content)
118
+ * @param memoryConfig - Optional memory configuration to determine if semantic recall is enabled
115
119
  * @returns The list of updated messages
116
120
  */
117
- updateMessages({ messages, }: {
118
- messages: Partial<MastraDBMessage> & {
121
+ updateMessages({ messages, memoryConfig, }: {
122
+ messages: (Partial<MastraDBMessage> & {
119
123
  id: string;
120
- }[];
124
+ })[];
125
+ memoryConfig?: MemoryConfig;
121
126
  }): Promise<MastraDBMessage[]>;
122
127
  /**
123
128
  * Deletes one or more messages
@@ -127,6 +132,139 @@ export declare class Memory extends MastraMemory {
127
132
  * @returns Promise that resolves when all messages are deleted
128
133
  */
129
134
  deleteMessages(input: MessageDeleteInput): Promise<void>;
135
+ /**
136
+ * Clone a thread and its messages to create a new independent thread.
137
+ * The cloned thread will have metadata tracking its source.
138
+ *
139
+ * If semantic recall is enabled, the cloned messages will also be embedded
140
+ * and added to the vector store for semantic search.
141
+ *
142
+ * @param args - Clone configuration options
143
+ * @param args.sourceThreadId - ID of the thread to clone
144
+ * @param args.newThreadId - ID for the new cloned thread (if not provided, a random UUID will be generated)
145
+ * @param args.resourceId - Resource ID for the new thread (defaults to source thread's resourceId)
146
+ * @param args.title - Title for the new cloned thread
147
+ * @param args.metadata - Additional metadata to merge with clone metadata
148
+ * @param args.options - Options for filtering which messages to include
149
+ * @param args.options.messageLimit - Maximum number of messages to copy (from most recent)
150
+ * @param args.options.messageFilter - Filter messages by date range or specific IDs
151
+ * @param memoryConfig - Optional memory configuration override
152
+ * @returns The newly created thread and the cloned messages
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * // Clone entire thread
157
+ * const { thread, clonedMessages } = await memory.cloneThread({
158
+ * sourceThreadId: 'thread-123',
159
+ * });
160
+ *
161
+ * // Clone with custom ID
162
+ * const { thread, clonedMessages } = await memory.cloneThread({
163
+ * sourceThreadId: 'thread-123',
164
+ * newThreadId: 'my-custom-thread-id',
165
+ * });
166
+ *
167
+ * // Clone with message limit
168
+ * const { thread, clonedMessages } = await memory.cloneThread({
169
+ * sourceThreadId: 'thread-123',
170
+ * title: 'My cloned conversation',
171
+ * options: {
172
+ * messageLimit: 10, // Only clone last 10 messages
173
+ * },
174
+ * });
175
+ *
176
+ * // Clone with date filter
177
+ * const { thread, clonedMessages } = await memory.cloneThread({
178
+ * sourceThreadId: 'thread-123',
179
+ * options: {
180
+ * messageFilter: {
181
+ * startDate: new Date('2024-01-01'),
182
+ * endDate: new Date('2024-06-01'),
183
+ * },
184
+ * },
185
+ * });
186
+ * ```
187
+ */
188
+ cloneThread(args: StorageCloneThreadInput, memoryConfig?: MemoryConfig): Promise<StorageCloneThreadOutput>;
189
+ /**
190
+ * Embed cloned messages for semantic recall.
191
+ * This is similar to the embedding logic in saveMessages but operates on already-saved messages.
192
+ */
193
+ private embedClonedMessages;
194
+ /**
195
+ * Get the clone metadata from a thread if it was cloned from another thread.
196
+ *
197
+ * @param thread - The thread to check
198
+ * @returns The clone metadata if the thread is a clone, null otherwise
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * const thread = await memory.getThreadById({ threadId: 'thread-123' });
203
+ * const cloneInfo = memory.getCloneMetadata(thread);
204
+ * if (cloneInfo) {
205
+ * console.log(`This thread was cloned from ${cloneInfo.sourceThreadId}`);
206
+ * }
207
+ * ```
208
+ */
209
+ getCloneMetadata(thread: StorageThreadType | null): ThreadCloneMetadata | null;
210
+ /**
211
+ * Check if a thread is a clone of another thread.
212
+ *
213
+ * @param thread - The thread to check
214
+ * @returns True if the thread is a clone, false otherwise
215
+ *
216
+ * @example
217
+ * ```typescript
218
+ * const thread = await memory.getThreadById({ threadId: 'thread-123' });
219
+ * if (memory.isClone(thread)) {
220
+ * console.log('This is a cloned thread');
221
+ * }
222
+ * ```
223
+ */
224
+ isClone(thread: StorageThreadType | null): boolean;
225
+ /**
226
+ * Get the source thread that a cloned thread was created from.
227
+ *
228
+ * @param threadId - ID of the cloned thread
229
+ * @returns The source thread if found, null if the thread is not a clone or source doesn't exist
230
+ *
231
+ * @example
232
+ * ```typescript
233
+ * const sourceThread = await memory.getSourceThread('cloned-thread-123');
234
+ * if (sourceThread) {
235
+ * console.log(`Original thread: ${sourceThread.title}`);
236
+ * }
237
+ * ```
238
+ */
239
+ getSourceThread(threadId: string): Promise<StorageThreadType | null>;
240
+ /**
241
+ * List all threads that were cloned from a specific source thread.
242
+ *
243
+ * @param sourceThreadId - ID of the source thread
244
+ * @param resourceId - Optional resource ID to filter by
245
+ * @returns Array of threads that are clones of the source thread
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * const clones = await memory.listClones('original-thread-123', 'user-456');
250
+ * console.log(`Found ${clones.length} clones of this thread`);
251
+ * ```
252
+ */
253
+ listClones(sourceThreadId: string, resourceId?: string): Promise<StorageThreadType[]>;
254
+ /**
255
+ * Get the clone history chain for a thread (all ancestors back to the original).
256
+ *
257
+ * @param threadId - ID of the thread to get history for
258
+ * @returns Array of threads from oldest ancestor to the given thread (inclusive)
259
+ *
260
+ * @example
261
+ * ```typescript
262
+ * const history = await memory.getCloneHistory('deeply-cloned-thread');
263
+ * // Returns: [originalThread, firstClone, secondClone, deeplyClonedThread]
264
+ * ```
265
+ */
266
+ getCloneHistory(threadId: string): Promise<StorageThreadType[]>;
130
267
  }
131
268
  export { SemanticRecall, WorkingMemory, MessageHistory } from '@mastra/core/processors';
269
+ export type { StorageCloneThreadInput, StorageCloneThreadOutput, ThreadCloneMetadata } from '@mastra/core/storage';
132
270
  //# 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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"}