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>
This commit is contained in:
2026-03-07 17:17:00 +00:00
parent 6ae2e6be03
commit bb1e11f456
5 changed files with 141 additions and 25 deletions
+16
View File
@@ -19,6 +19,7 @@ func (a *Agent) registerBuiltinCommands() {
a.commands["status"] = a.cmdStatus
a.commands["info"] = a.cmdInfo
a.commands["clear"] = a.cmdClear
a.commands["prompts"] = a.cmdPrompts
a.commands["version"] = a.cmdVersion
}
@@ -155,6 +156,21 @@ func (a *Agent) cmdInfo(_ context.Context, _ decision.MessageContext) string {
return b.String()
}
// cmdPrompts lists available prompt-commands.
func (a *Agent) cmdPrompts(_ context.Context, _ decision.MessageContext) string {
if len(a.promptCmds) == 0 {
return "No hay prompt-commands disponibles."
}
var b strings.Builder
fmt.Fprintf(&b, "**Prompt-commands disponibles (%d):**\n\n", len(a.promptCmds))
for name := range a.promptCmds {
fmt.Fprintf(&b, "- `!%s`\n", name)
}
b.WriteString("\nUso: `!<nombre> [detalles adicionales...]`")
return b.String()
}
// cmdClear clears the conversation window for the current room.
func (a *Agent) cmdClear(_ context.Context, msgCtx decision.MessageContext) string {
a.ClearWindow(msgCtx.RoomID)