#!/usr/bin/env bash
# Agente Pessoal Kit — cria o agente principal + 12 subagentes (genéricos).
# Usa a CLI nativa do OpenClaw (v2026.6+).
#
# Uso:  MODEL="zai/glm-5.2" bash build-agents.sh
#   MODEL: zai/glm-5.2 (GLM)  |  openai/gpt-5.5 (Codex)

set -uo pipefail
MODEL="${MODEL:-zai/glm-5.2}"
WS="$HOME/.openclaw"

SUBS=(redator dev designer pesquisador organizador analista revisor estrategista tradutor tutor social financas)

echo "== Criando subagentes (modelo: $MODEL) =="
for a in "${SUBS[@]}"; do
  openclaw agents add "$a" --non-interactive --workspace "$WS/workspace-$a" --model "$MODEL" >/dev/null 2>&1 \
    && echo "  add $a OK" || echo "  add $a (já existe / falhou)"
done

echo "== Identidades (nome + emoji) =="
set_id(){ openclaw agents set-identity --agent "$1" --name "$2" --emoji "$3" >/dev/null 2>&1 \
          && echo "  id $1 OK" || echo "  id $1 FALHOU"; }
set_id redator      "Redator"      "✍️"
set_id dev          "Dev"          "💻"
set_id designer     "Designer"     "🎨"
set_id pesquisador  "Pesquisador"  "🔎"
set_id organizador  "Organizador"  "📋"
set_id analista     "Analista"     "📊"
set_id revisor      "Revisor"      "📝"
set_id estrategista "Estrategista" "📈"
set_id tradutor     "Tradutor"     "🌐"
set_id tutor        "Tutor"        "🎓"
set_id social       "Social"       "📱"
set_id financas     "Finanças"     "💰"

echo "== Ligando o principal aos subagentes (allowAgents) + modelo dos subagentes =="
python3 - "$MODEL" <<'PY'
import json, os, sys, time, shutil
MODEL=sys.argv[1]
p=os.path.expanduser("~/.openclaw/openclaw.json")
shutil.copy(p, p+".bak-build-"+time.strftime("%Y%m%d-%H%M%S"))
d=json.load(open(p))
subs=["redator","dev","designer","pesquisador","organizador","analista","revisor","estrategista","tradutor","tutor","social","financas"]
ag=d.setdefault("agents",{})
ag.setdefault("defaults",{}).setdefault("subagents",{})["model"]=MODEL
lst=ag.setdefault("list",[])
ids=[e.get("id") for e in lst if isinstance(e,dict)]
if "main" not in ids:
    lst.insert(0,{"id":"main","default":True})
for e in lst:
    if isinstance(e,dict) and e.get("id")=="main":
        e.setdefault("subagents",{})["allowAgents"]=subs
json.dump(d,open(p,"w"),ensure_ascii=False,indent=2)
print("  allowAgents:",len(subs),"subagentes | modelo:",MODEL)
PY

echo "== Pronto. Rode apply-personas.py e reinicie o gateway. =="
