Commit Graph

4 Commits

Author SHA1 Message Date
egutierrez bb1e11f456 feat: sistema de prompts externos y mejoras en runtime de agentes
Añade pkg/command/prompts.go para cargar prompts desde archivos .md externos
en el directorio prompts/. Mejoras en agents/runtime.go para el manejo de
herramientas y flujo de ejecución. Nuevos comandos en agents/commands.go.
Ajustes menores en pkg/command/builtins.go para integrar las nuevas capacidades.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:17:00 +00:00
egutierrez d95ae173de feat: formato markdown en salida de comandos built-in
Mejora la salida de !help, !tools, !status e !info para usar markdown
nativo: encabezados en negrita, listas con bullet points, código inline
con backticks. Aprovecha el rendering HTML que ya hace el bot para que
los clientes Matrix muestren la información formateada correctamente.

No se cambia lógica de comandos, solo formato de texto de salida.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 15:46:13 +00:00
egutierrez 4b72b5ab28 feat: sistema RegisterCommand para comandos por agente
Añade RegisterCommand(spec, handler) al Agent para que cada agente pueda
registrar comandos propios (!xxx) sin modificar built-ins ni usar reglas.

Cambios principales:
- agents/runtime.go: nuevo método RegisterCommand + campo customSpecs
- agents/commands.go: !help muestra comandos del agente en sección separada,
  extrae writeSpec helper, elimina customCommandRules (ya no se usan reglas
  para comandos)
- handleEvent simplificado: los comandos se resuelven por lookup directo
  (built-in + registered), nunca pasan por reglas ni LLM

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 01:39:50 +00:00
egutierrez 33b11a63c8 feat: añadir sistema de comandos directos (!command)
Implementa pkg/command/ como core puro: tipos Spec/ParsedArgs, parser de
args key=value con soporte de comillas, specs de 8 comandos built-in
(help, tools, tool, ping, status, info, clear, version) y BuiltinNames()
para aliases.

En agents/runtime.go: nuevo flujo handleEvent que prioriza comandos sobre
LLM — custom rules del agente → built-in handlers → comando desconocido →
LLM fallback. Handlers en agents/commands.go. El comando !tool ejecuta
tools directamente via Registry con args key=value parseados.

LLM ahora es opcional: si no hay provider configurado, el agente corre
como simple_bot respondiendo solo a comandos.

Se extrae executeActions() como helper reutilizable para ambos flujos
(comando y no-comando).
2026-03-07 01:11:26 +00:00