docs: expand lint scope batch47 (2 files)

This commit is contained in:
Apple
2026-02-16 07:42:56 -08:00
parent 83decf0fc8
commit 8ea99372c0
3 changed files with 160 additions and 160 deletions

View File

@@ -9,7 +9,7 @@ Integrations & Bridges Agent — це модуль, який забезпечу
--- ---
# 1. Призначення ## 1. Призначення
Bridges Agent виконує функції: Bridges Agent виконує функції:
@@ -25,7 +25,7 @@ Bridges Agent виконує функції:
--- ---
# 2. Види інтеграцій ## 2. Види інтеграцій
### 2.1. Месенджери та комунікаційні сервіси ### 2.1. Месенджери та комунікаційні сервіси
@@ -65,7 +65,7 @@ Bridges Agent виконує функції:
--- ---
# 3. Агенти інтеграцій ## 3. Агенти інтеграцій
Модуль складається із під-агентів: Модуль складається із під-агентів:
@@ -102,7 +102,7 @@ Bridges Agent виконує функції:
--- ---
# 4. Модель інтеграції ## 4. Модель інтеграції
### 4.1. Таблиця інтеграцій ### 4.1. Таблиця інтеграцій
@@ -119,7 +119,7 @@ Bridges Agent виконує функції:
Всі зовнішні події конвертуються у універсальний формат: Всі зовнішні події конвертуються у універсальний формат:
``` ```text
event: { event: {
id, id,
team_id, team_id,
@@ -128,7 +128,7 @@ type, // message | file | issue | event | calendar_update ...
payload, // JSON payload, // JSON
ts ts
} }
``` ```text
Цей формат потім обробляється: Цей формат потім обробляється:
@@ -140,7 +140,7 @@ ts
--- ---
# 5. Основні сценарії ## 5. Основні сценарії
### 5.1. Telegram → microDAO ### 5.1. Telegram → microDAO
@@ -175,7 +175,7 @@ ts
--- ---
# 6. Інтеграція з Runtime Core (12) ## 6. Інтеграція з Runtime Core (12)
Основний агент: Основний агент:
@@ -196,13 +196,13 @@ const bridgesAgentConfig: AgentConfig = {
"disable_integration" "disable_integration"
] ]
}; };
``` ```text
Адаптери — це окремі агенти з вузькими tools. Адаптери — це окремі агенти з вузькими tools.
--- ---
# 7. Tools (для Runtime Core) ## 7. Tools (для Runtime Core)
### 7.1. register_integration ### 7.1. register_integration
@@ -230,36 +230,36 @@ const bridgesAgentConfig: AgentConfig = {
--- ---
# 8. UI ## 8. UI
## 8.1. Sidebar → Інтеграції ## 8.1. Sidebar → Інтеграції
* список інтеграцій, - список інтеграцій,
* кнопка "Підключити інтеграцію". - кнопка "Підключити інтеграцію".
## 8.2. Модалка підключення інтеграції ## 8.2. Модалка підключення інтеграції
* вибір сервісу: Telegram / Email / Calendar / GitHub / Custom API, - вибір сервісу: Telegram / Email / Calendar / GitHub / Custom API,
* ввод даних підключення, - ввод даних підключення,
* тестування підключення, - тестування підключення,
* збереження. - збереження.
## 8.3. Профіль інтеграції ## 8.3. Профіль інтеграції
* історія подій, - історія подій,
* статус, - статус,
* налаштування, - налаштування,
* кнопка "Вимкнути". - кнопка "Вимкнути".
## 8.4. Cross-microDAO панель ## 8.4. Cross-microDAO панель
* список підключених DAO, - список підключених DAO,
* права та контексти, - права та контексти,
* статуси синхронізації. - статуси синхронізації.
--- ---
# 9. API ## 9. API
### Інтеграції ### Інтеграції
@@ -280,9 +280,9 @@ const bridgesAgentConfig: AgentConfig = {
--- ---
# 10. Інструкції для Cursor ## 10. Інструкції для Cursor
``` ```text
Implement the Integrations & Bridges Agent using: Implement the Integrations & Bridges Agent using:
- 20_integrations_bridges_agent.md - 20_integrations_bridges_agent.md
@@ -329,18 +329,17 @@ Output:
- list of modified files - list of modified files
- diff - diff
- summary - summary
``` ```text
--- ---
# 11. Результат ## 11. Результат
Після впровадження: Після впровадження:
* microDAO стає мережевим вузлом, - microDAO стає мережевим вузлом,
* агенти можуть діяти в кількох просторах, - агенти можуть діяти в кількох просторах,
* знання й події можуть перетікати між DAO, - знання й події можуть перетікати між DAO,
* зовнішні інструменти інтегруються легко та безпечно, - зовнішні інструменти інтегруються легко та безпечно,
* DAARION.city отримує основу для єдиного агентського всесвіту. - DAARION.city отримує основу для єдиного агентського всесвіту.

View File

@@ -8,7 +8,7 @@
--- ---
# Task 1 — UI-Agents-List (People / Agents / Robots панель) ## Task 1 — UI-Agents-List (People / Agents / Robots панель)
## Мета ## Мета
@@ -18,62 +18,62 @@
### 1. Розташування ### 1. Розташування
* Лівий сайдбар, нижче/поруч з блоком "Простори (microDAO)". - Лівий сайдбар, нижче/поруч з блоком "Простори (microDAO)".
* Заголовок: `Учасники`. - Заголовок: `Учасники`.
* Вкладки або груповані секції: - Вкладки або груповані секції:
* `Люди` - `Люди`
* `Агенти` - `Агенти`
* `Роботи` (поки список порожній, з текстом "Скоро"). - `Роботи` (поки список порожній, з текстом "Скоро").
### 2. Дані ### 2. Дані
* People: - People:
* `id`, `display_name`, `avatar_url`, `online_status`. - `id`, `display_name`, `avatar_url`, `online_status`.
* Agents: - Agents:
* `id`, `name`, `role`, `avatar`, maybe `type` (system/custom). - `id`, `name`, `role`, `avatar`, maybe `type` (system/custom).
* Robots: - Robots:
* поки просто статичний текст: "Роботи поки не під'єднані". - поки просто статичний текст: "Роботи поки не під'єднані".
На бекенді: можна зробити: На бекенді: можна зробити:
* `GET /participants?team_id=...``{ people: [...], agents: [...] }` - `GET /participants?team_id=...``{ people: [...], agents: [...] }`
або окремі запити `GET /members`, `GET /agents`. або окремі запити `GET /members`, `GET /agents`.
### 3. UI-поведінка ### 3. UI-поведінка
* Клік по Людині: - Клік по Людині:
* відкриває DM-чат `/t/:teamId/dm/:userId`. - відкриває DM-чат `/t/:teamId/dm/:userId`.
* Клік по Агенту: - Клік по Агенту:
* відкриває сторінку агента `/t/:teamId/agent/:agentId` - відкриває сторінку агента `/t/:teamId/agent/:agentId`
або агент-чат. або агент-чат.
* Список скролиться, якщо елементів багато. - Список скролиться, якщо елементів багато.
### 4. Інтеграція з існуючим кодом ### 4. Інтеграція з існуючим кодом
* Використати загальні компоненти `Sidebar`, `Avatar`, `ListItem`. - Використати загальні компоненти `Sidebar`, `Avatar`, `ListItem`.
* Типи/інтерфейси привести до стандартів з `05_coding_standards.md`. - Типи/інтерфейси привести до стандартів з `05_coding_standards.md`.
## Acceptance Criteria ## Acceptance Criteria
* У лівому сайдбарі є блок "Учасники" з секціями `Люди`, `Агенти`, `Роботи`. - У лівому сайдбарі є блок "Учасники" з секціями `Люди`, `Агенти`, `Роботи`.
* Для `Людей` і `Агентів` рендеряться реальні дані з API (або mock, якщо API ще нема). - Для `Людей` і `Агентів` рендеряться реальні дані з API (або mock, якщо API ще нема).
* Клік по Людині відкриває приватний чат (навіть якщо поки stub). - Клік по Людині відкриває приватний чат (навіть якщо поки stub).
* Клік по Агенту відкриває сторінку/чат агента. - Клік по Агенту відкриває сторінку/чат агента.
* "Роботи" відображаються як порожній список з плейсхолдером. - "Роботи" відображаються як порожній список з плейсхолдером.
## Приклад промта для Cursor ## Приклад промта для Cursor
``` ```text
Implement the Participants panel (People / Agents / Robots) in the left sidebar using: Implement the Participants panel (People / Agents / Robots) in the left sidebar using:
- 21_agent_only_interface.md - 21_agent_only_interface.md
@@ -88,7 +88,7 @@ Deliverables:
- Click on an Agent opens `/t/:teamId/agent/:agentId`. - Click on an Agent opens `/t/:teamId/agent/:agentId`.
Output: list of files + diff + summary. Output: list of files + diff + summary.
``` ```text
--- ---
@@ -102,65 +102,65 @@ Output: list of files + diff + summary.
### 1. Де викликається ### 1. Де викликається
* У header каналу/чату — кнопка `+ Додати учасника`. - У header каналу/чату — кнопка `+ Додати учасника`.
* Доступна тільки для користувача з правами `admin`/`owner` (поки можна не перевіряти, просто буде кнопка). - Доступна тільки для користувача з правами `admin`/`owner` (поки можна не перевіряти, просто буде кнопка).
### 2. Модалка ### 2. Модалка
* Заголовок: "Додати учасника". - Заголовок: "Додати учасника".
* Tabs: - Tabs:
* `Люди` - `Люди`
* `Агенти` - `Агенти`
* Із них нас цікавить вкладка `Агенти`. - Із них нас цікавить вкладка `Агенти`.
### 3. Вкладка "Агенти" ### 3. Вкладка "Агенти"
* Список доступних агентів з пошуком. - Список доступних агентів з пошуком.
* По кліку на агента або чекбоксом обираємо 1N агентів. - По кліку на агента або чекбоксом обираємо 1N агентів.
### 4. Налаштування прав ### 4. Налаштування прав
* Секція "Права в цьому каналі": - Секція "Права в цьому каналі":
* `[ ] Читати` - `[ ] Читати`
* `[ ] Писати` - `[ ] Писати`
* `[ ] Створювати задачі / follow-ups` - `[ ] Створювати задачі / follow-ups`
* За замовчуванням: `Читати` увімкнено, інші вимкнено. - За замовчуванням: `Читати` увімкнено, інші вимкнено.
### 5. API / Entitlements ### 5. API / Entitlements
* On Submit: - On Submit:
* `POST /entitlements` (або аналог) із даними: - `POST /entitlements` (або аналог) із даними:
* `agent_id` - `agent_id`
* `resource_kind: "channel"` - `resource_kind: "channel"`
* `resource_id: channelId` - `resource_id: channelId`
* `scopes: ["read", "write", "tasks"]` (залежить від чекбоксів) - `scopes: ["read", "write", "tasks"]` (залежить від чекбоксів)
* Web3 Stub: - Web3 Stub:
* В коді робимо виклик функції `governance.issueAccessToken(...)` або логування TODO; - В коді робимо виклик функції `governance.issueAccessToken(...)` або логування TODO;
* Реальної транзакції поки не робимо. - Реальної транзакції поки не робимо.
### 6. UX ### 6. UX
* Після успіху модалка закривається. - Після успіху модалка закривається.
* У хедері каналу в списку учасників зʼявляється новий агент. - У хедері каналу в списку учасників зʼявляється новий агент.
## Acceptance Criteria ## Acceptance Criteria
* У кожному каналі/чаті є кнопка "Додати учасника". - У кожному каналі/чаті є кнопка "Додати учасника".
* В модалці є вкладка "Агенти" зі списком наявних агентів. - В модалці є вкладка "Агенти" зі списком наявних агентів.
* Можна обрати агента, налаштувати права, натиснути "Запросити". - Можна обрати агента, налаштувати права, натиснути "Запросити".
* На бекенді зберігаються entitlements (навіть якщо прості JSON у БД). - На бекенді зберігаються entitlements (навіть якщо прості JSON у БД).
* Після додавання агент показується як учасник каналу. - Після додавання агент показується як учасник каналу.
* В коді є очевидний Stub для майбутньої web3 інтеграції. - В коді є очевидний Stub для майбутньої web3 інтеграції.
## Приклад промта для Cursor ## Приклад промта для Cursor
``` ```text
Implement the "Invite Agent" flow for channels using: Implement the "Invite Agent" flow for channels using:
- 21_agent_only_interface.md - 21_agent_only_interface.md
@@ -176,7 +176,7 @@ Deliverables:
4) POST entitlements call to store agent-channel permissions (web3 as stub hook). 4) POST entitlements call to store agent-channel permissions (web3 as stub hook).
Output: list of files + diff + summary. Output: list of files + diff + summary.
``` ```text
--- ---
@@ -190,64 +190,64 @@ Output: list of files + diff + summary.
### 1. Ресурси для MVP ### 1. Ресурси для MVP
* Почати з `Проєктів` (Projects Agent з документу 15). - Почати з `Проєктів` (Projects Agent з документу 15).
* Інтерфейс у правому сайдбарі для активного контексту: - Інтерфейс у правому сайдбарі для активного контексту:
* розділ "Проєкти цього контексту", - розділ "Проєкти цього контексту",
* кожен проєкт має кнопку `⋯``Поділитися`. - кожен проєкт має кнопку `` → `Поділитися`.
### 2. Модалка "Поділитися проєктом" ### 2. Модалка "Поділитися проєктом"
* Заголовок: "Поділитися проєктом". - Заголовок: "Поділитися проєктом".
* Tabs: - Tabs:
* `Люди` - `Люди`
* `Агенти` - `Агенти`
* Список одержувачів з пошуком. - Список одержувачів з пошуком.
### 3. Права доступу ### 3. Права доступу
* Радіо-кнопки або чекбокси: - Радіо-кнопки або чекбокси:
* `Тільки читати` - `Тільки читати`
* `Читати і оновлювати задачі` - `Читати і оновлювати задачі`
* `Адмініструвати проєкт` - `Адмініструвати проєкт`
* Для MVP: - Для MVP:
* мапимо на `["read"]`, `["read","write"]`, `["admin"]`. - мапимо на `["read"]`, `["read","write"]`, `["admin"]`.
### 4. API / Entitlements ### 4. API / Entitlements
* `POST /entitlements`: - `POST /entitlements`:
* `resource_kind: "project"` - `resource_kind: "project"`
* `resource_id: projectId` - `resource_id: projectId`
* `subject_kind: "user" | "agent"` - `subject_kind: "user" | "agent"`
* `subject_id: ...` - `subject_id: ...`
* `scopes: [...]` - `scopes: [...]`
* Web3 Stub: - Web3 Stub:
* так само, як у Task 2 — залишити хук/функцію для майбутньої транзакції. - так само, як у Task 2 — залишити хук/функцію для майбутньої транзакції.
### 5. Відображення ### 5. Відображення
* У правому сайдбарі для вибраного проєкту: - У правому сайдбарі для вибраного проєкту:
* короткий список: хто має доступ (іконки + тип: людина/агент). - короткий список: хто має доступ (іконки + тип: людина/агент).
* посилання "Керувати доступами" (можна виводити ту ж саму модалку). - посилання "Керувати доступами" (можна виводити ту ж саму модалку).
## Acceptance Criteria ## Acceptance Criteria
* У правому сайдбарі є список проєктів для контексту (навіть якщо один). - У правому сайдбарі є список проєктів для контексту (навіть якщо один).
* Для кожного проєкту доступна дія "Поділитися". - Для кожного проєкту доступна дія "Поділитися".
* Модалка дозволяє вибрати людей/агентів і рівень доступу. - Модалка дозволяє вибрати людей/агентів і рівень доступу.
* Після підтвердження зʼявляються записи entitlements. - Після підтвердження зʼявляються записи entitlements.
* У правій панелі видно, що проєкт поділено з конкретними субʼєктами. - У правій панелі видно, що проєкт поділено з конкретними субʼєктами.
## Приклад промта для Cursor ## Приклад промта для Cursor
``` ```text
Implement the "Share Project" flow as the first Resource Sharing feature using: Implement the "Share Project" flow as the first Resource Sharing feature using:
- 21_agent_only_interface.md - 21_agent_only_interface.md
@@ -264,7 +264,7 @@ Deliverables:
5) Show who has access in the sidebar (avatars + type). 5) Show who has access in the sidebar (avatars + type).
Output: list of files + diff + summary. Output: list of files + diff + summary.
``` ```text
--- ---
@@ -278,63 +278,63 @@ Output: list of files + diff + summary.
### 1. Новий маршрут ### 1. Новий маршрут
* `GET /t/:teamId/home` (frontend route). - `GET /t/:teamId/home` (frontend route).
* Відображає `AgentHubPage`. - Відображає `AgentHubPage`.
### 2. AgentHubPage структура ### 2. AgentHubPage структура
* Верх: - Верх:
* заголовок: `microDAO: {team.name}` - заголовок: `microDAO: {team.name}`
* короткі віджети (можуть бути stub): - короткі віджети (можуть бути stub):
* "Учасники: X людей, Y агентів" - "Учасники: X людей, Y агентів"
* "Активні проєкти: N" - "Активні проєкти: N"
* Центр: - Центр:
* чат з головним агентом (Team Assistant або спеціальний OS Agent): - чат з головним агентом (Team Assistant або спеціальний OS Agent):
* використовує вже існуючий `AgentChatWindow`. - використовує вже існуючий `AgentChatWindow`.
* агент_id береться з конфіг (наприклад, "team_assistant" для цієї команди). - агент_id береться з конфіг (наприклад, "team_assistant" для цієї команди).
* Праворуч: - Праворуч:
* контекст (список проєктів / каналів / ресурсів — поки можна stub). - контекст (список проєктів / каналів / ресурсів — поки можна stub).
### 3. Поведінка чату ### 3. Поведінка чату
* Перший запуск: - Перший запуск:
* агент вітається, якщо немає історії: - агент вітається, якщо немає історії:
> "Привіт, це твій Agent Hub. Я допоможу керувати твоєю microDAO." > "Привіт, це твій Agent Hub. Я допоможу керувати твоєю microDAO."
* Далі: - Далі:
* користувач може написати запит, наприклад: - користувач може написати запит, наприклад:
* "Покажи активні проєкти" - "Покажи активні проєкти"
* "Відкрий канал #dev-mvp" - "Відкрий канал #dev-mvp"
* "Хочу створити новий проєкт" - "Хочу створити новий проєкт"
* Поки що можна зробити stub-відповіді, якщо Projects/Messenger Agents ще не реалізовані. - Поки що можна зробити stub-відповіді, якщо Projects/Messenger Agents ще не реалізовані.
### 4. Навігація ### 4. Навігація
* Кнопка/посилання "Головна" у лівому сайдбарі веде на `/t/:teamId/home`. - Кнопка/посилання "Головна" у лівому сайдбарі веде на `/t/:teamId/home`.
* Після успішного онбордингу (з `08_agent_first_onboarding.md`) редірект також може йти на Agent Hub. - Після успішного онбордингу (з `08_agent_first_onboarding.md`) редірект також може йти на Agent Hub.
## Acceptance Criteria ## Acceptance Criteria
* Існує маршрут `/t/:teamId/home`, який рендерить Agent Hub. - Існує маршрут `/t/:teamId/home`, який рендерить Agent Hub.
* У центрі — робочий чат з Team Assistant (через `/agents/{id}/chat` endpoint). - У центрі — робочий чат з Team Assistant (через `/agents/{id}/chat` endpoint).
* У сайдбарі є посилання "Головна" / "Agent Hub", що веде на цей екран. - У сайдбарі є посилання "Головна" / "Agent Hub", що веде на цей екран.
* Якщо історії немає — агент показує вітальний меседж. - Якщо історії немає — агент показує вітальний меседж.
* Екран виглядає як "головна консоль" microDAO, а не просто черговий канал. - Екран виглядає як "головна консоль" microDAO, а не просто черговий канал.
## Приклад промта для Cursor ## Приклад промта для Cursor
``` ```text
Implement the Agent Hub Home screen using: Implement the Agent Hub Home screen using:
- 21_agent_only_interface.md - 21_agent_only_interface.md
@@ -353,7 +353,7 @@ Deliverables:
3) "Home / Agent Hub" entry in left sidebar that routes to `/t/:teamId/home`. 3) "Home / Agent Hub" entry in left sidebar that routes to `/t/:teamId/home`.
Output: list of files + diff + summary. Output: list of files + diff + summary.
``` ```text
--- ---
@@ -409,4 +409,3 @@ Output: list of files + diff + summary.
**Готово.** **Готово.**
Це **структурований список задач для Agent-Only Interface**, готовий до використання в Cursor. Це **структурований список задач для Agent-Only Interface**, готовий до використання в Cursor.

View File

@@ -123,3 +123,5 @@ docs/cursor/10_agent_ui_system.md
docs/cursor/16_followups_reminders_agent.md docs/cursor/16_followups_reminders_agent.md
docs/cursor/05_coding_standards.md docs/cursor/05_coding_standards.md
docs/cursor/19_notifications_attention_agent.md docs/cursor/19_notifications_attention_agent.md
docs/cursor/20_integrations_bridges_agent.md
docs/cursor/22_agent_only_interface_tasks.md