38d11a0b32
Implementa el soporte completo de threads de Matrix: - Listener extrae ThreadID de m.relates_to con rel_type=m.thread - Client.SendThreadMarkdown envia mensajes como parte de un thread usando SetThread de mautrix con fallback m.in_reply_to - Runner detecta ThreadID en ReplyAction y rutea a SendThreadMarkdown - MatrixSender interfaz actualizada con SendThreadMarkdown - runtime.go propaga ThreadID en todas las respuestas (comandos, LLM, RBAC) - sendReply helper centraliza la logica de envio con/sin thread - Auto-thread: si matrix.threads.auto_thread=true, crea thread nuevo para cada conversacion que no esta ya en un thread - Memoria por thread: usa ThreadID como clave de window cuando el mensaje esta en un thread, permitiendo conversaciones paralelas independientes - Config: matrix.threads.enabled y matrix.threads.auto_thread en ThreadsCfg Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>