feat: soporte de threads de Matrix (m.thread)
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>
This commit is contained in:
@@ -198,6 +198,13 @@ type MatrixCfg struct {
|
||||
Encryption EncryptionCfg `yaml:"encryption"`
|
||||
Rooms RoomsCfg `yaml:"rooms"`
|
||||
Filters FiltersCfg `yaml:"filters"`
|
||||
Threads ThreadsCfg `yaml:"threads"`
|
||||
}
|
||||
|
||||
// ThreadsCfg controls Matrix thread support (m.thread).
|
||||
type ThreadsCfg struct {
|
||||
Enabled bool `yaml:"enabled"` // respond in threads when message is in a thread (default true)
|
||||
AutoThread bool `yaml:"auto_thread"` // auto-create a thread for each new conversation (default false)
|
||||
}
|
||||
|
||||
type EncryptionCfg struct {
|
||||
|
||||
Reference in New Issue
Block a user