diff --git a/README.md b/README.md index 79cf847..48ec5fd 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,9 @@ Role-based access control (Admin, Editor, Author, Viewer) with space-scoped perm - See [docs/graphql-api.md](docs/graphql-api.md) for the full guide +### Plugin & Extension System +First-class plugin architecture. Extend pipelines, register custom LLM providers, add admin UI, and react to content events — all from a self-contained plugin package. + ### Plugin & Extension System First-class plugin architecture. Extend pipelines, register custom LLM providers, add admin UI, and react to content events — all from a self-contained plugin package. diff --git a/routes/api.php b/routes/api.php index ada6f1f..e4930c6 100644 --- a/routes/api.php +++ b/routes/api.php @@ -345,3 +345,15 @@ Route::delete('/conversations/{id}/confirm', [ChatController::class, 'cancelAction']); Route::get('/suggestions', [ChatController::class, 'suggestions']); }); + +// Chat / Conversational CMS API +Route::prefix('v1/chat')->middleware(['auth:sanctum', 'throttle:20,1'])->group(function () { + Route::get('/conversations', [ChatController::class, 'conversations']); + Route::post('/conversations', [ChatController::class, 'createConversation']); + Route::delete('/conversations/{id}', [ChatController::class, 'deleteConversation']); + Route::get('/conversations/{id}/messages', [ChatController::class, 'messages']); + Route::post('/conversations/{id}/messages', [ChatController::class, 'sendMessage']); + Route::post('/conversations/{id}/confirm', [ChatController::class, 'confirmAction']); + Route::delete('/conversations/{id}/confirm', [ChatController::class, 'cancelAction']); + Route::get('/suggestions', [ChatController::class, 'suggestions']); +});