docs: expand lint scope batch53 (2 files)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 34 — Internal Services Architecture (MicroDAO)
|
||||
|
||||
*Архітектура внутрішніх сервісів, їхні ролі, API, дані, залежності, взаємодія з PDP, Gateway, NATS, DB*
|
||||
Архітектура внутрішніх сервісів, їхні ролі, API, дані, залежності, взаємодія з PDP, Gateway, NATS, DB
|
||||
|
||||
---
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
## 2. High-Level Service Landscape
|
||||
|
||||
```
|
||||
```text
|
||||
┌──────────────────────────┐
|
||||
│ API Gateway (PEP) │
|
||||
└───────────────┬──────────┘
|
||||
@@ -32,7 +32,7 @@
|
||||
┌──────────────────┴──────────────────┐
|
||||
│ │
|
||||
Public API Internal Service Mesh
|
||||
```
|
||||
```text
|
||||
|
||||
Внутрішні сервіси:
|
||||
|
||||
@@ -74,27 +74,25 @@
|
||||
|
||||
### 4.1 User & Team Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- Users, teams, memberships.
|
||||
- Roles: Owner, Guardian, Member, Visitor.
|
||||
- Viewer types: reader/commenter/contributor.
|
||||
- Team mode: public/confidential.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `users`
|
||||
- `teams`
|
||||
- `team_members`
|
||||
|
||||
#### API (internal):
|
||||
#### API (internal)
|
||||
|
||||
- `GET /internal/team/:id`
|
||||
- `POST /internal/team/create`
|
||||
- `POST /internal/team/member/add`
|
||||
- `POST /internal/team/member/remove`
|
||||
|
||||
#### Події (NATS):
|
||||
#### Події (NATS)
|
||||
|
||||
- `team.member.joined`
|
||||
- `team.member.left`
|
||||
@@ -103,27 +101,23 @@
|
||||
|
||||
### 4.2 Messaging Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- Channels, messages, followups.
|
||||
- Co-memory embeddings.
|
||||
- Confidential mode enforcement (via Gateway).
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `channels`
|
||||
- `messages`
|
||||
- `followups`
|
||||
- `comemory_items`
|
||||
|
||||
#### API:
|
||||
|
||||
- **API**
|
||||
- `POST /internal/message/send`
|
||||
- `GET /internal/channel/:id/messages`
|
||||
- `POST /internal/comemory/index`
|
||||
|
||||
#### Події:
|
||||
|
||||
- **Події**
|
||||
- `chat.message.created`
|
||||
- `comemory.item.created`
|
||||
|
||||
@@ -131,17 +125,14 @@
|
||||
|
||||
### 4.3 Projects & Tasks Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- Projects, tasks, workflow.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `projects`
|
||||
- `tasks`
|
||||
|
||||
#### Події:
|
||||
|
||||
- **Події**
|
||||
- `project.created`
|
||||
- `task.created`
|
||||
- `task.updated`
|
||||
@@ -150,24 +141,20 @@
|
||||
|
||||
### 4.4 Agent Orchestrator
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- запуск приватних агентів;
|
||||
- трекінг `agent_runs`;
|
||||
- sandbox execution.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `agents`
|
||||
- `agent_runs`
|
||||
|
||||
#### Події:
|
||||
|
||||
- **Події**
|
||||
- `agent.run.started`
|
||||
- `agent.run.completed`
|
||||
|
||||
#### API:
|
||||
|
||||
- **API**
|
||||
- `POST /internal/agent/run`
|
||||
- `POST /internal/agent/finish`
|
||||
- `GET /internal/agent/run/:id/status`
|
||||
@@ -176,18 +163,17 @@
|
||||
|
||||
### 4.5 LLM Proxy Service
|
||||
|
||||
#### Завдання:
|
||||
#### Завдання
|
||||
|
||||
- централізований доступ до LLM (OpenAI / local models).
|
||||
- облік токенів.
|
||||
- нормалізація моделей.
|
||||
|
||||
#### API:
|
||||
|
||||
- **API**
|
||||
- `POST /internal/llm/chat`
|
||||
- `POST /internal/llm/embeddings`
|
||||
|
||||
#### Event:
|
||||
#### Event
|
||||
|
||||
- `llm.tokens.used`
|
||||
|
||||
@@ -195,20 +181,17 @@
|
||||
|
||||
### 4.6 Router / Planner (DAARWIZZ)
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- run multi-agent routing pipeline;
|
||||
- orchestration of tools;
|
||||
- intent recognition;
|
||||
- complex "flows".
|
||||
|
||||
#### API:
|
||||
|
||||
- **API**
|
||||
- `POST /internal/router/route`
|
||||
- `POST /internal/router/plan`
|
||||
|
||||
#### Events:
|
||||
|
||||
- **Events**
|
||||
- `router.invoked`
|
||||
- `router.completed`
|
||||
|
||||
@@ -216,27 +199,23 @@
|
||||
|
||||
### 4.7 Wallet Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- стейк RINGK;
|
||||
- генерація payout'ів;
|
||||
- claim payout;
|
||||
- зв'язок з блокчейном.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `wallets`
|
||||
- `staking_ringk`
|
||||
- `payouts`
|
||||
|
||||
#### API:
|
||||
|
||||
- **API**
|
||||
- `POST /internal/wallet/stake`
|
||||
- `POST /internal/wallet/payout/claim`
|
||||
- `GET /internal/wallet/balance/:user`
|
||||
|
||||
#### Events:
|
||||
|
||||
- **Events**
|
||||
- `staking.locked`
|
||||
- `payout.generated`
|
||||
- `payout.claimed`
|
||||
@@ -245,43 +224,36 @@
|
||||
|
||||
### 4.8 RWA Inventory Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- облік energy/food/water/etc.
|
||||
- інтеграція з Embassy.
|
||||
- оновлення RWA стоків.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `rwa_inventory`
|
||||
|
||||
#### Events:
|
||||
|
||||
- **Events**
|
||||
- `rwa.inventory.updated`
|
||||
|
||||
---
|
||||
|
||||
### 4.9 Embassy Gateway Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- прийом підписаних webhook'ів від платформ (EnergyUnion, GREENFOOD).
|
||||
- HMAC перевірка.
|
||||
- PDP авторизація (embassy keys).
|
||||
- генерація подій для NATS.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `embassy_identities`
|
||||
- `embassy_webhooks`
|
||||
|
||||
#### API:
|
||||
|
||||
- **API**
|
||||
- `POST /embassy/energy`
|
||||
- `POST /embassy/rwa`
|
||||
|
||||
#### Events:
|
||||
|
||||
- **Events**
|
||||
- `embassy.event.received`
|
||||
- `embassy.energy.update`
|
||||
- `embassy.rwa.claim`
|
||||
@@ -290,53 +262,45 @@
|
||||
|
||||
### 4.10 Oracle Processor
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- обробка потоків енергетичних даних;
|
||||
- нормалізація;
|
||||
- створення `oracles`.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `oracles`
|
||||
|
||||
#### Events:
|
||||
|
||||
- **Events**
|
||||
- `oracle.reading.published`
|
||||
|
||||
---
|
||||
|
||||
### 4.11 Governance Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- пропозиції,
|
||||
- голосування,
|
||||
- застосування політик,
|
||||
- оновлення bundles/caps/quotas.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `governance_policies`
|
||||
|
||||
#### Events:
|
||||
|
||||
- **Events**
|
||||
- `governance.policy.updated`
|
||||
|
||||
---
|
||||
|
||||
### 4.12 Capability Registry Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- управління:
|
||||
- capabilities,
|
||||
- bundles,
|
||||
- bundle_caps,
|
||||
- plan entitlements.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `capabilities`
|
||||
- `bundles`
|
||||
- `bundle_caps`
|
||||
@@ -347,8 +311,7 @@
|
||||
|
||||
### 4.13 Usage Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- підрахунок usage:
|
||||
- agent runs,
|
||||
- LLM tokens,
|
||||
@@ -356,8 +319,7 @@
|
||||
- router invokes,
|
||||
- wallet transactions.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
(опціонально)
|
||||
|
||||
- `usage_agent_runs`
|
||||
@@ -371,13 +333,12 @@
|
||||
|
||||
### 4.14 Outbox Worker
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- читання `outbox_events` з БД;
|
||||
- публікація у NATS;
|
||||
- маркування `processed`.
|
||||
|
||||
#### Таблиця:
|
||||
#### Таблиця
|
||||
|
||||
- `outbox_events`
|
||||
|
||||
@@ -385,14 +346,12 @@
|
||||
|
||||
### 4.15 Telemetry / Logs Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- прийом логів з фронтенду,
|
||||
- прийом internal logs,
|
||||
- агрегація в аналітичні стріми.
|
||||
|
||||
#### Events:
|
||||
|
||||
- **Events**
|
||||
- `telemetry.client.event`
|
||||
- `telemetry.error`
|
||||
- `telemetry.screen_view`
|
||||
@@ -401,22 +360,19 @@
|
||||
|
||||
### 4.16 Auth / Session Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- login,
|
||||
- OTP/Magic-link,
|
||||
- session cookies.
|
||||
|
||||
#### Таблиці:
|
||||
|
||||
- **Таблиці**
|
||||
- `sessions` (опціонально)
|
||||
|
||||
---
|
||||
|
||||
### 4.17 File Storage / Docs Service
|
||||
|
||||
#### Відповідальність:
|
||||
|
||||
- **Відповідальність**
|
||||
- завантаження файлів у каналах,
|
||||
- документи,
|
||||
- архіви,
|
||||
@@ -432,24 +388,24 @@
|
||||
|
||||
Умовний граф залежностей:
|
||||
|
||||
```
|
||||
```text
|
||||
User/Team → Messaging → Projects/Tasks → Agents → Router
|
||||
↓ ↓ ↓
|
||||
RWA Wallet Embassy
|
||||
↓ ↓ ↓
|
||||
Oracle → Usage → Governance → PDP
|
||||
```
|
||||
```text
|
||||
|
||||
Простіший вигляд:
|
||||
|
||||
```
|
||||
```text
|
||||
API Gateway (PEP)
|
||||
↓ PDP
|
||||
↓
|
||||
Internal Services
|
||||
↓
|
||||
DB + NATS
|
||||
```
|
||||
```text
|
||||
|
||||
---
|
||||
|
||||
@@ -471,7 +427,7 @@ DB + NATS
|
||||
|
||||
## 7. Horizontal Scaling Responsibilities
|
||||
|
||||
### Stateless services:
|
||||
### Stateless services
|
||||
|
||||
- Messaging
|
||||
- Projects/Tasks
|
||||
@@ -480,7 +436,7 @@ DB + NATS
|
||||
- Router/Planner (частково)
|
||||
- LLM Proxy
|
||||
|
||||
### Stateful services:
|
||||
### Stateful services
|
||||
|
||||
- Wallet
|
||||
- RWA
|
||||
@@ -653,7 +609,7 @@ Output:
|
||||
- list of modified files
|
||||
- diff
|
||||
- summary
|
||||
```
|
||||
```text
|
||||
|
||||
---
|
||||
|
||||
@@ -676,4 +632,3 @@ Output:
|
||||
**Версія:** 1.0
|
||||
**Останнє оновлення:** 2024-11-14
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user