POST /api/projects/:id/generate — Сгенерировать граф (SSE)
Как открыть: из списка проектов откройте проект — попадёте на экран графа. Если граф ещё пуст, на нём есть кнопка генерации; если граф уже построен — кнопка перегенерации. Здесь же при необходимости задают подсказку и выбирают качество.
Раскладывает описание задачи на граф: продукт подбирает нужные блоки коллекции, пишет к каждому описание с ролями и проставляет связи между ними. Прогресс виден сразу — этапы (подбор блоков, описания, связи) сменяют друг друга, узлы и стрелки появляются на холсте по мере готовности, а не все разом в конце.
Перегенерация полностью заменяет текущий граф. Можно задать подсказку — короткое пожелание к этому прогону (например «упор на безопасность» или «без этапа деплоя»), до 10000 символов; длиннее — ошибка 400.
Качество:
- Быстрое — один проход, дешевле и быстрее.
- Pro — режим повышенного качества: продукт строит несколько вариантов и выбирает лучший с доработкой. Точнее, но заметно дольше и дороже.
Кто может. Перегенерировать граф может тот, кто вправе его менять: владелец проекта (write-доступ) или гость — но только свой проект в гостевом спейсе. Наблюдатель и читатель без права записи получат 403.
Связанные
- Экраны: Создание проекта
- Конвенции · Роли · Ошибки · Глоссарий
Машинная сводка (HTTP, таблицы, связанные требования)
| Поле | Значение |
|---|---|
| HTTP | POST /api/projects/:id/generate |
| Auth | optionalAuth, requireProjectAccess — гость + авторизованный, доступ к проекту (read/write) |
| Scope токена | read_write |
| PG-функции | api.update_project_status, api.replace_project_graph |
| Таблицы | project, space_block, collection_prompt, space_specialty, project_node, project_edge, project_node_role, content_item |
| SRM | SRM-011, SRM-012, SRM-013, SRM-014 |
| RP (права) | RP-001, RP-002, RP-014 |
| Файл роута | server/routes/projects.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
instruction | body | подтвердить | |
quality | body | подтвердить | |
mode | query | подтвердить |
Коды ответов/ошибок (из хендлера): 202, 400, 403, 429, 500 (+ 200) — уточнить причины вручную