# DAGI Router Configuration
# Version: 0.3.0

node:
  id: dagi-devtools-node-01
  role: router
  env: dev
  description: "DAGI Router with DevTools Agent support"

# ============================================================================
# LLM Profiles - доступні моделі
# ============================================================================
llm_profiles:
  # Локальна модель через Ollama (основна для DevTools)
  local_qwen3_8b:
    provider: ollama
    base_url: http://localhost:11434
    model: qwen3:8b
    max_tokens: 1024
    temperature: 0.2
    top_p: 0.9
    timeout_ms: 30000
    description: "Локальна qwen3:8b для простих dev-задач"

  # DeepSeek для складних задач (опціонально)
  cloud_deepseek:
    provider: deepseek
    base_url: https://api.deepseek.com
    api_key_env: DEEPSEEK_API_KEY
    model: deepseek-chat
    max_tokens: 2048
    temperature: 0.2
    timeout_ms: 40000
    description: "DeepSeek для складних аналітичних задач"

# ============================================================================
# Agents Configuration
# ============================================================================
agents:
  devtools:
    description: "DevTools Agent - помічник з кодом, тестами й інфраструктурою"
    default_llm: local_qwen3_8b
    system_prompt: |
      Ти - DevTools Agent в екосистемі DAARION.city.
      Ти допомагаєш розробникам з:
      - аналізом коду та пошуком багів
      - рефакторингом
      - написанням тестів
      - git операціями
      Відповідай коротко, конкретно, з прикладами коду коли потрібно.
    
    tools:
      - id: fs_read
        type: builtin
        description: "Читання файлів"
      - id: fs_write
        type: builtin
        description: "Запис файлів"
      - id: run_tests
        type: builtin
        description: "Запуск тестів"
      - id: git_diff
        type: builtin
        description: "Git diff"
      - id: git_commit
        type: builtin
        description: "Git commit"

# ============================================================================
# Routing Rules - правила маршрутизації
# ============================================================================
routing:
  # Правило 1: DevTools + складні задачі → DeepSeek (якщо є API key)
  - id: devtools_complex_cloud
    priority: 10
    when:
      agent: devtools
      and:
        - task_type: 
            - refactor_large
            - architecture_review
            - security_audit
            - performance_analysis
        - api_key_available: DEEPSEEK_API_KEY
    use_llm: cloud_deepseek
    description: "Складні DevTools задачі → DeepSeek"

  # Правило 2: DevTools + всі інші задачі → qwen3:8b (локально)
  - id: devtools_default_local
    priority: 20
    when:
      agent: devtools
    use_llm: local_qwen3_8b
    description: "Стандартні DevTools задачі → локальна qwen3:8b"

  # Правило 3: Explicit override через metadata.provider
  - id: explicit_provider_override
    priority: 5
    when:
      metadata_has: provider
    use_llm: metadata.provider
    description: "Явне вказання провайдера в metadata"

  # Правило 4: Default fallback
  - id: default_fallback
    priority: 100
    when:
      default: true
    use_llm: local_qwen3_8b
    description: "Дефолт для всіх інших запитів"

# ============================================================================
# Telemetry & Logging
# ============================================================================
telemetry:
  enabled: true
  sink: stdout
  log_level: info
  metrics:
    - request_count
    - response_time
    - token_usage
    - error_rate

# ============================================================================
# Policy & Quotas (for future)
# ============================================================================
policies:
  rate_limiting:
    enabled: false
    # requests_per_minute: 60
  
  budget:
    enabled: false
    # daily_token_limit: 100000
