- Статья: заголовок + ссылка (truncate), title в URL, articleTitle в Message - Локализация Sources, Research Progress, Answer, шагов, formingAnswer - Подсказки: промпт без жёсткого примера, разнообразие, label 'Что ещё спросить' - embeddedTranslations, countryToLocale, locale инструкция для LLM Co-authored-by: Cursor <cursoragent@cursor.com>
1.7 KiB
1.7 KiB
Недоделки — начать отсюда
Задача (исходный запрос)
Продолжить оптимизацию из AUDIT-PERFORMANCE.md и AGENTS.MD.
Сделано
- Динамический import для pdf-parse в
manager.ts— загрузка только при парсинге PDF - Обновлён AUDIT-PERFORMANCE.md с отметками о выполненных пунктах
Осталось сделать (в порядке приоритета)
-
Миграция better-sqlite3 → libsql — приоритет по audit (отложено).
- Блокировщик:
src/lib/db/migrate.tsиспользует better-sqlite3 (sync API). Нужна полная переработка под async libsql перед миграцией db/index.ts. - Файлы:
src/lib/db/index.ts,src/lib/db/migrate.ts,drizzle.config.ts,package.json - Шаги: переписать migrate.ts на createClient из @libsql/client, затем заменить в index.ts.
- Блокировщик:
-
Опционально: pdf-parse в worker — отложено из‑за Turbopack.
- Текущий подход (динамический import) уже снимает нагрузку со старта.
- Worker через child_process требует отдельный .cjs в известном path; Turbopack трассирует fork() и падает. Варианты: сборка с webpack для route uploads или вынос в отдельный Node‑сервис.
Контекст для продолжения
- Изменённые файлы:
apps/frontend/src/lib/uploads/manager.ts - db используется в:
api/chat,api/chats,api/chats/[id],lib/agents/search