# Недоделки — начать отсюда

## Задача (исходный запрос)
Продолжить оптимизацию из AUDIT-PERFORMANCE.md и AGENTS.MD.

## Сделано
- Динамический import для pdf-parse в `manager.ts` — загрузка только при парсинге PDF
- Обновлён AUDIT-PERFORMANCE.md с отметками о выполненных пунктах

## Осталось сделать (в порядке приоритета)

1. **Миграция 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.

2. **Опционально: 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`
