- Бот запоминает участников (имя, фамилия, ник, активность) и ID автора каждого сообщения - Упоминания в вопросе (@ник и по имени-ссылке) передаются модели с данными участника - Новые инструменты агента: list_chat_members, read_member_messages (поиск по нику/имени) - Бот обращается к людям по имени - Промпты вынесены в prompts/system.md и prompts/personas/<id>.md - Личности больше не редактируются из чата: скрипт seed синхронизирует их с БД при старте - Оставлена одна личность boltun (Dirty D) - Миграция старых баз: колонка messages.user_id Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
15 lines
602 B
TypeScript
15 lines
602 B
TypeScript
import type { ChatMessage } from "../../types.js";
|
|
|
|
export const formatTime = (unixSeconds: number): string =>
|
|
new Date(unixSeconds * 1000).toISOString().slice(0, 16).replace("T", " ");
|
|
|
|
/** Сообщения чата в текстовом виде для контекста модели. */
|
|
export const formatChatMessages = (messages: ChatMessage[]): string =>
|
|
messages
|
|
.map((m) => {
|
|
const reply = m.replyToMessageId ? ` (ответ на #${m.replyToMessageId})` : "";
|
|
|
|
return `#${m.messageId} [${formatTime(m.date)} UTC] ${m.author}${reply}: ${m.text}`;
|
|
})
|
|
.join("\n");
|