feat: launcher descubre agentes en _specials/ con validacion de tipo

El launcher ahora escanea agents/_specials/*/config.yaml ademas de
agents/*/config.yaml para descubrir agentes del sistema con identidad
Matrix (ej: father-bot). Los SpecialConfig ya cargados (orchestrator)
se detectan y saltan via isSpecialConfig() para evitar errores de
validacion.

Tambien actualiza dev-scripts/_common.sh para que config_path_for()
y list_agents_raw() incluyan _specials/ en la busqueda.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-09 22:05:13 +00:00
parent cd22c1c861
commit 2f3f30c86b
2 changed files with 37 additions and 2 deletions
+4 -2
View File
@@ -51,9 +51,10 @@ read_pid() {
}
# Map agent ID to its config path by scanning agent directories.
# Also scans agents/_specials/ for privileged system agents (e.g. father-bot).
config_path_for() {
local target_id="$1"
for cfg in agents/*/config.yaml; do
for cfg in agents/*/config.yaml agents/_specials/*/config.yaml; do
[[ -f "$cfg" ]] || continue
local id
id=$(grep -m1 '^ id:' "$cfg" | awk '{print $2}')
@@ -150,8 +151,9 @@ is_launcher_running() {
# ── Agent discovery ────────────────────────────────────────────────────────
# Prints: id|version|enabled|description (one line per agent)
# Also scans agents/_specials/ for privileged system agents.
list_agents_raw() {
for cfg in agents/*/config.yaml; do
for cfg in agents/*/config.yaml agents/_specials/*/config.yaml; do
[[ -f "$cfg" ]] || continue
local id version enabled desc
id=$(grep -m1 '^ id:' "$cfg" | awk '{print $2}')