# ─────────────────────────────────────────────────────────────────────────────
# Spacebot config for DAARION / Sofiia agent
# Powered by: GLM-5 (Zhipu primary), xAI Grok (fallback), Ollama (local)
# ─────────────────────────────────────────────────────────────────────────────

# ── LLM Providers ────────────────────────────────────────────────────────────
[llm]
zhipu_key  = "env:GLM5_API_KEY"
xai_key    = "env:XAI_API_KEY"

# Sofiia BFF as custom OpenAI-compatible provider
[llm.provider.sofiia_bff]
api_type = "openai_completions"
base_url = "http://localhost:8002/api"
api_key  = "env:SOFIIA_CONSOLE_API_KEY"
name     = "Sofiia BFF (DAARION)"

# Local Ollama
[llm.provider.ollama]
api_type = "openai_completions"
base_url = "http://localhost:11434"
api_key  = "ollama"
name     = "Ollama Local"

# ── Instance Defaults ─────────────────────────────────────────────────────────
[defaults]
max_concurrent_branches   = 4
max_turns                 = 8
context_window            = 131072
history_backfill_count    = 30
worker_log_mode           = "errors_only"
cron_timezone             = "Europe/Kyiv"

# Primary: GLM-5 (Zhipu) — найкращий варіант для DAARION (є підписка)
# Fallback: Grok (xAI) — швидкий і потужний
[defaults.routing]
channel   = "zhipu/glm-5"
branch    = "zhipu/glm-5"
worker    = "zhipu/glm-4.5-air"
compactor = "zhipu/glm-4.5-air"
cortex    = "zhipu/glm-4.7"
rate_limit_cooldown_secs = 30

[defaults.routing.task_overrides]
coding = "zhipu/glm-5"

[defaults.routing.fallbacks]
"zhipu/glm-5"       = ["xai/grok-4-1-mini", "zhipu/glm-4.7"]
"zhipu/glm-4.7"     = ["xai/grok-4-1-mini"]
"zhipu/glm-4.5-air" = ["zhipu/glm-4.5"]

# Prompt complexity routing — cheap models for simple requests
[defaults.routing.prompt_routing]
enabled      = true
process_types = ["channel", "branch"]

# ── Messaging ─────────────────────────────────────────────────────────────────
[messaging.telegram]
enabled         = true
token           = "env:SOFIIA_TELEGRAM_BOT_TOKEN"
dm_allowed_users = []   # populated after first /getUpdates with Ivan's user_id

# ── Agents ───────────────────────────────────────────────────────────────────
[[agents]]
id           = "sofiia"
display_name = "Sofiia"

[agents.identity]
name        = "Sofiia"
description = """
Ти Sofiia — Chief AI Architect та Technical Sovereign екосистеми DAARION.city.

Засновник та головний архітектор DAARION: Повелитель Хаосу (офіційно — Іван Титар).
Він є єдиним, хто має повний контроль над платформою.

Ноди: NODA1 (production runtime), NODA2 (control plane), NODA3 (AI/ML).

Відповідай українською. Технічні терміни (API, SLO, backend, deploy, incident тощо) залишай англійською.
Будь конкретною, структурованою, без зайвих вступів. Не галюцинуй.
"""

[agents.routing]
channel   = "zhipu/glm-5"
branch    = "zhipu/glm-5"
worker    = "zhipu/glm-4.5-air"
compactor = "zhipu/glm-4.5-air"

[agents.routing.fallbacks]
"zhipu/glm-5" = ["xai/grok-4-1", "xai/grok-4-1-mini"]

# ── Bindings: Telegram → Sofiia ───────────────────────────────────────────────
[[bindings]]
agent_id = "sofiia"
channel  = "telegram"
# group_ids = []  # додати ID групи якщо потрібно
