メモリ API
メモリ API は、Mastra の会話スレッドとメッセージ履歴を管理するためのメソッドを提供します。
すべてのスレッドを取得
特定のリソースに紐づくすべてのメモリスレッドを取得します。
const threads = await mastraClient.getMemoryThreads({
resourceId: "resource-1",
agentId: "agent-1",
});
新規スレッドを作成
新しいメモリスレッドを作成します:
const thread = await mastraClient.createMemoryThread({
title: "New Conversation",
metadata: { category: "support" },
resourceId: "resource-1",
agentId: "agent-1",
});
特定のスレッドを扱う
特定のメモリスレッドのインスタンスを取得します。
const thread = mastraClient.getMemoryThread("thread-id", "agent-id");
スレッドのメソッド
スレッドの詳細を取得
特定のスレッドの詳細を取得します。
const details = await thread.get();
スレッドを更新
スレッドのプロパティを更新します:
const updated = await thread.update({
title: "Updated Title",
metadata: { status: "resolved" },
resourceId: "resource-1",
});
スレッドの削除
スレッドとそのメッセージを削除します:
await thread.delete();
メッセージの操作
メッセージを保存
メッセージをメモリに保存します:
const savedMessages = await mastraClient.saveMessageToMemory({
messages: [
{
role: "user",
content: "Hello!",
id: "1",
threadId: "thread-1",
createdAt: new Date(),
type: "text",
},
],
agentId: "agent-1",
});
スレッドメッセージの取得
メモリスレッドに関連するメッセージを取得します:
// スレッド内のすべてのメッセージを取得
const { messages } = await thread.getMessages();
// 取得するメッセージ数を制限
const { messages } = await thread.getMessages({ limit: 10 });
メッセージを削除する
スレッドから特定のメッセージを削除します:
const result = await thread.deleteMessage("message-id");
// Returns: { success: true, message: "Message deleted successfully" }
複数のメッセージを削除する
1 回の操作でスレッドから複数のメッセージを削除します:
const result = await thread.deleteMessages(["message-1", "message-2", "message-3"]);
// 戻り値: { success: true, message: "メッセージを 3 件削除しました" }
メモリの状態を取得
メモリシステムの状態を確認します:
const status = await mastraClient.getMemoryStatus("agent-id");