POST /api/projects/:id/doc-content/:nodeId/artifacts/:contentItemId/generate — Сгенерировать артефакт (SSE)
Как открыть: откройте проект → вид «Дизайн-документ» → блок → разверните нужный артефакт → нажмите «Оглавление» (набросок плана) или «Полный текст» (развёрнутая версия). Текст выводится потоком, по мере написания.
Пишет содержимое одного артефакта блока. Есть два режима: «оглавление» — короткий план-каркас, и «полный текст» — развёрнутый материал. В контекст идут метаданные проекта, описание блока, уже написанные соседние артефакты этого блока (для связности) и, если у артефакта уже был план, он разворачивается в полный текст. Готовый артефакт можно затем дописать вручную через редактирование.
Текст отдаётся потоком и дописывается в реальном времени. По завершении новая версия сохраняется, а прежний текст артефакта уходит в историю — то есть генерацию всегда можно откатить. Есть и более тщательный режим качества (дольше, но аккуратнее).
Кто может. Генерировать артефакт может только владелец проекта (RP-118). Менеджер спейса, наблюдатель и администратор организации за владельца документ не генерируют; гость — только если проект его собственный.
Связанные
Машинная сводка (HTTP, таблицы, связанные требования)
| Поле | Значение |
|---|---|
| HTTP | POST /api/projects/:id/doc-content/:nodeId/artifacts/:contentItemId/generate |
| Auth | optionalAuth, requireProjectAccess — гость + авторизованный, доступ к проекту (read/write) |
| Scope токена | read_write |
| PG-функции | api.get_artifact_doc_content, api.upsert_artifact_doc_content |
| Таблицы | artifact_doc_content, project_node, content_item |
| SRM | SRM-210 |
| RP (права) | RP-118 |
| Файл роута | server/routes/projects.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
mode | query | подтвердить | |
quality | query | подтвердить |
Коды ответов/ошибок (из хендлера): 202, 403, 429, 500 (+ 200) — уточнить причины вручную