POST /api/projects/:id/doc-content/:nodeId/inline-edit — Точечная правка блока (SSE)
Как открыть: откройте проект → вкладка «Doc» (▧) → в тексте блока выделите фрагмент мышью → во всплывающей подсказке впишите, что с ним сделать («сократи», «добавь пример», «формальнее»), и подтвердите.
Точечная правка: вы указываете на конкретный кусок текста и говорите, как его изменить, — переписывается весь блок целиком, но прицельно вокруг вашего выделения и инструкции. В контекст идут весь текст блока, выделенный фрагмент, ваша инструкция и тексты блоков-предшественников, так что правка остаётся согласованной с остальным документом.
Результат течёт потоком и заменяет текст блока целиком. Прежняя версия уходит в историю с пометкой «правка по выделению», поэтому изменение легко отменить (Ctrl+Z или «Отменить»). Инструкция — до 1000 символов, выделение — до 5000. Доступно владельцу проекта (и гостю — в своём проекте). Точные правила — RP-112.
Связанные
Машинная сводка (HTTP, таблицы, связанные требования)
| Поле | Значение |
|---|---|
| HTTP | POST /api/projects/:id/doc-content/:nodeId/inline-edit |
| Auth | optionalAuth, requireProjectAccess — гость + авторизованный, доступ к проекту (read/write) |
| Scope токена | read_write |
| PG-функции | api.upsert_block_doc_content |
| Таблицы | block_doc_content, block_doc_content_history |
| SRM | SRM-199 |
| RP (права) | RP-112 |
| Файл роута | server/routes/projects.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
| Аргумент | Где | Обяз. | Заметка |
|---|---|---|---|
contentItemId | body | подтвердить | |
fullContent | body | подтвердить | |
instruction | body | подтвердить | |
selectedText | body | подтвердить | |
mode | query | подтвердить |
Коды ответов/ошибок (из хендлера): 202, 400, 403, 429, 500 (+ 200) — уточнить причины вручную