From c9865536a3738981b691fcea80db7b4647a6c990 Mon Sep 17 00:00:00 2001 From: p-sw Date: Wed, 10 Jun 2026 23:40:18 +0900 Subject: [PATCH] feat: implement MessageHistory structure --- src/brain/messageHistory.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/brain/messageHistory.ts diff --git a/src/brain/messageHistory.ts b/src/brain/messageHistory.ts new file mode 100644 index 0000000..3629fc3 --- /dev/null +++ b/src/brain/messageHistory.ts @@ -0,0 +1,26 @@ +export type MessageSender = "persona" | "user"; + +export interface MessageHistoryEntry { + sender: MessageSender; + time: Date; + content: string; +} + +function formatTime(time: Date): string { + const pad = (n: number) => n.toString().padStart(2, "0"); + return `${time.getFullYear()}-${pad(time.getMonth() + 1)}-${pad( + time.getDate(), + )} ${pad(time.getHours())}:${pad(time.getMinutes())}:${pad(time.getSeconds())}`; +} + +export function translateMessageHistory( + personaName: string, + entries: ReadonlyArray, +): string { + return entries + .map((entry) => { + const label = entry.sender === "persona" ? personaName : "사용자"; + return `${label}@${formatTime(entry.time)}: ${entry.content}`; + }) + .join("\n"); +}