deleteMessages
Deletes one or more messages from the memory storage. This method accepts arrays to delete multiple messages in a single operation.
Syntax
memory.deleteMessages(input: MessageDeleteInput): Promise<void>
type MessageDeleteInput =
| string[] // Array of message IDs
| { id: string }[] // Array of message objects
Parameters
input
(required): An array of messages to delete. Must be either:- An array of message IDs (strings)
- An array of message objects with
id
properties
Returns
A Promise that resolves when all messages have been successfully deleted.
Examples
Delete a single message
// Using an array with a single string ID
await memory.deleteMessages(['msg-123']);
// Using an array with a single message object
await memory.deleteMessages([{ id: 'msg-123' }]);
Delete multiple messages
// Using an array of string IDs
await memory.deleteMessages(['msg-1', 'msg-2', 'msg-3']);
// Using an array of message objects
await memory.deleteMessages([
{ id: 'msg-1' },
{ id: 'msg-2' },
{ id: 'msg-3' }
]);
Using with client SDK
// Get a thread instance
const thread = client.getAgent('my-agent').getThread('thread-123');
// Delete a single message
await thread.deleteMessages(['msg-123']);
// Delete multiple messages
await thread.deleteMessages(['msg-1', 'msg-2', 'msg-3']);
// Delete using message objects (useful when you have message data)
const messagesToDelete = messages.map(msg => ({ id: msg.id }));
await thread.deleteMessages(messagesToDelete);
Error handling
try {
await memory.deleteMessages(['msg-1', 'msg-2', 'msg-3']);
console.log('Messages deleted successfully');
} catch (error) {
console.error('Failed to delete messages:', error);
}
Notes
- This method requires an array as input, even when deleting a single message
- Thread timestamps are automatically updated when messages are deleted
- The method automatically extracts message IDs from message objects
- All message IDs must be non-empty strings
- An empty array will result in no operation (no error thrown)
- Messages from different threads can be deleted in the same operation
- When using message objects, only the
id
property is required