feat(microdao-rooms): Add MicroDAO rooms creation/deletion and agent chat

Backend:
- POST /city/microdao/{slug}/rooms - create new room for MicroDAO
- DELETE /city/microdao/{slug}/rooms/{room_id} - soft-delete room
- POST /city/agents/{agent_id}/ensure-room - create personal agent room

Frontend:
- MicrodaoRoomsSection: Added create room modal with name, description, type
- MicrodaoRoomsSection: Added delete room functionality for managers
- Agent page: Added 'Поговорити' button to open chat in City Room

Models:
- Added CreateMicrodaoRoomRequest model

Task: TASK_PHASE_MICRODAO_ROOMS_AND_PUBLIC_CHAT_v3
This commit is contained in:
Apple
2025-12-01 10:09:28 -08:00
parent 2d730198d9
commit dddf51affe
6 changed files with 416 additions and 8 deletions

View File

@@ -0,0 +1,46 @@
# TASK_PHASE_MICRODAO_ROOMS_AND_PUBLIC_CHAT_v3
Статус: IN_PROGRESS
Відповідальний агент: `Vector` (API) + `Canvas` (Frontend)
Ноди: NODE1 (prod API), NODE2 (dev DAGI)
---
## 0. Цілі фази
1. **MicroDAO Rooms**
- У кожного MicroDAO є власні кімнати (лоббі, воркруми тощо).
- На сторінці MicroDAO є секція "Кімнати MicroDAO" + кнопка `+ Нова кімната`.
- Можна створювати/видаляти кімнати MicroDAO (через API + UI).
2. **Публічний чат з DAARWIZZ**
- На головній сторінці є CTA "Поспілкуватися з DAARWIZZ".
- Клік → відкриває кімнату `DAARION City Lobby` (room slug: `city-lobby`).
3. **Чат із конкретним агентом**
- На сторінці агента є кнопка "Поговорити з агентом".
- Якщо agent має прив'язану кімнату, відкриваємо її; якщо ні — створюємо персональну.
4. **Фікс Banner для MicroDAO**
- Upload банера працює без помилок.
- Банер відображається в hero-секції MicroDAO.
5. **(Опційно) Crew / Teams**
- Для DAGI-агентів можна створювати "команди" (групові кімнати).
- У Agent Console з'являється фільтр за "Crew / Team".
---
## 9. Чекліст перед завершенням
* [ ] На `/microdao/{slug}` видно секцію "Кімнати MicroDAO".
* [ ] Працює створення/видалення кімнати MicroDAO.
* [ ] Відкриття кімнати MicroDAO веде в `/city/rooms/{room_slug}`.
* [ ] На `/` є CTA "Поспілкуватися з DAARWIZZ" → переходить в `city-lobby`.
* [ ] На сторінці агента є кнопка "Поговорити з агентом", яка:
* [ ] створює персональну кімнату, якщо її ще немає,
* [ ] відкриває відповідну кімнату в City Rooms.
* [ ] Upload банера працює (без помилок).
* [ ] Банер MicroDAO відображається в hero-секції.
* [ ] NODE1/NODE2 після перезапуску показують консистентні дані.