POST /api/projects/:id/doc-content/generate-all — Сгенерировать весь документ (SSE)
Как открыть: откройте проект → вкладка «Doc» (▧) → в верхней панели документа нажмите «Сгенерировать весь документ». Запросит подтверждение (все блоки будут перегенерированы), затем пойдёт по блокам один за другим.
«Красная кнопка»: пишет текст сразу всему документу. Блоки генерируются не в произвольном порядке, а по графу зависимостей (топологическая сортировка) — каждый следующий блок получает в контекст уже готовый текст своих предшественников, так что документ выходит связным от начала до конца.
Что вы видите: индикатор прогресса «блок X из Y» и текст, который течёт по текущему блоку. Перед запуском снимается снимок документа, а старые тексты блоков уходят в историю — откатить можно. Процесс можно «Остановить»: уже готовые блоки сохранены, текущий — частично; и потом «Продолжить генерацию» — она начнёт с первого незаполненного блока, готовые не трогает.
Полная генерация — действие владельца проекта. Менеджер спейса и админ организации не запускают её за владельца. Точные правила — RP-113, RP-114.
Связанные
Машинная сводка (HTTP, таблицы, связанные требования)
| Поле | Значение |
|---|---|
| HTTP | POST /api/projects/:id/doc-content/generate-all |
| Auth | optionalAuth, requireProjectAccess — гость + авторизованный, доступ к проекту (read/write) |
| Scope токена | read_write |
| PG-функции | api.get_block_prerequisites_content, api.upsert_block_doc_content |
| Таблицы | block_doc_content, block_doc_content_history, project_edge, project_node |
| SRM | SRM-200, SRM-201 |
| RP (права) | RP-113, RP-114 |
| Файл роута | server/routes/projects.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
mode | query | подтвердить | |
quality | query | подтвердить | |
resume | query | подтвердить |
Коды ответов/ошибок (из хендлера): 202, 403, 429, 500 (+ 200) — уточнить причины вручную