# DAGI Agent Registry

## Єдине джерело істини для всіх агентів

Файл `agent_registry.yml` — ЄДИНЕ місце для визначення агентів.

**НЕ редагуйте вручну:**
- `gateway-bot/*_prompt.txt` (крім контенту промптів)
- `services/router/router-config.yml` agents section
- `services/crewai-service/` agent definitions

## Класи агентів

| Клас | Опис | Telegram |
|------|------|----------|
| `top_level` | Domain orchestrator, user-facing або private | public/whitelist/off |
| `internal` | Platform service agent | off |

## Як додати нового агента

1. **Додайте запис в `agent_registry.yml`:**

```yaml
- id: new_agent
  display_name: "New Agent"
  class: top_level
  visibility: public
  scope: global
  telegram_mode: public
  public_channels:
    telegram: true
  canonical_role: "Brief role description"
  mission: |
    Multi-line mission description.
  domains: [domain1, domain2]
  routing:
    priority: 70
    keywords: [keyword1, keyword2]
  llm_profile: reasoning
  prompt_file: new_agent_prompt.txt
  crewai:
    enabled: true
    orchestrator: true
    team:
      - role: "Team Member 1"
        skills: [skill1, skill2]
  handoff_contract:
    accepts_from: [daarwizz]
    can_delegate_to: [new_agent_team]
```

2. **Створіть prompt файл:**
   ```bash
   touch gateway-bot/new_agent_prompt.txt
   ```

3. **Валідуйте:**
   ```bash
   python3 tools/agents validate
   ```

4. **Згенеруйте конфіги:**
   ```bash
   python3 tools/agents generate
   ```

5. **Smoke test:**
   ```bash
   python3 tools/agents smoke --id new_agent
   ```

## CLI команди

```bash
# Список всіх агентів
python3 tools/agents list

# Валідація registry
python3 tools/agents validate

# Генерація конфігів
python3 tools/agents generate

# Smoke test агента
python3 tools/agents smoke --id <agent_id>
```

## Feature Flags

В `agent_registry.yml`:

```yaml
feature_flags:
  registry_enabled: true        # Master switch
  generate_prompts: true        # Generate gateway/agent_registry.json
  generate_router_config: true  # Generate config/router_agents.json
  generate_crewai_config: true  # Generate config/crewai_agents.json
```

## Згенеровані файли

Не редагуйте напряму:

- `gateway-bot/agent_registry.json` - Gateway agent metadata
- `config/router_agents.json` - Router agent configs
- `config/crewai_agents.json` - CrewAI orchestrator/worker definitions
